CN101796506B - 具有比例缩放式和非比例缩放式接口的变换设计 - Google Patents

具有比例缩放式和非比例缩放式接口的变换设计 Download PDF

Info

Publication number
CN101796506B
CN101796506B CN200780010623.5A CN200780010623A CN101796506B CN 101796506 B CN101796506 B CN 101796506B CN 200780010623 A CN200780010623 A CN 200780010623A CN 101796506 B CN101796506 B CN 101796506B
Authority
CN
China
Prior art keywords
proportional zoom
block
idct
formula
input value
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.)
Expired - Fee Related
Application number
CN200780010623.5A
Other languages
English (en)
Other versions
CN101796506A (zh
Inventor
尤里·列兹尼克
艾伯特·斯科特·卢德温
钟奕俊
哈里纳特·加鲁达德里
纳维恩·B·斯里尼瓦沙穆尔蒂
蓬·塞奇通
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN101796506A publication Critical patent/CN101796506A/zh
Application granted granted Critical
Publication of CN101796506B publication Critical patent/CN101796506B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • 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/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/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Abstract

本发明描述用于高效地对分别经由全接口和比例缩放式接口接收到的数据执行全变换和比例缩放式变换的技术。全变换是实施对变换的完整数学描述的变换。全变换对全变换系数进行运算或提供全变换系数。比例缩放式变换是对经比例缩放的变换系数进行运算或提供经比例缩放的变换系数的变换,所述经比例缩放的变换系数是所述全变换系数的经比例缩放型式。所述比例缩放式变换可具有较低的计算复杂性,而所述全变换由应用使用起来可能更简单。所述全变换和比例缩放式变换可能是针对2D IDCT的,可用1D IDCT以可分离方式来实施2D IDCT。所述全变换和比例缩放式变换还可能是针对2DDCT的,可用1D DCT以可分离方式来实施2D DCT。可以计算上高效的方式来实施1DIDCT和1D DCT。

Description

具有比例缩放式和非比例缩放式接口的变换设计
本申请案主张2006年3月29日申请的题为“比例缩放式和非比例缩放式IDCT结构的收敛(CONVERGENCE OF SCALED AND NON-SCALED IDCT ARCHITECTURES)”的第60/787,562号美国临时申请案的优先权,所述临时申请案转让给本发明的受让人,且以引用的方式并入本文中。
技术领域
本发明大体上涉及处理,且更具体地说,涉及用于对数据执行变换的技术。
背景技术
变换通常用于将数据从一个域转换到另一个域。举例来说,离散余弦变换(discretecosine transform,DCT)通常用于将数据从空间域变换到频率域,且反离散余弦变换(inverse discrete cosine transform IDCT)通常用于将数据从频率域变换到空间域。DCT广泛用于图像/视频压缩,以在空间上对图像或视频帧中的图片元素(像素)区块进行解相关。所得的变换系数对彼此的依赖性通常要小得多,这使得这些系数更适合量化和编码。DCT还展现出能量紧致特性(energy compaction property),其是将像素区块的能量的大部分映射到仅少数(通常低阶)变换系数的能力。此能量紧致特性可简化编码算法的设计。
例如DCT和IDCT的变换可用于可支持不同图像和视频编码标准的各种应用。因此,需要提供可接收数据并以适合于这些应用的格式提供数据的接口。此外,由于可能对大量数据执行变换,因此需要尽可能高效地执行变换。
发明内容
本文分别描述用于高效地对经由全接口和比例缩放式接口接收到的数据执行全变换和比例缩放式变换的技术。全变换是实施变换的完整数学描述的变换。全变换对全变换系数(或简称为变换系数)进行运算或提供全变换系数。全变换还可被称为非比例缩放式变换、完整变换等。比例缩放式变换是对经比例缩放的变换系数进行运算或提供经比例缩放的变换系数的变换,经比例缩放的变换系数是全变换系数的经比例缩放的型式。比例缩放式变换可具有较低的计算复杂性,且可由可接受经比例缩放的变换系数的应用使用。全变换可由期望交换全变换系数的应用使用。全变换和比例缩放式变换可能是针对二维(2D)IDCT的,可用一维(1D)IDCT以可分离方式来实施2D IDCT。全变换和比例缩放式变换还可能是针对2D DCT的,可用1D DCT以可分离方式来实施2D DCT。如下文所描述,可以计算上高效的方式来实施1D IDCT和1D DCT。
下文进一步详细描述本发明的各个方面和特征。
附图说明
图1A展示利用2D比例缩放的可分离全2D IDCT。
图1B展示利用行-列比例缩放的可分离全2D IDCT。
图1B展示利用1D比例缩放的可分离全2D IDCT。
图1D展示可分离比例缩放式2D IDCT。
图2展示8点1D IDCT的因子分解的流程图。
图3A展示利用2D比例缩放的可分离全2D DCT。
图3B展示利用行-列比例缩放的可分离全2D DCT。
图3B展示利用1D比例缩放的可分离全2D DCT。
图3D展示可分离比例缩放式2D DCT。
图4展示8点1D DCT的因子分解的流程图。
图5展示支持全接口和比例缩放式接口的IDCT处理器。
图6展示支持全接口和比例缩放式接口的DCT处理器。
图7展示执行变换的过程。
图8展示编码系统和解码系统。
图9展示编码系统的框图。
图10展示解码系统的框图。
具体实施方式
本文所描述的技术可用于各种类型的变换,例如,DCT、IDCT、离散傅立叶变换(discrete Fourier transform,DFT)、反DFT(IDFT)、调制叠接变换(modulated lappedtransform,MLT)、反MLT、调制复合叠接变换(MCLT)、反MCLT等。所述技术还可用于各种应用,例如图像、视频和音频处理;通信;计算;数据联网;数据存储;图形等。通常,所述技术可用于使用变换的任何应用。为了清楚起见,下文针对图像和视频处理中通常使用的DCT和IDCT来描述所述技术。
类型II的N点1D DCT和N点1D IDCT可定义如下:
X [ k ] = c ( k ) 2 · Σ n = 0 N - 1 x [ n ] · cos ( 2 n + 1 ) · kπ 2 N , 以及       等式(1)
x [ n ] = Σ k = 0 N - 1 c ( k ) 2 · X [ k ] · cos ( 2 n + 1 ) · kπ 2 N ,            等式(2)
其中
x[n]是1D空间域函数,且
X[k]是1D频率域函数。
等式(1)中的1D DCT对N个输入样本或空间域值x[0]到x[N-1]进行运算,且产生N个变换系数X[0]到X[N-1]。等式(2)中的1D IDCT对N个变换系数进行运算,且产生N个输出样本。类型II DCT是一种类型的变换,且通常被认为是常常被提议用于图像/视频压缩的各种能量紧致变换中的最高效的变换之一。
1D DCT和1D IDCT可分别以等式(1)和等式(2)中所展示的其原始形式来实施。然而,可通过寻找可尽可能少地导致乘法和加法的因子分解来实现计算复杂性的实质降低,如下文所描述。
等式(1)中的1D DCT可以矩阵形式表达,如下:
xTy,                          等式(3)
其中y是输入样本的N×1向量,
T是全1D DCT的N×N矩阵,且
x是变换系数的N×1向量。
y含有输入样本x[0]到x[N-1],且x含有变换系数X[0]到X[N-1]。可基于等式(1)获得T的元素。
可将1D DCT因子分解成矩阵的乘积,如下:
TST s,               等式(4)
其中S=diag(A0,...,AN-1)是比例因子的对角矩阵,且
T s是比例缩放式1D DCT的N×N矩阵。
等式(3)和等式(4)指示可通过首先对y执行比例缩放式1D DCT且接着用S对结果进行比例缩放,来对y执行全1D DCT。
将全变换分解成比例缩放式变换和比例缩放运算(例如,如等式(4)中所示)的优点在于通过适当地选择比例因子,可降低比例缩放式变换的乘法复杂性。举例来说,昭乃、阿久比和中岛(Arai、Agui and Nakajima,AAN)在“图像的快速DCT-SQ方案(AFast DCT-SQ Scheme for Images)”(IEICE汇刊(Transactions of the IEICE),1988年11月)中描述的众所周知的分解产生比例缩放式8点DCT,其可仅通过五次乘以无理因子来实施。相反,最广为人知的全8点DCT需要11次此类乘法。
N×N2D DCT可定义如下:
T ‾ ⊗ T ‾ = ( S ‾ T ‾ S ) ⊗ ( S ‾ T ‾ S ) = ( S ‾ ⊗ S ‾ ) ( T ‾ S ⊗ T ‾ S ) , 等式(5)
其中T与其自身的Kroneker乘积,且是全2D DCT的矩阵,
是比例缩放式2D DCT的矩阵,且
是比例缩放式2D DCT的比例因子矩阵。
等式(5)中的运算结果是N×N2D DCT的矩阵。
可以可分离方式来对输入样本Y的N×N矩阵执行2D DCT,一次一个维度。举例来说,可对Y的每一行执行1D DCT,以获得中间矩阵,且接着可对所述中间矩阵的每一列执行1D DCT。或者,可对Y的每一列执行1D DCT,然后对中间矩阵的每一行执行1DDCT。
等式(5)指示可通过首先对Y执行比例缩放式2D DCT,且接着对结果进行比例缩放,来对Y执行2D DCT。等式(5)还指示可将对行和列1D DCT的比例缩放合并成应用于比例缩放式2D DCT的结果的单个步骤(其为的矩阵乘积)。
可以矩阵形式来表达等式(2)中的1D IDCT,如下:
T ‾ - 1 = T ‾ t = T ‾ S t S ‾ ,               等式(6)
其中,T t是全1D IDCT的N×N矩阵,且“t”表示转置矩阵。
可将2D IDCT表达为:
( T ‾ ⊗ T ‾ ) - 1 = T ‾ - 1 ⊗ T ‾ - 1 = ( T ‾ S t S ‾ ) ⊗ ( T ‾ S t S ‾ ) = ( T ‾ S t ⊗ T ‾ S t ) ( S ‾ ⊗ S ‾ ) . 等式(7)
等式(7)指示可通过首先对变换系数进行比例缩放,且接着对经比例缩放的变换系数执行比例缩放式2D IDCT,来对变换系数X的N×N矩阵执行2D IDCT。等式(7)还指示可在比例缩放式2D IDCT之前将对行和列1D IDCT的比例缩放合并成单个步骤。
比例缩放式结构是使用比例缩放式变换的设计,且全结构是使用全变换的结构。与全结构相比,比例缩放式结构可具有较低的乘法复杂性。举例来说,比例缩放式结构可以可分离的行-列方式来执行比例缩放式2D IDCT,且可针对每一行和每一列使用来自AAN分解的8点比例缩放式1D IDCTT s。此比例缩放式结构的乘法复杂性可为8*8+16*5=64+80=144,或针对比例缩放的64次乘法以及针对8个行和8个列中的每一者各5次乘法。在某些情况下,比例缩放可与量化组合,其中比例缩放式结构的乘法复杂性可降低到约80次乘法。全结构可以行-列方式执行2D IDCT,且可针对每一行和每一列使用最广为人知的全8点1D IDCTT。此全结构的乘法复杂性可为16*11=176,或针对8个行和8个列中的每一者各11次乘法。对于可分离实施方案,比例缩放式结构的乘法复杂性可能比全结构的乘法复杂性低。
可在偏爱低复杂性的设计中使用比例缩放式结构。当只有少数非零变换系数要进行比例缩放(图像/视频解码器中的2D IDCT的情况常常如此)时,比例缩放式结构可能是有利的。在图像/视频编码器/解码器(编解码器)中允许对变换系数的比例缩放与量化和/或反量化进行组合的设计中,比例缩放式结构也可能是有利的,例如,如图8中所展示。
在偏爱使用的简易性的设计中可能需要全结构。举例来说,许多计算环境和应用可能支持多种图像和视频编码标准。在这些情况下,具有实施全变换的变换引擎,并提供灵活的输入/输出接口以允许变换引擎与各种量化器和编解码器一起使用可能更加方便。全结构可提供简单的接口,且在此些环境下可能更加合适。
本文描述可经由比例缩放式接口和全接口来灵活地支持不同应用的变换设计。所述变换设计可类似于全结构而经由全接口来接收全输入值、对这些输入值执行全变换且提供全输出值。所述变换设计还可类似于比例缩放式结构而经由比例缩放式接口来接收经比例缩放的输入值、对这些输入值执行比例缩放式变换且提供经比例缩放的输出值。所述变换设计可在内部实施可分离的比例缩放式变换,以潜在地实现较低复杂性和/或经改进的精度。所述变换设计因此能够针对某些应用实现较低的复杂性,针对其它应用提供使用的简易性,或在某些情况下提供较低的复杂性和使用的简易性两者。所述变换设计可用于正向变换(例如,DCT)和反向变换(例如,IDCT)两者。为了清楚起见,下文针对IDCT具体描述变换设计。
比例缩放式和非比例缩放式/全2D IDCT结构可表达如下:
比例缩放式2D IDCT: T ‾ - 1 ⊗ T ‾ - 1 = ( T ‾ S t ⊗ T ‾ S t ) ( S ‾ ⊗ S ‾ ) , 以及    等式(8)
非比例缩放式2D IDCT: T ‾ - 1 ⊗ T ‾ - 1 = ( T ‾ S t S ‾ ) ⊗ ( T ‾ S t S ‾ ) .       等式(9)
全/非比例缩放式接口可接收变换系数。可对这些变换系数执行全2D IDCT,如下:
Y=Θ(X)≈T t XT,                                  等式(10)
其中,X是变换系数的矩阵,
Θ(.)是全2D IDCT的近似值,且
Y是输出样本的矩阵。
等式(10)中的算子符号(.)用于指示定点近似值可能不完全基于线性运算。
可通过对X的每一行和每一列执行全1D IDCT来实现全2D IDCT,如下:
θ(x i)≈T t x i,                                     等式(11)
其中,x iX的第i行或列,且
θ(.)是全1D IDCT的近似值。
θ(.)可用于2D算子Θ(.)的行-列实施方案。
比例缩放式接口可接收经比例缩放的变换系数,其可如下获得:
X s=∑(X)≈S t XS,               等式(12)
其中,∑(.)是2D比例缩放运算的近似值,且
X s是经比例缩放的变换系数的矩阵。
可对经比例缩放的变换系数执行比例缩放式2D IDCT,如下:
Y ‾ = Ξ ( X ‾ S ) = T ‾ S t X ‾ S T ‾ S ,                  等式(13)
其中,(.)是比例缩放式2D IDCT的近似值。
可通过对X s的每一行和每一列执行比例缩放式1D IDCT来实现比例缩放式2DIDCT,如下:
ξ ( x ‾ S , i ) ≈ T ‾ S t x ‾ S , i ,                 等式(14)
其中,x S,iX s的第i行或列,且
ξ(.)是比例缩放式1D IDCT的近似值。
ξ(.)可用于2D算子(.)的行-列实施方案。
如等式(13)中所示,可通过实施2D算子(.)来实现比例缩放式接口。如等式(12)和等式(13)中所示,可通过除实施2D算子(.)之外还实施2D比例缩放算子(.)来实现全接口。接着可实施全2D IDCT如下:
              等式(15)
等式(15)指示可通过首先用2D比例缩放算子∑(.)对这些变换系数进行比例缩放,且接着用2D算子(.)对经比例缩放的经变换系数执行比例缩放式2D IDCT,来对全变换系数X执行全2D IDCT。2D算子(.)又可由1D算子ξ(.)的行-列级联来实施。
因此可用可分离的比例缩放式2D IDCT的2D算子(.)和2D比例缩放算子∑(.)来实施可分离的全2D IDCT的2D算子Θ(.)。如下文所描述,可以各种方式来实施2D比例缩放。用可分离的比例缩放式2D IDCT和2D比例缩放实施的可分离全2D IDCT的所得复杂性和性能可比得上原先实施的全2D IDCT的复杂性和性能。
图1A展示利用2D比例缩放的可分离全2D IDCT100的设计。2D IDCT100包括2D比例缩放阶段112,接着是对行(或列)的比例缩放式1D IDCT阶段114,进一步接着是对列(或行)的比例缩放式1D IDCT阶段116,且最后是输出格式化阶段118。2D比例缩放阶段112接收变换系数X的N×N区块,且可使每一变换系数Xij乘以比例因子Aij,且进一步使每一经比例缩放的变换系数向左移位P个位,其中P表示保留的“尾数”位的数目。在比例缩放之后,可将C=2P-1的数量加到DC变换系数,以实现输出样本中的适当舍入。为了改进比例缩放的精度,S=P+R个位可在比例因子转换为整数的过程中使用S=P+R个位,且可在相乘之后执行向右移位R个位。S可以是可便于在硬件平台上实施的任何合适值,例如,对于具有带正负号/不带正负号的16位乘法器的平台,S可以是15或16。
IDCT阶段114对2D比例缩放阶段112的经比例缩放的变换系数区块的每一行执行N点比例缩放式1D IDCT。IDCT阶段116对IDCT阶段114所产生的中间区块的每一列执行N点比例缩放式1D IDCT。阶段114和阶段116的比例缩放式1D IDCT可直接对其输入数据进行运算,而无需进行任何内部预比例缩放或后比例缩放。在处理了所有的行和列之后,输出格式化阶段118可使来自IDCT阶段116的所得数量向右移位P个位,以产生全2D IDCT的输出样本Y的N×N区块。可选择比例因子和精度常数P,以使得可使用所需宽度的寄存器来实施整个2D IDCT。
阶段112中的2D比例缩放可表达为:
Xs,ij=(Xij·Ai·Aj)>>R,等式(16)
其中,XijX的的第i行和第j列中的变换系数,
Ai和Aj分别是S的第i个和第j个对角元素,
XS,ijX s的第i行和第j列中的经比例缩放的变换系数,且
“>>R”表示带正负号的向右移位R个位的运算。
R是确保经比例缩放的变换系数Xs,ij中所添加的P个位的定点精度的常数。
表可存储比例因子Aij=Ai·Aj,其中i=0,...,N-1且j=0,...,N-1。X的每一元素可乘以表中的对应比例因子。可针对X的N·N个元素执行至多达N·N次乘法。
图1B展示利用可分离行-列比例缩放的可分离全2D IDCT102的设计。2D IDCT102包括可分离行-列比例缩放阶段122,接着是对行(或列)的比例缩放式1D IDCT阶段124,进一步接着是对列(或行)的比例缩放式1D IDCT阶段126,且最后是输出格式化阶段128。比例缩放阶段122接收变换系数X的N×N区块,且可使每一行i中的每一变换系数Xij乘以比例因子Ai,且接着使每一列j中的每一所得系数乘以比例因子Aj,以获得经比例缩放的变换系数,如下:
X ij ′ = X ij · A i ,            等式(17)
X S , ij = ( X ij ′ · A j ) > > R .
比例缩放阶段122因此可以可分离方式,对行执行2D比例缩放,然后对列执行2D比例缩放(或先对列执行2D比例缩放,然后对行执行2D比例缩放)。可分离行-列比例缩放可允许同一硬件用于行的比例缩放和列的比例缩放,这可降低实施复杂性。可针对X的N·N个元素执行至多达2·N·N次乘法。然而,乘法的实际数目可能远少于2·N·N,因为比例因子A0到AN-1中的一些因子可能具有平凡值(trivial value)(例如,256),且可用简单的移位运算来实施与这些平凡比例因子的乘法。阶段124、阶段126和阶段128可分别以与图1A中的阶段114、阶段116和阶段118相同的方式进行运算。
图1C展示在每一比例缩放式1D IDCT之前利用比例缩放的可分离全2D IDCT104的设计。2D IDCT104包括利用对行(或列)的比例缩放的比例缩放式1D IDCT阶段134,接着是利用对列(或行)的比例缩放的比例缩放式1D IDCT阶段136,且最后是输出格式化阶段138。IDCT阶段134在对变换系数区块的每一行执行N点比例缩放式1D IDCT之前执行比例缩放。IDCT阶段136在对IDCT阶段134所产生的中间区块的每一列执行N点比例缩放式1D IDCT之前执行比例缩放。阶段134和阶段136本质上使用比例缩放式1D IDCT来执行全1D IDCT。比例缩放式1D IDCT内的比例因子A0到AN-1以及常数因子可经选择以为全1D IDCT降低复杂性且/或改进精度,如下文所述。阶段138可以与图1A中的阶段118相同的方式运算。
图1D展示可分离的比例缩放式2D IDCT106的设计。2D IDCT106包括行(或列)的比例缩放式1D IDCT阶段144,接着是列(或行)的比例缩放式1D IDCT阶段146,且最后是输出格式化阶段148。IDCT阶段144对经比例缩放的变换系数X s的N×N区块的每一行执行N点比例缩放式1D IDCT。IDCT阶段146对IDCT阶段144所产生的中间区块的每一列执行N点比例缩放式1D IDCT。阶段148可以与图1A中的阶段118相同的方式运算。
如图1A到图1C中所示,可以各种方式来实现对全2D IDCT的比例缩放,例如,在图1A中的行-列1D IDCT之前利用2D比例缩放,在图1B中的行-列1D IDCT之前利用可分离的行-列比例缩放,或在图1C中的每一1D IDCT之前利用比例缩放。还可以其它方式来执行比例缩放。如图1D中所示,可通过简单地省略比例缩放且针对行和列执行1D IDCT来实现比例缩放式2D IDCT。
各种类型的比例缩放式1D IDCT可用于图1A到图1D中的行-列1D IDCT。举例来说,可使用基于AAN分解的比例缩放式1D IDCT。下文描述具有可能较低复杂性的另一比例缩放式IDCT。
图2展示8点1D IDCT的实例因子分解的流程图200。在流程图200中,每一加法由符号“”表示,且每一乘法由方框表示。每一加法将两个输入值相加或相减,且提供输出值。每一乘法使输入值与方框内所示的常数因子相乘,且提供输出值。图2中的因子分解具有与以下常数因子的乘法:
α1=α2=1,         等式(18)
β1=β2=Cπ/4=cos(π/4)≈0.707106781
γ1=C3π/8=cos(3π/8)≈0.382683432,以及
δ1=S3π/8=sin(3π/8)≈0.923879533。
流程图200可接收八个变换系数X[0]到X[7],且用比例因子A0到A7来对这些变换系数进行比例缩放,以获得八个经比例缩放的变换系数A0·X[0]到A7·X[7]。或者,流程图200可直接接收八个经比例缩放的变换系数。在任一情况下,流程图200对八个经比例缩放的变换系数执行8点1D IDCT,且产生八个输出样本x[0]到x[7]。比例因子A0到A7如下:
A 0 = 1 2 2 ≈ 0.3535533906 , A 1 = cos ( 7 π / 16 ) 2 sin ( 3 π / 8 ) - 2 ≈ 0.4499881115 ,
A 2 = cos ( π / 8 ) 2 ≈ 0.6532814824 , A 3 = cos ( 5 π / 16 ) 2 + 2 cos ( 3 π / 8 ) ≈ 0.2548977895 ,
A 4 = 1 2 2 ≈ 0.3535533906 , A 5 = cos ( 3 π / 16 ) 2 - 2 cos ( 3 π / 8 ) ≈ 1.2814577239 ,
A 6 = cos ( 3 π / 8 ) 2 ≈ 0.2705980501 , A 7 = cos ( π / 16 ) 2 + 2 sin ( 3 π / 8 ) ≈ 0.3006724435 .
流程图200包含许多蝶式运算。蝶式运算接收两个输入值,且产生两个输出值,其中一个输出值是两个输入值的和,且另一输出值是两个输入值的差。举例来说,对输入值A0·X[0]和A4·X[4]的蝶式运算针对顶部分支产生输入值A0·X[0]+A4·X[4],且针对底部分支产生输出值A0·X[0]-A4·X[4]。
图2中所示的因子分解导致总共6次乘法和28次加法,这实质上少于等式(2)的直接计算所需的乘法和加法的数目。乘法是与表示不同角的正弦和余弦的无理常数相乘,对于8点1D IDCT,这些角是π/8的倍数。无理常数为不是两个整数的比率的常数。当每一无理常数由有理二元常数近似表示时,可以定点整数算术来高效地执行与无理常数的乘法。有理二元常数是具有二元分母的有理常数,且具有形式c/2b,其中b和c是整数,且b>0。
可通过用有理二元常数近似表示无理常数μ来实现定点整数算术中的整数变量x与无理常数μ的乘法,如下:
μ≈c/2b,           等式(19)
其中,μ是待近似表示的无理常数,且
c/2b是有理二元常数。
在给定整数变量x和有理二元常数u=c/2b的情况下,整数值乘积
y=(x·c)/2b                 等式(20)
可使用一系列中间值
x0,x1,x2,...,xt,           等式(21)
来近似表示,
其中,x0=0,x1=x,且对于所有2≤i≤t值,如下获得xi
,其中j,k<i,      等式(22)
其中意味着中间值xk向左移位或向右移位(取决于常数si的正负号)|si|个位。
在等式(22)中,xi可等于 可基于所述系列中的两个先前中间值xj和xk而导出所述系列中的每一中间值xi,其中xj或xk可等于零。可利用一次移位和/或一次加法来获得每一中间值xi。如果si等于零,那么无需移位。如果xj=x0=0,那么无需加法。用于乘法的加法和移位的总数由所述系列中的中间值的数目(其为t)以及针对每一中间值所使用的表达式来决定。本质上将与有理二元常数u的乘法展开为一系列移位和加法运算。将所述系列定义成使得所述系列中的最终值成为所需的整数值乘积,或者
xt≈y。                     等式(23)
可通过用有理二元常数近似表示两个无理常数μ和η来实现定点整数算术中的整数变量x与所述两个无理常数的乘法,如下:
μ≈c/2b且η≈e/2d,              等式(24)
其中,c/2b和e/2d是两个有理二元常数,且
b、c、d和e是整数,其中b>0且d>0。
在给定整数变量x以及有理二元常数u=c/2b和v=e/2d,两个整值乘积
y=(x·c)/2b和z=(x·g)/2d     等式(25)
可使用一系列中间值
x0,x1,x2,...,xt,等式(26)
来近似表示,
其中x0=0,x1=x,且对于所有2≤i≤t值,如下获得xi
x i = &PlusMinus; x j &PlusMinus; x k &CenterDot; 2 s i , 其中j,k<i。           等式(27)
将所述系列定义成使得在步骤m和n处获得所需的整值乘积,如下:
xm≈y且xn≈z,        等式(28)
其中,m,n≤t,且m或n等于t。
如等式(24)到等式(28)中所示,整数变量x与无理常数μ和η的乘法可用由移位和加法运算所产生的一系列共用中间值来近似表示,且使用中间结果来减小运算的总数。
在上文所描述的计算中,可省略例如零的加法和减法以及移位零个位的平凡运算。可进行以下简化:
x i = &PlusMinus; x 0 &PlusMinus; x k &CenterDot; 2 s i x i &DoubleRightArrow; = &PlusMinus; x k &CenterDot; 2 s i ,     等式(29)
x i = &PlusMinus; x j &PlusMinus; x k &CenterDot; 2 0 x i = &PlusMinus; x j &PlusMinus; x k &DoubleRightArrow; .      等式(30)
在等式(29)中,左边的表达式涉及零的加法或减法(由x0表示),且可用一次移位来执行,如右边的表达式所示。在等式(30)中,左边的表达式涉及移位零个位(由20表示),且可用一次加法来执行,如右边的表达式所示。可将等式(29)和等式(30)应用于xi的计算中的等式(22)和等式(27)。
为了减少计算,可将第一共用因子F1应用于流程图200中的常数因子α1和β1,且可将第二共用因子F2应用于常数因子α2、β2、δ1和γ1,如下:
&alpha; 1 &prime; = &alpha; 1 &CenterDot; F 1 , &beta; 1 &prime; = &beta; 1 &CenterDot; F 1 , 以及           等式(31)
&alpha; 2 &prime; = &alpha; 2 &CenterDot; F 2 , &beta; 2 &prime; = &beta; 2 &CenterDot; F 2 , &gamma; 1 &prime; = &gamma; 1 &CenterDot; F 2 , &delta; 1 &prime; = &delta; 1 &CenterDot; F 2 .
还可对比例因子A0到A7进行比例缩放,以说明共用因子F1和F2,如下:
A 0 &prime; = A 0 , A 4 &prime; = A 4 ,                    等式(32)
A 2 &prime; = A 2 / F 1 , A 6 &prime; = A 6 / F 1 , 以及
A 1 &prime; = A 1 / F 2 , A 5 &prime; = A 5 / F 2 , A 3 &prime; = A 3 / F 2 , A 7 &prime; = A 7 / F 2 .
可估算用于共用因子F1和F2的值的不同组合。对于F1和F2值的每一组合,可确定对1D IDCT的逻辑和算术运算的总数以及输出样本的精度。
表1展示图2中的1D IDCT的实例定点近似,其中F1=2523/2048且F2=2607/2048。在表1中,在第一列中给出比例因子和经比例缩放的共用因子。可用第二列中所给出的有理二元常数来近似表示每一因子。在第三列中给出变量x与一个或两个有理二元常数的乘法的中间值系列。在第四列和第五列中分别给出用于每一乘法的加法和移位运算的数目。在第六列中给出每一乘法用于1D IDCT的次数。针对1D IDCT的加法运算的总数等于第四列中加法运算的数目的总和乘以第六列中所给出的数目。针对1D IDCT的移位运算的总数等于第五列中移位运算的数目的总和乘以第六列中所给出的数目。
表1
在表1中,向右移位8约去了与比例因子中的因子256的乘法,这实现额外的复杂性降低。
在表1所展示的设计中,可用50次加法运算和24次移位运算来执行8点比例缩放式1D IDCT。可用61次加法运算和39次移位运算来执行8点全1D IDCT。可在比例缩放式1D IDCT(如图1C中所展示)之前执行或可在行-列1D IDCT(如图1A和图1B中所展示)之前执行使用比例因子的比例缩放。可用977次加法运算和688次移位运算来执行8×8全2D IDCT。977次加法运算包含8个行和8个列的16个1D IDCT中的每一者各61次加法,外加在比例缩放之后求2P-1与DC变换系数的和的1次加法。688次移位运算包含8个行和8个列的16个IDCT中的每一者各39次移位,外加用于使来自第二IDCT阶段的64个值移位P个位的64次移位。表1中所展示的设计满足或超过IEEE标准1180到1190及其待决替换标准中所界定的精度度量。
表1展示图2中的1D IDCT的实例定点近似。还可用其它可具有不同复杂性和/或精度的有理二元常数来近似表示比例因子A0到A7以及常数因子α1、β1、α2、β2、δ1和γ1。还可使用其它类型的比例缩放式IDCT来实施可分离的比例缩放式和全2D IDCT。
图3A展示利用2D比例缩放的可分离全2D DCT300的设计。2D DCT300包括输入格式化阶段312,接着是用于行(或列)的比例缩放式1D DCT阶段314,进一步接着是用于列(或行)的比例缩放式1D DCT阶段316,最后是2D比例缩放阶段318。输入格式化阶段312可对输入样本的N×N区块进行左乘。DCT阶段314对来自阶段312的经左乘的样本区块的每一行执行N点比例缩放式1D DCT,且产生第一中间区块。DCT阶段316对第一中间区块的每一列执行N点比例缩放式1D DCT,且产生第二中间区块。比例缩放阶段318对第二中间矩阵的每一元素进行比例缩放,且为全2D DCT提供经变换系数区块。
图3B展示利用可分离行-列比例缩放的可分离全2D DCT302的设计。2D DCT302包括输入格式化阶段322,接着是用于行(或列)的比例缩放式1D DCT阶段324,进一步接着是用于列(或行)的比例缩放式1D DCT阶段326,最后是可分离行-列比例缩放阶段328。阶段322、324和326可分别以与图3A中的阶段312、314和316相同的方式运算。比例缩放阶段328可逐行且接着逐列对来自DCT阶段326的第二中间区块进行比例缩放,以为全2D DCT产生经变换系数区块。
图3C展示在每一比例缩放式1D DCT之后利用比例缩放的可分离全2D DCT304的设计。2D DCT304包括输入格式化阶段332,接着是利用对行(或列)的比例缩放的比例缩放式1D DCT阶段334,且进一步接着是利用对列(或行)的比例缩放的比例缩放式1D DCT阶段336。阶段332可以与图3A中的阶段312相同的方式运算。DCT阶段334对来自阶段332的经左乘的样本区块的每一行执行N点比例缩放式1D DCT,接着执行比例缩放。DCT阶段336对DCT阶段334所产生的中间区块的每一列执行N点比例缩放式1D DCT,接着执行比例缩放。
图3D展示可分离的比例缩放式2D DCT306的设计。2D DCT306包括输入格式化阶段342,接着是用于行(或列)的比例缩放式1D DCT阶段344,且进一步接着是用于列(或行)的比例缩放式1D DCT阶段346。阶段342可以与图3A中的阶段312相同的方式运算。DCT阶段344对来自阶段342的经左乘的样本区块的每一行执行N点比例缩放式1D DCT。DCT阶段346对DCT阶段344所产生的中间区块的每一列执行N点比例缩放式1D DCT。
如图3A到图3C中所示,可以各种方式来实现对全2D DCT的比例缩放,例如,在图3A中的行-列1D DCT之后利用2D比例缩放,在图3B中的行-列1D DCT之后利用可分离行-列比例缩放,或在图3C中的每一1D DCT之后利用比例缩放。还可以其它方式来执行比例缩放。如图3D中所示,可通过简单地省略比例缩放和针对行和列执行1D DCT来实现比例缩放式2D DCT。
各种类型的比例缩放式1D DCT可用于图3A到图3D中的比例缩放式1D DCT。下文描述具有低复杂性的实例比例缩放式DCT。
图4展示8点1D DCT的实例因子分解的流程图400。流程图400接收8个输入样本x[0]到x[7],对这些输入样本执行8点比例缩放式1D DCT,且产生八个经比例缩放的变换系数8A0·X[0]到8A7·X[7]。比例因子A0到A7在上文中给出。图4中的因子分解具有与以下常数因子的乘法:
αa=αb=1,               等式(33)
βa=βb=1/Cπ/4=1/cos(π/4)
γa=2C3π/8=2cos(3π/8),以及
δa=2S3π/8=2sin(3π/8)
图2和图4中的IDCT和DCT的流程图是类似的,且涉及与基本上相同的常数因子(具有1/2的差)的乘法。此类似性对在集成电路上实施DCT和IDCT可能是有利的。明确地说,所述类似性可实现硅或电路小片面积的节约,以实施正向和反向变换两者中所使用的蝶式运算和与变换常数的乘法。
图5展示支持全接口和比例缩放式接口的IDCT处理器500的设计的框图。在IDCT处理器500内,比例缩放单元510经由全接口接收变换系数区块,对所述变换系数区块执行比例缩放(例如,逐元素2D比例缩放或可分离行-列比例缩放),且提供经比例缩放变换系数区块。当选择全接口时,多路复用器(Mux)512接收并提供来自比例缩放单元510的经比例缩放的变换系数。当选择比例缩放式接口时,多路复用器512还经由比例缩放式接口接收经比例缩放的变换系数,并提供这些经比例缩放的变换系数。多路复用器514将多路复用器512的输出或缓冲器518的输出提供给IDCT引擎516。
IDCT引擎516可对来自多路复用器512的经比例缩放变换系数区块的行执行比例缩放式1D IDCT,并将中间结果区块的行提供给缓冲器518。IDCT引擎516接着可对来自缓冲器518的中间结果区块的列执行比例缩放式1D IDCT,并将最终结果区块提供给缓冲器518。单元520对缓冲器518中的最终结果执行输出格式化,并提供输出样本。
图6展示支持全接口和比例缩放式接口的DCT处理器600的设计的框图。在DCT处理器600内,单元610对输入样本区块执行输入格式化。DCT引擎614经由多路复用器612从单元610接收输入值区块,对所述输入值区块的行执行比例缩放式1D DCT,并将中间结果区块提供给缓冲器616。DCT引擎614接着可对来自缓冲器616的中间结果区块的列执行比例缩放式1D DCT,并将经比例缩放的变换系数区块提供给缓冲器616。缓冲器616为比例缩放式接口提供经比例缩放变换系数区块。比例缩放单元618接收经比例缩放变换系数区块并对其进行比例缩放,并为全接口提供全变换系数。
为清楚起见,上文描述的多数是针对DCT和IDCT的。一般来说,本文所描述的技术可用于任何类型的变换,例如,DCT、IDCT、DFT、IDFT、MLT、反MLT、MCLT、反MCLT等。所述技术还可用于变换的任何因子分解,在图2和图4中给出若干实例因子分解。所述技术还可用于任何大小的变换,在图2和图4中给出8点变换。8×8DCT和8×8IDCT通常用于图像和视频处理。所述技术还可用于各种图像和视频编码标准,例如JPEG、MPEG-1、MPEG-2、MPEG-4(P.2)、H.261、H.263等。
图7展示用于执行变换的过程700的设计。可经由第一接口(全接口或非比例缩放式接口)接收第一输入值(框712)。可对第一输入值执行全变换,以获得第一输出值(框714)。可经由第二接口(比例缩放式接口)接收第二输入值(框716)。可对第二输入值执行比例缩放式变换,以获得第二输出值(框718)。
全变换可以是全2D反变换。在此情况下,可经由第一接口接收第一输入值区块,且对其进行比例缩放以获得经比例缩放输入值区块。可对所述经比例缩放输入值区块的每一行执行比例缩放式1D变换,以获得中间区块。可对所述中间区块的每一列执行比例缩放式1D变换,以获得第一输出值区块。还可对列接着对行执行比例缩放式1D变换。
全变换还可以是全2D正向变换。在此情况下,可经由第一接口接收第一输入值区块。可对所述输入值区块的每一行执行比例缩放式1D变换,以获得第一中间区块。可对所述第一中间区块的每一列执行比例缩放式1D变换,以获得第二中间区块。可对所述第二中间区块进行比例缩放,以获得第一输出值区块。
全变换可以是全2D IDCT。在此情况下,可经由第一接口接收变换系数区块,且对其进行比例缩放以获得经比例缩放变换系数区块。可用相应的比例因子来对每一变换系数进行比例缩放,以获得对应的经比例缩放变换系数,例如,如图1A中所示。或者,可逐行和逐列对变换系数区块进行比例缩放,以获得经比例缩放变换系数区块,例如,如图1B中所示。可对经比例缩放变换系数区块的每一行执行比例缩放式1D IDCT,以获得中间区块。可对所述中间区块的每一列执行比例缩放式1D IDCT,以获得输出样本区块。或者,可对变换系数区块的每一行执行比例缩放和比例缩放式的一个1D IDCT,以获得中间区块,且可对所述中间区块的每一列执行比例缩放和比例缩放式1D IDCT,例如,如图1C中所示。
比例缩放式变换可以是比例缩放式2D IDCT。在此情况下,可经由第二接口接收经比例缩放变换系数区块。接着可对经比例缩放变换系数区块的每一行执行比例缩放式1DIDCT,以获得中间区块。可对所述中间区块的每一列执行比例缩放式1D IDCT,以获得输出样本区块。
全变换可以是全2D DCT,且比例缩放式变换可以是比例缩放式2D DCT。可如上文所述对输入样本区块执行全2D DCT,以为第一接口获得全变换系数区块。还可对输入样本区块执行比例缩放式2D DCT,以为第二接口获得经比例缩放变换系数区块。
图8展示编码系统810和解码系统850的设计的框图。在编码系统810处,图像/视频编码器820可接收像素区块,且根据特定图像或视频压缩算法对每一像素区块执行压缩。编码器820可提供像素差值(或残差)区块和像素区块。单元822可接收残差区块和像素区块作为输入样本区块,对每一输入样本区块执行2D DCT,且提供全变换系数或经比例缩放变换系数区块。单元822可支持全接口和比例缩放式接口两者。量化器824可量化全变换系数或经比例缩放的变换系数,且提供经量化的系数。熵编码器826可对经量化的系数执行熵编码,并以包的形式提供经压缩的数据或提供位流,以供经由通信信道840传输和/或供存储。
在解码系统850处,熵解码器860可以与编码器826的熵编码互补的方式对经压缩的数据执行熵解码,且提供经量化的系数。反量化器862可将经量化的系数映射到全变换系数或经比例缩放的变换系数。单元862可对全变换系数执行全2D IDCT或对经比例缩放的变换系数执行比例缩放式2D IDCT,并提供输出样本区块。单元862可支持全接口和比例缩放式接口两者。图像/视频解码器866可对输出样本区块执行解压缩,并提供像素区块。
在编码系统810处,单元822可执行比例缩放式2D DCT,且提供经比例缩放的变换系数。量化器824可执行对经比例缩放的变换系数的比例缩放(例如,图3A中的阶段318或图3B中的阶段328)以及量化。在解码系统850处,单元862可针对变换系数执行反量化以及比例缩放(例如,图1A中的阶段112或图1B中的阶段122)。单元864接着可对来自单元862的经比例缩放的变换系数执行比例缩放式2D IDCT。
图9展示编码系统900的框图,其可用于图8中的编码系统810。捕获装置/存储器910可接收源信号,执行到数字格式的转换,且提供输入/原始数据。捕获装置910可以是视频摄像机、数字转换器或某一其它设备。处理器920处理原始数据且产生经压缩的数据。在处理器920内,原始数据可由DCT单元922变换,由Z字形扫描单元(zig-zagscan unit)924扫描,由量化器926量化,由熵编码器928编码,且由包化器930包化。DCT单元922可根据本文所描述的技术对原始数据执行2D DCT,且可支持全接口和比例缩放式接口两者。可用硬件、固件和/或软件来实施单元922到930中的每一者。举例来说,可用专用硬件、用于算术逻辑单元(ALU)的指令集等来实施DCT单元922。
存储单元940可存储来自处理器920的经压缩数据。传输器942可传输所述经压缩数据。控制器/处理器950控制编码系统900中的各个单元的操作。存储器952存储用于编码系统900的数据和程序代码。一个或一个以上总线960互连编码器系统900中的各个单元。
图10展示可用于图8中的解码系统850的解码系统1000的框图。接收器1010可接收来自编码系统的经压缩数据,且存储单元1012可存储所接收到的经压缩数据。处理器1020处理所述经压缩数据,并产生输出数据。在处理器1020内,所述经压缩数据可由解包化器1022解包化,由熵解码器1024解码,由反量化器1026反量化,由反Z字形扫描单元1028按适当次序放置,且由IDCT单元1030变换。IDCT单元1030可根据本文所描述的技术对全变换系数或经比例缩放的变换系数执行2D IDCT,且可支持全接口和比例缩放式接口两者。可用硬件、固件和/或软件来实施单元1022到1030中的每一者。举例来说,可用专用硬件、用于ALU的指令集等来实施IDCT单元1030。
显示器单元1040显示来自处理器1020的经重建的图像和视频。控制器/处理器1050控制解码系统1000中的各个单元的操作。存储器1052存储用于解码系统1000的数据和程序代码。一个或一个以上总线1060互连解码系统1000中的各个单元。
可用一个或一个以上专用集成电路(ASIC)、数字信号处理器(DSP),和/或一些其它类型的处理器来实施处理器920和1020的每一者。或者,可用一个或一个以上随机存取存储器(RAM)、只读存储器(ROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、磁盘、光盘,和/或此项技术中已知的其它类型的易失性和非易失性存储器来代替处理器920和1020的每一者。
可在各种类型的设备中实施本文所描述的技术。举例来说,可在不同类型的处理器、不同类型的集成电路、不同类型的电子装置、不同类型的电子电路等中实施所述技术。
所属领域的技术人员将理解,可使用多种不同技术和技法中的任一者来表示信息和信号。举例来说,可贯穿上文的描述内容而引用的数据、指令、命令、信息、信号、位、符号和码片可由电压、电流、电磁波、磁场或粒子、光场或粒子,或其任一组合来表示。
所属领域的技术人员将进一步了解,结合本发明而描述的各种说明性逻辑区块、模块、电路和算法步骤可实施为电子硬件、计算机软件或上述两者的组合。为了清楚地说明硬件与软件的这种可互换性,上文已经大体上根据各种说明性组件、区块、模块、电路和步骤的功能性描述了各种说明性组件、区块、模块、电路和步骤。将此功能性实施为硬件还是软件取决于特定应用和强加于整个系统的设计限制。熟练的技术人员可针对每个特定应用以不同的方式来实施所描述的功能性,但此类实施决策不应被解释为导致与本发明范围的偏离。
可用以下装置来实施或执行结合本发明而描述的各种说明性逻辑块、模块和电路:通用处理器、DSP、ASIC、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其经设计以执行本文所述的功能的任一组合。通用处理器可以是微处理器,但在替代方案中,处理器可以是任一常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如DSP与微处理器的组合、多个微处理器、结合DSP核心的一个或一个以上微处理器或任何其它此类配置。
结合本发明而描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中或在所述两者的组合中实施。软件模块可驻存在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移除盘、CD-ROM或此项技术中已知的任何其它形式的存储媒体中。示范性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息和向存储媒体写入信息。在替代方案中,存储媒体可与处理器成一体式。处理器和存储媒体可驻存在ASIC中。ASIC可驻存在用户终端中。在替代方案中,处理器和存储媒体可作为离散组件驻存在用户终端中。
提供对本发明的先前描述是为了使所属领域的技术人员能够制作或使用本发明。所属领域的技术人员可容易了解对本发明的各种修改,且在不脱离本发明精神或范围的情况下,本文所界定的一般原理可应用于其它设计。因此,不希望本发明限于本文所展示的实例,而是希望本发明被赋予与本文所揭示的原理和新颖特征一致的最广范围。

Claims (9)

1.一种用于对数据进行变换的设备,其包括:
用于经由第一接口接收图像数据或视频数据的第一输入值区块的装置,以及
用于对所述第一输入值区块执行全二维2D反离散余弦变换IDCT以获得第一输出值区块的装置,其包括:
用于对所述第一输入值区块进行比例缩放以获得经比例缩放输入值区块的装置,
用于对所述经比例缩放输入值区块的每一行执行比例缩放式一维1D变换以获得中间区块的装置,以及
用于对所述中间区块的每一列执行比例缩放式1D变换的装置,
其中所述设备还包括:用于经由第二接口接收不同于所述第一输入值区块的第二输入值区块的装置,以及
用于对所述第二输入值区块执行比例缩放式变换以获得第二输出值区块的装置。
2.根据权利要求1所述的设备,其中所述比例缩放式变换是比例缩放式2D IDCT。
3.根据权利要求1所述的设备,还包括:用于用相应的比例因子来对包括在所述第一输入值区块中的变换系数区块中的每一变换系数进行比例缩放以获得对应的经比例缩放的变换系数的装置。
4.根据权利要求1所述的设备,还包括:用于逐行和逐列对包括在所述第一输入值区块中的变换系数区块进行比例缩放以获得经比例缩放变换系数区块的装置。
5.根据权利要求2所述的设备,其中所述第一输入值区块包括全变换系数区块。
6.根据权利要求2所述的设备,其中所述第二输入值区块包括经比例缩放变换系数区块。
7.根据权利要求1所述的设备,进一步包括:
用于对所述第一输出值区块执行输出格式化以形成第一输出样本区块及对所述第二输出值区块执行输出格式化以形成第二输出样本区块的装置。
8.一种用于对数据进行变换的方法,其包括:
经由第一接口从编码器接收图像数据或视频数据的第一输入值区块;以及
对所述第一输入值区块执行全二维2D反离散余弦变换IDCT,以获得第一输出值区块,其包括:
对所述第一输入值区块进行比例缩放以获得经比例缩放输入值区块,
对所述经比例缩放输入值区块的每一行执行比例缩放式一维(1D)变换以获得中间区块,以及
对所述中间区块的每一列执行比例缩放式1D变换,
其中所述方法还包括:经由第二接口接收不同于所述第一输入值区块的第二输入值区块;以及
对所述第二输入值区块执行比例缩放式变换,以获得第二输出值区块。
9.根据权利要求8所述的方法,进一步包括:
对所述第一输出值区块执行输出格式化以形成第一输出样本区块,以及,对所述第二输出值区块执行输出格式化以形成第二输出样本区块。
CN200780010623.5A 2006-03-29 2007-03-29 具有比例缩放式和非比例缩放式接口的变换设计 Expired - Fee Related CN101796506B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US78756206P 2006-03-29 2006-03-29
US60/787,562 2006-03-29
US11/691,268 2007-03-26
US11/691,268 US8849884B2 (en) 2006-03-29 2007-03-26 Transform design with scaled and non-scaled interfaces
PCT/US2007/065548 WO2007115127A2 (en) 2006-03-29 2007-03-29 Transform design with scaled and non-scaled interfaces

Publications (2)

Publication Number Publication Date
CN101796506A CN101796506A (zh) 2010-08-04
CN101796506B true CN101796506B (zh) 2014-07-30

Family

ID=38560679

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200780010623.5A Expired - Fee Related CN101796506B (zh) 2006-03-29 2007-03-29 具有比例缩放式和非比例缩放式接口的变换设计

Country Status (9)

Country Link
US (2) US8849884B2 (zh)
EP (1) EP1999642B1 (zh)
JP (2) JP2009534723A (zh)
KR (2) KR101136770B1 (zh)
CN (1) CN101796506B (zh)
BR (1) BRPI0709263A2 (zh)
CA (1) CA2644505A1 (zh)
RU (1) RU2460129C2 (zh)
WO (1) WO2007115127A2 (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070200738A1 (en) * 2005-10-12 2007-08-30 Yuriy Reznik Efficient multiplication-free computation for signal and data processing
US8595281B2 (en) * 2006-01-11 2013-11-26 Qualcomm Incorporated Transforms with common factors
US8849884B2 (en) 2006-03-29 2014-09-30 Qualcom Incorporate Transform design with scaled and non-scaled interfaces
US8819095B2 (en) * 2007-08-28 2014-08-26 Qualcomm Incorporated Fast computation of products by dyadic fractions with sign-symmetric rounding errors
US8654833B2 (en) * 2007-09-26 2014-02-18 Qualcomm Incorporated Efficient transformation techniques for video coding
TWI382768B (zh) * 2008-03-24 2013-01-11 Novatek Microelectronics Corp 具有執行重疊濾波以及核心轉換的運算方法及其裝置
US9110849B2 (en) * 2009-04-15 2015-08-18 Qualcomm Incorporated Computing even-sized discrete cosine transforms
US8762441B2 (en) * 2009-06-05 2014-06-24 Qualcomm Incorporated 4X4 transform for media coding
US9069713B2 (en) * 2009-06-05 2015-06-30 Qualcomm Incorporated 4X4 transform for media coding
US9081733B2 (en) * 2009-06-24 2015-07-14 Qualcomm Incorporated 16-point transform for media data coding
US9118898B2 (en) 2009-06-24 2015-08-25 Qualcomm Incorporated 8-point transform for media data coding
US8451904B2 (en) 2009-06-24 2013-05-28 Qualcomm Incorporated 8-point transform for media data coding
US9075757B2 (en) 2009-06-24 2015-07-07 Qualcomm Incorporated 16-point transform for media data coding
JP5696248B2 (ja) * 2010-01-07 2015-04-08 株式会社東芝 動画像符号化装置及び動画像復号化装置
WO2011083573A1 (ja) 2010-01-07 2011-07-14 株式会社 東芝 動画像符号化装置及び動画像復号化装置
JP5597782B2 (ja) * 2010-01-07 2014-10-01 株式会社東芝 動画像符号化装置及び動画像復号化装置
CN105512093A (zh) 2010-09-28 2016-04-20 三星电子株式会社 视频编码方法和装置以及解码方法和装置
US9824066B2 (en) 2011-01-10 2017-11-21 Qualcomm Incorporated 32-point transform for media data coding
AU2016219700B2 (en) * 2011-01-18 2018-06-28 Dolby International Ab Video decoder with reduced dynamic range transform with inverse transform shifting memory
US20120183045A1 (en) * 2011-01-18 2012-07-19 Louis Joseph Kerofsky Video decoder with reduced dynamic range transform including clipping
US9807395B2 (en) 2011-01-18 2017-10-31 Dolby International Ab Video decoder with reduced dynamic range transform with inverse transform shifting memory
US11308449B2 (en) 2011-04-28 2022-04-19 Microsoft Technology Licensing, Llc Storing metadata inside file to reference shared version of file
CN102647597A (zh) * 2012-05-02 2012-08-22 华南理工大学 一种基于多边形裁剪dct的jpeg图像压缩方法
US9456383B2 (en) 2012-08-27 2016-09-27 Qualcomm Incorporated Device and method for adaptive rate multimedia communications on a wireless network
US20220417537A1 (en) * 2021-06-23 2022-12-29 Black Sesame International Holding Limited Unprocessed image coding and decoding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1421102A (zh) * 1999-11-08 2003-05-28 高通股份有限公司 基于方差的自适应块大小dct图像压缩
CN1719435A (zh) * 2004-07-07 2006-01-11 联发科技股份有限公司 执行离散余弦转换/反离散余弦转换的装置及其方法

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4864529A (en) 1986-10-09 1989-09-05 North American Philips Corporation Fast multiplier architecture
JPH01175186A (ja) 1987-12-29 1989-07-11 Nitto Denko Corp 熱接着用プレス装置における熱加圧具
JP2711176B2 (ja) 1990-10-02 1998-02-10 アロカ株式会社 超音波画像処理装置
CA2060407C (en) 1991-03-22 1998-10-27 Jack M. Sacks Minimum difference processor
US5233551A (en) 1991-10-21 1993-08-03 Rockwell International Corporation Radix-12 DFT/FFT building block
US5285402A (en) 1991-11-22 1994-02-08 Intel Corporation Multiplyless discrete cosine transform
US5539836A (en) 1991-12-20 1996-07-23 Alaris Inc. Method and apparatus for the realization of two-dimensional discrete cosine transform for an 8*8 image fragment
TW284869B (zh) 1994-05-27 1996-09-01 Hitachi Ltd
US5712809A (en) 1994-10-31 1998-01-27 Vivo Software, Inc. Method and apparatus for performing fast reduced coefficient discrete cosine transforms
US5701263A (en) 1995-08-28 1997-12-23 Hyundai Electronics America Inverse discrete cosine transform processor for VLSI implementation
US5930160A (en) 1996-06-22 1999-07-27 Texas Instruments Incorporated Multiply accumulate unit for processing a signal and method of operation
JP3263807B2 (ja) 1996-09-09 2002-03-11 ソニー株式会社 画像符号化装置および画像符号化方法
US6058215A (en) * 1997-04-30 2000-05-02 Ricoh Company, Ltd. Reversible DCT for lossless-lossy compression
JP3957829B2 (ja) 1997-08-29 2007-08-15 株式会社オフィスノア 動画像情報の圧縮方法およびそのシステム
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
KR100270799B1 (ko) 1998-01-30 2000-11-01 김영환 이산코사인변환/역이산코사인변환 프로세서
US6189021B1 (en) 1998-09-15 2001-02-13 Winbond Electronics Corp. Method for forming two-dimensional discrete cosine transform and its inverse involving a reduced number of multiplication operations
US6757326B1 (en) 1998-12-28 2004-06-29 Motorola, Inc. Method and apparatus for implementing wavelet filters in a digital system
US6473534B1 (en) 1999-01-06 2002-10-29 Hewlett-Packard Company Multiplier-free implementation of DCT used in image and video processing and compression
AU3751900A (en) 1999-03-17 2000-10-04 Johns Hopkins University, The A fast multiplierless transform
US6760486B1 (en) 2000-03-28 2004-07-06 General Electric Company Flash artifact suppression in two-dimensional ultrasound imaging
AU2001268309A1 (en) 2000-06-09 2001-12-17 Walter E Pelton Methods for reducing the number of computations in a discrete fourier transform
JP4266512B2 (ja) 2000-12-27 2009-05-20 キヤノン株式会社 データ処理装置
US7007054B1 (en) * 2000-10-23 2006-02-28 International Business Machines Corporation Faster discrete cosine transforms using scaled terms
US6766341B1 (en) 2000-10-23 2004-07-20 International Business Machines Corporation Faster transforms using scaled terms
EP1395952B1 (en) 2001-06-12 2007-10-10 Silicon Optix Inc. Method and system for processing a non-linear two dimensional spatial transformation
US6870963B2 (en) 2001-06-15 2005-03-22 Qualcomm, Inc. Configurable pattern optimizer
US7082450B2 (en) 2001-08-30 2006-07-25 Nokia Corporation Implementation of a transform and of a subsequent quantization
US20030074383A1 (en) 2001-10-15 2003-04-17 Murphy Charles Douglas Shared multiplication in signal processing transforms
US6917955B1 (en) 2002-04-25 2005-07-12 Analog Devices, Inc. FFT processor suited for a DMT engine for multichannel CO ADSL application
US7395210B2 (en) 2002-11-21 2008-07-01 Microsoft Corporation Progressive to lossless embedded audio coder (PLEAC) with multiple factorization reversible transform
US7792891B2 (en) 2002-12-11 2010-09-07 Nvidia Corporation Forward discrete cosine transform engine
TWI220716B (en) 2003-05-19 2004-09-01 Ind Tech Res Inst Method and apparatus of constructing a hardware architecture for transfer functions
RU2305377C2 (ru) 2003-05-20 2007-08-27 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ уменьшения искажения сжатого видеоизображения и устройство для его реализации
US7487193B2 (en) 2004-05-14 2009-02-03 Microsoft Corporation Fast video codec transform implementations
US7489826B2 (en) 2004-10-07 2009-02-10 Infoprint Solutions Company, Llc Compensating for errors in performance sensitive transformations
US7421139B2 (en) 2004-10-07 2008-09-02 Infoprint Solutions Company, Llc Reducing errors in performance sensitive transformations
US20070200738A1 (en) 2005-10-12 2007-08-30 Yuriy Reznik Efficient multiplication-free computation for signal and data processing
US8548265B2 (en) * 2006-01-05 2013-10-01 Fastvdo, Llc Fast multiplierless integer invertible transforms
US8595281B2 (en) 2006-01-11 2013-11-26 Qualcomm Incorporated Transforms with common factors
US20070271321A1 (en) 2006-01-11 2007-11-22 Qualcomm, Inc. Transforms with reduce complexity and/or improve precision by means of common factors
US8849884B2 (en) 2006-03-29 2014-09-30 Qualcom Incorporate Transform design with scaled and non-scaled interfaces

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1421102A (zh) * 1999-11-08 2003-05-28 高通股份有限公司 基于方差的自适应块大小dct图像压缩
CN1719435A (zh) * 2004-07-07 2006-01-11 联发科技股份有限公司 执行离散余弦转换/反离散余弦转换的装置及其方法

Also Published As

Publication number Publication date
US20070233764A1 (en) 2007-10-04
US8849884B2 (en) 2014-09-30
RU2008142735A (ru) 2010-05-10
JP2009534723A (ja) 2009-09-24
RU2460129C2 (ru) 2012-08-27
JP2012105273A (ja) 2012-05-31
CN101796506A (zh) 2010-08-04
JP5529101B2 (ja) 2014-06-25
US9727530B2 (en) 2017-08-08
CA2644505A1 (en) 2007-10-11
KR20080107474A (ko) 2008-12-10
KR101136770B1 (ko) 2012-05-30
KR101131757B1 (ko) 2012-04-05
KR20110034603A (ko) 2011-04-05
EP1999642B1 (en) 2020-04-22
EP1999642A2 (en) 2008-12-10
US20140149478A1 (en) 2014-05-29
WO2007115127A2 (en) 2007-10-11
WO2007115127A3 (en) 2010-05-06
BRPI0709263A2 (pt) 2011-06-28

Similar Documents

Publication Publication Date Title
CN101796506B (zh) 具有比例缩放式和非比例缩放式接口的变换设计
CN101375274B (zh) 用于执行数据变换的设备和方法
CN102007489B (zh) 逆向离散余弦变换的计算期间的误差减少
CN100412907C (zh) 视频编码的低复杂性和统一标准的变换
JP5113067B2 (ja) 信号およびデータ処理のための効率的な無乗算計算
CN1697328B (zh) 快速视频编解码变换实现
Mukherjee et al. Hardware efficient architecture for 2D DCT and IDCT using Taylor-series expansion of trigonometric functions
US7421139B2 (en) Reducing errors in performance sensitive transformations
US7489826B2 (en) Compensating for errors in performance sensitive transformations
CN102982007A (zh) 并向量分数与符号对称舍入误差的乘积的快速计算
US7430332B2 (en) Approximations used in performance sensitive transformations which contain sub-transforms
Deepthi et al. Design and Implementation of JPEG Image Compression and Decompression
CN100388316C (zh) 高精度的无乘法器的数字余弦变换电路及其变换方法
June An Introduction to Digital Video Data Compression in Java
TWI432029B (zh) 具有比例化及非比例化介面之變換設計
CN101361062A (zh) 用于信号及数据处理的高效无乘法计算

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140730

Termination date: 20210329

CF01 Termination of patent right due to non-payment of annual fee