浅析音视频知识

简介:
1.1 音视频协议、通讯协议介绍
1.1.1 两大标准制定组织
这里的标准,主要指的是音视频压缩标准。两大组织分别是国际标准化组织(ISO)和国际电信联盟(ITU),相信IT行业的从业者没听说过这两个行业的人很少。
在音视频压缩标准方面,mpeg系列的协议是ISO制定的标准,而H系列的协议则是ITU制定的标准。
1.1.2 视频协议
目前主要的视频压缩协议有:H.261、H.263、H.264和mpeg-1、mpeg-2和mpeg-4。第一个视频压缩标准是H.261,它的算法现在来看,非常简单,但是,它的很多视频压缩的思想,一直影响到现在最新的压缩标准H.264。H.264单看名字,感觉是ITU组织制定的,其实它还有一个名字叫mpeg-4 Part 10,翻译过来叫mpeg-4 第十部分,这是因为H.264是ISO和ITU组织共同制定的,版权共享。其实,一直以来,H系列的标准制定者和mpeg系列的标准制定者基本上就是同一群人,而且,这两个系列的算法思想基本上都差不多,唯一有一点不同的协议是mpeg-4,它在它的高级profile中提出了小波变换等算法来实现视频压缩,从实际发展看,个人感觉不是很成功,采用小波变换的商用codec很少,这可能和这些算法的达不到实时性有关系。
从应用的角度看,mpeg系列在消费类应用更广些,大家也更熟悉些,我们熟悉的VCD格式视频主要是mpeg-1,DVD的视频则是mpeg-2,早期大家看的电影在电脑上存盘文件格式都是*.mpg,基本上也都是mpeg做的压缩了。在行业上,国内的监控行业,也是从mpeg-1到mpeg-2,到前两三年的mpeg-4,再到最近的H.264。而H系列的标准,用得最多的是视频会议,从H.261到H.263,再到H.263 、H.263 等,再到现在的H.264。
从技术角度说,H系列的协议对网络的支持更好些,这点mpeg系列要差一些,但是,mpeg它每一代都比H系列同一代的协议要出得晚些,算法也相对更先进些,因此,它用来做存储协议是很合适的,这也就是为什么普通消费类产品用户很少了解到H系列协议的原因。
H.264是两大组织最新的算法成果,它在算法层面应该说是非常先进了,有人评价,H.264是视频压缩技术的一个里程碑,在可预见的5到10年内,出现新的视频压缩协议可能性很小,除非压缩理论有重大突破。
除了上面说的协议,还有很多公司也有自己的压缩算法,不过基本上都是不公开的了,他们这些算法也都非常好,不过和开发人员关系倒不是很大了,典型的是微软的wmv、realplay公司的rm和rmvb等,他们的使用者也很多,而且他们都偏向流媒体应用。
1.1.3 音频协议
音频协议也分两大类,ITU组织的主要是用于视频会议的G系列协议,包括g.711、g.722、g.723、g.726、g.728、g.729等。这些协议主要有两大特点,第一是比较关注语音压缩,毕竟开会主要是要听人讲话;对音乐的压缩效果可能就不是太好了;第二是压缩率都比较大,码率都比较低,典型的g.723支持5.9k/s这样的码率,而且语音音质还很不错。ISO的音频可能更为人熟知一些,最流行的就是mp3,它的全称是mpeg-1 Audio layer 3,意思是mpeg-1的音频第三层;另外,最新的音频算法被称为aac(也称为mp4),它定义在mpeg-2或mpeg-4的音频部分。他们的特点是音质好,支持多声道,高采样精度和采样频率,尤其对音乐的压缩效果比G系列要好太多。当然,这也是因为它们的应用领域侧重点不同造成的。
同样的,很多大公司也有自己的语音压缩标准,效果也非常好。不过都是他们自己的知识产权和算法,通用市场用的还是少。
1.1.4 上层通讯协议
在视频会议系统中,目前最流行的有H.323和SIP协议,在流媒体应用中,ISMA rtsp应用得比较多,它属于开源项目,而很多流媒体产商有自己的流媒体传输协议,比如微软的mms等。
H.323主要用于视频会议,被称为协议簇,我们前面提到的H系列视频压缩协议和G系列音频压缩协议都属于它的子协议。除了音视频编解码器外;它还定义了各种数据应用,包括T.120、T.84、T.434等;另外还包括H.245控制信道、H.225.0呼叫信令信道以及RAS信道。详细的H.323的知识,这里就不深入介绍了。
SIP是由IETF提出来的一个应用控制(信令)协议。正如名字所隐含的--用于发起会话。它可用来创建、修改以及终结多个参与者参加的多媒体会话进程。参与会话的成员可以通过组播方式、单播连网或者两者结合的形式进行通信。
H.323和SIP分别是通信领域与因特网两大阵营推出的建议。 H.323企图把IP电话当作是众所周知的传统电话,只是传输方式发生了改变,由电路交换变成了分组交换。而SIP协议侧重于将IP电话作为因特网上的一个应用,较其实应用(如FTP,E-mail等)增加了信令和QoS的要求,它们支持的业务基本相同,也都利用RTP作为媒体传输的协议。但H.323是一个相对复杂的协议。
RTSP主要用于流媒体传输,它的英文全称是real time streaming protocol。典型的应用就是网络电视的应用,由客户向服务器进行点播,如果在监控行业应用的话,建议当用户进行远程回放录像时,可采用RTSP协议。
1.2 音视频基本概念介绍 
1.2.1 视频的基本概念
RGB和YUV
RGB指的是红绿蓝,应用还是很广泛的,比如显示器显示,BMP文件格式中的像素值等;而YUV主要指亮度和两个色差信号,被称为luminance和chrominance他们的转化关系可以自己去查一下,我们视频里面基本上都是用YUV格式。
YUV格式
YUV文件格式又分很多种,如果算上存储格式,就更多了,比如YUV444、YUV422、YUV411、YUV420等等,视频压缩用到的是420格式,这是因为人眼对亮度更敏感些,对色度相对要差些。另外要注意几个英文单词的意思,比如:packet、planar、interlace、progressive等。
帧率
每秒钟图像的刷新速度。PAL制式的电视,帧率是25帧每秒,NTSC制式的电视帧率是29.97帧每秒。我们常用的电脑也有刷新率,一般来说,电脑的刷新率要在75赫兹以上,人眼才不会觉得闪。
隔行扫描(interlace)和逐行扫描(progressive)
一般的电视上都是隔行扫描,而显示器都是逐行扫描。这里有一个场的概念,隔行扫描是一帧等于两场,而逐行扫描则是一帧就是一场。
码率
它的单位是 bit per second,一般所有描述带宽的概念,单位都是bit,描述存储容量的单位一般都是大B,也就是BYTE(字节)。
分辨率
图像的分辨率指的是它的像素数,一般用得最多的是CIF,也就是352*288,4cif自然就是指704*576,而D1的分辨率严格意义上是720*576,大小来说和4cif差不多了。当然现在还有很多高清的分辨率,这些我不是太了解,大家感兴趣可以查一下。另外,国外很多时候,对cif的高度取240,这是因为他们的帧率比我们高(29.97hz),自然,高度要小一些了。
实时与非实时
主要用来形容编码器,它含有两个意思,一个是要保证帧率,也就是每秒25帧,另一个是“live”的意思,意味着直播,所谓的“实况转播”的“实”。 延时
也是形容编码器的一个重要指标,一般来说,200ms到300ms人的感觉不会很明显,到了500毫秒的话,还是可以很明显感觉到的。
音视频同步
作为视频会议的应用,一般要求做到所谓的“唇同步”。基本的保证音视频同步的手段就是时间戳(time stamp)。
复合视频和S-Video
NTSC和PAL彩色视频信号是这样构成的--首先有一个基本的黑白视频信号,然后在每个水平同步脉冲之后,加入一个颜色脉冲和一个亮度信号。因为彩色信号是由多种数据“叠加”起来的,故称之为“复合视频”。S-Video则是一种信号质量更高的视频接口,它取消了信号叠加的方法,可有效避免一些无谓的质量损失。它的 功能是将RGB三原色和亮度进行分离处理。
NTSC、PAL和SECAM
基带视频是一种简单的模拟信号,由视频模拟数据和视频同步数据构成,用于接收端正确地显示图像。信号的细节取决于应用的视频标准或者“制式”--NTSC(美国全国电视标准委员会,National Television Standards Committee)、PAL(逐行倒相,Phase Alternate Line)以及SECAM(顺序传送与存储彩色电视系统,法国采用的一种电视制式,SEquential Couleur Avec Memoire)。
中国的电视信号一般都是PAL,而美日则是NTSC。这2个制式的帧率,图像尺寸都有所不同。
线数
我们在买摄像头的时候,经常会提到一个叫线数的概念,它其实就是分辨率中的高(height)。举个例子:PAL制式的D1图像,线数就是576。
亮度、饱和度和对比度
英文名分别是:brightness、saturation和 contrast。这是三个表示图像的重要指标。
1.2.2 音频的基本概念
采样率
音频的采样率其实类似视频的帧率,意思是每秒钟采样的次数。G.711的采样率是8k(人的语音大概就在这个频率范围以内),而mp3支持的典型采样率是 44.1kHz(超过人耳响应频率的2倍多一点——奈奎斯特定理)。很明显,mp3压缩的原始声音要比g.711好多了。
采样精度
就是每个采样进行模数转换时的量化系数。G.711是8bit采样精度,而mp3典型的是16bit。
回声消除 
视频会议应用中的音频最大问题。回声产生的原因很复杂,一般认为,在互联网中的语音传输,延时来源有三个:压缩延迟、分组传输延迟和处理延迟。语音压缩延迟是产生回声的主要延迟,例如在G.723.1标准中,压缩一帧(30ms)的最大延迟是37.5ms。分组传输延迟也是一个很重要的来源,测试表明,端到端的最大传输延迟可达250ms以上。处理延迟是指语音包的封装时延及其缓冲时延等。
1.3 视讯产品简介
1.3.1 MP4
这是最近两年开始流行的新产品,它的定义其实业有些混乱。目前流行的说法是:只要和视频沾边的便携式播放器,都叫MP4。不过下面的图更能说明问题。
1.3.2 光端机
一种完成电——光信号转换的设备。主要用于模拟远程视频监控系统,它可将远端的摄像头模拟信号转换成光信号传送到监控中心,配合监控中心的DVR使用。
1.3.3 视频会议MCU
它是视频会议的核心设备之一。当参与视频会议的终端超过2个时,就必须通过MCU来召开会议。

