TWI474194B - 並矢分數與符號對稱進位誤差的乘積之快速計算 - Google Patents
並矢分數與符號對稱進位誤差的乘積之快速計算 Download PDFInfo
- Publication number
- TWI474194B TWI474194B TW97132919A TW97132919A TWI474194B TW I474194 B TWI474194 B TW I474194B TW 97132919 A TW97132919 A TW 97132919A TW 97132919 A TW97132919 A TW 97132919A TW I474194 B TWI474194 B TW I474194B
- Authority
- TW
- Taiwan
- Prior art keywords
- determining
- sequence
- intermediate values
- metric
- error
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/533—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49942—Significance control
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Discrete Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Nonlinear Science (AREA)
- Complex Calculations (AREA)
- Error Detection And Correction (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
本文中之標的物大體上係關於處理,且更特定言之,係關於用於硬體及軟體處理中之近似技術。
算術移位可用於執行帶符號整數與2的冪之乘法或除法。對帶符號或無符號之二進數向左移位n個位元具有使其與2n
相乘之效應。對2補數帶符號之二進數向右移位n個位元具有用2n
除其之效應,但其通常捨去(亦即,向負無窮大)。由於右移非線性運算,故算術右移可增加進位誤差且產生可不等於右移之後的乘法結果的結果。
在一些實施中,符號對稱演算法可用於IDCT變換架構或其他數位濾波器中。
算術移位之使用的一實例在一些信號處理演算法之定點實施中,諸如,FFT、DCT、MLT、MDCT等。此等信號處理演算法通常使用並矢有理分數來近似於此等演算法之數學定義中的無理(代數或超越)因數。此方式允許使用整數加法及移位而非更複雜運算來執行此等無理分數之乘法。
整數值及無理值之乘積可由符號對稱演算法確定。過程可確定最小化諸如平均不對稱、平均誤差、誤差方差及誤差量值之度量的可能演算法。給定整數變數x及近似於無理分數之有理並矢常數,可產生符號對稱之一系列中間值。給定加法、減法及右移運算之序列,符號對稱演算法
可對整數值及無理值之乘積求近似值。可移除諸如0之加法或減法或0個位元之移位的其他運算以簡化處理。
提供此發明內容以便以簡化形式引入以下在實施方式中進一步描述之概念的選擇。此發明內容並非意欲識別所主張標的物之關鍵特徵或基本特徵,其亦並非意欲用於限制所主張標的物之範疇。
離散餘弦變換(DCT)及反離散餘弦變換(IDCT)執行關於無理常數之乘法運算(亦即,餘弦)。在DCT/IDCT之實施的設計中,此等無理常數之計算乘積的近似可使用定點算術執行。用於將浮點值轉換為定點值之一技術基於藉由並矢分數求無理因數αi
近似值:
其中ai
與k兩者都為整數。x與因數αi
之乘法提供用於整數算術中之近似的實施,如下:
其中>>指示逐位元右移運算。
精確位元之數目k可影響並矢有理近似之複雜性。在軟體實施中,精確參數k可由暫存器之寬度(例如,16或32)約束且不滿足此設計約束之後果可導致延長變換之執行時間。在硬體設計中,精確參數k影響實施加法器及乘法器所需的閘數目。因此,定點設計中之目標為最小化位元k之總數目,同時維持近似之充分準確性。
在無對值αi
任何特定約束的情況下且假定對於任何給定k,分母ai
之相應值可經選擇使得:
且(1)中之近似的絕對誤差應與2k
成反比:
即,每一額外精確位元(亦即,增加k)應將誤差減小一半。
在一些實施中,若待求近似值之值α1
、…、αn
可由一些額外參數ξ縮放,則可改良誤差率。若α1
、…、αn
為n個無理數之集合(n2),則存在無限多個n+2元組a1
、…、an
、k、ξ,其中a1
、…、an Z,kN且ξQ,使得:
換言之,若可改變演算法使得所有其無理因數α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分解不總是利用最小數目之運算產生結果。舉例而言,考慮相同因數1/181/256=10110101之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
根據實施,與並矢分數之乘積的計算可藉由允許將右移用作初等運算導出。舉例而言,考慮因數1/23/32=10111且根據其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中振盪之符號對稱誤差。因此,符號對稱演算法將產生最小化誤差之平衡結果。
演算法之符號對稱性質意謂對於任何(xZ):
且其亦暗示對於任何N,且假定:
即,在任何對稱間隔之零平均誤差。
此性質可用於信號處理演算法之設計中,由於其最小化由定點近似引入之進位誤差將累積的機率。下文所述的為用於計算與並矢分數之乘積之基於右移符號對稱演算法的基礎,以及其複雜性之上限。
給定並矢分數a1
/2b
、…、am
/2b
之集合,可界定演算法:
作為以下步驟序列:x1
、x2
、…、xt
,其中x1
:=x且其中隨後值xk
(k=2、…、t)藉由使用以下初等運算中之一者產生:
演算法在存在指標j1
、…、jm t時終止,使得:xj1
~x*a1
/2b
、…、xjm
~x*am
/2b
因此,一些實施檢查最小化以下度量中之一或多者的演算法:
平均不對稱:
平均誤差:
誤差方差:
誤差量值:
當計算與多個常數之乘積時,以上度量(計算用
於常數中之每一者)之最壞狀況值可用於評估演算法之效率。
圖2展示用於計算乘積之過程100中的階段。在102,整數值經接收,且在104,表示待乘以整數之無理值的有理並矢常數經確定。在106,可確定中間值。舉例而言,給定整數變數x
及有理並矢常數之集合,可如下確定一系列中間值:w 0
,w 1
,w 2
,...,w t
其中:w 0
=0,w 1
=x
,且對於所有k 2值w k
經如下獲得:w k
=±w i
±(w j
>>s k
)((i
,j
<k
)),其中±符號暗示需要以兩項執行之加法運算或減法運算,且>>指示變數z j
右移s k
位元。
在108,確定對應於乘積之此系列中的點。即,此步驟之結果為指標l 1
,...,l m t
,使得:
在110,相對於某些精確度量分析所得到之輸出值。舉例而言,可分析此等值以確定其是否最小化平均值、不對稱、方差、量值中之一者。
在一些實施中,過程100可移除0之加法或減法,或移位0個位元。在一些實施中,中間值之序列可經選擇使得此完整運算之總計算(或實施)成本最小。
因此,給定度量之集合,可存在具有可由加法之總數
目、移位之總數目等特徵化之複雜性的演算法。同樣地,在達到最小數目之加法及移位等的演算法之中存在具有最小數目之加法、最小數目之移位、最小數目之加法及移位及最小數目之加法的演算法。
圖3說明例示性定點8×8 IDCT架構120。架構可實施x之符號對稱值的演算法。在許多實施中,此等演算法對於因數之給定集合可為最不複雜的。如上所提到,IDCT之設計可為對稱的或產生良好平衡之進位誤差。在一些實施中,可分析諸如由演算法所產生誤差之平均值、方差及量值(最大值)之度量的估計。在評定演算法之複雜性中,可考慮運算之數目,以及最長執行路徑及計算所需的中間暫存器之最大數目。
在一些實施中,用於設計所提議定點IDCT架構120中之架構可經特徵化具有可分及縮放特徵。縮放級122可包括單一8×8矩陣,其藉由因數分解用於列變換之1D縮放因數及用於行變換之1D縮放因數而經預先計算。縮放級122亦可用於將P個精確位元預先分配至輸入DCT係數中之每一者,藉此提供貫穿剩餘變換使用之定點"尾數"。
在一實施中,經縮放1D變換設計之基礎可為C.Loeffler、A.Ligtenberg及G.S.Moschytz利用3個平面旋轉及2個獨立因數γ=2之熟知因數分解的變體。為了提供用於LLM因數分解內之常數α、β、δ、ε、η及θ的有效有理近似,兩個浮動因數ξ及ζ可經使用且應用於此等常數之兩子群,如下:
ξ:α'=ξα,β'=ξβ;ζ:δ'=ζδ,ε=ζε,η'=ζη,θ'=ζθ;
此等乘法可藉由使每一輸入DCT係數與ξ及ζ之各別倒數相乘而縮放級122中由ξ及ζ倒置。即,縮放因數之向量在1D變換級聯(例如,級126及128)中之第一者之前可經計算以用於縮放級122中。
σ=(1,1/ζ,1/ξ,γ/ζ,1,γ/ζ,1/ξ,1/ζ)T
此等因數隨後可合併至縮放矩陣中,其如下經預先計算:
其中A-J指示此乘積中之唯一值:
且S指示經分配用於縮放之定點精確位元的數目。
此參數S可經選擇使得其大於或等於每一輸入係數之尾數之位元的數目P。此允許係數Fvu
之縮放如下實施:
其中Svu Σvu指示縮放因數之矩陣中之值的整數近似。
在1D變換之系列(級126及128)中之最後變換級結束,P
個定點尾數位元(加上在執行1D級中之每一者期間所累積之3個額外位元)簡單地藉由右移運算130自變換輸出移位,如下:
為了確保所計算值之適當進位,2P+2之偏置可使用DC偏置級124在移位之前添加至值。此進位偏置藉由在執行第一1D變換之前擾動DC係數來實施:F"00
=F'00
+2P+2
在一些實施中,如上所論述之平衡(亦即,符號對稱)演算法可用於ISO/IEC 23002-2 IDCT標準中。此標準界定用於計算與以下常數之乘積的過程: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可根據本文中所述之技術對原始資料執行2D DCT且可支援全介面與縮放介面兩者。單元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可根據本文中所述之技術對全變換係數或縮放變換係數執行2D IDCT且可支援全介面與縮放介面兩者。單元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核心,或任何其他此類組態。
儘管已用特定地針對結構特徵及/或方法行為的語言來描述標的物,但應理解在隨附申請專利範圍中所界定之標的物未必限於以上所述之特定特徵或行為。實情為,以上所述之特定特徵及行為係作為實施申請專利範圍之實例形式來揭示。
120‧‧‧IDCT架構
122‧‧‧縮放級
124‧‧‧DC偏置級
126‧‧‧變換級
128‧‧‧變換級
130‧‧‧右移運算
400‧‧‧編碼系統
410‧‧‧捕獲設備/記憶體
420‧‧‧處理器
422‧‧‧DCT單元
424‧‧‧Z形掃描單元
426‧‧‧量化器
428‧‧‧熵編碼器
430‧‧‧封包化器
440‧‧‧儲存單元
442‧‧‧傳輸器
450‧‧‧控制器/處理器
452‧‧‧記憶體
460‧‧‧匯流排
500‧‧‧解碼系統
510‧‧‧接收器
512‧‧‧儲存單元
520‧‧‧處理器
522‧‧‧解封包化器
524‧‧‧熵解碼器
526‧‧‧反量化器
528‧‧‧反Z形掃描單元
530‧‧‧IDCT單元
540‧‧‧顯示單元
550‧‧‧控制器/處理器
552‧‧‧記憶體
560‧‧‧匯流排
圖1為各種計算演算法之結果的曲線。
圖2為確定用以確定乘積之符號對稱演算法之實例過程的流程圖。
圖3為實施定點IDCT演算法之例示性架構。
圖4為例示性編碼系統之方塊圖。
圖5為例示性解碼系統之方塊圖。
(無元件符號說明)
Claims (17)
- 一種使用一處理器來確定用於計算一整數值x 之兩個或兩個以上乘積及兩個或兩個以上無理值之近似之一演算法之方法,該方法包含:藉由該處理器接收該整數值x ;藉由該處理器確定近似於該兩個或兩個以上無理值之並矢分數a1 /2b 、…、am /2b 之一集合;藉由該處理器而藉由以下操作確定一序列之中間值w1 、…、wt 以計算該兩個或兩個以上乘積:設定w1 等於該整數值x ;及根據(a)w1 、…、wt-1 中之至少一者及(b)一加法運算、一減法運算及一右移運算中之一者來確定w2 、…、wt ;藉由該處理器確定對應於該兩個或兩個以上乘積之該序列之中間值w1 、…、wt 之中多個中間值之指標l 1 ,...,l m t ,使得:;及藉由該處理器而藉由確定該序列之中間值w1 、…、wt 及確定該序列之中間值w1 、…、wt 之中該等中間值之該等指標l 1 ,...,l m t 來確定該演算法以最小化一錯誤度量。
- 如請求項1之方法,其中該錯誤度量包含一平均不對稱度量、一平均誤差度量、一誤差方差度量及一誤差量值度量中之一或多者。
- 如請求項2之方法,其進一步包含基於根據該平均不對 稱度量、該平均誤差度量、該誤差方差度量及該誤差量值度量中之一或多者之該序列之中間值w1 、…、wt 之中該等中間值之一最壞狀況結果來評估該演算法的一處理效率。
- 如請求項1之方法,其中確定該序列之中間值w1 、…、wt 包含確定具有一最小數目之加法之該序列之中間值w1 、…、wt 。
- 如請求項1之方法,其中確定該序列之中間值w1 、…、wt 包含確定具有一最小數目之右移之該序列之中間值w1 、…、wt 。
- 如請求項1之方法,其中確定該序列之中間值w1 、…、wt 包含確定具有一最小數目之加法及右移之該序列之中間值w1 、…、wt 。
- 如請求項6之方法,其進一步包含在具有該最小數目之加法及右移之該序列之中間值w1 、…、wt 之中確定具有一最小數目之加法之多個中間值。
- 如請求項1之方法,其中確定w2 、…、wt 進一步包含將該序列之中間值w1 、…、wt 之一項wk 界定為具有值wi >>sk 、-wi 、wi +wj 或wi -wj 中之一者,其中sk 為右移wi 之一數目的位元,i小於k,且j小於k。
- 如請求項1之方法,其中藉由確定該序列之中間值w1 、…、wt 及確定該序列之中間值w1 、…、wt 之中該等中間值之該等指標l 1 ,...,l m t 來確定該演算法包含確定該序列之中間值w1 、…、wt 之中該等中間值之該等指標l 1 ,...,l m t 為最小化一平均不對稱度量之一符號對稱序列。
- 一種非暫時性電腦可讀儲存媒體,該非暫時性電腦可讀儲存媒體包含用以執行使用一處理器來確定用於計算一整數值x 之兩個或兩個以上乘積及兩個或兩個以上無理值之近似之一演算法之方法之可執行指令,該非暫時性電腦可讀儲存媒體包含用於以下操作之指令:接收該整數值x ;確定近似於該兩個或兩個以上無理值之並矢分數a1 /2b 、…、am /2b 之一集合;確定一序列之中間值w1 、…、wt 以計算該兩個或兩個以上乘積:設定w1 等於該整數值x ;及根據(a)w1 、…、wt-1 中之一者及(b)一加法運算、一減法運算及一右移運算中之一者來確定w2 、…、wt ;確定對應於該兩個或兩個以上乘積之該序列之中間值w1 、…、wt 之中多個中間值之指標l 1 ,...,l m t ,使得:;及藉由確定該序列之中間值w1 、…、wt 及確定該序列之中間值w1 、…、wt 之中該等中間值之該等指標l 1 ,...,l m t 來確定該演算法以最小化一錯誤度量。
- 如請求項10之非暫時性電腦可讀儲存媒體,其中該錯誤度量包含一平均不對稱度量、一平均誤差度量、一誤差方差度量及一誤差量值度量中之一或多者。
- 如請求項11之非暫時性電腦可讀儲存媒體,其進一步包 含用於基於根據該平均不對稱度量、該平均誤差度量、該誤差方差度量及該誤差量值度量中之一或多者之該序列之中間值w1 、…、wt 之中該等中間值之一最壞狀況結果來評估該演算法的一處理效率的指令。
- 如請求項10之非暫時性電腦可讀儲存媒體,其中該等用於確定該序列之中間值w1 、…、wt 的指令包含用於以下操作之指令:確定具有一最小數目之加法之該序列之中間值w1 、…、wt ;及確定具有一最小數目之移位之該序列之中間值w1 、…、wt 。
- 一種用於確定用於計算一整數值x 之兩個或兩個以上乘積及兩個或兩個以上無理值之近似之一演算法之方法之裝置,該裝置包含:用於接收該整數值x 之構件;用於確定近似於該兩個或兩個以上無理值之並矢分數a1 /2b 、…、am /2b 之一集合的構件;用於確定一序列之中間值w1 、…、wt 的構件,以計算該兩個或兩個以上乘積:設定w1 等於該整數值x ;及根據(a)w1 、…、wt-1 中之一者及(b)一加法運算、一減法運算及一右移運算中之一者來確定w2 、…、wt ;用於確定對應於該兩個或兩個以上乘積之該序列之中間值w1 、…、wt 之中多個中間值之指標l 1 ,...,l m t 使得之構件;及用於藉由確定該序列之中間值w1 、…、wt 及確定該序列之中間值w1 、…、wt 之中該等中間值之該等指標l 1 ,...,l m t 來確定該演算法之構件,以最小化一錯誤度量。
- 如請求項14之裝置,其中該該錯誤度量包含一平均不對稱度量、一平均誤差度量、一誤差方差度量及一誤差量值度量中之一或多者。
- 如請求項15之裝置,其進一步包含用於基於根據該平均不對稱度量、該平均誤差度量、該誤差方差度量及該誤差量值度量中之一或多者之該序列之中間值w1 、…、wt 之中該等中間值之一最壞狀況結果來確定該演算法的一處理效率之構件。
- 一種使用一處理器來確定用於計算一整數值x 之兩個或兩個以上一乘積及兩個或兩個以上無理值之近似之一演算法之方法,該方法包含:藉由該處理器接收該整數值x ;藉由該處理器確定近似於該兩個或兩個以上無理值之並矢分數a1 /2b 、…、am /2b 之一集合;藉由該處理器確定一序列之中間值w1 、…、wt 以計算該兩個或兩個以上乘積;及藉由該處理器確定對應於該兩個或兩個以上乘積之該序列之中間值w1 、…、wt 之中多個中間值之指標l 1 ,...,l m t ,使得:;及 藉由該處理器而藉由確定該序列之中間值w1 、…、wt 及確定該序列之中間值w1 、…、wt 之中該等中間值之該等指標l 1 ,...,l m t 來確定該演算法;藉由該處理器設定w1 等於該整數值x ;及根據w1 、…、wt-1 中之一者及一加法運算、一減法運算及一右移運算中之一者來確定w2 、…、wt ;及其中藉由確定該序列之中間值w1 、…、wt 及確定該序列之中間值w1 、…、wt 之中該等中間值之該等指標l 1 ,...,l m t 來藉由該處理器確定該演算法包含:根據一平均不對稱度量、一平均誤差度量、一誤差方差度量及一誤差量值度量中之一或多者來藉由該處理器確定該序列之中間值w1 、…、wt 之中該等中間值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US96838107P | 2007-08-28 | 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 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200925897A TW200925897A (en) | 2009-06-16 |
TWI474194B true TWI474194B (zh) | 2015-02-21 |
Family
ID=40409178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW97132919A TWI474194B (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) | CN102982007B (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)
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 |
CN107105263B (zh) | 2011-06-24 | 2019-04-26 | 株式会社Ntt都科摩 | 用于在帧间预测下执行的运动补偿的视频解码方法和装置 |
US9111059B2 (en) * | 2012-11-01 | 2015-08-18 | Stc.Unm | System and methods for dynamic management of hardware resources |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020152251A1 (en) * | 2001-02-13 | 2002-10-17 | Samsung Electronics Co., Ltd. | Low power CSD linear phase FIR filter architecture using virtual common subexpression and filter design method therefor |
US6839386B2 (en) * | 1999-12-16 | 2005-01-04 | Sony Corporation | Picture decoding method and apparatus using a 4×8 IDCT |
US6963613B2 (en) * | 2002-04-01 | 2005-11-08 | Broadcom Corporation | Method of communicating between modules in a decoding system |
TW200603012A (en) * | 2004-07-07 | 2006-01-16 | Mediatek Inc | Method and apparatus for implementing DCT/IDCT based video/image processing |
TW200719694A (en) * | 2005-08-12 | 2007-05-16 | Microsoft Corp | Prediction of transform coefficients for image compression |
US20070180010A1 (en) * | 2006-01-13 | 2007-08-02 | Fujitsu Limited | System and method for iteratively eliminating common subexpressions in an arithmetic system |
TW200731805A (en) * | 2005-12-29 | 2007-08-16 | Samsung Electronics Co Ltd | Variable-length decoder, video decoder and image display system having the same, and variable-length decoding method |
TW200820066A (en) * | 2006-10-24 | 2008-05-01 | Princeton Technology Corp | Data transformation method and data transformation circuit capable of saving numeral operations |
Family Cites Families (13)
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 |
US6349379B2 (en) | 1997-04-30 | 2002-02-19 | Canon Kabushiki Kaisha | System for executing instructions having flag for indicating direct or indirect specification of a length of operand data |
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 선형위상 디지털필터 구조 및 그에 따른 필터구현방법 |
JP2004334212A (ja) * | 2003-05-09 | 2004-11-25 | Samsung Electronics Co Ltd | モンゴメリ掛け算器及び掛け算方法 |
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 |
US20070200738A1 (en) | 2005-10-12 | 2007-08-30 | Yuriy Reznik | Efficient multiplication-free computation for signal and data processing |
US8849884B2 (en) * | 2006-03-29 | 2014-09-30 | Qualcom Incorporate | Transform design with scaled and non-scaled interfaces |
US8385424B2 (en) * | 2006-06-26 | 2013-02-26 | 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 |
US8819095B2 (en) * | 2007-08-28 | 2014-08-26 | Qualcomm Incorporated | Fast computation of products by dyadic fractions with sign-symmetric rounding errors |
-
2008
- 2008-06-16 US US12/139,957 patent/US8819095B2/en active Active
- 2008-08-28 CN CN201210490885.9A patent/CN102982007B/zh active Active
- 2008-08-28 EP EP08829843.5A patent/EP2195750B1/en active Active
- 2008-08-28 JP JP2010523129A patent/JP4965711B2/ja active Active
- 2008-08-28 WO PCT/US2008/074607 patent/WO2009032740A2/en active Application Filing
- 2008-08-28 TW TW97132919A patent/TWI474194B/zh active
- 2008-08-28 KR KR1020107006666A patent/KR101107923B1/ko active IP Right Grant
- 2008-08-28 CA CA2698269A patent/CA2698269C/en not_active Expired - Fee Related
- 2008-08-28 ES ES08829843T patent/ES2791420T3/es active Active
- 2008-08-28 BR BRPI0815791-0A patent/BRPI0815791B1/pt active IP Right Grant
- 2008-08-28 RU RU2010111763/08A patent/RU2468422C2/ru not_active IP Right Cessation
- 2008-08-28 CN CN200880104677.2A patent/CN102067108B/zh active Active
- 2008-08-28 HU HUE08829843A patent/HUE048765T2/hu unknown
-
2014
- 2014-07-15 US US14/332,028 patent/US9459831B2/en not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6839386B2 (en) * | 1999-12-16 | 2005-01-04 | Sony Corporation | Picture decoding method and apparatus using a 4×8 IDCT |
US20020152251A1 (en) * | 2001-02-13 | 2002-10-17 | Samsung Electronics Co., Ltd. | Low power CSD linear phase FIR filter architecture using virtual common subexpression and filter design method therefor |
US6963613B2 (en) * | 2002-04-01 | 2005-11-08 | Broadcom Corporation | Method of communicating between modules in a decoding system |
TW200603012A (en) * | 2004-07-07 | 2006-01-16 | Mediatek Inc | Method and apparatus for implementing DCT/IDCT based video/image processing |
TW200719694A (en) * | 2005-08-12 | 2007-05-16 | Microsoft Corp | Prediction of transform coefficients for image compression |
TW200731805A (en) * | 2005-12-29 | 2007-08-16 | Samsung Electronics Co Ltd | Variable-length decoder, video decoder and image display system having the same, and variable-length decoding method |
US20070180010A1 (en) * | 2006-01-13 | 2007-08-02 | Fujitsu Limited | System and method for iteratively eliminating common subexpressions in an arithmetic system |
TW200820066A (en) * | 2006-10-24 | 2008-05-01 | Princeton Technology Corp | Data transformation method and data transformation circuit capable of saving numeral operations |
Non-Patent Citations (1)
Title |
---|
Roselyne Chotin, etc., "Use of Redundant Arithmetic on Architecture and Design of a High Performance DCT Macro-bloc Generator", "15th Design of Circuits and Integrated Systems Conference (DCIS)", 2000 Nicolas Boullis, etc., "Some Optimizations of Hardware Multiplication by Constant Matrices", IEEE TRANSACTIONS ON COMPUTERS, VOL. 54, NO. 10, OCTOBER 2005 Nenad Rijavec, etc., "Multicriterial Optimization Approach to Eliminating Multiplications", 2006 IEEE 8th Workshop on Multimedia Signal Processing, 2006 * |
Also Published As
Publication number | Publication date |
---|---|
ES2791420T3 (es) | 2020-11-04 |
JP4965711B2 (ja) | 2012-07-04 |
KR20100066521A (ko) | 2010-06-17 |
RU2468422C2 (ru) | 2012-11-27 |
US8819095B2 (en) | 2014-08-26 |
BRPI0815791B1 (pt) | 2020-02-11 |
CN102067108A (zh) | 2011-05-18 |
US20140330878A1 (en) | 2014-11-06 |
CA2698269A1 (en) | 2009-03-12 |
CN102982007B (zh) | 2016-04-06 |
CA2698269C (en) | 2016-05-17 |
KR101107923B1 (ko) | 2012-01-25 |
WO2009032740A3 (en) | 2011-02-10 |
WO2009032740A2 (en) | 2009-03-12 |
TW200925897A (en) | 2009-06-16 |
CN102067108B (zh) | 2016-03-09 |
US9459831B2 (en) | 2016-10-04 |
EP2195750B1 (en) | 2020-03-11 |
RU2010111763A (ru) | 2011-10-10 |
US20090063599A1 (en) | 2009-03-05 |
HUE048765T2 (hu) | 2020-08-28 |
EP2195750A2 (en) | 2010-06-16 |
CN102982007A (zh) | 2013-03-20 |
BRPI0815791A2 (pt) | 2015-02-24 |
JP2011507313A (ja) | 2011-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5113067B2 (ja) | 信号およびデータ処理のための効率的な無乗算計算 | |
Jeannerod et al. | On relative errors of floating-point operations: optimal bounds and applications | |
KR101131757B1 (ko) | 스케일링 인터페이스 및 넌-스케일링 인터페이스를 갖는 변환 디자인 | |
JP5086274B2 (ja) | 共通因数を用いる変換 | |
US6976043B2 (en) | Technique for approximating functions based on lagrange polynomials | |
US20070266072A1 (en) | Method and apparatus for decimal number multiplication using hardware for binary number operations | |
US8751555B2 (en) | Rounding unit for decimal floating-point division | |
US11550544B2 (en) | Fused Multiply-Add operator for mixed precision floating-point numbers with correct rounding | |
US11294627B2 (en) | Floating point dot-product operator with correct rounding | |
TWI474194B (zh) | 並矢分數與符號對稱進位誤差的乘積之快速計算 | |
US7921144B2 (en) | Fast correctly-rounding floating-point conversion | |
CN107038014A (zh) | 舍入反平方根结果 | |
US20070266073A1 (en) | Method and apparatus for decimal number addition using hardware for binary number operations | |
JP7247418B2 (ja) | 乗算のための計算ユニット、方法及びコンピュータプログラム | |
Asim et al. | Centered Symmetric Quantization for Hardware-Efficient Low-Bit Neural Networks. | |
CN109669667B (zh) | 一种在定点dsp芯片上实现的数据处理方法及装置 | |
US20090319589A1 (en) | Using fractional exponents to reduce the computational complexity of numerical operations | |
CN117787297A (zh) | 一种浮点乘加单元及其运算方法 | |
Louvet et al. | On the Computation of Correctly-Rounded Sums | |
Takagi et al. | Digit-recurrence algorithm for computing reciprocal square-root |