CN103748885A - 用于图像变换的方法和装置及用于图像逆变换的方法和装置 - Google Patents

用于图像变换的方法和装置及用于图像逆变换的方法和装置 Download PDF

Info

Publication number
CN103748885A
CN103748885A CN201280040311.XA CN201280040311A CN103748885A CN 103748885 A CN103748885 A CN 103748885A CN 201280040311 A CN201280040311 A CN 201280040311A CN 103748885 A CN103748885 A CN 103748885A
Authority
CN
China
Prior art keywords
integer
value
point
inverse
discrete cosine
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
CN201280040311.XA
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 CN103748885A publication Critical patent/CN103748885A/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Discrete Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种用于图像变换的方法和装置及用于图像逆变换的方法和装置。在根据本发明实施例的图像变换方法中,通过使用预定的比例因子放大形成用于N点离散余弦变换的变换矩阵的元素来获得具有整数值的放大的元素;通过使用由具有整数值的放大元素形成的整数变换矩阵执行N点离散余弦变换;通过使用比例因子缩小N点离散余弦变换矩阵的结果值。

Description

用于图像变换的方法和装置及用于图像逆变换的方法和装置
技术领域
本发明涉及一种用于编码和解码图像的方法和设备,更具体地讲,涉及一种用于变换和逆变换具有大尺寸的块的方法和设备。
背景技术
根据当前的国际视频编码标准,诸如H.264或者MPEG-4,视频信号分层次地划分为序列、帧、条带(slice)、宏块和块,其中块是最小处理单元。在编码方面,通过帧内或者帧间预测来确定块的预测剩余误差,执行块变换以使能量集中于小数的系数,并且通过量化、扫描、行程编码和熵编码来压缩图像数据并将其记录为编码的比特流。在解码方面,以相反的顺序执行处理。首先,从比特流提取熵编码的块变换系数。然后,通过反量化和逆变换来重构块的预测剩余误差,预测信息用于重构块的视频数据。在编码-解码处理中,变换模块是视频压缩的基础,并且变换模块的变换性能直接影响编码解码器的一般性能。
在最初的视频编码标准(诸如MPEG-1或者H.261)中采用了离散余弦变换(DCT)。在1974年引入DCT之后,DCT已广泛用于图像和视频编码领域。由于DCT去除变换域中的图像元素的相关性并且为高效图像压缩提供基础,所以DCT的变换性能与所有的次佳(sub-optimal)的变换相比是卓越的。然而,由于使用浮点数表示DCT矩阵,所以因大量的浮点运算而使用很多系统资源。因此,在对具有大尺寸的块执行变换时需要新的DCT算法以提高变换效率。
发明内容
技术问题
本发明提供一种通过使用有效离散余弦变换(DCT)来对图像进行变换和逆变换的方法和设备。详细地讲,本发明提供一种用于对图像进行变换和逆变换的方法和设备,所述方法和设备在具有大尺寸的DCT期间在减少一些乘法运算以减少计算复杂度和用于实现硬件的费用的同时执行相似的DCT。
技术方案
根据本发明的一个或更多个实施例,对离散余弦变换(DCT)矩阵的元素进行放大,以获得具有整数值的DCT,并且通过将基于DCT矩阵的变换算法中执行的旋转算法替换为具有减少的乘法数量的可选运算,来减少计算复杂度。
有益效果
在根据本发明的一个或更多个实施例的用于对图像进行变换和逆变换的方法和设备中,通过基于整数(而不是浮点运算)执行运算处理,来在变换和逆变换具有大尺寸的块时可以减少复杂度并且可以增加运算速度。此外,可通过减少在离散余弦变换(DCT)和离散余弦逆变换(IDCT)期间执行的乘法的数量,来减少计算复杂性。
最佳模式
根据本发明的一方面,提供了一种对图像进行变换的方法,所述方法包括:通过使用预定的比例因子放大形成用于N(N是整数)点离散余弦变换(DCT)的变换矩阵的元素,来获得具有整数值的放大的元素;通过使用由具有整数值的放大元素形成的整数变换矩阵执行N点DCT;通过使用预定的比例因子缩小执行N点DCT的结果值。
根据本发明的另一方面,提供了一种用于对图像进行变换的设备,所述设备包括:变换器,通过使用预定的比例因子放大形成用于N(N是整数)点离散余弦变换(DCT)的变换矩阵的元素来获得具有整数值的放大的元素,通过使用由具有整数值的放大元素形成的整数变换矩阵执行N点DCT,通过使用预定的比例因子缩小执行N点DCT的结果值。
根据本发明的另一方面,提供了一种用于对图像进行逆变换的方法,所述方法包括:通过放大形成用于N(N是整数)点逆离散余弦变换(IDCT)的逆变换矩阵的元素来获得具有整数值的放大的元素,通过使用由具有整数值的放大元素形成的整数逆变换矩阵执行N点IDCT,通过使用预定的比例因子缩小执行N点IDCT的结果值。
根据本发明的另一方面,提供了一种用于对图像进行逆变换的设备,所述设备包括:逆变换器,通过放大形成用于N(N是整数)点逆离散余弦变换(IDCT)的逆变换矩阵的元素来获得具有整数值的放大的元素;通过使用由具有整数值的放大元素形成的整数逆变换矩阵执行N点IDCT;通过使用预定的比例因子缩小执行N点IDCT的结果值。
附图说明
图1是根据本发明的实施例的图像编码设备的框图;
图2是根据本发明的实施例的32点离散余弦变换(DCT)的流程图;
图3是示出根据本发明的实施例的对图像进行变换的方法的流程图;
图4是根据本发明的实施例的32点、16点、8点和4点DCT的处理的流程图;
图5是用于描述图4的每个操作元素的参考表;
图6用于描述包括在图2的32点DCT中的旋转变换的运算处理的参考图;
图7A至图7C是用于描述图4的操作440的示图;
图8是根据本发明的实施例的用于对图像进行逆变换的设备的框图;
图9是示出根据本发明的实施例的对图像进行逆变换的方法的流程图;
图10是根据本发明的实施例的32点、16点、8点和4点逆DCT(IDCT)的处理的流程图。
具体实施方式
以下,将参照示出本发明的示例性实施例的附图更详细地描述本发明。
图1是根据本发明的实施例的图像编码设备100的框图。
参照图1,图像编码设备100包括预测器110、减法器115、变换器120、量化器130和熵编码器140。
预测器110将输入图像划分为具有预定尺寸的块,并通过对每个块执行帧间预测或帧内预测来生成预测块。详细地讲,预测器110执行通过运动预测和补偿处理来生成预测块的帧间预测和用于通过使用与当前块相邻的相邻块的数据生成预测块的帧内预测,其中,所述运动预测和补偿处理生成指示预先编码并恢复的参考画面的预定的搜索范围内的与当前块相似的区域的运动矢量。
减法器115通过从原始图像数据减去当前块的预测块生成残差。
变换器120将残差变换为频率区域。详细地讲,变换器120可以增大针对具有小尺寸(诸如4×4或8×8)的块定义的离散余弦变换(DCT)矩阵,以应用于具有至少16×16尺寸的块。如将在下面描述,变换器120通过使用预定的比例因子来放大(scaling)用于N点DCT的变换矩阵的元素来生成由具有整数值的元素形成的N点DCT矩阵,并通过使用生成的N点DCT矩阵执行N点DCT,其中N为整数。此外,在考虑与原始N点DCT矩阵的结果值的差的同时,变换器120针对使用放大元素的N点DCT矩阵的结果值执行使用预定比例因子的缩小(de-scaling)。如以下所述,如果预定的比例因子具有2的幂的值,则可以以移位运算(>>和<<)实现这种放大和缩小处理。与乘法运算相比可以简单地实现这种移位运算,因此与乘法运算相比具有较低的计算复杂度。因此,在对具有大尺寸的块执行的DCT期间,变换器120可在增加运算速度的同时减少计算复杂度。此外,为了减少根据N点DCT矩阵的在运算处理期间所需的乘法运算的数量,变换器120通过减少了乘法运算的数量的交替运算来执行与旋转变换对应的运算,从而减少N点DCT所需的乘法运算的总数并减少整体计算复杂度。
量化器130量化变换的残差。量化器130可在量化处理期间通过使用预定的比例因子执行缩小处理,以补偿通过使用由具有整数值的放大元素形成的N点DCT矩阵变换的结果值和基于原始N点DCT矩阵的结果值之间的差。换句话说,如将在以下描述,可以将由量化器130执行的量化处理结合到由变换器120执行的缩小处理。
熵编码器140通过对量化的图像数据执行可变长度编码来生成比特流。
以下,将详细描述通过图1中的变换器120执行的变换处理。
变换器120通过对N×N输入块执行列向变换和行向变换,来生成N×N变换块,其中N为整数。当Input表示N×N输入块时,Transform_hor表示在行方向上的DCT矩阵,Transform_ver表示在列方向上的DCT矩阵,Output表示结果值,变换器120通过执行根据以下等式的N点DCT矩阵运算来输出结果值Output;Output=Transform_hor×Input×Transform_ver。这里,第一矩阵乘法运算Transform_hor×Input对应于对N×N输入块Input的每行执行一维(1D)水平方向N点DCT,并且将Transform_ver与Transform_hor×Input相乘对应于1D垂直方向N点DCT。在行方向上的DCT矩阵Transform_hor和在列方向上的DCT矩阵Transform_ver是转置矩阵的关系。现在将描述针对行方向和列方向执行的N点DCT矩阵。
当Akn表示N点DCT矩阵的第(k,n)元素时,可以根据下面等式1来定义用于变换N×N输入块的在垂直或水平方向上的N点DCT矩阵的第(k,n)元素Akn,其中,k和n分别表示从0到(N-1)的整数。
【等式1】
A kn = C &CenterDot; 2 &CenterDot; cos ( &pi; ( 2 n + 1 ) k 2 N )
由于N点DCT矩阵和N点逆DCT矩阵(IDCT)是转置关系,可以根据下面等式2来定义N点IDCT的第(k,n)元素Bkn
【等式2】
B kn = iC &CenterDot; 2 &CenterDot; cos ( &pi; ( 2 n + 1 ) k 2 N )
在等式1和等式2中,C和iC表示满足C*iC=2/(N^2)的系数值。由于可通过在变换处理之后结合到量化处理,来以移位运算实现将C和iC相乘的运算处理,因此将主要描述将包括在N点DCT矩阵和N点IDCT矩阵中的
Figure BDA0000467012950000053
分量替换为整数值。此外,以下,π还可被表示为pi。
图2是根据本发明的实施例的32点DCT的流程图200。
可以通过图2中的流程图200实现由根据等式1定义的元素构成的DCT矩阵。
详细地讲,参照图2,×0至×31表示32点DCT的输入值。Y0至Y31表示根据32点DCT的结果值。可选择地,当Y0至Y31表示输入值时,×0至×31表示32点IDCT的输出值。换句话说,×0至×31表示32点DCT的输入值并且还表示32点IDCT的输出值。在32点DCT期间,数据处理方向为从左到右,在32点IDCT期间,数据处理方向为从右到左。交叉在一点的两条线表示两个数的相加。'-'表示非,并且当X表示经过相应的线的值时输出–X。在每条线上的值R(θ)表示与将输入值旋转变换θ的旋转变换对应的运算,并表示加上或减去通过将cosθ或sinθ与通过每条线输入的值相乘而得到的值的运算。下面将参照图6详细描述图2的旋转变换的运算。
图2示出32点DCT的流程图200,但是可以通过从32点DCT的流程图200选择偶数次或奇数次输入来获得16点DCT的流程图,或者可以通过16点DCT的流程图选择偶数次或奇数次输入来获得8点DCT的流程图。类似地,可以从图2的流程图200获得4点DCT和2点DCT的流程图。
在图2中的一些线处指示的R(θ)表示将输入值旋转变换θ的运算。例如,现在将参照图6描述图2的运算210。
图6用于描述包括在图2的32点DCT中的旋转变换的运算处理的参考图。
参照图6,在图2中的运算210中,针对输入值[X1,X2]通过等式 Y 1 Y 2 = cos &theta; - sin &theta; sin &theta; cos &theta; X 1 X 2 输出输出值[Y1,Y2]。运算210与用于输出通过将(x1,x2)旋转θ获得的值的旋转变换对应。
当根据图2的流程图200执行N点DCT时,根据R(θ)将cosθ和sinθ乘以输入值。除了当θ为0、pi/2、pi/3或pi/6时,由于cosθ和sinθ为无理数,如果在硬件中实现使用cosθ和sinθ的乘法运算处理,则增加复杂度。因此,变换器120通过将预定的比例因子乘以包括在DCT矩阵中的元素并随后对元素进行舍入,来生成由具有整数值的元素形成的DCT矩阵,然后通过使用预定的比例因子缩小执行DCT的结果值。
以下,将详细描述根据本发明的实施例的生成由具有整数值的元素形成的DCT矩阵的过程。
图3是示出根据本发明的实施例的变换图像的方法的流程图。
参照图1和图3,在操作310中,变换器120通过将比例因子S和形成用于N点DCT的变换矩阵的每个元素相乘并随后对每个元素进行舍入,来获得具有整数值的元素。
如上所述,变换矩阵包括分量。变换器120通过将比例因子S和
Figure BDA0000467012950000063
相乘并随后对结果值进行舍入,来获得整数值。当int(x)表示通过对x(x为实数)进行舍入而获得的整数值,sqrt(x)表示x的平方根,S表示比例因子时,假设由int(cos((2n+1)k)*sqrt(2.0)*S)表示通过由变换器120将
Figure BDA0000467012950000064
变换为整数值而获得的元素,且这种元素int(cos((2n+1)k)*sqrt(2.0)*S)被示出为COS_((2n+1)k)_SQRT_2。例如,当通过将比例因子S和包括在用于32点DCT的变换矩阵中的
Figure BDA0000467012950000071
相乘并随后对结果值进行舍入而获得整数值时,将
Figure BDA0000467012950000072
变换为整数值的元素定义为如下面表1。
[表1]
符号 用于32点DCT的变换矩阵的放大元素 示例性值
SQRT_2 int(sqrt(2.0)*S) 90
COS8_SQRT_2 int(cos(8*pi/64)*sqrt(2.0)*S) 83
COS16_SQRT_2 int(cos(16*pi/64)*sqrt(2.0)*S) 64
COS24_SQRT_2 int(cos(24*pi/64)*sqrt(2.0)*S) 36
COS4_SQRT_2 int(cos(4*pi/64)*S) 63
COS12_SQRT_2 int(cos(12*pi/64)*S) 53
COS20_SQRT_2 int(cos(20*pi/64)*S) 36
COS28_SQRT_2 int(cos(28*pi/64)*S) 12
COS2_SQRT_2 int(cos(2*pi/64)*S) 64
COS6_SQRT_2 int(cos(6*pi/64)*S) 61
COS10_SQRT_2 int(cos(10*pi/64)*S) 56
COS14_SQRT_2 int(cos(14*pi/64)*S) 49
COS18_SQRT_2 int(cos(18*pi/64)*S) 41
COS22_SQRT_2 int(cos(22*pi/64)*S) 30
COS26_SQRT_2 int(cos(26*pi/64)*S) 19
COS30_SQRT_2 int(cos(30*pi/64)*S) 6
COS1_SQRT_2 int(cos(1*pi/64)*S) 64
COS3_SQRT_2 int(cos(3*pi/64)*S) 63
COS5_SQRT_2 int(cos(5*pi/64)*S) 62
COS7_SQRT_2 int(cos(7*pi/64)*S) 60
COS9_SQRT_2 int(cos(9*pi/64)*S) 58
COS11_SQRT_2 int(cos(11*pi/64)*S) 55
COS13_SQRT_2 int(cos(13*pi/64)*S) 51
COS15_SQRT_2 int(cos(15*pi/64)*S) 47
COS17_SQRT_2 int(cos(17*pi/64)*S) 43
COS19_SQRT_2 int(cos(19*pi/64)*S) 38
COS21_SQRT_2 int(cos(21*pi/64)*S) 33
COS23_SQRT_2 int(cos(23*pi/64)*S) 27
COS25_SQRT_2 int(cos(25*pi/64)*S) 22
COS27_SQRT_2 int(cos(27*pi/64)*S) 16
COS29_SQRT_2 int(cos(29*pi/64)*S) 9
COS31_SQRT_2 int(cos(31*pi/64)*S) 3
COS4_SQRT_2 int(cos(4*pi/64)*sqrt(2.0)*S) 89
COS12_SQRT_2 int(cos(12*pi/64)*sqrt(2.0)*S) 75
COS20_SQRT_2 int(cos(20*pi/64)*sqrt(2.0)*S) 50
COS28_SQRT_2 int(cos(28*pi/64)*sqrt(2.0)*S) 18
在表1中,SQRT_2表示当
Figure BDA0000467012950000081
中的k为0时通过将
Figure BDA0000467012950000082
转换为整数值获得的元素。表1示出当比例因子S为2^6(即,64)时代替
Figure BDA0000467012950000083
而使用的整数值。例如,cos(7*pi/64)*64具有约为60.2588的值,并且当舍入时具有60的值。因此,变换器120通过使用通过对cos(7*pi/64)*64)进行舍入而获得的COS7_SQRT_2(=60)(而不是cos(7*pi/64)*64)来执行变换。
变换器120对通过将比例因子S和用于N点DCT的变换矩阵的每个元素相乘并随后对每个元素进行舍入而获得的值执行使用比例因子S的左移位运算(<<)。当S_BIT定义为log2S时,变换器120通过再次对COS_((2n+1)k)_SQRT_2按S_BIT执行左移位运算(<<),来获得用于N点DCT的变换矩阵。由于S=1<<S_BIT,所以再次对COS_((2n+1)k)_SQRT_2按S_BIT执行左移位运算(<<)相当于乘以比例因子S。因此,结果是,变换器120通过将比例因子S再次乘以结果值,来按S^2放大用于N点DCT的变换矩阵的元素,其中,所述结果值是通过将比例因子和N点DCT的变换矩阵的元素相乘并随后对元素进行舍入而获得的。通过这种放大处理而获得的作为用于4点DCT的变换矩阵的DCT_4x4[4][4]、作为用于8点DCT的变换矩阵的DCT_16x16[16][16])、作为用于16点DCT的变换矩阵的DCT_16x16[16][16]、用于作为32点DCT的变换矩阵的DCT_32x32[32][32]可以通过使用表1中所示的符号表示如下。
Figure BDA0000467012950000084
Figure BDA0000467012950000091
Figure BDA0000467012950000101
Figure BDA0000467012950000121
Figure BDA0000467012950000131
Figure BDA0000467012950000141
Figure BDA0000467012950000151
Figure BDA0000467012950000161
Figure BDA0000467012950000171
Figure BDA0000467012950000181
Figure BDA0000467012950000191
Figure BDA0000467012950000201
Figure BDA0000467012950000211
Figure BDA0000467012950000221
Figure BDA0000467012950000231
Figure BDA0000467012950000241
Figure BDA0000467012950000251
Figure BDA0000467012950000261
Figure BDA0000467012950000271
Figure BDA0000467012950000291
Figure BDA0000467012950000311
Figure BDA0000467012950000321
Figure BDA0000467012950000331
Figure BDA0000467012950000341
Figure BDA0000467012950000351
参照图3,在操作320中,变换器120通过使用由具有整数值的元素形成的变换矩阵执行N点DCT。
在操作330中,变换器120通过使用预定的比例因子缩小执行N点DCT的结果值。缩小执行N点DCT的结果值的比例,以补偿由具有整数值的元素形成的变换矩阵和N点DCT的原始变换矩阵之间的差。由于具有整数值的元素具有通过将预定的比例因子的平方值和原始变换矩阵的元素相乘而获得的值,可以通过将具有整数值的元素除以S^2来执行缩小。如上所述,当S_BIT定义为log2S时,可以通过对N点DCT的结果值按2*S_BIT执行右移位运算(>>),来执行缩小。通过右移位运算(>>)执行的这种缩小处理可以与通过量化器130执行(而不是通过变换器120执行)的量化处理相结合。详细地讲,可通过执行使用新量化步距的量化处理,来将缩小处理结合到量化处理,其中,所述新量化步距为对于应用于变换系数值的量化步距Qstep按2*S_BIT执行右移位运算(>>)(即,通过将量化步距的值除以S^2)而获得的。
由具有整数值的元素形成的N点DCT的变换矩阵可以在图4的流程图400中实现。
图4是根据本发明的实施例的32点、16点、8点和4点DCT的处理的流程图400。图5是用于描述图4的每个操作元素的参考表。在图4中,框410是16点DCT的流程图,框420是8点DCT的流程图,框430为4点1D变换的流程图。
根据由具有以上所述的具有整数值的元素形成的用于N点DCT的变换矩阵来实现图4的流程图400。详细地讲,x0至x31表示32点DCT的输入值,y0至y31表示32点DCT的结果值。可选择地,当y0至y31表示输入值时,x0至x31为32点IDCT的输出值。换句话说,x0至x31表示32点DCT的输入值并且还表示为32点IDCT的输出值。在32点DCT期间数据处理方向为从左到右,并且在32点IDCT期间为从右到左。
现在将参照图5描述图4中示出的每个运算符号。
参照图5,针对中间值X和Y(X和Y为实数)根据U=C1*X-C0*Y和V=C0*X+C1*Y(C0和C1为实数)执行运算510以获得结果值U和V(U和V为实数)。当C0为cosθ并且C1为sinθ时,运算510相当于用于输出通过将(X,Y)旋转θ而获得的(U,V)的旋转变换。
根据旋转变换,执行包括用于计算U值的2次乘法运算和用于计算V值的2次乘法运算的共4次乘法运算。当根据运算510执行旋转变换时,变换器120通过计算T值(T为实数),并随后在将通过使用C0和C1获得的C1_p_C0和C1_m_C0与输入值X和Y相乘之后通过加上或减去T值来计算U值和V值,来执行改变的运算。这里,C1_p_C0=C1+C0并且C1_m_C0=C1-C0。
T=C0*(X+Y);U=C1_p_C0*X-T;V=T+C1_m_C0*Y
这样,当由这样的运算代替旋转变换时,由于针对用于计算T、U和V值的每个运算执行一次乘法运算,因此执行共3次乘法运算。这样,可以将共4次乘法运算减少为共3次乘法运算。由于这样的替换,可增加加法运算和减法运算的数量,但是加法运算和减法运算的计算复杂性显著低于乘法运算的计算复杂度。
同时,C0和C1为根据#n确定的值,如上所述当C0为cosθ并且C1为sinθ时,可以根据C0确定C1。此外,根据基于以上表1的图5中的#n使用的C0、C1_p_C0和C1_m_C0的值为如下面表2。
[表2]
Figure BDA0000467012950000361
现在将描述基于表2的图4的执行运算440的处理。
图7A至图7C是用于描述图4的操作440的示图。
参照图7A,X1至X4指示在运算440期间输入的中间值,Y1至Y4指示输出值。在图7A中示出的运算440包括图7B和图7C中示出的运算。
参照图7B,变换器120根据下面的算法对中间值X1和X4执行运算以输出输出值Y1和Y4。
{T=C0*(X1+X4);U=C1_p_C0*X1-T;V=T+C1_m_C0*X4}
参照表2,当#n为#2时,C0=COS20、C1_p_C0=COS20+COS12和C1_m_C0=-COS20+COS12的值用作C0、C1_p_C0和C1_m_C0的值。
类似地,参照图7C,变换器120根据下面的算法对中间值X2和X3执行运算以输出输出值Y2和Y3。
{T=C0*(X2+X3);U=C1_p_C0*X2-T;V=T+C1_m_C0*X3}
参照表2,当#n为#3时,C0=COS28、C1_p_C0=-COS28+COS4和C1_m_C0=-COS28+COS4的值用作C0、C1_p_C0和C1_m_C0的值。
如上所述,可以通过使用根据表2中所示的#n的参数执行图4的运算510。
返回参照图5,运算520通过加上或减去中间值X和Y来输出输出值U和V,运算530对中间值X按预定的比特S_BIT执行左移位运算(<<),运算540对中间值X按预定的比特2*S_BIT执行左移位运算(<<),运算550输出中间值X的平方根,运算560指示减法运算,运算570指示加法运算。
变换器120可以根据以下算法执行如上所述的32点DCT。
Figure BDA0000467012950000381
Figure BDA0000467012950000391
Figure BDA0000467012950000411
Figure BDA0000467012950000421
Figure BDA0000467012950000431
Figure BDA0000467012950000451
Figure BDA0000467012950000461
Figure BDA0000467012950000471
同时,根据本发明的实施例,具有表1和表2中所示的整数值或参数值的用于N点DCT的变换矩阵的元素可被预先计算并以表的形式被预先存储,变换器120可以通过使用具有预先计算和预先存储的参数值或整数值的用于N点DCT的变换矩阵的元素来执行变换。
图8是根据本发明的实施例的用于对图像进行逆变换的设备800的框图。
参照图8,设备800包括熵解码器810、反量化器820、逆变换器830和预测器840。
熵解码器810从输入的比特流提取将被解码的当前块的预测模式信息、参考画面信息和残差信息。
反量化器820反量化通过熵解码器810解码平均信息量的量化的变换系数。
逆变换器830对反量化的变换系数进行逆变换。结果是,恢复块单元的残差值。详细的讲,逆变换器830执行与通过图1的变换器120执行的变换处理对应的逆变换处理。换句话说,逆变换器830通过使用预定的比例因子放大用于N点IDCT的原始逆变换矩阵的元素,来生成由具有整数值的元素形成的用于N点IDCT逆变换矩阵,并通过使用生成的逆变换矩阵执行N点IDCT。此外,逆变换器830可以对通过考虑与根据原始逆变换矩阵的结果值之间的差,来再次使用预定的比例因子对于N点IDCT的结果值执行缩小。当预定的比例因子具有2的幂的值时,放大和缩小处理可以以移位运算(>>和<<)来实现。缩小处理可以在逆变换处理之后执行或者可以结合到反量化处理。
预测器840通过帧间预测或帧内预测生成当前块的预测值,并通过将由逆变换器830恢复的残差和生成的预测值相加,来恢复当前块。
以下,将详细描述由图8中的逆变换器830执行的逆变换处理。如同由图1中的变换器120执行的变换处理,逆变换器830可以通过放大包括在根据以上公式2定义的逆变换矩阵的第(k,n)元素Bkn中的
Figure BDA0000467012950000481
获得由具有整数值的元素形成的用于N点IDCT逆变换矩阵并使用获得的逆变换矩阵执行频率逆变换,来执行逆变换处理。
图9是示出根据本发明的实施例的对图像进行逆变换的方法的流程图。
参照图8和图9,在操作810中,逆变换器830通过将比例因子S和形成用于N点IDCT的逆变换矩阵的每个元素相乘并随后对每个元素进行舍入来获得具有整数值的元素。
如上所述,逆变换矩阵包括
Figure BDA0000467012950000482
的分量。逆变换器830通过将比例因子S和相乘并随后对结果值进行舍入而获得整数值。如上所述,由int(cos((2n+1)k)*sqrt(2.0)*S)表示通过将
Figure BDA0000467012950000484
变换为整数值而获得的元素,元素int(cos((2n+1)k)*sqrt(2.0)*S)被示出为COS_((2n+1)k)_SQRT_2。可以在逆变换处理期间使用在以上表1中所定义的参数。
逆变换器830使用比例因子S对通过将比例因子S和逆变换矩阵的每个元素相乘并随后对每个元素进行舍入而获得的值执行左移位运算(<<)。当S_BIT定义为log2S时,逆变换器830通过再次对COS_((2n+1)k)_SQRT_2按S_BIT执行左移位运算(<<)来获得N点IDCT逆变换矩阵。逆变换器830通过将比例因子S再次乘以结果值而按S^2放大逆变换矩阵的元素,所述结果值是通过将比例因子S和逆变换矩阵的元素相乘并随后对元素进行舍入而获得的。可以通过使用与作为上述的用于N点DCT的变换矩阵的DCT_NxN[N][N]的逆矩阵关系或转置矩阵关系来获得作为通过这种放大处理获得的逆变换矩阵的IDCT_NxN[N][N]。
返回参照图9,在操作920中,逆变换器830可以通过使用由具有整数值的元素形成的逆变换矩阵执行N点IDCT。
在操作930中,逆变换器830通过使用预定的比例因子缩小执行N点IDCT的结果值。缩小执行N点IDCT的结果值以补偿由具有整数值的元素形成的逆变换矩阵和用于N点IDCT原始变换矩阵之间的差。由于具有整数值的元素具有通过将预定的比例因子的平方值和原始变换矩阵的元素相乘而获得的值,因此可以通过将具有整数值的元素除以S^2执行缩小。如上所述,当S_BIT定义为log2S时,可以通过对用于N点IDCT的结果值按2*S_BIT执行右移位运算(>>)来缩小。通过右移位运算(>>)执行的这种缩小处理可以与通过反量化器820执行的反量化处理相结合,而不是通过逆变换器830执行。详细地讲,通过执行使用新量化步距的反量化处理来将缩小处理与反量化处理相结合,其中,通过对于在反量化处理期间应用的量化步距Qstep按2*S_BIT执行右移位运算(>>)(即,通过将量化步骤Qstep的值除以S^2)来获得所述新量化步距。
由具有整数值的元素形成的逆变换矩阵可以如图10的流程图1000实现。
图10是根据本发明的实施例的32点、16点、8点和4点IDCT的处理的流程图1000。图10中所示的每个运算元素的操作与参照图5的描述相同。在图10中,框1010指示16点IDCT的流程图,框1020指示8点IDCT的流程图,框1030指示4点IDCT的流程图。
根据本发明的实施例,由具有整数值的元素形成的用于N点IDCT的变换矩阵来实现图10的流程图1000。详细地讲,y0至y31表示32点IDCT的输入值,x0至x31表示根据32点IDCT的结果值。
如上面参照图4所描述的,图10中的旋转变换可通过如下的改变的运算来执行,其中,所述改变的运算为计算T值之后,在将通过使用C0和C1获得的C1_p_C0和C1_m_C0与输入值X和Y相乘之后通过加上或减去T值计算U值和V值。这里,C1_p_C0=C1+C0并且C1_m_C0=C1-C0。
T=C0*(X+Y);U=C1_p_C0*X-T;V=T+C1_m_C0*Y
同时,C0和C1为根据#n确定的值,如上所述当C0为cosθ并且C1为sinθ时,可以根据C0确定C1。此外,在根据基于以上表1的图10中的#n的逆变换期间使用的C0、C1_p_C0和C1_m_C0的值为如下面表3。
[表3]
Figure BDA0000467012950000491
本发明也可以被实现为计算机可读记录介质上的计算机可读代码。所述计算机可读记录介质为任何可存储其后能由计算机系统读取的数据的数据存储装置。所述计算机可读记录介质的示例包括:只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘、光学数据存储装置等。所述计算机可读记录介质也可分布于网络连接的计算机系统上,以使所述计算机可读代码以分布方式存储并执行。
虽然本发明已参照其示例性实施例具体示出和描述,但本领域普通技术人员应该理解,在不脱离权利要求限定的本发明的精神和范围的情况下,可以在对其进行形式和细节上的各种改变。

