MP4是谁发明的?

视频编解码器

维基百科,自由的百科全书

视频编解码器是指可以压缩或解压缩数字视频的程序或设备。通常这种压缩属于有损数据压缩。历史上,视频信号以模拟形式存储在磁带上。随着光盘的出现和进入市场,音频信号以数字形式存储,视频信号也是数字格式,一些相关技术也有所发展。

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

在以下因素之间存在着复杂的平衡:视频的质量、表示视频所需的数据量(通常称为码率)、编码算法和解码算法的复杂度、对数据丢失和错误的鲁棒性、编辑的便利性、随机存取、编码算法设计的完善性、端到端延迟等因素。

app应用

在日常生活中,视频编解码器的应用非常广泛。例如,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亮度块信息和对应的色度块信息。然后,使用块运动补偿从编码帧预测当前帧的数据。然后,使用块变换或子带分解来降低空间域的统计相关性。最常见的变换是8×8离散余弦变换。然后对变换后的输出系数进行量化,量化后的系数进行熵编码,成为输出码流的一部分。实际上,在使用DCT变换时,通常将量化后的二维系数通过之字形扫描表示为一维,然后通过对连续零系数的个数和非零系数的级别进行编码得到一个符号,并且通常有特殊符号来表示剩余的所有系数都等于零。这时候熵编码通常采用变长编码。

解码基本上执行与编码过程完全相反的过程。不能完全恢复原始信息的步骤就是量化。这时候就要尽可能的还原原始信息。这个过程叫做逆量子化,虽然量子化本身注定是一个不可逆的过程。

视频编解码的设计通常是标准化的,也就是有公布的文档来准确规范怎么做。实际上,为了使编码后的码流具有互操作性(即A编码器编码的码流可以被B解码器解码,反之亦然),规范解码器的解码过程就足够了。通常情况下,编码过程并不完全由一个标准定义,用户可以自由设计自己的编码器,只要用户设计的编码器生成的码流符合解码规范即可。因此,相同的视频源由不同的编码器根据相同的标准进行编码,并且解码的输出图像的质量可能经常有很大不同。

常见视频编解码器

许多视频编解码器可以很容易地在个人电脑和消费电子产品上实现,这使得同时在这些设备上实现多个视频编解码器成为可能,避免了一个占主导地位的编解码器由于兼容性原因对其他编解码器的开发和推广造成的影响。最后,我们可以说,没有任何编解码器可以取代所有其他编解码器。以下是一些常用的视频编解码器,按它们成为国际标准的时间顺序排列:

H.261

H.261主要用于老式的视频会议和可视电话产品。H.261是ITU-T开发的第一个数字视频压缩标准。本质上,所有后续标准视频编解码器都基于它所涉及的内容。它使用常见的YCbCr色彩空间、4:2:0色度采样格式、8位采样精度、16×16宏块、块运动补偿、8×8块的离散余弦变换、量化、量化系数的之字形扫描、游程符号映射和霍夫曼编码。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第2部分

MPEG-2的第二部分相当于H.262,用于DVD、SVCD、大多数数字视频广播系统和有线电视分配系统。在标准DVD上使用时,支持高画质和宽屏;在SVCD使用时,它的质量不如DVD,但比VCD高得多。不幸的是,SVCD在一张CD上最多可以容纳40分钟的内容,而VCD可以容纳一个小时,这意味着SVCD的平均比特率高于VCD。MPEG-2也将用于新一代DVD标准HD-DVD和蓝光(蓝光光盘)。从技术上来说,与MPEG-1相比,MPEG-2最大的改进在于支持隔行视频。MPEG-2是一个相当老的视频编码标准,但它有很大的普及性和市场接受度。

263

H.263主要用于视频会议、可视电话和网络视频。在压缩逐行视频源方面,H.263较其之前的视频编码标准有了很大的性能提升。尤其是在低码率端,在保证一定质量的前提下,可以大大节省码率。

MPEG-4第2部分

MPEG-4标准的第二部分可用于网络传输、广播和媒体存储。与MPEG-2和第一版H.263相比,其压缩性能有所提高。与以前的视频编码标准的主要区别是“面向对象”的编码方法和其他一些没有用于提高普通视频编码压缩率的技术。当然也介绍了一些提高压缩能力的技术,包括一些H.263技术和1/4像素的运动补偿。像MPEG-2一样,它支持逐行扫描和隔行扫描。

MPEG-4第10部分

