CN101375274A - 使用共用因数的变换 - Google Patents

使用共用因数的变换 Download PDF

Info

Publication number
CN101375274A
CN101375274A CNA2007800020554A CN200780002055A CN101375274A CN 101375274 A CN101375274 A CN 101375274A CN A2007800020554 A CNA2007800020554 A CN A2007800020554A CN 200780002055 A CN200780002055 A CN 200780002055A CN 101375274 A CN101375274 A CN 101375274A
Authority
CN
China
Prior art keywords
constant
group
reasonable
multiplication
data 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.)
Granted
Application number
CNA2007800020554A
Other languages
English (en)
Other versions
CN101375274B (zh
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.)
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
Priority to CN201210535316.1A priority Critical patent/CN103096077B/zh
Publication of CN101375274A publication Critical patent/CN101375274A/zh
Application granted granted Critical
Publication of CN101375274B publication Critical patent/CN101375274B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/4836Computations with rational numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Discrete Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Nonlinear Science (AREA)
  • Complex Calculations (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明揭示一种用于对数据有效地执行变换的技术。在一种设计中,一种设备执行第一群组至少一个数据值与第一群组至少一个有理二进常数的乘法,所述第一群组至少一个有理二进常数近似用第一共用因数换算的第一群组至少一个无理常数。所述设备进一步执行第二群组至少一个数据值与第二群组至少一个有理二进常数的乘法,所述第二群组至少一个有理二进常数近似用第二共用因数换算的第二群组至少一个无理常数。每一有理二进常数是具有二进分母的有理数。所述第一与第二群组至少一个数据值具有不同大小。可基于所述乘法的逻辑及算术运算的数量、所述结果的精确性等来选择所述第一及共用因数。

Description

使用共用因数的变换
35 U.S.C.§119项下的优先权请求
本申请案请求对2006年1月11日提出申请且标题为“换算离散余弦变换(DOT)及反离散余弦变换(IDCT)的有效无乘法实施方案(Efficient Multiplication-FreeImplementations of Scaled Discrete Cosine Transform(DOT) and Inverse DiscreteCosine Transform(IDCT))”的第60/758,464号临时美国申请案的优先权,所述临时美国申请案受让予本发明的受让人且以引用的方式并入本文中。
技术领域
本揭示内容大体来说涉及处理,且更具体来说涉及用于对数据执行变换的技术。
背景技术
通常使用变换来将数据从一个域转换到另一域。举例来说,通常使用离散余弦变换(DCT)来将数据从空间域变换到频域,而通常使用反离散余弦变换(IDCT)来将数据从频域变换到空间域。DCT广泛用于图像/视频压缩以空间解相关图像或视频帧中的图像元素(像素)的块。所得变换系数的相互依赖性通常非常小,此使得这些系数更适于量化及编码。DCT也展示能量集中性质,其是将像素块的大部分能量映射到仅几个(通常低阶)变换系数的能力。此能量集中性质可简化编码算法的设计。
可对大量数据执行变换,例如DCT及IDCT。因此,希望尽可能有效地执行变换。此外,希望使用简单硬件执行变换的计算以降低成本及复杂性。
因此,所属技术领域需要对数据有效执行变换的技术。
发明内容
本文说明一种用于对数据有效执行变换的技术。根据一方面,一种设备执行第一群组至少一个数据值与第一群组至少一个有理二进常数的乘法,所述第一群组至少一个有理二进常数近似用第一共用因数换算的第一群组至少一个无理常数。所述设备进一步执行第二群组至少一个数据值与第二群组至少一个有理二进常数的乘法,所述第二群组至少一个有理二进常数近似用第二共用因数换算的第二群组至少一个无理常数。每一有理二进常数是具有二进分母的有理数。所述第一与第二群组至少一个数据值具有不同大小。举例来说,所述第一群组可包括两个数据值,而所述第二群组可包括四个数据值。
根据另一方面,一种设备执行至少一个数据值与至少一个有理二进常数的乘法,所述至少一个有理二进常数近似用共用因数换算的至少一个无理常数。基于所述至少一个数据值与所述至少一个有理二进常数的所述乘法的逻辑及算术运算的数量选择所述共用因数。所述逻辑及算术运算可由移位、减法及加法运算组成。可进一步基于结果的精确性来选择所述共用因数。
下文进一步详细说明本揭示内容的各个方面及特征。
附图说明
图1显示8点IDCT的流程图。
图2显示8点DCT的流程图。
图3显示使用共用因数的8点IDCT的流程图。
图4显示使用共用因数的8点DCT的流程图。
图5显示存储与不同有理二进常数值的乘法的运算数量的查找表。
图6显示二维(2D)IDCT的方块图。
图7显示图像/视频编码及解码系统的方块图。
图8显示编码系统的方块图。
图9显示解码系统的方块图。
具体实施方式
本文所说明的技术可用于各种类型的变换,例如DCT、IDCT、离散傅立叶变换(DFT)、反DFT(IDFT)、调制重迭变换(MLT)、反MLT、经调制的复重叠变换(MCLT)、反MCLT等。所述技术也可用于各种应用,例如图像、视频及音频处理、通信、计算、数据联网、数据存储、绘图等。大体来说,所述技术可用于使用变换的任何应用。为清晰起见,下文针对通常用于图像及视频处理的DCT具IDCT来说明所述技术。
可如下式定义类型II的一维(1D)N点DCT及1D N点IDCT:
X [ k ] = c ( k ) 2 · Σ n = 0 N - 1 x [ n ] · cos ( 2 n + 1 ) · kπ 2 N , 及          等式(1)
X [ k ] = Σ k = 0 N - 1 c ( k ) 2 · X [ k ] · cos ( 2 n + 1 ) · kπ 2 N ,              等式(2)
其中
Figure A200780002055D00083
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可用于二维2D DCT。同样,1D IDCT也可用于2D IDCT。通过将2D DCT/IDCT分解成一连串1D DCT/IDCT,可使2D DCT/IDCT的效率取决于1D DCT/IDCT的效率。大体来说,可对任何向量大小执行1D DCT及1D IDCT,而可对任何块大小执行2D DCT及2D IDCT。然而,8×8DCT及8×8IDCT通常用于图像及视频处理,其中N等于8。举例来说,在各种图像及视频编码标准(例如JPEG、MPEG-1、MPEG-2、MPEG-4(P.2)、H.261、H.263等)中,将8×8DCT及8×8IDCT用作标准构建块。
可以等式(1)及(2)中分别显示的其原始形式来实施1D DCT及1D IDCT。然而,可通过找到导致尽可能少的乘法及加法的因数分解来实现计算复杂性的显著降低。变换的因数分解可通过指示针对所述变换将要执行的具体运算的流程图来表示。
图1显示8点IDCT的实例性因数分解的流程图100。在流程图100中,每一加法由符号“
Figure A200780002055D0009103353QIETU
”表示且每一乘法由方框表示。每一加法将两个输入值相加或相减并提供输出值。每一乘法将输入值与方框内所显示的变换常数相乘并提供输出值。图1中的因数分解具有六次乘法,所述乘法具有以下常数因数:
Cπ/4=cos(π/4)≈0.707106781,
C3π/8=cos(3π/8)≈0.382683432,及
S3π/8=sin(3π/8)≈0.923879533.
流程图100接收八个已换算的变换系数A0·X[0]到A7·X[7],对这些系数执行8点IDCT并产生八个输出样本x[0]到x[7]。A0到A7是换算因数且下文给出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 ,
流程图100包括多个蝶形运算。蝶形运算接收两个输入值并产生两个输出值,其中一个输出值是所述两个输入值的和且另一输出值是所述两个输入值的差。举例来说,输入值A0·X[0]及A4·X[4]上的蝶形运算对于顶部分支产生输出值A0·X[0]+A4·X[4]且对于底部分支产生输出值A0·X[0]-A4·X[4]。
图2显示8点DCT的实例性因数分解的流程图200。流程图200接收八个输入样本x[0]到x[7],对这些输入样本执行8点DCT并产生八个已换算的变换系数8A0·X[0]到8A7·X[7]。上文已给出换算因数A0到A7。图2中的因数分解具有六次乘法,所述乘法具有常数因数1/Cπ/4、2C3π/8及2S3π/8
图1及2中的IDCT及DCT的流程图相似且涉及乘以实质上相同常数因数的乘法(其中差为1/2)。此种相似性可有利于DCT及IDCT在集成电路上的实施。特定来说,所述相似性可使得节省硅或电路小片区域以实施蝶形运算及乘以变换常数(其用于正及反变换两者中)的乘法。
图1所示因数分解导致总共6次乘法及28次加法,其实质上少于直接计算等式(2)所需要的乘法及加法的数量。图2所示的因数分解也导致总共6次乘法及28次加法,其实质上少于直接计算等式(1)所需要的乘法及加法的数量。图1中的因数分解用C3π/8及S3π/8对两个中间变量执行平面旋转。图2中的因数分解哟更好2C3π/8具2S3π/8对两个中间变量执行平面旋转。通过将中间变量与正弦及余弦(例如,图1中的cos(3π/8)及sin(3π/8))相乘实现平面旋转。使用下文所说明的计算技术可有效地执行平面旋转的乘法。
图1及2分别显示8点IDCT及8点DCT的实例性因数分解。这些因数分解是针对已换算的IDCT及已换算的DCT,其中“已换算”是指变换系数X[0]到X[7]分别用已知换算因数A0到A7进行了换算。也已通过使用到其它已知快速算法(例如,库利-图基(Cooley-Tukey)DFT算法)的映射或通过应用系统因数分解程序(例如,按时间抽取或按频率抽取)导出其它因数分解。大体来说,因数分解可减少乘法的数量,但不会消除乘法。
图1及2中的乘法是与表示不同角度(对于8点DCT及IDCT,其是π/8的倍数)的正弦及余弦的无理常数相乘。无理常数是不是两个整数的比的常数。当每一无理常数由有理二进常数近似时,可在定点整数算术中更有效地执行与无理常数的乘法。有理二进常数是具有二进分母的有理常数且具有c/2b的形式,其中b及c是整数且b>0。可通过逻辑及算术运算来实现整数变量与有理二进常数的乘法,如下所述。逻辑及算术运算的数量是取决于计算的执行方式以及有理二进常数的值。
一方面,共用因数用于减少变换的运算总数及/或改善变换结果的精确性。共用因数是在变换中应用于一个或一个以上中间变量的常数。也可将中间变量称为数据值等。可将共用因数与一个或一个以上变换常数合并且也可通过改变一个或一个以上换算因数而计算出。共用因数可改善一个或一个以上(无理)变换常数由一个或一个以上有理二进常数的近似,然后其可导致更小的运算总数及/或改善的精确性。
大体来说,可针对变换使用任何数量的共用因数,且可将每一共用因数应用于所述变换中任何数量的中间变量。在一种设计中,针对变换使用多个共用因数且将其应用于多个群组不同大小的中间变量。在另一设计中,将多个共用因数应用于多个群组相同大小的中间变量。
图3显示使用共用因数的8点IDCT的流程图300。流程图300使用与图1中的流程图100相同的因数分解。然而,流程图300针对两个群组中间变量使用两个共用因数。
将第一共用因数F1应用于第一群组两个中间变量X1及X2,其基于变换系数X[2]及X[6]而产生。将第一共用因数F1与X1相乘、与变换常数Cπ/4合并且通过改变换算因数A2及A6而计算出。将第二共用因数F2应用于第二群组四个中间变量X3到X6,其基于变换系数X[1]、X[3]、X[5]及X[7]而产生。将第二共用因数F2与X4相乘,与变换常数Cπ/4、C3π/8及S3π/8合并且通过改变换算因数A1、A3、A5及A7而计算出。
第一共用因数F1可由有理二进常数α1来近似,可将α1与X1相乘以获得乘积X1·F1的近似。已换算变换因数F1·Cπ/4可由有理二进常数β1来近似,可将β1与X2相乘以获得乘积X2·F1·Cπ/4的近似。可将已改变的换算因数A2/F1应用于变换系数X[2]。可将已改变的换算因数A6/F1应用于变换系数X[6]。
第二共用因数F2可由有理二进常数α2来近似,可将α2与X4相乘以获得乘积X4·F2的近似。已换算变换因数F2·Cπ/4可由有理二进常数β2来近似,可将β2与X3相乘以获得乘积X3·F2·Cπ/4的近似。已换算变换因数F2·C3π/8可由有理二进常数γ2来近似且已换算变换因数F2·S3π/8可由有理二进常数δ2来近似。可将有理二进常数γ2与X5相乘以获得乘积X5·F2·C3π/8的近似且也可将其与X6相乘以获得乘积X6·F2·C3π/8的近似。可将有理二进常数δ2与X5相乘以获得乘积X5·F2·S3π/8的近似且也可将其与X6相乘以获得乘积X6·F2·S3π/8的近似。可将已改变的换算因数A1/F2、A3/F2、A5/F2及A7/F2分别应用于变换系数X[1]、X[3]、X[5]及X[7]。
可针对六个常数如下式定义六个有理二进常数α1、β1、α2、β2、γ2及δ2
α1≈F1,β1≈F1·cos(π/4),等式(3)
α2≈F2,β2≈F2·cos(π/4),γ2≈F2·cos(3π/8),及δ2≈F2·sin(3π/8).
图4显示具有共用因数的8点DCT的流程图400。流程图400使用与图2中的流程图200相同的因数分解。然而,流程图400针对两个群组中间变量使用两个共用因数。
将第一共用因数Fa应用于第一群组两个中间变量Xa及Xb,其用于产生变换系数X[2]及X[6]。将第一共用因数Fa与Xa相乘,与变换常数1/Cπ/4合并且通过改变换算因数A2及A6而计算出。将第二共用因数Fb应用于第二群组四个中间变量Xc到Xf,其用于产生变换系数X[1]、X[3]、X[5]及X[7]。将第二共用因数Fb与Xd相乘、与变换常数1/Cπ/4、2C3π/8及2S3π/8合并且通过改变换算因数A1、A3、A5及A7而计算出。
第一共用因数Fa可由有理二进常数αa来近似,可将αa与Xa相乘以获得乘积Xa·Fa的近似。已换算变换因数Fa/Cπ/4可由有理二进常数βa来近似,可将βa与Xb相乘以获得乘积Xb·Fa/Cπ/4的近似。可将已改变的换算因数A2/Fa及A6/Fa分别应用于变换系数X[2]及X[6]。
第二共用因数Fb可由有理二进常数αb来近似,可将αb与Xd相乘以获得乘积Xd·Fb的近似。已换算变换因数Fb/Cπ/4可由有理二进常数βb来近似,可将βb与Xc相乘以获得乘积Xc·Fb/Cπ/4的近似。已换算变换因数2Fb·C3π/8可由有理二进常数γb来近似,且已换算变换因数2Fb·S3π/8可由有理二进常数δb来近似。可将有理二进常数γb与Xe相乘以获得乘积2Xe·Fb·C3π/8的近似且也可将其与Xf相乘以获得乘积2Xf·Fb/C3π/8的近似。可将有理二进常数δb与Xe相乘以获得乘积2Xe·Fb/S3π/8的近似且也可将其与Xf相乘以获得乘积2Xf·Fb·S3π/8的近似。可将已改变的换算因数A1/Fb、A3/Fb、A5/Fb及A7/Fb分别应用于变换系数X[1]、X[3]、X[5]及X[7]。
可针对六个常数如下式定义六个有理二进常数αa、βa、αb、βb、γb及δb
Figure A200780002055D0012100530QIETU
βa≈Fa/cos(π/4),    等式(4)
Figure A200780002055D0012105841QIETU
βb≈Fb/cos(π/4),γb≈2Fb·cos(3π/8),及δb≈2Fb·sin(3π/8).
图3及4分别显示8点IDCT及8点DCT的具体因数分解的实例性共用因数使用。共用因数可用于DCT及IDCT的其它因数分解且也可用于其它类型的变换。大体来说,可将共用因数应用于变换中至少一个中间变量的群组。此群组中间变量可从输入值群组产生(例如,如图3所示)或用于产生输出值群组(例如,如图4所示)。可通过应用于所述输入值或所述输出值的换算因数来计算出所述共用因数。
可将多个共用因数应用于多个群组中间变量,且每一群组可包括任何数量的中间变量。所述群组的选择可取决于各种因素,例如变换的因数分解、变换常数在所述变换内的位置等。可将多个共用因数应用于多个群组相同大小(图3与4未显示)或不同大小(如图3与4所示)的中间变量。举例来说,可将三个共用因数用于图3所示的因数分解,其中将第一共用因数应用于中间变量X1及X2,将第二共用因数应用于中间变量X3、X4、X5及X6且将第三共用因数应用于从X[0]及X[4]产生的两个中间变量。
可在定点整数算术中以各种方式执行中间变量x与有理二进常数u的乘法。可使用逻辑运算(例如,左移、右移、位反转等)、算术运算(例如,加法、减法、符号反转等)及/或其它运算来执行所述乘法。x与u的乘法所需要的逻辑及算术运算的数量取决于计算的执行方式及有理二进常数u的值。对于x与u的同一乘法,不同的计算技术可能需要不同数量的逻辑及算术运算。对于x与不同u值的乘法,给定计算技术可能需要不同数量的逻辑及算术运算。
可基于以下准则为中间变量群组选择共用因数,例如:
·用于执行乘法的逻辑及算术运算的数量,及
·结果的精确性。
大体来说,希望使中间变量与有理二进常数的乘法的逻辑及算术运算的数量降到最低。在某些硬件平台上,算术运算(例如,加法)可比逻辑运算更复杂,因此减少算术运算的数量可更重要。在极端的情况下,可仅基于算术运算的数量来量化计算复杂性,而不计及逻辑运算。在某些其它硬件平台上,逻辑运算(例如,移位)可能更昂贵,因而减少逻辑运算的数量(例如,减少移位运算的数量及/或移位位的总数)可更重要。大体来说,可使用加权平均数量的逻辑及算术运算,其中所述加权可表示逻辑及算术运算的相对复杂性。
可基于各种度量(例如,以下表6中给出的度量)来量化结果的精确性。大体来说,希望针对给定精确性来减少逻辑及算术运算的数量(或计算复杂性)。也可能希望折衷复杂性与精确性,以(例如)以某些额外运算为代价来实现更高的精确性。
如图所示,在图3及4中,对于每一共用因数,可用一群组有理二进常数对一群组中间变量执行乘法,所述群组有理二进常数近似用所述共用因数换算的至少一个无理常数的群组(对于至少一个变换因数)。可以各种方式执行定点整数算术中的乘法。为清晰起见,下文说明用移位及加法运算并使用中间结果来执行乘法的计算技术。这些计算技术可减少DCT及IDCT的移位及加法运算的总数。
可通过用有理二进常数来近似无理常数μ来实现定点整数算术中整数变量x与无理常数μ的乘法,如下式:
μ≈c/2b,               等式(5)
其中μ是将要近似的无理常数,c/2b是所述有理二进常数,b及c是整数,且b>0。
给定整数变量x及有理二进常数u=c/2b,整数值乘积
y=(x·c)/2b                   等式(6)
可使用一系列中间值来近似
y0,y1,y2,...,yi,    等式(7)
其中y0=0,y1=x,且对于所有2≤i≤t值,如下式获得yi
y i = &PlusMinus; y j &PlusMinus; y k &CenterDot; 2 s i , 其中j.k<i,等式(8)
其中
Figure A200780002055D00132
意指中间值yk左移或右移(取决于常数Si的符号)|si|个位。
在等式(8)中,yi可等于
Figure A200780002055D00133
Figure A200780002055D00134
Figure A200780002055D00135
可基于所述系列中的两个先前中间值yj与yk导出所述系列中的每一中间值yi,其中yj或yk可等于零。可通过一次移位及/或一次加法获得每一中间值yi。如果si等于零,那么不需要移位。如果yj=y0=0,那么不需要加法。乘法的加法及移位的总数由所述系列中的中间值的数量(其是t)以及用于每一中间值的表达式确定。乘以有理二进常数u的乘法实质上展开成一系列移位及加法运算。所述系列经定义使得所述系列中的终值成为所需要的整数值乘积,或
yi≈y,         等式(9)
如等式(5)到(9)所示,可通过移位及加法运算所产生的一系列中间值并使用中间结果(或先前所产生的中间值)来近似整数变量x与无理常数μ的乘法,以减少运算总数。
可通过用有理二进常数近似两个无理常数μ及η来实现定点整数算术中整数变量x与所述两个无理常数μ及η的乘法,如下式:
μ≈c/2b     及  η≈e/2d              等式(10)
其中c/2b及e/2d是两个有理二进常数,b、c、d及e为整数,b>0且d>0。
给定整数变量x及有理二进常数u=c/2b及v=c/2d,那么两个整数值乘积
y=(x·c)/2b 及  z=(x·e)/2d         等式(11)
可使用一系列中间值来近似
w0,w1、w2,...,wi,                  等式(12)
其中w0=0,w1=x,且对于所有2≤i≤t值,如下式获得wi
w i = &PlusMinus; w j &PlusMinus; w k &CenterDot; 2 s i , 其中j,k<i             等式(13)
其中
Figure A200780002055D00142
意指wk左移或右移|si|个位。所述系列经定义使得在步骤m及n处获得所需要的整数值乘积,如下式:
wm≈y及
Figure A200780002055D0014085651QIETU
                     等式(14)
其中m,n≤t且m或n等于t。
如等式(10)到(14)所示,可通过移位及加法运算所产生的共用系列中间值并使用中间结果来近似整数变量x与无理常数μ及η的乘法,以减少运算总数。
在上文所说明的计算中,可省略无用运算,例如零的加法及减法及移位零个位。可进行以下简化:
y i = &PlusMinus; y 0 &PlusMinus; y k &CenterDot; 2 s i &DoubleRightArrow; y i = &PlusMinus; y k &CenterDot; 2 s i ,       等式(15)
y i = &PlusMinus; y j &PlusMinus; y k &CenterDot; 2 0 &DoubleRightArrow; y i = &PlusMinus; y j &PlusMinus; y k ,      等式(16)
在等式(15)中,
Figure A200780002055D00145
左边的表达式涉及零的加法或减法(由y0指示)且可通过一次移位来执行,如
Figure A200780002055D00146
右边的表达式所示。在等式(16)中,
Figure A200780002055D00147
左边的表达式涉及移位零个位(由20指示)且可通过一次加法来执行,如“
Figure A200780002055D00148
“右边的表达式所示。可在yi的计算中将等式(15)及(16)应用于等式(8),而可在wi的计算中将等式(15)及(16)应用于等式(13)。
可使用上文所说明的计算技术有效地执行图1到4中的乘法。在图1中,可通过用有理二进常数近似常数Cπ/4来实现定点整数算术中整数变量x与变换常数Cπ/4的乘法,如下式:
C &pi; / 4 8 = 181 256 = b 010110101 b 100000000 ,             等式(17)
其中
Figure A200780002055D00152
是有理二进常数,其是Cπ/4的8位近似。
可将整数变量x乘以常数
Figure A200780002055D00153
的乘法表示为:
y=(x·181)/256.             等式(18)
可通过以下运算系列来实现等式(18)中的乘法:
y1=x,             //1                等式(19)
y2=y1+(y1>>2),    //101
y3=y1-(y2>>2),    //01011
y4=y3+(y2>>6),    //010110101.
“//”右边的二进制值是与变量x相乘的中间常数。
所需要的乘积等于y4,或y4=y。可用三次加法及三次移位来执行等式(18)中的乘法以产生三个中间值y2、y3及y4
在图1中,可通过用有理二进常数近似变换常数C3π/8及S3π/8来实现定点整数算术中整数变量x与常数C3π/8与S3π/8的乘法,如下式:
C 3 &pi; / 8 7 = 49 128 = b 00110001 b 10000000 , 及           等式(20)
S 3 &pi; / 8 9 = 473 512 = b 0111011001 b 1000000000 ,                等式(21)
其中
Figure A200780002055D00156
是有理二进常数,其是C3π/8的7位近似,及
Figure A200780002055D00157
是有理二进常数,其是S3π/8的9位近似。
可将整数变量x乘以常数
Figure A200780002055D00158
的乘法表示为:
y=(x·49)/128  及  z=(x·473)/512.      等式(22)
可通过以下运算系列来实现等式(22)中的乘法:
w1=x,                       //1          等式(23)
w2=w1-(w2>>2),             //011
w3=w1>>6,                  //0000001
w4=w2+w3,                  //0110001
w3=w1-w3,                  //011111
w6=w2>>1,                  //00110001
w7=w3-(w1>>4),             //0111011
w8=w7+(w1>>9),             //0111011001、
所需要的乘积等于w6及w8,或w6=y且w8=z。可通过五次加法及五次移位联合执行等式(22)中的两次乘法以产生七个中间值w2到w8。在w3与w6的产生中省略零的加法。在w4与w5的产生中省略零的移位。
对于图1所示的8点IDCT,针对与常数
Figure A200780002055D00161
Figure A200780002055D00162
的乘法使用上文所说明的计算技术,可将8位精确性的总复杂性表示为:28+3·2+5·2=44次加法及3·2+5·2=16次移位。大体来说,可通过针对每一变换常数的近似使用充足数量的位来实现任何所需要的精确性。
对于图2所示的8点DCT,可用有理二进常数来近似无理常数1/Cπ/4、C3π/8及S3π/8。可使用上文所说明的计算技术来实现与有理二进常数的乘法。
对于图3所示的IDCT,共用因数F1及F2的不同值可导致所述IDCT的逻辑及算术运算的总数不同及输出样本x[0]到x[7]的精确性水平不同。可评价F1及F2的不同值组合。对于每一值组合,可确定IDCT的逻辑及算术运算的总数及输出样本的精确性。
对于给定的F1值,可分别针对F1及F1·Cπ/4获得有理二进常数α1及β1。然后,可针对X1与α1的乘法及X2与β1的乘法来确定逻辑及算术运算的数量。对于给定F2值,可分别针对F2、F2·Cπ/4、F2·C3π/8及F2·S3π/8获得有理二进常数α2、β2、γ2及δ2。然后,可针对X4与α2的乘法、X3与β2的乘法及X5与γ2及δ2两者的乘法来确定逻辑及算术运算的数量。X6与γ2及δ2的乘法的运算数量等于X5与γ2及δ2的乘法的运算数量。
为促进共用因数的评价及选择,可针对与不同的可能有理二进常数值的乘法预计算逻辑及算术运算的数量。可将逻辑及算术运算的预计算数量存储在查找表或某其它数据结构中。
图5显示存储与不同有理二进常数值的乘法的逻辑及算术运算的数量的查找表500。查找表500是二维表,其中第一有理二进常数C1的不同可能值在水平轴上且第二有理二进常数C2的不同可能值在垂直轴上。每一有理二进常数的可能值数量取决于所述常数所使用的位的数量。举例来说,如果C1用13个位表示,那么对于C1存在8192个可能值。将每一有理二进常数的可能值指示为c0、c1、c2、...、cM,其中c0=0,c1是最小的非零值,而cM是最大值(例如,对于13个位,cM=8191)。
查找表500的第i列及第j行中的条目包含中间变量x与第一有理二进常数C1的ci及第二有理二进常数C2的cj两者的联合乘法的逻辑及算术运算的数量。查找表500中的每一条目的值可通过针对与所述条目的ci及cj的联合乘法评价不同的可能中间值系列并选择最好系列(例如,具有最少运算的系列)来确定。查找表500的第一行中的条目(对于第二有理二进常数C2,c0=0)包含中间变量x仅与第一有理二进常数C1的ci的乘法的运算的数量。由于所述查找表是对称的,因此仅可填充所述表的仅一半(例如,主对角线上方或下方)中的条目。此外,可通过考虑用有理二进常数C1及C2近似无理常数来减少将要填充条目的数量。
对于给定的F1值,可确定有理二进常数α1及β1。从查找表500的第一行中的条目可容易地确定X1与α1的乘法及X2与β1的乘法的逻辑及算术运算的数量,其中α1及β1对应于C1。同样,对于给定F2值,可确定有理二进常数α2、β2、γ2及δ2。可从查找表500的第一行中的条目确定X4与α2的乘法及X3与β2的乘法的逻辑及算术运算的数量,其中α2及β2对应于C1。可从查找表500中的适当条目确定X5与γ2及δ2的联合乘法的逻辑及算术运算的数量,其中γ2可对应于C1且δ2可对应于C2,或反之亦然。
对于F1与F2的每一可能值组合,可针对具有不同随机输入数据的充足数量的迭代来确定表6中的精确性度量。可将导致较差精确性(例如,度量不合格)的F1及F2的值丢弃,且可保留导致良好精确性(例如,度量合格)的F1及F2的值。
表1到5显示图3中的IDCT的五个定点近似,其被指示为算法A、B、C、D及E。这些近似针对两个群组的因数,其中一个群组包括α1及β1,而另一群组包括α2、β2、γ2及δ2。对于表1到5中的每一者,在第一列中给出每一群组的共用因数。所述共用因数改善有理二进常数近似的精确性且可与IDCT的流程图中的适当换算因数合并。在第三列中给出原始值(其可以是1或无理常数)。在第四列中给出每一原始值的用其共用因数换算的有理二进常数。在第五列中给出用于中间变量x与一个或两个有理二进常数的乘法的中间值系列。分别在第六及第七列中给出每一乘法的加法及移位运算的数量。IDCT的加法运算的总数等于第六列中的所有加法运算加上最后条目(以计及X5及X6中的每一者与γ2及δ2两者的乘法)再加上流程图中的所有蝶形运算的28个加法运算的和。IDCT的移位运算的总数等于最后一列中的所有移位运算再加上最后条目的和。
表1给出算法A的细节,算法A针对所述两个群组中的每一者使用共用因数1/1.0000442471。
     表1-近似A(42次加法,16次移位)
Figure A200780002055D00181
表2给出算法B的细节,算法B针对第一群组使用共用因数1/1.0000442471而针对第二群组使用共用因数1/1.02053722659)。
           表2-近似B(43次加法,17次移位)
