全部博文(346)
分类: LINUX
2010-05-26 12:38:08
一 基础篇
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.723支持5.9k/s这样的码率,而且语音音质还很不错。ISO的音频可能更为人熟知一些,最流行的就是mp3,它的全称是mpeg-1 Audio layer 3,意思是mpeg-1的音频第三层;另外,最新的音频算法被称为aac(也称为mp4),它定义在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协议。