纹理图案自适应分区块变换的制作方法

文档序号:7739364阅读:276来源:国知局
专利名称:纹理图案自适应分区块变换的制作方法
技术领域
本发明在编码图像技术领域中做出。更具体地,本发明涉及使用分区块变换(partitioned block transform)编码图像的图像块。
背景技术
为了编码图像,本领域中熟知使用离散余弦变换(DCT)或离散小波变换(DWT)来变换图像的图像块。例如,DCT通常在混合视频编码构架(framework)中使用来利用空间域中的冗余并且展现出对于高度相关的信号的极好的能量紧凑性(energy compaction),以及可分离、对称和正交的性质。当前图像/视频编码标准通常使用2维可分离DCT或DWT用于编码,其基函数(basis function)可以通过将水平定向的I维基函数与同一函数的垂直定向集合(set)相乘来生成。例如,对于示例性NxN个块,首先在原始像素上垂直地进行N个N点I维DCT操作(第一 I维变换)以便生成NxN个中间系数;其次在中间系数上水平地进行N个N点I维DCT操作(第二 I维变换)以便生成更进一步变换系数。这种类型的方案趋向对于严格水平和垂直定向的图像纹理细节工作良好,而环状(ringing)伪像趋向在其它边缘定向(orientation)周围出现,这显著地恶化视觉质量。在C. L. Chang 和 B. Girod 的 “Directional-Adaptive Partitioned BlockTransform for Image Coding”, ICIP 2008中识别并解决了这个问题。在这个论文中,作者提出方向自适应分区块变换(DA-PBT),根据该变换,图像块被划分成定向分区,分区边界与第一I维变换的方向对齐并且第二I维变换的长度被限制使得它们不延伸越过分区边界。这确保了 I维变换的最大所需长度等于N。

