经常听到朋友这样说,"DV格式的摄录一体机和录像机使用DV作为记录格式,那DVCPRO 50/Digital-S等50Mbps的格式使用了什么记录格式呢,究竟有什么分别呢?"带着这样的问题,我写作了本文,希望能对有同样疑问的朋友有所帮助。 众所周知,DVCAM以及DVCPRO都是基于DV的。一个记录格式是由几部分组成的,例如磁带的规格、磁记录的规格、视频信号的处理以及音频信号的处理等。不容否认的是,磁带的设计、磁记录的方式以及数据冗余度的处理都必然会对数据的记录和读取造成一定的影像,但这些并不是影像图像质量的主要因素,真正对视频信号的质量起决定性作用的是压缩。所以,我们不妨把主要精力集中到这里。 首先,我们应该了解到DV是一种分量信号记录格式,所谓分量实际是指Y/R-Y/B-Y三个分量,即亮度与两个色差。而国际电信联盟的数字电视演播室标准ITU-R BT.601建议,对于长宽比为4:3的电视信号,以13.5MHz的频率对分量信号进行PCM编码(限于篇幅关系,601建议中的细节部分从略)。DV正是采用了这种方法,对于525/60和625/50两种系统来说,其中亮度信号都是以13.5MHz进行取样,也就是说每个有效行中都取720个亮度信号样本。但对色差信号的处理方式对两种系统就有些不同了。在525/60系统中,对每个色差信号(Cr/Cb)都以3.375MHz的频率取样,即每行传送360个色差样值,每个分量各半,这就是通常所说的4:1:1取样结构;在625/50系统中,则采用了另一种方式,即对色差信号以6.75MHz的频率取样,但每一行只传送两种色差信号之中的一种(360个样值),两种色差信号每行交替传送,这就是4:2:0取样结构。但在两种系统中,Cr和Cb取样的起点和Y是相同的。 取样后的视频信号以5:1的比例被压缩,从而形成25Mb/s的码流。这种帧内压缩采用了离散余弦变换(Discrete Cosine Transform)和可变长编码(Variable Length Coding)。为了在25Mb/s的码流基础上实现优越的图像质量,DV压缩在编码前还采用了一种打乱顺序的技术,对于任何形式的图像,这种技术都可以最大的效率进行压缩,并保持恒定的图像质量。下图为简化的视频处理框图。 从图中可以看到,视频处理的第一个步骤是Blocking。在DV格式中,取样以后的视频数据是以所谓的宏块(macro block)为基础的。Blocking就是准备这些宏块单元的过程。首先,水平和垂直方向上的空白区域的数据被删除,然后,图像区域被分成8乘8点的块,为稍后进行的DCT做准备。对于625/50系统,一个宏块由四个上下左右相邻的亮度块和两个色度块构成;而对于525/60系统,宏块则是由水平方向相邻的两个亮度块和两个色度块所组成的。换句话说,无论对于哪种系统,宏块的大小都必须满足构成最小的8乘8的色度块,如下图所示。 27个相邻的宏块组成一个所谓的超块(Super Block)。引进超块,是为了平均图像细节以达到更好的压缩效果。在625/50系统中,一帧图像由12条磁迹组成,从一帧图像的顶部开始,每1/12帧的数据用一条磁迹记录在磁带上。超块的大小与这种屏幕到磁迹的数据分配有关系。 以625/50系统为例,每帧在垂直方向上有576个有效行,按照以上原则,一个超块的高度为576÷12=48,因为一个宏块的高度为16,所以每个超块的高度是宏块的3倍。又因为最终要在逻辑上达到5:1的压缩比,所以超块的宽度为整个图像的1/5。还以625/50系统为例,如上所述,一个宏块的宽度为16点,所以整个图像在水平方向上由45个宏块组成,因此一个超块的宽度为宏块的9倍。 在DV格式中,压缩是基于来自五个不同超块的五个宏块进行的,这五个宏块组成了所谓的视频段。首先,选择5个超块,然后来自每个超块内部同一位置的宏块被结合在一起,便形成了视频段,这个过程就是交错(Shuffling)。 交错技术的使用可以大大增强压缩的效率。这是因为在大多数图像中,细节的量并不连续,一些地方信息较多,而另一些地方信息则较少。另一个很重要的问题是,图像的中心不应有过度的压缩,因为重要的内容常出现在这里。如果交错过程不在压缩之前进行的话,要压缩的信息量就会因图像区域(或宏块)而异.因为压缩是以固定码率进行的,所以压缩后的图像的不同区域(宏块)看起来会不同。通过采用交错技术,每帧图像的信息都被平均了,并在图像内部保持一致。 在blocking和shuffling两个过程之后,每个8乘8的块都被送入到DCT编码器。DCT编码器将8乘8的基带块从时间域变换到频率域。这种变换的结果得到了8乘8的DCT块,其中的系数代表了块内不同频率分量的能量。在一个DCT块内,左上角的一个系数称为直流(DC)系数,其他的都称为交流(AC)系数。距离直流系数越远的系数代表的频率越高。在DC系数右边的系数比其左边的系数代表的水平频率要高;同样,在DC系数下边的系数比其上边的系数代表的垂直频率要高,在对角线方向上,距离右下角越近的系数,它所代表的水平和垂直频率也越高。 除了极其复杂的图像,大多数视频图像都的主要内容都在低频区,而高频区所含的内容极少。也就是说,在DCT块内,距离直流系数较近的系数比右下角的系数的值要大。 由于使用了帧内压缩,DV格式在处理帧内的图像运动时有两种方式,8-8和2-4-8方式。当检测到帧内无运动或奇数场与偶数场的变化很小时,就选用8-8模式,反之则选用2-4-8方式。这种模式的选择是很重要的,无论图像是运动的还是静止的,这样做都可以保持良好的图像质量。 下一步将要进行的就是量化。在这个过程中,为了限制视频段内的数据量,每一个交流系数都会被一个特定的数字分开,这个数字取决于量化器,即一个8行8列的表,表中的系数都是不小于1的数字。在量化过程中,直流系数不会被量化,因为它包含了主要的图像内容。限于篇幅,这部分内容从略。但需要注意的是,使用量化过程可以使经VLC后的码率接近于DV格式的25Mb/s。 接下来要进行的是可变长编码(VLC),真正的压缩就是在这一过程进行的。VLC变换可以将量化后定长的交流系数变换为可变长度的码字。量化器输出的直流系数后面紧接着的是交流系数,这个方法叫做Z型扫描(zigzag scan),交流系数是按频率输出的。不过,直流系数与交流系数是单独编码的。Z型扫描使输出的交流系数形成一长串,而大在多数情况下接近量化块左下角的交流系数都是0,这样就形成了一长串0。VLC将交流系数中0串中的每一个0系数至下一个非0系数都进行编码。每个代表串的码字由0串的长度和下一个非0系数的大小共同决定。这个过程称作改善的二维霍夫曼编码(modified 2-dimensional Huffman coding)。有关Z型扫描、码字长度和Huffman编码,请看以下三张图。 Z型扫描和VLC编码后的压缩数据流的长度(码率)因每个量化的DCT块而不同。这是因为每个原始的DCT块都有着不同的内容。也就是说,每个宏块压缩后的码率不同。正如前面所述,25Mbps的固定码率是在视频段级形成的,而不是在DCT块或宏块级。换句话说,通过在压缩流中合理地安排数据,就可以实现固定的25Mb/s输出。这个过程就称作成帧(framing)。 在成帧过程后进行的是de-shuffling过程,宏块流被重新分配到它们的原始位置。在记录到磁带之前,压缩的宏块流按照一定顺序被读到一个存储器里,形成所谓的成品块(product block)。每个成品块分别包含了一条磁迹上的数据。 对于视频数据来说,在成品块内占77列,135行,每一个宏块内的压缩数据流(77字节)存储在一行里,因为一条磁迹内含有135个宏块,所以共有135行。块内其余部分存有视频辅助数据(Video auxiliary da
评论