CN102484702A - 用于通过使用旋转变换对图像编码和解码的方法和设备 - Google Patents

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

Info

Publication number
CN102484702A
CN102484702A CN2010800360191A CN201080036019A CN102484702A CN 102484702 A CN102484702 A CN 102484702A CN 2010800360191 A CN2010800360191 A CN 2010800360191A CN 201080036019 A CN201080036019 A CN 201080036019A CN 102484702 A CN102484702 A CN 102484702A
Authority
CN
China
Prior art keywords
frequency coefficient
coefficient matrix
row
angular dimensions
matrix
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2010800360191A
Other languages
English (en)
Inventor
艾琳娜·阿尔辛娜
亚历山大·阿尔辛
范迪姆·谢廖金
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN102484702A publication Critical patent/CN102484702A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/19Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation

Abstract

提供了一种对图像编码的方法和设备。所述方法和设备包括:对第二频率系数矩阵进行量化和熵编码,其中,通过执行第一频率系数矩阵的行之间和列之间的一个或多个值的部分交换来产生第二频率系数矩阵。还提供了一种用于对通过使用用于对图像编码的方法和设备编码的图像数据解码的方法和设备。

Description

用于通过使用旋转变换对图像编码和解码的方法和设备
技术领域
与示例性实施例一致的方法和设备涉及一种用于对图像编码和解码的方法和设备,更具体地说,涉及一种用于对频域的系数编码和解码的方法和设备。
背景技术
为了执行图像压缩,大多数图像编码和解码方法和设备通过将像素域的图像变换为频域的系数来对图像编码。离散余弦变换(DCT)是广泛用于图像或声音压缩的频率变换技术。近年来,已经进行了研究以搜索更有效的编码方法。针对音频编码,参数编码获得比DCT更好的结果。针对二维(2D)数据,尽管Karhunen Loeve变换(KLT)系数具有最小的比特大小,但是系统开销(overhead)信息的大小显著增加。
发明内容
解决方案
示例性实施例提供一种对图像编码和解码的方法和设备。
示例性实施例还提供一种记录有用于执行该方法的程序的计算机可读记录介质。
有益效果
如上所描述的,根据示例性实施例的用于对图像编码和解码的方法和设备可基于固态(solid)数学基础以较高压缩率对频率系数矩阵编码,从而可显著地提高整体图像编码操作的压缩率。
附图说明
通过参照附图详细描述本发明的示例性实施例,以上和其它特点将变得更明显,附图中:
图1是根据示例性实施例的图像编码设备的示图;
图2是根据另一示例性实施例的图像解码设备的示图;
图3是根据另一示例性实施例的分级编码单位的示图;
图4是根据另一示例性实施例的基于编码单位的图像编码器的框图;
图5是根据另一示例性实施例的基于编码单位的图像解码器的框图;
图6示出根据另一示例性实施例的最大编码单位、子编码单位和预测单位;
图7是根据另一示例性实施例的编码单位和变换单位的示图;
图8A和图8B示出根据另一示例性实施例的最大编码单位、预测单位和变换单元的划分形式;
图9是根据另一示例性实施例的图像编码设备的框图;
图10是根据另一示例性实施例的变换器的示图;
图11A到图11C示出根据另一示例性实施例的旋转变换(ROT);
图12是根据另一示例性实施例的欧拉角的示图;
图13示出根据另一示例性实施例的伪随机点;
图14是根据另一示例性实施例的图像解码设备的框图;
图15是根据另一示例性实施例的逆变换器的示图;
图16是根据示例性实施例的对图像编码的方法的流程图;
图17是根据另一示例性实施例的对图像解码的方法的流程图。
最佳实施方式
根据示例性实施例的一方面,提供了一种对图像编码的方法,所述方法包括:通过将预定块变换到频域来产生第一频率系数矩阵;通过基于角参数执行第一频率系数矩阵的行之间或列之间的一个或多个值的部分交换来产生第二频率系数矩阵;对第二频率系数矩阵进行量化;对第二频率系数矩阵和关于角参数的信息进行熵编码,其中,角参数是指示行之间和列之间的一个或多个值的部分交换的水平的参数。
根据示例性实施例的另一方面,提供了一种图像编码设备,包括:变换器,通过将预定块变换到频域来产生第一频率系数矩阵,通过基于角参数执行第一频率系数矩阵的行之间或列之间的一个或多个值的部分交换来产生第二频率系数矩阵;量化单元,对第二频率系数矩阵进行量化;熵编码器,对第二频率系数矩阵和关于角参数的信息进行熵编码,其中,角参数是指示行之间和列之间的一个或多个值的部分交换的水平的参数。
根据示例性实施例的另一方面,提供了一种对图像解码的方法,所述方法包括:对第二频率系数矩阵和关于角参数的信息进行熵解码;对第二频率系数矩阵进行逆量化;通过基于角参数执行第二频率系数矩阵的行之间或列之间的一个或多个值的部分交换来产生第一频率系数矩阵;将第一频率系数矩阵逆变换到像素域,并重构预定块,其中,角参数是指示行之间和列之间的一个或多个值的部分交换的水平的参数。
根据示例性实施例的另一方面,提供了一种图像解码设备,包括:熵解码器,对第二频率系数矩阵和关于角参数的信息进行熵解码;逆量化单元,对第二频率系数矩阵进行逆量化;逆变换器,通过基于角参数执行第二频率系数矩阵的行之间或列之间的一个或多个值的部分交换来产生第一频率系数矩阵;将第一频率系数矩阵逆变换到像素域,并重构预定块,其中,角参数是指示行之间和列之间的一个或多个值的部分交换的水平的参数。
根据示例性实施例的另一方面,提供了一种计算机可读记录介质,所述记录介质存储用于执行对图像编码和对图像解码的方法的计算机可读程序。
具体实施方式
在下文,将参照附图详细描述示例性实施例。在本说明书中,“图像”可表示用于视频的静止图像或运动图像(即,视频本身)。
图1是根据示例性实施例的用于对图像编码的设备100的框图。
参照图1,设备100包括最大编码单位划分器110、编码深度确定单元120、图像数据编码器130和编码信息编码器140。
最大编码单位划分器110可基于最大编码单位(其为最大大小的编码单位)来划分当前画面或像条(slice)。即,最大编码单位划分器110可划分当前画面或像条,以获得至少一个最大编码单位。
根据示例性实施例,可通过使用最大编码单位和深度来表示编码单位。如上所述,最大编码单位表示当前画面的编码单位中具有最大大小的编码单位,深度表示通过分级地减小编码单位获得的子编码单位的大小。随着深度增加,编码单位的大小从最大编码单位减小到最小编码单位,其中,最大编码单位的深度被定义为最小深度,最小编码单位的深度被定义为最大深度。由于编码单位的大小随着深度增加而从最大编码单位减小,所以第k深度的子编码单位可包括第(k+n)深度的多个子编码单位(k和n为等于或大于1的整数)。
根据将被编码的画面的大小的增加,以较大的编码单位对图像编码可引起较高的图像压缩比。然而,如果较大的编码单位被固定,则考虑到连续改变的图像特性,无法对图像进行有效编码。
例如,当对诸如大海或天空的平滑区域编码时,编码单位越大,可增加越多的压缩比。然而,当对诸如人或建筑的复杂区域编码时,编码单位越小,压缩比可增加的越多。
因此,根据示例性实施例,针对每个画面或像条设置不同的最大图像编码单位和不同的最大深度。由于最大深度表示编码单位可减小的最大倍数,最大图像编码单位中包括的每个最小编码单位的大小可根据最大深度被变化地设置。
编码深度确定单元120确定最大深度。可基于率失真(R-D)代价的计算来确定最大深度。可针对每个画面或像条或者针对每个最大编码单位来不同地确定最大深度。确定的最大深度被提供给编码信息编码器140,根据最大编码单位的图像数据被提供给图像数据编码器130。
最大深度表示具有可被包括在最大编码单位中的最小大小的编码单位,即,最小编码单位。换句话讲,可根据不同深度将最大编码划分成具有不同大小的子编码单位。稍后将参照图8A和图8B对此进行详细描述。另外,可基于具有不同大小的处理单位来预测或变换最大编码单位中包括的具有不同大小的子编码单位。换句话讲,设备100可基于具有各种大小和各种形状的处理单位来对图像执行多个处理操作。为了对图像数据编码,可执行诸如预测、变换和熵编码的处理操作,其中,可对每个操作使用具有相同大小的处理单位,或者可对每个操作使用具有不同大小的处理单位。
例如,设备100可选择与编码单位不同的处理单位,以预测编码单位。
当编码单位的大小是2N×2N(其中,N为正整数)时,用于预测的处理单位可以是2N×2N、2N×N、N×2N、N×N。换句话讲,可基于具有由此编码单位的高度和宽度中的至少一个被均除以2的形状的处理单位来执行运动预测。以下,作为预测基础的处理单位被定义为“预测单位”。
预测模式可以是帧内模式、帧间模式和跳过模式中的至少一个。可仅对具有特定大小或形状的预测单位执行特定预测模式。例如,可仅对形状是正方形的大小为2N×2N和N×N的预测单位执行帧内模式。此外,可仅对大小为2N×2N的预测单位执行跳过模式。如果在编码单位中存在多个预测单位,则在对每个预测单位执行了预测之后,可选择具有最少编码误差的预测模式。
可选择地,设备100可基于大小与编码单位不同的处理单位来对图像数据执行到频率的变换。针对编码单位中的频率变换,可基于大小等于或小于编码单位的大小的处理单位来执行频率变换。以下,作为频率变换基础的处理单位被定义为“变换单位”。频率变换可以是任何变换:例如,离散余弦变换(DCT)或Karhunen Loeve变换(KLT)。
编码深度确定单元120可基于拉格朗日乘法器通过使用RD优化来确定最大编码单位中包括的子编码单位。换句话讲,编码深度确定单元120可确定从最大编码单位划分的多个子编码单位的形状,其中,所述多个子编码单位根据其深度具有不同的大小。图像数据编码器130基于由编码深度确定单元120确定的划分形状通过对最大编码单位编码来输出比特流。
编码信息编码器140对关于由编码深度确定单元120确定的最大编码单位的编码模式的信息进行编码。换句话讲,编码信息编码器140通过对关于最大编码单位的划分形状的信息、关于最大深度的信息、关于针对每个深度的子编码单位的编码模式的信息进行编码来输出比特流。关于子编码单位的编码模式的信息可包括关于子编码单位的预测单位的信息、关于针对每个预测单位的预测模式的信息、关于子编码单位的变换单位的信息。
由于针对每个最大编码单位存在具有不同大小的子编码单位,并且针对每个子编码单位必须确定关于编码模式的信息,所以可针对一个最大编码单位确定关于至少一个编码模式的信息。
设备100可根据深度的增加将最大编码单位的高度和宽度均除以2来产生子编码单位。即,当第k深度的编码单位的大小是2N×2N时,第(k+1)深度的编码单位的大小是N×N。
因此,根据示例性实施例的设备100可考虑图像特性基于最大深度和最大编码单位的大小来确定每个最大编码单位的最优划分形状。通过考虑图像特性变化地调整最大编码单位的大小,并通过将最大编码单位划分成不同深度的子编码单位对图像编码,可更有效地对具有各种分辨率的图像进行编码。
图2是根据示例性实施例的用于对图像解码的设备200的框图。
参照图2,设备200包括图像数据获取单元210、编码信息提取单元220和图像数据解码器230。
图像数据获取单元210通过解析由设备200接收的比特流根据最大编码单位来获取图像数据,并将所述图像数据输出到图像数据解码器230。图像数据获取单元210可从当前画面或像条的头中提取关于当前画面或像条的最大编码单位的信息。换句话讲,图像数据获取单元210按最大编码单位划分比特流,从而图像数据解码器230可根据最大编码单位对图像数据解码。
编码信息提取单元220通过解析由设备200接收的比特流从当前画面的头中提取关于最大编码单位、最大深度、最大编码单位的划分形状、子编码单位的编码模式的信息。关于划分形状的信息和关于编码模式的信息被提供给图像数据解码器230。
关于最大编码单位的划分形状的信息可包括与根据最大编码单位中包括的深度具有不同大小的子编码单位有关的信息,关于编码模式的信息可包括与根据子编码单位的预测单位有关的信息、关于预测模式的信息和关于变换单位的信息。
图像数据解码器230通过基于由编码信息提取单元220提取的信息对每个最大编码单位的图像数据解码来恢复当前画面。编码信息解码器230可基于关于最大编码单位的划分形状的信息来对最大编码单位中包括的子编码单位解码。解码处理可包括具有帧内预测和运动补偿的预测处理、逆变换处理。
图像数据解码器230可基于关于预测单位的信息和关于预测模式的信息来执行帧内预测或帧间预测,以对预测单位进行预测。图像数据解码器230还可基于关于子编码单位的变换单位的信息来对每个子编码单位执行逆变换。
图3示出根据示例性实施例的分级编码单位。
参照图3,根据示例性实施例的分级编码单位可包括尺寸为64×64、32×32、16×16、8×8、4×4的编码单位。除了这些具有完全正方形的编码单位之外,还可存在尺寸为64×32、32×64、32×16、16×32、16×8、8×16、8×4、4×8的编码单位。
参照图3,针对分辨率为1920×1080的图像数据310,最大编码单位的大小被设置为64×64,最大深度被设置为2。
针对分辨率为1920×1080的图像数据320,最大编码单位的大小被设置为64×64,最大深度被设置为3。针对分辨率为352×288的图像数据330,最大编码单位的大小被设置为16×16,最大深度被设置为1。
当分辨率为高或者数据量大时,优选地,编码单位的最大大小相对大,以增加压缩比并准确地反映图像特性。因此,针对分辨率高于图像数据330的图像数据310和320,可选择64×64作为最大编码单位的大小。
最大深度表示在分级编码单位中层的总数量。由于图像数据310的最大深度是2,因此,根据深度的增加,图像数据310的编码单位315可包括长轴大小为64的最大编码单位以及长轴大小为32和16的子编码单位。
另一方面,由于图像数据330的最大深度为1,因此,根据深度的增加,图像数据330的编码单位335可包括长轴大小为16的最大编码单位以及长轴大小为8的编码单位。
然而,由于图像数据320的最大深度为3,所以,根据深度的增加,图像数据320的编码单位325可包括长轴大小为64的最大编码单位以及长轴大小为32、16、8和4的子编码单位。由于随着深度的增加基于较小的子编码单位对图像进行编码,所以示例性实施例适用于对包括更微小场景的图像进行编码。
图4是根据示例性实施例的基于编码单位的图像编码器400的框图。
帧内预测器410对当前帧405中的帧内模式的预测单位执行帧内预测,运动估计单元420和运动补偿单元425通过使用当前帧405和参考帧495对帧间模式的预测单位执行帧间预测和运动补偿。
基于从帧内预测单位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的框图。
比特流505通过解析器510,从而将被解码的编码图像数据和解码所必需的编码信息被解析。编码图像数据通过熵解码器520和逆量化器530被输出为逆量化数据,并通过频率逆变换器540被恢复为残差值。残差值通过被加上帧内预测器550的帧内预测结果或者运动补偿单元560的运动补偿结果根据编码单位被恢复。恢复的编码单位通过去块单元570和环路滤波单元580被用于随后的编码单位或下一画面的预测。
为了基于根据示例性实施例的解码方法执行解码,图像解码器500的部件(即,解析单元510、熵解码器520、逆量化单元530、频率逆变换器540、帧内预测器550、运动补偿单元560、去块单元570和环路滤波单元580)基于最大编码单位、根据深度的子编码单位、预测单位和变换单位执行图像解码处理。
具体地讲,帧内预测器550和运动补偿单元560通过考虑最大编码单位和深度确定子编码单位中的预测模式和预测单位,频率逆变换器540通过考虑变换单位的大小执行逆变换。
图6示出根据示例性实施例的最大编码单位、子编码单位和预测单位。
根据示例性实施例的设备100和设备200考虑图像特性使用分级编码单位执行编码和解码。最大编码单位和最大深度可根据图像特性被自适应地设置,或者根据用户需求被不同地设置。
根据示例性实施例的分级编码单位结构600示出高和宽为64以及最大深度为4的最大编码单位610。深度沿着分级编码单位结构600的纵轴增加,随着深度增加,子编码单位620至650的高度和宽度减小。沿着分级编码结构600的横轴示出了最大编码单位610以及子编码单位620至650的预测单位。
最大编码单位610深度为0,编码单位的大小(即,高和宽)为64×64。深度沿着纵轴增加,存在大小为32×32并且深度为1的子编码单位620、大小为16×16并且深度为2的子编码单位630、大小为8×8并且深度为3的子编码单位640、大小为4×4并且深度为4的子编码单位650。大小为4×4并且深度为4的子编码单位650是最小编码单位,最小编码单位可被划分成多个预测单位,所述多个预测单位中的每一个小于最小编码单位。
参照图6,根据每个深度沿横轴示出了预测单位的示例。即,深度为0的最大编码单位610的预测单位可以是大小等于编码单位610的大小(即,64×64)的预测单位,或者深度为0的最大编码单位610的预测单位可以是大小为64×32的预测单位612、大小为32×64的预测单位614或者大小为32×32的预测单位616,其中,预测单位612、614或616的大小小于大小为64×64的编码单位610的大小。
深度为1并且大小为32×32的编码单位620的预测单位可以是大小等于编码单位620的大小(即,32×32)的预测单位,或者编码单位620的预测单位可以是大小为32×16的预测单位622、大小为16×32的预测单位624或者大小为16×16的预测单位626,其中,预测单位622、624或者626的大小小于大小为32×32的编码单位620的大小。
深度为2并且大小为16×16的编码单位630的预测单位可以是大小等于编码单位630的大小(即,16×16)的预测单位,或者编码单位620的预测单位可以是大小为16×8的预测单位632、大小为8×16的预测单位634或者大小为8×8的预测单位636,其中,预测单位632、634或者636的大小小于大小为16×16的编码单位630的大小。
深度为3并且大小为8×8的编码单位640的预测单位可以是大小等于编码单位640的大小(即,8×8)的预测单位,或者编码单位640的预测单位可以是大小为8×4的预测单位642、大小为4×8的预测单位644或者大小为4×4的预测单位646,其中,预测单位642、644或者646的大小小于大小为8×8的编码单位640的大小。
最后,深度为4并且大小为4×4的编码单位650是最小编码单位和最大深度的编码单位,编码单位650的预测单位可以是大小为4×4的预测单位650、大小为4×2的预测单位652、大小为2×4的预测单元654或者大小为2×2的预测单位656。
图7示出根据示例性实施例的编码单位和变换单位。
根据示例性实施例的设备100和设备200使用最大编码单位自身或者使用从最大编码单位划分的等于或小于最大编码单位的子编码单位执行编码。
在编码处理中,选择用于频率变换的变换单位的大小以不大于相应编码单位的大小。例如,在当前编码单位710大小为64×64时,可通过使用大小为32×32的变换单位720来执行频率变换。
图8A和图8B示出根据示例性实施例的编码单位、预测单位和频率变换单位的划分形状。
图8A示出根据示例性实施例的编码单位和预测单位。
图8A的左侧示出根据示例性实施例的由设备100选择的划分形状,以对最大编码单位810编码。设备100将最大编码单位810划分成不同形状,执行编码,并通过基于R-D代价对各划分形状的编码结果进行相互比较来选择最优划分形状。当保持原样对最大编码单位810编码为最优时,可在不划分最大编码单位810的情况下对最大编码单位810编码,如图8A和图8B所示。
参照图8A的左侧,通过将深度为0的最大编码单位810划分成深度等于或大于1的子编码单位来对最大编码单位810编码。即,最大编码单位810被划分成深度为1的四个子编码单位,深度为1的所有或一些子编码单位被划分成深度为2的子编码单位。
深度为1的子编码单位中位于右上侧的子编码单位和位于左下侧的子编码单位被划分成深度等于或大于2的子编码单位。深度等于或大于2的子编码单位中的一些可被划分成深度等于或大于3的子编码单位。
图8A的右侧示出最大编码单位810的预测单位的划分形状。
参照图8A的右侧,可与最大编码单位810不同地来划分最大编码单位810的预测单位860。换句话讲,每个子编码单位的预测单位可小于相应的子编码单位。
例如,深度为1的子编码单位中位于右下侧的子编码单位854的预测单位可小于子编码单位854。另外,深度为2的子编码单位814、816、850和852中的一些子编码单位(814、816、850和852)的预测单位可分别小于子编码单位814、816、850和852。另外,深度为3的子编码单位822、832和848的预测单位可分别小于子编码单位822、832和848。预测单位可具有由此各子编码单位在高度或宽度方向被均除以2的形状,或者可具有由此各子编码单位在高度和宽度方向被均除以4的形状。
图8B示出根据示例性实施例的预测单位和变换单位。
图8B的左侧示出在图8的右侧示出的最大编码单位810的预测单位的划分形状,图8B的右侧示出最大编码单位810的变换单位的划分形状。
参照图8B的右侧,可从预测单位860不同地设置变换单位870的划分形状。
例如,即使深度为1的编码单位854的预测单位被选择具有由此编码单位854的高度被均除以2的形状,变换单位可被选择具有与编码单位854的大小相同的大小。同样地,即使深度为2的编码单位814和850的预测单位被选择具有由此编码单位814和850中的每一个的高度被均除以2的形状,变换单位可被选择具有与编码单位814和850中的每一个的原始大小相同的大小。
变换单位可被选择具有比预测单位小的大小。例如,当深度为2的编码单位852的预测单位被选择具有由此编码单位852的宽度被均除以2的形状时,变换单位可被选择具有由此编码单位852沿着高度和宽度的方向被均除以4的形状,该形状具有比预测单位的形状小的大小。
图9是根据另一示例性实施例的图像编码设备900的框图。
图9的图像编码设备900可以是包括在图1的图像编码设备100中的模块或包括在图4的图像编码器400中的模块,所述模块执行稍后将描述的图像编码过程。参照图9,根据本示例性实施例的图像编码设备900包括变换器910、量化单元920和熵编码器930。
变换器910接收预定块并将预定快变换到频域。预定块根据预定变换算法被变换,然后产生频域的系数。变换器910可使用包括将像素域的块变换到频域的系数的多种算法之一。例如,可通过使用离散余弦变换(DCT)或Karhunen Loeve变换(KLT)将预定块变换到频域。预定块可以是残差块。此外,预定块可以是关于图7或图8B描述的变换单位的块。
此外,变换器910执行包括在矩阵的行之间和矩阵的列之间交换一个或多个值的后处理,其中,所述矩阵包括产生为变换的结果的频域的系数,将参照图10、图11A到图11C详细描述后处理。
图10是根据示例性实施例的变换器910的示图。
参照图10,变换器910包括变换执行单元1010、旋转变换(ROT)执行单元1020。
变换执行单元1010接收预定块,将预定块变换到频域,并产生频率系数矩阵。例如,如上所述,通过执行DCT或KLT,可产生包括频域的系数的频率系数矩阵。
ROT执行单元1020接收由变换执行单元1010产生的频率系数矩阵,执行ROT,然后产生调整后的频率系数矩阵。ROT可与这样的变换对应:通过所述变换来对行之间和列之间的一个或多个值进行交换。将参照图11A到图11C详细描述ROT。
图11A到图11C示出根据示例性实施例的ROT。
ROT执行单元1020对频率系数矩阵的行之间和列之间的一个或多个值进行部分地交换。现在将参照图11A到图11C描述频率系数矩阵的行之间和列之间的交换。
根据一个或多个示例性实施例,行之间或列之间的部分交换不指示特定行或特定列的值按一到一对应被无条件交换,而是指示通过使用包括正弦函数的特定函数对两行之间或两列之间的值进行部分地交换。
例如,根据参数a的值,两行A和B之间的交换可由等式1定义。
【等式1】
行A(新)=cos(a)×行A(旧)-sin(a)×行B(旧)
行B(新)=sin(a)×行A(旧)+cos(a)×行B(旧)
参照等式1,参数“a”用作角。因此,在本发明的一个或多个实施例中,指示DCT变换矩阵的行之间和列之间的部分交换的水平的参数“a”被定义为角参数。
在参数“a”的值为0度的情况下,该情况意味着交换未发生。此外,在参数“a”的值为90度的情况下,在行之间发生整体交换。
在参数“a”的值具有大于90度小于180度的值的情况下,该情况意味着在行之间发生交换,并且元素值的符号被改变。在参数“a”的值为180度的情况下,在行之间没有发生交换,但是包括在每行中的所有元素的符号被改变。在一个或多个示例性实施例中,列之间的部分交换以与行之间的部分交换同样的方式被定义。
图11A示出对4×4频率系数矩阵执行ROT的情况。参照图11A,三个参数α1、α2和α3用于频率系数矩阵的行之间的部分交换,三个参数α4、α5和α6用于频率系数矩阵的列之间的部分交换。
图11B示出对8×8频率系数矩阵执行ROT的情况。在图11B的情况下,α1、α2、α3、α4、α5和α6被用于行之间的部分交换,α7、α8、α9、α10、α11和α12被用于列之间的部分交换。
图11C示出对大小等于或大于16×16的频率系数矩阵执行ROT的情况。
如以上关于图11A和图11B的描述,随着频率系数矩阵的大小增加,角参数的数量增加。为了对图11A的4×4频率系数矩阵执行ROT,需要六个角参数,为了对图11B的8×8频率系数矩阵执行ROT,需要12个角参数。
虽然以通过对频率系数矩阵执行ROT来产生调整后的频率系数矩阵的方式提高了压缩率,然后对调整后的频率系数矩阵执行量化和熵编码,但是如果角参数的数量增加使得系统开销增加,则数据的总量不减少。因此,预定大小,例如,当对大小等于或大于16×16的频率系数矩阵执行ROT时,使用系数采样。
换句话说,如图11C中所示,ROT执行单元1020选择仅包括频率系数矩阵1010的一些系数的采样的频率系数矩阵1120,然后对选择的频率系数矩阵1120执行ROT。不对频率系数矩阵1110的剩余部分1130执行ROT。
为了使对具有大的大小的频率系数矩阵的ROT达到足够效果,包括在频率系数矩阵1120中的系数需要具有图像数据的压缩效果。因此,ROT执行单元1020只选择具有低频分量并且具有除0之外的值的系数,并对这些系数执行ROT。
一般地,作为变换结果的产生的频率系数矩阵包括关于在频率系数矩阵的左上角的低频分量的系数。因此,如图11C中所示,ROT执行单元1020仅选择位于频率系数矩阵1110的左上角的系数,然后执行ROT。在图11C的示例中,ROT执行单元1020以与关于图11B的ROT相同的方式对大小为8×8的频率系数矩阵1120执行ROT。
参照图11A的对4×4频率系数矩阵的ROT,根据三个角参数α1、α2和α3的应用顺序获得不同结果。即,三个角参数彼此不独立。作为在首先应用角参数α1然后应用角参数α2的情况下执行ROT的结果而产生的调整后的频率系数矩阵不同于作为在首先应用角参数α2然后应用角参数α1的情况下执行ROT的结果而产生的调整后的频率系数矩阵。这将参照图12进行详细描述。
图12是根据另一示例性实施例的欧拉(Euler)角的示图。
参照图12,可理解矩阵的行之间或列之间的交换与三维(3D)空间中的坐标轴的旋转相似。即,三行或三列分别与3D坐标的X轴、Y轴和Z轴对应。针对3D空间中的坐标轴的旋转,根据哪个轴首先旋转获得不同结果。因此,已经尝试显示3D空间中的坐标轴的旋转,在所述尝试中的代表性尝试就是欧拉角。
在图12中,α、β、γ角指示欧拉角。图12中,X轴、Y轴和Z轴指示旋转之前的坐标轴,X’轴、Y’轴、Z’轴指示旋转之后的坐标轴。N轴是X-Y平面和X’-Y’平面的相交线。这里,N轴被称为“节点的线”。
角α指示绕Z轴旋转的X轴和N轴之间的角。角β指示绕N轴旋转的Z轴和Z’轴之间的角。角γ指示绕Z’轴旋转的N轴和X’轴之间的角。
等式2给出根据欧拉角的坐标轴的旋转。
【等式2】
cos γ sin γ 0 - sin γ cos γ 0 0 0 1 1 0 0 0 cos β sin β 0 - sin β cos β cos α sin α 0 - sin α cos α 0 0 0 1
第一矩阵指示围绕Z’轴的旋转。第二矩阵指示围绕N轴的旋转。第三矩阵指示围绕Z轴的旋转。
在一个或多个示例性实施例中,在矩阵的行之间或列之间的交换可被指示为使用欧拉角的坐标轴的旋转。
返回参照图9和图10,变换器910的ROT执行单元1020对频率系数矩阵执行ROT,从而产生调整后的频率系数矩阵。调整后的频率系数矩阵被输入到量化单元920。
量化单元920根据预定量化步长对包括在调整后的频率系数矩阵中的系数进行量化,熵编码器930对量化的调整后的频率系数矩阵执行熵编码。可通过使用上下文自适应变量算术编码(CABAC)或上下文自适应变长编码(CAVLC)来执行熵编码。在由于频率系数矩阵1110的大的大小而仅对只包括一些系数的频率系数矩阵1120执行ROT的情况下,对包括频率系数矩阵1120和剩余部分1130的频率系数矩阵1110执行量化然后执行熵编码,其中,频率系数矩阵1120包括旋转变换的一些系数。
熵编码器930对在由变换器910执行的ROT中使用的角参数执行熵编码,图像编码设备900根据以下过程确定用于ROT的最佳角参数。
为了有效地执行压缩,为了最佳角参数需要搜索最佳角参数。然而,这是对参数具有强烈非平滑度依赖性的多参数问题。为了解决该问题,使用蒙特卡罗(Monte Carlo)方法。这里,在蒙特卡罗方法中可使用莱默(Lehmer)随机序列数以产生随机点。仅可存储或发送指示序列数的一个整数,而不是存储或发送用作参数的角参数。因此,可减少通知解码器在ROT中使用的角参数所必需的系统开销。
即,将被考虑以确定最佳角参数的组合的内容被陈述如下。
1、变换矩阵的可逆变换
2、用于更有效编码的能量的重排列
3、通过使用莱默随机序列数而增加的信息的最小化
返回参照图11A到图11C,通过频率系数矩阵的旋转被修正的部分被涂为黑色,未被修正的部分被涂为白色。在图11A的4×4频率系数矩阵中,在根据行之间和列之间的交换对十五个系数的修正中涉及六个角参数。在图11B的8×8频率系数矩阵中,在六十个系数的修正中涉及十二个角参数。
参照图11A,对于行之间的交换,三个见参数是必须的,对于列之间的交换,三个角参数也是必须的。因此,针对4×4块,六个角参数是必须的。
参照图11B,对于行之间的交换,六个见参数是必须的,对于列之间的交换,六个角参数也是必须的。因此,针对8×8块,十二个角参数是必须的。
图像编码设备900可根据以下步骤执行ROT。
步骤1-正交变换家族参数化
步骤2-蒙特卡罗方法
步骤3-莱默伪随机数
步骤4-用于最佳角参数的音域(diapason)的定位
步骤5-准最佳要素(basis)
虽然通过使用ROT提高了图像的压缩率,但是如果添加太多的参数,则视频信号的发送可达到比压缩更好的结果。换句话说,存在在压缩率和附加参数的系统开销之间的交替使用。例如,虽然4×4频率系数矩阵中的图像信号被压缩到接近0的大小,但是如果压缩需要十六个附加参数,则可不需要执行ROT。在这方面,可更有效地将十六个像素值发送到解码器。因此,图像信号的压缩和附加系统开销的最小化两者是重要的。
为此,在根据以下步骤最小化系统开销的同时,ROT执行单元1020搜索最佳角参数。
<步骤1-正交变换家族参数化>
为了选择用于当前数据的最佳变换,需要要素调整。要素的旋转被选择作为要素修改。从而旋转角的集合唯一地描述要素修改。
介绍过的旋转角以与欧拉角描述3D空间中的固态体的旋转相同的方式来描述要素修改。该相似性解释该算法的名称。
为了修正要素,可主要选择要素的旋转。在一个或多个示例性实施例中,通过使用角参数执行要素的选择。这里,使用通过利用角参数执行的要素的旋转。角参数可以是欧拉角。然而,角参数不限于欧拉角,因此可包括可指示矩阵的行之间和列之间的一个或多个值的部分交换的水平的其它。以下,现在将描述涉及使用欧拉角的示例。
旋转由等式3通过使用频率系数矩阵D的左乘法Rhorizontal和右乘法Rvertical定义。
【等式3】
D’=Rhorizontal×D×Rvertical
(D’指示被旋转变换的调整后的频率系数矩阵。)
矩阵Rhorizontal执行频率系数矩阵D的行之间的交换。Rvertical执行频率系数矩阵D的列之间的交换。
4×4块中的矩阵Rhorizontal的示例由等式4给出。
【等式4】
A B C 0 D E F 0 G H I 0 0 0 0 1
A=cosαcosγ-sinαcosβsinγ
B=-sinαcosγ-cosαcosβsinγ
C=sinβsinγ
D=cosαsinγ+sinαcosβcosγ
E=-sinαsinγ+cosαcosβcosγ
F=-sin βcosγ
G=sinαsinβ
H=cosαsinβ
I=cosβ
在等式4中,α、β、γ指示欧拉角。
因此,对于4×4频率系数矩阵,欧拉角通过六个参数α1、α2、...α6的组描述十二个频率系数的修正。对于8×8频率系数矩阵,十二个欧拉角α-1、α2、...α12描述六十个频率系数的修正。
<步骤2-蒙特卡罗方法>
在自由度减小到六个角参数(8×8频率系数矩阵情况下的十二个角参数)之后,需要考虑到节省比特检查优化问题。即,需要对选择角参数的组的方法进行优化。
对使用高维域的参数(六个或十二个角参数)的优化是困难的,并且图像的压缩对于使用的参数具有非平滑依赖性。一般地,通过使用蒙特卡罗方法来解决该困难。
蒙特卡罗方法的核心在于执行多个尝试。即,从几个点测量压缩率,然后选择最佳点。在蒙特卡罗方法中,多维域中的随机点的质量是很重要的(具体地,根据维数的升高质量更加重要)。伪随机点优选为均衡栅格点。这将参照二维(2D)情况在图13中描述。
图13示出根据另一示例性实施例的伪随机点。
图13的左示图示出均衡栅格点,图13的右示图示出根据伪随机处理的第一十六个点。
在使用均衡栅格点的情况下,不管蒙特卡罗方法的十六个点,仅针对第一参数(和第二参数)检查四个不同值。另一方面,在使用伪随机的情况下,通过十六个点针对第一参数(和第二参数)检查十六个不同值。即,当使用伪随机点时,针对十六个点充分检查第一参数和第二参数的各个值。具体地说,针对蒙特卡罗方法,根据参数的数量的增加,伪随机点的使用比均衡栅格点的使用更有益。
<步骤3-莱默伪随机数>
可通过使用各种方法产生伪随机序列。最有效的方法之一是使用莱默数。这是人工产生的序列,并接近于被均衡地分布的真实随机数。用于产生莱默序列的算法是公知的,因此这里省略对其的详细描述。根据示例性实施例,提供至少1013个不重复点。莱默序列是人造序列,并且用于产生莱默序列的算法是公知的,因此解码器可容易地对其进行再计算。
通过使用莱默序列,可通过使用一个信息(即,随机序列中的数量)来对角参数的组合编码。在六维(在4×4频率系数矩阵的情况下)或十二维(在8×8频率系数矩阵的情况下)参数域中,产生与角参数的组合对应的随机点,在通过使用随机点执行压缩之后测量压缩率,然后选择最佳参数点。与最佳参数点对应的莱默序列的数量被存储或发送,而不是存储或发送角参数的组合。
如果对2p个点(即,蒙特卡罗方法中的角参数的组合)执行ROT,则只有p比特的信息被包括作为系统开销。
<步骤4-用于最佳角参数的音域的定位>
根据一个或多个示例性实施例,最佳旋转角具有接近0度或180度(π弧度)的值。这意味着用于转换到频域的要素(例如,DCT要素或KLT要素)几乎被优化。
因此,根据一个或多个示例性实施例的角参数仅用于执行行之间和列之间的一个或多个值的部分交换(对在欧拉角的情况下的接近0度的角),或执行所述部分交换和要素元素的符号的改变(在欧拉角的情况下接近180度的角)。即,用于一个或多个示例性实施例的参数的音域被限制为域的特定部分,该限制被称为定位。
通过对参数的音域执行定位,关于系统开销的比特的数量减小。如果假设图13中的将被检查的点被限制为特定部分,则将被检查以搜索角参数的最佳组合的点的数量减少。
此外,如果将被检查的点的数量是固定的(即,在用作系统开销的比特的数量是固定的情况下),并且应用定位,则可检查在较小角中的更多点,从而可增加压缩率。
<步骤5-准最佳要素>
通过执行上述步骤1至步骤4,可关于所有块(大小等于或大于4×4和8×8的块)选择最佳要素。可以以高比特率将具有8或10字节的系统开销添加到每个块。当比特率减小时,优选选择准最佳要素。
准最佳要素意味着相同的旋转应用于包括在像条或画面中的所有变换单位的组或变换单位的一些。如果最佳选择应用于每个块,则关于图像的压缩率增加,而系统开销也增加。
为了确定变换单位、变换单位的组合、像条和画面中的哪个单位应用了相同旋转,可执行各种试验。
在以低比特率变换到频域之后,频率系数矩阵的许多部分中的量化系数值变为0。因此,针对频率系数矩阵的部分,不必须执行ROT和发送关于旋转角度值的附加信息。
图像编码设备900通过使用蒙特卡罗方法对多个角参数的组合执行ROT,并重复地执行量化和熵编码,从而确定角参数的最佳组合。此外,图像编码设备900不对角参数编码,而将莱默伪随机序列数编码为关于确定的角参数的最佳组合的信息。这里,通过使用定位和准最佳要素,关于角参数的信息可以以更高的效率被编码。
图14是根据另一示例性实施例的图像解码设备1400的框图。图14的图像解码设备1400可以是包括在图2的图像解码设备200中的模块或包括在图5的图像解码器500中的模块,并且图像解码设备1400执行稍后描述的图像解码过程。参照图14,图像解码设备1400包括熵解码器1410、逆量化器1420和逆变换器1430。
熵解码器1410接收比特流,并对预定块的调整后的频率系数矩阵执行熵解码。调整后的频率系数矩阵以如下方式产生:通过将预定块变换到频域来产生频率系数矩阵,并且对频率系数矩阵执行ROT。此外,对于逆ROT,熵解码器1410可对关于在ROT中使用的角参数的信息解码。与熵编码器930类似,熵解码器1410通过使用CABAC或CAVLC执行熵解码。
逆量化器1420对由熵解码器1410熵解码的调整后的频率系数矩阵逆量化。根据编码操作的量化步骤执行逆量化。
逆变换器1430通过对调整后的频率系数矩阵执行逆ROT来产生频率系数矩阵,并将频率系数矩阵逆变换到像素域。这将参照图15进行详细描述。
图15是根据另一示例性实施例的逆变换器1430的示图。
参照图15,逆变换器1430包括逆ROT执行单元1510和逆变换执行单元1520。
逆ROT执行单元1510对从逆量化单元1420接收的逆量化的调整后的频率系数矩阵执行逆ROT。逆ROT执行单元1510逆执行关于图11A到图11C、图12和图13描述的ROT。这里,逆ROT执行单元1510可通过参考关于由熵解码器1410熵解码的角参数的信息来执行逆ROT。根据关于角参数的信息,调整后的频率系数矩阵的行之间和列之间的一个或多个值被部分交换,从而产生频率系数矩阵。
在对仅包括频率系数矩阵1110的一些系数的频率系数矩阵1120执行ROT的情况下,对仅包括所述一些系数的频率系数矩阵1120执行逆ROT,从而产生频率系数矩阵1110。
逆变换执行单元1520从逆ROT执行单元1510接收频率系数矩阵,并将频率系数矩阵变换到像素域。通过逆执行DCT或KLT,逆变换执行单元1520可对频率系数矩阵逆变换。作为逆变换的结果,重构像素域的预定块。
图16是根据示例性实施例的对图像编码的方法的流程图。
参照图16,在操作1610,图像编码设备通过将预定块变换到频域来产生频率系数矩阵。图像编码设备接收预定块,对预定块执行DCL或KLT,然后产生包括频域的系数的频率系数矩阵。
在操作1620,图像编码设备通过执行在操作1610中产生的频率系数矩阵的行之间和列之间的一个或多个值的部分交换来产生调整后的频率系数矩阵。图像编码设备通过对频率系数矩阵执行参照图11A到11C、图12和图13描述的ROT来产生调整后的频率系数矩阵。
当频率系数矩阵的大小是大的(例如,等于或大于16×16的大小)时,可选择仅包括频率系数矩阵的一些系数的矩阵,然后可对仅包括所述一些系数的矩阵执行ROT。在仅包括一些系数的矩阵的选择中,可选择仅包括关于低频分量的系数的矩阵。
在操作1630,图像编码设备对在操作1620产生的调整后的频率系数矩阵进行量化。根据预定量化步长对调整后的频率系数矩阵进行量化。
在操作1640,图像编码设备对在操作1630量化的调整后的频率系数矩阵执行熵编码。通过使用CABAC或CAVLC执行熵编码。在操作1640,图像编码设备还对关于在操作1620在行之间和列之间的一个或多个值的部分交换中使用的角参数的信息执行熵编码。所述角参数是指示行之间和列之间的一个或多个值的部分交换的水平的参数。
图像编码设备可对多个角参数的组合重复地执行操作1620至操作1640,从而可确定最佳角参数。通过对多个角参数的组合重复地执行编码,可选择指示最佳压缩率的角参数。
可通过使用蒙特卡罗方法选择多个角参数的组合,并且多个角参数的组合可与莱默伪随机数对应。在多个角参数的组合与莱默伪随机数对应的情况下,在操作1640被编码的关于角参数的信息可以是与确定的最佳角参数对应的莱默伪随机序列数。
图17是根据另一示例性实施例的对图像解码的方法的流程图。
参照图17,在操作1710,图像解码设备接收关于预定块的比特流,并对关于角参数的信息和调整后的频率系数矩阵执行熵解码。调整后的频率系数矩阵是通过对所有的频率系数矩阵或一些频率系数矩阵执行ROT形成的矩阵。
在操作1720,图像解码设备对在操作1710被熵解码的调整后的频率系数矩阵进行逆量化。图像解码设备根据在图像解码中使用的量化步长对调整后的频率系数矩阵的系数进行逆量化。
在操作1730,图像解码设备通过执行在操作1720被逆量化的调整后的频率系数矩阵的行之间和列之间的一个或多个值的部分交换来产生频率系数矩阵。图像解码设备通过逆执行参照图11A到图11C、图12和图13描述的ROT来产生评论系数矩阵,其中,通过参考关于在操作1710中被熵解码的角参数的信息来逆执行ROT。
如上所述,在仅包括频率系数矩阵的一些系数的矩阵在编码过程中被旋转地变换的情况下,对仅包括一些系数的矩阵执行逆ROT,从而产生频率系数矩阵。
在操作1740,图像解码设备对在操作1730产生的频率系数矩阵进行逆变换。通过对频率系数矩阵执行DCT或KLT,重构频域的块。
如上所述,根据示例性实施例的对图像编码和解码的方法和设备可基于固态数学基础以更高的压缩率对频率系数矩阵编码,从而可显著地提高整体图像编码操作的压缩率。
示例性实施例还可被实施为计算机可读记录介质上的计算机可读代码。计算机可读记录介质是可存储数据的任何数据存储装置,所述数据可由计算机系统读取。计算机可读记录介质的示例包括只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光学数据存储装置。计算机可读记录介质还可被分布到联网的计算机系统从而计算机可读代码以分布方式被存储和执行。
例如,根据一个或多个示例性实施例的图像编码设备、图像解码设备、图像编码器和图像解码器中的每个可包括连接到如图1-2、图4-5、图9-10和图14-15中示出的设备中的每个单元的总线,并且包括连接到总线的至少一个处理器。此外,根据一个或多个示例性实施例的图像编码设备、图像解码设备、图像编码器和图像解码器中的每个可包括连接到至少一个处理器的存储器从而存储命令、接收的消息或产生的消息,并执行命令,其中,所述至少一个处理器连接到总线。
虽然具体地示出了示例性实施例,但是本领域普通技术人员将理解,在不脱离由权利要求限定的本发明的精神和范围的情况下,可以对其进行形式和细节的各种改变。应仅以说明意义考虑示例性实施例,而不是为了限制的目的。因此,本发明的范围不是由示例性实施例的详细描述限定的,而是由权利要求限定的。