表3给出算法C的细节,算法C针对第一群组使用共用因数1/0.87734890555而针对第二群组使用共用因数1/1.02053722659。
      表3-近似C(44次加法,18次移位)
表4给出算法D的细节,算法D针对第一群组使用共用因数1/0.87734890555而针对第二群组使用共用因数1/0.89062054308。
        表4-近似D(45次加法,17次移位)
Figure A200780002055D00192
表5给出算法E的细节,算法E针对第一群组使用共用因数1/0.87734890555而针对第二群组使用共用因数1/1.22387468002。
       表5-近似E(48次加法,20次移位)
Figure A200780002055D00201
可基于IEEE标准1180-1190及其待审取代物中所定义的度量来量化来自近似IDCT的输出样本的精确性。此标准规定使用来自随机数产生器的数据测试参考64位浮点DCT,后跟所述近似IDCT。所述参考DCT接收用于输入像素块的随机数据并产生变换系数。所述近似IDCT接收所述变换系数(已适当舍入)并产生重构像素块。使用表6中给出的五个度量将所重构的像素与输入像素相比较。此外,需要近似IDCT以在供应有零变换系数时产生所有的零,并演示近DC反演行为。上文所给出的所有五个算法A到E均通过表6中的所有度量。
             表6
可将图3所示的1D IDCT用于2D IDCT。同样,可将图4所示的1D DCT用于2D DCT。
图6显示以换算及可分离方式实施的2D IDCT 600的设计。2D IDCT 600包含输入换算级612,后跟用于列(或行)的第一已换算1D IDCT级614,进一步后跟用于行(或列)的第二已换算1D IDCT级616,且以输出换算级618结束。输入换算级612接收8×8变换系数块且可将每一变换系数与常数C=2P预相乘,或使每一变换系数左移P个位,其中P指示所保留的“尾数”位的数量。在换算之后,可为DC变换系数增加2P-1的量以实现输出样本的适当舍入。为改善换算的精确性,可在换算因数到整数的转换中使用S=P+R个位,且可在乘法之后执行R个位的右移。S可以是可促进硬件平台上的实施方案的任何适合值,例如,对于具有带正负号/不带正负号的16位乘法器的平台来说,S可以是15或16。
第一1D IDCT级614对所述已换算的变换系数块的每一列执行8点IDCT。第二1D IDCT级616对第一1D IDCT级614所产生的中间块的每一行执行8点IDCT。第一及第二级的1D IDCT可直接对其输入数据操作,而无需进行任何内部预换算或后换算。在处理行及列之后,输出换算级618可使来自第二1D IDCT级616的所得量右移P个位以产生2D IDCT的输出样本。换算因数及精确性常数P可经选择使得可使用所需宽度的寄存器实施所述整个2D IDCT。
可以与2D IDCT相似的方式执行所述2D DCT。可通过以下步骤执行所述2DDCT:(a)预乘以空间域样本块,(b)对所述已换算的样本块的每一列(或行)执行1D DCT以产生中间块,(c)对所述中间块的每一行(或列)执行1D DCT,及(d)换算所述第二1D DCT级的输出以产生所述2D DCT的变换系数块。
为清晰起见,以上说明的许多内容是针对8点已换算IDCT及8点已换算DCT。本文所说明的技术可用于任何类型的变换,例如DCT、IDCT、DFT、IDFT、MLT、反MLT、MCLT、反MCLT等。所述技术也可用于变换的任何因数分解,其中在图1到4中给出若干实例性因数分解。如上所述,可基于因数分解选择共用因数的群组。所述技术也可用于任何大小的变换,其中在图1到4中给出实例性8点变换。也可结合任何共用因数选择准则(例如,逻辑及算术运算的总数、算术运算的总数、结果的精确性等)来使用所述技术。
变换的运算数量可取决于乘法的执行方式。上文所说明的计算技术将乘法展开成移位及加法运算的系列,使用中间结果来减少运算的数量,且使用共同系列来执行与多个常数的联合乘法。也可用可影响共用因数的选择的其它计算技术来执行所述乘法。
本文所说明的使用共用因数的变换可提供某些优点,例如:
·较低的乘法复杂性,此是因为在已换算阶段中将乘法合并,
·可能的复杂性降低,此是因为JPEG、H.263、MPEG-1、MPEG-2、MPEG-4(P.2)及其它标准的实施方案中的将换算与量化合并的能力,及
·改善的精确性,此是因为通过引入可由换算因数计算出的共用因数而最小化/分散乘法中所使用的无理常数的定点近似误差的能力。
可将具有共用因数的变换用于各种应用,例如图像及视频处理、通信、计算、数据联网、数据存储、绘图等。下文说明变换在视频处理中的实例性使用。
图7显示图像/视频编码及解码系统700的方块图。在编码系统710处,DCT单元720接收输入数据块并产生变换系数块。所述输入数据区块可以是N×N像素块、N×N像素差值(或参数)块或从源信号(例如视频信号)产生的某一其它类型的数据。所述像素差值可以是两个像素块之间的差、像素块与预测像素块之间的差等。N可等于8或某一其它值。编码器730从DCT单元720接收所述变换系数块,将所述变换系数编码,并产生经压缩数据。可将所述经压缩数据存储在存储单元中及/或经由通信信道将其发送(云状物740)。
在解码系统750处,解码器760从存储单元或通信信道740接收所述经压缩数据并重构所述变换系数。IDCT单元770接收所述经重构的变换系数并产生输出数据块。所述输出数据块可以是N×N经重构像素块、N×N经重构像素差值块等。所述输出数据块可以是提供到DCT单元720的输入数据块的估计且可用于重构源信号。
图8显示编码系统800(其可用于图7中的编码系统710)的方块图。捕获装置/存储器810可接收源信号,执行到数字格式的转换,并提供输入/原始数据。捕获装置810可以是摄像机、数字化器或某一其它装置。处理器820处理所述原始数据并产生经压缩数据。在处理器820内,所述原始数据可由DCT单元822转换、由折线扫描单元824扫描、由量化器826量化、由熵编码器828编码且由包化器830包化。DCT单元822可根据上文所说明的技术对所述原始数据执行2D DCT。可将单元830到930中的每一者实施为硬件、固件及/或软件。举例来说,可用专用硬件、用于算术逻辑单元(ALU)的一组指令等来实施DCT单元822。
存储单元840可存储来自处理器820的经压缩数据。传输器842可发送经压缩数据。控制器/处理器850控制编码系统800内的各种单元的运作。存储器852存储用于编码系统800的数据及程序代码。一个或一个以上总线860使编码系统800中的各种单元互连。
图9显示解码系统900(其可用于图7中的解码系统750)的方块图。接收器910可从编码系统接收经压缩数据,而存储单元912可存储所接收的经压缩数据。处理器920处理所述经压缩数据并产生输出数据。在处理器920内,所述经压缩数据可由解包化器922解包化、由熵解码器924解码、由反量化器926反量化、由反折线扫描单元928按适当顺序放置且由IDCT单元930变换。IDCT单元930可根据上文所说明的技术对经重构的变换系数执行2D IDCT。可将单元922到930中的每一者实施为硬件、固件及/或软件。举例来说,可用专用硬件、用于ALU的一组指令等来实施IDCT单元930。
显示器单元940显示来自处理器920的经重构图像及视频。控制器/处理器950控制解码系统900中各种单元的运作。存储器952存储用于解码系统900的数据及程序代码。一个或一个以上总线960使解码系统900中的各种单元互连。
可用一个或一个以上专用集成电路(ASIC)、数字信号处理器(DSP)及/或某一其它类型的处理器来实施处理器820及920中的每一者。另一选择为,可用一个或一个以上随机存取存储器(RAM)、只读存储器(ROM)、电可编程ROM(EPROM)、电可抹除可编程ROM(EEPROM)、磁盘、光盘及/或所属技术领域中已知的其它类型的易失性及非易失性存储器来取代处理器820及920中的每一者。
可将本文所说明的技术实施于硬件、固件、软件或其组合。举例来说,可用一个或一个以上逻辑(其也可称为单元、模块等)来实施数据值与常数值的乘法的逻辑(例如移位)及算术(例如加法)运算。逻辑可以是包含逻辑门、晶体管及/或所属技术领域中已知的其它电路的硬件逻辑。逻辑也可以是包含机器可读代码的固件及/或软件逻辑。
在一种设计中,一种设备包含用于执行第一群组至少一个数据值与第一群组至少一个有理二进常数的乘法的第一逻辑,所述第一群组至少一个有理二进常数近似用第一共用因数换算的第一群组至少一个无理常数。所述设备进一步包含用于执行第二群组至少一个数据值与第二群组至少一个有理二进常数的乘法的第二逻辑,所述第二群组至少一个有理二进常数近似用第二共用因数换算的第二群组至少一个无理常数。所述第一与第二群组至少一个数据值具有不同大小。所述第一及第二逻辑可以是分离的逻辑、相同的共同逻辑或共享逻辑。
对于固件及/或软件实施方案,可用执行所需要的逻辑及算术运算的机器可读代码来实现数据值与常数值的乘法。所述代码可硬接线于或存储于存储器(例如,图8中的存储器852或图9中的952)中并由处理器(例如,处理器850或950)或某种其它硬件单元执行。
可将本文所说明的技术实施于各种类型的设备中。举例来说,可将所述技术实施于不同类型的处理器、不同类型的集成电路、不同类型的电子装置、不同类型的电子电路等中。
所属技术领域的技术人员应了解,可使用各种不同科技及技术中的任一者表示信息及信号。举例来说,以上说明中可能提及的数据、指令、命令、信息、信号、位、符号及码片可由电压、电流、电磁波、磁场或粒子、光场或粒子或其任何组合表示。
所属技术领域的技术人员应进一步了解,结合本揭示内容所说明的各种说明性逻辑块、模块、电路及算法步骤可实施为电子硬件、计算机软件或两者的组合。为了清楚地图解说明此硬件与软件的互换性,上文已就其功能性大体地说明了各种说明性组件、块、模块、电路及步骤。此种功能性实施为硬件还是软件取决于特定应用及整个系统上所施加的设计限制。所属技术领域的技术人员可针对每一特定应用以不同的方式实施所说明的功能性,但此类实施方案决策不应解释为导致背离本揭示内容的范围。
结合所述揭示内容所说明的各种说明性逻辑块、模块及电路可用通用处理器、DSP、ASIC、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或设计用于执行本文所说明的功能的其任何组合来实施或执行。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器也可实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器、一个或一个以上微处理器与DSP核心的联合或任何其它此种配置。
在一个或一个以上实例性实施例中,可将所说明的功能实施于硬件、软件、固件或其任何组合中。如果实施于软件中,那么所述功能可作为一个或一个以上指令或代码来存储在计算机可读媒体上或通过所述指令或代码传输。计算机可读媒体包括计算机存储媒体及通信媒体,其包括可促进计算机程序从一个位置传送到另一位置的任何媒体。存储媒体可以是可由计算机存取的任何可用媒体。以实例而非限制的方式,此种计算机可读媒体可包含RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁性存储装置或可用于携载或存储呈指令或数据结构形式的所需程序代码且可由计算机存取的任何其它媒体。此外,可将任何连接恰当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或无线技术(例如红外线、无线电及微波)从网站、服务器或其它远端源传输软件,那么同轴电缆、光纤电缆、双绞线、DSL或无线技术(例如红外线、无线电及微波)包括于媒体的定义内。本文所使用的磁盘(disk)及光盘(disc)包括压缩光盘(CD)、激光盘、光盘、数字多功能光盘(DVD)、软盘及蓝光光盘,其中磁盘(disk)通常以磁性方式重制数据,而光盘用激光以光学方式重制数据。以上各项的组合也应包括在计算机可读媒体的范围内。
提供对本揭示内容的以上说明以使所属技术领域的任何技术人员能够制造或使用本揭示内容。所属技术领域的技术人员可易于得出对本揭示内容的各种修改,且本文所定义的一般原理可在背离本揭示内容的精神或范围的情况下适用于其它设计。因此,本文并非打算将本揭示内容限定为本文所示实例,而是赋予其与本文所揭示原理及新颖特征相一致的最宽广范围。

