(57)【特許請求の範囲】
【請求項１】
オーディオ信号に含まれる少なくとも一つのチャネルの信号を所定の時間長を持つフレーム単位で時間周波数変換することにより、前記チャネルの信号を、周波数信号に変換する時間周波数変換部と、
前記少なくとも一つのチャネルごとに前記オーディオ信号に含まれる符号化対象フレームにおける前記周波数信号の複雑度を算出する複雑度算出部と、
前記少なくとも一つのチャネルごとに、当該チャネルの複雑度が大きいほど当該チャネルに割り当てる割当ビット量も多くなるように前記符号化対象フレームにおける当該割当ビット量を決定するとともに、前記符号化対象フレームよりも所定数前のフレームについて再生音質が所定の基準を満たすように前記周波数信号を符号化した場合の未調整符号化ビット量に対する前記割当ビット量の推定誤り量が大きいほど前記割当ビット量を増加させるビット配分制御部と、
前記符号化対象フレームの各チャネルの前記周波数信号を、当該チャネルの前記割当ビット量以下となるように符号化する符号化部と、
を有するオーディオ符号化装置。
【請求項２】
前記符号化部は、前記所定数前のフレームについて、再生音質が前記基準を満たす第１の量子化スケールで前記周波数信号を量子化し、量子化された前記周波数信号及び前記第１の量子化スケールを所定の符号化方式に従って符号化することにより得られた符号化ビット量を前記未調整符号化ビット量として算出し、かつ、前記周波数信号を第２の量子化スケールにて量子化し、当該第２の量子化スケール及び量子化された前記周波数信号を所定の符号化方式に従って符号化することにより得られた符号化ビット量が前記割当ビット量以下となるように前記第２の量子化スケールを決定し、
前記ビット配分制御部は、前記所定数前のフレームについての前記未調整符号化ビット量と前記割当ビット量との差または前記未調整符号化ビット量に対する前記割当ビット量の比を前記推定誤り量として算出する、請求項１に記載のオーディオ符号化装置。
【請求項３】
前記符号化部は、前記所定数前のフレームについて、再生音質が前記基準を満たす第１の量子化スケールと、前記周波数信号を第２の量子化スケールにて量子化し、当該第２の量子化スケール及び量子化された前記周波数信号を所定の符号化方式に従って符号化することにより得られた符号化ビット量が前記割当ビット量以下となるように前記第２の量子化スケールとを決定し、
前記ビット配分制御部は、前記第１の量子化スケールよりも前記第２の量子化スケールが大きいほど前記推定誤り量も大きい値とする、請求項１に記載のオーディオ符号化装置。
【請求項４】
前記ビット配分制御部は、前記所定数前のフレームにおける、前記符号化部が前記第２の量子化スケールを用いて前記周波数信号を量子化した場合の量子化誤差が、リスナーが再生音質の劣化を知覚できない前記周波数信号の電力の上限よりも大きいほど、前記推定誤り量がより大きな値となるように前記推定誤り量を補正する、請求項２または３に記載のオーディオ符号化装置。
【請求項５】
前記オーディオ信号は、２以上のチャネルを含み、
前記ビット配分制御部は、前記２以上のチャネルのそれぞれに対する前記割当ビット量の合計が利用可能なビット量の上限以下となるように、前記２以上のチャネルのそれぞれに対して前記割当ビット量を設定する、請求項１〜４の何れか一項に記載のオーディオ符号化装置。
【請求項６】
オーディオ信号に含まれる少なくとも一つのチャネルの信号を所定の時間長を持つフレーム単位で時間周波数変換することにより、前記チャネルの信号を、周波数信号に変換し、
前記少なくとも一つのチャネルごとに前記オーディオ信号に含まれる符号化対象フレームにおける前記周波数信号の複雑度を算出し、
前記少なくとも一つのチャネルごとに、当該チャネルの複雑度が大きいほど当該チャネルに割り当てる割当ビット量も多くなるように前記符号化対象フレームにおける当該割当ビット量を決定するとともに、前記符号化対象フレームよりも所定数前のフレームについて再生音質が所定の基準を満たすように前記周波数信号を符号化した場合の未調整符号化ビット量に対する前記割当ビット量の推定誤り量が大きいほど前記割当ビット量を増加させ、
前記符号化対象フレームの各チャネルの前記周波数信号を、当該チャネルの前記割当ビット量以下となるように符号化する、
ことを含むオーディオ符号化方法。
【請求項７】
オーディオ信号に含まれる少なくとも一つのチャネルの信号を所定の時間長を持つフレーム単位で時間周波数変換することにより、前記チャネルの信号を、周波数信号に変換し、
前記少なくとも一つのチャネルごとに前記オーディオ信号に含まれる符号化対象フレームにおける前記周波数信号の複雑度を算出し、
前記少なくとも一つのチャネルごとに、当該チャネルの複雑度が大きいほど当該チャネルに割り当てる割当ビット量も多くなるように前記符号化対象フレームにおける当該割当ビット量を決定するとともに、前記符号化対象フレームよりも所定数前のフレームについて再生音質が所定の基準を満たすように前記周波数信号を符号化した場合の未調整符号化ビット量に対する前記割当ビット量の推定誤り量が大きいほど前記割当ビット量を増加させ、
前記符号化対象フレームの各チャネルの前記周波数信号を、当該チャネルの前記割当ビット量以下となるように符号化する、
ことをコンピュータに実行させるオーディオ符号化用コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、オーディオ符号化装置、オーディオ符号化方法及びオーディオ符号化用コンピュータプログラムに関する。
【背景技術】
【０００２】
従来より、オーディオ信号のデータ量を圧縮するためのオーディオ信号の符号化方式が開発されている。そのような符号化方式では、データの転送レートなどの制約により、符号化後のオーディオ信号に対してフレームごとに利用可能なビット量が予め決まっていることがある。そのため、オーディオ符号化装置は、利用可能なビット量をオーディオ信号が有する各チャネルまたは各周波数帯域に対して適切に割り当てることが好ましい。各チャネルまたは各周波数帯域に対するビット量の割り当てが適切でなければ、例えば、あるチャネルでは割り当てられたビット量が不足することにより再生音質が大きく劣化してしまう。そこで、符号化対象となるオーディオ信号に対して、適応的に符号化されたデータのビット量を割り当てる技術が提案されている（例えば、特許文献１を参照）。
【０００３】
そのような公知技術の一つでは、圧縮及び伸張したデータと入力データから圧縮過程において発生する誤差を算出し、その誤差に応じて、例えば、周波数帯域ごとに配分されるビット量が修正される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平６−２６８６０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の公知技術では、一旦符号化したオーディオ信号を復号しなければ誤差を算出することができないので、配分されるビット量を決定するのに要する演算量が増大してしまう。また、オーディオ信号の転送にリアルタイム性が要求されるアプリケーション、あるいは、携帯端末といったハードウェアのリソース量が限られたハードウェアにおいてオーディオ信号の符号化が行われる場合、符号化に要する演算量は少ないほど好ましい。
【０００６】
そこで、本明細書は、符号化に要する演算量の増大を抑制しつつ、再生されるオーディオ信号の音質の劣化を抑制可能なオーディオ符号化装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
一つの実施形態によれば、オーディオ符号化装置が提供される。このオーディオ符号化装置は、オーディオ信号に含まれる少なくとも一つのチャネルの信号を所定の時間長を持つフレーム単位で時間周波数変換することにより、各チャネルの信号を周波数信号に変換する時間周波数変換部と、チャネルごとに周波数信号の複雑度を算出する複雑度算出部と、チャネルごとに、チャネルの複雑度が大きいほどそのチャネルに割り当てる割当ビット量も多くなるように割当ビット量を決定するとともに、所定数前のフレームについて再生音質が所定の基準を満たすように周波数信号を符号化した場合の未調整符号化ビット量に対する割当ビット量の推定誤り量が大きいほど割当ビット量を増加させるビット配分制御部と、各チャネルの周波数信号を、そのチャネルの割当ビット量以下となるように符号化する符号化部とを有する。
【０００８】
本発明の目的及び利点は、請求項において特に指摘されたエレメント及び組み合わせにより実現され、かつ達成される。
上記の一般的な記述及び下記の詳細な記述の何れも、例示的かつ説明的なものであり、請求項のように、本発明を限定するものではないことを理解されたい。
【発明の効果】
【０００９】
本明細書に開示されたオーディオ符号化装置は、符号化に要する演算量の増大を抑制しつつ、再生されるオーディオ信号の音質の劣化を抑制することができる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態によるオーディオ符号化装置の概略構成図である。
【図２】推定誤り量と推定係数の時間変化の一例を表す図である。
【図３】推定係数更新処理の動作フローチャートである。
【図４】周波数信号符号化処理の動作フローチャートである。
【図５】符号化されたオーディオ信号が格納されたデータ形式の一例を示す図である。
【図６】オーディオ符号化処理の動作フローチャートである。
【図７】第２の実施形態による周波数信号の符号化処理の動作フローチャートである。
【図８】第２の実施形態による周波数信号の符号化処理の動作フローチャートである。
【図９】符号化完了時の量子化スケール及び量子化スケールの初期値と、量子化スケール、周波数信号の量子化信号値及びエントロピー符号化された量子化信号及び量子化スケールの符号化ビット量との関係を表す概念図である。
【図１０】第４の実施形態によるオーディオ符号化装置の推定誤り量算出部の概略構成図である。
【図１１】何れかの実施形態に係るオーディオ符号化装置が組み込まれた映像伝送装置の概略構成図である。
【発明を実施するための形態】
【００１１】
以下、図を参照しつつ、様々な実施形態による、オーディオ符号化装置について説明する。このオーディオ符号化装置は、符号化対象となるオーディオ信号が有するチャネルごとに、そのチャネルの信号の複雑度に応じて割り当てるビット量を決定する。その際、このオーディオ符号化装置は、チャネルごとに、既に符号化されたフレームについて算出された、再生音質が所定の基準を満たすように信号を符号化するためのビット量に対する、事前に割り当てられたビット量の推定誤り量を算出する。そしてこのオーディオ符号化装置は、その推定誤り量が大きいチャネルほど、次のフレームに対して割り当てるビット量を増加させる。
【００１２】
なお、符号化対象となるオーディオ信号が有するチャネルの数に制限は無く、例えば、符号化対象となるオーディオ信号は、モノラル、ステレオ、3.1chまたは5.1chオーディオ信号とすることができる。本実施形態では、符号化対象となるオーディオ信号は、N個のチャネルを有するものとする。ただし、Nは1以上の整数である。
【００１３】
図１は、第１の実施形態によるオーディオ符号化装置の概略構成図である。図１に示すように、オーディオ符号化装置１は、時間周波数変換部１１と、複雑度算出部１２と、ビット配分制御部１３と、符号化部１４と、多重化部１５とを有する。
【００１４】
オーディオ符号化装置１が有するこれらの各部は、それぞれ別個の回路として形成される。あるいはオーディオ符号化装置１が有するこれらの各部は、その各部に対応する回路が集積された一つの集積回路としてオーディオ符号化装置１に実装されてもよい。さらに、オーディオ符号化装置１が有するこれらの各部は、オーディオ符号化装置１が有するプロセッサ上で実行されるコンピュータプログラムにより実現される、機能モジュールであってもよい。
【００１５】
時間周波数変換部１１は、オーディオ符号化装置１に入力されたオーディオ信号の時間領域の各チャネルの信号を、それぞれフレーム単位で時間周波数変換することにより、各チャネルの周波数信号に変換する。
本実施形態では、時間周波数変換部１１は、高速フーリエ変換を用いて、各チャネルの信号を周波数信号に変換する。この場合、フレームtにおけるチャネルchの時間領域の信号Xch(t)を周波数信号に変換する式は次式のように表される。
【数１】
0005609591.tif 000002
ここでkは時間を表す変数であり、１フレームのオーディオ信号を時間方向にS個に等分したときのk番目の時間を表す。なお、フレーム長は、例えば、10〜80msecの何れかとすることができる。またiは周波数を表す変数であり、周波数帯域全体をS個に等分したときのi番目の周波数を表す。なおSは、例えば、1024に設定される。そしてspecch(t)iは、フレームtにおけるチャネルchのi番目の周波数信号である。
なお、時間周波数変換部１１は、離散コサイン変換、修正離散コサイン変換またはQuadrature Mirror Filter(QMF)フィルタバンクなど、他の時間周波数変換処理を用いて、各チャネルの時間領域の信号を、それぞれ、周波数信号に変換してもよい。
【００１６】
時間周波数変換部１１は、フレーム単位で各チャネルの周波数信号を算出する度に、各チャネルの周波数信号を複雑度算出部１２及び符号化部１４へ出力する。
【００１７】
複雑度算出部１２は、各フレームについて、チャネルごとのビットの割当量を決定するための指標となる、チャネルごとの周波数信号の複雑度を算出する。そのために、本実施形態では、複雑度算出部１２は、聴覚分析部１２１と、心理聴覚エントロピー算出部１２２とを有する。
【００１８】
聴覚分析部１２１は、フレームごとに、各チャネルの周波数信号を予め定められた帯域幅を持つ複数の帯域に分割し、帯域ごとのスペクトル電力及びマスキング閾値を算出する。そのために、聴覚分析部１２１は、例えば、ISO/IEC 13818-7:2006のAnnex CのC.1 Psychoacoustic Modelに記載された方法を用いることができる。なお、ISO/IEC 13818-7:2006は、国際標準化機構(International Organization for Standardization、ISO)と国際電気標準会議(International Electrotechnical Commission、IEC)とが共同で策定した国際規格の一つである。
【００１９】
聴覚分析部１２１は、例えば、次式に従って、各帯域のスペクトル電力を算出する。
【数２】
0005609591.tif 000003
ここで、specPowch[b](t)は、フレームtにおける、チャネルchの周波数帯域bのスペクトル電力である。またbw[b]は周波数帯域bの帯域幅を表す。
【００２０】
また聴覚分析部１２１は、周波数帯域ごとに、視聴者が聞くことができる音の周波数信号の下限となる電力を表すマスキング閾値を算出する。聴覚分析部１２１は、マスキング閾値として、例えば、周波数帯域ごとに予め設定された値を出力してもよい。
あるいは、聴覚分析部１２１は、人の聴覚特性に応じてマスキング閾値を算出してもよい。この場合、符号化対象のフレームの着目する周波数帯域についてのマスキング閾値は、符号化対象のフレームより前のフレームにおける同じ周波数帯域のスペクトル電力、及び符号化対象のフレームの隣接する周波数帯域のスペクトル電力が大きいほど高くなる。
聴覚分析部１２１は、例えば、ISO/IEC 13818-7:2006のAnnex CのC.1 Psychoacoustic ModelのC.1.4 Steps in Threshold Calculationの項に記載された閾値（マスキング閾値に相当）の算出処理に従って、マスキング閾値を算出できる。この場合、聴覚分析部１２１は、符号化対象のフレームの一つ前及び二つ前のフレームの周波数信号を利用して、マスキング閾値を算出する。そこで、聴覚分析部１２１は、符号化対象のフレームの一つ前及び二つ前のフレームの周波数信号を記憶するメモリ回路を有してもよい。
【００２１】
あるいは、聴覚分析部１２１は、Third Generation Partnership Project(3GPP) TS 26.403 V9.0.0 5.4.2 Threshold Calculationの項に記載されている方法に従ってマスキング閾値を算出してもよい。この場合、聴覚分析部１２１は、例えば、信号対ノイズ比に対する周波数帯域ごとのスペクトル電力の比として得られる閾値を、音声の拡散及びプリエコーなどを考慮して補正することによりマスキング閾値を算出する。
聴覚分析部１２１は、各フレームにおいて、チャネルごとに、各周波数帯域のスペクトル電力及びマスキング閾値を心理聴覚エントロピー算出部１２２へ出力する。
【００２２】
心理聴覚エントロピー算出部１２２は、各フレームにおいて、チャネルごとに、複雑度を表す指標として、心理聴覚エントロピー(Perceptual Entropy、PE)を例えば次式に従って算出する。PE値は、リスナーが雑音を知覚することがないようにそのフレームを量子化するために必要な情報量を表す。
【数３】
0005609591.tif 000004
ここで、specPowch[b](t)及びmaskPowch[b](t)は、それぞれ、フレームtにおける、チャネルchの周波数帯域bのスペクトル電力及びマスキング閾値である。またbw[b]は周波数帯域bの帯域幅を表し、Bは周波数スペクトル全体を分割した周波数帯域の総数を表す。そしてPEch(t)は、フレームtにおける、チャネルchのPE値である。
心理聴覚エントロピー算出部１２２は、各フレームにおいて算出したPE値をビット配分制御部１３へ出力する。
【００２３】
ビット配分制御部１３は、フレームごとに、各チャネルに割り当てる符号化された周波数信号のビット量の上限値である割当ビット量を決定し、その割当ビット量を符号化部１４へ通知する。そのために、ビット配分制御部１３は、ビット量決定部１３１と、推定誤り量算出部１３２と、係数更新部１３３とを有する。
【００２４】
ビット量決定部１３１は、チャネルごとに、複雑度と割当ビット量との関係を表す推定式に従って、割当ビット量を決定する。本実施形態では、複雑度の一例であるPE値と割当ビット量との関係を表す式は次式により表される。
【数４】
0005609591.tif 000005
ここでPEch(t)は、フレームtにおける、チャネルchのPE値である。またαch(t)は、チャネルchのフレームtにおける推定係数であり、正の値を持つ。したがって、ビット量決定部１３１は、チャネルの周波数信号の複雑度が高いほど、そのチャネルに割り当てられるビット数を多くする。αch(t)はチャネルごとに設定され、また後述するように、係数更新部１３３により更新される。
ビット量決定部１３１は、例えば、ビット量決定部１３１が有する、半導体メモリなどのメモリに各チャネルの推定係数を記憶する。そしてビット量決定部１３１は、その推定係数を用いて、フレームごとに、各チャネルの割当ビット量を求め、その割当ビット量を符号化部１４及び推定誤り量算出部１３２へ通知する。
【００２５】
推定誤り量算出部１３２は、符号化対象のフレームの所定数前のフレームについて、チャネルごとに、周波数信号を再生音質が所定の基準を満たすように符号化するのに要したビット量である未調整符号化ビット量に対する、割当ビット量の推定誤り量を算出する。この推定誤り量は、実際にオーディオ信号を符号化することにより初めて分かるものである。推定誤り量算出部１３２は、例えば、次式に従って推定誤り量を算出できる。
【数５】
0005609591.tif 000006
ここでpBitch(t-1)は、符号化対象フレームtの一つ前のフレーム(t-1)における、チャネルchの割当ビット量である。またrBitch(t-1)は、フレーム(t-1)における、チャネルchの未調整符号化ビット量である。そしてdiffch(t)は、符号化対象フレームtについて算出された、チャネルchの推定誤り量である。
【００２６】
あるいは、推定誤り量算出部１３２は、次式に従ってチャネルchの推定誤り量を算出してもよい。
【数６】
0005609591.tif 000007
推定誤り量算出部１３２は、各チャネルの推定誤り量及び未調整符号化ビット量を係数更新部１３３へ通知する。
【００２７】
係数更新部１３３は、各チャネルの推定誤り量に基づいて、推定係数を更新するか否かを決定し、かつ、推定係数が更新される場合には、推定誤り量が小さくなるように推定係数を修正する。
例えば、係数更新部１３３は、チャネルchの推定誤り量diffch(t)が所定の期間Tthに渡って連続して所定の誤り許容範囲から外れる場合、そのチャネルchの推定係数を修正する。所定の期間Tthは、例えば、割当ビット量が不適切であることに起因する再生音質の劣化をリスナーが知覚できない期間、例えば、1フレーム〜5フレームに設定される。例えば、符号化対象となるオーディオ信号が48kHzでサンプリングされており、1フレーム当たり1024個のサンプリング点が含まれている場合、期間Tthは、約20m秒〜約100m秒に相当する。
【００２８】
誤り許容範囲は、例えば、推定誤り量diffch(t)が（５）式に従ってrBitch(t-1)とpBitch(t-1)の差として算出されている場合、推定誤り量diffch(t)の絶対値が閾値Diffth以下となる範囲である。この場合、閾値Diffthは、略100〜略500内の何れかの値に設定される。また、推定誤り量diffch(t)が（６）式に従ってrBitch(t-1)とpBitch(t-1)の比として算出されている場合、誤り許容範囲は(1-Diffth)〜(1+Diffth)である。この場合、閾値Diffthは、例えば、略0.1〜略0.5内の何れかの値に設定される。
【００２９】
チャネルchについて、推定誤り量diffch(t)が所定期間以上連続して誤り許容範囲から外れている場合、係数更新部１３３は、推定誤り量が減少するように、例えば、次式に従って推定係数を修正する。
【数７】
0005609591.tif 000008
ここでαch(t)は、符号化対象フレームtのチャネルchの推定係数であり、αch(t-1)は、符号化対象フレームtの一つ前のフレーム(t-1)のチャネルchの推定係数である。またCorFacch(t)は傾き補正係数であり、例えば、次式に従って求められる。
【数８】
0005609591.tif 000009
あるいは、係数更新部１３３は、推定係数が急激に変動することを防止するために、（８）式に従って算出された傾き補正係数CorFacch(t)を、以下のように忘却係数及び前のフレームの傾き補正係数CorFacch(t-1)を用いて平滑化してもよい。
【数９】
0005609591.tif 000010
ここでpは忘却係数であり、例えば、0〜0.8内の何れかの値に設定される。（９）式から明らかなように、pが大きいほど、傾き補正係数の変化は緩やかになる。
【００３０】
なお、係数更新部１３３は、推定誤り量が誤り許容範囲から外れていないか、推定誤り量が誤り許容範囲から外れている期間が上記の所定期間に達していない場合、一つ前のフレームの推定係数αch(t-1)を符号化対象フレームの推定係数αch(t)とする。
係数更新部１３３は、フレームごとに、各チャネルの推定係数αch(t)をビット量決定部１３１へ通知する。
【００３１】
図２は、推定誤り量と推定係数の時間変化の一例を表す図である。図２における上側のグラフ２０１は、推定誤り量の時間変動を表し、下側のグラフ２０２は、推定係数の時間変動を表す。各グラフにおいて、横軸は時間を表す。また上側のグラフ２０１の縦軸は推定誤り量diffch(t)の値を表し、下側のグラフ２０２の縦軸は推定係数αch(t)の値を表す。この例では、推定誤り量は、（５）式に従って算出されているとする。
【００３２】
図２に示されるように、時刻t1以降、期間Tthの間、推定誤り量が閾値-Diffthを下回っている。すなわち、その期間中、チャネルchに対して割り当てられたビット量は、実際に必要な割当ビット量に対して過剰となっている。そのため、時刻t1から期間Tthが経過した時刻t2において、チャネルchに対する割当ビット量が減少するように、推定係数αch(t)はそれ以前における推定係数の値よりも小さな値に修正される。その後、時刻t2〜t3の間、推定誤り量は許容範囲内に収まっているので、時刻t3まで推定係数は修正されない。そして時刻t3以降、期間Tthの間、推定誤り量が閾値Diffthを上回っている。すなわち、その期間中、チャネルchに対して割り当てられたビット量は、実際に必要な割当ビット量に対して不足している。そのため、時刻t3から期間Tthが経過した時刻t4において、チャネルchに対する割当ビット量が増加するように、推定係数αch(t)はそれ以前における推定係数の値よりも大きな値に修正される。
【００３３】
図３は、ビット配分制御部１３により実行される推定係数更新処理の動作フローチャートである。ビット配分制御部１３は、各フレームについて、チャネルごとに、この動作フローチャートに従って推定係数の更新処理を実行する。
ビット配分制御部１３の推定誤り量算出部１３２は、符号化対象フレームtの一つ前のフレーム(t-1)における未調整符号化ビット量rBitch(t-1)と割当ビット量pBitth(t-1)を比較することにより、推定誤り量diffch(t)を算出する（ステップＳ１０１）。そして推定誤り量算出部１３２は、推定誤り量diffch(t)をビット配分制御部１３の係数更新部１３３へ通知する。
【００３４】
係数更新部１３３は、推定誤り量diffch(t)が誤り許容範囲内か否か判定する（ステップＳ１０２）。推定誤り量diffch(t)が誤り許容範囲内であれば（ステップＳ１０２−Ｙｅｓ）、係数更新部１３３は、推定誤り量diffch(t)が誤り許容範囲を超えている期間を表すカウンタcを0にリセットする（ステップＳ１０３）。そして係数更新部１３３は、推定係数を更新せずに、推定係数の更新処理を終了する。
【００３５】
一方、推定誤り量diffch(t)が誤り許容範囲から外れていれば（ステップＳ１０２−Ｎｏ）、係数更新部１３３は、カウンタcを1インクリメントする（ステップＳ１０４）。そして係数更新部１３３は、カウンタcが期間Tthに達したか否か判定する（ステップＳ１０５）。カウンタcが期間Tthに達していなければ（ステップＳ１０５−Ｎｏ）、係数更新部１３３は、推定係数を更新せずに、推定係数の更新処理を終了する。
一方、カウンタcが期間Tthに達していれば（ステップＳ１０５−Ｙｅｓ）、係数更新部１３３は、推定誤り量diffch(t)が小さくなるように推定係数を更新する（ステップＳ１０６）。そして係数更新部１３３は、推定係数の更新処理を終了する。
【００３６】
符号化部１４は、時間周波数変換部１１から出力された各チャネルの周波数信号を、ビット配分制御部１３により決定された割当ビット量以下となるように符号化する。本実施形態では、符号化部１４は、チャネルごとに、各周波数信号を量子化し、その量子化された周波数信号をエントロピー符号化する。
【００３７】
図４は、符号化部１４により実行される周波数信号符号化処理の動作フローチャートである。符号化部１４は、各フレームについて、チャネルごとに、この動作フローチャートに従って周波数信号を符号化する。
先ず、符号化部１４は、各周波数信号を量子化するための量子化幅を規定する量子化スケールの初期値を決定する（ステップＳ２０１）。例えば、符号化部１４は、再生音質が所定の基準を満たすように、量子化スケールの初期値を決定する。量子化スケールを決定するために、符号化部１４は、例えば、ISO/IEC 13818-7:2006のAnnex Cに記載された方法または3GPP TS26.403の5.6.2.1に記載された方法を用いることができる。例えば、3GPP TS26.403の5.6.2.1に記載された方法が用いられる場合、符号化部１４は、次式に従って量子化スケールの初期値を決定する。
【数１０】
0005609591.tif 000011
ここで、scalech[b](t)及びmaskPowch[b](t)は、それぞれ、フレームtにおける、チャネルchの周波数帯域bの量子化スケールの初期値及びマスキング閾値である。またbw[b]は周波数帯域bの帯域幅を表す。specch(t)iは、フレームtにおける、チャネルchのi番目の周波数信号である。床関数floor(x)は、変数x以下の最大の整数を返す関数である。
【００３８】
次に、符号化部１４は、決定された量子化スケールを用いて、例えば次式に従って周波数信号を量子化する（ステップＳ２０２）。
【数１１】
0005609591.tif 000012
ここでquantch(t)iは、フレームtにおける、チャネルchのi番目の周波数信号の量子化値である。またscalech[b](t)は、i番目の周波数信号が含まれる周波数帯域について算出された量子化スケールである。
【００３９】
符号化部１４は、各チャネルの周波数信号の量子化値及び量子化スケールを、ハフマン符号または算術符号といったエントロピー符号を用いてエントロピー符号化する（ステップＳ２０３）。そして符号化部１４は、チャネルごとに、エントロピー符号化された量子化値及び量子化スケールのビット数の合計totalBitch(t)を算出する（ステップＳ２０４）。ここで符号化部１４は、周波数信号の量子化に用いられた量子化スケールがその初期値か否か判定する（ステップＳ２０５）。量子化スケールが初期値であれば（ステップＳ２０５−Ｙｅｓ）、符号化部１４は、エントロピー符号の合計ビット数totalBitch(t)を未調整符号化ビット量rBitch(t)として、ビット配分制御部１３へ通知する（ステップＳ２０６）。
【００４０】
ステップＳ２０６の後、あるいは、ステップＳ２０５にて量子化スケールが初期値でない場合（ステップＳ２０５−Ｎｏ）、符号化部１４は、エントロピー符号の合計ビット数totalBitch(t)が割当ビット量pBitch(t)以下か否か判定する（ステップＳ２０７）。totalBitch(t)が割当ビット量pBitch(t)よりも多ければ（ステップＳ２０７−Ｎｏ）、符号化部１４は、量子化スケール値をより大きな値となるように修正する（ステップＳ２０８）。例えば、符号化部１４は、周波数帯域ごとの量子化スケール値を2倍にする。そして符号化部１４は、ステップＳ２０２以降の処理を再度実行する。
【００４１】
一方、エントロピー符号の合計ビット数totalBitch(t)が割当ビット量pBitch(t)以下であれば（ステップＳ２０７−Ｙｅｓ）、符号化部１４は、エントロピー符号をそのチャネルの符号化データとして多重化部１５へ出力する（ステップＳ２０９）。そして符号化部１４は、そのチャネルについての周波数信号の符号化処理を終了する。
【００４２】
なお、符号化部１４は、他の符号化方式を用いてもよい。符号化部１４は、例えば、Advanced Audio Coding(AAC)符号化方式に従って各チャネルの周波数信号を符号化してもよい。この場合、符号化部１４は、例えば、特開２００７−１８３５２８号公報に開示されている技術を利用できる。具体的には、符号化部１４は、PE値を算出するか、複雑度算出部１２からPE値を受け取る。PE値は、打楽器が発する音のようなアタック音など、信号レベルが短時間で変化する音に対して大きな値となる特性を持つ。そこで、符号化部１４は、PEの値が比較的大きくなるフレームに対しては、窓を短くし、PEの値が比較的小さくなるブロックに対しては、窓を長くする。例えば、短い窓は、256個のサンプルを含み、長い窓は、2048個のサンプルを含む。符号化部１４は、各チャネルの周波数信号を、時間周波数変換部１１で用いられた時間周波数変換の逆変換を用いて一旦周波数時間変換する。そして符号化部１４は、決定された長さを持つ窓を用いて各チャネルのステレオ信号に対して修正離散コサイン変換（Modified Discrete Cosine Transform、MDCT）を実行することにより、各チャネルの信号をMDCT係数の組に変換する。符号化部１４は、MDCT係数の組を、上記の量子化スケールを用いて量子化し、その量子化されたMDCT係数の組をエントロピー符号化する。その際、符号化部１４は、各チャネルの符号化ビット量が割当ビット量以下となるまで、量子化スケールを調整する。
【００４３】
さらに、符号化部１４は、チャネルごとに、周波数信号のうち、高周波数帯域に含まれる成分である高域成分を、Spectral Band Replication(SBR)符号化方式にしたがって符号化してもよい。
例えば、符号化部１４は、特開２００８−２２４９０２号公報に開示されているように、SBR符号化の対象となる高域成分と強い相関のある各チャネルの周波数信号の低域成分を複製する。なお、低域成分は、符号化部１４が符号化対象とする高域成分が含まれる高周波数帯域よりも低い低周波数帯域に含まれる各チャネルの周波数信号であり、例えば、上記のAAC符号化方式に従って符号化される。そして符号化部１４は、複製された高域成分の電力を、元の高域成分の電力と一致するように調整する。また符号化部１４は、元の高域成分のうち、低域成分との差異が大きく、低域成分を複写しても、高域成分を近似できない成分を補助情報とする。そして符号化部１４は、複製に利用された低域成分と対応する高域成分の位置関係を表す情報と、電力調整量と補助情報を量子化することにより符号化する。この場合も、符号化部１４は、各チャネルの符号化ビット量が割当ビット量以下となるまで、低域成分の信号の量子化に用いられる量子化スケールと、電力調整量と補助情報に対する量子化スケールを調整する。
また、符号化部１４は、量子化された周波数信号などをエントロピー符号化する代わりに、データ量を圧縮できる他の符号化方法を用いて符号化してもよい。
【００４４】
多重化部１５は、符号化部１４によって生成されたエントロピー符号を所定の順序に従って配列することにより多重化する。そして多重化部１５は、その多重化により生成された符号化オーディオ信号を出力する。
図５は、符号化されたオーディオ信号が格納されたデータ形式の一例を示す図である。この例では、符号化されたオーディオ信号は、MPEG-4 ADTS(Audio Data Transport Stream)形式に従って作成される。図５に示される符号化データ列５００において、データブロック５１０内に、チャネルごとのエントロピー符号が格納される。またデータブロック５１０の前に、ADTS形式のヘッダ情報５２０が格納される。
【００４５】
図６は、オーディオ符号化処理の動作フローチャートである。なお、図６に示されたフローチャートは、１フレーム分のオーディオ信号に対する処理を表す。オーディオ符号化装置１は、オーディオ信号を受信し続けている間、フレームごとに図６に示されたオーディオ符号化処理の手順を繰り返し実行する。
【００４６】
時間周波数変換部１１は、各チャネルの信号を周波数信号に変換する（ステップＳ３０１）。時間周波数変換部１１は、各チャネルの周波数信号を複雑度算出部１２及び符号化部１４へ出力する。複雑度算出部１２は、チャネルごとに複雑度を算出する（ステップＳ３０２）。上記のように、本実施形態では、複雑度算出部１２は、複雑度として、各チャネルのPE値を算出する。そして複雑度算出部１２は、各チャネルのPE値をビット配分制御部１３へ出力する。
【００４７】
ビット配分制御部１３は、チャネルごとに、複雑度と割当ビット量の関係式を規定する推定係数αch(t)を、既に符号化されたフレームについての未調整符号化ビット量rBitch(t-1)及び割当ビット量pBitch(t-1)に基づいて更新する（ステップＳ３０３）。ビット配分制御部１３は、チャネルごとに、推定係数αch(t)を用いて、複雑度が高くなるほど割当ビット量pBitch(t)も多くなるように割当ビット量pBitch(t)を決定する（ステップＳ３０４）。そしてビット配分制御部１３は、各チャネルの割当ビット量pBitch(t)を符号化部１４へ通知する。
【００４８】
符号化部１４は、チャネルごとに、符号化ビット量が割当ビット量以下となるように、各周波数信号を量子化し、量子化された周波数信号及び量子化に用いた量子化スケールをエントロピー符号化する（ステップＳ３０５）。そして符号化部１４は、エントロピー符号を多重化部１５へ出力する。多重化部１５は、各チャネルのエントロピー符号を所定の順序に従って配列することにより多重化する（ステップＳ３０６）。そして多重化部１５は、その多重化により生成された符号化オーディオ信号を出力する。そしてオーディオ符号化装置１は、符号化処理を終了する。
【００４９】
表１に、4音源の5.1チャネルオーディオ信号を、ビットレート160kbpsでMPEG Surround方式(ISO/IEC 23003-1)に従って符号化した場合における、本実施形態による各チャネルへのビット割当を行った場合と行わない場合の再生音質の評価値を示す。
【表１】
0005609591.tif 000013
表１において、上から順に、各行には、本実施形態による割当ビット量の調整が実施されていない場合、調整が実施された場合のObjective Difference Grade(ODG)のチャネル平均値、及び本実施形態によるODG値の改善度を表す。このODG値は、ITU-R勧告BS.1387-1にて規格化された客観評価技術であるPerceived Evaluation of Audio Quality(PEAQ)法により算出され、値が0に近いほど音質がよいことを表す。表１に示されるように、本実施形態による割当ビット量の調整が実施されることにより、ODG値が0.14ポイント改善することが分かった。この改善度は、ビットレートを10kbps増やしたのと同程度の改善度である。
【００５０】
以上に説明してきたように、第１の実施形態によるオーディオ符号化装置は、既に符号化されたフレームについて未調整符号化ビット量に対する割当ビット量の推定誤り量を推定係数を更新するための指標として求める。そのため、このオーディオ符号化装置は、符号化ビット量を正確に推定できるので、各チャネルに適切に符号化ビット量を割り当てることができる。したがって、このオーディオ符号化装置は、再生されるオーディオ信号の音質劣化を抑制することができる。また、このオーディオ符号化装置は、一旦符号化されたフレームを復号しないので、推定係数の更新による演算量を抑制できる。
【００５１】
次に、第２の実施形態によるオーディオ符号化装置について説明する。
第２の実施形態によれば、ビット配分制御部は、符号化対象フレームの一つ前のフレームにおける、符号化部で決定された量子化スケールの初期値と符号化完了時の量子化スケールとの差または比に応じて推定誤り量を算出する。なお、この実施形態によるオーディオ符号化装置の構成は、図１に示される上記の実施形態のオーディオ符号化装置の構成と同一である。またこの実施形態によるオーディオ符号化装置は、上記のオーディオ符号化装置と比較して、ビット配分制御部１３及び符号化部１４で実行される処理のみが異なる。
【００５２】
図７及び図８は、第２の実施形態によるオーディオ符号化装置の符号化部１４による周波数信号の符号化処理の動作フローチャートである。符号化部１４は、各フレームについて、チャネルごとに、この動作フローチャートに従って周波数信号を符号化する。
先ず、符号化部１４は、各周波数信号を量子化するための量子化幅を規定する量子化スケールの初期値を決定する（ステップＳ４０１）。例えば、符号化部１４は、上記の実施形態と同様に、（１０）式に従って量子化スケールの初期値を決定する。次に、符号化部１４は、決定された量子化スケールを用いて、例えば（１１）式に従って周波数信号を量子化する（ステップＳ４０２）。符号化部１４は、各チャネルの周波数信号の量子化値及び量子化スケールを、エントロピー符号化する（ステップＳ４０３）。そして符号化部１４は、チャネルごとに、エントロピー符号化された量子化値及び量子化スケールのビット数の合計totalBitch(t)を算出する（ステップＳ４０４）。ここで符号化部１４は、量子化に用いられた量子化スケールがその初期値か否か判定する（ステップＳ４０５）。量子化スケールが初期値であれば（ステップＳ４０５−Ｙｅｓ）、符号化部１４は、エントロピー符号の合計ビット数totalBitch(t)が割当ビット量pBitch(t)以下か否か判定する（ステップＳ４０６）。totalBitch(t)が割当ビット量pBitch(t)より多ければ（ステップＳ４０６−Ｎｏ）、符号化部１４は、符号化ビット数を減少させるため、量子化スケール値を大きくする（ステップＳ４０７）。例えば、符号化部１４は、周波数帯域ごとの量子化スケール値を2倍にする。また符号化部１４は、量子化スケールを大きくする方に調整するか、あるいは小さくする方に調整するかを表すスケールフラグsfを、大きくすることを表す値に設定する。そして符号化部１４は、量子化スケールの初期値及びスケールフラグsfを、符号化部１４が有するメモリに記憶する。
【００５３】
一方、エントロピー符号の合計ビット数totalBitch(t)が割当ビット量pBitch(t)以下であれば（ステップＳ４０６−Ｙｅｓ）、符号化部１４は、符号化ビット数を増やせるか確認するために、量子化スケール値を小さくする（ステップＳ４０８）。例えば、符号化部１４は、周波数帯域ごとの量子化スケール値を1/2倍にする。また符号化部１４は、スケールフラグsfを、量子化スケールを小さくすることを表す値に設定する。そして符号化部１４は、量子化スケールの初期値及びスケールフラグsfを、符号化部１４が有するメモリに記憶する。ステップＳ４０７またはＳ４０８の後、符号化部１４は、ステップＳ４０２以降の処理を再度実行する。
【００５４】
ステップＳ４０５にて、量子化スケールが初期値でなければ（ステップＳ４０５−Ｎｏ）、図８に示されるように、符号化部１４は、メモリに記憶されているスケールフラグsfが量子化スケールを大きくすることを表す値か否か判定する（ステップＳ４０９）。スケールフラグsfが量子化スケールを大きくすることを表す値である場合（ステップＳ４０９−Ｙｅｓ）、符号化部１４は、エントロピー符号の合計ビット数totalBitch(t)が割当ビット量pBitch(t)以下か否か判定する（ステップＳ４１０）。totalBitch(t)がpBitch(t)より大きければ（ステップＳ４１０−Ｎｏ）、符号化部１４は、量子化スケール値を大きくする（ステップＳ４１１）。そして符号化部１４は、ステップＳ４０２以降の処理を再度実行する。
【００５５】
一方、totalBitch(t)がpBitch(t)以下であれば（ステップＳ４１０−Ｙｅｓ）、符号化部１４は、量子化スケールの初期値及び最新の量子化スケールの値をビット配分制御部１３へ通知する（ステップＳ４１２）。また符号化部１４は、最新の量子化スケール及び最新の量子化スケールを用いて量子化された周波数信号のエントロピー符号をそのチャネルの符号化データとして多重化部１５へ出力する（ステップＳ４１３）。そして符号化部１４は、そのチャネルについての周波数信号の符号化処理を終了する。
【００５６】
一方、ステップＳ４０９にてスケールフラグsfが量子化スケールを小さくすることを表す値である場合（ステップＳ４０９−Ｎｏ）、符号化部１４は、totalBitch(t)がpBitch(t)より多いか否か判定する（ステップＳ４１４）。totalBitch(t)がpBitch(t)以下であれば（ステップＳ４１４−Ｎｏ）、符号化部１４は、量子化スケール値を小さくする（ステップＳ４１５）。また符号化部１４は、修正前の量子化スケール値及びエントロピー符号をメモリに記憶する。そして符号化部１４は、ステップＳ４０２以降の処理を再度実行する。
【００５７】
一方、totalBitch(t)がpBitch(t)より多ければ（ステップＳ４１４−Ｙｅｓ）、符号化部１４は、量子化スケールの初期値及び１回前の量子化スケールの値をビット配分制御部１３へ通知する（ステップＳ４１６）。また符号化部１４は、１回前の量子化スケール及びその量子化スケールを用いて量子化された周波数信号のエントロピー符号をそのチャネルの符号化データとして多重化部１５へ出力する（ステップＳ４１７）。そして符号化部１４はそのチャネルについての周波数信号の符号化処理を終了する。
【００５８】
図９は、符号化完了時の量子化スケール及び量子化スケールの初期値と、量子化スケール、周波数信号の量子化信号値及びエントロピー符号化された量子化信号及び量子化スケールの符号化ビット量との関係を表す概念図である。
線９０１は、各周波数帯域の量子化スケールの初期値を表すグラフである。また線９０２、９０３は、符号化完了時における各周波数帯域の量子化スケールの値を表すグラフである。なお、横軸は周波数を表し、縦軸は量子化スケール値を表す。
【００５９】
割当ビット量よりも未調整符号化ビット量の方が多い場合、グラフ９０２に示されるように、符号化完了時の量子化スケール値が、量子化スケールの初期値よりも大きくなるように調整される。そのため、符号化完了時の量子化スケールの値が大きいほど、符号化完了時における各周波数信号の量子化値及び符号化ビット量は小さくなる。
逆に、割当ビット量よりも未調整符号化ビット量の方が少ない場合、グラフ９０３に示されるように、符号化完了時の量子化スケール値が、量子化スケールの初期値よりも小さくなるように調整される。そのため、符号化完了時の量子化スケールの値が小さいほど、符号化完了時における各周波数信号の量子化値及び符号化ビット量は大きくなる。
そこでビット配分制御部１３は、符号化完了時の量子化スケール値が量子化スケールの初期値よりも大きいほど、割当ビット量が多くなるように推定係数を更新することで、各チャネルに割り当てるビット量を最適化できる。
【００６０】
ビット配分制御部１３の推定誤り量算出部１３２は、チャネルごとに、一つ前のフレームにおける符号化完了時の量子化スケールlScalech(t-1)と量子化スケールの初期値fScalech(t-1)との差(lScalech(t-1)-fScalech(t-1))をスケール調整量dScalech(t)として算出する。なお、（１０）式が用いられる場合のように、量子化スケールが周波数帯域ごとに算出される場合、推定誤り量算出部１３２は、周波数帯域ごとの量子化スケールの初期値の平均値をfScalech(t-1)とする。同様に、推定誤り量算出部１３２は、周波数帯域ごとの符号化完了時の量子化スケールの値の平均値をlScalech(t-1)とする。
また、推定誤り量算出部１３２は、量子化スケールの初期値に対する符号化完了時の量子化スケールの比(lScalech(t-1)/fScalech(t-1))をスケール調整量dScalech(t)として算出してもよい。
【００６１】
推定誤り量算出部１３２はスケール調整量dScalech(t)と推定誤り量diffch(t)との関係式に基づいて、スケール調整量dScalech(t)に対する推定誤り量diffch(t)を決定する。なお、この関係式は、例えば、予め実験的に決定され、例えば、スケール調整量dScalech(t)が大きくなるほど推定誤り量diffch(t)も大きくなるように規定される。そしてその関係式は、予め推定誤り量算出部１３２が有するメモリに記憶される。
あるいは、スケール調整量dScalech(t)と推定誤り量diffch(t)との関係を表す参照テーブルが予め推定誤り量算出部１３２が有するメモリに記憶されていてもよい。この場合、推定誤り量算出部１３２は、その参照テーブルを参照して、スケール調整量dScalech(t)に対応する推定誤り量diffch(t)を決定する。
【００６２】
推定誤り量算出部１３２は、推定誤り量diffch(t)を係数更新部１３３へ通知する。そして係数更新部１３３は、第１の実施形態と同様の処理を行って推定係数を更新する。なお、この実施形態においては未調整符号化ビット量rBitch(t-1)がビット配分制御部１３へ通知されない。そこで、係数更新部１３３は、（８）式の代わりに次式に従って補正係数CorFacch(t)を算出する。
【数１２】
0005609591.tif 000014
【００６３】
このように、量子化スケールのスケール調整量は、符号化ビット量の推定誤り量を表す指標であるため、第２の実施形態によるオーディオ符号化装置も、各チャネルに割り当てるビット量を最適化できる。
【００６４】
次に、第３の実施形態によるオーディオ符号化装置について説明する。第３の実施形態によるオーディオ符号化装置は、フレームごとに、各チャネルに割り当てられる割当ビット量の合計が、例えば、転送レートなどによって決まる符号化ビット量の利用可能な上限値以下となるように、各チャネルの割当ビット量を調整する。
第３の実施形態によるオーディオ符号化装置は、第１または第２の実施形態によるオーディオ符号化装置と比較して、ビット配分制御部のビット量決定部の処理のみが異なる。そこで以下では、ビット量決定部のみを説明する。
【００６５】
ビット量決定部は、フレームごとに、各チャネルの割当ビット量の合計totalAllocatedBit(t)を算出する。なお、各チャネルの割当ビット量を決めるための推定係数は、第１または第２の実施形態の何れに基づいて更新されてもよい。そしてビット量決定部は、totalAllocatedBit(t)が、フレームtの符号化ビット量の上限値allowedBits(t)よりも大きい場合、各チャネルの割当ビット量の合計がallowedBits(t)以下となるように、次式に従って各チャネルの割当ビット量を修正する。
【数１３】
0005609591.tif 000015
ここで、pBitch'(t)は、修正後のチャネルchの割当ビット量である。またβchは、チャネルchの割当ビット量を決定するための係数である。
例えば、係数βchは、各チャネルに対して均等にビット数が割り当てられるよう、符号化対象となるオーディオ信号が有するチャネル数Nの逆数に設定される。
あるいは、係数βchは、チャネルごとに予め定められた比率に設定される。この場合、係数βchの合計が1となるように設定される。また、係数βchは、再生音質に対する影響が大きいチャネルほど、大きな値となるように設定されてもよい。
また、係数βchは、修正前の割当ビット量のチャネルごとの相対的な比率が維持されるように、次式に従って決定されてもよい。
【数１４】
0005609591.tif 000016
ここでpBitch(t)は、修正前のチャネルchに対する割当ビット量である。またNは、符号化対象となるオーディオ信号が有するチャネル数である。なお、ビット量決定部は、（１４）式において、pBitch(t)の代わりに各チャネルのPE値を用いてもよい。
【００６６】
このように、第３の実施形態によるオーディオ符号化装置は、利用可能なビットの上限値に合わせて各チャネルへの割当ビット量を最適化することができる。
【００６７】
次に、第４の実施形態によるオーディオ符号化装置について説明する。第４の実施形態によるオーディオ符号化装置は、推定誤り量を聴覚的な劣化を考慮して決定する。
第４の実施形態によるオーディオ符号化装置は、第１〜第３の実施形態によるオーディオ符号化装置と比較して、ビット配分制御部の推定誤り量算出部の処理のみが異なる。そこで以下では、推定誤り量算出部のみを説明する。
【００６８】
図１０は、第４の実施形態によるオーディオ符号化装置の推定誤り量算出部の概略構成図である。推定誤り量算出部１３２は、未補正推定誤り量算出部１３２１と、ノイズ対マスク比算出部１３２２と、重み係数決定部１３２３と、推定誤り量補正部１３２４とを有する。
【００６９】
未補正推定誤り量算出部１３２１は、第１の実施形態または第２の実施形態による推定誤り量算出部の処理と同様の処理を行って、チャネルごとに推定誤り量diffch(t)を算出する。そして未補正推定誤り量算出部１３２１は、各チャネルの推定誤り量diffch(t)を推定誤り量補正部１３２４へ出力する。
【００７０】
ノイズ対マスク比算出部１３２２は、符号化対象フレームtの一つ前のフレーム(t-1)の各チャネルの量子化誤差を算出する。そしてノイズ対マスク比算出部１３２２は、チャネルごとに量子化誤差とマスキング閾値との比NMRch(t-1)を算出する。この場合、ノイズ対マスク比算出部１３２２は、複雑度算出部１２から各チャネルのマスキング閾値を受け取って利用すればよい。また、量子化誤差は、符号化完了時における、符号化ビット数IBitch(t-1)に対する量子化スケールの符号化ビット数scaleBitch(t-1)の比が大きくなるほど単調増加することが知られている。そこで、例えば、比(scaleBitch(t-1)/IBitch(t-1))と量子化誤差Errch(t-1)との対応関係が予め実験などにより決定される。そして、比(scaleBitch(t-1)/IBitch(t-1))と量子化誤差Errch(t-1)との対応関係を表す参照テーブルがノイズ対マスク比算出部１３２２が有するメモリに予め記憶される。あるいは、ノイズ対マスク比算出部１３２２は、比(scaleBitch(t-1)/IBitch(t-1))と量子化誤差Errch(t-1)の関係を表す関係式に従って、比(scaleBitch(t-1)/IBitch(t-1))に対応する量子化誤差Errch(t-1)を決定してもよい。この場合、その関係式は、例えば、予め実験的により求められ、その関係式がノイズ対マスク比算出部１３２２が有するメモリに予め記憶される。ノイズ対マスク比算出部１３２２は、符号化部１４から符号化ビット数IBitch(t-1)に対する量子化スケールの符号化ビット数scaleBitch(t-1)を受け取ってその比(scaleBitch(t-1)/IBitch(t-1))を算出する。そしてノイズ対マスク比算出部１３２２は、参照テーブルまたは関係式を参照することにより、その比(scaleBitch(t-1)/IBitch(t-1))に対応する量子化誤差Errch(t-1)を決定する。
【００７１】
量子化誤差Errch(t-1)が決定されると、ノイズ対マスク比算出部１３２２は、次式に従ってNMRch(t-1)を算出する。
【数１５】
0005609591.tif 000017
なお、maskPowch(t-1)は、フレーム(t-1)におけるチャネルchの各周波数帯域のマスキング閾値の合計である。
ノイズ対マスク比算出部１３２２は、各チャネルのNMRch(t-1)を重み係数決定部１３２３へ通知する。
【００７２】
重み係数決定部１３２３は、チャネルごとに、NMRch(t-1)に基づいて、推定誤り量に乗じる重み係数wchを決定する。
ここで、NMRch(t-1)が正の値を持つ場合、すなわち、量子化誤差が各周波数帯域のマスキング閾値の合計よりも大きい場合、リスナーが量子化誤差を再生音質の劣化として知覚できるほど量子化誤差が大きい。そこで重み係数決定部１３２３は、NMRch(t-1)が正の値を持つ場合、量子化誤差を小さくするよう割当ビット量を増やすために、NMRch(t-1)が大きくなるほど重み係数wchを大きくする。
【００７３】
一方、NMRch(t-1)が負の値を持つ場合、すなわち、量子化誤差が各周波数帯域のマスキング閾値の合計よりも小さい場合、リスナーは量子化誤差を再生音質の劣化として知覚できない。したがって、このチャネルに割り当てられた符号化ビット量は過剰であると推定される。そこで重み係数決定部１３２３は、NMRch(t-1)が負の値を持つ場合、割当ビット量を削減するために、NMRch(t-1)が小さくなるほど重み係数wchを小さくする。また、重み係数決定部１３２３は、NMRch(t-1)が負の値を持つ場合、重み係数wchを0に設定してもよい。
【００７４】
なお、重み係数wchを決定するために、NMRch(t-1)と重み係数wchの関係を表す参照テーブルが予め重み係数決定部１３２３が有するメモリに記憶されていてもよい。そして重み係数決定部１３２３は、その参照テーブルを参照することで、NMRch(t-1)に対応する重み係数wchを決定する。あるいは、重み係数決定部１３２３は、NMRch(t-1)と重み係数wchの関係を表す関係式に従って、NMRch(t-1)に対応する重み係数wchを決定してもよい。この場合、その関係式は、例えば、予め実験的により求められ、その関係式（例えば、下に凸で、NMRch(t-1)が0のときに最小値を持つ２次元関数）が重み係数決定部１３２３が有するメモリに予め記憶される。
重み係数決定部１３２３は、各チャネルの重み係数を推定誤り量補正部１３２４へ出力する。
【００７５】
推定誤り量補正部１３２４は、チャネルごとに、未補正推定誤り量算出部１３２１で算出された推定誤り量diffch(t)に重み係数wchを乗じることで、補正された推定誤り量diffch'(t)を求め、その補正された推定誤り量diffch'(t)を係数更新部１３３へ出力する。係数更新部１３３は、補正された推定誤り量diffch'(t)に基づいて推定係数を更新する。そして係数更新部１３２は、補正された推定誤り量diffch'(t)に基づいて更新された推定係数を用いて割当ビット量を決定する。また、ビット量決定部１３１は、第３の実施形態と同様に、各チャネルの割当ビット量の合計が利用可能なビット量の上限値以下となるように各チャネルの割当ビット量を修正してもよい。
【００７６】
このように、第４の実施形態によるオーディオ符号化装置は、量子化誤差による心理聴覚的な音質の劣化を考慮して各チャネルの割当ビット量を決定するので、各チャネルへの割当ビットをより最適化することができる。
【００７７】
また、上記の各実施形態において、オーディオ信号が複数のチャネルを持つ場合、符号化部は、複数のチャネルの周波数信号をダウンミックスして得られた信号を符号化してもよい。この場合、オーディオ符号化装置は、時間周波数変換部により求められた複数のチャネルの周波数信号をダウンミックスするとともに、各チャネルの周波数信号間の類似度及び強度差といった空間情報を求めるダウンミックス部をさらに有する。そして複雑度算出部及びビット配分制御部は、ダウンミックス部により得られた、ダウンミックスされた周波数信号ごとに、複雑度及び割当ビット量を求めてもよい。さらに、符号化部は、空間情報も符号化する。例えば、符号化部は、ISO/IEC 23003-1:2007に記載された方法を用いて空間情報を符号化できる。
【００７８】
また、ビット配分制御部の係数更新部は、符号化対象のフレームについての推定係数を更新するための基準となるフレームとして、一つ前のフレームの代わりに、数フレーム前のフレームを用いてもよい。この場合、係数更新部は、傾き補正係数を算出するために、例えば、（８）式または（１２）式において、数フレーム前の割当ビット量、未調整符号化ビット量及び推定誤り量を用いればよい。
【００７９】
上記の各実施形態におけるオーディオ符号化装置が有する各部の機能をコンピュータに実現させるコンピュータプログラムは、半導体メモリ、磁気記録媒体または光記録媒体などの記録媒体に記憶された形で提供されてもよい。
【００８０】
また、上記の各実施形態におけるオーディオ符号化装置は、コンピュータ、ビデオ信号の録画機または映像伝送装置など、オーディオ信号を伝送または記録するために利用される各種の機器に実装される。
【００８１】
図１１は、上記の何れかの実施形態に係るオーディオ符号化装置が組み込まれた映像伝送装置の概略構成図である。映像伝送装置１００は、映像取得部１０１と、音声取得部１０２と、映像符号化部１０３と、オーディオ符号化部１０４と、多重化部１０５と、通信処理部１０６と、出力部１０７とを有する。
【００８２】
映像取得部１０１は、動画像信号をビデオカメラなどの他の装置から取得するためのインターフェース回路を有する。そして映像取得部１０１は、映像伝送装置１００に入力された動画像信号を映像符号化部１０３へ渡す。
【００８３】
音声取得部１０２は、オーディオ信号をマイクロフォンなどの他の装置から取得するためのインターフェース回路を有する。そして音声取得部１０２は、映像伝送装置１００に入力されたオーディオ信号をオーディオ符号化部１０４へ渡す。
【００８４】
映像符号化部１０３は、動画像信号のデータ量を圧縮するために、動画像信号を符号化する。そのために、映像符号化部１０３は、例えば、MPEG-2、MPEG-4、H.264 MPEG-4 Advanced Video Coding（H.264 MPEG-4 AVC）などの動画像符号化規格に従って動画像信号を符号化する。そして映像符号化部１０３は、符号化動画像データを多重化部１０５へ出力する。
【００８５】
オーディオ符号化部１０４は、上記の何れかの実施形態のオーディオ符号化装置を有する。そしてオーディオ符号化部１０４は、上記の何れかの実施形態に従って、オーディオ信号を符号化する。そしてオーディオ符号化部１０４は、符号化オーディオデータを多重化部１０５へ出力する。
【００８６】
多重化部１０５は、符号化動画像データと符号化オーディオデータを多重化する。そして多重化部１０５は、MPEG-2トランスポートストリームなどの映像データの伝送用の所定の形式に従ったストリームを作成する。
多重化部１０５は、符号化動画像データと符号化オーディオデータが多重化されたストリームを通信処理部１０６へ出力する。
【００８７】
通信処理部１０６は、符号化動画像データと符号化オーディオデータが多重化されたストリームを、TCP/IPなどの所定の通信規格にしたがったパケットに分割する。また通信処理部１０６は、各パケットに、宛先情報などが格納された所定のヘッダを付す。そして通信処理部１０６は、パケットを出力部１０７へ渡す。
【００８８】
出力部１０７は、映像伝送装置１００を通信回線に接続するためのインターフェース回路を有する。そして出力部１０７は、通信処理部１０６から受け取ったパケットを通信回線へ出力する。
【００８９】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【００９０】
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
（付記１）
オーディオ信号に含まれる少なくとも一つのチャネルの信号を所定の時間長を持つフレーム単位で時間周波数変換することにより、前記チャネルの信号を、周波数信号に変換する時間周波数変換部と、
前記少なくとも一つのチャネルごとに前記周波数信号の複雑度を算出する複雑度算出部と、
前記少なくとも一つのチャネルごとに、当該チャネルの複雑度が大きいほど当該チャネルに割り当てる割当ビット量も多くなるように当該割当ビット量を決定するとともに、所定数前のフレームについて再生音質が所定の基準を満たすように前記周波数信号を符号化した場合の未調整符号化ビット量に対する前記割当ビット量の推定誤り量が大きいほど前記割当ビット量を増加させるビット配分制御部と、
各チャネルの前記周波数信号を、当該チャネルの前記割当ビット量以下となるように符号化する符号化部と、
を有するオーディオ符号化装置。
（付記２）
前記符号化部は、前記所定数前のフレームについて、再生音質が前記基準を満たす第１の量子化スケールで前記周波数信号を量子化し、量子化された前記周波数信号及び前記第１の量子化スケールを所定の符号化方式に従って符号化することにより得られた符号化ビット量を前記未調整符号化ビット量として算出し、かつ、前記周波数信号を第２の量子化スケールにて量子化し、当該第２の量子化スケール及び量子化された前記周波数信号を所定の符号化方式に従って符号化することにより得られた符号化ビット量が前記割当ビット量以下となるように前記第２の量子化スケールを決定し、
前記ビット配分制御部は、前記所定数前のフレームについての前記未調整符号化ビット量と前記割当ビット量との差または前記未調整符号化ビット量に対する前記割当ビット量の比を前記推定誤り量として算出する、付記１に記載のオーディオ符号化装置。
（付記３）
前記符号化部は、前記所定数前のフレームについて、再生音質が前記基準を満たす第１の量子化スケールと、前記周波数信号を第２の量子化スケールにて量子化し、当該第２の量子化スケール及び量子化された前記周波数信号を所定の符号化方式に従って符号化することにより得られた符号化ビット量が前記割当ビット量以下となるように前記第２の量子化スケールとを決定し、
前記ビット配分制御部は、前記第１の量子化スケールよりも前記第２の量子化スケールが大きいほど前記推定誤り量も大きい値とする、付記１に記載のオーディオ符号化装置。
（付記４）
前記ビット配分制御部は、前記所定数前のフレームにおける、前記符号化部が前記第２の量子化スケールを用いて前記周波数信号を量子化した場合の量子化誤差が、リスナーが再生音質の劣化を知覚できない前記周波数信号の電力の上限よりも大きいほど、前記推定誤り量がより大きな値となるように前記推定誤り量を補正する、付記２または３に記載のオーディオ符号化装置。
（付記５）
前記オーディオ信号は、２以上のチャネルを含み、
前記ビット配分制御部は、前記２以上のチャネルのそれぞれに対する前記割当ビット量の合計が利用可能なビット量の上限以下となるように、前記２以上のチャネルのそれぞれに対して前記割当ビット量を設定する、付記１〜４の何れか一項に記載のオーディオ符号化装置。
（付記６）
前記複雑度は心理聴覚エントロピーである、付記１〜５の何れか一項に記載のオーディオ符号化装置。
（付記７）
前記ビット配分制御部は、前記少なくとも一つのチャネルごとに、当該チャネルの前記複雑度に当該チャネルについて決定された推定係数を乗じた値に基づいて前記割当ビット量を決定し、
１以上の所定数のフレームに渡って前記推定誤り量が所定の許容範囲から外れた場合に前記推定係数を更新する、付記１〜６の何れか一項に記載のオーディオ符号化装置。
（付記８）
オーディオ信号に含まれる少なくとも一つのチャネルの信号を所定の時間長を持つフレーム単位で時間周波数変換することにより、前記チャネルの信号を、周波数信号に変換し、
前記少なくとも一つのチャネルごとに前記周波数信号の複雑度を算出し、
前記少なくとも一つのチャネルごとに、当該チャネルの複雑度が大きいほど当該チャネルに割り当てる割当ビット量も多くなるように当該割当ビット量を決定するとともに、所定数前のフレームについて再生音質が所定の基準を満たすように前記周波数信号を符号化した場合の未調整符号化ビット量に対する前記割当ビット量の推定誤り量が大きいほど前記割当ビット量を増加させ、
各チャネルの前記周波数信号を、当該チャネルの前記割当ビット量以下となるように符号化する、
ことを含むオーディオ符号化方法。
（付記９）
オーディオ信号に含まれる少なくとも一つのチャネルの信号を所定の時間長を持つフレーム単位で時間周波数変換することにより、前記チャネルの信号を、周波数信号に変換し、
前記少なくとも一つのチャネルごとに前記周波数信号の複雑度を算出し、
前記少なくとも一つのチャネルごとに、当該チャネルの複雑度が大きいほど当該チャネルに割り当てる割当ビット量も多くなるように当該割当ビット量を決定するとともに、所定数前のフレームについて再生音質が所定の基準を満たすように前記周波数信号を符号化した場合の未調整符号化ビット量に対する前記割当ビット量の推定誤り量が大きいほど前記割当ビット量を増加させ、
各チャネルの前記周波数信号を、当該チャネルの前記割当ビット量以下となるように符号化する、
ことをコンピュータに実行させるオーディオ符号化用コンピュータプログラム。
（付記１０）
入力された動画像信号を符号化する動画像符号化部と、
入力された少なくとも一つのチャネルを持つオーディオ信号を符号化するオーディオ符号化部であって、
前記少なくとも一つのチャネルの信号を所定の時間長を持つフレーム単位で時間周波数変換することにより、前記チャネルの信号を、周波数信号に変換する時間周波数変換部と、
前記少なくとも一つのチャネルごとに前記周波数信号の複雑度を算出する複雑度算出部と、
前記少なくとも一つのチャネルごとに、当該チャネルの複雑度が大きいほど当該チャネルに割り当てる割当ビット量も多くなるように当該割当ビット量を決定するとともに、所定数前のフレームについて再生音質が所定の基準を満たすように前記周波数信号を符号化した場合の未調整符号化ビット量に対する前記割当ビット量の推定誤り量が大きいほど前記割当ビット量を増加させるビット配分制御部と、
各チャネルの前記周波数信号を、当該チャネルの前記割当ビット量以下となるように符号化する符号化部と、を有するオーディオ符号化部と、
前記動画像符号化部により符号化された動画像信号と前記オーディオ符号化部により符号化されたオーディオ信号を多重化することにより映像ストリームを生成する多重化部と、
を有する映像伝送装置。
【符号の説明】
【００９１】
１    オーディオ符号化装置
１１    時間周波数変換部
１２    複雑度算出部
１２１    聴覚分析部
１２２    心理聴覚エントロピー算出部
１３    ビット配分制御部
１３１    ビット量決定部
１３２    推定誤り量算出部
１３２１    未補正推定誤り量算出部
１３２２    ノイズ対マスク比算出部
１３２３    重み係数決定部
１３２４    推定誤り量補正部
１３３    係数更新部
１４    符号化部
１５    多重化部
１００    映像伝送装置
１０１    映像取得部
１０２    音声取得部
１０３    映像符号化部
１０４    オーディオ符号化部
１０５    多重化部
１０６    通信処理部
１０７    出力部
【図１】
0005609591.tif 000018
【図２】
0005609591.tif 000019
【図３】
0005609591.tif 000020
【図４】
0005609591.tif 000021
【図５】
0005609591.tif 000022
【図６】
0005609591.tif 000023
【図７】
0005609591.tif 000024
【図８】
0005609591.tif 000025
【図９】
0005609591.tif 000026
【図１０】
0005609591.tif 000027
【図１１】
0005609591.tif 000028