Claims (15)

1.一种对图像编码的方法,所述方法包括:
产生第一频率系数矩阵;
通过基于角参数执行第一频率系数矩阵的至少两行之间或至少两列之间的一个或多个值的部分交换来产生第二频率系数矩阵;
对第二频率系数矩阵进行量化;
对第二频率系数矩阵和关于角参数的信息进行熵编码,
其中,角参数是这样的参数,所述参数指示第一频率系数矩阵的至少两行之间或至少两列之间的一个或多个值的部分交换的水平。
2.如权利要求1所述的方法,其中,角参数是关于欧拉角的参数。
3.如权利要求1所述的方法,其中,第二频率系数矩阵的产生步骤包括:将用于执行第一频率系数矩阵的至少两行之间的部分交换的矩阵乘以第一频率系数矩阵的左侧,将用于执行第一频率系数矩阵的至少两列之间的部分交换的矩阵乘以第一频率系数矩阵的右侧。
4.如权利要求3所述的方法,其中,用于执行第一频率系数矩阵的至少两行之间的部分交换的矩阵为
A B C 0 D E F 0 G H I 0 0 0 0 1
其中:
A=cosαcosγ-sinαcosβsinγ
B=-sinαcosγ-cosαcosβsinγ
C=sinβsinγ
D=cosαsinγ+sinαcosβcosγ
E=-sinαsinγ+cosαcosβcosγ
F=-sinβcosγ
G=sinαsinβ
H=cosαsinβ
I=cosβ
其中,α、β、γ是欧拉角。
5.如权利要求1所述的方法,还包括:针对不同的角参数重复地执行以下操作:通过执行第一频率系数矩阵的至少两行之间或至少两列之间的一个或多个值的部分交换来产生第二频率系数矩阵,对第二频率系数矩阵进行量化,对第二频率系数矩阵进行熵编码;
从不同角参数中选择与最高压缩率对应的角参数。
6.如权利要求5所述的方法,其中,从不同角参数中选择角参数的步骤包括:
针对不同角参数并通过使用蒙特卡罗方法重复地执行以下操作:通过执行第一频率系数矩阵的至少两行之间或至少两列之间的一个或多个值的部分交换来产生第二频率系数矩阵,对第二频率系数矩阵进行量化,对第二频率系数矩阵进行熵编码;
从不同角参数中选择与最高压缩率对应的角参数。
7.如权利要求5所述的方法,其中,选择角参数的步骤包括:
将不同角参数与随机序列对应;
针对不同角参数重复地执行以下操作:通过执行第一频率系数矩阵的至少两行之间或至少两列之间的一个或多个值的部分交换来产生第二频率系数矩阵,对第二频率系数矩阵进行量化,对第二频率系数矩阵进行熵编码;
从不同角参数中选择与最高压缩率对应的角参数,其中,对关于角参数的信息进行熵编码的步骤包括:
将与选择的角参数对应的随机序列的数量编码为关于角参数的信息。
8.如权利要求1所述的方法,其中,产生第二频率系数矩阵的方法包括:
选择仅包括第一频率系数矩阵的一些系数的矩阵;
通过基于角参数执行包括所选择的系数的矩阵的至少两行之间或至少两列之间的一个或多个值的部分交换来产生第二频率系数矩阵。
9.一种图像编码设备,包括:
变换器,产生第一频率系数矩阵,通过基于角参数执行第一频率系数矩阵的至少两行之间或至少两列之间的一个或多个值的部分交换来产生第二频率系数矩阵;
量化单元,对第二频率系数矩阵进行量化;
熵编码器,对第二频率系数矩阵和关于角参数的信息进行熵编码,
其中,角参数是这样的参数,所述参数指示第一频率系数矩阵的至少两行之间或至少两列之间的一个或多个值的部分交换的水平。
10.一种对图像解码的方法,所述方法包括:
对第二频率系数矩阵和关于角参数的信息进行熵解码;
对第二频率系数矩阵进行逆量化;
通过基于角参数执行第二频率系数矩阵的至少两行之间或至少两列之间的一个或多个值的部分交换来产生第一频率系数矩阵;
将第一频率系数矩阵逆变换为像素域,并重构预定块,
其中,角参数是这样的参数,所述参数指示第二频率系数矩阵的至少两行之间或至少两列之间的一个或多个值的部分交换的水平。
11.如权利要求10所述的方法,其中,角参数是关于欧拉角的参数。
12.如权利要求10所述的方法,其中,第一频率系数矩阵的产生步骤包括:将用于执行第二频率系数矩阵的至少两行之间的部分交换的矩阵乘以第二频率系数矩阵的左侧,将用于执行第二频率系数矩阵的至少两列之间的部分交换的矩阵乘以第二频率系数矩阵的右侧。
13.一种图像解码设备,包括:
熵解码器,对第二频率系数矩阵和关于角参数的信息进行熵解码;
逆量化单元,对第二频率系数矩阵进行逆量化;
逆变换器,通过基于角参数执行第二频率系数矩阵的至少两行之间或至少两列之间的一个或多个值的部分交换来产生第一频率系数矩阵;将第一频率系数矩阵逆变换到像素域,并重构预定块,
其中,角参数是这样的参数,所述参数指示第二频率系数矩阵的至少两行之间或至少两列之间的一个或多个值的部分交换的水平。
14.一种记录有当被计算机执行时执行对图像编码的方法的程序的计算机可读记录介质,所述方法包括:
产生第一频率系数矩阵;
通过基于角参数执行第一频率系数矩阵的至少两行之间或至少两列之间的一个或多个值的部分交换来产生第二频率系数矩阵;
对第二频率系数矩阵进行量化;
对第二频率系数矩阵和关于角参数的信息进行熵编码,
其中,角参数是这样的参数,所述参数指示第一频率系数矩阵的至少两行之间或至少两列之间的一个或多个值的部分交换的水平。
15.一种记录有当被计算机执行时执行对图像解码的方法的程序的计算机可读记录介质,所述方法包括:
对第二频率系数矩阵和关于角参数的信息进行熵解码;
对第二频率系数矩阵进行逆量化;
通过基于角参数执行第二频率系数矩阵的至少两行之间或至少两列之间的一个或多个值的部分交换来产生第一频率系数矩阵;
将第一频率系数矩阵逆变换到像素域,并重构预定块,
其中,角参数是这样的参数,所述参数指示第二频率系数矩阵的至少两行之间或至少两列之间的一个或多个值的部分交换的水平。
CN2010800360191A 2009-08-13 2010-08-13 用于通过使用旋转变换对图像编码和解码的方法和设备 Pending CN102484702A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2009-0074898 2009-08-13
KR1020090074898A KR20110017303A (ko) 2009-08-13 2009-08-13 회전변환을 이용한 영상 부호화, 복호화 방법 및 장치
PCT/KR2010/005366 WO2011019248A2 (en) 2009-08-13 2010-08-13 Method and apparatus for encoding and decoding an image by using rotational transform

