隔行和逐行扫描。
隔行扫描最早起源于模拟电视广播技术,这种技术需要对图像进行快速扫描,以便最大限度地降低视觉上地闪烁感。但是当时可以运用地技术并不能以如此之快地速度对整个屏幕完成刷新。于是,将每帧图像进行“交错”排列或者分为两个场,一个由奇数扫描线构成,一个由偶数扫描线构成。
如图所示,NTSL/(PAL)的帧刷新率设定为30或25帧/秒。于是,大片图像区域的刷新率为60或50Hz,而局部区域的刷新率为30或25Hz,这也是出于节省宽带的折中考虑,因为人眼对大面积区域的闪烁更为敏感。
隔行扫描方式不仅会产生闪烁,也会带来其他问题。例如,扫描线本身也常常可见。因为NTSC中每场信号就是1/60s间隔内的快照,所以一幅视频帧通常包括两个不同的时间场。当正常观看视频时,这不是问题,因为它所呈现的视频在时间上是近似一致的。然而,当画面中存在运动物体时,把隔行场转换为逐行帧会产生锯齿现象。解交织过程非常重要,因为将视频帧作为一系列相邻的线来处理,会更有效率。
将视频源数据从一个输出隔行NTSC数据的摄像机处取出时,往往需要对其进行去隔行处理,这样奇数行和偶数行将交织排列在存储中,而不是分别位于两个分离的视场缓冲区。去隔行不仅仅是高效率的、基于块的视频处理所需要的,而且也是在逐行扫描格式中显示隔行视频所必须的。去隔行处理有多种方法,包括行倍增、行平均、中值滤波和运动补偿。
一旦视频完成了去隔行化,就有必要进行扫描速率的转换,以确保输入的帧速率与输出显示的刷新速率相匹配。为了实现两者的均衡化,可能需要丢弃场或者复制场。当然,与去隔行化类似的是,最好采用某种形式的滤波,以便消除由于造成突然的帧切换而出现的、高频的人为干扰。帧速率转换的一个具体情况是,将一个24帧/秒的视频流,满足NTSC视频要求,这属于3:2下拉。例如,若每个帧在NTSC视频系统中只被用一次,则以24fps记录的电影的运动速度将提高25%。于是,3:2下拉被认为是一种让24fps视频流转换为30fps的视频序列的转换过程。它是通过以一定的周期化的样式重复各帧来实现的。
色度采样
由于人眼的杆状细胞要多于锥状细胞,故对于亮度的敏感能力要优于对色差的敏感能力,我们对Y注意力比较高,相对不过多关注U和V。于是,通过对这些色度值进行子采样的方法,食品标准和压缩算法可以大幅度缩减视频带宽。
YUV采用A:B:C表示法来描述YUV采样频率比例。图中展示了4:4:4,4:2:2,4:2:0三种采样比例的区别。途中黑点表示采样像素点Y分量,空心圆表示采样像素点UV分量。
常见的采样比例如下:
1,4:4:4表示色度频道没有下采样,即一个分量对应着一个U分量和一个V分量。
2,4:2:2表示2:1的水平下采样,没有垂直下采样,即每两个Y分量共用一个U分量和一个V分量。
3,4:2:0表示2:1的水平下采样,2:1的垂直下采样,即每四个Y分量共用一个U分量和一个V分量。
4,4:1:1表示4:1的水平下采样,没有垂直下采样。即每四个Y分量共用一个U分量或一个V分量,与其他格式相比,4:1:1采样不太常用。
5,4:4:4表示色度频道没有下采样,即一个Y分量对应着一个U分量和一个V分量。
6,4:2:2表示2:1的水平下采样,没有垂直下采样,即每两个Y分量共用一个U分量和一个V分量。
7,4:2:0表示2:1的水平下采样,2:1的垂直下采样。即每四个Y分量共用一个U分量或一个V分量,与其他格式相比,4:1:1采样不太常用。
在某些情况下,显示器接口所支持的颜色空间域与当前颜色空间不匹配。这时就需要对颜色空间进行转换。多数情况下,需要对色度进行重采样,例如将YCbCr的4:2:2格式的视频转换为4:4:4的格式,这需要从那些缺乏Cb和Cr分量之一的Y样本中插值出Cb和Cr值。一个简洁的再采样方法是从最邻近的像素上借简单的平均化方法插值出缺失的色度值。也就是说,在一个像素点上缺失的像素上缺失的Cb值将被最接近的2个Cb值的平均值所取代。某些应用还需要更高阶的滤波器,但这一简化的方法往往也已经足够了。另一种方法是对临近的像素点的色度值进行复制,以便得到这些在当前像素表示中缺失的量值。一般来说,4:1:1空间到4:2:2或者4:4:4格式的转换,只需要用一个一维的滤波器。不过,若从4:2:0格式再采样为4:2:2或者4:4:4格式,则还需要用到垂直采样,于是就有必要采用二维卷积内核。由于色度的再采样和YCbCr/RGB的转换都是线性的运算,有可能将这些步骤组合起来,形成单个数学运算,从而高效率地实现4:2:2 YCbCr/RGB的转换。
视频缩放可以生成一路分辨率与输入格式的分辨率不同的输出流。在理想情况下,固定缩放的要求都是已知的,以避免在输入和输出流之间进行任意的缩放所带来的负担。缩放就是放大和缩小,具体取决于应用。在缩放前,弄清楚待缩放图像的内容就非常重要。不恰当的缩放会导致文字不可阅读或者造成图像某些水平线的消失。将输入帧的大小调整为幅面更小的输出帧时,最简单的方法就是图像裁切。例如,如果输入的帧尺寸是720×480像素,输出就是VGA帧640×480像素,那么可以把前40和后40个像素丢掉,这样做的目的是像素的丢失和复制不会造成人为的影响。当然,缺点就是将损失帧内80个像素的内容。如果不能完成裁切,还可以通过若干方法对图像进行下采样或者上采样,比如增加或减少每行的像素数量、增加或减少每帧的行数。