发明内容
虽然限制I维变换的最大需要长度,C. L. Chang和B. Girod提出的DA-PBT可能需要多于N个第一 I维变换或者多于N个第二 I维变换。此外,为了应用DA-PBT,在图像块中需要存在方向。本发明的发明人认识到通过将纹理图案相关联的可逆映射应用到图像块的至少一个部分的第一分区的像素来累积所述第一分区的像素(根据所述纹理图案相关联的可逆映射所相关联的当前纹理图案来分区所述图像块产生所述第一分区),允许将所需第一 I维变换的最大数量限制为N,并且还将所需第二 I维变换的最大数量限制为N。像素的累积不仅达到最大所需I维变换的这个限制,其使得对硬件的更高效实施以及改进编码性能成为可能,而且允许根据纹理图案的进一步分区,所述纹理图案包括以下中的至少一个多个条带、具有高度不对称像素分布的纹理以及非方向性纹理图案。 因此,提出了一种用于编码图像的图像块的方法和设备,其中,该方法包括以下步骤通过将纹理图案关联的可逆映射应用到图像块的至少一个部分的第一分区的像素来累积所述第一分区的像素,根据所述纹理图案相关联的可逆映射所相关联的当前纹理图案分区所述图像块产生所述第一分区,以及熵编码允许当前纹理图案的重构或检索的数据。提出的设备包括被适配为执行所述图像累积步骤的部件,以及被适配为熵编码允许当前纹理图案的重构或检索的数据的部件。在一个实施例中,其中图像块包括N乘M个像素,其中N等于或大于M,提出的编码方法包括以下步骤根据与当前纹理图案相关联的当前纹理图案自适应分区将图像块的至少一部分分区成第一像素子集以及至少第二像素子集,使用纹理图案相关联的扫描顺序在像素序列的元序列中安排第一子集的像素,所述纹理图案相关联的扫描顺序与当前纹理图案相关联并且像素序列的每一个包括至多N个像素,生成至多M个进一步像素序列的进一步元序列,其中所述进一步像素序列的每一个包括一个像素序列或者元序列的子序列的像素序列级联,其中所述进一步像素序列的每一个包括至多N个像素,通过变换所述进一步像素序列生成系数序列,通过对所述系数序列的一维变换生成进一步系数序列,通过对所述进一步系数序列中包括的系数进行量化和扫描、生成更进一步系数序列(yet further coefficient sequence),其中根据编码扫描顺序完成扫描,熵编码所述更进一步系数序列,以及熵编码与当前纹理图案相关联的指示,所述指示是允许检索或重构当前纹理图案的参考。在所述示例性实施例中,所述方法被适配使得所述当前纹理图案自适应分区可以与包括多个条带、不对称纹理图案或非方向性纹理图案的纹理图案相关联。可以与第一子集的像素相似地对待至少第二子集的像素,但编码扫描顺序是不同的。可以应用第一子集和至少第二子集之间的进一步系数预测。其中所述分区出现的所述至少一部分可以从边缘检测、分段或强度分布分类产生。本发明还提出一种用于解码图像的编码图像块的方法,其中所述图像块包括N乘M个像素,其中N等于或大于M,所述方法包括通过执行以下步骤来解码图像块的至少一部分的第一子集(a)熵解码第一系数的编码序列,(b)熵解码与当前纹理图案相关联的编码指示,并且使用该指示用于通过从存储器中检索或者通过基于该指示的重构来生成当前纹理图案,(c)使用解码扫描顺序用于在至多M个系数序列的元序列中安排所述第一系数,所述至多M个系数序列的每一个包括至多N个第一系数,(d)在步骤(c)中安排所述第一系数之前、同时或之后去量化所述第一系数,(e)通过对所述至多M个去量化系数序列的一维变换、生成至多M个进一步系数序列,Cf)通过变换所述至多M个进一步系数序列生成至多M个第一像素序列,以及(g)使用与所述当前纹理图案相关联的分布图案用于在图像块上分布生成的像素。在一个实施例中,所述解码方法还包括通过将步骤(a)、(b)、(C)、(d)、(e)和(f)应用于第二系数的序列生成至多M个第二像素序列,以及使用所述分布图案用于以所述至多M个生成的第二像素序列的像素填充所述图像块的所述至少一部分的剩余,来解码编码图像块的所述至少一部分的第二子集,所述剩余是在所述第一子集生成之后的所述图像块的所述至少一部分的空剩余部分。并且提出了一种用于解码图像的编码图像块的至少一部分的第一子集的对应设备,其中使用纹理图案自适应分区的块变换编码所述至少一部分,并且所述图像块包括N乘M个像素,其中N等于或大于M。所述用于解码的设备包括解码部件,用于熵解码第一系数的编码序列,所述解码部件被适配为熵解码与当前纹理图案相关联的编码指示,并且使用该指示用于通过从存储器中检索或者通过基于该指示的重构来生成当前纹理图案,第一安排部件,被适配为使用解码扫描顺序用于在至多M个系数序列的元序列中安排所述第一系数,所述至多M个系数序列的每一个包括至多N个第一系数,去量化部件,用于去量化所述第一系数,用于通过对所述至多M个去量化系数序列的一维变换生成至多M个进一步系数序列的部件,用于通过变换所述至多M个进一步系数序列生成至多M个第一像素序列的部件,第二安排部件,被适配为通过在图像块上分布生成的第一像素序列的像素,使用与当前纹理图案相关联的分布图案用于生成在所述图像块的所述至少一部分中包括的像素的子集。本发明还进一步提出了一种类似于光盘、固态存储器或硬盘的物理存储介质,其 中所述物理存储介质承载包括编码系数序列和编码掩蔽信息的比特流,像素序列可以通过解码和逆变换从所述编码系数中生成,并且其中所述掩蔽信息允许重构用于选择图像块的像素的掩蔽并且允许确定与所述掩蔽相关联的分布图案,所述分布图案允许将像素序列的像素分布在图像块上。在从属权利要求中指定其它有利实施例的特征。