MPEG-4的第十部分在技术上与ITU-T H.264标准相同,有时称为“AVC”)。这个新开发的标准是ITU-T VCEG和ISO/IEC MPEG完成的最好的视频编码标准,并得到越来越多的应用。该标准引入了一系列可以大幅提升压缩性能的新技术,无论是高比特率还是低比特率,都可以大幅超越以往的标准。已经使用并将使用H.264技术的产品包括,例如,索尼的PSP、Nero的Nero数字产品套件、苹果的Mac OS X v10.4以及新一代DVD标准HD-DVD和蓝光。

迪维,XviD和3ivx

DivX、XviD和3ivx视频编解码器基本上使用MPEG-4第二部分的技术,有些文件以后缀*结尾。avi,*.mp4,*。ogm或*。mkv使用这些视频编解码器。

野型腮腺炎病毒

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指视频编解码器)。

RealVideo

RealVideo是由RealNetworks开发的视频编解码器。近几年有过一段低迷期,后被市场看好。最近特别是在BT电影行业,特别受青睐。

索伦森3

Sorenson 3是苹果软件QuickTime使用的编解码器。互联网上许多QuickTime格式的视频都是用这种编解码器压缩的。

Cinepak

Cinepak也是apple的软件QuickTime使用的旧编解码器。好处是即使很老的电脑(比如486)也能支持,播放流畅。

Indeo视频

Indeo Video Indeo Video是英特尔开发的一种编解码器。

上面提到的所有编解码器都有各自的优点和缺点。经常看到有文章对比这些编解码器。这时候最重要的是兼顾编码率和清晰度(通常指规律失真特性和鲁棒性)。

H.264/MPEG-4 AVC

维基百科,自由的百科全书

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

