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

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

Info

Publication number
CN103250415A
CN103250415A CN2011800558826A CN201180055882A CN103250415A CN 103250415 A CN103250415 A CN 103250415A CN 2011800558826 A CN2011800558826 A CN 2011800558826A CN 201180055882 A CN201180055882 A CN 201180055882A CN 103250415 A CN103250415 A CN 103250415A
Authority
CN
China
Prior art keywords
stage
inverse
transformation
matrix
block
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
CN2011800558826A
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 CN103250415A publication Critical patent/CN103250415A/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/156Availability of hardware or computational resources, e.g. encoding based on power-saving 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/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

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Discrete Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Signal Processing (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Multimedia (AREA)
  • Algebra (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Image Processing (AREA)
  • Peptides Or Proteins (AREA)
  • Prostheses (AREA)
  • Magnetic Record Carriers (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
  • Steroid Compounds (AREA)
  • Curing Cements, Concrete, And Artificial Stone (AREA)

Abstract

一种图像变换方法,图像变换设备,图像逆变换方法和图像逆变换设备,所述图像变换方法包括以下操作:选择用于针对M×N(其中,M和N是正整数)输入块的频率变换的预定频率区域,通过在针对M×N输入块的频率变换中使用的M×N变换矩阵的元素之中选择用于产生与选择的频率区域相应的变换系数的元素来获得截断变换矩阵,和通过将所述截断变换矩阵应用到M×N输入块来执行频率变换以产生与选择的频率区域相应的变换系数。

Description

用于图像的变换的方法和装置以及用于图像的逆变换的方法和装置
技术领域
本发明的一个或多个实施例涉及图像编码和图像解码,更具体地说,涉及一种用于通过仅处理块的低频带来降低计算复杂性的图像变换方法、图像变换设备、图像逆变换方法和图像逆变换设备。
背景技术
根据当前国际视频编码标准(诸如H.264或MPEG-4),视频信号被分层划分为序列、帧、条带、宏块和块,其中,块是最小处理单元。在编码方面,经由帧内预测或帧间预测确定块的预测剩余误差,执行块变换使得能量集中于十进制的系数,并且经由量化、扫描、行程编码和熵编码对图像数据进行压缩并记录为编码比特流。在解码方面,以相反的顺序执行上述处理。首先,从比特流提取熵编码的块变换系数。然后,经由反量化和逆变换重建块的预测剩余误差,并使用预测信息来重建块的视频数据。在编码解码处理中,变换模块是视频压缩的基础,变换模块的变换性能直接影响编解码器的整体性能。
离散余弦变换(DCT)被用作最初的视频编码标准(诸如MPEG-1或H.261)。在1974年DCT被引入之后,DCT已被广泛用于图像和视频编码领域。由于DCT在变换域中去除了图像元素的相关性并且为高效图像压缩准备了基础,因此,与所有次优变换相比,DCT具有优秀的变换性能。然而,由于使用浮点数表示DCT矩阵,因此由于大量的浮点运算,许多系统资源被使用。因此,需要新的DCT算法,以便在对大尺寸的块执行变换时提高变换效率。
发明内容
技术问题
一个或多个示例性实施例提供用于经由少量运算来产生属于低频带的变换系数的图像变换方法、图像变换设备、图像逆变换方法和图像逆变换设备。
技术方案
根据本发明的实施例,通过使用经由截断现有变换矩阵而获得的截断变换矩阵来提取属于低频带的变换系数。
有益效果
根据本发明的实施例,仅对选择的低频带执行变换和逆变换,从而,可减少由变换和逆变换所需的运算的数量。根据本发明的实施例,经由加法、减法和移位运算来执行变换和逆变换,从而,可减少变换和逆变换所需的运算的数量。
附图说明
图1是根据本发明的实施例的图像编码设备的框图;
图2是根据本发明的实施例的图像变换设备的框图;
图3是用于示出根据本发明的实施例的包括在图2的图像变换设备中的截断变换矩阵获得单元根据由包括在图2的图像变换设备中的频率区域选择单元选择的频带来获得截断变换矩阵的处理的参考示图;
图4是根据本发明的实施例的4点、8点、16点和32点离散余弦变换(DCT)的流程图;
图5是根据本发明的另一实施例的32点DCT的流程图;
图6是形成图5的32点DCT的蝶形结构的运算处理的参考示图;
图7是示出根据本发明的实施例的图像变换方法的流程图;
图8是根据本发明的实施例的图像解码设备的框图;
图9是根据本发明的实施例的图像逆变换设备的框图;
图10是用于示出根据本发明的实施例的包括在图9的图像逆变换设备中的截断逆变换矩阵获得单元根据接收的变换块的频带来获得截断逆变换矩阵的处理的参考示图;
图11是示出根据本发明的实施例的图像逆变换方法的流程图;
图12a和图12b是示出根据本发明的实施例的将被选择的频带的变换系数的参考示图。
最佳实施方式
根据本发明的一方面,提供了一种图像变换方法,包括:选择用于针对M×N输入块的频率变换的预定频率区域,其中,M和N是正整数;通过在针对M×N输入块的频率变换中使用的M×N变换矩阵的元素之中选择用于产生与选择的频率区域相应的变换系数的元素,来获得截断变换矩阵;通过将截断变换矩阵应用于M×N输入块来执行频率变换以产生与选择的频率区域相应的变换系数。
根据本发明的另一方面,提供了一种图像变换设备,包括:频率区域选择单元,选择用于针对M×N输入块的频率变换的预定频率区域,其中M和N是正整数;截断变换矩阵获得单元,通过在针对M×N输入块的频率变换中使用的M×N变换矩阵的元素之中选择用于产生与选择的频率区域相应的变换系数的元素,来获得截断变换矩阵;频率变换单元,通过将截断变换矩阵应用到M×N输入块执行频率变换,以产生与选择的频率区域相应的变换系数。
根据本发明的另一方面,提供了一种图像逆变换方法,包括:接收在M×N块的变换系数之中的预定频带的变换系数,其中,M和N是正整数;通过在针对M×N块的频率逆变换中使用的M×N逆变换矩阵的元素之中选择用于针对选择的频带的变换系数进行逆变换的元素,来获得截断逆变换矩阵;通过将截断逆变换矩阵应用于选择的频带的变换系数来执行频率逆变换以恢复M×N块。
根据本发明的另一方面,提供了一种图像逆变换设备,包括:截断逆变换矩阵获得单元,通过在针对M×N块的频率逆变换中使用的M×N逆变换矩阵的元素之中选择用于针对与预定频带相应的变换系数进行逆变换的元素,来获得截断逆变换矩阵,其中,M和N是正整数;逆变换单元,通过将截断逆变换矩阵应用于预定频带的变换系数来执行频率逆变换以恢复M×N块。
具体实施方式
以下,将参照附图更充分地描述示例性实施例。
图1是根据本发明的实施例的图像编码设备100的框图。
参照图1,图像编码设备100包括预测器110、减法器115、变换器120、量化器130和熵编码器140。
预测器110将输入图像划分为具有预定尺寸的块,并通过对每个块执行帧间预测或帧内预测来产生预测块。详细地讲,预测器110执行用于通过运动预测和补偿处理来产生预测块的帧间预测和用于通过使用与当前块邻近的邻近块的数据来产生预测块的帧内预测,其中,所述运动预测和补偿处理产生指示在先前被编码并随后被恢复的参考画面的预定搜索范围内与当前块相似的区域的运动矢量。
减法器115通过从原始图像数据减去当前块的预测块来产生残差。
变换器120将残差变换到频率域。具体地,在本发明的示例性实施例中,可将针对具有相对较小尺寸(诸如4×4或8×8)的现有块而定义的离散余弦变换(DCT)矩阵扩大并应用于具有至少16×16尺寸的块。如下所述,变换器120通过用有理数替代用于现有DCT的变换矩阵的元素,根据基于整数的加法和减法以及移位运算(而非浮点运算)来执行DCT,从而在提高运算速度的同时降低计算复杂性。变换器120还可通过使用包括通过将用于DCT的变换矩阵的元素乘以2的幂并随后对相乘后的元素进行四舍五入而获得的元素的变换矩阵来执行DCT,从而降低整体计算复杂性。变换器120通过在用于针对M×N输入块的频率变换的M×N变换矩阵的元素之中选择用于产生与预定频率区域相应的变换系数的元素来获得截断变换矩阵,并通过使用所述截断变换矩阵来执行变换,从而减少变换所需的运算的数量。
量化器130对变换的残差进行量化。量化器130可将预定缩放因子应用于变换值,以便减少在由变换器120通过使用近似的变换矩阵而变换的值与经由基于实际浮点运算的DCT而获得的值之间的误差值。
熵编码器140通过对量化的图像数据执行可变长编码来产生比特流。
以下,将参照附图更充分地描述根据示例性实施例的图像变换。
图2是根据本发明的实施例的图像变换设备200的框图。图2的图像变换设备200与图1的变换器120相应。
参照图2,图像变换设备200包括频率区域选择单元210、截断变换矩阵获得单元220和频率变换单元230。
频率区域选择单元210选择用于针对M×N(其中,M和N是正整数)输入块的频率变换的预定频率区域。换句话说,当将M×N输入块变换为频率区域时,频率区域选择单元210选择将产生变换系数的什么频带。一般地,由于经由频率变换产生的变换块的低频带具有比较高的值,并且高频带具有比较小的值,因此频率区域选择单元210可选择低频带以在减少运算的数量的同时最小化误差。可从由编码端和解码端预先定义的范围来确定低频带的范围,或者可通过分析变换块的变换系数,并检测具有非零变换系数的频带来确定低频带的范围。
图12a和图12b是示出根据本发明的实施例的将被选择的频带的变换系数的参考示图。
参照图12a和图12b,频率区域选择单元210可确定将从整个变换块1200获得变换系数的什么频带。例如,为了从整个变换块1200提取变换系数的低频带,频率区域选择单元210可选择在如图12a中所示的a×d变换块1210内的变换系数或在如图12b中所示的DC系数周围的三角形块1220内的变换系数。如图12a,可通过在比特流中包括a和d的值来传输关于在选择的频带中的变换系数的信息,或可基于整个变换块1200的尺寸信息在编码端和解码端提前设置a和d的值。当使用如图12b中所示的三角形块1220时,可将关于三角形块1220的底c和高c的信息包括在比特流中,或可在编码端和解码端提前设置值c。也可按预定句法的形式将如下信息包括在比特流中并进行传输,其中,所述如下信息为关于使用在图12a的矩形块1210(即,a×d变换块1210)和图12b的三角形块1220之中的什么类型来定义将被获得的变换系数的低频带的信息。
截断变换矩阵获得单元220通过在针对M×N输入块的频率变换中使用的M×N变换矩阵的元素之中选择用于产生与选择的频带相应的变换系数的元素,来获得截断变换矩阵。这里,假设频率变换为DCT。DCT的示例可包括基于整数的DCT和基于浮点数运算的DCT。在这里假设的DCT中,通过在M×N输入块的列方向和行方向上使用一维(1D)变换矩阵。
频率变换单元230通过将截断变换矩阵应用到M×N输入块来执行频率变换以产生与选择的频带相应的变换系数。
图3是用于示出根据本发明的实施例的截断变换矩阵获得单元220根据由频率区域选择单元210选择的频带来获得截断变换矩阵的处理的参考示图。
参照图3,当将表示M×N输入块的矩阵称为X320,将M×N垂直变换矩阵称为Cf310,并将M×N水平变换矩阵称为CfT330时,可通过由等式Cf×X×CfT表示的矩阵运算将M×N输入块X320变换到频率区域中来获得M×N变换块Y340。
根据实施例,没有获得构成M×N变换块Y340的所有变换系数,而仅获得了在由频率区域选择单元210选择的频带中的变换系数。如上所述,当将M×N输入块X320变换到频率区域中时,频率区域选择单元210可确定将产生变换系数的什么频带。如图3中所示,假设与低频带相应的a×d(其中,a指示小于M的正整数,并且d指示小于N的正整数)变换块345由频率区域选择单元210选择。
可通过不应用M×N垂直变换矩阵Cf310和M×N水平变换矩阵CfT330,而应用通过分别截断M×N垂直变换矩阵Cf310和M×N水平变换矩阵CfT330而获得的a×N截断垂直变换矩阵MCf315和M×d截断水平变换矩阵MCfT335,经由由等式MCf×X×MCfT表示的矩阵运算来获得在低频带中的a×d变换块345。为了获得在低频带中的a×d变换块345,截断变换矩阵获得单元220通过从M×N垂直变换矩阵Cf310选择与上面的a行相应的元素来产生a×N截断垂直变换矩阵MCf315。垂直变换矩阵获得单元220通过从M×N水平变换矩阵CfT330选择与左侧的d列相应的元素来产生M×d截断水平矩阵MCfT335。例如,如图3中所示,假设M和N是16且a和d是8,截断变换矩阵获得单元220通过从16×16垂直变换矩阵仅选择上面的8行来获得8×16截断垂直变换矩阵,并通过从16×16水平变换矩阵仅选择左侧的8列来获得16×8截断水平变换矩阵,从而获得与低频带的8×8变换块相应的变换系数。频率变换单元230可经由在8×16截断垂直变换矩阵、16×8截断水平变换矩阵和16×16输入块中的矩阵运算来产生8×8变换块。例如,通过将8×16截断垂直变换矩阵应用到16×16输入块来产生8×16中间值,并通过将16×8截断水平变换矩阵应用到所述8×16中间值来最终获得与低频带相应的8×8变换块。
同时,当位于垂直变换矩阵的(i,k)(其中,i和k是整数)位置的元素的值为Aik时,可将用于N×N输入块的变换的垂直变换矩阵的第(i,k)元素Aik定义为等式1:
A ik = α i cos π ( 2 k + 1 ) i 2 N
(i,k=0、...、N-1、
Figure BDA00003220650600062
Figure BDA00003220650600063
由于水平变换矩阵是垂直变换矩阵的转置,因此像垂直变换矩阵一样,将水平变换矩阵的第(i,k)元素Bik表示为使用余弦函数获得的值。一般而言,不将这样的变换矩阵的元素用于变换处理,但是可将所述元素和预定缩放系数的乘积用于执行仅具有加法和移位运算的变换处理。尽管在等式1中示出浮点DCT,但是可使用定点DCT。当在变换期间使用变换矩阵的元素和预定缩放系数的乘积时,可在量化期间额外地执行使变换系数除以预定缩放系数的去缩放处理。
图4是根据本发明的实施例的4点、8点、16点和32点DCT的流程图400。
参照图4,f0至f31指示1D变换的输入值,并同时指示1D逆变换的输出值。在变换期间的数据处理方向是从左至右,并且在逆变换期间的处理方向是从右至左。两条线相交于点指示两个数的加法。每一条线上的值指示根据相应系数的乘法。cθ是指cosθ,sθ指示sinθ,并且“-”指示负。指示虚线的标号410是4点1D DCT的流程图,指示虚线的标号420是8点1D DCT的流程图,指示虚线的标号430是16点1D DCT的流程图,并且指示虚线的标号440是32点1D DCT的流程图。
如流程图400中所示,cθ和sθ可根据DCT中的θ值变为无理数,从而会增加计算复杂性。因此,即使输入值是整数,也会将最终变换结果值映射到无理数。在使用硬件实现时,这样的DCT的处理会增加复杂性。因此,根据示例性实施例的方法提供以有理数替代用于DCT的无理数的近似接近于原始DCT的结果值的整数变换方法。例如,可用N个有理数的变量ai来替代构成N×N变换矩阵的元素的分量cos(π×(i/2)/N)(其中,i指示范围从0至N-1的整数)。例如,当N=16时,可用a0替代cos0,可用a1替代cos(π×(1/2)/16),可用a2替代cos(π×(2/2)/16),可用a3替代cos(π×(3/2)/16),可用a4替代cos(π×(4/2)/16),可用a5替代cos(π×(5/2)/16),可用a6替代cos(π×(6/2)/16),可用a7替代cos(π×(7/2)/16),可用a8替代cos(π×(8/2)/16),可用a9替代cos(π×(9/2)/16),可用a10替代cos(π×(10/2)/16),可用a11替代cos(π×(11/2)/16),可用a12替代cos(π×(12/2)/16),可用a13替代cos(π×(13/2)/16),可用a14替代cos(π×(14/2)/16),并可用a15替代cos(π×(15/2)/16)。变量ai可以是有理数,并且每个变量ai的分母可具有能够移位运算的2的幂的值。因为如果分母是2的幂,则可通过仅使用右移位运算(>>)执行除法运算,所以变量ai被限制为二进制有理数。例如,当N是16时,16个变量ai可以是以下值:a1=63/64,a2=62/64,a3=61/64,a4=59/64,a5=56/64,a6=53/64,a7=49/64,a8=45/64,a9=40/64,a10=35/64,a11=30/64,a12=24/64,a13=18/64,a14=12/64,并且a15=6/64。当N是32时,32个变量ai可以是以下值:a1=255/256,a2=254/256,a3=253/256,a4=251/256,a5=248/256,a6=244/256,a7=241/256,a8=236/256,a9=231/256,a10=225/256,a11=219/256,a12=212/256,a13=205/256,a14=197/256,a15=189/256,a16=181/256,a17=171/256,a18=162/256,a19=152/256,a20=142/256,a21=131/256,a22=120/256,a23=109/256,a24=97/256,a25=86/256,a26=74/256,a27=62/256,a28=49/256,a29=37/256,a30=25/256,并且a31=12/256。
当M和N是32时,X0至X31指示输入值,Ai、Bi、Ci、Di、Ei、Fi和Gi(其中,i指示范围从0至31的整数)指示中间值,并且Y0至Y31指示输出值,频率变换单元230通过根据图4的流程图400针对32×32输入块的行方向输入值和列方向输入值重复以下点变换来产生低频带的16×16变换块:
{
/阶段0
A0=X0+X31;A31=X0-X31;A1=X1+X30;A30=X1-X30;A2=X2+X29;A29=X2-X29;A3=X3+X28;A28=X3-X28;A4=X4+X27;A27=X4-X27;A5=X5+X26;A26=X5-X26;A6=X6+X25;A25=X6-X25;A7=X7+X24;A24=X7-X24;A8=X8+X23;A23=X8-X23;A9=X9+X22;A22=X9-X22;A10=X10+X21;A21=X10-X21;A11=X11+X20;A20=X11-X20;A12=X12+X19;A19=X12-X19;A13=X13+X18;A18=X13-X18;A14=X14+X17;A17=X14-X17;A15=X15+X16;A16=X15-X16;
/阶段1
B0=A0+A15;B15=A0-A15;B1=A1+A14;B14=A1-A14;B2=A2+A13;B13=A2-A13;B3=A3+A12;B12=A3-A12;B4=A4+A11;B11=A4-A11;B5=A5+A10;B10=A5-A10;B6=A6+A9;B9=A6-A9;B7=A7+A8;B8=A7-A8;B20=(181×(A27-A20))>>8;B27=(181×(A27+A20))>>8;B21=(181×(A26-A21))>>8;B26=(181×(A26+A21))>>8;B22=(181×(A25-A22))>>8;B25=(181×(A25+A22))>>8;B23=(181×(A24-A23))>>8;B24=(181×(A24+A23))>>8;
/阶段2
C0=B0+B7;C7=B0-B7;C1=B1+B6;C6=B1-B6;C2=B2+B5;C5=B2-B5;C3=B3+B4;C4=B3-B4;C10=(181×(B13-B10))>>8;C13=(181×(B13+B10))>>8;C11=(181×(B12-B11))>>8;C12=(181×(B12+B11))>>8;C16=A16+B23;C23=A16-B23;C24=A31-B24;C31=A31+B24;C17=A17+B22;C22=A17-B22;C25=A30-B25;C30=A30+B25;C18=A18+B21;C21=A18-B21;C26=A29-B26;C29=A29+B26;C19=A19+B20;C20=A19-B20;C27=A28-B27;C28=A28+B27;
/阶段3
D0=C0+C3;D3=C0-C3;D8=B8+C11;D11=B8-C11;D12=B15-C12;D15=B15+C12;D1=C1+C2;D2=C1-C2;D9=B9+C10;D10=B9-C10;D13=B14-C13;D14=B14+C13;D5=(181×(C6-C5))>>8;D6=(181×(C6+C5))>>8;D18=(97×C29-236×C18)>>8;D20=(-236×C27-97×C20)>>8;D26=(-236×C21+97×C26)>>8;D28=(97×C19+236×C28)>>8;D19=(97×C28-236×C19)>>8;D21=(-236×C26-97×C21)>>8;D27=(-236×C20+97×C27)>>8;D29=(97×C18+236×C29)>>8;
/阶段4
Y0=(181×(D0+D1))>>8;Y8=(236×D3+97×D2)>>8;
E4=C4+D5;E5=C4-D5;E6=C7-D6;E7=C7+D6;E9=(97×D14-236×D9)>>8;E10=(-236×D13-97×D10)>>8;E13=(97×D13-236×D10)>>8;E14=(236×D14+97×D9)>>8;E16=C16+D19;E19=C16-D19;E20=C23-D20;E23=C23+D20;E24=C24+D27;E27=C24-D27;E28=C31-D28;E31=C31+D28;E17=C17+D18;E18=C17-D18;E21=C22-D21;E22=C22+D21;E25=C25+D26;E26=C25-D26;E29=C30-D29;E30=C30+D29;
/阶段5
Y4=(49×E4+251×E7)>>8;Y12=(212×E6-142×E5)>>8;F8=D8+E9;F9=D8-E9;F10=D11-E10;F11=D11+E10;F12=D12+E13;F13=D12-E13;F14=D15-E14;F15=D15+E14;F17=(49×E30-251×E17)>>8;F18=(-251×E29-49×E18)>>8;F21=(212×E26-142×E21)>>8;F22=(-142×E25-212×E22)>>8;F25=(212×E25-142×E22)>>8;F26=(142×E26+212×E21)>>8;F29=(49×E29-251×E18)>>8;F30=(251×E30+49×E17)>>8;
/阶段6
Y2=(25×F8+254×F15)>>8;Y10=(120×F10+225×F13)>>8;Y6=(244×F12-74×F11)>>8;Y14=(197×F14-162×F9)>>8;G16=E16+F17;G17=E16-F17;G18=E19-F18;G19=E19+F18;G20=E20+F21;G21=E20-F21;G22=E23-F22;G23=E23+F22;G24=E24+F25;G25=E24-F25;G26=E27-F26;G27=E27+F26;G28=E28+F29;G29=E28-F29;G30=E31-F30;G31=E31+F30;
/阶段7
Y1=(12×G16+255×G31)>>8;Y9=(109×G18+231×G29)>>8;Y5=(62×G20+248×G27)>>8;Y13=(152×G22+205×G25)>>8;Y3=(253×G24-37×G23)>>8;Y11=(219×G26-131×G21)>>8;Y7=(241×G28-86×G19)>>8;Y15=(189×G30-171×G17)>>8;Y16=0;Y17=0;Y18=0;Y19=0;Y20=0;Y21=0;Y22=0;Y23=0;Y24=0;Y25=0;Y26=0;Y27=0;Y28=0;Y29=0;Y30=0;Y31=0;
}
例如,频率变换单元230通过将32×32输入块的32列中的每一列应用为输入值X0至X31来重复32次以上所述的点变换,以产生16×32中间值矩阵,并通过将构成16×32中间值矩阵的16行应用为输入值X0至X31来重复16次以上所述的点变换,以获得16×16变换矩阵。16×16变换矩阵与32×32变换矩阵中的低频带的16×16变换块相应。
当M和N是64时,X0至X63指示输入值,Ai、Bi、Ci、Di、Ei、Fi、Gi、Hi和Zi(其中,i指示范围从0至63的整数)指示中间值,并且Y0至Y63指示输出值,频率变换单元230通过针对64×64输入块的行方向输入值和列方向输入值重复以下点变换来产生16×16变换块:
{
/阶段0
Z0=X0+X63;Z63=X0-X63;Z1=X1+X62;Z62=X1-X62;Z2=X2+X61;Z61=X2-X61;Z3=X3+X60;Z60=X3-X60;Z4=X4+X59;Z59=X4-X59;Z5=X5+X58;Z58=X5-X58;Z6=X6+X57;Z57=X6-X57;Z7=X7+X56;Z56=X7-X56;Z8=X8+X55;Z55=X8-X55;Z9=X9+X54;Z54=X9-X54;Z10=X10+X53;Z53=X10-X53;Z11=X11+X52;Z52=X11-X52;Z12=X12+X51;Z51=X12-X51;Z13=X13+X50;Z50=X13-X50;Z14=X14+X49;Z49=X14-X49;Z15=X15+X48;Z48=X15-X48;Z16=X16+X47;Z47=X16-X47;Z17=X17+X46;Z46=X17-X46;Z18=X18+X45;Z45=X18-X45;Z19=X19+X44;Z44=X19-X44;Z20=X20+X43;Z43=X20-X43;Z21=X21+X42;Z42=X21-X42;Z22=X22+X41;Z41=X22-X41;Z23=X23+X40;Z40=X23-X40;Z24=X24+X39;Z39=X24-X39;Z25=X25+X38;Z38=X25-X38;Z26=X26+X37;Z37=X26-X37;Z27=X27+X36;Z36=X27-X36;Z28=X28+X35;Z35=X28-X35;Z29=X29+X34;Z34=X29-X34;Z30=X30+X33;Z33=X30-X33;Z31=X31+X32;Z32=X31-X32;
/阶段1
A0=Z0+Z31;A31=Z0-Z31;A1=Z1+Z30;A30=Z1-Z30;A2=Z2+Z29;A29=Z2-Z29;A3=Z3+Z28;A28=Z3-Z28;A4=Z4+Z27;A27=Z4-Z27;A5=Z5+Z26;A26=Z5-Z26;A6=Z6+Z25;A25=Z6-Z25;A7=Z7+Z24;A24=Z7-Z24;A8=Z8+Z23;A23=Z8-Z23;A9=Z9+Z22;A22=Z9-Z22;A10=Z10+Z21;A21=Z10-Z21;A11=Z11+Z20;A20=Z11-Z20;A12=Z12+Z19;A19=Z12-Z19;A13=Z13+Z18;A18=Z13-Z18;A14=Z14+Z17;A17=Z14-Z17;A15=Z15+Z16;A16=Z15-Z16;A40=(724×(Z55-Z40))>>10;A55=(724×(Z55+Z40))>>10;A41=(724×(Z54-Z41))>>10;A54=(724×(Z54+Z41))>>10;A42=(724×(Z53-Z42))>>10;A53=(724×(Z53+Z42))>>10;A43=(724×(Z52-Z43))>>10;A52=(724×(Z52+Z43))>>10;A44=(724×(Z51-Z44))>>10;A51=(724×(Z51+Z44))>>10;A45=(724×(Z50-Z45))>>10;A50=(724×(Z50+Z45))>>10;A46=(724×(Z49-Z46))>>10;A49=(724×(Z49+Z46))>>10;A47=(724×(Z48-Z47))>>10;A48=(724×(Z48+Z47))>>10;
/阶段2
B0=A0+A15;B15=A0-A15;B1=A1+A14;B14=A1-A14;B2=A2+A13;B13=A2-A13;B3=A3+A12;B12=A3-A12;B4=A4+A11;B11=A4-A11;B5=A5+A10;B10=A5-A10;B6=A6+A9;B9=A6-A9;B7=A7+A8;B8=A7-A8;B20=(724×(A27-A20))>>10;B27=(724×(A27+A20))>>10;B21=(724×(A26-A21))>>10;B26=(724×(A26+A21))>>10;B22=(724×(A25-A22))>>10;B25=(724×(A25+A22))>>10;B23=(724×(A24-A23))>>10;B24=(724×(A24+A23))>>10;B32=Z32+A47;B47=Z32-A47;B48=Z63-A48;B63=Z63+A48;B33=Z33+A46;B46=Z33-A46;B49=Z62-A49;B62=Z62+A49;B34=Z34+A45;B45=Z34-A45;B50=Z61-A50;B61=Z61+A50;B35=Z35+A44;B44=Z35-A44;B51=Z60-A51;B60=Z60+A51;B36=Z36+A43;B43=Z36-A43;B52=Z59-A52;B59=Z59+A52;B37=Z37+A42;B42=Z37-A42;B53=Z58-A53;B58=Z58+A53;B38=Z38+A41;B41=Z38-A41;B54=Z57-A54;B57=Z57+A54;B39=Z39+A40;B40=Z39-A40;B55=Z56-A55;B56=Z56+A55;
/阶段3
C0=B0+B7;C7=B0-B7;C1=B1+B6;C6=B1-B6;C2=B2+B5;C5=B2-B5;C3=B3+B4;C4=B3-B4;C10=(724×(B13-B10))>>10;C13=(724×(B13+B10))>>10;C11=(724×(B12-B11))>>10;C12=(724×(B12+B11))>>10;C16=A16+B23;C23=A16-B23;C24=A31-B24;C31=A31+B24;C17=A17+B22;C22=A17-B22;C25=A30-B25;C30=A30+B25;C18=A18+B21;C21=A18-B21;C26=A29-B26;C29=A29+B26;C19=A19+B20;C20=A19-B20;C27=A28-B27;C28=A28+B27;C36=(392×B59-946×B36)>>10;C40=(-946×B55-392×B40)>>10;C52=(-946×B43+392×B52)>>10;C56=(392×B39+946×B56)>>10;C37=(392×B58-946×B37)>>10;C41=(-946×B54-392×B41)>>10;C53=(-946×B42+392×B53)>>10;C57=(392×B38+946×B57)>>10;C38=(392×B57-946×B38)>>10;C42=(-946×B53-392×B42)>>10;C54=(-946×B41+392×B54)>>10;C58=(392×B37+946×B58)>>10;C39=(392×B56-946×B39)>>10;C43=(-946×B52-392×B43)>>10;C55=(-946×B40+392×B55)>>10;C59=(392×B36+946×B59)>>10;
/阶段4
D0=C0+C3;D3=C0-C3;D8=B8+C11;D11=B8-C11;D12=B15-C12;D15=B15+C12;D1=C1+C2;D2=C1-C2;D9=B9+C10;D10=B9-C10;D13=B14-C13;D14=B14+C13;D5=(724×(C6-C5))>>10;D6=(724×(C6+C5))>>10;D18=(392×C29-946×C18)>>10;D20=(-946×C27-392×C20)>>10;D26=(-946×C21+392×C26)>>10;D28=(392×C19+946×C28)>>10;D19=(392×C28-946×C19)>>10;D21=(-946×C26-392×C21)>>10;D27=(-946×C20+392×C27)>>10;D29=(392×C18+946×C29)>>10;D32=B32+C39;D39=B32-C39;D40=B47-C40;D47=B47+C40;D48=B48+C55;D55=B48-C55;D56=B63-C56;D63=B63+C56;D33=B33+C38;D38=B33-C38;D41=B46-C41;D46=B46+C41;D49=B49+C54;D54=B49-C54;D57=B62-C57;D62=B62+C57;D34=B34+C37;D37=B34-C37;D42=B45-C42;D45=B45+C42;D50=B50+C53;D53=B50-C53;D58=B61-C58;D61=B61+C58;D35=B35+C36;D36=B35-C36;D43=B44-C43;D44=B44+C43;D51=B51+C52;D52=B51-C52;D59=B60-C59;D60=B60+C59;
/阶段5
Y0=(724×(D0+D1))>>10;
E4=C4+D5;E5=C4-D5;E6=C7-D6;E7=C7+D6;E9=(392×D14-946×D9)>>10;E10=(-946×D13-392×D10)>>10;E13=(392×D13-946×D10)>>10;E14=(946×D14+392×D9)>>10;D15=D15;E16=C16+D19;E19=C16-D19;E20=C23-D20;E23=C23+D20;E24=C24+D27;E27=C24-D27;E28=C31-D28;E31=C31+D28;E17=C17+D18;E18=C17-D18;E21=C22-D21;E22=C22+D21;E25=C25+D26;E26=C25-D26;E29=C30-D29;E30=C30+D29;E34=(200×D61-1004×D34)>>10;E35=(200×D60-1004×D35)>>10;E36=(-1004×D59-200×D36)>>10;E37=(-1004×D58-200×D37)>>10;E42=(851×D53-569×D42)>>10;E43=(851×D52-569×D43)>>10;E44=(-569×D51-851×D44)>>10;E45=(-569×D50-851×D45)>>10;E50=(851×D50-569×D45)>>10;E51=(851×D51-569×D44)>>10;E52=(569×D52+851×D43)>>10;E53=(569×D53+851×D42)>>10;E58=(200×D58-1004×D37)>>10;E59=(200×D59-1004×D36)>>10;E60=(1004×D60+200×D35)>>10;E61=(1004×D61+200×D34)>>10;
/阶段6
Y8=(200×E4+1004×E7)>>10;
F8=D8+E9;F9=D8-E9;F10=D11-E10;F11=D11+E10;F12=D12+E13;F13=D12-E13;F14=D15-E14;F15=D15+E14;F17=(200×E30-1004×E17)>>10;F18=(-1004×E29-200×E18)>>10;F21=(851×E26-569×E21)>>10;F22=(-569×E25-851×E22)>>10;F25=(851×E25-569×E22)>>10;F26=(569×E26+851×E21)>>10;F29=(200×E29-1004×E18)>>10;F30=(1004×E30+200×E17)>>10;F32=D32+E35;F33=D33+E34;F34=D33-E34;F35=D32-E35;F36=D39-E36;F37=D38-E37;F38=D38+E37;F39=D39+E36;F40=D40+E43;F41=D41+E42;F42=D41-E42;F43=D40-E43;F44=D47-E44;F45=D46-E45;F46=D46+E45;F47=D47+E44;F48=D48+E51;F49=D49+E50;F50=D49-E50;F51=D48-E51;F52=D55-E52;F53=D54-E53;F54=D54+E53;F55=D55+E52;F56=D56+E59;F57=D57+E58;F58=D57-E58;F59=D56-E59;F60=D63-E60;F61=D62-E61;F62=D62+E61;F63=D63+E60;
/阶段7
Y4=(100×F8+1019×F15)>>10;Y12=(980×F12-297×F11)>>10;
G16=E16+F17;G17=E16-F17;G18=E19-F18;G19=E19+F18;G20=E20+F21;G21=E20-F21;G22=E23-F22;G23=E23+F22;G24=E24+F25;G25=E24-F25;G26=E27-F26;G27=E27+F26;G28=E28+F29;G29=E28-F29;G30=E31-F30;G31=E31+F30;G33=(100×F62-1019×F33)>>10;G34=(-1019×F61-100×F34)>>10;G37=(792×F58-650×F37)>>10;G38=(-650×F57-792×F38)>>10;G41=(483×F54-903×F41)>>10;G42=(-903×F53-483×F42)>>10;G45=(980×F50-297×F45)>>10;G46=(-297×F49-980×F46)>>10;G49=(980×F49-297×F46)>>10;G50=(297×F50+980×F45)>>10;G53=(483×F53-903×F42)>>10;G54=(903×F54+483×F41)>>10;G57=(792×F57-650×F38)>>10;G58=(650×F58+792×F37)>>10;G61=(100×F61-1019×F34)>>10;G62=(1019×F62+100×F33)>>10;
/阶段8
Y2=(50×G16+1023×G31)>>10;Y10=(249×G20+993×G27)>>10;Y6=(1013×G24-150×G23)>>10;Y14=(964×G28-345×G19)>>10;H32=F32+G33;H33=F32-G33;H34=F35-G34;H35=F35+G34;H36=F36+G37;H37=F36-G37;H38=F39-G38;H39=F39+G38;H40=F40+G41;H41=F40-G41;H42=F43-G42;H43=F43+G42;H44=F44+G45;H45=F44-G45;H46=F47-G46;H47=F47+G46;H48=F48+G49;H49=F48-G49;H50=F51-G50;H51=F51+G50;H52=F52+G53;H53=F52-G53;H54=F55-G54;H55=F55+G54;H56=F56+G57;H57=F56-G57;H58=F59-G58;H59=F59+G58;H60=F60+G61;H61=F60-G61;H62=F63-G62;H63=F63+G62;
/阶段9
Y1=(25×H32+1024×H63)>>10;Y9=(224×H36+999×H59)>>10;Y5=(125×H40+1016×H55)>>10;Y13=(321×H44+972×H51)>>10;Y3=(1021×H48-75×H47)>>10;Y11=(987×H52-273×H43)>>10;Y7=(1009×H56-175×H39)>>10;Y15=(955×H60-369×H35)>>10;Y16=0;Y17=0;Y18=0;Y19=0;Y20=0;Y21=0;Y22=0;Y23=0;Y24=0;Y25=0;Y26=0;Y27=0;Y28=0;Y29=0;Y30=0;Y31=0;Y32=0;Y33=0;Y34=0;Y35=0;Y36=0;Y37=0;Y38=0;Y39=0;Y40=0;Y41=0;Y42=0;Y43=0;Y44=0;Y45=0;Y46=0;Y47=0;Y48=0;Y49=0;Y50=0;Y51=0;Y52=0;Y53=0;Y54=0;Y55=0;Y56=0;Y57=0;Y58=0;Y59=0;Y60=0;Y61=0;Y62=0;Y63=0;
}
例如,频率变换单元230通过将64×64输入块的64列中的每一列应用为输入值X0至X63来重复64次以上所述的点变换,以产生16×64中间值矩阵,并通过将构成16×64中间值矩阵的16行应用为输入值X0至X63来重复16次以上所述的点变换,以获得16×16变换矩阵。16×16变换矩阵与64×64变换矩阵中的低频带的16×16变换块相应。
图5是根据本发明的另一实施例的32点DCT的流程图500。
参照图5,x0至x31指示输入值,并且y0至y31指示DCT的输出值。在变换期间的数据处理方向是从左至右,并且在逆变换期间的处理方向是从右至左。2条线相交于点指示两个数的加法,并且“-”指示负。在每条线上的值R(θ)指示基于如图6中所示的蝶形结构的运算处理。
图6是形成图5的32点DCT的蝶形结构的运算处理的参考示图。
参照图6,针对输入值[X1,X2]的蝶形结构的运算处理经由等式 Y 1 Y 2 = cos θ - sin θ sin θ cos θ X 1 X 2 输出输出值[Y1,Y2]。
当根据图5的流程图500执行DCT时,根据值R(θ)来使用cosθ和sinθ。类似于使用图4的流程图400的DCT,可通过将二进制有理数用作根据值θ的cosθ和sinθ来用加法、减法和移位运算替代由DCT所需的运算。
例如,当M和N是32时,X0至X31指示输入值,Ai、Bi、Ci、Di、Ei、Fi和Zi(其中,i指示范围从0至31的整数)指示中间值,并且Y0至Y31指示输出值,频率变换单元230通过根据图5的算法针对32×32输入块的行方向输入值和列方向输入值重复以下点变换来产生低频带的16×16变换块:
{
/阶段0
Z0=X0+X31;Z31=X0-X31;Z1=X1+X30;Z30=X1-X30;Z2=X2+X29;Z29=X2-X29;Z3=X3+X28;Z28=X3-X28;Z4=X4+X27;Z27=X4-X27;Z5=X5+X26;Z26=X5-X26;Z6=X6+X25;Z25=X6-X25;Z7=X7+X24;Z24=X7-X24;Z8=X8+X23;Z23=X8-X23;Z9=X9+X22;Z22=X9-X22;Z10=X10+X21;Z21=X10-X21;Z11=X11+X20;Z20=X11-X20;Z12=X12+X19;Z19=X12-X19;Z13=X13+X18;Z18=X13-X18;Z14=X14+X17;Z17=X14-X17;Z15=X15+X16;Z16=X15-X16;
/阶段1
A0=Z0+Z15;A1=Z1+Z14;A2=Z2+Z13;A3=Z3+Z12;A4=Z4+Z11;A5=Z5+Z10;A6=Z6+Z9;A7=Z7+Z8;A8=Z7-Z8;A9=Z6-Z9;A10=Z5-Z10;A11=Z4-Z11;A12=Z3-Z12;A13=Z2-Z13;A14=Z1-Z14;A15=Z0-Z15;A16=(171×Z16-189×Z31)>>8;A31=(189×Z16+171×Z31)>>8;A17=(205×Z17+152×Z30)>>8;A30=(-152×Z17+205×Z30)>>8;A18=(131×Z18-219×Z29)>>8;A29=(219×Z18+131×Z29)>>8;A19=(231×Z19+109×Z28)>>8;A28=(-109×Z19+231×Z28)>>8;A20=(86×Z20-241×Z27)>>8;A27=(241×Z20+86×Z27)>>8;A21=(248×Z21+62×Z26)>>8;A26=(-62×Z21+248×Z26)>>8;A22=(37×Z22-253×Z25)>>8;A25=(253×Z22+37×Z25)>>8;A23=(255×Z23+12×Z24)>>8;A24=(-12×Z23+255×Z24)>>8;
/阶段2
B0=A0+A7;B7=A0-A7;B1=A1+A6;B6=A1-A6;B2=A2+A5;B5=A2-A5;B3=A3+A4;B4=A3-A4;B8=(197×A8+162×A15)>>8;B15=(-162×A8+197×A15)>>8;B9=(120×A9-225×A14)>>8;B14=(225×A9+120×A14)>>8;B10=(244×A10+74×A13)>>8;B13=(-74×A10+244×A13)>>8;B11=(25×A11-254×A12)>>8;B12=(254×A11+25×A12)>>8;B16=A16+A23;B23=A16-A23;B17=A17+A22;B22=A17-A22;B18=A18+A21;B21=A18-A21;B19=A19+A20;B20=A19-A20;B24=A24+A31;B31=A24-A31;B25=A25+A30;B30=A25-A30;B26=A26+A29;B29=A26-A29;B27=A27+A28;B28=A27-A28;
/阶段3
C0=B0+B3;C3=B0-B3;C1=B1+B2;C2=B1-B2;C4=(49×B4+251×B7)>>8;C7=(-251×B4+49×B7)>>8;C5=(142×B5+212×B6)>>8;C6=(-212×B5+142×B6)>>8;C8=B8+B11;C11=B8-B11;C9=B9+B10;C10=B9-B10;C12=B12+B15;C15=B12-B15;C13=B13+B14;C14=B13-B14;C16=B16+B28;C28=B16-B28;C17=B17+B29;C29=B17-B29;C18=B18+B30;C30=B18-B30;C19=B19+B31;C31=B19-B31;C20=B20+B23;C23=B20-B23;C21=B21+B22;C22=B21-B22;C24=B24+B27;C27=B24-B27;C25=B25+B26;C26=B25-B26;
/阶段4
D0=(181×(C0+C1))>>8;D2=(97×C2+236×C3)>>8;D4=C4+C5;D5=C4-C5;D7=C6+C7;D8=C8+C14;D14=C8-C14;D9=C9+C15;D15=C9-C15;D11=C10-C11;D12=C12+C13;D13=C12-C13;D16=(181×(C16+C19))>>8;D19=(181×(-C16+C19))>>8;D20=C20+C26;D26=C20-C26;D21=C21+C27;D27=C21-C27;D22=C22+C23;D23=C22-C23;D24=C24+C25;D28=(181×(C28+C31))>>8;D31=(181×(-C28+C31))>>8;
/阶段5
E5=(181×(D5+D7))>>8;E8=(97×D8-236×D9)>>8;E12=(181×(-D11+D12))>>8;E15=(236×D14+97×D15)>>8;E16=D16+C18;E18=D16-C18;E17=C17+D19;E19=C17-D19;E21=(-97×D20+236×D21)>>8;E24=(181×(-D23+D24))>>8;E26=(236×D26+97×D27)>>8;E30=D28+C30;E29=-C29+D31;E31=C29+D31;
/阶段6
F16=(251×E16-49×E17)>>8;F18=(212×E18-142×E19)>>8;F28=(212×E28-142×E29)>>8;F29=(142×E28+212×E29)>>8;F31=(49×E30+251×E31)>>8;
/阶段7
Y0=D0;Y1=E24;Y2=E12;Y3=-F16;Y4=D4;Y5=F31;Y6=E8;Y7=-E26;Y8=D2;Y9=E21;Y10=E15;Y11=F29;Y12=E5;Y13=-F18;Y14=D13;Y15=D22;Y16=0;Y17=0;Y18=0;Y19=0;Y20=0;Y21=0;Y22=0;Y23=0;Y24=0;Y25=0;Y26=0;Y27=0;Y28=0;Y29=0;Y30=0;Y31=0;
}
例如,频率变换单元230通过将32×32输入块的64列中的每一列应用为输入值X0至X31来重复32次以上所述的点变换,以产生16×32中间值矩阵,并通过将构成16×32中间值矩阵的16行应用为输入值X0至X31来重复16次以上所述的点变换,以获得16×16变换矩阵。16×16变换矩阵与64×64变换矩阵中的低频带的16×16变换块相应。
当M和N是32时,X0至X31指示输入值,Ai、Bi、Ci、Di、Ei、Fi和Zi(其中,i指示范围从0至31的整数)指示中间值,并且Y0至Y31指示输出值,频率变换单元230通过根据图5的算法针对32×32输入块的行方向输入值和列方向输入值重复以下点变换来产生变换块:
{
/阶段0
Z0=X0+X31;Z31=X0-X31;Z1=X1+X30;Z30=X1-X30;Z2=X2+X29;Z29=X2-X29;Z3=X3+X28;Z28=X3-X28;Z4=X4+X27;Z27=X4-X27;Z5=X5+X26;Z26=X5-X26;Z6=X6+X25;Z25=X6-X25;Z7=X7+X24;Z24=X7-X24;Z8=X8+X23;Z23=X8-X23;Z9=X9+X22;Z22=X9-X22;Z10=X10+X21;Z21=X10-X21;Z11=X11+X20;Z20=X11-X20;Z12=X12+X19;Z19=X12-X19;Z13=X13+X18;Z18=X13-X18;Z14=X14+X17;Z17=X14-X17;Z15=X15+X16;Z16=X15-X16;
/阶段1
A0=Z0+Z15;A1=Z1+Z14;A2=Z2+Z13;A3=Z3+Z12;A4=Z4+Z11;A5=Z5+Z10;A6=Z6+Z9;A7=Z7+Z8;A8=Z7-Z8;A9=Z6-Z9;A10=Z5-Z10;A11=Z4-Z11;A12=Z3-Z12;A13=Z2-Z13;A14=Z1-Z14;A15=Z0-Z15;
A16=Z16-(113×Z31>>8);A31=Z31+(189×A16>>8);A16=A16-(113×A31>>8);A17=Z17+(84×Z30>>8);A30=Z30-(152×A17>>8);A17=A17+(84×A30>>8);A18=Z18-(145×Z29>>8);A29=Z29+(219×A18>>8);A18=A18-(145×A29>>8);A19=Z19+(57×Z28>>8);A28=Z28-(109×A19>>8);A19=A19+(57×A28>>8);A20=Z20-(180×Z27>>8);A27=Z27+(241×A20>>8);A20=A20-(180×A27>>8);A21=Z21+(31×Z26>>8);A26=Z26-(62×A21>>8);A21=A21+(31×A26>>8);A22=Z22-(220×Z25>>8);A25=Z25+(253×A22>>8);A22=A22-(220×A25>>8);A23=Z23+(6×Z24>>8);A24=Z24-(12×A23>>8);A23=A23+(6×A24>>8);
/阶段2
B0=A0+A7;B7=A0-A7;B1=A1+A6;B6=A1-A6;B2=A2+A5;B5=A2-A5;B3=A3+A4;B4=A3-A4;
B8=A8+(91×A15>>8);B15=A15-(162×B8>>8);B8=B8+(91×B15>>8);B9=A9-(153×A14>>8);B14=A14+(225×B9>>8);B9=B9-(153×B14>>8);B10=A10+(37×A13>>8);B13=A13-(74×B10>>8);B10=B10+(37×B13>>8);B11=A11-(232×A12>>8);B12=A12+(254×B11>>8);B11=B11-(232×B12>>8);
B16=A16+A23;B23=A16-A23;B17=A17+A22;B22=A17-A22;B18=A18+A21;B21=A18-A21;B19=A19+A20;B20=A19-A20;
B24=A24+A31;B31=A24-A31;B25=A25+A30;B30=A25-A30;B26=A26+A29;B29=A26-A29;B27=A27+A28;B28=A27-A28;
/阶段3
C0=B0+B3;C3=B0-B3;C1=B1+B2;C2=B1-B2;
C4=B4+(210×B7>>8);C7=B7-(251×C4>>8);C4=C4+(210×C7>>8);C5=B5+(136×B6>>8);C6=B6-(212×C5>>8);C5=C5+(136×C6>>8);
C8=B8+B11;C11=B8-B11;C9=B9+B10;C10=B9-B10;
C12=B12+B15;C15=B12-B15;C13=B13+B14;C14=B13-B14;
C16=B16+B28;C28=B16-B28;C17=B17+B29;C29=B17-B29;C18=B18+B30;C30=B18-B30;C19=B19+B31;C31=B19-B31;
C20=B20+B23;C23=B20-B23;C21=B21+B22;C22=B21-B22;
C24=B24+B27;C27=B24-B27;C25=B25+B26;C26=B25-B26;
/阶段4
D0=C0+C1;
D3=C2-(106×C3>>8);D2=C3+(90×D3>>8);
D4=C4+C5;D5=C4-C5;
D7=C6+C7;
D8=C8+C14;D14=C8-C14;D9=C9+C15;D15=C9-C15;
D11=C10-C11;D12=C12+C13;D13=C12-C13;
D16=C16+(106×C19>>8);D19=C19-(181×D16>>8);D16=D16+(106×D19>>8);D20=C20+C26;D26=C20-C26;D21=C21+C27;D27=C21-C27;D22=C22+C23;D23=C22-C23;D24=C24+C25;
D28=C28+(106×C31>>8);D31=C31-(181×D28>>8);D28=D28+(106×D31>>8);
/阶段5
E5=D5+D7;
E9=D8+(106×D9>>8);E8=-(D9-(90×E9>>8));
E11=D11+D12;E12=D12-(E11>>1);
E15=D14+(106×D15>>8);
E16=D16+C18;E18=D16-C18;E17=C17+D19;E19=C17-D19;
E20=D20+(106×D21>>8);E21=D21-(90×E20>>8);E23=D23+D24;E24=D24-(E23>>1);E26=D26+(106×D27>>8);
E28=-D28+C30;E30=D28+C30;E29=-C29+D31;E31=C29+D31;
/阶段6
F16=E16-(50×E17>>8);
F18=E18-(171×E19>>8);
F28=E28-(171×E29>>8);F29=E29+(118×F28>>8);F30=E30-(50×E31>>8);F31=E31+(48×F30>>8);
/阶段7
Y0=D0;Y1=E24;Y2=E12;Y3=-F16;Y4=D4;Y5=F31;Y6=E8;Y7=-E26;Y8=D2;Y9=E21;Y10=E15;Y11=F29;Y12=E5;Y13=-F18;Y14=D13;Y15=D22;Y16=0;Y17=0;Y18=0;Y19=0;Y20=0;Y21=0;Y22=0;Y23=0;Y24=0;Y25=0;Y26=0;Y27=0;Y28=0;Y29=0;Y30=0;Y31=0;
}
例如,频率变换单元230通过将32×32输入块的64列中的每一列应用为输入值X0至X31来重复32次以上所述的点变换,以产生16×32中间值矩阵,并通过将构成16×32中间值矩阵的16行应用为输入值X0至X31来重复16次以上所述的点变换,以获得低频带的16×16变换矩阵。
图7是示出根据本发明的实施例的图像变换方法的流程图。
参照图7,在操作710,频率区域选择单元210选择用于针对M×N(其中,M和N是正整数)输入块的频率变换的预定频率区域。如上所述,由于频率变换,变换块的能量被累积到低频带,因此频率区域选择单元210可选择低频带。
在操作720,截断变换矩阵获得单元220通过在针对M×N输入块的频率变换中使用的M×N变换矩阵的元素之中选择用于产生与选择的频带相应的变换系数的元素,来获得截断变换矩阵。例如,为了获得在低频带中的a×d变换块,截断变换矩阵获得单元220通过从M×N垂直变换矩阵选择与上面的a行相应的元素来产生a×N截断垂直变换矩阵,并通过从M×N水平变换矩阵选择与左侧的d列相应的元素来产生M×d截断水平变换矩阵。
在操作730,频率变换单元230通过将截断变换矩阵应用到M×N输入块以执行频率变换,来产生与选择的频带相应的变换系数。
根据上述的本发明的实施例,由于在变换处理中产生仅与从全部的变换块选择的频带相应的变换系数,因此仅针对选择的频带产生代表有效变换系数(即,非零变换系数)在块内的位置的显著性图。尽管仅示出了选择的低频带具有块形状的情况,但是选择的低频带的形状不限于此,并可选择低频带的各种形状(诸如,如图12b中所示的在DCT系数周围的三角形低频带)。可使用预定句法将关于选择的低频带的信息作为独立于比特流的信号被发送,或当编码端和解码端预先设置将被产生的变换系数的低频带的唯一的形状和唯一的范围时,可在没有发送特定句法的情况下仅对预先设置的低频带执行变换和反变换。
图8是根据本发明的实施例的图像解码设备800的框图。
参照图8,图像解码设备800包括熵解码器810、反量化器820、逆变换器830和预测器840。
熵编码器810从输入比特流提取将被解码的当前块的预测模式信息、参考画面信息和残差信息。
反量化器820对由熵解码器810进行了熵解码的量化的变换系数进行反量化。
逆变换器830对反量化的变换系数进行逆变换。因此,每个块的残差值被恢复。具体地,逆变换器830通过以有理数替代用于现有的逆DCT的变换矩阵的元素,根据基于整数和移位运算而非浮点运算的加法和减法来执行逆DCT,从而在提高运算速度的同时降低计算复杂性。逆变换器830还可通过使用包括通过将用于逆DCT的逆变换矩阵的元素乘以2的幂并随后对相乘后的元素进行四舍五入而获得的元素的逆变换矩阵来执行逆DCT,从而降低整体计算复杂性。逆变换器830还通过在针对M×N输入块的频率逆变换中使用的M×N逆变换矩阵的元素之中选择用于产生与预定频率区域相应的逆变换系数的元素,来获得截断逆变换矩阵,并通过使用所述截断逆变换矩阵来执行逆变换,从而减少逆变换所需的运算的数量。
预测器840经由帧间预测或帧内预测来产生当前块的预测值,并通过将产生的预测值与在逆变换器830中恢复的残差值相加来恢复当前块。
图9是根据本发明的实施例的图像逆变换设备900的框图。图9的图像逆变换设备900与图8的逆变换器830相应。
参照图9,图像逆变换设备900包括截断逆变换矩阵获得单元910和频率逆变换单元920。
截断逆变换矩阵获得单元910接收预定频带的变换块,并产生用于针对接收的变换块的逆变换的截断逆变换矩阵。例如,比特流可包括关于各种低频带形状(诸如,如图12a和图12b中所示的矩形低频带块和三角形低频带块)的信息和关于低频带的尺寸的信息,并且截断逆变换矩阵获得单元910可基于关于低频带形状的信息和关于低频带尺寸的信息,确定变换系数与包括在全部变换块中的变换系数之中的什么样的形状和什么样的频带相应。
截断逆变换矩阵获得单元910通过在针对M×N(其中,M和N是正整数)块的频率逆变换中使用的M×N逆变换矩阵之中选择用于针对与接收的变换块的频带相应的变换系数的逆变换的元素,来获得截断逆变换矩阵。M×N逆变换矩阵与M×N变换矩阵的逆矩阵相应,并可以是通过以有理数替代逆变换矩阵的元素而获得的替代的N×N逆变换矩阵,或可以是具有通过使逆变换矩阵的元素乘以2的幂次方并对相乘后的元素进行四舍五入而获得的元素的替代的N×N逆变换矩阵。当使用替代的N×N变换矩阵时,可仅使用加法、减法和移位运算来执行IDCT(逆DCT)。
频率逆变换单元920通过将截断逆变换矩阵应用于接收的预定频带的变换块对M×N变换块进行逆变换,来产生残差块。
图10是用于示出根据本发明的实施例的截断逆变换矩阵获得单元910根据接收的变换块的频带来获得截断逆变换矩阵的处理的参考示图。
参照图10,假设将进行逆变换的a×d变换块是Y1025,M×N垂直逆变换矩阵是Ci1010,并且M×N水平变换矩阵是CiT1030。a×d变换块Y1025仅包括在M×N变换块1020中所包括的变换系数中与低频带相应的变换系数,并可通过使用没有变化的M×N垂直逆变换矩阵Ci1010和M×N水平逆变换矩阵CiT1030对a×d变换块Y1025进行逆变换。因此,截断逆变换矩阵获得单元910通过使用经由分别对M×N垂直逆变换矩阵Ci1010和M×N水平逆变换矩阵CiT1030进行截断而获得的M×d截断垂直逆变换矩阵MCi1015和a×N截断水平变换矩阵MCiT1035,经由由等式MCi×Y×MCiT表示的矩阵运算,从低频带的a×d变换块Y1025来恢复M×N残差块。例如,截断逆变换矩阵获得单元910通过从M×N垂直逆变换矩阵Ci1010选择与左侧的d列相应的元素来产生N×d截断垂直逆变换矩阵MCi1015。截断逆变换矩阵获得单元910通过从M×N水平逆变换矩阵CiT1030选择与上面的a行相应的元素来产生a×N截断水平逆变换矩阵MCiT1035。例如,如图10中所示,假设M和N是16,并且a和d是8,截断逆变换矩阵获得单元910通过从16×16垂直逆变换矩阵仅选择左侧的8列来获得16×8截断垂直逆变换矩阵,并通过从16×16水平逆变换矩阵仅选择上面的8行来获得8×16截断水平逆变换矩阵,以便经由针对低频带的8×8变换块的逆变换来恢复低频带的16×16残差块。频率逆变换单元920可通过经由在16×8截断垂直逆变换矩阵、8×16截断水平逆变换矩阵和8×8变换块中的矩阵运算来执行逆变换,以产生16×16残差块。例如,通过将16×8截断垂直逆变换矩阵应用到8×8变换块来产生16×8中间值,并通过将8×16截断水平逆变换矩阵应用到16×8中间值来最终获得16×16残差块。
当M和N是32时,X0至X16指示输入值,Ai、Bi、Ci、Di、Ei、Fi和Gi(其中,i指示范围从0至31的整数)指示中间值,并且Y0至Y31指示输出值,频率逆变换单元920通过针对根据图4的流程图400而产生的低频带的16×16变换块的行方向输入值和列方向输入值重复以下点变换,来恢复32×32残差块:
{
/阶段0
G16=(12×X1)>>8;G17=(-171×X15)>>8;G18=(109×X9)>>8;G19=(-86×X7)>>8;G20=(62×X5)>>8;G21=(-131×X11)>>8;G22=(152×X13)>>8;G23=(-37×X3)>>8;G24=(253×X3)>>8;G25=(205×X13)>>8;G26=(219×X11)>>8;G27=(248×X5)>>8;G28=(241×X7)>>8;G29=(231×X9)>>8;G30=(189×X15)>>8;G31=(255×X1)>>8;
/阶段1
F8=(25×X2)>>8;F9=(-162×X14)>>8;F10=(120×X10)>>8;F11=(-74×X6)>>8;F12=(244×X6)>>8;F13=(225×X10)>>8;F14=(197×X14)>>8;F15=(254×X2)>>8;
F16=G16+G17;F17=G16-G17;F18=G19-G18;F19=G19+G18;F20=G20+G21;F21=G20-G21;F22=G23-G22;F23=G23+G22;F24=G24+G25;F25=G24-G25;F26=G27-G26;F27=G27+G26;F28=G28+G29;F29=G28-G29;F30=G31-G30;F31=G31+G30;
/阶段2
E4=(49×X4)>>8;E5=(-142×X12)>>8;E6=(212×X12)>>8;E7=(251×X4)>>8;
E8=F8+F9;E9=F8-F9;E10=F11-F10;E11=F11+F10;E12=F12+F13;E13=F12-F13;E14=F15-F14;E15=F15+F14;E17=(49×F30-251×F17)>>8;E18=(-251×F29-49×F18)>>8;E21=(212×F26-142×F21)>>8;E22=(-142×F25-212×F22)>>8;E25=(212×F25-142×F22)>>8;E26=(142×F26+212×F21)>>8;E29=(49×F29-251×F18)>>8;E30=(251×F30+49×F17)>>8;
/阶段3
D0=(181×(X0))>>8;D1=(181×(X0))>>8;D2=(97×X8)>>8;D3=(236×X8)>>8;
D4=E4+E5;D5=E4-E5;D6=E7-E6;D7=E7+E6;D9=(97×E14-236×E9)>>8;D10=(-236×E13-97×E10)>>8;D13=(97×E13-236×E10)>>8;D14=(236×E14+97×E9)>>8;D16=F16+F19;D19=F16-F19;D20=F23-F20;D23=F23+F20;D24=F24+F27;D27=F24-F27;D28=F31-F28;D31=F31+F28;D17=E17+E18;D18=E17-E18;D21=E22-E21;D22=E22+E21;D25=E25+E26;D26=E25-E26;D29=E30-E29;D30=E30+E29;
/阶段4
C0=D0+D3;C3=D0-D3;C8=E8+E11;C11=E8-E11;C12=E15-E12;C15=E15+E12;C1=D1+D2;C2=D1-D2;C9=D9+D10;C10=D9-D10;C13=D14-D13;C14=D14+D13;C5=(181×(D6-D5))>>8;C6=(181×(D6+D5))>>8;C18=(97×D29-236×D18)>>8;C20=(-236×D27-97×D20)>>8;C26=(-236×D21+97×D26)>>8;C28=(97×D19+236×D28)>>8;C19=(97×D28-236×D19)>>8;C21=(-236×D26-97×D21)>>8;C27=(-236×D20+97×D27)>>8;C29=(97×D18+236×D29)>>8;
/阶段5
B0=C0+D7;B7=C0-D7;B1=C1+C6;B6=C1-C6;B2=C2+C5;B5=C2-C5;B3=C3+D4;B4=C3-D4;B10=(181×(C13-C10))>>8;B13=(181×(C13+C10))>>8;B11=(181×(C12-C11))>>8;B12=(181×(C12+C11))>>8;B16=D16+D23;B23=D16-D23;B24=D31-D24;B31=D31+D24;B17=D17+D22;B22=D17-D22;B25=D30-D25;B30=D30+D25;B18=C18+C21;B21=C18-C21;B26=C29-C26;B29=C29+C26;B19=C19+C20;B20=C19-C20;B27=C28-C27;B28=C28+C27;
/阶段6
A0=B0+C15;A15=B0-C15;A1=B1+C14;A14=B1-C14;A2=B2+B13;A13=B2-B13;A3=B3+B12;A12=B3-B12;A4=B4+B11;A11=B4-B11;A5=B5+B10;A10=B5-B10;A6=B6+C9;A9=B6-C9;A7=B7+C8;A8=B7-C8;A20=(181×(B27-B20))>>8;A27=(181×(B27+B20))>>8;A21=(181×(B26-B21))>>8;A26=(181×(B26+B21))>>8;A22=(181×(B25-B22))>>8;A25=(181×(B25+B22))>>8;A23=(181×(B24-B23))>>8;A24=(181×(B24+B23))>>8;
/阶段7
Y0=A0+B31;Y31=A0-B31;Y1=A1+B30;Y30=A1-B30;Y2=A2+B29;Y29=A2-B29;Y3=A3+B28;Y28=A3-B28;Y4=A4+A27;Y27=A4-A27;Y5=A5+A26;Y26=A5-A26;Y6=A6+A25;Y25=A6-A25;Y7=A7+A24;Y24=A7-A24;Y8=A8+A23;Y23=A8-A23;Y9=A9+A22;Y22=A9-A22;Y10=A10+A21;Y21=A10-A21;Y11=A11+A20;Y20=A11-A20;Y12=A12+B19;Y19=A12-B19;Y13=A13+B18;Y18=A13-B18;Y14=A14+B17;Y17=A14-B17;Y15=A15+B16;Y16=A15-B16;
}
当M和N是64时,X0至X15指示输入值,Zi、Ai、Bi、Ci、Di、Ei、Fi、Gi和Hi(其中,i指示范围从0至63的整数)指示中间值,并且Y0至Y63指示输出值,频率逆变换单元920通过针对根据图4的流程图400而产生的低频带的16×16变换块的行方向输入值和列方向输入值重复以下点变换,来恢复64×64残差块:
{
/阶段0
H32=(25×X1)>>10;H33=0;H34=0;H35=(-369×X15)>>10;H36=(224×X9)>>10;H37=0;H38=0;H39=(-175×X7)>>10;H40=(125×X5)>>10;H41=0;H42=0;H43=(-273×X11)>>10;H44=(321×X13)>>10;H45=0;H46=0;H47=(-75×X3)>>10;H48=(1021×X3)>>10;H49=0;H50=0;H51=(972×X13)>>10;H52=(987×X11)>>10;H53=0;H54=0;H55=(1016×X5)>>10;H56=(1009×X7)>>10;H57=0;H58=0;H59=(999×X9)>>10;H60=(955×X15)>>10;H61=0;H62=0;H63=(1024×X1)>>10;
/阶段1
G16=(50×X2)>>10;G17=0;G18=0;G19=(-345×X14)>>10;G20=(249×X10)>>10;G21=0;G22=0;G23=(-150×X6)>>10;G24=(1013×X6)>>10;G25=0;G26=0;G27=(993×X10)>>10;G28=(964×X14)>>10;G29=0;G30=0;G31=(1023×X2)>>10;
G32=H32+H33;G33=H32-H33;G34=H35-H34;G35=H35+H34;G36=H36+H37;G37=H36-H37;G38=H39-H38;G39=H39+H38;G40=H40+H41;G41=H40-H41;G42=H43-H42;G43=H43+H42;G44=H44+H45;G45=H44-H45;G46=H47-H46;G47=H47+H46;G48=H48+H49;G49=H48-H49;G50=H51-H50;G51=H51+H50;G52=H52+H53;G53=H52-H53;G54=H55-H54;G55=H55+H54;G56=H56+H57;G57=H56-H57;G58=H59-H58;G59=H59+H58;G60=H60+H61;G61=H60-H61;G62=H63-H62;G63=H63+H62;
/阶段2
F8=(100×X4)>>10;F9=0;F10=0;F11=(-297×X12)>>10;F12=(980×X12)>>10;F13=0;F14=0;F15=(1019×X4)>>10;
F16=G16+G17;F17=G16-G17;F18=G19-G18;F19=G19+G18;F20=G20+G21;F21=G20-G21;F22=G23-G22;F23=G23+G22;F24=G24+G25;F25=G24-G25;F26=G27-G26;F27=G27+G26;F28=G28+G29;F29=G28-G29;F30=G31-G30;F31=G31+G30;F33=(100×G62-1019×G33)>>10;F34=(-1019×G61-100×G34)>>10;F37=(792×G58-650×G37)>>10;F38=(-650×G57-792×G38)>>10;F41=(483×G54-903×G41)>>10;F42=(-903×G53-483×G42)>>10;F45=(980×G50-297×G45)>>10;F46=(-297×G49-980×G46)>>10;F49=(980×G49-297×G46)>>10;F50=(297×G50+980×G45)>>10;F53=(483×G53-903×G42)>>10;F54=(903×G54+483×G41)>>10;F57=(792×G57-650×G38)>>10;F58=(650×G58+792×G37)>>10;F61=(100×G61-1019×G34)>>10;F62=(1019×G62+100×G33)>>10;
/阶段3
E4=(200×X8)>>10;E5=0;E6=0;E7=(1004×X8)>>10;
E8=F8+F9;E9=F8-F9;E10=F11-F10;E11=F11+F10;E12=F12+F13;E13=F12-F13;E14=F15-F14;E15=F15+F14;E17=(200×F30-1004×F17)>>10;E18=(-1004×F29-200×F18)>>10;E21=(851×F26-569×F21)>>10;E22=(-569×F25-851×F22)>>10;E25=(851×F25-569×F22)>>10;E26=(569×F26+851×F21)>>10;E29=(200×F29-1004×F18)>>10;E30=(1004×F30+200×F17)>>10;E32=G32+G35;E33=F33+F34;E34=F33-F34;E35=G32-G35;E36=G39-G36;E37=F38-F37;E38=F38+F37;E39=G39+G36;E40=G40+G43;E41=F41+F42;E42=F41-F42;E43=G40-G43;E44=G47-G44;E45=F46-F45;E46=F46+F45;E47=G47+G44;E48=G48+G51;E49=F49+F50;E50=F49-F50;E51=G48-G51;E52=G55-G52;E53=F54-F53;E54=F54+F53;E55=G55+G52;E56=G56+G59;E57=F57+F58;E58=F57-F58;E59=G56-G59;E60=G63-G60;E61=F62-F61;E62=F62+F61;E63=G63+G60;
/阶段4
D0=(724×(X0))>>10;D1=(724×(X0))>>10;D2=0;D3=0;
D4=E4+E5;D5=E4-E5;D6=E7-E6;D7=E7+E6;D9=(392×E14-946×E9)>>10;D10=(-946×E13-392×E10)>>10;D13=(392×E13-946×E10)>>10;D14=(946×E14+392×E9)>>10;D16=F16+F19;D19=F16-F19;D20=F23-F20;D23=F23+F20;D24=F24+F27;D27=F24-F27;D28=F31-F28;D31=F31+F28;D17=E17+E18;D18=E17-E18;D21=E22-E21;D22=E22+E21;D25=E25+E26;D26=E25-E26;D29=E30-E29;D30=E30+E29;D34=(200×E61-1004×E34)>>10;D35=(200×E60-1004×E35)>>10;D36=(-1004×E59-200×E36)>>10;D37=(-1004×E58-200×E37)>>10;D42=(851×E53-569×E42)>>10;D43=(851×E52-569×E43)>>10;D44=(-569×E51-851×E44)>>10;D45=(-569×E50-851×E45)>>10;D50=(851×E50-569×E45)>>10;D51=(851×E51-569×E44)>>10;D52=(569×E52+851×E43)>>10;D53=(569×E53+851×E42)>>10;D58=(200×E58-1004×E37)>>10;D59=(200×E59-1004×E36)>>10;D60=(1004×E60+200×E35)>>10;D61=(1004×E61+200×E34)>>10;
/阶段5
C0=D0+D3;C3=D0-D3;C8=E8+E11;C11=E8-E11;C12=E15-E12;C15=E15+E12;C1=D1+D2;C2=D1-D2;C9=D9+D10;C10=D9-D10;C13=D14-D13;C14=D14+D13;C5=(724×(D6-D5))>>10;C6=(724×(D6+D5))>>10;C18=(392×D29-946×D18)>>10;C20=(-946×D27-392×D20)>>10;C26=(-946×D21+392×D26)>>10;C28=(392×D19+946×D28)>>10;C19=(392×D28-946×D19)>>10;C21=(-946×D26-392×D21)>>10;C27=(-946×D20+392×D27)>>10;C29=(392×D18+946×D29)>>10;C32=E32+E39;C39=E32-E39;C40=E47-E40;C47=E47+E40;C48=E48+E55;C55=E48-E55;C56=E63-E56;C63=E63+E56;C33=E33+E38;C38=E33-E38;C41=E46-E41;C46=E46+E41;C49=E49+E54;C54=E49-E54;C57=E62-E57;C62=E62+E57;C34=D34+D37;C37=D34-D37;C42=D45-D42;C45=D45+D42;C50=D50+D53;C53=D50-D53;C58=D61-D58;C61=D61+D58;C35=D35+D36;C36=D35-D36;C43=D44-D43;C44=D44+D43;C51=D51+D52;C52=D51-D52;C59=D60-D59;C60=D60+D59;
/阶段6
B0=C0+D7;B7=C0-D7;B1=C1+C6;B6=C1-C6;B2=C2+C5;B5=C2-C5;B3=C3+D4;B4=C3-D4;B10=(724×(C13-C10))>>10;B13=(724×(C13+C10))>>10;B11=(724×(C12-C11))>>10;B12=(724×(C12+C11))>>10;B16=D16+D23;B23=D16-D23;B24=D31-D24;B31=D31+D24;B17=D17+D22;B22=D17-D22;B25=D30-D25;B30=D30+D25;B18=C18+C21;B21=C18-C21;B26=C29-C26;B29=C29+C26;B19=C19+C20;B20=C19-C20;B27=C28-C27;B28=C28+C27;B36=(392×C59-946×C36)>>10;B40=(-946×C55-392×C40)>>10;B52=(-946×C43+392×C52)>>10;B56=(392×C39+946×C56)>>10;B37=(392×C58-946×C37)>>10;B41=(-946×C54-392×C41)>>10;B53=(-946×C42+392×C53)>>10;B57=(392×C38+946×C57)>>10;B38=(392×C57-946×C38)>>10;B42=(-946×C53-392×C42)>>10;B54=(-946×C41+392×C54)>>10;B58=(392×C37+946×C58)>>10;B39=(392×C56-946×C39)>>10;B43=(-946×C52-392×C43)>>10;B55=(-946×C40+392×C55)>>10;B59=(392×C36+946×C59)>>10;
/阶段7
A0=B0+C15;A15=B0-C15;A1=B1+C14;A14=B1-C14;A2=B2+B13;A13=B2-B13;A3=B3+B12;A12=B3-B12;A4=B4+B11;A11=B4-B11;A5=B5+B10;A10=B5-B10;A6=B6+C9;A9=B6-C9;A7=B7+C8;A8=B7-C8;A20=(724×(B27-B20))>>10;A27=(724×(B27+B20))>>10;A21=(724×(B26-B21))>>10;A26=(724×(B26+B21))>>10;A22=(724×(B25-B22))>>10;A25=(724×(B25+B22))>>10;A23=(724×(B24-B23))>>10;A24=(724×(B24+B23))>>10;A32=C32+C47;A47=C32-C47;A48=C63-C48;A63=C63+C48;A33=C33+C46;A46=C33-C46;A49=C62-C49;A62=C62+C49;A34=C34+C45;A45=C34-C45;A50=C61-C50;A61=C61+C50;A35=C35+C44;A44=C35-C44;A51=C60-C51;A60=C60+C51;A36=B36+B43;A43=B36-B43;A52=B59-B52;A59=B59+B52;A37=B37+B42;A42=B37-B42;A53=B58-B53;A58=B58+B53;A38=B38+B41;A41=B38-B41;A54=B57-B54;A57=B57+B54;A39=B39+B40;A40=B39-B40;A55=B56-B55;A56=B56+B55;
/阶段8
Z0=A0+B31;Z31=A0-B31;Z1=A1+B30;Z30=A1-B30;Z2=A2+B29;Z29=A2-B29;Z3=A3+B28;Z28=A3-B28;Z4=A4+A27;Z27=A4-A27;Z5=A5+A26;Z26=A5-A26;Z6=A6+A25;Z25=A6-A25;Z7=A7+A24;Z24=A7-A24;Z8=A8+A23;Z23=A8-A23;Z9=A9+A22;Z22=A9-A22;Z10=A10+A21;Z21=A10-A21;Z11=A11+A20;Z20=A11-A20;Z12=A12+B19;Z19=A12-B19;Z13=A13+B18;Z18=A13-B18;Z14=A14+B17;Z17=A14-B17;Z15=A15+B16;Z16=A15-B16;Z40=(724×(A55-A40))>>10;Z55=(724×(A55+A40))>>10;Z41=(724×(A54-A41))>>10;Z54=(724×(A54+A41))>>10;Z42=(724×(A53-A42))>>10;Z53=(724×(A53+A42))>>10;Z43=(724×(A52-A43))>>10;Z52=(724×(A52+A43))>>10;Z44=(724×(A51-A44))>>10;Z51=(724×(A51+A44))>>10;Z45=(724×(A50-A45))>>10;Z50=(724×(A50+A45))>>10;Z46=(724×(A49-A46))>>10;Z49=(724×(A49+A46))>>10;Z47=(724×(A48-A47))>>10;Z48=(724×(A48+A47))>>10;
/阶段9
Y0=Z0+A63;Y63=Z0-A63;Y1=Z1+A62;Y62=Z1-A62;Y2=Z2+A61;Y61=Z2-A61;Y3=Z3+A60;Y60=Z3-A60;Y4=Z4+A59;Y59=Z4-A59;Y5=Z5+A58;Y58=Z5-A58;Y6=Z6+A57;Y57=Z6-A57;Y7=Z7+A56;Y56=Z7-A56;Y8=Z8+Z55;Y55=Z8-Z55;Y9=Z9+Z54;Y54=Z9-Z54;Y10=Z10+Z53;Y53=Z10-Z53;Y11=Z11+Z52;Y52=Z11-Z52;Y12=Z12+Z51;Y51=Z12-Z51;Y13=Z13+Z50;Y50=Z13-Z50;Y14=Z14+Z49;Y49=Z14-Z49;Y15=Z15+Z48;Y48=Z15-Z48;Y16=Z16+Z47;Y47=Z16-Z47;Y17=Z17+Z46;Y46=Z17-Z46;Y18=Z18+Z45;Y45=Z18-Z45;Y19=Z19+Z44;Y44=Z19-Z44;Y20=Z20+Z43;Y43=Z20-Z43;Y21=Z21+Z42;Y42=Z21-Z42;Y22=Z22+Z41;Y41=Z22-Z41;Y23=Z23+Z40;Y40=Z23-Z40;Y24=Z24+A39;Y39=Z24-A39;Y25=Z25+A38;Y38=Z25-A38;Y26=Z26+A37;Y37=Z26-A37;Y27=Z27+A36;Y36=Z27-A36;Y28=Z28+A35;Y35=Z28-A35;Y29=Z29+A34;Y34=Z29-A34;Y30=Z30+A33;Y33=Z30-A33;Y31=Z31+A32;Y32=Z31-A32;
}
当M和N是32时,X0至X15指示输入值,Zi、Ai、Bi、Ci、Di、Ei和Fi(其中,i指示范围从0至31的整数)指示中间值,并且Y0至Y31指示输出值,频率逆变换单元920通过针对根据图5的流程图500而产生的低频带的16×16变换块的行方向输入值和列方向输入值重复以下点变换,来恢复32×32残差块:
{
/阶段0
D0=X0;E24=X1;E12=X2;F16=-X3;D4=X4;F31=X5;E8=X6;E26=-X7;D2=X8;E21=X9;E15=X10;F29=X11;E5=X12;F18=-X13;D13=X14;D22=X15;
/阶段1
E16=(251×F16)>>8;E17=(-49×F16)>>8;E18=(212×F18)>>8;E19=(-142×F18)>>8;E28=(142×F29)>>8;E29=(212×F29)>>8;E30=(49×F31)>>8;E31=(251×F31)>>8;
/阶段2
D5=(181×(E5))>>8;D7=(181×(E5))>>8;D8=(97×E8)>>8;D9=(-236×E8)>>8;D11=(181×(-E12))>>8;D12=(181×(E12))>>8;D14=(236×E15)>>8;D15=(97×E15)>>8;D16=E16+E18;C18=E16-E18;C17=E17+E19;D19=E17-E19;D20=(-97×E21)>>8;D21=(236×E21)>>8;D23=(181×(-E24))>>8;D24=(181×(E24))>>8;D26=(236×E26)>>8;D27=(97×E26)>>8;D28=-E28+E30;C30=E28+E30;C29=-E29+E31;D31=E29+E31;
/阶段3
C0=(181×D0)>>8;C1=(181×D0)>>8;C2=(97×D2)>>8;C3=(236×D2)>>8;C4=D4+D5;C5=D4-D5;C6=D7;C7=D7;C8=D8+D14;C14=D8-D14;C9=D9+D15;C15=D9-D15;C10=D11;C11=-D11;C12=D12+D13;C13=D12-D13;C16=(181×(D16-D19))>>8;C19=(181×(D16+D19))>>8;C20=D20+D26;C26=D20-D26;C21=D21+D27;C27=D21-D27;C22=D22+D23;C23=D22-D23;C24=D24;C25=D24;C28=(181×(D28-D31))>>8;C31=(181×(D28+D31))>>8;
/阶段4
B0=C0+C3;B3=C0-C3;B1=C1+C2;B2=C1-C2;B4=(49×C4-251×C7)>>8;B7=(251×C4+49×C7)>>8;B5=(142×C5-212×C6)>>8;B6=(212×C5+142×C6)>>8;B8=C8+C11;B11=C8-C11;B9=C9+C10;B10=C9-C10;B12=C12+C15;B15=C12-C15;B13=C13+C14;B14=C13-C14;B16=C16+C28;B28=C16-C28;B17=C17+C29;B29=C17-C29;B18=C18+C30;B30=C18-C30;B19=C19+C31;B31=C19-C31;B20=C20+C23;B23=C20-C23;B21=C21+C22;B22=C21-C22;B24=C24+C27;B27=C24-C27;B25=C25+C26;B26=C25-C26;
/阶段5
A0=B0+B7;A7=B0-B7;A1=B1+B6;A6=B1-B6;A2=B2+B5;A5=B2-B5;A3=B3+B4;A4=B3-B4;A8=(197×B8-162×B15)>>8;A15=(162×B8+197×B15)>>8;A9=(120×B9+225×B14)>>8;A14=(-225×B9+120×B14)>>8;A10=(244×B10-74×B13)>>8;A13=(74×B10+244×B13)>>8;A11=(25×B11+254×B12)>>8;A12=(-254×B11+25×B12)>>8;A16=B16+B23;A23=B16-B23;A17=B17+B22;A22=B17-B22;A18=B18+B21;A21=B18-B21;A19=B19+B20;A20=B19-B20;A24=B24+B31;A31=B24-B31;A25=B25+B30;A30=B25-B30;A26=B26+B29;A29=B26-B29;A27=B27+B28;A28=B27-B28;
/阶段6
Z0=A0+A15;Z1=A1+A14;Z2=A2+A13;Z3=A3+A12;Z4=A4+A11;Z5=A5+A10;Z6=A6+A9;Z7=A7+A8;Z8=A7-A8;Z9=A6-A9;Z10=A5-A10;Z11=A4-A11;Z12=A3-A12;Z13=A2-A13;Z14=A1-A14;Z15=A0-A15;Z16=(171×A16+189×A31)>>8;Z31=(-189×A16+171×A31)>>8;Z17=(205×A17-152×A30)>>8;Z30=(152×A17+205×A30)>>8;Z18=(131×A18+219×A29)>>8;Z29=(-219×A18+131×A29)>>8;Z19=(231×A19-109×A28)>>8;Z28=(109×A19+231×A28)>>8;Z20=(86×A20+241×A27)>>8;Z27=(-241×A20+86×A27)>>8;Z21=(248×A21-62×A26)>>8;Z26=(62×A21+248×A26)>>8;Z22=(37×A22+253×A25)>>8;Z25=(-253×A22+37×A25)>>8;Z23=(255×A23-12×A24)>>8;Z24=(12×A23+255×A24)>>8;
/阶段7
Y0=Z0+Z31;Y31=Z0-Z31;Y1=Z1+Z30;Y30=Z1-Z30;Y2=Z2+Z29;Y29=Z2-Z29;Y3=Z3+Z28;Y28=Z3-Z28;Y4=Z4+Z27;Y27=Z4-Z27;Y5=Z5+Z26;Y26=Z5-Z26;Y6=Z6+Z25;Y25=Z6-Z25;Y7=Z7+Z24;Y24=Z7-Z24;Y8=Z8+Z23;Y23=Z8-Z23;Y9=Z9+Z22;Y22=Z9-Z22;Y10=Z10+Z21;Y21=Z10-Z21;Y11=Z11+Z20;Y20=Z11-Z20;Y12=Z12+Z19;Y19=Z12-Z19;Y13=Z13+Z18;Y18=Z13-Z18;Y14=Z14+Z17;Y17=Z14-Z17;Y15=Z15+Z16;Y16=Z15-Z16;
}
当M和N是32时,X0至X15指示输入值,Zi、Ai、Bi、Ci、Di、Ei和Fi(其中,i指示范围从0至31的整数)指示中间值,并且Y0至Y31指示输出值,频率逆变换单元920通过针对根据图5的流程图500而产生的低频带的16×16变换块的行方向输入值和列方向输入值重复以下点变换,来恢复32×32残差块:
{
/阶段0
D0=X0;E24=X1;E12=X2;F16=-X3;D4=X4;F31=X5;E8=X6;E26=-X7;D2=X8;E21=X9;E15=X10;F29=X11;E5=X12;F18=-X13;D13=X14;D22=X15;
/阶段1
E17=-(48×F16>>8);E16=F16+(50×E17>>8);E19=-(118×F18>>8);E18=F18+(171×E19>>8);
E29=F29;E28=(171×E29>>8);E31=F31;E30=(50×E31>>8);
/阶段2
D7=(E5>>1);D5=E5-D7;
D9=-E8;D8=-(106×D9>>8);
D12=E12;D11=-D12;
D15=(90×E15>>8);D14=E15-(106×D15>>8);
D16=E16+E18;C18=E16-E18;C17=E17+E19;D19=E17-E19;
D21=E21;D20=-(106×D21>>8);D24=E24;D23=-D24;D27=(90×E26>>8);D26=E26-(106×D27>>8);D28=-E28+E30;C30=E28+E30;C29=-E29+E31;D31=E29+E31;
/阶段3
C1=D0>>1;C0=D0-C1;
C3=D2;C2=(106×C3>>8);
C4=D4+D5;C5=D4-D5;C6=D7;C7=D7;
C8=D8+D14;C14=D8-D14;C9=D9+D15;C15=D9-D15;C10=D11;C11=-D11;C12=D12+D13;C13=D12-D13;
D16=D16-(106×D19>>8);C19=D19+(181×D16>>8);C16=D16-(106×C19>>8);C20=D20+D26;C26=D20-D26;C21=D21+D27;C27=D21-D27;C22=D22+D23;C23=D22-D23;C24=D24;C25=D24;D28=D28-(106×D31>>8);C31=D31+(181×D28>>8);C28=D28-(106×C31>>8);
/阶段4
B0=C0+C3;B3=C0-C3;B1=C1+C2;B2=C1-C2;
C4=C4-(210×C7>>8);B7=C7+(251×C4>>8);B4=C4-(210×B7>>8);C5=C5-(136×C6>>8);B6=C6+(212×C5>>8);B5=C5-(136×B6>>8);
B8=C8+C11;B11=C8-C11;B9=C9+C10;B10=C9-C10;
B12=C12+C15;B15=C12-C15;B13=C13+C14;B14=C13-C14;
B16=C16+C28;B28=C16-C28;B17=C17+C29;B29=C17-C29;B18=C18+C30;B30=C18-C30;B19=C19+C31;B31=C19-C31;
B20=C20+C23;B23=C20-C23;B21=C21+C22;B22=C21-C22;
B24=C24+C27;B27=C24-C27;B25=C25+C26;B26=C25-C26;
/阶段5
A0=B0+B7;A7=B0-B7;A1=B1+B6;A6=B1-B6;A2=B2+B5;A5=B2-B5;A3=B3+B4;A4=B3-B4;
B8=B8-(91×B15>>8);A15=B15+(162×B8>>8);A8=B8-(91×A15>>8);B9=B9+(153×B14>>8);A14=B14-(225×B9>>8);A9=B9+(153×A14>>8);B10=B10-(37×B13>>8);A13=B13+(74×B10>>8);A10=B10-(37×A13>>8);B11=B11+(232×B12>>8);A12=B12-(254×B11>>8);A11=B11+(232×A12>>8);A16=B16+B23;A23=B16-B23;A17=B17+B22;A22=B17-B22;A18=B18+B21;A21=B18-B21;A19=B19+B20;A20=B19-B20;
A24=B24+B31;A31=B24-B31;A25=B25+B30;A30=B25-B30;A26=B26+B29;A29=B26-B29;A27=B27+B28;A28=B27-B28;
/阶段6
Z0=A0+A15;Z1=A1+A14;Z2=A2+A13;Z3=A3+A12;Z4=A4+A11;Z5=A5+A10;Z6=A6+A9;Z7=A7+A8;Z8=A7-A8;Z9=A6-A9;Z10=A5-A10;Z11=A4-A11;Z12=A3-A12;Z13=A2-A13;Z14=A1-A14;Z15=A0-A15;
A16=A16+(113×A31>>8);Z31=A31-(189×A16>>8);Z16=A16+(113×Z31>>8);A17=A17-(84×A30>>8);Z30=A30+(152×A17>>8);Z17=A17-(84×Z30>>8);A18=A18+(145×A29>>8);Z29=A29-(219×A18>>8);Z18=A18+(145×Z29>>8);A19=A19-(57×A28>>8);Z28=A28+(109×A19>>8);Z19=A19-(57×Z28>>8);A20=A20+(180×A27>>8);Z27=A27-(241×A20>>8);Z20=A20+(180×Z27>>8);A21=A21-(31×A26>>8);Z26=A26+(62×A21>>8);Z21=A21-(31×Z26>>8);A22=A22+(220×A25>>8);Z25=A25-(253×A22>>8);Z22=A22+(220×Z25>>8);A23=A23-(6×A24>>8);Z24=A24+(12×A23>>8);Z23=A23-(6×Z24>>8);
/阶段7
Y0=Z0+Z31;Y31=Z0-Z31;Y1=Z1+Z30;Y30=Z1-Z30;Y2=Z2+Z29;Y29=Z2-Z29;Y3=Z3+Z28;Y28=Z3-Z28;Y4=Z4+Z27;Y27=Z4-Z27;Y5=Z5+Z26;Y26=Z5-Z26;Y6=Z6+Z25;Y25=Z6-Z25;Y7=Z7+Z24;Y24=Z7-Z24;Y8=Z8+Z23;Y23=Z8-Z23;Y9=Z9+Z22;Y22=Z9-Z22;Y10=Z10+Z21;Y21=Z10-Z21;Y11=Z11+Z20;Y20=Z11-Z20;Y12=Z12+Z19;Y19=Z12-Z19;Y13=Z13+Z18;Y18=Z13-Z18;Y14=Z14+Z17;Y17=Z14-Z17;Y15=Z15+Z16;Y16=Z15-Z16;
}
图11是示出根据本发明的实施例的图像逆变换方法的流程图。
参照图11,在操作1110,截断逆变换矩阵获得单元910仅接收在M×N(其中,M和N是正整数)块中所包括的变换系数之中的与预定频带相应的变换系数。在操作1120,截断逆变换矩阵获得单元910通过选择用于对与在针对M×N块的频率逆变换中使用的M×N逆变换矩阵的预定频带相应的变换系数进行逆变换的元素,来获得截断逆变换矩阵。如上所述,比特流可包括关于各种低频带形状(诸如,如图12a和图12b中所示的矩形低频带块和三角形低频带块)的信息和关于低频带的尺寸的信息,并且截断逆变换矩阵获得单元910可基于关于低频带形状的信息和关于低频带尺寸的信息,确定变换系数与包括在全部变换块中的变换系数之中的什么样的形状和什么样的频带相应。
当将被逆变换的变换块的尺寸是a×d时,截断逆变换矩阵获得单元910通过从M×N垂直逆变换矩阵选择与左侧的d列相应的元素来产生N×d截断垂直逆变换矩阵,并通过从M×N水平逆变换矩阵选择与上面的a行相应的元素来获得a×N截断水平逆变换矩阵。
在操作1130,频率逆变换单元920通过将截断逆变换矩阵应用到与预定频带相应的变换系数来执行频率逆变换。在以上描述的示例中,经由在a×d变换块、N×d截断垂直逆变换矩阵和a×N截断水平逆变换矩阵之中的矩阵运算来恢复M×N残差块。
还可将一个或多个示例性实施例实现为在计算机可读记录介质上的计算机可读代码。计算机可读记录介质是可存储随后可由计算机系统读取的数据的任意数据存储装置。计算机可读记录介质的示例包括只读存储器(ROM)、随机访问存储器(RAM)、CD-ROM、磁带、软盘、光数据存储装置等。还可将计算机可读记录介质分布在联网的计算机系统上,以便按分布式方式存储并执行计算机可读代码。此外,上述元件的一个或多个单元可包括执行存储在计算机可读介质中的计算机程序的处理器或微处理器。
虽然以上已示出并描述了示例性实施例,但是本领域的普通技术人员将理解:在没有脱离由权利要求限定的本发明构思的精神和范围的情况下,可在此进行形式和细节上的各种改变。

Claims (15)

1.一种图像变换方法,包括:
选择用于针对M×N输入块的频率变换的预定频率区域,其中,M和N是正整数;
通过在针对M×N输入块的频率变换中使用的M×N变换矩阵的元素之中选择用于产生与选择的频率区域相应的变换系数的元素,来获得截断变换矩阵;
通过将截断变换矩阵应用于M×N输入块来执行频率变换,以产生与选择的频率区域相应的变换系数。
2.如权利要求1所述的图像变换方法,其中,
获得截断变换矩阵的步骤包括:当用于针对M×N输入块的频率变换的a×d低频区域被选择时,其中,a指示小于M的正整数,并且d指示小于N的正整数,
从M×N垂直变换矩阵获得a×M截断垂直变换矩阵;
从M×N水平变换矩阵获得N×d截断水平变换矩阵。
3.如权利要求2所述的图像变换方法,其中,
产生变换系数的步骤包括:当将表示M×N输入块的矩阵称为X,将截断垂直变换矩阵称为MCf,并将截断水平变换矩阵称为MCfT时,经由由等式MCf×X×MCfT表示的矩阵运算来产生与a×d低频区域相应的变换系数。
4.一种图像逆变换方法,包括:
接收在M×N块的变换系数之中的预定频带的变换系数,其中,M和N是正整数;
通过在针对M×N块的频率逆变换中使用的M×N逆变换矩阵的元素之中选择用于针对选择的频带的变换系数进行逆变换的元素,来获得截断逆变换矩阵;
通过将截断逆变换矩阵应用于选择的频带的变换系数来执行频率逆变换,以恢复M×N块。
5.如权利要求4所述的图像逆变换方法,其中,预定频带的形状是矩形或三角形。
6.如权利要求5所述的图像逆变换方法,还包括:从比特流提取预定频带的形状信息和预定频带的尺寸信息。
7.如权利要求4所述的图像逆变换方法,其中,
获得截断逆变换矩阵的步骤包括:当预定频带的变换系数是在M×N块的变换系数之中位于M×N块的最左侧位置的a×d低频带的变换系数时,其中,a指示小于M的正整数,并且d指示小于N的正整数,
从M×N垂直逆变换矩阵获得M×a截断垂直逆变换矩阵;
从M×N水平逆变换矩阵获得a×N截断水平逆变换矩阵。
8.如权利要求7所述的图像逆变换方法,其中,恢复M×N块的步骤包括:当表示a×d低频带的变换系数的矩阵是X,截断垂直逆变换矩阵是MCi,并且截断水平变换矩阵是IMCfT时,经由由等式MCi×X×MCfT表示的矩阵运算来恢复M×N块。
9.如权利要求4所述的图像逆变换方法,其中,M×N逆变换矩阵是通过以有理数替代在一维(1D)IDCT(逆DCT)中使用的M×N逆变换矩阵的元素之中的基于三角函数的值而获得的逆变换矩阵。
10.如权利要求4所述的逆变换方法,其中,经由替代包括于使用逆变换矩阵的变换处理中的乘法的移位运算、加法和减法来执行M×N块的恢复。
11.如权利要求10所述的图像逆变换方法,其中,当M和N是32,a和d是16,X0至X15指示将被逆变换的输入值,Ai、Bi、Ci、Di、Ei、Fi和Gi指示中间值,并且Y0至Y31指示输出值时,通过针对16×16输入块的行方向输入值和列方向输入值重复以下点逆变换来执行M×N块的恢复,其中i指示范围从0至31的整数:
{
/阶段0
G16=(12×X1)>>8;G17=(-171×X15)>>8;G18=(109×X9)>>8;G19=(-86×X7)>>8;G20=(62×X5)>>8;G21=(-131×X11)>>8;G22=(152×X13)>>8;G23=(-37×X3)>>8;G24=(253×X3)>>8;G25=(205×X13)>>8;G26=(219×X11)>>8;G27=(248×X5)>>8;G28=(241×X7)>>8;G29=(231×X9)>>8;G30=(189×X15)>>8;G31=(255×X1)>>8;
/阶段1
F8=(25×X2)>>8;F9=(-162×X14)>>8;F10=(120×X10)>>8;F11=(-74×X6)>>8;F12=(244×X6)>>8;F13=(225×X10)>>8;F14=(197×X14)>>8;F15=(254×X2)>>8;
F16=G16+G17;F17=G16-G17;F18=G19-G18;F19=G19+G18;F20=G20+G21;F21=G20-G21;F22=G23-G22;F23=G23+G22;F24=G24+G25;F25=G24-G25;F26=G27-G26;F27=G27+G26;F28=G28+G29;F29=G28-G29;F30=G31-G30;F31=G31+G30;
/阶段2
E4=(49×X4)>>8;E5=(-142×X12)>>8;E6=(212×X12)>>8;E7=(251×X4)>>8;
E8=F8+F9;E9=F8-F9;E10=F11-F10;E11=F11+F10;E12=F12+F13;E13=F12-F13;E14=F15-F14;E15=F15+F14;E17=(49×F30-251×F17)>>8;E18=(-251×F29-49×F18)>>8;E21=(212×F26-142×F21)>>8;E22=(-142×F25-212×F22)>>8;E25=(212×F25-142×F22)>>8;E26=(142×F26+212×F21)>>8;E29=(49×F29-251×F18)>>8;E30=(251×F30+49×F17)>>8;
/阶段3
D0=(181×(X0))>>8;D1=(181×(X0))>>8;D2=(97×X8)>>8;D3=(236×X8)>>8;
D4=E4+E5;D5=E4-E5;D6=E7-E6;D7=E7+E6;D9=(97×E14-236×E9)>>8;D10=(-236×E13-97×E10)>>8;D13=(97×E13-236×E10)>>8;D14=(236×E14+97×E9)>>8;D16=F16+F19;D19=F16-F19;D20=F23-F20;D23=F23+F20;D24=F24+F27;D27=F24-F27;D28=F31-F28;D31=F31+F28;D17=E17+E18;D18=E17-E18;D21=E22-E21;D22=E22+E21;D25=E25+E26;D26=E25-E26;D29=E30-E29;D30=E30+E29;
/阶段4
C0=D0+D3;C3=D0-D3;C8=E8+E11;C11=E8-E11;C12=E15-E12;C15=E15+E12;C1=D1+D2;C2=D1-D2;C9=D9+D10;C10=D9-D10;C13=D14-D13;C14=D14+D13;C5=(181×(D6-D5))>>8;C6=(181×(D6+D5))>>8;C18=(97×D29-236×D18)>>8;C20=(-236×D27-97×D20)>>8;C26=(-236×D21+97×D26)>>8;C28=(97×D19+236×D28)>>8;C19=(97×D28-236×D19)>>8;C21=(-236×D26-97×D21)>>8;C27=(-236×D20+97×D27)>>8;C29=(97×D18+236×D29)>>8;
/阶段5
B0=C0+D7;B7=C0-D7;B1=C1+C6;B6=C1-C6;B2=C2+C5;B5=C2-C5;B3=C3+D4;B4=C3-D4;B10=(181×(C13-C10))>>8;B13=(181×(C13+C10))>>8;B11=(181×(C12-C11))>>8;B12=(181×(C12+C11))>>8;B16=D16+D23;B23=D16-D23;B24=D31-D24;B31=D31+D24;B17=D17+D22;B22=D17-D22;B25=D30-D25;B30=D30+D25;B18=C18+C21;B21=C18-C21;B26=C29-C26;B29=C29+C26;B19=C19+C20;B20=C19-C20;B27=C28-C27;B28=C28+C27;
/阶段6
A0=B0+C15;A15=B0-C15;A1=B1+C14;A14=B1-C14;A2=B2+B13;A13=B2-B13;A3=B3+B12;A12=B3-B12;A4=B4+B11;A11=B4-B11;A5=B5+B10;A10=B5-B10;A6=B6+C9;A9=B6-C9;A7=B7+C8;A8=B7-C8;A20=(181×(B27-B20))>>8;A27=(181×(B27+B20))>>8;A21=(181×(B26-B21))>>8;A26=(181×(B26+B21))>>8;A22=(181×(B25-B22))>>8;A25=(181×(B25+B22))>>8;A23=(181×(B24-B23))>>8;A24=(181×(B24+B23))>>8;
/阶段7
Y0=A0+B31;Y31=A0-B31;Y1=A1+B30;Y30=A1-B30;Y2=A2+B29;Y29=A2-B29;Y3=A3+B28;Y28=A3-B28;Y4=A4+A27;Y27=A4-A27;Y5=A5+A26;Y26=A5-A26;Y6=A6+A25;Y25=A6-A25;Y7=A7+A24;Y24=A7-A24;Y8=A8+A23;Y23=A8-A23;Y9=A9+A22;Y22=A9-A22;Y10=A10+A21;Y21=A10-A21;Y11=A11+A20;Y20=A11-A20;Y12=A12+B19;Y19=A12-B19;Y13=A13+B18;Y18=A13-B18;Y14=A14+B17;Y17=A14-B17;Y15=A15+B16;Y16=A15-B16;
}
12.如权利要求10所述的图像逆变换方法,其中,当M和N是64,a和d是16,X0至X31指示将被逆变换的输入值,Ai、Bi、Ci、Di、Ei、Fi、Gi、Hi和Zi指示中间值,并且Y0至Y63指示输出值时,通过针对16×16输入块的行方向输入值和列方向输入值重复以下点逆变换来执行M×N块的恢复,其中,i指示范围从0至63的整数:
{
/阶段0
H32=(25×X1)>>10;H33=0;H34=0;H35=(-369×X15)>>10;H36=(224×X9)>>10;H37=0;H38=0;H39=(-175×X7)>>10;H40=(125×X5)>>10;H41=0;H42=0;H43=(-273×X11)>>10;H44=(321×X13)>>10;H45=0;H46=0;H47=(-75×X3)>>10;H48=(1021×X3)>>10;H49=0;H50=0;H51=(972×X13)>>10;H52=(987×X11)>>10;H53=0;H54=0;H55=(1016×X5)>>10;H56=(1009×X7)>>10;H57=0;H58=0;H59=(999×X9)>>10;H60=(955×X15)>>10;H61=0;H62=0;H63=(1024×X1)>>10;
/阶段1
G16=(50×X2)>>10;G17=0;G18=0;G19=(-345×X14)>>10;G20=(249×X10)>>10;G21=0;G22=0;G23=(-150×X6)>>10;G24=(1013×X6)>>10;G25=0;G26=0;G27=(993×X10)>>10;G28=(964×X14)>>10;G29=0;G30=0;G31=(1023×X2)>>10;
G32=H32+H33;G33=H32-H33;G34=H35-H34;G35=H35+H34;G36=H36+H37;G37=H36-H37;G38=H39-H38;G39=H39+H38;G40=H40+H41;G41=H40-H41;G42=H43-H42;G43=H43+H42;G44=H44+H45;G45=H44-H45;G46=H47-H46;G47=H47+H46;G48=H48+H49;G49=H48-H49;G50=H51-H50;G51=H51+H50;G52=H52+H53;G53=H52-H53;G54=H55-H54;G55=H55+H54;G56=H56+H57;G57=H56-H57;G58=H59-H58;G59=H59+H58;G60=H60+H61;G61=H60-H61;G62=H63-H62;G63=H63+H62;
/阶段2
F8=(100×X4)>>10;F9=0;F10=0;F11=(-297×X12)>>10;F12=(980×X12)>>10;F13=0;F14=0;F15=(1019×X4)>>10;
F16=G16+G17;F17=G16-G17;F18=G19-G18;F19=G19+G18;F20=G20+G21;F21=G20-G21;F22=G23-G22;F23=G23+G22;F24=G24+G25;F25=G24-G25;F26=G27-G26;F27=G27+G26;F28=G28+G29;F29=G28-G29;F30=G31-G30;F31=G31+G30;F33=(100×G62-1019×G33)>>10;F34=(-1019×G61-100×G34)>>10;F37=(792×G58-650×G37)>>10;F38=(-650×G57-792×G38)>>10;F41=(483×G54-903×G41)>>10;F42=(-903×G53-483×G42)>>10;F45=(980×G50-297×G45)>>10;F46=(-297×G49-980×G46)>>10;F49=(980×G49-297×G46)>>10;F50=(297×G50+980×G45)>>10;F53=(483×G53-903×G42)>>10;F54=(903×G54+483×G41)>>10;F57=(792×G57-650×G38)>>10;F58=(650×G58+792×G37)>>10;F61=(100×G61-1019×G34)>>10;F62=(1019×G62+100×G33)>>10;
/阶段3
E4=(200×X8)>>10;E5=0;E6=0;E7=(1004×X8)>>10;
E8=F8+F9;E9=F8-F9;E10=F11-F10;E11=F11+F10;E12=F12+F13;E13=F12-F13;E14=F15-F14;E15=F15+F14;E17=(200×F30-1004×F17)>>10;E18=(-1004×F29-200×F18)>>10;E21=(851×F26-569×F21)>>10;E22=(-569×F25-851×F22)>>10;E25=(851×F25-569×F22)>>10;E26=(569×F26+851×F21)>>10;E29=(200×F29-1004×F18)>>10;E30=(1004×F30+200×F17)>>10;E32=G32+G35;E33=F33+F34;E34=F33-F34;E35=G32-G35;E36=G39-G36;E37=F38-F37;E38=F38+F37;E39=G39+G36;E40=G40+G43;E41=F41+F42;E42=F41-F42;E43=G40-G43;E44=G47-G44;E45=F46-F45;E46=F46+F45;E47=G47+G44;E48=G48+G51;E49=F49+F50;E50=F49-F50;E51=G48-G51;E52=G55-G52;E53=F54-F53;E54=F54+F53;E55=G55+G52;E56=G56+G59;E57=F57+F58;E58=F57-F58;E59=G56-G59;E60=G63-G60;E61=F62-F61;E62=F62+F61;E63=G63+G60;
/阶段4
D0=(724×(X0))>>10;D1=(724×(X0))>>10;D2=0;D3=0;D4=E4+E5;D5=E4-E5;D6=E7-E6;D7=E7+E6;D9=(392×E14-946×E9)>>10;D10=(-946×E13-392×E10)>>10;D13=(392×E13-946×E10)>>10;D14=(946×E14+392×E9)>>10;D16=F16+F19;D19=F16-F19;D20=F23-F20;D23=F23+F20;D24=F24+F27;D27=F24-F27;D28=F31-F28;D31=F31+F28;D17=E17+E18;D18=E17-E18;D21=E22-E21;D22=E22+E21;D25=E25+E26;D26=E25-E26;D29=E30-E29;D30=E30+E29;D34=(200×E61-1004×E34)>>10;D35=(200×E60-1004×E35)>>10;D36=(-1004×E59-200×E36)>>10;D37=(-1004×E58-200×E37)>>10;D42=(851×E53-569×E42)>>10;D43=(851×E52-569×E43)>>10;D44=(-569×E51-851×E44)>>10;D45=(-569×E50-851×E45)>>10;D50=(851×E50-569×E45)>>10;D51=(851×E51-569×E44)>>10;D52=(569×E52+851×E43)>>10;D53=(569×E53+851×E42)>>10;D58=(200×E58-1004×E37)>>10;D59=(200×E59-1004×E36)>>10;D60=(1004×E60+200×E35)>>10;D61=(1004×E61+200×E34)>>10;
/阶段5
C0=D0+D3;C3=D0-D3;C8=E8+E11;C11=E8-E11;C12=E15-E12;C15=E15+E12;C1=D1+D2;C2=D1-D2;C9=D9+D10;C10=D9-D10;C13=D14-D13;C14=D14+D13;C5=(724×(D6-D5))>>10;C6=(724×(D6+D5))>>10;C18=(392×D29-946×D18)>>10;C20=(-946×D27-392×D20)>>10;C26=(-946×D21+392×D26)>>10;C28=(392×D19+946×D28)>>10;C19=(392×D28-946×D19)>>10;C21=(-946×D26-392×D21)>>10;C27=(-946×D20+392×D27)>>10;C29=(392×D18+946×D29)>>10;C32=E32+E39;C39=E32-E39;C40=E47-E40;C47=E47+E40;C48=E48+E55;C55=E48-E55;C56=E63-E56;C63=E63+E56;C33=E33+E38;C38=E33-E38;C41=E46-E41;C46=E46+E41;C49=E49+E54;C54=E49-E54;C57=E62-E57;C62=E62+E57;C34=D34+D37;C37=D34-D37;C42=D45-D42;C45=D45+D42;C50=D50+D53;C53=D50-D53;C58=D61-D58;C61=D61+D58;C35=D35+D36;C36=D35-D36;C43=D44-D43;C44=D44+D43;C51=D51+D52;C52=D51-D52;C59=D60-D59;C60=D60+D59;
/阶段6
B0=C0+D7;B7=C0-D7;B1=C1+C6;B6=C1-C6;B2=C2+C5;B5=C2-C5;B3=C3+D4;B4=C3-D4;B10=(724×(C13-C10))>>10;B13=(724×(C13+C10))>>10;B11=(724×(C12-C11))>>10;B12=(724×(C12+C11))>>10;B16=D16+D23;B23=D16-D23;B24=D31-D24;B31=D31+D24;B17=D17+D22;B22=D17-D22;B25=D30-D25;B30=D30+D25;B18=C18+C21;B21=C18-C21;B26=C29-C26;B29=C29+C26;B19=C19+C20;B20=C19-C20;B27=C28-C27;B28=C28+C27;B36=(392×C59-946×C36)>>10;B40=(-946×C55-392×C40)>>10;B52=(-946×C43+392×C52)>>10;B56=(392×C39+946×C56)>>10;B37=(392×C58-946×C37)>>10;B41=(-946×C54-392×C41)>>10;B53=(-946×C42+392×C53)>>10;B57=(392×C38+946×C57)>>10;B38=(392×C57-946×C38)>>10;B42=(-946×C53-392×C42)>>10;B54=(-946×C41+392×C54)>>10;B58=(392×C37+946×C58)>>10;B39=(392×C56-946×C39)>>10;B43=(-946×C52-392×C43)>>10;B55=(-946×C40+392×C55)>>10;B59=(392×C36+946×C59)>>10;
/阶段7
A0=B0+C15;A15=B0-C15;A1=B1+C14;A14=B1-C14;A2=B2+B13;A13=B2-B13;A3=B3+B12;A12=B3-B12;A4=B4+B11;A11=B4-B11;A5=B5+B10;A10=B5-B10;A6=B6+C9;A9=B6-C9;A7=B7+C8;A8=B7-C8;A20=(724×(B27-B20))>>10;A27=(724×(B27+B20))>>10;A21=(724×(B26-B21))>>10;A26=(724×(B26+B21))>>10;A22=(724×(B25-B22))>>10;A25=(724×(B25+B22))>>10;A23=(724×(B24-B23))>>10;A24=(724×(B24+B23))>>10;A32=C32+C47;A47=C32-C47;A48=C63-C48;A63=C63+C48;A33=C33+C46;A46=C33-C46;A49=C62-C49;A62=C62+C49;A34=C34+C45;A45=C34-C45;A50=C61-C50;A61=C61+C50;A35=C35+C44;A44=C35-C44;A51=C60-C51;A60=C60+C51;A36=B36+B43;A43=B36-B43;A52=B59-B52;A59=B59+B52;A37=B37+B42;A42=B37-B42;A53=B58-B53;A58=B58+B53;A38=B38+B41;A41=B38-B41;A54=B57-B54;A57=B57+B54;A39=B39+B40;A40=B39-B40;A55=B56-B55;A56=B56+B55;
/阶段8
Z0=A0+B31;Z31=A0-B31;Z1=A1+B30;Z30=A1-B30;Z2=A2+B29;Z29=A2-B29;Z3=A3+B28;Z28=A3-B28;Z4=A4+A27;Z27=A4-A27;Z5=A5+A26;Z26=A5-A26;Z6=A6+A25;Z25=A6-A25;Z7=A7+A24;Z24=A7-A24;Z8=A8+A23;Z23=A8-A23;Z9=A9+A22;Z22=A9-A22;Z10=A10+A21;Z21=A10-A21;Z11=A11+A20;Z20=A11-A20;Z12=A12+B19;Z19=A12-B19;Z13=A13+B18;Z18=A13-B18;Z14=A14+B17;Z17=A14-B17;Z15=A15+B16;Z16=A15-B16;Z40=(724×(A55-A40))>>10;Z55=(724×(A55+A40))>>10;Z41=(724×(A54-A41))>>10;Z54=(724×(A54+A41))>>10;Z42=(724×(A53-A42))>>10;Z53=(724×(A53+A42))>>10;Z43=(724×(A52-A43))>>10;Z52=(724×(A52+A43))>>10;Z44=(724×(A51-A44))>>10;Z51=(724×(A51+A44))>>10;Z45=(724×(A50-A45))>>10;Z50=(724×(A50+A45))>>10;Z46=(724×(A49-A46))>>10;Z49=(724×(A49+A46))>>10;Z47=(724×(A48-A47))>>10;Z48=(724×(A48+A47))>>10;
/阶段9
Y0=Z0+A63;Y63=Z0-A63;Y1=Z1+A62;Y62=Z1-A62;Y2=Z2+A61;Y61=Z2-A61;Y3=Z3+A60;Y60=Z3-A60;Y4=Z4+A59;Y59=Z4-A59;Y5=Z5+A58;Y58=Z5-A58;Y6=Z6+A57;Y57=Z6-A57;Y7=Z7+A56;Y56=Z7-A56;Y8=Z8+Z55;Y55=Z8-Z55;Y9=Z9+Z54;Y54=Z9-Z54;Y10=Z10+Z53;Y53=Z10-Z53;Y11=Z11+Z52;Y52=Z11-Z52;Y12=Z12+Z51;Y51=Z12-Z51;Y13=Z13+Z50;Y50=Z13-Z50;Y14=Z14+Z49;Y49=Z14-Z49;Y15=Z15+Z48;Y48=Z15-Z48;Y16=Z16+Z47;Y47=Z16-Z47;Y17=Z17+Z46;Y46=Z17-Z46;Y18=Z18+Z45;Y45=Z18-Z45;Y19=Z19+Z44;Y44=Z19-Z44;Y20=Z20+Z43;Y43=Z20-Z43;Y21=Z21+Z42;Y42=Z21-Z42;Y22=Z22+Z41;Y41=Z22-Z41;Y23=Z23+Z40;Y40=Z23-Z40;Y24=Z24+A39;Y39=Z24-A39;Y25=Z25+A38;Y38=Z25-A38;Y26=Z26+A37;Y37=Z26-A37;Y27=Z27+A36;Y36=Z27-A36;Y28=Z28+A35;Y35=Z28-A35;Y29=Z29+A34;Y34=Z29-A34;Y30=Z30+A33;Y33=Z30-A33;Y31=Z31+A32;Y32=Z31-A32;
}
13.如权利要求10所述的图像逆变换方法,其中,当M和N是32,a和d是16,X0至X15指示将被逆变换的输入值,Ai、Bi、Ci、Di、Ei、Fi和Zi指示中间值,并且Y0至Y63指示输出值时,通过针对16×16输入块的行方向输入值和列方向输入值重复以下点逆变换来执行M×N块的恢复,其中,i指示范围从0至31的整数:
{
/阶段0
D0=X0;E24=X1;E12=X2;F16=-X3;D4=X4;F31=X5;E8=X6;E26=-X7;D2=X8;E21=X9;E15=X10;F29=X11;E5=X12;F18=-X13;D13=X14;D22=X15;
/阶段1
E16=(251×F16)>>8;E17=(-49×F16)>>8;E18=(212×F18)>>8;E19=(-142×F18)>>8;E28=(142×F29)>>8;E29=(212×F29)>>8;E30=(49×F31)>>8;E31=(251×F31)>>8;
/阶段2
D5=(181×(E5))>>8;D7=(181×(E5))>>8;D8=(97×E8)>>8;D9=(-236×E8)>>8;D11=(181×(-E12))>>8;D12=(181×(E12))>>8;D14=(236×E15)>>8;D15=(97×E15)>>8;D16=E16+E18;C18=E16-E18;C17=E17+E19;D19=E17-E19;D20=(-97×E21)>>8;D21=(236×E21)>>8;D23=(181×(-E24))>>8;D24=(181×(E24))>>8;D26=(236×E26)>>8;D27=(97×E26)>>8;D28=-E28+E30;C30=E28+E30;C29=-E29+E31;D31=E29+E31;
/阶段3
C0=(181×D0)>>8;C1=(181×D0)>>8;C2=(97×D2)>>8;C3=(236×D2)>>8;C4=D4+D5;C5=D4-D5;C6=D7;C7=D7;C8=D8+D14;C14=D8-D14;C9=D9+D15;C15=D9-D15;C10=D11;C11=-D11;C12=D12+D13;C13=D12-D13;C16=(181×(D16-D19))>>8;C19=(181×(D16+D19))>>8;C20=D20+D26;C26=D20-D26;C21=D21+D27;C27=D21-D27;C22=D22+D23;C23=D22-D23;C24=D24;C25=D24;C28=(181×(D28-D31))>>8;C31=(181×(D28+D31))>>8;
/阶段4
B0=C0+C3;B3=C0-C3;B1=C1+C2;B2=C1-C2;B4=(49×C4-251×C7)>>8;B7=(251×C4+49×C7)>>8;B5=(142×C5-212×C6)>>8;B6=(212×C5+142×C6)>>8;B8=C8+C11;B11=C8-C11;B9=C9+C10;B10=C9-C10;B12=C12+C15;B15=C12-C15;B13=C13+C14;B14=C13-C14;B16=C16+C28;B28=C16-C28;B17=C17+C29;B29=C17-C29;B18=C18+C30;B30=C18-C30;B19=C19+C31;B31=C19-C31;B20=C20+C23;B23=C20-C23;B21=C21+C22;B22=C21-C22;B24=C24+C27;B27=C24-C27;B25=C25+C26;B26=C25-C26;
/阶段5
A0=B0+B7;A7=B0-B7;A1=B1+B6;A6=B1-B6;A2=B2+B5;A5=B2-B5;A3=B3+B4;A4=B3-B4;A8=(197×B8-162×B15)>>8;A15=(162×B8+197×B15)>>8;A9=(120×B9+225×B14)>>8;A14=(-225×B9+120×B14)>>8;A10=(244×B10-74×B13)>>8;A13=(74×B10+244×B13)>>8;A11=(25×B11+254×B12)>>8;A12=(-254×B11+25×B12)>>8;A16=B16+B23;A23=B16-B23;A17=B17+B22;A22=B17-B22;A18=B18+B21;A21=B18-B21;A19=B19+B20;A20=B19-B20;A24=B24+B31;A31=B24-B31;A25=B25+B30;A30=B25-B30;A26=B26+B29;A29=B26-B29;A27=B27+B28;A28=B27-B28;
/阶段6
Z0=A0+A15;Z1=A1+A14;Z2=A2+A13;Z3=A3+A12;Z4=A4+A11;Z5=A5+A10;Z6=A6+A9;Z7=A7+A8;Z8=A7-A8;Z9=A6-A9;Z10=A5-A10;Z11=A4-A11;Z12=A3-A12;Z13=A2-A13;Z14=A1-A14;Z15=A0-A15;Z16=(171×A16+189×A31)>>8;Z31=(-189×A16+171×A31)>>8;Z17=(205×A17-152×A30)>>8;Z30=(152×A17+205×A30)>>8;Z18=(131×A18+219×A29)>>8;Z29=(-219×A18+131×A29)>>8;Z19=(231×A19-109×A28)>>8;Z28=(109×A19+231×A28)>>8;Z20=(86×A20+241×A27)>>8;Z27=(-241×A20+86×A27)>>8;Z21=(248×A21-62×A26)>>8;Z26=(62×A21+248×A26)>>8;Z22=(37×A22+253×A25)>>8;Z25=(-253×A22+37×A25)>>8;Z23=(255×A23-12×A24)>>8;Z24=(12×A23+255×A24)>>8;
/阶段7
Y0=Z0+Z31;Y31=Z0-Z31;Y1=Z1+Z30;Y30=Z1-Z30;Y2=Z2+Z29;Y29=Z2-Z29;Y3=Z3+Z28;Y28=Z3-Z28;Y4=Z4+Z27;Y27=Z4-Z27;Y5=Z5+Z26;Y26=Z5-Z26;Y6=Z6+Z25;Y25=Z6-Z25;Y7=Z7+Z24;Y24=Z7-Z24;Y8=Z8+Z23;Y23=Z8-Z23;Y9=Z9+Z22;Y22=Z9-Z22;Y10=Z10+Z21;Y21=Z10-Z21;Y11=Z11+Z20;Y20=Z11-Z20;Y12=Z12+Z19;Y19=Z12-Z19;Y13=Z13+Z18;Y18=Z13-Z18;Y14=Z14+Z17;Y17=Z14-Z17;Y15=Z15+Z16;Y16=Z15-Z16;
}
14.如权利要求10所述的图像逆变换方法,其中,当M和N是32,a和d是16,X0至X31指示将被逆变换的输入值,Ai、Bi、Ci、Di、Ei、Fi和Zi指示中间值,并且Y0至Y32指示输出值时,通过针对16×16输入块的行方向输入值和列方向输入值重复以下点逆变换来执行M×N块的恢复,其中,i指示范围从0至31的整数:
{
/阶段0
D0=X0;E24=X1;E12=X2;F16=-X3;D4=X4;F31=X5;E8=X6;E26=-X7;D2=X8;E21=X9;E15=X10;F29=X11;E5=X12;F18=-X13;D13=X14;D22=X15;
/阶段1
E17=-(48×F16>>8);E16=F16+(50×E17>>8);E19=-(118×F18>>8);E18=F18+(171×E19>>8);
E29=F29;E28=(171×E29>>8);E31=F31;E30=(50×E31>>8);
/阶段2
D7=(E5>>1);D5=E5-D7;
D9=-E8;D8=-(106×D9>>8);
D12=E12;D11=-D12;
D15=(90×E15>>8);D14=E15-(106×D15>>8);
D16=E16+E18;C18=E16-E18;C17=E17+E19;D19=E17-E19;
D21=E21;D20=-(106×D21>>8);D24=E24;D23=-D24;D27=(90×E26>>8);D26=E26-(106×D27>>8);D28=-E28+E30;C30=E28+E30;C29=-E29+E31;D31=E29+E31;
/阶段3
C1=D0>>1;C0=D0-C1;
C3=D2;C2=(106×C3>>8);
C4=D4+D5;C5=D4-D5;C6=D7;C7=D7;
C8=D8+D14;C14=D8-D14;C9=D9+D15;C15=D9-D15;C10=D11;C11=-D11;C12=D12+D13;C13=D12-D13;
D16=D16-(106×D19>>8);C19=D19+(181×D16>>8);C16=D16-(106×C19>>8);C20=D20+D26;C26=D20-D26;C21=D21+D27;C27=D21-D27;C22=D22+D23;C23=D22-D23;C24=D24;C25=D24;D28=D28-(106×D31>>8);C31=D31+(181×D28>>8);C28=D28-(106×C31>>8);
/阶段4
B0=C0+C3;B3=C0-C3;B1=C1+C2;B2=C1-C2;
C4=C4-(210×C7>>8);B7=C7+(251×C4>>8);B4=C4-(210×B7>>8);C5=C5-(136×C6>>8);B6=C6+(212×C5>>8);B5=C5-(136×B6>>8);
B8=C8+C11;B11=C8-C11;B9=C9+C10;B10=C9-C10;
B12=C12+C15;B15=C12-C15;B13=C13+C14;B14=C13-C14;
B16=C16+C28;B28=C16-C28;B17=C17+C29;B29=C17-C29;B18=C18+C30;B30=C18-C30;B19=C19+C31;B31=C19-C31;
B20=C20+C23;B23=C20-C23;B21=C21+C22;B22=C21-C22;
B24=C24+C27;B27=C24-C27;B25=C25+C26;B26=C25-C26;
/阶段5
A0=B0+B7;A7=B0-B7;A1=B1+B6;A6=B1-B6;A2=B2+B5;A5=B2-B5;A3=B3+B4;A4=B3-B4;
B8=B8-(91×B15>>8);A15=B15+(162×B8>>8);A8=B8-(91×A15>>8);B9=B9+(153×B14>>8);A14=B14-(225×B9>>8);A9=B9+(153×A14>>8);B10=B10-(37×B13>>8);A13=B13+(74×B10>>8);A10=B10-(37×A13>>8);B11=B11+(232×B12>>8);A12=B12-(254×B11>>8);A11=B11+(232×A12>>8);A16=B16+B23;A23=B16-B23;A17=B17+B22;A22=B17-B22;A18=B18+B21;A21=B18-B21;A19=B19+B20;A20=B19-B20;
A24=B24+B31;A31=B24-B31;A25=B25+B30;A30=B25-B30;A26=B26+B29;A29=B26-B29;A27=B27+B28;A28=B27-B28;
/阶段6
Z0=A0+A15;Z1=A1+A14;Z2=A2+A13;Z3=A3+A12;Z4=A4+A11;Z5=A5+A10;Z6=A6+A9;Z7=A7+A8;Z8=A7-A8;Z9=A6-A9;Z10=A5-A10;Z11=A4-A11;Z12=A3-A12;Z13=A2-A13;Z14=A1-A14;Z15=A0-A15;
A16=A16+(113×A31>>8);Z31=A31-(189×A16>>8);Z16=A16+(113×Z31>>8);A17=A17-(84×A30>>8);Z30=A30+(152×A17>>8);Z17=A17-(84×Z30>>8);A18=A18+(145×A29>>8);Z29=A29-(219×A18>>8);Z18=A18+(145×Z29>>8);A19=A19-(57×A28>>8);Z28=A28+(109×A19>>8);Z19=A19-(57×Z28>>8);A20=A20+(180×A27>>8);Z27=A27-(241×A20>>8);Z20=A20+(180×Z27>>8);A21=A21-(31×A26>>8);Z26=A26+(62×A21>>8);Z21=A21-(31×Z26>>8);A22=A22+(220×A25>>8);Z25=A25-(253×A22>>8);Z22=A22+(220×Z25>>8);A23=A23-(6×A24>>8);Z24=A24+(12×A23>>8);Z23=A23-(6×Z24>>8);
/阶段7
Y0=Z0+Z31;Y31=Z0-Z31;Y1=Z1+Z30;Y30=Z1-Z30;Y2=Z2+Z29;Y29=Z2-Z29;Y3=Z3+Z28;Y28=Z3-Z28;Y4=Z4+Z27;Y27=Z4-Z27;Y5=Z5+Z26;Y26=Z5-Z26;Y6=Z6+Z25;Y25=Z6-Z25;Y7=Z7+Z24;Y24=Z7-Z24;Y8=Z8+Z23;Y23=Z8-Z23;Y9=Z9+Z22;Y22=Z9-Z22;Y10=Z10+Z21;Y21=Z10-Z21;Y11=Z11+Z20;Y20=Z11-Z20;Y12=Z12+Z19;Y19=Z12-Z19;Y13=Z13+Z18;Y18=Z13-Z18;Y14=Z14+Z17;Y17=Z14-Z17;Y15=Z15+Z16;Y16=Z15-Z16;
}
15.一种图像逆变换设备,包括:
截断逆变换矩阵获得单元,通过在针对M×N块的频率逆变换中使用的M×N逆变换矩阵的元素之中选择用于针对与预定频带相应的变换系数进行逆变换的元素,来获得截断逆变换矩阵,其中,M和N是正整数;
逆变换单元,通过将截断逆变换矩阵应用于预定频带的变换系数来执行频率逆变换以恢复M×N块。
CN2011800558826A 2010-09-28 2011-09-28 用于图像的变换的方法和装置以及用于图像的逆变换的方法和装置 Pending CN103250415A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US38711210P 2010-09-28 2010-09-28
US61/387,112 2010-09-28
PCT/KR2011/007164 WO2012044075A2 (ko) 2010-09-28 2011-09-28 영상의 변환 방법 및 장치, 역변환 방법 및 장치

Publications (1)

Publication Number Publication Date
CN103250415A true CN103250415A (zh) 2013-08-14

Family

ID=45893662

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011800558826A Pending CN103250415A (zh) 2010-09-28 2011-09-28 用于图像的变换的方法和装置以及用于图像的逆变换的方法和装置

Country Status (9)

Country Link
US (1) US20130195177A1 (zh)
EP (1) EP2624561A2 (zh)
JP (1) JP2013542664A (zh)
KR (1) KR20120032457A (zh)
CN (1) CN103250415A (zh)
AU (1) AU2011308203A1 (zh)
BR (1) BR112013007024A2 (zh)
MX (1) MX2013003017A (zh)
WO (1) WO2012044075A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111615830A (zh) * 2017-12-21 2020-09-01 Lg电子株式会社 基于选择性变换的图像编码方法和用于该方法的装置
CN111684809A (zh) * 2017-12-15 2020-09-18 Lg电子株式会社 基于变换的图像编码方法和用于该方法的装置

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8913666B2 (en) 2010-10-01 2014-12-16 Qualcomm Incorporated Entropy coding coefficients using a joint context model
US8891627B1 (en) 2011-04-18 2014-11-18 Google Inc. System and method for coding video using color segmentation
JP2013051522A (ja) * 2011-08-30 2013-03-14 Honda Elesys Co Ltd 画像圧縮装置、画像圧縮方法および画像圧縮プログラム
US9516345B2 (en) 2014-03-17 2016-12-06 Qualcomm Incorporated Systems and methods for low complexity forward transforms using mesh-based calculations
US9432696B2 (en) 2014-03-17 2016-08-30 Qualcomm Incorporated Systems and methods for low complexity forward transforms using zeroed-out coefficients
US9392272B1 (en) 2014-06-02 2016-07-12 Google Inc. Video coding using adaptive source variance based partitioning
US9578324B1 (en) 2014-06-27 2017-02-21 Google Inc. Video coding using statistical-based spatially differentiated partitioning
US9998746B2 (en) 2016-02-10 2018-06-12 Amazon Technologies, Inc. Video decoder memory optimization
US10305717B2 (en) 2016-02-26 2019-05-28 VertoCOMM, Inc. Devices and methods using the hermetic transform for transmitting and receiving signals using multi-channel signaling
FR3050598B1 (fr) * 2016-04-26 2020-11-06 Bcom Procede de decodage d'une image numerique, procede de codage, dispositifs, et programmes d'ordinateurs associes
MX2020006313A (es) 2017-12-15 2020-09-18 Lg Electronics Inc Metodo de codificacion de imagenes basado en transformacion secundaria no separable y dispositivo para el mismo.
EP3761642A4 (en) 2018-04-01 2021-04-14 LG Electronics Inc. METHOD AND APPARATUS FOR PROCESSING A VIDEO SIGNAL VIA THE APPLICATION OF A SECONDARY TRANSFORM ON A PARTITIONED BLOCK
WO2019194504A1 (ko) * 2018-04-01 2019-10-10 엘지전자 주식회사 축소된 2차 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
JP7245323B2 (ja) 2018-09-23 2023-03-23 エルジー エレクトロニクス インコーポレイティド ビデオ信号の符号化/復号化方法及びそのための装置
WO2020145720A1 (ko) * 2019-01-12 2020-07-16 엘지전자 주식회사 이차 변환에 기반한 영상 코딩 방법 및 그 장치
US11997300B2 (en) 2019-03-11 2024-05-28 Lg Electronics Inc. Method and apparatus for video encoding/decoding using IBC mode, and method for transmitting bitstream
US11343495B2 (en) * 2020-06-03 2022-05-24 Tencent America LLC Methods of simplification of temporal filtering

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5719961A (en) * 1994-07-22 1998-02-17 Apple Computer, Inc. Adaptive technique for encoder and decoder signal transformation
US6477276B1 (en) * 1997-11-07 2002-11-05 Matsushita Electric Industrial Co., Ltd. Apparatus for and method of embedding and extracting digital information and medium having program for carrying out the method recorded thereon
US20080192838A1 (en) * 2004-01-30 2008-08-14 Tao Chen Picture Coding Method, Picture Decoding Method, Picture Coding Apparatus, Picture Decoding Apparatus, and Program Thereof
US20090028239A1 (en) * 2005-05-03 2009-01-29 Bernhard Schuur Moving picture encoding method, moving picture decoding method and apparatuses using the methods
US20090180700A1 (en) * 2008-01-15 2009-07-16 Samsung Electronics Co., Ltd. De-blocking filter and method for de-blocking filtering of video data

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS622721A (ja) * 1985-06-28 1987-01-08 Nec Corp 画像信号の符号化・復号化装置
JP3423585B2 (ja) * 1997-08-13 2003-07-07 日本電信電話株式会社 画像処理方法および装置
KR100522121B1 (ko) * 1997-12-17 2006-01-12 삼성전자주식회사 버퍼상태에 따른 dct계수를 제한하는 mpeg인코더
JP2002204552A (ja) * 2000-12-29 2002-07-19 Ricoh Co Ltd 直流モータ

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5719961A (en) * 1994-07-22 1998-02-17 Apple Computer, Inc. Adaptive technique for encoder and decoder signal transformation
US6477276B1 (en) * 1997-11-07 2002-11-05 Matsushita Electric Industrial Co., Ltd. Apparatus for and method of embedding and extracting digital information and medium having program for carrying out the method recorded thereon
US20080192838A1 (en) * 2004-01-30 2008-08-14 Tao Chen Picture Coding Method, Picture Decoding Method, Picture Coding Apparatus, Picture Decoding Apparatus, and Program Thereof
US20090028239A1 (en) * 2005-05-03 2009-01-29 Bernhard Schuur Moving picture encoding method, moving picture decoding method and apparatuses using the methods
US20090180700A1 (en) * 2008-01-15 2009-07-16 Samsung Electronics Co., Ltd. De-blocking filter and method for de-blocking filtering of video data

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115297326A (zh) * 2017-12-15 2022-11-04 Lg电子株式会社 图像编解码方法和发送方法及非暂态计算机可读存储介质
CN111684809A (zh) * 2017-12-15 2020-09-18 Lg电子株式会社 基于变换的图像编码方法和用于该方法的装置
US11218731B2 (en) 2017-12-15 2022-01-04 Lg Electronics Inc. Image coding method on basis of transformation and device therefor
CN111684809B (zh) * 2017-12-15 2022-08-19 Lg电子株式会社 基于变换的图像编码方法和用于该方法的装置
CN115278233A (zh) * 2017-12-15 2022-11-01 Lg电子株式会社 解码设备、编码设备及发送设备
US11601679B2 (en) 2017-12-15 2023-03-07 Lg Electronics Inc. Image coding method on basis of transformation and device therefor
US11895334B2 (en) 2017-12-15 2024-02-06 Lg Electronics Inc. Image coding method on basis of transformation and device therefor
CN115278233B (zh) * 2017-12-15 2024-06-04 Lg电子株式会社 解码设备、编码设备及发送设备
CN115297326B (zh) * 2017-12-15 2024-06-07 Lg电子株式会社 图像编解码方法和发送方法及非暂态计算机可读存储介质
US11184618B2 (en) 2017-12-21 2021-11-23 Lg Electronics Inc. Method for coding image on basis of selective transform and device therefor
CN111615830A (zh) * 2017-12-21 2020-09-01 Lg电子株式会社 基于选择性变换的图像编码方法和用于该方法的装置
US11647199B2 (en) 2017-12-21 2023-05-09 Lg Electronics Inc. Method for coding image on basis of selective transform and device therefor
US12034933B2 (en) 2017-12-21 2024-07-09 Lg Electronics Inc. Method for coding image on basis of selective transform and device therefor

Also Published As

Publication number Publication date
WO2012044075A2 (ko) 2012-04-05
EP2624561A2 (en) 2013-08-07
KR20120032457A (ko) 2012-04-05
BR112013007024A2 (pt) 2019-09-24
US20130195177A1 (en) 2013-08-01
WO2012044075A3 (ko) 2012-05-31
JP2013542664A (ja) 2013-11-21
MX2013003017A (es) 2013-06-28
AU2011308203A1 (en) 2013-04-11

Similar Documents

Publication Publication Date Title
CN103250415A (zh) 用于图像的变换的方法和装置以及用于图像的逆变换的方法和装置
KR102149828B1 (ko) 비디오의 부호화 방법 및 장치, 복호화 방법 및 장치
CA2633897C (en) Transforms with common factors
JP5269782B2 (ja) 逆離散コサイン変換の計算中の誤差の低減
EP1679903B1 (en) Adaptive coefficient scan order
CN104321970B (zh) 层间编码单元四叉树模式预测
CN1697328A (zh) 快速视频编解码变换实现
CN1201591C (zh) 用于运动向量域编码的方法和装置
EP1453005A2 (en) Image encoding apparatus and method
CN108200439A (zh) 提高数字信号变换性能的方法及数字信号变换方法和装置
CN105453567A (zh) 用于非变换编码的扫描次序
KR20110118598A (ko) 영상의 변환 방법 및 장치, 역변환 방법 및 장치
CN112616058B (zh) 视频编码或解码方法、装置、计算机设备和存储介质
AU2018200072B2 (en) Video encoding method and device and decoding method and device
Tischler Refinement of near random access video coding with weighted finite automata
JP5175813B2 (ja) 符号化装置、復号装置及び画像処理プログラム
JP2001086505A (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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130814