(57)【特許請求の範囲】
【請求項１】
所定チャネル数の音声信号の音量補正のための第１のゲイン値と、前記所定チャネル数の前記音声信号をダウンミックスすることで得られる、前記所定チャネル数とは異なる他のチャネル数の音声信号の音量補正のための第２のゲイン値とをフレームごとに算出するゲイン計算部と、
前記第１のゲイン値と前記第２のゲイン値の第１の差分値を求め、または前記第１の差分値と隣接する前記フレームの前記第１の差分値との間で第２の差分値を求め、前記第１の差分値または前記第２の差分値に基づく情報を符号化するゲイン符号化部と
を備える符号化装置。
【請求項２】
前記ゲイン符号化部は、前記フレーム内の複数の位置での前記第１のゲイン値と前記第２のゲイン値の前記第１の差分値を求め、または前記フレーム内の複数の位置での前記第１の差分値の間で前記第２の差分値を求める
請求項１に記載の符号化装置。
【請求項３】
前記ゲイン符号化部は、前記フレーム内の前記第１の差分値の傾きが変化するゲイン変化点に基づいて前記第２の差分値を求める
請求項１または請求項２に記載の符号化装置。
【請求項４】
前記ゲイン符号化部は、前記ゲイン変化点と、他のゲイン変化点との差分を求めることで、前記第２の差分値を求める
請求項３に記載の符号化装置。
【請求項５】
前記ゲイン符号化部は、前記ゲイン変化点と、他のゲイン変化点を用いた１次予測による予測値との差分を求めることで、前記第２の差分値を求める
請求項３に記載の符号化装置。
【請求項６】
前記ゲイン符号化部は、前記フレーム内における前記ゲイン変化点の個数と、前記ゲイン変化点における前記第２の差分値に基づく情報を符号化する
請求項３に記載の符号化装置。
【請求項７】
前記ゲイン計算部は、前記ダウンミックスにより得られる異なるチャネル数の音声信号ごとに、前記第２のゲイン値を算出する
請求項１乃至請求項６の何れか一項に記載の符号化装置。
【請求項８】
前記ゲイン符号化部は、前記第１のゲイン値と前記第２のゲイン値の相関に基づいて、前記第１の差分値を求めるか否かを選択する
請求項１乃至請求項７の何れか一項に記載の符号化装置。
【請求項９】
前記ゲイン符号化部は、前記第１の差分値または前記第２の差分値を可変長符号化する
請求項１乃至請求項８の何れか一項に記載の符号化装置。
【請求項１０】
所定チャネル数の音声信号の音量補正のための第１のゲイン値と、前記所定チャネル数の前記音声信号をダウンミックスすることで得られる、前記所定チャネル数とは異なる他のチャネル数の音声信号の音量補正のための第２のゲイン値とをフレームごとに算出し、
前記第１のゲイン値と前記第２のゲイン値の第１の差分値を求め、または前記第１の差分値と隣接する前記フレームの前記第１の差分値との間で第２の差分値を求め、前記第１の差分値または前記第２の差分値に基づく情報を符号化する
ステップを含む符号化方法。
【請求項１１】
所定チャネル数の音声信号の音量補正のための第１のゲイン値と、前記所定チャネル数の前記音声信号をダウンミックスすることで得られる、前記所定チャネル数とは異なる他のチャネル数の音声信号の音量補正のための第２のゲイン値とをフレームごとに算出し、
前記第１のゲイン値と前記第２のゲイン値の第１の差分値を求め、または前記第１の差分値と隣接する前記フレームの前記第１の差分値との間で第２の差分値を求め、前記第１の差分値または前記第２の差分値に基づく情報を符号化する
ステップを含む処理をコンピュータに実行させるプログラム。
【請求項１２】
フレームごとに算出された、所定チャネル数の音声信号の音量補正のための第１のゲイン値と、前記所定チャネル数の前記音声信号をダウンミックスすることで得られる、前記所定チャネル数とは異なる他のチャネル数の音声信号の音量補正のための第２のゲイン値について、前記第１のゲイン値と前記第２のゲイン値の第１の差分値、または前記第１の差分値と隣接する前記フレームの前記第１の差分値との間での第２の差分値を求めることで生成されたゲイン符号列と、前記所定チャネル数の前記音声信号を符号化して得られた信号符号列とに、入力符号列を非多重化する非多重化部と、
前記信号符号列を復号化する信号復号化部と、
前記ゲイン符号列を復号化して、前記第１のゲイン値または前記第２のゲイン値を出力するゲイン復号化部と
を備える復号化装置。
【請求項１３】
前記第１の差分値は、前記フレーム内の複数の位置での前記第１のゲイン値と前記第２のゲイン値の差分値を求めることで符号化されており、
前記第２の差分値は、前記フレーム内の複数の位置での前記第１の差分値の間での差分値を求めることで符号化されている
請求項１２に記載の復号化装置。
【請求項１４】
前記第２の差分値が、前記フレーム内の前記第１の差分値の傾きが変化するゲイン変化点から求められることで符号化されている
請求項１２または請求項１３に記載の復号化装置。
【請求項１５】
前記第２の差分値が、前記ゲイン変化点と、他のゲイン変化点との差分から求められることで符号化されている
請求項１４に記載の復号化装置。
【請求項１６】
前記第２の差分値が、前記ゲイン変化点と、他のゲイン変化点を用いた１次予測による予測値との差分から求められることで符号化されている
請求項１４に記載の復号化装置。
【請求項１７】
前記フレーム内における前記ゲイン変化点の個数と、前記ゲイン変化点における前記第２の差分値に基づく情報が前記第２の差分値として符号化されている
請求項１４乃至請求項１６の何れか一項に記載の復号化装置。
【請求項１８】
フレームごとに算出された、所定チャネル数の音声信号の音量補正のための第１のゲイン値と、前記所定チャネル数の前記音声信号をダウンミックスすることで得られる、前記所定チャネル数とは異なる他のチャネル数の音声信号の音量補正のための第２のゲイン値について、前記第１のゲイン値と前記第２のゲイン値の第１の差分値、または前記第１の差分値と隣接する前記フレームの前記第１の差分値との間での第２の差分値を求めることで生成されたゲイン符号列と、前記所定チャネル数の前記音声信号を符号化して得られた信号符号列とに入力符号列を非多重化し、
前記信号符号列を復号化し、
前記ゲイン符号列を復号化して、前記第１のゲイン値または前記第２のゲイン値を出力する
ステップを含む復号化方法。
【請求項１９】
フレームごとに算出された、所定チャネル数の音声信号の音量補正のための第１のゲイン値と、前記所定チャネル数の前記音声信号をダウンミックスすることで得られる、前記所定チャネル数とは異なる他のチャネル数の音声信号の音量補正のための第２のゲイン値について、前記第１のゲイン値と前記第２のゲイン値の第１の差分値、または前記第１の差分値と隣接する前記フレームの前記第１の差分値との間での第２の差分値を求めることで生成されたゲイン符号列と、前記所定チャネル数の前記音声信号を符号化して得られた信号符号列とに入力符号列を非多重化し、
前記信号符号列を復号化し、
前記ゲイン符号列を復号化して、前記第１のゲイン値または前記第２のゲイン値を出力する
ステップを含む処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は符号化装置および方法、復号化装置および方法、並びにプログラムに関し、特に、より少ない符号量で適切な音量の音声を得ることができるようにした符号化装置および方法、復号化装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来、MPEG（Moving Picture Experts Group）AAC（Advanced Audio Coding）（ISO/IEC14496-3:2001）のマルチチャネルオーディオ符号化技術では、ビットストリーム中にダウンミックスやDRC（Dinamic Range Compression）の補助情報を記録し、再生側でその環境に応じて補助情報を使用することができる（例えば、非特許文献１参照）。【０００３】
このような補助情報を用いれば、再生側において音声信号をダウンミックスしたり、DRCにより適切な音量制御を行ったりすることができる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Information technology Coding of audiovisual objects Part 3:Audio（ISO/IEC 14496-3:2001）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、11.1チャネル（以下、チャネルをchとも記すこととする）等の超多チャネル信号の再生においては、その再生環境は2ch、5.1ch、7.1chなど様々なケースがあり、単一のダウンミックス係数では十分な音圧が得にくかったり、クリッピングが生じてしまったりする。【０００６】
例えば上述したMPEG AACでは、ダウンミックスやDRCなどの補助情報がMDCT（Modified Discrete Cosine Transform）領域上でのゲインとして符号化されていた。そのため、11.1chのビットストリームをそのまま11.1chで再生するか、または2chにダウンミックスして再生するかで音圧レベルが低かったり、逆に大きくクリッピングしてしまったりすることがあり、適切な音量の音声を得ることが困難であった。【０００７】
また、再生環境ごとに補助情報を符号化して伝送しようとすると、ビットストリームの符号量が多くなってしまう。【０００８】
本技術は、このような状況に鑑みてなされたものであり、より少ない符号量で適切な音量の音声を得ることができるようにするものである。
【課題を解決するための手段】
【０００９】
本技術の第１の側面の符号化装置は、所定チャネル数の音声信号の音量補正のための第１のゲイン値と、前記所定チャネル数の前記音声信号をダウンミックスすることで得られる、前記所定チャネル数とは異なる他のチャネル数の音声信号の音量補正のための第２のゲイン値とをフレームごとに算出するゲイン計算部と、前記第１のゲイン値と前記第２のゲイン値の第１の差分値を求め、または前記第１の差分値と隣接する前記フレームの前記第１の差分値との間で第２の差分値を求め、前記第１の差分値または前記第２の差分値に基づく情報を符号化するゲイン符号化部とを備える。
【００１０】
前記ゲイン符号化部には、前記フレーム内の複数の位置での前記第１のゲイン値と前記第２のゲイン値の前記第１の差分値を求めさせるか、または前記フレーム内の複数の位置での前記第１の差分値の間で前記第２の差分値を求めさせることができる。
【００１１】
前記ゲイン符号化部には、前記フレーム内の前記第１の差分値の傾きが変化するゲイン変化点に基づいて前記第２の差分値を求めさせることができる。
【００１２】
前記ゲイン符号化部には、前記ゲイン変化点と、他のゲイン変化点との差分を求めることで、前記第２の差分値を求めさせることができる。【００１３】
前記ゲイン符号化部には、前記ゲイン変化点と、他のゲイン変化点を用いた１次予測による予測値との差分を求めることで、前記第２の差分値を求めさせることができる。【００１４】
前記ゲイン符号化部には、前記フレーム内における前記ゲイン変化点の個数と、前記ゲイン変化点における前記第２の差分値に基づく情報を符号化させることができる。【００１５】
前記ゲイン計算部には、前記ダウンミックスにより得られる異なるチャネル数の音声信号ごとに、前記第２のゲイン値を算出させることができる。
【００１６】
前記ゲイン符号化部には、前記第１のゲイン値と前記第２のゲイン値の相関に基づいて、前記第１の差分値を求めるか否かを選択させることができる。【００１７】
前記ゲイン符号化部には、前記第１の差分値または前記第２の差分値を可変長符号化させることができる。【００１８】
本技術の第１の側面の符号化方法またはプログラムは、所定チャネル数の音声信号の音量補正のための第１のゲイン値と、前記所定チャネル数の前記音声信号をダウンミックスすることで得られる、前記所定チャネル数とは異なる他のチャネル数の音声信号の音量補正のための第２のゲイン値とをフレームごとに算出し、前記第１のゲイン値と前記第２のゲイン値の第１の差分値を求め、または前記第１の差分値と隣接する前記フレームの前記第１の差分値との間で第２の差分値を求め、前記第１の差分値または前記第２の差分値に基づく情報を符号化するステップを含む。
【００１９】
本技術の第１の側面においては、所定チャネル数の音声信号の音量補正のための第１のゲイン値と、前記所定チャネル数の前記音声信号をダウンミックスすることで得られる、前記所定チャネル数とは異なる他のチャネル数の音声信号の音量補正のための第２のゲイン値とがフレームごとに算出され、前記第１のゲイン値と前記第２のゲイン値の第１の差分値が求められ、または前記第１の差分値と隣接する前記フレームの前記第１の差分値との間で第２の差分値が求められ、前記第１の差分値または前記第２の差分値に基づく情報が符号化される。
【００２０】
本技術の第２の側面の復号化装置は、フレームごとに算出された、所定チャネル数の音声信号の音量補正のための第１のゲイン値と、前記所定チャネル数の前記音声信号をダウンミックスすることで得られる、前記所定チャネル数とは異なる他のチャネル数の音声信号の音量補正のための第２のゲイン値について、前記第１のゲイン値と前記第２のゲイン値の第１の差分値、または前記第１の差分値と隣接する前記フレームの前記第１の差分値との間での第２の差分値を求めることで生成されたゲイン符号列と、前記所定チャネル数の前記音声信号を符号化して得られた信号符号列とに、入力符号列を非多重化する非多重化部と、前記信号符号列を復号化する信号復号化部と、前記ゲイン符号列を復号化して、前記第１のゲイン値または前記第２のゲイン値を出力するゲイン復号化部とを備える。
【００２１】
前記第１の差分値は、前記フレーム内の複数の位置での前記第１のゲイン値と前記第２のゲイン値の差分値を求めることで符号化されており、前記第２の差分値は、前記フレーム内の複数の位置での前記第１の差分値の間での差分値を求めることで符号化されているようにすることができる。
【００２２】
前記第２の差分値が、前記フレーム内の前記第１の差分値の傾きが変化するゲイン変化点から求められることで符号化されているようにすることができる。
【００２３】
前記第２の差分値が、前記ゲイン変化点と、他のゲイン変化点との差分から求められることで符号化されているようにすることができる。【００２４】
前記第２の差分値が、前記ゲイン変化点と、他のゲイン変化点を用いた１次予測による予測値との差分から求められることで符号化されているようにすることができる。【００２５】
前記フレーム内における前記ゲイン変化点の個数と、前記ゲイン変化点における前記第２の差分値に基づく情報が前記第２の差分値として符号化されているようにすることができる。【００２６】
本技術の第２の側面の復号化方法またはプログラムは、フレームごとに算出された、所定チャネル数の音声信号の音量補正のための第１のゲイン値と、前記所定チャネル数の前記音声信号をダウンミックスすることで得られる、前記所定チャネル数とは異なる他のチャネル数の音声信号の音量補正のための第２のゲイン値について、前記第１のゲイン値と前記第２のゲイン値の第１の差分値、または前記第１の差分値と隣接する前記フレームの前記第１の差分値との間での第２の差分値を求めることで生成されたゲイン符号列と、前記所定チャネル数の前記音声信号を符号化して得られた信号符号列とに入力符号列を非多重化し、前記信号符号列を復号化し、前記ゲイン符号列を復号化して、前記第１のゲイン値または前記第２のゲイン値を出力するステップを含む。
【００２７】
本技術の第２の側面においては、フレームごとに算出された、所定チャネル数の音声信号の音量補正のための第１のゲイン値と、前記所定チャネル数の前記音声信号をダウンミックスすることで得られる、前記所定チャネル数とは異なる他のチャネル数の音声信号の音量補正のための第２のゲイン値について、前記第１のゲイン値と前記第２のゲイン値の第１の差分値、または前記第１の差分値と隣接する前記フレームの前記第１の差分値との間での第２の差分値を求めることで生成されたゲイン符号列と、前記所定チャネル数の前記音声信号を符号化して得られた信号符号列とに入力符号列が非多重化され、前記信号符号列が復号化され、前記ゲイン符号列が復号化されて、前記第１のゲイン値または前記第２のゲイン値が出力される。
【発明の効果】
【００２８】
本技術の第１の側面および第２の側面によれば、より少ない符号量で適切な音量の音声を得ることができる。【００２９】
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載された何れかの効果であってもよい。
【図面の簡単な説明】
【００３０】
【図１】音声信号を符号化した１フレーム分の符号列の例を示す図である。
【図２】復号化装置の構成を示す図である。
【図３】本技術を適用した符号化装置の構成例を示す図である。
【図４】DRC特性を示す図である。
【図５】各信号のゲインの相関について説明する図である。
【図６】ゲインシーケンス間の差分について説明する図である。
【図７】出力符号列の例を示す図である。
【図８】ゲイン符号化モードヘッダの例を示す図である。
【図９】ゲインシーケンスモードの例を示す図である。
【図１０】ゲイン符号列の例を示す図である。
【図１１】０次予測差分モードについて説明する図である。
【図１２】位置情報の符号化について説明する図である。
【図１３】符号帳の例を示す図である。
【図１４】１次予測差分モードについて説明する図である。
【図１５】時間フレーム間の差分について説明する図である。
【図１６】時間フレーム間の差分の確率密度分布を示す図である。
【図１７】符号化処理を説明するフローチャートである。
【図１８】ゲイン符号化処理を説明するフローチャートである。
【図１９】本技術を適用した復号化装置の構成例を示す図である。
【図２０】復号化処理を説明するフローチャートである。
【図２１】ゲイン復号化処理を説明するフローチャートである。
【図２２】符号化装置の構成例を示す図である。
【図２３】符号化処理を説明するフローチャートである。
【図２４】符号化装置の構成例を示す図である。
【図２５】符号化処理を説明するフローチャートである。
【図２６】ゲイン符号化処理を説明するフローチャートである。
【図２７】復号化装置の構成例を示す図である。
【図２８】復号化処理を説明するフローチャートである。
【図２９】ゲイン復号化処理を説明するフローチャートである。
【図３０】コンピュータの構成例を示す図である。
【発明を実施するための形態】
【００３１】
以下、図面を参照して、本技術を適用した実施の形態について説明する。
【００３２】
〈第１の実施の形態〉
〈本技術の概要〉
まず、一般的なMPEG AACのDRC処理について説明する。
【００３３】
図１は、音声信号を符号化して得られたビットストリームに含まれる１フレーム分の情報を示す図である。
【００３４】
図１に示す例では、１フレーム分の情報は、補助情報と主情報とからなる。
【００３５】
主情報は、スケールファクタやMDCT係数などの符号化された音声信号である出力時系列信号を構成するための主となる情報であり、補助情報は一般的にメタデータと呼ばれる出力時系列信号を様々な用途に活用するために有用な補助的な情報である。この補助情報には、ゲイン情報とダウンミックス情報とが含まれている。
【００３６】
ダウンミックス情報は、例えば11.1chなどの複数のチャネルからなる音声信号から、より少ないチャネル数の音声信号に変換するためのゲイン係数がインデックスの形で符号化されたものである。音声信号の復号化時には、各チャネルのMDCT係数にダウンミックス情報から得られるゲイン係数を乗算し、ゲイン係数が乗算された各チャネルのMDCT係数を加算することで、ダウンミックス後の出力チャネルのMDCT係数を得ることができる。
【００３７】
一方、ゲイン情報は、全チャネルまたはある特定のチャネルからなるグループの対を別の信号レベルに変換するためのゲイン係数がインデックスの形で符号化されたものである。ゲイン情報についてもダウンミックスのゲイン係数と同様に、復号化時に各チャネルのMDCT係数にゲイン情報から得られたゲイン係数を乗じることで、DRC処理後のMDCT係数を得ることができる。
【００３８】
次に、このような図１に示した情報が含まれたビットストリーム、すなわちMPEG AACの復号化処理について説明する。
【００３９】
図２は、MPEG AACの復号化処理を行う復号化装置の構成を示す図である。
【００４０】
図２に示す復号化装置１１では、入力ビットストリームの１フレーム分の入力符号列が非多重化回路２１に供給されると、非多重化回路２１は入力符号列を主情報に相当する信号符号列と、補助情報に相当するゲイン情報およびダウンミックス情報とに非多重化する。
【００４１】
復号化・逆量子化回路２２は、非多重化回路２１から供給された信号符号列に対する復号化および逆量子化を行って、その結果得られたMDCT係数をゲイン適用回路２３に供給する。また、ゲイン適用回路２３は、ダウンミックス制御情報とDRC制御情報に基づいて、非多重化回路２１から供給されたゲイン情報とダウンミックス情報から得られるゲイン係数のそれぞれをMDCT係数に乗算し、得られたゲイン適用MDCT係数を出力する。
【００４２】
ここで、ダウンミックス制御情報とDRC制御情報は、それぞれ上位の制御装置から与えられる情報であり、ダウンミックスおよびDRCの処理を行うか否かを示す情報である。
【００４３】
逆MDCT回路２４は、ゲイン適用回路２３からのゲイン適用MDCT係数に対して逆MDCT処理を施し、得られた逆MDCT信号を窓掛け・OLA回路２５に供給する。そして、窓掛け・OLA回路２５は、供給された逆MDCT信号に対して窓掛けおよびオーバーラップ加算処理を行い、MPEG AACの復号化装置１１の出力となる出力時系列信号が得られる。
【００４４】
このようにMPEG AACでは、ダウンミックスやDRCの補助情報が、MDCT領域上でのゲインとして符号化されている。そのため、例えば11.1chのビットストリームをそのまま11.1chで再生するか、または2chにダウンミックスして再生するかで音圧レベルが低かったり、逆に大きくクリッピングしてしまったりすることがあり、適切な音量の音声を得ることができない場合があった。
【００４５】
例えば、MPEG AAC（ISO/IEC14496-3:2001）では、4.5.1.2.2節のMatrix-Mixdown processにおいて、5.1chから2chへのダウンミックス方法が次式（１）のように記載されている。
【００４６】
【数１】
0006531649.tif 000002
【００４７】
なお、式（１）において、Ｌ、Ｒ、Ｃ、Ｓｌ、およびＳｒは、それぞれ5.1チャネル信号の左チャネル、右チャネル、センターチャネル、サイドレフトチャネル、およびサイドライトチャネルの信号を示している。また、ＬｔおよびＲｔは、それぞれ2chへのダウンミックス後の左チャネルおよび右チャネルの信号を示している。
【００４８】
さらに、式（１）においてｋはサイドチャネルの混合率を調整するための係数であり、係数ｋとして1/sqrt(2)、1/2、(1/2sqrt(2))、および0のなかから１つを選択することができるようになっている。
【００４９】
ここで、ダウンミックス後のクリップが生じるケースは、全チャネルが最大振幅の信号となる場合である。すなわちＬ、Ｒ、Ｃ、Ｓｌ、およびＳｒの各チャネルの信号の振幅が全て1.0であると仮定すると、式（１）によれば、ｋの値にかかわらずＬｔおよびＲｔの信号の振幅もそれぞれ1.0となる。つまりクリップ歪が発生しないダウンミックス式となっていることが保証されている。
【００５０】
但し、係数k=1/sqrt(2)である場合、式（１）におけるＬまたはＲのゲインは-7.65dBとなり、Ｃのゲインは-10.65dBとなり、ＳｌまたはＳｒのゲインは-10.65dBとなる。したがって、クリップ歪が発生しないこととのトレードオフとして、ダウンミックス前の信号レベルから大幅に信号レベルが減少することになる。
【００５１】
このような信号レベルの低下を懸念し、MPEG AAC を用いた日本の地上デジタル放送においては、デジタル放送用受信装置標準規格 ARIB（Association of Radio Industries and Business） STD-B21 5.0版の6.2.1節(7-1)において、ダウンミックス方法が次式（２）のように記載されている。
【００５２】
【数２】
0006531649.tif 000003
【００５３】
なお、式（２）においてＬ、Ｒ、Ｃ、Ｓｌ、Ｓｒ、Ｌｔ、Ｒｔ、およびｋは式（１）における場合と同一である。
【００５４】
この例では、係数ｋとして、式（１）における場合と同様に1/sqrt(2)、1/2、(1/2sqrt(2))、および0のなかから１つを選択することができるようになっている。
【００５５】
式（２）ではk=1/sqrt(2)である場合、式（２）中のＬまたはＲのゲインは-3dBとなり、Ｃのゲインは-6dBとなり、ＳｌまたはＳｒのゲインは-6dBとなって式（１）と比べてダウンミックス前後のレベルの変化が少ない。
【００５６】
但し、この場合、Ｌ、Ｒ、Ｃ、Ｓｌ、およびＳｒが全て1.0であったときにはクリップが発生する。しかし、ARIB STD-B21 5.0版 付属-4の記載においては、このダウンミックス式を用いた場合に、一般的な信号でクリップ歪が発生することは極めてまれであり、オーバーフローが発生した場合にも、符号反転しないような、いわゆるソフトクリップ処理を施しておけば、聴感上は大きな歪とはならないという旨の記述がある。
【００５７】
しかしながら、上記の例はチャネル数が5.1チャネルの場合であり、これが11.1チャネルや、さらに多くのチャネルを符号化し、ダウンミックスするようなケースではクリップ歪の発生やレベルの変化がさらに顕著になる。
【００５８】
そこで、例えばDRCの補助情報をゲインとして符号化するかわりに、既知のDRC特性のインデックスを符号化する方法をとることも考えられる。そのような場合、復号化の際に復号化後のPCM（Pulse Code Modulation）信号、すなわち上述した出力時系列信号上で、このインデックスのDRC特性になるように、DRC処理を行うことでダウンミックスの有無による音圧レベルの低下やクリッピングの発生を抑制することができる。
【００５９】
しかしながら、このような方法では、DRCの特性情報を復号化装置側で持つことになるため、コンテンツ制作者側が自由なDRC特性を表現することができず、また復号化装置側でDRC処理そのものを行うため、計算量が多くなってしまう。
【００６０】
一方で、ダウンミックス後の信号レベルの低下やクリップ歪の発生を防止するために、ダウンミックスの有無によって、異なるDRCのゲイン係数を適用する方法が考えられる。
【００６１】
ところが、従来の5.1チャネルよりもチャネル数が極めて多い場合、ダウンミックスされるチャネル数のパターンも多くなる。例えば、11.1chの信号から7.1ch、5.1ch、2chへとダウンミックスされるケースが考えられ、上述したように複数のゲインを送る場合には、４倍の符号量の増加となる。
【００６２】
また、近年DRCは視聴環境においてレンジの異なるDRC係数を適用したいといった需要も増えてきている。例えば、家庭内での試聴やモバイル端末を用いた視聴では、要求されるダイナミックレンジが異なり、異なるDRC係数を適用したほうが好ましい。この場合、各ダウンミックスのケースでそれぞれ２個の異なるレンジのDRC係数を復号化側に送信する場合、１つのDRC係数を送信する場合と比べて８倍の符号量の増加となる。
【００６３】
さらには、MPEG AAC（ISO/IEC14496-3:2001）のような、時間フレームあたり１個（ショートウィンドウ時には８個）のDRCゲイン係数を符号化するような方法では、時間分解能が不足しており1msec以下の時間分解能が要求されている。このようにさらなるDRCゲイン係数の増加が見込まれており、単純に既存の方法でDRCゲイン係数を符号化する場合、約８倍から数十倍程度の符号量の増加となる。
【００６４】
そこで、本技術では、符号化装置側でコンテンツ制作者が自由なDRCのゲインを設定でき、かつ復号化装置側での計算負荷を軽くしながら、伝送に必要な符号量を削減できるようにした。すなわち、本技術は、より少ない符号量で適切な音量の音声を得ることができるようにするものである。
【００６５】
〈符号化装置の構成例〉
次に、本技術を適用した具体的な実施の形態について説明する。
【００６６】
図３は、本技術を適用した符号化装置の一実施の形態の機能の構成例を示す図である。
【００６７】
図３に示す符号化装置５１は、第一音圧レベル計算回路６１、第一ゲイン計算回路６２、ダウンミックス回路６３、第二音圧レベル計算回路６４、第二ゲイン計算回路６５、ゲイン符号化回路６６、信号符号化回路６７、および多重化回路６８を有している。
【００６８】
第一音圧レベル計算回路６１は、供給されたマルチチャネルの音声信号である入力時系列信号に基づいて、入力時系列信号を構成する各チャネルの音圧レベルを計算し、それらのチャネルごとの音圧レベルの代表値を第一音圧レベルとして求める。
【００６９】
例えば、音圧レベルの計算方法は、入力時系列信号を構成するチャネルの音声信号の時間フレームの最大値やRMS（Root Mean Square）などとされ、入力時系列信号の各時間フレームについて、入力時系列信号を構成するチャネルごとに音圧レベルが求められる。
【００７０】
また、第一音圧レベルとされる代表値の計算方法としては、例えば各チャネルの音圧レベルのうちの最大値を代表値とする手法や、各チャネルの音圧レベルから特定の計算式で１つの代表値を算出する手法などを用いることができる。具体的には、例えばITU-R BS.1770-2(03/2011)に記載のラウドネス計算式を用いて代表値を算出することが可能である。
【００７１】
なお、音圧レベルの代表値は入力時系列信号の各時間フレームについて求められる。また、第一音圧レベル計算回路６１で処理単位とされる時間フレームは、後述する信号符号化回路６７で処理される入力時系列信号の時間フレームと同期し、信号符号化回路６７での時間フレーム以下の長さの時間フレームとされる。
【００７２】
第一音圧レベル計算回路６１は、求めた第一音圧レベルを第一ゲイン計算回路６２に供給する。このようにして得られた第一音圧レベルは、例えば11.1chなどの所定数のチャネルの音声信号からなる入力時系列信号のチャネルの代表的な音圧レベルを示している。
【００７３】
第一ゲイン計算回路６２は、第一音圧レベル計算回路６１から供給された第一音圧レベルに基づいて第一ゲインを計算し、ゲイン符号化回路６６に供給する。
【００７４】
ここで、第一ゲインは、復号化装置側において入力時系列信号を再生したときに最適な音量の音声が得られるように、入力時系列信号を音量補正するときのゲインを示している。換言すれば、入力時系列信号に対するダウンミックスが行われない場合、入力時系列信号を第一ゲインで音量補正すれば、再生側において最適な音量の音声を得ることができる。
【００７５】
第一ゲインを得る手法は様々なものがあるが、例えば図４に示すようなDRCの特性を用いることができる。
【００７６】
なお、図４において、横軸は入力音圧レベル(dBFS)、すなわち第一音圧レベルを示しており、縦軸は出力音圧レベル(dBFS)、すなわちDRC処理により入力時系列信号を音圧レベル補正（音量補正）したときの補正後の音圧レベルを示している。
【００７７】
折れ線Ｃ１および折れ線Ｃ２は、それぞれ入出力音圧レベルの関係を示している。例えば、折れ線Ｃ１に示されるDRC特性によれば、0dBFSの第一音圧レベルの入力があった場合、入力時系列信号の音圧レベルが-27dBFSとなるように音量補正される。したがって、この場合には、第一ゲインは-27dBFSとされる。
【００７８】
一方、例えば、折れ線Ｃ２に示されるDRC特性によれば、0dBFSの第一音圧レベルの入力があった場合、入力時系列信号の音圧レベルが-21dBFSとなるように音量補正される。したがって、この場合には、第一ゲインは-21dBFSとされる。
【００７９】
以下では、折れ線Ｃ１に示されるDRC特性で音量補正を行うモードをDRC_MODE1と称することとする。また、折れ線Ｃ２に示されるDRC特性で音量補正を行うモードをDRC_MODE2と称することとする。
【００８０】
第一ゲイン計算回路６２では、DRC_MODE1やDRC_MODE2などの指定されたモードのDRC特性に従って第一ゲインが決定される。この第一ゲインは、信号符号化回路６７の時間フレームと同期したゲイン波形として出力される。すなわち、第一ゲイン計算回路６２では、入力時系列信号の処理対象となっている時間フレームを構成するサンプルごとに第一ゲインが算出される。
【００８１】
図３の説明に戻り、ダウンミックス回路６３は、符号化装置５１に供給された入力時系列信号に対して、上位の制御装置から供給されたダウンミックス情報を用いてダウンミックス処理を行い、その結果得られたダウンミックス信号を第二音圧レベル計算回路６４に供給する。
【００８２】
なお、ダウンミックス回路６３からは、１つのダウンミックス信号が出力されるようにしてもよいし、複数のダウンミックス信号が出力されるようにしてもよい。例えば11.1chの入力時系列信号に対してダウンミックス処理が行われ、2chの音声信号であるダウンミックス信号、5.1chの音声信号であるダウンミックス信号、および7.1chの音声信号であるダウンミックス信号が生成されるようにしてもよい。
【００８３】
第二音圧レベル計算回路６４は、ダウンミックス回路６３から供給されたマルチチャネルの音声信号であるダウンミックス信号に基づいて第二音圧レベルを計算し、第二ゲイン計算回路６５に供給する。
【００８４】
第二音圧レベル計算回路６４では、第一音圧レベル計算回路６１における第一音圧レベルの計算手法と同じ手法が用いられて、ダウンミックス信号ごとに第二音圧レベルが計算される。
【００８５】
第二ゲイン計算回路６５は、第二音圧レベル計算回路６４から供給された各ダウンミックス信号の第二音圧レベルについて、ダウンミックス信号ごとに第二音圧レベルに基づいて第二ゲインを計算し、ゲイン符号化回路６６に供給する。
【００８６】
ここで、第二ゲイン計算回路６５では、第一ゲイン計算回路６２で用いられたDRC特性およびゲイン計算方法によって第二ゲインが計算される。
【００８７】
したがって、第二ゲインは、復号化装置側において入力時系列信号をダウンミックスして再生したときに最適な音量の音声が得られるように、ダウンミックス信号を音量補正するときのゲインを示している。換言すれば、入力時系列信号に対するダウンミックスが行われた場合、得られたダウンミックス信号を第二ゲインで音量補正すれば、最適な音量の音声を得ることができる。
【００８８】
このような第二ゲインは、DRC特性に従って音声の音量をより最適な音量に補正するとともに、ダウンミックスにより変化する音圧レベルを補正するためのゲインであるということができる。
【００８９】
ここで、第一ゲイン計算回路６２および第二ゲイン計算回路６５において、第一ゲインや第二ゲインなどのゲイン波形を得る方法の一例について具体的に説明する。
【００９０】
時間フレームｋにおけるゲイン波形g(k, n)は、次式（３）を計算することにより求めることができる。
【００９１】
【数３】
0006531649.tif 000004
【００９２】
なお、式（３）においてｎは、時間フレーム長をＮとしたときに0からN-1までの値をとる時間サンプルを示しており、Gt(k)は時間フレームｋにおける目標ゲインを示している。
【００９３】
また、式（３）におけるＡは次式（４）により定まる値とされる。
【００９４】
【数４】
0006531649.tif 000005
【００９５】
式（４）において、Fsはサンプリング周波数（Hz）を示しており、Tc(k)は時間フレームｋにおける時定数を示しており、exp(x)は指数関数を表している。
【００９６】
また式（３）において、n=0である場合におけるg(k, n-1)としては、直前の時間フレームにおける末端のゲイン値g(k-1,N-1)が用いられる。
【００９７】
まず、Gt(k)は前述の第一音圧レベル計算回路６１または第二音圧レベル計算回路６４で得られた第一音圧レベルまたは第二音圧レベルと、図４に示したDRC特性によって得ることができる。
【００９８】
例えば、図４に示したDRC_MODE2の特性を利用した場合に、音圧レベルが-3dBFSであった場合、出力音圧レベルは-21dBFSであるので、Gt(k)はデシベル値では-18dBとなる。次に、時定数Tc(k)は、前述のGt(k)と前時間フレームのゲインg(k-1,N-1)の差から求めることができる。
【００９９】
DRCの一般的な特徴として、大きな音圧レベルが入力されゲインを下げる場合をアタックと呼び、ゲインを急激に下げるため時定数を短くとることが知られている。一方、音圧レベルが比較的小さくゲインを戻す場合をリリースと呼び、音のふらつきをおさえるためにゆっくりとゲインを戻すため時定数を長くとることが知られている。
【０１００】
この時定数は、所望のDRCの特性によって異なるのが一般的である。例えばボイスレコーダのような人の声を記録再生する機器では時定数が短めに設定され、一方で、携帯音楽プレイヤー等の音楽記録再生用途の機器ではリリースの時定数が長めに設定されるのが一般的である。本実施例の説明においては、説明を簡単にするため、Gt(k)-g(k-1,N-1)がゼロ未満であればアタックとして時定数を20ミリ秒とし、ゼロ以上であればリリースとして時定数を2秒とすることとする。
【０１０１】
以上のように式（３）に従って計算を行うと、第一ゲインや第二ゲインとなるゲイン波形g(k, n)を得ることができる。
【０１０２】
図３の説明に戻り、ゲイン符号化回路６６は、第一ゲイン計算回路６２から供給された第一ゲインと、第二ゲイン計算回路６５から供給された第二ゲインとを符号化し、その結果得られたゲイン符号列を多重化回路６８に供給する。
【０１０３】
ここで、第一ゲインおよび第二ゲインの符号化では、それらのゲインの同じ時間フレーム内での差分、同じゲインの異なる時間フレーム間での差分、および同じ（対応する）時間フレームの異なるゲインの差分が適宜算出されて符号化される。なお、異なるゲインの差分とは、第一ゲインと第二ゲインの差分、または異なる第二ゲイン間の差分である。
【０１０４】
信号符号化回路６７は、供給された入力時系列信号を、所定の符号化方式、例えばMEPG AACによる符号化手法に代表される一般的な符号化手法により符号化し、その結果得られた信号符号列を多重化回路６８に供給する。多重化回路６８は、ゲイン符号化回路６６から供給されたゲイン符号列、上位の制御装置から供給されたダウンミックス情報、および信号符号化回路６７から供給された信号符号列を多重化し、その結果得られた出力符号列を出力する。
【０１０５】
〈第一ゲインおよび第二ゲインについて〉
ここで、ゲイン符号化回路６６に供給される第一ゲインおよび第二ゲインと、ゲイン符号化回路６６から出力されるゲイン符号列の例について説明する。
【０１０６】
例えば、ゲイン符号化回路６６に供給される第一ゲインおよび第二ゲインとして、図５に示すゲイン波形が得られたとする。なお、図５において横軸は時間を示しており、縦軸はゲイン（dB）を示している。
【０１０７】
図５の例では、折れ線Ｃ２１は、第一ゲインとして得られた11.1chの入力時系列信号のゲインを表しており、折れ線Ｃ２２は、第二ゲインとして得られた5.1chのダウンミックス信号のゲインを表している。ここで、5.1chのダウンミックス信号は、11.1chの入力時系列信号をダウンミックスすることで得られた音声信号である。
【０１０８】
また、折れ線Ｃ２３は、第一ゲインと第二ゲインの差分を表している。
【０１０９】
折れ線Ｃ２１乃至折れ線Ｃ２３から分かるように、第一ゲインと第二ゲインには高い相関があり、それぞれ独立に符号化するよりも両者の相関を利用して符号化する方が効率的である。そこで、符号化装置５１では、第一ゲインや第二ゲインなどのゲイン情報のうちの２つのゲインの差分が求められ、その差分と、差分を求めた一方のゲインとが、それぞれ効率的に符号化されるようになされている。
【０１１０】
以下においては、第一ゲインや第二ゲインのゲイン情報のうち、被差分となる主たるゲイン情報をマスターゲインシーケンスとも称し、このマスターゲインシーケンスとの差分値が求められるゲイン情報をスレーブゲインシーケンスとも称することとする。また、マスターゲインシーケンスとスレーブゲインシーケンスを特に区別しない場合には、ゲインシーケンスと称することとする。
【０１１１】
〈出力符号列について〉
また、以上の説明では、11.1chの入力時系列信号のゲインを第一ゲインとし、5.1chのダウンミックス信号のゲインを第二ゲインとする例について説明した。以下では、マスターゲインシーケンスとスレーブゲインシーケンスとの関係を詳細に説明するため、さらに11.1chの入力時系列信号をダウンミックスして得られた、7.1chのダウンミックス信号のゲインと、2chのダウンミックス信号のゲインとがあるものとして説明を続ける。すなわち、7.1chのゲインと2chのゲインは、それぞれ第二ゲイン計算回路６５において求められた第二ゲインである。したがって、この例では、第二ゲイン計算回路６５では３つの第二ゲインが計算されることになる。
【０１１２】
図６は、マスターゲインシーケンスとスレーブゲインシーケンスとの関係の一例を示す図である。なお、図６において横軸は時間フレームを示しており、縦軸は各ゲインシーケンスを表している。
【０１１３】
この例では、GAIN_SEQ0は、11.1chのゲインシーケンス、つまりダウンミックスされていない11.1chの入力時系列信号の第一ゲインを表している。また、GAIN_SEQ1は、7.1chのゲインシーケンス、つまりダウンミックスで得られた7.1chのダウンミックス信号の第二ゲインを表している。
【０１１４】
さらに、GAIN_SEQ2は、5.1chのゲインシーケンス、つまり5.1chのダウンミックス信号の第二ゲインを表しており、GAIN_SEQ3は、2chのゲインシーケンス、つまり2chのダウンミックス信号の第二ゲインを表している。
【０１１５】
また、図中、「M1」は１番目のマスターゲインシーケンスを表しており、「M2」は２番目のマスターゲインシーケンスを表している。さらに、図中、「M1」または「M2」に記された矢印の終点は、「M1」または「M2」で表されているマスターゲインシーケンスに対するスレーブゲインシーケンスを示している。
【０１１６】
時間フレームＪに注目すると、この時間フレームＪでは11.1chのゲインシーケンスがマスターゲインシーケンスとされている。また、他の7.1ch、5.1ch、および2chのゲインシーケンスは、11.1chのゲインシーケンスに対するスレーブゲインシーケンスとされている。
【０１１７】
そのため、時間フレームＪでは、マスターゲインシーケンスである11.1chのゲインシーケンスは、そのまま符号化される。そして、スレーブゲインシーケンスである7.1ch、5.1ch、および2chのゲインシーケンスは、マスターゲインシーケンスとの差分が求められ、その差分が符号化される。このようにして各ゲインシーケンスを符号化して得られる情報が、ゲイン符号列とされる。
【０１１８】
さらに、この時間フレームＪでは、マスターゲインシーケンスとスレーブゲインシーケンスの関係であるゲイン符号化モードを示す情報が符号化されて、ゲイン符号化モードヘッダＨＤ１１とされ、ゲイン符号列とともに出力符号列に付加される。
【０１１９】
このゲイン符号化モードヘッダは、処理対象となっている時間フレームにおけるゲイン符号化モードが、直前の時間フレームにおけるゲイン符号化モードと異なる場合に生成され、出力符号列に付加される。
【０１２０】
したがって、時間フレームＪの次のフレームである時間フレームＪ+１では、ゲイン符号化モードが時間フレームＪと同じであるので、ゲイン符号化モードヘッダの符号化は行われない。
【０１２１】
これに対して、時間フレームＫでは、マスターゲインシーケンスとスレーブゲインシーケンスとの対応関係に変化があり、ゲイン符号化モードが直前の時間フレームのものとは異なるので、ゲイン符号化モードヘッダＨＤ１２が出力符号列に付加されている。
【０１２２】
この例では、11.1chのゲインシーケンスがマスターゲインシーケンスとされており、7.1chのゲインシーケンスが、11.1chのゲインシーケンスに対するスレーブゲインシーケンスとされている。また、5.1chのゲインシーケンスが２番目のマスターゲインシーケンスとされており、2chのゲインシーケンスが、5.1chのゲインシーケンスに対するスレーブゲインシーケンスとされている。
【０１２３】
続いて、図６に示すように時間フレームとともにゲイン符号化モードが変化する場合に符号化装置５１から出力されるビットストリーム、すなわち各時間フレームの出力符号列の例について、具体的に説明する。
【０１２４】
符号化装置５１から出力されるビットストリームは、例えば図７に示すように各時間フレームの出力符号列からなり、各出力符号列には、補助情報と主情報が含まれている。
【０１２５】
例えば時間フレームＪでは、図６に示したゲイン符号化モードヘッダＨＤ１１に対応するゲイン符号化モードヘッダと、ゲイン符号列と、ダウンミックス情報とが補助情報の構成要素として出力符号列に含まれている。
【０１２６】
ここで、ゲイン符号列は、図６の例では11.1ch乃至2chの４つのゲインシーケンスを符号化して得られた情報である。また、ダウンミックス情報は、図１に示したダウンミックス情報と同じであり、復号化装置側において入力時系列信号をダウンミックスするときに必要となるゲイン係数を得るための情報（インデックス）である。
【０１２７】
また、時間フレームＪの出力符号列には、信号符号列が主情報として含まれている。
【０１２８】
時間フレームＪに続く時間フレームＪ＋１では、ゲイン符号化モードに変化がないので、補助情報にはゲイン符号化モードヘッダが含まれておらず、補助情報としてのゲイン符号列およびダウンミックス情報と、主情報としての信号符号列が出力符号列に含まれている。
【０１２９】
時間フレームＫでは、再びゲイン符号化モードが変化したので、補助情報としてのゲイン符号化モードヘッダ、ゲイン符号列、およびダウンミックス情報と、主情報としての信号符号列が出力符号列に含まれている。
【０１３０】
さらに、以下、図７に示したゲイン符号化モードヘッダとゲイン符号列について詳細に説明していく。
【０１３１】
出力符号列に含まれるゲイン符号化モードヘッダは、例えば図８に示す構成とされる。
【０１３２】
図８に示すゲイン符号化モードヘッダにはGAIN_SEQ_NUM、GAIN_SEQ0、GAIN_SEQ1、GAIN_SEQ2、およびGAIN_SEQ3が含まれており、それらのデータが各２バイトで符号化される。
【０１３３】
GAIN_SEQ_NUMは、符号化されるゲインシーケンスの個数を示しており、図６に示した例では４つのゲインシーケンスが符号化されるので、GAIN_SEQ_NUM＝４となっている。また、GAIN_SEQ0乃至GAIN_SEQ3は、各ゲインシーケンスの内容を示すデータ、すなわちゲインシーケンスモードのデータであり、図６の例では11.1ch、7.1ch、5.1ch、および2chのゲインシーケンスに関する情報がそれぞれ格納される。
【０１３４】
これらのGAIN_SEQ0乃至GAIN_SEQ3の各ゲインシーケンスモードのデータは、例えば図９に示す構成とされる。
【０１３５】
ゲインシーケンスモードのデータには、MASTER_FLAG、DIFF_SEQ_ID、DMIX_CH_CFG_ID、およびDRC_MODE_IDが含まれており、これらの４つの要素はそれぞれ４ビットで符号化されている。
【０１３６】
MASTER_FLAGは、このゲインシーケンスモードのデータで記述されているゲインシーケンスがマスターゲインシーケンスか否かを示す識別子である。
【０１３７】
例えば、MASTER_FLAGの値が「１」である場合、ゲインシーケンスはマスターゲインシーケンスであるとされ、MASTER_FLAGの値が「０」である場合、ゲインシーケンスはスレーブゲインシーケンスであるとされる。
【０１３８】
DIFF_SEQ_IDは、このゲインシーケンスモードのデータで記述されているゲインシーケンスが、どのマスターゲインシーケンスとの差分が計算されるかを示す識別子であり、MASTER_FLAGの値が「０」である場合に読み出される。
【０１３９】
DMIX_CH_CFG_IDは、このゲインシーケンスが対応するチャネルの構成情報、つまり例えば11.1chや7.1chなどのマルチチャネルの音声信号のチャネル数を示す情報とされる。
【０１４０】
DRC_MODE_IDは、第一ゲイン計算回路６２または第二ゲイン計算回路６５でのゲイン算出で用いられたDRCの特性を表す識別子であり、例えば図４に示した例では、DRC_MODE1またはDRC_MODE2の何れかを示す情報とされる。
【０１４１】
なお、マスターゲインシーケンスと、スレーブゲインシーケンスとでDRC_MODE_IDが異なる場合もある。すなわち、互いに異なるDRCの特性に従ってゲインが求められたゲインシーケンス同士で差分が求められることもある。
【０１４２】
ここで、例えば図６に示した時間フレームＪでは、11.1chのゲインシーケンスに関する情報が図８のGAIN_SEQ0（ゲインシーケンスモード）に格納される。
【０１４３】
そして、そのゲインシーケンスモードではMASTER_FLAGが１とされ、DIFF_SEQ_IDが０とされ、DMIX_CH_CFG_IDが11.1chを示す識別子とされ、DRC_MODE_IDが例えばDRC_MODE1を示す識別子とされて、ゲインシーケンスモードが符号化される。
【０１４４】
同様に、7.1chのゲインシーケンスに関する情報が格納されるGAIN_SEQ1では、MASTER_FLAGが０とされ、DIFF_SEQ_IDが０とされ、DMIX_CH_CFG_IDが7.1chを示す識別子とされ、DRC_MODE_IDが例えばDRC_MODE1を示す識別子とされて、ゲインシーケンスモードが符号化される。
【０１４５】
また、GAIN_SEQ2では、MASTER_FLAGが０とされ、DIFF_SEQ_IDが０とされ、DMIX_CH_CFG_IDが5.1chを示す識別子とされ、DRC_MODE_IDが例えばDRC_MODE1を示す識別子とされて、ゲインシーケンスモードが符号化される。
【０１４６】
そして、GAIN_SEQ3では、MASTER_FLAGが０とされ、DIFF_SEQ_IDが０とされ、DMIX_CH_CFG_IDが2chを示す識別子とされ、DRC_MODE_IDが例えばDRC_MODE1を示す識別子とされて、ゲインシーケンスモードが符号化される。
【０１４７】
また、上述したように時間フレームＪ+１以降においては、マスターゲインシーケンスとスレーブゲインシーケンスとの対応関係に変化が無い場合には、ゲイン符号化モードヘッダはビットストリームには挿入されない。
【０１４８】
一方、マスターゲインシーケンスとスレーブゲインシーケンスとの対応関係に変化がある場合、ゲイン符号化モードヘッダが符号化される。
【０１４９】
例えば図６に示した時間フレームＫでは、これまでスレーブゲインシーケンスであった5.1chのゲインシーケンス（GAIN_SEQ2）が、２番目のマスターゲインシーケンスとなっている。また、2chのゲインシーケンス（GAIN_SEQ3）が、5.1chのゲインシーケンスのスレーブゲインシーケンスとなっている。
【０１５０】
そのため、この時間フレームＫでは、ゲイン符号化モードヘッダのGAIN_SEQ0とGAIN_SEQ1は時間フレームＪにおける場合と同一であるが、GAIN_SEQ2とGAIN_SEQ3が変化する。
【０１５１】
すなわち、GAIN_SEQ2では、MASTER_FLAGが１とされ、DIFF_SEQ_IDが０とされ、DMIX_CH_CFG_IDが5.1chを示す識別子とされ、DRC_MODE_IDが例えばDRC_MODE1を示す識別子とされる。また、GAIN_SEQ3では、MASTER_FLAGが０とされ、DIFF_SEQ_IDが２とされ、DMIX_CH_CFG_IDが2chを示す識別子とされ、DRC_MODE_IDが例えばDRC_MODE1を示す識別子とされる。ここで、マスターゲインシーケンスである5.1chのゲインシーケンスについては、DIFF_SEQ_IDの読み出しは不要であるので、DIFF_SEQ_IDの値はどのような値とされてもよい。
【０１５２】
さらに、図７に示した出力符号列の補助情報に含まれるゲイン符号列は、例えば図１０に示すように構成される。
【０１５３】
図１０に示すゲイン符号列では、GAIN_SEQ_NUMは、ゲイン符号化モードヘッダに符号化されたゲインシーケンスの個数を示している。そして、GAIN_SEQ_NUMに示される個数分のゲインシーケンスの情報が、GAIN_SEQ_NUM以降に記述される。
【０１５４】
GAIN_SEQ_NUMに続いて配置されるhld_modeは、時間的に直前の時間フレームのゲインを保持するか否かを示すフラグであり１ビットで符号化される。なお、図１０において、uimsbfは、Unsigned Integer Most Significant Bit Firstを表しており、符号無し整数がMSB側を先頭ビットに符号化されていることを表している。
【０１５５】
例えばhld_modeの値が１であれば、直前の時間フレームのゲイン、すなわち例えば復号化で得られた第一ゲインや第二ゲインが、現時間フレームのゲインとしてそのまま用いられる。したがってこの場合、第一ゲインや第二ゲインが時間フレーム間の差分を求めることにより符号化されるということができる。
【０１５６】
一方、hld_modeの値が０であれば、現時間フレームのゲインとしてhld_mode以降に記述されている情報から得られるゲインが用いられる。
【０１５７】
hld_modeの値が０である場合、hld_modeに続いてcmodeが２ビットで記述され、gpnumが６ビットで記述されている。
【０１５８】
cmodeは、以降に符号化されるゲイン変化点からゲイン波形を生成するための符号化方法を表している。
【０１５９】
特にcmodeの下位１ビットは、ゲイン変化点の差分符号化モードを表している。具体的には、cmodeの下位１ビットの値が０であった場合、ゲインの符号化方法が０次予測差分モード（以下、DIFF1モードとも称する）であることを示しており、cmodeの下位１ビットの値が１であった場合、ゲインの符号化方法が１次予測差分モード（以下、DIFF2モードとも称する）であることを示している。
【０１６０】
ここで、ゲイン変化点とは、時間フレームの各時刻（サンプル）におけるゲインからなるゲイン波形において、前後の時刻でゲインの傾きが変化する時刻をいう。なお、以下では、ゲイン変化点の候補点とされる時刻（サンプル）が予め定められており、それらの候補点のうち、前後の時刻でゲインの傾きが変化する候補点がゲイン変化点とされるものとして説明を続ける。また、処理対象のゲインシーケンスがスレーブゲインシーケンスであるときには、マスターゲインシーケンスとのゲインの差分の波形において、そのゲイン（差分）の傾きが前後の時刻で変化する時刻がゲイン変化点となる。
【０１６１】
０次予測差分モードは各時刻、すなわち各サンプルにおけるゲインからなるゲイン波形を符号化するときに、各ゲイン変化点のゲインを直前のゲイン変化点のゲインとの差分を求めることで符号化を行うモードである。換言すれば０次予測差分モードは、ゲイン波形の復号化時に、各時刻のゲインを他の時刻のゲインとの差分を利用して復号化を行うモードである。
【０１６２】
これに対して、１次予測差分モードは、ゲイン波形を符号化するときに、各ゲイン変化点のゲインを直前のゲイン変化点を通る１次関数により、つまり１次予測により予測し、その予測値（１次予測値）と実際のゲインとの差分を求めることで符号化を行うモードである。
【０１６３】
一方、cmodeの上位１ビットは、時間フレーム先頭のゲインを符号化するか否かを示している。具体的には、cmodeの上位１ビットが０であった場合、時間フレーム先頭のゲインが１２ビットの固定長で符号化され、図１０中のgval_abs_id0として記述される。
【０１６４】
gval_abs_id0のMSB１ビットは符号ビットとなり、残りの１１ビットは0.25dBステップで次式（５）により定まる「gval_abs_id0」の値（ゲイン）とされる。
【０１６５】
【数５】
0006531649.tif 000006
【０１６６】
なお、式（５）においてgain_abs_linearはリニア値のゲイン、すなわちマスターゲインシーケンスのゲインである第一ゲイン若しくは第二ゲインか、またはマスターゲインシーケンスとスレーブゲインシーケンスのゲインの差分を示している。ここで、gain_abs_linearは時間フレームの先頭のサンプル位置のゲインである。また、式（５）において「＾」はべき乗を表している。
【０１６７】
さらにcmodeの上位１ビットが１であった場合、復号化時において直前の時間フレーム終端のゲイン値が、現時間フレームの先頭のゲイン値とされることを示している。
【０１６８】
また、図１０のゲイン符号列ではgpnumは、ゲイン変化点の数を示している。
【０１６９】
さらにゲイン符号列ではgpnumまたはgval_abs_id0に続いてgloc_id[k]およびgval_diff_id[k]がgpnumに示されるゲイン変化点の数だけ記述されている。
【０１７０】
ここで、gloc_id[k]およびgval_diff_id[k]は、ゲイン変化点、およびそのゲイン変化点の符号化されたゲインを示している。なお、gloc_id[k]およびgval_diff_id[k]におけるｋは、ゲイン変化点を特定するインデックスであり、何番目のゲイン変化点であるかを示している。
【０１７１】
この例では、gloc_id[k]は３ビットで記述され、gval_diff_id[k]は１ビットから１１ビットまでの何れかのビット数で記述されている。なお、図１０中のvlclbfは、Variable Length Code Left Bit Firstを表しており、可変長符号の左ビットを先頭として符号化されていることを意味している。
【０１７２】
ここで、０次予測差分モード（DIFF1モード）と１次予測差分モード（DIFF2モード）について、より具体的に説明する。
【０１７３】
まず、図１１を参照して０次予測差分モードについて説明する。なお、図１１において、横軸は時間（サンプル）を示しており、縦軸はゲインを示している。
【０１７４】
図１１では、折れ線Ｃ３１は、処理対象となっているゲインシーケンスのゲイン、より詳細にはマスターゲインシーケンスのゲイン（第一ゲインまたは第二ゲイン）、またはマスターゲインシーケンスとスレーブゲインシーケンスのゲインの差分値を示している。
【０１７５】
また、この例では、処理対象となっている時間フレームＪからは、２つのゲイン変化点Ｇ１１とゲイン変化点Ｇ１２が検出されており、PREV１１は時間フレームＪの先頭位置、つまり時間フレームＪ−１の終端位置を示している。
【０１７６】
まず、ゲイン変化点Ｇ１１の位置gloc[0]が、時間フレームＪの先頭からの時間サンプル値を表す位置情報として３ビットで符号化される。
【０１７７】
具体的には、ゲイン変化点は図１２に示すテーブルに基づいて符号化される。
【０１７８】
図１２において、gloc_idは図１０に示したゲイン符号列におけるgloc_id[k]として記述される値を示しており、gloc[gloc_id]はゲイン変化点の候補点の位置、すなわち時間フレーム先頭のサンプルもしくは直前のゲイン変化点から、候補点のサンプルまでのサンプル数を示している。
【０１７９】
この例では、時間フレーム内に不等間隔で並んでいる、時間フレームの先頭から0、16、32、64、128、256、512、および1024個目のサンプルのそれぞれがゲイン変化点の候補点とされている。
【０１８０】
したがって、例えばゲイン変化点Ｇ１１が時間フレームＪの先頭のサンプルから512番目の位置にあるサンプルである場合、gloc[gloc_id]＝512に対応するgloc_idの値である「６」がｋ＝０番目のゲイン変化点の位置を示すgloc_id[0]としてゲイン符号列に記述される。
【０１８１】
図１１の説明に戻り、続いてゲイン変化点Ｇ１１のゲイン値gval[0]が、時間フレームＪの先頭位置PREV１１のゲイン値との差分として符号化される。この差分は図１０に示したゲイン符号列のgval_diff_id[k]として１ビットから１１ビットの可変長符号で符号化される。
【０１８２】
例えば、ゲイン変化点Ｇ１１のゲイン値gval[0]と、先頭位置PREV１１のゲイン値との差分は、図１３に示す符号化テーブル（符号帳）が用いられて符号化される。
【０１８３】
この例では、ゲイン値の差分が０である場合にはgval_diff_id[k]として「１」が記述され、ゲイン値の差分が＋0.1である場合にはgval_diff_id[k]として「01」が記述され、ゲイン値の差分が＋0.2である場合にはgval_diff_id[k]として「001」が記述される。
【０１８４】
また、ゲイン値の差分が＋0.3以上または０以下である場合にはgval_diff_id[k]として、符号「000」と、その符号に続けてゲイン値の差分を示す８ビットの固定長符号が記述される。
【０１８５】
このようにして最初のゲイン変化点Ｇ１１の位置とゲイン値が符号化されると、続いて次のゲイン変化点Ｇ１２の位置とゲイン値のそれぞれが、直前のゲイン変化点Ｇ１１との差分として符号化される。
【０１８６】
すなわち、ゲイン変化点Ｇ１２の位置gloc[1]が、直前のゲイン変化点Ｇ１１の位置gloc[0]からの時間サンプル値を表す位置情報として、ゲイン変化点Ｇ１１の位置における場合と同様に図１２に示したテーブルに基づいて３ビットで符号化される。例えばゲイン変化点Ｇ１２が直前のゲイン変化点Ｇ１１の位置gloc[0]から256番目の位置にあるサンプルである場合、gloc[gloc_id]＝256に対応するgloc_idの値である「５」がｋ＝１番目のゲイン変化点の位置を示すgloc_id[1]としてゲイン符号列に記述される。
【０１８７】
また、ゲイン変化点Ｇ１２のゲイン値gval[1]が、ゲイン変化点Ｇ１１のゲイン値gval[0]との差分として、ゲイン変化点Ｇ１１のゲイン値における場合と同様に図１３に示した符号化テーブルに基づいて１ビットから１１ビットまでの可変長符号で符号化される。つまり、ゲイン値gval[1]とゲイン値gval[0]との差分値が図１３に示した符号化テーブルに基づいて符号化され、得られた符号がｋ＝１番目のgval_diff_id[1]としてゲイン符号列に記述される。
【０１８８】
なお、図１２に記載したglocのテーブルは、これに限るものでは無く、gloc（ゲイン変化点の候補点）の最小間隔を１にして、時間分解能を向上させたテーブルを用いても良い。また、高いビットレートを確保できるアプリケーションでは、ゲイン波形について１サンプル毎に差分をとることも当然可能である。
【０１８９】
次に、図１４を参照して１次予測差分モード（DIFF2モード）について説明する。なお、図１４において、横軸は時間（サンプル）を示しており、縦軸はゲインを示している。
【０１９０】
図１４では、折れ線Ｃ３２は、処理対象となっているゲインシーケンスのゲイン、より詳細にはマスターゲインシーケンスのゲイン（第一ゲインまたは第二ゲイン）、またはマスターゲインシーケンスとスレーブゲインシーケンスのゲインの差分を示している。
【０１９１】
また、この例では、処理対象となっている時間フレームＪからは、２つのゲイン変化点Ｇ２１とゲイン変化点Ｇ２２が検出されており、PREV２１は時間フレームＪの先頭位置を示している。
【０１９２】
まず、ゲイン変化点Ｇ２１の位置gloc[0]が、時間フレームＪの先頭からの時間サンプル値を表す位置情報として３ビットで符号化される。この符号化では、図１１を参照して説明したゲイン変化点Ｇ１１における場合と同様の処理が行われる。
【０１９３】
次に、ゲイン変化点Ｇ２１のゲイン値gval[0]が、ゲイン値gval[0]の１次予測値との差分として符号化される。
【０１９４】
具体的には、時間フレームＪの先頭位置PREV２１から時間フレームＪ−１のゲイン波形が延長され、その延長線上の位置gloc[0]にある点Ｐ１１が求められる。そして、その点Ｐ１１におけるゲイン値がゲイン値gval[0]の１次予測値とされる。
【０１９５】
すなわち、先頭位置PREV２１を通り、時間フレームＪ−１のゲイン波形における終端部分の傾きの直線が、時間フレームＪ−１のゲイン波形を延長した直線とされ、その直線を表す１次関数が用いられてゲイン値gval[0]の１次予測値が算出される。
【０１９６】
さらに、このようにして求められた１次予測値と、実際のゲイン値gval[0]との差分が求められ、その差分が例えば図１３に示した符号化テーブルに基づいて１ビットから１１ビットまでの可変長符号で符号化される。そして、可変長符号化により得られた符号がｋ＝０番目のゲイン変化点Ｇ２１のゲイン値を示す情報として、図１０に示したゲイン符号列のgval_diff_id[0]に記述される。
【０１９７】
続いて、次のゲイン変化点Ｇ２２の位置とゲイン値のそれぞれが、直前のゲイン変化点Ｇ２１との差分として符号化される。
【０１９８】
すなわち、ゲイン変化点Ｇ２２の位置gloc[1]が、直前のゲイン変化点Ｇ２１の位置gloc[0]からの時間サンプル値を表す位置情報として、ゲイン変化点Ｇ２１の位置における場合と同様に図１２に示したテーブルに基づいて３ビットで符号化される。
【０１９９】
また、ゲイン変化点Ｇ２２のゲイン値gval[1]が、ゲイン値gval[1]の１次予測値との差分として符号化される。
【０２００】
具体的には、１次予測値を求めるための傾きが、先頭位置PREV２１と、直前のゲイン変化点Ｇ２１とを結ぶ（通る）直線の傾きに更新されるとともに、その直線上の位置gloc[1]にある点Ｐ１２が求められる。そして、その点Ｐ１２におけるゲイン値がゲイン値gval[1]の１次予測値とされる。
【０２０１】
すなわち、直前のゲイン変化点Ｇ２１を通り、更新後の傾きを有する直線を表す１次関数が用いられてゲイン値gval[1]の１次予測値が算出される。さらに、このようにして求められた１次予測値と、実際のゲイン値gval[1]との差分が求められ、その差分が例えば図１３に示した符号化テーブルに基づいて１ビットから１１ビットまでの可変長符号で符号化される。そして、可変長符号化により得られた符号がｋ＝１番目のゲイン変化点Ｇ２２のゲイン値を示す情報として、図１０に示したゲイン符号列のgval_diff_id[1]に記述される。
【０２０２】
以上のようにして、各ゲインシーケンスのゲインが時間フレームごとに符号化されるが、ゲイン変化点におけるゲイン値の可変長符号化に用いられる符号化テーブルは、図１３に示した符号化テーブルに限らず、どのようなものであってもよい。
【０２０３】
特に、可変長符号化に用いる符号化テーブルは、ダウンミックスのチャネル数や、上述の図４に示したDRCの特性の違い、０次予測差分モードや１次予測差分モードなどの差分符号化モード等に応じて、異なる符号化テーブルが用いられるようにしてもよい。そのようにすることで、各ゲインシーケンスのゲインの符号化効率をさらに高めることができる。
【０２０４】
ここで、例えばDRCと人の聴覚の一般的な性質を利用した符号化テーブルの構成方法について説明する。大きな音が入力された場合、所望のDRC特性になるようゲインを下げ、それ以降においては大きな音が入力されなかった場合にはゲインを戻す必要がある。
【０２０５】
一般的に前者をアタック、後者をリリースと呼び、人間の聴覚の性質では、アタックを速く、リリースはアタックと比較して相当ゆっくりとしないと音が不安定でふらついたように聞こえてしまい具合が悪い。
【０２０６】
このような性質から、一般的に用いられるアタック・リリースのDRC特性を用いて、上述の０次予測差分モードに相当するDRCゲインの時間フレーム間差分をとると、図１５に示すような波形となる。
【０２０７】
なお、図１５において横軸は時間フレームを示しており、縦軸はゲインの差分値（dB）を示している。この例では、時間フレーム差分は、マイナス方向の差分は頻度としては少ないが絶対値は大きくなる。一方、プラス方向の差分は頻度が多いが絶対値は小さい。
【０２０８】
このような時間フレーム差分の確率密度分布は一般的に図１６に示す分布となる。なお、図１６において、横軸は時間フレーム差分を示しており、縦軸は時間フレーム差分の出現確率を示している。
【０２０９】
図１６に示す確率密度分布では、０付近から正の値の出現確率は非常に高いが、あるレベル（時間フレーム差分）からは出現確率が極端に小さくなる。一方で、マイナス方向は出現確率は少ないものの、値が小さくなってもある程度の出現確率がある。
【０２１０】
この例では、時間フレーム間の特性について説明しているが、時間フレーム内のサンプル間（時刻間）においても時間フレーム間における場合と同様の特性が得られる。
【０２１１】
このような確率密度分布は０次予測差分モードまたは１次予測差分モードの何れで符号化を行うかや、ゲイン符号化モードヘッダの内容で変化するので、それに応じた可変長符号テーブルを構成することで効率よくゲイン情報の符号化を行うことができる。
【０２１２】
ここまで、マスターゲインシーケンスとスレーブゲインシーケンスのゲイン波形から、ゲイン変化点を抽出し差分をとって可変長符号を用いて符号化することにより効率よくゲインを圧縮する手法の一例を説明してきたが、ある程度高いビットレートが許容されるかわりに、高いゲイン波形の精度が要求されるような応用例においては、マスターゲインシーケンスとスレーブゲインシーケンスの差分をとった後、直接、それぞれのゲイン波形を符号化することも当然可能である。この際、ゲイン波形は時系列の離散信号であるので、一般的に知られているような時系列信号の可逆圧縮手法などを用いて符号化することが可能である。
【０２１３】
〈符号化処理の説明〉
次に、符号化装置５１の動作について説明する。
【０２１４】
符号化装置５１は、入力時系列信号が１時間フレーム分だけ供給されると、その入力時系列信号を符号化して出力符号列を出力する符号化処理を行う。以下、図１７のフローチャートを参照して、符号化装置５１による符号化処理について説明する。
【０２１５】
ステップＳ１１において、第一音圧レベル計算回路６１は、供給された入力時系列信号に基づいて、入力時系列信号の第一音圧レベルを算出し、第一ゲイン計算回路６２に供給する。
【０２１６】
ステップＳ１２において、第一ゲイン計算回路６２は、第一音圧レベル計算回路６１から供給された第一音圧レベルに基づいて第一ゲインを算出し、ゲイン符号化回路６６に供給する。例えば第一ゲイン計算回路６２は、上位の制御装置により指定されたDRC_MODE1やDRC_MODE2などのモードのDRC特性に従って第一ゲインを算出する。
【０２１７】
ステップＳ１３において、ダウンミックス回路６３は、供給された入力時系列信号に対して、上位の制御装置から供給されたダウンミックス情報を用いてダウンミックス処理を行い、その結果得られたダウンミックス信号を第二音圧レベル計算回路６４に供給する。
【０２１８】
ステップＳ１４において、第二音圧レベル計算回路６４は、ダウンミックス回路６３から供給されたダウンミックス信号に基づいて第二音圧レベルを算出し、第二ゲイン計算回路６５に供給する。
【０２１９】
ステップＳ１５において、第二ゲイン計算回路６５は、第二音圧レベル計算回路６４から供給された第二音圧レベルに基づいてダウンミックス信号の第二ゲインを算出し、ゲイン符号化回路６６に供給する。
【０２２０】
ステップＳ１６において、ゲイン符号化回路６６は、ゲイン符号化処理を行って、第一ゲイン計算回路６２から供給された第一ゲインと、第二ゲイン計算回路６５から供給された第二ゲインとを符号化する。そして、ゲイン符号化回路６６はゲイン符号化処理により得られたゲイン符号化モードヘッダおよびゲイン符号列を多重化回路６８に供給する。
【０２２１】
なお、ゲイン符号化処理の詳細は後述するが、ゲイン符号化処理では、第一ゲインや第二ゲインといったゲインシーケンスについて、ゲインシーケンス間の差分や、時間フレーム間の差分、時間フレーム内の差分が求められて符号化される。また、ゲイン符号化モードヘッダは必要な場合のみ生成される。
【０２２２】
ステップＳ１７において、信号符号化回路６７は、供給された入力時系列信号を所定の符号化方式に従って符号化し、その結果得られた信号符号列を多重化回路６８に供給する。
【０２２３】
ステップＳ１８において、多重化回路６８は、ゲイン符号化回路６６からのゲイン符号化モードヘッダとゲイン符号列、上位の制御装置から供給されたダウンミックス情報、および信号符号化回路６７からの信号符号列を多重化し、その結果得られた出力符号列を出力する。このようにして１時間フレーム分の出力符号列がビットストリームとして出力されると、符号化処理は終了する。そして、次の時間フレームの符号化処理が行われる。
【０２２４】
以上のようにして、符号化装置５１は、ダウンミックス前のもとの入力時系列信号の第一ゲインと、ダウンミックス後のダウンミックス信号の第二ゲインとを算出し、適宜、それらのゲインの差分を求めて符号化する。これにより、より少ない符号量で適切な音量の音声を得ることができるようになる。
【０２２５】
すなわち、符号化装置５１側では、DRCの特性を自由に設定することができるため、復号化側においてより適切な音量の音声を得ることができるようになる。しかもゲインの差分を求めて効率よく符号化することで、より少ない符号量でより多くの情報を伝送することができ、かつ復号化装置側の計算負荷も軽減させることができる。
【０２２６】
〈ゲイン符号化処理の説明〉
次に、図１８のフローチャートを参照して、図１７のステップＳ１６の処理に対応するゲイン符号化処理について説明する。
【０２２７】
ステップＳ４１において、ゲイン符号化回路６６は、上位の制御装置からの指示に基づいて、ゲイン符号化モードを決定する。すなわち、各ゲインシーケンスについて、そのゲインシーケンスがマスターゲインシーケンスまたはスレーブゲインシーケンスの何れとされるかや、ゲインシーケンスがスレーブゲインシーケンスである場合に、どのゲインシーケンスとの差分が計算されるかなどが決定される。
【０２２８】
具体的には、ゲイン符号化回路６６は、各ゲインシーケンスのゲイン（第一ゲインまたは第二ゲイン）同士の差分を実際に計算し、ゲインの相関を求める。そして、ゲイン符号化回路６６は、各ゲインの差分に基づいて、例えば他のどのゲインシーケンスともゲインの相関が高い（ゲインの差分が小さい）ゲインシーケンスをマスターゲインシーケンスとし、他のゲインシーケンスをスレーブゲインシーケンスとする。
【０２２９】
なお、全てのゲインシーケンスがマスターゲインシーケンスとされるようにしてもよい。
【０２３０】
ステップＳ４２において、ゲイン符号化回路６６は、処理対象となっている現時間フレームのゲイン符号化モードが、その時間フレームの直前の時間フレームのゲイン符号化モードと同一であるか否かを判定する。
【０２３１】
ステップＳ４２において、同一でないと判定された場合、ステップＳ４３において、ゲイン符号化回路６６は、ゲイン符号化モードヘッダを生成し、補助情報に付加する。例えば、ゲイン符号化回路６６は図８に示したゲイン符号化モードヘッダを生成する。
【０２３２】
ステップＳ４３においてゲイン符号化モードヘッダが生成されると、その後、処理はステップＳ４４へと進む。
【０２３３】
また、ステップＳ４２において、ゲイン符号化モードが同一であると判定された場合、出力符号列にゲイン符号化モードヘッダは付加されないので、ステップＳ４３の処理は行われず、処理はステップＳ４４に進む。
【０２３４】
ステップＳ４３においてゲイン符号化モードヘッダが生成されたか、またはステップＳ４２においてゲイン符号化モードが同一であると判定された場合、ステップＳ４４において、ゲイン符号化回路６６は、ゲイン符号化モードに従って、各ゲインシーケンスの差分を求める。
【０２３５】
例えば、第二ゲインとしての7.1chのゲインシーケンスがスレーブゲインシーケンスであり、そのスレーブゲインシーケンスに対するマスターゲインシーケンスが、第一ゲインとしての11.1chのゲインシーケンスであったとする。
【０２３６】
この場合、ゲイン符号化回路６６は、7.1chのゲインシーケンスと11.1chのゲインシーケンスの差分を求める。なお、このとき、マスターゲインシーケンスである11.1chのゲインシーケンスについては差分の計算は行われず、以降の処理においてそのまま符号化される。
【０２３７】
このように、ゲインシーケンスの差分を求めることで、ゲインシーケンス間の差分が求められてゲインシーケンスの符号化が行われることになる。
【０２３８】
ステップＳ４５において、ゲイン符号化回路６６は、１つのゲインシーケンスを処理対象のゲインシーケンスとして選択し、そのゲインシーケンス内でゲインが一定で、かつ直前の時間フレームのゲインと同一であるか否かを判定する。
【０２３９】
例えば、時間フレームＪにおいて、マスターゲインシーケンスとされた11.1chのゲインシーケンスが処理対象のゲインシーケンスとして選択されたとする。この場合、ゲイン符号化回路６６は、時間フレームＪにおいて11.1chのゲインシーケンスの各サンプルのゲイン（第一ゲインまたは第二ゲイン）がほぼ一定の値であるとき、ゲインシーケンス内でゲインが一定であるとする。
【０２４０】
また、ゲイン符号化回路６６は、時間フレームＪにおける11.1chのゲインシーケンスの各サンプルのゲインと、直前の時間フレームである時間フレームＪ−１における11.1chのゲインシーケンスの各サンプルのゲインとの差分がほぼ０であるとき、直前の時間フレームのゲインと同一であるとする。
【０２４１】
なお、処理対象のゲインがスレーブゲインシーケンスである場合には、ステップＳ４４において求めたゲインの差分が、時間フレーム内で一定であり、かつ直前の時間フレームにおけるゲインの差分と同一であるかが判定される。
【０２４２】
ステップＳ４５において、ゲインシーケンス内でゲインが一定で、かつ直前の時間フレームのゲインと同一であると判定された場合、ステップＳ４６において、ゲイン符号化回路６６は、hld_modeの値を１として、処理はステップＳ５１へと進む。すなわち、ゲイン符号列のhld_modeとして１が記述される。
【０２４３】
ゲインシーケンス内でゲインが一定で、かつ直前の時間フレームのゲインと同一であると判定された場合、直前の時間フレームや現時間フレーム内でゲインの変化がないので、復号化側において直前の時間フレームのゲインがそのまま用いられて復号化が行われる。したがって、このような場合には、時間フレーム間の差分が求められてゲインが符号化されているということができる。
【０２４４】
これに対して、ステップＳ４５において、ゲインシーケンス内でゲインが一定でないか、または直前の時間フレームのゲインと同一でないと判定された場合、ステップＳ４７において、ゲイン符号化回路６６は、hld_modeの値を０とする。すなわち、ゲイン符号列のhld_modeとして０が記述される。
【０２４５】
ステップＳ４８において、ゲイン符号化回路６６は処理対象となっているゲインシーケンスのゲイン変化点を抽出する。
【０２４６】
例えばゲイン符号化回路６６は、図１２を参照して説明したように時間フレーム内の予め定められたサンプル位置について、サンプル位置の前後でゲインの時間波形の傾きが変化したか否かを特定することで、そのサンプル位置がゲイン変化点であるかを特定する。
【０２４７】
なお、より詳細には、処理対象となっているゲインシーケンスがスレーブゲインシーケンスであるときには、そのゲインシーケンスについて求めたマスターゲインシーケンスとのゲインの差分の時間波形からゲイン変化点が抽出される。
【０２４８】
ゲイン符号化回路６６は、ゲイン変化点を抽出すると、抽出されたゲイン変化点の数をgpnumとして図１０に示したゲイン符号列に記述する。
【０２４９】
ステップＳ４９において、ゲイン符号化回路６６はcmodeを決定する。
【０２５０】
例えば、ゲイン符号化回路６６は処理対象となっているゲインシーケンスについて、０次予測差分モードによる符号化と、１次予測差分モードによる符号化とを実際に行って、符号化の結果として得られる符号量がより少ない方の差分符号化モードを選択する。また、ゲイン符号化回路６６は、例えば上位の制御装置からの指示に応じて、時間フレーム先頭のゲインを符号化するか否かを定める。これによりcmodeが定まる。
【０２５１】
cmodeが決定されると、ゲイン符号化回路６６は決定されたcmodeを示す値を図１０に示したゲイン符号列に記述する。このとき、cmodeの上位１ビットが０である場合、ゲイン符号化回路６６は処理対象のゲインシーケンスについて上述した式（５）を計算し、その結果得られた「gval_abs_id0」の値と符号ビットとを、図１０に示したゲイン符号列におけるgval_abs_id0に記述する。
【０２５２】
これに対して、cmodeの上位１ビットが１である場合には、直前の時間フレームの終端位置のゲイン値が、現時間フレームの先頭位置のゲイン値として用いられて復号化が行われるので、時間フレーム間の差分が求められて符号化されているということができる。
【０２５３】
ステップＳ５０において、ゲイン符号化回路６６は、ステップＳ４９の処理で選択された差分符号化モードにより、ステップＳ４８で抽出された各ゲイン変化点のゲインを符号化する。そして、ゲイン符号化回路６６は、各ゲイン変化点のゲインの符号化結果をgloc_id[k]およびgval_diff_id[k]として図１０に示したゲイン符号列に記述する。
【０２５４】
各ゲイン変化点のゲインの符号化時には、ゲイン符号化回路６６に設けられたエントロピ符号化回路が、差分符号化モード等に対して適切に定められた、図１３に示した符号化テーブルなどのエントロピ符号帳テーブルを切り替えながら、ゲイン値を符号化する。
【０２５５】
このように、０次予測差分モードまたは１次予測差分モードにより符号化を行うことで、ゲインシーケンスの時間フレーム内の差分が求められてゲインが符号化されることになる。
【０２５６】
ステップＳ４６においてhld_modeが１とされたか、またはステップＳ５０において符号化が行われると、ステップＳ５１において、ゲイン符号化回路６６は全ゲインシーケンスを符号化したか否かを判定する。例えば、全てのゲインシーケンスが処理対象とされて処理された場合、全てのゲインシーケンスを符号化したと判定される。
【０２５７】
ステップＳ５１において、全てのゲインシーケンスを符号化していない判定された場合、処理はステップＳ４５に戻り、上述した処理が繰り返し行われる。すなわち、まだ処理対象とされていないゲインシーケンスが次の処理対象のゲインシーケンスとして符号化が行われる。
【０２５８】
これに対して、ステップＳ５１において全てのゲインシーケンスを符号化したと判定された場合、ゲイン符号列が得られたので、ゲイン符号化回路６６は生成したゲイン符号化モードヘッダとゲイン符号列とを多重化回路６８に供給する。なお、ゲイン符号化モードヘッダが生成されなかった場合には、ゲイン符号列のみが出力される。
【０２５９】
このようにしてゲイン符号化モードヘッダとゲイン符号列が出力されると、ゲイン符号化処理は終了し、その後、処理は図１７のステップＳ１７へと進む。
【０２６０】
以上のようにして、符号化装置５１は、ゲインシーケンス間の差分やゲインシーケンスの時間フレーム間の差分、ゲインシーケンスの時間フレーム内の差分を求めてゲインを符号化し、ゲイン符号列を生成する。このように、ゲインシーケンス間の差分やゲインシーケンスの時間フレーム間の差分、ゲインシーケンスの時間フレーム内の差分を求めてゲインを符号化することで、第一ゲインや第二ゲインをより効率よく符号化することができる。つまり、符号化の結果として得られる符号量をより少なくすることができる。
【０２６１】
〈復号化装置の構成例〉
次に、符号化装置５１から出力された出力符号列を入力符号列として入力し、入力符号列の復号化を行う復号化装置について説明する。
【０２６２】
図１９は、本技術を適用した復号化装置の一実施の形態の機能の構成例を示す図である。
【０２６３】
図１９に示す復号化装置９１は、非多重化回路１０１、信号復号化回路１０２、ゲイン復号化回路１０３、およびゲイン適用回路１０４を有している。
【０２６４】
非多重化回路１０１は、供給された入力符号列、すなわち符号化装置５１から受信した出力符号列を非多重化する。非多重化回路１０１は、非多重化により得られたゲイン符号化モードヘッダおよびゲイン符号列をゲイン復号化回路１０３に供給するとともに、信号符号列およびダウンミックス情報を信号復号化回路１０２に供給する。なお、入力符号列にゲイン符号化モードヘッダが含まれていない場合には、ゲイン符号化モードヘッダはゲイン復号化回路１０３には供給されない。
【０２６５】
信号復号化回路１０２は、非多重化回路１０１から供給されたダウンミックス情報と、上位の制御装置から供給されたダウンミックス制御情報とに基づいて、非多重化回路１０１から供給された信号符号列の復号化とダウンミックスを行い、得られた時系列信号をゲイン適用回路１０４に供給する。ここで、時系列信号は例えば11.1chや7.1chの音声信号であり、時系列信号を構成する各チャネルの音声信号は、PCM信号とされる。
【０２６６】
ゲイン復号化回路１０３は、非多重化回路１０１から供給されたゲイン符号化モードヘッダおよびゲイン符号列を復号化し、その結果得られたゲイン情報のうち、上位の制御装置から供給されたダウンミックス制御情報およびDRC制御情報により特定されるゲイン情報をゲイン適用回路１０４に供給する。ここで、ゲイン復号化回路１０３から出力されるゲイン情報は、上述した第一ゲインや第二ゲインに対応する情報である。
【０２６７】
ゲイン適用回路１０４は、ゲイン復号化回路１０３から供給されたゲイン情報に基づいて、信号復号化回路１０２から供給された時系列信号のゲイン調整を行い、得られた出力時系列信号を出力する。
【０２６８】
〈復号化処理の説明〉
次に、復号化装置９１の動作について説明する。
【０２６９】
復号化装置９１は、入力符号列が１時間フレーム分だけ供給されると、その入力符号列を復号化して出力時系列信号を出力する復号化処理を行う。以下、図２０のフローチャートを参照して、復号化装置９１による復号化処理について説明する。
【０２７０】
ステップＳ８１において、非多重化回路１０１は入力符号列を非多重化し、その結果得られたゲイン符号化モードヘッダおよびゲイン符号列をゲイン復号化回路１０３に供給するとともに、信号符号列およびダウンミックス情報を信号復号化回路１０２に供給する。
【０２７１】
ステップＳ８２において、信号復号化回路１０２は、非多重化回路１０１から供給された信号符号列を復号化する。
【０２７２】
例えば、信号復号化回路１０２は信号符号列に対する復号化および逆量子化を行って、各チャネルのMDCT係数を得る。そして、信号復号化回路１０２は、上位の制御装置から供給されたダウンミックス制御情報に基づいて、非多重化回路１０１から供給されたダウンミックス情報から得られるゲイン係数を各チャネルのMDCT係数に乗算して加算することで、ダウンミックス後の各チャネルのゲイン適用MDCT係数を算出する。
【０２７３】
さらに、信号復号化回路１０２は、各チャネルのゲイン適用MDCT係数に対して逆MDCT処理を施し、得られた逆MDCT信号に対して窓掛けおよびオーバーラップ加算処理を行って、ダウンミックス後の各チャネルの信号からなる時系列信号を生成する。なお、ダウンミックス処理は、MDCT領域で行われてもよいし、時間領域で行われてもよい。
【０２７４】
信号復号化回路１０２は、このようにして得られた時系列信号をゲイン適用回路１０４に供給する。
【０２７５】
ステップＳ８３において、ゲイン復号化回路１０３はゲイン復号化処理を行って、非多重化回路１０１から供給されたゲイン符号化モードヘッダおよびゲイン符号列を復号化し、ゲイン情報をゲイン適用回路１０４に供給する。なお、ゲイン復号化処理の詳細は後述する。
【０２７６】
ステップＳ８４において、ゲイン適用回路１０４は、ゲイン復号化回路１０３から供給されたゲイン情報に基づいて、信号復号化回路１０２から供給された時系列信号のゲイン調整を行い、得られた出力時系列信号を出力する。
【０２７７】
出力時系列信号が出力されると、復号化処理は終了する。
【０２７８】
以上のようにして復号化装置９１は、ゲイン符号化モードヘッダおよびゲイン符号列を復号化し、得られたゲイン情報を時系列信号に適用して時間領域でゲインを調整する。
【０２７９】
ゲイン符号列は、ゲインシーケンス間の差分やゲインシーケンスの時間フレーム間の差分、ゲインシーケンスの時間フレーム内の差分を求めることでゲインを符号化して得られたものである。そのため、復号化装置９１では、より少ない符号量のゲイン符号列で、より適切なゲイン情報を得ることができる。すなわち、より少ない符号量で適切な音量の音声を得ることができる。
【０２８０】
〈ゲイン復号化処理の説明〉
続いて、図２１のフローチャートを参照して、図２０のステップＳ８３の処理に対応するゲイン復号化処理について説明する。
【０２８１】
ステップＳ１２１において、ゲイン復号化回路１０３は、入力符号列にゲイン符号化モードヘッダがあるか否かを判定する。例えば、非多重化回路１０１からゲイン符号化モードヘッダが供給された場合、ゲイン符号化モードヘッダがあると判定される。
【０２８２】
ステップＳ１２１において、ゲイン符号化モードヘッダがあると判定された場合、ステップＳ１２２において、ゲイン復号化回路１０３は非多重化回路１０１から供給されたゲイン符号化モードヘッダを復号化する。これにより、ゲイン符号化モードなどの各ゲインシーケンスに関する情報が得られる。
【０２８３】
ゲイン符号化モードヘッダが復号化されると、その後、処理はステップＳ１２３に進む。
【０２８４】
一方、ステップＳ１２１において、ゲイン符号化モードヘッダがないと判定された場合、処理はステップＳ１２３に進む。
【０２８５】
ステップＳ１２２においてゲイン符号化モードヘッダが復号化されたか、またはステップＳ１２１においてゲイン符号化モードヘッダがないと判定された場合、ステップＳ１２３において、ゲイン復号化回路１０３は全ゲインシーケンスを復号化する。すなわち、ゲイン復号化回路１０３は、図１０に示したゲイン符号列を復号化し、各ゲインシーケンスのゲイン波形、つまり第一ゲインまたは第二ゲインを得るために必要な情報を抽出する。
【０２８６】
ステップＳ１２４において、ゲイン復号化回路１０３は、１つのゲインシーケンスを処理対象とし、そのゲインシーケンスのhld_modeの値が０であるか否かを判定する。
【０２８７】
ステップＳ１２４において、hld_modeの値が０でない、つまり１であると判定された場合、処理はステップＳ１２５に進む。
【０２８８】
ステップＳ１２５において、ゲイン復号化回路１０３は、直前の時間フレームのゲイン波形を現時間フレームのゲイン波形としてそのまま用いる。
【０２８９】
現時間フレームのゲイン波形が得られると、その後、処理はステップＳ１２９に進む。
【０２９０】
これに対して、ステップＳ１２４において、hld_modeの値が０であると判定された場合、ステップＳ１２６において、ゲイン復号化回路１０３は、cmodeが１より大きいか否か、すなわちcmodeの上位１ビットが１であるか否かを判定する。
【０２９１】
ステップＳ１２６において、cmodeが１より大きい、つまりcmodeの上位１ビットが１であると判定された場合、直前の時間フレーム終端のゲイン値が、現時間フレームの先頭のゲイン値とされ、処理はステップＳ１２８に進む。
【０２９２】
ここで、ゲイン復号化回路１０３は、時間フレームの終端位置のゲイン値をprevとして保持しており、ゲインの復号化時には、このprevの値が適宜、現時間フレームの先頭位置のゲイン値として用いられてゲインシーケンスのゲインが求められる。
【０２９３】
これに対して、ステップＳ１２６において、cmodeが１以下である、つまりcmodeの上位１ビットが０であると判定された場合、ステップＳ１２７の処理が行われる。
【０２９４】
すなわち、ステップＳ１２７において、ゲイン復号化回路１０３はゲイン符号列の復号化により得られたgval_abs_id0を上述した式（５）に代入して、現時間フレームの先頭のゲイン値を算出し、prevの値を更新する。すなわち、式（５）の計算により得られたゲイン値が新たなprevの値とされる。なお、より詳細には、処理対象のゲインシーケンスがスレーブゲインシーケンスである場合には、prevの値は、現時間フレームの先頭位置におけるマスターゲインシーケンスとの差分値の値となる。
【０２９５】
ステップＳ１２７においてprevの値が更新されたか、またはステップＳ１２６においてcmodeが１より大きいと判定された場合、ステップＳ１２８において、ゲイン復号化回路１０３は処理対象のゲインシーケンスのゲイン波形を生成する。
【０２９６】
具体的には、ゲイン復号化回路１０３は、ゲイン符号列の復号化により得られたcmodeを参照して、０次予測差分モードまたは１次予測差分モードの何れであるかを特定する。そして、ゲイン復号化回路１０３は、prevの値と、ゲイン符号列の復号化により得られた各ゲイン変化点のgloc_id[k]およびgval_diff_id[k]とを用いて、特定された差分符号化モードに応じて現時間フレーム内の各サンプル位置のゲインを求め、ゲイン波形とする。
【０２９７】
例えばゲイン復号化回路１０３は、０次予測差分モードであると特定された場合、prevの値にgval_diff_id[0]により示されるゲイン値（差分値）を加算して得られた値を、gloc_id[0]により特定されるサンプル位置のゲイン値とする。このとき、時間フレームの先頭からgloc_id[0]により特定されるサンプル位置までの間の各位置では、prevの値からgloc_id[0]により特定されるサンプル位置のゲイン値まで、ゲイン値が線形に変化するものとして、各サンプル位置のゲイン値が求められる。
【０２９８】
以降においても同様にして、直前のゲイン変化点のゲイン値と、注目するゲイン変化点のgloc_id[k]およびgval_diff_id[k]とから、その注目するゲイン変化点のゲイン値が求められ、時間フレーム内の各サンプル位置におけるゲイン値からなるゲイン波形が求まる。
【０２９９】
ここで、処理対象となっているゲインシーケンスがスレーブゲインシーケンスである場合、以上の処理により得られたゲイン値（ゲイン波形）は、マスターゲインシーケンスのゲイン波形との差分値である。
【０３００】
そこで、ゲイン復号化回路１０３は、処理対象のゲインシーケンスのゲインシーケンスモードにおける図９に示したMASTER_FLAGとDIFF_SEQ_IDを参照し、処理対象のゲインシーケンスがスレーブゲインシーケンスであるか否かと、対応するマスターゲインシーケンスを特定する。
【０３０１】
そして、ゲイン復号化回路１０３は、処理対象のゲインシーケンスがマスターゲインシーケンスである場合には、上述の処理により得られたゲイン波形を、処理対象のゲインシーケンスの最終的なゲイン情報とする。
【０３０２】
一方、処理対象のゲインシーケンスがスレーブゲインシーケンスである場合には、ゲイン復号化回路１０３は、上述の処理により得られたゲイン波形に、処理対象のゲインシーケンスに対するマスターゲインシーケンスのゲイン情報（ゲイン波形）を加算して、処理対象のゲインシーケンスの最終的なゲイン情報とする。
【０３０３】
以上のようにして処理対象のゲインシーケンスのゲイン波形（ゲイン情報）が得られると、その後、処理はステップＳ１２９に進む。
【０３０４】
ステップＳ１２８またはステップＳ１２５において、ゲイン波形が生成されると、ステップＳ１２９の処理が行われる。
【０３０５】
ステップＳ１２９において、ゲイン復号化回路１０３は、処理対象のゲインシーケンスのゲイン波形の現時間フレームの終端位置のゲイン値を次の時間フレームのprevの値として保持する。なお、処理対象のゲインシーケンスがスレーブゲインシーケンスである場合、０次予測差分モードまたは１次予測差分モードでの予測により得られたゲイン波形における時間フレームの終端位置、つまりマスターゲインシーケンスのゲイン波形との差分の時間波形における時間フレームの終端位置の値がprevの値とされる。
【０３０６】
ステップＳ１３０において、ゲイン復号化回路１０３は、全ゲインシーケンスのゲイン波形が得られたか否かを判定する。例えばゲイン符号化モードヘッダに示される全てのゲインシーケンスが処理対象のゲインシーケンスとされてゲイン波形（ゲイン情報）が得られた場合、全ゲインシーケンスのゲイン波形が得られたと判定される。
【０３０７】
ステップＳ１３０において、まだ全てのゲインシーケンスのゲイン波形が得られていないと判定された場合、処理はステップＳ１２４に戻り、上述した処理が繰り返し行われる。すなわち、次のゲインシーケンスが処理対象とされて、ゲイン波形（ゲイン情報）が求められる。
【０３０８】
これに対して、ステップＳ１３０において、全ゲインシーケンスのゲイン波形が得られたと判定された場合、ゲイン復号化処理は終了し、その後、処理は図２０のステップＳ８４へと進む。
【０３０９】
なお、この場合、ゲイン復号化回路１０３は、各ゲインシーケンスのうち、ダウンミックス制御情報により示されるダウンミックス後のチャネル数であり、かつDRC制御情報により示されるDRC特性でゲインが算出されたゲインシーケンスのゲイン情報をゲイン適用回路１０４に供給する。すなわち、図９に示した各ゲインシーケンスモードのDMIX_CH_CFG_IDとDRC_MODE_IDが参照されて、ダウンミックス制御情報とDRC制御情報により特定されるゲインシーケンスのゲイン情報が出力される。
【０３１０】
以上のようにして、復号化装置９１は、ゲイン符号化モードヘッダおよびゲイン符号列を復号化して、各ゲインシーケンスのゲイン情報を算出する。このようにゲイン符号列を復号化してゲイン情報を求めることで、より少ない符号量で適切な音量の音声を得ることができるようになる。
【０３１１】
ところで、図６、図１１、および図１４に示したようにマスターゲインシーケンスが時間フレームごとに変化することがあり、また復号化装置９１では、prevの値が利用されてゲインシーケンスの復号化が行われる。そのため、復号化装置９１では、実際に復号化装置９１で使用するダウンミックスのパターン以外のゲイン波形も毎時間フレーム計算する必要が生じる。
【０３１２】
このようなゲイン波形を求める計算は簡易なものであるため、復号化装置９１側の計算負荷はそれほど大きなものではない。しかし、例えば携帯端末等、計算負荷のさらなる低減が要求されるようなケースでは、ゲイン波形の再現性をある程度犠牲にして計算量を低減させることも可能である。
【０３１３】
DRCのアタック・リリースの時定数の特性上、ゲインは急激に下げ、ゆっくりと戻すのが一般的である。したがって、符号化効率の観点上、０次予測差分モードが多く使用され、また時間フレーム内のゲイン変化点の個数gpnumは２個以下の少ない個数であり、さらにゲイン変化点のゲインの差分値であるgval_diff_id[k]も小さい値となる場合が多い。
【０３１４】
例えば図１１に示した例において、ゲイン変化点Ｇ１１のゲイン値gval[0]と、先頭位置PREV１１のゲイン値との差分値をgval_diff[0]とし、ゲイン変化点Ｇ１１のゲイン値gval[0]と、ゲイン変化点Ｇ１２のゲイン値gval[1]との差分値をgval_diff[1]とする。
【０３１５】
このとき、復号化装置９１において、prevの値である先頭位置PREV１１のゲイン値と差分値gval_diff[0]がデシベル上で加算され、さらにその加算結果に差分値gval_diff[1]が加算される。これにより、ゲイン変化点Ｇ１２のゲイン値gval[1]が求まることになる。以下、このようにして求められた先頭位置PREV１１のゲイン値と差分値gval_diff[0]と差分値gval_diff[1]の加算結果を、ゲイン加算値とも称する。
【０３１６】
この場合、次の時間フレームＪ＋１のprevの値は、ゲイン変化点Ｇ１１の位置gloc[0]と、ゲイン変化点Ｇ１２の位置gloc[1]の間をリニア値で直線補間し、時間フレームＪ＋１の先頭に相当する時間フレームＪのＮサンプル目の位置まで直線を延長したときのＮサンプル目のゲイン値となる。このゲイン変化点Ｇ１１とゲイン変化点Ｇ１２を結ぶ直線の傾きが小さい場合は、前述の差分値gval_diff[1]まで加算したゲイン加算値をもって、時間フレームＪ＋１のprevの値としても特に問題は生じない。
【０３１７】
なお、ゲイン変化点Ｇ１１とゲイン変化点Ｇ１２を結ぶ直線の傾きは、各ゲイン変化点の位置gloc[k]が２の冪乗であることを利用して簡単に求めることができる。すなち、図１１の例では位置gloc[1]のサンプル数分除算するかわりに、サンプル数に相当するビット数分、前述の差分値の加算値を右シフトすることで直線の傾きを求めることができる。
【０３１８】
この傾きがある閾値よりも小さい値である場合は、ゲイン加算値を次の時間フレームＪ＋１のprevの値とし、傾きが閾値以上であった場合には、以上の第１の実施の形態において説明した方法によりゲイン波形を求め、その時間フレーム終端のゲイン値をprevの値とすればよい。
【０３１９】
また、１次予測差分モードである場合は、第１の実施の形態において説明した方法によりゲイン波形を直接求め、その時間フレーム終端の値をprevの値とすればよい。
【０３２０】
このような手法をとることで、復号化装置９１の計算負荷を低減させることができる。
【０３２１】
〈第２の実施の形態〉
〈符号化装置の構成例〉
なお、以上においては、符号化装置５１において、実際にダウンミックスを行って、得られたダウンミックス信号の音圧レベルを第二音圧レベルとして算出していたが、ダウンミックスを行わずに各チャネルの音圧レベルから、直接、ダウンミックス後の音圧レベルを求めてもよい。この場合、入力時系列信号の各チャネル間の相関によって多少音圧レベルが変動するが、演算量を低減させることができる。
【０３２２】
このように、ダウンミックスを行わずに、直接、ダウンミックス後の音圧レベルを求める場合、符号化装置は、例えば図２２に示すように構成される。なお、図２２において、図３における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【０３２３】
図２２に示す符号化装置１３１は、第一音圧レベル計算回路６１、第一ゲイン計算回路６２、第二音圧レベル推定回路１４１、第二ゲイン計算回路６５、ゲイン符号化回路６６、信号符号化回路６７、および多重化回路６８を有している。
【０３２４】
第一音圧レベル計算回路６１は、供給された入力時系列信号に基づいて、入力時系列信号を構成する各チャネルの音圧レベルを計算して第二音圧レベル推定回路１４１に供給するとともに、各チャネルの音圧レベルの代表値を第一音圧レベルとして第一ゲイン計算回路６２に供給する。
【０３２５】
また、第二音圧レベル推定回路１４１は、第一音圧レベル計算回路６１から供給された各チャネルの音圧レベルに基づいて、推定により第二音圧レベルを算出し、第二ゲイン計算回路６５に供給する。
【０３２６】
〈符号化処理の説明〉
続いて、符号化装置１３１の動作について説明する。以下、図２３のフローチャートを参照して、符号化装置１３１により行われる符号化処理について説明する。
【０３２７】
なお、ステップＳ１６１およびステップＳ１６２の処理は、図１７のステップＳ１１およびステップＳ１２の処理と同様であるので、その説明は省略する。但し、ステップＳ１６１では、第一音圧レベル計算回路６１は、入力時系列信号から求めた、入力時系列信号を構成する各チャネルの音圧レベルを第二音圧レベル推定回路１４１に供給する。
【０３２８】
ステップＳ１６３において、第二音圧レベル推定回路１４１は、第一音圧レベル計算回路６１から供給された各チャネルの音圧レベルに基づいて第二音圧レベルを算出し、第二ゲイン計算回路６５に供給する。例えば、第二音圧レベル推定回路１４１は、各チャネルの音圧レベルを予め用意された係数を用いて重み付き加算（線形結合）することで、１つの第二音圧レベルを算出する。
【０３２９】
第二音圧レベルが求められると、その後、ステップＳ１６４乃至ステップＳ１６７の処理が行われて符号化処理は終了するが、これらの処理は図１７のステップＳ１５乃至ステップＳ１８の処理と同様であるので、その説明は省略する。
【０３３０】
以上のようにして、符号化装置１３１は、入力時系列信号の各チャネルの音圧レベルに基づいて第二音圧レベルを算出して、適宜、第二音圧レベルから求まる第二ゲインや、第一ゲインの差分を求めて符号化する。これにより、より少ない符号量で適切な音量の音声を得ることができるとともに、より少ない演算量で符号化を行うことができる。
【０３３１】
〈第３の実施の形態〉
〈符号化装置の構成例〉
また、以上においては、時間領域でDRC処理を行う例について説明したが、MDCT領域でDRC処理を行うようにしてもよい。そのような場合、符号化装置は、例えば図２４に示すように構成される。
【０３３２】
図２４に示す符号化装置１７１は、窓長選択・窓掛け回路１８１、MDCT回路１８２、第一音圧レベル計算回路１８３、第一ゲイン計算回路１８４、ダウンミックス回路１８５、第二音圧レベル計算回路１８６、第二ゲイン計算回路１８７、ゲイン符号化回路１８９、適応ビット割り当て回路１９０、量子化・符号化回路１９１、および多重化回路１９２を有している。
【０３３３】
窓長選択・窓掛け回路１８１は、窓長を選択するとともに、選択した窓長で供給された入力時系列信号に対する窓掛け処理を行い、その結果得られた時間フレーム信号をMDCT回路１８２に供給する。
【０３３４】
MDCT回路１８２は、窓長選択・窓掛け回路１８１から供給された時間フレーム信号に対してMDCT処理を行って、その結果得られたMDCT係数を第一音圧レベル計算回路１８３、ダウンミックス回路１８５、および適応ビット割り当て回路１９０に供給する。
【０３３５】
第一音圧レベル計算回路１８３は、MDCT回路１８２から供給されたMDCT係数に基づいて、入力時系列信号の第一音圧レベルを計算し、第一ゲイン計算回路１８４に供給する。第一ゲイン計算回路１８４は、第一音圧レベル計算回路１８３から供給された第一音圧レベルに基づいて第一ゲインを計算し、ゲイン符号化回路１８９に供給する。
【０３３６】
ダウンミックス回路１８５は、上位の制御装置から供給されたダウンミックス情報と、MDCT回路１８２から供給された入力時系列信号の各チャネルのMDCT係数に基づいて、ダウンミックス後の各チャネルのMDCT係数を算出し、第二音圧レベル計算回路１８６に供給する。
【０３３７】
第二音圧レベル計算回路１８６は、ダウンミックス回路１８５から供給されたMDCT係数に基づいて第二音圧レベルを計算し、第二ゲイン計算回路１８７に供給する。第二ゲイン計算回路１８７は、第二音圧レベル計算回路１８６から供給された第二音圧レベルに基づいて第二ゲインを計算し、ゲイン符号化回路１８９に供給する。
【０３３８】
ゲイン符号化回路１８９は、第一ゲイン計算回路１８４から供給された第一ゲインと、第二ゲイン計算回路１８７から供給された第二ゲインとを符号化し、その結果得られたゲイン符号列を多重化回路１９２に供給する。
【０３３９】
適応ビット割り当て回路１９０は、MDCT回路１８２から供給されたMDCT係数に基づいて、MDCT係数の符号化時の目標となる符号量を示すビット割当情報を生成し、MDCT係数およびビット割当情報を量子化・符号化回路１９１に供給する。
【０３４０】
量子化・符号化回路１９１は、適応ビット割り当て回路１９０から供給されたビット割当情報に基づいて、適応ビット割り当て回路１９０からのMDCT係数を量子化および符号化し、その結果得られた信号符号列を多重化回路１９２に供給する。多重化回路１９２は、ゲイン符号化回路１８９から供給されたゲイン符号列、上位の制御装置から供給されたダウンミックス情報、および量子化・符号化回路１９１から供給された信号符号列を多重化し、その結果得られた出力符号列を出力する。
【０３４１】
〈符号化処理の説明〉
次に符号化装置１７１の動作について説明する。以下、図２５のフローチャートを参照して、符号化装置１７１による符号化処理について説明する。
【０３４２】
ステップＳ１９１において、窓長選択・窓掛け回路１８１は、窓長を選択するとともに、選択した窓長で供給された入力時系列信号に対する窓掛け処理を行い、その結果得られた時間フレーム信号をMDCT回路１８２に供給する。これにより、入力時系列信号を構成する各チャネルの信号が時間フレーム単位の信号である時間フレーム信号に分割される。
【０３４３】
ステップＳ１９２において、MDCT回路１８２は、窓長選択・窓掛け回路１８１から供給された時間フレーム信号に対してMDCT処理を行って、その結果得られたMDCT係数を第一音圧レベル計算回路１８３、ダウンミックス回路１８５、および適応ビット割り当て回路１９０に供給する。
【０３４４】
ステップＳ１９３において、第一音圧レベル計算回路１８３は、MDCT回路１８２から供給されたMDCT係数に基づいて、入力時系列信号の第一音圧レベルを算出し、第一ゲイン計算回路１８４に供給する。ここで、第一音圧レベル計算回路１８３により算出される第一音圧レベルは、図３の第一音圧レベル計算回路６１で算出されるものと同じであるが、ステップＳ１９３では、MDCT領域で入力時系列信号の音圧レベルが算出される。
【０３４５】
ステップＳ１９４において、第一ゲイン計算回路１８４は、第一音圧レベル計算回路１８３から供給された第一音圧レベルに基づいて第一ゲインを算出し、ゲイン符号化回路１８９に供給する。例えば、図４に示したDRC特性に従って第一ゲインが計算される。
【０３４６】
ステップＳ１９５において、ダウンミックス回路１８５は、上位の制御装置から供給されたダウンミックス情報と、MDCT回路１８２から供給された入力時系列信号の各チャネルのMDCT係数に基づいてダウンミックスを行って、ダウンミックス後の各チャネルのMDCT係数を算出し、第二音圧レベル計算回路１８６に供給する。
【０３４７】
例えば、各チャネルのMDCT係数に、ダウンミックス情報から得られるゲイン係数が乗算されて、それらのゲイン係数が乗算されたMDCT係数を加算することで、ダウンミックス後のチャネルのMDCT係数が算出される。
【０３４８】
ステップＳ１９６において、第二音圧レベル計算回路１８６は、ダウンミックス回路１８５から供給されたMDCT係数に基づいて第二音圧レベルを算出し、第二ゲイン計算回路１８７に供給する。なお、第二音圧レベルの算出は、第一音圧レベルと同様の演算により求められる。
【０３４９】
ステップＳ１９７において、第二ゲイン計算回路１８７は、第二音圧レベル計算回路１８６から供給された第二音圧レベルに基づいて第二ゲインを算出し、ゲイン符号化回路１８９に供給する。例えば、図４に示したDRC特性に従って第二ゲインが計算される。
【０３５０】
ステップＳ１９８において、ゲイン符号化回路１８９は、ゲイン符号化処理を行って第一ゲイン計算回路１８４から供給された第一ゲインと、第二ゲイン計算回路１８７から供給された第二ゲインとを符号化する。そして、ゲイン符号化回路１８９は、ゲイン符号化処理により得られたゲイン符号化モードヘッダおよびゲイン符号列を多重化回路１９２に供給する。
【０３５１】
なお、ゲイン符号化処理の詳細は後述するが、ゲイン符号化処理では、第一ゲインや第二ゲインといったゲインシーケンスについて、時間フレーム間の差分が求められて各ゲインが符号化される。また、ゲイン符号化モードヘッダは必要な場合のみ生成される。
【０３５２】
ステップＳ１９９において、適応ビット割り当て回路１９０は、MDCT回路１８２から供給されたMDCT係数に基づいてビット割当情報を生成し、MDCT係数およびビット割当情報を量子化・符号化回路１９１に供給する。
【０３５３】
ステップＳ２００において、量子化・符号化回路１９１は、適応ビット割り当て回路１９０から供給されたビット割当情報に基づいて、適応ビット割り当て回路１９０からのMDCT係数を量子化および符号化し、その結果得られた信号符号列を多重化回路１９２に供給する。
【０３５４】
ステップＳ２０１において、多重化回路１９２は、ゲイン符号化回路１８９から供給されたゲイン符号列とゲイン符号化モードヘッダ、上位の制御装置から供給されたダウンミックス情報、および量子化・符号化回路１９１から供給された信号符号列を多重化し、その結果得られた出力符号列を出力する。これにより、例えば図７に示した出力符号列が得られる。但し、ゲイン符号列は図１０に示したものとは異なるものとされる。
【０３５５】
このようにして１時間フレーム分の出力符号列がビットストリームとして出力されると、符号化処理は終了する。そして、次の時間フレームの符号化処理が行われる。
【０３５６】
以上のようにして、符号化装置１７１１は、MDCT領域で、すなわちMDCT係数から第一ゲインと第二ゲインを算出し、それらのゲインの差分を求めて符号化する。これにより、より少ない符号量で適切な音量の音声を得ることができる。
【０３５７】
〈ゲイン符号化処理の説明〉
次に、図２６のフローチャートを参照して、図２５のステップＳ１９８の処理に対応するゲイン符号化処理について説明する。なお、ステップＳ２３１乃至ステップＳ２３４の処理は、図１８のステップＳ４１乃至ステップＳ４４の処理と同様であるので、その説明は省略する。
【０３５８】
ステップＳ２３５において、ゲイン符号化回路１８９は、１つのゲインシーケンスを処理対象のゲインシーケンスとして選択し、そのゲインシーケンスの現時間フレームのゲイン（ゲイン波形）と、その直前の時間フレームのゲインとの差分値を求める。
【０３５９】
具体的には、処理対象のゲインシーケンスの現時間フレームの各サンプル位置のゲイン値と、処理対象のゲインシーケンスの現時間フレームの直前の時間フレームの各サンプル位置のゲイン値との差分が求められる。つまり、ゲインシーケンスの時間フレーム間の差分が求められる。
【０３６０】
なお、処理対象のゲインシーケンスがスレーブゲインシーケンスである場合には、ステップＳ２３４で求められたマスターゲインシーケンスとの差分の時間波形の時間フレーム間の差分値が求められる。すなわち、現時間フレームにおけるマスターゲインシーケンスとの差分の時間波形と、直前の時間フレームにおけるマスターゲインシーケンスとの差分の時間波形との差分値が求められる。
【０３６１】
ステップＳ２３６において、ゲイン符号化回路１８９は全ゲインシーケンスを符号化したか否かを判定する。例えば、全てのゲインシーケンスが処理対象とされて処理された場合、全ゲインシーケンスを符号化したと判定される。
【０３６２】
ステップＳ２３６において、全ゲインシーケンスを符号化していない判定された場合、処理はステップＳ２３５に戻り、上述した処理が繰り返し行われる。すなわち、まだ処理対象とされていないゲインシーケンスが次の処理対象のゲインシーケンスとされて符号化が行われる。
【０３６３】
これに対して、ステップＳ２３６において全ゲインシーケンスを符号化したと判定された場合、ゲイン符号化回路１８９は、ステップＳ２３５で各ゲインシーケンスについて求めたゲインの時間フレーム間の差分値をゲイン符号列とする。そして、ゲイン符号化回路１８９は、生成したゲイン符号化モードヘッダとゲイン符号列とを多重化回路１２９に供給する。なお、ゲイン符号化モードヘッダが生成されなかった場合には、ゲイン符号列のみが出力される。
【０３６４】
このようにしてゲイン符号化モードヘッダとゲイン符号列が出力されると、ゲイン符号化処理は終了し、その後、処理は図２５のステップＳ１９９へと進む。
【０３６５】
以上のようにして、符号化装置１７１は、ゲインシーケンス間の差分やゲインシーケンスの時間フレーム間の差分を求めることでゲインを符号化し、ゲイン符号列を生成する。このように、ゲインシーケンス間の差分やゲインシーケンスの時間フレーム間の差分を求めてゲインを符号化することで、第一ゲインや第二ゲインをより効率よく符号化することができる。つまり、符号化の結果として得られる符号量をより少なくすることができる。
【０３６６】
〈復号化装置の構成例〉
次に、符号化装置１７１から出力された出力符号列を入力符号列として入力し、入力符号列の復号化を行う復号化装置について説明する。
【０３６７】
図２７は、本技術を適用した復号化装置の一実施の形態の構成例を示す図である。
【０３６８】
図２７に示す復号化装置２３１は、非多重化回路２４１、復号化・逆量子化回路２４２、ゲイン復号化回路２４３、ゲイン適用回路２４４、逆MDCT回路２４５、および窓掛け・OLA回路２４６を有している。
【０３６９】
非多重化回路２４１は、供給された入力符号列を非多重化する。非多重化回路２４１は、非多重化により得られたゲイン符号化モードヘッダおよびゲイン符号列をゲイン復号化回路２４３に供給するとともに、信号符号列を復号化・逆量子化回路２４２し、さらにダウンミックス情報をゲイン適用回路２４４に供給する。
【０３７０】
復号化・逆量子化回路２４２は、非多重化回路２４１から供給された信号符号列に対する復号化および逆量子化を行って、その結果得られたMDCT係数をゲイン適用回路２４４に供給する。
【０３７１】
ゲイン復号化回路２４３は、非多重化回路２４１から供給されたゲイン符号化モードヘッダおよびゲイン符号列を復号化し、その結果得られたゲイン情報をゲイン適用回路２４４に供給する。
【０３７２】
ゲイン適用回路２４４は、上位の制御装置から供給されたダウンミックス制御情報とDRC制御情報に基づいて、非多重化回路２４１から供給されたダウンミックス情報から得られるゲイン係数と、ゲイン復号化回路２４３から供給されたゲイン情報を、復号化・逆量子化回路２４２から供給されたMDCT係数に乗算し、得られたゲイン適用MDCT係数を逆MDCT回路２４５に供給する。
【０３７３】
逆MDCT回路２４５は、ゲイン適用回路２４４から供給されたゲイン適用MDCT係数に対して逆MDCT処理を施し、得られた逆MDCT信号を窓掛け・OLA回路２４６に供給する。窓掛け・OLA回路２４６は、逆MDCT回路２４５から供給された逆MDCT信号に対して窓掛けおよびオーバーラップ加算処理を行い、これにより得られた出力時系列信号を出力する。
【０３７４】
〈復号化処理の説明〉
続いて、復号化装置２３１の動作について説明する。
【０３７５】
復号化装置２３１は、入力符号列が１時間フレーム分だけ供給されると、その入力符号列を復号化して出力時系列信号を出力する復号化処理を行う。以下、図２８のフローチャートを参照して、復号化装置２３１による復号化処理について説明する。
【０３７６】
ステップＳ２６１において、非多重化回路２４１は、供給された入力符号列を非多重化する。そして、非多重化回路２４１は、非多重化により得られたゲイン符号化モードヘッダおよびゲイン符号列をゲイン復号化回路２４３に供給し、信号符号列を復号化・逆量子化回路２４２し、さらにダウンミックス情報をゲイン適用回路２４４に供給する。
【０３７７】
ステップＳ２６２において、復号化・逆量子化回路２４２は、非多重化回路２４１から供給された信号符号列に対する復号化および逆量子化を行って、その結果得られたMDCT係数をゲイン適用回路２４４に供給する。
【０３７８】
ステップＳ２６３において、ゲイン復号化回路２４３は、ゲイン復号化処理を行って非多重化回路２４１から供給されたゲイン符号化モードヘッダおよびゲイン符号列を復号化し、その結果得られたゲイン情報をゲイン適用回路２４４に供給する。なお、ゲイン復号化処理の詳細は後述する。
【０３７９】
ステップＳ２６４において、ゲイン適用回路２４４は、上位の制御装置からのダウンミックス制御情報とDRC制御情報に基づいて、非多重化回路２４１からのダウンミックス情報から得られるゲイン係数と、ゲイン復号化回路２４３からのゲイン情報を、復号化・逆量子化回路２４２からのMDCT係数に乗算し、ゲイン調整を行う。
【０３８０】
具体的には、ゲイン適用回路２４４は、ダウンミックス制御情報に応じて、非多重化回路２４１から供給されたダウンミックス情報から得られるゲイン係数をMDCT係数に乗算する。そして、ゲイン適用回路２４４は、ゲイン係数が乗算されたMDCT係数を加算することで、ダウンミックス後のチャネルのMDCT係数を算出する。
【０３８１】
さらに、ゲイン適用回路２４４は、DRC制御情報に応じて、ゲイン復号化回路２４３から供給されたゲイン情報を、ダウンミックス後の各チャネルのMDCT係数に乗算して、ゲイン適用MDCT係数とする。
【０３８２】
ゲイン適用回路２４４は、このようにして得られたゲイン適用MDCT係数を逆MDCT回路２４５に供給する。
【０３８３】
ステップＳ２６５において、逆MDCT回路２４５は、ゲイン適用回路２４４から供給されたゲイン適用MDCT係数に対して逆MDCT処理を施し、得られた逆MDCT信号を窓掛け・OLA回路２４６に供給する。
【０３８４】
ステップＳ２６６において、窓掛け・OLA回路２４６は、逆MDCT回路２４５から供給された逆MDCT信号に対して窓掛けおよびオーバーラップ加算処理を行い、これにより得られた出力時系列信号を出力する。出力時系列信号が出力されると、復号化処理は終了する。
【０３８５】
以上のようにして、復号化装置２３１は、ゲイン符号化モードヘッダおよびゲイン符号列を復号化し、得られたゲイン情報をMDCT係数に適用し、ゲインを調整する。
【０３８６】
ゲイン符号列は、ゲインシーケンス間の差分やゲインシーケンスの時間フレーム間の差分を求めて得られたものである。そのため、復号化装置２３１では、より少ない符号量のゲイン符号列で、より適切なゲイン情報を得ることができる。すなわち、より少ない符号量で適切な音量の音声を得ることができる。
【０３８７】
〈ゲイン復号化処理の説明〉
さらに、図２９のフローチャートを参照して、図２８のステップＳ２６３の処理に対応するゲイン復号化処理について説明する。
【０３８８】
なお、ステップＳ２９１乃至ステップＳ２９３の処理は図２１のステップＳ１２１乃至ステップＳ１２３の処理と同様であるので、その説明は省略する。但し、ステップＳ２９３では、ゲイン符号列に含まれている各ゲインシーケンスについての時間フレーム内の各サンプル位置におけるゲインの差分値が復号化により得られる。
【０３８９】
ステップＳ２９４において、ゲイン復号化回路２４３は、１つのゲインシーケンスを処理対象とし、そのゲインシーケンスの現時間フレームの直前の時間フレームのゲイン値と、現時間フレームのゲインの差分値とから、現時間フレームのゲイン値を求める。
【０３９０】
すなわち、ゲイン復号化回路２４３は、処理対象のゲインシーケンスのゲインシーケンスモードにおける図９に示したMASTER_FLAGとDIFF_SEQ_IDを参照し、処理対象のゲインシーケンスがスレーブゲインシーケンスであるか否かと、対応するマスターゲインシーケンスを特定する。
【０３９１】
そして、ゲイン復号化回路２４３は、処理対象のゲインシーケンスがマスターゲインシーケンスである場合には、ゲイン符号列の復号により得られた、処理対象のゲインシーケンスの現時間フレームの各サンプル位置の差分値と、処理対象のゲインシーケンスの現時間フレームの直前の時間フレームの各サンプル位置のゲイン値とを加算する。そして、その結果得られた現時間フレームの各サンプル位置のゲイン値が、現時間フレームのゲインの時間波形、すなわち処理対象のゲインシーケンスの最終的なゲイン情報とされる。
【０３９２】
一方、処理対象のゲインシーケンスがスレーブゲインシーケンスである場合には、ゲイン復号化回路２４３は、処理対象のゲインシーケンスの現時間フレームの直前の時間フレームにおけるマスターゲインシーケンスと、直前の時間フレームにおける処理対象のゲインシーケンスとの各サンプル位置におけるゲインの差分値を求める。
【０３９３】
そして、ゲイン復号化回路２４３は、このようにして求めた差分値と、ゲイン符号列の復号により得られた、処理対象のゲインシーケンスの現時間フレームの各サンプル位置の差分値とを加算する。さらに、ゲイン復号化回路２４３は、その加算の結果得られたゲイン波形に、処理対象のゲインシーケンスに対する現時間フレームのマスターゲインシーケンスのゲイン情報（ゲイン波形）を加算して、処理対象のゲインシーケンスの最終的なゲイン情報とする。
【０３９４】
ステップＳ２９５において、ゲイン復号化回路２４３は、全ゲインシーケンスのゲイン波形が得られたか否かを判定する。例えばゲイン符号化モードヘッダに示される全てのゲインシーケンスが処理対象のゲインシーケンスとされてゲイン波形（ゲイン情報）が得られた場合、全ゲインシーケンスのゲイン波形が得られたと判定される。
【０３９５】
ステップＳ２９５において、まだ全てのゲインシーケンスのゲイン波形が得られていないと判定された場合、処理はステップＳ２９４に戻り、上述した処理が繰り返し行われる。すなわち、次のゲインシーケンスが処理対象とされて、ゲイン波形（ゲイン情報）が求められる。
【０３９６】
これに対して、ステップＳ２９５において、全ゲインシーケンスのゲイン波形が得られたと判定された場合、ゲイン復号化処理は終了し、その後、処理は図２８のステップＳ２６４へと進む。
【０３９７】
このようにして、復号化装置２３１は、ゲイン符号化モードヘッダおよびゲイン符号列を復号化して、各ゲインシーケンスのゲイン情報を算出する。このようにゲイン符号列を復号化してゲイン情報を求めることで、より少ない符号量で適切な音量の音声を得ることができるようになる。
【０３９８】
以上のように、本技術によれば、ダウンミックスの有無を含めた様々な再生環境において適切な音量レベルで符号化音声の再生が可能となり、また様々な再生環境においてクリッピングノイズが生じることもなくなる。さらに、必要な符号量が少ないので、多数のゲイン情報を効率的に符号化できる。また、本技術は、復号化装置の計算量が少なくてすむので携帯端末等に対しても適用可能である。
【０３９９】
なお、以上においては、入力時系列信号の音量補正としてDRCによるゲイン補正を行う場合について説明したが、音量補正としてラウドネスなど、他の補正処理が行われるようにしてもよい。特に、MPEG AACでは、補助情報としてコンテンツ全体の音圧レベルを表すラウドネスもフレームごとに値を記述しておくことができ、このようなラウドネスの補正値もゲイン値として符号化される。
【０４００】
そこで、ラウドネス補正のゲインも符号化されてゲイン符号列に含めて送信されるようにすることができる。ラウドネス補正では、DRCと同じように各ダウンミックスパターン間で対応したゲイン値が必要とされる。
【０４０１】
さらに、第一ゲインや第二ゲインの符号化時に、時間フレーム間でゲイン変化点の差分を求めて符号化を行うようにしてもよい。
【０４０２】
ところで、上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のコンピュータなどが含まれる。
【０４０３】
図３０は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【０４０４】
コンピュータにおいて、ＣＰＵ（Central Processing Unit）５０１，ＲＯＭ（Read Only Memory）５０２，ＲＡＭ（Random Access Memory）５０３は、バス５０４により相互に接続されている。
【０４０５】
バス５０４には、さらに、入出力インターフェース５０５が接続されている。入出力インターフェース５０５には、入力部５０６、出力部５０７、記録部５０８、通信部５０９、及びドライブ５１０が接続されている。
【０４０６】
入力部５０６は、キーボード、マウス、マイクロホン、撮像素子などよりなる。出力部５０７は、ディスプレイ、スピーカなどよりなる。記録部５０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部５０９は、ネットワークインターフェースなどよりなる。ドライブ５１０は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア５１１を駆動する。
【０４０７】
以上のように構成されるコンピュータでは、ＣＰＵ５０１が、例えば、記録部５０８に記録されているプログラムを、入出力インターフェース５０５及びバス５０４を介して、ＲＡＭ５０３にロードして実行することにより、上述した一連の処理が行われる。
【０４０８】
コンピュータ（ＣＰＵ５０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア５１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【０４０９】
コンピュータでは、プログラムは、リムーバブルメディア５１１をドライブ５１０に装着することにより、入出力インターフェース５０５を介して、記録部５０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部５０９で受信し、記録部５０８にインストールすることができる。その他、プログラムは、ＲＯＭ５０２や記録部５０８に、あらかじめインストールしておくことができる。
【０４１０】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０４１１】
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０４１２】
例えば、本技術は、１つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０４１３】
また、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０４１４】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０４１５】
また、本明細書中に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
【０４１６】
さらに、本技術は、以下の構成とすることも可能である。
【０４１７】
（１）
音声信号のフレームごとに音量補正のための第１のゲイン値と第２のゲイン値を算出するゲイン計算部と、
前記第１のゲイン値と前記第２のゲイン値の第１の差分値を求め、または前記第１のゲイン値と隣接する前記フレームの前記第１のゲイン値との間若しくは前記第１の差分値と隣接する前記フレームの前記第１の差分値との間で第２の差分値を求め、前記第１の差分値または前記第２の差分値に基づく情報を符号化するゲイン符号化部と
を備える符号化装置。
（２）
前記ゲイン符号化部は、前記フレーム内の複数の位置での前記第１のゲイン値と前記第２のゲイン値の前記第１の差分値を求め、または前記フレーム内の複数の位置での前記第１のゲイン値の間若しくは前記フレーム内の複数の位置での前記第１の差分値の間で前記第２の差分値を求める
（１）に記載の符号化装置。
（３）
前記ゲイン符号化部は、前記フレーム内の前記第１のゲイン値または前記第１の差分値の傾きが変化するゲイン変化点に基づいて前記第２の差分値を求める
（１）または（２）に記載の符号化装置。
（４）
前記ゲイン符号化部は、前記ゲイン変化点と、他のゲイン変化点との差分を求めることで、前記第２の差分値を求める
（３）に記載の符号化装置。
（５）
前記ゲイン符号化部は、前記ゲイン変化点と、他のゲイン変化点を用いた１次予測による予測値との差分を求めることで、前記第２の差分値を求める
（３）に記載の符号化装置。
（６）
前記ゲイン符号化部は、前記フレーム内における前記ゲイン変化点の個数と、前記ゲイン変化点における前記第２の差分値に基づく情報を符号化する
（３）に記載の符号化装置。
（７）
前記ゲイン計算部は、ダウンミックスにより得られる異なるチャネル数の前記音声信号ごとに、前記第２のゲイン値を算出する
（１）乃至（６）の何れか一項に記載の符号化装置。
（８）
前記ゲイン符号化部は、前記第１のゲイン値と前記第２のゲイン値の相関に基づいて、前記第１の差分値を求めるか否かを選択する
（１）乃至（７）の何れか一項に記載の符号化装置。
（９）
前記ゲイン符号化部は、前記第１の差分値または前記第２の差分値を可変長符号化する
（１）乃至（８）の何れか一項に記載の符号化装置。
（１０）
音声信号のフレームごとに音量補正のための第１のゲイン値と第２のゲイン値を算出し、
前記第１のゲイン値と前記第２のゲイン値の第１の差分値を求め、または前記第１のゲイン値と隣接する前記フレームの前記第１のゲイン値との間若しくは前記第１の差分値と隣接する前記フレームの前記第１の差分値との間で第２の差分値を求め、前記第１の差分値または前記第２の差分値に基づく情報を符号化する
ステップを含む符号化方法。
（１１）
音声信号のフレームごとに音量補正のための第１のゲイン値と第２のゲイン値を算出し、
前記第１のゲイン値と前記第２のゲイン値の第１の差分値を求め、または前記第１のゲイン値と隣接する前記フレームの前記第１のゲイン値との間若しくは前記第１の差分値と隣接する前記フレームの前記第１の差分値との間で第２の差分値を求め、前記第１の差分値または前記第２の差分値に基づく情報を符号化する
ステップを含む処理をコンピュータに実行させるプログラム。
（１２）
音声信号のフレームごとに算出された音量補正のための第１のゲイン値と第２のゲイン値について、前記第１のゲイン値と前記第２のゲイン値の第１の差分値、または前記第１のゲイン値と隣接する前記フレームの前記第１のゲイン値との間若しくは前記第１の差分値と隣接する前記フレームの前記第１の差分値との間で第２の差分値を求めることで生成されたゲイン符号列と、前記音声信号を符号化して得られた信号符号列とに、入力符号列を非多重化する非多重化部と、
前記信号符号列を復号化する信号復号化部と、
前記ゲイン符号列を復号化して、前記音量補正のための前記第１のゲイン値または前記第２のゲイン値を出力するゲイン復号化部と
を備える復号化装置。
（１３）
前記第１の差分値は、前記フレーム内の複数の位置での前記第１のゲイン値と前記第２のゲイン値の差分値を求めることで符号化されており、
前記第２の差分値は、前記フレーム内の複数の位置での前記第１のゲイン値の間または前記フレーム内の複数の位置での前記第１の差分値の間での差分値を求めることで符号化されている
（１２）に記載の復号化装置。
（１４）
前記第２の差分値が、前記フレーム内の前記第１のゲイン値または前記第１の差分値の傾きが変化するゲイン変化点から求められることで符号化されている
（１２）または（１３）に記載の復号化装置。
（１５）
前記第２の差分値が、前記ゲイン変化点と、他のゲイン変化点との差分から求められることで符号化されている
（１４）に記載の復号化装置。
（１６）
前記第２の差分値が、前記ゲイン変化点と、他のゲイン変化点を用いた１次予測による予測値との差分から求められることで符号化されている
（１４）に記載の復号化装置。
（１７）
前記フレーム内における前記ゲイン変化点の個数と、前記ゲイン変化点における前記第２の差分値に基づく情報が前記第２の差分値として符号化されている
（１４）乃至（１６）の何れか一項に記載の復号化装置。
（１８）
音声信号のフレームごとに算出された音量補正のための第１のゲイン値と第２のゲイン値について、前記第１のゲイン値と前記第２のゲイン値の第１の差分値、または前記第１のゲイン値と隣接する前記フレームの前記第１のゲイン値との間若しくは前記第１の差分値と隣接する前記フレームの前記第１の差分値との間で第２の差分値を求めることで生成されたゲイン符号列と、前記音声信号を符号化して得られた信号符号列とに入力符号列を非多重化し、
前記信号符号列を復号化し、
前記ゲイン符号列を復号化して、前記音量補正のための前記第１のゲイン値または前記第２のゲイン値を出力する
ステップを含む復号化方法。
（１９）
音声信号のフレームごとに算出された音量補正のための第１のゲイン値と第２のゲイン値について、前記第１のゲイン値と前記第２のゲイン値の第１の差分値、または前記第１のゲイン値と隣接する前記フレームの前記第１のゲイン値との間若しくは前記第１の差分値と隣接する前記フレームの前記第１の差分値との間で第２の差分値を求めることで生成されたゲイン符号列と、前記音声信号を符号化して得られた信号符号列とに入力符号列を非多重化し、
前記信号符号列を復号化し、
前記ゲイン符号列を復号化して、前記音量補正のための前記第１のゲイン値または前記第２のゲイン値を出力する
ステップを含む処理をコンピュータに実行させるプログラム。
【符号の説明】
【０４１８】
５１  符号化装置，  ６２  第一ゲイン計算回路，  ６５  第二ゲイン計算回路，  ６６  ゲイン符号化回路，  ６７  信号符号化回路，  ６８  多重化回路，  ９１  復号化装置，  １０１  非多重化回路，  １０２  信号復号化回路，  １０３  ゲイン復号化回路，  １０４  ゲイン適用回路，  １４１  第二音圧レベル推定回路
【図１】
0006531649.tif 000007
【図２】
0006531649.tif 000008
【図３】
0006531649.tif 000009
【図４】
0006531649.tif 000010
【図５】
0006531649.tif 000011
【図６】
0006531649.tif 000012
【図７】
0006531649.tif 000013
【図８】
0006531649.tif 000014
【図９】
0006531649.tif 000015
【図１０】
0006531649.tif 000016
【図１１】
0006531649.tif 000017
【図１２】
0006531649.tif 000018
【図１３】
0006531649.tif 000019
【図１４】
0006531649.tif 000020
【図１５】
0006531649.tif 000021
【図１６】
0006531649.tif 000022
【図１７】
0006531649.tif 000023
【図１８】
0006531649.tif 000024
【図１９】
0006531649.tif 000025
【図２０】
0006531649.tif 000026
【図２１】
0006531649.tif 000027
【図２２】
0006531649.tif 000028
【図２３】
0006531649.tif 000029
【図２４】
0006531649.tif 000030
【図２５】
0006531649.tif 000031
【図２６】
0006531649.tif 000032
【図２７】
0006531649.tif 000033
【図２８】
0006531649.tif 000034
【図２９】
0006531649.tif 000035
【図３０】
0006531649.tif 000036