随着高清技术的逐渐普及,越来越多的节目都采用高清设备来制作。目前,像Avid、Sony、Panasonic、Thomson等主流厂家都有各自系列的高清设备,它们所采用的编码方式和文件的封装格式则各有不同。目前几种主流的高清编码方式有:由ITU-T和ISO/IEC联合开发的H.264/AVC/ MPEG-4标准、由苹果公司开发的ProRes 422、由JPEG组织负责制定的JPEG 2000,以及由Avid公司开发的DNxHD等;主流的文件封装格式有TS、AVI、MKV、MOV等。下面就这几种主流的高清编码方式和文件封装格式做一个介绍。
一.编码方式
1. H.264 / AVC / MPEG-4
H.264与MPEG-2格式和其他之前的格式相比,压缩效率更高。H.264标准由国际电信联盟电信标准化部门(ITU-T)和国际标准化组织/国际电工委员会(ISO/IEC)共同研究发布,因此H.264有两个名称,一个是沿用ITU-T组织的H.26×名称,叫“H.264”;另一个则是AVC(Advanced Video Coding高级视频编码),这个标准也被归为MPEG-4的第10部分。
H.264格式定位于覆盖整个视频应用领域,它将主要应用在具有高压缩率和分层次质量需求的方向。包括:低码率的无线应用、标准清晰度和高清晰度的电视广播应用、Internet上的视频流应用,传输高清晰度的DVD视频以及应用于数码相机的高质量视频应用等等。H.264能以较低的数据速率传送基于联网协议(IP)的视频流,在视频质量、压缩效率和数据包恢复丢失等方面,超越了现有的MPEG-2、MPEG-4和H.26×视频通讯标准,更适合窄带传输。在极低码率(32-128Kbps)的情况下,H.264与MPEG-4相比具有性能倍增效应,即:相同码率的H.264媒体流和MPEG-4媒体流相比,H.264拥有大约3个分贝的增益(画质水平倍增)。32Kbps的H.264媒体流,其信噪比与128K的MPEG-4媒体流相近。即在同样的画面质量下,H.264的码率仅仅为MPEG-4的四分之一。但是,H.264在获得优越性能的同时,带来的是计算复杂度增加,例如分层设计、多帧参论、多模式运动估计、改进的帧内预测等,因此对硬件要求是最高的。
H.264/AVC / MPEG-4采用的核心技术有以下几个部分:帧间和帧内预测 、变换(和反变换)、量化(和反量化)、环路滤波、 熵编码。
帧间预测 :H.264的帧间预测是改良的运动估计。运动估计用来确定和消除存在于视频流中不同图片之间的时间冗余。当运动估计搜索是根据过去方向的图片,那么被编码的图片称为“P帧图片”,当搜索是根据过去和将来两种方向的图片,那么被编码的图片被称为“B帧图片”。为了提高编码效率,为了包含和分离在“H.264运动估计-改良的运动估计”图中的运动宏块,宏块被拆分成更小的块。然后,以前或将来的图片的运动矢量被用来预测一个给定的块。H.264/MPEG-4 AVC发明了一种更小的块,它具有更好的灵活性,在运动矢量方面可以有更高的预测精度。
帧内预测:对于不能运用运动估计的地方,H.264就采用帧内估计用来消除空间冗余。帧内编码用来缩减图像的空间冗余,在给定帧中充分利用相邻宏块的空间相关性,相邻的宏块通常含有相似的属性。因此,在对一给定宏块编码时,首先可以根据周围的宏块预测(典型的是根据左上角的宏块,因为此宏块已经被编码处理),然后对预测值与实际值的差值进行编码,这样,相对于直接对该帧编码而言,可以大大减小码率。
对于每个4×4块(除了边缘块特别处置以外),每个像素都可用17个最接近的先前已编码的像素的不同加权和(有的权值可为0)来预测,即此像素所在块的左上角的17个像素。显然,这种帧内预测不是在时间上,而是在空间域上进行的预测编码算法,可以除去相邻块之间的空间冗余度,取得更为有效的压缩。
变换:运动估计和内部估计后的结果通过变换被从空间域转换到频率域。H.264 / AVC / MPEG-4使用整数DCT4X4变换。而MPEG-2和MPEG-4使用浮点DCT8X8变换。更小块的H.264 / AVC / MPEG-4减少了块效应和明显的人工痕迹。整数系数消除了在MPEG-2和MPEG-4中进行浮点系数运算时导致的精度损失。
量化:变换后的系数被量化,减少了整数系数的预测量和消除了不容易被感知高频系数。这个步骤也用来控制输出的比特率维持在一个基本恒定的常量。
环路滤波:H.264标准定义了一个对16×16宏块和4×4块边界的解块过滤过程。在这种情况下,对宏块过滤的目的是为了消除由于相邻宏块有不同的运动估计类型(比如运动估计和内部估计)或者不同的量化参数导致的人工痕迹;块边界过滤的目的是消除可能由于变换/量化和来自于相邻块运动矢量的差别引起的人工痕迹。环路滤波就是通过一个内容自适应的非线性算法修改在宏块/块边界的同一边的两个像素。
熵编码:4×4的量化系数必须在熵编码之前被重排序。根据这些系数原来采用的预测算法为运动估计或者内部估计,来选择不同的扫描类型创建一个重排序的串行化流,按照从低频到高频的顺序排序这些系数。既然高频系数大多数趋向于零,那么利用游程编码就可以缩减零的数目,从而高效的达到熵编码的目的。在熵编码这一步骤中,是通过映射符号的字节流来表示运动矢量、量化系数和宏块头的,对于频繁使用的符号用较少的比特位数来表示,不经常使用的符号用比较多的比特位数来表示。
2. JPEG2000
JPEG 2000正式名称为“ISO 15444”,是由JPEG组织负责制定,JPEG全名为 Joint Photographic Experts Group,它制定出了第一套国标静态图像压缩标准:ISO 10918-1就是我们俗称的JPEG了。
JPEG 2000与传统JPEG最大的不同,在于它放弃了JPEG 所采用的以离散余弦变换(Discrete Cosine Transform) 为主的区块编码方式,而改采以小波变换(Wavelet transform)为主的多解析编码方式,而小波变换的主要目的则是要将图像的频率成份抽取出来。
一个经典的JPEG2000编码运算法则包含三个部分:小波变换、画布坐标系统、EBCOT编码。
原始图像数据(例如.bmp位图)首先进行画布坐标标定,然后在画布坐标的基础上进行划分:第一步先划分为不同的分量(component),第二步将画布区域划分为大小相同的矩形“片”(tile),这两个步骤可以互换。在画布坐标系统预处理之后,就是进入JPEG2000的核心阶段之一:离散小波分析(DWT)。小波分析被直接运用于各个片,这样每个片区域都被DWT分析,形成不同的分辨率级别,每个分辨率级别中含有四个子带,这样就为JPEG2000的分辨率递进的功能提供了可能。
然后,就进入了JPEG2000的第二个核心阶段: 嵌入式优化截断编码(EBCOT)。首先将各个子带进行EBCOT的预处理过程:量化。量化对图像有损压缩负责,而此过程可有可无,用户可以自由选择,因而JPEG2000对有损和无损压缩兼容。预处理过后,进入EBCOT的核心编码阶段,该阶段分为两次,一次编码主要是码块划分和熵编码,二次编码主要是分层打包的过程。最后,码流将会以封包流(pack-stream)的形式传输,包的主头描述了原始图像和不同的分解及编码类型以便查找、提取、解码和重构指定分辨率级、保真度、感兴趣区域和其他特点的图像部分。
JPEG2000具有如下优点:
作为JPEG升级版,JPEG2000目标是高压缩(低码率),能达到比JPEG 高约30%左右的压缩率。
JPEG2000可同时支持有损和无损压缩,实现了无损和有损压缩之间良好兼容。而JPEG只能支持有损压缩,压缩后数据不能还原。因此JPEG2000适合保存重要图片。
JPEG2000能实现象素精度和分辨率的渐进式传输,这是它的一个极其重要的特征。这也就是我们对GIF格式图像常说的“渐现”特性。它首先传输图像的轮廓,然后逐步传输数据,不断提高图像质量,让图象由朦胧到清晰显示,从而节约、充分利用有限的带宽。而像现在的JPEG只能由上到下慢慢显示。
JPEG2000还支持所谓的“感兴趣区域”特性,你可以任意指定图像上你感兴趣区域的压缩质量,还可以选择指定的部份先解压缩。
JPEG2000在颜色处理上,具有更优秀的内涵。与JPEG相比,JPEG2000同样可以用来处理多达256个通道的信息。而JPEG仅局限于RGB数据。
JPEG2000能使基于WEB方式多用途图象简单化。由于JPEG2000图象文件在它从服务器下载到用户的WEB页面时,能平滑地提供一定数量的分辨率基准,WEB设计师们处理图象的任务就简单了。
3. Prores422
ProRes 422是苹果公司引入的一种编码格式,专门用于影视后期制作。它可以在标准分辨率视频文件的容量下,存储无压缩的高清视频,能够以SD文件大小提供未压缩的HD品质,为 后期编辑人员带来了强劲的处理能力。
它具有如下的主要特性:
出色的高清品质:即是经过多次译码、解码生成,仍能保持出众品质。全宽1920×1080和1280×720分辨率,可为任意格式的HD提供尽可能亮的画面细节。4:2:2色度采样,以鲜明的饱和色彩边界提供精确地合成和融合。它使用10bit取样深度,保持10位原图像(日落、图片等),的精细渐变色。同时,它还采用全I帧编码,确保各帧一致质量,不会出现因复杂移动而产生的痕迹。
超低的数据速率:它使用可变位率(VBR)编码,智能编码功能对图像进行分析,自动分配给复杂真更多位。可以实现双高清码流,普通码流(145Mbps)和高码流(220Mbps),除异常复杂的素材外,实际码流一般低于标准码流5%到10%。可增加设备的有效利用率。
高速设计:ProRes 422可轻松实现Final Cut Pro中的动态实时功能。另外,它非比寻常的编码速度,可从任意HD-SDI源设备实时捕捉ProRes 422视频。
多格式转码:目前,一些新一代的摄录机为了便于将视频信号录制到闪存、硬盘驱动器或其它存储介质,而采用了复杂的新式编解码器,比如RED ONE Digital Cinema,采用了小波压缩将4:4:4 4K/24p RAW图像码流降至大约200 Mbps。P2 AVC-Intra格式采用了H.264帧间压缩,将全尺寸10-bit 4:2:2 1080i60 或 720p60 HD序列降至100 Mbps。
Apple ProRes 422提供了一种处理这些新格式的好方法:它完全保留了这些新格式中原始质量的各个方面,将这些细节存入一种为实现 Final Cut Pro多层实时性能而设计的格式,为那些本不支持 Final Cut Pro的视频格式提供了一个很好的解决方案。
4. DNxHD
Avid DNxHD™ 高清编码技术,是一种革命性的、10bit数字编码技术,DNxHD的设计目标就是基于利用较少的存储空间与带宽来满足多次合成需要的理念,它允许在标清处理的存贮与带宽条件下,进行协作式的高清后期处理。
Avid DNxHD编码技术致力于在后期处理及新闻广播处理的协作环境中,实现非线性的编辑及多代合成。处理未经压缩的高清媒体对带宽的要求接近1.2Gbps(gigabits/S),在处理方式上与传统的未经压缩的高清媒体处理方式不同,它在一个4:2:2的色彩空间上工作,有三个用户可选的带宽模式:分别是220Mbps/10或8bit ;还有一个是高效的8bit处理模式,仅需要145Mbps的带宽。Avid DNxHD在每秒60帧的速率下,支持720p的分辨率,在每秒30,25,24帧的速率下,支持1080p/i的高清分辨率。相比之下,未压缩的10bit 标清处理也得需要约200Mbps的带宽。
另外,Avid DNxHD支持所有流行的高清格式,能够实现无损的栅格转换,彻底消除了高清压缩技术中压缩前格式转换所带来的分辨率损失现象。Avid DNxHD技术支持Material Exchange Format (MXF)格式,这是一种开放的媒体文件转换格式,能够实现Avid系统与第三方MXF兼容产品间的直接媒体数据交换。
5. 几种编码方式的性能比较
格式 |
码率 |
编码 |
支持厂家 |
AVC Intra |
25-100Mbps |
H.264/AVC |
松下 |
DNxHD |
220,145 |
10bit数字编码技术 |
AVID |
JPEG2000 |
70Mbps |
小波变换(Wavelet transform),嵌入式优化截断编码(EBCOT) |
Thomson |
Prores422 |
145和220Mbps |
VBR(可变码率编码),全I帧编码 |
Apple |
二.常用的几种文件封装格式
所谓文件封装格式也称多媒体容器 (Multimedia Container),与DivX、 MP3这类编码格式不同的是,它只是为多媒体编码提供了一个“外壳”,也就是将所有的处理好的视频、音频都包装到一个文件容器内呈现给观众,这个包装的过程就叫封装。
DVD是将标准清晰度的MPEG2视频文件封装到VOB文件内,Blu-ray是将H264等编码的高清晰度视频文件封装到M2T文件内,HDTV是将高清晰度视频文件封装到TS文件内。不同的厂家都有自己的封装文件格式,常见的封装格式有: TS、AVI、MKV、TP、MOV、 M2T等等,它们与编码类型没有必然联系。不同的封装方式就好比是不同的盒子,高清视频要用它装起来才能呈现给观众。
1. AVI——Audio Video Interleave
即音频视频交叉存取格式。1992年初Microsoft公司推出了AVI技术及其应用软件VFW(Video for Windows)。在AVI文件中,运动图像和伴音数据是以交织的方式存储,并独立于硬件设备。这种按交替方式组织音频和视像数据的方式可使得读取视频数据流时能更有效地从存储媒介得到连续的信息。所有的AVI文件都包括两个必须的List块。这些块定义了流和数据流的格式。AVI文件可能还包括一个索引块。 只要遵循这个标准,任何视频编码方案都可以使用在AVI文件中。avi封装目前仅仅能支持如下编码方式生成的文件:Video codecs、MPEG-4 AVC、SMPTE VC-1(对其支持不够好)、Audio codecs、DTS、AC3。
AVI的文件结构、分为头部, 主体和索引三部分. 主体中图像数据和声音数据是交互存放的。从尾部的索引可以索引跳到自己想放的位置。A V I中图像和声音是分开的,所以播放时需要一个图像和声音的同步过程,AVI本身只是提供了这么一个框架,内部的图像数据和声音顺据格式可以是任意的编码形式。但是由于索引放在了文件尾部,所以在播放internet流媒体时已属力不从心。
2. TS流
TS流封装是随着MPEG2的流行而占据了主流的地位。全称则是Transport Stream。而电视节目是你任何时候打开电视机都能解码(收看)的,所以,MPEG2-TS格式的特点就是要求从视频流的任一片段开始都是可以独立解码的。从结构上来说,TS流是由头文件和主体所组成的,扩充过的TS流还包括时间戳。这样不管是什么格式的VBR音轨,都很容易通过时间戳来同步图像。这样就不会产生AVI格式的音像同步问题,
当然,对新的声音格式来说,需要新的分离器,解码器来实现解码。目前在不断改进开发中。
TS流不像AVI,从诞生那天起,就考虑到了网络播放,所以很快成为了世界标准并广泛应用于电视台数字播放,手机等各个领域。
用TS流封装可以无损的支持所有全部HDDVD和BD所带的视频和音频编码,包括:
Video codecs、MPEG-2、MPEG-4 AVC、SMPTE VC-1、Audio codecs、Linear PCM、Dolby Digital、Dolby Digital Plus、Dolby TrueHD、DTS Digital Surround、DTS-HD
3. MKV
MKV是Matroska的一种媒体文件,是一种新的多媒体封装格式。Matroska最大的特点就是能容纳多种不同类型编码的视频.音频及字幕流,即使是非常封闭的RealMedia及QuickTime也被它包括进去了,并将它们的音视频进行了重新组织来达到更好的效果。Matroska它可将多种不同编码的视频及16条以上不同格式的音频和不同语言的字幕流封装到一个Matroska Media文件当中! 因此,MKV也称多媒体容器(Multimedia Container),:具有良好的开放性和跨平台性,是H.264编码最重要的封装格式。 Matroska定义了三种类型的文件:MKV是视频文件,它里面可能还包含有音频和字幕;MKA是单一的音频文件,但可能有多条及多种类型的音轨;MKS是字幕文件。这三种文件以MKV最为常见。
MKV采用了可变帧率,在回放变化比较慢(比如说静物)时以比较低的FPS来代替,可以节省不少资源;MKV与AVI和TS相比还增加了错误检测以及修复,这无疑提供了纠错和容错性,更适合于网络传输;在字幕方面,还增加了软字幕功能。与DVDrip以及HDrip等,字幕是以其它文件形式存在不同的是,在MKV里字幕可以内嵌在封装里,但不会和视频混淆,也可以多字幕随意选择;这样在传输保存时更为方便。在传输上采用的是流式传输,这点和TS流的原因基本一致,可以通过时间戳来管理视频以及音频的同步问题,做到即下即看;
4. MOV
MOV封装即QuickTime影片格式,它是Apple公司开发的一种音频、视频文件格式,用于存储常用数字媒体类型,如音频和视频。当选择 QuickTime (*.mov)作为“保存类型”时,动画将保存为 .mov 文件。现在MOV格式常常被用来制作高清电影预告片,可以达到1080P的所谓全高清标准。
MOV又是一个发展很快的多媒体封装形式,它具有很多优越性。它可称为万能封装器,连多条字幕文件都可以封装进去。同时,MOV还具有良好的兼容性、跨平台性、纠错性,所要求的存储空间小等技术特点。到目前为止,它共有 4 个版本,其中以 4.0 版本的压缩率最好。这种编码支持16位图像深度的帧内压缩和帧间压缩,帧率每秒10帧以上。
但由于MOV没有什么商业背景,几乎只活跃在PC平台上,尽管其功能丰富,但在商业应用中则毫无建树。
5. AVI和TS封装格式的细节对比
|
兼容的视频编码 |
兼容的音频编码 |
扩充性 |
Internet适应性 |
AVI封装 |
MPEG-2 |
Linear PCM |
强 |
无 |
|
MPEG-4 H.264 |
Dolby Digital |
|
|
|
VC-1 |
Dolby Digital Plus |
|
|
|
|
Dolby True HD |
|
|
|
|
DTS Digital Surround |
|
|
|
|
|
|
|
TS 封装 |
MPEG-4 |
DTS HD DTS |
弱 |
强 |
|
VC-1(支持效果不太好) |
AC3 |
|
|
http://blog.sina.com.cn/s/blog_a276e0770101e2cz.html