Publications (1)

Publication Number Publication Date
CN102484702A true CN102484702A (zh) 2012-05-30

Family

ID=43586683

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010800360191A Pending CN102484702A (zh) 2009-08-13 2010-08-13 用于通过使用旋转变换对图像编码和解码的方法和设备

Country Status (7)

Country Link
US (1) US8532416B2 (zh)
EP (1) EP2452492A4 (zh)
JP (1) JP2013502142A (zh)
KR (1) KR20110017303A (zh)
CN (1) CN102484702A (zh)
TW (1) TW201138468A (zh)
WO (1) WO2011019248A2 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101370288B1 (ko) * 2007-10-24 2014-03-05 삼성전자주식회사 이미지 신호의 압축 방법 및 장치
GB2475721B (en) * 2009-11-27 2015-03-11 British Broadcasting Corp Picture encoding and decoding
JP2012039590A (ja) * 2010-07-16 2012-02-23 Sony Corp 画像処理装置、画像処理方法、及びプログラム
FR3044507A1 (fr) * 2015-11-30 2017-06-02 Orange Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
US11113800B2 (en) 2017-01-18 2021-09-07 Nvidia Corporation Filtering image data using a neural network

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1165457A (zh) * 1996-05-14 1997-11-19 大宇电子株式会社 视频信号编码系统的量化器
US20020114388A1 (en) * 2000-04-14 2002-08-22 Mamoru Ueda Decoder and decoding method, recorded medium, and program
CN1910922A (zh) * 2004-01-30 2007-02-07 松下电器产业株式会社 运动图片编码方法和运动图片解码方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185595B1 (en) * 1995-06-01 2001-02-06 Hitachi, Ltd. Discrete cosine transformation operation circuit
US6298166B1 (en) * 1998-03-30 2001-10-02 Seiko Epson Corporation Image transformations in the compressed domain
JP4594688B2 (ja) * 2004-06-29 2010-12-08 オリンパス株式会社 画像符号化処理方法、画像復号化処理方法、動画圧縮処理方法、動画伸張処理方法、画像符号化処理プログラム、画像符号化装置、画像復号化装置、画像符号化/復号化システム、拡張画像圧縮伸張処理システム
KR101370288B1 (ko) * 2007-10-24 2014-03-05 삼성전자주식회사 이미지 신호의 압축 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1165457A (zh) * 1996-05-14 1997-11-19 大宇电子株式会社 视频信号编码系统的量化器
US20020114388A1 (en) * 2000-04-14 2002-08-22 Mamoru Ueda Decoder and decoding method, recorded medium, and program
CN1910922A (zh) * 2004-01-30 2007-02-07 松下电器产业株式会社 运动图片编码方法和运动图片解码方法