Claims (43)

1.一种设备,其包含:
第一逻辑,其用于执行第一群组至少一个数据值与第一群组至少一个有理二进常数的乘法,所述第一群组至少一个有理二进常数近似用第一共用因数换算的第一群组至少一个无理常数,每一有理二进常数是具有二进分母的有理数;及
第二逻辑,其用于执行第二群组至少一个数据值与第二群组至少一个有理二进常数的乘法,所述第二群组至少一个有理二进常数近似用第二共用因数换算的第二群组至少一个无理常数,所述第一与第二群组至少一个数据值具有不同大小。
2.如权利要求1所述的设备,其进一步包含:
第三逻辑,其用于执行第三群组至少一个数据值与第三群组至少一个有理二进常数的乘法,所述第三群组至少一个有理二进常数近似用第三共用因数换算的第三群组至少一个无理常数。
3.如权利要求1所述的设备,其中所述第二群组至少一个数据值是所述第一群组至少一个数据值的所述大小的两倍。
4.如权利要求1所述的设备,其中所述第一群组至少一个数据值包含两个数据值且所述第二群组至少一个数据值包含四个数据值。
5.如权利要求1所述的设备,其中所述第一群组至少一个无理常数包含单个无理常数且所述第二群组至少一个无理常数包含三个无理常数。
6.如权利要求1所述的设备,其中所述第一群组中的无理常数的数量比所述第一群组中的有理二进常数的数量少。
7.如权利要求1所述的设备,其中所述第一逻辑执行所述第一群组中的第一数据值与近似所述第一共用因数的第一有理二进常数的乘法,且执行所述第一群组中的第二数据值与近似用所述第一共用因数换算的无理常数的第二有理二进常数的乘法。
8.如权利要求1所述的设备,其中所述第二群组至少一个无理常数包含第一及第二无理常数,其中所述第二群组至少一个有理二进常数包含近似用所述第二共用因数换算的所述第一无理常数的第一有理二进常数及近似用所述第二共用因数换算的所述第二无理常数的第二有理二进常数。
9.如权利要求8所述的设备,其中所述第二逻辑执行所述第二群组中的数据值与所述第一有理二进常数的乘法,且执行所述数据值与所述第二有理二进常数的乘法。
10.如权利要求8所述的设备,其中所述第二逻辑使用单个系列中间值执行所述第二群组中的数据值与所述第一及第二有理二进常数的乘法。
11.如权利要求1所述的设备,其中所述第一共用因数是基于所述第一群组至少一个数据值与所述第一群组至少一个有理二进常数的所述乘法的逻辑及算术运算的数量而选择的,且其中所述第二共用因数是基于所述第二群组至少一个数据值与所述第二群组至少一个有理二进常数的所述乘法的逻辑及算术运算的数量而选择的。
12.如权利要求11所述的设备,其中所述逻辑及算术运算包含移位与加法运算。
13.如权利要求11所述的设备,其中所述第一及第二共用因数是进一步基于从所述乘法产生的结果的至少一个精确性度量而选择的。
14.如权利要求1所述的设备,其中所述第一共用因数是通过确定所述第一群组至少一个数据值与通过所述第一共用因数的不同可能值获得的所述第一群组至少一个有理二进常数的不同可能值的乘法的逻辑及算术运算的数量而选择的。
15.如权利要求1所述的设备,其中对于所述第一群组中的数据值与所述第一群组中的有理二进常数的乘法,所述第一逻辑基于所述数据值产生一系列中间值,其中所述系列中的至少一个中间值是基于所述系列中的至少一个其它中间值产生的,并提供所述系列中的一个中间值作为所述数据值与所述有理二进常数的所述乘法的输出值。
16.如权利要求1所述的设备,其中所述第一及第二逻辑针对线性变换执行所述乘法。
17.如权利要求16所述的设备,其进一步包含:
第三逻辑,其用于基于所述第一及第二逻辑的输出执行至少一次蝶形运算以产生所述线性变换的结果。
18.如权利要求1所述的设备,其中所述第一及第二逻辑针对离散余弦变换(DCT)执行所述乘法。
19.如权利要求1所述的设备,其中所述第一及第二逻辑针对反离散余弦变换(IDCT)执行所述乘法。
20.如权利要求1所述的设备,其中所述第一及第二逻辑针对8点离散余弦变换(DCT)或8点反离散余弦变换(IDCT)执行所述乘法。
21.一种设备,其包含:
第一逻辑,其用于执行第一群组两个数据值与第一群组两个有理二进常数的乘法,所述第一群组两个有理二进常数近似用第一共用因数换算的第一群组至少一个无理常数,每一有理二进常数是具有二进分母的有理数;及
第二逻辑,其用于执行第二群组四个数据值与第二群组四个有理二进常数的乘法,所述第二群组四个有理二进常数近似用第二共用因数换算的第二群组至少一个无理常数。
22.一种方法,其包含:
执行第一群组至少一个数据值与第一群组至少一个有理二进常数的乘法,所述第一群组至少一个有理二进常数近似用第一共用因数换算的第一群组至少一个无理常数,每一有理二进常数是具有二进分母的有理数;及
执行第二群组至少一个数据值与第二群组至少一个有理二进常数的乘法,所述第二群组至少一个有理二进常数近似用第二共用因数换算的第二群组至少一个无理常数,所述第一与第二群组至少一个数据值具有不同大小。
23.如权利要求22所述的方法,其进一步包含:
执行第三群组至少一个数据值与第三群组至少一个有理二进常数的乘法,所述第三群组至少一个有理二进常数近似用第三共用因数换算的第三群组至少一个无理常数。
24.如权利要求22所述的方法,其中所述执行所述第一群组至少一个数据值的乘法包含,对于所述第一群组中的数据值与所述第一群组中的有理二进常数的乘法,
基于所述数据值产生一系列中间值,其中所述系列中的至少一个中间值是基于所述系列中的至少一个其它中间值产生的,及
提供所述系列中的一个中间值作为所述数据值与所述有理二进常数的所述乘法的输出值。
25.如权利要求22所述的方法,其中所述执行所述第二群组至少一个数据值的乘法包含基于单个系列中间值执行所述第二群组中的数据值与所述第二群组中的第一及第二有理二进常数的乘法。
26.一种设备,其包含:
执行装置,其用于执行第一群组至少一个数据值与第一群组至少一个有理二进常数的乘法,所述第一群组至少一个有理二进常数近似用第一共用因数换算的第一群组至少一个无理常数,每一有理二进常数是具有二进分母的有理数;及
执行装置,其用于执行第二群组至少一个数据值与第二群组至少一个有理二进常数的乘法,所述第二群组至少一个有理二进常数近似用第二共用因数换算的第二群组至少一个无理常数,所述第一与第二群组至少一个数据值具有不同大小。
27.如权利要求26所述的设备,其进一步包含:
执行装置,其用于执行第三群组至少一个数据值与第三群组至少一个有理二进常数的乘法,所述第三群组至少一个有理二进常数近似用第三共用因数换算的第三群组至少一个无理常数。
28.如权利要求26所述的设备,其中所述用于执行所述第一群组至少一个数据值的乘法的装置包含,对于所述第一群组中的数据值与所述第一群组中的有理二进常数的乘法,
产生装置,其用于基于所述数据值产生一系列中间值,其中所述系列中的至少一个中间值是基于所述系列中的至少一个其它中间值产生的,及
提供装置,其用于提供所述系列中的一个中间值作为所述数据值与所述有理二进常数的所述乘法的输出值。
29.如权利要求26所述的设备,其中所述用于执行所述第二群组至少一个数据值的乘法的装置包含用于基于单个系列中间值执行所述第二群组中的数据值与所述第二群组中的第一及第二有理二进常数的乘法的装置。
30.一种设备,其包含:
第一逻辑,其用于接收至少一个数据值;及
第二逻辑,其用于执行所述至少一个数据值与至少一个有理二进常数的乘法,所述至少一个有理二进常数近似用共用因数换算的至少一个无理常数,每一有理二进常数是具有二进分母的有理数,所述共用因数是基于所述至少一个数据值与所述至少一个有理二进常数的所述乘法的逻辑及算术运算的数量而选择的。
31.如权利要求30所述的设备,其中所述逻辑及算术运算包含移位及加法运算。
32.如权利要求30所述的设备,其中所述共用因数是进一步基于从所述至少一个数据值与所述至少一个有理二进常数的所述乘法产生的结果的至少一个精确性度量而选择的。
33.如权利要求30所述的设备,其中对于数据值与有理二进常数的乘法,所述第二逻辑基于所述数据值产生一系列中间值,其中所述系列中的至少一个中间值是基于所述系列中的至少一个其它中间值产生的,并提供所述系列中的一个中间值作为所述数据值与所述有理二进常数的所述乘法的输出值。
34.如权利要求30所述的设备,其中所述逻辑及算术运算的数量是使用中间结果执行所述至少一个数据值与所述至少一个有理二进常数的乘法以产生所述乘法的至少一个输出值而确定的。
35.一种方法,其包含:
接收至少一个数据值;及
执行所述至少一个数据值与至少一个有理二进常数的乘法,所述至少一个有理二进常数近似用共用因数换算的至少一个无理常数,每一有理二进常数是具有二进分母的有理数,所述共用因数是基于所述至少一个数据值与所述至少一个有理二进常数的所述乘法的逻辑及算术运算的数量而选择的。
36.如权利要求35所述的方法,其中所述逻辑及算术运算包含移位及加法运算。
37.如权利要求35所述的方法,其中所述执行乘法包含,对于数据值与有理二进常数的乘法,
基于所述数据值产生一系列中间值,其中所述系列中的至少一个中间值是基于所述系列中的至少一个其它中间值产生的,及
提供所述系列中的一个中间值作为所述数据值与所述有理二进常数的所述乘法的输出值。
38.一种设备,其包含:
接收装置,其用于接收至少一个数据值;及
执行装置,其用于执行所述至少一个数据值与至少一个有理二进常数的乘法,所述至少一个有理二进常数近似用共用因数换算的至少一个无理常数,每一有理二进常数是具有二进分母的有理数,所述共用因数是基于所述至少一个数据值与所述至少一个有理二进常数的所述乘法的逻辑及算术运算的数量而选择的。
39.如权利要求38所述的设备,其中所述逻辑及算术运算包含移位及加法运算。
40.如权利要求38所述的设备,其中所述用于执行乘法的装置包含,对于数据值与有理二进常数的乘法,
产生装置,其用于基于所述数据值产生一系列中间值,其中所述系列中的至少一个中间值是基于所述系列中的至少一个其它中间值产生的,及
提供装置,其用于提供所述系列中的一个中间值作为所述数据值与所述有理二进常数的所述乘法的输出值。
41.一种计算机程序产品,其包含:
计算机可读媒体,其包含:
用于致使计算机接收至少一个数据值的代码;及
用于致使所述计算机执行所述至少一个数据值与至少一个有理二进常数的乘法的代码,所述至少一个有理二进常数近似用共用因数换算的至少一个无理常数,每一有理二进常数是具有二进分母的有理数,所述共用因数是基于所述至少一个数据值与所述至少一个有理二进常数的所述乘法的逻辑及算术运算的数量而选择的。
42.一种计算机程序产品,其包含:
计算机可读媒体,其包含:
用于致使计算机执行第一群组至少一个数据值与第一群组至少一个有理二进常数的乘法的代码,所述第一群组至少一个有理二进常数近似用第一共用因数换算的第一群组至少一个无理常数,每一有理二进常数是具有二进分母的有理数;及
用于致使所述计算机执行第二群组至少一个数据值与第二群组至少一个有理二进常数的乘法的代码,所述第二群组至少一个有理二进常数近似用第二共用因数换算的第二群组至少一个无理常数,所述第一与第二群组至少一个数据值具有不同大小。
43.如权利要求22所述的计算机可读媒体,其进一步包含:
用于致使计算机执行第三群组至少一个数据值与第三群组至少一个有理二进常数的乘法的代码,所述第三群组至少一个有理二进常数近似用第三共用因数换算的第三群组至少一个无理常数。
CN2007800020554A 2006-01-11 2007-01-11 用于执行数据变换的设备和方法 Expired - Fee Related CN101375274B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210535316.1A CN103096077B (zh) 2006-01-11 2007-01-11 用于执行数据变换的设备和方法

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US75846406P 2006-01-11 2006-01-11
US60/758,464 2006-01-11
US11/621,945 2007-01-10
US11/621,945 US8595281B2 (en) 2006-01-11 2007-01-10 Transforms with common factors
PCT/US2007/060405 WO2007082272A2 (en) 2006-01-11 2007-01-11 Transforms with common factors

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201210535316.1A Division CN103096077B (zh) 2006-01-11 2007-01-11 用于执行数据变换的设备和方法

