音频和视频基础知识

news2024/11/18 5:53:58

声音

什么是声音:
声音是由物体振动产生的,物体发生振动,对周围的空气产生挤压,从而产生声音。声音是一种压力波,使周围的空气产生疏密变化,形成疏密相间的纵波,由此产生了声波

声波三要素:

要素解释
频率代表音阶的高低,频率越高,波长就越短。人类的耳朵听力的频率范围为20Hz~20kHz。
振幅代表响度;即能量大小的反映,实际生活中,分贝常用于描述响度的大小。
波形代表音色,波的形状决定了其所代表声音的音色,比如钢琴和小提琴的音色不同就是因为它们的介质所产生的波形不同。

声音的传播介质:
声音的传播介质很广,比如空气、液体和固定等;介质不同,传播的速度也不同,但在真空中无法传播。空气中传播速度340m/s,蒸馏水中传播速度1497m/s,钢铁中传播速度为5200m/s

回声(echo):
声音在传播过程中遇到障碍物反弹回来,再次传到耳朵中,就形成了回声。但是若这两种声音传到我们的耳朵里的时差小于80ms,我们无法区分这两种声音。

共鸣:
敲击一个物体时另一个物体也会振动发声,这种现象称为共鸣。共鸣证明了声音传播可以带动另外一个物体振动,也就是声音的传播也是一种能量的传播过程。

数字音频

模拟信号转换成数字信号,需要经过采样、量化。
采样:在时间轴上对信号进行数字化。所谓的44.1kHz就是代表1秒回采样44100次。
在这里插入图片描述
量化:在幅度轴上对信号进行数字化。比如用16比特的二进制信号来标识声音的一个采样,而16比特共有65536个可能取值,因此最终模拟信号在幅度上也分为65536层。
在这里插入图片描述
PCM:通常所得音频裸数据格式就是脉冲编码调制(Pulse Code Modulation,PCM)数据。
比特率(码率): 描述一段音频一秒内的大小,称为数据比特率。

音频编码

音频编码:就是对音频进行压缩,压缩编码的基本指标之一就是压缩比。压缩编码包括有损压缩和无损压缩。压缩编码的原理实际上是压缩掉冗余信号,冗余信号是指不能被人耳感知到的信号,包含人耳听觉范围之外的音频信号以及被掩蔽掉的音频信号等。
常用的音频编码格式:

编码格式解释
WAV不进行压缩操作,只是在PCM数据格式的前面加上44字节,分别用来描述PCM的采样率、声道数、数据格式等信息
MP3有着不错的压缩比,全称是动态影像专家压缩标准音频层面3(Moving Picture Experts Group Audio Layer III),简称为MP3。它被设计用来大幅度地降低音频数据量。利用 MPEG Audio Layer 3 的技术,将音乐以1:10 甚至 1:12 的压缩率,压缩成容量较小的文件,而对于大多数用户来说重放的音质与最初的不压缩音频相比没有明显的下降。
AACAAC(Advanced Audio Coding)是一种音频压缩格式,旨在提供比MP3更好的音质和更高的压缩比。它是MPEG-4标准的一部分,并且被广泛用于数字音频广播、流媒体和存储媒体中。AAC采用了先进的编码技术,如预测编码、离散余弦变换(DCT)和量化,以及更复杂的心理声学模型,以提供更好的音频质量。与MP3相比,AAC通常能够提供更高的音频质量,尤其是在低比特率下。
OGGOgg是一种免费的、开源的、无损的音频压缩格式,其全称是Ogg Vorbis。与MP3和AAC不同,Ogg旨在提供无损的音频质量,而不是有损的压缩。

视频

三原色:红绿蓝三种色光无法被分解,故称为三原色光,等量的三原色光相加会变成白色。
像素:像素(Pixel)是数字图像的基本单位,由英文单词“Picture”和“Element”组合而成。每个像素代表图像中的一个最小采样点,具有特定的位置和灰度值或颜色值。在数字图像中,像素通常按照矩阵形式排列,形成一张完整的图像。
数字图像:数字图像是以数字形式表示的图像,通常由像素组成。每个像素具有特定的位置和灰度值或颜色值,可以表示图像中的不同信息。数字图像通常存储在计算机中,可以进行各种计算和处理。数字图像处理是一种将图像信号数字化后利用计算进行处理的过程。数字图像可以转换为数字信号,并通过各种算法和计算进行处理。常见的数字图像处理操作包括图像增强、滤波、变换、分析、识别和分类等。

