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

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

Info

Publication number
CN102754438A
CN102754438A CN2010800634990A CN201080063499A CN102754438A CN 102754438 A CN102754438 A CN 102754438A CN 2010800634990 A CN2010800634990 A CN 2010800634990A CN 201080063499 A CN201080063499 A CN 201080063499A CN 102754438 A CN102754438 A CN 102754438A
Authority
CN
China
Prior art keywords
frequency coefficient
coefficient matrix
matrix
angle parameter
rot
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
CN2010800634990A
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 CN102754438A publication Critical patent/CN102754438A/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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/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/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

公开了一种对图像编码和解码的方法和设备。该图像编码方法包括:通过对当前块执行空间变换(例如,离散余弦变换(DCT))来产生第一频率系数矩阵;基于当前块被帧内预测还是帧间预测来确定角度参数;通过基于确定的角度参数在第一频率系数矩阵的行和列中的至少一个之间执行部分转换来产生第二频率系数矩阵;对第二频率系数矩阵以及关于角度参数的信息进行编码。

Description

用于通过使用转动变换来对图像编码和解码的方法和设备
技术领域
示例性实施例涉及一种用于对图像编码和解码的方法和设备,更具体地讲,涉及一种用于对通过将图像从像素域变换到频域产生的系数进行编码和解码的方法和设备。
背景技术
在用于对图像编码和解码的现有技术的方法和设备中,像素域的图像被变换到频域并且随后被编码以对图像进行压缩。离散余弦变换(DCT)是用于对音频/视频(AV)数据进行压缩的现有技术。近年来,已经为找出更有效的压缩方法做出了许多尝试。在音频编码中,在二维数据中,参数编码比DCT执行得更好,Karhunen Loeve变换(KLT)具有最小比特大小而具有大开销大小。
发明内容
解决方案
一个或更多示例性实施例提供了一种用于对图像编码和解码的方法和设备、以及记录有用于执行所述方法的计算机程序的计算机可读记录介质。
有益效果
根据示例性实施例,可基于高压缩率的数学对频率系数矩阵进行强健地编码,因此可大大地提高总图像压缩率。
附图说明
通过结合附图对其示例性实施例进行详细描述,以上和其他特征将变得更加清楚,其中:
图1是根据示例性实施例的用于对图像编码的设备的框图;
图2是根据示例性实施例的用于对图像解码的设备的框图;
图3示出根据示例性实施例的分层编码单元;
图4是根据示例性实施例的基于编码单元的图像编码器的框图;
图5是根据示例性实施例的基于编码单元的图像解码器的框图;
图6示出根据示例性实施例的最大编码单元、子编码单元和预测单元;
图7示出根据示例性实施例的编码单元和变换单元;
图8A至8D示出根据示例性实施例的编码单元、预测单元和变换单元的分割形状;
图9是根据另一示例性实施例的用于对图像编码的设备的框图;
图10是根据示例性实施例的图9中示出的变换器的框图;
图11A至11C是根据示例性实施例的用于描述转动变换(ROT)的示图;
图12A至12I示出根据示例性实施例的ROT矩阵;
图13A至13B示出根据示例性实施例的反ROT语法;
图14示出根据示例性实施例的欧拉角(Euler angles);
图15示出根据示例性实施例的伪随机点;
图16是根据另一实施例的用于对图像解码的设备的框图;
图17是根据示例性实施例的反变换器的框图;
图18是根据示例性实施例的对图像编码的方法的流程图;
图19是根据示例性实施例的对图像解码的方法的流程图;
图20A和20B示出根据另一示例性实施例的ROT矩阵;
图21A和21B示出根据另一示例性实施例的反ROT语法。
本发明的最佳实施方式
根据示例性实施例的一方面,提供了一种对图像进行编码的方法,所述方法包括:通过对当前块执行离散余弦变换(DCT)来产生第一频率系数矩阵;基于当前块是否被帧内预测来确定角度参数;通过基于确定的角度参数在第一频率系数矩阵的行和列中的至少一个之间执行部分转换来产生第二频率系数矩阵;对第二频率系数矩阵进行量化;对关于角度参数的信息以及第二频率系数矩阵进行熵编码,其中,角度参数指示第一频率系数矩阵的行和列中的至少一个之间的部分转换的程度。
确定角度参数的步骤可包括:基于当前块的帧内预测方向来确定角度参数。
基于当前块的帧内预测方向来确定角度参数的步骤可包括:基于当前块的帧内预测方向从多个矩阵中选择用于在行之间执行部分转换的第一矩阵并且选择用于在列之间执行部分转换的第二矩阵。
产生第二频率系数矩阵的步骤可包括:将第一频率系数矩阵的左侧乘以选择的第一矩阵,并将第一频率系数矩阵的右侧乘以选择的第二矩阵。
角度参数可以是用于欧拉角的参数。
根据另一示例性实施例的一方面,提供了一种对图像解码的方法,所述方法包括:对关于角度参数的信息以及第二频率系数矩阵进行熵解码;基于熵解码的关于角度参数的信息以及当前块是否被帧内预测来确定角度参数;对熵解码的第二频率系数矩阵进行反量化;通过基于确定的角度参数在第二频率系数矩阵的行和列中的至少一个之间执行部分转换来以产生第一频率系数矩阵;通过对第一频率系数矩阵执行DCT来恢复当前块,其中,角度参数指示在第二频率系数矩阵的行和列中的至少一个之间的部分转换的程度。
根据另一示例性实施例的一方面,提供了一种用于对图像编码的设备,所述设备包括:变换器,通过对当前块执行DCT来产生第一频率系数矩阵,并且通过基于根据当前块是否被帧内预测确定的角度参数在第一频率系数矩阵的行和列中的至少一个之间执行部分转换,来产生第二频率系数矩阵;量化器,对第二频率系数矩阵进行量化;熵编码器,对关于角度参数的信息以及第二频率系数矩阵进行熵编码,其中,角度参数指示在第一频率系数矩阵的行和列中的至少一个之间的部分转换的程度。
根据另一示例性实施例的一方面,提供了一种用于对图像解码的设备,所述设备包括:熵解码器,对关于预定角度参数的信息以及第二频率系数矩阵进行熵解码;反量化器,对熵解码的第二频率系数矩阵进行反量化;反变换器,通过基于根据熵解码的关于角度参数的信息以及当前块是否被帧内预测确定的角度参数在第二频率系数矩阵的行和列中的至少一个之间执行部分转换,来产生第一频率系数矩阵,并且通过对第一频率系数矩阵执行DCT来恢复当前块,其中,角度参数指示在第二频率系数矩阵的行和列中的至少一个之间的部分转换的程度。
根据另一示例性实施例的一方面,提供了一种其上实现有用于执行对图像编码的方法以及对图像解码的方法中的至少一个的计算机程序的计算机可读记录介质。
具体实施方式
下文中,将参照附图来对一个或更多示例性实施例进行更加充分地描述。当诸如“…中的至少一个”的表达在一列元素后面时,该表达修饰整列元素,而不修饰该列中的个别元素。在本说明书中,“图像”可表示视频的静止图像或运动图像(即,视频本身)。
图1是根据示例性实施例的用于对图像编码的设备100的框图。
参照图1,用于对图像编码的设备100包括最大编码单元分割器110、编码深度确定器120、图像数据编码器130和编码信息编码器140。
最大编码单元分割器110可基于作为最大大小的编码单元的最大编码单元来分割当前帧或像条。也就是,最大单元分割器110可将当前帧或像条分割为至少一个最大编码单元。
根据示例性实施例,可使用最大编码单元和深度来表示编码单元。如上所述,最大编码单元指示当前帧的多个编码单元中的具有最大大小的编码单元,深度指示分层地减小编码单元的程度。随着深度的增加,编码单元可从最大编码单元减小到最小编码单元,其中,最大编码单元的深度被定义为最小深度,最小编码单元的深度被定义为最大深度。由于随着深度的增加,编码单元的大小从最大编码单元减小,因此第k深度的子编码单元可包括第(k+n)深度的多个子编码单元(k和n是等于或大于1的整数)。
根据将被编码的帧的大小的增加,以更大编码单元对图像编码可引起更高的图像压缩率。然而,如果更大的编码单元固定,则通过反映连续改变的图像特性的图像可能不会被有效地编码。
例如,当诸如海洋或天空的平滑区域被编码时,编码单元越大,压缩率可提高得越大。然而,当诸如人或建筑物的复杂区域被编码时,编码单元越小,压缩率可提高得越大。
因此,根据示例性实施例,针对每个帧或像条设置不同的最大图像编码单元和不同的最大深度。由于最大深度表示编码单元可减小的最大次数,可根据最大深度来可变地设置包括在最大图像编码单元中的每个最小编码单元的大小。可针对每个帧或像条或针对每个最大编码单元来不同地确定最大深度。
编码深度确定器120确定最大编码单元的分割形状。可基于率失真(RD)成本的计算来确定分割形状。确定的最大编码单元的分割形状被提供给编码信息编码器140,并且根据最大编码单元的图像数据被提供给图像数据编码器130。
最大编码单元可根据不同深度被分割为具有不同大小的多个子编码单元,并且包括在最大编码单元中的具有不同大小的多个子编码单元可基于具有不同大小的多个处理单元被预测或频率变换。换句话说,用于对图像编码的设备100可基于具有各种大小和各种形状的多个处理单元来执行用于图像编码的多个处理操作。为了对图像数据编码,诸如预测、变换和熵编码中的至少一个的处理操作被执行,其中,具有相同大小或不同大小的处理单元可用于每个操作。
例如,用于对图像编码的设备100可选择与编码单元不同的处理单元来预测编码单元。
当编码单元的大小是2N×2N(其中,N是正整数)时,用于预测的处理单元可以是2N×2N、2N×N、N×2N和N×N。换句话说,可基于具有编码单元的高度和宽度中的至少一个被二等分的形状的处理单元来执行运动预测。下文中,作为预测的基础的处理单元被定义为“预测单元”。
预测模式可以是帧内模式、帧间模式和跳过模式中的至少一个,可仅对具有特定大小或形状的预测单元执行特定预测模式。例如,可仅对形状为正方形大小为2N×2N和N×N的预测单元执行帧内模式。此外,可仅对大小为2N×2N的预测单元执行跳过模式。如果多个预测单元存在于编码单元中,则在针对每个预测单元执行预测之后,可选择具有最小编码误差的预测模式。
可选择地,用于对图像编码的设备100可基于具有与编码单元不同大小的处理单元来对图像数据执行变换。对于编码单元中的变换,可基于具有等于或小于编码单元的大小的大小的处理单元来执行所述变换。下文中,作为变换的基础的处理单元被定义为“变换单元”。变换可以是离散余弦变换(DCT)或Karhunen Loeve变换(KLT)或任何其他固定点空间变换。
编码深度确定器120可基于拉格朗日乘数(Lagrangian multiplier)使用RD最优化来确定包括在最大编码单元中的子编码单元。换句话说,编码深度确定器120可确定从最大编码单元分割的多个子编码单元具有哪种形状,其中,多个子编码单元根据它们的深度具有不同大小。图像数据编码器130通过基于由编码深度确定器120确定的分割形状对最大编码单元编码来输出比特流。
编码信息编码器140对关于由编码深度编码器120确定的最大编码单元的编码模式的信息进行编码。换句话说,编码信息编码器140通过对关于最大编码单元的分割形状的信息、关于最大深度的信息以及关于每个深度的子编码单元的编码模式的信息进行编码,来输出比特流。关于子编码单元的编码模式的信息可包括关于子编码单元的预测单元的信息、关于每个预测单元的预测模式的信息以及关于子编码单元的变换单元的信息。
关于最大编码单元的分割形状的信息可以是这样的信息,例如指示每个编码单元是否被分割的标志信息。例如,当最大编码单元被分割和编码时,指示最大编码单元是否被分割的信息被编码。另外,当从最大编码单元分割的子编码单元被分割和编码时,指示子编码单元是否被分割的信息被编码。
由于对于每个最大编码单元存在具有不同大小的多个子编码单元并且必须针对每个子编码单元确定关于编码模式的信息,因此可针对一个最大编码单元来确定关于至少一个编码模式的信息。
用于对图像编码的设备100可通过根据深度的增加将最大编码单元的高度和宽度二等分来产生子编码单元。也就是,当第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,最大深度被设置为2。
当分辨率高或者数据量大时,编码单元的最大大小可相对大以增加压缩率并且精确地反映图像特性。因此,对于具有比图像数据330更高分辨率的图像数据310和320,64×64可被选择作为最大编码单元的大小。
最大深度指示在分层编码单元中的层的总数。由于图像数据310的最大深度是2,因此图像数据310的编码单元315可根据深度的增加包括长轴大小为64的最大编码单元以及长轴大小为32和16的子编码单元。
另一方面,由于图像数据330的最大深度是1,因此图像数据330的编码单元335可根据深度的增加包括长轴大小16的最大编码单元以及长轴大小8和4的子编码单元。
然而,由于图像数据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。量化的变换系数可通过熵编码器被输出为比特流455。
为了基于根据示例性实施例的编码方法执行编码,图像编码器400的元件(即,帧内预测单元410、运动估计器420、运动补偿器425、变换器430、量化器440、熵编码器450、反量化器460、反变换器470、去块单元480和环路滤波单元490)基于最大编码单元、根据深度的子编码单元、预测单元和变换单元来执行图像编码处理。
图5是根据示例性实施例的基于编码单元的图像解码器500的框图。
参照图5,比特流505经过解析器510,从而将被解码的编码图像数据和解码所需的编码信息被解析。编码图像数据通过熵解码器520和反量化器530被输出为反量化的数据,并且反量化的数据通过反变换器540被恢复为残差值。通过将残差值添加到帧内预测单元550的帧内预测结果或者运动补偿器560的运动补偿结果,残差值根据编码单元被恢复。恢复的编码单元通过去块单元570和环路滤波单元580被用于接下来的编码单元或下一帧的预测。
为了基于根据示例性实施例的解码方法执行解码,图像解码器500的元件(即,解析器510、熵解码器520、反量化器530、反变换器540、帧内预测器550、运动补偿器560、去块单元570和环路滤波单元580)基于最大编码单元、根据深度的子编码单元、预测单元和变换单元来执行图像解码处理。
具体地讲,帧内预测单元550和运动补偿器560通过考虑最大编码单元和深度来确定子编码单元中的预测单元和预测模式,并且反变换器540通过考虑变换单元的大小来执行反变换。
图6示出根据示例性实施例的最大编码单元、子编码单元和预测单元。
图1中示出的用于对图像编码的设备100和图2中示出的用于图像解码的设备200考虑图像特性使用多个分层编码单元来执行编码和解码。最大编码单元和最大深度可根据图像特性被自适应地设置或根据用户的需求被可变地设置。
在图6中,分层编码单元结构600具有高度和宽度为64以及最大深度为4的最大编码单元610。深度沿着分层编码单元结构600的纵轴增加,并且随着深度增加,子编码单元620至650的高度和宽度减小。最大编码单元610和子编码单元620至650的预测单元沿分层编码单元结构600的横轴被显示。
最大编码单元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)的预测单元、或大小为64×32的预测单元612、大小为32×64的预测单元614、或大小为32×32的预测单元616(即,具有小于大小为64×64的编码单元610的大小)。
深度为1且大小为32×32的编码单元620的预测单元可以是大小等于编码单元620(即,32×32)的预测单元、或大小为32×16的预测单元622、大小为16×32的预测单元624、或大小为16×16的预测单元626(即,具有小于大小为32×32的编码单元620的大小)。
深度为2且大小为16×16的编码单元630的预测单元可以是大小等于编码单元630(即,16×16)的预测单元、或大小为16×8的预测单元632、大小为8×16的预测单元634、或大小为8×8的预测单元636(即,具有小于大小为16×16的编码单元630的大小)。
深度为3且大小为8×8的编码单元640的预测单元可以是大小等于编码单元640(即,8×8)的预测单元、或大小为8×4的预测单元642、大小为4×8的预测单元644、或大小为4×4的预测单元646(即,具有小于大小为8×8的编码单元640的大小)。
最后,深度为4且大小为4×4的编码单元650是最小编码单元和最大深度的编码单元,并且编码单元650的预测单元可以是大小为4×4的预测单元650、具有大小4×2的预测单元652、具有大小2×4的预测单元654、或大小2×2的预测单元656。
图7示出根据示例性实施例的编码单元和变换单元。
图1中示出的用于对图像编码的设备100和图2中示出的用于对图像解码的设备200对于最大编码单元本身或者从最大编码单元分割的等于或小于最大编码单元的子编码单元执行编码和解码。在编码和解码处理中,用于变换的变换单元的大小被选择为不长于相应编码单元的大小。例如,参照图7,在当前编码单元710的大小为64×64时,可使用大小为32×32的变换单元720来执行变换。
图8A至8D示出根据示例性实施例的编码单元、预测单元和变换单元的分割形状。
图8A和8B示出根据示例性实施例的编码单元和预测单元。
图8A显示由图1中示出的用于对图像编码的设备100选择的分割形状,以对最大编码单元810编码。用于对图像编码的设备100将最大编码单元810分割为各种形状,执行编码,并通过基于R-D成本将各种分割形状的编码结果彼此进行比较来选择最佳分割形状。当最大编码单元810按原样被编码为最佳时,如图8A至8D所示,无需分割最大编码单元810,最大编码单元810可被编码。
参照图8B,通过将深度为0的最大编码单元810分割为深度等于或大于1的多个子编码单元来对最大编码单元810编码。也就是,最大编码单元810被分割为深度为1的4个编码单元,并且深度为1的所有的子编码单元或部分子编码单元被分割为深度为2的多个子编码单元。
深度为1的子编码单元中的位于右上侧的子编码单元和位于左下侧的子编码单元被分为深度等于或大于2的多个子编码单元。深度等于或大于2的部分子编码单元可被分割为深度等于或大于3的多个子编码单元。
图8B显示用于最大编码单元810的预测单元的分割形状。
参照图8B,用于最大编码单元810的预测单元860可与最大编码单元810不同地被分割。换句话说,用于每个子编码单元的预测单元可小于相应子编码单元。
例如,用于深度为1的子编码单元中的位于右下侧的子编码单元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的编码单元854的预测单元选择具有编码单元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或KLT或任何其他固定点空间变换,并且接收的当前块可以是残差块。另外,当前块可以是以上关于图7或8D描述的变换单元。作为变换的结果,像素域的当前块被变换到频域的系数。可通过对像素域的当前块执行DCT或KLT或任何其他固定点空间变换来产生变换系数矩阵。
此外,变换器910执行后处理以对DCT系数矩阵的行和列中的至少一个进行部分转换。现在将参照图10对变换器910的操作进行详细描述。
图10是根据示例性实施例的图9中示出的变换器910的框图。
参照图10,变换器910包括变换执行器1010、角度参数确定器1020和转动变换(ROT)执行器1030。
变换执行器1010通过变换像素域的当前块来产生频域的第一频率系数矩阵。如上所述,DCT或KLT或任何其他固定点空间变换可被执行以便产生包括DCT系数或KLT系数或任何其他固定点空间变换系数的第一频率系数矩阵。
角度参数确定器1020确定指示ROT的程度的角度参数,也就是,行和列中的至少一个之间的部分转换。角度参数的确定对应于选择多个ROT矩阵之一。第一频率系数矩阵是基于多个ROT矩阵(每个ROT矩阵对应于“ROT_index”)变换的转动(这将在稍后描述),可基于编码结果选择对应于最佳角度参数的ROT矩阵。可基于率失真(RD)成本的计算来确定角度参数。换句话说,基于RD成本来比较基于ROT重复执行编码多次获得的结果,从而选择一个ROT矩阵,这将稍后参照图21A和21B进行描述。
此外,当角度参数确定器1020确定ROT矩阵时,可基于当前块是否为帧内预测的块以及帧内预测方向来选择对应于不同角度的“ROT_index”的ROT矩阵,这将参照图12A至12I进行稍后描述。
ROT执行器1030根据本示例性实施例接收从变换执行器1010产生的第一频率系数矩阵并且执行ROT来产生第二频率系数。基于从角度参数确定器1020确定的ROT矩阵来执行ROT,因此第一频率系数矩阵的行和列中的至少一个被部分转换,从而产生第二频率系数矩阵。将参照图11A至11C对ROT进行更加充分地描述。
图11A至11C是根据示例性实施例的用于描述ROT的示图。
在图11A至11C中,描述了第一频率系数矩阵的行和列的转换。ROT执行器1030部分地转换第一频率系数矩阵的行和列中的至少一个。
在本示例性实施例中,行或列的部分转换包括通过使用特定函数(诸如,正弦曲线函数)来部分转换两行或列的值,而不是一对一对应地无条件地转换两行或列的值。
例如,可根据如等式1中表示的参数“a”的值来定义两行A和B的转换。
等式1
行A(新)=cos(a)×行A(旧)-sin(a)×行B(旧)
行B(新)=sin(a)×行A(旧)-cos(a)×行B(旧)
参照等式1,参数“a”作为角度操作。等式1的“a”仅是角度参数的示例,并且在本示例性实施例中,指示在DCT矩阵的行和列之间部分转换的程度的参数被定义为角度参数。
如果参数“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,十二个角度参数是必需的。
尽管以通过对第一频率系数矩阵执行ROT产生第二频率系数矩阵的方式提高了压缩率,并且如果角度参数的数量增加从而开销增加,则数据的总量没有减小。因此,预定大小,例如当对具有等于或大于16×16的大小的第一频率系数矩阵执行ROT时,系数采样被使用。
换句话说,如图11C所示,ROT执行器1030选择仅包括第一频率系数矩阵1110的一些系数的采样的频率系数矩阵1120,并且随后对选择的频率系数矩阵1120执行ROT。不对第一频率系数矩阵1110的剩余部分1130执行ROT。
为了实现对具有大小较大的频率系数矩阵的ROT的充分效果,需要包括在频率系数矩阵1120中的系数对图像数据的压缩有效果。因此,ROT执行器1030仅选择具有低频分量并且可具有除了0之外的值的系数,并且对系数执行ROT。
通常,频率系数(诸如DCT)包括在频率系数矩阵的左上角的关于低频分量的系数。因此,如图11C所示,ROT执行器1030仅选择位于第一频率系数矩阵1110的左上角的系数,并且随后执行ROT。在图11C中,ROT执行器1030以如关于图11B的ROT的相同方式对具有大小8×8的频率系数矩阵1120执行ROT。
如关于图11A至11C所述,基于角度参数来执行第一频率系数矩阵的行和列中的至少一个之间的部分转换。然而,通过实验验证了特定角度参数根据当前块是否是帧内预测的块以及帧内预测方向具有高压缩率。当根据帧内预测或帧间预测来预测当前块时,可通过应用每个不同角度参数,ROT的效率增加。当根据帧内预测来预测当前块时,可通过根据帧内预测方向应用每个不同角度参数,ROT的效率增加。
因此,ROT执行器1030可基于当前块是否是帧内预测的块以及帧内预测方向通过将由等式3表示的每个不同ROT矩阵相乘来对第一频率系数矩阵执行ROT。
参照对图11A的4×4频率系数矩阵的ROT,根据三个角度参数α1、α2、α3的应用顺序获得不同的结果。也就是,三个角度参数不是彼此独立。作为对首先应用角度参数α1并且随后应用角度参数α2的情况执行ROT的结果产生的第二频率系数矩阵,与作为对首先应用角度参数α2并且随后应用角度参数α1的情况执行ROT的结果产生的第二频率系数矩阵不同。这将参照图14进行详细描述。
图14是根据另一示例性实施例的欧拉角的示图。
参照图14,可以理解,矩阵的行之间或矩阵的列之间的转换可与三维(3D)空间中的坐标轴的转动类似。也就是,三行或三列分别对应于3D坐标的X轴、Y轴和Z轴。
关于3D空间中的坐标轴的转动,根据哪个轴首先转动来获得不同的结果。因此,已经存在对在3D空间中显示坐标轴的转动的许多尝试,并且所述许多尝试中的代表性尝试是欧拉角。
在图14中,α角、β角、γ角指示欧拉角。在图14中,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执行器1030对第一频率系数矩阵执行ROT时产生的第二频率系数矩阵被输入到量化器920。
量化器920根据预定量化步长来量化包括在第二频率系数矩阵中的系数,并且熵编码器930对量化的第二频率系数矩阵进行熵编码。根据上下文自适应二进制算术编码(CABAC)方法或上下文自适应可变长度编码(CAVLC)方法来执行熵编码。如果第一频率系数矩阵具有大大小并且因此对仅包括一些采样的系数的矩阵1120执行ROT,则包括执行ROT的选择的矩阵1120以及不执行ROT的剩余部分1130的整个第一频率系数矩阵1110可被量化和熵编码。
另外,熵编码器930对关于在变换器910中用于ROT的角度参数的信息进行熵编码。关于角度参数的信息可以是图12A至12I的“ROT_index”或图20A和21B的“idx”。
如稍后将参照图12A至12I进行描述,根据当前块是否根据帧内预测被预测以及帧内预测方向通过使用对应于每个不同范围中的“ROT_index”的ROT矩阵,来对当前块执行ROT。因此,当关于角度参数的信息(也就是,“ROT_index”)被熵编码时,整个范围中的“ROT_index”可不被编码。
在图12A至12I中,在第一范围(例如,0至8的范围)中的“ROT_index”可仅被熵编码。在解码中,被熵编码的“ROT_index”被解码并且当前块在第一方向上被帧内预测,预定值(例如,9)被添加到解码的“ROT_index”,并且可通过使用对应于第二范围(例如,9至17的范围)中的“ROT_index”的ROT矩阵来对当前块执行反ROT。类似地,当在第二方向上对当前块进行帧内预测时,预定值(例如,18)被添加到解码的“ROT_index”,并且可通过使用对应于第三范围(例如,18至26的范围)中的“ROT_index”的ROT矩阵来对当前块执行反ROT。
用于对图像编码的设备900可有效地确定用于执行如下所述的ROT的角度参数候选。
为了有效地执行压缩,对图像编码的设备900需要搜索最佳角度参数。然而,这是对参数具有强非平滑依赖性的多参数问题。为了解决此问题,使用蒙特卡罗(Monte Carlo)方法。这里,Lehmer的随机序列数可用于在蒙特卡罗方法产生随机点。取代存储或发送用作参数的角度参数,仅指示序列号的一个整数可被存储或发送。这里,序列号可以是“idx”或“ROT_index”。因此,可减小用于向解码器通知用于ROT的角度参数的开销。
也就是,将被考虑以确定最佳角度参数的组合的内容被陈述如下:
1、空间变换系数矩阵的可逆变换
2、用于更有效编码的能量的重新布置
3、通过使用Lehmer的随机序列数添加的信息的最小化
参照回图11A至11C,通过第一频率系数矩阵的转动被修改的部分涂有黑色,并且没有被修改的部分涂有白色。在图11A的4×4频率系数矩阵中,根据行之间以及列之间的转换,在十五个系数的修改中包括六个角度参数。在图11B的8×8频率系数矩阵中,在六十个系数中包括十二个角度参数。
参照图11A,根据示例性实施例,对于行之间的转换需要三个角度参数,对于列之间的转换还需要三个角度参数。因此,关于4×4块,需要六个角度参数。
参照回图11B,根据示例性实施例,对于行之间的转换需要六个角度参数,对于列之间的转换还需要六个角度参数。因此,关于8×8块,需要十二个角度参数。
用于对图像编码的设备900可根据以下操作执行ROT:
步骤1-正交变换族参数化(Orthogonal transform family parameterization)
步骤2-蒙特卡罗方法
步骤3-Lehmer的随机数
步骤4-用于最佳角度参数的范围定位
步骤5-准最佳基
尽管通过ROT提高了图像的压缩率,但是如果添加了太多的参数,则视频信号的传输可实现比压缩更好的结果。换句话说,存在压缩率与附加参数的开销之间的折衷。例如,尽管4×4频率系数矩阵中的图像信号被压缩为接近0的大小,但是如果压缩需要十六个附加参数,则可能不需要执行ROT。在这点上,将十六个像素值发送给解码器可能更有效。因此,图像信号的压缩以及增加的开销的最小化两者都重要。
对此,ROT执行器1030在根据以下操作最小化开销的同时搜索最佳角度参数。
操作1-正交变换族参数化
为了根据示例性实施例选择用于当前数据的最佳变换,需要基调整。基的转动被选作基变形。因此,一组转动角度唯一地描述基变形。
引入的转动角度通过3D空间中的欧拉角描述实体的转动的相同方式来描述基变形。该相似性解释了此算法的名称。
为了修改该基,该基的转动被主要选择。在一个或更多示例性实施例中,通过使用角度参数来执行该基的转动。这里,通过使用角度参数执行的该基的转动被使用。角度参数可以是欧拉角。然而,角度参数不限于欧拉角,因此可包括可指示在矩阵的行之间以及列之间的一个或更多值的部分转换的级别的其他角。下文中,现在将描述包括使用欧拉角的示例。
该转动被限定为通过第一频率系数矩阵D的左乘法Rhorizontal和右乘法Rvertical的等式3。
等式3
D’=Rhorizontal×D×Rvertical
(D’指示被转动变换的第二频率系数矩阵。)
矩阵Rhorizontal执行第一频率系数矩阵D的行之间的转换。矩阵Rvertical执行第一频率系数矩阵D的列之间的转换。
根据角度参数来确定ROT矩阵,并且通过等式4给出4×4块中的矩阵Rhorizontal和Rvertical的示例。如参照图11A所述,三个角度参数α1、α2和α3被用于行之间的部分转换,三个角度参数α4、α5和α6被用于列之间的部分转换。
等式4
R horizontal ( α 1 , α 2 , α 3 ) = R 9 R 10 R 11 0 R 12 R 13 R 14 0 R 15 R 16 R 17 0 0 0 0 1
R vertical ( α 4 , α 5 , α 6 ) = R 0 R 1 R 2 0 R 3 R 4 R 5 0 R 6 R 7 R 8 0 0 0 0 1
R0=cosα4cosα6-sinα4cosα5sinα6
R1=-sinα4cosα6-cosα4cosα5sinα6
R2=sinα5sinα6
R3=cosα4sinα6+sinα4cosα5cosα6
R4=-sinα4sinα6+cosα4cosα5cosα6
R5=-sinα5cosα6
R6=sinα4sinα5
R7=cosα4sinα5
R8=cosα5
R9=cosα1cosα3-sinα1cosα2sinα3
R10=-sinα1cosα3-cosα1cosα2sinα3
R11=sinα2sinα3
R12=cosα1sinα3+sinα1cosα2cosα3
R13=-sinα1sinα3+cosα1cosα2cosα3
R14=-sinα2cosα3
R15=sinα1sinα2
R16=cosα1sinα2
R17=cosα2
在等式4中,α1、α2、α3、α4、α5、α6指示欧拉角。
因此,关于4×4频率系数矩阵,欧拉角通过一组六个参数α1、α2、......和α6描述十五个频率系数的修改。关于8×8频率系数矩阵,十二个欧拉角α1、α2、......和α12描述了六十个频率系数的修改。当对8×8频率系数矩阵执行ROT时,等式3的Rhorizontal和Rvertical可被定义为等式5。
等式5
R horizontal ( α 1 , α 2 , α 3 , α 4 , α 5 , α 6 ) = R 9 R 10 R 11 0 0 0 0 0 R 12 R 13 R 14 0 0 0 0 0 R 15 R 16 R 17 0 0 0 0 0 0 0 0 R 27 R 28 R 29 0 0 0 0 0 R 30 R 31 R 32 0 0 0 0 0 R 33 R 34 R 35 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1
R vertial ( α 7 , α 8 , α 9 , α 10 , α 11 , α 12 ) = R 0 R 1 R 2 0 0 0 0 0 R 3 R 4 R 5 0 0 0 0 0 R 6 R 7 R 8 0 0 0 0 0 0 0 0 R 18 R 19 R 20 0 0 0 0 0 R 21 R 22 R 23 0 0 0 0 0 R 24 R 25 R 26 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1
R0=cosα7cosα9-sinα7cosα8sinα9
R1=-sinα7cosα9-cosα7cosα8sinα9
R2=sinα8sinα9
R3=cosα7sinα9+sinα7cosα8cosα9
R4=-sinα7sinα9+cosα7cosα8cosα9
R5=-sinα8cosα9
R6=sinα7sinα8
R7=cosα7sinα8
R8=cosα8
R9=cosα1cosα3-sinα1cosα2sinα3
R10=-sinα1cosα3-cosα1cosα2sinα3
R11=sinα2sinα3
R12=cosα1sinα3+sinα1cosα2cosα3
R13=-sinα1sinα3+cosα1cosα2cosα3
R14=-sinα2cosα3
R15=sinα1sinα2
R16=cosα1sinα2
R17=cosα2
R18=cosα10cosα12-sinα10cosα11sinα12
R19=-sinα10cosα12-cosα10cosα11sinα12
R20=sinα11sinα12
R21=cosα10sinα12+sinα10cosα11cosα12
R22=-sinα10sinα12+cosα10cosα11cosα12
R23=-sinα11cosα12
R24=sinα10sinα11
R25=cosα10sinα11
R26=cosα11
R27=cosα4cosα6-sinα4cosα5sinα6
R28=-sinα4cosα6-cosα4cosα5sinα6
R29=sinα5sinα6
R30=cosα4sinα6+sinα4cosα5cosα6
R31=-sinα4sinα6+cosα4cosα5cosα6
R32=-sinα5cosα6
R32=-sinα5cosα6
R33=sinα4sinα5
R34=cosα4sinα5
R35=cosα5
步骤2-蒙特卡罗方法
在随机的程度被减小为六个角度参数(在8×8频率系数矩阵的情况下是十二个角度参数)之后,需要考虑根据示例性实施例节省比特来检查最佳内容。也就是,需要优化选择一组角度参数的方法。
最优化具有的困难在于参数(六个或十二个角度参数)的高维度域被使用,并且图像的压缩非平滑地取决于使用的参数。通常,通过使用蒙特卡罗方法来解决该困难。
蒙特卡罗方法的核心在于执行多个尝试。也就是,从几个点测量压缩率,随后从其中选择最佳点。在蒙特卡罗方法中,多维度域中的随机点的质量非常重要(具体地讲,根据维度的上升,质量越高)。伪随机点优选为统一网格点。这将参照二维(2D)空间在图15中进行描述。
图15示出根据另一示例性实施例的伪随机点。
图15的左视图示出统一网格点,图15的右视图示出根据伪随机处理的开始的十六个点。
在使用统一网格点的情况下,不管蒙特卡罗方法的十六个点,对于第一参数(和第二参数)仅检查四个不同值。另一方面,在使用伪随机点的情况下,按照十六个点对于第一参数(和第二参数)检查十六个不同的值。也就是,当使用伪随机点时,对于十六个点足够检查第一参数和第二参数的各种值。具体地讲,关于蒙特卡罗方法,根据参数数量的增加,伪随机点的使用优于统一网格点的使用。
操作3-Lehmer的伪随机数
根据一个或更多示例性实施例可通过使用各种方法来产生伪随机序列。最有效方法之一在于使用Lehmer数。这是人工产生的序列,并且接近均一分布的实际随机数。用于产生Lehmer序列的算法是公知的,因此这里省略其详细描述。根据示例性实施例,至少1013个未重复的点被提供。Lehmer序列是人工序列,并且用于产生Lehmer序列的算法是公知的,从而解码器可容易地对其进行重新计算。
通过使用Lehmer序列,可通过使用一个信息(即,随机序列中的数)来对角度参数的组合进行编码。在六维(在4×4频率系数矩阵的情况下)或十二维(在8×8频率系数矩阵的情况下)的参数域,与角度参数的组合对应的随机点被产生,在通过使用随机点执行压缩之后测量压缩率,并且随后选择最佳参数点。取代存储或发送角度参数的组合,对应于最佳参数点的多个Lehmer序列被存储或发送。
如果对2p个点(也就是,在蒙特卡罗方法中的角度参数的组合)执行ROT,则仅p个比特的信息作为开销被包括。
操作4-用于最佳角度参数的范围定位
根据一个或更多示例性实施例,最佳转动角度具有接近0度或180度(π弧度)的值。这指示用于变换到频域的基,例如,DCT基或KLT基,几乎被优化。
因此,根据一个或更多示例性的角度参数仅被用于执行行之间和列之间的一个或更多值的部分转换(在欧拉角的情况下接近0度的角),或者执行部分转换以及基元素的符号的改变(在欧拉角的情况下接近180度的角)。也就是,用于一个或更多示例性实施例的参数的范围限于域的特定部分,并且此限制被称为定位。
通过对参数的范围执行定位,关于开销的比特的数量减小。如果假设将被检查的点限于图15中的特定部分,则将被检查以便搜索角度参数的最佳组合的点的数量减小。
另外,如果将被检查的点的数量固定(也就是,在作为开销被使用的比特的数量固定),并且定位被应用,则较小角度中的更多点可被检查,从而压缩率可被增加。
步骤5-准最佳基
通过执行前述步骤1至4,根据示例性实施例,能够选择关于所有块(具有等于或大于4×4和8×8的大小的块)的最佳基。具有8或10个字节的开销可以以高比特率被添加到每个块中。当比特率减小时,最好选择准最佳基。
准最佳基指示相同的转动被施加到一组的包括在像条或画面中的所有的变换单元或一些变换单元。如果最佳转动被施加到每个块,则关于图像的压缩率增加,而开销也增加。
为了确定变换单元、一组变换单元、像条和画面中的哪个单元被施加相同转动,可执行各种实验。
在以低比特率到频域的变换之后,频率系数矩阵的一些部分中的量化系数值变为0。因此,关于频率系数矩阵的部分,没必要执行ROT并且发送关于转动角度值的附加信息。
根据示例性实施例的用于对图像编码的设备800通过使用蒙特卡罗方法对多个角度参数的组合执行ROT,并且重复执行量化和熵编码,从而确定角度参数的最佳组合。另外,图像编码设备900不对角度参数编码,而对Lehmer的伪随机序列数(作为关于确定的角度参数的最佳组合的信息)编码。这里,通过使用定位和准最佳基,可以以更高效率对关于角度参数的信息编码。
图16是根据另一实施例的用于对图像解码的设备1600的框图。
图16中示出的用于对图像解码的设备1600可以是用于执行以下图像解码处理的包括在图2中示出的用于对图像解码的设备200中的模块或图5中示出的图像解码器500。参照图16,用于对图像解码的设备1600包括熵解码器1610、反量化器1620和反变换器1630。
熵解码器1610接收比特流并对预定块的第二频率系数矩阵进行熵解码。第二频率系数矩阵是通过对通过将预定块变换到频域产生的第一频率系数矩阵执行ROT产生的矩阵。另外,熵解码器1610可对用于反ROT的关于用于ROT的角度参数的信息解码。关于角度参数的信息可以是关于用于当前块的反ROT的反ROT矩阵“idx”或“ROT_index”的信息。根据如在熵编码器930中的CABAC方法或CAVLC方法执行熵解码。
反量化器1620对在熵解码器1610中熵解码的第二频率系数矩阵进行反量化。根据用于编码的量化步长执行反量化。
反变换器1630通过对第二频率系数矩阵执行反ROT来产生第一频率系数矩阵,并且对第一频率系数矩阵执行反变换。基于关于在熵解码器1610中熵解码的角度参数的信息(也就是,关于“idx”或“ROT_index”的信息)选择用于当前块的反ROT的ROT矩阵,并且根据选择的ROT矩阵对第二频率系数矩阵执行反ROT。这将参照图17进行更加充分地描述。
图17是根据示例性实施例的图16的反变换器1630的框图。
参照图17,反变换器1630包括角度参数确定器1710、反ROT执行器1720和反变换执行器1730。
角度参数确定器1710基于关于角度参数的信息(也就是,“idx”或“ROT_index”)来确定将用于反ROT的ROT矩阵。
可根据当前块是帧内预测块还是帧间预测块以及帧内预测方向来确定将用于反ROT的ROT矩阵。参照关于在熵解码器1610中熵解码的角度参数的信息(也就是,关于“ROT_index”的信息)根据当前块是帧内预测块还是帧间预测块以及帧内预测方向来最终确定将被用于反ROT的ROT矩阵。这将参照图12A至12I进行更加充分地描述。
图12A至12I示出根据示例性实施例的ROT矩阵。
图12A至12I示出根据使用在第二频率系数矩阵的反ROT的角度参数的ROT矩阵。图12A至12I的ROT矩阵可以是与用于反ROT的第二频率系数矩阵的左侧和右侧相乘的Rhorizontal和Rvertical的反矩阵。按照“ROT_idx”分类的每行可用九十六个值填充。这些值中,首先的三十二个值是用于4×4反ROT的Rhorizontal和Rvertical的矩阵的值,剩余的六十四个值是用于8×8反ROT的Rhorizontal和Rvertical的矩阵的值。
角度参数确定器1710可确定二十七个ROT矩阵之一。可根据当前块是帧内预测的块还是帧间预测的块以及帧内预测方向来确定ROT矩阵。
例如,当当前块不是根据帧内预测进行预测或者不是在第一方向(例如,垂直方向)上或者在第二方向(例如,水平方向)上进行帧内预测时,可选择“ROT_index”处于第一范围(例如,0至8的范围)的ROT矩阵之一。然而,当当前块被帧内预测并且帧内预测方向是第一方向时,可选择“ROT_index”处于第二范围(例如,9至17的范围)的ROT矩阵之一。另外,当当前块被帧内预测并且帧内预测方向是第二方向时,可选择“ROT_index”处于第三范围(例如,18至26的范围)的ROT矩阵之一。
当当前块在第一方向上被帧内预测时,通过将预定值(例如,9)添加到在熵解码器1610中熵解码的第一范围(例如,0至8的范围)中的“ROT_index”,来选择“ROT_index”处于第二范围(例如,9至17的范围)的ROT矩阵之一。当当前块在第二方向上被帧内预测时,通过将预定值(例如,18)添加到在熵解码器1610中熵解码的第一范围(例如,0至8的范围)中的“ROT_index”,来选择“ROT_index”处于第三范围(例如,18至26的范围)的ROT矩阵之一。
图20A和20B示出根据另一示例性实施例的ROT矩阵。
图20A示出当第二频率系数矩阵是4×4时,对应于关于多个角度参数的信息(即,INV_ROT_4[idx][k])的ROT矩阵的值。这里,“idx”对应于关于角度参数的信息,“k”对应于图20A中的第一列的值。
图20B示出当第二频率系数矩阵是8×8时,对应于关于多个角度参数的信息(即,INV_ROT_8[idx][k])的ROT矩阵的值。这里,“idx”对应于关于角度参数的信息,“k”对应于图20B中的第一列的值。将结合反ROT执行器1720来描述基于图20A和20B的反ROT。
反ROT执行器1720对从反量化器1620接收的反量化的第二频率系数矩阵执行反ROT。对参照图11A至11C描述的ROT进行反向执行。这里,可根据从角度参数确定器1710选择的ROT矩阵执行反ROT。基于从角度参数确定器1710选择的ROT矩阵执行第二频率系数矩阵的行和列中的至少一个之间的部分转换,从而产生第一频率系数矩阵。根据在等式6中选择用于反ROT的ROT矩阵来执行反ROT。
等式6
D=Rhorizontal -1×D’×Rvertical -1
D’是输入到反ROT执行器1720的反量化的第二频率系数矩阵,Rhorizontal -1是当执行反ROT时行之间的部分转换的ROT矩阵,Rvertical -1是当执行反ROT时列之间的部分转换的ROT矩阵。可由等式7来限定Rhorizontal -1和Rvertical -1
等式7
R horizontal - 1 = R horizontal T
R vertical - 1 = R vertical T
等式7中的Rhorizontal和Rvertical可以是关于等式4或等式5描述的Rhorizontal和Rvertical。换句话说,Rhorizontal -1和Rvertical -1可以是关于等式4或等式5描述的Rhorizontal和Rvertical的转置矩阵被用于反ROT的ROT矩阵。
图13A至13B示出根据示例性实施例的反ROT语法。
图13A至13B示出用于通过使用图12A至12I的ROT矩阵之一执行反ROT的语法。图13A示出用于4×4反ROT的语法,图13B示出用于8×8的语法。
参照图13A,反ROT执行器1720通过根据在角度参数确定器1710中确定的角度参数选择图12A至12I的ROT矩阵之一,来对第二频率系数矩阵执行反ROT。
如上所述,当当前块没有根据帧内预测进行预测或者没有在第一方向(例如,垂直方向)上或第二方向(例如,水平方向)上进行帧内预测时,根据与第一范围(例如,0至8的范围)中的“ROT_index”之一相应的ROT矩阵执行反ROT。当在第一方向上对当前块进行帧内预测时,根据与第二范围(例如,9至17的范围)中的“ROT_index”之一相应的ROT矩阵执行反ROT。当在第二方向上对当前块进行帧内预测时,根据与第三范围(例如,18至26的范围)中的“ROT_index”之一相应的ROT矩阵执行反ROT。当指定将用于反ROT的ROT矩阵时,通过“for(n=0;n<13;n+4)”循环对当前块的行进行部分转换,并且通过“for(n=0;n<4;n++)”循环对当前块的列进行部分转换。
反ROT执行器1720可基于当前块是否根据帧内预测进行预测以及帧内预测方向,基于在角度参数确定器1710中选择的第一至第三范围之一中的“ROT_index”的ROT矩阵,来对第二频率系数矩阵执行反ROT。
对通过“for(n=0;n<13;n+4)”循环限定到r[x,y]的第二频率系数矩阵的值的行进行部分转换,从而产生“temp[n]”、“temp[n+1]”、“temp[n+2]”和“temp[n+3]”。在“for(n=0;n<13;n+4)”循环中,n是0、4、8和12。
随后,通过“for(n=0;n<4;n++)”循环对“temp[n]”、“temp[n+4]”、“temp[n+8]”的值的列进行部分转换,从而产生限定到r’[x,y]的第一频率系数矩阵的值。在“for(n=0;n<4;n++)”循环中,n是0、1、2和3。
“ROT_MATRIX[p][q]”表示在图12A至12I中示出的矩阵中作为预定“ROT_index=p”的转动矩阵的第q值,并且“ROT_SCALE”可以是“8192”。
参照图13B,反ROT执行器1720通过“for(n=0;n<64;n+8)”循环对第二频率系数矩阵的行进行部分转换,并通过“for(n=0;n<8;n++)”循环对第二频率系数矩阵的列进行部分转换。
当对仅包括第一频率系数矩阵1110的一些系数的矩阵1120执行ROT时,对矩阵1120执行反ROT,从而产生第一频率系数矩阵1110。
图21A和21B示出根据另一示例性实施例的反ROT语法。
图21A和21B示出用于通过使用图20A和20B的ROT矩阵之一执行反ROT的语法。图21A示出用于4×4反ROT的语法,图21B示出用于8×8反ROT的语法。
参照图21A,反ROT执行器1720通过根据在角度参数确定器1710中确定的角度参数选择图20A的ROT矩阵之一来对第二频率系数矩阵执行反ROT。
通过“for(j=0;j<4;j++)”循环对第二频率系数矩阵的行进行部分转换,通过“for(i=0;i<4;i++)”循环对第二频率系数矩阵的列进行部分转换。
通过“for(j=0;j<4;j++)”循环对定义为“S”的第二频率系数矩阵的值进行部分转换,从而产生“t”值。与“idx”对应的INV_ROT_4[idx][k](也就是,ROT矩阵中关于被熵解码的角度参数的信息)用于产生“t”值。然而,图20A中的值是8比特值。当“S”与8比特值相乘并且“t”值产生时,可在“for(i=0;i<4;i++)”循环的计算中产生溢出。因此,产生的“t”值被移位以便减小绝对值。
然而,当按照比特的数量对INV_ROT_4[idx][k]进行移位并且因此“S”值与“t”值的比特的数量相同时,可减小操作的精确性。因此,按照“8-移位”(小于8比特)对INV_ROT_4[idx][k]进行右移位,并且“t”值被产生。“shift”值(其中,在“for(i=0;i<4;i++)”循环的计算中不产生溢出并且维持ROT操作的精确性),并且可由等式8来定义该值。
等式8
Shift=Min(Max(0,4-increased_bit_depth_luma),8)
在等式8中,“increased_bit_depth_luma”是为了亮度值的操作的精确性内部添加的值并且可以是内部比特深度增加(IBDI)比特。用作为示例的亮度值描述等式8。然而,对于本领域的普通技术人员清楚的是与以上色度值的操作相同的方式定义“shift”。
由于考虑到IBDI确定“shift”,因此尽管由于在“for(j=0;j<4;j++)”循环中的INV_ROT_4[idx][k]引起比特深度增加,但是可不在“for(i=0;i<4;i++)”循环中产生溢出并且增加ROT操作的精确性。
在“for(i=0;i<4;i++)”循环中,在“for(j=0;j<4;j++)”循环中产生的“t”值被部分转换以便产生限定到“d”值的第一频率系数矩阵的值。当完成部分转换时,该值按照“8+shift”被右移位,以便将“d”值与“S”值的比特的数量匹配。这里,为了将“d”值四舍五入,“offset<<8”与该值相加并且相加的值按照“8+shift”被右移位。可根据在“for(j=0;j<4;j++)”循环中使用的“shift”来确定“offset”并且因此可如等式9来确定。
等式9
如果(shift>0)offset=1<<(shift-1),否则offset=0
参照图21B,反ROT执行器1720通过根据在角度参数确定器1710中确定的角度参数选择图20B的ROT矩阵之一来对第二频率系数矩阵执行反ROT。
第二频率系数矩阵的行通过“for(j=0;j<8;j++)”循环被部分转换,第二频率系数矩阵的列通过“for(i=0;i<8;i++)”循环被部分转换。
图21B与图21A的不同在于第二频率系数矩阵的大小增加到8×8,并且可根据图21A中的等式7和等式8来确定“shift”和“offset”。
反变换执行器1730从反ROT执行器1720接收第一频率系数矩阵并对接收的第一频率系数矩阵执行反变换。反向执行DCT或KLT以便对第一频率系数矩阵执行反变换。作为反变换的结果,像素域的预定块被恢复。
图18是根据示例性实施例的对图像编码的方法的流程图。
参照图18,在操作1810,用于对图像编码的设备通过将当前块变换到频域来产生第一频率系数矩阵。用于对图像编码的设备接收当前块,执行DCT或KLT或任何其他固定点空间变换,从而产生包括空间变换系数的第一频率系数矩阵。
在操作1820,用于对图像编码的设备确定用于第一频率系数矩阵的ROT中的角度参数。角度参数可以是“idx”或“ROT_idx”。
基于通过重复地多次执行编码获得的结果来确定“idx”。
基于当前块是帧内预测块还是帧间预测块来确定“ROT_idx”。可根据当当前块被帧内预测的情况以及当前块被帧间预测的情况来选择不同ROT矩阵。当当前块被帧内预测时,可根据当前块的帧内预测方向来选择不同ROT矩阵。换句话说,可基于当前块是否是帧内预测块以及帧内预测方向来选择与图12A至12I的0-8、9-17或18-26的范围中的“ROT_idx”相应的ROT矩阵。ROT矩阵可以是关于等式3描述的Rhorizontal和Rvertical
在操作1830,用于图像编码的设备基于在操作1820中确定的角度参数在第一频率系数矩阵的行和列中的至少一个之间执行部分转换,并且产生第二频率系数矩阵。基于在操作1820中根据当前块是否为帧内预测块以及帧内预测方向确定的ROT矩阵,对第一频率系数矩阵执行ROT。
当第一频率系数矩阵具有大大小(例如,等于或大于16×16的大小)时,可选择仅包括第一频率系数矩阵的一些采样的系数的矩阵,并且可仅对选择的矩阵执行ROT。当选择仅包括一些采样的系数的矩阵时,可选择仅包括低频分量的系数的矩阵。
在操作1840,用于对图像编码的设备对在操作1830产生的第二频率系数矩阵量化。根据预定量化步长对第二频率系数矩阵量化。
在操作1850,用于对图像编码的设备对在操作1840量化的第二频率系数矩阵熵编码。根据CABAC方法或CAVLC方法来执行熵编码。另外,在1850,对图像编码的设备对关于用于对第一频率系数矩阵的行和列中的至少一个进行部分转换的角度参数的信息进行熵编码。对关于规定图12A至12I的ROT矩阵中的用于反ROT的一个矩阵的“idx”或“ROT_index”的信息进行熵编码。当用于对图像编码的设备仅对第一范围(例如,0至8的范围)中的“ROT_index”进行熵编码时,可在解码端根据当前块是否根据帧内预测来预测以及帧内预测方向通过使用第二范围(例如,9至17的范围)或第三范围(例如,18至26的范围)中的“ROT_index”对ROT矩阵执行反ROT。
图19是根据示例性实施例的对图像解码的方法的流程图。
参照图19,在操作1910,用于图像解码的设备接收当前块的比特流,并对关于角度参数的信息以及第二频率系数矩阵进行熵解码。第二频率系数矩阵是通过对第一频率系数矩阵的全部或部分进行转动变换获得的矩阵。关于角度参数的信息可以是关于“idx”或“ROT_index”的信息。
在操作1920,用于对图像解码的设备基于关于在操作1910中熵解码的角度参数的信息确定用于对第二频率系数矩阵执行反ROT的角度参数。
可根据当前块是否是帧内预测块以及帧内预测方向来确定角度参数。当当前块在垂直方向或水平方向上被帧内预测时,选择与不同范围中的“ROT_index”相应的ROT矩阵。当当前块在垂直方向上被帧内预测时,可选择与通过将预定值(例如,9)和熵解码的“ROT_index”相加获得的“ROT_index”相应的ROT矩阵。当当前块在水平方向上被帧内预测时,可选择与通过将预定值(例如,18)和熵解码的“ROT_index”相加获得的“ROT_index”相应的ROT矩阵。
在操作1930,用于对图像解码的设备对第二频率系数矩阵进行反量化。根据用于图像编码的预定量化步长对第二频率系数矩阵进行反量化。
在操作1940,用于对图像解码的设备在操作1930中反量化的第二频率系数矩阵的行和列中的至少一个之间执行部分转换,并且产生第一频率系数矩阵。根据在操作1920中确定的角度参数,对第二频率系数矩阵执行反ROT。可基于在操作1920中根据当前块是否被帧内预测以及帧内预测方向选择的ROT矩阵来对第二频率系数矩阵执行反ROT。
在根据如上所述的示例性实施例的编码处理中,当对仅包括第一频率系数矩阵的一些采样的系数的矩阵执行ROT时,通过对仅包括一些采样的系数的矩阵执行反ROT来产生第一频率系数矩阵。
在操作1950,用于对图像解码的设备对在操作1940中产生的第一频率系数矩阵执行反变换。用于对图像解码的设备通过对第一频率系数矩阵执行反DCT或KLT或任何其他固定点反空间变换来恢复像素域的块。
如上所述,根据示例性实施例,可基于高压缩率的数学对频率系数矩阵进行强健编码,因此可大大增加总体图像压缩率。
尽管以上已经具体显示和描述了示例性实施例,但是本领域的普通技术人员将理解,在不脱离由权利要求及其等同物限定的本发明构思的精神和范围的情况下,可对其进行形式和细节上的各种改变。另外,示例性实施例可被实现为计算机可读记录介质上的计算机可读代码。
例如,根据示例性实施例的用于对图像编码的设备、根据示例性实施例的用于对图像解码的设备、图1、2、4、5、9、10、16和17中示出的图像编码器和图像解码器可包括连接到设备或编码器的每个单元的总线、连接到总线并且用于执行命令的至少一个处理器、连接到总线以存储命令、接收的消息以及产生的消息的存储器。
计算机可读记录介质是可存储其后可由计算机系统读取的数据的任何数据存储装置。计算机可读记录介质的示例包括只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储装置。计算机可读记录介质还可分布在联网的计算机系统上,从而计算机可读代码以分布式方式被存储和执行。
尽管以上已经具体显示和描述了示例性实施例,但是本领域的普通技术人员将理解,在不脱离由权利要求限定的本发明构思的精神和范围的情况下,可对其进行形式和细节上的各种改变。

