高清视频压缩

更新时间:2021-11-26 09:18

随着2008年2月,东芝宣布放弃HD-DVD格式,索尼的BD格式在这场持续数年的DVD规格之争中胜出。同一时间,高清电视开始越来越普及,美国在2009年6月分停止模拟电视信号的播放,彻底废除走过了50多年的模拟电视。也就在这些天,24寸宽屏显示器最低已经降到1千3。高清视频从DVD、电视、PC 3个方面彻底走进我们的生活。 提起高清视频就不得不提起高清视频压缩格式。比较流行的高清视频编码格式总共有4种,即MPEG-2、 MPEG-4 、H.264 以及VC-1。

格式介绍

MPEG-2

这一个比较古老的编码形式,由动态图像专业组织(Moving Pictureures Experts Group即mpeg)于1994年推出的压缩标准。

由于压缩比例较低,已经较为少见。一般一部120分钟长1080p的电影在此种格式下的大小约为30G上下。

MPEG-4

MPEG-4多用于HDTVrip上,直接在HDTV上采用MPEG-4视频压缩的很少见。HDTVrip的MPEG-4编码可以理解为:通过把原有的HDTV文件按照比例缩小到一定的尺寸,以达到在减少文件大小、方便传输的同时画面效果不低于DVD效果的目的。可以说这种编码格式是为了达到一种画面效果和文件尺寸的平衡。

由于各个商业集团的纷争,MPEG-4的标准比较混乱,主要基于MPEG-4的常见标准有DivX和XviD。

DivX是一项由DivXNetworks公司发明的,类似于MP3的数字多媒体压缩技术。由于Divx后来转为了商业软件,其发展受到了很大限制,表现相对欠佳,逐渐在竞争中处于了劣势。

XviD则是一个开放源码的MPEG-4 多媒体解码器,它是基于OpenDivX而编写的。XviD是由一群原OpenDivX义务开发者在OpenDivX于2001年7月停止开发后自行开发的,应用较广泛。一部720p的90分钟长的电影大概在4.3G左右,同时画面有普通1080p的80%~90%。

MPEG-4具有很多优点。它的压缩率可以超过100倍,而仍保有极佳的音质和画质;它可利用最少的数据,获取最佳的图像质量,满足低码率应用的需求;它更适合于交互式AV服务及远程监控。具体如下:

1.形状编码

形状信息的获得首先要对图形进行分析和分割,把各个代表不同内容的目标分割后再用形状表示。形状信息通常用二值

Alpha平面来表示。二值Alpha平面可用临近信息进行算术编码(CAE);灰度Alpha平面可用运动补偿加DCT变换方式类似纹理编码一样进行编码。

其中用于图像压缩的变换有离散Forier变换(DFT)、离散小波变换(DWT)、奇异值分解(SVD)、K-L变换、Walsh变换、Hadamard变换、Harr变换、Slant变换、离散余弦变换(DCT)。其中K-L变换的去相关性最好,而DCT是接近K-L变换效果的最便于实现的变换。和MPEG-1/2一样,MPEG-4也选择了DCT。通常,用于数据压缩熵编码方法有霍夫曼(Huffman)编码、矢量量化、算术编码游程编码、LZW编码等。对于纹理编码,MPEG-4选择了把游程编码、矢量量化和Huffman编码进行混合编程编码(VLC)。纹理编码要经过DCT变换、量化、DC/AC预测、扫描、基于Hufman的VLC编码。

2.运动估计和补偿

MPEG-4中提供了基于块的运动估计和补偿技术来有效地利用各个VOP中视频内容上的时间冗余。一般,运动估计和补偿可以看作针对任意形状图像序列的块匹配技术的延伸。块匹配过程对于标准宏块使用;预测误差和用于预测的宏块运动向量一起被编码;高级运动补偿模式支持重叠块运动补偿,可对8×8块运动向量进行编码。为了使运动估计得到高编码效率,预测图像和被预测图像越相似越好,所以在运动估计之前要先进行补偿。在目标边界上的MB先用水平填补而后用垂直填补,其余完全在VOP之外的MB用扩张填补。