图像的数值表示:通常有RGB方式和YUV方式。
YUV和RGB转换:所有渲染到屏幕上的都需要转换为RGB的表示形式。

在这里插入图片描述
分辨率:图像分辨率是指单位英寸中所包含的像素点数,其定义更趋近于分辨率本身的定义。图像分辨率则是单位英寸中所包含的像素点数,其定义更趋近于分辨率本身的定义。此外还有屏幕分辨率。

帧率(fps):是指每秒显示的帧数,是评估视频流畅度的指标。一般来说,30fps就是可以接受的,60fps则可以明显提升交互感和逼真感,超过75fps后,人的肉眼就不会再有明显提升的感受。

视频编码

视频编码:为了去除视频的冗余信息,实现视频的压缩,需要对视频进行编码,相比较音频数据,视频数据具有极强的相关性,拥有大量的冗余,包括空间冗余、时间冗余和统计冗余等等。
常见的编码方式: H261、H262、H264、H265、H266、VP8、VP9、AV1、AVS、AVS3等等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1390211.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

多行SQL转成单行SQL

如下图所示 将以上多行SQL转成单行SQL 正则表达式如下 (?s)$[^a-zA-Z()0-9]*结果如下 灵活使用,也未必只能使用Sublime Text 提供了一个在线工具

SQL Server数据库镜像安装

搭建SQL Server数据库镜像(证书) 本次实验进行SQL server数据库镜像的搭建,采用证书的搭建模式 以下是搭建SQL server数据库镜像的环境设置 数据库 系统 IP 角色 计算机名 SqlServer2008R2 Server 2008R2 192.168.210.125 主体 Win-…

现代雷达车载应用——第3章 MIMO雷达技术 3.4节 自动驾驶使用的高分辨成像雷达

经典著作,值得一读,英文原版下载链接【免费】ModernRadarforAutomotiveApplications资源-CSDN文库。 3.4 自动驾驶使用的高分辨成像雷达 如今,许多专为ADAS功能设计的汽车雷达收发器,如NXP半导体的MR3003和德州仪器的AWR2243&…

网络编程day3

思维导图 下载和传输

AI嵌入式K210项目(4)-FPIOA

文章目录 前言一、FPIOA是什么?二、FPIOA代码分析总结 前言 磨刀不误砍柴工,在正式开始学习之前,我们先来了解下K210自带的FPIOA,这个概念可能与我们之前学习STM32有很多不同,STM32每个引脚都有特定的功能&#xff0c…

Web前端 ---- 【Vue3】computed计算属性和watch侦听属性(侦听被ref和reactive包裹的数据)

目录 前言 computed watch watch侦听ref数据 ref简单数据类型 ref复杂数据类型 watch侦听reactive数据 前言 本文介绍在vue3中的computed计算属性和watch侦听属性。介绍watch如何侦听被ref和reactive包裹的数据 computed 在vue3中,计算属性computed也是组合式…

Redis分布式锁--java实现

文章目录 Redis分布式锁方案:SETNX EXPIRE基本原理比较好的实现会产生四个问题 几种解决原子性的方案方案:SETNX value值是(系统时间过期时间)方案:使用Lua脚本(包含SETNX EXPIRE两条指令)方案:SET的扩展…

pod控制器的作用

pod控制器的作用 1、动态pv和pvc deployment是控制器 pod空气器:工作负载,workload用于管理pod的中间层,确保podi资源符合预期的状态 预期状态 1、副本数 2、容器重启策略 3、镜像拉取策略 pod、出现故障时重启等等 pod的控制器类型 1、replic…

Vue3组件库开发 之Button(1)