Claims (15)

1.一种对图像进行编码的方法,所述方法包括:
对当前块执行离散余弦变换DCT以产生第一频率系数矩阵;
基于当前块是否被帧内预测来确定角度参数;
基于确定的角度参数在第一频率系数矩阵的行和列中的至少一个之间执行部分转换,以产生第二频率系数矩阵;
对第二频率系数矩阵进行量化;
对第二频率系数矩阵和关于角度参数的信息进行熵编码,
其中,角度参数指示第一频率系数矩阵的行和列中的至少一个之间的部分转换的程度。
2.如权利要求1所述的方法,其中,确定角度参数的步骤包括:基于当前块的帧内预测方向来确定角度参数。
3.如权利要求2所述的方法,其中,基于当前块的帧内预测方向来确定角度参数的步骤包括:基于当前块的帧内预测方向从多个矩阵中选择用于在行之间执行部分转换的第一矩阵并且选择用于在列之间执行部分转换的第二矩阵。
4.如权利要求3所述的方法,其中,产生第二频率系数矩阵的步骤包括:将第一频率系数矩阵的左侧乘以选择的第一矩阵,并将第一频率系数矩阵的右侧乘以选择的第二矩阵。
5.如权利要求1所述的方法,其中,角度参数是用于欧拉角的参数。
6.一种对图像解码的方法,所述方法包括:
对第二频率系数矩阵以及关于角度参数的信息进行熵解码;
基于熵解码的关于角度参数的信息以及当前块是否被帧内预测来确定角度参数;
对熵解码的第二频率系数矩阵进行反量化;
基于确定的角度参数在第二频率系数矩阵的行和列中的至少一个之间执行部分转换,以产生第一频率系数矩阵;
对第一频率系数矩阵执行离散余弦变换DCT以恢复当前块,
其中,预定角度参数指示在第二频率系数矩阵的行和列中的至少一个之间的部分转换的程度。
7.如权利要求6所述的方法,其中,确定角度参数的步骤包括:基于当前块的帧内预测方向来确定角度参数。
8.如权利要求7所述的方法,其中,基于当前块的帧内预测方向来确定角度参数的步骤包括:基于当前块的帧内预测方向从多个矩阵中选择用于在行之间执行部分转换的第一矩阵,并且选择用于在列之间执行部分转换的第二矩阵。
9.如权利要求8所述的方法,其中,产生第二频率系数矩阵的步骤包括:将第二频率系数矩阵的左侧与选择的第一矩阵相乘,并将第二频率系数矩阵的右侧与选择的第二矩阵相乘。
10.如权利要求6所述的方法,其中,角度参数是用于欧拉角的参数。
11.一种用于对图像编码的设备,所述设备包括:
变换器,对当前块执行离散余弦变换DCT,以产生第一频率系数矩阵,并且基于根据当前块是否被帧内预测确定的角度参数在第一频率系数矩阵的行和列中的至少一个之间执行部分转换,以产生第二频率系数矩阵;
量化器,对第二频率系数矩阵进行量化;
熵编码器,对第二频率系数矩阵以及关于角度参数的信息进行熵编码,
其中,角度参数指示在第一频率系数矩阵的行和列中的至少一个之间的部分转换的程度。
12.一种用于对图像解码的设备,所述设备包括:
熵解码器,对第二频率系数矩阵以及关于角度参数的信息进行熵解码;
反量化器,对熵解码的第二频率系数矩阵进行反量化;
反变换器,基于角度参数在第二频率系数矩阵的行和列中的至少一个之间执行部分转换,以产生第一频率系数矩阵,并且对第一频率系数矩阵执行离散余弦变换DCT以恢复当前块,所述角度参数根据熵解码的关于角度参数的信息以及当前块是否被帧内预测被确定,
其中,角度参数指示在第一频率系数矩阵的行和列中的至少一个之间的部分转换的程度。
13.如权利要求12所述的设备,其中,反变换器基于当前块的帧内预测方向确定角度参数。
14.如权利要求13所述的设备,其中,反变换器基于当前块的帧内预测方向从多个矩阵中选择用于在行之间执行部分转换的第一矩阵,并且选择用于在列之间执行部分转换的第二矩阵。
15.一种其上实现有用于执行权利要求1至权利要求10之一的方法的计算机程序的计算机可读记录介质。
CN2010800634990A 2009-12-09 2010-12-09 用于通过使用转动变换来对图像编码和解码的方法和设备 Pending CN102754438A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2009-0121937 2009-12-09
KR1020090121937A KR20110065092A (ko) 2009-12-09 2009-12-09 회전 변환을 이용한 영상 부호화, 복호화 방법 및 장치
PCT/KR2010/008818 WO2011071325A2 (en) 2009-12-09 2010-12-09 Method and apparatus for encoding and decoding image by using rotational transform

