(57)【要約】【課題】周波数領域の信号を時間周波数領域の信号に変換する際の演算量を削減可能な直交変換装置を提供する。【解決手段】直交変換装置（１６、１６’）は、基底関数の値が対称となるように複数の直交ミラーフィルタ係数を含む係数列が分割された複数のサブ区間のうちの第１のサブ区間に含まれる直交ミラーフィルタ係数の実数成分及び虚数成分のうちの一方を、そのサブ区間に対応する基底関数と各修正離散コサイン変換係数の積和演算により算出するとともに、第１のサブ区間に含まれる直交ミラーフィルタ係数の実数成分及び虚数成分のうちの他方、及び他のサブ区間に含まれる直交ミラーフィルタ係数の実数成分及び虚数成分を、その積和演算により算出される演算値を利用したバタフライ演算により算出する逆指数変換部２２と、各直交ミラーフィルタ係数を、その実数成分と虚数成分を合成することで算出する係数調整部２３とを有する。【選択図】図７
2014194633.tif 000002
【特許請求の範囲】
【請求項１】
所定の区間に含まれる複数の修正離散コサイン変換係数を複数の直交ミラーフィルタ係数を含む係数列に変換する直交変換装置であって、
前記係数列を算出するために用いられる基底関数の値が対称となるように前記係数列が分割された複数のサブ区間のうちの第１のサブ区間に含まれる前記直交ミラーフィルタ係数の実数成分及び虚数成分のうちの一方を、当該第１のサブ区間に対応する前記基底関数と前記複数の修正離散コサイン変換係数の積和演算により算出するとともに、当該第１のサブ区間に含まれる前記直交ミラーフィルタ係数の実数成分及び虚数成分のうちの他方、及び前記複数のサブ区間のうちの他のサブ区間に含まれる前記直交ミラーフィルタ係数の実数成分及び虚数成分を、前記積和演算により算出される演算値を利用したバタフライ演算により算出する逆指数変換部と、
前記複数の直交ミラーフィルタ係数のそれぞれについて、前記実数成分と前記虚数成分を合成することで当該直交ミラーフィルタ係数を算出する係数調整部と、
を有する直交変換装置。
【請求項２】
前記逆指数変換部は、
前記第１のサブ区間に対応する前記基底関数と前記複数の修正離散コサイン変換係数の積和演算により前記演算値を算出する局所乗算部と、
前記演算値を記憶する記憶部と、
前記記憶部から前記演算値を読み込んで、前記複数のサブ区間のそれぞれごとに、当該サブ区間に含まれる前記直交ミラーフィルタ係数の実数成分及び虚数成分を算出する係数算出部と、を有する請求項１に記載の直交変換装置。
【請求項３】
前記局所乗算部は、奇数番目の修正離散コサイン変換係数と前記第１のサブ区間に含まれる前記直交ミラーフィルタ係数の実数成分に対応する前記基底関数のうちの奇数番目の基底関数値との積の総和、及び、偶数番目の修正離散コサイン変換係数と前記第１のサブ区間に含まれる前記直交ミラーフィルタ係数の実数成分に対応する前記基底関数のうちの偶数番目の基底関数値との積の総和を、前記演算値として算出する、請求項２に記載の直交変換装置。
【請求項４】
前記係数算出部は、前記複数のサブ区間のうち、前記基底関数の値が前記第１のサブ区間に対応する前記基底関数の値と対称となるサブ区間に含まれる各直交ミラーフィルタ係数の実数成分を、前記第１のサブ区間に含まれる各直交ミラーフィルタ係数の実数成分の順序を反転させることで算出する、請求項３に記載の直交変換装置。
【請求項５】
前記第１のサブ区間は、前記係数列の前半のうちの前半及び後半の何れか一方と、前記係数列の後半のうちの前半及び後半の何れか一方を含む、請求項３または４に記載の直交変換装置。
【請求項６】
前記係数算出部は、前記係数列の前半内の前半及び後半のうちの前記第１のサブ区間に含まれない方についての前記直交ミラーフィルタ係数の虚数成分を、前記係数列の後半内の前半及び後半のうちの前記第１のサブ区間に含まれる方について算出された前記演算値に対して、前記直交ミラーフィルタ係数の実数成分に対する前記基底関数と前記直交ミラーフィルタ係数の虚数成分に対する前記基底関数間の位相のずれを補償することで算出する、請求項５に記載の直交変換装置。
【請求項７】
前記複数の修正離散コサイン変換係数に対して高速フーリエ変換を利用した逆修正離散コサイン変換を実行することで前記複数の直交ミラーフィルタ係数の実数成分を算出するとともに、前記複数の修正離散コサイン変換係数に対して高速フーリエ変換を利用した逆修正離散サイン変換を実行することで前記複数の直交ミラーフィルタ係数の虚数成分を算出する第２の逆指数変換部と、
前記所定区間に含まれる前記修正離散コサイン変換係数の数に応じて、前記逆指数変換部及び前記第２の逆指数変換部の何れか一方に前記複数の直交ミラーフィルタ係数の実数成分及び虚数成分を算出させる切り替え部と、
をさらに有する請求項１〜６の何れか一項に記載の直交変換装置。
【請求項８】
前記切り替え部は、前記所定区間に含まれる前記修正離散コサイン変換係数の数が８よりも小さいかまたは当該数が２のべき乗でない場合、前記逆指数変換部に前記複数の直交ミラーフィルタ係数の実数成分及び虚数成分を算出させ、一方、前記所定区間に含まれる前記修正離散コサイン変換係数の数が８以上であり、かつ、当該数が２のべき乗である場合、前記第２の逆指数変換部に前記複数の直交ミラーフィルタ係数の実数成分及び虚数成分を算出させる、請求項７に記載の直交変換装置。
【請求項９】
前記第２の逆指数変換部は、
前記所定区間の前半に含まれる前記修正離散コサイン変換係数と前記所定区間の後半に含まれる前記修正離散コサイン変換係数の順序を入れ替える入れ替え部と、
前記順序の入れ替え後における前記所定区間の後半の前記修正離散コサイン変換係数の符号を反転する反転部と、
前記順序の入れ替え後における前記所定区間の前半の前記修正離散コサイン変換係数に対して高速フーリエ変換を利用した逆修正離散コサイン変換を実行することで第１の係数を算出する第１のサブ逆コサイン変換部と、
前記順序の入れ替え後における前記所定区間の後半の符号反転された前記修正離散コサイン変換係数に対して高速フーリエ変換を利用した逆修正離散コサイン変換を実行することで第２の係数を算出する第２のサブ逆コサイン変換部と、
前記第１の係数と前記第２の係数を加算することで前記直交ミラーフィルタ係数の実数成分を算出する加算部と、
を有する請求項７または８に記載の直交変換装置。
【請求項１０】
所定の区間に含まれる複数の修正離散コサイン変換係数を複数の直交ミラーフィルタ係数を含む係数列に変換する直交変換方法であって、
前記係数列を算出するために用いられる基底関数の値が対称となるように前記係数列が分割された複数のサブ区間のうちの第１のサブ区間に含まれる前記直交ミラーフィルタ係数の実数成分及び虚数成分のうちの一方を、当該第１のサブ区間に対応する前記基底関数と前記複数の修正離散コサイン変換係数の積和演算により算出し、
当該第１のサブ区間に含まれる前記直交ミラーフィルタ係数の実数成分及び虚数成分のうちの他方、及び前記複数のサブ区間のうちの他のサブ区間に含まれる前記直交ミラーフィルタ係数の実数成分及び虚数成分を、前記積和演算により算出される演算値を利用したバタフライ演算により算出し、
前記複数の直交ミラーフィルタ係数のそれぞれについて、前記実数成分と前記虚数成分を合成することで当該直交ミラーフィルタ係数を算出する、
ことを含む直交変換方法。
【請求項１１】
所定の区間に含まれる複数の修正離散コサイン変換係数を複数の直交ミラーフィルタ係数を含む係数列に変換することをコンピュータに実行させるための直交変換用コンピュータプログラムであって、
前記係数列を算出するために用いられる基底関数の値が対称となるように前記係数列が分割された複数のサブ区間のうちの第１のサブ区間に含まれる前記直交ミラーフィルタ係数の実数成分及び虚数成分のうちの一方を、当該第１のサブ区間に対応する前記基底関数と前記複数の修正離散コサイン変換係数の積和演算により算出し、
当該第１のサブ区間に含まれる前記直交ミラーフィルタ係数の実数成分及び虚数成分のうちの他方、及び前記複数のサブ区間のうちの他のサブ区間に含まれる前記直交ミラーフィルタ係数の実数成分及び虚数成分を、前記積和演算により算出される演算値を利用したバタフライ演算により算出し、
前記複数の直交ミラーフィルタ係数のそれぞれについて、前記実数成分と前記虚数成分を合成することで当該直交ミラーフィルタ係数を算出する、
ことをコンピュータに実行させるための直交変換用コンピュータプログラム。
【請求項１２】
複数のチャネルを持つオーディオ信号の各チャネルの信号をダウンミックスすることにより生成される各チャネルの主成分を表す主信号を符号化した主信号符号と、前記主信号と直交する残差信号に対して修正離散コサイン変換処理を行って得られた係数を符号化した残差信号符号と、チャネル間の類似度及び強度差を表す空間情報を符号化した空間情報符号とを含むデータストリームから前記オーディオ信号を復号するオーディオ復号装置であって、
前記データストリームから前記主信号符号、前記残差信号符号及び前記空間情報を符号を分離する分離部と、
前記主信号符号を復号することにより時間領域の前記主信号を再生する主信号復号部と、
前記時間領域の前記主信号に対して直交ミラーフィルタ処理を行うことにより、時間周波数領域の直交ミラーフィルタ係数に変換する直交ミラーフィルタ処理部と、
前記空間情報符号を復号することにより前記空間情報を再生する空間情報復号部と、
前記残差信号符号を復号することにより、前記残差信号の修正離散コサイン変換係数を再生する残差信号復号部と、
周波数帯域全体を区切る、半分ずつ重なるように設定された複数の所定の区間のそれぞれごとに、当該所定の区間に含まれる前記残差信号の修正離散コサイン変換係数を時間周波数領域の複数の直交ミラーフィルタ係数を含む係数列に変換する直交変換部と、
前記主信号の直交ミラーフィルタ係数と、前記残差信号の直交ミラーフィルタ係数とを、前記空間情報を用いてアップミックスすることにより、前記オーディオ信号の各チャネルの直交ミラーフィルタ係数を算出するアップミックス部と、
前記各チャネルの直交ミラーフィルタ係数に対して逆直交ミラーフィルタ処理を行うことにより、前記オーディオ信号の各チャネルの信号を再生する逆直交ミラーフィルタ処理部とを有し、
前記直交変換部は、
前記係数列を算出するために用いられる基底関数の値が対称となるように前記係数列が分割された複数のサブ区間のうちの第１のサブ区間に含まれる前記残差信号の前記直交ミラーフィルタ係数の実数成分及び虚数成分のうちの一方を、当該第１のサブ区間に対応する前記基底関数と前記複数の修正離散コサイン変換係数の積和演算により算出するとともに、当該第１のサブ区間に含まれる前記残差信号の前記直交ミラーフィルタ係数の実数成分及び虚数成分のうちの他方、及び前記複数のサブ区間のうちの他のサブ区間に含まれる前記残差信号の前記直交ミラーフィルタ係数の実数成分及び虚数成分を、前記積和演算により算出される演算値を利用したバタフライ演算により算出する逆指数変換部と、
前記残差信号の前記複数の直交ミラーフィルタ係数のそれぞれについて、前記実数成分と前記虚数成分を合成することで当該直交ミラーフィルタ係数を算出する係数調整部と、
を有するオーディオ復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、直交変換装置、直交変換方法及び直交変換用コンピュータプログラム及びそれらを利用したオーディオ復号装置に関する。
【背景技術】
【０００２】
従来より、3チャネル以上のチャネルを持つマルチチャネルオーディオ信号のデータ量を圧縮するためのオーディオ信号の符号化方式が開発されている。そのような符号化方式の一つとして、Moving Picture Experts Group (MPEG)により標準化されたMPEG Surround方式が知られている（例えば、非特許文献１を参照）。MPEG Surround方式では、複数チャネルの信号をダウンミックスすることにより、元の各チャネルの信号の主要成分を表す主信号と空間情報が生成され、この主信号及び空間情報が符号化される。さらに、この符号化方式では、主信号と直交する成分を表す残差信号がさらに算出され、その残差信号も符号化されることがある。
【０００３】
主信号及び残差信号は、ダウンミックスにより得られた信号が一旦時間領域の信号に変換された後、さらに、修正離散コサイン変換(Modified Discrete Cosine Transform, MDCT)によって周波数領域の信号に変換されることによって得られる。このうち、主信号は、復号される際、空間情報を用いてアップミックスするために、一旦時間領域の信号に変換された後、直交ミラーフィルタ(Quadrature Mirror Filter, QMF)により、時間周波数領域の信号であるQMF係数に変換される。そのため、残差信号をアップミックスの際に利用するために、周波数領域の残差信号も時間周波数領域のQMF係数に変換される。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】ISO/IEC23003-1
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のように、MPEG Surround方式で符号化されたオーディオ信号を復号するためには、MDCT、QMFなどの直交変換処理を何度も実行することになるので、演算量が非常に多い。そして演算量が多いほど、オーディオ復号装置に要求される演算能力も高くなり、かつ、オーディオ復号装置の消費電力も多くなる。そのため、MPEG Surround方式で符号化されたオーディオ信号を復号するために要する演算量を削減することが求められている。
【０００６】
そこで、本明細書は、一つの側面として、周波数領域の信号を時間周波数領域の信号に変換する際の演算量を削減可能な直交変換装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
一つの実施形態によれば、所定の区間に含まれる複数の修正離散コサイン変換係数を複数の直交ミラーフィルタ係数を含む係数列に変換する直交変換装置が提供される。この直交変換装置は、直交ミラーフィルタ係数の係数列を算出するために用いられる基底関数の値が対称となるように係数列が分割された複数のサブ区間のうちの第１のサブ区間に含まれる直交ミラーフィルタ係数の実数成分及び虚数成分のうちの一方を、第１のサブ区間に対応する基底関数と複数の修正離散コサイン変換係数の積和演算により算出するとともに、第１のサブ区間に含まれる直交ミラーフィルタ係数の実数成分及び虚数成分のうちの他方、及び複数のサブ区間のうちの他のサブ区間に含まれる直交ミラーフィルタ係数の実数成分及び虚数成分を、積和演算により算出される演算値を利用したバタフライ演算により算出する逆指数変換部と、複数の直交ミラーフィルタ係数のそれぞれについて、実数成分と虚数成分を合成することでその直交ミラーフィルタ係数を算出する係数調整部とを有する。
【０００８】
本発明の目的及び利点は、請求項において特に指摘されたエレメント及び組み合わせにより実現され、かつ達成される。
上記の一般的な記述及び下記の詳細な記述の何れも、例示的かつ説明的なものであり、請求項のように、本発明を限定するものではないことを理解されたい。
【発明の効果】
【０００９】
本明細書に開示された直交変換装置は、周波数領域の信号を時間周波数領域の信号に変換する際の演算量を削減できる。
【図面の簡単な説明】
【００１０】
【図１】一つの実施形態による直交変換装置を有するオーディオ復号装置の概略構成図である。
【図２】符号化されたオーディオ信号が格納されたデータ形式の一例を示す図である。
【図３】類似度に対する量子化テーブルの一例を示す図である。
【図４】強度差に対する量子化テーブルの一例を示す図である。
【図５】予測係数に対する量子化テーブルの一例を示す図である。
【図６】MDCT係数からQMF係数への変換の概念図である。
【図７】直交変換部の構成図である。
【図８】基底関数の周期性の説明図である。
【図９】IMDCTの基底関数とIMDSTの基底関数の相違を説明する図である。
【図１０】局所乗算部の処理の説明図である。
【図１１】係数算出部により実行されるバタフライ演算の一例の説明図である。
【図１２】係数算出部により実行されるバタフライ演算の他の一例の説明図である。
【図１３】直交変換処理の動作フローチャートである。
【図１４】オーディオ復号装置により実行されるオーディオ復号処理の動作フローチャートである。
【図１５】第２の実施形態による直交変換部の構成図である。
【図１６】切り替え処理の動作フローチャートである。
【図１７】第２逆修正離散指数変換部の構成図である。
【図１８】バタフライIMDCTの基底コサイン関数と通常のIMDCTの基底コサイン関数の関係を示す図である。
【図１９】バタフライ演算適用区間内のMDCT係数の入れ替えの説明図である。
【図２０】逆コサイン変換部の構成図である。
【図２１】適用区間に含まれるMDCT係数の数Mに対する、基底関数の対称性を利用するIMDETの演算量とFFTを利用するIMDETの演算量の関係を表すグラフである。
【図２２】上記の実施形態またはその変形例によるオーディオ復号装置の各部の機能を実現するコンピュータプログラムが動作することにより、オーディオ復号装置として動作するコンピュータの構成図である。
【発明を実施するための形態】
【００１１】
以下、図を参照しつつ、一つの実施形態による直交変換装置について説明する。
MPEG Surround方式で符号化されたオーディオ信号を復号する処理において最も演算量が多いのは、周波数領域の残差信号（MDCT係数）を時間周波数領域の信号(QMF係数)に変換する処理である。例えば、ISOのリファレンスデコーダでは、この変換処理の演算量が、復号処理全体の演算量の約70%にもなる。したがって、MDCT係数をQMF係数に変換する際の演算量を減らせれば、MPEG Surround方式で符号化されたオーディオ信号を復号する際の演算量も削減できる。
【００１２】
そこで、この直交変換装置は、MDCT係数をQMF係数に変換する際の演算量を削減する。そのために、この直交変換装置は、MDCT係数をQMF係数に変換する際に利用される、バタフライ逆修正離散コサイン変換(Inverse MDCT, IMDCT)及びバタフライ逆修正離散サイン変換(Inverse Modified Discrete Sine Transform, IMDST)における基底関数の対称性を利用する。なお、本明細書では、説明の便宜上、IMDCTとIMDSTを合わせて逆修正離散指数変換(Inverse Modified Discrete Exponential Transform, IMDET)と呼ぶ。
また、本実施形態では、復号対象となるマルチチャネルオーディオ信号は、5.1chオーディオ信号である。しかし、復号対象となるマルチチャネルオーディオ信号は、5.1chオーディオ信号に限られず、例えば、7.1chのマルチチャネルオーディオ信号であってもよい。
【００１３】
図１は、一つの実施形態によるオーディオ復号装置１の概略構成図である。図１に示すように、オーディオ復号装置１は、分離部１１と、主信号復号部１２と、時間周波数変換部１３と、空間情報復号部１４と、残差信号復号部１５と、直交変換部１６と、アップミックス部１７と、周波数時間変換部１８とを有する。
【００１４】
オーディオ復号装置１が有するこれらの各部は、それぞれ別個の回路として形成される。あるいはオーディオ復号装置１が有するこれらの各部は、その各部に対応する回路が集積された一つの集積回路としてオーディオ復号装置１に実装されてもよい。さらに、オーディオ復号装置１が有するこれらの各部は、オーディオ復号装置１が有するプロセッサ上で実行されるコンピュータプログラムにより実現される、機能モジュールであってもよい。
【００１５】
分離部１１は、符号化されたオーディオ信号を含むデータストリームから、符号化されたオーディオ信号が格納されたデータ形式にしたがって、主信号符号と、空間情報符号と、符号化された残差信号とを取り出す。なお、主信号符号は、Advanced Audio Coding(AAC)符号及びSpectral Band Replication(SBR)符号を含む。
【００１６】
図２は、符号化されたオーディオ信号が格納されたデータ形式の一例を示す図である。この例では、符号化されたオーディオ信号は、MPEG-4 ADTS(Audio Data Transport Stream)形式に従って作成される。
図２に示される符号化データ列２００において、データブロック２１０にAAC符号は格納される。またADTS形式のFILLエレメントが格納されるブロック２２０の一部領域にSBR符号、空間情報符号及び符号化された残差信号が格納される。
【００１７】
分離部１１は、主信号符号を主信号復号部１２へ出力する。さらに分離部１１は、空間情報符号を空間情報復号部１４へ出力し、符号化された残差信号を残差信号復号部１５へ出力する。
【００１８】
主信号復号部１２は、元のオーディオ信号の各チャネルをダウンミックスすることで生成されるステレオ信号の主成分を表す主信号が符号化された主信号符号を復号する。主信号復号部１２は、AAC符号について、例えば、ISO/IEC14496-3規格に記載されているAAC符号に対する復号処理を実行して左側チャネル及び右側チャネルの低周波数成分を再生する。すなわち、主信号復号部１２は、AAC符号をエントロピー復号することによって量子化信号を再生し、その量子化信号を逆量子化することでMDCT係数を再生する。そして主信号復号部１２は、再生したMDCT係数に対してIMDCT処理を行うことで、フレーム単位の左側チャネル及び右側チャネルの低周波数成分を再生する。
【００１９】
また主信号復号部１２は、SBR符号も、例えば、ISO/IEC14496-3規格に記載されているSBR符号に対する復号処理を実行してフレーム単位で左側チャネル及び右側チャネルの高周波数成分を再生する。そして主信号復号部１２は、チャネルごとに、その低周波数成分と高周波数成分とを合成することで、ステレオ信号の左側チャネルの信号及び右側チャネルの信号を再生する。そして主信号復号部１２は、再生したステレオ信号を時間周波数変換部１３へ出力する。
【００２０】
時間周波数変換部１３は、直交ミラーフィルタ処理部の一例であり、再生されたステレオ信号の時間領域の各チャネルの信号を、それぞれフレーム単位でQMFフィルタバンクを用いて時間周波数領域のQMF係数に変換する。
なお、QMFフィルタバンクは次式で表される。
【数１】
2014194633.tif 000003
ここでnは時間を表す変数であり、１フレームのステレオ信号を時間方向に128等分したときのn番目の時間を表す。なお、フレーム長は、例えば、10〜80msecの何れかとすることができる。またkは周波数帯域を表す変数であり、周波数信号が有する周波数帯域を64等分したときのk番目の周波数帯域を表す。
【００２１】
時間周波数変換部１３は、得られたQMF係数をアップミックス部１７へ出力する。
【００２２】
空間情報復号部１４は、分離部１１から受け取った空間情報符号を復号する。なお、空間情報には、例えば、音の広がりを表す二つのチャネル間の類似度ICCと、音の定位を表す二つのチャネル間の強度差CLDが含まれる。さらに、空間情報には、右側チャネルと左側チャネルの信号から中央チャネルの信号を予測する予測係数CPCが含まれる。なお、類似度ICC、強度差CLD及び予測係数CPCは、オーディオ信号をダウンミックスする際に、周波数ごとに求められる。そして空間情報符号には、類似度ICC、強度差CLD及び予測係数CPCのそれぞれについてのハフマン符号が含まれる。
【００２３】
空間情報復号部１４は、隣接する周波数間の類似度ICCなどのインデックス値間の差分値とハフマン符号との対応関係を表すテーブルを参照してインデックスの差分値を再生する。空間情報復号部１４は、その差分値を周波数帯域ごとに順次加算していくことにより、各周波数帯域のインデックス値を再生する。そして空間情報復号部１４は、インデックス値と、類似度ICC、強度差CLDまたは予測係数CPCの量子化値との対応関係を表すテーブルを参照して、そのインデックス値に対応する類似度ICC、強度差CLD及び予測係数CPCの量子化値を決定する。
【００２４】
図３は、類似度に対する量子化テーブルの一例を示す図である。図３に示す量子化テーブル３００において、上側の行３１０の各欄はインデックス値を表し、下側の行３２０の各欄は、同じ列のインデックス値に対応する類似度の量子化値を表す。また、類似度が取りうる値の範囲は-0.99〜+1である。例えば、周波数帯域kに対するインデックス値が3である場合、空間情報復号部１４は、量子化テーブル３００を参照することにより、類似度の量子化値を、そのインデックス値3に対応する0.60092とする。
【００２５】
図４は、強度差に対する量子化テーブルの一例を示す図である。図４に示す量子化テーブル４００において、行４１０、４３０及び４５０の各欄はインデックス値を表し、行４２０、４４０及び４６０の各欄は、それぞれ、同じ列の行４１０、４３０及び４５０の各欄に示されたインデックス値に対応する強度差の量子化値を表す。
例えば、周波数帯域kに対するインデックス値が5である場合、空間情報復号部１４は、量子化テーブル４００を参照することにより、強度差の量子化値を、そのインデックス値5に対応する10とする。
【００２６】
図５は、予測係数に対する量子化テーブルの一例を示す図である。図５に示す量子化テーブル５００において、行５１０、５２０、５３０、５４０及び５５０の各欄はインデックス値を表す。また行５１５、５２５、５３５、５４５及び５５５の各欄は、それぞれ、同じ列の行５１０、５２０、５３０、５４０及び５５０の各欄に示されたインデックス値に対応する予測係数の量子化値を表す。
例えば、周波数帯域kに対するインデックス値が3である場合、空間情報復号部１４は、量子化テーブル５００を参照することにより、予測係数の量子化値を、そのインデックス値3に対応する0.3とする。
空間情報復号部１４は、各周波数帯域の空間情報の量子化値をアップミックス部１７へ出力する。
【００２７】
残差信号復号部１５は、符号化された、主信号と直交する成分である残差信号を復号する。MPEG Surround方式では、残差信号もAAC符号化されるので、その符号化の際に、残差信号に対してMDCTが実行される。したがって、残差信号復号部１５は、例えば、ISO/IEC13818-7規格に記載されたAAC符号を復号する方法に従って残差信号を復号することにより、MDCT係数で表された残差信号が再生される。このMDCT係数は、直交変換部１６へ出力される。
【００２８】
直交変換部１６は、直交変換装置の一例であり、周波数領域の信号であるMDCT係数で表された残差信号を、時間周波数領域の信号であるQMF係数に変換する。なお、直交変換部１６の詳細については後述する。
【００２９】
アップミックス部１７は、周波数帯域ごとに、ステレオ信号の左側チャネル及び右側チャネルのQMF係数及び残差信号のQMF係数を、空間情報に基づいてアップミックスすることにより、5.1chのオーディオ信号の各チャネルのQMF係数を再生する。そのために、アップミックス部１７は、例えば、ISO/IEC23003-1規格で規定されたアップミックスの手法を利用すればよい。例えば、アップミックス部１７は、ステレオ信号の左側チャネルのQMF係数及び右側チャネルのQMF係数と、残差信号のQMF係数とを、空間情報を用いてアップミックスすることで、左側、右側、及び中央の３チャネルのQMF係数を算出する。さらに、アップミックス部１７は、算出された左側チャネルのQMF係数を、左前方チャネルと左後方チャネルをダウンミックスする際に算出された空間情報を用いてアップミックスすることで、左前方チャネル及び左後方チャネルのQMF係数を算出する。同様に、アップミックス部１７は、算出された右側チャネルのQMF係数を、右前方チャネルと右後方チャネルをダウンミックスする際に算出された空間情報を用いてアップミックスすることで、右前方チャネル及び右後方チャネルのQMF係数を算出する。さらに、アップミックス部１７は、算出された中央チャネルのQMF係数を、中央チャネルと重低音チャネルをダウンミックスする際に算出された空間情報を用いてアップミックスすることで、中央チャネル及び重低音チャネルのQMF係数を算出する。
【００３０】
アップミックス部１７は、再生した各チャネルのQMF係数を周波数時間変換部１８へ出力する。
【００３１】
周波数時間変換部１８は、逆直交ミラーフィルタ処理部の一例であり、各チャネルのQMF係数に対して、時間周波数変換部１３により実行されるQMFフィルタバンク処理の逆変換処理を実行することにより、5.1chのオーディオ信号を再生する。そしてオーディオ復号装置１は、再生したオーディオ信号を、例えば、スピーカへ出力する。
【００３２】
以下、直交変換部１６について詳述する。
図６は、MDCT係数からQMF係数への変換の概念図である。MDCT係数６０１は、周波数軸方向にのみ複数の係数を有する。一方、QMF係数６０２は、時間軸方向と周波数軸方向の両方ともに複数の係数を持つ。
【００３３】
そこで、直交変換部１６は、MDCT係数からQMF係数へ変換するために、ISO/IEC23003-1の規定に従って、周波数帯域６０３〜６０５のように、MDCT係数全体を隣接する周波数帯域同士が半分ずつオーバーラップする複数の周波数帯域で分割する。この場合、各周波数帯域は、通常のIMDCTが適用される周波数帯域の２倍の長さを持ち、例えば、連続する2N個のMDCT係数を含む。そして直交変換部１６は、各周波数帯域に対してバタフライIMDET演算を行うことにより、周波数帯域間の折り返し歪みが相互に打ち消され、周波数帯域ごとに、時間軸方向に沿った2N個のQMF係数を得る。
しかし、このバタフライIMDET演算の演算量は非常に多い。そこで、本実施形態による直交変換部１６は、このバタフライIMDET演算の演算量を削減するために、IMDET演算の基底関数の対称性を利用する。
【００３４】
図７は、直交変換部１６の構成図である。直交変換部１６は、窓処理部２１と、逆修正離散指数変換部２２と、係数調整部２３とを有する。
【００３５】
窓処理部２１は、残差信号のMDCT係数に、バタフライIMDCT及びバタフライIMDST用の窓関数及びゲイン(1/2N)1/2を乗じる。本実施形態では、窓関数wf[n]は、次式で表される。
【数２】
2014194633.tif 000004
ただし、(2N)は、バタフライIMDET演算の適用区間である周波数帯域fに含まれるMDCT係数の数である。またnは、バタフライIMDET演算の結果として得られる係数の時間軸に沿った順番を表す。窓処理部２１は、窓関数及びゲインが乗じられた残差信号のMDCT係数を逆修正離散指数変換部２２へ出力する。
【００３６】
逆修正離散指数変換部２２は、周波数帯域全体を区切る複数の区間のそれぞれごとに、窓関数及びゲインが乗じられた残差信号のMDCT係数に対してIMDETを実行することにより、その区間に対応する周波数のQMF係数の実数成分及び虚数成分を算出する。
ここで、区間内に含まれるMDCT係数の数が8個、すなわち、N=4である場合、IMDETの演算は、次式のように、変換行列を用いて表される。
【数３】
2014194633.tif 000005
xi(i=1,2,..,8)は、MDCT係数である。またyj(j=1,2,..,8)は、QMF係数の実数成分であり、yj(j=9,10,..,16)は、QMF係数の虚数成分である。そして変換行列の各要素Cn,kは、IMDET中のIMDCTで用いられる基底関数であり、コサイン関数である。一方、各要素Sn,kは、IMDET中のIMDSTで用いられる基底関数であり、サイン関数である。
【００３７】
上記のように、IMDETに使用される基底関数は三角関数なので、基底関数には周期性がある。図８を参照しつつその周期性について説明する。図８に示したグラフ８００は、k=0の場合のIMDCTの基底関数を表す。基底関数c0,k〜c7,kには、コサイン関数の1/2周期が含まれるので、基底関数の前半の区間、すなわち、c0,k〜c3,kに着目すると、c0,k〜c3,kは、その区間の中点に対して対称となっている。したがって、c0,k=c3,k及びc1,k=c2,kが成立する。同様に、後半の区間c4,k〜c7,kも、その区間の中点に対して、符号は反転するものの、基底関数の絶対値は対称となっている。したがって、c4,k=-c7,k及びc5,k=-c6,kが成立する。このような対称性は、kが0でない場合についても成立する。同様に、IMDSTの基底関数s0,k〜s7,kもサイン関数であり、（３）式から明らかなように、サイン関数の1/2周期が含まれるので、区間s0,k〜s3,k及び区間s4,k〜s7,kのそれぞれについて対称性がある。
したがって、（３）式の変換行列のうち、半分の行について計算結果が得られれば、他の行についてはその計算結果を利用できる。具体的には、逆修正離散指数変換部２２は、（３）式によって計算されるQMF係数列の前半のうちの前半及び後半の何れかに対応する行と、そのQMF係数列の後半のうちの前半及び後半の何れかに対応する行についてのみ計算すればよい。例えば、y4(すなわち、n=3の行)とy3(すなわち、n=2の行)は、それぞれ、y1(すなわち、n=0の行)、y2(すなわち、n=1の行)についての計算結果を利用して算出できる。同様に、y8(すなわち、n=7の行)とy7(すなわち、n=6の行)は、それぞれ、y5(すなわち、n=4の行)、y6(すなわち、n=5の行)についての計算結果を利用して算出できる。
【００３８】
さらに、図９を参照しつつ、IMDCTの基底関数とIMDSTの基底関数の違いについて説明する。図９に示したグラフ９００は、k=0の場合のIMDCTの基底関数を表す。一方、グラフ９１０は、k=0の場合のIMDSTの基底関数を表す。IMDCTの基底関数c0,k〜c7,kとIMDSTの基底関数s0,k〜s7,kの相違点は、コサイン関数かサイン関数かという点にすぎない。そのため、（３）式に示された変換行列の縦の列に着目すると、IMDCTの基底関数c0,k〜c7,kとIMDSTの基底関数s0,k〜s7,kとは、1/4周期ずれているだけで、基底関数の形状は同じである。したがって、IMDSTの基底関数s0,k〜s7,kの絶対値は、IMDCTの基底関数c0,k〜c7,kの何れかの絶対値と等しい。すなわち、逆修正離散指数変換部２２は、（３）式において、IMDCT（すなわち、変換行列の上半分）またはIMDST（すなわち、変換行列の下半分）の何れか一方について計算すれば、他方はその計算結果を利用できる。例えば、逆修正離散指数変換部２２は、（３）式によって計算されるQMF係数列の前半についてのIMDCTの計算結果を利用して、そのQMF係数列の後半のIMDSTを計算できる。逆に、逆修正離散指数変換部２２は、（３）式によって計算されるQMF係数列の後半についてのIMDCTの計算結果を利用して、そのQMF係数列の前半のIMDSTを計算できる。同様に、逆修正離散指数変換部２２は、るQMF係数列の前半及び後半についてのIMDSTの計算結果を利用して、そのQMF係数列の後半及び前半のIMDCTを計算できる。
【００３９】
したがって、結局、逆修正離散指数変換部２２は、（３）式の行列に含まれる全ての要素のうちの1/4の要素についてのみ、MDCT係数との乗算を行うことで、IMDET演算全体を実行できる。
【００４０】
そこで、逆修正離散指数変換部２２は、上記のように、（３）式の行列の含まれる一部の要素についてのみ、MDCT係数との乗算を行うことでQMF係数を算出するために、記憶部３１と、局所乗算部３２と、係数算出部３３とを有する。
【００４１】
記憶部３１は、例えば、不揮発性の読み出し専用のメモリ回路と揮発性の読み書き可能なメモリ回路とを有する。そして記憶部３１は、IMDET演算が行われる区間の長さごとに、MDCT係数に乗じる基底関数の要素を表すテーブルを記憶する。各テーブルには、例えば、算出されるQMF係数を含む区間の前半のうちの前半及び後半の何れかを算出するための基底関数の値と、その区間の後半のうちの前半及び後半の何れかを算出するための基底関数の値が格納される。この基底関数の値は、QMF係数の実数成分を算出するために用いられる値、すなわち、IMDCT用の基底関数の値であってもよく、あるいは、QMF係数の虚数成分を算出するために用いられる値、すなわち、IMDST用の基底関数の値であってもよい。t例えば、（３）式に示されるように、IMDET演算が行われる区間の長さが8、すなわち、N=4に対応するテーブルは、（３）式に示された行列のうちの1,2,5,6行目の基底関数の要素{c0,k, c1,k, c4,k, c5,k}を格納する。また、IMDET演算が行われる区間の長さが4、すなわち、N=2の場合、基底関数の行列は、8行×4列の要素を持つ。そのうち、上側の4行の要素がIMDCTの基底関数cn,k(n=0,..,3, k=0,..,3)であり、下側の4行の要素がIMDSTの基底関数sn,k(n=0,..,3, k=0,..,3)である。このうち、N=2に対応するテーブルは、1行目及び3行目の基底関数の要素{c0,k, c2,k}を格納する。
【００４２】
記憶部３１は、さらに、局所乗算部３２による中間演算値を、係数算出部３３が利用できるように一時的に記憶する。
【００４３】
局所乗算部３２は、残差信号のフレームの長さに応じて、記憶部３１に記憶されているテーブルの中から、利用するテーブルを読み込む。そして局所乗算部３２は、テーブルに格納された各基底関数の要素に対応するMDCT係数を乗じる。そして局所乗算部３２は、乗算を行った変換行列の行ごとに、奇数列の要素とMDCT係数の積の総和Σci,2k*x[2k+1] (k=0, 1,..,2N-1)と、偶数列の要素とMDCT係数の積の総和Σci,2k+1*x[2(k+1)]をそれぞれ算出する。そして局所乗算部３２は、それら総和を中間演算値として記憶部３１に記憶する。
【００４４】
図１０は、区間の長さが8(N=4)の場合における、局所乗算部３２の処理の説明図である。変換行列とMDCT係数列の積である行列１０００のうち、1,2,5,6行目のそれぞれについて、局所乗算部３２は、実線で囲まれた奇数列の要素ci,2k*x[2k+1]を計算する。そして局所乗算部３２は、その要素の総和Σci,2k*x[2k+1]をyioddとして算出する。また局所乗算部３２は、点線で囲まれた偶数列の要素ci,2k+1*x[2(k+1)]を計算する。そして局所乗算部３２は、その要素の総和Σci,2k+1*x[2(k+1)]をyievenとして算出する。
【００４５】
係数算出部３３は、記憶部３１に記憶されている中間演算値を利用して、バタフライ演算を行うことにより、QMF係数の実数成分及び虚数成分を算出する。
図１１は、係数算出部３３により実行されるバタフライ演算の説明図である。この例では、QMF係数列を、各QMF係数を算出するために利用される基底関数の値が対称となるように４分割した複数のサブ区間のうち、１番目と３番目のサブ区間について局所乗算部３２による中間演算値が得られている。すなわち、IMDETの変換行列とMDCT係数の積である行列１１００を縦方向に等分割した８個のブロックのうち、１番目のブロック１１０１と３番目のブロック１１０３の各行について、奇数列の要素の総和yioddと偶数列の要素の総和yievenが算出されている。
なお、各ブロックの右端に示した番号は、N=4の場合において、その行の計算に利用される、局所乗算部３２により中間演算値が計算された行の番号を表す。
【００４６】
ブロック１１０１とブロック１１０３の各行については、係数算出部３３は、単純に奇数列の要素の総和yioddと偶数列の要素の総和yievenを加算することで、対応するQMF係数の実数成分を算出できる。
【００４７】
一方、２番目のブロック１１０２の各行に相当するQMF係数の値は、１番目のブロック１１０１の各行に相当するQMF係数の値と上下対称になっている。例えば、N=4の場合、各ブロックには、２行ずつ含まれる。そのため、ブロック１１０２の上側の行、すなわち行列１１００の３番目の行に相当するQMF係数の実数成分y3は、ブロック１１０１の下側の行、すなわち、行列１１００の２番目の行に相当するQMF係数の実数成分y2と等しい。同様に、ブロック１１０２の下側の行、すなわち行列１１００の４番目の行に相当するQMF係数の実数成分y4は、ブロック１１０１の上側の行、すなわち、行列１１００の１番目の行に相当するQMF係数の実数成分y1と等しい。したがって、係数算出部３３は、ブロック１１０２内の各行に相当するQMF係数の実数成分に、ブロック１１０１内の対応する行のQMF係数の実数成分を代入する。例えば、N-4の場合、y3=y2、かつy4=y1となる。
【００４８】
また、４番目のブロック１１０４の各行に相当するQMF係数の値は、３番目のブロック１１０３の各行に相当するQMF係数の値と上下対称、かつ、符号が反転されている。したがって、係数算出部３３は、ブロック１１０４内の各行に相当するQMF係数の実数成分に、ブロック１１０３内の対応する行のQMF係数の実数成分の符号を反転した上で代入する例えば、N=4の場合、y8=-y5、かつ、y7=-y6となる。
【００４９】
さらに、IMDCTの基底関数と、IMDSTの基底関数とでは、位相が1/4周期ずれているだけなので、係数算出部３３は、８番目のブロック１１０８内の各行の値を、１番目のブロック１１０１内の各行の中間演算値を利用して算出できる。N=4の場合、８番目のブロック１１０８の下側の行、すなわち、行列１１００の16番目の行に相当するQMF係数の虚数成分y16は、ブロック１１０１の上側の行y1の偶数列の要素の総和y1evenから奇数列の要素の総和y1oddを減じた値(y1even-y1odd)となる。同様に、行列１１００の15番目の行に相当するQMF係数の虚数成分y15は、ブロック１１０１の下側の行y2の偶数列の要素の総和y2evenから奇数列の要素の総和y2oddを減じた値(y2even-y2odd)となる。また同様に、係数算出部３３は、６番目のブロック１１０６内の各行に対応するQMF係数の虚数成分を、３番目のブロック１１０３の各行の中間演算値を利用して算出できる。具体的には、行列１１００の12番目の行に相当するQMF係数の虚数成分y12は、ブロック１１０３の上側の行y5の偶数列の要素の総和y5evenから奇数列の要素の総和y5oddを減じた値(y5even-y5odd)となる。同様に、行列１１００の11番目の行に相当するQMF係数の虚数成分y11は、ブロック１１０３の下側の行y6の偶数列の要素の総和y6evenから奇数列の要素の総和y6oddを減じた値(y6even-y6odd)となる。
【００５０】
また、７番目のブロック１１０７の各行に相当するQMF係数の値は、８番目のブロック１１０８の各行に相当するQMF係数の値と上下対称になっている。例えば、N=4の場合、ブロック１１０７の上側の行、すなわち行列１１００の13番目の行に相当するQMF係数の虚数成分y13は、ブロック１１０８の下側の行、すなわち、行列１１００の16番目の行に相当するQMF係数の虚数成分y16と等しい。同様に、ブロック１１０７の下側の行、すなわち、行列１１００の14番目の行に相当するQMF係数の虚数成分y14は、行列１１００の15番目の行に相当するQMF係数の虚数成分y15と等しい。
【００５１】
また、５番目のブロック１１０５の各行に相当するQMF係数の値は、６番目のブロック１１０６の各行に相当するQMF係数の値と上下対称、かつ、符号が反転されている。したがって、係数算出部３３は、ブロック１１０５内の各行に相当するQMF係数の虚数成分に、ブロック１１０６内の対応する行のQMF係数の虚数成分の符号を反転した上で代入する例えば、N=4の場合、y9=-y12、かつ、y10=-y11となる。
【００５２】
図１２は、変形例として、IMDETの変換行列とMDCT係数の積である行列１２００を縦方向に等分割した８個のブロックのうち、５番目のブロックと７番目のブロックについて局所乗算部３２により中間演算値が算出されたときのバタフライ演算の説明図である。
この場合には、５番目のブロック１２０５と７番目のブロック１２０７は、それぞれ、IMDSTに相当するので、基底関数はサイン関数となる。したがって、N=4の場合、変換行列とMDCT係数列の積である行列のうち、9,10,13,14行目のそれぞれについて、奇数列の要素の総和Σsi,2k*x[2k+1]がyioddとして、局所乗算部３２により算出される。同様に、偶数列の要素の総和Σsi,2k+1*x[2(k+1)]がyievenとして、局所乗算部３２により算出される。そしてブロック１２０５とブロック１２０７の各行については、係数算出部３３は、単純に奇数列の要素の総和yioddと偶数列の要素の総和yievenを加算することで、対応するQMF係数の虚数成分yi(i=9,10,13,14)を算出できる。
【００５３】
一方、８番目のブロック１２０８の各行に相当するQMF係数の値は、７番目のブロック１２０７の各行に相当するQMF係数の値と上下対称になっている。したがって、例えば、N=4の場合、係数算出部３３は、ブロック１２０８内の各行に相当するQMF係数の虚数成分y15、y16について、それぞれ、y15=y14、y16=y13とする。
【００５４】
また、６番目のブロック１２０６の各行に相当するQMF係数の値は、５番目のブロック１２０５の各行に相当するQMF係数の値と上下対称、かつ、符号が反転されている。したがって、例えば、N=4の場合、係数算出部３３は、ブロック１２０６内の各行に相当するQMF係数の虚数成分y11、y12について、それぞれ、y11=-y10、y12=-y9とする。
【００５５】
さらに、IMDCTの基底関数と、IMDSTの基底関数とでは、位相が1/4周期ずれているだけなので、係数算出部３３は、２番目のブロック１２０２内の各行の値を、７番目のブロック１２０７内の各行の中間演算値を利用して算出できる。N=4の場合、２番目のブロック１２０２の下側の行、すなわち、行列１２００の4番目の行に相当するQMF係数の実数成分y4は、ブロック１２０７の上側の行y13の奇数列の要素の総和y13oddから偶数列の要素の総和y13evenを減じた値(y13odd-y13even)となる。同様に、行列１２００の3番目の行に相当するQMF係数の実数成分y3は、ブロック１２０７の下側の行y14の奇数列の要素の総和y14oddから偶数列の要素の総和y14evenを減じた値(y14odd-y14even)となる。また同様に、係数算出部３３は、４番目のブロック１２０４内の各行に対応するQMF係数の実数成分を、５番目のブロック１２０５の各行の中間演算値を利用して算出できる。具体的には、行列１２００の7番目の行に相当するQMF係数の実数成分y7は、ブロック１２０５の下側の行y10の奇数列の要素の総和y10oddから偶数列の要素の総和y10evenを減じた値(y10odd-y10even)となる。同様に、行列１２００の8番目の行に相当するQMF係数の実数成分y8は、ブロック１２０５の上側の行y9の奇数列の要素の総和y9oddから偶数列の要素の総和y9evenを減じた値(y9odd-y9even)となる。
【００５６】
また、1番目のブロック１２０１の各行に相当するQMF係数の値は、２番目のブロック１２０２の各行に相当するQMF係数の値と上下対称になっている。したがって、例えば、N=4の場合、係数算出部３３は、ブロック１２０１内の各行に相当するQMF係数の実数成分y1、y2について、それぞれ、y1=y4、y2=y3とする。
【００５７】
また、3番目のブロック１２０３の各行に相当するQMF係数の値は、４番目のブロック１２０４の各行に相当するQMF係数の値と上下対称、かつ、符号が反転されている。したがって、例えば、N=4の場合、係数算出部３３は、ブロック１２０３内の各行に相当するQMF係数の実数成分y5、y6について、それぞれ、y5=-y8、y6=-y7とする。
【００５８】
上記のように、QMF係数列の前半区間の実数成分と後半区間の虚数成分を算出するためには、それら区間のうち、何れか一方のさらに前半または後半について、基底関数と対応するMDF係数の積が計算されればよい。同様に、QMF係数列の後半区間の実数成分と前半区間の虚数成分を算出するためには、それら区間のうち、何れか一方のさらに前半または後半について、基底関数と対応するMDF係数の積が計算されればよい。
【００５９】
係数算出部３３は、QMF係数の実数成分及び虚数成分を係数調整部２３へ出力する。
【００６０】
係数調整部２３は、逆修正離散指数変換部２２から出力された、残差信号のQMF係数のそれぞれの実数成分と虚数成分とを合成することで、残差信号の各QMF係数を得る。具体的には、係数調整部２３は、次式に従って、QMF係数を算出する。
【数４】
2014194633.tif 000006
ここで、X[n,f]は、MDCT係数をバタフライIMDCTして得られるQMF係数の実数成分であり、Y[n,f]は、MDCT係数をバタフライIMDSTして得られるQMF係数の虚数成分である。そしてZ[n,f]は、得られたQMF係数である。ただし、fは、バタフライIMDCT及びバタフライIMDSTが実行される周波数帯域を表す。
【００６１】
図１３は、直交変換部１６により実行される直交変換処理の動作フローチャートである。なお、直交変換部１６は、個々の周波数帯域に相当する適用区間ごとに、以下の動作フローに従って直交変換処理を実行する。
【００６２】
直交変換部１６の窓処理部２１は、残差信号のMDCT係数に対して窓関数及びゲインを乗じる（ステップＳ１０１）。そして窓処理部２１は、窓関数及びゲインが乗じられたMDCT係数を直交変換部１６の逆修正離散指数変換部２２の局所乗算部３２へ出力する。
【００６３】
局所乗算部３２は、適用区間の長さに応じて、QMF係数を算出するための基底関数の値が対称となるようにQMF係数列を分割したサブ区間のうちの着目するサブ区間に含まれる基底関数値を格納するテーブルを記憶部３１から読み込む（ステップＳ１０２）。そして局所乗算部３２は、着目するサブ区間に含まれるQMF係数の実数成分に対応する奇数列の基底関数と対応するMDCT係数の積の総和と、偶数列の基底関数と対応するMDCT係数の積の総和とをそれぞれ算出する。そして局所乗算部３２は、その計算結果を中間演算値として記憶部３１に記憶する（ステップＳ１０３）。
【００６４】
係数算出部３３は、着目するサブ区間について、奇数列の基底関数と対応するMDCT係数の積の総和と、偶数列の基底関数と対応するMDCT係数の積の総和との和を、そのサブ区間に含まれるQMF係数の実数成分として算出する（ステップＳ１０４）。さらに、係数算出部３３は、着目するサブ区間以外のサブ区間について、記憶部３１に記憶されている中間演算値を用いて、基底関数の対称性を利用したバタフライ演算により、QMF係数の実数成分を算出する（ステップＳ１０５）。また係数算出部３３は、着目するサブ区間の中間演算値から、IDMCTの基底関数とIDMSTの基底関数の周期のずれを補償するとともにサブ区間同士の基底関数の対称性を利用して各サブ区間のQMF係数の虚数成分を算出する（ステップＳ１０６）。
【００６５】
直交変換部１６の係数調整部２３は、QMF係数の実数成分と虚数成分を合成することでQMF係数を得る（ステップＳ１０７）。そして直交変換部１６は、直交変換処理を終了する。なお、局所乗算部３２は、ステップＳ１０３にて、着目するサブ区間に含まれるQMF係数の虚数成分に対応する奇数列の基底関数と対応するMDCT係数の積の総和と、偶数列の基底関数と対応するMDCT係数の積の総和とを、中間演算値として算出してもよい。この場合、係数算出部３３は、ステップＳ１０４及びＳ１０５では、各サブ区間に含まれるQMF係数の虚数成分を算出し、ステップＳ１０６では、各サブ区間に含まれるQMF係数の実数成分を算出する。
【００６６】
図１４は、オーディオ復号装置１により実行されるオーディオ復号処理の動作フローチャートである。オーディオ復号装置１は、フレームごとに、下記の動作フローチャートに従ってオーディオ信号を再生する。
【００６７】
分離部１１は、符号化データストリームからAAC符号、SBR符号といった主信号符号、空間情報符号及び残差信号符号を取り出す（ステップＳ２０１）。
主信号復号部１２は、分離部１１から受け取った主信号符号を復号することにより、ステレオ信号を再生する（ステップＳ２０２）。時間周波数変換部１３は、得られたステレオ信号に対してQMFフィルタバンクを適用することにより、時間周波数領域のQMF係数に変換する（ステップＳ２０３）。
【００６８】
一方、空間情報復号部１４は、分離部１１から受け取った空間情報符号を復号することにより空間情報を再生する（ステップＳ２０４）。そして空間情報復号部１４は、得られた空間情報をアップミックス部１７へ出力する。
【００６９】
また、残差信号復号部１５は、分離部１１から受け取った残差信号符号を復号することにより、残差信号のMDCT係数を再生する（ステップＳ２０５）。そして直交変換部１６は、残差信号のMDCT係数に対して、基底関数の対称性に基づいて一部のQMF係数の中間演算値を他のQMF係数の算出に利用することによってバタフライIMDETを実行することにより、残差信号のQMF係数を算出する（ステップＳ２０６）。
【００７０】
アップミックス部１７は、ステレオ信号のQMF係数及び残差信号のQMF係数を空間情報を用いてアップミックスすることにより、元のオーディオ信号の各チャネルのQMF係数を再生する（ステップＳ２０７）。
周波数時間変換部１８は、各チャネルのQMF係数を周波数時間変換して各チャネルのオーディオ信号を再生する（ステップＳ２０８）。
そしてオーディオ復号装置は、オーディオ復号処理を終了する。
【００７１】
以上に説明してきたように、本実施形態による直交変換装置は、MDCT係数をQMF係数に変換するためのバタフライIMDETの演算量を、基底関数の対称性を利用することで、1/4に削減できる。そのため、この直交変換装置を含むオーディオ復号装置は、残差信号のMDCT係数をQMF係数に変換するための演算量を削減できる。
【００７２】
次に、直交変換装置の第２の実施形態について説明する。
【００７３】
IMDETを何の高速化手法も利用せずに実行する場合、IMDETの演算量は、適用区間に含まれるMDCT係数の数の２乗のオーダーとなる。そのため、上記の実施形態でも、IMDETの演算量は1/4となるものの、演算量のオーダー自体は、適用区間に含まれるMDCT係数の数の２乗のオーダーとなる。
【００７４】
一方、高速フーリエ変換(Fast Fourier Transform, FFT)を利用してIMDCT及びIMDSTを実行する方法が知られている。そのような方法は、例えば、Rolf Gluth、「REGULAR FFT-RELATED TRANSFORM KERNELS FOR DCT/DST-BASED POLYPHASE FILTER BANKS」、IEEE Acoustics, Speech, and Signal Processing, ICASSP-91、1991年、vol.3、p.2205-2208に開示されている。この文献に記載された方法では、入力される信号列に対して複素平面内での回転といった事前処理及び事後処理とともにFFTを実行することで、IMDCT及びIMDSTが実現できる。FFTの演算量は、入力される信号点の数Nが2のべき乗である場合、NlogNのオーダーとなる。したがって、IMDETの適用区間に含まれるMDCT係数の数が2のべき乗であり、かつ、そのMDCT係数の数が多いほど、FFTを利用してIMDETを実行することで演算量が削減される。
【００７５】
そこで、第２の実施形態による直交変換装置は、IMDET演算の適用区間の長さに応じて、IMDET演算を実行する方法を、上記の実施形態による方法か、FFTを利用した方法かで切り替える。
【００７６】
図１５は、第２の実施形態による直交変換装置１６’の構成図である。直交変換装置１６’は、窓処理部２１と、切り替え部２４と、逆修正離散指数変換部２２と、第２逆修正離散指数変換部２５と、係数調整部２３とを有する。図１５に示された直交変換装置１６’の各構成要素には、図７に示された第１の実施形態による直交変換装置１６の対応する構成要素の参照番号と同じ参照番号を付した。第２の実施形態による直交変換装置１６’は、第１の実施形態による直交変換装置１６と比較して、切り替え部２４及び第２逆修正離散指数変換部２５を有する点で異なる。そこで以下では、切り替え部２４及び第２逆修正離散指数変換部２５について説明する。
【００７７】
切り替え部２４は、IMDETの適用区間の長さに応じて、基底関数の対称性を利用する逆修正離散指数変換部２２及びFFTを利用する第２逆修正離散指数変換部２５のうちの何れかを選択する。
【００７８】
図１６は、切り替え部２４による切り替え処理の動作フローチャートである。
切り替え部２４は、IMDETの適用区間に含まれるMDCT係数の数Mが8以上か否か判定する（ステップＳ３０１）。MDCT係数の数Mが8以上である場合（ステップＳ３０１−Ｙｅｓ）、切り替え部２４は、MDCT係数の数Mが2のべき乗であるか否か判定する（ステップＳ３０２）。MDCT係数の数Mが2のべき乗である場合（ステップＳ３０２−Ｙｅｓ）、切り替え部２４は、FFTを利用する第２逆修正離散指数変換部２５にMDCT係数を入力する（ステップＳ３０３）。
【００７９】
一方、MDCT係数の数Mが2のべき乗でないか（ステップＳ３０２−Ｎｏ）、その数Mが8未満である場合（ステップＳ３０１−Ｎｏ）、切り替え部２４は、基底関数の対称性を利用する逆修正離散指数変換部２２にMDCT係数を入力する（ステップＳ３０４）。ステップＳ３０３またはＳ３０４の後、切り替え部２４は、切り替え処理を終了する。
【００８０】
第２逆修正離散指数変換部２５は、FFTを利用して、入力されたMDCT係数に対してIMDETを実行する。
図１７は、第２逆修正離散指数変換部２５の構成図である。第２逆修正離散指数変換部２５は、入れ替え部４１と、反転部４２と、バタフライ逆コサイン変換部４３と、バタフライ逆サイン変換部４４とを有する。本実施形態では、バタフライ逆コサイン変換部４３及びバタフライ逆サイン変換部４４は、演算量を削減するために、FFTを利用してIMDCT演算及びIMDST演算を実行する方法を採用する。
【００８１】
バタフライIMDCT演算及びバタフライIMDST演算と、通常のIMDCT演算及び通常のIMDST演算には、以下に説明するような相違点が存在する。
一般に、バタフライIMDCT演算は、次式で表される。
【数５】
2014194633.tif 000007
一方、通常のIMDCT演算は、次式で表される。
【数６】
2014194633.tif 000008
ただし、x[k](k=0,1,2,…,2N-1)は、MDCT係数である。（５）式及び（６）式から明らかなように、バタフライIMDCT演算では、適用区間あたりのMDCT係数の数が通常のIMDCT演算の２倍となる。また、基底コサイン関数の位相が(n+n0)πだけ異なる。同様に、バタフライIMDST演算と通常のIMDST演算に関しても、適用区間あたりのMDCT係数の数と基底サイン関数の位相が異なる。そのため、通常のIMDCT演算及びIMDST演算においてFFTを利用する方法を、バタフライIMDCT演算及びIMDST演算にそのまま適用すると、再生される原信号（本実施形態では残差信号）に疑似信号成分が含まれるようになり、原信号が劣化する。
そこで第２逆修正離散指数変換部２５は、IMDCT及びIMDSTを実行する前に、適用区間内のMDCT係数の数及び基底関数の位相を、通常のIMDCT演算またはIMDST演算における係数の数及び基底関数の位相と一致させるよう、MDCT係数を並び替え、符号を反転する。
【００８２】
図１８を参照しつつ、バタフライIMDCTの基底コサイン関数と通常のIMDCTの基底コサイン関数の関係について説明する。図１８において、横軸は、MDCT係数の周波数kを表す。そしてグラフ１８０１は、通常のIMDCTの基底コサイン関数c1[k]を表し、グラフ１８０２は、バタフライIMDCTの基底コサイン関数c2[k]を表す。関数c1[k]、c2[k]は、それぞれ、（５）式及び（６）式における、三角関数の部分に相当するので次式で表される。
【数７】
2014194633.tif 000009
【００８３】
図１８及び（７）式、（８）式から明らかなように、関数c1[k]と関数c2[k]とでは、kの値がNに相当する分だけ位相がずれている。すなわち、区間[0,N-1]における、バタフライIMDCTの基底コサイン関数c2[k]の値は、区間[N,2N-1]における、通常のバタフライIMDCTの基底コサイン関数c1[k]の値と等しい。
【００８４】
また、基底コサイン関数c1[k]、c2[k]とも、kの値が2Nだけ異なるときのその関数の値c1[k-2N]、c2[k-2N]と比較して、絶対値が等しく、かつ、符号が反転する。すなわち、基底コサイン関数c1[k]とc2[k]の間には、以下の関係が成立する。
【数８】
2014194633.tif 000010
【００８５】
したがって、以下の式が成立する。
【数９】
2014194633.tif 000011
（１０）式に示されるように、区間内の前半のMDCT係数x[k](k=0,1,...,N-1)と後半のMDCT係数x[k](k=N,N+1,...,2N-1)を入れ替えることにより、入れ替え後の前半部分に対しては、通常のIMDCT演算の基底コサイン関数c1[k]が適用可能となる。一方、入れ替え後の後半部分に含まれる各MDCT係数については、符号を反転した上で、通常のIMDCT演算の基底コサイン関数c1[k]が適用可能となる。そして、前半部分と後半部分の長さは、通常のIMDCT演算が適用される区間の長さと等しい。したがって、前半部分と後半部分のそれぞれに対して、通常のIMDCT演算が適用できる。
【００８６】
また、バタフライIMDST演算の基底サイン関数と、通常のIMDST演算の基底サイン関数についても同様の関係が成立する。したがって、バタフライIMDST演算についても、適用区間内の前半のMDCT係数と後半のMDCT係数の順序を入れ替え、入れ替え後の前半のMDCT係数の符号を反転することで、前半部分と後半部分のそれぞれに対して、通常のIMDST演算が適用可能となる。
【００８７】
そこで、入れ替え部４１は、適用区間内の前半のMDCT係数と後半のMDCT係数を入れ替える。図１９を参照しつつ、入れ替え部４１の処理を説明する。入れ替え部４１は、窓関数及びゲインが乗算されたMDCT係数x[k]を、図１９の矢印で示されるように前半と後半の順序を入れ替えることで、入れ替え後のMDCT係数x'[k]を求める。この入れ替えの処理は、次式で表される。
【数１０】
2014194633.tif 000012
【００８８】
入れ替え部４１は、入れ替え後のMDCT係数x'[k]の前半部分、すなわち、元のMDCT係数の後半部分をバタフライ逆コサイン変換部４３の逆コサイン変換部５１−１と、バタフライ逆サイン変換部４４の逆サイン変換部５３−１へ出力する。一方、入れ替え部４１は、入れ替え後のMDCT係数x'[k]の後半部分、すなわち、元のMDCT係数の前半部分を反転部４２へ出力する。
【００８９】
反転部４２は、入れ替え後のMDCT係数x'[k]の後半部分の符号を反転する。そして反転部４２は、符号反転後のMDCT係数x'[k]をバタフライ逆コサイン変換部４３の逆コサイン変換部５１−２と、バタフライ逆サイン変換部４４の逆サイン変換部５３−２へ出力する。
【００９０】
バタフライ逆コサイン変換部４３は、バタフライIMDCT演算をそのまま実行する代わりに、適用区間内のMDCT係数の順序の入れ替え等を行った上で、FFTを利用した通常のIMDCT演算を実行することで、QMF係数の実数成分を算出する。再度図１７を参照すると、バタフライ逆コサイン変換部４３は、逆コサイン変換部５１−１、５１−２と、加算部５２とを有する。
同様に、バタフライ逆サイン変換部４４は、適用区間内のMDCT係数の順序の入れ替え等を行った上で、FFTを利用した通常のIMDST演算を実行することで、QMF係数の虚数成分を算出する。そのために、バタフライ逆サイン変換部４４は、逆サイン変換部５３−１、５３−２と、加算部５４とを有する。
なお、以下では、バタフライ逆コサイン変換部４３についてのみ説明する。バタフライ逆サイン変換部４４は、変換に用いられる基底関数をコサイン関数からサイン関数に変更するだけで、バタフライ逆コサイン変換部４３と同様に、MDCT係数に対してFFTを利用したIMDST演算を行うことでバタフライIMDST演算を実行できる。
【００９１】
逆コサイン変換部５１−１は、（１０）式の右辺の第１項に対するIMDCT演算を、FFTを利用して実行する。一方、逆コサイン変換部５１−２は、（１０）式の右辺の第２項に対するIMDCT演算を、FFTを利用して実行する。逆コサイン変換部５１−１、５１−２は、例えば、上述した、Rolf Gluth、「REGULAR FFT-RELATED TRANSFORM KERNELS FOR DCT/DST-BASED POLYPHASE FILTER BANKS」、IEEE Acoustics, Speech, and Signal Processing, ICASSP-91、1991年、vol.3、p.2205-2208に開示された手法を利用する。なお、逆コサイン変換部５１−１と５１−２は、扱うデータ以外は同一なので、以下では、逆コサイン変換部５１−１について説明する。
【００９２】
図２０は、逆コサイン変換部５１−１の構成図である。逆コサイン変換部５１−１は、上記の文献に開示された手法に従って、事前回転部６１と、高速フーリエ変換部６２と、事後回転部６３とを有する。
【００９３】
事前回転部６１は、基底の三角関数の対称性を利用して計算範囲を狭くするために、次式に従って入力されたMDCT係数x'[k]を1/4ずつ合成することにより、合成関数f[k]を得る。
【数１１】
2014194633.tif 000013
そして事前回転部６１は、次式に従って、合成関数f[k]を複素平面において1/8回転させる。
【数１２】
2014194633.tif 000014
事前回転部６１は、回転された合成関数f'[k]を高速フーリエ変換部６２へ出力する。
【００９４】
高速フーリエ変換部６２は、合成関数f'[k]に対して、FFTを実行する。なお、高速フーリエ変換部６２は、FFTとして知られている様々な演算方法を適用できる。そして高速フーリエ変換部６２は、FFTを行うことによって得られた係数F[n]を事後回転部６３へ出力する。
【００９５】
事後回転部６３は、次式に従って、係数F[n]を、事前回転部６１による回転方向とは逆向きに1/8回転させることで係数F'[n]を算出する。
【数１３】
2014194633.tif 000015
【００９６】
事後回転部６３は、次式に従って、複素平面上の係数F'[n]を実数平面上の係数F''[n]に変換する。
【数１４】
2014194633.tif 000016
ただし、関数Re(x)は、変数xの実数成分を出力する関数であり、関数Im(x)は、変数xの虚数成分を出力する関数である。事後回転部６３は、通常のIMDCT用の窓関数、例えば、カイザー・ベッセル窓とゲイン(1/N)1/2を係数F''[n]に乗じることで、MDCT係数x'[k]に対してIMDCTを行って得られる係数と同等の係数を得る。
【００９７】
加算部５２は、逆コサイン変換部５１−１から出力された係数に、逆コサイン変換部５１−２から出力された係数を加算する。これにより、（１０）式の右辺の計算が完了するので、MDCT係数に対するバタフライIMDCTが完了し、QMF係数の実数成分が得られる。加算部５２は、得られたQMF係数の実数成分を係数調整部２３へ出力する。
【００９８】
バタフライ逆サイン変換部４４も、バタフライ逆コサイン変換部４３と同様にFFTを利用してIMDSTを実行することで、QMF係数の虚数成分を算出する。そしてバタフライ逆サイン変換部４４は、得られたQMF係数の虚数成分を係数調整部２３へ出力する。
係数調整部２３は、第２逆修正離散指数変換部２５からQMF係数の実数成分と虚数成分を受け取った場合も、（４）式に従ってその実数成分と虚数成分を合成することで、QMF係数を算出できる。
【００９９】
以下のテーブルは、本実施形態による、一つの適用区間に含まれるMDCT係数の数M(=2N)に対する、IMDET１回あたりの演算量を示すテーブルである。
【表１】
2014194633.tif 000017
テーブルに示されるように、FFTを利用する第２逆修正離散指数変換部２５の処理では、バタフライIMDCT１回あたりの演算量は、FFTの演算量と同様に、MlogMのオーダーとなる。これに対して、基底関数の対称性を利用する逆修正離散指数変換部２２の処理では、IMDET１回あたりの演算量は、M2のオーダーとなる。
【０１００】
図２１は、適用区間に含まれるMDCT係数の数Mに対する、基底関数の対称性を利用するIMDETの演算量とFFTを利用するIMDETの演算量の関係を表すグラフである。グラフ２１００は、MDCT係数の数Mと基底関数の対称性を利用したIMDETの乗算回数の関係を表し、グラフ２１１０は、MDCT係数の数MとFFTを利用したIMDETの乗算回数の関係を表す。図２１から明らかなように、Mが8よりも小さい場合には、基底関数の対称性を利用してIMDETを実行する方が、FFTを利用してIMDETを実行するよりも演算量が少なくて済む。これは、FFTを利用する手法では、事前処理と事後処理の演算量の負荷が相対的に大きくなるためである。そのため、本実施形態では、切り替え部２４により、Mが8未満のときまたはMが２のべき乗でないときには基底関数の対称性を利用してIMDETを実行するように、逆修正離散指数変換部２２が選択される。特に、残差信号に適用されるAAC符号化方式などでは、アタック音に対して短いフレームが適用されるので、IMDETの適用区間に含まれるMDCT係数の数が8未満となることがある。そのため、本実施形態による直交変換装置及びその直交変換装置を利用するオーディオ復号装置は、残差信号に短いフレームが適用されたときなお、FFTを利用してIMDETを実行するよりも演算量を削減できる。一方、この直交変換装置及びオーディオ復号装置は、比較的長いフレームで残差信号がAAC符号化されているような場合には、FFTを利用してIMDETを実行することで、IMDETの演算量を削減できる。
【０１０１】
なお、変形例によれば、局所乗算部３２は、中間演算値として、QMF係数列の着目するサブ区間に含まれるQMF係数の実数成分または虚数成分に対応する、各基底関数値と対応意するMDF係数の積のみを算出してもよい。この場合には、係数算出部３３が、各QMF係数について、奇数列の基底関数値とMDF係数の積の総和と、偶数列の基底関数値とMDF係数の積の総和を算出すればよい。この変形例でも、基底関数値とMDF係数の積の演算回数を通常のIMDETにおける基底関数値とMDF係数の積の演算回数の1/4にできるので、IMDET全体の演算量を削減できる。
【０１０２】
上記の実施形態または変形例による直交変換装置が有する各部の機能をコンピュータに実現させるコンピュータプログラムは、半導体メモリ、磁気記録媒体または光記録媒体などの記録媒体に記憶された形で提供されてもよい。同様に、上記の実施形態または変形例によるオーディオ復号装置が有する各部の機能をコンピュータに実現させるコンピュータプログラムは、半導体メモリ、磁気記録媒体または光記録媒体などの記録媒体に記憶された形で提供されてもよい。ただし、そのような記録媒体には、搬送波は含まれない。
【０１０３】
図２２は、上記の実施形態またはその変形例によるオーディオ復号装置の各部の機能を実現するコンピュータプログラムが動作することにより、オーディオ復号装置として動作するコンピュータの構成図である。
【０１０４】
コンピュータ１００は、ユーザインターフェース部１０１と、通信インターフェース部１０２と、記憶部１０３と、記憶媒体アクセス装置１０４と、プロセッサ１０５と、オーディオインターフェース部１０６とを有する。プロセッサ１０５は、ユーザインターフェース部１０１、通信インターフェース部１０２、記憶部１０３、記憶媒体アクセス装置１０４及びオーディオインターフェース部１０６と、例えば、バスを介して接続される。
【０１０５】
ユーザインターフェース部１０１は、例えば、キーボードとマウスなどの入力装置と、液晶ディスプレイといった表示装置とを有する。または、ユーザインターフェース部１０１は、タッチパネルディスプレイといった、入力装置と表示装置とが一体化された装置を有してもよい。そしてユーザインターフェース部１０１は、例えば、ユーザの操作に応じて、復号するオーディオデータを選択する操作信号をプロセッサ１０５へ出力する。
【０１０６】
通信インターフェース部１０２は、コンピュータ１００を、オーディオデータを符号化する装置、例えば、ビデオカメラと接続するための通信インターフェース及びその制御回路を有してもよい。そのような通信インターフェースは、例えば、Universal Serial Bus（ユニバーサル・シリアル・バス、USB）とすることができる。
【０１０７】
さらに、通信インターフェース部１０２は、イーサネット（登録商標）などの通信規格に従った通信ネットワークに接続するための通信インターフェース及びその制御回路を有してもよい。
【０１０８】
この場合には、通信インターフェース部１０２は、通信ネットワークに接続された他の機器から、復号する符号化オーディオデータを取得し、そのデータをプロセッサ１０５へ渡す。
【０１０９】
記憶部１０３は、例えば、読み書き可能な半導体メモリと読み出し専用の半導体メモリとを有する。そして記憶部１０３は、プロセッサ１０５上で実行される、オーディオ復号処理を実行するためのコンピュータプログラム、及びこれらの処理の途中または結果として生成されるデータを記憶する。
【０１１０】
記憶媒体アクセス装置１０４は、例えば、磁気ディスク、半導体メモリカード及び光記憶媒体といった記憶媒体１０８にアクセスする装置である。記憶媒体アクセス装置１０４は、例えば、記憶媒体１０８に記憶されたプロセッサ１０５上で実行される、オーディオ復号処理用のコンピュータプログラムを読み込み、プロセッサ１０５に渡す。
【０１１１】
プロセッサ１０５は、上記の実施形態または変形例によるオーディオ復号処理用コンピュータプログラムを実行することにより、符号化オーディオデータを復号する。そしてプロセッサ１０５は、復号されたオーディオデータをオーディオインターフェース部１０６を介してスピーカ１０７へ出力する。
【０１１２】
上記の実施形態またはその変形例による直交変換装置は、MPEG Surround方式に従って符号化されたオーディオ信号の復号以外の用途に利用されてもよい。上記の実施形態またはその変形例による直交変換装置は、MDCT係数をQMF係数へ変換することが求められる様々な装置に適用できる。
【０１１３】
また、上記の実施形態または変形例によるオーディオ復号装置は、コンピュータ、ビデオ信号の録画再生機など、符号化されたオーディオ信号を再生するために利用される各種の機器に実装される。
【０１１４】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【符号の説明】
【０１１５】
１    オーディオ復号装置
１１    分離部
１２    主信号復号部
１３    時間周波数変換部
１４    空間情報復号部
１５    残差信号復号部
１６、１６’    直交変換部（直交変換装置）
１７    アップミックス部
１８    周波数時間変換部
２１    窓処理部
２２    逆修正離散指数変換部
２３    係数調整部
２４    切り替え部
２５    第２逆修正離散指数変換部
３１    記憶部
３２    局所乗算部
３３    係数算出部
４１    入れ替え部
４２    反転部
４３    バタフライ逆コサイン変換部
４４    バタフライ逆サイン変換部
５１−１、５１−２    逆コサイン変換部
５３−１、５３−２    逆サイン変換部
５２、５４    加算部
６１    事前回転部
６２    高速フーリエ変換部
６３    事後回転部
１００    コンピュータ
１０１    ユーザインターフェース部
１０２    通信インターフェース部
１０３    記憶部
１０４    記憶媒体アクセス装置
１０５    プロセッサ
１０６    オーディオインターフェース部
１０７    スピーカ
１０８    記憶媒体
【図１】
2014194633.tif 000018
【図２】
2014194633.tif 000019
【図３】
2014194633.tif 000020
【図４】
2014194633.tif 000021
【図５】
2014194633.tif 000022
【図６】
2014194633.tif 000023
【図７】
2014194633.tif 000024
【図８】
2014194633.tif 000025
【図９】
2014194633.tif 000026
【図１０】
2014194633.tif 000027
【図１１】
2014194633.tif 000028
【図１２】
2014194633.tif 000029
【図１３】
2014194633.tif 000030
【図１４】
2014194633.tif 000031
【図１５】
2014194633.tif 000032
【図１６】
2014194633.tif 000033
【図１７】
2014194633.tif 000034
【図１８】
2014194633.tif 000035
【図１９】
2014194633.tif 000036
【図２０】
2014194633.tif 000037
【図２１】
2014194633.tif 000038
【図２２】
2014194633.tif 000039