(57)【要約】本発明は、長さＮのディジタル入力信号の変形離散コサイン変換（ＭＤＣＴ）を実行することに関しており、その際、長さＮ／２の特定の中間信号を形成することによって、中間信号のデータ値の、コサイン値との単にＮ２／４回の乗算を実行しさえすればよい。
2006513496.tif 000002
【特許請求の範囲】
【請求項１】
長さＮのディジタル入力信号（１００，ｘ）の変形離散コサイン変換（ＭＤＣＴ）を実行する方法において、
前記入力信号に基づいて、長さＮ／２の中間信号（ｘｘ）を形成するステップ（１０２）、
変換された出力信号（１０６，ｙ）を形成するために、前記中間信号のデータ値の、コサイン値（Ｃｏｓ）とのＮ２／４回の乗算を実行するステップ
を有することを特徴とする方法。
【請求項２】
’ｘｘ’と記述された前記中間信号を、’ｘ’と記述された前記入力信号に基づいて、以下：
ｍ＝０〜（Ｎ／４−１）の場合、
ｘｘ（ｍ）＝ｘ（Ｎ／４＋ｍ）−ｘ（Ｎ／４−ｍ−１）；
ｘｘ（ｍ＋Ｎ／４）＝ｘ（Ｎ／２＋ｍ）＋ｘ（Ｎ−ｍ−１）；
エンド
のように計算する
請求の範囲１記載の方法。
【請求項３】
’ｙ’と記述された変換された信号を得るために、中間信号’ｘｘ’のデータ値の、コサイン値との乗算を以下：
ｍ＝０〜（Ｎ／２−１）の場合、
ｓ＝０；
ｋ＝０〜（Ｎ／２−１）の場合、
ｓ＝ｓ＋ｘｘ（ｋ）＊ｃｏｓ（π／２／Ｎ＊（２＊ｋ＋１＋Ｎ）＊（２＊ｍ＋１））；
エンド
ｙ（ｍ）＝ｓ；
エンド
のように実行する
請求項１又は２記載の方法。
【請求項４】
Ｎ２／４個のコサイン値を有するコサインテーブル（Ｃｏｓ）を、前記乗算用のコサイン値を提供するために使用する請求項１から３迄の何れか１記載の方法。
【請求項５】
請求項１から４迄の何れか１記載の方法を実行するためのプログラム手段を有するコンピュータプログラムプロダクト、例えば、ディジタルストレージ媒体。
【請求項６】
長さＮのディジタル入力信号（ｘ）の変形離散コサイン変換（ＭＤＣＴ）を実行するための電子回路において、
電子回路は：
Ｎ２／４個のコサイン値を有するコサインテーブル（２０８）；
前記入力信号（ｘ）に基づいて、長さＮ／２の中間信号（ｘｘ）を形成し、及び、変形離散コサイン変換された出力信号（ｙ）を形成するように、前記中間信号（ｘｘ）のデータ値の乗算を実行するための手段（２０２，２０４）
を有することを特徴とする電子回路。
【請求項７】
’ｘ’と記述された前記入力信号に基づいて、’ｘｘ’と記述された前記中間信号を形成するための前記手段は、以下のステップ：
ｍ＝０〜（Ｎ／４−１）の場合、
ｘｘ（ｍ）＝ｘ（Ｎ／４＋ｍ）−ｘ（Ｎ／４−ｍ−１）；
ｘｘ（ｍ＋Ｎ／４）＝ｘ（Ｎ／２＋ｍ）＋ｘ（Ｎ−ｍ−１）；
エンド
を実行するように適合化されている
請求項６記載の電子回路。
【請求項８】
更に、データ値と、コサインテーブルのコサイン値とのＮ２／４回の乗算を実行するための乗算手段（２０２）を有する請求項６又は７記載の電子回路。
【請求項９】
更に、加算手段（２０２）を有しており、前記乗算手段及び前記加算手段は、ステップ：
ｍ＝０〜（Ｎ／２−１）の場合、
ｓ＝０；
ｋ＝０〜（Ｎ／２−１）の場合、
ｓ＝ｓ＋ｘｘ（ｋ）＊ｃｏｓ（π／２／Ｎ＊（２＊ｋ＋１＋Ｎ）＊（２＊ｍ＋１））；
エンド
ｙ（ｍ）＝ｓ；
エンド
を実行するように適合化されており、
但し、’ｙ’は、変換された出力信号である
請求項８記載の電子回路。
【請求項１０】
入力信号の変形離散コサイン変換を実行するために、請求項６から９迄の何れか１記載の電子回路を用いるコーデック、例えば、ＭＰＥＧ１／２レイヤＩＩＩ、ＡＴＲＡＣ又はＡＡＣコーデック。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディジタル信号処理、特に、ＭＤＣＴの計算に関する。
【０００２】
背景技術
例えば、ＭＰＥＧ１／２レイヤＩＩＩ、ＡＴＲＡＣ、ＡＡＣなどの多くのオーディオ及びビデオコーデックは、ＭＤＣＴを利用する。ＭＤＣＴを実行することは、要求されるコンピューティングパワーの点でも必要なストレージスペースの点でも極めてコスト高である。ＭＤＣＴを実行することは、必要なＭＤＣＴを計算するのに、比較的コスト高な中央処理ユニット（ＣＰＵ）及び大きなメモリが必要であるので、消費者の装置にとっては特に不利である。ＭＤＣＴの計算上の複雑性を低減するのに、従来技術では、種々異なる試みがなされている。そのような方法は、例えば、世界知的所有権機関特許公開第０１／５９６０３号公報及びＶ．Ｂｒｉｔａｎａｋ，Ｋ．Ｒ．Ｒａｏ，”Ａ  ｎｅｗ  ｆａｓｔ  Ａｌｇｏｒｉｔｈｍ  ｆｏｒ  ｔｈｅ  ｕｎｉｆｉｅｄ  ｆｏｒｗａｒｄ  ａｎｄ  ｉｎｖｅｒｓｅ  ＭＤＣＴ／ＭＤＳＴ  ｃｏｍｐｕｔａｔｉｏｎ”，Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ  ８２（２００２），４３３−４５９に開示されている。
【０００３】
発明
ＭＤＣＴは、直接、２重ループで計算することができるか、又は、ＦＦＴを使って計算することができる。ＦＦＴを使って計算する場合には、元の長さＮの倍の信号長の変換、及び、なんらかのデータコピーが含まれ、直接、２重ループで計算する場合には、使用されるプロセッサに依存して、短いＭＤＣＴブロック長には一層高速である。特に、ＭＰＥＧ１／２レイヤＩＩＩのＭＤＣＴは、’１８’の長さであり、この長さは、’２’の累乗でないので、ＦＦＴで簡単に計算することができない。
【０００４】
本発明によって解決すべき問題点は、コンピューティングパワー及びメモリの量を所望のように低減したＭＤＣＴを実行することにある。この問題点は、請求項１記載の方法によって解決される。そのような方法を実行する相応のコンピュータプログラムプロダクトは、請求項５に記載されている。この方法を利用する電子回路は、請求項６に記載されており、相応のコーデックは、請求項１０に記載されている。
【０００５】
有利に、本発明によると、Ｎを入力信号のサンプリング値用のプロセシングの長さ又は変換ブロックとして、Ｎ／２の付加的な加算コストで、’２’のファクタによるＭＤＣＴの直接計算のループでの乗算及び加算の回数を低減することができる。Ｎは、’２’の累乗ではない数、例えば、Ｎ＝１８にすることができる。本発明によると、長さＮのディジタル入力信号を変換するために、単にＮ２／４回の乗算だけを実行することによって、ＭＤＣＴを計算することができるようになる。これは、入力信号に基づく中間信号を最初に形成することによって行うことができる。この中間信号の形成のために、乗算よりもずっと計算がコスト高でない加算及び減算しか必要でない。
【０００６】
本発明の別の実施例によると、ＭＤＣＴを計算するのに、コサインテーブルが使われる。コサインテーブルは、本発明を実行するのに比較的小さなメモリを使うことができるので、単にＮ２／２個のコサイン値しか必要としない。本発明は、特に、ＭＰＥＧ１／２レイヤＩＩＩ、ＡＴＲＡＣ、ＡＡＣなどのオーディオ及び／又はビデオコーデック用に有利である。本発明によると、プロセシングパワー及び所要メモリが低減された、ＭＰＥＧプレイヤ又はＤＶＤプレイヤのような、オーディオ及び／又はビデオ消費者装置を構成することができる。
【０００７】
原理的には、本発明の方法は、長さＮの入力信号の変形離散コサイン変換を実行するのに適しており、方法は、以下の各ステップ：
前記入力信号に基づいて、長さＮ／２の中間信号を形成するステップ、
変換された出力信号を形成するために、前記中間信号のデータ値の、コサイン値とのＮ２／４回の乗算を実行するステップ
を含む。
【０００８】
原理的に、本発明の電子回路は、長さＮのディジタル入力信号の変形離散コサイン変換を実行し、電子回路は：
Ｎ２／４個のコサイン値を有するコサインテーブル；
前記入力信号に基づいて、長さＮ／２の中間信号を形成し、及び、変形離散コサイン変換された出力信号を形成するように、前記中間信号のデータ値の乗算を実行するための手段
を有する。
【０００９】
本発明の有利な付加的な実施例は、各従属請求項に開示されている。
【００１０】
図面
以下、本発明について、図示の実施例を用いて詳細に説明する。その際：
図１は、フローチャート；
図２は、本発明の電子回路の有利な実施例のブロックダイアグラム
を示す。
【００１１】
有利な実施例
図１のフローチャートによると、ディジタル入力信号は、ステップ１００で供給される。ディジタル入力信号は、ブロック長Ｎを有しており、即ち、ディジタル入力信号は、各場合にＮ個のデータ値を有している。ステップ１００で供給されるディジタル入力信号でＭＤＣＴを実行するために、先ず、中間信号がステップ１０２で計算される。中間信号は、Ｎ／２の長さである。この中間信号を、Ｎ／２加算／減算を用いて計算する１方法について、以下、詳細に説明する。ステップ１０４で、ＭＤＣＴが、ステップ１０２で決定された中間信号に基づいて計算される。中間信号がＮ／２の長さである場合、Ｎ２／４回の乗算は、中間信号に基づいてＭＤＣＴを計算するのに必要である。ステップ１０６で、ＭＤＣＴ変換された信号は、後続処理用の出力である。
【００１２】
ＭＤＣＴは、以下のようにして直接計算することができる：
ｍ＝０〜（Ｎ／２−１）の場合、
ｓ＝０；
ｋ＝０〜（Ｎ−１）の場合、
ｓ＝ｓ＋ｘ（ｋ）＊ｃｏｓ（π／２／Ｎ＊（２＊ｋ＋１＋Ｎ／２）＊（２＊ｍ＋１））；
エンド
ｙ（ｍ）＝ｓ；
エンド、
その際、ｘは、長さＮのディジタル入力信号、ｙは、変換された信号、ｍは、ランニングインデックスである。
【００１３】
ステップ１０２での中間信号の本発明による計算は、以下のように実行することができる：
ｍ＝０〜（Ｎ／４−１）の場合、
ｘｘ（ｍ）＝ｘ（Ｎ／４＋ｍ）−ｘ（Ｎ／４−ｍ−１）；
ｘｘ（ｍ＋Ｎ／４）＝ｘ（Ｎ／２＋ｍ）＋ｘ（Ｎ−ｍ−１）；
エンド、
その際、ｘは、長さＮのディジタル入力信号、ｘｘは、中間信号、ｍは、ランニングインデックスである。
【００１４】
中間信号の計算は、乗算を必要とせず、従って、非常に高速である点に注目すべきである。中間信号ｘｘに基づいて、ＭＤＣＴは、以下のように計算することができる：
ｍ＝０〜（Ｎ／２−１）の場合、
ｓ＝０；
ｋ＝０〜（Ｎ／２−１）の場合、
ｓ＝ｓ＋ｘｘ（ｋ）＊ｃｏｓ（π／２／Ｎ＊（２＊ｋ＋１＋Ｎ）＊（２＊ｍ＋１））；
エンド
ｙ（ｍ）＝ｓ；
エンド、
その際、ｙは、変換された信号である。
【００１５】
ＭＤＣＴの計算が、単に、コサイン値とのＮ２／４回数の乗算しか必要としない点は、特に有利である。
【００１６】
図２には、入力信号ｘを受信する電子回路２００の簡単なブロックダイアグラムが示されている。この回路は、単一のチップで実行することができる。回路は、処理ユニット２０２、プログラムメモリ２０４及びコサインテーブル２０８を記憶するためのメモリ２０６を有している。中間信号（図１のステップ１０２を参照）の計算を実行するため、及び、ＭＤＣＴ（図１のステップ１０２を参照）を計算するためのプログラムコードは、プログラムメモリ２０４内に記憶されている。ＭＤＣＴ変換された出力信号ｙを得るのに、コサイン値との必要な乗算を実行するために、プログラムメモリ２０８のプログラムコードが実行された場合に、コサインテーブル２０８は、処理ユニット２０２によって使用されるＮ２／２個のコサイン値エントリを有している。
【図面の簡単な説明】
【００１７】
【図１】フローチャート
【図２】本発明の電子回路の有利な実施例のブロックダイアグラム
【図１】
2006513496.tif 000003
【図２】
2006513496.tif 000004
【国際調査報告】
2006513496.tif 000005
2006513496.tif 000006