Claims (15)

1.一种对图像进行变换的方法,所述方法包括如下步骤:
通过使用预定的比例因子放大形成用于N点离散余弦变换的变换矩阵的元素,来获得具有整数值的放大的元素,其中,N为整数;
通过使用由具有整数值的放大元素形成的整数变换矩阵,来执行N点离散余弦变换;
通过使用预定的比例因子缩小执行N点离散余弦变换的结果值。
2.根据权利要求1所述的方法,其中,获得具有整数值的放大的元素的步骤包括:通过使用预定的比例因子的平方值将元素放大到整数值。
3.根据权利要求1所述的方法,其中,当S表示预定的比例因子时,S具有2的幂的值,以及
获得具有整数值的放大的元素的步骤还包括:通过使用按log2S的左移位运算(<<),来放大对与预定的比例因子相乘的运算进行舍入而获得整数值。
4.根据权利要求1所述的方法,其中,执行N点离散余弦变换的步骤包括:
将形成N点离散余弦变换的运算中的用于针对中间值X和Y获得结果值U和V的运算U=C1*X-C0*Y和V=C0*X+C1*Y改变为运算T=C0*(X+Y)、U=C1_p_C0*X-T和V=T+C1_m_C0*Y,其中,C1_p_C0=C1+C0并且C1_m_C0=C1-C0,C0和C1为预定的实数,U和V为实数,X和Y为实数;
通过使用运算T=C0*(X+Y)、U=C1_p_C0*X-T和V=T+C1_m_C0*Y,来对输入值X和Y执行运算来获得结果值U和V。
5.根据权利要求1所述的方法,其中,通过与针对N点离散余弦变换的结果值的量化处理相结合来执行缩小比例。
6.根据权利要求5所述的方法,其中,预定的比例因子具有2的幂的值,并且,
量化处理还包括:通过右移位运算(>>)缩小N点离散余弦变换的结果值。
7.一种用于对图像进行变化的设备,所述设备包括:
变换器,通过使用预定的比例因子放大形成用于N点离散余弦变换的变换矩阵的元素来获得具有整数值的放大的元素,通过使用由具有整数值的放大元素形成的整数变换矩阵来执行N点离散余弦变换,并且通过使用预定的比例因子缩小执行N点离散余弦变换的结果值,其中,N为整数。
8.一种用于对图像进行逆变换的方法,所述方法包括:
通过放大形成用于N点离散余弦逆变换的逆变换矩阵的元素,来获得具有整数值的放大的元素,其中,N为整数;
通过使用由具有整数值的放大元素形成的整数逆变换矩阵,来执行N点离散余弦逆变换;
通过使用预定的比例因子,来缩小执行N点离散余弦逆变换的结果值。
9.根据权利要求8所述的方法,其中,获得具有整数值的放大的元素的步骤包括:通过使用预定的比例因子的平方值将元素放大到整数值。
10.根据权利要求8所述的方法,其中,当S表示预定的比例因子时,S具有2的幂的值,以及,
获得具有整数值的放大的元素的步骤还包括:通过使用按log2S的左移位运算(<<),放大通过舍入与预定的比例因子相乘的元素来获得的整数值。
11.根据权利要求8所述的方法,其中,执行N点离散余弦逆变换的步骤包括:
将形成N点离散余弦逆变换的运算中的用于针对中间值X和Y获得结果值U和V的运算U=C1*X-C0*Y和V=C0*X+C1*Y改变为运算T=C0*(X+Y)、U=C1_p_C0*X-T和V=T+C1_m_C0*Y,其中,C1_p_C0=C1+C0并且C1_m_C0=C1-C0,C0和C1为预定的实数,U和V为实数,X和Y为实数;
通过使用运算T=C0*(X+Y)、U=C1_p_C0*X-T和V=T+C1_m_C0*Y,来对输入值X和Y执行运算来获得结果值U和V。
12.根据权利要求8所述的方法,其中,通过与反量化处理相结合来执行缩小比例。
13.根据权利要求12所述的方法,其中,预定的比例因子具有2的幂的值,并且,
反量化处理还包括:通过右移位运算(>>)缩小通过量化从比特流提取的N点离散余弦变换的结果值获得的值。
14.根据权利要求8所述的方法,其中,预先计算和存储具有整数值的放大的元素。
15.一种用于对图像进行逆变换的设备,所述设备包括:
逆变换器,通过放大形成用于N点离散余弦逆变换离散余弦逆变换的逆变换矩阵的元素来获得具有整数值的放大的元素,通过使用由具有整数值的放大元素形成的整数逆变换矩阵执行N点离散余弦逆变换,并且通过使用预定的比例因子缩小执行N点离散余弦逆变换的结果值,其中,N为整数。
CN201280040311.XA 2011-06-18 2012-06-18 用于图像变换的方法和装置及用于图像逆变换的方法和装置 Pending CN103748885A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161498530P 2011-06-18 2011-06-18
US61/498,530 2011-06-18
US201161501943P 2011-06-28 2011-06-28
US61/501,943 2011-06-28
PCT/KR2012/004811 WO2012177027A2 (ko) 2011-06-18 2012-06-18 영상의 변환 방법 및 장치, 역변환 방법 및 장치

