《嵌入式系统数字视频处理权威指南》——第3章 采样和混叠
本节书摘来自华章计算机《嵌入式系统数字视频处理权威指南》一书中的第3章,作者:(美)Michael Parker Suhel Dhanani 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
第3章 采样和混叠
无论什么用数字表示时,都必须被采样。这意味着连续的、不间断的目标被数字化时,必须用时间或空间上紧密相连的许多样本表示。如果样本足够紧密,那么目标看起来就是连续的。视频在时间上的采样,意味着景物快照的获取足够快,那么当回放时,就会给人连续运动的视频印象。在视频系统中,较为普遍的是使用每秒25~30幅图像,并且广泛被许多观众所接受(在隔行扫描视频中,这个数将加倍,这将在后面才涉及)。
空间采样应用于图像,在垂直和水平方向上,采用足够多的像素表示图像,以致图像看起来既逼真又清晰。当缩放图像时,采样率可以改变,因为这是从一个分辨率到另一个分辨率的转换过程。
为了获取模拟信号并且将其数字化,我们需要对信号采样。对一维信号,我们将要用到模数转换器(AnalogtoDigital Converter,ADC)。照相机必须同时在两个方向对信号采样,并且在每一个瞬间获得许多样本。不像传统的模拟照相机,利用光的化学反应曝光胶卷,数码照相机使用半导体器件转换光信号到电信号,而且电信号可以同时用许多模数转换器采样。普遍采用的是电荷耦合器件(ChargeCoupled Device,CCD)。新的选择是采用互补金属氧化物半导体(Complementary Metal Oxide Semiconductor,CMOS)技术。由于这些器件能同时获取几百万的样本(这对应于数码相机的百万像素级),并且将它们转换为表示单个像素的电信号。再用ADC将它们转换为数字形式。
颜色采样可以通过各种各样的方法实现,但常见的方法是使用Bayer滤波器,它是颜色滤波矩阵。它能在每个像素的位置将进来的光过滤为不同的颜色,如红色、绿色和蓝色,并且分别记录每个颜色像素的光强度。更新的方法是将色敏传感器植入CMOS技术中。有许多别的因素影响这个过程,如光圈、快门速度、缩放和聚焦,在这里我们不予讨论。
为了简单地说明采样和混叠的有关概念,我们将采用一维信号。ADC将在快速的时间间隔内测量信号,并且得到样本(就是图像和视频中的像素)。ADC将输出数字信号,其与相应瞬间的模拟信号的幅度成比例。这可以用只有闪光灯照明物体的情况来类比。你只有在闪光灯闪烁时才能看见物体。如果物体是静止的,那么所看到的和使用正常的连续光源时很相似。但当在闪光灯下观察运动物体时,事情变得很有趣。如果物体运动很迅速,那么运动现象看起来和正常光照情况下有较大的不同。当物体的运动相当慢,或者我们足够降低闪光灯的闪烁频率,我们还是能看到奇怪的结果。我们能直观地知道,相对于被照亮的物体的运动速率,闪光灯的闪烁频率更重要。只要闪光灯的闪光速率远快于物体的运动速率,运动看起来非常连续、正常。但当闪光灯的闪光速率低于物体的运动速率时,运动看起来就很奇怪,经常像慢动作。尽管我们能看到物体是运动的,但我们失去了运动的连续感和流畅感。
我们再举一个例子,如画在索引卡片上的一个字符的简单动画影片。为了说明这个字符跳跃或降落的运动,我们可以画出20或40张卡片,每张卡片表示同一字符在这个连续运动的一个阶段,从一张卡片到另一张卡片只是很小的运动变化。那么,拿着一张索引卡片的边沿,并且快速翻阅到另一张的边沿,卡片上的字符看起来就是连续地跳跃或降落。这也可以应用于视频处理,屏幕大约以每秒30次的速度更新,对我们来说,足够快的速度使我们感觉不到是单独的帧,因此运动看起来就是连续的。
因此,如果我们采样信号的速度快于信号的变化,我们将得到非常准确的信号采样值,但如果采样速度过低,我们将看到失真的信号。
下面的图形表示两个不同的正弦信号被采样。在图31中运动缓慢的信号(低频)能用指定的采样率准确地表示。但是,图32所示的快速运动的信号(高频)却不能用我们的采样率准确表示。实际上,采样值看起来好像是一个运动缓慢的信号(低频),如图32中的虚线所示。这表明对给定频率的信号,足够快的采样率是非常重要的。
如果我们将采样点相连并且平滑信号,那么虚线表示有多少采样信号出现。注意,由于实际信号(实线)在采样间隔之间变化如此迅速,所以间隔之间的运动在采样信号中是看不见的。采样信号表现为低频信号,而不是实际信号。这个影响称之为混叠。
我们需要一种方法来确定我们必须以多快的速度采样,才能准确表示给定的信号。我们也必须更好地理解当混叠出现时将会发生什么。这看起来可能很奇怪,但在有些情况下,混叠是很有用的。
再次回到闪光灯的类比,并且尝试另一个实验。设想一个旋转的轮子,在它的边沿上有一个小圆点。设定闪光灯每1/8秒闪烁一次,也就是每秒钟闪烁8次。图33~图310表示6次闪光后,我们将看到什么,这和轮子的旋转速度有关系。在所有的图片中,时间从左到右依次增加。
事实上一旦开始采样信号(也就是闪烁闪光灯),我们不能确定在两次闪光之间发生了什么。我们本能地假定信号(例子中的小圆点)采取最短路径从一次闪光出现的位置到紧接着的闪光位置。但是,正如我们在上面的例子中所看到的,这可能是错误的。小圆点可能以相反的方向沿圆周运动(采取最长路径)到达我们看到的下一次闪光位置。或者设想圆周以假定的方向旋转,但是每次闪光它旋转了一整圈再加上“额外的一点点”(9Hz示意图)。我们看到的只是在每次闪光时的那“一点点”。这种情况下,它可能旋转了10次再加上同样的“额外的一点点”,而且我们却不能发现其中的差别。