需求分析: Button 组件大部分关注样式,没有交互 根本分析可以得到具体的属性列表: type:不同的样式(Default,Primary,Danger,Info,Success,Warning) plain:样式的不同展现模式boolean round:圆角boolean circle:圆形按钮,适合图标…

【目标跟踪】跨相机如何匹配像素

文章目录 前言一、计算思路二、代码三、结果 前言 本本篇博客介绍一种非常简单粗暴的方法,做到跨相机像素匹配。已知各相机内外参,计算共视区域像素投影(不需要计算图像特征)。废话不多说,直接来,见下图。…

前端安全专题

xss (Cross Site Scripting) 跨站脚本攻击 原理 通常指黑客通过"HTML注入"篡改了网页,插入了恶意的脚本,从而在用户浏览网页时,控制用户浏览器的一种攻击。 常见攻击类型 存储型XSS 攻击者将恶意的 JavaScript 脚本存储在网站…

【网络工程师】NAT与动态路由

一、NAT网络地址转换 1、NAT:Network Address Translations 网络地址转换 2、ip地址问题:ipv4地址严重不够用了(A、B、C类可以使用 D组播 E科研) 3、解决:把IP地址分为了公网IP和私网IP 公网IP只能在公网上使用 私网…

手把手教你SWOT分析!建议收藏

最近,我一直为一件事情感到困扰。那家位于市中心的西点店生意越来越好,甚至已经开了两家分店,但是挣来的钱还不足够买房子。于是最近,我被这如火如荼的奶茶市场所吸引,想要利用已有的资源开一家奶茶店。但是我不确定这…

使用 Python 数据写入 Excel 工作表

在数据处理和报告生成等工作中,Excel 表格是一种常见且广泛使用的工具。然而,手动将大量数据输入到 Excel 表格中既费时又容易出错。为了提高效率并减少错误,使用 Python 编程语言来自动化数据写入 Excel 表格是一个明智的选择。Python 作为一…

linux GDB and GDB Sever

概念: GDB(GNU Debugger)是一个用于调试程序的强大工具。它是GNU项目的一部分,支持多种编程语言,包括C、C等。GDB 提供了一组命令和功能,允许跟踪检查程序的内部状态,跟踪代码的执行过程&#…

7.5 MySQL对数据的基本操作(❤❤❤)

7.5 MySQL对数据的基本操作 1. 提要2. 数据添加2.1 insert语法2.2 insert 子查询2.3 ignore关键字 3. 数据修改3.1 update语句3.2 update表连接 4. 数据删除4.1 delete语句4.2 delete表连接4.3 快速删除数据表全部数据 1. 提要 2. 数据添加 2.1 insert语法 2.2 insert 子查询 …

vivado 添加现有IP文件、生成IP

添加现有IP文件 作为从AMD IP目录添加和自定义IP的替代方案,您可以直接添加XCI或XCIX文件。此过程不同于从按以下方式编目: •XCI或XCIX文件可能是早期版本,也可能是相同或完全自定义的版本AMD IP目录中发现的类似IP。 •XCI或XCIX文件可能…

【linux】systemctl控制系统服务启动与关闭

systemctl简介 systemctl是一个在linux系统中,管理系统服务的命令。它通常是启动与关闭像防火墙,网络,数据库这类不是直接的软件,而是给软件提供支持的服务。 但是值得注意的是,并不是所有服务都可以用它管理&#x…

Vue学习笔记3--全局事件总线

Vue学习笔记3—全局事件总线 1.全局事件总线可以实现任意组件间通信 X需具备的条件: 所有的组件都要能看见X可以调用$on $off $emitVue.prototype.x {a:1, b:2} 可以被所有组件看见VueComponent.protoype.proto Vue.prototype组件实例对象(vc)可以访问到Vue原型上…

【.NET Core】C#预处理器指令

【.NET Core】C#预处理器指令 文章目录 【.NET Core】C#预处理器指令一、概述二、可为空上下文(#nullable)三、条件编译2.1 定义DEBUG是编译代码2.2 未定义MYTEST时,将编译以下代码 四、定义符号五、定义区域六、错误和警告信息 一、概述 预…