Publications (1)

Publication Number Publication Date
CN103748885A true CN103748885A (zh) 2014-04-23

Family

ID=47423066

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280040311.XA Pending CN103748885A (zh) 2011-06-18 2012-06-18 用于图像变换的方法和装置及用于图像逆变换的方法和装置

Country Status (6)

Country Link
US (1) US20140140394A1 (zh)
EP (1) EP2723075A4 (zh)
JP (1) JP2014523673A (zh)
KR (1) KR20120139611A (zh)
CN (1) CN103748885A (zh)
WO (1) WO2012177027A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108432254A (zh) * 2015-11-30 2018-08-21 奥兰治 用于对图像进行编码和解码的方法、用于对图像进行编码和解码的设备以及相应的计算机程序

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019194505A1 (ko) * 2018-04-01 2019-10-10 엘지전자 주식회사 축소된 회전기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1564602A (zh) * 2004-03-18 2005-01-12 华中科技大学 视频编码的整数变换矩阵选择方法及相关的整数变换方法
US20060294172A1 (en) * 2004-03-04 2006-12-28 Sheng Zhong Method and system for high fidelity IDCT and DCT algorithms
CN1929603A (zh) * 2005-11-25 2007-03-14 浙江大学 H.264整数变换加速的装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6134270A (en) * 1997-06-13 2000-10-17 Sun Microsystems, Inc. Scaled forward and inverse discrete cosine transform and video compression/decompression systems employing the same
CN1856997A (zh) * 2003-09-24 2006-11-01 德州仪器公司 8×8变换及量化
JP2009258786A (ja) * 2008-04-11 2009-11-05 Mitsubishi Electric Corp 動画像符号化装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060294172A1 (en) * 2004-03-04 2006-12-28 Sheng Zhong Method and system for high fidelity IDCT and DCT algorithms
CN1564602A (zh) * 2004-03-18 2005-01-12 华中科技大学 视频编码的整数变换矩阵选择方法及相关的整数变换方法
CN1929603A (zh) * 2005-11-25 2007-03-14 浙江大学 H.264整数变换加速的装置

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
ANTTI HALLAPURO ETAL: "Low Complexity Transform and Quantization – Part I: Basic Implementation", 《JOINT VIDEO TEAM (JVT) OF ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 AND ITU-T SG16 Q.6) JVT-B038》 *
JIE LIANG ET AL: "Fast Multiplierless Approximations of the DCT with the Lifting Scheme", 《IEEE TRANSACTIONS ON SIGNAL PROCESSING,IEEE SERVICE CENTER,NEW YORK,NY,US》 *
LI-NA JIA ET AL: "Fast AVS Prediciton Residual and Interger DCT Implementations for VLIW DSP", 《INFORMATION ENGINEERING AND COMPUTER SCIENCE,2009.ICIECS 2009.INTERNATIONAL CONFERENCE ON,IEEE,PISCATAWAY,NJ,USA》 *
R. JOSHI ETAL: "Efficient 16 and 32-point transforms", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC)OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11,JCTVC-D256》 *
YOON MI HONG ETAL: "Low-complexity 16x16 and 32x32 transforms and partial frequency transform", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11,JCTVC-C209》 *
田晓光: "一种类DCT的8X8整数变换", 《中国图象图形学报》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108432254A (zh) * 2015-11-30 2018-08-21 奥兰治 用于对图像进行编码和解码的方法、用于对图像进行编码和解码的设备以及相应的计算机程序