3.纹理编码

纹理指的是I-VOP图像和P/B-VOP经运动补偿后残留的图像信息。纹理一般在变换域进行压缩编码和熵编码。准正式编辑已经出版:静态图像压缩编码标准(JPEG);数字声像储存压缩编码标准(MPEG-1);通用视频图像压缩编码标准(MPEG-2)。

随后,MPEG专家组于1999年2月正式公布了MPEG-4(ISO/IEC14496)V1.0版本。同年底MPEG-4V2.0版本亦告完成,且于2000年年初正式成为国际标准。MPEG-4标准将众多的多媒体应用集成于一个完整的框架内,旨在为多媒体通信及应用环境提供标准的算法及工具,从而建立起一种能被多媒体传输、存储、检索等应用普遍采用的统一数据格式,并根据不同的应用需求,现场配置解码器,开放的编码系统也可随时加入新的有效的算法模块。为支持对视频内容的访问,MPEG-4提出了“视频对象”的概念。

4.伸屈性

MPEG专家组又推出了专门支持多媒体信息且基于内容检索的编码方案MPEG-7及多媒体框架标准MPEG-21。另外,由ITU-T和MPEG联合开发的新标准H.264是最新的视频编码算法。为了降低码率,获得尽可能更好图像质量,H.264标准吸取了MPEG-4的长处,具有更高的压缩比、更好的信道适应性,必将在数字视频的通信和存储领域得到广泛的应用,其发展潜力不可限量。

视频的伸屈性,包括空间伸屈性和时间伸屈性。空间伸屈性可以得到不同的空间分辨率,时间伸屈性可得到不同的时间分辨率。每种伸屈都有多层,在只有高低2层的情况下,底层指的是基本层,而高层指的是增强层。

5.差错回避

VLC码中的一个比特错误会引起同步丢失,而运动补偿则会引起错误传递。MPEG-4的差错回避有三个方面:重同步、数据恢复和错误隐藏。重同步,是指差错被检测后,解码器和码流之间重新同步的技术。一般来说,这种方法会将错误之前的同步点到重建的同步点之间的数据丢弃。不过这些丢弃的数据可以用其他的技术进行恢复和实施错误隐藏。数据恢复工具在解码器和码流重新建立起同步后用来恢复丢弃的数据。这些工具不是简单的用容错码恢复,而是用一种差错回避手段,即用可逆VLC码字进行VLC编码。错误隐藏,在重同步有效地将错误定位后可以很容易处理。为了进一步提高错误隐匿的能力,有必要增加错误定位能力,特别是数据分割可以用来提高错误定位能力。

总之,为了满足各种应用的需求,MPEG-4标准的使用范围相当庞大,具有广泛的适应性和可扩展性。

264

H.264也叫H.264/MPEG-4 AVC,是由国际电信联盟(ITU-T)所制定的新一代的视频压缩格式。H.264最具价值的部分无疑是更高的数据压缩比。在同等的图像质量条件下,H.264的数据压缩比能比当前DVD系统中使用的 MPEG-2高2-3倍,比MPEG-4高1.5-2倍。正因为如此,经过H.264压缩的视频数据,在网络传输过程中所需要的带宽更少,也更加经济。在 MPEG-2需要6Mbps的传输速率匹配时,H.264只需要1Mbps-2Mbps的传输速率。类似于Divx的遭遇,H.264同样也有基于他的开源版本X264。两者都非常流行。一部120分钟的1080p的电影大概23G大小,同时画面优于mpeg2格式,但是对硬件要求较高。

VC-1