H.264是以H.26x系列命名的ITU-T标准之一,AVC是ISO/IEC MPEG的名称。这个标准通常被称为H.264/AVC(或者AVC/H.264或者H.264/MPEG-4 AVC或者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最近完成了原始标准的扩展,称为保真度范围扩展(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个参考帧(在以前的标准中,B帧的参考帧数量是1或2)。该功能可以降低编码率或提高大多数场景序列的质量,并且它可以显著降低某些类型的场景序列的编码率,例如快速重复闪烁、重复裁剪或背景遮挡。

可变块尺寸运动补偿。使用最大值为16×16,最小值为4×4的块进行运动估计和运动补偿,可以更准确地分割出图像序列中的运动区域。

为了减少“振铃”效应并最终获得更清晰的图像,使用六抽头滤波器来生成半个像素的亮度分量预测值。

宏块对结构允许16x16的宏块用于场模式(与MPEG-2中的16x8相比)。

像素精度为1/4的运动补偿可以提供更精确的运动块预测。由于色度通常是亮度采样的1/2(见4:2:0),运动补偿的精度达到1/8像素精度。

加权运动预测是指在使用运动补偿时增加权重和偏移量的方法。可以在一些特殊场合提供相当大的编码增益,比如淡入、淡出、淡出再淡入。

使用环内去块滤波器,这可以减少基于离散余弦变换(DCT)的其他视频编解码器中通常存在的块效应。

一个匹配的整数4×4变换(类似于离散余弦变换的设计),同样在高精度扩展中,采用整数8×8变换,可以在4×4变换和8×8变换之间自适应选择。

在第一次4×4变换后,对DC系数(特殊情况下为色度的DC系数和亮度的DC系数)进行哈达玛变换,从而在平滑区域获得更好的压缩效果。

有利于相邻块边界像素的帧内空间预测(优于MPEG-2视频中使用的DC系数预测和H.263+及MPEG-4视频中使用的变换系数预测)。

基于上下文的二进制算术编码(CABAC)可以在已知相应上下文概率分布的情况下,灵活地对各种语法元素进行无损熵编码。

基于上下文的可变长度编码(CAVLC)用于编码量化的变化系数。与CABAC相比,它具有更低的复杂度和压缩比,但与以前视频编码标准中使用的熵编码方案相比,它是相当有效的。

称为Exp-Golomb的简单熵编码方案用于编码既非CABAC也非CAVLC的语法元素。

使用网络抽象层(NAL)使相同的视频语法适用于各种网络环境。序列参数集(SPSs)和图像参数集(PPSs)用于提供更高的鲁棒性和灵活性。

切换片(包括SP和SI)使编码器能够指示解码器跳转到正在处理的视频流,用于解决视频流速率切换和特技模式操作。当解码器使用SP/SI条带跳转到视频流的中间时,可以得到完全一致的解码重建图像,除非后续解码帧参考切换帧之前的图像作为参考帧。

灵活宏块排序(灵活宏块排序的FMO,也称为切片组技术)和任意切片排序的ASO用于改变宏块的编码顺序,宏块是图像编码的最基本单元。它可以用于提高旁路信道中的码流的鲁棒性和一些其他目的。

数据分割(Data partitioning,DP for Data partitioning)可以将不同重要性的语法元素分别打包传输,使用UEP进行不等错误保护等技术,提高视频流对抗信道错误/丢包的鲁棒性。

冗余切片的RS也是一种提高码流健壮性的技术。使用这种技术,编码器可以发送图像的某个区域(或全部)的另一个编码表示(通常是较低分辨率的编码流),以便当主表示错误或丢失时,可以用冗余的第二编码表示对其进行解码。

一种字节码流的自动打包方法,用于避免码流中起始码的重复。起始码是用于码流中随机访问和重新同步的码字。

补充用于补充增强信息的SEI和用于视频可用性信息的Vui增加了向视频流添加信息的方法,为各种应用提供了借口。

辅助图片可以用来实现一些特殊的功能,比如alpha合成。

帧数,支持创建一个视频序列的子序列(支持时域的可伸缩性),也支持检测和隐藏丢失的整帧图像(由网络丢包或信道误码引起)。

图像顺序计数,利用该功能使得每帧图像的顺序和解码图像的像素值与时间信息无关(即使用单独的系统来传输、控制和改变时间信息,从而不影响解码图像的像素值。)

这些技术与其他一些技术一起,使H.264与以前的视频编解码器相比,性能有了显著提高,并支持各种环境中更广泛的应用。与MPEG-2相比,H.264的压缩性能大大提高,在相同的图像质量下,码率可以降低到一半甚至更少。

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

专利许可证

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

app应用

竞争下一代DVD格式的两种主要技术计划在2005年下半年增加H.264/AVC HP作为必要的播放器特征,包括:

DVD论坛开发的HD-DVD格式

由蓝光协会(BDA)开发的蓝光光盘格式

2004年下半年,欧洲DVB标准组织采用H.264/AVC进行欧洲的电视广播。

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

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

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

H.264/AVC编解码器将用于日本ISDB-T提供的移动小区广播服务,包括主要的广播服务提供商:

日本广播协会(NHK)

东京广播公司

日本电视台

朝日电视台(朝日电视台)

富士电视台

东京电视台

直接卫星广播卫星服务将使用该标准,包括:

新闻集团/DirecTV(在美国)

Echostar/Dish Network/Voom TV(在美国)

1080欧元(欧洲)

首映(德国)

英国天空广播公司(在英国和爱尔兰)

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

美国国防部下属的运动图像标准委员会的MISB已经接受H.264/AVC作为其推荐的视频编解码器。

互联网工程任务组的IETF已经完成了有效载荷打包格式(RFC 3984 ),作为通过实时传输协议RTP传输H.264/AVC码流的打包方法。

互联网流媒体联盟ISMA已经接受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用于视频点播,用于在互联网上直接向个人电脑提供电影和电视节目的点播服务。

产品和实施

几家公司正在制造可以解码H.264/AVC视频的可编程芯片。2005年6月5438+10月,Broadcom(BCM 7411)、Conexant(CX 2418x)、Neomatic (MiMagic 6)和STMicroelectronics(STB 7100)提供样品进行测试。西格玛设计公司预计在2005年3月提供样品。这些芯片的出现将极大地推动可以播放标清和高清的低成本H.264/AVC视频的快速推广。这五个芯片中的四个(除了Neomagic的芯片,它是针对低能耗应用的)都具有播放高清视频的能力,并且大多数都将支持标准中的高配置。

苹果公司已经将H.264集成到Mac OS X版本v10.4(昵称为Tiger),并于2005年5月发布了支持H.264的Quicktime版本。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”奖。该公司使用大规模集成电路逻辑技术。

Tandberg电视台推出了EN5990实时编码器。DirecTV和BSkyB已将EN5990编码器用于其直接卫星广播服务(DBS)。

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

索尼PSP(PlayStation Portable)为H.264主概要Level 3解码提供硬件支持。

Nero AG开发的软件包和Nero Digital公司发布的Ateme***提供了对H.264编码的支持,在Doom9中获得了“Pick Hit”[1]]奖。

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

x264的编解码软件是免费软件版本,通过GPL授权的方式下载。

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

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