苹果6s比苹果6好在哪里:MP4是谁发明的?

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/26 14:27:26
告诉我啊!

视频编解码器
维基百科,自由的百科全书

视频编解码器,是指一个能够对数字视频进行压缩或者解压缩的程序或者设备。通常这种压缩属于有损数据压缩。历史上,视频信号是以模拟形式存储在磁带上的。随着Compact Disc的出现并进入市场,音频信号以数字化方式进行存储,视频信号也开始使用数字化格式,一些相关技术也开始随之发展起来。

音频和视频都需要可定制的压缩方法。工程师和数学家们尝试了很多种不同的办法来试图解决这个问题。

一个复杂的平衡关系存在于以下因素之间:视频的质量、用来表示视频所需要的数据量(通常称之为码率)、编码算法和解码算法的复杂度、针对数据丢失和错误的鲁棒性(Robustness)、编辑的方便性、随机访问、编码算法设计的完美性、端到端的延时以及其它一些因素。

应用

在日常生活中,视频编解码器的应用非常广泛。例如在DVD(MPEG-2)中,在VCD(MPEG-1)中,在各种卫星和陆上电视广播系统中,在互联网上。在线的视频素材通常是使用很多种不同的编解码器进行压缩的,为了能够正确地浏览这些素材,用户需要下载并安装编解码器包--一种为PC准备的编译好的编解码器组件。

由用户自己来进行视频的压缩已经随着DVD刻录机的出现而越来越风行。由于商店中贩卖的DVD通常容量比较大(双层)而目前双层DVD刻录机还不太普及,所以用户有时候会对DVD的素材进行二次压缩使其能够在一张单面DVD上完整地存储。

视频编解码器设计

一个典型的数字视频编解码器的第一步是将从摄像机输入的视频从RGB色度空间转换到YCbCr色度空间,而且通常还伴有色度抽样来生成4:2:0格式的视频(有时候在隔行扫描的情况下会采用4:2:2的抽样方式)。转换到YCbCr色度空间会带来两点好处:1)这样做部分的解除了色度信号中的相关性,提高了可压缩能力。2)这样做将亮度信号分离出来,而亮度信号对视觉感觉是最重要的,相对来说色度信号对视觉感觉就不是那么重要,可以抽样到较低的分辨率(4:2:0或者4:2:2)而不影响人观看的感觉。

在真正的编码之前,对空域或者时域抽样可以有效地降低原始视频数据的数据量。

输入的视频图像通常被分割为宏块分别进行编码,宏块的大小通常是16x16的亮度块信息和对应的色度块信息。然后使用分块的运动补偿从已编码的帧对当前帧的数据进行预测。之后,使用块变换或者子带分解来减少空域的统计相关性。最常见的变换是8x8的离散余弦变换(DCT fordiscrete cosine transform)。变换的输出系数接下来被量化,量化后的系数进行熵编码并成为输出码流的一部分。实际上在使用DCT变换的时候,量化后的二维的系数通常使用Zig-zag扫描将系数表示为一维的,再通过对连续0系数的个数和非0系数的大小(Level)进行编码得到一个符号,通常也有特殊的符号来表示后面剩余的所有系数全部等于0。这时候的熵编码通常使用变长编码。

解码基本上执行和编码的过程完全相反的过程。其中不能被完全恢复原来信息的步骤是量化。这时候,要尽可能接近的恢复原来的信息。这个过程被称为反量化,尽管量化本身已经注定是个不可逆过程。

视频编解码器的设计通常是标准化的,也就是说,有发布的文档来准确的规范如何进行。实际上,为了使编码的码流具有互操作性(即由A编码器编成的码流可以由B解码器解码,反之亦然),仅仅对解码器的解码过程进行规范就足够了。通常编码的过程并不完全被一个标准所定义,用户有设计自己编码器的自由,只要用户设计的编码器编码产生的码流是符合解码规范的就可以了。因此,由不同的编码器对同样的视频源按照同样的标准进行编码,再解码后输出图像的质量往往可能相差很多。

常用的视频编解码器