Also Published As

Publication number Publication date
KR20110017303A (ko) 2011-02-21
WO2011019248A3 (en) 2011-04-21
EP2452492A4 (en) 2014-06-04
TW201138468A (en) 2011-11-01
WO2011019248A2 (en) 2011-02-17
US8532416B2 (en) 2013-09-10
US20110038555A1 (en) 2011-02-17
JP2013502142A (ja) 2013-01-17
EP2452492A2 (en) 2012-05-16

Similar Documents

Publication Publication Date Title
CN102598663A (zh) 通过使用旋转变换对图像编码和解码的方法和设备
CN104581162B (zh) 通过使用大型变换单元解码图像的方法
CN102835111B (zh) 使用先前块的运动矢量作为当前块的运动矢量来对图像进行编码/解码的方法和设备
TWI496438B (zh) Image coding apparatus, method and program, and image decoding apparatus, method and program
CN110235444A (zh) 使用多条参考线的帧内预测
CN102754438A (zh) 用于通过使用转动变换来对图像编码和解码的方法和设备
CN102577383A (zh) 基于编码单元的分层结构用于对视频进行编码的方法和设备以及用于对视频进行解码的方法和设备
CN104735453A (zh) 通过使用大变换单元对图像进行编码和解码的方法和设备
CN102474611A (zh) 通过控制运动矢量的精度对图像编码/解码的方法和设备
CN102484702A (zh) 用于通过使用旋转变换对图像编码和解码的方法和设备
KR102227660B1 (ko) 신호 변환 방법 및 디바이스
CN105850124A (zh) 使用量化误差的额外的控制编码、解码视频信号的方法和装置
CN107690806A (zh) 视频编码方法和视频编码设备以及视频解码方法和视频解码设备
CN105025298A (zh) 对图像进行编码/解码的方法和设备
CN103634608B (zh) 一种高性能视频编码无损模式的残差变换方法
CN113055678B (zh) 一种基于相邻像素相关性的测量域压缩感知编码算法
CN103379349A (zh) 一种视点合成预测编码方法、解码方法、对应的装置及码流
CN112165617B (zh) 一种视频编码方法、装置、电子设备和存储介质
KR101311410B1 (ko) 픽쳐 그룹의 구조를 변화시키는 분산 비디오 부호화/복호화 방법 및 이러한 방법을 수행하는 장치
CN105324998A (zh) 视频编码装置、视频解码装置、视频编码方法、视频解码方法及程序
CN105025301A (zh) 对图像进行编码/解码的方法和设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120530