Publications (2)

Publication Number Publication Date
CN101375274A true CN101375274A (zh) 2009-02-25
CN101375274B CN101375274B (zh) 2013-02-13

Family

ID=38257126

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2007800020554A Expired - Fee Related CN101375274B (zh) 2006-01-11 2007-01-11 用于执行数据变换的设备和方法
CN201210535316.1A Expired - Fee Related CN103096077B (zh) 2006-01-11 2007-01-11 用于执行数据变换的设备和方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201210535316.1A Expired - Fee Related CN103096077B (zh) 2006-01-11 2007-01-11 用于执行数据变换的设备和方法

Country Status (15)

Country Link
US (1) US8595281B2 (zh)
EP (2) EP1999641A2 (zh)
JP (1) JP5086274B2 (zh)
KR (1) KR101028676B1 (zh)
CN (2) CN101375274B (zh)
AU (1) AU2007204645B2 (zh)
BR (1) BRPI0706474A2 (zh)
CA (1) CA2633897C (zh)
IL (1) IL192075A0 (zh)
MX (1) MX2008008987A (zh)
NO (1) NO20083465L (zh)
NZ (1) NZ568993A (zh)
RU (1) RU2429531C2 (zh)
TW (1) TWI359364B (zh)
WO (1) WO2007082272A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102804172A (zh) * 2009-06-24 2012-11-28 高通股份有限公司 用于媒体数据译码的16点变换