Publications (1)

Publication Number Publication Date
CN102754438A true CN102754438A (zh) 2012-10-24

Family

ID=44082079

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010800634990A Pending CN102754438A (zh) 2009-12-09 2010-12-09 用于通过使用转动变换来对图像编码和解码的方法和设备

Country Status (5)

Country Link
US (1) US8494296B2 (zh)
EP (1) EP2510691A4 (zh)
KR (1) KR20110065092A (zh)
CN (1) CN102754438A (zh)
WO (1) WO2011071325A2 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012039590A (ja) * 2010-07-16 2012-02-23 Sony Corp 画像処理装置、画像処理方法、及びプログラム
US20120320972A1 (en) * 2011-06-16 2012-12-20 Samsung Electronics Co., Ltd. Apparatus and method for low-complexity optimal transform selection
EP3343920B1 (en) 2012-04-16 2019-06-26 Electronics and Telecommunications Research Institute Method for encoding/decoding image
US9699461B2 (en) * 2015-08-14 2017-07-04 Blackberry Limited Scaling in perceptual image and video coding
WO2017061671A1 (ko) * 2015-10-08 2017-04-13 엘지전자 주식회사 영상 코딩 시스템에서 적응적 변환에 기반한 영상 코딩 방법 및 장치
ITUB20155295A1 (it) * 2015-10-16 2017-04-16 Torino Politecnico Apparatuses and methods for encoding and decoding images
US10154288B2 (en) * 2016-03-02 2018-12-11 MatrixView, Inc. Apparatus and method to improve image or video quality or encoding performance by enhancing discrete cosine transform coefficients
WO2019009618A1 (ko) * 2017-07-04 2019-01-10 삼성전자 주식회사 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치
WO2019101295A1 (en) * 2017-11-21 2019-05-31 Huawei Technologies Co., Ltd. Image and video processing apparatuses and methods
CN109255824A (zh) * 2018-08-21 2019-01-22 同济大学 基于dct的防窜货编解码方法
MX2021005855A (es) * 2019-07-10 2021-07-15 Guangdong Oppo Mobile Telecommunications Corp Ltd Metodo de prediccion de componentes de imagen, codificador, descodificador y medio de almacenamiento.
US11375219B2 (en) * 2019-09-24 2022-06-28 Tencent America LLC Coding method and system with improved dynamic internal bit depth

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070025631A1 (en) * 2005-07-21 2007-02-01 Wooshik Kim Adaptive variable block transform system, medium, and method
CN101039431A (zh) * 2006-02-23 2007-09-19 首尔大学校产学协力财团 利用离散余弦变换调整图像大小的方法及装置
US20080310512A1 (en) * 2007-06-15 2008-12-18 Qualcomm Incorporated Separable directional transforms
WO2009051330A1 (en) * 2007-10-17 2009-04-23 Samsung Electronics Co., Ltd. Video encoding method and apparatus and video decoding method and apparatus
US20090110317A1 (en) * 2007-10-24 2009-04-30 Samsung Electronics Co., Ltd. Method and apparatus for compressing image signal

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7146053B1 (en) * 2000-05-10 2006-12-05 International Business Machines Corporation Reordering of compressed data
US6907079B2 (en) * 2002-05-01 2005-06-14 Thomson Licensing S.A. Deblocking filter conditioned on pixel brightness
US7167560B2 (en) * 2002-08-08 2007-01-23 Matsushita Electric Industrial Co., Ltd. Partial encryption of stream-formatted media
JP4594688B2 (ja) * 2004-06-29 2010-12-08 オリンパス株式会社 画像符号化処理方法、画像復号化処理方法、動画圧縮処理方法、動画伸張処理方法、画像符号化処理プログラム、画像符号化装置、画像復号化装置、画像符号化/復号化システム、拡張画像圧縮伸張処理システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070025631A1 (en) * 2005-07-21 2007-02-01 Wooshik Kim Adaptive variable block transform system, medium, and method
CN101039431A (zh) * 2006-02-23 2007-09-19 首尔大学校产学协力财团 利用离散余弦变换调整图像大小的方法及装置
US20080310512A1 (en) * 2007-06-15 2008-12-18 Qualcomm Incorporated Separable directional transforms
WO2009051330A1 (en) * 2007-10-17 2009-04-23 Samsung Electronics Co., Ltd. Video encoding method and apparatus and video decoding method and apparatus
US20090110317A1 (en) * 2007-10-24 2009-04-30 Samsung Electronics Co., Ltd. Method and apparatus for compressing image signal