MCU的基本功能是媒体流转发和混音,并进行会议管理,随着视频会议的发展,MCU支持的功能也越来越多,比如:混屏、远程摄像头控制等功能。




本文转自 fanxiaojun 51CTO博客,原文链接:http://blog.51cto.com/2343338/411983,如需转载请自行联系原作者

相关文章
|
8月前
|
存储 Cloud Native Ubuntu
音视频 ffmpeg命令直播拉流推流
音视频 ffmpeg命令直播拉流推流
|
10月前
|
Web App开发 数据采集 物联网
Android平台基于RTMP或RTSP的一对一音视频互动技术方案探讨
随着智能门禁等物联网产品的普及,越来越多的开发者对音视频互动体验提出了更高的要求。目前市面上大多一对一互动都是基于WebRTC,优点不再赘述,我们这里先说说可能需要面临的问题:WebRTC的服务器部署非常复杂,可以私有部署,但是非常复杂。传输基于UDP,很难保证传输质量,由于UDP是不可靠的传输协议,在复杂的公网网络环境下,各种突发流量、偶尔的传输错误、网络抖动、超时等等都会引起丢包异常,都会在一定程度上影响音视频通信的质量,难以应对复杂的互联网环境,如跨区跨运营商、低带宽、高丢包等场景,行话说的好:从demo到实用,中间还差1万个WebRTC。
115 0
|
存储 编解码 算法
音视频之音频知识入门
信息论的观点来看,描述信源的数据是信息和数据冗余之和,即:数据=信息+数据冗余。音频信号在时域和频域上具有相关性,也即存在数据冗余。将音频作为一个信源,音频编码的实质是减少音频中的冗余。自然界中的声音非常复杂,波形极其复杂,通常我们采用的是脉冲代码调制编码,即PCM编码。PCM通过抽样、量化、编码三个步骤将连续变化的模拟信号转换为数字编码。
592 0
|
Web App开发 编解码 算法
发现一个非常好用的RTC(实时音视频通信)方案,做直播和视频通话都很牛
HaaS RTC是阿里云IoT联合视频云开发的IoT设备端上的实时通讯服务,主要面向直播,音视频通话等各种场景。
1939 0
发现一个非常好用的RTC(实时音视频通信)方案,做直播和视频通话都很牛
|
9月前
|
网络协议 算法 网络性能优化
【流媒体】推流与拉流简介
【流媒体】推流与拉流简介
336 0
|
2月前
|
存储 缓存 编解码
C++ 音视频流媒体浅谈
C++ 音视频流媒体浅谈
106 0
C++ 音视频流媒体浅谈
|
2月前
|
存储 编解码 C++
C++ 音视频原理
C++ 音视频原理
|
2月前
|
存储 编解码 CDN
【视频媒体】深入了解直播视频流
【视频媒体】深入了解直播视频流
40 0
|
9月前
|
移动开发 编解码 缓存
【知识拓展】音视频中的推流与拉流
【知识拓展】音视频中的推流与拉流
142 1
|
9月前
|
编解码
[笔记]音视频之常见音视频封装格式组成
[笔记]音视频之常见音视频封装格式组成