Families Citing this family (15)

* 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
US20070271321A1 (en) * 2006-01-11 2007-11-22 Qualcomm, Inc. Transforms with reduce complexity and/or improve precision by means of common factors
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
US8654833B2 (en) * 2007-09-26 2014-02-18 Qualcomm Incorporated Efficient transformation techniques for video coding
US8248660B2 (en) * 2007-12-14 2012-08-21 Qualcomm Incorporated Efficient diffusion dithering using dyadic rationals
US9110849B2 (en) * 2009-04-15 2015-08-18 Qualcomm Incorporated Computing even-sized discrete cosine transforms
US9069713B2 (en) * 2009-06-05 2015-06-30 Qualcomm Incorporated 4X4 transform for media coding
US8762441B2 (en) * 2009-06-05 2014-06-24 Qualcomm Incorporated 4X4 transform for media coding
US9075757B2 (en) 2009-06-24 2015-07-07 Qualcomm Incorporated 16-point transform for media data coding
US8451904B2 (en) * 2009-06-24 2013-05-28 Qualcomm Incorporated 8-point transform for media data coding
US9118898B2 (en) 2009-06-24 2015-08-25 Qualcomm Incorporated 8-point transform for media data coding
US9185422B2 (en) * 2010-07-15 2015-11-10 Qualcomm Incorporated Variable localized bit-depth increase for fixed-point transforms in video coding
US9824066B2 (en) 2011-01-10 2017-11-21 Qualcomm Incorporated 32-point transform for media data coding
US11030777B2 (en) * 2018-09-14 2021-06-08 Sony Group Corporation Adaptive subband coding for lifting transform

