(57)【要約】【課題】最適符号帳決定処理全体の処理速度の向上を図る。【解決手段】２種類のハフマン符号帳を統合し、８ビット定義の符号語長を格納した１６ビット幅符号語長テーブル３４と、１６ビット定義の符号語長を格納した３２ビット幅符号語長テーブル３３と、サブバンド内の量子化値が３２本以下の場合、１６ビット幅符号語長テーブル３４から符号帳毎の符合語長を一括取得する符号語長算出部１８と、サブバンド内の全ての量子化値に関わる符号帳毎の符合語長の累積加算が完了すると、このサブバンド単位の符号帳毎の符合語長の累積加算結果の内、最小の累積加算結果の符号語長の符号帳を決定し、この決定した符号帳に基づき、このサブバンド内の量子化値を符号化する符号化部１９とを有する。【選択図】図１
2010034794.tif 000002
【特許請求の範囲】
【請求項１】
オーディオ信号を周波数スペクトル変換して非線形量子化した量子化値をサブバンド単位に分割するサブバンド分割部と、
インデックス番号毎にハフマン符号化後の符号語長を管理した複数種類の符号帳の内、所定の組合せの符号帳を統合し、共通化したインデックス番号毎に、所定ビット数で定義した各符号帳の符合語長を格納した符号語長テーブル及び、前記所定ビット数よりも少ないビット数で定義した各符号帳の符号語長を格納した符号語長テーブルを複数備えた統合符号語長テーブルと、
前記サブバンド分割部にて分割した前記サブバンド内の全量子化値の内、最大絶対値の量子化値に対応する前記所定の組合せの符号帳を前記複数種類の符号帳から選択する符号帳選択部と、
この符号帳選択部にて選択した前記所定の組合せの符号帳に関わる複数の符号語長テーブルの内、任意の符号語長テーブルを選択する符号語長テーブル選択部と、
前記サブバンド分割部にて分割した前記サブバンド内の量子化値を所定本数単位で順次抽出する度に、抽出した量子化値に基づき、前記符号帳選択部にて選択した符号帳で使用するインデックス値を順次算出するインデックス値算出部と、
このインデックス値算出部にて順次算出したインデックス値に基づき、前記符号語長テーブル選択部にて選択した前記符号語長テーブルから符号帳毎の符号語長を一括取得し、これら一括取得した符号語長を符号帳毎に累積加算する符号語長算出部と、
この符号語長算出部にて前記サブバンド内の全ての量子化値に関わる符号帳毎の符合語長の累積加算が完了すると、このサブバンド単位の符号帳毎の符合語長の累積加算結果の内、最小の累積加算結果の符号語長の符号帳を決定し、この決定した符号帳に基づき、このサブバンド内の量子化値を符号化する符号化部とを有することを特徴とするオーディオ符号化装置。
【請求項２】
前記符号語長テーブル選択部は、
前記サブバンド内の量子化値の本数に基づき、前記符号帳選択部にて選択した前記所定の組合せの符号帳に関わる複数の符号語長テーブルの内、任意の符号語長テーブルを選択することを特徴とする請求項１記載のオーディオ符号化装置。
【請求項３】
前記符号語長テーブル選択部は、
前記符号帳選択部にて選択した前記所定の組合せの符号帳に関わる複数の符号語長テーブルの内、所定の操作に応じて、任意の符号語長テーブルを選択することを特徴とする請求項１記載のオーディオ符号化装置。
【請求項４】
前記複数の符号語長テーブルは、
上位１６ビット幅で第１の符号帳に関わる１６ビットで定義した符号語長を格納すると共に、下位１６ビット幅で第２の符号帳に関わる１６ビットで定義した符号語長を格納する３２ビット幅符号語長テーブルと、
上位８ビット幅で第１の符号帳に関わる８ビットで定義した符号語長を格納すると共に、下位８ビット幅で第２の符号帳に関わる８ビットで定義した符号語長を格納する１６ビット幅符号語長テーブルとを含むことを特徴とする請求項１〜３の何れか一に記載のオーディオ符号化装置。
【請求項５】
前記符号語長テーブル選択部は、
前記サブバンド内の量子化値の本数が所定本数以下の場合、前記符号帳選択部にて選択した前記所定の組合せの符号帳に関わる前記１６ビット幅符号語長テーブルを自動選択することを特徴とする請求項４記載のオーディオ符号化装置。
【請求項６】
前記符号語長テーブル選択部は、
前記オーディオ信号の周波数帯域幅が所定周波数帯域よりも狭い場合、前記符号帳選択部にて選択した前記所定の組合せの符号帳に関わる前記１６ビット幅符号語長テーブルを自動選択することを特徴とする請求項４記載のオーディオ符号化装置。
【請求項７】
前記所定の組合せは、
ＭＰＥＧ−ＡＡＬ規格で使用するハフマン符号帳“１”及びハフマン符号帳“２”の組合せ、ハフマン符号帳“３”及びハフマン符号帳“４”の組合せ、ハフマン符号帳“５”及びハフマン符号帳“６”の組合せ、ハフマン符号帳“７”及びハフマン符号帳“８”の組合せ、ハフマン符号帳“９”及びハフマン符号帳“１０”の組合せの何れかに相当することを特徴とする請求項１〜６の何れか一に記載のオーディオ符号化装置。
【請求項８】
オーディオ信号を周波数スペクトル変換して非線形量子化した量子化値をサブバンド単位に分割するサブバンド分割手順と、
インデックス番号毎にハフマン符号化後の符号語長を管理した複数種類の符号帳の内、所定の組合せの符号帳を統合し、共通化したインデックス番号毎に、所定ビット数で定義した各符号帳の符合語長を格納した符号語長テーブル及び、前記所定ビット数よりも少ないビット数で定義した各符号帳の符号語長を格納した符号語長テーブルを複数備えた統合符号語長テーブルを準備するテーブル準備手順と、
前記サブバンド分割手順にて分割した前記サブバンド内の全量子化値の内、最大絶対値の量子化値に対応する前記所定の組合せの符号帳を前記複数種類の符号帳から選択する符号帳選択手順と、
この符号帳選択手順にて選択した前記所定の組合せの符号帳に関わる複数の符号語長テーブルの内、任意の符号語長テーブルを選択する符号語長テーブル選択手順と、
前記サブバンド分割手順にて分割した前記サブバンド内の量子化値を所定本数単位で順次抽出する度に、抽出した量子化値に基づき、前記符号帳選択手順にて選択した符号帳で使用するインデックス値を順次算出するインデックス値算出手順と、
このインデックス値算出手順にて順次算出したインデックス値に基づき、前記符号語長テーブル選択手順にて選択した前記符号語長テーブルから符号帳毎の符号語長を一括取得し、これら一括取得した符号語長を符号帳毎に累積加算する符号語長算出手順と、
この符号語長算出手順にて前記サブバンド内の全ての量子化値に関わる符号帳毎の符合語長の累積加算が完了すると、このサブバンド単位の符号帳毎の符合語長の累積加算結果の内、最小の累積加算結果の符号語長の符号帳を決定し、この決定した符号帳に基づき、このサブバンド内の量子化値を符号化する符号化手順とを含むプログラムを端末装置に実行させることを特徴とするオーディオ符号化プログラム。
【請求項９】
前記符号語長テーブル選択手順は、
前記サブバンド内の量子化値の本数に基づき、前記符号帳選択手順にて選択した前記所定の組合せの符号帳に関わる複数の符号語長テーブルの内、任意の符号語長テーブルを選択することを特徴とする請求項８記載のオーディオ符号化プログラム。
【請求項１０】
オーディオ信号を周波数スペクトル変換して非線形量子化した量子化値をサブバンド単位に分割するサブバンド分割ステップと、
インデックス番号毎にハフマン符号化後の符号語長を管理した複数種類の符号帳の内、所定の組合せの符号帳を統合し、共通化したインデックス番号毎に、所定ビット数で定義した各符号帳の符合語長を格納した符号語長テーブル及び、前記所定ビット数よりも少ないビット数で定義した各符号帳の符号語長を格納した符号語長テーブルを複数備えた統合符号語長テーブルを準備するテーブル準備ステップと、
前記サブバンド分割ステップにて分割した前記サブバンド内の全量子化値の内、最大絶対値の量子化値に対応する前記所定の組合せの符号帳を前記複数種類の符号帳から選択する符号帳選択ステップと、
この符号帳選択ステップにて選択した前記所定の組合せの符号帳に関わる複数の符号語長テーブルの内、任意の符号語長テーブルを選択する符号語長テーブル選択ステップと、
前記サブバンド分割ステップにて分割した前記サブバンド内の量子化値を所定本数単位で順次抽出する度に、抽出した量子化値に基づき、前記符号帳選択ステップにて選択した符号帳で使用するインデックス値を順次算出するインデックス値算出ステップと、
このインデックス値算出ステップにて順次算出したインデックス値に基づき、前記符号語長テーブル選択ステップにて選択した前記符号語長テーブルから符号帳毎の符号語長を一括取得し、これら一括取得した符号語長を符号帳毎に累積加算する符号語長算出ステップと、
この符号語長算出ステップにて前記サブバンド内の全ての量子化値に関わる符号帳毎の符合語長の累積加算が完了すると、このサブバンド単位の符号帳毎の符合語長の累積加算結果の内、最小の累積加算結果の符号語長の符号帳を決定し、この決定した符号帳に基づき、このサブバンド内の量子化値を符号化する符号化ステップとを含むことを特徴とするオーディオ符号化方法。
【請求項１１】
オーディオ信号を周波数スペクトル変換して非線形量子化した量子化値をサブバンド単位に分割するサブバンド分割部と、
インデックス番号毎にハフマン符号化後の符号語長を管理した複数種類の符号帳の内、所定の組合せの符号帳を統合し、共通化したインデックス番号毎に、所定ビット数で定義した各符号帳の符合語長を格納した符号語長テーブルを複数備えた統合符号語長テーブルと、
前記サブバンド分割部にて分割した前記サブバンド内の全量子化値の内、最大絶対値の量子化値に対応する前記所定の組合せの符号帳を前記複数種類の符号帳から選択する符号帳選択部と、
この符号帳選択部にて選択した前記所定の組合せの符号帳に関わる符号語長テーブルを前記統合符号語長テーブルから選択し、この選択した前記符号語長テーブル内の所定ビット数で定義した各符号帳の符号語長に基づき、前記所定ビット数よりも少ないビット数で定義した各符号帳の符号語長を格納した符号語長テーブルを作成し、この作成した符号語長テーブル又は前記所定ビット数定義の符号語長テーブルを選択可能にする符号語長テーブル選択部と、
前記サブバンド分割部にて分割した前記サブバンド内の量子化値を所定本数単位で順次抽出する度に、抽出した量子化値に基づき、前記符号帳選択部にて選択した符号帳で使用するインデックス値を順次算出するインデックス値算出部と、
このインデックス値算出部にて順次算出したインデックス値に基づき、前記符号語長テーブル選択部にて選択した前記符号語長テーブルから符号帳毎の符号語長を一括取得し、これら一括取得した符号語長を符号帳毎に累積加算する符号語長算出部と、
この符号語長算出部にて前記サブバンド内の全ての量子化値に関わる符号帳毎の符合語長の累積加算が完了すると、このサブバンド単位の符号帳毎の符合語長の累積加算結果の内、最小の累積加算結果の符号語長の符号帳を決定し、この決定した符号帳に基づき、このサブバンド内の量子化値を符号化する符号化部とを有することを特徴とするオーディオ符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オーディオ信号の周波数スペクトルデータをハフマン符号化するオーディオ符号化装置、オーディオ符号化プログラム及びオーディオ符号化方法に関する。
【背景技術】
【０００２】
近年、オーディオ信号を符号化する方法としては、量子化されたオーディオ信号の周波数スペクトルデータをハフマン符号化し、高能率圧縮する方法が採用されている。例えば、ＭＰＥＧ２−ＡＡＣ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ  ２−Ａｄｖａｎｃｅｄ  Ｃｏｄｉｎｇ）規格の符号化方法が挙げられる（ＩＳＯ／ＩＥＣ  １３８１８−７参照）。
【０００３】
また、このような符号化方法を採用したオーディオ符号化装置では、オーディオ信号を量子化したＰＣＭ（Ｐｕｌｓｅ  Ｍｏｄｕｌｅ  Ｃｏｄｉｎｇ）信号に修正離散コサイン変換（Ｍｏｄｉｆｉｅｄ  Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ：以下、単にＭＤＣＴと称する）処理を施すことで、１０２４本の周波数スペクトルデータを取得する。
【０００４】
更に、オーディオ符号化装置は、１０２４本の周波数スペクトルデータに非線形量子化処理を施すことで、整数の量子化値Ｑを得ることになる。尚、この量子化値Ｑは、下記の通り、(式１)で表すことができる。
【０００５】
【数１】
2010034794.tif 000003
【０００６】
尚、(式１)に示すＸはＭＤＣＴ係数量子化値、ｓｃａｌｅ  ｆａｃｔｏｒはサブバンド帯域単位のスケール値、ｃｏｍｍｏｎ  ｓｃａｌｅは全周波数帯域のグローバルスケール値、ＭＡＧＩＣ  ＮＵＭＢＥＲはマジックナンバ（ＡＡＣエンコーダの場合は０．４０５４）、ｓｉｇｎ（Ｘ）はＭＤＣＴ係数量子化値Ｘの符号情報（Ｘ≧０の場合、ｓｉｇｎ（Ｘ）＝１、Ｘ＜０の場合、ｓｉｇｎ（Ｘ）＝−１に相当するものである）に相当するものである。
【０００７】
また、オーディオ符号化装置は、１０２４本の周波数スペクトルデータの量子化値Ｑをハフマン符号化する際、これら量子化値Ｑを周波数帯域のサブバンド単位のグループに分割する。尚、オーディオ符号化装置は、サンプリング周波数を４８ｋＨｚとした場合、１０２４本の周波数スペクトルデータの量子化値Ｑを４９個のサブバンドに分割できることになる。
【０００８】
そして、オーディオ符号化装置は、サブバンド単位で同サブバンド内の全量子化値Ｑの内、最大絶対値の量子化値Ｑ（ＭＡＸ）を抽出し、この抽出した最大絶対値の量子化値Ｑ（ＭＡＸ）に対応する符号帳を複数種類の符号帳から選択する。尚、ＡＡＣ規格では、＃１〜＃１１の１１種類の符号帳がある。
【０００９】
オーディオ符号化装置では、量子化値Ｑ（ＭＡＸ）＜２の場合は“＃１”及び“＃２”の符号帳、量子化値Ｑ（ＭＡＸ）＜３の場合は“＃３”及び“＃４”の符号帳、量子化値Ｑ（ＭＡＸ）＜５の場合は“＃５”及び“＃６”の符号帳、量子化値Ｑ（ＭＡＸ）＜８の場合は“＃７”及び“＃８”の符号帳、量子化値Ｑ（ＭＡＸ）＜１３の場合は“＃９”及び“＃１０”の符号帳、量子化値Ｑ（ＭＡＸ）≧１３の場合は“＃１１”の符号帳を選択するものである。
【００１０】
尚、符号帳は、インデックス番号毎に、ハフマン符号化後の符号語長及び、ハフマン符号化されたデータの１６進表記の符号語を夫々格納している。
【００１１】
また、オーディオ符号化装置は、選択した符号帳の種類に応じてインデックス値（ｉｎｄｅｘ）を算出するインデックス値算出用の数式を備えている。
【００１２】
例えば、“＃１”及び“＃２”の符号帳を選択した場合は、ｉｎｄｅｘ＝２７＊Ｑ［ｉ］＋９＊Ｑ［ｉ＋１］＋３＊Ｑ［ｉ＋２］＋Ｑ［ｉ＋３］＋４０、“＃３”及び“＃４”の符号帳を選択した場合は、ｉｎｄｅｘ＝２７＊Ｑ［ｉ］＋９＊｜Ｑ［ｉ＋１］｜＋３＊｜Ｑ［ｉ＋２］｜＋｜Ｑ［ｉ＋３］｜、“＃５”及び“＃６”の符号帳を選択した場合は、ｉｎｄｅｘ＝９＊Ｑ［ｉ］＋９＊Ｑ［ｉ＋１］＋４０、“＃７”及び“＃８”の符号帳を選択した場合は、ｉｎｄｅｘ＝８＊｜Ｑ［ｉ］｜＋｜Ｑ［ｉ＋１］｜、“＃９”及び“＃１０”の符号帳を選択した場合は、ｉｎｄｅｘ＝１３＊｜Ｑ［ｉ］｜＋｜Ｑ［ｉ＋１］｜をインデックス値算出用の数式として使用するものである。尚、［ｉ］は、サブバンド内の量子化値Ｑに順次付与した番号に相当するものである。
【００１３】
オーディオ符号化装置は、選択する２種類の符号帳に応じてインデックス値算出用の数式を選択すると共に、サブバンド単位でのサブバンド内の量子化値Ｑを所定本数（２本又は４本）単位で抽出し、これら抽出した量子化値Ｑを選択したインデックス値算出用の式に代入することで、インデックス値を算出する。尚、“＃１”〜“＃４”の符号帳を選択した場合は４本の量子化値Ｑを、“＃５”〜“＃１１”の符号帳を選択した場合は２本の量子化値Ｑを所定本数単位で抽出するものである。
【００１４】
オーディオ符号化装置は、インデックス値を算出すると、使用する２種類の符号帳のインデックス値に対応したハフマン符号化後の符号語長を夫々読み出し、これら読み出した各符号帳の符号語長を夫々格納する。
【００１５】
更に、オーディオ符号化装置は、このサブバンド内の次の量子化値Ｑを所定本数単位で抽出し、これら抽出した量子化値Ｑを選択したインデックス値算出用の数式に代入することで、次のインデックス値を算出する。
【００１６】
そして、オーディオ符号化装置は、インデックス値を算出すると、使用する２種類の符号帳のインデックス値に対応した符号語長を夫々読み出し、これら読み出した各符号帳の符号語長を夫々格納する。
【００１７】
そして、オーディオ符号化装置は、サブバンド単位でサブバンド内の全量子化値Ｑに関わる各符号帳の全符号語長の読み出しが完了すると、該当サブバンド内の２種類の符号帳に対応した格納中の符号語長の累積加算結果を夫々取得する。
【００１８】
そして、オーディオ符号化装置は、該当サブバンド内の２種類の符号帳に対応する符号語長の累積加算結果を夫々取得すると、２種類の符号帳に対応する符号語長の累積加算結果を比較し、最小の累積加算結果の符合語長に関わる符号帳を決定し、この決定した符号帳を最適な符号帳として使用して同サブバンド内の量子化値Ｑを符号化することになる。
【００１９】
つまり、オーディオ符号化装置では、サブバンド毎に最適な符号帳を順次決定し、この最適な符号帳を使用してサブバンド単位で同サブバンド内の量子化値をハフマン符号化することになる。
【００２０】
【特許文献１】特開２００１−７７０７号公報
【発明の開示】
【発明が解決しようとする課題】
【００２１】
しかしながら、従来のオーディオ符号化装置では、サブバンド毎に２種類の符号帳を選択し、この選択した符号帳に基づきインデック値を算出すると、これら２種類の符号帳からインデックス値に対応する符号語長を夫々読み出し、更に、これら２種類の符号帳の符合語長の累積加算結果を夫々算出するようにしたが、このような符号語長算出処理では複雑な処理を要し、その処理効率があまり良くない。
【００２２】
また、従来のオーディオ符号化装置では、符号帳毎の符号語長を算出する際、高音質の所定ビット数、例えば１６ビットで定義した符号語長を管理した符号帳を使用することになるが、例えば、サブバンド内の量子化値Ｑの本数が少なく、又は、高音質が要求されていないにもかかわらず、高音質の所定ビット数で定義した符合語長の符号帳を使用することになるため、その処理負担は非常に大きい。
【００２３】
本発明は上記点に鑑みてなされたものであり、その目的とするところは、サブバンド毎に２種類の符号帳に関わる符合語長の累積加算結果を算出する符号語長算出処理の処理効率の向上を図りながら、条件に応じて符号語長算出処理に要する処理負担を軽減し、その結果、最適符号帳決定処理全体の処理速度の向上を図ることができるオーディオ符号化装置、オーディオ符号化プログラム及びオーディオ符号化方法を提供することにある。
【課題を解決するための手段】
【００２４】
開示装置は、オーディオ信号を周波数スペクトル変換して非線形量子化した量子化値をサブバンド単位に分割するサブバンド分割部と、インデックス番号毎にハフマン符号化後の符号語長を管理した複数種類の符号帳の内、所定の組合せの符号帳を統合し、共通化したインデックス番号毎に、所定ビット数で定義した各符号帳の符合語長を格納した符号語長テーブル及び、前記所定ビット数よりも少ないビット数で定義した各符号帳の符号語長を格納した符号語長テーブルを複数備えた統合符号語長テーブルと、前記サブバンド分割部にて分割した前記サブバンド内の全量子化値の内、最大絶対値の量子化値に対応する前記所定の組合せの符号帳を前記複数種類の符号帳から選択する符号帳選択部と、この符号帳選択部にて選択した前記所定の組合せの符号帳に関わる複数の符号語長テーブルの内、任意の符号語長テーブルを選択する符号語長テーブル選択部と、前記サブバンド分割部にて分割した前記サブバンド内の量子化値を所定本数単位で順次抽出する度に、抽出した量子化値に基づき、前記符号帳選択部にて選択した符号帳で使用するインデックス値を順次算出するインデックス値算出部と、このインデックス値算出部にて順次算出したインデックス値に基づき、前記符号語長テーブル選択部にて選択した前記符号語長テーブルから符号帳毎の符号語長を一括取得し、これら一括取得した符号語長を符号帳毎に累積加算する符号語長算出部と、この符号語長算出部にて前記サブバンド内の全ての量子化値に関わる符号帳毎の符合語長の累積加算が完了すると、このサブバンド単位の符号帳毎の符合語長の累積加算結果の内、最小の累積加算結果の符号語長の符号帳を決定し、この決定した符号帳に基づき、このサブバンド内の量子化値を符号化する符号化部とを有することを要件とする。
【００２５】
また、開示プログラムは、オーディオ信号を周波数スペクトル変換して非線形量子化した量子化値をサブバンド単位に分割するサブバンド分割手順と、インデックス番号毎にハフマン符号化後の符号語長を管理した複数種類の符号帳の内、所定の組合せの符号帳を統合し、共通化したインデックス番号毎に、所定ビット数で定義した各符号帳の符合語長を格納した符号語長テーブル及び、前記所定ビット数よりも少ないビット数で定義した各符号帳の符号語長を格納した符号語長テーブルを複数備えた統合符号語長テーブルを準備するテーブル準備手順と、前記サブバンド分割手順にて分割した前記サブバンド内の全量子化値の内、最大絶対値の量子化値に対応する前記所定の組合せの符号帳を前記複数種類の符号帳から選択する符号帳選択手順と、この符号帳選択手順にて選択した前記所定の組合せの符号帳に関わる複数の符号語長テーブルの内、任意の符号語長テーブルを選択する符号語長テーブル選択手順と、前記サブバンド分割手順にて分割した前記サブバンド内の量子化値を所定本数単位で順次抽出する度に、抽出した量子化値に基づき、前記符号帳選択手順にて選択した符号帳で使用するインデックス値を順次算出するインデックス値算出手順と、このインデックス値算出手順にて順次算出したインデックス値に基づき、前記符号語長テーブル選択手順にて選択した前記符号語長テーブルから符号帳毎の符号語長を一括取得し、これら一括取得した符号語長を符号帳毎に累積加算する符号語長算出手順と、この符号語長算出手順にて前記サブバンド内の全ての量子化値に関わる符号帳毎の符合語長の累積加算が完了すると、このサブバンド単位の符号帳毎の符合語長の累積加算結果の内、最小の累積加算結果の符号語長の符号帳を決定し、この決定した符号帳に基づき、このサブバンド内の量子化値を符号化する符号化手順とを含むプログラムを端末装置に実行させることを要件とする。
【００２６】
また、開示方法は、オーディオ信号を周波数スペクトル変換して非線形量子化した量子化値をサブバンド単位に分割するサブバンド分割ステップと、インデックス番号毎にハフマン符号化後の符号語長を管理した複数種類の符号帳の内、所定の組合せの符号帳を統合し、共通化したインデックス番号毎に、所定ビット数で定義した各符号帳の符合語長を格納した符号語長テーブル及び、前記所定ビット数よりも少ないビット数で定義した各符号帳の符号語長を格納した符号語長テーブルを複数備えた統合符号語長テーブルを準備するテーブル準備ステップと、前記サブバンド分割ステップにて分割した前記サブバンド内の全量子化値の内、最大絶対値の量子化値に対応する前記所定の組合せの符号帳を前記複数種類の符号帳から選択する符号帳選択ステップと、この符号帳選択ステップにて選択した前記所定の組合せの符号帳に関わる複数の符号語長テーブルの内、任意の符号語長テーブルを選択する符号語長テーブル選択ステップと、前記サブバンド分割ステップにて分割した前記サブバンド内の量子化値を所定本数単位で順次抽出する度に、抽出した量子化値に基づき、前記符号帳選択ステップにて選択した符号帳で使用するインデックス値を順次算出するインデックス値算出ステップと、このインデックス値算出ステップにて順次算出したインデックス値に基づき、前記符号語長テーブル選択ステップにて選択した前記符号語長テーブルから符号帳毎の符号語長を一括取得し、これら一括取得した符号語長を符号帳毎に累積加算する符号語長算出ステップと、この符号語長算出ステップにて前記サブバンド内の全ての量子化値に関わる符号帳毎の符合語長の累積加算が完了すると、このサブバンド単位の符号帳毎の符合語長の累積加算結果の内、最小の累積加算結果の符号語長の符号帳を決定し、この決定した符号帳に基づき、このサブバンド内の量子化値を符号化する符号化ステップとを含むことを要件とする。
【００２７】
また、開示装置は、オーディオ信号を周波数スペクトル変換して非線形量子化した量子化値をサブバンド単位に分割するサブバンド分割部と、インデックス番号毎にハフマン符号化後の符号語長を管理した複数種類の符号帳の内、所定の組合せの符号帳を統合し、共通化したインデックス番号毎に、所定ビット数で定義した各符号帳の符合語長を格納した符号語長テーブルを複数備えた統合符号語長テーブルと、前記サブバンド分割部にて分割した前記サブバンド内の全量子化値の内、最大絶対値の量子化値に対応する前記所定の組合せの符号帳を前記複数種類の符号帳から選択する符号帳選択部と、この符号帳選択部にて選択した前記所定の組合せの符号帳に関わる符号語長テーブルを前記統合符号語長テーブルから選択し、この選択した前記符号語長テーブル内の所定ビット数で定義した各符号帳の符号語長に基づき、前記所定ビット数よりも少ないビット数で定義した各符号帳の符号語長を格納した符号語長テーブルを作成し、この作成した符号語長テーブル又は前記所定ビット数定義の符号語長テーブルを選択可能にする符号語長テーブル選択部と、前記サブバンド分割部にて分割した前記サブバンド内の量子化値を所定本数単位で順次抽出する度に、抽出した量子化値に基づき、前記符号帳選択部にて選択した符号帳で使用するインデックス値を順次算出するインデックス値算出部と、このインデックス値算出部にて順次算出したインデックス値に基づき、前記符号語長テーブル選択部にて選択した前記符号語長テーブルから符号帳毎の符号語長を一括取得し、これら一括取得した符号語長を符号帳毎に累積加算する符号語長算出部と、この符号語長算出部にて前記サブバンド内の全ての量子化値に関わる符号帳毎の符合語長の累積加算が完了すると、このサブバンド単位の符号帳毎の符合語長の累積加算結果の内、最小の累積加算結果の符号語長の符号帳を決定し、この決定した符号帳に基づき、このサブバンド内の量子化値を符号化する符号化部とを有することを要件とする。
【発明の効果】
【００２８】
開示装置、開示プログラム及び開示方法によれば、複数種類の符号帳の内、所定の組合せの符号帳を統合し、共通化したインデックス番号毎に各符号帳の符合語長を格納した符号語長テーブルを複数備え、インデックス番号に基づき、符号語長テーブルから符号帳毎の符号語長を一括取得し、これら一括取得した符号語長を符号帳毎に累積加算するようにしたので、サブバンド毎に２種類の符号帳に関わる符合語長の累積加算結果を算出する符号語長算出処理の処理効率の向上を図ることができるという効果を奏する。
【００２９】
更に、開示装置、開示プログラム及び開示方法によれば、所定ビット数で定義する符号語長を格納した符号語長テーブル及び、所定ビット数よりも少ないビット数で定義する符号語長を格納した符号語長テーブルを複数備え、符号語長を算出する際に、これら符号語長テーブルを選択可能にしたので、条件に応じて、少ないビット数で定義する符号語長を格納した符号語長テーブルを使用することで、符号語長算出処理に要する処理負担を軽減し、その結果、最適符号帳決定処理全体の処理速度の向上を図ることができるという効果を奏する。
【００３０】
更に、開示装置によれば、統合符号語長テーブル内に所定ビット数で定義する符号語長テーブルのみを格納し、符号化処理の開始時に、所定ビット数で定義した各符号帳の符号語長に基づき、所定ビット数よりも少ないビット数で定義した各符号帳の符号語長を格納した符号語長テーブルを作成するようにしたので、所定ビット数よりも少ないビット数で定義した各符号帳の符合語長を格納した符号語長テーブルを統合符号語長テーブル内に予め格納しておく必要がないため、その分、統合符号語長テーブル内部のテーブル容量を最小限に抑えることができる。
【発明を実施するための最良の形態】
【００３１】
以下、図面に基づき本発明のハフマン符号化を用いたオーディオ符号化装置、オーディオ符号化プログラム及びオーディオ符号化方法に関わる実施例について詳細に説明する。
【００３２】
まず、最初に本実施例の概要を説明するとすれば、その概要は、符号化処理が３２ビット処理であり、オーディオ信号の周波数スペクトルデータを非線形量子化した量子化値が３２本以下である場合があることを前提とし、複数種類の符号帳の内、所定の組合せの２種類の符号帳を統合し、共通化したインデックス番号毎に、１６ビットで定義した各符号帳の符合語長を格納した３２ビット幅符号語長テーブル及び、８ビットで定義した各符号帳の符号語長を格納した１６ビット幅符号語長テーブルを複数備える。
【００３３】
そして、本実施例では、２種類の符号語長の累積加算結果を算出する際、インデックス値を算出すると、このインデックス値に対応した符号帳毎の符号語長を符号語長テーブルから一括取得し、これら一括取得した符号語長を符号帳毎に累積加算する。その結果、サブバンド毎に２種類の符号帳に関わる符合語長の累積加算結果を算出する符号語長算出処理の処理効率の向上を図ることができるというものである。
【００３４】
更に、本実施例では、２種類の符号語長の累積加算結果を算出する際に、これら符号語長テーブルを選択可能にしたので、条件に応じて、８ビットで定義する符号語長を格納した１６ビット幅符号語長テーブルを使用することで符号語長算出処理に要する処理負担を軽減し、その結果、最適符号帳決定処理全体の処理速度の向上を図ることができるというものである。
【実施例】
【００３５】
図１は、本実施例のオーディオ符号化装置内部の概略構成を示すブロック図である。
【００３６】
図１に示すオーディオ符号化装置１は、オーディオ信号を量子化してＰＣＭ信号を得るＰＣＭ処理部１１と、ＰＣＭ処理部１１で得たＰＣＭ信号にＭＤＣＴ処理を施すことで、１０２４本の周波数スペクトルデータを得るＭＤＣＴ処理部１２とを有している。
【００３７】
また、オーディオ符号化装置１は、ＭＤＣＴ処理部１２で得た周波数スペクトルデータに非線形量子化処理を施して整数の量子化値Ｑを取得する非線形量子化処理部１３と、非線形量子化処理部１３で得た量子化値をサブバンド単位に分割するサブバンド分割部１４とを有している。
【００３８】
サブバンド分割部１４は、サンプリング周波数を４８ｋＨｚとした場合、１０２４本の周波数スペクトルデータの量子化値Ｑを４９個のサブバンド単位のグループに分割するものである。
【００３９】
また、オーディオ符号化装置１は、０〜８０の８１個のインデックス番号２１Ａ毎に、ハフマン符号化後の符号語長２１Ｂ及び１６進表記の符号語２１Ｃを管理する“＃１”〜“＃１１”の１１種類の符号帳２１を管理する符号帳テーブル２２を有している。
【００４０】
また、オーディオ符号化装置１は、１１種類の符号帳２１の内、所定の組合せの符号帳２１を統合し、０〜８０の８１個の共通インデックス番号３１毎に、同組合せの符号帳２１毎の符号語長３２を格納する３２ビット幅符号語長テーブル３３及び１６ビット幅符号語長テーブル３４を備えた統合符号語長テーブル３５を有している。
【００４１】
尚、所定の組合せの符号帳２１とは、量子化値Ｑ（ＭＡＸ）＜２の場合に使用する“＃１”及び“＃２”の符号帳２１、量子化値Ｑ（ＭＡＸ）＜３の場合に使用する“＃３”及び“＃４”の符号帳２１、量子化値Ｑ（ＭＡＸ）＜５の場合に使用する“＃５”及び“＃６”の符号帳２１、量子化値Ｑ（ＭＡＸ）＜８の場合に使用する“＃７”及び“＃８”の符号帳２１、量子化値Ｑ（ＭＡＸ）＜１３の場合に使用する“＃９”及び“＃１０”の符号帳２１に相当するものである。
【００４２】
図２は、３２ビット幅符号語長テーブル３３のテーブル内容を概念的に示す説明図、図３は、“＃１”及び“＃２”の符号帳２１の符合語長２１Ｂを統合した“＃１”及び“＃２”の３２ビット幅符号語長テーブル３３を端的に示す説明図である。
【００４３】
３２ビット幅符号語長テーブル３３は、例えば、“＃１”及び“＃２”の符号帳２１を統合し、０〜８０の共通インデックス番号３１毎に、上位１６ビットで“＃２”の符号帳２１に関わる１６ビット定義の符号語長３２と、下位１６ビットで“＃１”の符号帳２１に関わる１６ビット定義の符合語長３２とを格納しているものである。
【００４４】
１６ビット幅符号語長テーブル３４は、図示せぬが、例えば、“＃１”及び“＃２”の符号帳２１を統合し、０〜８０の共通インデックス番号３１毎に、上位８ビットで“＃２”の符号帳２１に関わる８ビット定義の符合語長３２と、下位８ビットの“＃１”の符号帳２１に関わる８ビット定義の符号語長３２とを格納しているものである。尚、図４は、“＃１”及び“＃２”の１６ビット幅符号語長テーブル３４を端的に示す説明図である。
【００４５】
また、図１に示すオーディオ符号化装置１は、サブバンド分割部１４にて分割したサブバンド内の量子化値Ｑの内、最大絶対値の量子化値Ｑ（ＭＡＸ）に対応する所定の組合せの符号帳２１を複数の符号帳２１から選択する符号帳選択部１５と、この符号帳選択部１５にて選択した符号帳２１を含む統合符号帳テーブル３５から３２ビット幅符号語長テーブル３３又は１６ビット幅符号語長テーブル３４を選択する符号語長テーブル選択部１６とを有している。
【００４６】
符号帳選択部１５は、サブバンド内の量子化値Ｑの内、最大絶対値の量子化値Ｑ（ＭＡＸ）に対応する所定の組合せの符号帳２１を符号帳テーブル２２から選択するものである。
【００４７】
尚、符号帳選択部２２は、量子化値Ｑ（ＭＡＸ）＜２の場合に“＃１”及び“＃２”の符号帳２１、量子化値Ｑ（ＭＡＸ）＜３の場合に“＃３”及び“＃４”の符号帳２１、量子化値Ｑ（ＭＡＸ）＜５の場合に“＃５”及び“＃６”の符号帳２１、量子化値Ｑ（ＭＡＸ）＜８の場合に“＃７”及び“＃８”の符号帳２１、量子化値Ｑ（ＭＡＸ）＜１３の場合に“＃９”及び“＃１０”の符号帳２１を選択するものである。
【００４８】
符号語長テーブル選択部１６は、符号帳選択部１５にて選択した所定の組合せの符号帳２１を含む３２ビット幅符号語長テーブル３３又は１６ビット幅符号語長テーブル３４を選択するものである。
【００４９】
また、オーディオ符号化装置１は、サブバンド分割部１４にて分割したサブバンド内の量子化値を所定本数単位で順次抽出し、順次抽出した量子化値に基づき、符号帳選択部１５にて選択した所定の組合せの符号帳２１で使用するインデックス値を算出するインデックス値算出部１７を有している。
【００５０】
インデックス値算出部１７は、符号帳選択部１５にて選択した所定の組合せの符号帳２１に対応するインデックス算出用数式に、サブバンド内の量子化値を所定本数、例えば２本又は４本単位で順次抽出し、順次抽出した量子化値を代入することで、所定の組合せの符号帳２１に対応して共通インデックス値を算出するものである。尚、“＃１”〜“＃４”の符号帳２１の場合は４本単位で量子化値Ｑを抽出、“＃５”〜“＃１１”の符号帳２１の場合は２本単位で量子化値Ｑを抽出するものである。
【００５１】
また、オーディオ符号化装置１は、インデックス値算出部１７にて算出した共通インデックス値に基づき、符号語長テーブル選択部１６にて選択した統合符号帳テーブル３５の符号語長テーブル３３及び３４から所定の組合せの符号帳２１に関わる符号語長３２を順次取得する符号語長算出部１８を有している。
【００５２】
符号語長算出部１８は、図２に示すように、インデックス値算出部１７にて“＃１”及び“＃２”の符号帳２１の共通インデックス番号３１、例えば“８０”に対応した“＃１”の符号語長“１１”及び“＃２”の符号語長“９”を３２ビット幅符号語長テーブル３３から一括取得し、これら“＃１”の符号語長３２及び“＃２”の符合語長３２を夫々格納するものである。
【００５３】
また、符号語長算出部１８は、インデックス値算出部１７にて算出した“＃１”及び“＃２”の符号帳２１の共通インデックス番号３１、例えば“１”に対応した“＃１”の符合語長“９”及び“＃２”の符号語長“７”を一括取得し、格納中の“＃１”の符号語長３２及び“＃２”の符号語長３２に累積加算するものである。この結果、“＃１”の符合語長３２の累積加算結果は“２０”、“＃２”の符合語長３２の累積加算結果は“１６”ということになる。
【００５４】
そして、符号語長算出部１８は、このサブバンド内の全量子化値の“＃１”の符号語長３２及び“＃２”の符号語長３２の累積加算結果を夫々算出するものである。
【００５５】
また、オーディオ符号化装置１は、符号語長算出部１８にて算出したサブバンド単位の符号帳２１毎の符号語長３２の累積加算結果の内、最小の累積加算結果の符号語長３２の符号帳２１を決定し、この決定した符号帳２１に基づき、同サブバンド内の量子化値Ｑを符号化する符号化部１９を有している。
【００５６】
尚、統合符号語長テーブル３５には、３２ビット幅符号語長テーブル３３の他に、１６ビット幅符号語長テーブル３４を配置するようにしたが、以下、この１６ビット幅符号語長テーブル３４について補足する。
【００５７】
一般的に、サブバンド内のスペクトル本数は、４８ｋＨｚサンプリング時で最大９６本、４８ｋＨｚ未満のサンプリング時では最大３２本である。そこで、３２本分のスペクトルのハフマン符号化を想定した場合、符合語長３２の累積加算結果の最大値は、インデックス値を算出する際に２本の量子化値しか使用しない、“＃５”〜“＃１１”の符号帳２１の場合が考えられる。そのため、一つのサブバンド内で３２本のスペクトルをハフマン符号化した際に算出される符合語長３２の累積加算結果の最大値は、１５ビット＊（３２/２）＝２４０ということになる。この値は８ビット幅である。
【００５８】
つまり、１サブバンド当たり３２本のスペクトルが存在するサブバンドでは、一つのハフマン符号語長の最大値は８ビット幅を超えることはなく、３２ビット幅符合語長テーブル３３を持つ必要はなく、符号化の際に符号化長を加算することを考慮しても、２種類の符号帳２１の１６ビット幅であれば十分である。そこで、統合符号語長テーブル３５内に３２ビット幅符号語長テーブル３３の他に、１６ビット幅符号語長テーブル３４を別個準備したものである。
【００５９】
次に、本実施例のオーディオ符号化装置１の動作について説明する。図５は、本実施例のオーディオ符号化処理に関わるオーディオ符号化装置１内部の処理動作を示すフローチャートである。
【００６０】
図５においてＭＤＣＴ処理部１２は、オーディオ信号を量子化したＰＣＭ信号にＭＤＣＴ処理を施し(ステップＳ１１)、１０２４本の周波数スペクトルデータを取得する。
【００６１】
オーディオ符号化装置１は、ステップＳ１１のＭＤＣＴ処理後、１０２４本の周波数スペクトルデータに対してマスキング特性の算出処理を実行し(ステップＳ１２)、更に、周波数スペクトルデータにＭＳステレオ処理を施す(ステップＳ１３)。
【００６２】
更に、オーディオ符号化装置１は、スケール値を初期化し(ステップＳ１４)、後述する最適符合帳決定処理を実行する際のサブバンドを識別するサブバンド番号を初期化する(ステップＳ１５)。
【００６３】
オーディオ符号化装置１内の非線形量子化処理部１３は、サブバンド番号を初期化した後、周波数スペクトルデータに非線形量子化処理を施して(ステップＳ１６)、量子化値Ｑを得る。
【００６４】
オーディオ符号化装置１は、周波数スペクトルデータの量子化値Ｑを得ると、サブバンド内の量子化値Ｑが３２本以下であるか否かを判定する(ステップＳ１７)。
【００６５】
尚、オーディオ符号化装置１は、４８ｋＨｚのサンプリングを実行した場合、一つのサブバンド内の周波数スペクトルデータの本数は最大９６本であるのに対して、４８ｋＨｚ未満のサンプリングを実行した場合、一つのサブバンド内の周波数スペクトルデータの本数を最大３２本である。
【００６６】
オーディオ符号化装置１は、サブバンド内の量子化値Ｑが３２本以下の場合(ステップＳ１７肯定)、１６ビット幅符号語長テーブル３４を使用した最適符号帳決定処理を実行する(ステップＳ１８)。
【００６７】
尚、最適符合帳決定処理では、サブバンド単位で同サブバンド内の量子化値Ｑに関わる符合帳２１毎の符合語長３２の累積加算結果の内、小さい累積加算結果の符号語長３２の符合帳２１を最適な符合帳２１として決定し、最適符号帳２１及び同最適符号帳２１の符合語長３２を格納するものである。
【００６８】
オーディオ符号化装置１は、サブバンド単位で最適符合帳決定処理を実行すると、最適符合帳決定処理の対象となるサブバンドがあるか否かを判定する(ステップＳ１９)。
【００６９】
オーディオ符号化装置１は、最適符合帳決定処理の対象となるサブバンドがある場合(ステップＳ１９肯定)、サブバンド番号を更新し(ステップＳ２０)、次のサブバンド内の周波数スペクトルデータの量子化値Ｑを取得すべく、ステップＳ１６に移行する。
【００７０】
また、オーディオ符号化装置１は、最適符号帳決定処理の対象となるサブバンドがない場合(ステップＳ１９否定)、全サブバンド分のスケール値、符号語及び符号帳番号で使用するビット数を算出する(ステップＳ２１)。
【００７１】
オーディオ符号化装置１は、ステップＳ２１にて算出したビット数がビット数条件をクリアしたか否かを判定する(ステップＳ２２)。
【００７２】
オーディオ符号化装置１は、ビット数がビット数条件をクリアした場合(ステップＳ２２肯定)、全サブバンド内の周波数スペクトルデータの量子化値をサブバンド単位に決定して最適な符号帳２１を使用して符号化したストリームを作成し(ステップＳ２３)、図５に示す処理動作を終了する。
【００７３】
また、オーディオ符号化装置１は、ステップＳ１７にてサブバンド内の量子化値Ｑが３２本以下でない場合(ステップＳ１７否定)、すなわち、通常通り、３２ビット幅符号語長テーブル３３を使用した最適符号帳決定処理を実行する(ステップＳ２４)。
【００７４】
また、オーディオ符号化装置１は、ステップＳ２２にてビット数がビット数条件をクリアしなかった場合(ステップＳ２２否定)、周波数スペクトルデータの量子化値Ｑを小さくするようにスケール値を更新し(ステップＳ２５)、再度、全サブバンドの先頭から処理を実行すべく、ステップＳ１５に移行する。
【００７５】
図５に示すオーディオ符号化処理では、サブバンド内の周波数スペクトルデータの量子化値が３２本以下でない場合、通常通り、３２ビット幅符号語長テーブル３３を使用して最適符号帳決定処理を実行し、サブバンド内の周波数スペクトルデータの量子化値が３２本以下の場合、１６ビット幅符号語長テーブル３４を使用して最適符号帳処理を実行するようにした。その結果、条件に応じて、１６ビット幅符号語長テーブル３４を使用することで、符号語長算出処理に要する処理負担を軽減することができる。
【００７６】
図６は、本実施例の３２ビット幅符号語長テーブル３３を使用した符号語長算出処理に関わる説明図である。
【００７７】
尚、図６に示すｑｕａｎｔは 量子化値Ｑ、ｏｆｆｓｅｔは 全周波数帯域内の量子化値Ｑのオフセット位置、ｌｅｎｇｔｈはサブバンド内に存在する周波数スペクトルデータの本数、ｂｉｔｓ１は“＃１”の符号帳２１でハフマン符号化した際の符号語長３２、ｂｉｔｓ２は“＃２”の符号帳２１でハフマン符号化した際の符号語長３２に相当するものである。
【００７８】
図６に示すステップＳ３１の処理は、“＃１”及び“＃２”の符号帳２１でハフマン符号化する際のサブバンド内の量子化値Ｑをインデックス値算出用数式に代入してインデックス値を算出し、算出したインデックス値を変数ｉｎｄｅｘに格納するインデックス値算出部１７の処理である。
【００７９】
また、ステップＳ３２の処理は、ステップＳ３１で算出したインデックス値を共通インデックス値３１とし、この共通インデックス値３１に対応した“＃１”及び“＃２”の符号語長３２を３２ビット幅符号語長テーブル３３から一括取得し、符号帳２１毎に、符号語長３２を３２ビットの変数ｂｉｔｓ＿ｔｍｐに累積加算することで、“＃１”の符合語長３２の累積加算結果及び“＃２”の符合語長３２の累積加算した結果を出力する符号語長算出部１８の処理である。
【００８０】
尚、インデックス値算出部１７及び符号語長算出部１８は、ｌｅｎｇｔｈ（サブバンド内に存在する量子化値Ｑの数）／４回(所定ループ回数)分、ステップＳ３１及びステップＳ３２の処理を繰り返すことで、該当サブバンド内の“＃１”及び“＃２”の符号帳２１毎に、これら符号帳２１を使用した場合の符合語長３２を累積加算結果を出力するものである。
【００８１】
また、ステップＳ３３及びステップＳ３４の処理は、所定ループ回数分、ステップＳ３１及びステップＳ３２の処理を繰り返した後、“＃１”及び“＃２”の符号帳２１毎の累積した符合語長３２の累積加算結果を分離する符号語長算出部１８の処理である。
【００８２】
符号語長算出部１８は、ｂｉｔｓ＿ｔｍｐの上位１６ビットを抽出し、“＃１”の符号帳２１を使用した場合の符号語長ｂｉｔｓ１とする。更に、符号語長算出部１８は、ｂｉｔｓ＿ｔｍｐの下位１６ビットを抽出し、“＃２”の符号帳２１を使用した場合の符号語長ｂｉｔｓ２とし、この結果、該当サブバンド内の量子化値Ｑに対する“＃１”及び“＃２”の符号帳２１を使用した場合の符号語長３２を夫々一括取得し、図２の符合語長算出処理を終了する。
【００８３】
尚、説明の便宜上、“＃１”及び“＃２”の符号帳２１を使用した場合を例にあげて説明したが、“＃３”及び“＃４”の符号帳２１を使用した場合、“＃５”及び“＃６”の符号帳２１を使用した場合、“＃７”及び“＃８”の符号帳２１を使用した場合、“＃９”及び“＃１０”の符号帳２１を使用した場合や、“＃１１”の符号帳２１を使用した場合でも、同様であることは言うまでもない。
【００８４】
図７は、本実施例の符号語長最小値決定処理に関わる説明図である。
【００８５】
尚、図７に示すｂｉｔｓ１及びｂｉｔｓ２は該当サブバンドでの符号語長、ｍａｘ＿ｓｂ＿ｃｏｅｆは該当サブバンド内の量子化値Ｑの最大絶対値、ｂｏｏｋ＿ｃｈｏｉｃｄ[１１][２]は符号帳２１の番号（＃１〜＃１１）及び符号語長３２の累積加算結果（ビット数）、ｊは ｂｏｏｋ＿ｃｈｏｉｃｄ［］［２］のポインタに相当するものである。
【００８６】
図７に示すステップＳ４１乃至ステップＳ４６の処理は、図６に示す符号語長算出処理で取得した該当サブバンドの各符号帳２１で使用する符号語長３２の累積加算結果をｂｏｏｋ＿ｃｈｏｉｃｅ［ｊ］［０］に格納すると共に、使用する符号帳２１の符号帳番号をｂｏｏｋ＿ｃｈｏｉｃｅ［ｊ］［１］に格納するための符号語長算出部１８の処理である。尚、符号語長３２の累積加算結果及び符号帳番号を格納すると、ｊを＋１インクリメントするものである。
【００８７】
ステップＳ４１の処理では、“＃１”及び“＃２”の符号帳２１を使用した場合の符号語長３２の累積加算結果及び符号帳番号を格納する処理である。
【００８８】
ステップＳ４２の処理では、“＃３”及び“＃４”の符号帳２１を使用した場合の符号語長３２の累積加算結果及び符号帳番号を格納する処理である。
【００８９】
ステップＳ４３の処理では、“＃５”及び“＃６”の符号帳２１を使用した場合の符号語長３２の累積加算結果及び符号帳番号を格納する処理である。
【００９０】
ステップＳ４４の処理では、“＃７”及び“＃８”の符号帳２１を使用した場合の符号語長３２の累積加算結果及び符号帳番号を格納する処理である。
【００９１】
ステップＳ４５の処理では、“＃９”及び“＃１０”の符号帳２１を使用した場合の符号語長３２の累積加算結果及び符号帳番号を格納する処理である。
【００９２】
ステップＳ４６の処理では、“＃１１”の符号帳２１を使用した場合の符号語長３２の累積加算結果及び符号帳番号を格納する処理である。
【００９３】
その結果、符号語長算出部１８は、該当サブバンド内の量子化値Ｑに関わる符号帳２１の符号帳番号及び、この符号帳２１を使用した場合の符号語長３２の累積加算結果を格納することになる。
【００９４】
図８は、本実施例の符号語長最小値決定処理に関わる説明図である。
【００９５】
図８に示すステップＳ５１では、図７のステップＳ４１〜ステップＳ４６の何れかで該当サブバンド内の量子化値に関わる符号帳２１の符号帳番号をｂｏｏｋ＿ｃｈｏｉｃｅ[ｊ][＋＋]及び、この符号帳２１を使用した場合の符号語長３２の累積加算結果をｂｏｏｋ＿ｃｈｏｉｃｅ[ｊ][０]に格納した後、ｂｏｏｋ＿ｃｈｏｉｃｅ[ｊ] [０] 及びｂｏｏｋ＿ｃｈｏｉｃｅ[ｊ＋＋]  [１]に格納中の符号語長３２の累積加算結果から最小となる符合語長３２及び、その符合語長３２の符号帳番号を選択し、これら符号語長３２の累積加算結果及び符号帳番号をｂｏｏｋ＿ｃｈｏｉｃｅ[ｋ][０]及び ｂｏｏｋ＿ｃｈｏｉｃｅ[ｋ][１]に格納する。
【００９６】
その結果、ｂｏｏｋ＿ｃｈｏｉｃｅ[ｋ][０]及び ｂｏｏｋ＿ｃｈｏｉｃｅ[ｋ][１]に格納中の符合語長３２の累積加算結果及び符号帳番号を該当サブバンド内で使用する最適な符号帳２１として決定するものである。
【００９７】
図９は、本実施例の１６ビット幅符号語長テーブル３４を使用した符号語長算出処理に関わる説明図である。
【００９８】
尚、図９に示すｑｕａｎｔは 量子化値Ｑ、ｏｆｆｓｅｔは 全周波数帯域内の量子化値Ｑのオフセット位置、ｌｅｎｇｔｈはサブバンド内に存在する周波数スペクトルデータの本数、ｂｉｔｓ１は“＃１”の符号帳２１でハフマン符号化した際の符号語長３２、ｂｉｔｓ２は“＃２”の符号帳２１でハフマン符号化した際の符号語長３２に相当するものである。
【００９９】
図９に示すステップＳ６１の処理は、“＃１”及び“＃２”の符号帳２１でハフマン符号化する際のサブバンド内の量子化値Ｑをインデックス値算出用数式に代入してインデックス値を算出し、算出したインデックス値を変数ｉｎｄｅｘに格納するインデックス値算出部１７の処理である。
【０１００】
また、ステップＳ６２の処理は、ステップＳ６１で算出したインデックス値を共通インデックス値とし、この共通インデックス値に対応した“＃１”及び“＃２”の符号語長を１６ビット幅符号語長テーブル３４から一括取得し、１６ビットの変数ｂｉｔｓ＿ｔｍｐに加算することで、“＃１”の符号語長３２及び“＃２”の符合語長３２を夫々同時に累積する符号語長算出部１８の処理である。
【０１０１】
尚、インデックス値算出部１７及び符号語長算出部１８は、ｌｅｎｇｔｈ（サブバンド内に存在する量子化値の数）／４回(所定ループ回数)分、ステップＳ６１及びステップＳ６２の処理を繰り返すことで、該当サブバンド内の“＃１”及び“＃２”の符号帳２１毎に、これら符号帳２１を使用した場合の符合語長３２の累積加算結果を算出するものである。
【０１０２】
また、ステップＳ６３及びステップＳ６４の処理は、所定ループ回数分、ステップＳ６１及びステップＳ６２の処理を繰り返した後、“＃１”及び“＃２”の符号帳２１毎の累積した符合語長の累積加算結果を分離する符号語長算出部１８の処理である。
【０１０３】
符号語長算出部１８は、ｂｉｔｓ＿ｔｍｐの上位８ビットを抽出し、“＃１”の符号帳２１を使用した場合の符号語長ｂｉｔｓ１とする。更に、符号語長算出部１８は、ｂｉｔｓ＿ｔｍｐの下位８ビットを抽出し、“＃２”の符号帳２１を使用した場合の符号語長ｂｉｔｓ２とし、この結果、該当サブバンド内の量子化値Ｑに対する“＃１”及び“＃２”の符号帳２１を使用した場合の符号語長３２を夫々一括取得し、図９の符合語長算出処理を終了する。
【０１０４】
尚、説明の便宜上、“＃１”及び“＃２”の符号帳２１を使用した場合を例にあげて説明したが、“＃３”及び“＃４”の符号帳２１を使用した場合、“＃５”及び“＃６”の符号帳２１を使用した場合、“＃７”及び“＃８”の符号帳２１を使用した場合、“＃９”及び“＃１０”の符号帳２１を使用した場合や、“＃１１”の符号帳２１を使用した場合でも、同様であることは言うまでもない。
【０１０５】
本実施例では、最適符号帳決定処理を実行する際、サブバンド内の量子化値Ｑを符号帳２１に応じた所定本数単位で順次抽出する度にインデックス値を算出し、このインデックス値に応じて３２ビット幅符号語長テーブル３３又は１６ビット幅符号語長テーブル３４から２種類の符号帳２１の符号語長３２を一括取得し、該当サブバンド内の全ての量子化値Ｑの抽出が終了するまで、これら一括取得した２種類の符号帳２１の符号語長３２を累積加算するようにしたので、従来技術に比較して、サブバンド毎に２種類の符号帳２１に関わる符合語長３２の累積加算結果を算出する符号語長算出処理の処理効率の向上を図ることができる。
【０１０６】
更に、本実施例では、最適符号帳決定処理を実行する際、サブバンド内の量子化値Ｑが３２本以下の場合、サブバンド内の量子化値を符号帳２１に応じた所定本数単位で順次抽出する度にインデックス値を算出し、このインデックス値に応じて１６ビット幅符号語長テーブル３４から２種類の符号帳２１の符号語長３２を一括取得し、該当サブバンド内の全ての量子化値Ｑの抽出が終了するまで、これら一括取得した２種類の符号帳２１の符合語長３２を累積加算するようにしたので、３２ビット幅符号語長テーブル３３を使用した場合に比較して、該当サブバンドの最適符号帳２１を決定するまでの処理負担を大幅に軽減し、その結果、高速処理を実現することができる。更には、テーブルアクセスに要する電力消費量の軽減を図ることができる。
【０１０７】
尚、オーディオ符号化装置１は、例えば、音声等を記録・再生するオーディオ再生装置や、音声を含む動画を記憶再生する動画記憶再生装置や、音声を記録・再生する機能を備えた携帯電話機等に内蔵させるようにしても良い。
【０１０８】
また、本実施例では、インデックス値の算出後、３２ビット幅符号語長テーブル３３又は１６ビット幅符号語長テーブル３４のアクセスを１回行うことで２種類の符号帳２１の符号語長の累積加算処理を行うことが出来、最適な符号帳２１を決定する最適符号帳決定処理の効率を約５０％向上させることができる。
【０１０９】
また、本実施例では、符号化処理全体としては約３％程度の処理負担を軽減することができる。これはＭＤＣＴ処理部１２のような部分をＨ／Ｗ化、残りの部分をソフトウエアで実現することを考慮すると、本発明におけるプロセッサの処理負担は約３０％程度軽減することができる。
【０１１０】
尚、本実施例では、サブバンド内の量子化値Ｑの本数に基づき、２種類の符号帳２１の３２ビット幅符号語長テーブル３３又は１６ビット幅符号語長テーブル３４の何れかを選択するようにしたが、ユーザ側の所定の操作、例えば操作部上のスイッチング操作で３２ビット幅符号語長テーブル３３又は１６ビット幅符号語長テーブル３４を選択するようにしても良く、テーブルアクセスに要する電力消費量の軽減を図ることができる。
【０１１１】
また、本実施例では、オーディオ信号の周波数帯域幅を監視し、その周波数帯域幅が所定周波数帯域幅よりも狭い場合に、１６ビット幅符号語長テーブル３４を自動選択するようにしても良く、テーブルアクセスに要する電力消費量の軽減を図ることができる。
【０１１２】
また、本実施例では、統合符号語長テーブル３５内に３２ビット幅符号語長テーブル３３の他に、１６ビット幅符号語長テーブル３４を別個準備したが、統合符号語長テーブル３５内に３２ビット幅符号語長テーブル３３のみを準備しておき、符号化処理の開始時に、３２ビット幅符号語長テーブル３３から１６ビット幅符号語長テーブル３４を生成するようにしても良く、この場合、統合符号語長テーブル３５内に３２ビット幅符号語長テーブル３３のみを格納しておけば良いため、その分、統合符号語長テーブル３５内部のテーブル容量を削減することができる。
【０１１３】
以上、本発明の実施例について説明したが、本実施例によって本発明の技術的思想の範囲が限定されるものではなく、特許請求の範囲に記載した技術的思想の範囲を逸脱しない限り、各種様々な実施例が実施可能であることは言うまでもない。また、本実施例に記載した効果は、これに限定されるものではない。
【０１１４】
また、本実施例で説明した各種処理の内、自動的に行われるものとして説明した処理の全部又は一部を手動で行うことも可能であることは勿論のこと、その逆に、手動で行われるものとして説明した処理の全部又は一部を自動で行うことも可能であることは言うまでもない。また、本実施例で説明した処理手順、制御手順、具体的名称、各種データやパラメータを含む情報についても、特記した場合を除き、適宜変更可能であることは言うまでもない。
【０１１５】
また、図示した各装置の各構成要素は機能概念的に記載したものであって、必ずしも物理的に図示のように構成されるものではなく、その各装置の具体的な態様は図示のものに限縮されるものでは到底ないことは言うまでもない。
【０１１６】
さらに、各装置で行われる各種処理機能は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）又はＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＭＣＵ（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌｌｅｒ  Ｕｎｉｔ）等のマイクロ・コンピュータ）上、又は同ＣＰＵ（又はＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良いことは言うまでもない。
【０１１７】
以上、本実施例を含む実施の形態に関し、更に以下の付記を開示する。
【０１１８】
（付記１）オーディオ信号を周波数スペクトル変換して非線形量子化した量子化値をサブバンド単位に分割するサブバンド分割部と、
インデックス番号毎にハフマン符号化後の符号語長を管理した複数種類の符号帳の内、所定の組合せの符号帳を統合し、共通化したインデックス番号毎に、所定ビット数で定義した各符号帳の符合語長を格納した符号語長テーブル及び、前記所定ビット数よりも少ないビット数で定義した各符号帳の符号語長を格納した符号語長テーブルを複数備えた統合符号語長テーブルと、
前記サブバンド分割部にて分割した前記サブバンド内の全量子化値の内、最大絶対値の量子化値に対応する前記所定の組合せの符号帳を前記複数種類の符号帳から選択する符号帳選択部と、
この符号帳選択部にて選択した前記所定の組合せの符号帳に関わる複数の符号語長テーブルの内、任意の符号語長テーブルを選択する符号語長テーブル選択部と、
前記サブバンド分割部にて分割した前記サブバンド内の量子化値を所定本数単位で順次抽出する度に、抽出した量子化値に基づき、前記符号帳選択部にて選択した符号帳で使用するインデックス値を順次算出するインデックス値算出部と、
このインデックス値算出部にて順次算出したインデックス値に基づき、前記符号語長テーブル選択部にて選択した前記符号語長テーブルから符号帳毎の符号語長を一括取得し、これら一括取得した符号語長を符号帳毎に累積加算する符号語長算出部と、
この符号語長算出部にて前記サブバンド内の全ての量子化値に関わる符号帳毎の符合語長の累積加算が完了すると、このサブバンド単位の符号帳毎の符合語長の累積加算結果の内、最小の累積加算結果の符号語長の符号帳を決定し、この決定した符号帳に基づき、このサブバンド内の量子化値を符号化する符号化部とを有することを特徴とするオーディオ符号化装置。
【０１１９】
（付記２）前記符号語長テーブル選択部は、
前記サブバンド内の量子化値の本数に基づき、前記符号帳選択部にて選択した前記所定の組合せの符号帳に関わる複数の符号語長テーブルの内、任意の符号語長テーブルを選択することを特徴とする付記１記載のオーディオ符号化装置。
【０１２０】
（付記３）前記符号語長テーブル選択部は、
前記符号帳選択部にて選択した前記所定の組合せの符号帳に関わる複数の符号語長テーブルの内、所定の操作に応じて、任意の符号語長テーブルを選択することを特徴とする付記１記載のオーディオ符号化装置。
【０１２１】
（付記４）前記複数の符号語長テーブルは、
上位１６ビット幅で第１の符号帳に関わる１６ビットで定義した符号語長を格納すると共に、下位１６ビット幅で第２の符号帳に関わる１６ビットで定義した符号語長を格納する３２ビット幅符号語長テーブルと、
上位８ビット幅で第１の符号帳に関わる８ビットで定義した符号語長を格納すると共に、下位８ビット幅で第２の符号帳に関わる８ビットで定義した符号語長を格納する１６ビット幅符号語長テーブルとを含むことを特徴とする付記１〜３の何れか一に記載のオーディオ符号化装置。
【０１２２】
（付記５）前記符号語長テーブル選択部は、
前記サブバンド内の量子化値の本数が所定本数以下の場合、前記符号帳選択部にて選択した前記所定の組合せの符号帳に関わる前記１６ビット幅符号語長テーブルを自動選択することを特徴とする付記４記載のオーディオ符号化装置。
【０１２３】
（付記６）前記符号語長テーブル選択部は、
前記オーディオ信号の周波数帯域幅が所定周波数帯域よりも狭い場合、前記符号帳選択部にて選択した前記所定の組合せの符号帳に関わる前記１６ビット幅符号語長テーブルを自動選択することを特徴とする付記４記載のオーディオ符号化装置。
【０１２４】
（付記７）前記所定の組合せは、
ＭＰＥＧ−ＡＡＬ規格で使用するハフマン符号帳“１”及びハフマン符号帳“２”の組合せ、ハフマン符号帳“３”及びハフマン符号帳“４”の組合せ、ハフマン符号帳“５”及びハフマン符号帳“６”の組合せ、ハフマン符号帳“７”及びハフマン符号帳“８”の組合せ、ハフマン符号帳“９”及びハフマン符号帳“１０”の組合せの何れかに相当することを特徴とする付記１〜６の何れか一に記載のオーディオ符号化装置。
【０１２５】
（付記８）動画音声を録画再生する録画再生装置に内蔵することを特徴とする付記１〜７の何れか一に記載のオーディオ符号化装置。
【０１２６】
（付記９）音声を録音再生する音声録音再生装置に内蔵することを特徴とする付記１〜７の何れか一に記載のオーディオ符号化装置。
【０１２７】
（付記１０）音声を録音再生する音声録音再生機能を含む携帯電話機に内蔵することを特徴とする付記１〜７の何れか一に記載のオーディオ符号化装置。
【０１２８】
（付記１１）オーディオ信号を周波数スペクトル変換して非線形量子化した量子化値をサブバンド単位に分割するサブバンド分割手順と、
インデックス番号毎にハフマン符号化後の符号語長を管理した複数種類の符号帳の内、所定の組合せの符号帳を統合し、共通化したインデックス番号毎に、所定ビット数で定義した各符号帳の符合語長を格納した符号語長テーブル及び、前記所定ビット数よりも少ないビット数で定義した各符号帳の符号語長を格納した符号語長テーブルを複数備えた統合符号語長テーブルを準備するテーブル準備手順と、
前記サブバンド分割手順にて分割した前記サブバンド内の全量子化値の内、最大絶対値の量子化値に対応する前記所定の組合せの符号帳を前記複数種類の符号帳から選択する符号帳選択手順と、
この符号帳選択手順にて選択した前記所定の組合せの符号帳に関わる複数の符号語長テーブルの内、任意の符号語長テーブルを選択する符号語長テーブル選択手順と、
前記サブバンド分割手順にて分割した前記サブバンド内の量子化値を所定本数単位で順次抽出する度に、抽出した量子化値に基づき、前記符号帳選択手順にて選択した符号帳で使用するインデックス値を順次算出するインデックス値算出手順と、
このインデックス値算出手順にて順次算出したインデックス値に基づき、前記符号語長テーブル選択手順にて選択した前記符号語長テーブルから符号帳毎の符号語長を一括取得し、これら一括取得した符号語長を符号帳毎に累積加算する符号語長算出手順と、
この符号語長算出手順にて前記サブバンド内の全ての量子化値に関わる符号帳毎の符合語長の累積加算が完了すると、このサブバンド単位の符号帳毎の符合語長の累積加算結果の内、最小の累積加算結果の符号語長の符号帳を決定し、この決定した符号帳に基づき、このサブバンド内の量子化値を符号化する符号化手順とを含むプログラムを端末装置に実行させることを特徴とするオーディオ符号化プログラム。
【０１２９】
（付記１２）オーディオ信号を周波数スペクトル変換して非線形量子化した量子化値をサブバンド単位に分割するサブバンド分割ステップと、
インデックス番号毎にハフマン符号化後の符号語長を管理した複数種類の符号帳の内、所定の組合せの符号帳を統合し、共通化したインデックス番号毎に、所定ビット数で定義した各符号帳の符合語長を格納した符号語長テーブル及び、前記所定ビット数よりも少ないビット数で定義した各符号帳の符号語長を格納した符号語長テーブルを複数備えた統合符号語長テーブルを準備するテーブル準備ステップと、
前記サブバンド分割ステップにて分割した前記サブバンド内の全量子化値の内、最大絶対値の量子化値に対応する前記所定の組合せの符号帳を前記複数種類の符号帳から選択する符号帳選択ステップと、
この符号帳選択ステップにて選択した前記所定の組合せの符号帳に関わる複数の符号語長テーブルの内、任意の符号語長テーブルを選択する符号語長テーブル選択ステップと、
前記サブバンド分割ステップにて分割した前記サブバンド内の量子化値を所定本数単位で順次抽出する度に、抽出した量子化値に基づき、前記符号帳選択ステップにて選択した符号帳で使用するインデックス値を順次算出するインデックス値算出ステップと、
このインデックス値算出ステップにて順次算出したインデックス値に基づき、前記符号語長テーブル選択ステップにて選択した前記符号語長テーブルから符号帳毎の符号語長を一括取得し、これら一括取得した符号語長を符号帳毎に累積加算する符号語長算出ステップと、
この符号語長算出ステップにて前記サブバンド内の全ての量子化値に関わる符号帳毎の符合語長の累積加算が完了すると、このサブバンド単位の符号帳毎の符合語長の累積加算結果の内、最小の累積加算結果の符号語長の符号帳を決定し、この決定した符号帳に基づき、このサブバンド内の量子化値を符号化する符号化ステップとを含むことを特徴とするオーディオ符号化方法。
【０１３０】
（付記１３）オーディオ信号を周波数スペクトル変換して非線形量子化した量子化値をサブバンド単位に分割するサブバンド分割部と、
インデックス番号毎にハフマン符号化後の符号語長を管理した複数種類の符号帳の内、所定の組合せの符号帳を統合し、共通化したインデックス番号毎に、所定ビット数で定義した各符号帳の符合語長を格納した符号語長テーブルを複数備えた統合符号語長テーブルと、
前記サブバンド分割部にて分割した前記サブバンド内の全量子化値の内、最大絶対値の量子化値に対応する前記所定の組合せの符号帳を前記複数種類の符号帳から選択する符号帳選択部と、
この符号帳選択部にて選択した前記所定の組合せの符号帳に関わる符号語長テーブルを前記統合符号語長テーブルから選択し、この選択した前記符号語長テーブル内の所定ビット数で定義した各符号帳の符号語長に基づき、前記所定ビット数よりも少ないビット数で定義した各符号帳の符号語長を格納した符号語長テーブルを作成し、この作成した符号語長テーブル又は前記所定ビット数定義の符号語長テーブルを選択可能にする符号語長テーブル選択部と、
前記サブバンド分割部にて分割した前記サブバンド内の量子化値を所定本数単位で順次抽出する度に、抽出した量子化値に基づき、前記符号帳選択部にて選択した符号帳で使用するインデックス値を順次算出するインデックス値算出部と、
このインデックス値算出部にて順次算出したインデックス値に基づき、前記符号語長テーブル選択部にて選択した前記符号語長テーブルから符号帳毎の符号語長を一括取得し、これら一括取得した符号語長を符号帳毎に累積加算する符号語長算出部と、
この符号語長算出部にて前記サブバンド内の全ての量子化値に関わる符号帳毎の符合語長の累積加算が完了すると、このサブバンド単位の符号帳毎の符合語長の累積加算結果の内、最小の累積加算結果の符号語長の符号帳を決定し、この決定した符号帳に基づき、このサブバンド内の量子化値を符号化する符号化部とを有することを特徴とするオーディオ符号化装置。
【図面の簡単な説明】
【０１３１】
【図１】本実施例のオーディオ符号化装置内部の概略構成を示すブロック図である。
【図２】３２ビット幅符号語長テーブルのテーブル内容を概念的に示す説明図である。
【図３】“＃１”及び“＃２”の符号帳の符合語長を統合した“＃１”及び“＃２”の３２ビット幅符号語長テーブルを端的に示す説明図である。
【図４】“＃１”及び“＃２”の１６ビット幅符号語長テーブルを端的に示す説明図である。
【図５】本実施例のオーディオ符号化処理に関わるオーディオ符号化装置内部の処理動作を示すフローチャートである。
【図６】本実施例の３２ビット幅符号語長テーブルを使用した符号語長算出処理に関わる説明図である。
【図７】本実施例の符号語長最小値決定処理に関わる説明図である。
【図８】本実施例の符号語長最小値決定処理に関わる説明図である。
【図９】本実施例の１６ビット幅符号語長テーブルを使用した符号語長算出処理に関わる説明図である。
【符号の説明】
【０１３２】
１  オーディオ符号化装置
１４  サブバンド分割部
１５  符号帳選択部
１６  符号語長テーブル選択部
１７  インデックス値算出部
１８  符号語長算出部
１９  符号化部
２１  符号帳
２２  符号帳テーブル
３３  ３２ビット幅符号語長テーブル
３４  １６ビット幅符号語長テーブル
３５  統合符号語長テーブル
【図１】
2010034794.tif 000004
【図２】
2010034794.tif 000005
【図３】
2010034794.tif 000006
【図４】
2010034794.tif 000007
【図５】
2010034794.tif 000008
【図６】
2010034794.tif 000009
【図７】
2010034794.tif 000010
【図８】
2010034794.tif 000011
【図９】
2010034794.tif 000012