"第1のインタフェースを介して第1の入力値を入力するように、および前記第1の出力値を得るために第1の入力値に完全変換を実行するように、および第2のインタフェースを介して第2の入力値を入力するように、および第2の出力値を得るために前記第2の入力値に基準化変換を実行するように構成されたプロセッサと、前記プロセッサに結合されたメモリー、とを含む装置。完全変換が、完全2次元2D変換であり、かつプロセッサが、第1のインタフェースを介して第1の入力値のブロックを入力するように、および基準化された入力値のブロックを得るために前記第1の入力値のブロックを基準化するように、および中間ブロックを得るために前記基準化された入力値のブロックの各行に基準化1次元1D変換を実行するように、および第1の出力値のブロックを得るために前記中間ブロックの各列に基準化1D変換を実行するように構成された、請求項1に記載の装置。完全変換が、完全2次元2D変換であり、かつプロセッサが、第1のインタフェースを介して第1の入力値のブロックを入力するように、および第1の中間ブロックを得るために前記入力値のブロックの各行に基準化1次元1D変換を実行するように、および第2の中間ブロックを得るために前記第1の中間ブロックの各列に基準化1D変換を実行するように、および第1の出力値のブロックを得るために前記第2の中間ブロックを基準化するように構成された、請求項1に記載の装置。完全変換が、完全逆離散コサイン変換IDCTであり、かつ基準化変換が、基準化IDCTである、請求項1に記載の装置。完全変換が、完全2次元2D逆離散コサイン変換IDCTであり、かつ基準化変換が、基準化2DIDCTである請求項1に記載の装置。プロセッサが、第1のインタフェースを介して第1の変換係数のブロックを第1の入力値として入力するように、および第2の基準化変換係数のブロックを得るために前記第1の変換係数のブロックを基準化するように、および中間ブロックを得るために前記第2のブロックの各行に基準化1次元1DIDCTを実行するように、および前記中間ブロックの各列に基準化1DIDCTを実行するように構成された、請求項5に記載の装置。プロセッサが、第1のブロック内の各変換係数を、第2のブロック内の対応する基準化変換係数を得るために、それぞれの基準化係数を用いて基準化するように構成された、請求項6に記載の装置。プロセッサが、第2の基準化変換係数のブロックを得るために第1の変換係数のブロックを行毎におよび列毎に基準化するように構成された、請求項6に記載の装置。プロセッサが、第1のインタフェースを介して変換係数のブロックを第1の入力値として入力するように、並びに中間ブロックを得るために前記変換係数のブロックの各行に基準化および基準化1次元1DIDCTを実行するように、並びに前記中間ブロックの各列に基準化および基準化1DIDCTを実行するように構成された、請求項5に記載の装置。プロセッサが、第2のインタフェースを介して基準化変換係数のブロックを第2の入力値として入力するように、および中間ブロックを得るために前記基準化変換係数のブロックの各行に基準化1次元1DIDCTを実行するように、および前記中間ブロックの各列に基準化1DIDCTを実行するように構成された、請求項5に記載の装置。完全変換が、完全離散コサイン変換DCTであり、かつ基準化変換が、基準化DCTである、請求項1に記載の装置。完全変換が、完全2次元2D離散コサイン変換DCTであり、かつ基準化変換が、基準化2DDCTである、請求項1に記載の装置。プロセッサが、第1のインタフェースを介して入力サンプルのブロックを第1の入力値として入力するように、および第1の中間ブロックを得るために前記入力サンプルのブロックの各行に基準化1次元1DDCTを実行するように、および第2の中間ブロックを得るために前記第1の中間ブロックの各列に基準化1DDCTを実行するように、および変換係数のブロックを得るために前記第2の中間ブロックを基準化するように、および第1のインタフェースを介して前記変換係数のブロックを第1の出力値として出力するように構成された、請求項12に記載の装置。プロセッサが、第2の中間ブロック内の各要素を、変換係数のブロック内の対応する変換係数を得るために、それぞれの基準化係数を用いて基準化するように構成された、請求項13に記載の装置。プロセッサが、変換係数のブロックを得るために第2の中間ブロックを行毎におよび列毎に基準化するように構成された、請求項13に記載の装置。プロセッサが、第1のインタフェースを介して入力サンプルのブロックを第1の入力値として入力するように、並びに中間ブロックを得るために前記入力サンプルのブロックの各行に基準化1次元1DDCTおよび基準化を実行するように、並びに変換係数のブロックを得るために前記中間ブロックの各列に基準化1DDCTおよび基準化を実行するように、並びに第1のインタフェースを介して前記変換係数のブロックを第1の出力値として出力するように構成された、請求項12に記載の装置。プロセッサが、第2のインタフェースを介して入力サンプルのブロックを第2の入力値として入力するように、および中間ブロックを得るために前記入力サンプルのブロックの各行に基準化1次元1DDCTを実行するように、および基準化変換係数のブロックを得るために前記中間ブロックの各列に基準化1DDCTを実行するように、および第2のインタフェースを介して前記基準化変換係数のブロックを第2の出力値として出力するように構成された、請求項12に記載の装置。第1のインタフェースを介して第1の入力値を入力することと、第1の出力値を得るために前記第1の入力値に完全変換を実行することと、第2のインタフェースを介して第2の入力値を入力することと、第2の出力値を得るために前記第2の入力値に基準化変換を実行することとを含む方法。完全変換が、完全2次元2D変換であり、かつ第1の入力値に完全変換を実行することが、基準化された入力値のブロックを得るために第1の入力値のブロックを基準化することと、中間ブロックを得るために前記基準化された入力値のブロックの各行に基準化1次元1D変換を実行することと、第1の出力値のブロックを得るために前記中間ブロックの各列に基準化1D変換を実行することとを含む、請求項18に記載の方法。完全変換が、完全2次元2D変換であり、かつ第1の入力値に完全変換を実行することが、第1の中間ブロックを得るために入力値のブロックの各行に基準化1次元1D変換を実行することと、第2の中間ブロックを得るために前記第1の中間ブロックの各列に基準化1D変換を実行することと、第1の出力値のブロックを得るために前記第2の中間ブロックを基準化することとを含む、請求項18に記載の方法。完全変換が、完全2次元2D逆離散コサイン変換IDCTであり、かつ第1のインタフェースを介して第1の入力値を入力することが、第1のインタフェースを介して第1の変換係数のブロックを第1の入力値として入力することを含み、かつ第1の入力値に完全変換を実行することが、第2の基準化変換係数のブロックを得るために前記第1の変換係数のブロックを基準化することと、中間ブロックを得るために前記第2のブロックの各行に基準化1次元1DIDCTを実行することと、前記中間ブロックの各列に基準化1DIDCTを実行することとを含む、請求項18に記載の方法。完全変換が、完全2次元2D離散コサイン変換DCTであり、かつ第1のインタフェースを介して第1の入力値を入力することが、第1のインタフェースを介して入力サンプルのブロックを第1の入力値として入力することを含み、かつ第1の入力値に完全変換を実行することが、第1の中間ブロックを得るために入力サンプルの前記ブロックの各行に基準化1次元1DDCTを実行することと、第2の中間ブロックを得るために前記第1の中間ブロックの各列に基準化1DDCTを実行することと、変換係数のブロックを得るために前記第2の中間ブロックを基準化することと、第1のインタフェースを介して前記第1の変換係数のブロックを第1の出力値として出力することとを含む、請求項18に記載の方法。第1のインタフェースを介して第1の入力値を入力するための手段と、第1の出力値を得るために前記第1の入力値に完全変換を実行するための手段と、第2のインタフェースを介して第2の入力値を入力するための手段と、第2の出力値を得るために前記第2の入力値に基準化変換を実行するための手段とを含む装置。完全変換が、完全2次元2D変換であり、かつ第1の入力値に完全変換を実行するための手段が、基準化された入力値のブロックを得るために第1の入力値のブロックを基準化するための手段と、中間ブロックを得るために前記基準化された入力値のブロックの各行に基準化1次元1D変換を実行するための手段と、第1の出力値のブロックを得るために前記中間ブロックの各列に基準化1D変換を実行するための手段とを含む、請求項23に記載の装置。完全変換が、完全2次元2D変換であり、かつ第1の入力値に完全変換を実行するための手段が、第1の中間ブロックを得るために入力値のブロックの各行に基準化1次元1D変換を実行するための手段と、第2の中間ブロックを得るために前記第1の中間ブロックの各列に基準化1D変換を実行するための手段と、第1の出力値のブロックを得るために前記第2の中間ブロックを基準化するための手段とを含む、請求項23に記載の装置。第1のインタフェースを介して第1の入力値を入力し、第1の出力値を得るために第1の入力値に完全変換を実行し、第2のインタフェースを介して第2の入力値を入力し、および第2の出力値を得るために第2の入力値に基準化変換を実行するための命令を格納するためのプロセッサ可読媒体。基準化変換係数の第2のブロックを得るために変換係数の第1のブロックを基準化するように、および中間ブロックを得るために前記第2のブロックの各行に基準化1次元1D変換を実行するように、および出力サンプルのブロックを得るために前記中間ブロックの各列に基準化1D変換を実行するように、および各基準化1D変換のための1組の無理数定数を近似する1組の有理2項定数と1組の変数の乗算を実行するように構成されたプロセッサと、前記プロセッサに結合され、前記中間ブロックを格納するように構成されたメモリーとを含む装置。基準化1D変換が、基準化1D逆離散コサイン変換IDCTである請求項27に記載の装置。基準化変換係数の第2のブロックを得るために変換係数の第1のブロックを基準化することと、中間ブロックを得るために前記第2のブロックの各行に基準化1次元1D変換を実行することと、出力サンプルのブロックを得るために前記中間ブロックの各列に基準化1D変換を実行することと、各基準化1D変換のための1組の無理定数を近似する1組の有理2項定数と1組の変数の乗算を実行することとを含む方法。基準化1D変換が、基準化1D逆離散コサイン変換IDCTである、請求項29に記載の方法。第1の中間ブロックを得るために入力サンプルのブロックの各行に基準化1次元1D変換を実行するように、および第2の中間ブロックを得るために前記第1の中間ブロックの各列に基準化1D変換を実行するように、および変換係数のブロックを得るために前記第2の中間ブロックを基準化するように、および各基準化1D変換のための1組の無理数定数を近似する1組の有理2項定数と1組の変数の乗算を実行するように構成されたプロセッサと、前記プロセッサに結合され、前記第1および第2の中間ブロックを格納するように構成されたメモリーとを含む装置。基準化1D変換が、基準化1D離散コサイン変換DCTである請求項31に記載の装置。第1の中間ブロックを得るために入力サンプルのブロックの各行に基準化1次元1D変換を実行することと、第2の中間ブロックを得るために前記第1の中間ブロックの各列に基準化1D変換を実行することと、変換係数のブロックを得るために前記第2の中間ブロックを基準化することと、各基準化1D変換のための1組の無理数定数を近似する1組の有理2項定数と1組の変数の乗算を実行することとを含む方法。基準化1D変換が基準化1D離散コサイン変換DCTである請求項33に記載の方法。以下に、本開示の種々の態様および特徴をより詳細に説明する。ここに説明する手法は、DCT、IDCT、離散フーリエ変換DFT、逆DFTIDFT、変調重複変換MLT、逆MLT、変調複素重複変換MCLT、逆MCLTなどの種々の変換に用いられるかもしれない。本手法は、画像、ビデオ、およびオーディオ処理、通信、計算、データネットワーキング、データ保存、グラフィックスなどの種々のアプリケーションにも用いられるかもしれない。一般に、本手法は変換を用いるいかなるアプリケーションにも用いられるかもしれない。明確さのために、本手法を画像およびビデオ処理において一般的に用いられるDCTおよびIDCTに対して以下に説明する。タイプIIのN点1DDCTおよびのN点1DIDCTは次式のように定義されるかもしれない。x[n]は1D空間領域関数、X[k]は1D周波数領域関数である。式1の1DDCTはN個の入力サンプルすなわち空間領域値x[0]からx[N-1]に作用し、N個の変換係数X[0]からX[N-1]を生成する。式2の1DIDCTはN個の変換係数に作用し、N個の出力サンプルを生成する。タイプIIDCTは、変換の一形式であり、画像/ビデオ圧縮のためにたびたび提案される種々のエネルギー集中化変換の中で最も効率的な変換の1つであると一般的に信じられている。1DDCTおよび1DIDCTはそれぞれ式1および式2に示すそれらの元々の型で実施されるかもしれない。しかし、以下で説明するように、できるだけ少ない乗算および加算になるような要素分解を見出すことにより、かなりの計算量削減が実現されるかもしれない。式1の1DDCTは以下のように行列形式で表現されるかもしれない。x=Ty式3ここで、yは入力サンプルのN×1ベクトル、Tは完全1DDCTのN×N行列、xは変換係数のN×1ベクトルである。yは入力サンプルx[0]からx[N-1]を含み、xは変換係数X[0]からX[N-1]を含む。Tの要素は式1に基づいて得られるかもしれない。1DDCTは以下のように行列の積に分解されるかもしれない。T=STS式4ここで、S=diagA0,,AN-1は基準化係数の対角行列、Tは基準化1DDCTのN×N行列である。式3および式4は、最初に基準化1DDCTをyに実行し、次にその結果をSを用いて基準化することにより、完全1DDCTがyに実行されるかもしれないことを示している。例えば、式4に示すような、完全変換の基準化変換への分解および基準化操作の利点は、基準化係数を適切に選択することにより基準化変換の乗算量が減少するかもしれないことである。例えば、新井、安居院、中嶋AAN画像用高速DCTSQ方式、電子情報通信学会論文誌、1988年11月発行、に記載の周知の分解は、わずか5回の無理数係数の乗算を用いて実施されるかもしれない基準化8点DCTを実現する。対照的に、最もよく知られている完全8点DCTはそのような乗算を11回要する。N×Nの2DDCTは以下のように定義される。式5の演算の結果はN×Nの2DDCTの行列である。2DDCTは入力サンプルYのN×N行列に、一回に1次元について、分離可能な方法で実行されるかもしれない。例えば、中間行列を得るために、Yの各行に1DDCTが実行されるかもしれない。次に、前記中間行列の各列に1DDCTが実行されるかもしれない。あるいはまた、Yの各列に1DDCTが実行され、中間行列の各行についての1DDCTが後続するかもしれない。式5は最初に基準化2DDCTをYに実行し、次にその結果を基準化することにより、Yに2DDCTが実行されるかもしれないことを示している。また、式5は、行および列1DDCTに対する基準化は、基準化2DDCTの結果に適用される単一のステップ式2の1DIDCTは次のように行列形式で表されるかもしれない。ここで、Ttは完全1DIDCTのN×N行列であり、tは転置を表す。2DIDCTは次式で表されるかもしれない。式7は最初に変換係数を基準化し、次に基準化2DIDCTを前記基準化変換係数に実行することにより、2DIDCTが変換係数XのN×N行列に実行されるかもしれないことを示している。また、式7は、行および列1DIDCTに対する基準化は、基準化2DIDCTに先立つ単一のステップへ組み込まれるかもしれないことを示している。基準化アーキテクチャとは、基準化変換を用いる設計であり、また完全アーキテクチャとは、完全変換を用いる設計である。基準化アーキテクチャは完全アーキテクチャより乗算量が少ないかもしれない。例えば、基準化アーキテクチャは分離可能な行列の方法で基準化2DIDCTまた、各行および各列に対してAAN分解による8点基準化1DIDCTTSを用いるかもしれない。この基準化アーキテクチャの乗算量は、8×816×5=6480=144、すなわち基準化のための64回の乗算並びに8行および8列の各々に対する5回の乗算であるかもしれない。特定の状況において、基準化は量子化と組み合わされるかもしれない。その場合、基準化アーキテクチャの乗算量は約80回の乗算に減少するかもしれない。完全アーキテクチャは行列の方法で2DIDCTまた、各行および各列に対して最もよく知られている完全8点1DIDCTTを用いるかもしれない。この完全アーキテクチャの乗算量は、16×11=176、すなわち8行および8列の各々に対して11回の乗算であるかもしれない。分離可能の実施において、基準化アーキテクチャは完全アーキテクチャより乗算量が少ないかもしれない。基準化アーキテクチャは低計算量が好ましい設計に用いられるかもしれない。基準化アーキテクチャは基準化する非ゼロ変換係数がほとんどない場合に有利であるかもしれない。これは画像/ビデオ復号器の2DIDCTにおいてよくある場合であるかもしれない。また、基準化アーキテクチャは、図8に示すように、変換係数の基準化が画像/ビデオ符号器/復号器コーデックにおける量子化および/または逆量子化と組み合わされることができる設計において有利であるかもしれない。完全アーキテクチャは使いやすさを好む設計において望ましいかもしれない。例えば、多くの計算環境およびアプリケーションは複数の画像およびビデオ符号化標準をサポートするかもしれない。これらの例において、完全変換を実施する変換エンジンを有すること、およびその変換エンジンが種々の量子化器とコーデックとで用いられ得るようにフレキシブルな入力/出力インタフェースを提供することは、より便利であるかもしれない。完全アーキテクチャは簡単なインタフェースを提供し、そのような環境においてより適切であるかもしれない。基準化および完全インタフェースを介して異なるアプリケーションを柔軟にサポートできる変換設計をここに説明する。本変換設計は完全インタフェースを介して完全入力値を入力し、これらの入力値に完全変換を実行し、完全アーキテクチャと同様に完全出力値を出力するかもしれない。本変換設計は、また、基準化インタフェースを介して基準化入力値を入力し、これらの入力値に基準化変換を実行し、基準化アーキテクチャと同様に基準化出力値を出力するかもしれない。本変換設計は可能性として少ない計算量および/または改善した精度を達成するために分離可能な基準化変換を内部的に実施するかもしれない。このように、本変換設計はあるアプリケーションに対して計算量を少なくでき、他のアプリケーションに対しては使いやすさを提供し、またはある場合には少ない計算量と使いやすさの双方を提供することができるかもしれない。本変換設計は順変換例えば、DCTと逆変換例えば、IDCTの双方に用いられるかもしれない。明確さのために、以下に本変換設計をIDCTに対して特に説明する。基準化および非基準化/完全2DIDCTアーキテクチャは次式で表されるかもしれない。基準化2DIDCT:非基準化2DIDCT:完全/非基準化インタフェースは変換係数を入力するかもしれない。これらの変換係数に完全2DIDCTが以下のように実行されるかもしれない。Y=ΘX≒TtXT式10ここで、Xは変換係数の行列、Θは完全2DIDCTの近似、Yは出力サンプルの行列である。式10の演算子記法は、固定小数点近似が線形操作のみに基づいていないかもしれないということを示すために用いられる。完全な2DIDCTはXの各行および各列について以下のように完全1DIDCTを実行することによって達成されるかもしれない。θxi≒Ttxi式11ここで、xiはXのi番目の行または列、θは完全1DIDCTの近似である。θは2D演算子Θの行列の実施に用いられるかもしれない。基準化インタフェースは基準化変換係数を入力するかもしれない。これは以下のように求められるかもしれない。XS=ΣX≒StXS式12ここで、Σは2D基準化操作の近似、XSは基準化変換係数の行列である。基準化2DIDCTは以下のように基準化変換係数に実行されるかもしれない。ここで、Ξは基準化2DIDCTの近似である。基準化2DIDCTはXSの各行および各列に以下のように基準化1DIDCTを実行することにより達成されるかもしれない。ここで、xS,iはXSのi番目の行または列、ξは基準化1DIDCTの近似である。ξは2D演算子Ξの行列の実施に用いられるかもしれない。式13に示すように、2D演算子Ξを実施することにより基準化インタフェースが実現されるかもしれない。式12および式13に示すように、2D演算子Ξに加えて2D基準化演算子Σを実施することにより完全インタフェースが実現されるかもしれない。したがって、完全2DIDCTは以下のように実行されるかもしれない。Y=ΞΣX≒ΘX式15式15は、最初に完全変換係数を2D基準化演算子Σを用いて基準化し、次に前記基準化変換係数に2D演算子Ξを用いて基準化2DIDCTを実行することにより、完全変換係数Xに完全2DIDCTが実行されるかもしれないことを示している。2D演算子Ξは1D演算子ξの行列の縦続接続で順次実施されるかもしれない。したがって、分離可能な完全2DIDCTのための2D演算子Θは分離可能な基準化2DIDCTのための2D演算子Ξおよび2D基準化演算子Σを用いて実施されるかもしれない。2D基準化は、以下に説明するように、種々の方法で実施されるかもしれない。分離可能な基準化2DIDCTおよび2D基準化を用いて実施される分離可能な完全2DIDCTの計算量と特性は、結果として、元々実施される完全2DIDCTと同等になるかもしれない。図1Aに2D基準化を用いた分離可能な完全2DIDCT100の構造を示す。2DIDCT100は、2D基準化段112と、それに続く行または列用の基準化1DIDCT段114と、さらにそれに続く列または行用の基準化1DIDCT段116と、終段の出力フォーマッティング段118と含む。2D基準化段112は変換係数XのN×Nブロックを入力し、さらに各変換係数Xijに基準化係数Aijを乗算するかもしれない。またさらに、各基準化変換係数をPビットだけ左へシフトするかもしれない。ここでPは予約仮数ビット数を表す。基準化後に、出力サンプルにおいて適当な丸めを得るために、DC変換係数に値C=2P-1が加算されるかもしれない。基準化の精度改善のためにS=PRビットが基準化係数の整数への変換で用いられるかもしれない。乗算後Rビットだけ右シフトが実行されるかもしれない。Sはハードウェアプラットフォームでの実施を容易にすることができる任意の適切な値であるかもしれない。例えば、符号付/符号なし16ビット乗算器を備えたプラットフォームにおいてSは15または16であるかもしれない。IDCT段114は2D基準化段112からの基準化変換係数のブロックの各行にN点の基準化1DIDCTを実行する。IDCT段116はIDCT段114で生成される中間ブロックの各列にN点の基準化1DIDCTを実行する。段114および116用の基準化1DIDCTはそれらの入力データに対して、内部の前基準化または後基準化すること無しに、直接動作するかもしれない。すべての行と列の処理後に、完全2DIDCTに対する出力サンプルYのN×Nブロックを生成するために、出力フォーマッティング段118はIDCT段116から得た量をPビットだけ右にシフトするかもしれない。基準化係数および精度定数Pは所望の幅のレジスタを用いて全体の2DIDCTを実施することができるように選択されるかもしれない。段112における2D基準化は次式で表されるかもしれない。XS,ij=XijAiAj>>R式16ここで、XijはXの行i、列jの変換係数、AiおよびAjはSのそれぞれi番目、j番目の対角要素、XS,ijはXSの行i、列jの基準化変換係数、>>RはRビットの符号付右シフトを表す。Rは、基準化変換係数XS,ijにおいてPビットの付加的固定小数点精度を確実にする定数である。1つの表にi=0,,N-1およびj=0,,N-1に対して基準化係数Aij=AiAjが格納されるかもしれない。Xの各要素はこの表の対応する基準化係数と乗算されるかもしれない。最大NN回の乗算が、XのNN要素に対して実行されるかもしれない。図1Bに分離可能な行列基準化を用いた分離可能な完全2DIDCT102の構造を示す。2DIDCT102は分離可能な行列基準化段122と、それに続く行または列用の基準化1DIDCT段124と、さらにそれに続く列または行用の基準化1DIDCT段126と、終段の出力フォーマッティング段128を含む。基準化段122は変換係数XのN×Nブロックを入力し、基準化変換係数を求めるために、次式のようにさらに各行iの各変換係数Xijに基準化係数Aiを乗算し、さらに、各列jの得られた各係数に基準化係数Ajを乗算するかもしれない。このように、基準化段122は分離可能な方法で行、続いて列にまたは列、続いて行に2D基準化を実行するかもしれない。分離可能な行列の基準化は同じハードウェアが行の基準化および列の基準化に用いられることを可能にするかもしれない。これは実施の複雑さを減少させるかもしれない。XのNN要素に対して最大2NN回の乗算が実行されるかもしれない。しかし、基準化係数A0からAN-1のいくつかはよくある値例えば256を有しており、またこれらのよくある基準化係数との乗算は単純なシフト操作で実施されるかもしれないため、実際の乗算回数は上算数は2NNより遙かに少ないかもしれない。段124、126、および128はそれぞれ図1Aの段114、116、および118と同様に動作するかもしれない。図1Cに各基準化1DIDCTに先立って基準化を用いる分離可能な完全2DIDCT104の構造を示す。2DIDCT104は、行または列用の基準化を用いる基準化1DIDCT段134と、それに続く列または行用の基準化を用いる基準化1DIDCT段136と、終段の出力フォーマッティング段138を含む。IDCT段134はN点の基準化1DIDCTに先立って、変換係数のブロックの各行に基準化を実行する。IDCT段136はN点の基準化1DIDCTに先立って、IDCT段134で生成される中間ブロックの各列に基準化を実行する。段134および136は基準化1DIDCTを用いて本質的には完全1DIDCTを実行する。基準化係数A0からAN-1および基準化1DIDCT内の定係数は、以下に説明するように完全1DIDCTのために計算量を減少しおよび/または精度を改善するように選択されるかもしれない。段138は図1Aの段118と同様に動作するかもしれない。図1Dに分離可能な基準化2DIDCT106の構造を示す。2DIDCT106は行または列用の基準化1DIDCT段144と、それに続く列または行用の基準化1DIDCT段146と、終段の出力フォーマッティング段148を含む。IDCT段144は基準化変換係数XSのN×Nブロックの各行にN点の基準化1DIDCTを実行する。IDCT段146はIDCT段144で生成される中間ブロックの各列にN点の基準化1DIDCTを実行する。段148は図1Aの段118と同様に動作するかもしれない。図1Aから1Cに示すように、完全2DIDCTに対する基準化は、図1Aの行列1DIDCTに先立つ2D基準化を用いるような、または図1Bの行列1DIDCTに先立つ分離可能な行列基準化を用いるような、または図1Cの各1DIDCTに先立つ基準化を用いるような種々の方法で達成できるかもしれない。基準化は他の方法でも実行されるかもしれない。図1Dに示すように、基準化2DIDCTは単に基準化を省略し行と列に対して1DIDCTを実行することによって達成されるかもしれない。種々の形式の基準化1DIDCTが図1Aから図1Dにおける行列1DIDCTに用いられるかもしれない。例えば、AAN分解に基づく基準化1DIDCTが用いられるかもしれない。計算量がおそらくより少ない別の基準化IDCTについて以下に説明する。図2に8点1DIDCTの例示的な要素分解のフロー図200を示す。各加算は2つの入力値を加算または減算し、出力値を出力する。各乗算は入力値と四角形の中の示される定係数の乗算を行い、出力値を出力する。図2における要素分解には、以下の定係数との乗算がある。α1=α2=1式18β1=β2=Cπ/4=cosπ/4≒0.707106781γ1=C3π/8=cos3π/8≒0.382683432δ1=S3π/8=sin3π/8≒0.923879533。フロー図200は8個の変換係数X[0]からX[7]を入力し、8個の基準化変換係数A0X[0]からA7X[7]を求めるためにこれらの変換係数を基準化係数A0からA7を用いて基準化するかもしれない。あるいはまた、フロー図200は直接8個の基準化変換係数を入力するかもしれない。どちらの場合においても、フロー図200は、8個の基準化変換係数に8点1DIDCTを実行し、8個の出力サンプルx[0]からx[7]を生成する。基準化係数A0からA7は以下の通りである。フロー図200は多くのバタフライ演算を含む。バタフライ演算は2つの入力値を入力し、1つの出力値は2つの入力値の和であり、もう一方の出力値は2つの入力値の差である2つの出力値を生成する。例えば、入力値A0X[0]およびA4X[4]のバタフライ演算は上側分岐において出力値A0X[0]A4X[4]を、下側分岐において出力値A0X[0]-A4X[4]を生成する。図2に示す要素分解により合計6個の乗算と28個の加算となる。これは式2を直接計算するために必要な乗算と加算の数より大幅に少ない。乗算は8点1DIDCTにおいてはπ/8の倍数である種々の角度のsinおよびcosを表す無理数定数との乗算である。無理数定数は2つの整数の比ではない定数である。各無理数定数が有理2項定数で近似される場合、無理数定数との乗算は固定小数点整数算術で効率的に実行されるかもしれない。有理2項定数は2進の分母を有する有理定数であり、c/2bの形である。ここで、bおよびcは整数でありb>0である。固定小数点整数算術における整数変数xと無理数定数μの乗算は以下のように無理数定数を有理2項定数で近似することにより達成されるかもしれない。μ≒c/2b式19ここで、μは近似されるべき無理数定数、c/2bは有理2項定数である。整数変数xおよび有理2項定数u=c/2bが与えられると、整数値の積y=xc/2b式20が中間値の数列x0,x1,x2,,xt式21を用いて近似されるかもしれない。ここで、x0=0,x1=x、およびすべての2≦i≦tに対してxiは以下のように求められる。ここで、xk2siは中間値xkに|si|ビットだけ定数siの符号に依存して左または右シフトのいずれかを意味する。式22において、xiはxjxk2si,xj-xk2siまたは-xjxk2siに等しいかもしれない。数列内の各中間値xiは数列内の2つの先行する中間値xjおよびxkに基づいて導出されるかもしれない。ここで、xjおよびxkのいずれかは0であるかもしれない。各中間値xiは1シフトおよび/または1加算で求められるかもしれない。siが0の場合、シフトは不要である。xj=x0=0の場合、加算は不要である。乗算のための加算およびシフトの総数は、数列になっている中間値の数tおよび各中間値に用いられる式とよって決定される。有理2項定数uによる乗算は本質的に一連のシフトおよび加算操作に展開される。数列は数列の最終の値が所望の整数値積、すなわち、xt≒y式23になるように決定される。固定小数点整数算術における整数変数xと2つの無理数定数μおよびηとの乗算は、以下のように無理数定数を有理2項定数で近似することによって得られるかもしれない。μ≒c/2bおよびη≒e/2d式24ここで、c/2bおよびe/2dは2つの有理2項定数、b,c,d,eは整数、b>0、d>0である。整数値xおよび有理2項定数u=c/2bおよびv=e/2dを与えると、2つの整数値の積y=xc/2bおよびz=xe/2d式25は中間値の数列x0,x1,x2,,xt式26を用いて近似されるかもしれない。ここで、x0=0,x1=x、およびすべての2≦i≦tに対してxiは以下のように求められる。この数列は所望の整数で表した値の積が以下のようにステップmおよびnで得られるように定義される。xm≒yおよびxn≒z式28ここで、m,n≦t、mまたはnのいずれかはtに等しい。式24から式28に示すように、整数変数xと無理数定数μおよびηとの乗算は、操作の総数を減少するためにシフトおよび加算操作で生成される共通の中間値の数列で、および中間値を用いて近似されるかもしれない。上述の計算において、0の加算および減算並びに0ビットのシフトのような自明の操作は省略されるかもしれない。以下の簡素化がなされるかもしれない。式29において、⇒の左の式は0x0で表されるの加算または減算を含み、⇒の右の式で示すように1つのシフトで実行されるかもしれない。式30において、⇒の左の式は0ビットのシフト20で表されるを含み、⇒の右の式で示すように1回の加算で実行されるかもしれない。式29および式30はxiの計算における式22および式27に適用されるかもしれない。計算量を減少するために、次式で示すように、第1の共通係数F1がフロー図200の定数項α1およびβ1に適用され、第2の共通係数F2が定数項α2、β2、δ1およびγ1に適用されるかもしれない。基準化係数A0からA7も共通係数F1およびF2を計算に入れるように次式のように基準化されるかもしれない。共通係数F1およびF2の種々の値の組合せが評価されるかもしれない。F1およびF2の値の各組合せに対して、1DIDCTのための論理および算術演算の総数並びに出力サンプルの精度が決定されるかもしれない。表1に、F1=2523/2048およびF2=2607/2048としたときの図2の1DIDCTに対する固定小数点近似の例を示す。表1の第1列に、基準化係数A0からA7および基準化共通係数を示す。各係数は第2列に示す有理2項定数で近似されるかもしれない。変数xと1つまたは2つの有理2項定数の乗算に対する中間値の数列を第3列に示す。各乗算に対する加算およびシフト演算の数をそれぞれ第4および第5列に示す。1DIDCTのために各乗算が用いられる回数を第6列に示す。1DIDCTのための加算操作の総数は第4列の加算操作の数掛ける第6列に示す数の和に等しい。1DIDCTのためのシフト操作の総数は第5列のシフト操作の数掛ける第6列に示す数の和に等しい。表1において、8だけ右シフトすることは基準化係数A0A1A2およびA4の256との乗算を打ち消す。これは付加的計算量の減少を可能とする。表1に示す設計において、8点基準化1DIDCTは50の加算操作および24のシフト操作を用いて実行されるかもしれない。8点完全1DIDCTは61の加算操作および39のシフト操作を用いて実行されるかもしれない。基準化係数A0からA7までを用いる基準化は、図1Cに示すように基準化1DIDCTに先立って実行されるか、または、図の1Aおよび1Bに示すように行列の1DIDCTに先立って実行されるかもしれない。8×8の完全2DIDCTは977の加算操作および688のシフト操作を用いて実行されるかもしれない。上記977の加算操作は8行および8列に対する16の1DIDCTの各々に対する61の加算に、2P-1と基準化後のDC変換係数の和のために1つの加算を加えた操作を含む。上記688のシフト操作は8行および8列に対する16のIDCTの各々に対する39のシフトに、第2のIDCT段からの64の値をPビットだけシフトするための64のシフトを加えた操作を含むかもしれない。表1に示す設計はIEEE標準1180-1190および未決定のその後継版で定義される精度基準を満足するか、または超えている。表1は図2の1DIDCTのための例示的固定小数点近似を示すものである。基準化係数A0からA7並びに定係数α1、β1、α2、β2、δ1およびγ1は、異なる計算量および/または精度を有するかもしれない他の有理2項定数で近似されるかもしれない。また、他の形式の基準化IDCTが分離可能な基準化および完全2DIDCTを実施するために用いられるかもしれない。図3Aに2D基準化を用いた分離可能な完全2DDCT300の構造を示す。2DDCT300は入力フォーマッティング段312と、それに続く行または列用の基準化1DDCT段314と、さらにそれに続く列または行用の基準化1DDCT段316と、終段の2D基準化段318を含む。入力フォーマッティング段312は入力サンプルのN×Nブロックを左から乗算するかもしれない。DCT段314は段312からの予め乗算したサンプルのブロックの各行にN点基準化1DDCTを実行し、第1の中間ブロックを生成する。DCT段316は前記第1の中間ブロックの各列にN点基準化1DDCTを実行し、第2の中間ブロックを生成する。基準化段318は第2の中間の各要素を基準化し、完全2DDCTのための変換係数のブロックを出力する。図3Bに分離可能な行列基準化を用いた分離可能な完全2DDCT302の構造を示す。2DDCT302は入力フォーマッティング段322と、それに続く行または列用の基準化1DDCT段324と、さらにそれに続く列または行用の基準化1DDCT段326と、終段の行列基準化段328を含む。段322、324、および326はそれぞれ図3Aの段312、314、および316と同様に動作するかもしれない。基準化段328は完全2DDCTのための変換係数のブロックを生成するために、DCT段326からの第2の中間ブロックを行毎に、次いで列毎に基準化するかもしれない。図3Cに各基準化1DDCTの後に基準化を用いる分離可能な完全2DDCT304の構造を示す。2DDCT304は、入力フォーマッティング段332、それに続く行または列用の基準化を用いる基準化1DDCT段334、さらにそれに続く列または行用の基準化を用いる基準化1DDCT段336を含む。段332は図3Aの段312と同様に動作するかもしれない。DCT段334はN点基準化1DDCTを実行し、続いて段332からの予め乗算されたサンプルのブロックの各行に基準化を実行する。DCT段336はN点基準化1DDCTを実行し、続いてDCT段334で生成された中間ブロックの各列に基準化を実行する。図3Dに分離可能な基準化2DDCT306の構造を示す。2DDCT306は入力フォーマッティング段342、それに続く行または列用の基準化1DDCT段344、さらにそれに続く列または行用の基準化1DDCT346を含む。段342は図3Aの段312と同様に動作するかもしれない。DCT段344は段332からの予め乗算されたサンプルのブロックの各行にN点基準化1DDCTを実行する。DCT段346はDCT段344で生成された中間ブロックの各列にN点基準化1DDCTを実行する。図3Aから図3Cに示すように、完全2DDCTのための基準化は、図3Aの行列1DDCT後に2D基準化を用いる方法、図3Bの行列1DDCT後に分離可能な行列基準化を用いる方法、または図3Cの各1DDCT後に基準化を用いる方法などの種々の方法で達成されるかもしれない。基準化は、他の方法でも実行されるかもしれない。図3Dに示すように、基準化2DDCTは単に基準化を省略し行と列に対して1DIDCTを実行することによって達成されるかもしれない。種々の形式の基準化1DDCTが図3Aから図3Dの基準化1DDCTに用いられるかもしれない。計算量の少ない例示的基準化DCTについて以下に説明する。図4は8点1DDCTの例示的要素分解のフロー図400を示す。フロー図400は入力サンプルx[0]からx[7]を入力し、これらの入力サンプルに8点基準化1DDCTを実行し、これらの入力のサンプルに実行し、8個の基準化変換係数8A0X[0]から8A7X[7]を生成する。基準化係数A0からA7は上で与えられる。図4の要素分解には以下の定数係数との乗算がある。αa=αb=1式33βa=βb=1/Cπ/4=1/cosπ/4γa=2C3π/8=2cos3π/8δa=2S3π/8=2sin3π/8。図2および図4のIDCT用およびDCT用のフロー図は類似しており、本質的に同一1/2の違いがあるの定数係数との乗算を含む。このような類似性はDCTおよびIDCTを集積回路上で実施するのに有利であるかもしれない。特に、この類似性は順変換および逆変換の双方で用いられるバタフライ回路および変換定数との乗算を実施するためのシリコンまたはダイ面積の節約を可能にするかもしれない。図5に完全および基準化インタフェースをサポートするIDCTプロセッサ500の構造のブロック図を示す。IDCTプロセッサ500内において、基準化ユニット510は完全インタフェースを介して変換係数のブロックを入力し、その変換係数のブロックに基準化例えば要素毎に2D基準化または分離可能な行列基準化を実行し、基準化変換係数のブロックを出力する。マルチプレクサMux512は、完全インタフェースが選択されている場合、基準化ユニット510から基準化変換係数を入力し出力する。マルチプレクサ512は、基準化インタフェースが選択されている場合には、基準化インタフェースを介して基準化変換係数を入力し、これらの基準化変換係数を出力する。マルチプレクサ514はマルチプレクサ512の出力またはバッファ518の出力をIDCTエンジン516へ出力する。IDCTエンジン516はマルチプレクサ512からの基準化変換係数のブロックの行に基準化1DIDCTを実行し、中間結果のブロックの行をバッファ518へ出力するかもしれない。IDCTエンジン516は、次にバッファ518からの中間結果のブロックの列に基準化1DIDCTを実行し、最終結果のブロックをバッファ518に出力するかもしれない。ユニット520はバッファ518の最終結果に出力フォーマッティングを実行し、出力サンプルを出力する。図6に完全および基準化インタフェースをサポートするDCTプロセッサ600の構造のブロック図を示す。DCTプロセッサ600内で、ユニット610は入力サンプルのブロックに入力フォーマッティングを実行する。DCTエンジン614はマルチプレクサ612を介してユニット610から入力値のブロックを入力し、入力値のブロックの行に基準化1DDCTを実行し、中間結果のブロックをバッファ616に出力する。DCTエンジン614は、次にバッファ616からの中間結果のブロックの列に基準化1DDCTを実行し、基準化変換係数のブロックをバッファ616に出力するかもしれない。バッファ616は基準化変換係数のブロックを基準化インタフェースに出力する。基準化ユニット618は基準化変換係数のブロックを入力し基準化し完全変換係数を完全インタフェースに出力する。明確さのために、上記の説明のほとんどはDCTおよびIDCTに対するものである。一般に、ここに説明した手法はDCT、IDCT、DFT、IDFT、MLT、逆MLT、MCLT、逆MCLTなどのような、いかなる形式の変換にも用いられるかもしれない。また、本手法は図2および図4に示したいくつかの例示的要素分解の例を用いて、変換の任意の要素分解にも用いることができるかもしれない。また、本手法は図2および図4に示した8点変換を用いて任意サイズの変換に用いられるかもしれない。8×8DCTおよび8×8IDCTは画像およびビデオ処理に一般的に用いられる。また、本手法はJPEG、MPEG-1、MPEG-2、MPEG-4P.2、H.261、H.263などのような種々の画像およびビデオの符号化標準に用いられるかもしれない。図7に変換を実行するための処理700の構造を示す。第1の入力値が第1のインタフェース完全または非基準化インタフェースを介して入力されるかもしれないブロック712。第1の出力値を得るために第1の入力値に完全変換が実行されるかもしれないブロック714。第2の入力値が第2のインタフェース基準化インタフェースを介して入力されるかもしれないブロック716。第2の出力値を得るために第2の入力値に基準化変換が実行されるかもしれないブロック718。完全変換は完全2D逆変換であるかもしれない。この場合、第1の入力値のブロックは第1のインタフェースを介して入力され、基準化入力値のブロックを得るために基準化されるかもしれない。中間ブロックを得るために基準化入力値のブロックの各行に基準化1D変換が実行されるかもしれない。第1の出力値のブロックを得るために中間ブロックの各列に基準化1D変換が実行されるかもしれない。また、基準化1D変換は列に、次いで行に実行されるかもしれない。完全変換はまた完全2D順変換であるかもしれない。この場合、第1のインタフェースを介して第1の入力値のブロックが入力されるかもしれない。第1の中間ブロックを得るために入力値のブロックの各行に基準化1D変換が実行されるかもしれない。第2の中間ブロックを得るために第1の中間ブロックの各列に基準化1D変換が実行されるかもしれない。第1の出力値のブロックを得るために第2の中間ブロックが基準化されるかもしれない。完全変換は完全2DIDCTであるかもしれない。この場合、第1のインタフェースを介して変換係数のブロックが入力され、基準化変換係数のブロックを得るために基準化されるかもしれない。各変換係数は対応する基準化変換係数を得るために、例えば、図1Aに示すように、それぞれの基準化係数で基準化されるかもしれない。あるいはまた、変換係数のブロックは例えば図1Bに示すように基準化変換係数のブロックを得るために、行毎におよび列毎に基準化されるかもしれない。中間ブロックを得るために基準化変換係数のブロックの各行に基準化1DIDCTが実行されるかもしれない。出力サンプルのブロックを得るために中間ブロックの各列に基準化1DIDCTが実行されるかもしれない。あるいはまた、図1Cに示すように、中間ブロックを得るために変換係数のブロックの各行に基準化および1つの基準化1DIDCTが実行され、中間ブロックの各列に基準化または基準化1DIDCTが実行されるかもしれない。基準化変換は基準化2DIDCTであるかもしれない。この場合、基準化変換係数のブロックは第2のインタフェースを介して入力されるかもしれない。次に、中間ブロックを得るために基準化変換係数のブロックの各行に基準化1DIDCTが実行されるかもしれない。出力サンプルのブロックを得るために中間ブロックの各列に基準化1DIDCTが実行されるかもしれない。完全変換は完全2DDCTであるかもしれない。また、基準化変換は基準化2DDCTであるかもしれない。第1のインタフェースに対する完全変換係数のブロックを得るために、上述したように入力サンプルのブロックに完全2DDCTが実行されるかもしれない。また、第2のインタフェースに対する基準化変換係数のブロックを得るために、入力サンプルのブロックに基準化2DDCTが実行されるかもしれない。図8に符号化システム810および復号システム850の構造のブロック図を示す。符号化システム810において、画像/ビデオ符号器820は、複数の画素ブロックを入力し、特定の画像またはビデオ圧縮アルゴリズムに従って各画素ブロックに圧縮を実行するかもしれない。符号器820は画素の差分値または、残差のブロックおよび画素のブロックを出力するかもしれない。ユニット822は入力サンプルのブロックとして残差ブロックおよび画素ブロックを入力し、各入力サンプルブロックに2DDCTを実行し、完全または基準化変換係数のブロックを出力するかもしれない。ユニット822は完全および基準化インタフェースの双方をサポートするかもしれない。量子化器824は完全または基準化変換係数を量子化し、量子化係数を出力するかもしれない。エントロピー符号器826はその量子化係数にエントロピー符号化を実行し、通信チャネル840を介した伝送および/または格納のために、圧縮されたデータをパケットまたはビットストリームで出力するかもしれない。復号システム850において、エントロピー復号器860は圧縮されたデータにエントロピー復号を符号器826によるエントロピー符号化の相補的方法で実行し、量子化係数を出力するかもしれない。逆量子化器862はその量子化係数を完全または基準化変換係数にマッピングするかもしれない。ユニット864は完全変換係数に完全2DIDCTを、または基準化変換係数に基準化2DIDCTを実行し、出力サンプルのブロックを出力するかもしれない。ユニット864は完全および基準化インタフェースの双方をサポートするかもしれない。画像/ビデオ復号器866は出力サンプルのブロックに復元を実行し、画素のブロックを出力するかもしれない。符号化システム810において、ユニット822は基準化2DDCTを実行し、基準化変換係数を出力するかもしれない。量子化器824は基準化変換係数の量子化と同様に基準化例えば、図3Aの段318または図3Bの段328を実行するかもしれない。復号システム850において、ユニット862は変換係数に対する基準化例えば、図1Aの段112または図1Bの段122と同様に逆量子化を実行するかもしれない。次に、ユニット864はユニット862からの基準化変換係数に基準化2DIDCTを実行するかもしれない。図9に符号化システム900のブロック図を示す。これは、図8の符号化システム810に用いられるかもしれない。取得デバイス/メモリー910は源信号を入力し、デジタルフォーマットへの変換を実行し、入力/生データを出力するかもしれない。取得デバイス910はビデオカメラ、ディジタイザ、または他のデバイスであるかもしれない。プロセッサ920は生データを処理し、圧縮されたデータを生成する。プロセッサ920内において、生データはDCTユニット922で変換され、ジグザグスキャンユニット924でスキャンされ、量子化器926で量子化され、エントロピー符号器928で符号化され、パケット化器でパケット化されるかもしれない。DCTユニット922は、ここに説明した手法に従って生データに2DDCTを実行し、完全および基準化インタフェース双方をサポートするかもしれない。922から930の各ユニットはハードウェア、ファームウェア、および/またはソフトウェアで実施されるかもしれない。例えば、DCTユニット922は専用ハードウェア、演算論理ユニットALUのための1組の命令、その他で実施されるかもしれない。記憶ユニット940はプロセッサ920からの圧縮されたデータを格納するかもしれない。送信機942は圧縮されたデータを送信するかもしれない。制御器/プロセッサ950は符号化システム900の種々のユニットの動作を制御する。メモリー952は符号化システム900のためのデータおよびプログラムコードを格納する。1つ以上のバス960は符号化システム900内の種々のユニットを相互接続する。図10に復号システム1000のブロック図を示す。これは図8の復号システム850に用いられるかもしれない。受信機1010は符号化システムから圧縮されたデータを受信し、記憶ユニット1012は受信された圧縮されたデータを格納するかもしれない。プロセッサ1020は圧縮されたデータを処理し、出力データを生成する。プロセッサ1020内において、圧縮されたデータはパケット分解器1022でパケット分解され、エントロピー復号器1024で復号され、逆量子化器1026で逆量子化され、逆ジグザグスキャンユニット1028で適切な順に配置され、IDCTユニット1030で変換されるかもしれない。IDCTユニット1030はここに説明した手法に従って完全または基準化変換係数に2DIDCTを実行し、完全および基準化インタフェースの双方をサポートするかもしれない。1022から1030の各ユニットは、ハードウェア、ファームウェア、および/またはソフトウェアで実施されるかもしれない。例えば、IDCTユニット1030は専用ハードウェア、ALUのための1組の命令、その他で実施されるかもしれない。ディスプレイユニット1040はプロセッサ1020からの再構成画像およびビデオを表示する。制御器/プロセッサ1050は復号システム1000内の種々のユニットの動作を制御する。メモリー1052は復号システム1000のためのデータおよびプログラムコードを格納する。1つ以上のバス1060は復号システム1000内の種々のユニットを相互接続する。プロセッサ920および1020はそれぞれ1つ以上の特定用途向ICASIC、ディジタル信号プロセッサDSP、および/または、ある他の形式のプロセッサで実施されるかもしれない。あるいはまた、プロセッサ920および1020はそれぞれ1つ以上のランダムアクセスメモリーRAM、読み出し専用メモリーROM、電気的プログラム可能ROMEPROM、電気的消去可能プログラマブルROMEEPROM、磁気ディスク、光ディスク、および/または当業者に既知の他の形式の揮発性および不揮発性メモリーでそれぞれ置き換えられるかもしれない。ここに説明した手法は種々の形式の装置において実施されるかもしれない。例えば、本手法は種々の形式のプロセッサ、種々の形式の集積回路、種々の形式の電子機器、種々の形式の電子回路、その他で実施されるかもしれない。当業者は情報および信号が種々の異なる技術および手法のいずれかを用いて表されるかもしれないことを理解するだろう。例えば、上の記述中に参照されるかもしれないデータ、命令、指示、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光学場もしくは光粒子、またはそれらの任意の組合せで表されるかもしれない。当業者は本開示に関連して説明された種々の例示的論理ブロック、モジュール、回路およびアルゴリズムのステップは、電子的ハードウェア、計算機ソフトウェア、またはその双方の組合せとして実施されるかもしれないことをさらに認識するだろう。ハードウェアとソフトウェアのこの互換性を明確に示すために、ここまで種々の例示的部品、ブロック、モジュール、回路、およびステップをそれらの機能の面から一般的に説明してきた。そのような機能がハードウェアまたはソフトウェアとして実施されるかどうかは、全体のシステムに課せられた特定のアプリケーションおよび設計制約に依存する。当業者は、説明した機能を各特定のアプリケーションに対して異なる方法で実施するかもしれないが、そのような実施の決定が本開示の範囲からの逸脱を引き起こすと解釈されるべきではない。本開示に関して説明された種々の例示的論理ブロック、モジュール、および回路は、汎用プロセッサ、DSP、ASIC、プログラマブルゲートアレイFPGA、もしくは他のプログラム可能論理回路、個別ゲートもしくはトランジスタ論理、個別ハードウェア部品、またはここに説明した機能を実行するように設計されたそれらの任意の組合せで実施または実行されるかもしれない。汎用プロセッサはマイクロプロセッサであるかもしれないが、代替的にはプロセッサは、任意の通常のプロセッサ、制御器、マイクロ制御器または状態機械であるかもしれない。プロセッサはまた、計算機器の組合せ、例えばDSPとマイクロプロセッサ、複数のマイクロプロセッサ、DSPコアと連係した1つ以上のマイクロプロセッサ、または他のそのような構成として実施されるかもしれない。本開示に関して説明した方法またはアルゴリズムのステップは、直接ハードウェアで、プロセッサで実行されるソフトウェアモジュールで、またはその2つの組合せで具体化されるかもしれない。ソフトウェアモジュールはRAMメモリー、フラッシュメモリ、ROMメモリー、EPROMメモリー、EEPROMメモリー、レジスタ、ハードディスク、可搬形ディスク、CD-ROM、または当業者に既知の任意の他の形式の記憶媒体の中にあるかもしれない。代表的記憶媒体はプロセッサが情報を記憶媒体から読み出しおよび情報を記憶媒体に書き込むことができるようにプロセッサに接続される。代替的には、記憶媒体はプロセッサの構成部品であるかもしれない。プロセッサおよび記憶媒体はASIC内にあるかもしれない。ASICはユーザ端末内にあるかもしれない。代替的に、プロセッサおよび記憶媒体は個別部品としてユーザ端末内にあるかもしれない。本開示のこれまでの説明は、いかなる当業者も本開示を製造しまたは使用することが可能となるように提供されている。本開示への種々の変形は当業者に容易に明らかになるだろう。また、ここに定義した一般的原理は本開示の精神または範囲から逸脱することなく他の設計に適用されるかもしれない。したがって、本開示は、ここに示した例に制限することを意図していず、ここに開示した原理および新規な機能に矛盾しない最も広い範囲と一致するということである。"