Family Cites Families (43)

* 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 株式会社オフィスノア 動画像情報の圧縮方法およびそのシステム
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
US6529634B1 (en) 1999-11-08 2003-03-04 Qualcomm, Inc. Contrast sensitive variance based adaptive block size DCT image compression
US6760486B1 (en) 2000-03-28 2004-07-06 General Electric Company Flash artifact suppression in two-dimensional ultrasound imaging
US6820104B2 (en) 2000-06-09 2004-11-16 Walter Eugene Pelton Apparatus, methods, and computer program products for reducing the number of computations and number of required stored values for information processing methods
US6766341B1 (en) * 2000-10-23 2004-07-20 International Business Machines Corporation Faster transforms using scaled terms
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
DE60222894D1 (de) 2001-06-12 2007-11-22 Silicon Optix Inc Verfahen und vorrichtung zur verarbeitung einer nichtlinearen zweidimensionalen räumlichen 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
US7587093B2 (en) 2004-07-07 2009-09-08 Mediatek Inc. Method and apparatus for implementing DCT/IDCT based video/image processing
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
CN100388316C (zh) * 2005-04-19 2008-05-14 展讯通信(上海)有限公司 高精度的无乘法器的数字余弦变换电路及其变换方法
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
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102804172A (zh) * 2009-06-24 2012-11-28 高通股份有限公司 用于媒体数据译码的16点变换