全名VC-1视讯编解码器(Video Codec 1),是微软所开发的视讯编解码系统。VC-1是最后被认可的高清编码格式,不过因为有微软后台,所以这种编码格式不能小窥。相对于MPEG2,VC-1的压缩比更高,但相对于H.264而言,编码解码的计算则要稍小一些。VC-1可能是一个比较好的平衡,一般一部1080p长120分钟的电影大概在26G左右。

实现高清

Adobe2008年初公布代号为Moviestar的β版Flash Player.Moviestar,将增加对H.264的支持,这将使基于Flash的流式内容支持高清视频。

Adobe负责动态媒体的首席策略师兰达尔表示,Moviestar还能够利用大多数PC显卡中的硬件加速功能,并针对内核芯片进行了优化。Moviestar支持HE-AAC 2━━一种更高效的音频压缩标准。MPEG 4使用了HE-AAC 2。兰达尔说,对H.264的支持将导致出现更多的高清视频内容。他表示,Adobe选择支持H.264的原因就在于它更多地得到了节目创作厂商和发布厂商的支持。

这些新功能将出现在2007年秋季发布的升级版Flash Player 9中。得到了YouTube和其它网络视频共享网站的支持。

与此同时,微软正在利用Silverlight挑战Flash在网络视频内容方面的主导地位,并得到了包括MLB在内的大型视频出版商的支持。

Silverlight支持Windows Media Audio和Video,以及另一项基于Windows Media、名为VC-1的视频压缩标准。微软还没有宣布要支持H.264,但微软的一名代表说,只要客户有需求,微软就会支持它。

压缩作用

电脑上的高清视频对多媒体指令的依赖是较大的, 解码需要借助于CPU的指令或者显卡的硬解码性能. 至于视频压缩等过程, 需要经过先解码再编码的过程, 此时显卡的硬件加速只用于解码, 就更是要依靠CPU运算了。 因此对于高清视频处理的硬件选择需要认真权衡CPU和显卡的适当搭配。

网友roo-zhou写了一个用于反交错和IVTC的视频滤镜,其中一个用于计算场间SSD(Sum of Squared Difference)的函数写了MMX2,SSE2,SSSE3三个优化版本. 可在一定程度上测试出多媒体指令的执行速度. 测试结果数值是处理一对1920x1080帧所需的CPU周期, 数值越小越好。

下面是部分网友用自己的电脑做测试的结果:

Test Results

althon xp 1.83g

SSSE3 ---- N/A

SSE2 ----- N/A

MMX2 ----- 7450k cycles

plain c -- 33018k cycles

Athlon 64 X2 5000+

SSSE3 ---- N/A

SSE2 ----- 7392k cycles

MMX2 ----- 7200k cycles

plain c -- 25375k cycles

Turion 64 X2 1.8G

SSSE3 ---- N/A

SSE2 ----- 7110k cycles

MMX2 ----- 6854k cycles

plain c -- 24640k cycles

E2160 1.8G

SSSE3 ---- N/A

SSE2 ----- 7110k cycles

MMX2 ----- 6861k cycles

plain c -- 24640k cycles

Athlon 64 X2 4200+

SSSE3 ---- N/A

SSE2 ----- 6342k cycles

3DNOW2 --- 6602k cycles

MMX2 ----- 6558k cycles

plain c -- 24906k cycles

酷睿2E6300

SSSE3 ---- 4843k cycles

SSE2 ----- 5128k cycles

MMX2 ----- 7885k cycles

plain c -- 22709k cycles

酷睿2T7250(2.0GHz)

SSSE3 ---- 4480k cycles

SSE2 ----- 5006k cycles

MMX2 ----- 5871k cycles

plain c -- 23048k cycles

酷睿i7920

SSSE3 ---- 2901k cycles

SSE2 ----- 2900k cycles

3DNOW2 --- N/A

MMX2 ----- 4777k cycles

plain c -- 20895k cycles

虽然没有测试SSE4的数据, 但仍然可以看出,在多媒体指令上, Intel占据的优势。英特尔清晰视频技术这种优势对高清视频压缩处理有较大的性能改善。