Also Published As

Publication number Publication date
EP2723075A4 (en) 2014-12-24
EP2723075A2 (en) 2014-04-23
US20140140394A1 (en) 2014-05-22
JP2014523673A (ja) 2014-09-11
WO2012177027A2 (ko) 2012-12-27
KR20120139611A (ko) 2012-12-27
WO2012177027A3 (ko) 2013-02-28

Similar Documents

Publication Publication Date Title
US20130195177A1 (en) Method and device for the transformation and method and device for the reverse transformation of images
CN100579224C (zh) 用于无损视频编码和解码的方法及设备
CN104581162B (zh) 通过使用大型变换单元解码图像的方法
CN103026705B (zh) 用于对视频信号进行编码的方法和设备以及用于对视频信号进行解码的方法和设备
TWI816439B (zh) 以區塊為基礎之預測技術
US20140010284A1 (en) Image transform and inverse transform method, and image encoding and decoding device using same
CN105284111A (zh) 运动图像编码装置、运动图像解码装置、运动图像编码方法、运动图像解码方法、及程序
US7634148B2 (en) Image signal transforming and inverse-transforming method and computer program product with pre-encoding filtering features
CA2633897C (en) Transforms with common factors
CN102792695A (zh) 通过使用大变换单元对图像进行编码和解码的方法和设备
CN105103549A (zh) 根据重要系数的参数的重要系数编码和解码
JP2008501250A (ja) 第1の変換カーネルに基づく入力ビデオを第2の変換カーネルに基づく出力ビデオにトランスコードする方法、及び入力形式を有する入力ビデオを出力形式を有する出力ビデオに変換するトランスコーダ
KR20120098499A (ko) 영상의 변환 방법 및 장치, 및 영상의 역변환 방법 및 장치
KR20080018469A (ko) 영상 변환 방법 및 장치, 역변환 방법 및 장치
CN103650499A (zh) 通过高速编码单位模式决策进行编码/解码的方法及设备
CN101938654B (zh) 一种变换系数的优化量化方法及装置
CN105850136A (zh) 使用预测信号和变换编译信号预测视频信号的方法和装置
CN101843101A (zh) 用于获取16阶整数变换的方法和装置
CN101083769B (zh) 处理n比特视频数据的编/解码器和编/解码方法
CN102036075A (zh) 一种图像及数字视频编码及解码方法
CN102595112B (zh) 视频编码中编码和重建图像块的方法
CN103748885A (zh) 用于图像变换的方法和装置及用于图像逆变换的方法和装置
CN102986223A (zh) 图像处理设备、图像处理方法和程序
CN102082950A (zh) 图像的压缩、解压缩方法、装置及系统
JPH07143488A (ja) 画像データ復号化方法および装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140423