很多视频编解码器可以很容易的在个人计算机和消费电子产品上实现,这使得在这些设备上有可能同时实现多种视频编解码器,这避免了由于兼容性的原因使得某种占优势的编解码器影响其它编解码器的发展和推广。最后我们可以说,并没有那种编解码器可以替代其它所有的编解码器。下面是一些常用的视频编解码器,按照它们成为国际标准的时间排序:
H.261
H.261主要在老的视频会议和视频电话产品中使用。H.261是由ITU-T开发的,第一个使用的数字视频压缩标准。实质上说,之后的所有的标准视频编解码器都是基于它涉及的。它使用了常见的YCbCr颜色空间,4:2:0的色度抽样格式,8位的抽样精度,16x16的宏块,分块的运动补偿,按8x8分块进行的离散余弦变换,量化,对量化系数的Zig-zag扫描,run-level符号影射以及霍夫曼编码。H.261只支持逐行扫描的视频输入。
MPEG-1第二部分
MPEG-1第二部分主要使用在VCD上,有些在线视频也使用这种格式。该编解码器的质量大致上和原有的VHS录像带相当,但是值得注意的是VCD属于数字视频技术,它不会像VHS录像带一样随着播放的次数和时间而逐渐损失质量。如果输入视频源的质量足够好,编码的码率足够高,VCD可以给出从各方面看都比VHS要高的质量。但是为了达到这样的目标,通常VCD需要比VCD标准要高的码率。实际上,如果考虑到让所有的VCD播放机都可以播放,高于1150kbps的视频码率或者高于352x288的视频分辨率都不能使用。大体来说,这个限制通常仅仅对一些单体的VCD播放机(包括一些DVD播放机)有效。MPEG-1第三部分还包括了目前常见的*.mp3音频编解码器。如果考虑通用性的话,MPEG-1的视频/音频编解码器可以说是通用性最高的编解码器,几乎世界上所有的计算机都可以播放MPEG-1格式的文件。几乎所有的DVD机也支持VCD的播放。从技术上来讲,比起H.261标准,MPEG-1增加了对半像素运动补偿和双向运动预测帧。和H.261一样,MPEG-1只支持逐行扫描的视频输入。
MPEG-2第二部分
MPEG-2第二部分等同于H.262,使用在DVD、SVCD和大多数数字视频广播系统和有线分布系统(cable distribution systems)中。当使用在标准DVD上时,它支持很高的图像质量和宽屏;当使用在SVCD时,它的质量不如DVD但是比VCD高出许多。但是不幸的是,SVCD最多能在一张CD光盘上容纳40分钟的内容,而VCD可以容纳一个小时,也就是说SVCD具有比VCD更高的平均码率。MPEG-2也将被使用在新一代DVD标准HD-DVD 和 Blu-Ray(蓝光光盘)上。从技术上来讲,比起MPEG-1,MPEG-2最大的改进在于增加了对隔行扫描视频的支持。MPEG-2可以说是一个相当老的视频编码标准,但是它已经具有很大的普及度和市场接受度。
H.263
H.263主要用在视频会议、视频电话和网络视频上。在对逐行扫描的视频源进行压缩的方面,H.263比它之前的视频编码标准在性能上有了较大的提升。尤其是在低码率端,它可以在保证一定质量的前提下大大的节约码率。
MPEG-4第二部分
MPEG-4第二部分标准可以使用在网络传输、广播和媒体存储上。比起MPEG-2和第一版的H.263,它的压缩性能有所提高。和之前的视频编码标准的主要不同点在于,“基于对象”(Object-oriented)的编码方法和一些其它并非用于提高通常视频编码压缩率的技术。当然它也引入了一些提高压缩能力的技术,包括一些H.263的技术和1/4像素的运动补偿。和MPEG-2一样,它同时支持逐行扫描和隔行扫描。
MPEG-4第十部分
MPEG-4第十部分技术上和ITU-T H.264是相同的标准,有时候也被叫做“AVC”)。 这个刚刚制定完成的标准是ITU-T VCEG和ISO/IEC MPEG合作完成的性能最优的视频编码标准,并且在已经得到了越来越多的应用。该标准引入了一系列新的能够大大提高压缩性能的技术,并能够同时在高码率端和低码率端大大超越以前的诸标准。已经使用和将要使用H.264技术的产品包括例如索尼公司的PSP,Nero公司的Nero Digital 产品套装,苹果公司的Mac OS X v10.4,以及新一代DVD标准HD-DVD和蓝光光盘(Blue-Ray)。
DivX,XviD和3ivx
DivX,XviD和3ivx视频编解码器基本上使用的都是MPEG-4第二部分的技术,以后缀*.avi, *.mp4, *.ogm 或者 *.mkv 结尾的文件有一部分是使用这些视频编解码器的。
WMV
WMV(Windows Media Video)是微软公司的视频编解码器家族,包括WMV 7、WMV 8、WMV 9、WPV 10。这一族的编解码器可以应用在从拨号上网的窄带视频到高清晰度电视(HDTV)的宽带视频。使用Windows Media Video用户还可以将视频文件刻录到CD、DVD或者其它一些设备上。它也适用于用作媒体服务器。WMV 可以被看作是MPEG-4的一个增强版本。最新的WMV的版本是正在SMPTE制定中的VC-1标准。WMV-9(VC-1,开发代号为“Corona”)刚推出的时候称为VC-9,之后才被电影电视工程师协会(SMPTE)改称为VC-1(VC指Video Codec)。
RealVideo
RealVideo是由RealNetworks公司开发的视频编解码器。近几年曾经有段时间的低迷,之后又获得市场的青睐。最近尤其在BT电影界格外受宠。
Sorenson 3
Sorenson 3是由苹果公司的软件QuickTime使用的一种编解码器。很多因特网上的QuickTime格式的视频都是这种编解码器压缩的。
Cinepak
Cinepak同样是由苹果公司的软件QuickTime使用的一种很老的编解码器,好处是即使很老的计算机(如486)也都支援并且能顺利播放。
Indeo Video
Indeo Video Indeo Video 是由 Intel 所研发的编解码器。

