(57)【要約】  丸め誤差の減少のために、第１および第２の非整数の入力値は、丸められ第３の入力値に加算される（２６９）非整数の結果値を得るために非整数の状態で、例えば加算によって、提供され（２６０、２６２）、組み合わされる（２６８）。したがって、丸め誤差は、リフティングステップに分割された２つの回転間、または、リフティングステップに分割された第１回転およびそれに続く多次元リフティングの連なりの第１のリフティングステップ間のインターフェイスで減少させることができる。【選択図】図１８
2007508605.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも２つの入力値を処理するための装置であって、
第１の非整数の入力値および第２の非整数の入力値を提供するための手段（２０２；２５０、２５２、２５４、２５６、２５８、２６０、２６２）、および
非整数の結果値を得るために前記第１の入力値および前記第２の入力値を組み合わせ、かつ、前記結果値を、丸められた結果値を得るために丸めるための手段（２６８）を備える、装置。
【請求項２】
前記組み合わせるための手段は、合計または差を形成するように設計されている、請求項１に記載の装置。
【請求項３】
前記第１および前記第２の入力値は、オーディオおよび／またはビデオ情報を含む離散値である、請求項１または２に記載の装置。
【請求項４】
出力値を得るために前記結果値を第３の入力値に結合するための手段（２６９）をさらに備える、先行する請求項の１つに記載の装置。
【請求項５】
前記結合するための手段（２６９；１０４）は、合計器または減算器として設計されている、請求項４に記載の装置。
【請求項６】
前記出力値が整数値となるように前記第３の入力値が整数の入力値である、請求項４または請求項５に記載の装置。
【請求項７】
前記提供するための手段は、第１および第２のリフティングステップとその後の重み付け（２６２）とにより第１の元の値および第３の値（ｘ3）から前記第１の入力値を生成し、かつ、元の第２の入力値（ｘ2）から重み付け（２７０）により前記第２の入力値を生成するために設計されている、先行する請求項の１つに記載の装置。
【請求項８】
リフティング動作により修正された第３の入力値に前記整数の結果値を加算し、リフティング動作により修正された前記第３の入力値および前記第２の入力値を用いて回転の第２および第３のリフティングステップを実行するようにさらに設計されている、請求項７に記載の装置。
【請求項９】
前記提供するための手段は、前記第１の入力値を得るために第１の元の値を重み付けし、かつ、前記元の第１の値（ｘ1）が属する一連の元の入力値から変換により前記第２の入力値を計算するために設計されている、先行する請求項の１つに記載の装置。
【請求項１０】
第２の変換ルールにより処理される更なる連なりの値を得るために、第１の変換ルール（１０２）により処理される連なりの一部分である更なる入力値に前記整数の入力値を加算するための手段（１０６）をさらに含み、前記第１の変換ルールおよび前記第２の変換ルールは、第１および第２の多次元リフティングステップを規定する変換ルールである、請求項９に記載の装置。
【請求項１１】
少なくとも２つの入力値を処理するための方法であって、
第１の非整数の入力値および第２の非整数の入力値を提供するステップ（２０２；２５０、２５２、２５４、２５６、２５８、２６０、２６２）、および
非整数の結果値を得るために前記第１の入力値および前記第２の入力値を組み合わせ、かつ、前記結果値を、丸められた結果値を得るために丸めステップ（２６８）を備える、方法。
【請求項１２】
前記組み合わせるステップの後に、整数の出力値を得るために第３の整数の入力値に前記結果値を結合するステップ（２６９）が実行される、請求項１１に記載の方法。
【請求項１３】
プログラムがコンピュータ上で動作するときに、請求項１１に記載された方法を実行するためのプログラムコードを有する、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号処理に関し、とりわけ可逆符号化アプリケーションに特に適するオーディオサンプルまたはビデオサンプルのような連続値の信号処理に特に関する。
【０００２】
本発明は、オーディオおよび／またはイメージ情報を含む離散値の圧縮アルゴリズムにさらに適し、ハフマンの形態をとるエントロピー符号化、または算術符号化のような符号化が後に続く周波数領域、時間領域または位置領域の変換を含む符号化アルゴリズムに特に適している。
【背景技術】
【０００３】
ＭＰＥＧレイヤ３（ＭＰ３）またはＭＰＥＧ  ＡＡＣのような最新のオーディオ符号化方法は、オーディオ信号のブロックに関する周波数表現を得るために、いわゆる変形離散コサイン変換（ＭＤＣＴ）のような変換を用いる。このようなオーディオ符号器は、通常、時間離散オーディオサンプルのストリームを得る。オーディオサンプルのストリームは、例えば１０２４個または２０４８個の窓掛けられたオーディオサンプルの窓掛けられたブロックを得るために窓掛けられる。窓掛けに関して、サイン窓などのような様々な窓関数が用いられる。
【０００４】
窓掛けられた時間離散オーディオサンプルは、次に、フィルタバンクによりスペクトル表現に転換される。このために、原則として、フーリエ変換、または特別な理由によってはフーリエ変換の変形、例えばＦＦＴまたは上述のＭＤＣＴを用いることができる。その後、必要に応じて、フィルタバンクの出力端におけるオーディオスペクトル値のブロックがさらに処理される。上記のオーディオ符号器では、次にオーディオスペクトル値の量子化が行われ、量子化段階は、一般に、量子化により取り込まれた量子化ノイズが心理音響的なマスキングしきい値を下回るように、すなわち「マスクして除去される」ように選択される。量子化は、不可逆符号化である。データ量の更なる減少を得るために、量子化されたスペクトル値は、次に、例えばハフマン符号化によりエントロピー符号化される。スケール係数などのような副次的な情報を加算されることにより、記憶または送信することができるビットストリームが、ビットストリームマルチプレクサによりエントロピー符号化された量子化スペクトル値から形成される。
【０００５】
オーディオ復号器では、ビットストリームは、ビットストリームデマルチプレクサにより、符号化された量子化スペクトル値と副次的な情報とに分割される。エントロピー符号化された量子化スペクトル値は、まず、量子化スペクトル値を得るためにエントロピー復号化される。次に、量子化スペクトル値は、復号化されたスペクトル値を得るために逆量子化され、これらスペクトル値は量子化ノイズを含むが、この量子化ノイズは心理音響的なマスキングしきい値を下回るので、聞こえない。次に、これらスペクトル値は、時間離散復号化されたオーディオサンプルを得るために、合成フィルタバンクにより時間表現に転換される。合成フィルタバンクでは、変換アルゴリズムに対して逆の変換アルゴリズムを用いる必要がある。さらに、周波数−時間逆方向変換後に窓掛けを逆に行う必要がある。
【０００６】
良好な周波数選択性を得るために、最新のオーディオ符号器は、一般に、ブロックオーバラップを用いる。このような場合が図６ａに示される。まず、例えば２０４８個の時間離散オーディオサンプルが得られ、手段４０２により窓掛けられる。窓掛けを行う手段４０２は、２Ｎ個のサンプルの窓長を有し、２Ｎ個の窓掛けられたサンプルのブロックを出力側に提供する。窓のオーバラップを達成するために、２Ｎ個の窓掛けられたサンプルの第２ブロックが手段４０４により形成され、手段４０４は図６ａでは単に明確にするために手段４０２から離して示される。しかしながら、手段４０４に供給された２０４８個のサンプルは、第１の窓のすぐ後に続く時間離散オーディオサンプルではなく、手段４０２により窓掛けられたサンプルの後半を含み、これに加えて１０２４個のみの「新たな」サンプルを含む。オーバラップは、図６ａに、５０％のオーバラップ度を生じる手段４０６により象徴的に示される。次に、手段４０２により出力された２Ｎ個の窓掛けられたサンプルと手段４０４により出力された２Ｎ個の窓掛けられたサンプルとの両方は、手段４０８および４１０によりそれぞれＭＤＣＴアルゴリズムを受ける。手段４０８は、既知のＭＤＣＴアルゴリズムに従ってＮ個のスペクトル値を第１の窓に提供し、一方、手段４１０もＮ個のスペクトル値を提供するが、第２の窓に供給し、この場合、第１の窓と第２の窓との間に５０％のオーバラップが存在する。
【０００７】
復号器では、図６ｂに示すように、第１の窓のＮ個のスペクトル値が逆変形離散コサイン変換を実行する手段４１２に供給される。第２の窓のＮ個のスペクトル値も同様である。これらは、逆変形離散コサイン変換を実行する手段４１４に供給される。両方の手段４１２および４１４は、それぞれ、２Ｎ個のサンプルを第１の窓に２Ｎ個のサンプルを第２の窓にそれぞれ提供する。
【０００８】
図６ｂにＴＤＡＣ（時間領域エイリアシングキャンセル）で示された手段４１６では、２つの窓がオーバラップしているという事実が考慮されている。特に、第１の窓の後半のサンプルｙ1、すなわちインデックスＮ＋ｋの付いたサンプルｙ1は、第２の窓の前半のサンプルｙ2、すなわちインデックスｋの付いたサンプルｙ2と合計され、その結果、Ｎ個の復号化された時間サンプルが出力側にすなわち復号器内に生じる。
【０００９】
加算関数とも呼ばれる手段４１６の関数により、図６ａにより概略的に示される符号器において実行される窓掛けは多少自動的に考慮され、その結果、いかなる明確な「逆窓掛け」も図６ｂにより示される復号器内において行われる必要がないことに留意すべきである。
【００１０】
手段４０２または４０４により実施される窓関数がｗ（ｋ）と称され、インデックスｋが時間インデックスを表す場合、２乗された窓重みｗ（Ｎ＋ｋ）に２乗された窓重みｗ（ｋ）が加算されると１であり、ｋが０〜Ｎ−１の範囲になるという条件を満たす必要がある。サイン関数の前半波形に従う窓重み付けを有するサイン窓が用いられる場合、この条件は、サインの２乗とコサインの２乗とを合わせると各角度に対して値１が生じるために、常に満たされる。
【００１１】
図６ａで説明されるＭＤＣＴ関数を後に続けて用いる窓掛け法では、時間離散サンプルの乗法による窓掛けが、サイン窓を考えると、０°と１８０°との間の角度のサインが、９０°の角度を除いて整数を生じないため、浮動小数点数で達成されるという欠点がある。整数の時間離散サンプルが窓掛けられる場合でも、浮動小数点数は窓掛けられた後に生じる。
【００１２】
したがって、心理音響的な符号器が用いられないとしても、すなわち、可逆符号化が達成されるべきであれば、合理的に管理できるエントロピー符号化を実行できるように、量子化が手段４０８および４１０の出力部においてそれぞれ必要である。
【００１３】
一般に、可逆オーディオおよび／またはビデオ符号化のための現在既知の整数変換は、そこで用いられる変換をギブンス回転に分解し、リフティングスキームを各ギブンス回転に適用することにより得られる。したがって、丸め誤差が各ステップにおいて取り込まれる。ギブンス回転の後に続く段階に対して、丸め誤差は累積し続ける。結果として生じる近似誤差は、特に、オーバラップおよび加算を用いる既知のＭＤＣＴ（ＭＤＣＴ＝変形離散コサイン変換）における場合のように、例えば１０２４個のスペクトル値を提供するために長期の変換が用いられる場合に、可逆オーディオ符号化方法対して特に問題になる。特に、オーディオ信号が非常に低いエネルギ量を一般的に有する高周波数範囲では、近似誤差は、実際の信号よりも急速に大きくなるおそれがあるので、これらの方法は、可逆符号化に関して、特にそれにより達成できる符号化効率に関して問題がある。
【００１４】
オーディオ符号化に関して、整数変換、すなわち、整数出力値を生成する変換アルゴリズムは、特に、ＤＣ成分を考慮しない既知のＤＣＴ−ＩＶに基づくのに対して、イメージアプリケーションに対する整数変換は、むしろ、ＤＣ成分に対する規定を特に含むＤＣＴ−ＩＩに基づく。このような整数変換は、例えば、ワイ・ゾン（Ｙ．Ｚｅｎｇ）、ジー・ビー（Ｇ．Ｂｉ）およびゼット・リン（Ｚ．Ｌｉｎ）著の「リフティング因数分解に基づく整数正弦波変換」（Ｉｎｔｅｇｅｒ  ｓｉｎｕｓｏｉｄａｌ  ｔｒａｎｓｆｏｒｍｓ  ｂａｓｅｄ  ｏｎ  ｌｉｆｔｉｎｇ  ｆａｃｔｏｒｉｚａｔｉｏｎ）、ｐｒｏｃ．ＩＣＡＳＳＰ’０１、２００１年５月、ｐ．１，１８１−１，１８４、ケイ・コマツ（Ｋ．Ｋｏｍａｔｓｕ）およびケイ・セザキ（Ｋ．Ｓｅｚａｋｉ）著の「可逆離散コサイン変換」（Ｒｅｖｅｒｓｉｂｌｅ  Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）、Ｐｒｏｃ．ＩＣＡＳＳＰ、１９９８年、第３巻、ｐ．１，７６９−１，７７２、ピー・ハオ（Ｐ．Ｈａｏ）およびキュー・シー（Ｑ．Ｓｈｉ）著の「可逆整数マッピングのためのマトリクス因数分解」（Ｍａｔｒｉｘ  ｆａｃｔｏｒｉｚａｔｉｏｎｓ  ｆｏｒ  ｒｅｖｅｒｓｉｂｌｅ  ｉｎｔｅｇｅｒ  ｍａｐｐｉｎｇ）、ＩＥＥＥトランザクション信号処理（ＩＥＥＥ  Ｔｒａｎｓ．Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｇ）、信号処理（Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｇ）、第４９巻、ｐ．２，３１４−２，３２４、並びに、ジェー・ワン（Ｊ．Ｗａｎｇ）、ジェー・サン（Ｊ．Ｓｕｎ）およびエス・ユー（Ｓ．Ｙｕ）著の「整数から整数への１−ｄおよび２−ｄ変換」（１−ｄ  ａｎｄ  ２−ｄ  ｔｒａｎｓｆｏｒｍｓ  ｆｒｏｍ  ｉｎｔｅｇｅｒｓ  ｔｏ  ｉｎｔｅｇｅｒｓ）、ｐｒｏｃ．ＩＣＡＳＳＰ’０３、香港、２００３年４月において知られている。
【００１５】
上述したように、上記で説明した整数変換は、変換をギブンス回転に分解し、既知のリフティングスキームをギブンス回転に適用することに基づき、これにより、丸め誤差を累積するという問題を生じる。これは、特に、１回の変換において、すなわち各リフティングステップの後で、丸めを何度も実行しなければならないので、特に、対応の多数のリフティングステップを生じさせる長期の変換では、極めて多数の丸めを必要とするという事実による。前述のように、これは、リフティングステップの後ごとに次のリフティングステップを実行するために丸めが実行されるため、結果的に累積誤差をもたらし、特に、比較的複雑な処理ももたらす。
【００１６】
続いて、ＭＤＣＴ窓掛け分解が独国特許出願公開第１０１２９２４０号で示すように図９〜図１１に関して示され、この場合、リフティングマトリクスおよび対応の丸めを用いるギブンス回転へのＭＤＣＴ窓掛けのこの分解は、完全な整数のＭＤＣＴ近似値を得るために、すなわち、順方向および逆方向の双方の変換コンセプトをＭＤＣＴの例として与える本発明による整数ＭＤＣＴ（ＩｎｔＭＤＣＴ）を得るために、転換について図１で論じるコンセプトと逆転換について図２で論じるコンセプトとを有利に組み合わせる。
【００１７】
図３は、ＩｎｔＭＤＣＴ整数変換アルゴリズムが動作する整数値を得るためにオーディオ信号を表す時間離散サンプルを処理するための本発明の好適な装置の概観図を示す。時間離散サンプルは、図３に示す装置により窓掛けられ、選択的に、スペクトル表現へ転換される。入力端１０で装置に供給される時間離散サンプルは、変換手段により特に整数ＤＣＴを実行するための手段１４によりスペクトル表現へ転換するのに適する整数の窓掛けられたサンプルを出力端１２で得るために、２Ｎ個の時間離散サンプルに対応する長さを有する窓ｗで窓掛けられる。整数ＤＣＴは、Ｎ個の入力値からＮ個の出力値を生成するように設計され、それはＭＤＣＴ方程式のため２Ｎ個の窓掛けられたサンプルからＮ個のスペクトル値だけを生成する図６ａのＭＤＣＴ関数４０８と対照的である。
【００１８】
時間離散サンプルの窓掛けに関して、まず、２つの時間離散サンプルが手段１６で選択され、これらが互いに時間離散サンプルのベクトルを表す。手段１６により選択された時間離散サンプルは、窓の第１の４分の１内にある。その他の時間離散サンプルは、図５に関して詳細に説明するように、窓の第２の４分の１内にある。手段１６により生成されたベクトルは、次に、次元２×２の回転マトリクスに提供され、この動作は直接実行されるのではなく、いくつかのいわゆるリフティングマトリクスにより実行される。
【００１９】
リフティングマトリクスは、窓ｗに依存し、「１」または「０」に等しくない１つの要素だけを含むという特性を持つ。
【００２０】
リフティングステップにおけるウェーブレット変換の因数分解は、専門の出版物「リフティングステップにおけるウェーブレット変換の因数分解」（Ｆａｃｔｏｒｉｎｇ  Ｗａｖｅｌｅｔ  Ｔｒａｎｓｆｏｒｍｓ  Ｉｎｔｏ  Ｌｉｆｔｉｎｇ  Ｓｔｅｐｓ）、イングリッド・ドベシィ（Ｉｎｇｒｉｄ  Ｄａｕｂｅｃｈｉｅｓ）およびウィム  スウェルデン（Ｗｉｍ  Ｓｗｅｌｄｅｎｓ）著、プレプリント、ベル研究所（Ｂｅｌｌ  Ｌａｂｏｒａｔｏｒｉｅｓ）、ルーセント  テクノロジー（Ｌｕｃｅｎｔ  Ｔｅｃｈｎｏｌｏｇｉｅｓ）、１９９６年に、公開されている。一般に、リフティングスキームは、同一の低域通過フィルタまたは高域通過フィルタを有する完全な再構築フィルタ対において簡単な関係である。相補的なフィルタの各対は、リフティングステップに因数分解できる。これは特にギブンス回転に適用する。ポリフェーズマトリクスがギブンス回転である場合を考える。次式が適用する。
2007508605.tif 000003
【００２１】
等号の右手側に位置する３個のリフティングマトリクスの各々は、主対角要素として値「１」を有する。各リフティングマトリクスには、さらに、０に等しい副対角要素と、回転角度αに依存する副対角要素とがある。
【００２２】
次に、ベクトルは、第１の結果ベクトルを得るために、３番目のリフティングマトリクス、すなわち、上記の式の一番右に位置するリフティングマトリクスに乗算される。これは、図３に手段１８により示される。次に、第１の結果ベクトルは、図３に手段２０により示されるように、一連の実数を一連の整数にマッピングする丸め関数で丸められる。手段２０の出力端では、丸められた第１の結果ベクトルが得られる。次に、丸められた第１の結果ベクトルは、第２の結果ベクトルを得るために、それを中央のすなわち２番目のリフティングマトリクスに乗算するための手段２２に供給され、第２の結果ベクトルは、丸められた第２の結果ベクトルを得るために、手段２４で丸められる。次に、丸められた第２の結果ベクトルは、第３の結果ベクトルを得るために、それを上記の式の左側に示すリフティングマトリクスすなわち１番目のリフティングマトリクスに乗算するための手段２６に供給され、第３の結果ベクトルは、整数の窓掛けられたサンプルを出力端１２で最終的に得るために、最終的に手段２８により丸められ、整数の窓掛けられたサンプルのスペクトル表現が所望のものであれば、整数のスペクトル値をスペクトル出力端３０で得るために、整数の窓掛けられたサンプルは次に手段１４により処理される必要がある。
【００２３】
好ましくは、手段１４は、整数ＤＣＴとして実施される。
【００２４】
長さＮを用いるタイプ４に従う離散コサイン変換（ＤＣＴ−ＩＶ）は、次式により与えられる。
2007508605.tif 000004
【００２５】
ＤＣＴ−ＩＶの係数は、正規直交のＮ×Ｎマトリクスを形成する。専門の出版物のピー・ピー・ヴァイドヤナハン（Ｐ．Ｐ．Ｖａｉｄｙａｎａｔｈａｎ）著、「マルチレートシステムおよびフィルタバンク」（Ｍｕｌｔｉｒａｔｅ  Ｓｙｓｔｅｍｓ  Ａｎｄ  Ｆｉｌｔｅｒ  Ｂａｎｋｓ）、プレンティスホール（Ｐｒｅｎｔｉｃｅ  Ｈａｌｌ）、（イングルウッドクリフ（Ｅｎｇｌｅｗｏｏｄ  Ｃｌｉｆｆｓ）、１９９３年により記述されているように、各直交のＮ×Ｎマトリクスは、Ｎ（Ｎ−１）／２個のギブンス回転に分解できる。その他の分解も存在することに留意すべきである。
【００２６】
様々なＤＣＴアルゴリズムの分類に関して、エッチ・エス・マルヴァ（Ｈ．Ｓ．Ｍａｌｖａｒ）著、「重ねられた変換を有する信号処理」（Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｗｉｔｈ  Ｌａｐｐｅｄ  Ｔｒａｎｓｆｏｒｍｓ）、アーテック・ハウス（Ａｒｔｅｃｈ  Ｈｏｕｓｅ）、１９９２年を参照する。一般に、ＤＣＴアルゴリズムは、基底関数の種類で異なる。この場合に好ましいＤＣＴ−ＩＶは、非対称の基底関数、すなわち、コサイン１／４波、コサイン３／４波、コサイン５／４波、コサイン７／４波などを含むが、例えばタイプＩＩの離散コサイン変換（ＤＣＴ−ＩＩ）は、軸対称および点対称の基底関数を有する。例えば、０番目の基底関数はＤＣ成分を有し、１番目の基底関数はコサイン波の半分であり、２番目の基底関数は全部のコサイン波である。ＤＣＴ−ＩＩがＤＣ成分に特に重点を置くという事実のため、ビデオ符号化では用いられるが、オーディオ符号化では用いられない。その理由は、ＤＣ成分が、ビデオ符号化に比べてオーディオ符号化において関連しないためである。
【００２７】
以下には、ギブンス回転の回転角度αがどのように窓関数に依存するかを論じる。
【００２８】
２Ｎの窓長を用いるＭＤＣＴは、長さＮを用いるタイプＩＶの離散コサイン変換まで軽減することができる。これは、ＴＤＡＣ動作を時間領域において明確に実行し、ＤＣＴ−ＩＶを適用することにより達成される。５０％のオーバラップの場合、ブロックｔの窓の左半分は、先行のブロックすなわちブロックｔ−１の右半分とオーバラップする。連続するブロックｔ−１およびｔのオーバラップ部分は、次のように、時間領域において前処理され、すなわち変換前に処理され、すなわち図３の入力端１０と出力端１２との間で処理される。
2007508605.tif 000005
【００２９】
上記の式で波形符号を有しないｘ値は、入力端１０での値、および／または、選択するための手段１６の後の値であるが、波形符号を有する値は、図３の出力端１２での値である。連続するインデックスｋが０〜Ｎ／２−１の範囲に及ぶのに対して、ｗは窓関数を表す。
【００３０】
窓関数ｗのＴＤＡＣ条件から、次式を適用する。
2007508605.tif 000006
【００３１】
ある角度αk、ここで、ｋ＝０、・・・、Ｎ／２−１に対して、時間領域におけるこの前処理は、先に述べたようにギブンス回転として記すことができる。
【００３２】
ギブンス回転の角度αは、次のように窓関数ｗに依存する。
α＝ａｒｃｔａｎ［ｗ（Ｎ／２−１−ｋ）／ｗ（Ｎ／２＋ｋ）］  （５）
【００３３】
窓関数ｗがこのＴＤＡＣ条件を満たす限り、いかなる窓関数ｗをも用いることができることに留意すべきである。
【００３４】
以下には、カスケードされた符号器および復号器が、図４に関して説明される。１つの窓により一緒に「窓掛けられる」時間離散サンプルｘ（０）〜ｘ（２Ｎ−１）は、まず、サンプルｘ（０）およびサンプルｘ（Ｎ−１）すなわち窓の第１の４分の１からのサンプルと窓の第２の４分の１からのサンプルとが手段１６の出力端でベクトルを形成するために選択されるように、図３の手段１６によりまず選択される。交差する矢印は、ＤＣＴ−ＩＶブロックの入力端で整数の窓掛けられたサンプルを得るために、手段１８、２０および２２、２４および２６、２８のリフティング乗算およびその後の丸めをそれぞれ概略的に表す。
【００３５】
第１ベクトルが上述のように処理された場合、第２ベクトルは、サンプルｘ（Ｎ／２−１）およびｘ（Ｎ／２）、すなわち、この場合も窓の第１の４分の１からのサンプルと窓の第２の４分の１からのサンプルとからさらに選択され、図３に示すアルゴリズムにより再び処理される。これと同様に、窓の第１および第２の４分の１からの他のサンプル対のすべては処理される。最初の窓の第３および第４の４分の１について、同じ処理が実行される。この時、２Ｎ個の窓掛けられた整数のサンプルが出力端１２に存在し、これらは、次に、図４に示すようにＤＣＴ−ＩＶ変換に供給される。特に、第２および第３の４分の１の整数の窓掛けられたサンプルはＤＣＴに供給される。窓の第１の４分の１の窓掛けられた整数のサンプルは、先行の窓の第４の４分の１の窓掛けられた整数のサンプルとともに先行のＤＣＴ−ＩＶに処理される。これと同様に、図４では、窓掛けられた整数のサンプルの第４の４分の１は、次の窓の第１の４分の１とともにＤＣＴ−ＩＶ変換に供給される。図４に示す中央の整数ＤＣＴ−ＩＶ変換３２は、次に、Ｎ個の整数のスペクトル値ｙ（０）〜ｙ（Ｎ−１）を提供する。窓掛けおよび変換が整数出力値を生じるので、これら整数のスペクトル値は、次に、割り込みの量子化を必要とせず、例えば、簡単にエントロピー符号化することができる。
【００３６】
図４の右半分には、復号器が示される。逆方向変換および「逆窓掛け」からなる復号器は、符号器とは逆に動作する。図４に示すように、ＤＣＴ−ＩＶの逆方向変換に逆ＤＣＴ−ＩＶを使用できるということは既知である。次に、復号器ＤＣＴ−ＩＶ３４の出力値は、手段３４の出力端における整数の窓掛けられたサンプルおよび／または、先行および次の変換から時間離散オーディオサンプルｘ（０）〜ｘ（２−Ｎ１）を再び生成するために、図４に示すように、先行の変換および／または次の変換の対応の値で逆に処理される。
【００３７】
出力側の動作は、逆ギブンス回転により、すなわち、ブロック２６、２８および２２、２４および１８、２０をそれぞれ逆方向に向きを変えて行われる。これは、式（１）の２番目のリフティングマトリクスに関して詳細に示される。丸められた第１の結果ベクトルを２番目のリフティングマトリクスに掛けること（手段２２）により（符号器において）第２の結果ベクトルが形成される場合、次式が生じる。
2007508605.tif 000007
【００３８】
式（６）の右側の値ｘ、ｙは、整数である。しかし、これは、値ｘｓｉｎαに適用されない。ここでは、次式に示すように、丸め関数ｒが取り込まれる必要がある。
2007508605.tif 000008
【００３９】
この動作は手段２４により実行される。
【００４０】
（復号器における）逆マッピングは以下のように規定される。
2007508605.tif 000009
【００４１】
丸め動作の前におけるマイナス記号により、誤差を取り込まずにリフティングステップの整数近似値を反転できるということが明らかになる。３つのリフティングステップの各々へのこの近似値のアプリケーションはギブンス回転の整数近似値をもたらす。逆に丸められたリフティングステップを逆の順序で移動することにより、すなわち、復号化において図３のアルゴリズムが下から上に実行されれば、（符号器において）丸められた回転は、誤差を取り込まずに（復号器において）反転することができる。
【００４２】
丸め関数ｒが点対称であれば、逆に丸められた回転は、角度−αを有する丸められた回転と同一であって、以下のように表される。
2007508605.tif 000010
【００４３】
復号器すなわちこの場合では逆ギブンス回転のリフティングマトリクスは、表示「ｓｉｎα」を表示「−ｓｉｎα」に単に置き換えることにより式（１）から直接生じる。
【００４４】
以下には、図５に関して、オーバラップする窓４０〜４６を用いる共通のＭＤＣＴの分解が再び示される。窓４０〜４６は、それぞれ、５０％のオーバラップを有する。まず、矢印４８により概略的に示されるように、ある窓の第１および第２の４分の１内の窓、および／または、ある窓の第３および第４の４分の１内の窓ごとにギブンス回転が実行される。次に、ある窓の第２および第３の４分の１と、次の窓の第４および第１の４分の１とがそれぞれＤＣＴ−ＩＶアルゴリズムにより常に一緒にスペクトル表現に転換されるように、回転値すなわち窓掛けられた整数のサンプルがＮからＮへのＤＣＴに供給される。
【００４５】
したがって、共通のギブンス回転が、連続して実行されるリフティングマトリクスに分解され、この場合、結果ベクトルをリフティングマトリクスにそれぞれ掛ける前に、結果ベクトルが整数だけを有するように、浮動小数点数が生成された直後に浮動小数点数を丸められるように、各リフティングマトリクス乗算後、丸めステップが挿入される。
【００４６】
したがって、出力値は常に整数のままであって、この場合、整数入力値をも用いることが好ましい。これは、制限を意味するものではない。その理由は、ＣＤに記憶されるような例示的なＰＣＭサンプルは、いずれも、ビット幅に依存して、すなわち、時間離散デジタル入力値が１６ビット値であるか２４ビット値であるかに依存して変化する値範囲を有する整数の数値であるためである。いずれにしても、上述のように、逆回転を逆の順序で実行することにより、すべての処理を反転できる。したがって、完全な再構築、すなわち、可逆変換をともなうＭＤＣＴの整数近似値が存在する。
【００４７】
図示の変換は、浮動小数点数値の代わりに整数出力値を提供する。それは、順方向変換およびその後の逆方向変換を実行する際にいかなる誤差も取り込まないように、完全な再構築を行う。本発明の好適な実施形態によれば、この変換は、変形離散コサイン変換の代わりになるものである。しかしながら、回転への分解、並びに、リフティングステップへの回転の分解が可能である限り、その他の変換方法も整数で実行することができる。
【００４８】
整数ＭＤＣＴは、ＭＤＣＴの有益な特性の大部分を有する。これは、オーバラップしないブロック変換の場合よりも良好な周波数選択性が得られるオーバラップ構造体を有する。変換前の窓掛け内に既に考慮されているＴＤＡＣ関数のため、オーディオ信号を表すスペクトル値の総数が入力サンプルの総数に等しくなるように、限界サンプリングが維持される。
【００４９】
浮動小数点サンプルを提供する標準のＭＤＣＴに比較すれば、上述した好適な整数変換は、小さい信号レベルが存在するスペクトル範囲内にだけノイズが標準のＭＤＣＴに比べて増大されるとはいえ、このノイズの増大が、著しい信号レベルで顕著なものとならないということを示している。しかし、整数処理は、ハードウェアで簡単かつ迅速に実施できるシフト／加算ステップへ容易に分解できる乗算ステップだけが用いられるため、効率的なハードウェアの実施を示唆する。もちろん、ソフトウェアの実施も可能である。
【００５０】
整数変換は、オーディオ信号の良好なスペクトル表現を提供し、かつ、整数の領域内に残る。これをオーディオ信号の音の部分に適用すれば、良好なエネルギ濃度を生じる。この場合、エントロピー符号器とともに、図３に示す窓掛け／変換を単にカスケードすることにより、効率的な可逆符号化スキームを形成することができる。特に、エスケープ値を用いてスタックされた符号化は、ＭＰＥＧ  ＡＡＣで用いられるように有利である。すべての値が所望のコード表に適合するまで、２の特定の累乗によりすべての値を縮小し、次に、切り捨てられた最下位ビットを追加として符号化することが好ましい。大きいコード表を使用する代わりのものと比較して、上述した代わりになるものは、コード表を記憶するための記憶消費量に関して、より有益である。一部の最下位ビットを単に切り捨てることによっても、ほとんど可逆符号器を得ることができる。
【００５１】
特に音の信号に対して、整数スペクトル値のエントロピー符号化は、高い符号化利得を可能にする。信号の過渡部分に対して、過渡信号の平らなスペクトルのため、言い換えれば、０に等しいかほとんど０である少数のスペクトル値のため、符号化利得は低い。しかしながら、ジェー・ヘレ（Ｊ．Ｈｅｒｒｅ）およびジェー・ディ・ジョンストン（Ｊ．Ｄ．Ｊｏｈｎｓｔｏｎ）著、「時間ノイズシェーピング（ＴＮＳ）を用いることによる知覚オーディオ符号器のパフォーマンスの強化」（Ｅｎｈａｎｃｉｎｇ  ｔｈｅ  Ｐｅｒｆｏｒｍａｎｃｅ  ｏｆ  Ｐｅｒｃｅｐｔｕａｌ  Ａｕｄｉｏ  Ｃｏｄｅｒｓ  ｂｙ  Ｕｓｉｎｇ  Ｔｅｍｐｏｒａｌ  Ｎｏｉｓｅ  Ｓｈａｐｉｎｇ（ＴＮＳ））、第１０１回エイイーエス・コンベンション（ＡＥＳ  Ｃｏｎｖｅｎｔｉｏｎ）、ロサンジェルス、１９９６年、プレプリント４３８４に記載されているように、周波数領域で線形予測を用いて、この平坦性を利用することができる。代わりとなるものは、開ループを有する予測装置である。もう１つの代わりとなるものは、閉ループを有する予測装置である。最初の代わりとなるもの、すなわち、開ループを有する予測装置は、ＴＮＳと呼ばれる。予測後の量子化は、結果として生じた量子化ノイズをオーディオ信号の時間構造に適合させることにつながるので、心理音響的なオーディオ符号器におけるプリエコーを防止する。可逆オーディオ符号化に対して、もう１つの代わりとなるもの、すなわち、閉ループを有する予測装置は、より適している。その理由は、閉ループを用いる予測が入力信号の正確な再構築を可能にするためである。この技術が生成されたスペクトルに適用される場合、整数の領域内にとどめるために、予測フィルタの各ステップ後、丸めステップを実行する必要がある。逆フィルタおよび同一の丸め関数を用いることにより、元のスペクトルを正確に再生することができる。
【００５２】
データ整理のために２つのチャネル間で冗長性を利用するために、π／４の角度を用いる丸められる回転が利用される場合、中央側符号化も可逆的に用いることができる。ステレオ信号の左チャネルおよび右チャネルの合計および差を計算する代わりとなるものと比較して、丸められた回転は、エネルギ節約の利点を有する。いわゆるジョイントステレオ符号化技術の利用は、それが標準のＭＰＥＧ  ＡＡＣでも実行されるように、各帯域に対してオンまたはオフに切り換えることができる。より柔軟に２つのチャネル間の冗長性を減少できるように、更なる回転角度をも考慮することができる。
【００５３】
特に、図３に関して示された変換コンセプトは、順方向変換およびその後の逆方向変換に対して可逆的に動作するＭＤＣＴの整数実施すなわちＩｎｔＭＤＣＴを提供する。さらに、丸めステップ２０、２４および２８と、整数ＤＣＴ（図３のブロック１４）における対応の丸めステップとにより、整数処理、すなわち、例えばリフティングマトリクスとの浮動小数点乗算（図３のブロック１８、２２および２６）により生成された値よりも大まかに量子化された値を有する処理を常に可能にする。
【００５４】
その結果、計算に関してＩｎｔＭＤＣＴ全体を効率的に実行できるようになる。
【００５５】
このＩｎｔＭＤＣＴの可逆性、または、一般的に言って、可逆を意味するすべての符号化アルゴリズムの可逆性は、符号化された信号を実現するように信号を符号化し、その後、符号化／復号化された信号を実現するように信号を再び復号化すると信号が元の信号と全く同じように「見える」という事実に関連する。言い換えれば、元の信号は、符号化／復号化された元の信号と同一である。これは、いわゆる不可逆符号化と明らかに正反対のものであり、不可逆符号化では、心理音響的なベースで動作するオーディオ符号器の場合と同様に、データは、符号化処理により、特に、心理音響的なモデルにより制御される量子化処理により、回復できない程に損失を受ける。
【００５６】
もちろん、丸め誤差は、依然として取り込まれる。したがって、図３に関してブロック２０、２４および２８で示すような丸めステップが実行され、もちろん、丸め誤差を取り込み、丸め誤差は、逆動作が実行される際に復号器内で「削減される」だけである。したがって、可逆符号化／復号化コンセプトでは、丸め誤差が取り込まれて、丸め誤差を再び削減できるのに対して、不可逆符号化／復号化コンセプトの場合では、このことが当てはまらないという点で、可逆符号化／復号化コンセプトは、不可逆符号化／復号化コンセプトとは本質的に異なる。
【００５７】
しかしながら、符号化された信号を考えれば、すなわち、変換符号器の例では、時間サンプルのブロックのスペクトル、順方向変換の丸め、および／または、一般的にこのような信号の量子化により、信号に取り込まれる誤差を生じさせる。したがって、丸め誤差は、信号の理想的な誤差のないスペクトル上に重ね合わされ、この誤差は、典型的に、例えば図３の場合に、考えられるスペクトル範囲のすべての周波数成分を一様に含むホワイトノイズである。したがって、理想的なスペクトル上に重ね合わされたこのホワイトノイズは、例えば、窓掛け中、すなわち、ブロック１４の実際のＤＣＴよりも前の信号の前処理中、ブロック２０、２４および２８の丸めにより生じる丸め誤差を意味する。復号器が正確な可逆再構築を実現するために、符号器に取り込まれたすべての丸め誤差を要求するので、可逆性要求に関して、すべての丸め誤差が必然的に符号化され、すなわち復号器に送信されなければならないことに特に留意すべきである。
【００５８】
スペクトル表現について何も「行われ」なければ、すなわち、スペクトル表現が記憶され、送信され、正確に整合する逆の復号器により再び復号化されるだけの場合、丸め誤差に問題がない場合がある。この場合、丸め誤差がどのくらいスペクトルに取り込まれたかに関係なく、可逆性の基準は、常に満たされる。しかしながら、スペクトル表現、すなわち、丸め誤差を含む元の信号の理想的なスペクトル表現について何かが行われたならば、例えば、拡張性層が生成されたならば、全てこれらのことはよりよく機能し、丸め誤差がより小さくなる。
【００５９】
したがって、一方において信号を特別の復号器により可逆的に再構築すべきであるが、理想的でない可逆復号器にもスペクトル表現を与えることができるという点、または、非理想可逆復号器がスケーリング層を生成できるという点などで柔軟性を保つため、信号はスペクトル表現内に最小限の丸め誤差を持つべきでもあるという要求も可逆符号化／復号化にある。
【００６０】
上述のように、丸め誤差は、考えられるスペクトル全体に及ぶホワイトノイズとして表される。その一方で、特に、可逆にとりわけ興味を持つような高品質アプリケーション、すなわち、９６ｋＨｚのような極めて高いサンプリング周波数を有するオーディオアプリケーションにおいて、オーディオ信号は、特定のスペクトル範囲内に合理的な信号内容だけを有し、典型的に、特定のスペクトル範囲は、２０ｋＨｚまで達し、多くとも２０ｋＨｚである。オーディオ信号の最大信号エネルギが集中する範囲は、典型的に、０と１０ｋＨｚとの間の範囲であるのに対して、１０ｋＨｚよりも上の範囲では、信号エネルギがかなり減少する。しかしながら、これは、丸めにより取り込まれたホワイトノイズにとって問題ではない。それは、信号エネルギの考えられるスペクトル範囲の全体にわたって重ね合わされる。その結果、スペクトル範囲において、すなわち、オーディオ信号エネルギが全くなくまたはほんの少しある高スペクトル範囲において典型的に、丸め誤差しかないということになる。これと同時に、特に非決定性のため、丸め誤差は、符号化にとって困難でもあり、すなわち、比較的高いビット要求に関して、丸め誤差を符号化できる。これらビット要求は、特にいくつかの可逆アプリケーションにおいて、決定的な役割を果たさない。しかしながら、ますます普及する可逆符号化アプリケーションに対して、不可逆符号化コンセプトから既知であるように、ここでもビット効率を著しくよく動作して、可逆アプリケーションに内在する品質低下しない利点を対応のビット効率とも組み合わせることは極めて重要である。
【００６１】
したがって、丸め誤差を復号化において削減できるという点で可逆状況において丸め誤差に問題はないけれども、第１に実行すべき可逆復号化および／または再構築を可能にするため、丸め誤差は、依然として極めて重要である。他方では、既に述べたように、丸め誤差は、スペクトル表現が問題になる、すなわち、丸められていない信号の理想的なスペクトル表現と比較して、スペクトル表現をゆがめる原因になっている。スペクトル表現すなわち符号化信号が実際に重要であるアプリケーションの特定の場合、すなわち、例えば様々なスケーリング層が符号化信号から生成される場合、可能な限り少ない丸め誤差を有する符号化表現を得ることは依然として望ましく、しかしながら、再構築に必要とされる丸め誤差は削減されない。
【発明の開示】
【発明が解決しようとする課題】
【００６２】
本発明の目的は、入力値を処理するためのアーチファクトを削減するコンセプトを提供することである。
【課題を解決するための手段】
【００６３】
この目的は、請求項１に記載の少なくとも２つの入力値を処理するための装置、または、請求項１１に記載の少なくとも２つの入力値を処理するための方法、または、請求項１２に記載のコンピュータプログラムにより達成される。
【００６４】
本発明は、２つの値が実際に丸められなければならなく、次に２つの丸められた値が、例えば加算により、まず、２つの値を丸めていない状態ですなわち浮動小数点表現として加算し、次に、加算された出力値を第３の値に加算だけすることにより、第３の更なる値に組み合わされる時はいつでも、丸め誤差の減少が丸め誤差を減少することにより達成できるという発見事項に基づく。各値が個々に処理される通常の手順に比較して、本発明のコンセプトは、さらに、１つの合計処理および１つの丸め処理を節約するので、本発明のコンセプトは、丸め誤差が減少されるという事実に加えて、より効率的なアルゴリズムの実行にも寄与する。
【００６５】
本発明の好適な実施形態では、２つの回転が互いに「隣接する」リフティングステップに分割される場合、すなわち、第１の値が最初に第３の値とともに「回転」する状況がある場合、および、この最初の回転の結果が次に第２の値と再び回転する場合、本発明のコンセプトが丸め誤差を減少するために用いられる。
【００６６】
丸め誤差を減少するための本発明のコンセプトのアプリケーションの更なるケースは、長さの半分すなわちＮ／２個のポイントを有する２つのＤＣＴにＮポイントＤＣＴが分割されるときに生じるように、多次元リフティングコンセプトのリフティング段階がバタフライ演算により処理されるときに存在する。この場合、実際の多次元リフティングの前にバタフライ演算段階があり、多次元リフティングの後に回転段階がある。特に、バタフライ演算段階により必要とされる丸めは、丸め誤差を減少するために、多次元リフティングコンセプトの第１のリフティング段階の丸めに組み合わされる。
【００６７】
変換用の多次元リフティング処理および整数窓掛け／前処理を用いる整数ＭＤＣＴにおける丸め段階の数が、本発明の適用なしに従来技術に比較して、既に著しく減少しているので、特にこの状況では、本発明のコンセプトは、既にわずかではあるが残りの丸め誤差を著しく減少することに寄与する。この結果として、例えば、理想的なスペクトルに対してほんのわずかな偏差を有するスペクトルを生じ、依然として存在するが、丸め誤差を非常に減少している。
【００６８】
特に、可逆符号化／復号化の面において、本発明は、丸め誤差のスペクトル整形と組み合わせることができ、この場合、依然として残存する丸め誤差は、それがいずれにしろ高い信号エネルギを有する符号化すべき信号の周波数範囲内に「収められ」、その結果として、その信号がとにかくエネルギを持たない範囲内に丸め誤差が存在しないように、スペクトル整形される。従来技術では、可逆符号化、特に、整数アルゴリズムに基づく可逆符号化において、丸め誤差が、信号のスペクトル全体にわたって分散されたホワイトであったが、丸め誤差がピンクノイズの形態で理想的なスペクトル上に重ね合わされ、すなわち、丸めによるノイズエネルギが、信号がとにかく最も高い信号エネルギを有する箇所に存在し、したがって、丸め誤差によるノイズが、符号化すべき信号がそれ自体エネルギを持たない箇所で、エネルギをわずかにまたは全くないようにする。したがって、確率的信号でありしたがって符号化しにくい丸め誤差が、周波数範囲内で符号化すべき唯一の信号であって、したがって、ビットレートを不必要に増大させるという最悪の場合が回避される。
【００６９】
エネルギが低周波数範囲内にあるオーディオ信号を考えれば、信号がとにかく多くのエネルギを持つ範囲内に丸め誤差がマッピングされるが、丸めるための手段は、生成された丸め誤差のスペクトル低域通過整形を達成し、符号化された信号の高周波数において信号エネルギもノイズエネルギも存在しないように設計されている。
【００７０】
特に可逆符号化アプリケーションにとって、これは、丸め誤差が可聴範囲を除いて丸め誤差を得るためにスペクトル的に高域通過フィルタリングされる従来技術と対照的である。また、これは、丸め誤差が存在するスペクトル範囲が、丸め誤差を削減するために、電子的にまたは耳自体により除去される場合に対応する。しかしながら、可逆符号化／復号化について、丸め誤差は、復号器において完全に必要とされ、その理由は、そうしなければ、可逆符号化アルゴリズムに対して逆のものであって復号器に用いられるアルゴリズムがひずみを生じるからである。
【００７１】
丸め誤差のスペクトル整形のコンセプトは、高いサンプリングレートで可逆アプリケーションに用いられるのが好ましく、その理由は、特に、スペクトルが理論上（オーバサンプリングのために）４０ｋＨｚを上回るまで広がる場合、信号エネルギがとにかく存在しない高周波数範囲において、すなわち、符号化を極めて効率的に行うことができる高周波数範囲において、信号エネルギも高周波数範囲で零である非整数の符号化の場合のように、同じ状況が達成されるためである。
【００７２】
多数の零が極めて効率的に符号化され、符号化に対して問題のある丸め誤差が、いずれにしても極めて精巧に典型的に符号化される範囲にシフトされるので、信号の全体的なデータレートは、丸め誤差が周波数範囲全体にわたってホワイトノイズとして分散されている場合と比較して減少される。さらに、符号化性能はしたがって復号化性能も、高周波数範囲の符号化および復号化に計算時間を費やす必要がないので増大される。そのため、このコンセプトは、符号器の一部でおよび／または復号器の一部で高速信号処理を達成できるという結果をも有する。
【００７３】
一実施形態では、近似誤差を整形／減少するコンセプトは、逆にできる整数変換、特にＩｎｔＭＤＣＴに適用される。アプリケーションの２つの領域があり、すなわち、一方では、ＭＤＣＴが要求される丸めステップに関してかなり単純化される多次元リフティングであり、他方では、実際のＤＣＴより前の前処理に起きるような整数の窓掛けに必要な丸め動作である。
【００７４】
誤差フィードバックコンセプトは、処理される信号が最も高い信号エネルギを有する周波数範囲に丸め誤差がシフトされる丸め誤差のスペクトル整形に用いられる。オーディオ信号に対して、特にビデオ信号に対しても、これは低周波数範囲となるので、誤差フィードバックシステムは低域通過特性を有する。これは、通常少ない信号成分が存在する高周波数範囲で丸め誤差は少なくなる。従来技術では、丸め誤差は高い範囲で広がり、その結果、これら丸め誤差は符号化されなければならなく、したがって、符号化のために必要とされるビット数を増大する。好ましくは、この丸め誤差は、高周波数で減少され、これにより、符号化のために必要とされるビット数を直接的に減少する。
【００７５】
本発明の好ましい実施形態が添付図面を参照して後に詳述されるが、これらの図面としては：
図１は、丸め誤差のスペクトル整形を用いて一連の離散値を有する信号を処理するためのコンセプトのブロック回路図を示し、
図２ａは、量子化誤差を高域通過スペクトル整形するための既知のコンセプトを示し、
図２ｂは、丸め誤差を低域通過整形するためのコンセプトを示し、
図２ｃは、スペクトル整形／丸めブロックの一実施形態によるブロック回路図を示し、
図３は、整数値を得るために時間離散オーディオサンプルを処理し、それから整数スペクトル値を決定できる好適な手段のブロック回路図を示し、
図４は、ギブンス回転へのＭＤＣＴおよび逆ＭＤＣＴの分解と２つのＤＣＴ−ＩＶ動作との概略図を示し、
図５は、５０％のオーバラップを用いるＭＤＣＴの回転への分解およびＤＣＴ−ＩＶ動作を示すための図であり、
図６ａは、ＭＤＣＴおよび５０％のオーバラップを用いる既知の符号器の概略ブロック回路図を示し、
図６ｂは、図１０ａにより生成された値を復号化するための既知の復号器のブロック回路図を示し、
図７は、図３による窓掛けのリフティングを示す図であり、
図８は、実際の変換より前の窓掛けに対して図７のリフティングの「再分類された」図であり、
図９は、図３、７および８による窓掛けのためのスペクトル整形のアプリケーションを示し、
図１０は、本発明の好適な実施形態による転換するための装置のブロック回路図を示し、
図１１は、本発明の好適な実施形態による逆転換するための装置を示し、
図１２は、本発明に用いることができるような値の２つの連続するブロックの変換を示す図であり、
図１３は、順方向変換マトリクスを用いる多次元リフティングステップを示す詳細図であり、
図１４は、逆方向変換マトリクスを用いる多次元逆リフティングステップを示す図であり、
図１５は、長さＮのＤＣＴ−ＩＶを長さＮ／２の２つのＤＣＴ−ＩＶに分解する本発明を示す図であり、
図１６は、図１０の多次元リフティングを用いる変換での本発明のコンセプトのアプリケーションを示し、
図１７は、本発明の丸め誤差を減少する２つの連続するリフティングステップを示す図であり、
図１８は、図１７の２つの連続するリフティングステップで丸め誤差を減少するための本発明のコンセプトを示す図であり、
図１９は、図１６のコンセプトおよび図１８のコンセプトの好ましい組み合わせを示す。
【発明を実施するための最良の形態】
【００７６】
図１は、信号入力２００を介して操作するための手段２０２に入力される一連の離散値を有する信号を処理するための装置を示す。この信号は、信号が高いエネルギを持つ第１の周波数範囲を有し、さらに、信号が比較的低いエネルギを持つ第２の周波数範囲とを有するように典型的に形成される。第１の信号がオーディオ信号であれば、高いエネルギを第１の周波数範囲、すなわち、低い周波数範囲に有し、低いエネルギを高い周波数範囲に有する。しかしながら、信号がビデオ信号であれば、この場合も、高いエネルギを低い周波数範囲に有し、低いエネルギを高い周波数範囲に有する。オーディオ信号とは対照的に、ビデオ信号の周波数範囲は、空間周波数範囲である。ただし、一連のビデオフレームが、例えば、選択されたイメージ領域に関連する時間周波数も一連のフレーム内に存在すると見なされる場合を除く。
【００７７】
操作するための手段２０２は、少なくとも１つの操作値が整数でない一連の操作値が得られるように、一連の離散値を操作するために一般に形成される。この一連の非整数の離散値は、一連の丸められた操作値を得るために一連の操作値を丸めるための手段２０４に送られる。丸めるための手段２０４は、第１の周波数範囲、すなわち、元の信号が高いエネルギを有する周波数範囲で、スペクトル整形された丸め誤差も高いエネルギを持つように、さらに、第２の周波数範囲、すなわち、元の信号が低いエネルギを有する周波数範囲で、スペクトル整形された丸め誤差も低いエネルギを持つか全くエネルギを持たないように、丸めにより生成された丸め誤差のスペクトル整形を達成するために形成される。したがって、スペクトル整形された丸め誤差の第１の周波数範囲内のエネルギは、スペクトル整形された丸め誤差の第２の周波数範囲内のエネルギよりも一般に高い。しかしながら、スペクトル整形が丸め誤差のエネルギ全体で何も変えないのが好ましい。
【００７８】
好ましくは、誤差を含む一連の丸められた操作値を生成するための装置は、直接的に、または、更なる操作あるいは丸めの組み合わせを介してスペクトル表現に転換するための手段２０６に結合される。したがって、誤差を含む一連の丸められた操作値は、誤差を含む一連の丸められた操作値の直接スペクトルを達成するために、スペクトル表現に転換するための手段２０６に直接的に送られる。しかしながら、一実施形態では、操作するための手段は、リフティングステップおよび／またはリフティングマトリクスであり、丸めるための手段は、リフティングステップの非整数結果を丸めるために形成される。この場合、手段２０４の後に、第２のリフティングステップを実行する操作するための更なる手段が続き、次に、この更なる手段の後に、丸めるための手段が続き、次に、この丸めるための手段の後に、第３のリフティングステップを実施する操作するための第３の手段が続き、３つのすべてのリフティングステップが達成されるように、他の操作がある。したがって、手段２０４の出力端における元の誤差を含む一連の丸められた操作値から導かれた、誤差を含む一連の丸められた操作値が生成され、次に、これらが、ブロック２０６に示すように、好ましくは整数変換によりスペクトル表現に最終的に転換される。ブロック２０６の出力端におけるスペクトル表現の出力信号は、この時、従来の技術とは対照的に、ホワイトの分散された丸め誤差をもはや有さず、スペクトル整形された丸め誤差を有するスペクトルを有し、すなわち、信号エネルギがない周波数範囲内に丸め誤差エネルギがない最高の状態でも、実際の「有用なスペクトル」が高い信号エネルギを持つ箇所に高い丸め誤差エネルギも存在するようになっている。
【００７９】
このスペクトルは、次に、スペクトル表現をエントロピー符号化するための手段２０８に供給される。エントロピー符号化するための手段は、ハフマン符号化、算術符号化などのような何らかの符号化方法をも含むことができる。特に、零であって互いに隣接する多数のスペクトル線の符号化に対して、従来技術ではもちろん適用することができないランレングス符号化も適しており、その理由は、実際に確定的な信号は、そのような周波数範囲で符号化されなければならないが、ホワイトスペクトルを有し、したがって、個々のスペクトル値が互いに完全に無相関であるので、いかなる種類の符号化ツールにも著しく好ましくないためである。
【００８０】
続いて、スペクトル整形で丸めるための手段２０４の好適な実施形態を図２ａ、２ｂおよび２ｃに関して説明する。
【００８１】
図２ａは、専門書「Ｄｉｇｉｔａｌｅ  Ａｕｄｉｏｓｉｇｎａｌｖｅｒａｒｂｅｉｔｕｎｇ」、ユー・ゾエルザー（Ｕ．Ｚｏｅｌｚｅｒ）著、トイブナー出版社（Ｔｅｕｂｎｅｒ−Ｖｅｒｌａｇ）、シュトゥットガルト（Ｓｔｕｔｔｇａｒｔ）、１９９７年により記述されているように、量子化誤差をスペクトル整形するための既知の誤差フィードバックシステムを示す。入力値ｘ（ｉ）は、入力合計器２１０に供給される。合計器２１０の出力信号は、スペクトル整形装置の出力端で量子化出力値ｙ（ｉ）を提供する量子化器２１２に供給される。第２の合計器２１４では、量子化器２１２の後の値と量子化器２１２の前の値との差、すなわち、丸め誤差ｅ（ｉ）が決定される。第２の合計器２１４の出力信号は、遅延手段２１６に送られる。１つの時間ユニットだけ遅延された誤差ｅ（ｉ）は、次に、加算器２１０により入力値から減算される。この結果、元の誤差信号ｅ（ｎ）の高域通過評価を生じる。
【００８２】
図２ａに２１６と示された遅延手段Ｚ-1の代わりにＺ-1（−２＋ｚ-1）が用いられるならば、その結果は２次高域通過評価である。ある実施形態では、量子化誤差のこのようなスペクトル整形は、量子化誤差が知覚されないように知覚可能な範囲から、すなわち、例えば信号ｘ（ｎ）の低域通過範囲から量子化誤差を「マスク除去」するために用いられる。
【００８３】
図２ｂに示すように、知覚の範囲外にではなくまさに知覚の範囲内に誤差のスペクトル整形を達成するために、代わりに低域通過評価が実行される。このため、加算器２１０の出力信号は、図２ｂに示すように、例えば、端数を切り上げでき、または、端数を切り捨てでき、または、切り捨てにより丸めることができ、または、次の整数まであるいは１つ置いて次の整数まであるいは２つ置いて次の整数までなど端数を切り上げ／端数を切り捨てることができる何らかの丸め関数を実施する丸めブロック２１８に送られる。誤差フィードバック経路、すなわち、加算器２１４および加算器２１０間では、遅延部材２１６に加えて、インパルス応答ｈ（ｎ）および／または伝達関数Ｈ（ｚ）を有する更なるフィードバックブロック２２０がある。出力シーケンスのｚ変換、すなわちＹ（ｚ）は、図２ｂに示す式により入力シーケンスＸ（ｚ）に関連付けられる。
ｅ（ｎ）＝ｘ’（ｎ）−ｙ（ｎ）
【００８４】
上式では、ｘ（ｎ）は加算器２１０への入力信号であり、ｙ（ｎ）は丸めブロック２１８からの出力信号である。
【００８５】
さらに、下式を適用する。
ｙ（ｎ）＝ｒｏｕｎｄ（ｘ’（ｎ））
【００８６】
上式では、「ｒｏｕｎｄ」は、ブロック２１８により実施される丸め関数を表す。さらに、下式を適用し、ここで、「*」は畳み込み演算を表す。
ｘ’（ｎ）＝ｘ（ｎ）−ｈ（ｎ）*ｅ（ｎ−１）
【００８７】
ｚ範囲では、次の結果となる。
Ｙ（ｚ）＝Ｘ’（ｚ）＋Ｅ（ｚ）
Ｘ’（ｚ）＝Ｘ（ｚ）−Ｅ（ｚ）ｚ-1Ｈ（ｚ）
Ｙ（ｚ）＝Ｘ（ｚ）＋（１−ｚ-1Ｈ（ｚ））Ｅ（ｚ）
【００８８】
Ｅ（ｚ）が丸め誤差なので、これはフィルタ（１−ｚ-1Ｈ（ｚ））によりスペクトル整形される。本発明によれば、この時、低域通過のような伝達関数が用いられる。例えば、Ｈ（ｚ）＝−１の場合、最も簡単な低域通過のような伝達関数を得ることができる。したがって、この簡単な例では、前の丸め動作の丸め誤差は、次の丸め動作が適用される前に、丸めるべき値に簡単に加算される。このようにして、本発明にとって極めて効率的でしたがって好ましい丸め誤差の簡単な低域通過フィルタリングが達成される。
【００８９】
一実施が図２ｃに示される。特に、元の一連の整数離散値を操作するための手段２０２が示され、これは一連の非整数離散値ｙ0、ｙ1、ｙ2、・・・、ｙiを出力側に提供する。例えば、図３のブロック２０、２４および２８に関して、または、図１０のブロック１０４、１１０および１４２または図１１のブロック１２６、１３２および１５０に関して示すように、従来技術とは対照的に、もはや各値はそれ自体に対して丸められない。その代わりに、結果が上述のスペクトル整形であるように、図２ｃに示す「ネットワーク」ごとのフィードバック分岐中の低域通過特性を用いて、互いに依存し合う一連の非整数離散値ｙ0、ｙ1、ｙ2、ｙ3、・・・がフィルタリングされる。図２ｃおよび図２ｂの同様の素子は、同一の符号で示される。
【００９０】
さらに、図２ｃは、並行の実施、すなわち、丸めるべき値が並行に提供される実施を示す。もちろん、この図は概略である。この場合、値ｙ0、ｙ1、ｙ2、・・・は、一連の出力値を得るために連続的に提供することができ、その際、素子２１０、２１４、２１６、２１８および２２０の構造の単独の実施は充分である。明確のためだけに、素子２１４、２１８、２１０および２２０の繰り返し構造が図示される。
【００９１】
したがって、図２ｃに示す丸めるための手段２０４は、まず、丸め値［ｙ0］を計算するために動作する。次に、丸め誤差ｉ0が計算される。次に、−１であるのが好ましい伝達関数Ｈ（ｚ）を用いるブロック２２０により丸め誤差ｉ0が重み付け（フィルタリング）され、加算器２１０に送られる。このフィルタリングされた丸め誤差は、一連ｙiの次の値に加算され、すぐ、加算器２１０の結果は、丸められた次の値［ｙ1］を得るために、ブロック２１８で丸められる。その後、丸め誤差は、加算器２１４により、すなわち、丸め値［ｙ1］および元の値ｙ1を用いて再び決定され、この得られた丸め誤差ｉ1は、一連の次の値ｙ2に対して同じ手順を実行するために、ブロック２２０で再びフィルタリングされる。
【００９２】
この点において、方向が無関係であるということに留意すべきである。これは、大きい方のインデックスを持つｙiから、小さい方のインデックスを持つｙiへ、すなわち、図２ｃにおいて特にブロック２２０から加算器２１０へ伸びる矢印で表す方向に対して反対の方向に進行することも可能であることを意味する。したがって、順序、すなわち、手順は、低い方から高い方へ連続するインデックスに進行しようが、高い方から低い方へ連続するインデックスに進行しようが重要でない。
【００９３】
特に、整数ＭＤＣＴ（ＩｎｔＭＤＣＴ）のアプリケーションの場合では、次の条件を満たす場所で特別な効率により丸め誤差のスペクトル整形が用いられることが好ましい。
−丸め誤差は、互いに独立するいくつかの隣接する値で加算される。
−隣接する値は、（最も広い意味で）時間信号であり、後に、変換によりスペクトル表現に転換され、すなわち、これらは周波数領域に移される。
【００９４】
以下に、整数ＭＤＣＴの一部分において丸め誤差のスペクトル整形を用いることが好ましい詳細な説明を示す。
【００９５】
第１の好適な実施形態は、実際の変換前の窓掛けにあり、すなわち、図３においてブロック２０、２４および２８により特定される丸めに対するものである。個々の元のサンプルｘ1、・・・、ｘNの各々が受けるリフティング動作であって、図３に基づいて概説したようなリフティング動作も、図７に示す図により明らかにすることができる。この場合、結果が「上から下へ」、「下から上へ」および「上から下へ」つながるように、３つのリフティングマトリクスのアプリケーション、すなわち、それぞれ１つのサンプルに関して、ある係数で乗ずることが例示される。
【００９６】
図７に関して、矢印が横線に接触すれば、そこで加算が実行されることに留意すべきである。このような加算は、図７において例えば２７で示される。図４を図７に比べると、その差は、図４のｘ（０）が図７のｘ1に対応するということだけである。この点において、図７のｘNは、図４のｘ（Ｎ−１）に対応する。しかしながら、図４のｘ（Ｎ／２−１）は、図７のｘN/2に対応する。さらに、図４のｘ（Ｎ／２）は、図７のｘN/2+1に対応するので、結果は、図２に示すバタフライ演算であり、これにより、ある窓の第１の４分の１からのある値が、リフティングステップに従ってこの窓の第２の４分の１からのある値で常に重み付けられる一方で、同じようにこの窓の第３の４分の１の値も、図７に示すように、「下がり−上がり−下がりシステム」によりこの窓の第４の４分の１の値で処理される。
【００９７】
対の値ｘN/2およびｘN/2+1について対応の手順がある。この場合も、下がって、上がって下がる連なりとなり、下がりステップ２９ａの後に、上がりステップ２９ｂが続き、この上がりステップ２９ｂの次に、下がりステップ２９ｃが続く。
【００９８】
したがって、図７は、リフティングによる整数の窓掛けを示す。図８に示すように、結果を変えずに、この計算は、容易に再分類することもできる。したがって、もちろん、すべての下がりステップ（すべてのステップ２９ａ）は、最初に実行することができる。次に、結果が下がりブロック３１ａ、上がりブロック３１ｂ、そして再び下がりブロック３１ｃとなるように、すべての上がりステップ（２９ｂ）が、すべての下がりステップ２９ｃを最終的に実行するために実行される。図８は図７に対応するが、別の図では、本発明を理解するために図８がより適していることに留意すべきである。
【００９９】
次に、図９は、丸めがスペクトル整形で実行されるコンセプトを示す。図９に示すリフティング計算コンセプトは、入力値ｘ1、ｘN/2が入力端２００において元の一連の整数離散値を表すという点で図１に対応する。下がりブロック３１ａの評価ブロックｃｓ1、ｃｓ2、・・・、ｃｓkが互いに、操作するための手段２０２を形成する。［・］／ノイズ整形と表されたブロックは、図１の丸めるための手段２０４を表す。ここで、誤差を含む一連の丸められた操作値は、このブロック２０４の出力端に生じる。
【０１００】
図９に示す実施形態では、誤差を含む一連の丸められた操作値は、新たな一連の整数離散値を得るために、更なる連なりｘN/2+1〜ｘNに加算され、次に、この新たな一連の整数離散値は、素子２０４ｂにより上がりブロック３１ｂで再び丸めを達成するために、（上がりブロック３１ｂのブロックｓ1、ｓkにより）操作される。次に、下がりブロック３１ａでのように、すなわち、加算器２０５ａの場合でのように、再び、新たな連なりを得るために、値に関する加算器２０５ｂを用い、この新たな連なりが操作器２０２ｃに送られる。操作器２０２ｃの出力信号は、非整数であり、更なる丸め器２０４ｃで丸められ、次に、更なる加算器２０５ｃにより、すなわち、操作器２０２ｂに送られる連なりに加算される。
【０１０１】
図９に示す実施形態では、出力側の結果は、図４に関して示したような系統的なスキームに従って、対応してシフトされるＤＣＴ−ＩＶブロックに送られる窓掛けられたサンプルのブロックである。これらシフトされるＤＣＴ−ＩＶブロックは、誤差を含む一連の丸められた操作値をスペクトル表現に転換するための変換を提供する。したがって、図４のＤＣＴ−ＩＶブロックは、図１の手段２０６の実施を表す。同様に、逆整数ＤＣＴ−ＩＶを実行するためのブロックは、時間表現に転換するための類似の手段を表す。
【０１０２】
続いて、多次元リフティングのアプリケーションが、図１０ａのスペクトル表現に転換するための手段２０６の整数実施および／または（復号器用の）逆転換の類似の整数実施を示すために、図１０〜１５に関して説明される。多次元リフティングのコンセプトは、独国特許出願第１０３３１８０３．８号明細書にある。
【０１０３】
図１０ａは、整数値を有する変換表現に離散値を転換するための装置を示す。この離散値は、この装置に第１の入力端１００ａおよび第２の入力端１００ｂを介して送られる。離散値の第１のブロックは入力端１００ａを介して供給されるのに対して、離散値の第２のブロックは入力端１００ｂを介して供給される。離散値は、オーディオデータまたはイメージデータおよび／またはビデオデータを表す。以下で述べるように、離散値の第１のブロックと離散値の第２のブロックとは、オーディオサンプルの２つの時間的に連続するブロックを実際に含めることができる。離散値の第１および第２のブロックは、離散値および／または予測の後の剰余値、あるいは差分符号化の差分値などにより表された２つのイメージも含むことができる。しかしながら、離散値の２つのブロックは、ＭＤＣＴの整数実施でのように前処理を受けることもでき、離散値の第１のブロックおよび第２のブロックは、実際に窓掛けられたサンプルからギブンス回転により生成される。したがって、離散値の第１および第２のブロックは、回転、置換、プラス／マイナスのバタフライ演算、スケーリングなどのように、いくつかの処理により元のオーディオデータまたはイメージデータから導くことができる。離散値の第１および第２のブロックは、オーディオ情報および／またはイメージ情報を依然として得るとはいえ、それらは、直接的にオーディオをサンプリングまたは離散化されたイメージ値ではない。
【０１０４】
離散値の第１のブロックは、図１０ａに示すように、手段１０２の出力端に変換値の第１のブロックを得るために、入力端１００ａを介して第１の変換ルールを用いて離散値の第１のブロックを処理するための手段１０２に送られる。変換値のこの第１のブロックは、フーリエ変換、ラプラス変換、ＦＦＴ、ＤＣＴ、ＤＳＴ、ＭＤＣＴ、ＭＤＳＴのようないくつかの変換ルール、または、何らかの基底関数を有するウェーブレット変換のようないくつかの他の変換により変換値が典型的に得られるように、典型的に整数ではなく、浮動小数点数値を含む。変換値の第１のブロックは、丸められた変換値の第１のブロックを出力側で得るために、変換値の第１のブロックを丸めるための手段１０４に送られる。丸めるための手段１０４は、浮動小数点数値に応じて実行すべき、切り捨てによる丸めまたは端数の切り上げおよび／または端数の切り捨てなどのようにいくつかの丸め関数を実行するために形成される。
【０１０５】
したがって、手段１０４により実施される丸めルールは、丸められた変換値の第１のブロックが整数値だけを含むようにし、整数値の精度は、手段１０４により用いられた丸めルールにより決定される。丸められた変換値の第１のブロックは、離散値の第２のブロックが第２の入力端子１００ｂに適用されるのと同時に、合計値の第２のブロックを得るために合計するための手段１０６に供給される。オーディオ信号の場合を考えれば、丸められた変換値の第１のブロックからのスペクトル値が、手段１０６により離散値の第２のブロックからの時間値に加算されることが明らかである。第２のブロックの離散値が、例えば電圧値であれば、丸められた変換値の第１のブロックが電圧振幅すなわち単位Ｖを持つ
値としても存在することを推奨する。この場合、合計において、何の単位の問題も予想されない。しかしながら、丸められた変換値の第１のブロックと離散値の第２のブロックとの双方が、例えば無単位であるという点において、丸められた変換値の第１のブロックおよび／または離散値の第２のブロックに関して何らかの単位の正規化を実行できることは、当業者によって明らかである。
【０１０６】
合計値の第２のブロックは、変換値の第２のブロックを得るために、第２の変換ルールを用いて合計値の第２のブロックを処理するための手段１０８に供給される。手段１０２に用いられる変換ルールが、例えば時間−周波数変換ルールであれば、ブロック１０８に用いられる第２の変換ルールは、例えば周波数−時間変換ルールである。しかしながら、これらの関係を逆にすることもできるので、離散値の第１および第２のブロックは、例えばスペクトル値であり、時間値が、変換ルールに基づいて処理するための手段１０２により得られるのに対して、スペクトル値が、逆変換ルールにより処理するための手段、すなわち手段１０８により得られる。したがって、第１および第２の変換ルールは、順方向変換ルールまたは逆方向変換ルールとすることができ、この場合、逆変換ルールは、逆方向変換ルールまたは順方向変換ルールである。
【０１０７】
変換値の第２のブロックは、図１０ａに示すように、丸められた変換値の第２のブロックを得るために、丸めるための手段１１０に送られ、丸められた変換値の第２のブロックは、出力端１１４で出力できる変換表現の整数出力値のブロックを得るために、第１の入力端１０８ａを介して供給された離散値の第１のブロックから、丸められた変換値の第２のブロックを減算するために減算するための手段１１２に、最後的に送られる。手段１０２でも用いられた変換ルール、または、この変換ルールとは異なる変換ルールである何らかの第３の変換ルールを用いて変換表現の整数出力値のブロックを処理し、次に、丸められた変換出力値のブロックを得るために変換出力値のブロックを丸め、次に、丸められた変換出力値のブロックおよび合計値の第２のブロックを合計することにより、出力端１１４に適用された整数出力値のブロックを用いて離散値の第１および第２のブロックの完全な変換表現を提供する変換表現の整数出力値の更なるブロックを得ることができる。
【０１０８】
しかしながら、出力端１１４における変換表現の整数出力値のブロックが用いられる、処理、丸めおよび合計の最後の３つのステップを用いなくても、全体の変換表現の一部分、すなわち、例えば、逆処理を受ける時、離散値の第１および第２のブロックの逆算を可能にする最初の半分を既に得ることができる。
【０１０９】
この点について留意すべきことは、第１、第２および第３の変換ルールがあったとしても、変換ルール次第では、これらの変換ルールを同一にできるということである。これは、例えば、ＤＣＴ−ＩＶを用いる場合である。ＦＦＴが第１の変換ルールとして用いられたならば、ＦＦＴと同一でないＩＦＦＴを第２の（逆）変換ルールとして用いることができる。
【０１１０】
計算上の理由のため、変換ルールをマトリクスのフォームで提供するのが好ましく、このマトリクスは、第１のブロックの離散値の数が第２のブロックの離散値の数に等しく、第１のブロックの離散値の数と第２のブロックの離散値の数とがそれぞれＮであれば、２次のＮ×Ｎマトリクスである。
【０１１１】
一実施形態では、丸めるための手段１０４および１１０は、図１０ａに示す機能を実行するコンピュータに固有の機械精度に満たない精度を有する丸め結果を提供する丸め関数に従って丸めるために形成される。丸め関数に関して、好適な一実施形態では、非整数の数を、次に大きいまたは小さい整数のみにマッピングすることに留意すべきである。丸め関数が丸めるべき数の精度の減少をもたらす限り、丸め関数は、他の整数にも、例えば、数１７．７を数１０または数２０にマッピングすることができる。上述の例では、丸められていない数が、小数点の後に１桁の数字を有する数であるのに対して、丸められた数は、小数点の後にもはや数字を持たない数である。
【０１１２】
図１０ａでは、第１の変換ルールで処理するための手段１０２と第２の変換ルールで処理するための手段１０８とが別個の手段として示されたが、具体的な一実施では、特定のフローコントローラにより制御され、アルゴリズムの対応時間において、まず、離散値の第１ブロックを変換し、次に、合計値の第２のブロックを逆に変換する１つだけの変換関数ユニットを存在できることに留意すべきである。この場合、第１および第２の変換ルールは同一である。同様のことが、２つの丸めるための手段１０４および１１０にも当てはまる。これらも別個の手段として提供する必要はなく、この場合もフローコントローラにより制御され、アルゴリズムの要求に応じて、まず、変換値の第１のブロックを丸め、次に、変換値の第２のブロックを丸める１つの丸め関数ユニットにより実施することができる。
【０１１３】
一実施形態では、離散値の第１のブロックと離散値の第２のブロックとは、図３のブロック２８の出力端で得られるように、整数窓掛けサンプルである。次に、図３のブロック１４の整数ＤＣＴは、図３が関連するオーディオ信号の場合における変換表現が図３に示す装置の出力端３０で整数スペクトル値を表現するように、図１に示す整数アルゴリズムにより実施される。
【０１１４】
続いて、図１０ａに対応して逆に転換するための手段が図１０ｂに関して示され、図１０ｂでは、図１０ａのブロック１１２の出力端における整数出力値のブロック以外に、図１０ａの手段１０６の出力端における合計値の第２のブロックも用いられる。これは、以下に詳細に説明する図１１に関して、変換ブロック１２４がなく、ブロック１５０および１３０だけがある場合に対応する。
【０１１５】
図１０ｂは、図１０ａの出力端１１４で得られるような変換表現の整数出力値のブロックと合計値の第２のブロックとを逆に転換するための装置を示す。合計値の第２のブロックは、図１０ｂに示す逆に転換するための装置の入力端１２０に送られる。変換表現の出力値のブロックは、逆に転換するための装置の他の入力端１２２に送られる。
【０１１６】
符号化で最後に用いられた変換ルールが第２の変換ルールであった場合、合計値の第２のブロックは、第２の変換ルールを用いてこのブロックを処理するための手段１３０に送られる。手段１３０は出力側に変換値の第１のブロックを提供し、これは丸めるための手段１３２に供給され、次に、丸めるための手段１３２は、出力側に丸められた変換値の第１のブロックを生成する。次に、丸められた変換値の第１のブロックは、図１０ｂの装置の第１の出力端１４９で離散値の第１のブロックを得るために、手段１３４により変換表現の出力値のブロックから減算される。
【０１１７】
離散値のこの第１のブロックは、手段１５０の出力端で変換値の第２のブロックを得るために、第１の変換ルールを用いてこのブロックを処理するための手段１５０に供給される。次に、減算され変換された値のこの第２のブロックは、丸められた変換値の第２のブロックを得るために、手段１５２で丸められる。丸められた変換値のこの第２のブロックは、出力側の出力端１３６で離散値の第２のブロックを得るために、入力端１２０を介して入力され入力側に提供された合計値の第２のブロックから減算される。
【０１１８】
第１、第２および第３の変換ルールの関係に関して、さらに、共通の関数ユニットおよび対応のフローコントローラ／ラッチングによる図１０ｂの個々の機能ブロックの特別な実施に関して、図１０ａについて説明した記述を参照する。
【０１１９】
続いて、図１０ａに全般的に示した変換表現に転換するための装置の好適な実施形態を図１０ｃに関して説明する。図１０ａの実施形態は、合計値の第２のブロックから整数出力値の更なるブロックを生成するために、図１０ａに比べて更なる変換／丸めを含む。
【０１２０】
第１の入力端１００ａは、離散値の第１のブロックのＮ個の値を入力するためのＮ個の入力線ｘ0、・・・、ｘN-1を含む。また、第２の入力端１００ｂは、離散値の第２のブロックのＮ個の値ｘN、・・・、ｘ2N-1を入力するためのＮ個の入力線を含む。図１０ａの手段１０２は、図１０ｃにＤＣＴ−ＩＶ変換器として表される。ＤＣＴ変換器１０２は、Ｎ個の入力値からＮ個の出力値を生成し、次に、各出力値を図１０ｃの手段１０４により示されるように「［・］」と表す丸めにより丸めるように形成される。合計するための手段１０６は、値に関して合計するように示される。これは、インデックス０の付いた手段１０２の出力値がインデックスＮの付いた離散値の第２のブロックの第１値と合計されることを意味する。したがって、一般に、丸め手段１０４の出力端における序数ｉの付いた丸められた変換値の第１のブロックの値が、序数Ｎ＋ｉの付いた出力値の第２のブロックの離散値と個々に合計され、ここで、ｉは、０からＮ−１までの範囲に及ぶ連続のインデックスである。
【０１２１】
第２の変換ルールを用いて処理するための手段１０８も、ＤＣＴ−ＩＶ変換器として表される。図１０ｃに示す好適な実施形態では、減算するための手段１１２も、値に関して減算を実行するために形成され、言い換えれば、丸め器１１０の出力値、すなわち丸められた変換値の第２のブロックの値が離散値の第１のブロックから個々に減算されるように形成される。図１０ｃに示す実施形態では、Ｎ＋ｉの序数の付いた第２のブロックの値が序数ｉの付いた第１のブロックの値から減算されるように、対応の減算を実行することが好ましく、ここで、ｉは、この場合も０からＮ−１までの範囲に及ぶ。しかしながら、例えば、Ｎ−１の序数の付いたブロックの値が序数Ｎの付いた他のブロックの値から差し引かれるように、これは逆転換において対応して考慮される限り、その他の合計／減算もまた実行できる。
【０１２２】
減算するための手段１１２は、出力側に変換表現の整数出力値のブロック、すなわち、変換表現の整数出力値ｙ0〜ｙN-1を既に提供している。変換表現の残りの整数出力値、すなわち、更なるブロックｙN〜ｙ2N-1も得るために、これが状況に応じて望ましければ、出力端１１４に適用された変換表現の整数出力値のブロックは、順方向変換器１４０により第３の変換ルールを用いる変換を受け、順方向変換器１４０の出力値は、丸めるための手段１４２により示されるようにこの場合も丸められ、これらの値と合計器１０６の出力端における合計値の第２のブロックとの加算が、図１０ｃの参照番号１４４により示されるように実行される。この場合、合計器１４４の出力値は、ｙN〜ｙ2N-1と表される変換表現の整数出力値の更なるブロック１４６を表す。
【０１２３】
続けて、一実施形態に従って変換表現を逆に転換するための装置を図１１に関して説明する。図１０ｃに示す装置により実行される動作は、図１１に示す装置により可逆的に反転されることに留意すべきである。図１１は、図１０ｂに示す実施形態において入力端１２０に送られる合計値の第２のブロックを変換出力値の更なるブロックから生成する追加の変換／丸め段階を除いて図１０ｂに対応する。加算する機能が、減算する機能によりそれぞれ反転されることに留意すべきである。符号について反転された入力量をも加算器／減算器対（図１０ｃの１４４および図１１の１２８）に提供することができるので、図示の場合と比べて反対の符号を入力量のグループに提供する場合、加算器１４４は実際には減算動作を実行し、これが対応するもの（図１１の１２８）で考慮される限り、対応するものは実際には加算動作を実行することにさらに留意すべきである。
【０１２４】
図１１に示す減算器１２８、加算器１３４および更なる減算器１５４は、この場合も、個々の値に関する加算／減算を実行するために形成され、この場合も、同一の序数処理が、図１０ｃに関して説明したように用いられる。図示とは別の序数の利用法が、図１０ｃで用いられた場合、図１１において、これがそれ相応に考慮される。
【０１２５】
減算器１３４の出力端において、ｘ0〜ｘN-1と表された離散値の第１のブロック１３６が既に存在する。逆変換表現の残りも得るために、離散値の第１のブロックは、第１の変換ルールで動作する変換器１５０に供給され、変換器１５０の出力側の値は、丸め器１５２により丸められ、最終的にｘN、・・・、ｘ2N-1と表された離散値の第２のブロック１５６をも得るために、減算器１２８の出力端における減算値の第２のブロックから減算される。
【０１２６】
続いて、図１０ａ、１０ｂ、１０ｃおよび１１に関して説明したような装置についての数学上の背景を図１２〜１５に関して説明する。転換および／または逆に転換するための図示の装置により、近似誤差を減少する可逆オーディオ符号化用の整数変換方法が提供される。さらに、ベースがもはやリフティングスキームを各ギブンス回転に適用する既知の方法ではないという点で計算労力も考慮される。この既知の方法では、自明な合計−差のバタフライ演算が常に生じる。これらは、コピーすべき変換の元の非整数バージョンと比較して、計算労力をかなり増大させる。
【０１２７】
通常、リフティングスキームは、ギブンス回転の可逆の整数近似値を得るために用いられる。
2007508605.tif 000011
【０１２８】
この整数近似値は、各加算の後で、すなわち、各リフティングステップの後で丸め関数を用いることにより達成される。
【０１２９】
リフティングスキームは、特定のスケーリング動作の可逆の整数近似値にも用いることができる。専門の出版物、アール・ガイガー（Ｒ．Ｇｅｉｇｅｒ）およびジー・シュラー（Ｇ．Ｓｃｈｕｌｌｅｒ）著、「Ｉｎｔｅｇｅｒ  ｌｏｗ  ｄｅｌａｙ  ａｎｄ  ＭＤＣＴ  ｆｉｌｔｅｒ  ｂａｎｋｓ」、Ｐｒｏｃ．ｏｆ  ｔｈｅ  Ａｓｉｌｏｍａｒ  Ｃｏｎｆ．  ｏｎ  Ｓｉｇｎａｌｓ，Ｓｙｓｔｅｍｓ  ａｎｄ  Ｃｏｍｐｕｔｅｒｓ，２００２年では、１に等しい決定要素を用いる下記の２×２スケーリングマトリクスのリフティング分解を記述し、説明する。
2007508605.tif 000012
【０１３０】
１次元であるこのリフティング分解、すなわち、２×２スケーリングマトリクスにだけ関連するこのリフティング分解は、多次元の場合にまで拡張される。特に、上記の式からのすべての値は、ｎ×ｎマトリクスにより置き換えられ、ｎ、すなわち、ブロックの離散値の数は、２以上である。したがって、その結果として、好ましくは可逆とすべき任意のｎ×ｎマトリクスＴに対して、下記の２ｎ×２ｎブロックマトリクスへの分解が可能となり、ここで、Ｅnはｎ×ｎ単位マトリクスを表す。
2007508605.tif 000013
【０１３１】
置換または−１による乗算のような簡単な動作に加えて、この分解の３つのすべてのブロックは、下記の一般構造を有する。
2007508605.tif 000014
【０１３２】
この２ｎ×２ｎブロックマトリクスに対して、以後、多次元リフティングとも称する一般化されたリフティングスキームを用いることができる。
【０１３３】
値ｘ＝（ｘ0、・・・、ｘ2n-1）のベクトルに対するこのブロックマトリクスのアプリケーションは、次式を提供する。
2007508605.tif 000015
【０１３４】
上式の右側において、ベクトルが、ディメンションすなわち２ｎに等しい列の数を有することに留意すべきである。第１のｎ個の要素、すなわち、０からｎ−１までの要素は、ｘ0〜ｘn-1に対応する。第２のｎ個の要素、すなわち、上式の右側に結果として生じるベクトルの後半は、離散値の第２のブロックの合計すなわちｘn、・・・、ｘ2n-1に等しいが、図１０ａ、１０ｂ、１０ｃおよび１１の変換マトリクスに対応するマトリクスＡと離散値の第１のブロックｘ0、・・・、ｘn-1との乗算と合計されている。変換マトリクスは、第１、第２および第３の変換ルールをそれぞれ表す。
【０１３５】
以下のフォームの２×２マトリクスを用いる一般的なリフティングスキームと同様に、
2007508605.tif 000016
これらの２ｎ×２ｎマトリクスは、下記のように変換Ｔの可逆の整数近似値に対して用いることができる。整数入力値（ｘ0、・・・、ｘ2n-1）に対して、浮動小数点出力値（ｙ0、・・・、ｙn-1）＝Ａ・（ｘ0、・・・、ｘn-1）は、整数値（ｘn、・・・、ｘ2n-1）に加算される前に、すなわち、整数値に丸められる。ブロックマトリクスの逆数は、次の通りに生じる。
2007508605.tif 000017
【０１３６】
したがって、同一のマトリクスＡおよび同一の丸め関数を簡単に用い、次に、結果として生じた値を、順方向処理での加算の代わりに減算することにより、誤差を含まず、この処理を反転することができる。順方向処理が図１３に示されるのに対して、逆方向処理は図１４に示される。図１３の変換マトリクスが図１４の変換マトリクスと同一であり、このことが実施の単純性に好ましいことに留意すべきである。
【０１３７】
値（ｘ0、・・・、ｘn-1）が、図１３に示す順方向ステップにおいて変形されないので、これら値は、逆ステップすなわち図１４の逆方向ステップに依然として存在している。マトリクスＡに特定の制限がないことに留意すべきである。したがって、必ずしも可逆とする必要がない。
【０１３８】
既知のＭＤＣＴの可逆の整数近似値を得るために、ＭＤＣＴは、窓掛け段階である第１段階と次のＤＣＴ−ＩＶ段階とでギブンス回転に分解される。図３で記述したこの分解は、下記で説明され、さらに、独国特許出願公開第１０１２９２４０号に詳細に記載されている。
【０１３９】
ＤＣＴ−ＩＶがギブンス回転のいくつかの段階に分解される従来技術とは対照的に、変換自体は、変えられないままにしておき、その後、丸められる。
【０１４０】
したがって、ＤＣＴ−ＩＶの整数近似値がリフティングベースのギブンス回転のいくつかの段階により実行されることは既知である。ギブンス回転の数は、用いられ基礎となる高速アルゴリズムにより決定される。そのため、ギブンス回転の数は、長さＮの変換に対してをＯ（ＮｌｏｇＮ）により与えられる。各ＭＤＣＴ分解の窓掛け段階は、Ｎ／２個のギブンス回転のみから、あるいは、３Ｎ／２個の丸めステップのみからなる。したがって、特に、変換長がオーディオ符号化アプリケーションで用いられるような大きい変換長（例えば、１０２４）に対して、ＤＣＴ−ＩＶの整数近似値は、近似値誤差の主な原因になる。
【０１４１】
この本方法は、上述した多次元リフティングスキームを用いる。したがって、ＤＣＴ−ＩＶの丸めステップの数は、従来のリフティングベースの方法における約２Ｎｌｏｇ2Ｎ個の丸めステップに比べて、３Ｎ／２まで減少し、すなわち、窓掛け段階の丸めステップの数に等しくなる。
【０１４２】
ＤＣＴ−ＩＶは、信号の２つのブロックに同時に適用される。この１つの可能性が図１２に示され、この場合、例えば、サンプルの２つの時間的に連続するブロックは簡単にＤＣＴ−ＩＶを受ける。しかしながら、２つの変換を受ける２つのブロックは、マルチチャネル信号の２つのチャネルのサンプルとすることもできる。
【０１４３】
上述の多次元リフティング式からの分解は、Ｎ×Ｎマトリクスとしても考えられる変換ルールに適用される。特にＤＣＴ−ＩＶに対して逆のものもＤＣＴ−ＩＶであるので、結果として、図１２に示すコンセプトに関して次の分解が生じる。
2007508605.tif 000018
【０１４４】
−１による乗算の置換は、異なるブロックマトリクスに展開できるので、結果として、以下のものを生じる。
2007508605.tif 000019
【０１４５】
したがって、信号の２つのブロックすなわち離散値の２つのブロックへの変換のアプリケーションは、好ましくは３つの多次元リフティングステップを用いて得ることができる。
2007508605.tif 000020
【０１４６】
上式は、一実施形態に基づく図１０ｃに視覚的に示される。これに対応して逆転換が、前述したように図１１に示される。
【０１４７】
この方法の場合、長さＮの２つのＤＣＴ−ＩＶ変換を可逆的に実施することができ、この場合、３Ｎ個だけの丸めステップ、すなわち、１変換当たり３Ｎ／２個の丸めステップが必要とされる。
【０１４８】
３つの多次元リフティングステップにおけるＤＣＴ−ＩＶは、何らかの実施、すなわち、例えば、浮動小数点ベースまたは固定小数点ベースの実施を有することが可能である。これは、可逆とする必要さえない。これは、順方向処理および逆方向処理で全く同じように実行するだけでよい。結果として、このコンセプトは、現在のオーディオ符号化アプリケーションで用いられるような１０２４のような大きい変換長に適する。
【０１４９】
全体的な計算の複雑性は、２つのＤＣＴ−ＩＶ変換の非整数実施における計算の複雑性の１．５倍に等しい。この計算の複雑性は、実施が、アール・ガイガー（Ｒ．Ｇｅｉｇｅｒ）、ティー・シューペーラー（Ｔ．Ｓｐｏｒｅｒ）、ジェー・コラー（Ｊ．Ｋｏｌｌｅｒ）およびケイ・ブランデンブルク（Ｋ．Ｂｒａｎｄｅｎｂｕｒｇ）著、「Ａｕｄｉｏ  Ｃｏｄｉｎｇ  ｂａｓｅｄ  ｏｎ  Ｉｎｔｅｇｅｒ  Ｔｒａｎｓｆｏｒｍｓ」、第１１１回エイイーエス・コンベンション（ＡＥＳ  Ｃｏｎｖｅｎｔｉｏｎ）、ニューヨーク、２００１年に記述されているように、エネルギ節約の達成のために用いられるリフティングスキームに基づいて、自明なプラス／マイナスのバタフライ演算を用いなければならないため、従来のＤＣＴ−ＩＶの約２倍の複雑性を持つ従来のリフティングベースの整数実施の場合よりも依然としてかなり低い。
【０１５０】
図示の方法は、少なくとも２つのＤＣＴ−ＩＶ変換をいわゆる同時に、すなわち、１つの転換内で計算する。これは、例えば、オーディオ信号の２つの連続するブロック、または、イメージ信号の２つの連続するイメージについてＤＣＴ−ＩＶ変換を計算することにより達成することができる。２つのチャネルのステレオ信号の場合では、これは、転換動作および／または逆変換動作で左チャネルおよび右チャネルのＤＣＴ−ＩＶを計算することによっても達成することができる。第１のバージョンは、１つのブロックの追加の遅延をシステム内に取り込む。第２のバージョンは、ステレオチャネルに関して、および／または、一般的に言えば、マルチチャネル信号に関して可能である。
【０１５１】
あるいはまた、双方の選択肢を望まない場合ではあるが、Ｎ個の値の標準的なブロック処理長さを維持しなければならない場合、長さＮのＤＣＴ−ＩＶは、長さＮ／２の２つのＤＣＴ−ＩＶ変換に分解することもできる。これに関連して、この分解が記述されているワイ・ゾン（Ｙ．Ｚｅｎｇ）、ジー・ビー（Ｇ．Ｂｉ）およびゼット・リン（Ｚ．Ｌｉｎ）著、「Ｉｎｔｅｇｅｒ  ｓｉｎｕｓｏｉｄａｌ  ｔｒａｎｓｆｏｒｍｓ  ｂａｓｅｄ  ｏｎ  ｌｉｆｔｉｎｇ  ｆａｃｔｏｒｉｚａｔｉｏｎ」、ｐｒｏｃ．ＩＣＡＳＳＰ’０１、２００１年５月、ｐ．１１８１−１１８４を参照する。長さＮ／２の２つのＤＣＴ変換に加えて、ギブンス回転のいくつかの追加段階が必要である。このアルゴリズムでは、ブロックマトリクス
2007508605.tif 000021
すなわち、Ｎ／２個のプラス／マイナスのバタフライ演算と、Ｎ／２個のギブンス回転を用いるブロック対角マトリクスと、更なるいくつかの置換マトリクスとがさらに適用される。Ｎ／２個のギブンス回転のこれら追加段階を用いれば、多次元リフティング方法は、長さＮの１つだけのＤＣＴ−ＩＶの計算に用いることもできる。このアルゴリズムの基本構造は図１５に示され、そこでは、実際の転換段階に加えて、Ｎ／２の長さを用いる２つのＤＣＴ−ＩＶ変換が用いられ、まず、Ｎ／２の長さだけを有する離散値の第１および第２のブロックを計算するためにバタフライ演算段階がある。さらに、Ｎ／２個だけの値を各々有する変換表現の出力値のブロックおよび変換表現の出力値の更なるブロックから出力値ｙ0、・・・、ｙN-1を得るために、出力側に回転段階を提供する。出力値ｙ0、・・・、ｙN-1は、図１５および図１２の入力側および出力側のインデックスの比較で明らかになるように、図１２のＤＣＴ−ＩＶ動作の出力値に等しい。
【０１５２】
ここまで、下記のフォームのブロックマトリクスへの多次元リフティングのアプリケーションだけを論じてきた。
2007508605.tif 000022
【０１５３】
しかしながら、その他のブロックマトリクスを多次元リフティングステップに分解することも可能である。例えば、以下の分解は、多次元リフティングの３つのステップによるＤＣＴ−ＩＶ変換の２つのブロックおよび正規化されたプラス／マイナスのバタフライ演算を有する段階の組み合わせを実施するために用いることができる。
2007508605.tif 000023
【０１５４】
上式の左側の括弧内に用いられている第１の変換ルールと、上式の中央の括弧内に用いられている第２の変換ルールと、上式の最後の括弧内に用いられている第３の変換ルールとを同一とする必要がないということが上式から明らかになる。さらに、主対角要素のみが占有されているブロックマトリクスを分解できるだけでなく、完全に占有されているマトリクスも処理できるということが上式から明らかになる。その上、変換表現に転換するのに用いられる変換ルールを同一とすべきであるという、あるいは、例えば、第２の変換ルールが第１の変換ルールに対する逆方向の変換ルールであるように互いに何らかの関係を持つべきであるという制約がないことに留意すべきである。基本的には、３つの互いに異なる変換ルールも、逆表現に考慮される限り用いることができる。
【０１５５】
これに関連して、図１０ｃおよび図１１を再び参照する。変換表現への離散値の転換では、手段１０２は、何らかの変換ルール１を実施するように形成することができる。さらに、手段１０８は、変換ルール２とも称するその他のまたは同一の変換ルールを用いるように形成することもできる。手段１４０は、第１または第２の変換ルールと必ずしも同一とする必要がない何らかの変換ルール３を一般に用いるようにさらに形成することができる。
【０１５６】
しかしながら、変換表現の逆転換では、転換するための第１の手段１２４が図１０ｃのブロック１４０で実行された変換ルール３以外の変換ルールを実行しないように、図１０ｃに記述した変換ルール１〜３へ適合されなければならない。これに対して、図１１の手段１３０は、図１０ｃのブロック１０８によっても実行された変換ルール２を実行する必要がある。最終的には、図１１の手段１５０が、図１０ｃの手段１０２によっても実行された変換ルール１を実行すべきであるので、可逆の逆変換が得られる。
【０１５７】
図１６は、図１０ｃに説明したコンセプトの変形形態を示す。特に、順方向変換用の素子１０４、１１０および１４２、または、逆方向変換用の素子１２６、１３２および１５２での丸めがサンプルに関してもはや実行されないが、丸め誤差をスペクトル整形できるようにする。
【０１５８】
図１０ｃを図１６に比較すれば、ブロック１０４だけをブロック２０４ａに置き換え、丸めブロック１１０の代わりにブロック２０４ｂを用いるのが好ましいこと明らかである。スペクトル整形が実行されていない時、丸め誤差のホワイトノイズが解決し難い周波数範囲で変換を続ける場合に、このコンセプトが特に有利なので用いられる。丸め１４２の後、いかなる周波数変換もないので、ブロック１４２のスペクトル整形はもはや利点を含まない。しかしながら、これは、ブロック２０４ａの場合である。その理由は、ブロック１０８の変換により再び周波数転換があるためである。したがって、ブロック２０４ｂのスペクトル整形も、最後のブロック１４０によりこの場合も変換があるので依然として有利である。しかしながら、図１６に関して明らかなように、ノイズ整形された丸め誤差は、出力ブロック１１４に既に入力されているので、ブロック２０４ｂでは、丸め誤差のスペクトル整形の代わりに、図１０ｃのブロック１１０により示すように一般の丸めも既に実行できている。
【０１５９】
スペクトル整形の丸めとするか、または、一般の丸め、言い換えれば、第２の変換すなわち変換１０８の端部で、ホワイトスペクトル分散を有する丸め誤差を伴うものとするかはアプリケーションの個々の場合に依存する。
【０１６０】
したがって、例えばｋ個の値の特定数の独立する丸めは、「依存する丸め」とも称することができるスペクトル整形の丸めにより置き換えられる。
【０１６１】
丸め誤差のスペクトル整形も、ＩｎｔＭＤＣＴに必要とされる整数ＤＣＴで用いることができるということが図１６に関する上記の説明から明らかになる。しかしながら、この場合、前述したように、丸めるべき値が、更なる変換ステップにより周波数領域に移される時間信号である時だけ、誤差フィードバックによるスペクトル整形が特に有利であるということを考慮しなければならない。したがって、図１６の多次元リフティングに関して図示したように、スペクトル整形は、最初の２つのステップで有利であるが、３番目のステップでは必ずしも有利であるとはいえない。
【０１６２】
図１６は、図１０ｃに対応する符号器における場合を示すことに留意すべきである。図１６に対応する復号器における場合は、図１６および図１１の比較から直接的に生じる。図１６に直接的に対応する復号器は、２つの丸めブロック１３２および１５２を除いて、全く同じようにすべてのブロックが動作する際に図１１から生じる。図１１では、２つの丸めブロックは、独立する丸めブロックとして動作し、復号器では、依存する丸めブロック２０４ａおよび２０４ｂにより置き換えられ、例えば、それらは、すべて、図２ｃに関して示した構造を有する。特に、全く同じスペクトル整形の丸めアルゴリズムが、符号器の場合と同様に復号器でも用いられることに留意すべきである。
【０１６３】
特にＨ（ｚ）＝「−１」に対して、図２ｂおよび図２ｃに示したコンセプトは、本発明による丸め誤差の減少、特に、整数変換での丸め誤差の減少を達成するためにも特に適する。
【０１６４】
本発明によれば、２つの浮動小数点数値が丸められ、異なる値の代わりに、同じ値に加算される時はいつでも、このような丸め誤差の減少が可能である。このような例示的な状況を図１７に示す。ここでは、まず、リフティング関係値ｘ1およびｘ3の間に、一連の下がり−上がり−下がりを伴う第１のリフティングステップがある。さらに、この場合には、リフティング関係値ｘ2およびｘ3の間に、既知の一連の下がり−上がり−下がりを伴う第２のリフティングステップがある。特に、第１のリフティング動作で得られる値ｘ3は、図１７から明らかなように、第２のリフティングステップにおける加算の相手として作用するために用いられる。矢印が横線に達する時、このことが加算を意味することに再び留意すべきである。したがって、言い換えれば、丸められたばかりの値は、横線に対応する値に加算される。
【０１６５】
特に、図１７で示した例では、まず、値ｘ1が重み付けられ（ブロック２５０）、次に、個々に丸められる（ブロック２５２）。ブロック２５２の出力信号は、ｘ3に加算される（ブロック２５４）。その後、加算２５４の結果が、再び重み付けられ（ブロック２５６）、再び丸められる（ブロック２５８）。この丸め２５８の結果は、次にｘ1に加算される（２６０）。加算２６０の結果は、再び重み付けられ（ブロック２６２）、丸められ（ブロック２６４）、ｘ3の現在値に（ブロック２６６に）加算される。これに対して、値ｘ2は、ブロック２７０により重み付けられ、次に、ブロック２７２により丸められる。ブロック２７２の結果は、ｘ3の現在値に加算される（２７４）。その後、再び重み付けられ（２７６）、丸められて（２７８）、ブロック２７８の結果がｘ2の現在値に再び加算される（２８０）。この加算２８０の結果は、再び重み付けられ（ブロック２８２）、重み付けられた結果は、丸め処理られて（ブロック２８４）、次に、ｘ3に対する結果の値を得るために、丸めブロック２８４の結果をｘ3の現在値へ再び加算する（ブロック２８６）。まず、第１の値すなわちブロック２６２の結果が、丸められ、次に、ｘ3に加算されるということが図１７から明らかである。これに加えて、第２の値すなわちブロック２７０の結果も、丸められ（ブロック２７２）、次に、値ｘ3に加算される（加算器２７４）。このように、２つの浮動小数点数値が次々に丸められ、異なる値の代わりに、同じ値に加算される状況がある。図１７に示す例では、第３および第４のリフティングステップの結果は、同じ値すなわちｘ3に加算されるので、丸め関数［・］を用いて加算が行われる。
［ｘ1・ｃｓ1］＋［ｘ2・ｃｓ2］
【０１６６】
丸めにおける第３のリフティングステップの誤差が第４のリフティングステップに送られるならば、この場合に第３のステップの誤差を用い、２つの丸め誤差の代わりに１つの丸め誤差だけを生成することができる。これは、計算に関して下式から生じる。
［ｘ1・ｃｓ1］＋［ｘ2・ｃｓ2＋（ｘ1・ｃｓ1−［ｘ1・ｃｓ1］）］＝
［ｘ1・ｃｓ1］＋［ｘ2・ｃｓ2＋ｘ1・ｃｓ1］−［ｘ1・ｃｓ1］＝
［ｘ2・ｃｓ2＋［ｘ1・ｃｓ1］
【０１６７】
したがって、この場合、計算に関して、次の丸めへの丸め誤差の供給は、値の加算およびその後の丸めと同一である。この状況を図１８に示し、図１８は図１７に対応するが、２つの別個の丸めブロック２６４、２７２および２つの別個の加算器２６６、２７４は、上記の式を実施するように形成されたブロック２６８により置き換えられている。したがって、２つのブロック２６２および２７０の結果は、まず、丸められないフォームで加算され、次に、丸められる。したがって、好ましい場合では、丸め誤差は半分にされる。ブロック２６８の出力では、加算器２６９によりｘ3に加算される１つだけの単一値を生じる。
【０１６８】
丸め誤差の減少および整形の組み合わせは、例えば、一組のギブンス回転および多次元リフティングステップが、図１９に示すように、互いの後に続く時にも生じ得る。ほんの一例として、値ｘ1〜ｘ4のいくつかの値に対して一連の下がり−上がり−下がりステップでの最後のステップ、すなわち、例えば図９の下がりステップ３１ｃが実行される。これら値は、次に、対応の値に加算され、これら対応の値には、図１６の丸められた値、すなわち、ブロック２０４ａの出力端での値も加算される。この場合、丸められていない値を最初に、すなわち、図１９に示す加算器２０３により加算し、次に、加算値を図１９のブロック２０４で丸め、次に、ただ１つの単純な丸め誤差が得られるようにこれらの加算値が同時にノイズ整形を受け、加算器１０６による加算後の出力値が少ない誤差を含むことが好ましい。この状況は、図１９であり、したがって、図９が図１６の左に置かれる場合、特に、Ｎ／２値のＤＣＴ−ＩＶがＮ値のＤＣＴ−ＩＶの代わりに用いられる場合に生じる。
【０１６９】
したがって、本発明によれば、丸め誤差の減少を丸め誤差の整形と組み合わせることが好ましい。したがって、丸め誤差の減少の場合、いくつかの入力値は、ともに処理されおよび丸められ、それらの丸められた値は１つの値に加算されるのに対して、丸め誤差のスペクトル整形の場合、丸められた値は互いに独立して丸められ、いくつかのそれぞれ異なる他の値に加算される。
【０１７０】
図１９の状況が、図１５に示すように、Ｎ／２のＤＣＴが用いられる時にも生じることにさらに留意すべきである。この点、転換段階よりも前に、すなわち、２つのＤＣＴブロックよりも前に、図１５のバタフライ演算段階と称する段階があり、入力値ｘ0〜ｘN/2-1は対応して重み付けられ、丸められて、次に、同一の値に加算され、これら値には、ＤＣＴ−ＩＶ段階の値も加算される。図１５の転換段階が概略的にしか示されていないことにさらに留意すべきである。実際の実施では、図１５に概略的に示す２つのＤＣＴ−ＩＶブロックは、図１６においてｘN/2-1がｘN-1の代わりに記され、ｘN/2の代わりに記すものがあり、ｘN-1がｘN/2-1の代わりに記されるならば、図１６に示すコンポーネントにより置き換えられる。
【０１７１】
したがって、図１９は、特にモノ・アプリケーションに対して、すなわち、Ｎ／２のＤＣＴ−ＩＶが用いられる場合に対して好ましい実施を示す。
【０１７２】
状況に応じて、丸めるための本発明の方法は、ハードウェアまたはソフトウェアで実施することができる。この実施は、この方法が実行されるようにプログラム可能なコンピュータシステムと協働し、電子的に読み出すことができる制御信号を有するデジタル記憶媒体、特に、フロッピー（登録商標）ディスクまたはＣＤ上で行うことができる。したがって、本発明は、一般に、コンピュータプログラム製品がコンピュータ上で実行すると、機械で読み出し可能なキャリアに記憶された本発明の方法を実行するためのプログラムコードを有するコンピュータプログラム製品にも存在する。したがって、言い換えれば、本発明は、コンピュータプログラムでもあり、コンピュータプログラムがコンピュータ上で実行すると、この方法を実行するためのプログラムコードを有するコンピュータプログラムでもある。
【図面の簡単な説明】
【０１７３】
【図１】図１は、丸め誤差のスペクトル整形を用いて一連の離散値を有する信号を処理するためのコンセプトのブロック回路図を示す。
【図２ａ】図２ａは、量子化誤差を高域通過スペクトル整形するための既知のコンセプトを示す。
【図２ｂ】図２ｂは、丸め誤差を低域通過整形するためのコンセプトを示す。
【図２ｃ】図２ｃは、スペクトル整形／丸めブロックの一実施形態によるブロック回路図を示す。
【図３】図３は、整数値を得るために時間離散オーディオサンプルを処理し、それから整数スペクトル値を決定できる好適な手段のブロック回路図を示す。
【図４】図４は、ギブンス回転へのＭＤＣＴおよび逆ＭＤＣＴの分解と２つのＤＣＴ−ＩＶ動作との概略図を示す。
【図５】図５は、５０％のオーバラップを用いるＭＤＣＴの回転への分解およびＤＣＴ−ＩＶ動作を示すための図である。
【図６ａ】図６ａは、ＭＤＣＴおよび５０％のオーバラップを用いる既知の符号器の概略ブロック回路図を示す。
【図６ｂ】図６ｂは、図１０ａにより生成された値を復号化するための既知の復号器のブロック回路図を示す。
【図７】図７は、図３による窓掛けのリフティングを示す図である。
【図８】図８は、実際の変換より前の窓掛けに対して図７のリフティングの「再分類された」図である。
【図９】図９は、図３、７および８による窓掛けのためのスペクトル整形のアプリケーションを示す。
【図１０ａ】図１０ａは、本発明の好適な実施形態による転換するための装置のブロック回路図を示す。
【図１０ｂ】図１０ｂは、本発明の好適な実施形態による転換するための装置のブロック回路図を示す。
【図１０ｃ】図１０ｃは、本発明の好適な実施形態による転換するための装置のブロック回路図を示す。
【図１１】図１１は、本発明の好適な実施形態による逆転換するための装置を示す。
【図１２】図１２は、本発明に用いることができるような値の２つの連続するブロックの変換を示す図である。
【図１３】図１３は、順方向変換マトリクスを用いる多次元リフティングステップを示す詳細図である。
【図１４】図１４は、逆方向変換マトリクスを用いる多次元逆リフティングステップを示す図である。
【図１５】図１５は、長さＮのＤＣＴ−ＩＶを長さＮ／２の２つのＤＣＴ−ＩＶに分解する本発明を示す図である。
【図１６】図１６は、図１０の多次元リフティングを用いる変換での本発明のコンセプトのアプリケーションを示す。
【図１７】図１７は、本発明の丸め誤差を減少する２つの連続するリフティングステップを示す図である。
【図１８】図１８は、図１７の２つの連続するリフティングステップで丸め誤差を減少するための本発明のコンセプトを示す図である。
【図１９】図１９は、図１６のコンセプトおよび図１８のコンセプトの好ましい組み合わせを示す。
【図１】
2007508605.tif 000024
【図２ａ】
2007508605.tif 000025
【図２ｂ】
2007508605.tif 000026
【図２ｃ】
2007508605.tif 000027
【図３】
2007508605.tif 000028
【図４】
2007508605.tif 000029
【図５】
2007508605.tif 000030
【図６ａ】
2007508605.tif 000031
【図６ｂ】
2007508605.tif 000032
【図７】
2007508605.tif 000033
【図８】
2007508605.tif 000034
【図９】
2007508605.tif 000035
【図１０ａ】
2007508605.tif 000036
【図１０ｂ】
2007508605.tif 000037
【図１０ｃ】
2007508605.tif 000038
【図１１】
2007508605.tif 000039
【図１２】
2007508605.tif 000040
【図１３】
2007508605.tif 000041
【図１４】
2007508605.tif 000042
【図１５】
2007508605.tif 000043
【図１６】
2007508605.tif 000044
【図１７】
2007508605.tif 000045
【図１８】
2007508605.tif 000046
【図１９】
2007508605.tif 000047
【手続補正書】
【提出日】平成17年7月6日(2005.7.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
少なくとも２つの入力値を処理するための装置であって、
第１の非整数の入力値および第２の非整数の入力値を提供するための手段（２０２；２５０、２５２、２５４、２５６、２５８、２６０、２６２）、前記提供するための手段は、前記第１の入力値を得るために第１の元の値を重み付けし、かつ、前記元の第１の値（ｘ1）が属する一連の元の入力値から変換により前記第２の入力値を計算するために、または、第１および第２のリフティングステップとその後の重み付け（２６２）とにより第１の元の値および第３の値（ｘ3）から前記第１の入力値を生成し、かつ、元の第２の入力値（ｘ2）から重み付け（２７０）により前記第２の入力値を生成するために設計されている、および
非整数の結果値を得るために前記第１の入力値および前記第２の入力値を組み合わせ、かつ、前記結果値を、丸められた結果値を得るために丸めるための手段（２６８）を備える、装置。
【請求項２】
前記組み合わせるための手段は、合計または差を形成するように設計されている、請求項１に記載の装置。
【請求項３】
前記第１および前記第２の入力値は、オーディオおよび／またはビデオ情報を含む離散値である、請求項１または２に記載の装置。
【請求項４】
出力値を得るために前記結果値を第３の入力値に結合するための手段（２６９）をさらに備える、先行する請求項の１つに記載の装置。
【請求項５】
前記結合するための手段（２６９；１０４）は、合計器または減算器として設計されている、請求項４に記載の装置。
【請求項６】
前記出力値が整数値となるように前記第３の入力値が整数の入力値である、請求項４または請求項５に記載の装置。
【請求項７】
リフティング動作により修正された第３の入力値に前記整数の結果値を加算し、リフティング動作により修正された前記第３の入力値および前記第２の入力値を用いて回転の第２および第３のリフティングステップを実行するようにさらに設計されている、請求項１に記載の装置。
【請求項８】
第２の変換ルールにより処理される更なる連なりの値を得るために、第１の変換ルール（１０２）により処理される連なりの一部分である更なる入力値に前記整数の入力値を加算するための手段（１０６）をさらに含み、前記第１の変換ルールおよび前記第２の変換ルールは、第１および第２の多次元リフティングステップを規定する変換ルールである、請求項１に記載の装置。
【請求項９】
少なくとも２つの入力値を処理するための方法であって、
第１の非整数の入力値および第２の非整数の入力値を提供するステップ（２０２；２５０、２５２、２５４、２５６、２５８、２６０、２６２）、前記提供するステップは、前記第１の入力値を得るために第１の元の値を重み付けすること、および、前記元の第１の値（ｘ1）が属する一連の元の入力値から変換により前記第２の入力値を計算することを含み、または、前記提供するステップは、第１および第２のリフティングステップとその後の重み付け（２６２）とにより第１の元の値および第３の値（ｘ3）から前記第１の入力値を生成すること、および、元の第２の入力値（ｘ2）から重み付け（２７０）により前記第２の入力値を生成することを含む、および
非整数の結果値を得るために前記第１の入力値および前記第２の入力値を組み合わせ、かつ、前記結果値を、丸められた結果値を得るために丸めステップ（２６８）を備える、方法。
【請求項１０】
前記組み合わせるステップの後に、整数の出力値を得るために第３の整数の入力値に前記結果値を結合するステップ（２６９）が実行される、請求項１１に記載の方法。
【請求項１１】
プログラムがコンピュータ上で動作するときに、請求項９に記載された方法を実行するためのプログラムコードを有する、コンピュータプログラム。
【国際調査報告】
2007508605.tif 000048
2007508605.tif 000049
2007508605.tif 000050
2007508605.tif 000051