(57)【要約】  整数値と無理値との積が、符号対称アルゴリズムによって決定されてもよい。プロセスは、平均非対称、平均誤差、誤差の分散、および、エラーの大きさのようなメトリックを最小化させる可能性あるアルゴリズムを決定してもよい。所定の整数変数ｘと、無理分数を近似する有理２進定数とがあるとして、符号対称である、一連の中間値が生み出される。所定の加算演算、減算演算、および、右シフト演算のシーケンスがあるとして、符号対称アルゴリズムは、整数と無理値との積を近似してもよい。０ｓの加算または減算、あるいは、０ビットごとのシフトのような、他の演算は、処理を簡潔化させるために除去されてもよい。【選択図】図２
2011507313.tif 000002
【特許請求の範囲】
【請求項１】
積を計算する方法において、
整数値ｘを受け取ることと、
所定の定数ファクターを近似する、１組の２進分数ａi／２b … ａm／２bを決定することと、
入力整数値ｘに等しくｘ1を設定することと、
（ａ）ｘ1，… ｘt-1のうちの少なくとも１つと、（ｂ）プラス演算、マイナス演算、または、右シフト演算のうちの１つとにしたがって、ｘ2 … ｘtを決定することと
によって、中間値のシーケンス、ｘ1 … ｘtを決定して、積を計算することと、
以下の数式
【数１】
2011507313.tif 000043
のように、出力値のインデックスｌ1，…，ｌm≦ｔを決定することと
を含む方法。
【請求項２】
平均非対称メトリック、平均誤差メトリック、誤差の分散メトリック、および、誤差の大きさメトリックにしたがって、出力値を生成するシーケンスを決定することをさらに含む、請求項１記載の方法。
【請求項３】
前記平均非対称メトリック、前記平均誤差メトリック、前記誤差の分散メトリック、および、前記誤差の大きさメトリックの最悪のケースの結果に基づいて、出力値のシーケンスの有効性を評価することをさらに含む、請求項２記載の方法。
【請求項４】
最小数の加算を持つ中間値のシーケンスを決定することをさらに含む、請求項１記載の方法。
【請求項５】
最小数の右シフトを持つ中間値のシーケンスを決定することをさらに含む、請求項１記載の方法。
【請求項６】
最小数の加算と右シフトを持つ中間値のシーケンスを決定することをさらに含む、請求項１記載の方法。
【請求項７】
前記最小数の加算と右シフトを持つ中間値のシーケンスのうちから、最小数の加算を持つ中間値のシーケンスを決定することをさらに含む、請求項６記載の方法。
【請求項８】
前記ｘ2 … ｘtを決定することは、
値：ｘi ＞＞ ｓk；
−ｘi；
ｘi＋ｘj；または、
ｘi＋ｘj
のうちの１つを持つとして、中間値のメンバｘkを規定することをさらに含み、
ここで、ｓkは、ｘiを右シフトするビット数であり、ｉはｋより小さく、ｊはｋより小さい、請求項１記載の方法。
【請求項９】
以下の関係式
【数２】
2011507313.tif 000044
を最小化させるように、符号対称シーケンスを決定することをさらに含む、請求項１記載の方法。
【請求項１０】
積を計算する方法を実行する実行可能命令を有するコンピュータ読取可能媒体において、
整数値ｘを受け取る命令と、
所定の定数ファクターを近似する、１組の２進分数ａi／２b … ａm／２bを決定する命令と、
中間値のシーケンス、ｘ1 … ｘtを決定する命令と、
以下の数式
【数３】
2011507313.tif 000045
のように、出力値のインデックスｌ1，…，ｌm≦ｔを決定する命令と
を含むコンピュータ読取可能媒体。
【請求項１１】
平均非対称メトリック、平均誤差メトリック、誤差の分散メトリック、および、誤差の大きさメトリックにしたがって、出力値を生成するシーケンスを決定する命令を
をさらに含む、請求項１０記載のコンピュータ読取可能媒体。
【請求項１２】
入力整数値に等しくｘ1を設定する命令と、
（ａ）ｘ1，… ｘt-1のうちの１つと、（ｂ）プラス演算、マイナス演算、または、右シフト演算のうちの１つとにしたがって、ｘ2 … ｘtを決定する命令と                    
をさらに含む、請求項１１記載のコンピュータ読取可能媒体。
【請求項１３】
前記平均非対称メトリック、前記平均誤差メトリック、前記誤差の分散メトリック、および、前記誤差の大きさメトリックの最悪のケースの結果に基づいて、出力値のシーケンスの有効性を評価する命令をさらに含む、請求項１０記載のコンピュータ読取可能媒体。
【請求項１４】
最小数の加算を持つ中間値のシーケンスを決定する命令と、
最小数のシフトを持つ中間値のシーケンスを決定する命令と    
をさらに含む、請求項１０記載のコンピュータ読取可能媒体。
【請求項１５】
デジタル信号変換装置において、
行変換と列変換とにしたがって、ＤＣＴ係数をスケーリングし、入力ＤＣＴ係数に対して、予め定められた数の精度ビットを事前に割り振るスケーリングステージと、
変換定数の符号対称２進分数近似を利用して、前記ＤＣＴ係数を変換し、変換されたＤＣＴ係数を出力する変換ステージと、
前記変換されたＤＣＴ係数をシフトして、出力変換ＤＣＴ係数を決定する右シフトステージと
を具備する装置。
【請求項１６】
変換エンジンが前記ＤＣＴ係数を変換する前に、ＤＣバイアス係数を変更して、丸め誤差を訂正するＤＣバイアスステージをさらに具備する、請求項１５記載の装置。
【請求項１７】
前記出力変換ＤＣＴ係数は、ＩＤＣＴ係数であることをさらに含む、請求項１５記載の装置。
【請求項１８】
前記変換定数の符号対称２進分数近似は、
（ａ）入力整数値に等しくｘ1を設定することと、
（ｂ）ｘ1，… ｘt-1のうちの１つと、プラス演算、マイナス演算、または、右シフト演算のうちの１つとにしたがって、ｘ2 … ｘtを決定することと
によって決定された中間値ｘ1 … ｘtを使用する、請求項１５記載の装置。
【請求項１９】
積を計算する装置において、
整数値ｘを受け取る手段と、
所定の定数ファクターを近似する、１組の２進分数ａi／２b … ａm／２bを決定する手段と、
中間値のシーケンス、ｘ1 … ｘtを決定する手段と、
以下の数式
【数４】
2011507313.tif 000046
のように、出力値のインデックスｌ1，…，ｌm≦ｔを決定する手段と
を具備する装置。
【請求項２０】
平均非対称メトリック、平均誤差メトリック、誤差の分散メトリック、および、誤差の大きさメトリックにしたがって、出力値のシーケンスが決定されることをさらに含む、請求項１９記載の装置。
【請求項２１】
前記シーケンスを決定する手段は、
入力整数値に等しくｘ1を設定し、
ｘ1，… ｘt-1のうちの１つと、
プラス演算、マイナス演算、または、右シフト演算のうちの１つと
のうちの１つにしたがって、ｘ2 … ｘtを決定する、請求項１９記載の装置。
【請求項２２】
前記平均非対称メトリック、前記平均誤差メトリック、前記誤差の分散メトリック、および、前記誤差の大きさメトリックの最悪のケースの結果に基づいて、有効性が決定される、請求項１９記載の装置。
【請求項２３】
積を計算する方法において、
整数値ｘを受け取ることと、
所定の定数ファクターを近似する、１組の２進分数ａi／２b … ａm／２bを決定することと、
中間値のシーケンス、ｘ1 … ｘtを決定することと、
以下の数式
【数５】
2011507313.tif 000047
のように、出力値のインデックスｌ1，…，ｌm≦ｔを決定することと
を含む方法。
【請求項２４】
入力整数値に等しくｘ1を設定することと、
ｘ1，… ｘt-1のうちの１つと、
プラス演算、マイナス演算、または、右シフト演算のうちの１つと
のうちの１つにしたがって、ｘ2 … ｘtを決定することと、
平均非対称メトリック、平均誤差メトリック、誤差の分散メトリック、および、誤差の大きさメトリックにしたがって、出力値を生成するシーケンスを決定することと
をさらに含む、請求項２３記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
ここでの主題は、一般的に処理に関連し、より詳細には、ハードウェア、およびソフトウェア処理において使用される近似技術に関連する。
【背景技術】
【０００２】
算術シフトを使用して、符号付き整数の２の累乗による、乗算または除算を実行してもよい。符号付きの、または無符号の、２進数上にｎビットだけ左シフトすることは、これを、２ｎで乗算する結果を持つ。２での補数の符号付き２進数上にｎビットだけ右シフトすることは、２ｎでそれを除算する結果を持つが、これは常に、（すなわち、無限に対する）分数を切り捨てる。右シフトは、線形演算でないので、算術右シフトは丸め誤差を追加するかもしれず、右シフトによって後続される乗算結果に等しくない結果を生み出すかもしれない。
【０００３】
いくつかの実現では、ＩＤＣＴ変換アーキテクチャ、または、他のデジタルフィルタにおいて、符号対称アルゴリズムを使用してもよい。
【０００４】
算術シフトの使用の１つの例は、ＦＦＴ、ＤＣＴ、ＭＬＴ、ＭＤＣＴ等のような、何らかの信号処理アルゴリズムの固定小数点実現におけるものである。このような信号処理アルゴリズムは、一般的に、２進有理分数を使用して、これらのアルゴリズムの数学的定義における、無理（代数、または、超越数）ファクターを近似させる。このことは、これらの無理分数による乗算が、より複雑な演算ではなく、整数の加算とシフトを使用して、実行されることを可能にする。
【概要】
【０００５】
整数値と無理値との積が、符号対称アルゴリズムによって決定されてもよい。プロセスは、平均非対称、平均誤差、誤差の分散、および、エラーの大きさのようなメトリックを最小化させる可能性あるアルゴリズムを決定してもよい。所定の整数変数ｘと、無理分数を近似する有理２進定数とがあるすると、符号対称である一連の中間値が生み出される。所定の加算演算、減算演算、および、右シフト演算のシーケンスがあるとすると、符号対称アルゴリズムは、整数と無理値との積を近似してもよい。０ｓの加算または減算、あるいは、０ビットごとのシフトのような、他の演算は、処理を簡潔化させるために除去されてもよい。
【０００６】
以下で詳細な説明においてさらに説明することになる概念を、選択的に、簡潔化して紹介するように、この概要を提供した。この概要は、特許請求されている主題の重要な特徴や本質的な特徴を識別することを意図しておらず、特許請求されている主題の範囲を制限するのに使用されることを意図していない。
【図面の簡単な説明】
【０００７】
【図１】図１は、さまざまな計算アルゴリズムの結果のグラフ図である。
【図２】図２は、符号対称アルゴリズムを決定して積を決定する例示的なプロセスのフロー図である。
【図３】図３は、固定小数点ＩＤＣＴアルゴリズムを実現する例示的なアーキテクチャである。
【図４】図４は、例示的なエンコーディングシステムのブロック図である。
【図５】図５は、例示的なデコーディングシステムのブロック図である。
【詳細な説明】
【０００８】
離散コサイン変換（ＤＣＴ）と、逆離散コサイン変換（ＩＤＣＴ）とは、無理定数（すなわち、コサイン）で、乗算演算を実行する。ＤＣＴ／ＩＤＣＴの実現の設計では、これらの無理定数の積計算の近似は、固定小数点演算を使用して実行されてもよい。浮動小数点値を、固定小数点値に変換するための１つの技術は、２進分数による無理ファクターαiの近似に基づいている。
【数１】
2011507313.tif 000003
【０００９】
ここで、ａiとｋの両方は整数である。ファクターαiによるｘの乗算は、以下のような整数演算における近似の実現をもたらす。
【数２】
2011507313.tif 000004
【００１０】
ここで、＞＞は、ビットごとの右シフト演算を表す。
【００１１】
精度ビットの桁数、ｋが、２進分数近似の複雑さに影響を及ぼすかもしれない。ソフトウェア実現において、精度パラメータｋは、レジスタの幅（例えば、１６または３２）によって、制約されるかもしれず、このような設計制約を満たさないことの結果として、変換に対する実行時間の延長に帰結するかもしれない。ハードウェア設計において、精度パラメータｋは、加算器と乗算器を実現するのに必要とされるゲートの数に影響を及ぼす。したがって、固定小数点設計におけるゴールは、近似の十分な正確さを維持する一方で、ビットｋの総数を最小化させることである。
【００１２】
αiの値への何らかの特定の制約なしで、何らかの所定のｋに対して、対応する候補の値ａiが、以下の数式のように選ばれてもよいと仮定する。
【数３】
2011507313.tif 000005
【００１３】
そうすると、数式（１）における近似の絶対誤差は、２kに対して反比例することになる。
【数４】
2011507313.tif 000006
【００１４】
すなわち、精度の追加ビットのそれぞれ（すなわち、ｋをインクリメントさせること）が、誤差を半分に減少させることになる。
【００１５】
何らかの実現において、近似されることになる値αi、αnが何らかの追加のパラメータξによって、スケーリングされることができる場合、誤差レートは改善されるだろう。αi，…，αnが１組の無理数である場合（ｎ≧２）、無限に数多くのｎ＋２タプル、αi，…，αn，ｋ，ξが存在し、αi，…，αn∈Ｚ，ｋ∈Ｎ，およびξ∈Ｑであり、以下の式が成立する。
【数５】
2011507313.tif 000007
【００１６】
言い換えると、その無理ファクターαi，…，αnのすべてが、何らかのパラメータξによって予めスケーリングできるように、アルゴリズムを変更できる場合、２−ｋ（ｌ＋ｌ／ｎ）と同じくらい速く減少する絶対誤差を有する近似になるだろう。例えば、ｎ＝２であるとき、ビットの利用において、およそ５０％より高い有効性があってもよい。多くの組のファクターαi，…，αnに対しては、しかしながら、この利得はより小さくなるかもしれない。
【００１７】
上に、関係式（１）、（２）において示した２進近似は、整数による乗算に対する無理定数によって積を計算することの問題を減少させる。無理ファクターによる整数の乗算は、その５ビット２進近似２３／３２を使用して、無理定数を近似するプロセスを説明し、ここで、無理ファクターは以下のようである。
【数６】
2011507313.tif 000008
【００１８】
２３＝１０１１１の２進ビットパターンを見て、それぞれの“１”を、加算の演算で置き換えることによって、２３によって乗算される整数の積が、以下のように決定される。
【数７】
2011507313.tif 000009
【００１９】
この近似は、３つの加算、および、３つのシフト演算を要求する。さらに、最後の３桁が、連続した“１”を形成していることにさらに留意することによって、数式ｘ＊２３＝（ｘ＜＜４）＋（ｘ＜＜３）−ｘが使用されてもよく、この数式によって、複雑さを、２つのシフト演算と２つの加算演算とだけに減らすことができる。
【００２０】
離散数字“１”に関係する“＋”の演算シーケンスや、あるいは、一続きの“１…１”の最初と最後に関係する“＋”と“−”の演算シーケンスは、共通して、“正準符号付き数字”（ＣＳＤ）分解として呼ばれる。ＣＳＤは、乗算器のない回路の設計においてよく知られた実現である。しかしながら、ＣＳＤ分解は、最も少ない数の演算を有する結果を常に生み出す訳ではない。例えば、以下のような同一のファクターの８ビット近似と、そのＣＳＤ分解を考えよ。
【００２１】
係数は、以下のようである。
【数８】
2011507313.tif 000010
【００２２】
そのＣＳＤ分解は、以下のようであり、４つの加算と４つのシフト演算とを使用する。
【数９】
2011507313.tif 000011
【００２３】
計算式を再配置することと、中間結果を再使用することによって、以下のような、より有効的なアルゴリズムが構成される。
【数１０】
2011507313.tif 000012
【００２４】
実現にしたがうと、２進分数による積の計算は、基本的な演算として右シフトの使用を可能にすることによって、導出されてもよい。例えば、以下のようなファクターを考えることにする。
【数１１】
2011507313.tif 000013
【００２５】
そして、そのＣＳＤ分解にしたがって、右シフト演算と加算演算とを使用して、以下の数式が取得される。
【数１２】
2011507313.tif 000014
【００２６】
または、さらに１／２＋１／４＝１−１／４であることに留意することによって、以下の数式が成立する。
【数１３】
2011507313.tif 000015
【００２７】
この同一のファクターによって積を計算するさらに別の方法は、以下のようである。
【数１４】
2011507313.tif 000016
【００２８】
図１は、アルゴリズム（３）、（４）、および（５）により生み出される値、対、整数と無理分数２３／３２との乗算の図を図示する。それぞれのアルゴリズム（３）、（４）、および（５）は、無理分数２３／３２により乗算される積を近似する値を計算する。しかしながら、これらの近似のそれぞれにおける誤差は、異なっている。例えば、アルゴリズム（４）は、最大の大きさ５５／３２を有する、すべて正の誤差を生み出す。アルゴリズム（３）は、±６５／６４内の振幅の大きさを有する、より均衡のとれた誤差を持つ。最後に、アルゴリズム（５）は、±７／８内の振幅を有する、完全に符号対称の誤差を生み出す。したがって、符号対称アルゴリズムが、誤差を最小化する均衡の取れた結果を生み出すことになる。
【００２９】
以下のアルゴリズムの符号対称プロパティを考える。
【数１５】
2011507313.tif 000017
【００３０】
これは、何らかの（ｘ∈Ｚ）に対して、以下の数式を意味する。
【数１６】
2011507313.tif 000018
【００３１】
これはまた、何らかのＮに対して、Ａai,b（０）＝０であるとして仮定すると、以下の数式が暗示される。すなわち、何らかの対称間隔において、ゼロ平均誤差であることが暗示される。
【数１７】
2011507313.tif 000019
【００３２】
このプロパティは、固定小数点近似によりもたらされる丸め誤差が累積されることになる可能性を最小化するので、信号処理アルゴリズムの設計において、このプロパティを使用してもよい。以下に説明するのは、２進分数により積を計算するための、また、それらの複雑性に上限を設けるための、右シフトベースの符号対称アルゴリズムの基本である。
【００３３】
１組の２進分数ａ1／２b，…，ａm／２bがあるとして、以下のようなアルゴリズムを規定することができる。
【数１８】
2011507313.tif 000020
【００３４】
引き続いてのステップのシーケンスとして、  
ｘ1，ｘ2，…，ｘtとなり、  
ここで、ｘ1：＝ｘであり、ここで、後続する値ｘk（ｋ＝２，…，ｔ）が、以下の基本的演算のうちの１つを使用して生み出される。
【数１９】
2011507313.tif 000021
【００３５】
以下の数式を成立させるようなインデックスｊ1，…，ｊm≦ｔが存在するとき、アルゴリズムは終了する。
【数２０】
2011507313.tif 000022
【００３６】
このように、何らかの実現は、以下のようなメトリックの１つ以上のものを最小化させるアルゴリズムを調べる。
【００３７】
平均非対称：
【数２１】
2011507313.tif 000023
【００３８】
平均誤差：
【数２２】
2011507313.tif 000024
【００３９】
誤差の分散：
【数２３】
2011507313.tif 000025
【００４０】
誤差の大きさ：
【数２４】
2011507313.tif 000026
【００４１】
以下のような複数の定数によって積を計算するときについて考える。
【数２５】
2011507313.tif 000027
【００４２】
（以下のような定数のそれぞれに対して計算される）上記のメトリックの最悪のケースの値は、アルゴリズムの有効性を評価するのに使用されてもよい。
【数２６】
2011507313.tif 000028
【００４３】
図２は、積を計算するプロセス１００におけるステージを示す。１０２において、整数値が受け取られ、１０４において、この整数によって、乗算されることになる、無理値を表す有理２進定数が確認される。１０６において、中間値が決定されてもよい。例えば、所定の整数変数ｘと、以下のような１組の有理２進定数とがあるとする。
【数２７】
2011507313.tif 000029
【００４４】
一連の中間値は以下のように決定されてもよい。
【数２８】
2011507313.tif 000030
【００４５】
ここで、ｗ0＝０、ｗ1＝ｘ、および、すべてのｋ≧２の値に対して、ｗkは以下のように取得される。
【数２９】
2011507313.tif 000031
【００４６】
ここで、±符号は、両方の項とともに実行される必要がある、プラスまたはマイナス演算のいずれかを暗示し、そして、＞＞は、ｓkビットによる、変数ｚjの右シフトを表す。
【００４７】
１０８において、積に対応する、この数列中の小数点が決定される。すなわち、このステップの結果は、以下の数式となるような、インデックスｌ1，…，ｌm≦ｔである。
【数３０】
2011507313.tif 000032
【００４８】
１１０において、以下のような結果となる出力値が、特定の精度メトリックに対して、分析される。
【数３１】
2011507313.tif 000033
【００４９】
例えば、これらの値を分析して、これらが、平均、非対称、分散、大きさのうちの１つを最小化できるか否かを決定できる。
【００５０】
いくつかの実現では、プロセス１００は、０ｓの加算または減算、あるいは、０ビットによるシフトを除去してもよい。いくつかの実現では、この全体の演算の総計算（すなわち、実現の）コストが最小化されるように、中間値のシーケンスを選んでもよい。
【００５１】
１組のメトリックがあるとすると、加算の総数、シフトの総数等によって、特徴付けられることができる複雑さを持つアルゴリズムがあってもよい。したがって、加算の最小数、シフトの最小数、加算とシフトの最小数、加算とシフトの最小数を達成するアルゴリズムの間の加算の最小数等を持つアルゴリズムがある。
【００５２】
図３は、例示的な固定小数点８ｘ８ ＩＤＣＴアーキテクチャ１２０を図示する。このアーキテクチャは、ｘの符号対称値であるアルゴリズムを実現してもよい。多くの実現において、このようなアルゴリズムは、所定の組のファクターに対する最小複素数であってもよい。上で述べたように、ＩＤＣＴの設計は、対称的であってもよく、または、よく均衡の取れた丸め誤差をもたらすかもしれない。いくつかの実現では、アルゴリズムによって生み出される誤差の平均、分散、および大きさ（最大値）のようなメトリックの推定が分析されてもよい。アルゴリズムの複雑さを評価する際において、演算の数、とともに、最長の実行パス、および、計算のために必要とされる中間レジスタの最大数を考慮に入れてもよい。
【００５３】
いくつかの実現では、提案する固定小数点ＩＤＣＴアーキテクチャ１２０の設計において、使用される設計は、分離可能で、スケーリングされる特徴を有することを特徴としていてもよい。スケーリングステージ１２２は、行変換のための１Ｄ倍率とともに、列変換のための１Ｄ倍率で因数分解することによって、事前計算される、単一の８ｘ８行列を含んでもよい。また、スケーリングステージ１２２を使用して、入力ＤＣＴ係数のそれぞれに、Ｐビットの精度を、事前割り振りしてもよく、これによって、残りの変換全体を通して使用するための固定小数点“小数部（mantissa）”を提供する。
【００５４】
実現において、スケーリングされた１Ｄ変換設計に対する基本は、３つの平面回転と２つの独立ファクターγ＝√２を有する、Ｃ．Ｌｏｅｆｆｌｅｒ，Ａ．ＬｉｇｔｅｎｂｅｒｇとＧ．Ｓ．Ｍｏｓｃｈｙｔｚの良く知られている因数分解の変形であってもよい。ＬＬＭ因数分解内での、定数α、β、δ、ε、η、およびθの有効的な分数近似を提供するために、２つの浮動ファクターξとζを、以下のような定数の２つのサブグループに対して、使用し、適用してもよい。
【数３２】
2011507313.tif 000034
【００５５】
これらの乗算は、スケーリングステージ１２２において、ξとζのそれぞれの逆数を有する、入力ＤＣＴ係数のそれぞれを乗算することによって、ξとζによって逆数にされてもよい。すなわち、１Ｄ変換のキャスケード中の第１のもの（例えば、ステージ１２６と１２８）の前に、スケーリングステージ１２２で使用するために、スケーリングファクターのベクトルが計算されてもよい。
【数３３】
2011507313.tif 000035
【００５６】
これらのファクターは、以下のように事前計算されるスケーリング行列へと引き続いてマージされてもよい。
【数３４】
2011507313.tif 000036
【００５７】
ここで、Ａ−Ｊは、この積におけるユニークな値を表す。
【数３５】
2011507313.tif 000037
【００５８】
Ｓは、スケーリングのために割り当てられた固定小数点精度ビットの数を表す。
【００５９】
このパラメータＳは、それが、それぞれの入力係数の小数部に対するビットＰの数より大きいか、または、ビットＰの数に等しいように、選ばれてもよい。このことは、係数Ｆvuのスケーリングが以下のように実現されることを可能にする。
【数３６】
2011507313.tif 000038
【００６０】
ここで、以下の数式は、スケーリングファクターの行列における整数近似値を表す。
【数３７】
2011507313.tif 000039
【００６１】
一連の１Ｄ変換（ステージ１２６と１２８）中の最後の変換ステージの終わりにおいて、Ｐ個の固定点小数部ビット（それぞれの１Ｄステージの実行の間に累積されたプラス３の余分なビット）は、以下のように、右シフト演算１３０による変換出力から単にシフトアウトされる。
【数３８】
2011507313.tif 000040
【００６２】
計算された値を、確実に適切に丸めるために、ＤＣバイアスステージ１２４を使用したシフトの前に、２Ｐ＋２のバイアスが、値ｆ’yxに対して追加されてもよい。第１の１Ｄ変換を実行する前に、ＤＣ係数を摂動することによって、この丸めバイアスを実現してもよく、ここで、Ｆ’’00＝Ｆ’’00＋２p+2である。
【００６３】
いくつかの実現では、上に述べたような、均衡の取れた（すなわち、符号対称の）アルゴリズムを、ＩＳＯ／ＩＥＣ２３００２−２ ＩＤＣＴ標準規格において使用してもよい。この標準規格は、以下の定数によって積の計算の処理を規定する。
【数３９】
2011507313.tif 000041
【００６４】
また、この標準規格は、以下のように達成される。
【数４０】
2011507313.tif 000042
【００６５】
図４は、エンコーディングシステム４００のブロック図を示し、これは、上に示したように、符号対称の丸め誤差を持つ２進分数を実現する変換を含んでもよい。捕捉デバイス／メモリ４１０が、ソース信号を受け取ってもよく、デジタルフォーマットへの変換を実現してもよく、入力／ローデータを提供してもよい。捕捉デバイス４１０は、ビデオカメラ、デジタイザ、または、他の何らかのデバイスであってもよい。プロセッサ４２０は、ローデータを処理して、圧縮されたデータを発生させる。プロセッサ４２０内で、ローデータはＤＣＴユニット４２２によって変換されてもよく、ジグザグスキャンユニット４２４によってスキャンされてもよく、量子化器４２６によって量子化されてもよく、エントロピーエンコーダ４２８によってエンコードされてもよく、パケタイザ４３０によってパケット化されてもよい。ＤＣＴユニット４２２は、ここで説明する技術にしたがって、ローデータ上に、２Ｄ ＤＣＴを実行してもよく、フル、およびスケーリングされたインターフェースの両方をサポートしてもよい。それぞれのユニット４２２から４３０は、ハードウェア、ファームウェア、および／または、ソフトウェアで実現されてもよく、例えば、ＤＣＴユニット４２２は、専用ハードウェア、算術ロジックユニット（ＡＬＵ）に対する１組の命令等で実現されてもよい。
【００６６】
記憶ユニット４４０は、プロセッサ４２０からの圧縮されたデータを記憶してもよい。送信機４４２は、圧縮されたデータを送信してもよい。制御装置／プロセッサ４５０は、エンコーディングシステム４００中のさまざまなユニットの動作を制御する。メモリ４５２は、エンコーディングシステム４００のためのデータとプログラムコードとを記憶する。１つ以上のバス４６０は、エンコーディングシステム４００中のさまざまなユニットを相互接続する。
【００６７】
図５は、デコーディングシステム５００のブロック図を示し、上で説明したような符号対称丸め誤差を持つ２進分数を実現する変換を含んでもよい。受信機５１０は、エンコーディングシステムからの圧縮されたデータを受信してもよく、記憶ユニット５１２は、受信した圧縮データを記憶してもよい。プロセッサ５２０は、圧縮データを処理して、出力データを発生させる。プロセッサ５２０内で、デパケタイザ５２２によって圧縮されたデータをデパケタイズしてもよく、エントロピーデコーダ５２４によってデコードされてもよく、逆量子化器５２６によって逆量子化されてもよく、逆ジグザグスキャンユニット５２８によって適切な順序に配置されてもよく、ＩＤＣＴユニット５３０によって変換されてもよい。ＩＤＣＴユニット５３０は、ここで説明した技術にしたがって、フル、または、スケーリングされた、変換係数上に、２Ｄ ＩＤＣＴを実行してもよく、フル、または、スケーリングされたインターフェースの両方をサポートしてもよい。それぞれのユニット５２２から５３０は、ハードウェア、ファームウェア、および／または、ソフトウェアで実現されてもよい。例えば、ＩＤＣＴユニット５３０は、専用ハードウェア、ＡＬＵに対する１組の命令等で実現されてもよい。
【００６８】
表示ユニット５４０は、プロセッサ５２０からの再構成された画像とビデオを表示する。制御装置／プロセッサ５５０は、デコーディングシステム５００中のさまざまなユニットの動作を制御する。メモリ５５２は、デコーディングシステム５００のためのデータとプログラムコードとを記憶する。１つ以上のバス５６０は、デコーディングシステム５００中のさまざまなユニットを相互接続する。
【００６９】
プロセッサ４２０と５２０は、それぞれ、１つ以上のアプリケーション専用集積回路（ＡＳＩＣ）、デジタルシグナルプロセッサ（ＤＳＰ）、および／または、他の何らかのタイプのプロセッサで実現されてもよい。代わりに、プロセッサ４２０と５２０は、それぞれ、１つ以上のランダムアクセスメモリ（ＲＡＭ）、読出専用メモリ（ＲＯＭ）、消去可能プログラム可能読出専用メモリ（ＥＰＲＯＭ）、電子的消去可能プログラム可能読出専用メモリ（ＥＥＰＲＯＭ）、特定用途向け集積回路（ＡＳＩＣ）、磁気ディスク、光学ディスク、および／または、技術的に知られているその他のタイプの揮発性または不揮発性のメモリからなっていてもよい。
【００７０】
ここで説明する実施形態は、ハードウェア、ソフトウェア、フォームウェア、ミドルウェア、マイクロコード、または、これらの任意の組み合わせによって実現されてもよい。システムおよび／または方法が、ソフトウェア、フォームウェア、ミドルウェア、または、マイクロコード、プログラムコードもしくはコードセグメントにおいて実現されるとき、これらは、ストレージコンポーネントのような機械読取可能媒体中に記憶されてもよい。コードセグメントは、手続、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または、命令、データ構造、もしくは、プログラムセグメントの何らかの組み合わせを表してもよい。コードセグメントは、情報、データ、引数、パラメータ、または、メモリコンテンツを送ることおよび／または受け取ることによって、別のコードセグメント、または、ハードウェア回路に結合されてもよい。情報、引数、パラメータ、データ等は、メモリ共有、メッセージ送信、トークンパッシング、ネットワーク送信等を含む任意の適切な手段を使用して、送出されてもよく、送られてもよく、送信されてもよい。
【００７１】
ソフトウェア実現に関しては、ここで説明した技術を、ここで説明した機能を実行するモジュール（例えば、手続、関数等）で実現してもよい。ソフトウェアコードは、メモリユニット中に記憶されてもよく、プロセッサによって実行されてもよい。メモリユニットは、プロセッサ内で実現されてもよく、または、プロセッサ外部で実現されてもよい。外部のケースでは、メモリユニットは、技術的に知られているさまざまな手段を通してプロセッサに通信可能に結合されることができる。
【００７２】
ここで開示した実施形態と関連して述べた方法またはアルゴリズムのステージを、直接、ハードウェアで、プロセッサにより実行されるソフトウェアモジュールで、あるいは、２つの組み合わせで具体化してもよい。ソフトウェアモジュールは、ランダムアクセスメモリ（“ＲＡＭ”）メモリ、フラッシュメモリ、読出専用メモリ（“ＲＯＭ”）メモリ、消去可能プログラム可能ＲＯＭ（“ＥＰＲＯＭ”）メモリ、電気的消去可能プログラム可能ＲＯＭ（“ＥＥＰＲＯＭ”）メモリ、レジスタ、ハードディスク、リムーブバルディスク、ＣＤ−ＲＯＭ、あるいは、技術的に知られている他の何らかの形態の記憶媒体に存在していてもよい。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるようにプロセッサに結合される。代替実施形態では、記憶媒体はプロセッサと一体化されてもよい。プロセッサおよび記憶媒体は、ＡＳＩＣに存在してもよい。ＡＳＩＣはユーザ端末に存在してもよい。代替実施形態では、プロセッサおよび記憶媒体は、ユーザ端末中のディスクリートコンポーネントとして存在してもよい。
【００７３】
ここで説明した方法は、当業者のうちの１人によって知られている、さまざまなハードウェア、プロセッサ、および、システム上で実現されてもよいことに留意すべきである。例えば、実現において使用される機械は、コンテンツと情報を表示するディスプレイ、クライアントの動作を制御するプロセッサ、および、機械の動作に関係するデータとプログラムを記憶するメモリを有していてもよい。何らかの実現では、機械はセルラ電話機である。何らかの実現では、機械は手持ちコンピュータ、または、通信能力を有するハンドセットである。別の実現では、機械は、通信能力を有するパーソナルコンピュータである。
【００７４】
ここで説明する実施形態に関連して説明する、さまざまな例示的なロジックブロック、モジュール、回路、エレメント、および／または、コンポーネントは、汎用プロセッサ、ＤＳＰ、ＡＳＩＣ、フィールドプログラム可能ゲートアレイ（ＦＰＧＡ）または他のプログラム可能ロジックデバイス、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウェア構成部品、あるいは、ここで説明する機能を実現するように設計されているこれらの任意の組み合わせとともに実現、または、実行してもよい。汎用プロセッサは、マイクロプロセッサであってもよいが、代わりに、プロセッサは、任意の従来のプロセッサ、制御装置、マイクロ制御装置、または、状態機械であってもよい。プロセッサはまた、計算デバイスの組み合わせとして、例えば、ＤＳＰとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアと連携した１つ以上のマイクロプロセッサ、または、他の何らかのこのような構成として、実現されてもよい。
【００７５】
主題を構造的な特徴および／または方法的動作に特有の言語において説明してきたが、特許請求の範囲において規定する主題は、上に説明する特定の特徴または動作に限定される必要はないことが理解されるだろう。むしろ、上に説明した特定の特徴と動作は、特許請求の範囲を実現する例示的な形態として開示した。
【図１】
2011507313.tif 000048
【図２】
2011507313.tif 000049
【図３】
2011507313.tif 000050
【図４】
2011507313.tif 000051
【図５】
2011507313.tif 000052