上面提到的编解码器都有各自的优点和缺点,经常可以看到有对这些编解码器进行比较的文章,这时候最重要的同时考虑编码的码率和清晰度(常说的律失真特性,鲁棒性)。

H.264/MPEG-4 AVC
维基百科,自由的百科全书

H.264, 或者 MPEG-4 第十部分,是由ITU-T视频编码专家组(VCEG)和ISO/IEC运动图像专家组(MPEG)联合组成的联合视频组(JVT,Joint Video Team)提出的高度压缩数字视频编解码器标准。ITU-T的H.264标准和ISO/IECMPEG-4第10部分(正式名称是ISO/IEC 14496-10)在编解码技术上是相同的,这种编解码技术也被称为AVC,即高级视频编码(Advanced Video Coding)。该标准第一版的最终草案(FD)已于2003年5月完成。

H.264是ITU-T以H.26x系列为名称命名的标准之一,同时AVC是ISO/IEC MPEG一方的称呼。这个标准通常被称之为H.264/AVC (或者 AVC/H.264 或者 H.264/MPEG-4 AVC or MPEG-4/H.264 AVC)而明确的说明它两方面的开发者。该标准最早来自于ITU-T的称之为H.26L的项目的开发。H.26L这个名称虽然不太常见,但是一直被使用着。有时候该标准也被称之为"JVT 编解码器",这是由于该标准是由JVT组织并开发的(作为两个机构合作开发同一个标准的事情并非空前,之前的视频编码标准MPEG-2也是由MPEG和ITU-T两方合作开发的--因此MPEG-2在ITU-T的命名规范中被称之为H.262)。

H.264/AVC项目最初的目标是希望新的编解码器能够在比相对以前的视频标准(比如MPEG-2或者H.263)低很多的码率下(比如说,一半或者更少)提供很好的视频质量;同时,并不增加很多复杂的编码工具,使得硬件难以实现。另外一个目标是可适应性,即该编解码器能够在一个很广的范围内使用(比如说,即包含高码率也包含低码率,以及不同的视频分辨率),并且能在各种网络和系统上(比如组播,DVD存储,RTP/IP包网络,ITU-T多媒体电话系统)工作。

JVT最近完成了一个对原标准的拓展,该拓展被称为高精度拓展 (Fidelity Range Extensions, FRExt)。该拓展通过支持更高的像素精度(包括10比特和12比特像素精度)和支持更高的色度精度(包括YUV 4:2:2 和 YUV 4:4:4)来支持更高精度的视频编码。该拓展加入了一些新的特性(比如自适应的4x4和8x8的整数变换,用户自定义量化加权矩阵,高效的帧间无失真编码,支持新增的色度空间和色度参差变换)。该拓展的设计于2004年7月完成,草案也于2004年9月完成。

