CN102067108B - 并向量分数与符号对称舍入误差的乘积的快速计算 - Google Patents

并向量分数与符号对称舍入误差的乘积的快速计算 Download PDF

Info

Publication number
CN102067108B
CN102067108B CN200880104677.2A CN200880104677A CN102067108B CN 102067108 B CN102067108 B CN 102067108B CN 200880104677 A CN200880104677 A CN 200880104677A CN 102067108 B CN102067108 B CN 102067108B
Authority
CN
China
Prior art keywords
sequence
value
intermediate value
tolerance
error
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.)
Active
Application number
CN200880104677.2A
Other languages
English (en)
Other versions
CN102067108A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=40409178&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN102067108(B) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Priority to CN201210490885.9A priority Critical patent/CN102982007B/zh
Publication of CN102067108A publication Critical patent/CN102067108A/zh
Application granted granted Critical
Publication of CN102067108B publication Critical patent/CN102067108B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • 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
    • 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Algebra (AREA)
  • Software Systems (AREA)
  • Discrete Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Nonlinear Science (AREA)
  • Complex Calculations (AREA)
  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

整数值与无理值的乘积可通过符号对称算法来确定。过程可确定使例如平均不对称、平均误差、误差方差及误差量值等度量最小化的可能算法。给定整数变量x及近似于无理分数的有理并向量常数,可产生符号对称的一系列中间值。所述中间值可包括加法、减法及右移运算的序列,当共同求和时,求所述整数值与所述无理值的所述乘积的近似值。可移除例如0的加法或减法或0个位的移位等其它运算。

Description

