通过使用旋转变换对图像编码和解码的方法和设备的制作方法

文档序号:7914319阅读:216来源:国知局
专利名称:通过使用旋转变换对图像编码和解码的方法和设备的制作方法
技术领域
与示例性实施例一致的设备和方法涉及一种对图像编码和解码的方法和设备,更具体地讲,涉及一种对通过将图像从像素域变换到频域而产生的系数编码和解码的方法和设备。
背景技术
在大多数对图像编码和解码的方法和设备中,像素域的图像被变换到频域,然后被编码以压缩图像。离散余弦变换(DCT)是用于压缩音频/视频(AV)数据的公知技术。近年来,已经进行了许多寻找更有效的编码方法的尝试。在音频编码中,参数编码比DCT执行的更好,并且在二维OD)数据中,Karhunen Loeve变换(KLT)具有最小比特大小但具有大的开销大小。

发明内容
技术方案示例性实施例解决至少以上问题和/或缺点以及以上未提及的其他缺点。此夕卜, 示例性实施例不需要克服上述缺点,并且示例性实施例可以不克服上述任何问题。示例性实施例提供一种对图像编码和解码的方法和设备以及一种记录有用于执行所述方法的计算机程序的计算机可读记录介质。有益效果根据本发明,可以以高压缩率对预定块的频率系数矩阵编码。