由于该标准的最早版本于2003年5月完成,JVT已经完成了一轮对标准的勘误工作,新一轮的勘误也已于最近完成并且得到了ITU-T的批准,不久也将被MPEG批准。

技术细节

H.264/AVC包含了一系列新的特征,使得它比起以前的编解码器不但能够更有效的进行编码,还能在各种网络环境下的应用中使用。这些新特性包括:
多参考帧的运动补偿。比起以前的视频编码标准,H.264/AVC以更灵活的方式使用已编码的更多帧来作为参考帧。在某些情况下,可以使用最多32个参考帧(在以前的标准里面,参考帧的数目不是1就是对B帧来说的2)。该特性对大多数场景序列都可以带来一定的码率降低或者质量提高,对某些类型的场景序列,例如快速重复的闪光,反复的剪切或者背景遮挡的情况,它能很显著的降低编码的码率。
变块尺寸运动补偿。使用最大16x16最小4x4的块来进行运动估计与运动补偿,能够对图像序列中的运动区域进行更精确的分割。
为了减少“振铃”效应并最终得到更锐化的图像,采用六抽头的滤波器来产生二分之一像素的亮度分量预测值。
宏块对结构允许场模式中采用16x16的宏块(相对于MPEG-2中的16x8)
1/4像素精度的运动补偿能够提供更高精度的运动块的预测,由于色度通常是亮度抽样的1/2(参见4:2:0),这时运动补偿的精度就达到了1/8像素精度。
加权的运动预测,指在运动补偿时可以使用增加权重和偏移的办法。它能在一些特殊的场合,如淡入、淡出、淡出而后淡入等场合提供相当大的编码增益。
使用了一个环内的除块效应滤波器,能够减轻普遍存在于其他基于离散余弦变换(DCT)的视频编解码器的块效应。
一个匹配的整数4x4变换(类似于离散余弦变换的设计),同样在高精度拓展 中,一个整数8x8变换被采用,并能在4x4变换和8x8变换中进行自适应的选择。
在第一次4x4变换后,对DC系数(色度的DC系数和某种特殊状况的亮度DC系数)再进行一个Hadamard变换,使得在平滑区域得到更好的压缩效果。
利于临近块的边界像素的Intra空间预测(比曾在MPEG-2视频部分使用的直流系数预测和在H.263+和MPEG-4视频部分使用的变换系数预测的效果要好)。
基于上下文的二元算数编码 (CABAC),它能够灵活的将各种语法元素在已知相应的上下文的概率分布的状况下更有效的进行无损的熵编码。
基于上下文的变长编码 (CAVLC),用于对量化后的变化系数进行编码。比起CABAC它的复杂度相对较低,压缩比不高,但是比起以前的视频编码标准所使用的熵编码方案,它又是相当有效的。
使用一个被称为Exponential-Golomb(Exp-Golomb)的简单的熵编码方案对既不是用CABAC也不是用CAVLC的语法元素进行编码。
使用一个网络抽象层 (NAL),使得相同的视频语法可以适用于多种网络环境中;并且使用了序列参数集(SPSs)和图像参数集(PPSs)来提供更高的鲁棒性(robustness)和灵活性。
切换条带(Switching slices,包括SP和SI两种),它使得编码器能够指令解码器跳转到一个正在处理的视频码流,用来解决视频码流码率切换和"窍门模式"(Trick mode)操作。当解码器利用SP/SI条带跳转到一个视频码流中间时,除非之后的解码帧引用切换帧之前的图像作为参考帧,它都可以得到完全一致的解码重建图像。
灵活的宏块排列模式(FMO for Flexible macroblock ordering,也被称为条带组slice groups技术)和任意条带排列(ASO for arbitrary slice ordering)模式,用来更改图像编码的最基本单位-宏块的编码顺序。它能够用来提高有绕信道下码流的鲁棒性(robustness)以及一些其它的目的。
数据分区(DP for Data partitioning),能够将重要程度不同的语法元素分开打包传输,并使用非平等数据保护(UEP for unequal error protection)等技术来改善视频码流对抗信道误码/丢包的鲁棒性(Robustness).
冗余条带(RS for Redundant Slices),同样是一个提高码流鲁棒性的技术。编码器利用该技术可以发送图象某区域(或者全部)的另一个编码表示(通常是较低分辨率的编码码流)使得当主表示发生错误或者丢失的时候能够用冗余的第二个编码表示来解码。
使用了一个自动的字节码流打包方法,避免了码流中出现与开始码重复的码字。开始码是码流中用于随机访问和重建同步的码字。
补充增强信息(SEI for Supplemental Enhancement Information)和视频可用信息(VUI for Video Usability Information)增加了向视频码流中加入信息的办法,为各种应用提供了借口。
辅助图层(Auxiliary pictures), 可以用来实现某些特殊的功能,例如alpha复合(alpha compositing)。
帧编号,使用该功能支持创建一个视频序列的子序列(支持实现时域的可伸缩性),还支持对丢失的整帧图像(由于网络丢包或者信道误码造成的)进行检测和隐藏。
图像顺序计数,使用该功能使得各帧图像的顺序和解码图像的像素值与时间信息无关(即使用一个单独的系统对时间信息进行传输、控制、更改,从而不影响解码图像的像素值。)