并向量分数与符号对称舍入误差的乘积的快速计算
技术领域
本文中的标的物大体上涉及处理,且明确地说,涉及用于硬件及软件处理中的近似技术。
背景技术
算术移位可用以执行带符号整数与2的幂的乘法或除法。对带符号或无符号的二进制数向左移位n个位具有使其与2n相乘的效果。对2补数带符号的二进制数向右移位n个位具有用2n除其的效果,但其通常舍去(即,向负无穷大)。由于右移非线性运算,所以算术右移可增加舍入误差且产生可不等于右移之后的乘法结果的结果。
在一些实施方案中,符号对称算法可用于IDCT变换架构或其它数字滤波器中。
算术移位的使用的一个实例是在一些信号处理算法的定点实施方案中,例如,FFT、DCT、MLT、MDCT等。此类信号处理算法通常使用并向量有理分数来近似于这些算法的数学定义中的无理(代数或超越)因子。此方式允许使用整数加法及移位而非较复杂运算来执行这些无理分数的乘法。
发明内容
整数值及无理值的乘积可由符号对称算法确定。过程可确定最小化例如平均不对称、平均误差、误差方差及误差量值的度量(metric)的可能算法。给定整数变量x及近似于无理分数的有理并向量常数,可产生符号对称的一系列中间值。给定加法、减法及右移运算的序列,符号对称算法可对整数值及无理值的乘积求近似值。可移除例如0的加法或减法或0个位的移位的其它运算以简化处理。
提供此发明内容以便以简化形式引入以下在详细描述中进一步描述的概念的选择。此发明内容并不打算识别所主张标的物的关键特征或基本特征,其也并不打算用以限制所主张标的物的范围。
附图说明
图1为各种计算算法的结果的曲线。
图2为确定用以确定乘积的符号对称算法的实例过程的流程图。
图3为实施定点IDCT算法的示范性架构。
图4为示范性编码系统的框图。
图5为示范性解码系统的框图。
具体实施方式
离散余弦变换(DCT)及反离散余弦变换(IDCT)执行关于无理常数的乘法运算(即,余弦)。在DCT/IDCT的实施方案的设计中,这些无理常数的计算乘积的近似可使用定点算术执行。一种用于将浮点值转换为定点值的技术是基于通过并向量分数求无理因子αi近似值:
αi≈ai/2k(1)
其中ai与k两者都为整数。x与因子αi的乘法提供整数算术中的近似的实施方案,如下:
i≈(x*ai)>>k(2)
其中>>指示逐位右移运算。
精确位的数目k可影响并向量有理近似的复杂性。在软件实施方案中,精确参数k可由寄存器的宽度(例如,16或32)约束且不满足此设计约束的后果可导致延长变换的执行时间。在硬件设计中,精确参数k影响实施加法器及乘法器所需的门数目。因此,定点设计中的目标为最小化位k的总数目,同时维持近似的充分准确性。
在无对值αi任何特定约束的情况下且假定对于任何给定k,分母ai的对应值可经选择使得:
| α i - a i / 2 k | = 2 - k | 2 k α i - a i | = 2 - k min z ∈ Z | 2 k α i - z |
且(1)中的近似的绝对误差应与2k成反比:
i-ai/2k|≤2-k-1
即,每一额外精确位(即,增加k)应将误差减小一半。
在一些实施方案中,如果待求近似值的值α1、αn可由一些额外参数ξ缩放,则可改进误差率。如果α1、…、αn为n个无理数的集合(n≥2),则存在无限多个n+2元组a1、…、an、k、ξ,其中a1、…、an∈Z,k∈N且ξ∈Q,使得:
max { &xi;&alpha; 1 - a 1 / 2 k | , . . . , | &xi;&alpha; n - a n / 2 k } < n n + 1 &xi; - 1 / n 2 - k ( 1 + 1 / n )
换句话说,如果可改变算法使得所有其无理因子α1、…、αn可由一些参数ξ预先缩放,则应存在具有如2-k(1+1/n)一样快速减小的绝对误差的近似。举例来说,当n=2时,在位的使用中可存在大致50%或更高的有效性。然而,对于因子α1、…、αn的大集合,此增益可较小。
以上关系(1、2)中所示的并向量近似将计算与无理常数的乘积的问题减小为与整数的乘法。通过使用5位并向量近似23/32,整数与无理因子的乘法说明求无理常数的近似值的过程。通过查看23=10111的二进制位模式且用加法运算代入每一“1”,整数乘以23的乘积可如下确定:
x*23=(x<<4)+(x<<2)+(x<<1)+x
此近似要求3个加法及3个移位运算。通过进一步注意最后3数字形成一系列“1”,可使用以下:
x*23=(x<<4)+(x<<3)-x,
其将复杂性减小为仅2个移位运算及2个加法运算。
与隔离数字“1”相关联的运算“+”或与运行“1…1”的开始及结束相关联的“+”及“-”的序列通常被称为“正规符号数字”(CSD)分解。CSD在无乘法器电路的设计中为众所周知的实施方案。然而,CSD分解不总是用最小数目的运算产生结果。举例来说,考虑相同因子的8位近似及其CSD分解:
x*181=(x<<7)+(x<<5)+(x<<4)+(x<<2)+x
其使用4个加法运算及4个移位运算。通过重新布置计算且再使用中间结果,可构造更有效的算法:
x2=x+(x<<2);//101
x3=x2+(x<<4);//10100
x4=x3+(x2<<5);//10110101=x*181
根据实施方案,与并向量分数的乘积的计算可通过允许将右移用作初等运算导出。举例来说,考虑因子且根据其CSD分解使用右移及加法运算,获得以下:
x*23/32~(x>>1)+(x>>2)-(x>>5)。(3)
或通过进一步注意1/2+1/4=1-1/4:
x*23/32~x-(x>>2)-(x>>5)。(4)
计算与相同因子的乘积的又一方式为:
x*23/32~x-((x+(x>>4))>>2)+((-x)>>6)。(5)
图1说明由算法(3、4及5)对整数及无理分数23/32的乘法所产生的值的曲线。每一算法(3、4及5)计算对乘以无理分数23/32的乘积求近似的值;然而,这些近似中的每一者中的误差不同。举例来说,算法(4)产生所有正误差,具有55/32的最大量值。算法(3)具有更平衡误差,具有在±65/64内振荡的量值。最终,算法(5)优选地产生具有在±7/8中振荡的符号对称误差。因此,符号对称算法将产生最小化误差的平衡结果。
算法的符号对称性质意味着对于任何(x∈Z):
A a i , b ( - x ) = - A a i , b ( x )
且其还暗示对于任何N,且假定
&Sigma; x = - N N [ A a i , b ( x ) - x a i b ] = 0
即,在任何对称间隔的零平均误差。
此性质可用于信号处理算法的设计中,由于其最小化由定点近似引入的舍入误差将累积的机率。下文所述的为用于计算与并向量分数的乘积的基于右移符号对称算法的基础,以及其复杂性的上限。
给定并向量分数a1/2b、…、am/2b的集合,可界定算法:
作为以下步骤序列:
x1、x2、…、xt
其中x1:=x且其中随后值xk(k=2、…、t)是通过使用以下初等运算中的一者产生:
x k : = x i > > s k ; 1 &le; i < k , s k &GreaterEqual; 1 ; - x i ; 1 &le; i < k ; x i + x j ; 1 &le; i , j < k ; x i - x j ; 1 &le; i , j < k , i &NotEqual; j .
算法在存在下标j1、…、jm≤t时终止,使得:
xj1~x*a1/2b、…、xjm~x*am/2b
因此,一些实施方案检查最小化以下度量中的一者或一者以上的算法:
平均不对称:
&chi; A a i , b = 1 2 b &Sigma; x = 1 2 b | A a i , b ( x ) + A a i , b ( - x ) |
平均误差:
&mu; A a i , b = 1 2 b + 1 &Sigma; x = - 2 b 2 b [ A a i , b ( x ) - x a i 2 b ]
误差方差:
&sigma; A a i , b 2 = 1 2 b + 1 - 1 &Sigma; x = - 2 b 2 b [ A a i , b ( x ) - &mu; A a i , b ] 2
误差量值:
&delta; A a i , b max = max x = - 2 b . . . 2 b | A a i , b ( x ) - &mu; A a i , b |
当计算与多个常数的乘积时,以上度量(针对常数中的每一者计算)的最坏状况值可用于评估算法的效率。
图2展示用于计算乘积的过程100中的阶段。在102处,接收整数值,且在104处,断定表示待乘以整数的无理值的有理并向量常数。在106处,可确定中间值。举例来说,给定整数变量x及有理并向量常数的集合,可如下确定一系列中间值:
w0,w1,w2,...,wt
其中:w0=0,w1=x,且对于所有k≥2值,wk经如下获得:
wk=±wi±(wj>>sk)(i,j<k),
其中±符号暗示需要以两项执行的加法运算或减法运算,且>>指示变量zj右移sk位。
在108处,确定对应于乘积的此系列中的点。即,此步骤的结果为下标l1,...,lm≤t,使得:
w l 1 &ap; x a 1 2 b , . . . , w l 1 = x a m 2 b
在110处,对照某些精确度量来分析所得到的输出值 举例来说,可分析这些值以确定其是否使平均值、不对称、方差、量值中的一者最小化。
在一些实施方案中,过程100可移除0的加法或减法,或0个位的移位。在一些实施方案中,中间值的序列可经选择使得此完整运算的总计算(或实施方案)成本最小。
因此,给定度量的集合,可存在具有可由加法的总数目、移位的总数目等特征化的复杂性的算法。照此,在达到最小数目的加法及移位等的算法之中存在具有最小数目的加法、最小数目的移位、最小数目的加法及移位及最小数目的加法的算法。
图3说明示范性定点8×8IDCT架构120。所述架构可实施是x的符号对称值的算法。在许多实施方案中,此类算法对于因子的给定集合而言可为最不复杂的。如上所述,IDCT的设计可为对称的或产生良好平衡的舍入误差。在一些实施方案中,可分析对例如由算法所产生误差的平均值、方差及量值(最大值)等度量的估计。在评定算法的复杂性中,可考虑运算的数目,以及最长执行路径及计算所需的中间寄存器的最大数目。
在一些实施方案中,在所提议定点IDCT架构120的设计中使用的架构可特征化具有可分及缩放特征。缩放级122可包括单一8×8矩阵,其通过因子分解用于行变换的1D比例因子及用于列变换的1D比例因子而经预先计算。缩放级122还可用于将P个精确位预先分配到输入DCT系数中的每一者,从而提供定点“尾数(mantissa)”供贯穿剩余的变换使用。
在实施方案中,经缩放1D变换设计的基础可为C·洛夫勒(C.Loeffier)、A·莱特恩博格(A.Ligtenberg)及G·S·莫斯奇茨(G.S.Moschytz)利用3个平面旋转及2个独立因子γ=√2的众所周知的因子分解的变体。为了提供LLM因子分解内的常数α、β、δ、ε、η及θ的有效有理近似,可使用两个浮动因子ξ及ζ且将其应用于这些常数的两个子群组,如下:
ξ:a’=ξa,β’=ξβ;
ζ:δ’=ζδ,ε=ζε,η’=ζη,θ’=ζθ;
这些乘法可通过使每一输入DCT系数与ξ及ζ的相应倒数相乘而在缩放级122中由ξ及ζ倒置。即,比例因子的向量可在1D变换级联(例如,级126及128)中的第一者之前经计算以供在缩放级122中使用。
σ=(1,1/ζ,1/ζ,γ/ζ,1,γ/ζ,1/ζ,1/ζ)T
这些因子随后可合并到缩放矩阵中,其如下经预先计算:
&Sigma; = &sigma;&sigma; T 2 S = A B C D A D C B B E F G B G F E C F H I C I H F D G I J D J I G A B C D A D C B D G I J D J I G C F H I C I H F B E F G B G F E
其中A-J指示此乘积中的唯一值:
A=2S B = 2 S &zeta; , C = 2 S &xi; , D = &gamma; 2 S &zeta; , E = 2 S &zeta; 2 , F = 2 S &xi;&zeta; , G = &gamma; 2 S &zeta; 2 , H = 2 S &xi; 2 , I = &gamma; 2 S &xi;&zeta; , J = &gamma; 2 2 S &zeta; 2 ,
且S指示经分配用于缩放的定点精确位的数目。
此参数S可经选择使得其大于或等于每一输入系数的尾数的位的数目P。此允许系数Fvu的缩放如下实施:
F′vu=(Fvu*Svu)>>(S-P)
其中Svu≈∑vu指示比例因子的矩阵中的值的整数近似。
在1D变换的系列(级126及128)中的最后变换级的末尾,P个定点尾数位(加上在执行1D级中的每一者期间所累积的3个额外位)简单地通过右移运算130从变换输出移位,如下:
fyx=f′yx>>(P+3)
为了确保所计算值的适当舍入,2P+2的偏置可使用DC偏置级124在移位之前添加到值f′vx。此舍入偏置通过在执行第一1D变换之前扰动DC系数来实施:
F″00=F′00+2P+2
在一些实施方案中,如上所论述的平衡(即,符号对称)算法可用于ISO/IEC23002-2IDCT标准中。此标准界定用于计算与以下常数的乘积的过程:
y~y*113/128,
z~y*719/4096
且如下完成:
x2=(x>>3)-(x>>7);
x3=x2-(x>>11);
y=x2+(x3>>1);
z=x-x2;
图4展示编码系统400的框图,其可包括具有符号对称舍入误差的实施并向量分数的变换,如上所述。捕获装置/存储器410可接收源信号,执行到数字格式的转换且提供输入/原始数据。捕获装置410可为视频摄像机、数字化器或某一其它装置。处理器420处理原始数据且产生经压缩数据。在处理器420内,原始数据可由DCT单元422变换,由Z字形扫描单元424扫描,由量化器426量化,由熵编码器428编码且由包化器430包化。DCT单元422可根据本文中所述的技术对原始数据执行2DDCT且可支持全界面与缩放界面两者。单元422到430中的每一者可实施硬件、固件及/或软件。举例来说,DCT单元422可以专用硬件、用于算术逻辑单元(ALU)的指令的集合等实施。
存储单元440可存储来自处理器420的经压缩数据。发射器442可发射经压缩数据。控制器/处理器450控制编码系统400中的各种单元的操作。存储器452存储用于编码系统400的数据及程序码。一个或一个以上总线460使编码系统400中的各种单元互连。
图5展示解码系统500的框图,其可包括具有符号对称舍入误差的实施并向量分数的变换,如上所述。接收器510可从编码系统接收经压缩数据,且存储单元512可存储所接收的经压缩数据。处理器520处理经压缩数据且产生输出数据。在处理器520内,经压缩数据可由解包化器522解包化,由熵解码器524解码,由反量化器526反量化,由反Z字形扫描单元528以适当次序放置且由IDCT单元530变换。IDCT单元530可根据本文中所述的技术对全变换系数或缩放变换系数执行2DIDCT且可支持全界面与缩放界面两者。单元522到530中的每一者可以硬件、固件及/或软件实施。举例来说,IDCT单元530可以专用硬件、用于ALU的指令的集合等实施。
显示器单元540显示来自处理器520的重构图像及视频。控制器/处理器550控制解码系统500中的各种单元的操作。存储器552存储用于解码系统500的数据及程序码。一个或一个以上总线560使解码系统500中的各种单元互连。
处理器420及520可各自以一个或一个以上专用集成电路(ASIC)、数字信号处理器(DSP)及/或一些其它类型的处理器实施。或者,处理器420及520可各自以一个或一个以上随机存取存储器(RAM)、只读存储器(ROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、磁盘、光盘及/或此项技术中已知的其它类型的易失性及非易失性存储器替代。
本文中所述的实施例可由硬件、软件、固件、中间件、微码或其任何组合实施。当系统及/或方法以软件、固件、中间件或微码、程序码或码段实施时,其可存储于例如存储组件等机器可读媒体中。码段可表示过程、函数、子程序、程序、例程、子例程、模块、软件包、类别,或指令、数据结构或程序语句的任何组合。可通过传递及/或接收信息、数据、自变量、参数或存储器内容而将码段耦合到另一码段或硬件电路。可使用包括存储器共享、消息传递、权标传递、网络传输等任何适当方式来传递、转发或传输信息、自变量、参数、数据等。
对于软件实施方案来说,可通过执行本文中所描述的功能的模块(例如,过程、函数等)来实施本文中所描述的技术。软件码可存储于存储器单元中且由处理器来执行。存储器单元可在处理器内或在处理器外实施,在后种状况下存储器单元可经由在此项技术中已知的各种装置以通信方式耦合到处理器。
结合本文中所揭示的实施例而描述的方法或算法的阶段可直接以硬件、由处理器执行的软件模块或两者的组合体现。软件模块可驻留于随机存取存储器(“RAM”)、快闪存储器、只读存储器(“ROM”)、可擦除可编程只读存储器(“EPROM”)、电可擦除可编程只读存储器(“EEPROM”)、寄存器、硬盘、可装卸盘、CD-ROM或此项技术中已知的任何其它形式的存储媒体中。实例存储媒体耦合到处理器,使得处理器可从存储媒体读取信息且将信息写入到存储媒体。在替代方案中,存储媒体可与处理器成一体。处理器及存储媒体可驻留于专用集成电路(“ASIC”)中。ASIC可驻留于用户终端中。在替代方案中,处理器及存储媒体可作为离散组件驻留于用户终端中。
应注意,本文中所述的方法可在由所属领域的技术人员已知的多种硬件、处理器及系统上实施。举例来说,用于实施方案中的机器可具有用以显示内容及信息的显示器、用以控制客户端的操作的处理器及用于存储与机器操作有关的数据及程序的存储器。在一些实施方案中,机器为蜂窝式电话。在一些实施方案中,机器为便携式计算机或具有通信能力的手持机。在另一实施方案中,机器为具有通信能力的个人计算机。
可以通用处理器、DSP、ASIC、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其经设计以执行本文中所述功能的任何组合来实施或执行结合本文中所揭示的实施方案描述的各种说明性逻辑、逻辑块、模块及电路。通用处理器可为微处理器,但在替代方案中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器的组合、一个或一个以上微处理器与DSP核心的联合,或任何其它此种配置。
尽管已用专用于结构特征及/或方法动作的语言来描述标的物,但应理解在所附权利要求书中所界定的标的物未必限于以上所述的特定特征或动作。而是,以上所述的特定特征及动作是作为实施权利要求书的实例形式来揭示。

Claims (16)

1.一种通过在编码或解码系统中使用处理器确定用于计算整数值x和无理值的近似值的乘积的算法来处理信号的方法,其包含:
接收源信号,执行到数字格式的转换且提供原始数据;
通过所述处理器处理所述原始数据,包括:
从所述原始数据中接收所述整数值x;
确定近似于无理值的并向量分数a1/2b、…、am/2b的集合;
通过以下操作确定中间值x1、…、xt的序列以计算所述乘积:
设定x1等于所述输入整数值x;以及
根据(a)x1、…、xt-1中的至少一者及(b)加法运算、减法运算或右移运算中的一者来确定x2、…、xt
确定输出值的下标l1,...,lm≤t,使得:
x l 1 &ap; x a 1 / 2 b , . . . , x l m &ap; xa m / 2 b ; 以及
通过确定所述中间值x1、…、xt的序列以及在所述中间值x1、…、xt的序列之中确定所述下标l1,...,lm≤t以确定所述算法。
2.根据权利要求1所述的方法,其进一步包含:
根据平均不对称度量、平均误差度量、误差方差度量及误差量值度量来确定产生输出值的所述序列。
3.根据权利要求2所述的方法,其进一步包含:
基于所述平均不对称度量、所述平均误差度量、所述误差方差度量及所述误差量值度量的最坏状况结果来评估输出值的所述序列的效率。
4.根据权利要求1所述的方法,其进一步包含:
确定具有最小数目的加法的中间值的序列。
5.根据权利要求1所述的方法,其进一步包含:
确定具有最小数目的右移的中间值的序列。
6.根据权利要求1所述的方法,其进一步包含:
确定具有所述最小数目的加法及右移的中间值的序列。
7.根据权利要求6所述的方法,其进一步包含:
在具有所述最小数目的加法及右移的中间值的所述序列之中确定具有最小数目的加法的中间值的序列。
8.根据权利要求1所述的方法,确定x2、…、xt进一步包含:
将所述中间值的项xk界定为具有值xi>>sk、-xi、xi+xj或xi-xj中的一者,
其中sk为右移xi的位的数目,i小于k,且j小于k。
9.一种通过用于在编码或解码系统中使用处理器确定用于计算整数值x和无理值的近似值的乘积的算法来处理信号的设备,其包含:
用于接收源信号,执行到数字格式的转换且提供原始数据的装置;
用于通过所述处理器处理所述原始数据的装置,其包括:
用于从所述原始数据接收所述整数值x的装置;
用于确定近似于无理值的并向量分数a1/2b、…、am/2b的集合的装置;
用于通过以下操作确定中间值x1、…、xt的序列以计算所述乘积的装置:
设定x1等于所述输入整数值x;以及
根据(a)x1、…、xt-1中的至少一者及(b)加法运算、减法运算或右移运算中的一者来确定x2、…、xt
用于确定输出值的下标l1,...,lm≤t使得的装置;以及
用于通过确定所述中间值x1、…、xt的序列以及在所述中间值x1、…、xt的序列之中确定所述下标l1,...,lm≤t以确定所述算法的装置。
10.根据权利要求9所述的设备,其中输出值的序列是根据平均不对称度量、平均误差度量、误差方差度量及误差量值度量来确定。
11.根据权利要求9所述的设备,其中效率是根据所述平均不对称度量、所述平均误差度量、所述误差方差度量及所述误差量值度量的最坏状况结果来确定。
12.根据权利要求9所述的设备,其进一步包含:
用于确定具有最小数目的加法的中间值的序列的装置。
13.根据权利要求9所述的设备,其进一步包含:
用于确定具有最小数目的右移的中间值的序列的装置。
14.根据权利要求9所述的设备,其进一步包含:
用于确定具有所述最小数目的加法及右移的中间值的序列的装置。
15.根据权利要求14所述的设备,其进一步包含:
用于在具有所述最小数目的加法及右移的中间值的序列之中确定具有最小数目的加法的中间值的序列的装置。
16.根据权利要求9所述的设备,用于确定x2、…、xt的装置进一步包含:
用于将所述中间值的项xk界定为具有值xi>>sk、-xi、xi+xj或xi-xj中的一者的装置,其中sk为右移xi的位的数目,i小于k,且j小于k。
CN200880104677.2A 2007-08-28 2008-08-28 并向量分数与符号对称舍入误差的乘积的快速计算 Active CN102067108B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210490885.9A CN102982007B (zh) 2007-08-28 2008-08-28 并向量分数与符号对称舍入误差的乘积的快速计算

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US96838107P 2007-08-28 2007-08-28
US60/968,381 2007-08-28
US12/139,957 US8819095B2 (en) 2007-08-28 2008-06-16 Fast computation of products by dyadic fractions with sign-symmetric rounding errors
US12/139,957 2008-06-16
PCT/US2008/074607 WO2009032740A2 (en) 2007-08-28 2008-08-28 Fast computation of products by dyadic fractions with sign-symmetric rounding errors

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201210490885.9A Division CN102982007B (zh) 2007-08-28 2008-08-28 并向量分数与符号对称舍入误差的乘积的快速计算

Publications (2)

Publication Number Publication Date
CN102067108A CN102067108A (zh) 2011-05-18
CN102067108B true CN102067108B (zh) 2016-03-09

Family

ID=40409178

Family Applications (2)

Application Number Title Priority Date Filing Date
CN200880104677.2A Active CN102067108B (zh) 2007-08-28 2008-08-28 并向量分数与符号对称舍入误差的乘积的快速计算
CN201210490885.9A Active CN102982007B (zh) 2007-08-28 2008-08-28 并向量分数与符号对称舍入误差的乘积的快速计算

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201210490885.9A Active CN102982007B (zh) 2007-08-28 2008-08-28 并向量分数与符号对称舍入误差的乘积的快速计算

Country Status (12)

Country Link
US (2) US8819095B2 (zh)
EP (1) EP2195750B1 (zh)
JP (1) JP4965711B2 (zh)
KR (1) KR101107923B1 (zh)
CN (2) CN102067108B (zh)
BR (1) BRPI0815791B1 (zh)
CA (1) CA2698269C (zh)
ES (1) ES2791420T3 (zh)
HU (1) HUE048765T2 (zh)
RU (1) RU2468422C2 (zh)
TW (1) TWI474194B (zh)
WO (1) WO2009032740A2 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI343021B (en) * 2006-10-24 2011-06-01 Princeton Technology Corp Data transformation method and data transformation circuit capable of saving numeral operations
US8819095B2 (en) * 2007-08-28 2014-08-26 Qualcomm Incorporated Fast computation of products by dyadic fractions with sign-symmetric rounding errors
HUE064092T2 (hu) 2011-06-24 2024-02-28 Ntt Docomo Inc Eljárás mozgáskompenzált predikcióhoz
US9111059B2 (en) * 2012-11-01 2015-08-18 Stc.Unm System and methods for dynamic management of hardware resources

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1550975A (zh) * 2003-05-09 2004-12-01 三星电子株式会社 蒙哥马利模数乘法器及其方法
WO2007047478A2 (en) * 2005-10-12 2007-04-26 Qualcomm Incorporated Efficient multiplication-free computation for signal and data processing

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5285402A (en) 1991-11-22 1994-02-08 Intel Corporation Multiplyless discrete cosine transform
US5561424A (en) * 1993-04-30 1996-10-01 Lucent Technologies Inc. Data converter with minimum phase fir filter and method for calculating filter coefficients
US6272257B1 (en) 1997-04-30 2001-08-07 Canon Kabushiki Kaisha Decoder of variable length codes
JP3975629B2 (ja) 1999-12-16 2007-09-12 ソニー株式会社 画像復号装置及び画像復号方法
KR100422443B1 (ko) * 2001-02-13 2004-03-11 삼성전자주식회사 버츄얼 공통패턴을 사용한 저전력 csd 선형위상 fir필터 구조 및 그에 따른 필터구현방법
US6882685B2 (en) 2001-09-18 2005-04-19 Microsoft Corporation Block transform and quantization for image and video coding
KR100422449B1 (ko) * 2001-11-12 2004-03-11 삼성전자주식회사 수직 공통패턴을 사용한 저전력 csd 선형위상 디지털필터 구조 및 그에 따른 필터구현방법
US6963613B2 (en) 2002-04-01 2005-11-08 Broadcom Corporation Method of communicating between modules in a decoding system
US7689641B2 (en) 2003-06-30 2010-03-30 Intel Corporation SIMD integer multiply high with round and shift
US8335811B2 (en) 2004-03-04 2012-12-18 Broadcom Corporation Method and system for high fidelity IDCT and DCT algorithms
US7587093B2 (en) 2004-07-07 2009-09-08 Mediatek Inc. Method and apparatus for implementing DCT/IDCT based video/image processing
US7933337B2 (en) 2005-08-12 2011-04-26 Microsoft Corporation Prediction of transform coefficients for image compression
KR100667595B1 (ko) * 2005-12-29 2007-01-11 삼성전자주식회사 가변 길이 디코더
US20070180010A1 (en) * 2006-01-13 2007-08-02 Fujitsu Limited System and method for iteratively eliminating common subexpressions in an arithmetic system
US8849884B2 (en) * 2006-03-29 2014-09-30 Qualcom Incorporate Transform design with scaled and non-scaled interfaces
US8606023B2 (en) * 2006-06-26 2013-12-10 Qualcomm Incorporated Reduction of errors during computation of inverse discrete cosine transform
DE102006038629A1 (de) 2006-08-17 2008-02-21 Dr. Suwelack Skin & Health Care Ag Stabilisierte Wirkstoffzusammensetzung
TWI343021B (en) 2006-10-24 2011-06-01 Princeton Technology Corp Data transformation method and data transformation circuit capable of saving numeral operations
US8819095B2 (en) 2007-08-28 2014-08-26 Qualcomm Incorporated Fast computation of products by dyadic fractions with sign-symmetric rounding errors

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1550975A (zh) * 2003-05-09 2004-12-01 三星电子株式会社 蒙哥马利模数乘法器及其方法
WO2007047478A2 (en) * 2005-10-12 2007-04-26 Qualcomm Incorporated Efficient multiplication-free computation for signal and data processing

Also Published As

Publication number Publication date
TWI474194B (zh) 2015-02-21
US20090063599A1 (en) 2009-03-05
JP2011507313A (ja) 2011-03-03
US20140330878A1 (en) 2014-11-06
CA2698269A1 (en) 2009-03-12
RU2010111763A (ru) 2011-10-10
WO2009032740A2 (en) 2009-03-12
EP2195750A2 (en) 2010-06-16
HUE048765T2 (hu) 2020-08-28
US9459831B2 (en) 2016-10-04
CA2698269C (en) 2016-05-17
CN102067108A (zh) 2011-05-18
BRPI0815791B1 (pt) 2020-02-11
KR20100066521A (ko) 2010-06-17
US8819095B2 (en) 2014-08-26
CN102982007B (zh) 2016-04-06
TW200925897A (en) 2009-06-16
ES2791420T3 (es) 2020-11-04
CN102982007A (zh) 2013-03-20
JP4965711B2 (ja) 2012-07-04
WO2009032740A3 (en) 2011-02-10
EP2195750B1 (en) 2020-03-11
KR101107923B1 (ko) 2012-01-25
BRPI0815791A2 (pt) 2015-02-24
RU2468422C2 (ru) 2012-11-27

Similar Documents

Publication Publication Date Title
CN100463522C (zh) 图像和视频编码用的改进的块变换和量化
CN1697328B (zh) 快速视频编解码变换实现
CN113132723B (zh) 一种图像压缩方法及装置
CN111818346A (zh) 图像编码方法和装置、图像解码方法和装置
CN101375274B (zh) 用于执行数据变换的设备和方法
US20070200738A1 (en) Efficient multiplication-free computation for signal and data processing
JP2010537245A5 (zh)
US20230300354A1 (en) Method and System for Image Compressing and Coding with Deep Learning
CN104394418A (zh) 一种视频数据编码、解码的方法及装置
CN102067108B (zh) 并向量分数与符号对称舍入误差的乘积的快速计算
US20030105788A1 (en) Systems and methods for efficient quantization
CN114615507B (zh) 一种图像编码方法、解码方法及相关装置
US20060215917A1 (en) Decoding apparatus, dequantizing method, and program thereof
US20070198622A1 (en) Method for fast SATD estimation
He et al. Post-training quantization for cross-platform learned image compression
CN102037729B (zh) 前向和逆向离散余弦变换的高效定点近似法
CN100570597C (zh) 将数字信号从时间域变换到频率域及其反向变换的方法
Madadum et al. A resource-efficient convolutional neural network accelerator using fine-grained logarithmic quantization
US20050196055A1 (en) Method and system for codifying signals that ensure high fidelity reconstruction
US20110157190A1 (en) Fast integer dct method on multi-core processor
WO2003071687A1 (en) Data processing device
CN115714865A (zh) 视频编解码处理方法、装置、设备及存储介质
Sanikomm Hardware Implementation of a Novel Image Compression Algorithm

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