Also Published As

Publication number Publication date
WO2007082272A3 (en) 2008-10-02
US20070168410A1 (en) 2007-07-19
US8595281B2 (en) 2013-11-26
WO2007082272A2 (en) 2007-07-19
CN103096077A (zh) 2013-05-08
CN103096077B (zh) 2016-03-16
IL192075A0 (en) 2009-08-03
TWI359364B (en) 2012-03-01
CA2633897A1 (en) 2007-07-19
RU2008132827A (ru) 2010-02-20
TW200809537A (en) 2008-02-16
EP1999641A2 (en) 2008-12-10
AU2007204645B2 (en) 2010-08-12
CN101375274B (zh) 2013-02-13
AU2007204645A1 (en) 2007-07-19
EP2477121A2 (en) 2012-07-18
EP2477121A3 (en) 2015-01-21
KR20090007279A (ko) 2009-01-16
BRPI0706474A2 (pt) 2011-03-29
MX2008008987A (es) 2008-11-18
NO20083465L (no) 2008-10-10
KR101028676B1 (ko) 2011-04-12
JP5086274B2 (ja) 2012-11-28
CA2633897C (en) 2013-04-02
RU2429531C2 (ru) 2011-09-20
JP2009534721A (ja) 2009-09-24
NZ568993A (en) 2010-09-30