那么这种简单数据测试的结果, 到底反映到实际的视频处理的时候性能有多大不同呢. 这里有另一个视频压缩转换的测试。

源视频:1080p(1920x1080) M2TS

压缩测试编码: x.264

x.264细节设置:

AVC profile: high

level: unrestricted (最高级)

M.E.算法multi hex

M.E. range: 16

subpixel refinement: 8

CABAC: on

连续B帧数: 3

adaptive B-frames: 2

测试使用了2台机器, 测试机1是一台笔记本, CPU是L7500,集成显卡, 测试机2是一台台式机, CPU是酷睿i7920, 显卡是GTX260。

从数据来看:

L7500配合集成显卡的机器, 在2nd-pass压制时的帧率只有2.26FPS, 26分52秒的片子需要近6个小时才能完成。

考虑到显卡主要在解码阶段起提速作用, 压缩编码过程中CPU的性能提高是很明显的。

测试设置和结果可以看图:

产品发展

蓝光协会宣布微软公司赢得了DVD技术联盟对它的高清晰碟片视频压缩标准的支持。这标志着该软件制造巨头在一个新兴的消费电子领域取得了更大的进步。下一代DVD能够存储高清晰电影并且存储容量是原有碟片容量的许多倍,蓝光和HD DVD这两个阵营相互竞争都想成为其技术标准。微软并没有被保证它的技术会被电影公司和其它生产先进DVD的厂商所采用,因为内容制造商可以选择任何获得批准的标准,但获得联盟的批准使它在这个方向上前进了一大步。蓝光和HD DVD两个阵营支持的碟片压缩标准有三个:由微软领导的VC-1、MPEG-4 AVS和MPEG-2.MPEG-2用于数字广播和当前的DVD,而MPEG-4则是比MPEG-2更高一级的标准。VC-1是微软为了增加与自己的产品的兼容性而设计的另一种碟片压缩标准。蓝光阵营包括消费电子巨头索尼、三星电子和松下电子产业株式会社,而东芝、NEC和三洋电子则支持HD DVD标准。

技术前景

尽管可以用计算机标配的内置IDE或SATA磁盘处理JPEG,HDV和DVCPROHD,但是无压缩视频的码流更高,采集磁盘也要经过特殊选择。无压缩视频的质量很高,但是码流比普通计算机上可见的码流要高,因此一块单盘无法为无压缩视频的可靠采集和回放提供足够的速度。 解决方法就是采用多块硬盘。多硬盘协同工作可以获得快得多的速度。通过“条带化”可以把多块磁盘制成一个磁盘阵列。 经过条带化的磁盘一同存储数据,因此每块磁盘的总码流就低得多。 因此每块磁盘承受的压力就会少一些,您也可以存储更多的数据。可以用各种磁盘,而它们在速度上是存在差别的。 您可以将一些硬盘放入一个简单的磁盘盒中,如果空间足够的话,您甚至可以把磁盘装入计算机内部。 将磁盘连接在一起的磁盘阵列样式通常叫做JBOD或者“Just a Bunch Of Disks(只是一些磁盘)”阵列。 可以用Mac OS X中的Disk Utility(磁盘工具)或Windows XP Pro中的Computer Management(计算机管理)控制面板等软件制作条带化RAID。这些磁盘将以一块磁盘的形式在系统中出现。 然后就可以在视频采集软件中把这块磁盘设置为素材存储盘。

相关软件

meGUI 高清视频压缩工具

MeGUI是压制x264编码格式视频的一个免费软件,其功能十分强大不亚于,甚至超过了很多商业软件,插件甚为丰富,加上输入为AVS脚本文件,更是给视频压制者留下了很多发挥的余地,软件输出的视频编码是x264、Xvid等当今流行的编码格式,音频编码的选择更多,输出的文件类型为MKV、MP4、RAW扩展名的视频。是流行的后期压制软件。

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}