作者:suwenqiang2011
一 基础篇
1.1 图形、图像和视频
图形(graphic):和图像与视频不同,有一种说法是图形就是自然界的客观世界不存在的图案。对于计算机中的图形研究,有专门的计算机图形学,主要的研究对象是点、线、面等抽象事物。 目前所谓的计算机显卡3D技术支持,主要就是图形技术相关的范畴。 关于图形方面的开发,好象OpenGL是其中比较有名的3D图形库。
图像(image):和图形相反,图像可以定位为自然界中客观存在的图案。图像处理和我们有关系的大致是图像滤波处理和图像压缩。目前用得最多的静止图像压缩算法就是jpeg了,大家应该都很熟悉。而对图像的其他处理,一般称之为对图像进行滤波,图像处理方面,photoshop软件很多人应 该都 很熟悉,它图像处理的功能十分强大。在视频行业,主要是关注消隔行滤波器、去除摄像头白噪声滤波器、去除块效应(deblock)滤波器等。
视频(video):视频我的理 解就是连续的图像,被称为视频。对视频图像的处理,核心是压缩,其他的就是采集、传输、显示和录像了。视频图像如 果不压缩的话, 传输和录像的成本都太高了。
1.2 视频的采集、压缩、传输、解码显示和存储
视频采集最重要的设备就是摄像头了,它将自 然界中的客观场景转化为模拟的电信号输出。如果是数字视频应用系统,还需要专门的设备或者器件完成图像信号的模拟到数字转换,这也是摄像头很难直接接入PC机的原因。早期的接入方式是通过PC上用户自己配的采集卡来完成,这种方式现在也有,现在有专门通过USB 接口 接入PC机的USB摄像头,它是在摄像头内完成了模拟到数字的转换,输出数字信号到USB接口 。
视频的压缩是视频处理的核心,按照是否实时性可以分为非实时压缩和实时压缩。实时性与否,区别其实很大,一般来说,制作DVD等影片可以算作非实时性压 缩,此时,算法的选择应该是要提高压缩算法效率,而不是性能,因为,即使一天完成一部影片的压缩的话,大多数时候,问题可能也不大。而对于类似网上直播这 样的应用,则属于实时性压缩应用了,此时在算法选择上,算法的性能可能是第一 位的。目前看,实时性压缩的应用更广泛些。关于视频压缩部分,详细的介绍我们放在后面的章节进行介绍。
视频的传输分为两种,一种是模拟视频的传输,也就是摄像头电信号进行远距离传输,这种主要是在传统的视频监控系统中应用,它的成本比较高,传输距离也有限制,而且随着距离的增大,会出现信号衰减和信道噪声等问题;另一种传输是和互联网技术结合起来,先把数字视频信 号压缩后得到码流数据,然后通过网 络传输到远端。随着互联网的高速发展,后一种应用方式越来越普遍,最早期应该算是视频会议系统,现在的应用 就更多了,最 新的比如手机上网观看视频等。其实,抽象看,互联网它其实就是一个信息平台,而在这个信 息平台上,传输的信息相当大比例就是多媒体数据。可以想象,今后随着互联网带宽的不断提高,视频的应用将越来越广。
对于互联网传输过来的视频信息,首先是要进行解码,然后才是显示。解码的芯片有一定的性能要求,比编码器低些,但是毕竟是视频数据处理,通用的芯片(不支持MMX等多媒体指令) 可能会比较吃 力。显示设备主要有电视、监视器和显示器,他们的信号接口是不一样的,电视 监视器是模拟的电信号,显示器的输入应该是数字信号。另外多说一句,现在的显卡似乎普遍支持电视输出。
1.3 视频相关行业介绍
以视频技术为基础,结合其他领域的技术突破,满足了人们各种各样的需求,形成了很多视频相关的行业。这些行业之中,我们来了解一下如下四个方向。
1.3.1 多媒体消费类应用
多媒体消费类应用在技术上主要是视频压缩技术和媒体存储技术的结合,主要的产品形式是VCD(早期)和DVD,偏向消费类的家庭应用。这几年随着DVD光驱的普及,在PC上观看DVD也逐步流行起来。该行业的视频压缩属于非实 时压缩,追求的是高清晰度,一般的分辨率都是D1(720*576),而且,它的音频品质也要求很高,采样频率和采样精度都非常高。DVD的视频压缩算法是mpeg-2,而它的音频是LPCM、DOLBYAC3、mp3或者aac。
DVD的存储技术表现形态就是DVD光盘,目前市面上常用的DVD光盘最大容量可达4.7GB。 目前DVD技术最发达的是日本,他们的专利最多,技术也最领先,基本上处于垄断地位了。
中国也有自己的DVD标准,叫做EVD,这个公司很久前就在努力的推广他们的标准了,不过客观的评价,进展不能算很乐观,还需要努力。
多媒体技术在家庭中的应用,这几年也出现了一些很好的亮点,比如家用电视支持网络和媒体功能、电视支持录像功能等,不过总体评价,这些都还远远没有普及,还需要进一步发展。个人更看好以机顶盒这样的方式来满足多媒体需求。
1.3.2 视频会议
视频会议可以说是视频技术应用最古老的行业了,之所以这么说,是因为第一个视频压缩标准H.261就是为了视频会议而制定的。
视频会议行业是实时音视频压缩技术和网络通信技术结合的产物。目前视频会议系统的发展,除了满足人们基本的语音和图像信息交流外,还包括了强大的数据信息共享、开展协同工作等功能。
视频会议系统主要包括的产品有:语音输入输出设备(mic、音箱等)、摄像头、电视、视频会议终端、MCU等。视频会议专用的摄像头日本索尼公司市场占有率无可争议的是第一。而视频会议终端和MCU市场目前排第一的是美国的 polycom公司,polycom的音频技术非常强大,它在中低端市场优势很明显,而挪威的泰德(tandberg)在高端市场则做得更好一些。视频会议系统对音视频技 术和网络技术要求都比较高 。从实际应用来说,相对视频,视频会议系统对音频要求更高一些。随着现在视频技术的发展和网络带宽的不断改善,人们对视频的要求也越来越高,不过,音频方面的处理始终是关键,比如回声消除技术等。
1.3.3 视频监控
根据目前比较流行的划 分方法,视频监控行业已历经三代。第一代被称为CCTV监控,也就是一个摄像头加一个监视器组成一个最简单的视 频监控系统 ,很多时候还只是黑白的监控画面,目前采用第一代监控系统的客户已经很少了,不过在一些很小的便利店、超市,我们还是可 以看到这样 的监控 系统。第二代视频监控系统典型的产品形态是板卡和DVR,即使到现在,这种监控系统也还很流行,在第二代监控系统中表现最好 的企业是杭州海康,他们几乎垄断了板卡市场,DVR市场占有率也连续几年排名第一了,第二代监控系统核心是实时视频压缩技术,把 摄像头拍摄下来的画面进行压缩和存储到本地硬盘。目前,视频监控行业已经发展到了第三代,也 就是远程视频监控,它把网络技术和视频压缩技术结合起来,不过和视频会议系统不同的是,监控行业对音频的要求不高,但是,对图 像的要求却高很多,从传统的要求来说,视频监控不仅要求图像能够更清晰,对帧率的要求也很高,这也是从监控的安全考虑的需求。
远程监控系统的主要产品是视频服务器(IPVS,也有产商叫DVS)和网络摄像机(ip camera),这两种产品都具备实时压缩和网络传输的功能,功能上的区别是IP camera自带摄像头,而IPVS需要用户自己配摄像头, 当 然,IPVS在满足监控市场的需求上,比IP camera更强大一些,一般来说,图像的压缩效果也更好些,而且,它一般还支持所谓的报警输入输出接口,当然,在价格上,网络摄像机有比较大的优势。
1.3.4 流媒体行业
流媒体也是网络技术和视频压缩技术结合的产物,它的具体应用形式很多,比如网上直播、手机流媒体、IPTV(网络电视)等等,都是比较新的东西,再比如现在网络上流行的所谓播客,我也把它归类为流媒体行业。
流媒体应用,对编码器的要求可能是最高的了,这是因为每台流媒体服务器都会有很多用户来连接访问 媒体数据,压缩率如果提高的话,同等图像质量下,同等图像带宽可以支持更多的用户,这点很重要,流媒体行业应用的最大瓶颈就是服务器支持的用户数了。
为了解决服务器的这一瓶颈,最近几年出现了一种叫做P2P的网络传输技术,它号称是用户越多,用户欣赏视频会越流畅,而需要的服务器仍然只是一台。这个技术最成功的产品案例就 是skype软件了,好像是2005年它被ebay以26亿美元成功收购,这即使到现在,也被称为一个互 联网历史上 不可复制的奇迹。除了skype,其他应用P2P技术的直播软件还有pplive等,现在也都比较流行。
IPTV算是流媒体在家庭的一个应用形式,前两年在国内也很火过一阵子。我的感觉,单纯从技术上评价,IPTV也还有点早了,现在可能还不太成熟,我 的理由有如下几点:目前家庭用户上网主要的带宽还是2兆或者以下,在这个带宽下,目前主流的压缩技术,压缩 出来的效果可能和有线电视比还相差很明显,要想进一步提高,可能还需要H.264的普及应用。如果要升级到H.264的话,也就是说目前的IPTV机 顶 盒在技术上还不够成熟,并不能一步到位解决问题。所以,感觉IPTV在技术上要可行,可能还需要再等3-5年吧。
1.3.5 视讯行业
所谓的视讯行业,就是视频和通讯技术结合的行业,上面所说的视频会议、远程视频监控和流媒体行业都属于视讯行业的范畴。
还有一个很有影响的产品,就是IP电话,这个产品大家应该都很熟悉了,几年前也有过一段时间的炒作,现在看好像也还没普及,和IPTV类似,个人也是 感觉还是有点早了,可能再过几年会有机会起来。它应该算是视频会议的家庭应用产品形态吧。
二 知识篇
2.1 音视频协议、通讯协议介绍
2.1.1 两大标准制定组织
这里的标准,主要指的是音 视频压缩标准。两大组织分别是国际标准化组织(ISO)和国际电信联盟(ITU),相信IT行业的从业者没听说过这两个行业的人很少。
在音视频压缩标准方面,mpeg系列的协议是ISO制定的标准,而H系列的协议则是ITU制定的标准。
2.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年内,出现新的视频压缩协议可能性很小,除非压缩理论有重大突破。
中国也有自己的视频压缩协议,叫做AVS,搞了好多年了,不过搞得不是很好。从市场分析, 消费类电子、视频会议和流媒体行业,现在要再想进去可能很困难了。不过最近听说AVS又有点火起来了,有消息称,IPTV指定要支持AVS,这可能是它的最后机会了吧。
除了上面说的协议,还有很多公司也有自己的压缩算法,不过基本上都是不公开的了,他们这些算法也都非常好,不过和开发人员关系倒不是很大了,典型的是微软的wmv、realplay公司的rm和rmvb等,他们的使用者也很多,而且他们都偏向流媒体应用。
2.1.3 音频协议
音频协议也分两大类,ITU组织的主要是用于视频会议的G系列协议,包括g.711、g.722、g.723、g.726、g.728、g.729等。这些协议主要 有两大特点,第一是比较关注语音压缩,毕竟开会主要是要听人讲话;对音乐的压缩效果可能就不是太好了;第二是压缩率都比较大,码率都比较低,典型的g.72 3支持5 .9k/s这样的码率,而且语音音质还很不错。ISO的音频可能更为人熟知一些,最流行的就是mp3, 它的全称是mpeg-1 Audio layer 3,意思是mpeg-1的音频第三层;另外,最新的音频算法被称为aac(也称为m p4),它定义 在mpeg-2或mpeg-4的音频部分。他们的特点是音质好,支持多声道,高采样精度和采样频率, 尤其对音乐的压缩效果比G系列要好太多。当然,这也是因为它们的应用领域侧重点不同造成的。
同样的,很多大公司也有自己的语音压缩标准,效果也非常好。不过都是他们自己的知识产权和算法,通用市场用的还是少。
2.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协议。
2.2 音视频基本概念介绍
2.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(美国全国电视标准委员会,Natio nal Television Standards Committee)、PAL(逐行倒相,Phase Alternate Line)以及SECAM(顺序传送与存储彩色电视系统,法国采用的一种电视制式,SEquential Couleur Avec Memoire)。
中国的电视信号一般都是PAL,而美日则是NTSC。这2个制式的帧率,图像尺寸都有所不同。
线数
我们在买摄像头的时候,经常会提到一个叫线数的概念,它其实就是分辨率中的高(height)。举个例子:PAL制式的D1图像,线数就是576。
亮度、饱和度和对比度
英文名分别是:brightness、saturation和 contrast。这是三个表示图像的重要指标。
2.2.2 音频的基本概念
采样率
音频的采样率其实类似视频的帧率,意思是每秒钟采样的次数。G.711的采样率是8k(人的语音大概就在这个频率范围以内),而mp3支持的典型采样率是 44.1kHz(超过人耳响应频率的2倍多一点——奈奎斯特定理)。很明显,mp3压缩的原始声音要比g.711好多了。
采样精度
就是每个采样进行模数转换时的量化系数。G.711 是8bit采样精度,而mp3典型的是16bit。
回声消除
视频会议应用中的音频最大问题。回声产生的原因很复杂,一般认为,在互联网中的语音传输,延时来源有三个:压缩延迟、分组传输延迟和处理延迟 。语 音压缩延迟是产生回声的主要延迟,例如在G.723.1标准中,压缩一帧(30ms)的最大延迟是37.5ms。分组传输延迟也是 一个很重要的来源,测试表明,端到端的最大传输延迟可达250ms以上。处理延迟是指语音包的封装时延及其缓冲时延等 。
2.3 视讯产品简介
这一节,我们对采取一些视讯行业中的产品进行简单介绍,希望对大家有用 。
2.3.1 MP4
这是最近两年开始流行的新产品,它的定义其实业有些混乱。目前流行的说法是:只要和视频沾边的便携式播放器,都叫MP4。不过下面的图更能说明问题。
2.3.2 光端机
一种完成电——光信号转换的设备。主要用于模拟远程视频监控系统,它可将远端的摄像头模拟信号转换成光信号传送到监控中心,配合监控中心的DVR使用。
2.3.3 视频会议MCU
它是视频会议的核心设备之一。 当参与视频会议的终端超过2个时,就必须通过MCU来召开会议。
MCU的基本功能是媒体流转发和混音 ,并进行会议管理,随着视频会议的发展,MCU支持的功能也越来越多,比如:混屏、远程摄像头控制等功能。
呵呵 不错。。。
再挑点毛病。。。
目前市面上常用的DVD光盘最大容量可达4.7GB
-----------------------------
这句有点模糊。。DVD分为四种规格:DVD-5,DVD-9,DVD-10,DVD-18,DVD-5,4.7GB;DVD-9,8.5GB;DVD-10,9.4GB;DVD-18,17GB。
在行业上,国内的监控行业,也是从mpeg-1到mpeg-2,到前两三年的mpeg-4,再到最近的H.264。
------------------------------------------
“前两三年”好像容易给人造成误解。。。。。MPEG-4,1993年就开始制定了,1999年和2000年发布了1版和2版。
这里有一个场的概念,隔行扫描是一帧等于两场,而逐行扫描则是一帧就是一场。
--------------- ------ --------------------
场的概念好像只是针对隔行扫描,不存在一帧就是一场这一说吧。
亮度、饱和度和对比度
英文名分别是:brightness、saturation和 contrast。这是三个表示图像的重要指标。
----------------------------------------
再加一个吧,色度(Hue)。
视频压缩知识介绍(一)——评价标准及算法原理
1.1 视频压缩评价标准
评价视频压缩算法的压缩效果,信噪比是一个非常有效的指标,它非常客观。一般来说,同等码率下,解码后图像与原始图像的信噪比高 的那个码流,图像效果更好些 。
不过,视频压缩的效果也不能只关注信噪比,它还需要考虑人眼的一些视觉特性,毕竟,人是通过眼睛在看图象,而人眼不是仅仅在计算信噪比 。对于视频压缩的这一特性,我取了个名字,叫做“骗眼睛”。关于视觉特性在编码中的应用,最现成的例子就是所谓的YUV4 20格式数据。从数据量来说,YUV420是 YUV444的一半,但是,实际上人在看这两组图像的时候,视觉感受其实相差不大。究其原因,是因为人眼对 颜色不是太敏 感,而对亮度却很敏感。420和 444数据在亮度上完全一下,而颜色数据相差却很大,可是,人眼的感觉却并不明显。我们采用420的数据来存储图像数据,仅此一项,就节省了一半的存储空间!
1.2 视频压缩算法原理
视频压缩是有损压缩,一般说来,视频压缩的压缩率都很高,能够做到这么高的压缩率是因为视频图像有着非常大的时间和空间的冗余度。所谓的时 间冗余度指的是两帧相邻的图像他们相同位置的像素值比较类似,具有很大的相关性,尤其是静止图像,甚至两帧图像完全相同,对运动图像,通过某种运算(运动估 计),应该说他们也具有很高的相关性;而空间相关性指的是同一帧图像,相邻的两个像素也具 备一定的相关性。这些相关性是视频压缩算法的初始假设,换句话说,如果不满足这两个条件(全白噪声图像,场景频繁切换图像等),视频压缩的效果是会很差的。
去除时间相关 性的关键算法是运动估计,它找出当前图像宏块在上一帧图像中最匹配的位置,很多时候,我们只需要把这个相对坐标记录下来,就够了,这样就节 省了大量码字, 提高了 压缩率。视频压缩算法中,运动估计永远是最关键最核心的部分。
去除空间相关性是通过DCT变换来实现的,把时域上的数据映射到频域上,然后对DCT系数进行量化处理,基本上,所有的有损压缩,都会有量化,它提高压缩率最明显,模数转换也是靠量化吧?。
当然,一些在无损压缩中非常好用的压缩算法,视频压 缩里面也有采用,比如霍夫曼编码等。
基本上视频压缩的核心就这些,当然,这些里面的具体实现还非常复杂,也有很多学问,但是大的方面基本上就是去除相关性了。抓住这两点,再去理 解压缩标准中的具体算法就不难了。
1.3 H.261 简要介绍
H.261 协议又被称为p64,是第一个视频压缩标准,主要应用于视频会议行业。从压缩技术上来说,与后来的压缩技术相比,它的算法最简单,自然,压缩的效果也比较差。对于研究视频压缩技术的工程师而言,从H.261开始研究,有种事半功倍的感觉,因为后来的压缩算法基 本思想都和H.261差不多,只是在细节上更加高效了 。
前面介绍过了,视频压缩的关键就是运动估计、DCT变换、量化和反量化。H.261除了这些,还有一个环路滤波器,用来消除块效应。下面,我们一一介绍。
运动估计(ME)
我们经常可以碰到这样的情况,两个不同的产商,他们都支持H.261,设置的码率也一样,可是实际跑起来的时候,两个产商的编码效果差别却很大,这里面,主要的原因就是运动估计算法不同。
最简单的运动估计算法是所谓的全搜索,可是实际的产品中,几乎没有采用这种算法的,为什么?因为全搜索太慢了,对视频编码的算法选择而 言,永远是在编码效率和算法性能上找平衡点。事实上,有很多算法在性能上可能是全搜索的10%左右,但是,编码效率可能只比全搜索稍差,对于实时应用的编码器而言,选择一个适合CPU运算特点的优化算法是关键。这里插一句,如果是非实时应用的话,采用全搜索是个非常好的注意。
H.261协议里面其实并没有定义如何运动估计,因为,协议一般只定义解码器,它不管你如何编码,只要你最后得到的码流符合它的协议就够了。与运动估计对应的解码过程叫运动 补 偿( MC),H.261运动补偿主要特点有:1 它的搜索范围是 -16到15;2 只支持整像素搜索;3 每个宏块只有一个运动向量,并不支持到块级运动估计;4 只支持P帧,并不支持双向预测帧(B帧)。
与后来的协议相比较,个人的看法,运动估计的范围-16到15基本上是够用了,再大的话,一方面性能可能做不到,另一方面,实际应用中,运动超过 这个范围的宏块还是很 少的。与整像素搜索对应的是半像素、四分之一像素等搜索精度,这个算法应该说非常有效,个人感觉H.263比H.261算法好 的最关键因素就是这里。运动向量只到宏块一级其实差不多,不过支持4mv的话,有些场合码率可能可以节省5%到15%,这是我以前mpeg-4编码器 测试的 结论,当然,为了追求这10%左右的效率,性能上运动估计大约要增加30%以上的运算量(看选择的算法)。B帧也是很重要的算法,以前的测试结论大约是可以节省15% 左右,不过H.261也不支持 。
在H.261的编码帧中,分为I帧和P帧。I帧也被称为关键帧,而P帧则被称为预测帧。I帧里的宏块全部由帧内编码宏块组成,并没有运动估计。实际上I帧的编码算法和j peg压缩算法很类似,可以说就是使用了jpeg压缩技术。I帧的压缩效果比P帧差很多,同等图像质量的话,I帧的码率可能是P帧的 十倍,从这里可以看出来运动估计对于视频压缩的巨大 作用。也正是因为I帧压缩效果差,因 此,很多编码器算法都有一个叫做关键帧间隔的参数,这个值比较流行设置为 100,也就是大概4秒钟出现一次I帧。很多实时编码的算法,经常会过几秒,画面给人的感觉是刷了一下,这就是关键帧在刷新
1.1
图形(graphic):和图像与视频不同,有一种说法是图形就是自然界的客观世界不存在的图案。对于计算机中的图形研究,有专门的计算机图形学,主要的研究对象是点、线、面等抽象事物。 目前所谓的计算机显卡3D技术支持,主要就是图形技术相关的范畴。 关于图形方面的开发,好象OpenGL是其中比较有名的3D图形库。
图像(image):和图形相反,图像可以定位为自然界中客观存在的图案。图像处理和我们有关系的大致是图像滤波处理和图像压缩。目前用得最多的静止图像压缩算法就是jpeg了,大家应该都很熟悉。而对图像的其他处理,一般称之为对图像进行滤波,图像处理方面,photoshop软件很多人应 该都 很熟悉,它图像处理的功能十分强大。在视频行业,主要是关注消隔行滤波器、去除摄像头白噪声滤波器、去除块效应(deblock)滤波器等。
视频(video):视频我的理 解就是连续的图像,被称为视频。对视频图像的处理,核心是压缩,其他的就是采集、传输、显示和录像了。视频图像如 果不压缩的话, 传输和录像的成本都太高了。
1.2
视频采集最重要的设备就是摄像头了,它将自 然界中的客观场景转化为模拟的电信号输出。如果是数字视频应用系统,还需要专门的设备或者器件完成图像信号的模拟到数字转换,这也是摄像头很难直接接入PC机的原因。早期的接入方式是通过PC上用户自己配的采集卡来完成,这种方式现在也有,现在有专门通过USB 接口 接入PC机的USB摄像头,它是在摄像头内完成了模拟到数字的转换,输出数字信号到USB接口 。
视频的压缩是视频处理的核心,按照是否实时性可以分为非实时压缩和实时压缩。实时性与否,区别其实很大,一般来说,制作DVD等影片可以算作非实时性压 缩,此时,算法的选择应该是要提高压缩算法效率,而不是性能,因为,即使一天完成一部影片的压缩的话,大多数时候,问题可能也不大。而对于类似网上直播这 样的应用,则属于实时性压缩应用了,此时在算法选择上,算法的性能可能是第一 位的。目前看,实时性压缩的应用更广泛些。关于视频压缩部分,详细的介绍我们放在后面的章节进行介绍。
视频的传输分为两种,一种是模拟视频的传输,也就是摄像头电信号进行远距离传输,这种主要是在传统的视频监控系统中应用,它的成本比较高,传输距离也有限制,而且随着距离的增大,会出现信号衰减和信道噪声等问题;另一种传输是和互联网技术结合起来,先把数字视频信 号压缩后得到码流数据,然后通过网 络传输到远端。随着互联网的高速发展,后一种应用方式越来越普遍,最早期应该算是视频会议系统,现在的应用 就更多了,最 新的比如手机上网观看视频等。其实,抽象看,互联网它其实就是一个信息平台,而在这个信 息平台上,传输的信息相当大比例就是多媒体数据。可以想象,今后随着互联网带宽的不断提高,视频的应用将越来越广。
对于互联网传输过来的视频信息,首先是要进行解码,然后才是显示。解码的芯片有一定的性能要求,比编码器低些,但是毕竟是视频数据处理,通用的芯片(不支持MMX等多媒体指令) 可能会比较吃 力。显示设备主要有电视、监视器和显示器,他们的信号接口是不一样的,电视 监视器是模拟的电信号,显示器的输入应该是数字信号。另外多说一句,现在的显卡似乎普遍支持电视输出。
1.3
以视频技术为基础,结合其他领域的技术突破,满足了人们各种各样的需求,形成了很多视频相关的行业。这些行业之中,我们来了解一下如下四个方向。
1.3.1
多媒体消费类应用在技术上主要是视频压缩技术和媒体存储技术的结合,主要的产品形式是VCD(早期)和DVD,偏向消费类的家庭应用。这几年随着DVD光驱的普及,在PC上观看DVD也逐步流行起来。该行业的视频压缩属于非实 时压缩,追求的是高清晰度,一般的分辨率都是D1(720*576),而且,它的音频品质也要求很高,采样频率和采样精度都非常高。DVD的视频压缩算法是mpeg-2,而它的音频是LPCM、DOLBYAC3、mp3或者aac。
DVD的存储技术表现形态就是DVD光盘,目前市面上常用的DVD光盘最大容量可达4.7GB。 目前DVD技术最发达的是日本,他们的专利最多,技术也最领先,基本上处于垄断地位了。
中国也有自己的DVD标准,叫做EVD,这个公司很久前就在努力的推广他们的标准了,不过客观的评价,进展不能算很乐观,还需要努力。
多媒体技术在家庭中的应用,这几年也出现了一些很好的亮点,比如家用电视支持网络和媒体功能、电视支持录像功能等,不过总体评价,这些都还远远没有普及,还需要进一步发展。个人更看好以机顶盒这样的方式来满足多媒体需求。
1.3.2
视频会议可以说是视频技术应用最古老的行业了,之所以这么说,是因为第一个视频压缩标准H.261就是为了视频会议而制定的。
视频会议行业是实时音视频压缩技术和网络通信技术结合的产物。目前视频会议系统的发展,除了满足人们基本的语音和图像信息交流外,还包括了强大的数据信息共享、开展协同工作等功能。
视频会议系统主要包括的产品有:语音输入输出设备(mic、音箱等)、摄像头、电视、视频会议终端、MCU等。视频会议专用的摄像头日本索尼公司市场占有率无可争议的是第一。而视频会议终端和MCU市场目前排第一的是美国的 polycom公司,polycom的音频技术非常强大,它在中低端市场优势很明显,而挪威的泰德(tandberg)在高端市场则做得更好一些。视频会议系统对音视频技 术和网络技术要求都比较高 。从实际应用来说,相对视频,视频会议系统对音频要求更高一些。随着现在视频技术的发展和网络带宽的不断改善,人们对视频的要求也越来越高,不过,音频方面的处理始终是关键,比如回声消除技术等。
1.3.3
根据目前比较流行的划 分方法,视频监控行业已历经三代。第一代被称为CCTV监控,也就是一个摄像头加一个监视器组成一个最简单的视 频监控系统 ,很多时候还只是黑白的监控画面,目前采用第一代监控系统的客户已经很少了,不过在一些很小的便利店、超市,我们还是可 以看到这样 的监控 系统。第二代视频监控系统典型的产品形态是板卡和DVR,即使到现在,这种监控系统也还很流行,在第二代监控系统中表现最好 的企业是杭州海康,他们几乎垄断了板卡市场,DVR市场占有率也连续几年排名第一了,第二代监控系统核心是实时视频压缩技术,把 摄像头拍摄下来的画面进行压缩和存储到本地硬盘。目前,视频监控行业已经发展到了第三代,也 就是远程视频监控,它把网络技术和视频压缩技术结合起来,不过和视频会议系统不同的是,监控行业对音频的要求不高,但是,对图 像的要求却高很多,从传统的要求来说,视频监控不仅要求图像能够更清晰,对帧率的要求也很高,这也是从监控的安全考虑的需求。
远程监控系统的主要产品是视频服务器(IPVS,也有产商叫DVS)和网络摄像机(ip
1.3.4
流媒体也是网络技术和视频压缩技术结合的产物,它的具体应用形式很多,比如网上直播、手机流媒体、IPTV(网络电视)等等,都是比较新的东西,再比如现在网络上流行的所谓播客,我也把它归类为流媒体行业。
流媒体应用,对编码器的要求可能是最高的了,这是因为每台流媒体服务器都会有很多用户来连接访问 媒体数据,压缩率如果提高的话,同等图像质量下,同等图像带宽可以支持更多的用户,这点很重要,流媒体行业应用的最大瓶颈就是服务器支持的用户数了。
为了解决服务器的这一瓶颈,最近几年出现了一种叫做P2P的网络传输技术,它号称是用户越多,用户欣赏视频会越流畅,而需要的服务器仍然只是一台。这个技术最成功的产品案例就 是skype软件了,好像是2005年它被ebay以26亿美元成功收购,这即使到现在,也被称为一个互 联网历史上 不可复制的奇迹。除了skype,其他应用P2P技术的直播软件还有pplive等,现在也都比较流行。
IPTV算是流媒体在家庭的一个应用形式,前两年在国内也很火过一阵子。我的感觉,单纯从技术上评价,IPTV也还有点早了,现在可能还不太成熟,我 的理由有如下几点:目前家庭用户上网主要的带宽还是2兆或者以下,在这个带宽下,目前主流的压缩技术,压缩 出来的效果可能和有线电视比还相差很明显,要想进一步提高,可能还需要H.264的普及应用。如果要升级到H.264的话,也就是说目前的IPTV机 顶 盒在技术上还不够成熟,并不能一步到位解决问题。所以,感觉IPTV在技术上要可行,可能还需要再等3-5年吧。
1.3.5
所谓的视讯行业,就是视频和通讯技术结合的行业,上面所说的视频会议、远程视频监控和流媒体行业都属于视讯行业的范畴。
还有一个很有影响的产品,就是IP电话,这个产品大家应该都很熟悉了,几年前也有过一段时间的炒作,现在看好像也还没普及,和IPTV类似,个人也是 感觉还是有点早了,可能再过几年会有机会起来。它应该算是视频会议的家庭应用产品形态吧。
二
2.1
2.1.1
这里的标准,主要指的是音 视频压缩标准。两大组织分别是国际标准化组织(ISO)和国际电信联盟(ITU),相信IT行业的从业者没听说过这两个行业的人很少。
在音视频压缩标准方面,mpeg系列的协议是ISO制定的标准,而H系列的协议则是ITU制定的标准。
2.1.2
目前主要的视频压缩协议有:H.261、H.263、H.264和mpeg-1、mpeg-2和mpeg-4。第一个视频压缩标准是H.261,它的算法现在来看,非常简单,但是,它的很多视频压缩的思想,一直影响到现在最新的压缩标准H.264。H.264单看名字,感觉是ITU组织制定的,其实 它还有 一个名字叫mpeg-4
从应用的角度看,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年内,出现新的视频压缩协议可能性很小,除非压缩理论有重大突破。
中国也有自己的视频压缩协议,叫做AVS,搞了好多年了,不过搞得不是很好。从市场分析, 消费类电子、视频会议和流媒体行业,现在要再想进去可能很困难了。不过最近听说AVS又有点火起来了,有消息称,IPTV指定要支持AVS,这可能是它的最后机会了吧。
除了上面说的协议,还有很多公司也有自己的压缩算法,不过基本上都是不公开的了,他们这些算法也都非常好,不过和开发人员关系倒不是很大了,典型的是微软的wmv、realplay公司的rm和rmvb等,他们的使用者也很多,而且他们都偏向流媒体应用。
2.1.3
音频协议也分两大类,ITU组织的主要是用于视频会议的G系列协议,包括g.711、g.722、g.723、g.726、g.728、g.729等。这些协议主要 有两大特点,第一是比较关注语音压缩,毕竟开会主要是要听人讲话;对音乐的压缩效果可能就不是太好了;第二是压缩率都比较大,码率都比较低,典型的g.72 3支持5 .9k/s这样的码率,而且语音音质还很不错。ISO的音频可能更为人熟知一些,最流行的就是mp3, 它的全称是mpeg-1
同样的,很多大公司也有自己的语音压缩标准,效果也非常好。不过都是他们自己的知识产权和算法,通用市场用的还是少。
2.1.4
在视频会议系统中,目前最 流行的有H.323和SIP协议,在流媒体应用中,ISMA
H.323主要用于视频会议,被称为协议簇,我们前面提到的H系列视频压缩协议和G系列音频压缩协议都属于它的子协议。除了音视频编解码器外;它还定义了各种数据应用, 包括T.120、T.84、T.434等;另外还包括H.245控制信道、H.225.0呼叫信令信道以及RAS信道。详细的H.323的知识,这里就不深入介绍了。
SIP是由IETF提出来的一个应用控制(信令)协议。正如名字所隐含的--用于发起会话。它可用来创建、修改以及终结多个参与者参加的多媒体会话进程。参与会话的成员可以通过组播方式、单播连网或者两者结合的形式进行通信。
H.323和SIP分别是通信领域与因特网两大阵营推出的建议。
RTSP主要用于流媒体传输,它的英文全称是real
2.2
2.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)
一般的电视上都是隔行扫描,而显示器都是逐行扫描。这里有一个场的概念,隔行扫描是一帧等于两场,而逐行扫描则是一帧就是一场。
码率
它的单位是
分辨率
图像的分辨率指的是它的像素数,一般用得最多的是CIF,也就是352*288,4cif自然就是指704*576,而D1的分辨率严格意义上是 720*576,大小来说和4cif差不多了。当然现在还有很多高清的分辨率,这些我不是太了解,大家感兴趣可以查一下。另外,国外很多时候,对cif的高 度取240 ,这是因为他们的帧率比 我们高(29.97hz),自然,高度要小一些了。
实时与非实时
主要用来形容编码器,它含有两个意思,一个是要保证帧率,也就是每秒25帧,另一个是“live”的意思,意味着直播,所谓的“实况转播”的“实”。
延时
也是形容编码器的一个重要指标,一般来说,200ms到300ms人的感觉不会很明显,到了500毫秒的话,还是可以很明显感觉到的。
音视频同步
作为视频会议的应用,一般要求做到所谓的“唇同步”。基本的保证音视频同步的手段就是时间戳(time
复合视频和S-Video
NTSC和PAL彩色视频信号是这样构成的--首先有一个基本的黑白视频信号,然后在每个水平同步脉冲之后,加入一个颜色脉冲和一个亮度信号。因为彩色信号是由多种数据“叠加”起来的,故称之为“复合视频”。S-Video则是一种信号质量更高的视频接口,它取消了信号叠加的方法,可有效避免一些无谓的质量损失。它的
NTSC、PAL和SECAM
基带视频是一种简单的模拟信号,由视频模拟数据和视频同步数 据构成,用于接收端正确地显示图像。信号的细节取决于应用的视频标准或者“制式”--NTSC(美国全国电视标准委员会,Natio nal
中国的电视信号一般都是PAL,而美日则是NTSC。这2个制式的帧率,图像尺寸都有所不同。
线数
我们在买摄像头的时候,经常会提到一个叫线数的概念,它其实就是分辨率中的高(height)。举个例子:PAL制式的D1图像,线数就是576。
亮度、饱和度和对比度
英文名分别是:brightness、saturation和
2.2.2
采样率
音频的采样率其实类似视频的帧率,意思是每秒钟采样的次数。G.711的采样率是8k(人的语音大概就在这个频率范围以内),而mp3支持的典型采样率是
采样精度
就是每个采样进行模数转换时的量化系数。G.711 是8bit采样精度,而mp3典型的是16bit。
回声消除
视频会议应用中的音频最大问题。回声产生的原因很复杂,一般认为,在互联网中的语音传输,延时来源有三个:压缩延迟、分组传输延迟和处理延迟 。语 音压缩延迟是产生回声的主要延迟,例如在G.723.1标准中,压缩一帧(30ms)的最大延迟是37.5ms。分组传输延迟也是 一个很重要的来源,测试表明,端到端的最大传输延迟可达250ms以上。处理延迟是指语音包的封装时延及其缓冲时延等 。
2.3
这一节,我们对采取一些视讯行业中的产品进行简单介绍,希望对大家有用 。
2.3.1
这是最近两年开始流行的新产品,它的定义其实业有些混乱。目前流行的说法是:只要和视频沾边的便携式播放器,都叫MP4。不过下面的图更能说明问题。
2.3.2
一种完成电——光信号转换的设备。主要用于模拟远程视频监控系统,它可将远端的摄像头模拟信号转换成光信号传送到监控中心,配合监控中心的DVR使用。
2.3.3
它是视频会议的核心设备之一。 当参与视频会议的终端超过2个时,就必须通过MCU来召开会议。
MCU的基本功能是媒体流转发和混音 ,并进行会议管理,随着视频会议的发展,MCU支持的功能也越来越多,比如:混屏、远程摄像头控制等功能。
呵呵
再挑点毛病。。。
目前市面上常用的DVD光盘最大容量可达4.7GB
-----------------------------
这句有点模糊。。DVD分为四种规格:DVD-5,DVD-9,DVD-10,DVD-18,DVD-5,4.7GB;DVD-9,8.5GB;DVD-10,9.4GB;DVD-18,17GB。
在行业上,国内的监控行业,也是从mpeg-1到mpeg-2,到前两三年的mpeg-4,再到最近的H.264。
------------------------------------------
“前两三年”好像容易给人造成误解。。。。。MPEG-4,1993年就开始制定了,1999年和2000年发布了1版和2版。
这里有一个场的概念,隔行扫描是一帧等于两场,而逐行扫描则是一帧就是一场。
--------------- ------ --------------------
场的概念好像只是针对隔行扫描,不存在一帧就是一场这一说吧。
亮度、饱和度和对比度
英文名分别是:brightness、saturation和
----------------------------------------
再加一个吧,色度(Hue)。
视频压缩知识介绍(一)——评价标准及算法原理
1.1
1.2
1.3
H.261
前面介绍过了,视频压缩的关键就是运动估计、DCT变换、量化和反量化。H.261除了这些,还有一个环路滤波器,用来消除块效应。下面,我们一一介绍。
运动估计(ME)
我们经常可以碰到这样的情况,两个不同的产商,他们都支持H.261,设置的码率也一样,可是实际跑起来的时候,两个产商的编码效果差别却很大,这里面,主要的原因就是运动估计算法不同。
最简单的运动估计算法是所谓的全搜索,可是实际的产品中,几乎没有采用这种算法的,为什么?因为全搜索太慢了,对视频编码的算法选择而 言,永远是在编码效率和算法性能上找平衡点。事实上,有很多算法在性能上可能是全搜索的10%左右,但是,编码效率可能只比全搜索稍差,对于实时应用的编码器而言,选择一个适合CPU运算特点的优化算法是关键。这里插一句,如果是非实时应用的话,采用全搜索是个非常好的注意。
H.261协议里面其实并没有定义如何运动估计,因为,协议一般只定义解码器,它不管你如何编码,只要你最后得到的码流符合它的协议就够了。与运动估计对应的解码过程叫运动 补 偿( MC),H.261运动补偿主要特点有:1
与后来的协议相比较,个人的看法,运动估计的范围-16到15基本上是够用了,再大的话,一方面性能可能做不到,另一方面,实际应用中,运动超过 这个范围的宏块还是很 少的。与整像素搜索对应的是半像素、四分之一像素等搜索精度,这个算法应该说非常有效,个人感觉H.263比H.261算法好 的最关键因素就是这里。运动向量只到宏块一级其实差不多,不过支持4mv的话,有些场合码率可能可以节省5%到15%,这是我以前mpeg-4编码器 测试的 结论,当然,为了追求这10%左右的效率,性能上运动估计大约要增加30%以上的运算量(看选择的算法)。B帧也是很重要的算法,以前的测试结论大约是可以节省15% 左右,不过H.261也不支持 。
在H.261的编码帧中,分为I帧和P帧。I帧也被称为关键帧,而P帧则被称为预测帧。I帧里的宏块全部由帧内编码宏块组成,并没有运动估计。实际上I帧的编码算法和j peg压缩算法很类似,可以说就是使用了jpeg压缩技术。I帧的压缩效果比P帧差很多,同等图像质量的话,I帧的码率可能是P帧的 十倍,从这里可以看出来运动估计对于视频压缩的巨大 作用。也正是因为I帧压缩效果差,因 此,很多编码器算法都有一个叫做关键帧间隔的参数,这个值比较流行设置为 100,也就是大概4秒钟出现一次I帧。很多实时编码的算法,经常会过几秒,画面给人的感觉是刷了一下,这就是关键帧在刷新