通过参照附图对特定示例性实施例进行描述,示例性实施例的以上和/或其他方面将变得更清楚,在附图中图1是根据示例性实施例的对图像编码的设备的框图;图2是根据示例性实施例的对图像解码的设备的框图;图3示出根据示例性实施例的分层编码单元;图4是根据示例性实施例的基于编码单元的图像编码器的框图;图5是根据示例性实施例的基于编码单元的图像解码器的框图;图6示出根据示例性实施例的最大编码单元、子编码单元和预测单元;图7示出根据示例性实施例的编码单元和变换单元;图8A、图8B、图8C和图8D示出根据示例性实施例的编码单元、预测单元和变换单元的划分形状;图9是根据另一示例性实施例的对图像编码的设备的框图;图10是根据示例性实施例的图9中示出的第二变换器的框图;图11A、图IlB和图IlC是描述根据示例性实施例的旋转变换(ROT)的示图12示出根据示例性实施例的欧拉角;图13示出根据示例性实施例的伪随机点;图14是根据示例性实施例的对图像解码的设备的框图;图15是根据示例性实施例的图14中示出的解码器的框图;图16是根据示例性实施例的对图像编码的方法的流程图;图17是根据示例性实施例的对图像解码的方法的流程图。最佳模式根据示例性实施例的一方面,提供了一种对图像编码的方法,所述方法包括通过将预定块变换到频域来产生第一频率系数矩阵;确定第一频率系数矩阵是否包括绝对值大于预定值的系数;基于确定结果,通过根据角度参数选择性地、部分地交换第一频率系数矩阵的行中的至少一个或列中的至少一个来产生第二频率系数矩阵;基于确定结果,选择性地对第二频率系数矩阵编码,其中,角度参数指示在行中的至少一个之间的部分交换的程度或列中的至少一个之间的部分交换的程度。确定的步骤可包括确定第一频率系数矩阵是否包括非零系数。确定的步骤还可包括确定所述预定块是否是双向预测的像条(B像条)的块。确定的步骤还可包括确定所述预定块是否是通过执行帧内预测而预测的块。选择性地编码的步骤可包括如果第一频率系数矩阵包括非零系数,则量化第二频率系数矩阵;对量化的第二频率系数矩阵以及关于角度参数的信息进行熵编码。根据示例性实施例的另一方面,提供一种对图像解码的方法,所述方法包括对指示预定块的第一频率系数矩阵是否包括绝对值大于预定值的系数的信息解码;基于解码的信息,选择性地对第二频率系数矩阵的数据解码;基于解码的信息,通过根据角度参数选择性地、部分地交换第二频率系数矩阵的行中的至少一个或列中的至少一个来恢复第一频率系数矩阵;通过将第一频率系数矩阵变换到像素域来恢复所述预定块,其中,角度参数指示在行中的至少一个之间的部分交换的程度或列中的至少一个之间的部分交换的程度。根据示例性实施例的另一方面,提供一种对图像编码的设备,所述设备包括第一变换器,通过将预定块变换到频域来产生第一频率系数矩阵;第二变换器,确定第一频率系数矩阵是否包括绝对值大于预定值的系数,并基于确定结果,通过根据角度参数选择性地、 部分地交换第一频率系数矩阵的行中的至少一个或列中的至少一个来产生第二频率系数矩阵;编码器,基于确定结果,选择性地对第二频率系数矩阵编码,其中,角度参数指示在行中的至少一个之间的部分交换的程度或列中的至少一个之间的部分交换的程度。根据示例性实施例的另一方面,提供一种对图像解码的设备,所述设备包括解码器,对指示预定块的第一频率系数矩阵是否包括绝对值大于预定值的系数的信息解码,并基于解码的信息,选择性地对第二频率系数矩阵的数据解码;第一逆变换器,基于解码的信息,通过根据角度参数选择性地、部分地交换第二频率系数矩阵的行中的至少一个或列中的至少一个来恢复第一频率系数矩阵;第二逆变换器,通过将第一频率系数矩阵变换到像素域来恢复所述预定块,其中,角度参数指示在行中的至少一个之间的部分交换的程度或列中的至少一个之间的部分交换的程度。根据示例性实施例的另一方面,提供一种记录有用于执行图像编码方法和/或图像解码方法的计算机程序的计算机可读记录介质。
具体实施例方式以下参照附图更详细地描述特定示例性实施例。当在元素的列表之前时,诸如 "...中的至少一个”的描述修饰整个元素的列表,而非修饰列表的各个元素。在本说明书中,“图像”可表示视频的静止图像或者运动图像(即,视频本身)。在以下描述中,即使在不同的附图中,相同的附图标号也用于相同的元件。提供在描述中定义的内容(诸如详细结构和元件)以帮助全面地理解示例性实施例。然而,可以在没有那些具体定义的内容的情况下实施示例性实施例。图1是根据示例性实施例的对图像编码的图像编码设备100的框图。图像编码设备100可实现为硬件设备,例如,计算机或计算机系统的处理器。图像编码设备100还可实现为驻存在计算机系统上的软件模块。参照图1,图像编码设备100包括最大编码单元划分器110、编码深度确定器120、 图像数据编码器130和编码信息编码器140,其中,最大编码单元划分器110、编码深度确定器120、图像数据编码器130和编码信息编码器140可实现为例如与图像编码设备100集成的硬件或软件模块或者与图像编码设备100分离的硬件或软件模块。最大编码单元划分器110可基于作为最大大小的编码单元的最大编码单元对当前帧或像条(slice)进行划分。即,最大编码单元划分器110可将当前帧或像条划分为至少一个最大编码单元。根据示例性实施例,编码单元可使用最大编码单元和深度来表征。如上所述,最大编码单元指示在当前帧的编码单元中具有最大大小的编码单元,深度指示分层地减小编码单元的程度。随着深度增大,编码单元可从最大编码单元减小到最小编码单元,其中,最大编码单元的深度被定义为最小深度,最小编码单元的深度被定义为最大深度。因为编码单元的大小随着深度的增大从最大编码单元开始减小,所以第k深度的子编码单元可包括第 (k+n)深度的多个子编码单元(k和η是大于或等于1的整数)。根据将被编码的帧的大小的增加,以更大的编码单元对图像编码可引起更高的图像压缩率。然而,如果更大的编码单元被固定,则不可通过反映不断改变的图像特征来有效地对图像编码。例如,当对诸如海面或天空的平滑区域编码时,编码单元越大,压缩率可增加的越多。然而,当对诸如人或建筑物的复杂区域编码时,编码单元越小,压缩率可增加的越多。因此,在示例性实施例中,针对每个帧或像条设置不同的最大图像编码单元以及不同的最大深度。因为最大深度表示编码单元可减小的最大次数,所以包括在最大图像编码单元中的每个最小编码单元的大小可根据最大深度被可变地设置。可针对每个帧或像条,或者针对每个最大编码单元,不同地确定最大深度。编码深度确定器120确定最大编码单元的划分形状。可基于率失真(RD)代价的计算来确定划分形状。最大编码单元的确定的划分形状被提供给编码信息编码器140,根据最大编码单元的图像数据被提供给图像数据编码器130。最大编码单元可根据不同深度被划分为具有不同大小的子编码单元,包括在最大编码单元中的具有不同大小的子编码单元可基于具有不同大小的处理单元被预测或被频率变换。换句话说,图像编码设备100可基于具有各种大小和各种形状的处理单元执行多个用于图像编码的处理操作。为了对图像数据编码,执行诸如预测、变换和熵编码的处理操作,其中,可针对每个操作使用具有相同大小或不同大小的处理单元。例如,图像编码设备100可选择与编码单元不同的处理单元来预测编码单元。当编码单元的大小是2NX2N(其中,N是正整数)时,用于预测的处理单元可以是 2NX2N、2NXN、NX2N和NXN。换句话说,可基于具有这样的形状的处理单元来执行运动预测编码单元的高度和宽度中的至少一个被二等分。以下,作为预测基础的处理单元被定义为预测单元。预测模式可以是帧内模式、帧间模式和跳过模式中的至少一个,并且可仅对具有特定大小或特定形状的预测单元执行特定的预测模式。例如,可仅对具有2NX2N和NXN 的大小的预测单元(其具有正方形形状)执行帧内模式。此外,可仅对具有2NX2N的大小的预测单元执行跳跃模式。如果在编码单元中存在多个预测单元,则在对每个预测单元执行预测之后,可选择具有最小预测误差的预测模式。可选择地,图像编码设备100可基于具有与编码单元不同大小的处理单元对图像数据执行频率变换。对于编码单元中的频率变换,可基于具有等于或小于编码单元的大小的大小的处理单元来执行频率变换。以下,作为频率变换基础的处理单元被定义为变换单元。频率变换可以是离散余弦变换(DCT)或Karhunen Loeve变换(KLT)。编码深度确定器120可通过使用基于拉格朗日乘数的RD最优化来确定包括在最大编码单元中的子编码单元。换句话说,编码深度确定器120可确定从最大编码单元划分的多个子编码单元具有哪种形状,其中,所述多个子编码单元根据子编码单元的深度而具有不同大小。图像数据编码器130通过基于编码深度确定器120确定的划分形状对最大编码单元编码来输出比特流。编码信息编码器140对关于由编码深度确定器120确定的最大编码单元的编码模式的信息编码。换句话说,编码信息编码器140通过对关于最大编码单元的划分形状的信息、关于最大深度的信息以及关于每个深度的子编码单元的编码模式的信息编码来输出比特流。关于子编码单元的编码模式的信息可包括关于子编码单元的预测单元的信息、关于每个预测单元的预测模式的信息以及关于子编码单元的变换单元的信息。关于最大编码单元的划分形状的信息可以是指示每个编码单元是否被划分的标志信息。例如,当最大编码单元被划分和编码时,指示最大编码单元是否被划分的信息被编码。此外,当从最大编码单元划分的子编码单元被划分和编码时,指示子编码单元是否被划分的信息被编码。因为对于每个最大编码单元存在具有不同大小的子编码单元,并且针对每个子编码单元确定关于编码模式的信息,所以针对一个最大编码单元可确定关于至少一个编码模式的信息。图像编码设备100可通过根据深度的增加将最大编码单元的高度和宽度二等分来产生子编码单元。即,当第k深度的编码单元的大小是2NX2N时,第(k+Ι)深度的编码单元的大小是NXN。因此,图像编码设备100可考虑图像特征,基于最大编码单元的大小和最大深度, 确定每个最大编码单元的最佳划分形状。通过考虑图像特征来可变地调整最大编码单元的大小并通过将最大编码单元划分为不同深度的子编码单元来对图像编码,具有各种分辨率
7的图像可以被更有效地编码。图2是根据示例性实施例的对图像解码的图像解码设备200的框图。图像解码设备200可实现为硬件设备,例如,计算机或计算机系统的处理器。图像解码设备200还可实现为驻存在计算机系统上的软件模块。参照图2,图像解码设备200包括图像数据获取单元210、编码信息提取器220和图像数据解码器230,图像数据获取单元210、编码信息提取器220和图像数据解码器230 可实现为例如与图像解码设备200集成的硬件或软件模块或与图像解码设备200分离的硬件或软件模块。图像数据获取单元210通过解析由图像解码设备200接收的比特流获取根据最大编码单元的图像数据,并将图像数据输出到图像数据解码器230。图像数据获取单元210可从当前帧或像条的头提取关于当前帧或像条的最大编码单元的信息。换句话说,图像数据获取单元210按照最大编码单元划分比特流,从而图像数据解码器230可根据最大编码单元来对图像数据解码。编码信息提取器220通过解析由图像解码设备200接收的比特流,从当前帧的头提取关于最大编码单元、最大深度、最大编码单元的划分形状、子编码单元的编码模式的信息。关于划分形状的信息和关于编码模式的信息被提供给图像数据解码器230。关于最大编码单元的划分形状的信息可包括关于根据深度具有不同大小并且被包括在最大编码单元中的子编码单元的信息,并且可以是指示每个编码单元是否被划分的标志信息。关于编码模式的信息可包括关于根据子编码单元的预测单元的信息、关于预测模式的信息以及关于变换单元的信息。图像数据解码器230通过基于由编码信息提取器220提取的信息对每个最大编码单元的图像数据解码来恢复当前帧。图像数据解码器230可基于关于最大编码单元的划分形状的信息对包括在最大编码单元中的子编码单元解码。解码处理可包括预测处理(包括帧内预测和运动补偿)以及逆变换处理。图像数据解码器230可基于关于预测单元的信息和关于对预测单元进行预测的预测模式的信息执行帧内预测或帧间预测。图像数据解码器230还可基于关于子编码单元的变换单元的信息对每个子编码单元执行逆变换。图3示出根据示例性实施例的分层编码单元。参照图3,分层编码单元可包括宽度和高度为64X64、32X32、16X16、8X8和 4X4的编码单元。除了具有完全正方形形状的这些编码单元以外,还可存在宽度和高度为 64X32、32X64、32X16、16X32、16X8、8X16、8X4 和 4X8 的编码单元。参照图3,对于分辨率为1920 X 1080的图像数据组310,最大编码单元的大小被设置为64X64,最大深度被设置为2。对于分辨率为1920X1080的图像数据组320,最大编码单元的大小被设置为 64X64,最大深度被设置为3。对于分辨率为352X288的图像数据组330,最大编码单元的大小被设置为16 X 16,最大深度被设置为1。当分辨率高或者数据量大时,编码单元的最大大小可以被设置为相对大,以增加压缩率并更精确地反映图像特征。因此,对于具有比图像数据组330更高的分辨率的图像数据组310和320,64X64可被选为最大编码单元的大小。最大深度指示分层编码单元中层的总数。因为图像数据组310的最大深度为2,所以图像数据组310的编码单元315根据深度的增加可包括较长的轴大小为64的最大编码单元以及较长的轴大小为32和16的子编码单元。另一方面,因为图像数据组330的最大深度为1,所以图像数据组330的编码单元 335根据深度的增加可包括较长的轴大小为16的最大编码单元以及较长的轴大小为8的子
编码单元。然而,因为图像数据组320的最大深度为3,所以图像数据组320的编码单元325 根据深度的增加可包括较长的轴大小为64的最大编码单元以及较长的轴大小为32、16、8 和4的子编码单元。因为随着深度增加基于更小的子编码单元来对图像编码,所以示例性实施例适合于对包括更小场景的图像编码。图4是根据示例性实施例的基于编码单元的图像编码器400的框图。图像编码器 400可实现为硬件设备(例如,计算机的处理器)或实现为驻存在计算机系统上的软件模块。帧内预测单元410对当前帧405中的帧内模式的预测单元执行帧内预测,运动估计器420和运动补偿器425通过使用当前帧405以及参考帧495对帧间模式的预测单元执行帧间估计和运动补偿。帧内预测单元410、运动估计器420、运动补偿器425和参考帧495 可实现为例如集成在图像编码器400内的硬件或软件模块或与图像编码器400分离的硬件或软件模块。基于从帧内预测单元410、运动估计器420和运动补偿器425输出的预测单元产生残差值。产生的残差值经由变换器430和量化器440被输出为量化的变换系数。通过逆量化器460和逆变换器470将量化的变换系数恢复为残差值,恢复的残差值通过去块单元480和环路滤波器490被后处理并作为参考帧495被输出。可通过熵编码器450将量化的变换系数输出为比特流455。为了执行根据示例性实施例的基于编码方法的编码,图像编码器400的帧内预测单元410、运动估计器420、运动补偿器425、变换器430、量化器440、熵编码器450、逆量化器460、逆变换器470、去块单元480和环路滤波器490基于最大编码单元、根据深度的子编码单元、预测单元和变换单元执行图像编码处理。图5是根据示例性实施例的基于编码单元的图像解码器500的框图。图像解码器 500可实现为硬件设备(例如,计算机的处理器)或实现为驻存在计算机系统上的软件模块。比特流505经过解析器510,从而解码所需的编码信息和将被解码的编码图像数据被解析。编码图像数据经由熵解码器520和逆量化器530被输出为逆量化的数据,并通过逆变换器540被恢复为残差值。残差值与帧内预测器550的帧内预测结果或运动补偿器 560的运动补偿结果相加,从而根据编码单元来恢复残差值。恢复的编码单元经过去块单元570和环路滤波器580被用于预测下一编码单元或下一帧。解析器510、熵解码器520、 逆量化器530、逆变换器M0、帧内预测器550、补偿器560、解块单元570和环路滤波器580 可实现为例如集成在图像解码器500内的硬件或软件模块或与图像解码器500分离的硬件或软件模块。为了执行基于根据示例性实施例的解码方法的解码,图像解码器500的解析器 510、熵解码器520、逆量化器530、逆变换器M0、帧内预测单元550、运动补偿器560、去块单元570和环路滤波器580基于最大编码单元、根据深度的子编码单元、预测单元和变换单元执行图像解码处理。具体地讲,帧内预测单元550和运动补偿器560通过考虑最大编码单元和深度来确定子编码单元中的预测单元和预测模式,并且逆变换器540通过考虑变换单元的大小来执行逆变换。图6示出根据示例性实施例的最大编码单元、子编码单元和预测单元。图1中示出的图像编码设备100和图2中示出的图像解码设备200考虑到图像特征,使用分层编码单元来执行编码和解码。可根据图像特征自适应地设置最大编码单元和最大深度,或者可根据用户的需求不同地设置最大编码单元和最大深度。在图6中,分层编码单元结构600具有最大编码单元610并且最大深度为4,其中, 最大编码单元610是高度和宽度为64的最大编码单元。深度沿着分层编码单元结构600 的纵轴增加,并且随着深度增加,子编码单元620到650的高度和宽度减小。最大编码单元 610和子编码单元620到650的预测单元沿着分层编码单元结构600的横轴被示出。最大编码单元610具有深度0以及编码单元的大小(或高度和宽度)64X 64。深度沿着纵轴增加,并且存在大小为32X32且深度为1的第一子编码单元620、大小为16X16 且深度为2的第二子编码单元630、大小为8X8且深度为3的第三子编码单元640以及大小为4X4且深度为4的最小编码单元650。大小为4X4且深度为4的最小编码单元650 是最小编码单元,并且最小编码单元可被划分为预测单元,每个预测单元小于最小编码单兀。参照图6,根据每个深度沿着横轴示出预测单元的示例。S卩,深度为0的最大编码单元610的预测单元可以是大小等于最大编码单元的大小64X64的预测单元,或者大小为 64X32的预测单元612、大小为32X64的预测单元614或大小为32X32的预测单元616, 其中,预测单元612、614、616的大小小于最大编码单元的大小(即,64X 64)。大小为32X32且深度为1的第一子编码单元620的预测单元可以是大小等于第一子编码单元的大小32X32的预测单元,或者大小为32X16的预测单元622、大小为 16X32的预测单元拟4或大小为16X16的预测单元626,其中,预测单元622、624、626的大小小于第一子编码单元620的大小(即,32 X 32)。大小为16X16且深度为2的第二子编码单元630的预测单元可以是大小等于第二子编码单元630的大小16X16的预测单元,或者大小为16X8的预测单元632、大小为 8X16的预测单元634或大小为8X8的预测单元636,其中,预测单元632、634、636的大小小于第二子编码单元630的大小(S卩,16 X 16)。大小为8X8且深度为3的第三子编码单元640的预测单元可以是大小等于第三子编码单元640的大小8 X 8的预测单元,或者大小为8 X 4的预测单元642、大小为4 X 8的预测单元644或大小为4X4的预测单元646,其中,预测单元642、644、646的大小小于第三子编码单元630的大小(即,8X8)。大小为4X4且深度为4的最小编码单元650是最小编码单元和最大深度的编码单元。最小编码单元650的预测单元可以是大小为4X4的预测单元650、大小为4X2的预测单元652、大小为2X4的预测单元6M或大小为2X2的预测单元656。图7示出根据示例性实施例的编码单元和变换单元。图1中示出的图像编码设备100和图2中示出的图像解码设备200使用最大编码单元自身来执行编码和解码,或者使用从最大编码单元划分的等于或小于最大编码单元的子编码单元来执行编码和解码。在编码和解码处理中,用于频率变换的变换单元的大小被选择为不大于相应的编码单元的大小。例如,如果当前编码单元710具有大小64X64,则可使用具有大小32X32的变换单元来执行频率变换。图8A、图8B、图8C和图8D示出根据示例性实施例的编码单元、预测单元和变换单元的划分形状。图8A和图8B示出根据示例性实施例的编码单元和预测单元。图8A示出图1中示出的图像编码设备100选择的用于对最大编码单元810编码的划分形状。图像编码设备100将最大编码单元810划分为各种形状,执行编码,并通过基于RD代价对各种划分形状的编码结果进行相互比较来选择最佳划分形状。当将被编码的最大编码单元810就是最佳时,可对最大编码单元810编码,而无需如图8A至图8D所示来划分最大编码单元810。参照图8A,通过将深度为0的最大编码单元810划分为深度等于或大于1的子编码单元来对最大编码单元810编码。即,最大编码单元810被划分为四个深度为1的子编码单元,所有或部分深度为1的子编码单元被划分为深度为2的子编码单元814、816、818、 828,850 和 852。在深度为1的子编码单元中位于右上方的子编码单元和位于左下方的子编码单元被划分为深度等于或大于2的子编码单元。部分深度等于或大于2的子编码单元可被划分为深度等于或大于3的子编码单元820、822、824、826、830、832、840、842、844、846和848。图8B示出最大编码单元810的预测单元的划分形状。参照图8B,最大编码单元810的预测单元860可以与最大编码单元810不同地被划分。换句话说,每个子编码单元的预测单元可小于相应的子编码单元。例如,在深度为1的子编码单元812、邪4中位于右下方的子编码单元854的预测单元可小于子编码单元854。此外,深度为2的子编码单元814、816、818、828、850和852中的子编码单元814、816、850和852的预测单元可分别小于子编码单元814、816、850和852。此外,深度为3的子编码单元822、832和848的预测单元可分别小于子编码单元 822、832和848。预测单元可具有这样的形状各个子编码单元沿着高度或宽度的方向被二等分,或者预测单元可具有这样的形状各个子编码单元沿着高度和宽度的方向被四等分。图8C和图8D示出根据示例性实施例的预测单元和变换单元。图8C示出图8B中示出的最大编码单元810的预测单元的划分形状,图8D示出最大编码单元810的变换单元的划分形状。参照图8D,变换单元870的划分形状可与预测单元860不同地被设置。例如,即使深度为1的子编码单元邪4的预测单元被选择为这样的形状子编码单元854的高度被二等分,变换单元也可被选择为子编码单元854的原始大小。同样地,即使深度为2的子编码单元814和850的预测单元被选择为这样的形状子编码单元814和850中的每个的高度被二等分,变换单元也可被选择为与子编码单元814和850中的每个的原始大小相同的大小。变换单元可以被选择为比预测单元更小的大小。例如,当深度为2的子编码单元 852的预测单元被选择为这样的形状子编码单元852的宽度被二等分时,变换单元可被选择为这样的形状子编码单元852沿着高度和宽度的方向被四等分,从而具有比预测单元的形状更小的大小。图9是根据另一示例性实施例的对图像编码的图像编码设备900的框图。图9中示出的图像编码设备900可以是包括在图1中示出的图像编码设备100或图4中示出的图像编码器400中的模块,用于执行以下图像编码处理。参照图9,图像编码设备900包括第一变换器910、第二变换器920和编码器930。第一变换器910通过接收预定块并将预定块变换到频域来产生第一频率系数矩阵。到频域的变换可以是DCT,并且接收的预定块可以是残差块。此外,被输入的用于编码的块可以是如上关于图7或图8D描述的变换单元。作为变换的结果,接收的像素域的块被变换为频域的系数。通过对像素域的块执行DCT来产生DCT系数矩阵。第二变换器920执行后处理,以根据频域的系数是否大于预定的绝对值来部分地交换DCT系数矩阵的行中的至少一个或列中的至少一个。以下参照图10、图IlA至图IlC 详细描述第二变换器920的操作。图10是根据示例性实施例的图9中示出的第二变换器920的框图。参照图10,第二变换器920包括确定器1010和旋转变换(ROT)执行器1020。确定器1010确定由第一变换器910产生的第一频率系数矩阵是否包括绝对值大于预定值的系数。确定器1010可确定第一频率系数矩阵是否包括绝对值大于0的系数。换句话说,确定器1010确定第一频率系数矩阵是否包括非零系数。如果第一频率系数矩阵仅包括系数0,则不执行用于部分地交换第一频率系数矩阵的行中的至少一个或列中的至少一个的ROT。因此,确定器1010确定第一频率系数矩阵是否包括非零系数。如果预测被准确地执行并且因此残差块的所有像素值都是0,则第一频率系数矩阵仅包括系数0。确定器1010还可确定第一频率系数矩阵是否是双向预测的像条(B像条)的块的矩阵。实验证明,即使在执行ROT之后,B像条的块的第一频率系数矩阵在压缩率方面也不会明显改善。因此,确定器1010可确定第一频率系数矩阵是否是B像条的块的矩阵,从而仅在输入到图像编码设备900的用于编码的预定块不是B像条的块时才执行ROT。确定器1010还可确定第一频率系数矩阵是否是帧内预测的块的矩阵。实验证明, 即使在执行ROT之后,帧间预测的块的第一频率系数矩阵在压缩率方面也不会明显改善。 因此,确定器1010可确定第一频率系数矩阵是否是帧内预测的块的矩阵,从而仅在输入到图像编码设备900的用于编码的预定块是帧内预测的块时才执行ROT。确定第一频率系数矩阵是否包括绝对值大于0的系数、确定输入的用于编码的预定块是否是B像条的块、以及确定输入的用于编码的预定块是否是帧内预测的块的执行顺序不受限制,而可以任意排列。此外,确定器1010可执行以上确定中的一个或两个,以确定是否执行ROT。ROT执行器1020通过基于确定器1010的确定结果选择性地执行ROT来产生第二频率系数矩阵。ROT可以是用于部分地交换行中的至少一个或列中的至少一个的变换。以下参照图IlA至图IlC详细地描述ROT。可仅在第一频率系数矩阵包括绝对值大于预定值或零时才执行ROT。否则,不执行R0T,并且对第一频率系数矩阵本身编码。可选择地,如上所述,可基于确定输入的用于编码的块是否是B像条的块和/或确定块是否是帧内预测的块,选择性地对第一频率系数矩阵执行ROT。图IlA至图IlC是描述根据示例性实施例的ROT的示图。图10中示出的ROT执行器1020基于确定器1010的确定结果,选择性地、部分地交换第一频率系数矩阵的行中的至少一个或列中的至少一个。参照图IlA至图IlC描述第一频率系数矩阵的行或列的交换。在示例性实施例中,行或列的部分交换涉及通过使用诸如正弦函数的函数部分地交换两行或两列的值,而不是无条件地、一一对应地交换两行或两列的值。例如,可如等式1所示根据参数α的值来定义两行A和B的交换。[等式1]行A(新)=cos(a) X 行 A(旧)-sin(a) X 行 B(旧)行B(新)=sin(a) X 行A(旧)+cos(a) X 行 B(旧)参照等式1,参数α用作角度。因此,在示例性实施例中,指示DCT矩阵的行之间的部分交换的程度或列之间的部分交换的程度的参数被定义为角度参数。如果参数α的值是0°,则不执行能量交换。如果参数α的值是90°,则在行之间发生全部能量交换。此外,如果参数α的值大于90°且小于180°,则在行之间发生能量交换并且元素值的符号改变。如果参数α的值是180°,则在行之间不发生能量交换,而包括在行中的元素的符号改变。在示例性实施例中,以与行之间的部分交换相同的方式来执行列之间的部分交换。图1IA示出对4X 4频率系数矩阵执行ROT的情况。参照图11A,在频率系数矩阵的行之间的部分交换中使用三个参数α ρ α 2、a 3,在列之间的部分交换中使用三个参数α 4、
a5、a60图IlB示出对8X8频率系数矩阵执行ROT的情况。在图IlB的情况下,在行之间的部分交换中使用αι、α2、α3、α4、α5、α 6,在列之间的部分交换中使用α 7、α 8、α 9、
QQQ
10、 11、 12°图IlC示出对具有等于或大于16X 16的大小的频率系数矩阵执行ROT的情况。如上所述,关于图IlA和图11B,随着频率系数矩阵的大小的增加,角度参数的数量增加。为了对图IlA的4X4频率系数矩阵执行R0T,使用六个角度参数,为了对图IlB的 8X8频率系数矩阵执行R0T,使用十二个角度参数。虽然以这样的方式来提高压缩率通过对频率系数矩阵执行ROT而产生调整的频率系数矩阵,然后对调整的频率系数矩阵执行量化和熵编码的方式,但是如果角度参数的数量增加使得开销增加,则总的数据量没有减少。因此,当对具有等于或大于16X16的大小的频率系数矩阵执行ROT时,使用用于系数采样的预定大小的矩阵。换句话说,如图IlC所示,ROT执行器1020选择仅包括频率系数矩阵1110的部分系数的采样的频率系数矩阵1120,然后对选择的频率系数矩阵1120执行ROT。对频率系数
13矩阵1110的剩余的、未选择的部分1130不执行ROT。为了对具有大的大小的频率系数矩阵达到足够的ROT效果,包括在频率系数矩阵 1120中的系数应该对图像数据的压缩具有影响。因此,ROT执行器1020仅选择具有低频分量并且可具有除了 0以外的值的系数,并对所述系数执行ROT。通常,作为变换的结果产生的频率系数矩阵在频率系数矩阵的左上角包括关于低频分量的系数。因此,如图IlC所示,ROT执行器1020仅选择位于频率系数矩阵1110的左上角的系数,然后执行ROT。在图IlC的示例中,ROT执行器1020以与关于图IlB的ROT相同的方式对具有8X8大小的频率系数矩阵1120执行ROT。参照对于图IlA的4X4频率系数矩阵的R0T,根据三个角度系数α ^ α 2、α 3的应用顺序获得不同结果。即,三个角度参数不是彼此独立的。作为对首先应用角度参数Q1 然后应用角度参数α 2的情况执行ROT的结果产生的调整的频率系数矩阵不同于对首先应用角度参数α 2然后应用角度参数α工的情况执行ROT的结果产生的调整的频率系数矩阵。 以下将参照图12对此进行详细描述。图12是示出根据另一示例性实施例的欧拉角的示图。参照图12,矩阵的行之间的交换或列之间的交换与三维(3D)空间中的坐标轴的旋转相似。即,三行或三列分别对应于3D坐标的X轴、Y轴、Z轴。针对3D空间中的坐标轴的旋转,根据哪个轴首先旋转而获得不同的结果。在图12中,α、β、Y角指示欧拉角,X轴、Y轴、Z轴指示旋转之前的坐标轴,X’ 轴、Y’轴、Ζ’轴指示旋转之后的坐标轴。N轴是X-Y平面和X’-Y’平面之间的交叉。这里, N轴被称为交点线。角α指示X轴和围绕Z轴旋转的N轴之间的角。角β指示Z轴和围绕N轴旋转的Ζ’轴之间的角。角Y指示N轴和围绕Ζ’轴旋转的X’轴之间的角。通过等式2给出根据欧拉角的坐标轴的旋转。[等式2]
COS
I
I第一个矩阵指示围绕Ζ’轴的旋转。第二个矩阵指示围绕N轴的旋转。第三个矩阵指示围绕Z轴的旋转。在一个或多个示例性实施例中,矩阵的行之间的交换或列之间的交换可通过使用欧拉角被表示为坐标轴的旋转。返回参照图9和图10,第二变换器920的ROT执行器1020对第一频率系数矩阵执行ROT时产生的第二频率系数矩阵被输入到编码器930。编码器930对通过基于确定器1010的确定结果选择性地执行ROT而产生的第二
频率系数矩阵编码。如果通过基于确定器1010的确定结果对第一频率系数矩阵执行ROT而产生第二频率系数矩阵,则包括在第二频率系数矩阵中的系数根据预定的量化步骤被量化,并且量化的第二频率系数矩阵被熵编码。根据上下文自适应二进制算术编码(CABAC)方法或上下文自适应可变长度编码(CAVLC)方法来执行熵编码。如果第一频率系数矩阵具有大的大小,从而对仅包括部分采样的系数的选择的矩阵1120执行R0T,则包括被执行ROT的选择的矩阵1120以及未被执行ROT的剩余的部分1130的整个第一频率系数矩阵可被量化和熵编码。编码器930可对指示第一频率系数矩阵包括绝对值大于预定值的系数的信息编码。例如,编码器930可对指示第一频率系数矩阵包括非零系数的标志信息编码。此外,编码器930还对当第二变换器920执行ROT时使用的角度参数进行熵编码。 如下所述,图像编码设备900确定用于执行ROT的最优角度参数。为了有效地执行压缩,需要确定最优角度参数。然而,这是一个具有依赖参数的强非平滑的多参数问题。为了解决这个问题,使用蒙特卡洛(Monte Carlo)方法。这里, Lehmer的随机序列数可用于在蒙特卡洛方法中产生随机点。可仅存储或发送指示序列数的一个整数,而不存储或发送用作参数的角度参数。因此,可减小向解码器通知在ROT中使用的角度参数所需的开销。S卩,确定最优角度参数的组合而将被考虑的内容是变换矩阵的可逆变换;多个有效编码的能量的重新排列;以及通过使用Lehmer的随机序列数添加的信息的最小化。返回参照图IlA至图11C,通过频率系数矩阵的旋转被修改的矩阵部分是黑色,没有被修改的矩阵部分是白色。在图IlA的4X4频率系数矩阵中,在根据行之间的交换和列之间的交换的十五个系数的修改中涉及六个角度参数。在图IlB的8X8频率系数矩阵中, 在六十个系数的修改中涉及十二个角度参数。参照图11A,对于行之间的交换,使用三个角度参数,对于列之间的交换,另外使用三个角度参数。因此,对于4X4块,使用六个角度参数。参照图11B,对于行之间的交换,使用六个角度参数,对于列之间的交换,另外使用六个角度参数。因此,对于8X8块,使用十二个角度参数。图像编码设备900可根据以下步骤来执行ROT 步骤1 正交变换族参数化;步骤2:蒙特卡洛方法;步骤3 =Lehmer的伪随机数;步骤4 最优角度参数的范围的定位;步骤5:准最优基。虽然通过使用ROT提高了图像的压缩率,但是如果添加了太多的参数,则视频信号的传输与压缩相比,可实现更好的结果。换句话说,压缩率和附加参数的开销之间存在着权衡。例如,虽然4X4频率系数矩阵中的图像信号被压缩到接近0的大小,但是如果压缩需要十六个附加参数,则执行ROT可能不是最优的。在这一点上,将十六个像素值发送到解码器可能更高效。因此,图像信号的压缩和增加的开销的最小化二者将被考虑。因此,ROT执行器1020根据以下步骤,在将开销最小化的同时搜索最优角度参数。步骤1 正交变换族参数化。为了选择用于当前数据的最优变换,搜索基调整。基的旋转被选择为基修改,从而旋转角的集合唯一地描述了基修改。引入的旋转角以与欧拉角描述3D空间中立方体的旋转相似的方式来描述基修改。为了修改基,选择基的旋转。在一个或多个示例性实施例中,通过使用角度参数来执行基的旋转。这里,采用通过使用角度参数执行的基的旋转。角度参数可以是欧拉角。然而,角度参数不限于欧拉角,因此可包括可指示矩阵的行之间和列之间的一个或多个值的部分交换的等级的其他形式。以下,描述涉及使用欧拉角的示例。通过使用频率系数矩阵D的左乘Rh iz。ntal和右乘RVCTti。al的等式3来定义旋转。[等式3]D,= RhoriZontalXDX RverticalD’指示旋转变换的调整的频率系数矩阵。矩阵Rtoizmtal执行频率系数矩阵D的行之间的交换。RVCTti。al执行频率系数矩阵D 的列之间的交换。通过等式4给出4X4块的矩阵Rh iz。ntal的示例。[等式4]
H
r'-c·、A = cos α cos γ -sin α cos β sin γB = -sin α cos y -cos α cos β sin γC = sin^ sin γD = cos α sin y +sin α cos β cos γE = -sin α sin y +cos α cos β cos γF = -sin^ cos γG = sin α sin βH =cos α sin βI = cos^在等式4中,α、β、Y指示欧拉角。因此,关于4X4频率系数矩阵,欧拉角通过一组六个参数αι、Ci2.....Ci6描述
十五个频率系数的调整。关于8X8频率系数矩阵,十二个欧拉角αι、Ci2.....Ci12描述
六十个频率系数的修改。步骤2:蒙特卡洛方法在自由程度被减少到六个角度参数(在8X8频率系数矩阵的情况下是十二个角度参数)后,考虑到节省比特来检查优化情况。即,以下讨论选择一组角度参数的方法被优化。优化在高维域的参数(六个或十二个角度参数)被使用方面存在困难,并且图像的压缩是依赖于使用的参数的非平滑形式。通常,通过使用蒙特卡洛方法来解决这个困难。蒙特卡洛方法的核心是执行多个尝试。即,从若干个点测量压缩率,然后选择最优点。在蒙特卡洛方法中,多维域中的随机点的质量非常重要(特别地,质量根据维的估计而更重要)。本申请的均勻网格点上的伪随机点的优选方式是公知的。将参照2D情况在图 13中对此进行描述。图13示出根据另一示例性实施例的伪随机点。图13的左侧视图示出第一的十六个均勻网格点,图13的右侧视图示出第一的十六个伪随机点。在使用均勻网格点的情况下,不管蒙特卡洛方法的十六个点,针对第一参数(和第二参数)仅检查四个不同的值。另一方面,在使用伪随机点的情况下,针对第一参数(和第二参数)根据十六个点来检查十六个不同的值。即,当使用伪随机点时,针对十六个点充分地检查第一参数和第二参数的各个值。具体地讲,关于蒙特卡洛方法,根据参数数量的增加,伪随机点的使用比均勻网格点的使用更有利。步骤3 =Lehmer的伪随机数可通过使用各种方法来产生伪随机序列。最高效的方法之一是使用Lehmer数。这是人工产生的序列,其具有非常接近于均勻分布的随机数的特性。用于产生Lehmer序列的算法是公知的,因此这里省略其详细描述。根据示例性实施例,提供至少1013个不重复的点。Lehmer序列是人工产生的序列,用于产生Lehmer序列的算法是公知的,从而解码器可容易地重新计算Lehmer序列。通过使用Lehmer序列,可通过使用一个整数(即,随机序列中的一个数)来对角度参数的组合编码。在六维(在4X4频率系数矩阵的情况下)或十二维(在8X8频率系数矩阵的情况下)参数域中,产生与角度参数的组合相应的随机点,在通过使用随机点执行压缩之后测量压缩率,然后选择最优参数点。存储或发送与最优参数点相应的Lehmer序列的索引号,而不存储或发送角度参数的组合。如果在蒙特卡洛方法中检查2p个点,则仅包括ρ比特的信息作为开销。步骤4 最优角度参数的范围的定位根据一个或多个示例性实施例,最优旋转角度具有接近0度或180度的值(π弧度)。这意味着用于变换到频域的基(例如DCT基或KLT基)实质上是最优的。因此,根据一个或多个示例性实施例的角度参数仅用于执行行之间或列之间的一个或多个值的部分交换(在欧拉角的情况下接近于0度的角),或者用于执行部分交换以及基元素的符号的改变(在欧拉角的情况下接近于180度的角)。即,在一个或多个示例性实施例中使用的参数的范围可惜被限制到域的特定部分,并且该限制被称为定位。通过执行参数的范围的定位,关于开销的比特数减少。如果假设将被检查的点限制到图13的特定部分,则将被检查以搜索角度参数的最优组合的点的数量减小。此外,如果将被检查的点的数量固定(即,在用作开销的比特数被固定的情况下),并且应用了定位,则可检查更小角度中的更多的点,从而可增加压缩率。步骤5 准最优基
通过执行上述步骤1至步骤4,可针对所有块(具有等于或大于4 X 4和8 X 8的大小的块)选择最优基。当比特率降低时,优选地选择准最优基。准最优基表示相同的旋转被应用于包括在像条或画面中的所有变换单元的组或部分变换单元。如果最优旋转被应用到每个块,则针对图像的压缩率增加,而开销也增加。为了确定变换单元、一组变换单元、像条和画面中的哪个单元被应用相同的旋转, 可执行各种实验。在以低比特率变换到频域之后,频率系数矩阵的多个部分的量化系数值变为0。因此,针对频率系数矩阵的所述多个部分,不需要执行ROT和发送关于旋转角度值的附加信肩、ο图像编码设备900通过使用蒙特卡洛方法对多个角度参数的组合执行R0T,并重复执行量化和熵编码,从而确定角度参数的最优组合。此外,图像编码设备900不对角度参数编码,而是将Lehmer的伪随机序列数编码为关于确定的角度参数的最优组合的信息。这里,通过使用定位和准优化基,可以以更高的效率来对关于角度参数的信息编码。返回参照图9和图10,如果第二变换器920基于确定器1010的确定结果,不通过对第一频率系数矩阵执行ROT来产生第二频率系数矩阵,则编码器930对未执行ROT的第一频率系数矩阵本身编码。此外,如果第一频率系数矩阵仅包括系数0,则第一频率系数矩阵不需要被编码, 并且仅对指示输入的预定块的第一频率系数矩阵仅包括系数0的信息(例如,标志信息) 编码。图14是根据另一示例性实施例的对图像解码的图像解码设备1400的框图。图14中示出的图像解码设备1400可以是包括在图2中示出的图像解码设备200 或图5中示出的图像解码器500中的用于执行图像解码处理的模块。参照图14,图像解码设备1400包括解码器1410、第一逆变换器1420和第二逆变换器1430。解码器1410接收比特流,并对指示通过将预定块变换到频域而产生的第一频率系数矩阵是否包括绝对值大于预定值的系数的信息解码。例如,解码器1410可对指示第一频率系数矩阵是否包括非零系数的标志信息解码。其后,解码器1410基于解码的信息选择性地对第二频率系数矩阵的数据解码。第二频率系数矩阵是通过对第一频率系数矩阵执行ROT而产生的矩阵。参照图15详细描述解码器1410的操作。图15是根据示例性实施例的图14中示出的解码器1410的框图。参照图15,解码器1410包括确定器1510和熵解码器1520。确定器1510基于解码的信息(例如,指示第一频率系数矩阵是否包括绝对值大于预定值的系数的信息),确定是否对第二频率系数矩阵解码。确定器1510基于指示第一频率系数矩阵是否包括非零系数的标志信息,确定是否对第二频率系数矩阵解码。如上关于图10所述,如果第一频率系数矩阵仅包括频域系数0,则在编码处理中不对第一频率系数矩阵执行ROT。因此,第二频率系数矩阵的数据不包括在比特流中。在这种情况下,解码器1410不需要对第二频率系数矩阵的数据解码。然而,如果第一频率系数矩阵包括大于0的系数,则通过对第一频率系数矩阵执行ROT而产生的第二频率系数矩阵的数据包括在比特流中,因此解码器1410必须对第二频率系数矩阵的数据解码。熵解码器1520基于确定器1510的确定结果选择性地对第二频率系数矩阵的数据进行熵解码。如果第一频率系数矩阵包括绝对值大于预定值的系数,因此对第一频率系数矩阵执行R0T,则第二频率系数矩阵的数据包括在比特流中。熵解码器1520对包括在比特流中的第二频率系数矩阵的数据进行熵解码。与熵编码相同,可根据CABAC方法或CAVLC 方法来执行熵解码。此外,为了执行逆R0T,熵解码器1520可对关于用于执行ROT的角度参数的信息解码。由熵解码器1520进行熵解码的第二频率系数矩阵根据在编码处理中执行的预定的量化步骤被逆量化。返回参照图14,第一逆变换器1420通过对由解码器1410进行逆量化的第二频率系数矩阵执行逆ROT来产生第一频率系数矩阵。如果第一频率系数矩阵包括非零系数,并因此解码器1410对第二频率系数矩阵的数据解码,则第一逆变换器1420通过对第二频率系数矩阵执行逆ROT来产生第一频率系数矩阵。此外,如上关于图10所述,仅当第一频率系数矩阵不是B像条的块的矩阵,或者第一频率系数矩阵是帧内预测的块的矩阵时,第一逆变换器1420才通过对第二频率系数矩阵执行逆ROT来产生第一频率系数矩阵。第一逆变换器1420通过逆向执行以上关于图IlA至图11C、图12和图13描述的 R0T,对逆量化的第二频率系数矩阵执行逆ROT。在这种情况下,可参照由解码器1410进行熵解码的关于角度参数的信息来执行逆ROT。根据关于角度参数的信息通过部分地交换第二频率系数矩阵的行中的至少一个或列中的至少一个来产生第一频率系数矩阵。如果在编码处理中对仅包括第一频率系数矩阵的部分采样的系数的矩阵执行 ROT,则通过对仅包括部分采样的系数的矩阵执行逆ROT来产生第一频率系数矩阵。第二逆变换器1430从第一逆变换器1420接收第一频率系数矩阵,并对接收的第一频率系数矩阵执行逆频率变换。可通过逆向执行DCT来对第一频率系数矩阵执行逆频率变换。作为逆频率变换的结果,像素域的预定块被恢复。图16是根据示例性实施例的对图像编码的方法的流程图。参照图16,在操作1610中,图像编码设备通过将预定块变换到频域来产生第一频率系数矩阵。图像编码设备接收预定块,执行DCT,从而产生包括DCT系数的第一频率系数矩阵。在操作1620中,图像编码设备确定在操作1610中产生的第一频率系数矩阵是否包括绝对值大于预定值的系数。图像编码设备可确定第一频率系数矩阵是否包括绝对值大于0的系数。此外,图像编码设备还可确定输入的用于编码的块是否是B像条的块,并确定输入的用于编码的块是否是帧内预测的块。在操作1630中,图像编码设备基于操作1620的确定结果,通过选择性地、部分地交换第一频率系数矩阵的行中的至少一个或列中的至少一个来产生第二频率系数矩阵。通过如上关于图IlA至图11C、图12和图13所述对第一频率系数矩阵执行ROT来产生第二频率系数矩阵。如果第一频率系数矩阵具有大的大小,例如,大小等于或大于16X16,则可选择仅包括第一频率系数矩阵的部分采样的系数的矩阵,并可仅对选择的矩阵执行ROT。当选择仅包括部分采样的系数的矩阵时,可选择仅包括低频分量的系数的矩阵。在操作1640中,图像编码设备基于操作1620的确定结果,选择性地对第二频率系数矩阵编码。如果在操作1630中,基于操作1620的确定结果通过执行ROT来产生第二频率系数矩阵,则图像编码设备对产生的第二频率系数矩阵编码。图像编码设备根据预定的量化步骤量化第二频率系数矩阵,并对量化的第二频率系数矩阵进行熵编码。根据CABAC方法或CAVLC方法来执行熵编码。在操作1640中,图像编码设备还对关于用于在操作1630中部分地交换行中的至少一个或列中的至少一个的角度参数的信息编码。角度参数是指示在行中的至少一个之间的部分交换的程度或列中的至少一个之间的部分交换的程度的参数。此外,图像编码设备还可对指示第一频率系数矩阵是否包括绝对值大于预定值的系数的信息编码。例如,图像编码设备可对指示第一频率系数矩阵是否包括非零系数的标志信息编码。图像编码设备还可重复地执行操作1630和1640,以组合多个角度参数,从而确定最优角度参数。图像编码设备对多个角度参数的组合重复地编码,以选择具有最佳压缩率的角度参数。可通过使用上述的蒙特卡洛方法来选择多个角度参数的组合,并且所述多个角度参数的组合可对应于Lehmer的伪随机数。当使多个角度参数的组合对应于Lehmer的伪随机数时,在操作1640中被编码的关于角度参数的信息可以是与确定的最优角度参数相应的Lehmer的伪随机序列的数。图17是根据示例性实施例的对图像解码的方法的流程图。参照图17,在操作1710中,图像解码设备接收预定块的比特流,并对指示预定块的第一频率系数矩阵是否包括绝对值大于预定值的系数的信息解码。图像解码设备可对指示第一频率系数矩阵是否包括大于0的系数的标志信息解码。如上关于图16所述,在编码处理时,仅当第一频率系数矩阵包括非零参数时,才通过对第一频率系数矩阵执行ROT产生第二频率系数矩阵,并且随后对第二频率系数矩阵进行熵编码。因此,为了确定是否对第二频率系数矩阵的数据进行熵编码,首先对指示第一频率系数矩阵是否包括绝对值大于0的系数的信息解码。通过对第一频率系数矩阵执行 ROT来产生第二频率系数矩阵。在操作1720中,图像解码设备基于在操作1710中解码的信息对第二频率系数矩阵解码。基于在操作1710中解码的信息,仅当第一频率系数矩阵包括绝对值大于预定值的系数时,图像解码设备才对第二频率系数矩阵的数据进行熵解码,并对熵解码的第二频率系数矩阵的系数进行逆量化。根据在图像编码处理中使用的量化步骤来对第二频率系数矩阵的系数进行逆量化。在操作1730中,图像解码设备通过部分地交换在操作1720中解码的第二频率系数矩阵的行中的至少一个或列中的至少一个来产生第一频率系数矩阵。图像解码设备通过参照在操作1710中熵解码的关于角度参数的信息,逆向执行以上关于图IlA至图11C、图 12和图13描述的ROT来产生第一频率系数矩阵。如上关于图14所述,如果在编码处理中对仅包括第一频率系数矩阵的部分采样的系数的矩阵执行R0T,则通过对仅包括部分采样的系数的矩阵执行逆ROT来产生第一频率系数矩阵。在操作1740中,图像解码设备对在操作1730中产生的第一频率系数矩阵执行逆频率变换。图像解码设备通过对第一频率系数矩阵执行逆DCT来恢复像素域的块。如上所述,根据示例性实施例,可以以高压缩率基于数学方法来对频率系数矩阵编码,从而总的图像压缩率可显著提高。尽管已经参照附图具体示出和描述了示例性实施例,但是示例性实施例可实现为计算机可读记录介质上的计算机可读代码。例如,在图1、图2、图4、图5、图9、图10、图14或图15中示出的图像编码设备或图像解码设备或者图像编码器或图像解码器可包括连接到设备或编码器的每个单元的总线、连接到该总线并用于执行命令的至少一个处理器、以及连接到该总线以存储命令、接收的消息和产生的消息的存储器。计算机可读记录介质是可存储其后能够由计算机系统读取的数据的任何数据存储装置。计算机可读记录介质的示例包括只读存储器(ROM)、随机存取存储器(RAM)、 ⑶-ROM、磁带、软盘和光学数据存储装置。计算机可读记录介质还可分布在联网的计算机系统上,从而以分布方式存储和执行计算机可读代码。上述示例性实施例和优点仅是示例性的,并不被解释为限制性的。本教导可容易地应用于其他类型的设备。此外,示例性实施例的描述旨在说明性目的,而非限制权利要求的范围,许多替换方式、修改和变型对于本领域技术人员来说将是明显的。
权利要求
1.一种对图像编码的方法,所述方法包括通过将预定块变换到频域来产生第一频率系数矩阵; 确定第一频率系数矩阵是否包括绝对值大于预定值的系数;基于确定结果,通过根据角度参数选择性地、部分地交换第一频率系数矩阵的行中的至少一个和列中的至少一个来产生第二频率系数矩阵; 基于确定结果,选择性地对第二频率系数矩阵编码,其中,角度参数指示在行中的至少一个之间的部分交换的程度和列中的至少一个之间的部分交换的程度。
2.如权利要求1所述的方法,其中,确定的步骤包括确定第一频率系数矩阵是否包括非零系数。
3.如权利要求2所述的方法,其中,确定的步骤还包括确定所述预定块是否是双向预测的像条的块。
4.如权利要求2所述的方法,其中,确定的步骤还包括确定所述预定块是否是通过执行帧内预测而预测的块。
5.如权利要求2所述的方法,其中,选择性地编码的步骤包括 如果第一频率系数矩阵包括非零系数,则量化第二频率系数矩阵; 对量化的第二频率系数矩阵以及关于角度参数的信息进行熵编码。
6.一种对图像解码的方法,所述方法包括对指示预定块的第一频率系数矩阵是否包括绝对值大于预定值的系数的信息解码; 基于解码的信息,选择性地对第二频率系数矩阵的数据解码; 基于解码的信息,通过根据角度参数选择性地、部分地交换第二频率系数矩阵的行中的至少一个和列中的至少一个来恢复第一频率系数矩阵;通过将第一频率系数矩阵变换到像素域来恢复所述预定块,其中,角度参数指示在行中的至少一个之间的部分交换的程度和列中的至少一个之间的部分交换的程度。
7.如权利要求6所述的方法,其中,解码的信息指示第一频率系数矩阵是否包括非零系数。
8.如权利要求7所述的方法,其中,所述预定块不是双向预测的像条(B像条)的块。
9.如权利要求7所述的方法,其中,预定块是通过执行帧内预测而预测的块。
10.如权利要求7所述的方法,其中,对第二频率系数矩阵的数据解码的步骤包括如果解码的信息指示第一频率系数矩阵包括非零系数,则对第二频率系数矩阵的数据以及关于角度参数的信息进行熵解码;对解码的第二频率系数矩阵进行逆量化。
11.一种对图像编码的设备,所述设备包括第一变换器,通过将预定块变换到频域来产生第一频率系数矩阵; 第二变换器,确定第一频率系数矩阵是否包括绝对值大于预定值的系数,并基于确定结果,通过根据角度参数选择性地、部分地交换第一频率系数矩阵的行中的至少一个和列中的至少一个来产生第二频率系数矩阵;编码器,基于第二变换器的确定结果,选择性地对第二频率系数矩阵编码,其中,角度参数指示在行中的至少一个之间的部分交换的程度和列中的至少一个之间的部分交换的程度。
12.如权利要求11所述的设备,其中,第二变换器确定第一频率系数矩阵是否包括非零系数。
13.一种对图像解码的设备,所述设备包括解码器,对指示预定块的第一频率系数矩阵是否包括绝对值大于预定值的系数的信息解码,并基于解码的信息,选择性地对第二频率系数矩阵的数据解码;第一逆变换器,基于解码的信息,通过根据角度参数选择性地、部分地交换第二频率系数矩阵的行中的至少一个和列中的至少一个来恢复第一频率系数矩阵;第二逆变换器,通过将第一频率系数矩阵变换到像素域来恢复所述预定块,其中,角度参数指示在行中的至少一个之间的部分交换的程度和列中的至少一个之间的部分交换的程度。
14.如权利要求13所述的设备,其中,解码的信息指示第一频率系数矩阵是否包括非零系数。
15.一种记录有用于执行权利要求1至10中的一项所述的方法的计算机程序的非瞬态计算机可读记录介质。
全文摘要
一种图像编码方法包括通过将预定块变换到频域来产生第一频率系数矩阵;确定第一频率系数矩阵是否包括绝对值大于预定值的系数;基于确定结果,通过根据角度参数选择性地、部分地交换第一频率系数矩阵的行的至少一个和列中的至少一个来产生第二频率系数矩阵;基于确定结果,选择性地对第二频率系数矩阵编码。
文档编号H04N7/50GK102598663SQ201080049221
公开日2012年7月18日 申请日期2010年10月28日 优先权日2009年10月28日
发明者亚历山大·阿尔辛, 艾琳娜·阿尔辛娜, 范迪姆·谢廖金 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1