Similar Documents

Publication Publication Date Title
CN101375274B (zh) 用于执行数据变换的设备和方法
CN101796506B (zh) 具有比例缩放式和非比例缩放式接口的变换设计
Rao et al. The transform and data compression handbook
JP4942793B2 (ja) 時間ドメインから周波数ドメインへ及びそれとは逆にデジタル信号を変換する方法
CN1697328B (zh) 快速视频编解码变换实现
US20070271321A1 (en) Transforms with reduce complexity and/or improve precision by means of common factors
JP2009513993A (ja) 変換表現に転換するか、または変換表現を逆変換するための装置および方法
Yamatani et al. Improvement of DCT-based compression algorithms using Poisson's equation
US7216140B1 (en) Efficient implementation of n-point DCT, n-point IDCT, SA-DCT and SA-IDCT algorithms
KR101722215B1 (ko) 이산 여현 변환 장치 및 방법
Seiler et al. A fast algorithm for selective signal extrapolation with arbitrary basis functions
US7489826B2 (en) Compensating for errors in performance sensitive transformations
Peter et al. Compressing audio signals with inpainting-based sparsification
Li et al. Lossy compression algorithms
Bhosale et al. A comparative analysis on hardware system of 2D discrete wavelet transformation for the image denoising application
US7609902B2 (en) Implementation of discrete cosine transformation and its inverse on programmable graphics processor
Islam et al. Design and implementation of discrete cosine transform chip for digital consumer products
CN100349466C (zh) 视频或图像压缩中准能量守恒变换的方法和装置
TWI432029B (zh) 具有比例化及非比例化介面之變換設計
Bi et al. Block Compressive Sensing Algorithm Based on Interleaving Extraction in Contourlet Domain
Levy et al. A hybrid fractal-wavelet transform image data compression algorithm
Quan et al. The application of integer MDCT in MP3 audio
Vigneash et al. VLSI Based Low Power Hardware Design Using Distributed Arithmetic (DA) Centered 2d Adam7 Transform For The Proposed Image Compression Algorithm
Rabman Architectures for the Finite Ridgelet Transform

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1127851

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1127851

Country of ref document: HK

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

Granted publication date: 20130213

Termination date: 20190111

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