图像编码装置和方法、图像解码装置和方法、以及程序的制作方法

文档序号:7601348阅读:176来源:国知局

专利名称::图像编码装置和方法、图像解码装置和方法、以及程序的制作方法
技术领域
:本发明涉及一种能够减少块失真并提高编码效率的图像编码装置和方法、图像解码装置和方法、以及程序。
背景技术
:近年来,由于图像数据的具有更高分辨率或更高帧频的趋势,越来越难以在图像处理系统中使用单位时间内的有限资源来处理众多数据。例如,如图1所示,当在使用图像处理系统80执行图像处理的过程中使用存储器85的情况下,因为要确保数据传输所需的高容量存储器和宽总线带宽,所以难以使系统小型化且难以降低成本。例如,在日本专利No.3918263中,如图2所示,在图像处理系统80和存储器85之间设置了图像编码单元81,图像数据在存储在存储器中之前被编码以减少数据量。另外,在图像处理系统80和存储器85之间设置了图像解码单元82,存储在存储器85中的编码数据在被读出时被进行解码,从而获得图像数据。在日本专利No.3918263中,在存储器存储时的编码方法中使用具有相对较低处理量的差分脉冲编码调制(在下文中称为DPCM)。例如,在对应于5个像素GO比特,1个像素具有8比特)的数据中,通过获得邻近像素之间的差并执行量化,第一像素被设置为8比特,第二至第五像素中的每个被设置为6比特。因此,在DPCM后,按5个像素获得32比特,从而实现了4/5压缩。另外,在日本专利No.3918263中,通过按照小的块单位或者总线传输单位来实现DPCM单位,可以实现随机访问,并且可以在保持图像处理系统的原存储器访问效率的同时减少存储器容量和总线带宽。
发明内容然而,因为在日本专利No.3918263中描述的编码方法是简单DPCM,所以容易保持存储器访问效率。但是,从存储器读出并被解码的图像数据会大幅劣化。在现有技术的一般图像编码方法中,有一种具有较高编码效率的方法(例如,HJ64/AVC(先进视频编码)或JPEG(联合图像专家组)2000)。然而,在这种图像编码方法中,在诸如如上所述的简单小的块单位或总线传输单位的条件下,难以高效地执行编码。在现有技术的一般图像编码方法中,从编码效率的视角看,由于与固定长度编码相比可变长度编码使用得更频繁,所以可能无法如在日本专利No.3918263中描述的DPCM一样获得期望的位长度。因此,执行编码以获得预定位长度或更短位长度,并且用无效位填充剩余位以适合总线传输单位。然而,在小的总线传输单位中,包括这种无效位是低效的。在现有技术的一般图像编码方法中,如果图像在被分割为块的状态下进行编码,则在块之间的边界上会发生块失真。为了降低该块失真,在解码时一般使用解块滤波器,但是编码时的块失真并未减轻。期望提供一种即使当以块单位执行图像编码时也能够获得具有低块失真的解码图像的图像编码装置和图像编码方法、一种能够对编码图像进行解码的图像解码装置和图像解码方法以及程序。根据本发明的一个实施例,提供了一种图像编码装置,包括带分割单元,被配置为执行用于从块单位的图像数据产生多个频带中的每个频带的系数数据的频带分割,并且对于该频带分割,在针对通过频带分割获得的低频带分量的系数数据重新排列空间位置后执行该低频带分量的系数数据的频带分割;和编码单元,被配置为执行所述多个频带中的每个频带的系数数据的编码。在本发明中,执行块单位的图像数据的频带分割。在频带分割中,在针对通过频带分割获得的低频带分量的系数数据重新排列空间位置之后,执行低频带分量的系数数据的频带分割,并产生所述多个频带中的每个频带的系数数据。在频带分割中,例如,执行提升运算和去交织。在提升运算中,在块的端部执行图像数据的扩展,使用扩展的图像数据产生系数数据。通过去交织针对每个频带划分通过提升运算产生的系数数据。在低频带分量的系数数据中,执行空间位置的重新排列以使得使用扩展的图像数据产生的系数数据的位置移动。例如,反转系数数据的位置。每预定数目的系数数据被划分为子块,估计当针对每个子块截断系数数据的位平面时图像的失真量的变化。针对估计结果进行加权以使位于所述块的端部的子块与其它位置的子块相比不容易被截断。基于加权后的估计结果,执行截断以使图像失真量低且代码量在目标代码量以内,并且执行编码。根据本发明的另一实施例,提供了一种图像编码方法,包括以下步骤在带分割单元中,执行用于从块单位的图像数据产生多个频带中的每个频带的系数数据的频带分割,并且对于该频带分割,在针对通过频带分割获得的低频带分量的系数数据重新排列空间位置后执行该低频带分量的系数数据的频带分割;以及在编码单元中,执行所述多个频带中的每个频带的系数数据的编码。根据本发明的另一实施例,提供了一种在计算机中执行处理的程序,该处理包括以下步骤执行用于从块单位的图像数据产生多个频带中的每个频带的系数数据的频带分割,并且对于该频带分割,在针对通过频带分割获得的低频带分量的系数数据重新排列空间位置后执行该低频带分量的系数数据的频带分割;以及执行所述多个频带中的每个频带的系数数据的编码。根据本发明的另一实施例,提供了一种图像编码装置,包括带分割单元,被配置为执行块单位的图像数据的频带分割并产生多个频带中的每个频带的系数数据;编码单元,被配置为执行所述多个频带中的每个频带的系数数据的编码;失真特性估计单元,被配置为针对通过对每预定数目的系数数据进行划分而获得的每个子块,估计当所述系数数据的位平面被截断时图像的失真量的变化并针对估计结果进行加权;和截断单元,被配置为基于加权的估计结果检测图像失真低且代码量在目标代码量以内的截断位置并执行所述位平面的截断。根据本发明的另一实施例,提供了一种图像编码方法,包括以下步骤在带分割单元中,执行块单位的图像数据的频带分割并产生多个频带中的每个频带的系数数据;在编码单元中,执行所述多个频带中的每个频带的系数数据的编码;在失真特性估计单元中,针对通过对每预定数目的系数数据进行划分而获得的每个子块,估计当所述系数数据的位平面被截断时图像的失真量的变化并针对估计结果进行加权;以及在截断单元中,基于加权的估计结果检测图像失真低且代码量在目标代码量以内的截断位置并执行所述位平面的截断。根据本发明的另一实施例,提供了一种在计算机中执行处理的程序,该处理包括以下步骤执行块单位的图像数据的频带分割并产生多个频带中的每个频带的系数数据;执行所述多个频带中的每个频带的系数数据的编码;针对通过对每预定数目的系数数据进行划分而获得的每个子块,估计当所述系数数据的位平面被截断时图像的失真量的变化并针对估计结果进行加权;以及基于加权的估计结果检测图像失真低且代码量在目标代码量以内的截断位置并执行所述位平面的截断。根据本发明的另一实施例,提供了一种图像解码装置,包括解码单元,被配置为对其中编码了通过执行块单位的图像数据的频带分割而获得的系数数据的编码数据进行解码;和带合成单元,被配置为在使通过所述解码获得的系数数据返回到重新排列前的顺序之后,执行多个频带中的每个频带的系数数据的频带合成并产生块单位的图像数据。根据本发明的另一实施例,提供了一种图像解码方法,包括以下步骤在解码单元中,对其中编码了通过执行块单位的图像数据的频带分割而获得的系数数据的编码数据进行解码;以及在带合成单元中,在使通过所述解码获得的系数数据返回到重新排列前的顺序之后,执行多个频带中的每个频带的系数数据的频带合成并产生块单位的图像数据。根据本发明的另一实施例,提供了一种在计算机中执行处理的程序,该处理包括以下步骤对其中编码了通过执行块单位的图像数据的频带分割而获得的系数数据的编码数据进行解码;以及在使通过所述解码获得的系数数据返回到重新排列前的顺序之后,执行多个频带中的每个频带的系数数据的频带合成并产生块单位的图像数据。本发明的程序是可以通过以计算机可读格式提供的存储介质或者通信介质提供给例如用于执行各种程序代码的通用计算机系统的程序,例如,存储介质诸如为光盘、磁盘和半导体存储器,通信介质诸如为网络。通过以计算机可读格式提供这种程序,实现了在计算机系统上与程序对应的处理。根据本发明,在用于从块单位的图像数据产生多个频带中的每个频带的系数数据的频带分割中,针对通过频带分割获得的低频带分量的系数数据重新排列空间位置,并执行低频带分量的系数数据的频带分割。另外,执行产生的所述多个频带中的每个频带的系数数据的编码。为此,即使当在块的端部扩展图像数据以重复频带分割时,使用扩展的图像数据产生的低频带分量的系数数据的位置也是不固定的。因此,由于使用扩展的图像数据而导致的频带分割精度降低的影响不会反复施加。即使当以块单位执行图像编码时,也可以获得具有低块失真的解码图像。图1是示出现有技术的图像处理系统的图;图2是示出现有技术的另一图像处理系统的图;图3是示出图像处理装置的结构的图;图4是示出图像处理装置的操作的流程图;图5是示出根据第一实施例的图像编码单元的结构的图;图6是示出根据第一实施例的图像编码单元的操作的流程图;图7A至7F是示出当使用5X3提升运算时带分割单元的操作的7图8是示出图像数据的扩展的图;图9A和9B是示出二维带分割的图;图10是示出改进离散小波变换(MDWT)的绝对值在位深度方向上的分解的图;图11是示出零位平面(ZBP)的变换表的图;图12是示出执行^P的索引IDfebp的熵编码方法的情况的操作的流程图;图13是示出执行^P的索引IDfebp的熵编码方法的情况的另一操作的流程图;图14是示出截断点(TP)的变换表的图;图15是示出执行TP的索引IDXtp的熵编码方法的情况的操作的流程图;图16是示出执行TP的索引IDXtp的熵编码方法的情况的另一操作的流程图;图17是示出有效位(SB)_flag的图;图18是示出执行位平面的熵编码方法的情况的操作的流程图;图19是示出R-D曲线的图;图20A至20C是示出截断单元的操作的(第一)图;图21A至21B是示出截断单元的操作的(第二)图;图22是示出截断单元的操作的流程图;图23是示出格式的例子的图;图M是示出根据第一实施例的图像解码单元的结构的图;图25是示出根据第一实施例的图像解码单元的操作的流程图;图沈是示出^P的索引IDfebp的解码操作的流程图;图27是示出TP的索引IDXtp的解码操作的流程图;图28是示出解码^P的索引IDfebp和TP的索引IDXtp的结果的图;图四是示出表示系数数据的绝对值的位流的解码操作的流程图;图30是示出估计数据的图;图31A至31F是示出带合成单元的操作的图;图32是示出图像解码单元的简单结构的图;图33是示出图像编码单元的简单结构的图;图34是示出根据第二实施例的图像解码单元的结构的图;图35是示出根据第二实施例的图像解码单元的操作的流程图;图36A至36D是示出哈尔(Haar)变换的变换过程的图;图37是示出ZBP正交变换结果DTtzbp、索引IDXtzbp和符号之间的关系的变换表;图38是示出上下文(context)、索引IDXtzbp和符号之间的关系的变换表;图39是示出根据第三实施例的图像解码单元的结构的图;图40是示出根据第三实施例的图像解码单元的操作的流程图;图41A至41D是示出逆哈尔变换的变换过程的图;图42是示出根据第四实施例的图像编码单元的结构的图;图43是示出根据第四实施例的图像解码单元的结构的图;图44是示出计算机的硬件结构的图。具体实施例方式下面,将描述实施本发明的实施例。如果图像数据包括多个分量信号(例如,图像数据是RGB信号、YUV信号等),则针对每个分量信号执行编码或解码。然而,为了简化说明,将仅仅描述一个分量信号的编码和解码。将按照下面的顺序给出说明1.图像处理装置的结构和操作2.第一实施例3.第二实施例4.第三实施例5.第四实施例6.通过计算机执行编码和解码的情况<1.图像处理装置的结构和操作〉图3是示出了图像处理装置10的结构的图。图像处理装置10包括图像编码单元20和图像解码单元30。图像编码单元20具有对从图像设备、图像处理系统单元12等输出的图像数据以MXN像素的块单位进行编码并输出编码数据的功能。编码数据例如通过诸如存储器、硬盘或网络的介质14被发送到图像解码单元30。图像解码单元30执行编码数据的解码并输出MXN像素的块单位的图像数据。图4是示出了图像处理装置10的操作的流程图。在步骤ST1,图像编码单元20执行图像数据的编码。图像编码单元20以MXN像素的块单位对图像数据进行编码,产生编码数据,并前进到步骤ST2。在步骤ST2,图像编码单元20通过存储器、介质或网络将编码数据发送到图像解码单元30。在步骤ST3,图像解码单元30执行编码数据的解码。图像解码单元30执行发送的编码数据的解码,并获得MXN像素的块单位的图像数据。图像编码单元20执行MXN像素的块单位的图像数据的编码。另外,图像解码单元30执行由图像编码单元20产生的编码数据的解码并获得MXN像素的块单位的图像数据。这样,可以以块单位执行处理并且容易执行随机访问等。因为针对不必要的图像部分的块不必执行编码或解码,所以可以在保持存储器访问效率的同时减少存储器容量和总线带宽。图像编码单元20执行图像数据的编码,使得即使当以块单位执行图像数据的编码时也减轻块失真。<2.第一实施例>[2-1.第一实施例的图像编码单元的结构]图5是示出了根据第一实施例的图像编码单元的结构的图。图像编码单元20-1包括DC电平位移单元21、带分割单元22、有效位(SB)/零位平面GBP)检测单元23、熵编码单元24、失真特性估计单元25、截断单元沈以及打包单元27。DC电平位移单元21执行图像数据的DC分量的电平位移,以由带分割单元22高效执行频带分割。DC电平位移单元21例如从MXN像素的块单位的输入图像数据DVa减去一DC值,并将相减值输出到带分割单元22。DC电平位移单元21例如使用MXN像素的块内的图像数据DVa的平均值或者图像数据DVa的动态范围的一半的值作为DC值。另外,该DC值可由图像编码单元20-1和下面描述的图像解码单元30-1预先设置为相同值,或者可作为附加信息附加到编码数据并被提供给图像解码单元30-1。9带分割单元22执行从DC电平位移单元21输出的图像数据DVb的频带分割。带分割单元22在针对通过频带分割获得的低频带分量的系数数据重新排列空间位置之后再次执行频带分割,并产生MXN像素的块内的图像数据的多个频带的每个频带的系数数据。带分割单元22例如使用改进离散小波变换(MDWT)执行频带分割。在MDWT中,除了离散小波变换(DWT)之外,为了减轻易于在MXN像素的块边界作为失真出现的、带分割精度降低的影响,针对低频带分量的系数数据重新排列空间位置。稍后将描述MDWT的细节。带分割单元22将通过执行MDWT获得的MDWT系数数据的绝对值CEa输出到SB/ZBP检测单元23、熵编码单元M和失真特性估计单元25。此外,带分割单元22将通过执行MDWT获得的MDWT系数数据的代码CEs输出到截断单元26。SB/ZBP检测单元23从MDWT系数数据的绝对值检测有效位(SB)和零位平面(ZBP)。SB/ZBP检测单元23将SB检测结果DTsb输出到熵编码单元M和失真特性估计单元25。此外,SB/ZBP检测单元23将ZBP检测结果DTzbp提供给熵编码单元对、失真特性估计单元25和截断单元沈。熵编码单元M使用MDWT系数数据的绝对值CEa、SB检测结果DTsb和^P检测结果DTzbpJfMDWT系数数据的绝对值CEa的位平面、ZBP和截断点(TP)进行熵编码。熵编码单元M将通过执行熵编码获得的位流BM输出到截断单元26。另外,熵编码单元M将通过执行熵编码获得的位流长度DTbs输出到失真特性估计单元25和截断单元26。另外,熵编码单元M将通过执行熵编码获得的模式标志MF输出到打包单元27。失真特性估计单元25基于MDWT系数数据的绝对值CEa、SB检测结果DTsb、ZBP检测结果DTzbp和位流长度DTbs执行失真特性估计,并将失真特性估计结果Erd输出到截断单元沈。具体地,当执行MDWT系数数据的截断时代码量的变化与图像的失真量的变化之间的关系被估计为失真特性。截断单元沈使用位流BSa、位流长度DTbs、ZBP检测结果DTzbp、代码CEs和失真特性估计结果Erd,决定使得代码量在预定目标代码量以内的编码对称的位流和代码。也就是说,截断单元26执行位流和代码的截断以使得图像失真低并且代码量在目标代码量以内,并且将截断的位流(包括代码)BSb输出到打包单元27。打包单元27将截断的位流BSb和模式标志MF转换成预定格式并制备可由图像解码单元30-1解码的编码数据Dpd。打包单元27将制备的编码数据Dpd从图像编码单元20-1输出。[2-2.第一实施例的图像编码单元的操作]图6是示出了根据第一实施例的图像编码单元的操作的流程图。在步骤ST11,图像编码单元20-1执行DC电平位移。图像编码单元20-1通过DC电平位移单元21对输入图像数据DVa执行DC电平位移,然后前进到步骤ST12。在步骤ST12,图像编码单元20-1执行MDWT。图像编码单元20_1通过带分割单元22对进行了DC电平位移的图像数据DVb执行MDWT,获得MDWT系数数据的绝对值CEa和代码CEs,然后前进到步骤ST13。在步骤ST13,图像编码单元20-1执行SB和ZBP检测。图像编码单元20_1通过SB/ZBP检测单元23从MDWT系数数据的绝对值CEa检测SB和^P,然后前进到步骤ST14。在步骤ST14,图像编码单元20-1执行熵编码。图像编码单元20_1通过熵编码单元M针对MDWT系数数据的绝对值CEa的位平面、SB检测结果DTsb和ZBP检测结果D1Tzbp执行熵编码,获得位流BSa、位流长度DTbs和模式标志MF,然后前进到步骤ST15。在步骤ST15,图像编码单元20-1执行失真特性估计。图像编码单元20-1通过失真特性估计单元25基于MDWT系数数据的绝对值CEa、SB检测结果DTsb、ZBP检测结果DTzbp和位流长度DTbs执行失真特性估计,然后前进到步骤ST16。在步骤ST16,图像编码单元20-1执行截断。图像编码单元20_1通过截断单元沈基于位流BSa、位流长度DTbs、ZBP检测结果DTzbp、代码CEs和失真特性估计结果Erd,根据需要执行截断。当位流长度不适合目标代码长度时,图像编码单元20-1执行位流和代码的截断,并且当位流BSb的代码长度等于或小于目标代码长度时前进到步骤ST17。在步骤ST17,图像编码单元20-1执行到预定格式的转换。图像编码单元20_1使用打包单元27将包括模式标志MF的附加信息和截断的位流BSb转换成预定格式,产生编码数据Dpd,从而完成编码处理。[2-3.图像编码单元的各单元的操作]接下来,将描述图像编码单元的主要部分的操作。[2-3-1.带分割单元的操作]带分割单元22例如除了离散小波变换(DWT)以外还针对低频带分量的系数数据重新排列空间位置,并且减轻易于在MXN像素的块边界作为失真出现的、带分割精度降低的影响。带分割单元22可以使用诸如DWT的任何带分割滤波器。图7A至7F是示出了当使用5X3提升(lifting)配置(其中例如甚至采用JPEG20-100标准)时带分割单元22的操作的图。图7A示出了从DC电平位移单元21输出的块单位的图像数据DVb并且示出了一个块单位例如包括8个像素的情况。带分割单元22通过针对块单位的图像数据DVb,返回基于块的端部的使得图像的边界具有对称性从而获得相同像素的输出的信号,来执行图像数据的扩展。例如,当图像数据DVb在像素位置P(O)至P(N-I)如图8所示时,带分割单元22执行图像数据的扩展使得图像的边界具有对称性。也就是说,像素位置P(I)的信号被扩展到像素位置P(-1)的信号,像素位置P(2)的信号被扩展到像素位置P(-2)的信号,像素位置P(N-2)的信号被扩展到像素位置P(N)的信号。另外,执行图像数据的扩展使得当执行DWT时获得相同像素的输出ο带分割单元22执行图像数据DVb的扩展,并产生图7B所示的扩展图像数据。另外,如图7C所示,带分割单元22使用该扩展图像数据进行运算并产生高通分量的系数数据CE-h。另外,用右向上升斜线表示高通分量的系数数据CE-h。接下来,如图7D所示,带分割单元22使用扩展图像数据和高通分量的系数数据CE-h进行运算,并产生低频带分量的系数数据CE-I。另外,用左向上升斜线表示低频带分量的系数数据CE-I。另外,带分割单元22执行高通分量的系数数据CE-h和低频带分量的系数数据CE-I的去交织,以产生如图7E所示的包括低频带分量的系数数据CE-I的子带和包括高通分量的系数数据CE-h的子带。子带是指针对每个频带分类的系数数据的集合。另外,将使用两个扩展信号计算的高通分量的系数数据CE-h(-l)从高通分量的子带中排除。这样,如果执行提升运算或去交织,则使用扩展图像数据的两端的带分割精度降低。特别地,在低频带分量的系数数据的情况下,从使用用与两个扩展像素对应的图像数据计算的高通分量的系数数据CE-h(-l)来计算低频带分量的系数数据CE-I(O)的观点看,左端对于带分割精度降低的影响敏感。如果通过将低频带分量的子带视为原始图像通过重复的DWT执行带分割,则带分割精度降低的影响被重复地施加于低频带分量的左侧。为此,如果通过以MXN像素的块单位对图像数据进行编码来执行系统的带压缩或存储器的削减,则左端的带分割精度降低的影响易于作为失真出现在MXN像素的块边界上。因此,带分割单元22减轻了易于在MXN像素的块边界上出现的带分割精度降低的影响,使得即使在块尺寸小的情况下也不会引起视觉上显著的劣化。具体地说,对于通过执行去交织获得的低频带分量的子带,执行空间位置的重新排列使得下一频带分割不与两个扩展信号一起使用用两个扩展信号计算的低频带分量的系数数据。例如,带分割单元22反转低频带分量的子带的系数数据的顺序,如图7F所示。在此情况下,对于下一频带分割的低频带分量的系数数据的计算,不与两个扩展信号一起使用用两个扩展信号计算的低频带分量的系数数据CE-I(0)。因此,带分割单元22能够在重复带分割时将带分割精度降低的影响分散,并且防止易于作为失真出现在MXN像素的块边界上的带分割精度降低的影响。低频带分量的子带的系数数据的顺序不限于图7F所示的顺序,可以使用任何顺序,只要可由图像解码单元30-1执行恢复即可。可以由图像编码单元20-1和图像解码单元30-1预先设置该顺序。如果将用于识别重新排列顺序的信息附加到编码数据,则图像解码单元30-1可准确地执行恢复。另外,与现有技术的DWT相似,带分割单元22不仅可针对一维块,而且可针对如图9A或9B所示的二维MXN像素块执行各种带分割。另外,在水平方向和垂直方向上可使用不同的滤波器。在带分割滤波器中,可使用除了DWT以外的滤波器。在图9A中,频率的高低为“IHH>IHL=ILH>2HH>2HL=2LH>3HH>3HL=3LH>3LL”。在图9B中,频率的高低为"1HH>IHL=ILH>2HL>3HL>3LL”。[2-3-2.SB/ZBP检测单元的操作]将说明SB/ZBP检测单元23的操作。图10示出了从带分割单元22输出的MDWT系数数据的绝对值在位深度方向上的展开。另外,每个位深度平面被称为位平面。在图10中,例如,子带3L的系数数据是“74,9”,子带3H的系数数据是“21,19”,子带2H的系数数据是“10,54,59,21”,子带IH的系数数据是“13,9,25,20-1,5,1,0,0”。如果MDffT系数数据是“74(十进制数)”,则使用9比特的位流在位深度方向上由“001001010”表示系数数据。另外,频率的高低为“1H>2H>3H>3L”。SB是当从最高有效位(MSB)侧到最低有效位(LSB)侧观看每个系数数据的绝对值时最初变为“1”的位。在图10中,被圆形围绕的位对应于SB。ZBP指示当把MDWT系数数据的绝对值划分为包括J个系数数据的子块时子块内MSB侧的SB的上一层所处位平面。在图10中,当子块尺寸为J=2时,由斜线表示的位平面是^P。在位平面中,SB、ZBP和下述的TP索引设置在位深度方向上。在图10中,MSB的位平面的索引ID)(bp、MSB的位平面位置的SB的索引IDXsb以及TP的索引IDXtp被设置为“0”。另外,LSB的位平面的索引IDXbp,LSB的位平面的SB的索引IDXsb以及TP的索引IDXtp被设置为“8”。因为ZBP表示位于SB的上一层的位平面,所以^P的索引IDfebp被设置为通过将“1”与SB的索引IDXsb相加而获得的值,如图10所示。SB/ZBP检测单元23执行用于获得SB的索引IDXsb和ZBP的索引IDfebp的操作。即,如图10所示,SB/ZBP检测单元23针对每个MDWT系数数据获得SB的索引IDXsb,作为SB检测结果DTsb。另外,针对包括J个系数数据的每个子块获得^P的索引IDXzbp,并且ZBP检测结果被设置为DTzbp。尽管图10示出了一维MDWT系数数据的绝对值,但是位精度或带分割可以不同,或者可以使用二维数据。也就是说,ZBP的子块尺寸可以是JXK。尽管在图10中位平面的子块尺寸等于^P的尺寸,但是可以使用不同的尺寸,例如EXF。[2-3-3.熵编码单元的操作]将说明熵编码单元M的操作。熵编码单元M对作为ZBP检测结果DTzbp的索引IDXzbp,TP的索引IDXtp和位平面这三种类型进行熵编码。首先,将说明^P的索引IDfebp的熵编码方法。在每个子块中存在一个观?。由于当属于低频带分量时ZBP在统计学上有具有小索引的倾向,所以使用ZBP所属于的频带(子带)作为上下文,索引IDfebp被变为作为编码数据的符号。具体地,使用图11所示的变换表,选择^P的索引IDfebp与ZBP所属于的子带的组合所对应的符号作为编码结果。图11所示的变换表使用例如哈夫曼表等,该表是基于统计数据准备的。如果当属于低频带分量时ZBP在统计学上有具有小索引的倾向,则例如在子带3L中,索引IDfebp的值小的符号00被设置为短位流。另外,索引IDfebp的值大的符号09等被设置为比符号00长的位流。另外,例如,在子带IH中,索引IDfebp的值大的符号09被设置为短位流。另外,索引IDfebp的值小的符号00等被设置为比符号09长的位流。通过基于索引IDfebp的统计数据设置符号的位长度,可以提高^P的编码效率。另外,变换表不限于使用一个变换表的情况,可以从多个变换表中选择用于编码的变换表。例如,使用两种类型的表,包括适用于相对符合统计数据的^P的索引IDXzbp(编码简单)的^P_EaSy_table和适用于偏离统计数据的ZBP的索引IDfebp(编码困难)的ZBP_Hard_table。图12是示出了使用两种类型的变换表执行ZBP的索引IDfebp的熵编码方法的情况下的操作的流程图。在步骤ST21,熵编码单元M执行^P_Hard_table的编码。熵编码单元M从HarcLtable选择ZBP所属于的频带和与ZBP的索引IDfebp对应的符号,以执行索引IDfebp的编码。另外,熵编码单元对将对子块的索引IDfebp进行编码的结果的位长度相加,获得MXN像素的块单位的位流长度LB!,然后前进到步骤ST22。在步骤ST22,熵编码单元M使用^P_Easy_table执行编码。熵编码单元M从ZBP_Easy_table选择ZBP所属于的频带和与^P的索引IDfebp对应的符号,以执行索引IDXzbp的编码。另外,熵编码单元M将对子块的索引IDfebp进行编码的结果的位长度相加,获得MXN像素的块单位的位流长度LBk,然后前进到步骤ST23。在步骤ST23,熵编码单元M确定位流长度LBS1是否短于位流长度LBk。当位流长度LBa1短于位流长度LBk时,熵编码单元M前进到步骤ST24,当位流长度LBS1不短于位流长度LBk时,熵编码单元M前进到步骤ST25。在步骤STM,熵编码单元M输出使用^PJfarcLtable的编码结果。另外,在步骤13ST25,熵编码单元M输出使用^P_Easy_table的编码结果。这样,如果使用多个变换表,则通过使用所有变换表执行编码并采用具有最小位流长度的变换表来作出使用哪个变换表的决定。图13是示出了使用两种类型的变换表执行ZBP的索引IDfebp的熵编码方法的情况下的另一操作的流程图。在步骤SD6,熵编码单元M执行ZBP平均值计算。熵编码单元M计算MXN像素的块单位的^P的索引IDfebP的平均值WZavg,然后前进到步骤ST27。在步骤ST27,熵编码单元M确定平均值WZavg是否小于阈值WZth。当确定^P的索引IDfebp的平均值WZavg小于阈值WZth时,熵编码单元M前进到步骤ST28,当确定ZBP的索引ID)(zbp的平均值WZavg不小于阈值WZth时,熵编码单元24前进到步骤ST29。在步骤SD8,熵编码单元M输出使用^PJfarcLtable的编码结果。熵编码单元24从^PJfarcLtable选择ZBP所属于的频带和与^P的索引IDfebp对应的符号,并输出所选择的符号作为编码结果。在步骤SD9,熵编码单元M输出使用^P_EaSy_table的编码结果。熵编码单元24从^P_EaSy_table选择ZBP所属于的频带和与^P的索引IDfebp对应的符号,并输出所选择的符号作为编码结果。这样,如果使用多个变换表,则基于^P的索引IDfebp的平均值WZavg作出使用哪个变换表的决定。另外,如果使用多个变换表,为了使图像解码单元30-1可以确定使用了哪个变换表进行编码,设置模式标志以能够确定编码所用的变换表。接下来,将说明TP的索引IDXtp的熵编码方法。与ZBP相似,例如,针对图14所示的每个子块使用哈夫曼表对TP的索引IDXtp进行编码以产生位流。因为TP由截断单元26决定,所以当执行熵编码时,TP的索引IDXtp尚未决定。因此,可变成TP的索引IDXtp的所有东西都被熵编码。具体地,位于^P的下一层的位平面的所有位置的TP的索引IDXtp被熵编码,使得在位于图10的ZBP之下的位平面的任何位置处设置TP。另外,与^P的情况相似,可以使用多个变换表。例如,使用两种类型的表,包括适用于相对符合统计数据的TP的索引(编码简单)的TP_EaSy_table和适用于偏离统计数据的TP的索引(编码困难)^TP_!feird_t£ible0图15是示出了使用两种类型的变换表执行TP的索引IDXtp的熵编码方法的情况下的操作的流程图。在步骤ST31,熵编码单元M确定是否选择了^PJfarcLtable。当选择了^P_Hard_table时,熵编码单元M前进到步骤ST32,当未选择^P_Hard_table时,熵编码单元M前进到步骤ST33。在步骤ST32,熵编码单元M输出使用TP_Hard_table的编码结果。熵编码单元24从TP_Hard_table选择TP所属于的频带和与TP的索引IDXtp对应的符号以执行索引IDXtp的编码,并输出选择的符号作为编码结果。在步骤ST33,熵编码单元M输出使用TP_EaSy_table的编码结果。熵编码单元24从TP_EaSy_table选择TP所属于的频带和与TP的索引IDXtp对应的符号以执行索引IDXtp的编码,并输出选择的符号作为编码结果。这样,如果使用多个变换表,通过采用趋于与ZBP所采用的变换表相似的变换表,作出使用哪个变换表的决定。图16是示出了使用两种类型的变换表执行TP的索引IDXtp的熵编码方法的情况下的另一操作的流程图。在步骤ST36,熵编码单元M确定平均值WZavg是否小于阈值WZth。当确定了^P的索引IDfebp的平均值WZavg小于阈值WZth时,熵编码单元M前进到步骤ST37,当ZBP的索引IDfebp的平均值WZavg不小于阈值WZth时,熵编码单元M前进到步骤ST38。在步骤ST37,熵编码单元M输出使用TP_Hard_table的编码结果。熵编码单元24从TP_Hard_table选择TP所属于的频带和与TP的索引IDXtp对应的符号以执行索引IDXtp的编码,并输出选择的符号作为编码结果。在步骤ST38,熵编码单元M输出使用TP_EaSy_table的编码结果。熵编码单元24从TP_EaSy_table选择TP所属于的频带和与TP的索引IDXtp对应的符号以执行索引IDXtp的编码,并输出选择的符号作为编码结果。这样,如果使用多个变换表,则通过使用^P的索引IDfebp的平均值WZavgJtm使用哪个变换表的决定。如图15和16所示,使用ZBP的索引IDfebp的原因是因为当获得SB的索引IDXsb和ZBP的索引IDfebp时没有决定TP,因而TP的索引自身未被用作上下文。另外,这是因为使用^P的索引IDfebp和TP的索引IDXtp之间的相关性执行高效编码。另外,如果使用多个变换表,为了使图像解码单元30-1可以确定使用了哪个变换表进行编码,设置模式标志以确定编码所用的变换表。接下来,将说明位平面的编码方法。在位平面中,如图10所示,在位深度方向分解MDWT系数数据的绝对值。另外,位平面被划分成子块。例如,在图10中,最左侧子带3L的子块(索引ID)(bk为“0”的子块)的索引ID)(bp为“2”的位平面为“1,0”。使用下面的方法对该值“1,0”进行编码。即使在位平面的熵编码中,类似地,通过例如参照一个或多个哈夫曼表产生位流。在位平面的熵编码中,与ZBP或TP不同,对位平面的系数位(例如,值“1,0”)进行编码。作为变换表的上下文,使用位平面的索引ID)(bp、位平面所属于的子带、下述的SB_flag等。如果将位平面的索引ID)(bp用作上下文,则可以使用位平面的“1”和“0”的分布的统计。也就是说,如果位平面的位深度浅(索引小),则位平面的值倾向于变为“0”。如果位平面的位深度深(索引大),则作为位平面的值,“1”和“0”倾向于具有相同的分布。使用这种分布的统计,可以提高编码效率。如果将位平面所属于的子带用作上下文,则因为存在MDWT系数数据的绝对值在较低频带中较大的倾向,所以可以使用该倾向与位平面的“0”和“1”的倾向之间的相关性。SB_flag是使用SB状态的上下文,具体地说,是表示在对待编码位平面进行编码的情况下在比该待编码位平面高的位处是否存在SB的标志。SB_flag是基于作为SB检测结果DTsb的索引IDXsb而产生的。例如,在图17中,被圆形围绕的位是由索引IDXsb表示的SB。如果对索引IDXbp为“4”的位平面进行编码,则SB_flag为“1,0”。如果SB_flag包括“0”,则位平面的值也倾向于为“0”。因此,通过使用SB_flag例如作为哈夫曼表的上下文,可以提高编码效率。即使在位平面的编码中,也可以使用多个变换表。图18是示出使用两种类型的变换表执行位平面的熵编码方法的情况下的操作的流程图在步骤ST41,熵编码单元M执行使用BitPlane_Hard_table的编码。熵编码单元M使用BitPlaneJfarcLtable执行位平面的编码,获得位流长度LBSPh,然后前进到步骤SI^。在步骤ST42,熵编码单元M执行使用BitPlane_Easy_table的编码。熵编码单元M使用BitPlane_EaSy_table执行位平面的编码,获得位流长度LBSPe,然后前进到步骤SI^。在步骤ST43,熵编码单元M确定位流长度LBSWi是否短于位流长度LBSPe。如果位流长度LBSW1短于位流长度LBSPe,则熵编码单元M前进至步骤ST44,如果位流长度LBSPh不短于位流长度LBSPe,则熵编码单元M前进至步骤ST45。在步骤ST44,熵编码单元M输出通过使用BitPlane_Hard_table执行位平面的编码而获得的编码结果。另外,在步骤ST45,熵编码单元M输出通过使用BitPlane_EaSy_table执行位平面的编码而获得的编码结果。这样,如果使用多个变换表,则通过按所有变换表执行编码并采用具有最小位流长度的变换表,作出使用哪个变换表的决定。另外,如果使用多个变换表,为了使图像解码单元30-1可以确定使用了哪个变换表进行编码,设置模式标志以确定编码所用的变换表。在^P、TP和位平面的各个熵编码中,当产生位流时,熵编码单元M记录位流长度。它们在后段的失真特性估计单元25中是必要的。特别地,在每个位平面和每个子块中,有必要记录TP和位平面的位流长度,以执行截断。[2-3-4.失真特性估计单元的操作]将说明失真特性估计单元25的操作。截断单元沈执行截断以使得作为熵编码结果获得的位流BM和代码CEs适合目标代码长度。截断单元沈确定使用哪个位平面的哪个位流以及截断哪个位平面的哪个位流,从而在目标代码长度内获得最佳图像质量。为此,失真特性估计单元25估计表示代码量和失真之间的关系的失真特性,以确定由截断单元26截断哪个位平面。失真特性估计单元25是用于估计表示代码量和失真之间的关系的失真特性的算法,并使用例如在"DavidTaubman,MichaelMarce11in,JPEG2000ImageCompressionFundamentals,StandardsandPractice(TheSpringerInternationalSeriesinEngineeringandComputerScience)",paragraph8.3.5"DISTORTIONCOMPUTATION,,中公开的方法。失真特性估计单元25从子块尺寸的每个位平面的代码长度(ARi(P))和当截断子块的位平面时产生的编码失真(ADi(P)),计算表示代码长度的编码失真的变化的斜率(ADi(ρ)/ARi(ρ))。式⑴示出了编码失真(AD严)的计算式。/ΛADpi=GwA^Σφ-])+ΣΤΝ.Ρ+1>[』])…⑴^j5v^lj]=!Iν^'[j]>!)在式(1)中,“ρ”表示位平面的索引ID)(bp,“i”表示在图10的水平方向上分配的子块的索引ID)(bk,“j”表示作为矢量的子块内的MDWT系数数据的集合。另外,“(”表示16第b个子带(频率)的权重,Δ表示量化步幅。式⑴中的Ts等由式(2)至(5)表示。权利要求1.一种图像编码装置,包括带分割单元,被配置为执行用于从块单位的图像数据产生多个频带中的每个频带的系数数据的频带分割,并且对于该频带分割,在针对通过频带分割获得的低频带分量的系数数据重新排列空间位置后执行该低频带分量的系数数据的频带分割;和编码单元,被配置为执行所述多个频带中的每个频带的系数数据的编码。2.根据权利要求1所述的图像编码装置,其中,带分割单元在所述块的端部扩展图像数据以执行频带分割并移动利用扩展的图像数据产生的系数数据。3.根据权利要求2所述的图像编码装置,其中,带分割单元在所述低频带分量的系数数据中反转系数数据的位置,以移动使用所述扩展的图像数据产生的系数数据。4.根据权利要求2所述的图像编码装置,其中,带分割单元执行提升运算和去交织,产生所述多个频带中的每个频带的系数数据。5.根据权利要求1所述的图像编码装置,还包括失真特性估计单元,被配置为针对通过对每预定数目的系数数据进行划分而获得的每个子块,估计当所述系数数据的位平面被截断时图像的失真量的变化;和截断单元,被配置为基于估计结果检测图像失真低且代码量在目标代码量以内的截断位置并执行所述位平面的截断,其中,失真特性估计单元针对所述估计结果进行加权,并且所述截断单元基于加权的估计结果执行所述位平面的截断。6.根据权利要求5所述的图像编码装置,其中,失真特性估计单元针对所述估计结果进行加权,以使得位于所述块的端部的子块与其它位置的子块相比不容易被截断。7.根据权利要求6所述的图像编码装置,还包括检测单元,该检测单元被配置为检测所述系数数据的最高有效位平面和每个子块的零位平面,其中,编码单元根据一个或多个上下文对检测单元和截断单元的检测结果和所述系数数据进行编码。8.根据权利要求7所述的图像编码装置,还包括零位平面正交变换单元,被配置为执行表示由检测单元检测的零位平面的数值串的正交变换,其中,编码单元使用由零位平面正交变换单元获得的变换结果来代替检测单元的零位平面的检测结果。9.一种图像编码方法,包括以下步骤在带分割单元中,执行用于从块单位的图像数据产生多个频带中的每个频带的系数数据的频带分割,并且在该频带分割中,在针对通过频带分割获得的低频带分量的系数数据重新排列空间位置后执行该低频带分量的系数数据的频带分割;以及在编码单元中,执行所述多个频带中的每个频带的系数数据的编码。10.一种在计算机上执行处理的程序,该处理包括以下步骤执行用于从块单位的图像数据产生多个频带中的每个频带的系数数据的频带分割,并且对于该频带分割,在针对通过频带分割获得的低频带分量的系数数据重新排列空间位置后执行该低频带分量的系数数据的频带分割;以及执行所述多个频带中的每个频带的系数数据的编码。11.一种图像编码装置,包括带分割单元,被配置为执行块单位的图像数据的频带分割并产生多个频带中的每个频带的系数数据;编码单元,被配置为执行所述多个频带中的每个频带的系数数据的编码;失真特性估计单元,被配置为针对通过对每预定数目的系数数据进行划分而获得的每个子块,估计当所述系数数据的位平面被截断时图像的失真量的变化并针对估计结果进行加权;和截断单元,被配置为基于加权的估计结果检测图像失真低且代码量在目标代码量以内的截断位置并执行所述位平面的截断。12.根据权利要求10所述的图像编码装置,其中,失真特性估计单元针对所述估计结果进行加权,以使得位于所述块的端部的子块与其它位置的子块相比不容易被截断。13.一种图像编码方法,包括以下步骤在带分割单元中,执行块单位的图像数据的频带分割并产生多个频带中的每个频带的系数数据;在编码单元中,执行所述多个频带中的每个频带的系数数据的编码;在失真特性估计单元中,针对通过对每预定数目的系数数据进行划分而获得的每个子块,估计当所述系数数据的位平面被截断时图像的失真量的变化并针对估计结果进行加权;以及在截断单元中,基于加权的估计结果检测图像失真低且代码量在目标代码量以内的截断位置并执行所述位平面的截断。14.一种在计算机上执行处理的程序,该处理包括以下步骤执行块单位的图像数据的频带分割并产生多个频带中的每个频带的系数数据;执行所述多个频带中的每个频带的系数数据的编码;针对通过对每预定数目的系数数据进行划分而获得的每个子块,估计当所述系数数据的位平面被截断时图像的失真量的变化并针对估计结果进行加权;以及基于加权的估计结果检测图像失真低且代码量在目标代码量以内的截断位置并执行所述位平面的截断。15.一种图像解码装置,包括解码单元,被配置为对编码数据进行解码,在该编码数据中通过执行块单位的图像数据的频带分割而获得的系数数据被编码;和带合成单元,被配置为在使通过所述解码获得的系数数据返回到重新排列前的顺序之后,执行多个频带中的每个频带的系数数据的频带合成并产生块单位的图像数据。16.一种图像解码方法,包括以下步骤在解码单元中,对编码数据进行解码,在该编码数据中通过执行块单位的图像数据的频带分割而获得的系数数据被编码;以及在带合成单元中,在使通过所述解码获得的系数数据返回到重新排列前的顺序之后,执行多个频带中的每个频带的系数数据的频带合成并产生块单位的图像数据。17.一种在计算机上执行处理的程序,该处理包括以下步骤对编码数据进行解码,在该编码数据中通过执行块单位的图像数据的频带分割而获得的系数数据被编码;以及在使通过所述解码获得的系数数据返回到重新排列前的顺序之后,执行多个频带中的每个频带的系数数据的频带合成并产生块单位的图像数据。全文摘要本发明涉及图像编码装置和方法、图像解码装置和方法、以及程序。该图像编码装置包括带分割单元,被配置为执行用于从块单位的图像数据产生多个频带中的每个频带的系数数据的频带分割,并且对于该频带分割,在针对通过频带分割获得的低频带分量的系数数据重新排列空间位置后执行该低频带分量的系数数据的频带分割;和编码单元,被配置为执行所述多个频带中的每个频带的系数数据的编码。文档编号H04N7/26GK102196265SQ20111005411公开日2011年9月21日申请日期2011年3月8日优先权日2010年3月16日发明者和田祐司,岛内和博,池田广志,田原大资申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1