JP2011507313A - 符号対称の丸め誤差を有する2進分数による積の高速計算 - Google Patents

符号対称の丸め誤差を有する2進分数による積の高速計算 Download PDF

Info

Publication number
JP2011507313A
JP2011507313A JP2010523129A JP2010523129A JP2011507313A JP 2011507313 A JP2011507313 A JP 2011507313A JP 2010523129 A JP2010523129 A JP 2010523129A JP 2010523129 A JP2010523129 A JP 2010523129A JP 2011507313 A JP2011507313 A JP 2011507313A
Authority
JP
Japan
Prior art keywords
determining
metric
sequence
error
average
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
JP2010523129A
Other languages
English (en)
Other versions
JP4965711B2 (ja
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=JP2011507313(A) "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
Publication of JP2011507313A publication Critical patent/JP2011507313A/ja
Application granted granted Critical
Publication of JP4965711B2 publication Critical patent/JP4965711B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (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)

Abstract

整数値と無理値との積が、符号対称アルゴリズムによって決定されてもよい。プロセスは、平均非対称、平均誤差、誤差の分散、および、エラーの大きさのようなメトリックを最小化させる可能性あるアルゴリズムを決定してもよい。所定の整数変数xと、無理分数を近似する有理2進定数とがあるとして、符号対称である、一連の中間値が生み出される。所定の加算演算、減算演算、および、右シフト演算のシーケンスがあるとして、符号対称アルゴリズムは、整数と無理値との積を近似してもよい。0sの加算または減算、あるいは、0ビットごとのシフトのような、他の演算は、処理を簡潔化させるために除去されてもよい。
【選択図】図2

Description

ここでの主題は、一般的に処理に関連し、より詳細には、ハードウェア、およびソフトウェア処理において使用される近似技術に関連する。
算術シフトを使用して、符号付き整数の2の累乗による、乗算または除算を実行してもよい。符号付きの、または無符号の、2進数上にnビットだけ左シフトすることは、これを、2nで乗算する結果を持つ。2での補数の符号付き2進数上にnビットだけ右シフトすることは、2nでそれを除算する結果を持つが、これは常に、(すなわち、無限に対する)分数を切り捨てる。右シフトは、線形演算でないので、算術右シフトは丸め誤差を追加するかもしれず、右シフトによって後続される乗算結果に等しくない結果を生み出すかもしれない。
いくつかの実現では、IDCT変換アーキテクチャ、または、他のデジタルフィルタにおいて、符号対称アルゴリズムを使用してもよい。
算術シフトの使用の1つの例は、FFT、DCT、MLT、MDCT等のような、何らかの信号処理アルゴリズムの固定小数点実現におけるものである。このような信号処理アルゴリズムは、一般的に、2進有理分数を使用して、これらのアルゴリズムの数学的定義における、無理(代数、または、超越数)ファクターを近似させる。このことは、これらの無理分数による乗算が、より複雑な演算ではなく、整数の加算とシフトを使用して、実行されることを可能にする。
概要
整数値と無理値との積が、符号対称アルゴリズムによって決定されてもよい。プロセスは、平均非対称、平均誤差、誤差の分散、および、エラーの大きさのようなメトリックを最小化させる可能性あるアルゴリズムを決定してもよい。所定の整数変数xと、無理分数を近似する有理2進定数とがあるすると、符号対称である一連の中間値が生み出される。所定の加算演算、減算演算、および、右シフト演算のシーケンスがあるとすると、符号対称アルゴリズムは、整数と無理値との積を近似してもよい。0sの加算または減算、あるいは、0ビットごとのシフトのような、他の演算は、処理を簡潔化させるために除去されてもよい。
以下で詳細な説明においてさらに説明することになる概念を、選択的に、簡潔化して紹介するように、この概要を提供した。この概要は、特許請求されている主題の重要な特徴や本質的な特徴を識別することを意図しておらず、特許請求されている主題の範囲を制限するのに使用されることを意図していない。
図1は、さまざまな計算アルゴリズムの結果のグラフ図である。 図2は、符号対称アルゴリズムを決定して積を決定する例示的なプロセスのフロー図である。 図3は、固定小数点IDCTアルゴリズムを実現する例示的なアーキテクチャである。 図4は、例示的なエンコーディングシステムのブロック図である。 図5は、例示的なデコーディングシステムのブロック図である。
詳細な説明
離散コサイン変換(DCT)と、逆離散コサイン変換(IDCT)とは、無理定数(すなわち、コサイン)で、乗算演算を実行する。DCT/IDCTの実現の設計では、これらの無理定数の積計算の近似は、固定小数点演算を使用して実行されてもよい。浮動小数点値を、固定小数点値に変換するための1つの技術は、2進分数による無理ファクターαiの近似に基づいている。
Figure 2011507313
ここで、aiとkの両方は整数である。ファクターαiによるxの乗算は、以下のような整数演算における近似の実現をもたらす。
Figure 2011507313
ここで、>>は、ビットごとの右シフト演算を表す。
精度ビットの桁数、kが、2進分数近似の複雑さに影響を及ぼすかもしれない。ソフトウェア実現において、精度パラメータkは、レジスタの幅(例えば、16または32)によって、制約されるかもしれず、このような設計制約を満たさないことの結果として、変換に対する実行時間の延長に帰結するかもしれない。ハードウェア設計において、精度パラメータkは、加算器と乗算器を実現するのに必要とされるゲートの数に影響を及ぼす。したがって、固定小数点設計におけるゴールは、近似の十分な正確さを維持する一方で、ビットkの総数を最小化させることである。
αiの値への何らかの特定の制約なしで、何らかの所定のkに対して、対応する候補の値aiが、以下の数式のように選ばれてもよいと仮定する。
Figure 2011507313
そうすると、数式(1)における近似の絶対誤差は、2kに対して反比例することになる。
Figure 2011507313
すなわち、精度の追加ビットのそれぞれ(すなわち、kをインクリメントさせること)が、誤差を半分に減少させることになる。
何らかの実現において、近似されることになる値αi、αnが何らかの追加のパラメータξによって、スケーリングされることができる場合、誤差レートは改善されるだろう。αi,…,αnが1組の無理数である場合(n≧2)、無限に数多くのn+2タプル、αi,…,αn,k,ξが存在し、αi,…,αn∈Z,k∈N,およびξ∈Qであり、以下の式が成立する。
Figure 2011507313
言い換えると、その無理ファクターαi,…,αnのすべてが、何らかのパラメータξによって予めスケーリングできるように、アルゴリズムを変更できる場合、2−k(l+l/n)と同じくらい速く減少する絶対誤差を有する近似になるだろう。例えば、n=2であるとき、ビットの利用において、およそ50%より高い有効性があってもよい。多くの組のファクターαi,…,αnに対しては、しかしながら、この利得はより小さくなるかもしれない。
上に、関係式(1)、(2)において示した2進近似は、整数による乗算に対する無理定数によって積を計算することの問題を減少させる。無理ファクターによる整数の乗算は、その5ビット2進近似23/32を使用して、無理定数を近似するプロセスを説明し、ここで、無理ファクターは以下のようである。
Figure 2011507313
23=10111の2進ビットパターンを見て、それぞれの“1”を、加算の演算で置き換えることによって、23によって乗算される整数の積が、以下のように決定される。
Figure 2011507313
この近似は、3つの加算、および、3つのシフト演算を要求する。さらに、最後の3桁が、連続した“1”を形成していることにさらに留意することによって、数式x*23=(x<<4)+(x<<3)−xが使用されてもよく、この数式によって、複雑さを、2つのシフト演算と2つの加算演算とだけに減らすことができる。
離散数字“1”に関係する“+”の演算シーケンスや、あるいは、一続きの“1…1”の最初と最後に関係する“+”と“−”の演算シーケンスは、共通して、“正準符号付き数字”(CSD)分解として呼ばれる。CSDは、乗算器のない回路の設計においてよく知られた実現である。しかしながら、CSD分解は、最も少ない数の演算を有する結果を常に生み出す訳ではない。例えば、以下のような同一のファクターの8ビット近似と、そのCSD分解を考えよ。
係数は、以下のようである。
Figure 2011507313
そのCSD分解は、以下のようであり、4つの加算と4つのシフト演算とを使用する。
Figure 2011507313
計算式を再配置することと、中間結果を再使用することによって、以下のような、より有効的なアルゴリズムが構成される。
Figure 2011507313
実現にしたがうと、2進分数による積の計算は、基本的な演算として右シフトの使用を可能にすることによって、導出されてもよい。例えば、以下のようなファクターを考えることにする。
Figure 2011507313
そして、そのCSD分解にしたがって、右シフト演算と加算演算とを使用して、以下の数式が取得される。
Figure 2011507313
または、さらに1/2+1/4=1−1/4であることに留意することによって、以下の数式が成立する。
Figure 2011507313
この同一のファクターによって積を計算するさらに別の方法は、以下のようである。
Figure 2011507313
図1は、アルゴリズム(3)、(4)、および(5)により生み出される値、対、整数と無理分数23/32との乗算の図を図示する。それぞれのアルゴリズム(3)、(4)、および(5)は、無理分数23/32により乗算される積を近似する値を計算する。しかしながら、これらの近似のそれぞれにおける誤差は、異なっている。例えば、アルゴリズム(4)は、最大の大きさ55/32を有する、すべて正の誤差を生み出す。アルゴリズム(3)は、±65/64内の振幅の大きさを有する、より均衡のとれた誤差を持つ。最後に、アルゴリズム(5)は、±7/8内の振幅を有する、完全に符号対称の誤差を生み出す。したがって、符号対称アルゴリズムが、誤差を最小化する均衡の取れた結果を生み出すことになる。
以下のアルゴリズムの符号対称プロパティを考える。
Figure 2011507313
これは、何らかの(x∈Z)に対して、以下の数式を意味する。
Figure 2011507313
これはまた、何らかのNに対して、Aai,b(0)=0であるとして仮定すると、以下の数式が暗示される。すなわち、何らかの対称間隔において、ゼロ平均誤差であることが暗示される。
Figure 2011507313
このプロパティは、固定小数点近似によりもたらされる丸め誤差が累積されることになる可能性を最小化するので、信号処理アルゴリズムの設計において、このプロパティを使用してもよい。以下に説明するのは、2進分数により積を計算するための、また、それらの複雑性に上限を設けるための、右シフトベースの符号対称アルゴリズムの基本である。
1組の2進分数a1/2b,…,am/2bがあるとして、以下のようなアルゴリズムを規定することができる。
Figure 2011507313
引き続いてのステップのシーケンスとして、
1,x2,…,xtとなり、
ここで、x1:=xであり、ここで、後続する値xk(k=2,…,t)が、以下の基本的演算のうちの1つを使用して生み出される。
Figure 2011507313
以下の数式を成立させるようなインデックスj1,…,jm≦tが存在するとき、アルゴリズムは終了する。
Figure 2011507313
このように、何らかの実現は、以下のようなメトリックの1つ以上のものを最小化させるアルゴリズムを調べる。
平均非対称:
Figure 2011507313
平均誤差:
Figure 2011507313
誤差の分散:
Figure 2011507313
誤差の大きさ:
Figure 2011507313
以下のような複数の定数によって積を計算するときについて考える。
Figure 2011507313
(以下のような定数のそれぞれに対して計算される)上記のメトリックの最悪のケースの値は、アルゴリズムの有効性を評価するのに使用されてもよい。
Figure 2011507313
図2は、積を計算するプロセス100におけるステージを示す。102において、整数値が受け取られ、104において、この整数によって、乗算されることになる、無理値を表す有理2進定数が確認される。106において、中間値が決定されてもよい。例えば、所定の整数変数xと、以下のような1組の有理2進定数とがあるとする。
Figure 2011507313
一連の中間値は以下のように決定されてもよい。
Figure 2011507313
ここで、w0=0、w1=x、および、すべてのk≧2の値に対して、wkは以下のように取得される。
Figure 2011507313
ここで、±符号は、両方の項とともに実行される必要がある、プラスまたはマイナス演算のいずれかを暗示し、そして、>>は、skビットによる、変数zjの右シフトを表す。
108において、積に対応する、この数列中の小数点が決定される。すなわち、このステップの結果は、以下の数式となるような、インデックスl1,…,lm≦tである。
Figure 2011507313
110において、以下のような結果となる出力値が、特定の精度メトリックに対して、分析される。
Figure 2011507313
例えば、これらの値を分析して、これらが、平均、非対称、分散、大きさのうちの1つを最小化できるか否かを決定できる。
いくつかの実現では、プロセス100は、0sの加算または減算、あるいは、0ビットによるシフトを除去してもよい。いくつかの実現では、この全体の演算の総計算(すなわち、実現の)コストが最小化されるように、中間値のシーケンスを選んでもよい。
1組のメトリックがあるとすると、加算の総数、シフトの総数等によって、特徴付けられることができる複雑さを持つアルゴリズムがあってもよい。したがって、加算の最小数、シフトの最小数、加算とシフトの最小数、加算とシフトの最小数を達成するアルゴリズムの間の加算の最小数等を持つアルゴリズムがある。
図3は、例示的な固定小数点8x8 IDCTアーキテクチャ120を図示する。このアーキテクチャは、xの符号対称値であるアルゴリズムを実現してもよい。多くの実現において、このようなアルゴリズムは、所定の組のファクターに対する最小複素数であってもよい。上で述べたように、IDCTの設計は、対称的であってもよく、または、よく均衡の取れた丸め誤差をもたらすかもしれない。いくつかの実現では、アルゴリズムによって生み出される誤差の平均、分散、および大きさ(最大値)のようなメトリックの推定が分析されてもよい。アルゴリズムの複雑さを評価する際において、演算の数、とともに、最長の実行パス、および、計算のために必要とされる中間レジスタの最大数を考慮に入れてもよい。
いくつかの実現では、提案する固定小数点IDCTアーキテクチャ120の設計において、使用される設計は、分離可能で、スケーリングされる特徴を有することを特徴としていてもよい。スケーリングステージ122は、行変換のための1D倍率とともに、列変換のための1D倍率で因数分解することによって、事前計算される、単一の8x8行列を含んでもよい。また、スケーリングステージ122を使用して、入力DCT係数のそれぞれに、Pビットの精度を、事前割り振りしてもよく、これによって、残りの変換全体を通して使用するための固定小数点“小数部(mantissa)”を提供する。
実現において、スケーリングされた1D変換設計に対する基本は、3つの平面回転と2つの独立ファクターγ=√2を有する、C.Loeffler,A.LigtenbergとG.S.Moschytzの良く知られている因数分解の変形であってもよい。LLM因数分解内での、定数α、β、δ、ε、η、およびθの有効的な分数近似を提供するために、2つの浮動ファクターξとζを、以下のような定数の2つのサブグループに対して、使用し、適用してもよい。
Figure 2011507313
これらの乗算は、スケーリングステージ122において、ξとζのそれぞれの逆数を有する、入力DCT係数のそれぞれを乗算することによって、ξとζによって逆数にされてもよい。すなわち、1D変換のキャスケード中の第1のもの(例えば、ステージ126と128)の前に、スケーリングステージ122で使用するために、スケーリングファクターのベクトルが計算されてもよい。
Figure 2011507313
これらのファクターは、以下のように事前計算されるスケーリング行列へと引き続いてマージされてもよい。
Figure 2011507313
ここで、A−Jは、この積におけるユニークな値を表す。
Figure 2011507313
Sは、スケーリングのために割り当てられた固定小数点精度ビットの数を表す。
このパラメータSは、それが、それぞれの入力係数の小数部に対するビットPの数より大きいか、または、ビットPの数に等しいように、選ばれてもよい。このことは、係数Fvuのスケーリングが以下のように実現されることを可能にする。
Figure 2011507313
ここで、以下の数式は、スケーリングファクターの行列における整数近似値を表す。
Figure 2011507313
一連の1D変換(ステージ126と128)中の最後の変換ステージの終わりにおいて、P個の固定点小数部ビット(それぞれの1Dステージの実行の間に累積されたプラス3の余分なビット)は、以下のように、右シフト演算130による変換出力から単にシフトアウトされる。
Figure 2011507313
計算された値を、確実に適切に丸めるために、DCバイアスステージ124を使用したシフトの前に、2P+2のバイアスが、値f’yxに対して追加されてもよい。第1の1D変換を実行する前に、DC係数を摂動することによって、この丸めバイアスを実現してもよく、ここで、F’’00=F’’00+2p+2である。
いくつかの実現では、上に述べたような、均衡の取れた(すなわち、符号対称の)アルゴリズムを、ISO/IEC23002−2 IDCT標準規格において使用してもよい。この標準規格は、以下の定数によって積の計算の処理を規定する。
Figure 2011507313
また、この標準規格は、以下のように達成される。
Figure 2011507313
図4は、エンコーディングシステム400のブロック図を示し、これは、上に示したように、符号対称の丸め誤差を持つ2進分数を実現する変換を含んでもよい。捕捉デバイス/メモリ410が、ソース信号を受け取ってもよく、デジタルフォーマットへの変換を実現してもよく、入力/ローデータを提供してもよい。捕捉デバイス410は、ビデオカメラ、デジタイザ、または、他の何らかのデバイスであってもよい。プロセッサ420は、ローデータを処理して、圧縮されたデータを発生させる。プロセッサ420内で、ローデータはDCTユニット422によって変換されてもよく、ジグザグスキャンユニット424によってスキャンされてもよく、量子化器426によって量子化されてもよく、エントロピーエンコーダ428によってエンコードされてもよく、パケタイザ430によってパケット化されてもよい。DCTユニット422は、ここで説明する技術にしたがって、ローデータ上に、2D DCTを実行してもよく、フル、およびスケーリングされたインターフェースの両方をサポートしてもよい。それぞれのユニット422から430は、ハードウェア、ファームウェア、および/または、ソフトウェアで実現されてもよく、例えば、DCTユニット422は、専用ハードウェア、算術ロジックユニット(ALU)に対する1組の命令等で実現されてもよい。
記憶ユニット440は、プロセッサ420からの圧縮されたデータを記憶してもよい。送信機442は、圧縮されたデータを送信してもよい。制御装置/プロセッサ450は、エンコーディングシステム400中のさまざまなユニットの動作を制御する。メモリ452は、エンコーディングシステム400のためのデータとプログラムコードとを記憶する。1つ以上のバス460は、エンコーディングシステム400中のさまざまなユニットを相互接続する。
図5は、デコーディングシステム500のブロック図を示し、上で説明したような符号対称丸め誤差を持つ2進分数を実現する変換を含んでもよい。受信機510は、エンコーディングシステムからの圧縮されたデータを受信してもよく、記憶ユニット512は、受信した圧縮データを記憶してもよい。プロセッサ520は、圧縮データを処理して、出力データを発生させる。プロセッサ520内で、デパケタイザ522によって圧縮されたデータをデパケタイズしてもよく、エントロピーデコーダ524によってデコードされてもよく、逆量子化器526によって逆量子化されてもよく、逆ジグザグスキャンユニット528によって適切な順序に配置されてもよく、IDCTユニット530によって変換されてもよい。IDCTユニット530は、ここで説明した技術にしたがって、フル、または、スケーリングされた、変換係数上に、2D IDCTを実行してもよく、フル、または、スケーリングされたインターフェースの両方をサポートしてもよい。それぞれのユニット522から530は、ハードウェア、ファームウェア、および/または、ソフトウェアで実現されてもよい。例えば、IDCTユニット530は、専用ハードウェア、ALUに対する1組の命令等で実現されてもよい。
表示ユニット540は、プロセッサ520からの再構成された画像とビデオを表示する。制御装置/プロセッサ550は、デコーディングシステム500中のさまざまなユニットの動作を制御する。メモリ552は、デコーディングシステム500のためのデータとプログラムコードとを記憶する。1つ以上のバス560は、デコーディングシステム500中のさまざまなユニットを相互接続する。
プロセッサ420と520は、それぞれ、1つ以上のアプリケーション専用集積回路(ASIC)、デジタルシグナルプロセッサ(DSP)、および/または、他の何らかのタイプのプロセッサで実現されてもよい。代わりに、プロセッサ420と520は、それぞれ、1つ以上のランダムアクセスメモリ(RAM)、読出専用メモリ(ROM)、消去可能プログラム可能読出専用メモリ(EPROM)、電子的消去可能プログラム可能読出専用メモリ(EEPROM)、特定用途向け集積回路(ASIC)、磁気ディスク、光学ディスク、および/または、技術的に知られているその他のタイプの揮発性または不揮発性のメモリからなっていてもよい。
ここで説明する実施形態は、ハードウェア、ソフトウェア、フォームウェア、ミドルウェア、マイクロコード、または、これらの任意の組み合わせによって実現されてもよい。システムおよび/または方法が、ソフトウェア、フォームウェア、ミドルウェア、または、マイクロコード、プログラムコードもしくはコードセグメントにおいて実現されるとき、これらは、ストレージコンポーネントのような機械読取可能媒体中に記憶されてもよい。コードセグメントは、手続、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または、命令、データ構造、もしくは、プログラムセグメントの何らかの組み合わせを表してもよい。コードセグメントは、情報、データ、引数、パラメータ、または、メモリコンテンツを送ることおよび/または受け取ることによって、別のコードセグメント、または、ハードウェア回路に結合されてもよい。情報、引数、パラメータ、データ等は、メモリ共有、メッセージ送信、トークンパッシング、ネットワーク送信等を含む任意の適切な手段を使用して、送出されてもよく、送られてもよく、送信されてもよい。
ソフトウェア実現に関しては、ここで説明した技術を、ここで説明した機能を実行するモジュール(例えば、手続、関数等)で実現してもよい。ソフトウェアコードは、メモリユニット中に記憶されてもよく、プロセッサによって実行されてもよい。メモリユニットは、プロセッサ内で実現されてもよく、または、プロセッサ外部で実現されてもよい。外部のケースでは、メモリユニットは、技術的に知られているさまざまな手段を通してプロセッサに通信可能に結合されることができる。
ここで開示した実施形態と関連して述べた方法またはアルゴリズムのステージを、直接、ハードウェアで、プロセッサにより実行されるソフトウェアモジュールで、あるいは、2つの組み合わせで具体化してもよい。ソフトウェアモジュールは、ランダムアクセスメモリ(“RAM”)メモリ、フラッシュメモリ、読出専用メモリ(“ROM”)メモリ、消去可能プログラム可能ROM(“EPROM”)メモリ、電気的消去可能プログラム可能ROM(“EEPROM”)メモリ、レジスタ、ハードディスク、リムーブバルディスク、CD−ROM、あるいは、技術的に知られている他の何らかの形態の記憶媒体に存在していてもよい。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるようにプロセッサに結合される。代替実施形態では、記憶媒体はプロセッサと一体化されてもよい。プロセッサおよび記憶媒体は、ASICに存在してもよい。ASICはユーザ端末に存在してもよい。代替実施形態では、プロセッサおよび記憶媒体は、ユーザ端末中のディスクリートコンポーネントとして存在してもよい。
ここで説明した方法は、当業者のうちの1人によって知られている、さまざまなハードウェア、プロセッサ、および、システム上で実現されてもよいことに留意すべきである。例えば、実現において使用される機械は、コンテンツと情報を表示するディスプレイ、クライアントの動作を制御するプロセッサ、および、機械の動作に関係するデータとプログラムを記憶するメモリを有していてもよい。何らかの実現では、機械はセルラ電話機である。何らかの実現では、機械は手持ちコンピュータ、または、通信能力を有するハンドセットである。別の実現では、機械は、通信能力を有するパーソナルコンピュータである。
ここで説明する実施形態に関連して説明する、さまざまな例示的なロジックブロック、モジュール、回路、エレメント、および/または、コンポーネントは、汎用プロセッサ、DSP、ASIC、フィールドプログラム可能ゲートアレイ(FPGA)または他のプログラム可能ロジックデバイス、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウェア構成部品、あるいは、ここで説明する機能を実現するように設計されているこれらの任意の組み合わせとともに実現、または、実行してもよい。汎用プロセッサは、マイクロプロセッサであってもよいが、代わりに、プロセッサは、任意の従来のプロセッサ、制御装置、マイクロ制御装置、または、状態機械であってもよい。プロセッサはまた、計算デバイスの組み合わせとして、例えば、DSPとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、DSPコアと連携した1つ以上のマイクロプロセッサ、または、他の何らかのこのような構成として、実現されてもよい。
主題を構造的な特徴および/または方法的動作に特有の言語において説明してきたが、特許請求の範囲において規定する主題は、上に説明する特定の特徴または動作に限定される必要はないことが理解されるだろう。むしろ、上に説明した特定の特徴と動作は、特許請求の範囲を実現する例示的な形態として開示した。

Claims (24)

  1. 積を計算する方法において、
    整数値xを受け取ることと、
    所定の定数ファクターを近似する、1組の2進分数ai/2b … am/2bを決定することと、
    入力整数値xに等しくx1を設定することと、
    (a)x1,… xt-1のうちの少なくとも1つと、(b)プラス演算、マイナス演算、または、右シフト演算のうちの1つとにしたがって、x2 … xtを決定することと
    によって、中間値のシーケンス、x1 … xtを決定して、積を計算することと、
    以下の数式
    Figure 2011507313
    のように、出力値のインデックスl1,…,lm≦tを決定することと
    を含む方法。
  2. 平均非対称メトリック、平均誤差メトリック、誤差の分散メトリック、および、誤差の大きさメトリックにしたがって、出力値を生成するシーケンスを決定することをさらに含む、請求項1記載の方法。
  3. 前記平均非対称メトリック、前記平均誤差メトリック、前記誤差の分散メトリック、および、前記誤差の大きさメトリックの最悪のケースの結果に基づいて、出力値のシーケンスの有効性を評価することをさらに含む、請求項2記載の方法。
  4. 最小数の加算を持つ中間値のシーケンスを決定することをさらに含む、請求項1記載の方法。
  5. 最小数の右シフトを持つ中間値のシーケンスを決定することをさらに含む、請求項1記載の方法。
  6. 最小数の加算と右シフトを持つ中間値のシーケンスを決定することをさらに含む、請求項1記載の方法。
  7. 前記最小数の加算と右シフトを持つ中間値のシーケンスのうちから、最小数の加算を持つ中間値のシーケンスを決定することをさらに含む、請求項6記載の方法。
  8. 前記x2 … xtを決定することは、
    値:xi >> sk
    −xi
    i+xj;または、
    i+xj
    のうちの1つを持つとして、中間値のメンバxkを規定することをさらに含み、
    ここで、skは、xiを右シフトするビット数であり、iはkより小さく、jはkより小さい、請求項1記載の方法。
  9. 以下の関係式
    Figure 2011507313
    を最小化させるように、符号対称シーケンスを決定することをさらに含む、請求項1記載の方法。
  10. 積を計算する方法を実行する実行可能命令を有するコンピュータ読取可能媒体において、
    整数値xを受け取る命令と、
    所定の定数ファクターを近似する、1組の2進分数ai/2b … am/2bを決定する命令と、
    中間値のシーケンス、x1 … xtを決定する命令と、
    以下の数式
    Figure 2011507313
    のように、出力値のインデックスl1,…,lm≦tを決定する命令と
    を含むコンピュータ読取可能媒体。
  11. 平均非対称メトリック、平均誤差メトリック、誤差の分散メトリック、および、誤差の大きさメトリックにしたがって、出力値を生成するシーケンスを決定する命令を
    をさらに含む、請求項10記載のコンピュータ読取可能媒体。
  12. 入力整数値に等しくx1を設定する命令と、
    (a)x1,… xt-1のうちの1つと、(b)プラス演算、マイナス演算、または、右シフト演算のうちの1つとにしたがって、x2 … xtを決定する命令と
    をさらに含む、請求項11記載のコンピュータ読取可能媒体。
  13. 前記平均非対称メトリック、前記平均誤差メトリック、前記誤差の分散メトリック、および、前記誤差の大きさメトリックの最悪のケースの結果に基づいて、出力値のシーケンスの有効性を評価する命令をさらに含む、請求項10記載のコンピュータ読取可能媒体。
  14. 最小数の加算を持つ中間値のシーケンスを決定する命令と、
    最小数のシフトを持つ中間値のシーケンスを決定する命令と
    をさらに含む、請求項10記載のコンピュータ読取可能媒体。
  15. デジタル信号変換装置において、
    行変換と列変換とにしたがって、DCT係数をスケーリングし、入力DCT係数に対して、予め定められた数の精度ビットを事前に割り振るスケーリングステージと、
    変換定数の符号対称2進分数近似を利用して、前記DCT係数を変換し、変換されたDCT係数を出力する変換ステージと、
    前記変換されたDCT係数をシフトして、出力変換DCT係数を決定する右シフトステージと
    を具備する装置。
  16. 変換エンジンが前記DCT係数を変換する前に、DCバイアス係数を変更して、丸め誤差を訂正するDCバイアスステージをさらに具備する、請求項15記載の装置。
  17. 前記出力変換DCT係数は、IDCT係数であることをさらに含む、請求項15記載の装置。
  18. 前記変換定数の符号対称2進分数近似は、
    (a)入力整数値に等しくx1を設定することと、
    (b)x1,… xt-1のうちの1つと、プラス演算、マイナス演算、または、右シフト演算のうちの1つとにしたがって、x2 … xtを決定することと
    によって決定された中間値x1 … xtを使用する、請求項15記載の装置。
  19. 積を計算する装置において、
    整数値xを受け取る手段と、
    所定の定数ファクターを近似する、1組の2進分数ai/2b … am/2bを決定する手段と、
    中間値のシーケンス、x1 … xtを決定する手段と、
    以下の数式
    Figure 2011507313
    のように、出力値のインデックスl1,…,lm≦tを決定する手段と
    を具備する装置。
  20. 平均非対称メトリック、平均誤差メトリック、誤差の分散メトリック、および、誤差の大きさメトリックにしたがって、出力値のシーケンスが決定されることをさらに含む、請求項19記載の装置。
  21. 前記シーケンスを決定する手段は、
    入力整数値に等しくx1を設定し、
    1,… xt-1のうちの1つと、
    プラス演算、マイナス演算、または、右シフト演算のうちの1つと
    のうちの1つにしたがって、x2 … xtを決定する、請求項19記載の装置。
  22. 前記平均非対称メトリック、前記平均誤差メトリック、前記誤差の分散メトリック、および、前記誤差の大きさメトリックの最悪のケースの結果に基づいて、有効性が決定される、請求項19記載の装置。
  23. 積を計算する方法において、
    整数値xを受け取ることと、
    所定の定数ファクターを近似する、1組の2進分数ai/2b … am/2bを決定することと、
    中間値のシーケンス、x1 … xtを決定することと、
    以下の数式
    Figure 2011507313
    のように、出力値のインデックスl1,…,lm≦tを決定することと
    を含む方法。
  24. 入力整数値に等しくx1を設定することと、
    1,… xt-1のうちの1つと、
    プラス演算、マイナス演算、または、右シフト演算のうちの1つと
    のうちの1つにしたがって、x2 … xtを決定することと、
    平均非対称メトリック、平均誤差メトリック、誤差の分散メトリック、および、誤差の大きさメトリックにしたがって、出力値を生成するシーケンスを決定することと
    をさらに含む、請求項23記載の方法。
JP2010523129A 2007-08-28 2008-08-28 符号対称の丸め誤差を有する2進分数による積の高速計算 Active JP4965711B2 (ja)

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 2008-06-16
US12/139,957 US8819095B2 (en) 2007-08-28 2008-06-16 Fast computation of products by dyadic fractions with sign-symmetric rounding errors
PCT/US2008/074607 WO2009032740A2 (en) 2007-08-28 2008-08-28 Fast computation of products by dyadic fractions with sign-symmetric rounding errors

Publications (2)

Publication Number Publication Date
JP2011507313A true JP2011507313A (ja) 2011-03-03
JP4965711B2 JP4965711B2 (ja) 2012-07-04

Family

ID=40409178

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010523129A Active JP4965711B2 (ja) 2007-08-28 2008-08-28 符号対称の丸め誤差を有する2進分数による積の高速計算

Country Status (12)

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

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
PT3367687T (pt) 2011-06-24 2021-04-26 Ntt Docomo Inc Método e aparelho para a previsão da compensação de movimento
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
JPH0613914A (ja) * 1991-11-22 1994-01-21 Intel Corp 乗算不要の離散的コサイン変換方式および装置
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
US5561424A (en) * 1993-04-30 1996-10-01 Lucent Technologies Inc. Data converter with minimum phase fir filter and method for calculating filter coefficients
US6507898B1 (en) 1997-04-30 2003-01-14 Canon Kabushiki Kaisha Reconfigurable data cache controller
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
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
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
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
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
JPH0613914A (ja) * 1991-11-22 1994-01-21 Intel Corp 乗算不要の離散的コサイン変換方式および装置
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
BRPI0815791A2 (pt) 2015-02-24
WO2009032740A3 (en) 2011-02-10
CN102067108A (zh) 2011-05-18
RU2010111763A (ru) 2011-10-10
CN102982007A (zh) 2013-03-20
WO2009032740A2 (en) 2009-03-12
JP4965711B2 (ja) 2012-07-04
EP2195750B1 (en) 2020-03-11
US20090063599A1 (en) 2009-03-05
CN102982007B (zh) 2016-04-06
KR101107923B1 (ko) 2012-01-25
US9459831B2 (en) 2016-10-04
EP2195750A2 (en) 2010-06-16
KR20100066521A (ko) 2010-06-17
US8819095B2 (en) 2014-08-26
ES2791420T3 (es) 2020-11-04
BRPI0815791B1 (pt) 2020-02-11
RU2468422C2 (ru) 2012-11-27
TW200925897A (en) 2009-06-16
CA2698269C (en) 2016-05-17
CN102067108B (zh) 2016-03-09
TWI474194B (zh) 2015-02-21
US20140330878A1 (en) 2014-11-06
CA2698269A1 (en) 2009-03-12
HUE048765T2 (hu) 2020-08-28

Similar Documents

Publication Publication Date Title
JP5113067B2 (ja) 信号およびデータ処理のための効率的な無乗算計算
KR101131757B1 (ko) 스케일링 인터페이스 및 넌-스케일링 인터페이스를 갖는 변환 디자인
JP5086274B2 (ja) 共通因数を用いる変換
JP4965711B2 (ja) 符号対称の丸め誤差を有する2進分数による積の高速計算
Goyal et al. Computation-distortion characteristics of block transform coding
KR20150050680A (ko) 이산 코사인 변환 장치 및 방법
TWI432029B (zh) 具有比例化及非比例化介面之變換設計
Guevorkian et al. A radix-8 multiplier design and its extension for efficient implementation of imaging algorithms
TECH HIGH SPEED BUTTERFLY ARCHITECTURE FOR CIRCULAR CONVOLUTION USING FNT WITH PARTIAL PRODUCT MULTIPLIER
JP2015109585A (ja) デジタル符号化装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110906

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111201

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111208

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120105

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120206

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120228

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120329

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4965711

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150406

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250