上述这些技术,和一些其它的技术一起,使得H.264比起以前的视频编解码能够带来性能上显著的提高,并在各种不同的环境下支持更广泛的应用。H.264在压缩性能上比起MPEG-2有很大的提高,在相同的图像质量下可以,码率可以减少到一半或者更少。

和MPEG的其它视频标准一样,H.264/AVC也提供了一个参考软件,并可以免费下载。它的主要目的是提供一个演示H.264/AVC各种功能的演示平台,而不是作为一个直接的应用平台(在后面的链接部分可以找到下载的地址)。目前在MPEG也同时在进行一些硬件参考设计的实现。

专利许可

和MPEG-2第一部分、第二部分,MPEG-4 第二部分一样,使用H.264/AVC的产品制造商和服务提供商需要向他们的产品所使用的专利的持有者支付专利许可费用。这些专利许可的主要来源是一家称为MPEG-LA,LLC的私有组织(实际上该组织和MPEG标准化组织没有任何关联,但是该组织也管理着MPEG-2第一部分系统、第二部分视频。MPEG-4第二部分视频和其它一些技术的专利许可)。

应用

竞争下一代DVD格式的两种主要技术都计划在2005下半年将H.264/AVC HP作为必须的播放器特征加入进来,包括:
DVD论坛制订的HD-DVD格式
蓝光协会(BDA)制订的蓝光光盘Blu-ray Disc格式

欧洲的数字电视广播(DVB)标准组织在2004下半年通过了采用H.264/AVC在欧洲进行电视广播。

2004下半年,法国总理Jean-Pierre_Raffarin宣布在法国选用H.264/AVC作为HDTV接收器和数字电视地面广播服务的付费电视频道的一项要求。

美国的ATSC标准组织正在考虑可能在美国的电视广播中采用H.264/AVC。

韩国的数字多媒体广播(DMB)服务将采用H.264/AVC。

在日本使用数字广播集成服务ISDB-T提供的移动分区地上广播服务将使用H.264/AVC 编解码器,包括主要的广播服务提供商:
日本放送协会 (NHK)
东京放送 (TBS)
日本电视台 (NTV)
朝日电视台 (TV Asahi)
富士电视台 (Fuji TV)
东京电视台 (TV Tokyo)

直接卫星广播Direct broadcast satellite服务将使用该标准,包括:
News Corp. / DirecTV (在美国)
Echostar / Dish Network / Voom TV (在美国)
Euro1080 (在 欧洲)
Premiere (在 德国)
BSkyB (in the 英国 and 爱尔兰)

第三代移动通信合作组织(3GPP)已经在第六次发布中批准H.264/AVC作为其移动多媒体电话服务标准的可选技术。

美国国防部(DoD for United States Department of Defense)下的运动图像标准协会(MISB for The Motion Imagery Standards Board)已经接受H.264/AVC为其核心应用的推荐视频编解码器。