在附图中图示本发明的示例性实施例并且在以下描述中更详细地对其解释。示例性实施例仅为说明本发明而解释,而不限制本发明在权利要求中定义的公开、范围或精神。在附图中图I描绘了示出纹理图案的示例性图像块;图2描绘了示例性二进制分区掩蔽(mask);图3a描绘了将块分区成子块以及通过累积(accumulate)子块的像素修改子块的第一不例;图3b描绘了将块分区成子块以及通过累积子块的像素修改子块的不同的第二示例;图4a_4c描绘了使用可逆两步纹理图案依赖映射(invertible two-steptexture-pattern-dependent mapping)对块的子集的像素进行累积的第一示例;图5a_5c描绘了使用可逆两步纹理图案依赖映射对块的子集的像素进行累积的不同的第二示例;图6描绘了纹理图案相关联的扫描原理的示例性实施例;图7描绘了变换过程的示例,其中用方块指示在第一和第二变换之后的(多个)DC系数;图8描绘了利用两个处理中的对应映射的指示的编码和解码处理中的信息的流程示例;图9描绘了示例性编码扫描顺序,其对于使用示例性二进制掩蔽将示例性图像块划分成的两个示例性分区不同;
图10描绘了在编码器侧使用示例性纹理图案自适应分区块变换用于编码的编码图;以及图11描绘了在解码器侧对应的图像块解码的示例性流程图。
具体实施例方式本发明可以在包括对应地适配的处理设备的电子设备上实现。例如,本发明可以实现于电视机、移动电话、个人计算机、数字照相机、或数字摄像机。存在用于编码图像的图像块的方法的示例性实施例,其中所述图像块包括许多行和许多列并且所述方法包括以下步骤对根据与当前纹理图案相关联的当前纹理图案自适应分区、将图像块的至少一部分分区成第一像素子集以及至少第二像素子集所产生的所述第一像素子集进行编码。在所述示例性实施例中,编码第一子集的步骤包括使用第一和第 二纹理图案相关联的可逆映射用于生成像素序列的元序列,其中,元序列中的像素序列的数量不超过所述行的数量并且在每个像素序列中,像素的数量不超过所述列的数量,或者,元序列中的像素序列的数量不超过所述列的数量并且在每个像素序列中,像素的数量不超过所述行的数量,以及应用第一和第二一维变换到生成的像素序列用于生成系数的序列,量化并扫描在所述系数的序列中包括的系数,其中根据编码扫描顺序来完成扫描,熵编码量化并扫描的系数,并且熵编码允许重构或检索当前纹理图案的数据,其中所述第一和第二纹理图案相关联的可逆映射与当前纹理图案相关联。更详细地,画面中的示例性矩形框可以包含若干视频对象或一些纹理。这个现象,尤其当在沿着除垂直/水平以外的方向出现多个条带或边缘时,在传统DCT变换之后可以造成许多非零系数。编码效率因此低。图I中示出了具有多个条带的方向纹理的典型示例。给出分区规则,示例性图像块中的每个像素被分配给两个或更多子组中的一个。以下,将子组的数量示例性地设置为2。但是,如果分区允许多于两个子组,则本领域技术人员将立即明白怎样扩展分区和累积的原理(principle)。可以通过一个或更多具有与块相同大小的二进制掩蔽来实现分区过程。例如,图2中的掩蔽意味着块的上半部分中的像素属于一个分区而下半部分中的像素属于另一分区。那么因此允许η个子组的分区规则具有与η进制(n-ary)掩蔽一对一映射关系。因此,以下讨论的示例性二进制分区规则与二进制掩蔽具有一对一映射关系。对于大于2的n,可以通过二进制掩蔽的集合表示η进制掩蔽。每个分区(子块)中的像素的数量可以不相等。这意味着允许不对称分区。为此,可以更加准确地检测块内的图案边界使得改进每个分区(子块)内的能量集中(energyconcentration)。在一个示例性实施例中,在编码器以及解码器侧预定义掩蔽。例如,在本描述结尾处的表中包括的示例性二进制掩蔽表达带有一个或更多条带的水平、垂直、对角以及其它图案定向的考虑,并且例如可以在通过编码掩蔽数编码所产生的编码数据中被参考。此外,可以通过分析块中的图案导出新掩蔽。可能的方法包括但不限于边缘检测、统计分析、变换域分析等。那么,像这样导出的新掩蔽在首次使用时被编码并且可以后来由被分配到新掩蔽的新参考标号或数字参考。通过从预定义的图案的列表中索引或者通过图像属性的局部分析获得的掩蔽信息,将被存储并且发送到解码器用于正确解码。对于前一种途径,仅需要发送掩蔽的索引;对于后一种途径,如果是首次被使用还需要至少发送所采用的掩蔽它们自身的形式。图8中简单地解释了这两个途径。在分区之后,移位每个子组中的像素使它们累积,使得后续变换因为减少非零系数的数量而受益。通过可逆映射实现移位,所述可逆映射可以是对于应用的分区规则特定的,或者可以是与应用的分区规则无关的缺省可逆映射,例如,每个子分区(子组)中的像素朝向块的上边界移位(将跳过空的列)。通过这样,块内的分区被移除到某个程度并且具有相似强度的像素被合并(merge)在一起。这对于能量集中是好的。图3a和3b中示出了块合并的示例。在此示例性描述的分区和合并操作是更一般的框架,其实际上从一个单个块生成两个或更多辅助块(adjuvant block),在每个辅助块内具有更均勻(homogeneous)像素强度分布。下文中,描述分组规则特定可逆映射的示例。这个示例包括两个步骤并且适用于与示出某一定向或方向(垂直、水平、对角、曲线等)的纹理图案有关的所有分区或掩蔽。在示例性非缺省可逆映射的第一步骤中,沿着由掩蔽的图案定向指示的方向位移子块中的像素。在图4a和图5a中提供了这个步骤的示例。掩蔽的方向可以是垂直、水平、对角或其它。在所述第一步骤之后,需要在中间阵列中组织的一系列的图案条带(可以长度不同),如图4b和图5b所示。通过对于给定掩蔽的固定图案扫描原理(例如,从由平均最小X坐标指示的、图案的最左条带,到最右条带;此外,从由平均最小y坐标指示的、图案的最上条带,到最下条带)确定中间阵列的列中的那些条带的顺序(从左到右)。图6中示出扫描原理的示例。示例性非缺省可逆映射的这个第一步骤产生一系列的中间像素序列(也称作条带的中间阵列),其中如果图像块包括N*N个像素,中间像素序列或条带的每个都包括至多N个像素,但是在该系列(中间阵列)中包括的中间像素序列(条带)的数量不必限制于至多N个。因此,示例性非缺省可逆映射包括第二步骤,在其之后确保从所述第二步骤产生的进一步系列中的像素序列的数量不大于N。在第二步骤中,通过子系列中包括的中间像素序列的级联将系列中包括的中间像素序列的子系列合并在一起。级联在以下约束下完成在从级联产生的每个像素序列仍然不包括多于N个像素。换言之,在第二步骤中从中间阵列的一侧到另一侧、顺序地将中间阵列中的条带的每个插入到一个列中。如果将下一条带添加到当前列的序列末端将造成该序列的长度变得大于N,则将使用这个条带来开始新的列。然后,再次顺序地将随后条带(subsequenttrips)添加到这个新列的末端直至添加另一随后条带将造成该新的列中包括的像素的数量变得大于N。这个操作持续直至填充了中间阵列中的所有条带。这个操作的输出是列长 度不大于N的2维块。在图4c和图5c中示出了第二步骤的结果的示例。对于确保从分区得到的所有子块都包括至少N*N/4个像素的分区规则,可以保证第二步骤导致包括至多N个像素序列的进一步系列,所述N个像素序列的每个包括至多N个重新安排的像素。如果在掩蔽中没有清楚的方向,贝U进行缺省移位操作(shifting operation)(向上边界移位)。在块组装操作之后,将例如2维DCT变换的2维变换分开地应用于组装后的子块。2维变换的第一 I维变换垂直地进行,其对应于沿着图案方向进行第一 I维变换,这是因为根据图案方向完成像素组装的第一步骤的移位操作。在第一I维变换之后;作为结果的中间系数向块的左侧移位,然后水平地进行第二 I维变换。图7中示出了变换过程的示例,其中分开地通过方块指示在第一和第二变换之后的(多个)DC系数。为了进一步探索2级变换之后的这两个块之间的相关性,还使用子块之间的 DC(AC)系数预测,即,可以将第一分区的系数值用作第二分区中相似位置的系数值,而第二分区关于第一分区的预测的残余(residue)被进一步处理,例如,量化、Z字形(zig-zag)扫描以及熵编码。Z字形扫描和熵编码分开地在子块或残余中处理。例如如果使用了图9中的掩蔽,可以不同地设计用于分区一和二中的变换系数的扫描顺序,如图9所示。在这两个分区上的熵编码方法包括但不限于任何熵编码方案,例如,霍夫曼(Huffman)编码、CAVLC, CABAC等,并且产生被记录在例如像DVD或BD的光盘、像闪存或硬盘驱动器的固态存储介质的物理存储介质上,无线或有线范围(bound)发送或广播的输出比特流。输出比特流包括参照预定义分区规则或允许重构分区掩蔽的数据代码以及在组装步骤中用于累积可逆映射的对应的逆。图11中示出了组装操作和变换和它们的逆操作的流程图。下一部分将描述解码处理。这个步骤输入的是压缩的比特流。从这个步骤的输出包括扫描和量化的系数,掩蔽索引(如果使用预定义图案)/掩蔽(如果使用局部分析),以及其它边信息(sideinformation)。为了解码,解码设备通过从光存储介质读取输入比特流或通过无线或有线范围将其接收来接收输入比特流。从接收的输入比特流分离并解码允许重构或检索(retrieval)分区掩蔽的数据代码和可逆映射的对应的逆。接收的比特流的剩余被反向扫描并且去量化以便获得累积的系数子块准备好逆变换。水平地应用逆I维变换并且作为结果的中间系数然后可以向右移位,其中使用分区掩蔽信息确定移位哪个中间系数以及将其移位多远。然后垂直地逆I维变换中间系数得到在子块的一个边缘上累积的像素的子块。使用掩蔽信息可以确定每个累积像素的原始位置。即,可以使用与第一步骤组装相关联的固定图案扫描原理来在块上重新分布子块中累积的像素,使得然后恢复各自分区。以大体上相同的方式,可以恢复(多个)其它分区并且可以组合所有分区用于重新获得整个图像块。根据掩蔽信息,可以建立从原始像素和第一变换的像素的一对一映射(称作Mapping_l)。在将第一变换后的中间系数移位到左侧用于第二变换。可以建立从在第一变
换之后的中间系数到用于第二变换的系数的另--对一映射(称作Mapping_2)。一旦解码
器知道掩蔽信息,可以获取这两个映射关系。因为这两个映射操作可逆,解码器可以实施逆映射处理以便建立重构像素和变换系数之间的位置关系。图8中示出了在解码器的逆映射操作的流程图。在图10中示出了本发明的纹 理图案自适应分区块变换和编码框架的图。在“掩蔽生成”模块中,掩蔽可以通过如附录中描述的预定义的图案来生产。并且还可以通过局部内容分析结果来生成掩蔽,例如,一个块中的像素可以根据强度分布分类成两(或更多)类,或者基于边缘或分段检测结果分类。附录
权利要求
1.一种使用纹理图案自适应分区块变换用于编码图像的图像块的方法,其中所述图像块包括N乘M个像素,其中N等于或大于M,所述方法包括以下步骤 a)根据与当前纹理图案相关联的当前纹理图案自适应分区将图像块分区成第一像素子集以及至少第二像素子集, b)使用纹理图案相关联的扫描顺序在像素序列的元序列中安排第一子集像素,所述纹理图案相关联的扫描顺序与当前纹理图案相关联并且每一个像素序列包括至多N个像素, c)生成至多M个进一步像素序列的进一步元序列,其中每一个所述进一步像素序列包括一个像素序列或者元序列的子序列的像素序列的级联,其中每一个所述进一步像素序列包括至多N个像素, d)通过变换所述进一步像素序列生成系数序列, e)通过对所述系数序列的一维变换生成进一步系数序列, f)通过对所述进一步系数序列中包括的系数进行量化和扫描生成更进一步系数序列,其中根据编码扫描顺序完成扫描, g)熵编码所述更进一步系数序列,以及 h)熵编码与当前纹理图案相关联的指示。
2.如权利要求I所述的方法,其中所述当前纹理图案自适应分区与以下纹理图案中的一个相关联 -包括多个条带的纹理图案, -不对称纹理图案,以及 -非方向性纹理图案。
3.如权利要求I或2所述的方法,还包括将步骤b)、c)、d)、e)、f)和g)应用于至少第二子集的像素。
4.如权利要求3所述的方法,其中在步骤f)中为所述至少第二子集使用不同的进一步编码扫描顺序。
5.如权利要求3或4所述的方法,还包括在所述第一子集和所述至少第二子集之间的系数预测。
6.一种使用纹理图案自适应分区块变换的用于编码图像的图像块的设备,其中所述图像块包括N乘M个像素,其中N等于或大于M,所述设备包括 -用于根据与当前纹理图案相关联的当前纹理图案自适应分区、将图像块分区成第一像素子集以及至少第二像素子集的部件, -用于使用纹理图案相关联的扫描顺序在像素序列的元序列中安排第一子集的像素的部件,所述纹理图案相关联的扫描顺序与当前纹理图案相关联并且每一个像素序列包括至多N个像素, -用于生成至多M个进一步像素序列的进一步元序列的部件,其中每一个所述进一步像素序列包括一个像素序列或者元序列的子序列的像素序列的级联,其中每一个所述进一步像素序列包括至多N个像素, -用于通过变换所述进一步像素序列生成系数序列的部件, -用于通过对所述系数序列的一维变换生成进一步系数序列的部件, -用于通过对所述进一步系数序列中包括的系数进行量化和扫描、生成更进一步系数序列的部件,其中根据编码扫描顺序完成扫描, -用于熵编码所述更进一步系数序列的部件,以及 -用于熵编码与当前纹理图案相关联的指示的部件。
7.一种用于解码表示图像的编码图像块的比特流的方法,所述图像块使用纹理图案自适应分区块变换编码并且包括N乘M个像素,其中N等于或大于M,所述方法包括以下步骤 a)熵解码在所述比特流中包括的第一系数序列, b)熵解码与当前纹理图案相关联的指示,所述指示被包括在所述比特流中,并且确定与当前纹理图案相关联的逆纹理图案适配扫描顺序, c)去量化所述第一系数序列的系数, d)使用逆编码扫描顺序用于在两个或更多进一步第一系数序列中安排去量化的第一系数, e)通过对所述进一步第一系数序列的逆一维变换、生成更进一步第一系数序列, f)通过逆变换所述更进一步第一系数序列生成像素序列,以及 g)使用确定的逆纹理图案适配扫描顺序用于在所述图像块上分布所述像素序列的像素。
8.如权利要求7所述的方法,还包括熵解码在所述比特流中包括的第二系数序列,以及将步骤C)、d)、e)、f)和g)应用于所述第二系数序列。
9.一种用于解码表示图像的编码图像块的比特流的设备,所述图像块使用纹理图案自适应分区块变换编码并且包括N乘M个像素,其中N等于或大于M,所述设备包括 -用于熵解码在所述比特流中包括的系数序列的部件, -用于熵解码与当前纹理图案相关联的指示并且确定与当前纹理图案相关联的逆纹理图案适配扫描顺序的部件,所述指示包括在所述比特流中, -用于去量化所述第一系数序列的系数的部件, -用于使用逆编码扫描顺序用于在两个或更多进一步第一系数序列中安排去量化的第一系数的部件, -用于通过对所述进一步第一系数序列的逆一维变换、生成更进一步第一系数序列的部件, -用于通过逆变换所述更进一步第一系数序列生成像素序列的部件,以及 -用于使用确定的逆纹理图案适配扫描顺序用于在所述图像块上分布所述像素序列的像素的部件。
10.一种承载包括编码系数序列和编码掩蔽信息的比特流的存储介质,其中,编码序列可以通过解码和逆变换从所述编码系数中生成,并且其中所述掩蔽信息允许重构用于选择图像块的像素的掩蔽并且允许确定与所述掩蔽相关联的分布图案,所述分布图案允许将像素序列的像素分布在图像块上。
全文摘要
本发明涉及使用分区块变换编码图像的图像块。发明人认识到将纹理图案相关联的可逆映射应用到第一分区的像素,允许将所需第一1维变换的最大数量限制为不超过图像块的列数,并且也将所需第二1维变换的最大数量限制为不超过图像块的行数,根据所述纹理图案相关联的可逆映射所相关联的当前纹理图案来分区所述图像块产生所述第一分区。达到最大所需1维变换的限制使得在硬件上高效实施以及改进编码性能成为可能,而且还允许根据纹理图案的进一步分区,所述纹理图案包括以下中的至少一个多个条带、高度不对称像素分布的纹理图案以及非方向性纹理图案。
文档编号H04N7/50GK102640498SQ200980162732
公开日2012年8月15日 申请日期2009年12月4日 优先权日2009年12月4日
发明者许晓中, 陈志波, 陈衢清 申请人:汤姆森特许公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1