(57)【特許請求の範囲】
【請求項１】
入力データシーケンスに対する前乗算処理を行い、第１の中間シーケンスを生成する前乗算手段（４３０）と、
上記第１の中間シーケンスに対する離散フーリエ変換処理を行い、第２の中間シーケンスを生成する離散フーリエ変換手段（４４０）と、
上記第２の中間シーケンスに対する後乗算処理を行い、出力データシーケンスを生成する後乗算手段（４５０）とを備え、
上記第１の中間シーケンスの算出は、ｎを上記入力データシーケンスの変数とし、ｐを上記第１の中間シーケンスの変数とし、ｊを虚数単位とし、Ｎを２５６として、以下の式に基づいて、上記入力データシーケンスの要素ｘ［ｎ］から上記第１の中間シーケンスの要素Ｚ［ｐ］を算出することを特徴とする変換回路（２３０）。
Z[p]=((x[2p]-x[2N-2p-1])-(x[N+2p]+x[N-1-2p])-
j(x[2p]+x[2N-1-2p]+(x[N+2p]-x[N-1-2p]))*
(cos(2π/(16N)*(8p+1))-jsin(2π/16N)*(8p+1)))
【請求項２】
上記前乗算手段（４３０）、上記離散フーリエ変換手段（４４０）、及び上記後乗算手段（４５０）における処理は、デジタル信号処理装置により実行されることを特徴とする請求項１記載の変換回路（２３０）。
【請求項３】
上記前乗算手段（４３０）、上記離散フーリエ変換手段（４４０）、及び上記後乗算手段（４５０）は、デジタルオーディオ信号用のエンコード／デコード装置内に配設されていることを特徴とする請求項１記載の変換回路（２３０）。
【請求項４】
上記エンコード／デコード装置は、ＡＣ−３規格に準拠することを特徴とする請求項３記載の変換回路（２３０）。
【請求項５】
上記出力データシーケンスは、上記入力データシーケンスを修正離散コサイン変換したものであることを特徴とする請求項１記載の変換回路（２３０）。
【請求項６】
上記入力データシーケンスは、入力データサンプルの長ブロックを含むことを特徴とする請求項５記載の変換回路（２３０）。
【請求項７】
上記長ブロックは、５１２個の入力データサンプルを含むことを特徴とする請求項６記載の変換回路（２３０）。
【請求項８】
上記第１の中間シーケンスは、１２８個の前乗算処理されたデータサンプルを含むことを特徴とする請求項７記載の変換回路（２３０）。
【請求項９】
上記前乗算手段（４３０）は、上記入力データシーケンスから上記第１の中間シーケンスを算出するコード手段を備えることを特徴とする請求項８記載の変換回路（２３０）。
【請求項１０】
上記離散フーリエ変換は高速フーリエ変換であることを特徴とする請求項９記載の変換回路（２３０）。
【請求項１１】
上記高速フーリエ変換は、基数４高速フーリエ変換に縦続接続された基数２高速フーリエ変換であることを特徴とする請求項１０記載の変換回路（２３０）。
【請求項１２】
上記入力データシーケンスは、入力データサンプルの短ブロックを含むことを特徴とする請求項５記載の変換回路（２３０）。
【請求項１３】
上記短ブロックは、２５６個の入力データサンプルを含むことを特徴とする請求項１２記載の変換回路（２３０）。
【請求項１４】
上記第１の中間シーケンスは、６４個の前乗算処理されたデータサンプルを含むことを特徴とする請求項７記載の変換回路（２３０）。
【請求項１５】
上記前乗算手段（４３０）は、上記入力データシーケンスから上記第１の中間シーケンスを算出するコード手段を備えることを特徴とする請求項１４記載の変換回路（２３０）。
【請求項１６】
上記離散フーリエ変換は高速フーリエ変換であることを特徴とする請求項１５記載の変換回路（２３０）。
【請求項１７】
上記高速フーリエ変換は、基数４高速フーリエ変換であることを特徴とする請求項１６記載の変換回路（２３０）。
【請求項１８】
前乗算回路（４３０）により、入力データシーケンスに対する前乗算処理を行い、第１の中間シーケンスを生成するステップと、
離散フーリエ変換回路（４４０）により、上記第１の中間シーケンスに対する離散フーリエ変換処理を行い、第２の中間シーケンスを生成するステップと、
後乗算回路（４５０）により、上記第２の中間シーケンスに対する後乗算処理を行い、出力データシーケンスを生成するステップとを有し、
上記第１の中間シーケンスの算出は、ｎを上記入力データシーケンスの変数とし、ｐを上記第１の中間シーケンスの変数とし、ｊを虚数単位とし、Ｎを２５６として、以下の式に基づいて、上記入力データシーケンスの要素ｘ［ｎ］から上記第１の中間シーケンスの要素Ｚ［ｐ］を算出することを特徴とする変換方法。
Z[p]=((x[2p]-x[2N-2p-1])-(x[N+2p]+x[N-1-2p])-
j(x[2p]+x[2N-1-2p]+(x[N+2p]-x[N-1-2p]))*
(cos(2π/(16N)*(8p+1))-jsin(2π/16N)*(8p+1)))
【請求項１９】
上記前乗算回路（４３０）、上記離散フーリエ変換回路（４４０）、及び上記後乗算回路（４５０）における処理は、デジタル信号処理装置により実行されることを特徴とする請求項１８記載の変換方法。
【請求項２０】
上記前乗算回路（４３０）、上記離散フーリエ変換回路（４４０）、及び上記後乗算回路（４５０）は、デジタルオーディオ信号用のエンコード／デコード装置内に配設されていることを特徴とする請求項１８記載の変換方法。
【請求項２１】
上記エンコード／デコード装置は、ＡＣ−３規格に準拠することを特徴とする請求項２０記載の変換方法。
【請求項２２】
上記出力データシーケンスは、上記入力データシーケンスを修正離散コサイン変換したものであることを特徴とする請求項１８記載の変換方法。
【請求項２３】
上記入力データシーケンスは、入力データサンプルの長ブロックを含むことを特徴とする請求項２２記載の変換方法。
【請求項２４】
上記長ブロックは、５１２個の入力データサンプルを含むことを特徴とする請求項２３記載の変換方法。
【請求項２５】
上記第１の中間シーケンスは、１２８個の前乗算処理されたデータサンプルを含むことを特徴とする請求項２４記載の変換方法。
【請求項２６】
上記前乗算回路（４３０）は、上記入力データシーケンスから上記第１の中間シーケンスを算出するコードを備えることを特徴とする請求項２５記載の変換方法。
【請求項２７】
上記離散フーリエ変換は、ｑを上記第２の中間シーケンスの変数とし、ｐの範囲を０からＮ／２とし、下記の式により上記要素Ｚ［ｐ］から上記第２の中間シーケンスの要素ｚ［ｑ］を算出することを特徴とする請求項１８記載の変換方法。
z[q]=Z[p]*(cos(2πpq/(N/2))-jsin(2πpq/(N/2)))
【請求項２８】
上記離散フーリエ変換は高速フーリエ変換であることを特徴とする請求項１８記載の変換方法。
【請求項２９】
上記高速フーリエ変換は、基数４高速フーリエ変換に縦続接続された基数２高速フーリエ変換であることを特徴とする請求項２８記載の変換方法。
【請求項３０】
上記入力データシーケンスは、入力データサンプルの短ブロックを含むことを特徴とする請求項２２記載の変換方法。
【請求項３１】
上記短ブロックは、２５６個の入力データサンプルを含むことを特徴とする請求項３０記載の変換方法。
【請求項３２】
上記第１の中間シーケンスは、６４個の前乗算処理されたデータサンプルを含むことを特徴とする請求項３１記載の変換方法。
【請求項３３】
上記前乗算回路（４３０）は、上記入力データシーケンスから上記第１の中間シーケンスを算出するコードを備えることを特徴とする請求項３２記載の変換方法。
【請求項３４】
前乗算回路（４３０）により、入力データシーケンスに対する前乗算処理を行い、第１の中間シーケンスを生成するステップと、
離散フーリエ変換回路（４４０）により、上記第１の中間シーケンスに対する離散フーリエ変換処理を行い、第２の中間シーケンスを生成するステップと、
後乗算回路（４５０）により、上記第２の中間シーケンスに対する後乗算処理を行い、出力データシーケンスを生成するステップとを有し、
上記第１の中間シーケンスの算出は、ｎを上記入力データシーケンスの変数とし、ｐを上記第１の中間シーケンスの変数とし、ｊを虚数単位とし、Ｎを２５６として、以下の式に基づいて、上記入力データシーケンスの要素ｘ［ｎ］から上記第１の中間シーケンスの要素Ｚ１［ｐ］を算出し、
Z1[p]=((x[2p]-x[N-1-2p])+j(x[N/2-1-2p]-x[N/2+2p]-x[N/2+2p]))
*(cos(2π/(8N)*(8p+1))-jsin(2π/8N)*(8p+1)))
以下の式に基づいて上記第１の中間シーケンスの要素Ｚ２［ｐ］を算出することを特徴とする変換方法。
Z2[p]=(0-(x[N/2+2p+N]+x[N/2-1-2p+N])-j(x[2p+N]+x[N-1-2p+N]))
*(cos(2π/(8N)*(8p+1))-jsin(2π/8N)*(8p+1)))
【請求項３５】
上記離散フーリエ変換は、ｑを上記第２の中間シーケンスの変数とし、ｐの範囲を０からＮ／４とし、以下の式により上記要素Ｚ［ｐ］から上記第２の中間シーケンスの要素ｚ１［ｑ］を算出し、
z1[q]=Z1[p]*(cos(2πpq/(N/2))-jsin(2πpq/(N/2)))
以下の式により上記要素［ｐ］から上記第２の中間シーケンスの要素ｚ２［ｑ］を算出することを特徴とする請求項３４記載の変換方法。
z2[q]=Z2[p]*(cos(2πpq/(N/2))-jsin(2πpq/(N/2)))
【請求項３６】
上記離散フーリエ変換は高速フーリエ変換であることを特徴とする請求項３４記載の変換方法。
【請求項３７】
上記高速フーリエ変換は、基数４高速フーリエ変換であることを特徴とする請求項３６記載の変換方法。
【請求項３８】
請求項１８又は請求項３４の変換方法を実行するためのプログラム命令が記録されたコンピュータにより読取可能な記録媒体。
【請求項３９】
入力データシーケンスに対する前乗算処理を行い、第１の中間シーケンスを生成する前乗算手段と、
上記第１の中間シーケンスに対する離散フーリエ変換処理を行い、第２の中間シーケンスを生成する離散フーリエ変換手段と、
上記第２の中間シーケンスに対する後乗算処理を行い、出力データシーケンスを生成する後乗算手段とを備え、
上記第１の中間シーケンスの算出は、ｎを上記入力データシーケンスの変数とし、ｐを上記第１の中間シーケンスの変数とし、ｊを虚数単位とし、Ｎを２５６として、以下の式に基づいて、上記入力データシーケンスの要素ｘ［ｎ］から上記第１の中間シーケンスの要素Ｚ［ｐ］を算出することを特徴とする修正離散コサイン変換を行う修正離散コサイン変換装置。
Z[p]=((x[2p]-x[2N-2p-1])-(x[N+2p]+x[N-1-2p])-
j(x[2p]+x[2N-1-2p]+(x[N+2p]-x[N-1-2p]))*
(cos(2π/(16N)*(8p+1))-jsin(2π/16N)*(8p+1)))
【発明の詳細な説明】
【０００１】
発明の背景
１．発明の分野
本発明はデジタルオーディオ処理に関し、特にデジタルオーディオのエンコード処理における時間領域エイリアシングを効率的に除去する装置及び方法に関する。
【０００２】
２．背景技術
デジタルビデオディスク（ＤＶＤ）、デジタル衛星システム（ＤＳＳ）、デジタルテレビジョン（ＤＴＶ）等において、デジタルオーディオ信号は広く使用されている。これら全てのシステムにおいて、記録媒体の容量又は帯域に制約があり、この２つの制約が各システムにおける共通の問題となっている。より多くのオーディオデータを容量が制限されている記録媒体に記録し、あるいは帯域幅が制限されているチャンネルを介して伝送するためには、デジタルオーディオ圧縮技術が必要となる。広く使用されている圧縮技術の１つに、知覚に基づくエンコード処理（perceptual encoding）がある。このエンコード処理における人間の聴覚に基づくモデルにより、人間が知覚できない音に対応する情報を削除することができる。
【０００３】
アドバンスドテレビジョンシステム委員会（Advanced Television System Committee：ＡＴＳＣ）は、以前よりＨＤＴＶとして知られていたデジタルテレビジョン（ＤＴＶ）方式において使用する知覚に基づくエンコード処理として、ドルビー研究所（Dolby（商標） Labs）の技術を採用した。この技術については、オーディオ圧縮バージョン３（Audio Compression version 3：ＡＣ−３）仕様書ＡＴＳＣ Ａ／５２（以下、ＡＣ−３仕様書という。）に記述されており、この記述は参照により本願に組み込まれるものとする。この後、ＡＣ−３仕様書は、第１地域（Region 1; 北アメリカ市場）のＤＶＤ及びＤＳＳ放送にも採用されている。
【０００４】
ＡＣ−３仕様書に基づき、デジタルオーディオ信号用の標準的なデコーダを設計することができる。これにより、ＡＣ−３方式でエンコードされたデジタルオーディオ録音データを異なる製造業者の再生装置間で再生することができる。これに対して、ＡＣ−３エンコード処理における詳細については、ＡＣ−３仕様書において細かく定められてはいない。エンコーダ側は、ＡＣ−３規格のシンタックスに適合するビットストリーム、すなわち、デコード処理により、アプリケーションが意図する十分な品質のオーディオ信号が生成されるビットストリームを生成すればよい。このため、エンコーダの設計における詳細事項は、標準的に設計されたデコーダにより再生されるエンコードされたデジタルオーディオデータの品質に影響を与えない限り、各設計者の裁量により決定できるものが多い。オーディオデータは、通常、時間領域より周波数領域において圧縮した方が効率的である場合が多い。時間領域から周波数領域への変換の一手法として、修正離散コサイン変換（modified discrete cosine transform：以下、ＭＤＣＴという。）がある。ＭＤＣＴは、離散変数の関数に作用する離散フーリエ変換の一種である。ＭＤＣＴは、通常、時間領域データサンプルと呼ばれる離散変数の入力データシーケンスを周波数領域係数と呼ばれる離散変数の出力データシーケンスに変換する。時間領域データサンプルは、入力されてくるオーディオデータを離散的な各時刻で測定して得られた値を示している。周波数領域係数は、離散的周波数値における対応する信号強度を表している。
【０００５】
エンコードされたオーディオデータをデコードして再生する際、音が忠実に再現されるように、ＡＣ−３仕様書では、時間領域エイリアシング除去（time-domain aliasing cancellation：以下、ＴＤＡＣという。）の手法を採用している。ＴＤＡＣ法により、エンコードされたオーディオデータをデコードして再生する際、オリジナルのオーディオデータを略完全に再構築することができる。ＴＤＡＣ法は、２つの処理を含んでいる。すなわち、窓係数による乗算を用いた、適切に選択された窓処理（window operation）及び、それに続くＭＤＣＴである。
【０００６】
知覚に基づくエンコード処理の設計においては、ＭＤＣＴのブロック長と呼ばれる、ＭＤＣＴ処理の位置時刻において変換されるデジタルサンプルの数の設定が重要である。遷移（transient）（時間領域サンプルのシーケンスにおける値の細かい変動）が観察されない場合、ブロックサイズ切換フラグblkswは、０に設定され、ＴＤＡＣ用に設計されたＡＣ−３デコーダは、５１２サンプルの長ブロックＭＤＣＴ演算（long-block MDCT calculation）に切り換えられる。一方、遷移が観察された場合、ブロックサイズ切換フラグblkswは、１に設定され、ＡＣ−３エンコーダは、２５６サンプルの短ブロックＭＤＣＴ演算（short-block MDCT calculation）に切り換えられる。ブロック長が長い場合、周波数分解能は高まるが、時間分解能は低くなる。長ブロック変換は、通常、信号が比較的安定している場合に適用される。短ブロック変換は、信号が比較的不安定である場合、プレエコー効果（pre-echoing effect）を抑制するために適用される。すなわち、単一のＭＤＣＴブロック長を用いるのではなく、５１２サンプルからなるＭＤＣＴブロック長及び２５６サンプルからなるＭＤＣＴブロック長を切り換えて用いることにより、オーディオデータの状況に応じて、最大限に忠実な再生が可能となる。
【０００７】
ＡＣ−３仕様書には、エンコーダにおけるＭＤＣＴ演算のための基本式が示されている。しかしながら、基本式をＭＤＣＴ演算に直接用いると、大量の処理電力が必要となってしまうため、実用的でコスト効率の良好な処理を行うエンコーダの実現が困難である。すなわち、効率的なＡＣ−３エンコーダを設計するためには、異なるブロック長を用いるＭＤＣＴにおける演算を最適化する必要がある。
【０００８】
発明の概要
本発明はデジタルオーディオエンコード処理における効率的な時間領域エイリアシング除去を行うための装置及び方法を提供する。本発明の具体例においては、本発明は、改良された修正離散コサイン変換（modified discrete cosine transform：ＭＤＣＴ）法により、ドルビー（Dolby：商標）ＡＣ−３フォーマットのデジタルオーディオ信号に対する知覚に基づくエンコード圧縮処理を行う。また、この変形として、改良されたＭＤＣＴ法を他の知覚に基づくエンコード処理に適用してもよい。
【０００９】
本発明の一具体例では、複素前乗算処理（complex-valued premultiplication）及び複素後乗算処理（complex-valued postmultiplication）により、データサンプルを準備及び処理し、これにより長ブロック変換処理及び短ブロック変換処理の両方を効率的に実行することができる。前乗算処理及び後乗算処理は、離散フーリエ変換（discrete Fourier transformation: DFT）とともに作用するように周到に構築され、ＭＤＣＴを直接計算した場合と同様の数値的な結果を得ることができる。さらに、複素前乗算処理、ＤＦＴ、複素後乗算処理の組み合わせは、ＭＤＣＴを直接計算した場合に比べて必要な演算量が著しく少ない。このため、本発明によれば、演算のための消費電力が少なく、したがって実際の製造コストが安いカスタマ向けのデジタル信号プロセッサ（ＤＳＰ）が実現される。
【００１０】
好適な実施の形態の詳細な説明
本発明は、デジタル信号処理の改良に関する。以下の説明により、当該技術分野の専門家は、本発明を製造及び実施することができる。また、以下の説明は、特許出願のコンテキストに沿い、必要な技術を開示するものである。以下の説明において、本発明は、エンコーダ／デコーダ（ＣＯＤＥＣ）集積回路により実現されるオーディオ圧縮バージョン３（Audio Compression version 3：以下、ＡＣ−３という。）フォーマットによる知覚に基づくデジタルオーディオエンコード処理に適用される。しかしながら、本発明は、時間領域から周波数領域へのデータ変換において実行される時間領域エイリアシング除去（time-domain aliasing cancellation：以下、ＴＤＡＣという。）処理を用いるエンコード処理であれば、いかなる形式のものにも適用できる。当該技術分野の専門家は、以下に開示する実施の形態の様々な変形例を想到することができ、本発明の包括的な原理は、このような変形例にも適用される。すなわち、本発明は、以下の実施の形態に限定されるものではなく、以下の説明に対応する原理及び特徴の最も広い範囲に相当するものと解釈される。
【００１１】
本発明の具体例において、本発明は、ＴＤＡＣによる知覚に基づくデジタルオーディオデータの圧縮処理を採用した修正離散コサイン変換（modified discrete cosine transform：以下、ＭＤＣＴという。）を実現する効率的な装置及び方法を提供する。知覚に基づくエンコード処理は、経験的に判定された人間の聴覚の特性を利用して、人間の耳によっては知覚できない音に対応する情報を削除することによりオーディオデータを圧縮する。通常の処理においては、時間領域データサンプルのデジタルオーディオ入力データシーケンスは、離散フーリエ変換の手法を用いて、周波数領域係数の出力データデータシーケンスに変換される。一具体例においては、ＡＣ−３エンコーダは、ＭＤＣＴによりこの変換を実現する。
【００１２】
ＡＣ−３仕様書には、ＭＤＣＴ処理に必要な演算のための式が開示されている。しかしながら、この演算を直接実行するためには、相当大きな電力が必要となる。本発明の一具体例においては、ＭＤＣＴ変換回路（MDCT transformer）を用いる。このＭＤＣＴ変換回路により、ＡＣ−３仕様書に開示される式を直接用いた演算処理により得られる結果と同様の結果を得ることができる。ＭＤＣＴ変換回路における演算は、３つのステップからなる。すなわち、複素前乗算ステップ（complex-valued premultiply step）、複素高速フーリエ変換（fast Fourier transform：以下、ＦＦＴという。）ステップ、及び複素後乗算ステップ（complex-valued postmultiply step）である。複素前乗算ステップにより、入力デジタルオーディオサンプルは、非常に効率的な複素ＦＦＴ処理を行うために必要な形式に変換される。ＦＦＴによる変換処理に続いて、複素後処理ステップにより、ＦＦＴ処理されたデータの実数部と虚数部が分離される。この実数部と虚数部は、ＡＣ−３仕様書に開示される式を直接演算した場合に得られる結果と等しい結果を示す。
【００１３】
Ｆｉｇ．１は、本発明に基づく読出／書込ＤＶＤプレイヤ１００の構成を示す図である。この具体例において、読出／書込ＤＶＤプレイヤ１００は、ＤＶＤ１０２と、ヘッドアーム部材（head-arm assembly）１０４と、駆動制御回路（drive control electronics）１０６と、マルチプレクサ／デマルチプレクサ１０８と、モーションピクチャエキスパートグループ（Motion Picture Experts Group：以下、ＭＰＥＧという。）ビデオコーデック１１０と、ＡＣ−３オーディオコーデック１２０と、制御プロセッサ１３０と、操作者制御及びディスプレイ１３２とを備える。この具体例において、ＤＶＤ１０２は、オーディオ情報及びビデオ情報のデジタルデータが記録された光ディスクである。読出／書込ＤＶＤプレイヤ１００において、ＤＶＤ１０２は回転駆動され、駆動制御回路１０６は、ヘッドアーム部材を制御して、ＤＶＤ１０２に記録されているデータを読み取る。駆動制御回路１０６は、ヘッドアーム部材を介して読み取った情報から、オーディオ情報とビデオ情報が結合されたデジタルビットストリームを抽出し、この結合されたマルチプレクサ／デマルチプレクサ１０８に供給する。
【００１４】
マルチプレクサ／デマルチプレクサ１０８は、信号線１１４を介して供給されてくる結合されたデジタルビットストリームからオーディオビットストリーム及びビデオビットストリームを分離する。ビデオビットストリームは、例えば、ＭＰＥＧ−２フォーマットに準拠するものであり、ＭＰＥＧビデオコーデック１１０に供給されて処理される。ＤＶＤに記録されたビデオデータがデコードされると、デコードされたデータはアナログフォーマットに変換され、ディスプレイ又は外部ビデオモニタ装置に出力される。また、外部データ源から供給されるビデオ入力データもＭＰＥＧビデオコーデック１１０によりエンコードされ、マルチプレクサ／デマルチプレクサ１０８を介してＤＶＤ１０２に記録される。
【００１５】
この具体例においては、信号線１１４を介してマルチプレクサ／デマルチプレクサ１０８に供給される結合されたデジタルビットストリームにエンコードされているオーディオデータは、ＡＣ−３オーディオデータである。信号線１１４を介してＤＶＤ１０２に書き込まれ、及びＤＶＤ１０２から読み出されるＡＣ−３オーディオデータは、６つの定義されたオーディオチャンネルを有する。すなわち、５つのフルバンドチャンネル（ｆｂｗチャンネル）及び１つの低周波効果チャンネル（ｌｆｅチャンネル）である。
【００１６】
ＤＶＤ１０２からのデータ再生処理において、ＡＣ−３コーデック１２０には、マルチプレクサ／デマルチプレクサ１０８からＡＣ−３オーディオデータが供給され、ＡＣ−３コーデック１２０は、このＡＣ−３オーディオデータをデコードして、線形パルスコード変調（linear pulse-code-modulation：以下、ＬＰＣＭという。）オーディオデータを生成する。ＬＰＣＭオーディオデータは、さらにアナログ信号に変換され、増幅器及びラウドスピーカを備えるオーディオ装置により再生される。
【００１７】
ＤＶＤ１０２に対する記録処理においては、ＡＣ−３コーデック１２０には、入力ＬＰＣＭデータが供給され、ＡＣ−３コーデック１２０は、この入力ＬＰＣＭデータをＡＣ−３フォーマットにエンコードする。このエンコード処理について、Ｆｉｇ．２を用いて詳細に説明する。
【００１８】
Ｆｉｇ．２は、本発明に基づくＦｉｇ．１に示すＡＣ−３コーデックの構成を示す図である。この具体例においては、ＡＣ−３コーデック１２０は、ＡＣ−３デコーダ２００と、ＡＣ−３エンコーダ２１８とを備える。
【００１９】
ＡＣ−３デコーダ２００の設計に関する詳細については、ＡＣ−３仕様書に記載されており、ＡＣ−３仕様書は、参照により本発明に組み込まれるものとする。このＦｉｇ．２に示す具体例では、入力されてくるマルチチャンネルＡＣ−３ビットストリームは、まずデマルチプレクサ２０２に供給され、デマルチプレクサ２０２は、ビットストリームデータの１フレームに相当するデータを一時的にバッファリングする。各フレームは、デジタルオーディオデータの最大６つの離散チャンネル毎の２５６個の周波数領域係数に関する圧縮された情報を含んでいる。デマルチプレクサ２０２は、圧縮制御データ（compression control data）から、圧縮されている周波数領域係数（オーディオデータ）を分離する。ビットアロケータ２１２は、圧縮制御データを用いて、圧縮された周波数領域係数をどのように解凍（decompress）すべきかを判定する。この解凍処理は、逆量子化回路２０４により実行される。逆量子化回路２０４は、解凍した周波数領域係数を逆ＭＤＣＴ変換回路２０６に供給する。逆ＭＤＣＴ変換回路２０６及び窓／オーバーラップ加算回路２０８における処理により、周波数領域係数は、時間領域サンプルに変換される。時間領域サンプルは、出力バッファ２１０を介して、出力に適した形式で出力される。
【００２０】
ＡＣ−３エンコーダ２１８の構成については、ＡＣ−３仕様書には詳細な記述がない。ＡＣ−３仕様書には、汎用的な説明とアルゴリズム、及び標準的なＡＣ−３デコーダ２００により出力ＡＣ−３が確実にデコードされるために必要である場合に限り、詳細事項が記載されている。本発明の具体例では、ＡＣ−３エンコーダ２１８の主回路ブロックは、入力バッファ２２０、３Ｈｚ高域通過フィルタ２２２、ブロックサイズ制御回路２２４、窓処理回路（windower）２２８、ＭＤＣＴ変換回路２３０、サブバンドブロック浮動小数点（floating point：以下、ＦＰという。）変換回路２３６、量子化回路２３８、ビットアロケータ２４０、マルチプレクサ２４２を備える。
【００２１】
入力バッファ２２０は、入力されてくるＬＰＣＭデジタルオーディオデータをバッファリングし、３Ｈｚ高域通過フィルタは、カットオフ周波数３Ｈｚ以下の成分をフィルタリングする。ブロックサイズ制御回路２２４は、遷移成分（transient content）（時間領域サンプルのシーケンスにおける値の細かい変動）を検出し、窓処理回路２２８及びＭＤＣＴ変換回路２３０により実行される時間領域エイリアシング除去処理をサポートする。すなわち、ブロックサイズ制御回路２２４は、十分な遷移成分を検出すると、ブロック切換フラグblkswを１に設定し、これにより、ＭＤＣＴ変換回路２３０に、１つの長ブロックではなく、短ブロックの組に対して処理をするよう指示する。
【００２２】
デジタルサンプルは、入力バッファ２２０から、３Ｈｚ高域通過フィルタ２２２及び窓処理回路２２８を介してＭＤＣＴ変換回路２３０に供給される。窓処理回路２３０は、デジタルサンプルの入力ブロックにフィールダ窓（Fielder's window）（ＡＣ−３仕様書参照）を乗算し、変換境界効果（transform boundary effect）を低減させ、これにより周波数選択性を向上させる。窓処理回路２２８による窓処理の後、デジタルサンプルは、ＭＤＣＴ変換回路２３０において時間領域から周波数領域に変換される。
【００２３】
ＡＣ−３仕様書には、要求されるＭＤＣＴ処理のための次のような式が開示されている。
【００２４】
【数１】
0004031909.tif 000002
【００２５】
【数２】
0004031909.tif 000003
【００２６】
式１Ａ及び式１Ｂを用いた変換処理により、窓処理された時間領域サンプルｘ［ｎ］は、周波数領域係数ＸＤ［ｋ］に変換される。式１Ａ及び式１Ｂにおいて、長ブロック変換の場合も短ブロック変換の場合も、Ｎ＝２５６である。なお、周波数領域係数の個数は、時間領域サンプルの個数の半分となる。
【００２７】
式１Ａ又は式１Ｂに示される処理の全てを実行して、シーケンスＸＤ［ｋ］を直接算出することは可能であるが、このような処理は極めて効率が悪い。式１Ａ及び式１Ｂを直接計算した場合、演算処理はＯ［Ｎ２］、すなわちＮ２桁の複雑性を有することとなる。本発明の具他例においては、中間シーケンスＺ［ｐ］及びｚ［ｑ］を算出する。これにより、シーケンスＸＤ［ｋ］を算出するための演算処理の複雑性は、Ｏ［Ｎｌｏｇ２Ｎ］に低減される。複素前乗算ステップは、ｘ［ｎ］をＺ［ｐ］に変換する。高速フーリエ変換（ＦＦＴ）として実現されるＤＦＴは、Ｚ［ｐ］をｚ［ｑ］に変換する。そして、複素後乗算ステップは、ｚ［ｑ］をＸＤ［ｋ］に変換する。この３つのステップの詳細については、Ｆｉｇ．４を用いて後に詳細に説明する。
【００２８】
ＭＤＣＴ変換回路２３０により時間領域サンプルが周波数領域係数に変換された後、サブバンドブロックＦＰ変換回路２３６は、周波数領域係数を浮動小数点データ（floating-point representation）に変換する。この浮動小数点データは、指数データ及び仮数データを含んでいる。サブバンドブロックＦＰ変換回路２３６は、指数データをビットアロケータ２４０に供給し、仮数データ２３８を量子化回路２３８に供給する。量子化回路２３８は、ビットアロケータ２４０からの出力信号に基づいて、仮数データを量子化する。ビットアロケータ２４０及び量子化回路２３８は、マスキング関数を超える音にのみビットを割り当て、有限数のビットにデータを量子化することにより、実際のデータ圧縮処理を行う。この処理により、人間の耳には感知されない音がデータビットに割り当てられるようなことはなくなる。量子化誤差が人間の耳に感知されない範囲における限界レベルで量子化を行うことにより、さらに圧縮効率を高めることができる。圧縮された周波数領域係数は、マルチプレクサ２４２に供給され、マルチプレクサ２４２は、この周波数領域係数をＡＣ−３フレームにパッキングする。生成されたＡＣ−３フレームは、マルチプレクサ２４２からエンコーダ２１８の外部に出力される。
【００２９】
Ｆｉｇ．３は、本発明に基づくサンプル変換処理及び時間領域エイリアシング除去処理のタイミングチャートである。この具体例においては、ＬＰＣＭフォーマットの６つの独立したチャンネルのデジタルオーディオデータが供給される。Ｆｉｇ．３では、説明を簡潔に行うため、チャンネル１に対応するデジタルデータシーケンスのみを示している。Ｆｉｇ．３に示す番号付けされた各ブロックは、それぞれ５１２個のデジタルオーディオサンプルを含んでいる。６つの独立したチャンネルを有するこの具体例において、チャンネル１のブロックは、他のチャンネル（図示せず）のブロックとインターリーブされている。
【００３０】
Ｆｉｇ．３に示す具体例において、ブロックサイズ制御回路２２４は、遷移成分（transient contents）が十分高いか否かを判定するにあたり、複数の判定基準を用いる。これら判定基準の１つにおいて、ブロックサイズ制御回路２２４は、ブロック後半（second half）の遷移成分を検査する。様々な判定基準の結果、遷移成分が十分高いと判定された場合、ブロック切換フラグblkswは、１に設定される。Ｆｉｇ．３に示す具体例において、ブロック１（３１０）の遷移成分は十分高くないと判定され、したがってブロック切換フラグblksw[1]は、０（３１４）に設定される。これにより、ＭＤＣＴ変換回路２３０は、現在のブロック１（３１０）に対して長ブロック変換処理３０４を実行する。ブロック２（３２４）に対しても同様の処理が行われる。
【００３１】
ブロック３（３４０）に対する処理において、ブロックサイズ制御回路２２４は、遷移成分が十分高いと判定し、したがってブロック切換フラグblksw[1]は、１（３３０）に設定される。ブロック切換フラグblksw[1]が１に設定されると、ＭＤＣＴ変換回路２３０はこれを認識し、現在のブロック３（３４０）に対して、２個１組の短ブロック変換処理３３２，３２４を実行する。
【００３２】
後続する一連のブロックに対し、ブロックサイズ制御回路２２４は、バッファリングされたブロックにおける遷移成分を検査し、この検査の結果に応じて、ブロック切換フラグblksw[1]を適切に設定する。このようにして、変換ブロックの長さは、略リアルタイムに連続的に調整される。これにより、ブロック長が不適切である場合に引き起こるプレエコー効果の発生が抑制される。
【００３３】
Ｆｉｇ．４Ａは、本発明に基づく高速計算修正離散コサイン変換（fast computational modified cosine transform）を行うＦｉｇ．２に示すＭＤＣＴ変換回路２３０の内部構成の具体例を示す図である。Ｆｉｇ．４Ａに示すＭＤＣＴ変換回路２３０は、デジタル信号処理（digital signal processor:以下、ＤＳＰという。）コア４００と、読出／書込ランダムアクセスメモリ（以下、ＲＡＭという。）４１０と、プログラム可能読出専用メモリ（ＰＲＯＭ）４２０とを備える。この具体例において、ＤＳＰコア４００は、３つのソフトウェアモジュールを実行し、これによりＴＤＡＣのためのＭＤＣＴ変換を効率的に実現するための３つの処理ステップを制御する。これら３つのソフトウェアモジュールとは、前乗算モジュール（premultiplier）４３０、ＤＦＴモジュール４４０、後乗算モジュール（postmultiplier）４５０である。Ｆｉｇ．４Ａに示す具体例において、前乗算モジュール４３０は、デジタルオーディオサンプルに対する乗算及び処理を行う。これにより、デジタルオーディオサンプルは、ＤＦＴ４４０により処理できるデータとなる。前乗算モジュール４３０から供給され、ＤＦＴ４４０により変換処理されたデータは、後乗算モジュール４５０によりさらに処理され、これにより、上述した式１Ａ及び式１Ｂを直接演算して得られるデータと同等のデータが得られ、すなわち標準的なＡＣ−３デコーダに互換性を有するデータが得られる。
【００３４】
前乗算モジュール４３０、ＤＦＴモジュール４４０、後乗算モジュール４５０における基本的な処理の概要を以下、擬似コードとして示す。ここに示す擬似コードは、説明のため、汎用のプログラミング言語を用いて書かれたソースコードとして示すが、これは例示的なものであり、特定のコンパイラによりコンパイルすることを限定するものではない。ここでは、例示的に、擬似コードをＣプログラミング言語のフォーマット及び定義に基づいて記述する。下記のコード例１は、長ブロック変換のための前乗算モジュール４３０の擬似コードの具体例である。
【００３５】
【数３】
0004031909.tif 000004
【００３６】
ここで、ｐは出力シーケンスＺ［ｐ］における変数を表し、ｊは虚数単位を表し、Ｎ＝２５６であり、ｘ［ｎ］は窓処理された入力サンプルを表す。なお、出力シーケンスＺ［ｐ］は、Ｎ／２＝１２８個の複素値要素（complex-valued elements）を有する。
【００３７】
下記のコード例２は、短ブロック変換のための前乗算モジュール４３０の擬似コードの具体例である。この具体例において、前乗算モジュール４３０は、第１の短ブロックと第２の短ブロックの両方を同時に処理し、第1の短ブロックに対応する出力シーケンスＺ１［ｐ］と、第２の短ブロックに対応する出力シーケンスＺ２［ｐ］を生成する。
【００３８】
【数４】
0004031909.tif 000005
【００３９】
ここで、ｐは出力シーケンスＺ１［ｐ］及びＺ２［ｐ］における変数を表し、ｊは虚数単位を表し、Ｎ＝２５６であり、ｘ［ｎ］は窓処理された入力サンプルを表す。なお、サブシーケンスＺ１［ｍ］及びＺ２［ｍ］は、それぞれ６４（４３）個の要素を含み、したがって、各サブシーケンスは４を基数とするＦＦＴ（radix-4 FFT）による変換処理に適合している。
【００４０】
前処理モジュール４３０が入力シーケンスｘ［ｎ］をＺ［ｐ］に変換した後、ＤＦＴ４４０は、このＺ［ｐ］に対する変換処理を行う。長ブロック変換処理の場合、ＤＦＴ４４０は、Ｚ［ｐ］の１２８個の要素を中間シーケンスｚ［ｑ］の１２８個の要素に変換する。短ブロック変換処理の場合、ＤＦＴ４４０は、Ｚ１［ｐ］の６４個の要素をｚ１［ｑ］の６４個の要素に変換し、Ｚ２［ｐ］の６４個の要素をｚ２［ｑ］の６４個の要素に変換する。
【００４１】
下記のコード例３は、長ブロック変換のためのＤＦＴモジュール４４０の擬似コードの具体例である。
【００４２】
【数５】
0004031909.tif 000006
【００４３】
ここで、ｐは複素入力シーケンスＺ［ｐ］における変数を表し、ｑは複素出力シーケンスｚ［ｑ］における変数を表し、Ｎ＝２５６であり、ｊは虚数単位を表す。ｚ［ｑ］の実数部と虚数部をｚ［ｑ］＝ｚｒ［ｑ］＋ｊｚｉ［ｑ］のように表すと有効である。
【００４４】
下記のコード例４は、短ブロック変換のためのＤＦＴモジュール４４０の擬似コードの具体例である。この具体例において、ＤＦＴモジュール４４０は、第1の短ブロックと第２の短ブロックの両方を同時に処理し、第1の短ブロックに対応する出力シーケンスｚ１［ｑ］と、第２の短ブロックに対応する出力シーケンスｚ２［ｑ］を生成する。
【００４５】
【数６】
0004031909.tif 000007
【００４６】
ここで、ｐは複素入力シーケンスＺ［ｐ］における変数を表し、ｑは複素出力シーケンスｚ［ｑ］における変数を表し、Ｎ＝２５６であり、ｊは虚数単位を表す。
【００４７】
Ｆｉｇ．４に示す具体例では、ＤＦＴモジュール４４０がシーケンスＺ［ｐ］をｚ［ｑ］に変換した後、後乗算モジュール４５０がｚ［ｑ］に対する処理を行う。長ブロック変換の場合、後乗算モジュール４５０は、ｚ［ｑ］の１２８個の要素を複素シーケンスｙ［ｋ］の１２８個の要素に変換する。ｙ［ｋ］の要素の実数部と虚数部は、分離及びシャッフルされ、これにより実数として表される最終的な出力シーケンスＸＤ［ｋ］の２５６個の要素が生成される。短ブロック変換処理の場合、後乗算モジュール４５０は、ｚ１［ｑ］の６４個の要素を複素シーケンスｙ１［ｋ］の６４個の要素に変換し、ｚ２［ｑ］の６４個の要素を複素シーケンスｙ２［ｋ］の６４個の要素に変換する。ｙ１［ｋ］の要素の実数部と虚数部は、分離及びシャッフルされ、これにより実数の最終的な出力シーケンスＸ１Ｄ［ｋ］の１２８個の要素が生成される。また、ｙ２［ｋ］の要素の実数部と虚数部は、分離及びシャッフルされ、これにより実数として表される最終的な出力シーケンスＸ２Ｄ［ｋ］の１２８個の要素が生成される。
【００４８】
下記のコード例５は、長ブロック変換のための後乗算モジュール４５０の擬似コードの具体例である。
【００４９】
【数７】
0004031909.tif 000008
【００５０】
ここで、ｋは出力シーケンスｙ［ｋ］における変数を表し、Ｎ＝２５６であり、ｊは虚数単位を表す。
【００５１】
実数として表される最終的な出力シーケンスＸＤ［ｋ］は、複素シーケンスｙ［ｋ］の実数部及び虚数部を分離及びシャッフルして得られるものであり、ここで、ｙ［ｋ］＝ｙｒ［ｋ］＋ｊｙｉ［ｋ］である。ｋが偶数である場合、ＸＤ［ｋ］＝ｙｒ［ｋ／２］であり、ｋが奇数である場合、ＸＤ［ｋ］＝ｙｉ［Ｎ／２−１−（ｋ−１）／２］である。
【００５２】
下記のコード例６は、短ブロック変換のための後乗算モジュール４５０の擬似コードの具体例である。この具体例において、後乗算モジュール４５０は、第１の短ブロックと第２の短ブロックの両方を同時に処理し、第１の短ブロックに対応する出力シーケンスＸ１Ｄ［ｋ］と、第２の短ブロックに対応する出力シーケンスＸ２Ｄ［ｋ］を生成する。
【００５３】
【数８】
0004031909.tif 000009
【００５４】
ここで、ｋは出力シーケンスｙ１［ｋ］及びｙ２［ｋ］における変数を表し、Ｎ＝２５６であり、ｊは虚数単位を表す。
【００５５】
実数として表される最終的な出力シーケンスＸ１Ｄ［ｋ］は、複素シーケンスｙ１［ｋ］の実数部及び虚数部を分離及びシャッフルして得られるものであり、ここで、ｙ１［ｋ］＝ｙ１ｒ［ｋ］＋ｊｙ１ｉ［ｋ］である。ｋが偶数である場合、Ｘ１Ｄ［ｋ］＝ｙ１ｒ［ｋ／２］であり、ｋが奇数である場合、Ｘ１Ｄ［ｋ］＝ｙ１ｉ［Ｎ／４−１−（ｋ−１）／２］である。同様に、実数として表される最終的な出力シーケンスＸ２Ｄ［ｋ］は、複素シーケンスｙ２［ｋ］の実数部及び虚数部を分離及びシャッフルして得られるものであり、ここで、ｙ２［ｋ］＝ｙ２ｒ［ｋ］＋ｊｙ２ｉ［ｋ］である。ｋが偶数である場合、Ｘ２Ｄ［ｋ］＝ｙ２ｒ［ｋ／２］であり、ｋが奇数である場合、Ｘ２Ｄ［ｋ］＝ｙ２ｉ［Ｎ／４−１−（ｋ−１）／２］である。
【００５６】
Ｆｉｇ．４に示す具体例により生成される実数として表される最終的な出力シーケンスＸＤ［ｋ］は、上述した式１Ａ及び式１Ｂ（ＡＣ−３仕様書に基づく）を用いた直接計算により得られるＸＤ［ｋ］に一致する。
【００５７】
Ｆｉｇ．４Ｂは、本発明に基づく、Ｆｉｇ．２に示すＭＤＣＴ変換回路２３０の変形例を示す図である。Ｆｉｇ．４Ｂに示す本発明の変形例では、コード例３及びコード例４に示す離散フーリエ変換（ＤＦＴ）が高速フーリエ変換（ＦＦＴ）に置換されている。（高速フーリエ変換という用語は、ジェイ・ダブリュー・クーレイ（J.W.Cooley）及びジェイ・ダブリュー・トゥキー(J.W.Tukey)により提唱された離散フーリエ変換のための一連の効率的なアルゴリズムを集合的に指すものとする。）ＤＦＴをＦＦＴに置換することにより、ＭＤＣＴ処理における計算の複雑性は、Ｏ（Ｎ２）からＯ（Ｎｌｏｇ２Ｎ）に低減される。
【００５８】
ＤＦＴ処理のための効率的なＦＦＴアルゴリズムは、計算をより小さなＤＦＴ計算に分割する。この計算の分割は、全てのＦＦＴアルゴリズムの基本的な原理である。６４点（２６又は４３に相当する）のＤＦＴ計算は、６段からなる２点のＤＦＴ計算又は３段からなる４点のＤＦＴ計算に分割される。６段からなる２点のＤＦＴ計算は、基数２ＦＦＴアルゴリズム（radix-2 FFT algorithm）と呼ばれる。３段からなる４点のＤＦＴ計算は、基数４ＦＦＴアルゴリズム（radix-4 FFT algorithm）と呼ばれる。本発明においては、基数４ＦＦＴアルゴリズムは基数２アルゴリズムに比べて計算の複雑性が低いため、基数４アルゴリズムを用いることが好ましい。一般的に、基数が大きいほど、ＦＦＴにおける対称性の効果が発揮される。この対称性と、計算処理段の少なさのため、基数４ＦＦＴアルゴリズムは基数２ＦＦＴアルゴリズムより効率的である。
【００５９】
Ｆｉｇ．４Ｂに示す具体例では、Ｆｉｇ．４ＡのＤＦＴ４４０がＦＦＴ４６０に置き換えられている。上述のとおり、ＴＤＡＣ変換されるブロックの長さは、長ブロック変換の場合５１２（２９）、短ブロック変換の場合（２８＝４４）である。Ｆｉｇ．４Ｂに示す具体例においては、前乗算モジュール４３０は、入力デジタルオーディオサンプルｘ［ｎ］を処理して、新たなシーケンスＺ［ｐ］に変換する。長ブロック変換の場合、シーケンスＺ［ｐ］は、１２８個のサンプルを含んでいる。１２８＝２×４３であるため、シーケンスＺ［ｐ］は、２個１組の基数４変換に縦続（cascade）接続された基数２変換により変換できる。短ブロック変換のためのサブシーケンスＺ１［ｐ］，Ｚ２［ｐ］は、それぞれ６４個のサンプルを含んでいる。６４＝４３であるため、短ブロック変換のサブシーケンスＺ１［ｐ］，Ｚ２［ｐ］に対しては、より効率的な基数４ＦＦＴを行うことができる。
【００６０】
下記のコード例７は、長ブロック変換のためのＦＦＴモジュール４６０の擬似コードの具体例である。ここで、コード例７における関数FFT_radix4_128は、関数FFT_radix4_64を２回呼び出すことにより2個１組の基数４ＦＦＴに縦続接続された基数２ＦＦＴを用いる。関数FFT_radix4_64の具体例は、コード例８として後に示す。
【００６１】
【数９】
0004031909.tif 000010
【００６２】
ここで、Ｒ［ｉ］はＺ［ｉ］の実数部を表し、Ｉ［ｉ］はＺ［ｉ］の虚数部を表し、ｉ＝０，１，・・・Ｎ／２−１である。
【００６３】
下記のコード例８は、短ブロック変換のためのＦＦＴモジュール４６０の擬似コードの具体例である。コード例８において、関数FFT_radix4_64は、入力データを含むアレイへの指示を行う関数である。
【００６４】
【数１０】
0004031909.tif 000011
【００６５】
【数１１】
0004031909.tif 000012
【００６６】
Ｆｉｇ．５は、本発明に基づく修正離散コサイン変換の処理手順を示すフローチャートである。このＦｉｇ．５に示す手順において、窓処理回路（windower）２２８窓処理したデジタルオーディオサンプルのブロックをオーディオチャンネルchからＭＤＣＴ変換回路２３０に供給する。ブロックサイズ制御回路２２４は、オーディオチャンネルch用のブロック切換フラグblksw[ch]の値を判定する。チャンネルchのデジタルオーディオサンプルの初期ブロックが窓処理回路２２８からＭＤＣＴ変換回路２３０に供給できる状態になると、処理はステップ５００において開始される。
【００６７】
ＭＤＣＴ変換回路２３０は、ステップ５１０において、窓処理回路２２８から５１２個のデジタルオーディオサンプルのブロックを受け取る。ＭＤＣＴ変換回路２３０は、判定ステップであるステップ５１４において、blksw[ch]フラグの値を直ちに確認する。blksw[ch]の値が０の場合、ＭＤＣＴ変換回路２３０は、長ブロック変換処理を行う。長ブロック変換処理は、ステップ５１８において開始され、このステップ５１８では、長ブロックに対する前乗算処理により入力シーケンスｘ［ｎ］が中間シーケンスＺ［ｐ］に変換される。ＭＤＣＴ変換回路２３０は、ステップ５２０において、ＤＦＴ処理を実行し、中間シーケンスＺ［ｐ］を中間シーケンスｚ［ｑ］に変換する。そして、ＭＤＣＴ変換回路２３０は、ステップ５２４において、長ブロック後乗算処理を実行し、中間シーケンスｚ［ｑ］を出力シーケンスＸＤ［ｋ］に変換する。
【００６８】
ＭＤＣＴ変換回路２３０は、ステップ５２６において、上述のようにして得られた出力シーケンスＸＤ［ｋ］をサブバンドブロックＦＰ変換回路２３６に供給する。ＭＤＣＴ変換回路２３０は、ステップ５４４において、窓処理回路２２８内にさらなるデジタルオーディオサンプルのさらなるブロックが存在するか否かを判定する。この判定の結果がＮＯである場合、ＭＤＣＴ変換回路２３０は、ステップ５５０に進み、処理を終了する。一方、この判定の結果がＹＥＳである場合、ＭＤＣＴ変換回路２３０は、ステップ５１０に戻り、さらなるデジタルオーディオサンプルのブロックを入力し、Ｆｉｇ．５に示す処理を繰り返す。
【００６９】
上述の手順は、ＭＤＣＴ変換回路２３０がステップ５１４において、blksw[ch]フラグの値が０であると判定した場合の手順である。一方、blksw[ch]の値が１である場合、ＭＤＣＴ変換回路２３０は、２個１組の短ブロック変換処理を行う。ＭＤＣＴ変換回路２３０は、ステップ５３０において、短ブロック前乗算処理を実行し、これにより、入力シーケンスｘ［ｎ］は１組の中間シーケンスＺ１［ｐ］，Ｚ２［ｐ］に変換される。ＭＤＣＴ変換回路２３０は、ステップ５３４において、分岐ＤＦＴ（bifurcated DFT）を行い、これにより、中間シーケンスＺ１［ｐ］，Ｚ２［ｐ］を中間シーケンスｚ１［ｑ］，ｚ２［ｑ］に変換する。そして、ＭＤＣＴ変換回路２３０は、ステップ５３８において、短ブロック後乗算処理を実行し、中間シーケンスｚ１［ｑ］，ｚ２［ｑ］を出力シーケンスＸ１Ｄ［ｋ］，Ｘ２Ｄ［ｋ］に変換する。
【００７０】
ＭＤＣＴ変換回路２３０は、ステップ５４０において、上述のようにして得られた出力シーケンスＸ１Ｄ［ｋ］，Ｘ２Ｄ［ｋ］をサブバンドブロックＦＰ変換回路２３６に供給する。ＭＤＣＴ変換回路２３０は、ステップ５４４において、窓処理回路２２８内にさらなるデジタルオーディオサンプルのさらなるブロックが存在するか否かを判定する。この判定の結果がＮＯである場合、ＭＤＣＴ変換回路２３０は、ステップ５５０に進み、処理を終了する。一方、この判定の結果がＹＥＳである場合、ＭＤＣＴ変換回路２３０は、ステップ５１０に戻り、さらなるデジタルオーディオサンプルのブロックを入力し、Ｆｉｇ．５に示す処理を繰り返す。
【００７１】
以上、本発明の好適な実施の形態を説明した。以上の説明から、当該技術分野の専門家はこの他の実施の形態を容易に想到することができる。例えば、本発明は、上述した実施の形態とは異なる異なる環境において、異なる技術を用いても実現できる。さらに、本発明は、ここで具体的に示したシステムとは異なるシステムにおいても効果的に実現できる。したがって、上述の実施の形態に対するこれらの及びその他の変形例は、本発明の範囲内にあり、本発明の範囲は、添付の請求の範囲によってのみ限定されるものである。
【図面の簡単な説明】
【図１】  Ｆｉｇ．１は、本発明に基づく読出／書込ＤＶＤ再生装置の具体例を示す図である。
【図２】  Ｆｉｇ．２は、本発明に基づく、Ｆｉｇ．１に示すエンコーダ／デコーダ（コーデック）の構成例を示す図である。
【図３】  Ｆｉｇ．３は、本発明に基づくサンプル変換処理及び時間領域エイリアシング除去処理のタイミングチャートである。
【図４】  Ｆｉｇ．４Ａは、本発明に基づく、図２に示す高速計算を行う修正離散コサイン変換回路の構成例を示す図である。
【図５】  Ｆｉｇ．４Ｂは、本発明に基づく、図２に示す高速計算を行う修正離散コサイン変換回路の変形構成例を示す図である。
【図６】  Ｆｉｇ．５は、本発明に基づく修正離散コサイン変換処理の手順を示すフローチャートである。
【図１】
0004031909.tif 000013
【図２】
0004031909.tif 000014
【図３】
0004031909.tif 000015
【図４】
0004031909.tif 000016
【図５】
0004031909.tif 000017
【図６】
0004031909.tif 000018