数字图像的选择性色度抽取 发明背景
1.发明领域
本发明涉及数字信号处理,尤其涉及用于选择性地抽取数字图像的装置和方法。
II.相关技术描述
数字图像处理在数字信号处理的一般学科中具有显著地位。人类视觉的重要性已经促进了数字图像处理的领域和学科内的极大兴趣和进展。在视频信号的发送和接收领域,譬如那些用于放映胶片或电影的领域,对图像压缩技术作出了各种改进。许多当前的和推荐的视频系统利用了数字编码技术。该领域的一些方面包括图像编码、图像再现、以及图像特征选择。图像编码代表试图以有效的方式发送数字通信信道的图片,利用尽可能少的比特来使所需的带宽最小,而同时把失真维持在某些限制内。图像再现代表努力再现对象的真实图像。各种因素已经使在通信信道上发送的已编码图像失真。降级的来源可能在最初从对象创建图像中已经发生。特征选择是指选择图片的某些属性。较广泛环境中的识别、分类以及判决可能要求这种属性。
视频的数字编码,譬如数字影院内的编码,是受益于改进的图像压缩技术的领域。一般可把数字图像压缩分为两类:无损和有损的方法。再现无损图像而没有任何信息损耗。有损地方法包括复某些信息的不能再现的损失,这取决于压缩率、压缩算法的品质、以及算法的实现。一般而言,有损压缩方法被认为是获得成本可行的数字影院方法所期望的压缩率。为了达到数字影院品质级别,压缩方法应该提供在视觉上无损的性能级别。这样,尽管由于压缩过程而有数学的信息损耗,然而该损耗引起的图像失真对于正常观察条件下的观察者来说应该是难以察觉的。
已经为其它应用,也就是为了电视系统,研发了现有的数字图像压缩技术。这种技术使设计折衷而适用于想要的应用,但不满足影院显示所需的品质要求。
数字影院压缩技术应该提供常看电影的人以前体验过的视觉品质。理想的是,数字影院的视觉品质应该试图超越高品质版本的拷贝胶卷。与此同时,压缩技术应该具有实践上的高编码效率。如这里所定义的,编码效率是指使被压缩的图像品质满足某一定性级别所需的比特率。此外,系统和编码技术应该具有内部灵活性来适应不同格式,并且应该是成本可行的;即,小型且有效的解码器或编码器过程。
为了减少被压缩数字图像所需的比特数而通常采用的一种方法是降低色度信息的空间分辨率。然而,这可能导致显著的图像失真。或者,去除图像失真的一种常用方法是提高被压缩图像的比特率。这也不是期望的,依旧限制了可用的比特率。因而,需要一种方法和装置,它能抽取数字图像但维持数字图像的品质级别。
发明概述
本发明规定了用于选择性地抽取数字图像。特别是,把数字图像分成多个块。根据预定的标准选择性地抽取某些块。实施例的各方面允许在具有少量色度信息的区域抽取色度分辨率以降低比特率,而维持人眼难以察觉的色度品质。在一实施例中,使用自适应块大小离散余弦变换(ABSDCT)技术来确定是否降低给定像素区域内的色度分辨率。具有高色度信息的区域的分辨率未降低,而使具有低色度信息的区域的分辨率降低,而总品质没有降级。以逐块的级别作出判决,或者在像素域或者在频域,这与数字信息的整个帧和多帧相反。
因而,实施例的各个方面用于把4:4:4的数字图像转换成4:2:2的数字图像或4:2:0的数字图像。描述了抽取数字图像的装置和方法,其中用多个像素来表示数字图像。像素块的大小是块的色度分辨率的函数。然后,选择性地抽取某些块。
因而,实施例的一方面是提供一种装置和方法,以根据色度分辨率抽取数字图像,同时维持总的色度品质。
实施例的另一方面是提供一种装置和方法以降低低色度分辨率区域内的比特率。
实施例的另一方面是维持较高的比特率而同时维持相同的品质级别。
实施例的另一方面是达到比标准抽取更高的图像品质级别。
附图简述
通过下面提出的结合附图的详细描述,本发明的各方面、特征、目的和优点将变得更加明显,附图中相同的元件具有相同的标识,其中:
图1是结合一抽取器的图像处理系统的框图;
图2是说明块大小分配的细节的框图;
图3是说明4:4:4数字图像的选择性抽取过程的流程图;
图4a说明了像素数据的色度部分的4:4:4块的示例;
图4b说明了像素数据的色度部分的4:2:2块的示例;以及
图4c说明了像素数据的色度部分的4:2:0块的示例。
较佳实施例的详细描述
为了便于数字信号的数字传输并且享受相应的好处,一般需要采用某些形式的信号压缩。为了实现产生图像时的高清晰度,维持图像的高品质也很重要。而且,微型硬件实现期望计算效率,这在许多应用中都是重要的。
在一实施例中,本发明的图像压缩是基于离散余弦变换(DCT)技术的。一般而言,要在数字域内被处理的图像会由像素数据组成,像素数据被分成不重叠块的阵列,大小为N×N。对每个块执行二维DCT。二维DCT由下列关系式所定义:
X(k,l)=α(k)β(l)NΣm=0N-1Σn=0N-1x(m,n)cos[(2m+1)πk2N]cos[(2n+1)πl2N],0≤k,l≤N-1]]>
其中以及
x(m,n)是N×M块内的像素位置(m,n),以及
X(k,l)是相应的DCT系数。
由于像素值是非负的,因此DCT分量X(0,0)总是正的,并且通常具有最多能量。实际上,对于一般图像而言,大多数变换能量都集中在分量X(0,0)附近。该能量压缩属性使DCT技术成为具有吸引力的压缩方法。
已经观察到,大多数自然图像是由平坦的、相对缓慢变化的区域、以及像对象边界和高对比度纹理这样的繁忙区域组成的。对比自适应编码方案通过向繁忙区域分配更多比特而向较不繁忙的区域分配较少比特而利用了该因素。该技术在美国专利号5,021,891中公开,该专利题为“自适应块大小图像压缩方法和系统(Adaptive Block Size Image Compression Method and System)”,它被转让给本发明的受让人,并且通过引用被结合于此。在美国专利号5,107,345中也公开了DCT技术,该专利题为“自适应块大小图像压缩方法和系统(Adaptive Block SizeImage Compression Method and System)”,它被转让给本发明的受让人并且通过引用被结合于此。而且,美国专利号5,452,104中讨论了ABSDCT技术与差分四叉树变换技术的结合,该专利题为“自适应块大小图像压缩方法和系统(AdaptiveBlock Size Image Compression Method and System)”,它也被转让给本发明的受让人,并且通过引用被结合于此。这些专利中公开的系统使用了称为“帧内”编码的编码,其中对图像数据的每帧都进行编码,而不考虑其它帧的内容。通过使用ABSDCT技术,可达到的数据速率可能很大,而没有可辨别的信号品质的降级。
通过使用ABSDCT,一般把视频信号分段成像素块,用于处理。对于每个块而言,把亮度和色度分量被传递至块交错器。例如,可以把16×16(像素)块提供给块交错器,后者对每个16×16块内的采样排序或组织,以产生数据的块和复合子块,用于离散余弦变换(DCT)分析。DCT运算符是把时间采样的信号转换成相同信号的频率表示的一种方法。通过转换成频率表示,已经示出DCT技术允许非常高的压缩级,就像可以设计量化器利用图像的频率分布特性一样。在较佳实施例中,一个16×16的DCT应用于第一排序,四个8×8的DCT应用于第二排序,16个4×4的DCT应用于第三排序,而64个2×2的DCT应用于第四排序。
为了图像处理目的,在被分成不重叠块的阵列的像素数据上执行DCT操作。注意到,尽管这里讨论的块大小尺寸为N×N,然而可以预想,可以使用各种块大小。例如,可以使用N×M的块大小,其中N和M都是整数,M或大于或小于N。另一重要方面是可把块分成至少一级子块,譬如N/i×N/ii、N/i×N/j、N/i×M/j、等等,其中i和j是整数。而且,这里讨论的示例性块大小是16×16的像素块,具有DCT系数的相应块和子块。还可以预想到,可以使用各种其它整数值,譬如既可以是偶数又可以是奇数,如,9×9。
通常,把图像分成多个像素块,用于处理。可以把色彩信号从RGB空间转换到YC1C2空间,其中Y是亮度,辉度,分量,C1和C2是色度(即色彩)分量。由于人眼对色彩的低空间敏感性,因此许多系统在水平和垂直方向上用因数4对C1和C2分量进行子采样。然而,子采样不是必要的。称为4:4:4的全分辨率图像在某些应用中可能非常有用或必要,譬如在称之为覆盖“数字影院”的应用中。两个可能的YC1C2表示是,YIQ表示和YUV表示,两者都是本领域公知的。也可能采用YUV表示的变体,称为YCbCr。
现在参照图1,示出结合本发明的图像处理系统100。图像处理系统100包括一编码器102,它压缩接收到的视频信号。通过传输信道104发送被压缩的信号,并且由解码器106所接收。解码器106把接收到的信号解码成接着可以显示的图像采样。
在较佳实施例中,处理Y、Cb、Cr分量的每一个而无需子采样。这样,把16×16像素块的输入被提供给编码器102。编码器102包括块大小分配元件108,它在准备视频压缩时执行块大小分配。块大小分配元件108根据块内图像可观察的特性来确定16×16块的块分解。块大小分配根据16×16块内的活动性而以四叉树方式把每个16×16块细分成更小的块。块大小分配元件108产生称为PQR数据四叉树数据,它的长度在1到21比特之间。因此,如果块大小分配元件确定要分解16×16块,则设定PQR数据的R比特,R比特后是Q数据的附加比特,它们对应于4个分解后的8×8块。如果块大小分配确定要细分任一8×8块,则对每个被细分的8×8块添加P数据的4个附加比特。
现在参照图2,提供了一流程图,示出块大小分配元件108的操作细节。算法使用块的方差作为判决的度量来细分块。从步骤202开始,读取一个16×16的像素块。在步骤204中,计算该16×16块的方差v16。计算方差如下:
var=1N2Σi=0N-1Σj=0N-1x2i,j-(1N2Σi=0N-1Σj=0N-1xi,j)2]]>
其中N=16,xi,j是N×N块内的第i行、第j列中的像素。在步骤206中,如果块的均值在两个预定值之间,那么首先修改方差阈值T16来提供新的阈值T’16,然后把块方差与新阈值T’16相比较。
如果方差v16不大于阈值T16,则在步骤208中,写入16×16块的起始地址,然后把PQR数据的R比特设为0以指明未细分16×16块。然后,算法读取下一个16×16像素块。如果方差v16大于阈值T16,则在步骤210中,把PQR数据的R比特设为1以指明要把16×16块细分成4个8×8块。
如步骤212所示,顺序地考虑使4个8×8块(i=1:4)进一步细分。对于每个8×8块而言,在步骤214中计算方差v8i。在步骤216中,如果块的均值在两个预定值之间,那么首先修改方差阈值T8来提供新的阈值T’8,然后把块方差与该新阈值相比较。
如果方差v8i不大于阈值T8,则在步骤218中,写入8×8块的起始地址,并且把相应的Q比特Qi设为0。然后处理下一个8×8块。如果方差v8i大于阈值T8,则在步骤220中,把相应的Q比特Qi设为1以指明要把8×8块细分成4个4×4块。
如步骤222所示,顺序地考虑使4个4×4块(ji=1:4)进一步细分。对于每个4×4块而言,在步骤224中计算方差v4ij。在步骤226中,如果块的均值在两个预定值之间,那么首先修改方差阈值T4来提供新的阈值T’4,然后把块方差与该新阈值相比较。
如果方差v4ij不大于阈值T4,则在步骤228中,写入4×4块的起始地址,并且把相应的P比特Pij设为0。然后处理下一个4×4块。如果方差v4ij大于阈值T4,则在步骤230中,把相应的P比特Pij设为1以指明要把4×4块细分成4个2×2块。此外,写入4个2×2块的地址。
阈值T16、T8和T4可能是预定的常数。这被称为硬判决。或者,可能实现自适应判决或软判决。软判决根据2N×2N块的平均像素值改变方差的阈值,其中N可以是8、4或2。因此,可以使用平均像素值的函数作为阈值。
为了说明目的,考虑以下示例。令Y分量的预定方差阈值对于16×16、8×8以及4×4块分别为50、1100和880。换言之,T16=50,T8=1100,且T16=880。令平均值的范围为80到100。假定对于16×16块所计算的方差为60。由于60及其平均值90大于T16,因此把16×16块细分成4个8×8子块。假定对于8×8子块计算的方差为1180、935、980和1210。由于两个8×8块具有超出T8的方差,因此把这两个块再细分以产生总数为8个的4×4子块。最终,假定8个4×4块的方差为620、630、670、610、590、525、930和690,其中前面四个相应的均值为90、120、110、115。由于第一个4×4的块的均值落在范围(80,100)内,因此使其阈值降低到低于880的T’4=200。所以,把该4×4块与第七个4×4块一样地细分。
注意到使用了类似的步骤来为色彩分量C1和C2分配块大小。可以在水平、垂直或在两个方向上抽取色彩分量。此外,注意到尽管已经把块大小分配描述成自顶向下的方法,其中首先评估最大的块(本例中是16×16),然而也可以取代地使用底部向上的方法。底部向上方法会先评估最小的块(本例中为2×2)。
回过头参照图1,描述了图像处理系统100的剩余部分。抽取器元件109可以选择性地抽取某些块。降低数据图像压缩所需的比特数的通常方法是降低帧的空间分辨率。然而,这可能造成显著的图像失真。然而,通过使用自适应的块大小,可以使用色度分辨率仅在低色度信息的区域内抽取图像,而不在高色度信息的区域内抽取。
抽取的判决可能取决于多个因素和考虑。因素包括、但不限于:块内以及每个色彩分量内的细节级别、色度分辨率、对比度、期望的比特率、期望的图像品质级别、以及/或者块大小。参照图3以及4a、4b和4c更详细地描述了抽取器109以及抽取过程。
把PQR数据以及所选块的地址提供给DCT元件110。DCT元件110使用PQR数据对所选的块执行适当大小的离散余弦变换。只有所选的块需要经历DCT处理。
图像处理系统100可能任选地包括DQT元件112,用于降低DCT的DC系数中间的冗余度。在每个DCT块的左上角遇到DC系数。通常,DC系数相比AC系数是很大的。大小差异使得难以设计有效的可变长度编码器。因而,降低DC系数间的冗余是有利的。
DQT元件112对DC系数执行二维DCT,每次取2×2。从4×4块内的2×2块开始,对4个DC系数执行二维DCT。把该2×2 DCT称为4个DC系数的差分四叉树变换,即DQT。接着,使用8×8块内DQT的DC系数以及3个相邻的DC系数来计算下一级DQT。最终,使用16×16块内4个8×8块的DC系数来计算DQT。这样,在16×16块内,有一个真实的DC系数,其余是对应于DCT和DQT的AC系数。
把变换系数(DCT和DQT两者)提供给量化器114用于量化。在较佳实施例中,用频率加权屏蔽(FWM)和量化刻度因子来量化DCT系数。FWM是与输入DCT系数的块的维数相同的频率权重的表格。频率权重对不同的DCT系数应用不同的权重。把权重设计成加重具有使人类视觉系统更为敏感的频率内容的输入采样,并且减轻具有视觉系统较不敏感的频率内容的采样。也可以根据像观察距离等因素来设计权重。
从图像的测得的或理论的统计量来设计哈夫曼编码。已经观察到,大多数自然图像是由空白或相对缓慢变化的区域、以及像对象边界和高对比度纹理这样的繁忙区域组成的。具有频域变换(如DCT)的哈夫曼编码器通过向繁忙区域分配较多比特而向空白区域分配较少比特而采用了这些特性。通常,哈夫曼编码器利用查找表来对行程长度和非零值进行编码。
在一实施例中,根据经验数据选择权重。ISO/IEC JTC1 CD 10918中公开了为8×8 DCT系数设计权重屏蔽的方法,该文题为“Digital Compression and Encodingof Continuous-tone Still Images-Part 1:Requirements and Guidelines”,由国际标准组织于1994年公布,通过引用被结合于此。通常,设计两个FWM,一个用于亮度分量,一个用于色度分量。通过抽取而获得块大小为2×2、4×4的FWM表以及通过对8×8块的表的内插而得到16×16的FWM表。刻度因子控制了被量化的系数的品质和比特率。
这样,按照以下关系量化每个DCT系数:
其中,DCT(i,j)是输入DCT系数,fwm(i,j)是频率加权屏蔽,q是刻度因子,而DCTq(i,j)是经量化的系数。注意到根据DCT系数的符号,括号内的第一项上舍入或下舍入。也用适当的加权屏蔽使DQT系数进行量化。然而,可以使用多个表格或屏蔽,并将其应用于Y、Cb和Cr分量的每一个。
把经量化的系数被提供给锯齿形扫描串行化器116。串行化器116以锯齿形方式扫描经量化系数的块以产生经量化系数的经串行化的流。也可以选择许多不同的锯齿形扫描模式,以及除了锯齿形之外的模式。一较佳技术为锯齿形扫描采用了8×8块大小,然后也可以使用其它大小。
注意到可以把锯齿形扫描串行化器116放置在量化器114之前或之后。最终结果是相同的。
在任一情况下,把经量化系数的流都提供给可变长度编码器118。可变长度编码器118可能利用编码后零值的行程长度编码。在上述美国专利号5021891、5107345和5452104中详细讨论该技术,并且概括在此。行程长度编码器取得经量化的系数,并且注意到来自不连续系数的连续系数的行程。把连续值称为行程长度值,并且进行编码。把不连续值分开地编码。在一实施例中,连续系数是零值,不连续系数是非零值。一般而言,行程长度从0到63比特,大小是从1-10的AC值。文件代码的结尾添加了一附加代码,因此,总共有641个可能的代码。
图3说明了数字图像300的选择性抽取的流程图。在执行块大小分配元件304之后(如参照图1所述),作出是否抽取块的判决308。在一实施例中,在块大小分配之后,在像素块上完成抽取判决。然而,在块经历了DCT/DQT过程之后,抽取的判决或者可能发生在频域中。
回过头参照图3,如果块在给定块内、或像素区域的相应频率表示内具有低色度信息,则抽取是适当的。如果块具有高色度信息,则作出不抽取的判决,并且把数据传递至量化器312。然而,色度不必定是关于是否要抽取的唯一或最重要的因素。抽取的判决可能基于多种因素,譬如期望比特率、视觉品质因数、或譬如块大小或色度分量自身之类其它基于比值的因素。例如,与选择两个色度分量相反,可以选择单个色度分量Cb或Cr。已经发现在某些情况下,可以抽取单个色度分量而不折衷视觉品质。在一实施例中,可以根据用户的需求来配置抽取的判决。在还有一实施例中,根据用户的需求动态地配置抽取的判决。
依据抽取判决,开始列抽取316,因而把4:4:4图像转换成4:2:2图像。任选的是,如果期望抽取到4:2:0格式,则再次作出是否抽取的另一判决320。如果是,就开始行抽取324。如果不是,则把数据传递至量化器312。
在一实施例中,抽取不选择高色度信息的区域,即具有较小块大小分配的区域。然而,具有低色度信息的区域,即大的块大小分配,适用于抽取。在另一实施例中,块大小分配是抽取的一确定因子。如果块大小为16×16,则抽取该块。如果块大小小于16×16,譬如8×8、4×4或2×2,则不抽取该块,使得细节得此保持。在另一实施例中,抽取16×16和8×8块,而不抽取4×4和2×2块。准确的判决过程可能取决于许多参数。
在色度分辨率量低的图像区域内选择性地抽取块降低了那些区域内的比特率,而同时维持了色度品质。同时,通过不在高色度分辨率的区域内抽取色度分辨率,可以维持那些区域内的良好图像品质。
图4a说明了像素数据400的4:4:4块的一例。给出每个像素的每个亮度和色度分量Y、Cb和Cr中的每一个的值。一般而言,仅考虑在色度分量Cb和Cr上执行抽取,而不在亮度分量Y上执行抽取。由于亮度分量Y的抽取可能是人类可感知的,因此不总是期望抽取亮度分量Y。为了把4:4:4格式的一个色度像素数据块抽取为4:2:2格式,执行对每个色度分量Cb和Cr的滤波。在一实施例中,滤波过程包括:通过为具有相邻元素的特定元素使用高斯滤波器而对列值加权。列滤波是优选的,因为已经发现,与垂直方向相比,水平方向存在更多相关。在一实施例中,通过对25%的(n-1,m-1)元素、50%的(n-1,m)元素以及25%的(n-1,m+1)元素求和,从而导出格式为4:2:4的元素(n-1,m)。因而,在4:2:2格式中,(n-1,m)的新值如下:
(n-1,m)=(0.25*20)+(0.50*32)+(0.25*28)=28
对于每隔一列的元素作出类似的计算,产生图4b所示的4:2:2格式的元素表。因而,已经去除了每隔一列数据的,但是在用上述加权的关系的剩余列中表示它们的值。可以构想,可能采用其它加权方案,譬如具有相等加权的三点滤波器,它使每个元素都乘以0.33。
图4c说明了像素数据的4:2:0格式的一例。为了计算4:2:0数据,为每个相邻元素使用0.25的、并且为给定元素使用0.5的相同加权方案来执行行抽取。因而,通过对25%的(n-1,m)元素、50%的(n,m)元素以及25%的(n+1,m)元素求和,从而导出4:2:0格式的元素(n,m)。因而,在4:2:0格式中,(n,m)的新值如下:
(n,m)=(0.25*28)+(0.50*21.5)+(0.25*21.5)=23.125
根据分辨率,可能或在频域或在像素域对值(n,m)取整。例如,可以在具有专用集成电路(ASIC)、可编程逻辑器件、微处理器、分立门或晶体管逻辑、分立硬件组件(譬如寄存器和FIFO)执行一组固件指令的处理器、以及常规的可编程软件和处理器,或者它们的组合的硬件或软件实现和执行各种说明性的逻辑块、流程图、以及结合这里所公开的实施例描述的步骤。处理器最好是微处理器,但或者,处理器可以是任一常规处理器、控制器、微控制器或状态机。软件可以驻留在RAM存储器、闪存、ROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM、DVD-ROM或本领域已知的任何其它形式的存储媒介内。
提供了较佳实施例的上述描述,使得本领域的任何技术人员都能制造或使用本发明。本领域的技术人员对于本发明的各种修改是显而易见的,这里所发现的基本原理也可以应用于其它实施例,而无需使用创造性的能力。因此,本发明不是为了限制这里所示的实施例,但是符合与这里所公开的原理和新颖性特征一致的最宽泛的范围。