因特网工程工作小组(IETF for Internet Engineering Task Force)已经完成了一个负载打包格式(RFC 3984)作为在其实时传输协议(RTP for Real-time Transport Protocol)上传输H.264/AVC码流的打包办法。

互联网流媒体协会(ISMA for Internet Streaming Media Alliance)已经接受H.264/AVC作为其ISMA 2.0的技术规范。

MPEG组织将H.264/AVC完全的集成进入了它的系统协议(例如MPEG-2 和MPEG-4 系统)和ISO媒体格式协议。

国际电信联盟ITU-T标准组已经采纳H.264/AVC 作为其H.32x系列的多媒体电话系统的系统规范的一部分。ITU-T的采纳,使得H264/AVC 已经被广泛的使用在视频会议系统中,并获得了视频电话主要的两家产品提供商(Polycom和Tandberg 的支持。实际上所有新的视频会议产品都支持H.264/AVC。

H.264将很可能被各种视频点播服务(VOD for video-on-demand)使用,用来在互联网上提供电影和电视节目直接到个人电脑的点播服务。

产品和实现

有几家公司正在制作能够对H.264/AVC视频进行解码的可编程芯片。2005年1月,Broadcom (the BCM7411), Conexant (the CX2418X), Neomagic (MiMagic 6)和STMicroelectronics (the STB7100)几家公司都提供了可供测试的样片。 Sigma Designs 预计在2005年3月提供样片。这些芯片的出现将极大的推动低成本的能够播放标清和高清分辨率的H.264/AVC 视频的快速推广。这5种芯片中的4种(除了Neomagic的芯片,它是针对低能耗应用的)都具有播放高清分辨率视频的能力,而且大部分都将支持标准中的High Profile.

苹果公司已经将H.264集成进入Mac OS X版本v10.4(昵称老虎:Tiger),并于2005年5月发布了支持H.264的Quicktime版本7.0。2005年4月苹果公司升级了软件DVD Studio Pro以支持授权的高清格式的内容。该软件支持将HD-DVD格式的内容刻录到标准DVD或者HD-DVD媒体(虽然现在还没有对应的刻录机)上。为了播放刻录在标准DVD上的HD-DVD内容,所需要的硬件是PowerPC G5,软件是Apple DVD Player v4.6, 以及 Mac OS X v10.4 或者更新。

Envivio公司已经可以提供针对H.264组播用的标清实时编码器和离线的高清(720p, 1080i, 1080p)编码器。Envivio公司同时提供针对windows、Linux和Macintosh平台的H.264解码器,H.264视频服务器和授权工具。

Modulus Viode公司提供广播、电话用广播质量的H.264标清实时编码器,并宣布将与2005年中提供高清实时编码器(ME6000)。该公司曾在2004年4月在NAB上演示过高清实时编码器,并获得"Pick Hit"奖项。该公司使用LSI Logic的技术。

Tandberg television公司推出了EN5990实时编码器。DirecTV 和 BSkyB 已经把EN5990编码器用于它们的卫星直播服务(DBS)。

Harmonic(哈雷)也推出了它们的实时编码器(型号:DiviCom MV 100)。TF1 (法国的广播商)和Video Networks Limited (VNL)在伦敦的家用视频点播服务已经宣布使用该产品。 佩斯公司(Pace Micro)为一些主要的直播卫星公司提供了机顶盒。

Sony公司的PSP(PlayStation Portable)在硬件上提供对H.264 Main Profile Level 3解码的支持。

Nero Digital公司推出的由Nero AG和Ateme共同开发的软件包提供了对H.264编码的支持,并在Doom9获得"Pick Hit"[[1]]奖项。

Sorenson 提供了H.264实现方式。相关的编解码软件Sorenson AVC Pro codec已经包含在Sorenson Squeeze 4.1 for MPEG-4中。

自由软件版x264的编解码软件采用GPL授权方式下载。

最新消息:InterVideo的WinDVD 7 于2005年6月24日正式发布。发布版本分为WinDVD 7 Gold黄金版和WinDVD 7 Platinum白金版,白金版支持H.264/MPEG-4 AVC解码播放,推荐配置为P4 3.6G。(不属于原文)

最新消息:ATi 2005年10月5日发布的Radeon X1300、X1600、X1800系列图形芯片支持H.264硬件加速解码。