Also Published As

Publication number Publication date
WO2011071325A3 (en) 2011-11-10
US20110135212A1 (en) 2011-06-09
KR20110065092A (ko) 2011-06-15
US8494296B2 (en) 2013-07-23
EP2510691A4 (en) 2014-06-04
WO2011071325A2 (en) 2011-06-16
EP2510691A2 (en) 2012-10-17

Similar Documents

Publication Publication Date Title
CN102754438A (zh) 用于通过使用转动变换来对图像编码和解码的方法和设备
CN102598663A (zh) 通过使用旋转变换对图像编码和解码的方法和设备
US10027991B2 (en) Low complexity entropy-encoding/decoding method and apparatus
CN102484703B (zh) 通过使用大型变换单元编码和解码图像的方法和设备
JP5409909B2 (ja) ビットストリームを復号する方法
CN102474611A (zh) 通过控制运动矢量的精度对图像编码/解码的方法和设备
CN104937936A (zh) 用于帧内预测的模式决策简化
CN104967850A (zh) 通过使用大变换单元对图像进行编码和解码的方法和设备
CN104935924A (zh) 用于对视频进行解码的方法
CN102577383A (zh) 基于编码单元的分层结构用于对视频进行编码的方法和设备以及用于对视频进行解码的方法和设备
US20110090954A1 (en) Video Codes with Directional Transforms
US9667958B2 (en) Image coding and decoding methods and apparatuses
CN102484702A (zh) 用于通过使用旋转变换对图像编码和解码的方法和设备
EP4192011A1 (en) Low complexity entropy-encoding/decoding method and apparatus

Legal Events

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

Application publication date: 20121024