(57)【要約】【課題】高域側符号化データのビット数の局所的な増大を回避することを課題とする。【解決手段】ＳＢＲ符号化装置２０は、入力信号を受信するフィルタバンクと、各種パラメータのビット数を制御する時間／周波数グリッド生成部と、各種パラメータを算出するパラメータ算出部と、パラメータを符号化するパラメータ符号化部と、符号化されたデータを多重化する多重化部と、高域側符号化処理で最終的に生成される高域側符号化データのビット数の上限値を記憶する上限値ビット数記憶部と、前記高域側符号化処理で最終的に生成される高域側符号化データのビット数が、前記上限値ビット数記憶部に記憶される上限値以下になるように、複数のパラメータに関して、音質への影響度が大きいパラメータを優先して符号化し、音質への影響度が小さいパラメータを符号化しないようにすることで、高域側符号化処理を制御するビット数制御部とを備える。【選択図】        図１
2008107415.tif 000002
【特許請求の範囲】
【請求項１】
入力信号を一定のサンプルからなるフレームに分割し、前記入力信号における高域側の周波数帯域信号の特徴を示す複数のパラメータを算出して高域側符号化データを生成する高域側符号化処理を行う符号化装置であって、
前記高域側符号化処理で最終的に生成される高域側符号化データのビット数の上限値を記憶する上限値ビット数記憶手段と、
前記高域側符号化処理で最終的に生成される高域側符号化データのビット数が、前記上限値ビット数記憶手段に記憶される上限値以下になるように、前記高域側符号化処理を制御するビット数制御手段と、
を備えたことを特徴とする符号化装置。
【請求項２】
前記ビット数制御手段は、前記複数のパラメータに関して、前記フレームにおける周波数または／時間方向のグリッド数を少なくすることで、前記高域側符号化処理を制御することを特徴とする請求項１に記載の符号化装置。
【請求項３】
前記ビット数制御手段は、前記複数のパラメータに関して、音質への影響度が大きいパラメータを優先して符号化し、音質への影響度が小さいパラメータを符号化しないようにすることで、前記高域側符号化処理を制御することを特徴とする請求項１に記載の符号化装置。
【請求項４】
前記ビット数制御手段は、前記複数のパラメータに関して、所定の周波数以下の帯域に関するパラメータを優先して符号化することで、前記高域側符号化処理を制御することを特徴とする請求項１に記載の符号化装置。
【請求項５】
前記入力信号の低域側の周波数帯域信号から低域側符号化データを生成する低域側符号化処理を行う低域側符号手段と、
前記低域側符号手段により生成された前記低域側符号化データと前記高域側符号化処理にて生成された前記高域側符号化データとを多重化して外部に伝送する多重化手段とをさらに備えたことを特徴とする請求項１〜４のいずれか一つに記載の符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、入力信号を一定のサンプルからなるフレームに分割し、前記入力信号における高域側の周波数帯域信号の特徴を示す複数のパラメータを算出して高域側符号化データを生成する高域側符号化処理を行う符号化装置に関する。
【背景技術】
【０００２】
従来より、携帯電話やパーソナルコンピュータなどの普及により、インターネットなどのネットワークを介して、容量の大きい音楽ファイルや動画などが送受信されるようになっている。
【０００３】
このような容量の大きい音楽ファイルなどを通信速度が遅い（低ビットレート）回線上で素早く送信するために、容量の大きい音楽ファイルを圧縮して容量を小さくする符号化技術が用いられている。なお、この符号化技術は、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）などに蓄積、記録する場合にも用いられている。そこで、このような符号化技術において、元の音楽ファイルの音質を劣化させることなく、元の音楽ファイルをより小さい容量に符号化する様々な技術が開示されている。
【０００４】
一般的には、このような符号化には、図９に示すように、ＳＢＲ（Ｓｐｅｃｔｒａｌ  Ｂａｎｄ  Ｒｅｐｌｉｃａｔｉｏｎ）符号化方式とコア符号化方式を組み合わせたエンコーダ（符号化器）が用いられる。具体的には、図１０に示すように、入力信号をダウンサンプリングして得られた低域信号をコア符号化方式で符号化し、この低域側の符号化情報を用いて高域側を生成するのに必要な複数の特徴パラメータ情報(例えば、スペクトルのパワー情報、ノイズ性情報、トーン成分の周波数位置情報など)をＳＢＲ符号化方式で符号化する。
【０００５】
このＳＢＲ符号化方式により、例えば、符号化後のファイル容量を元の音楽ファイルの容量より大幅に削減するとともに、符号化後のファイルにおいて、最初から再生するだけでなく、途中からの再生などを行うことができる（特許文献１参照）。
【０００６】
ここで、コア符号化方式とＳＢＲ符号化方式について説明すると、コア符号化方式とは、一般的に、入力信号を周波数領域に変換した領域で符号化する変換符号化方式が用いられ、符号化における量子化誤差と符号化ビット数を任意に制御することができる。この場合、量子化誤差と符号化ビット数はトレードオフの関係にある。つまり、符号化ビット数が少ないと量子化誤差が増大して音質が劣化し、符号化ビット数が多いと量子化誤差が減少し音質が向上する。
【０００７】
そして、ＳＢＲ符号化方式とは、入力信号をフィルタバンクに入力して得られる入力スペクトルを基に、高域側を生成するための複数の特徴パラメータ情報を求め、それを符号化する。ＳＢＲ符号化方式では、図１１に示すように、１フレーム分の入力スペクトル信号（固定長）を時間および周波数方向で分割したセグメント区間（以下、時間／周波数グリッドと呼ぶ）毎に各パラメータを求める。
【０００８】
また、ＳＢＲ符号化方式では、符号化性能を向上させるために入力信号に応じて、この時間/周波数グリッド幅を適応的に変化させる。例えば、入力信号変化が大きい変動部（時間方向のスペクトル変化が大きい）では、時間分解能を高める（時間グリッド幅は小（分割数が多い）、周波数グリッド幅は大（分割数が少ない））。逆に入力信号変化が小さい定常部（時間方向のスペクトル変化が小さい）では、周波数分解能を高める（時間グリッド幅は大（分割数が少ない）、周波数グリッド幅は小（分割数が多い））というように作用させる。
【０００９】
ここで、グリッド幅が小さい（分割数が多い）ほど、1フレーム当りに求められるパラメータ数が増加するため情報量が増加し、結果として符号化ビット数が増大する。また、グリッド毎に求められる各パラメータの符号化ビット数も入力信号の性質に応じて変化する。つまり、ＳＢＲ符号化方式では入力信号の性質に応じて符号化ビット数が変動する。
【００１０】
このようなことから、上記したＳＢＲ符号化方式とコア符号化方式を組み合わせたエンコーダでは、１フレーム当りの使用可能な符号化ビット数を「Ｘ」、コア符号化方式で使用されるビット数を「Ｙ」、ＳＢＲ符号化方式で使用されるビット数を「Ｚ」とすると、図１２に示すように、「Ｙ」と「Ｚ」の総和が「Ｘ」を超えないように、ビット数を制御する。
【００１１】
具体的には、エンコーダでは、まずＳＢＲ符号化方式で使用されるビット数「Ｚ」を決め、総ビット数「Ｘ」から「Ｚ」を引いたビット数が「Ｙ」となり、コア符号化方式で使用されるビット数を「Ｙ」以下になるように制御する。つまり、エンコーダは、使用可能ビット数「Ｘ」に対して、ＳＢＲ符号の「Ｚ」ビット分を差し引いた残りのビット数（Ｙ）でコア符号化を行うことになり、ビット数「Ｙ」を制御することで、全体「Ｘ」のビット数を制御することとなる。
【００１２】
【特許文献１】特開２００６−１０６４７５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
ところで、上記した従来の技術では、総符号化ビット数「Ｘ」が決まっているため、高域側符号化データのビット数を示すＳＢＲ符号化ビット数「Ｚ」が設定されると、低域側符号化データのビット数を示すコア符号化ビット数「Ｙ」が自動的に決定されるので、局所的に「Ｚ」の値が大きくなると、「Ｙ」の値が極端に小さくなるという課題があった。
【００１４】
この課題について、具体的に説明すると、ワンセグ放送向けシステム等では、４８kHzサンプリングのステレオ信号を４０kbps以下の超低ビットレート（高圧縮）条件、つまり、フレーム毎に使用可能なビット数が少ない条件で符号化する場合、上記したようにＳＢＲ符号化ビット数は、入力信号の性質に応じて変動し、フレーム毎に任意のビット数に制御することは出来ない。そして、ＳＢＲ符号の平均ビットレートは一般的に３〜５kbps程度であるが、入力信号の性質によっては局所的に２０kbps以上となる場合がある。
【００１５】
この場合、コア符号化に割当てられる符号化ビット数は、２０kbps以下と極端に少なくなるため、ビット不足によりコア符号化の量子化誤差が増大する。つまり、図１３に示すように、入力信号に対して低域側スペクトルの歪みが大きくなる。さらに歪みの大きい低域側スペクトルを基にＳＢＲで高域側スペクトルを生成するため、低域側の歪みが高域側へと伝播し、結果として全帯域のスペクトル歪みが大きくなり、大幅な音質劣化が引き起こる。
【００１６】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、高域側符号化データのビット数の局所的な増大を回避することが可能である符号化装置を提供することを目的とする。
【課題を解決するための手段】
【００１７】
上述した課題を解決し、目的を達成するため、請求項１に係る発明は、入力信号を一定のサンプルからなるフレームに分割し、前記入力信号における高域側の周波数帯域信号の特徴を示す複数のパラメータを算出して高域側符号化データを生成する高域側符号化処理を行う符号化装置であって、前記高域側符号化処理で最終的に生成される高域側符号化データのビット数の上限値を記憶する上限値ビット数記憶手段と、前記高域側符号化処理で最終的に生成される高域側符号化データのビット数が、前記上限値ビット数記憶手段に記憶される上限値以下になるように、前記高域側符号化処理を制御するビット数制御手段と、を備えたことを特徴とする。
【００１８】
また、請求項２に係る発明は、上記の発明において、前記ビット数制御手段は、前記複数のパラメータに関して、前記フレームにおける周波数または／時間方向のグリッド数を少なくすることで、前記高域側符号化処理を制御することを特徴とする。
【００１９】
また、請求項３に係る発明は、上記の発明において、前記ビット数制御手段は、前記複数のパラメータに関して、音質への影響度が大きいパラメータを優先して符号化し、音質への影響度が小さいパラメータを符号化しないようにすることで、前記高域側符号化処理を制御することを特徴とする。
【００２０】
また、請求項４に係る発明は、上記の発明において、前記ビット数制御手段は、前記複数のパラメータに関して、所定の周波数以下の帯域に関するパラメータを優先して符号化することで、前記高域側符号化処理を制御することを特徴とする。
【００２１】
また、請求項５に係る発明は、上記の発明において、前記入力信号の低域側の周波数帯域信号から低域側符号化データを生成する低域側符号化処理を行う低域側符号手段と、前記低域側符号手段により生成された前記低域側符号化データと前記高域側符号化処理にて生成された前記高域側符号化データとを多重化して外部に伝送する多重化手段とをさらに備えたことを特徴とする。
【発明の効果】
【００２２】
請求項１の発明によれば、高域側符号化処理で最終的に生成される高域側符号化データのビット数の上限値を記憶し、高域側符号化処理で最終的に生成される高域側符号化データのビット数が、記憶される上限値以下になるように、高域側符号化処理を制御するので、高域側符号化データのビット数の局所的な増大を回避することが可能である。
【００２３】
例えば、入力信号に対して、低域側を符号化するコア符号化装置と高域側を符号化するＳＢＲ符号化装置とを組み合わせて使用する場合、全体で使用できるビット数を「Ｘ」、コア符号化装置で使用するビットを「Ｙ」、ＳＢＲ符号化装置で使用するビット数を「Ｚ」とすると、「Ｚ」の上限値を決めて、この上限値を超えないようにＳＢＲ符号化を行うことより、全体のビット数「Ｘ」に対して、「Ｚ」が極端に増大することを防止することができ、ビット数「Ｙ」を十分に確保することができる結果、全体として音質の劣化を防止しつつ、符号化を行うことが可能である。
【００２４】
また、請求項２の発明によれば、複数のパラメータに関して、フレームにおける周波数または／時間方向のグリッド数を少なくすることで、高域側符号化処理を制御するので、音質劣化を防止しつつ、小さいビット数の高域側符号化データを生成することが可能である。
【００２５】
例えば、複数のパラメータそれぞれに対して、時間方向のグリッド幅を大きくして（グリッド数を少なく）高域側符号化処理を行うので、何も制御しない場合に比べて、小さいビット数の高域側符号化データを生成することができるとともに、単純に小さい情報量のビット数に置き換える場合に比べて、音質がよい高域側符号化データを生成することが可能である。
【００２６】
また、請求項３の発明によれば、複数のパラメータに関して、音質への影響度が大きいパラメータを優先して符号化し、音質への影響度が小さいパラメータを符号化しないようにすることで、高域側符号化処理を制御するので、符号化に必要なビット数を段階的に削減していくことができ、より音声劣化を防止した高域側符号化データを生成することが可能である。
【００２７】
例えば、最も音質に影響を及ぼすパラメータの順序が、パラメータＡ、パラメータＢ、パラメータＣ、パラメータＤであるとすると、パラメータＡから順に符号化していき、ビット数の上限値に達すると、それ以降のパラメータを破棄することで、より音声劣化を防止した高域側符号化データを生成することが可能である。
【００２８】
また、請求項４の発明によれば、複数のパラメータに関して、所定の周波数以下の帯域に関するパラメータを優先して符号化することで、高域側符号化処理を制御するので、音質を優先したり、ビット数を優先したりなどの細かい調整をすることが可能である。
【００２９】
例えば、細かい調整として、複数のパラメータそれぞれについて、符号化する帯域と符号化しない帯域とを決めることで、ビット数上限値以下で全てのパラメータを符号化することで、音質への影響度が大きいパラメータを優先して符号化する場合や、フレームにおける周波数または／時間方向のグリッド数を少なくする場合に比べて、入力信号全体の情報を含む符号化データをより効率的に伝送することが可能である。
【００３０】
また、請求項５の発明によれば、入力信号の低域側の周波数帯域信号から低域側符号化データを生成する低域側符号化処理を行い、生成された低域側符号化データと高域側符号化処理にて生成された高域側符号化データとを多重化して外部に伝送するので、低域側と高域側と別々の装置で符号化する場合に比べて、入力信号全体の情報を含む符号化データを効率的に伝送することが可能である。
【発明を実施するための最良の形態】
【００３１】
以下に添付図面を参照して、この発明に係る符号化装置の実施例を詳細に説明する。なお、以下の実施例で用いる主要な用語、実施例１に係る符号化装置の概要および特徴、実施例１に係る符号化装置の構成および処理の手順、実施例１の効果を順に説明し、続いて、他の実施例について説明する。
【実施例１】
【００３２】
［用語の説明］
まず最初に、本実施例で用いる主要な用語を説明する。本実施例で用いる「ＳＢＲ符号化装置（特許請求の範囲に記載の「符号化装置」に対応する。）」とは、スペクトル帯域複製技術（Ｓｐｅｃｔｒａｌ  Ｂａｎｄ  Ｒｅｐｌｉｃａｔｉｏｎ）を適用したオーディオ符号化装置のことであり、入力信号を一定のサンプルからなるフレームに分割し、入力信号における高域側の周波数帯域信号の特徴を示す複数のパラメータを算出して高域側符号化データを生成する高域側符号化処理を行う。
【００３３】
具体的には、ＳＢＲ符号化装置は、入力信号を時間および周波数方向でフレームに分割し、入力信号における高域側の周波数帯域信号の特徴を示す複数のパラメータとして、スペクトルのパワー情報、ノイズ性情報、トーン成分の周波数位置情報などのパラメータを算出し、これらを符号化することで高域側符号化データとしてＳＢＲ符号ストリーム「ｓｂｒ＿ｃｏｄｅ」を生成する。また、この入力信号を受信して、ＳＢＲ符号ストリーム「ｓｂｒ＿ｃｏｄｅ」を生成するまでの一連の処理を「高域側符号化処理」という。
【００３４】
なお、ＳＢＲ符号化装置が用いられるオーディオ符号化規格としては、ＭＰＥＧ−２  ＨＥ−ＡＡＣ方式（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ、Ｈｉｇｈ−Ｅｆｆｉｃｉｅｎｃｙ  Ａｄｖａｎｃｅｄ  Ａｕｄｉｏ  Ｃｏｄｉｎｇ）、ＭＰＥＧ−４  ＨＥ−ＡＡＣ方式、Ｅｎｈａｎｃｅｄ  ａａａＰｌｕｓ、ＭＰ３ＰＲＯなどがある。
【００３５】
そして、「コア符号化装置（特許請求の範囲に記載の「低域側符号化手段」と「多重化手段」とを備えた装置に対応する。）」とは、入力信号を周波数領域に変換した領域で符号化する技術であり、入力信号の低域側の周波数帯域信号から低域側符号化データを生成する低域側符号化処理を行う。具体的には、コア符号化装置は、入力信号の低域側を一定の間隔で分割し、分割した間隔ごとの周波数帯域信号を符号化する。例を挙げると、コア符号化装置は、入力信号をダウンサンプリングして低域入力信号を取得し、それを符号化した低域側符号化データとしてＡＡＣ符号「ＡＡＣ＿ｃｏｄｅ」を生成する。また、入力信号をダウンサンプリングして、ＡＡＣ符号「ＡＡＣ＿ｃｏｄｅ」を生成するまでの一連の処理を「低域側符号化処理」という。
【００３６】
ここで、音楽ファイル（音楽データ）などを符号化した符号化ファイルの送受信について説明すると、一般的に送信側装置（エンコーダ）では、コア符号化装置とＳＢＲ符号化装置とをあわせて構成される。具体的には、コア符号化装置により、入力信号の低域側の周波数帯域信号から低域側符号化データが生成され、また、ＳＢＲ符号化装置により、入力信号における高域側の周波数帯域信号の特徴を示す複数のパラメータを算出して高域側符号化データが生成される。そして、エンコーダは、これらの符号化データを受信側装置（デコーダ）に送信する。
【００３７】
これらの符号化データを受信したデコーダでは、受信した低域側符号化データから低域側データを復号し、高域側符号化データを復号して得られたパラメータを用いて、低域側符号化データから高域側データを復号する。このようにして、送信側（エンコーダ）は、送信対象ファイルを符号化することで小容量のデータにして送信し、受信側（デコーダ）は、受信した符号化データから全帯域のデータを復号して、元の送信対象ファイルを取得する。
【００３８】
［ＳＢＲ符号化装置の概要および特徴］
次に、図１を用いて、実施例１に係るＳＢＲ符号化装置の概要および特徴を説明する。図１は、実施例１に係るＳＢＲ符号化装置の概要および特徴を説明するための図である。
【００３９】
図１に示すように、このＳＢＲ符号化装置は、入力信号を受信するフィルタバンクと、各種パラメータのビット数を制御する時間／周波数グリッド生成部と、各種パラメータを算出するパラメータ算出部（パラメータＡ算出部〜パラメータＤ算出部）と、パラメータを符号化するパラメータ符号化部（パラメータＡ符号化部〜パラメータＤ符号化部）と、符号化されたデータを多重化する多重化部とを備える。ここで、パラメータＡ〜パラメータＤは、順にパラメータＡが音質への影響が最も大きく、パラメータＤが音質への影響が最も小さいパラメータである。また、パラメータＡ〜パラメータＤを符号化するのに必要なビット数は、それぞれ５０ビットずつとする。つまり、「音質への影響度、パラメータ名、必要ビット数」として「１、パラメータＡ、５０」「２、パラメータＢ、５０」「３、パラメータＣ、５０」「４、パラメータＤ、５０」であるとする。
【００４０】
このような構成のもと、上記したように、ＳＢＲ符号化装置は、入力信号を一定のサンプルからなるフレームに分割し、入力信号における高域側の周波数帯域信号の特徴を示す複数のパラメータを算出して高域側符号化データを生成する高域側符号化処理を行うことを概要とするものであり、特に、高域側符号化データのビット数の局所的な増大を回避することが可能である点に主たる特徴がある。
【００４１】
この主たる特徴を具体的に説明すると、ＳＢＲ符号化装置は、高域側符号化処理で最終的に生成される高域側符号化データのビット数の上限値を記憶する上限値ビット数記憶部を備える。具体的に例を挙げれば、『上限値として「１００」』などと記憶する。なお、上限値ビット数記憶部は、高域側符号化処理を符号化対象の途中まで実施して得られたビット数から上限値を推測して記憶してもよく、また、高域側符号化処理を符号化対象の最後まで実施して得られたビット数から推測してもよく、外部から受け付けてあらかじめ記憶してもよい。
【００４２】
そして、ＳＢＲ符号化装置のビット数制御部は、高域側符号化処理で最終的に生成される高域側符号化データのビット数が、上限値ビット数記憶部に記憶される上限値以下になるように、複数のパラメータに関して、音質への影響度が大きいパラメータを優先して符号化し、音質への影響度が小さいパラメータを符号化しないようにすることで、高域側符号化処理を制御する。
【００４３】
上記した例で具体的に説明すると、ＳＢＲ符号化装置のビット数制御部は、まず、音質への影響が最も大きいパラメータＡを符号化する。パラメータＡ符号化部は、パラメータＡを符号化して、符号化データＡ（５０ビット）を多重化部に送信する。続いて、多重化部は、受信した符号化データＡからビット数を算出して、今までに使用された合計ビット数（５０ビット）をビット数制御部に送信する。
【００４４】
ビット数制御部は、次に音質への影響が大きいパラメータＢを符号化する。パラメータＢ符号化部は、パラメータＢを符号化して、符号化データＢ（５０ビット）を多重化部に送信し、多重化部は、受信した符号化データＢからビット数を算出して、今までに使用された合計ビット数（１００ビット）をビット数制御部に送信する。
【００４５】
そして、使用ビット数が上限値まで達したことより、ＳＢＲ符号化装置は、残りのパラメータ（パラメータＣとパラメータＤ）を符号化せずに、符号化データＡと符号化データＢとを多重化して、外部に伝送する。
【００４６】
なお、使用できるビット数に端数が出た場合、ＳＢＲ符号化装置は、次のパラメータを上限値に達するまで符号化してもよく、また、端数は切り捨てて、次のパラメータを符号化しないようにしてもよい。具体的に例を挙げると、「音質への影響度、パラメータ名、ビット数」として「１、パラメータＡ、５０」「２、パラメータＢ、３０」「３、パラメータＣ、４０」「４、パラメータＤ、５０」であった場合、上記したように、ＳＢＲ符号化装置は、まず、音質への影響が最も大きいパラメータＡ「５０ビット」を符号化し、生成した符号化データＡを多重化部に送信するとともに、上限値の「１００ビット」から使用したビット数「５０ビット」を引いて、残りのビット数「５０ビット」を算出する。
【００４７】
続いて、次に音質への影響が大きいパラメータＢを符号化するのに必要なビット数が「３０ビット」であるとともに、上限値まで「５０ビット」残っていることより、ＳＢＲ符号化装置は、次に音質への影響が大きいパラメータＢを符号化し、生成した符号化データＢを多重化部に送信するとともに、上限値の「１００ビット」から使用した合計ビット数「８０ビット」を引いて、残りのビット数「２０ビット」を算出する。
【００４８】
そして、次に音質への影響が大きいパラメータＣを符号化するのに必要なビット数が「４０ビット」であり、上限値まで残り「２０ビット」しかないため、ＳＢＲ符号化装置は、パラメータＣを「２０ビット」に収まるように符号化するようにしてもよく、また、パラメータＣを符号化しないで処理を終了してもよい。
【００４９】
このように、実施例１に係るＳＢＲ符号化装置によれば、最も音質に影響を及ぼすパラメータの順序が、パラメータＡ、パラメータＢ、パラメータＣ、パラメータＤであるとすると、パラメータＡから順に符号化していき、ビット数の上限値に達すると、それ以降のパラメータを破棄する結果、高域側符号化データのビット数の局所的な増大を回避することが可能である。
【００５０】
［ＳＢＲ符号化装置の構成］
次に、図２を用いて、図１に示したＳＢＲ符号化装置の構成を説明する。図２は、実施例１に係るＳＢＲ符号化装置の構成を示すブロック図である。図２に示すように、このＳＢＲ符号化装置２０は、ＱＭＦフィルタバンク２１と、時間／周波数グリッド生成部２２と、スペクトル包絡算出部２３と、スペクトル包絡符号化部２４と、ノイズフロア算出部２５と、ノイズフロア符号化部２６と、インバースフィルタレベル算出部２７と、インバースフィルタレベル符号化部２８と、追加サイン周波数算出部２９と、追加サイン周波数符号化部３０と、上限値ビット数記憶部３１と、ビット数制御部３２と、ＳＢＲ多重化部３３とから構成される。
【００５１】
ＱＭＦフィルタバンク２１は、入力信号を受信して、スペクトル信号を出力する。具体的に例を挙げれば、２０４８サンプルの入力信号「ｉｎｐｕｔ（ｎ）（ｎ＝０、１、・・・、２０４７）」が、１フレームとして入力されると、ＱＭＦフィルタバンク２１は、周波数領域のスペクトル信号「ｓｐｅｃ（ｔ、ｆ）（ｔ＝０、１、・・・、３１）（ｆ＝０、１、・・・、６３）」を時間/周波数グリッド生成部２２と各パラメータ算出部２３、２５、２７、２９に出力する。ここで、ｓｐｅｃ（ｔ、ｆ）は周波数方向ｆに６４サンプルの周波数スペクトルが時間方向ｔに３２サンプル並んだ値となる。
【００５２】
時間／周波数グリッド生成部２２は、ＱＭＦフィルタバンク２１から入力されたスペクトルを周波数方向および時間方向で任意にセグメントに分割し(この時の各セグメントの境界をグリッドと呼ぶ。)、初期グリッド情報を出力する。上記した例で具体的に説明すると、時間／周波数グリッド生成部２２は、ＱＭＦフィルタバンク２１から入力スペクトルｓｐｅｃ（ｔ、ｆ）を受信すると、入力スペクトルｓｐｅｃ（ｔ、ｆ）のパワー分布に応じてｓｐｅｃ（ｔ、ｆ）を周波数方向および時間方向で任意にセグメントに分割し、初期グリッド情報「ｉｎｉｔ＿ｇｒｉｄ（ｔｇ、ｆｇ）」を出力する。ここで、時間方向のセグメント数を「Ｎｉｎｉ」、周波数方向のセグメント数を「Ｍｉｎｉ」とすると、初期グリッド情報は、「ｉｎｉｔ＿ｇｒｉｄ（ｔｇ、ｆｇ）（ｔｇ＝０、１、・・・、Ｎｉｎｉ−１：ｆｇ＝０、１、・・・、Ｍｉｎｉ−１」となる。
【００５３】
そして、時間／周波数グリッド生成部２２は、後述するビット数制御部３２からのビット数制御信号ｂｉｔ＿ｃｏｎｔｒｏｌに応じて、初期グリッド情報「ｉｎｉｔ＿ｇｒｉｄ（ｔｇ、ｆｇ）」を補正し、グリッド情報「ｇｒｉｄ（ｔｇ、ｆｇ）（ｔｇ＝０、１、・・・、Ｎ−１：ｆｇ＝０、１、・・・、Ｍ−１）」として各パラメータ算出部２３、２５、２７、２９に出力する。
【００５４】
スペクトル包絡算出部２３は、入力されたスペクトルの概形を表す特性パラメータをグリッド内に含まれる入力スペクトルｓｐｅｃ（ｔ、ｆ）の平均値から算出し、後述するスペクトル包絡符号化部２４へ出力する。上記した例で具体的に説明すると、スペクトル包絡算出部２３は、時間／周波数グリッド生成部２２から受信したグリッド「ｇｒｉｄ（ｔｇ、ｆｇ）」毎にスペクトル包絡情報「Ｅ（ｇｒｉｄ（ｔｇ、ｆｇ））」を算出し、スペクトル包絡符号化部２４へ出力する。
【００５５】
スペクトル包絡符号化部２４は、スペクトル包絡算出部２３から入力された特性パラメータを符号化し、符号化した符号化データを後述するＳＢＲ符号化部３３に出力する。上記した例で具体的に説明すると、スペクトル包絡符号化部２４は、後述するビット数制御部３２からのビット数制御信号ｂｉｔ＿ｃｏｎｔｒｏｌに応じてグリッド数を制限して、スペクトル包絡算出部２３から入力されたグリッド「ｇｒｉｄ（ｔｇ、ｆｇ）」毎のスペクトル包絡情報「Ｅ（ｇｒｉｄ（ｔｇ、ｆｇ））」を符号化したスペクトル包絡符号「Ｅ＿ｃｏｄｅ（ｇｒｉｄ（ｔｇ、ｆｇ））をＳＢＲ多重化部３３に出力する。なお、グリッド数の制限方法は任意であるが、例えば、周波数方向においてより高域側を優先して制限することでスペクトル包絡符号のビット数を低減するようにしてもよい。
【００５６】
ノイズフロア算出部２５は、ＳＢＲ復号処理の際に生成される高域側の周波数帯域信号スペクトルのトーン成分とノイズ成分比率の調整量を表す特性パラメータを算出し、後述するノイズフロア符号化部２６に出力する。上記した例で具体的に説明すると、ノイズフロア算出部２５は、時間／周波数グリッド生成部２２から入力されたグリッド「ｇｒｉｄ（ｔｇ、ｆｇ）」毎にノイズフロア情報「Ｑ（ｇｒｉｄ（ｔｇ、ｆｇ））」を算出し、ノイズフロア符号化部２６に出力する。
【００５７】
ノイズフロア符号化部２６は、ノイズフロア算出部２５から入力された高域側の周波数帯域信号スペクトルのトーン成分とノイズ成分比率の調整量を表す特性パラメータを符号化し、符号化した符号化データを後述するＳＢＲ符号化部３３に出力する。上記した例で具体的に説明すると、ノイズフロア符号化部２６は、後述するビット数制御部３２からのビット数制御信号ｂｉｔ＿ｃｏｎｔｒｏｌに応じて符号化ビット数を制限して、ノイズフロア算出部２５から入力されたグリッド「ｇｒｉｄ（ｔｇ、ｆｇ）」毎のノイズフロア情報「Ｑ（ｇｒｉｄ（ｔｇ、ｆｇ））」を符号化したノイズフロア符号「Ｑ＿ｃｏｄｅ（ｇｒｉｄ（ｔｇ、ｆｇ））」をＳＢＲ多重化部３３に出力する。なお、符号化ビット数の制限方法は任意であるが、例えば、符号化ビット数が最小となるような固定値に補正することで、ノイズフロア符号のビット数を低減してもよい。
【００５８】
インバースフィルタレベル算出部２７は、ＳＢＲ復号処理の際に高域側の素となる低域側の周波数帯域信号のトーン成分の除去を行うインバースフィルタのレベル情報(除去する程度を制御する)を表す特性パラメータを算出し、後述するインバースフィルタレベル符号化部２８に出力する。上記した例で具体的に説明すると、インバースフィルタレベル算出部２７は、時間／周波数グリッド生成部２２から入力されたグリッド「ｇｒｉｄ（ｔｇ、ｆｇ）」毎にインバースフィルタレベル情報「Ｉｎｖ＿ｆｉｌ＿ｌｅｖｅｌｇｒｉｄ（ｔｇ、ｆｇ）」を算出し、インバースフィルタレベル符号化部２８に出力する。
【００５９】
インバースフィルタレベル符号化部２８は、インバースフィルタレベル算出部２７から入力された低域側の周波数帯域信号のトーン成分の除去を行うインバースフィルタのレベル情報(除去する程度を制御する)を表す特性パラメータを符号化し、符号化した符号化データを後述するＳＢＲ多重化部３３に出力する。上記した例で具体的に説明すると、インバースフィルタレベル符号化部２８は、後述するビット数制御部３２からのビット数制御信号ｂｉｔ＿ｃｏｎｔｒｏｌに応じて符号化ビット数を制限して、インバースフィルタレベル算出部２７から入力されたインバースフィルタレベル情報「Ｉｎｖ＿ｆｉｌ＿ｌｅｖｅｌ（ｇｒｉｄ（ｔｇ、ｆｇ））」を符号化したインバースフィルタレベル符号「Ｉｎｖ＿ｆｉｌ＿ｌｅｖｅｌ＿ｃｏｄｅ（ｇｒｉｄ（ｔｇ、ｆｇ））」をＳＢＲ多重化部３３に出力する。なお、符号化ビット数の制限方法は任意であるが、例えば、符号化情報を削除(伝送しないように)することでインバースフィルタレベル符号のビット数を低減してもよい。
【００６０】
追加サイン周波数算出部２９は、グリッド内に含まれる入力スペクトルのトーン成分を抽出して、スペクトルに含まれる強いトーン性信号の周波数情報を表す特性パラメータを算出し、後述する追加サイン周波数符号化部３０に出力する。上記した例で具体的に説明すると、追加サイン周波数算出部２９は、時間／周波数グリッド生成部２２から入力されたグリッド「ｇｒｉｄ（ｔｇ、ｆｇ）」毎に追加サイン周波数情報「Ａｄｄ＿ｓｉｎｅ（ｇｒｉｄ（ｔｇ、ｆｇ））」を算出して、追加サイン周波数符号化部３０に出力する。
【００６１】
追加サイン周波数符号化部３０は、追加サイン周波数算出部２９から入力されたスペクトルに含まれる強いトーン性信号の周波数情報を表す特性パラメータを符号化し、符号化した符号化データを後述するＳＢＲ符号化部３３に出力する。上記した例で具体的に説明すると、追加サイン周波数符号化部３０は、後述するビット数制御部３２からのビット数制御信号ｂｉｔ＿ｃｏｎｔｒｏｌに応じて符号化ビット数を制限して、追加サイン周波数算出部２９から入力された「Ａｄｄ＿ｓｉｎｅ（ｇｒｉｄ（ｔｇ、ｆｇ））」を符号化して追加サイン周波数符号「Ａｄｄ＿ｓｉｎｅ＿ｃｏｄｅ（ｇｒｉｄ（ｔｇ、ｆｇ））」をＳＢＲ多重化部３３に出力する。なお、符号化ビット数の制限方法は任意であるが、例えば、符号化情報を削除(伝送しないように)することでインバースフィルタレベル符号のビット数を低減してもよい。
【００６２】
上限値ビット数記憶部３１は、高域側符号化処理で最終的に生成される高域側符号化データのビット数の上限値を記憶する。上記した例で具体的に説明すると、上限値ビット数記憶部３１は、高域側符号化処理であるスペクトル包絡符号化部２４と、ノイズフロア符号化部２６とインバースフィルタレベル符号化部２８と、追加サイン周波数符号化部３０とから生成される高域側符号化データのビット数の上限値「Ａｖａｉｌａｂｌｅ＿ｂｉｔｓ」を記憶する。なお、上限値ビット数記憶部３１は、これら上限値を、高域側符号化処理を符号化対象の途中まで実施して得られたビット数から上限値を推測して記憶してもよく、また、高域側符号化処理を符号化対象の最後まで実施して得られたビット数から推測してもよく、外部から受け付けてあらかじめ記憶してもよい。なお、上限値ビット数記憶部３１は、特許請求の範囲に記載の「上限値ビット数記憶手段」に対応する。
【００６３】
ビット数制御部３２は、高域側符号化処理で最終的に生成される高域側符号化データのビット数が、上限値ビット数記憶部３１に記憶される上限値以下になるように、複数のパラメータに関して、音質への影響度が大きいパラメータを優先して符号化し、音質への影響度が小さいパラメータを符号化しないようにすることで、高域側符号化処理を制御する。上記した例で具体的に説明すると、ビット数制御部３２は、上限値ビット数記憶部３１に記憶される上限値（使用可能ビット数「Ａｖａｉｌａｂｌｅ＿ｂｉｔｓ」）を取得し、後述するＳＢＲ多重化部３３からの出力される使用ビット数「Ｕｓｅｄ＿ｂｉｔｓ」を基にビット数制御信号「ｂｉｔ＿ｃｏｎｔｒｏｌ」を出力する。なお、ビット数制御部３２は、特許請求の範囲に記載の「ビット数制御手段」に対応する。
【００６４】
ＳＢＲ多重化部３３は、各パラメータ符号化部から入力されるパラメータ符号の合計符号化ビット数を求め、ビット数制御部３２へ出力するとともに、各パラメータ符号を多重化してＳＢＲ符号ストリームを出力する。上記した例で具体的に説明すると、ＳＢＲ多重化部３３は、各パラメータ符号化部から入力されるパラメータ符号の合計符号化ビット数「Ｕｓｅｄ＿ｂｉｔｓ」を求め、ビット数制御部３２へ出力するとともに、各パラメータ符号を多重化してＳＢＲ符号ストリーム「ｓｂｒ＿ｃｏｄｅ」として出力する。
【００６５】
［ＳＢＲ符号化装置による処理］
次に、図３を用いて、ＳＢＲ符号化装置による処理を説明する。図３は、実施例１に係るＳＢＲ符号化装置における符号化処理の流れを示すフローチャートである。
【００６６】
図３に示すように、入力信号を受信すると（ステップＳ３０１肯定）、ＳＢＲ符号化装置２０は、上限値ビット数記憶部３１からＳＢＲ符号化上限値を取得し（ステップＳ３０２）、高域側符号化処理で最終的に生成される高域側符号化データのビット数が、上限値ビット数記憶部３１に記憶される上限値以下になるように、音質への影響度が大きいパラメータを優先して符号化し、音質への影響度が小さいパラメータを符号化しないようにすることで、高域側符号化処理を制御してＳＢＲ符号化処理を行う（ステップＳ３０３）。
【００６７】
具体的に例を挙げて説明すると、上限値ビット数記憶部３１は、あらかじめ上限値を記憶している。そして、時間／周波数グリッド生成部２２は、ＱＭＦフィルタバンク２１により受信された入力信号から初期グリッド情報を各パラメータ算出部（スペクトル包絡算出部２３、ノイズフロア算出部２５、インバースフィルタレベル算出部２７、追加サイン周波数算出部２９）に出力する。
【００６８】
そして、ビット数制御部３２は、高域側符号化処理で最終的に生成される高域側符号化データのビット数が、上限値ビット数記憶部３１に記憶される上限値以下になるように、音質への影響度が大きいパラメータを優先して符号化し、音質への影響度が小さいパラメータを符号化しないようにすることで、高域側符号化処理を制御する。
【００６９】
その後、各パラメータ算出部は、受信した初期グリッド情報から各パラメータを算出し、各パラメータ符号化部（スペクトル包絡符号化部２４、ノイズフロア符号化部２６、インバースフィルタレベル符号化部２８、追加サイン周波数符号化部３０）に出力する。
【００７０】
そして、各パラメータ符号化部は、受信したパラメータを符号化し、符号化データをＳＢＲ多重化部３３に出力する。その後、ＳＢＲ多重化部３３は、各パラメータ符号化部から入力されるパラメータ符号の合計符号化ビット数を求め、ビット数制御部３２へ出力するとともに、各パラメータ符号を多重化してＳＢＲ符号ストリームを出力する。
【００７１】
なお、上記した例では、あらかじめ上限値を記憶する場合について説明したが、本発明はこれに限定されるものではなく、一定時間経過後の使用合計ビット数から上限値を推測してもよく、最後まで高域側符号化処理してから上限値を推測してもよい。
【００７２】
［実施例１による効果］
このように、実施例１によれば、高域側符号化処理で最終的に生成される高域側符号化データのビット数の上限値を記憶し、高域側符号化処理で最終的に生成される高域側符号化データのビット数が、上限値ビット数記憶部３１に記憶される上限値以下になるように、高域側符号化処理を制御するので、高域側符号化データのビット数の局所的な増大を回避することが可能である。
【００７３】
例えば、入力信号に対して、低域側を符号化するコア符号化装置と高域側を符号化するＳＢＲ符号化装置２０とを組み合わせて使用する場合、全体で使用できるビット数を「Ｘ」、コア符号化装置で使用するビットを「Ｙ」、ＳＢＲ符号化装置２０で使用するビット数を「Ｚ」とすると、「Ｚ」の上限値を決めて、この上限値を超えないようにＳＢＲ符号化を行うことより、全体のビット数「Ｘ」に対して、「Ｚ」が極端に増大することを防止することができ、ビット数「Ｙ」を十分に確保することができる結果、全体として音質の劣化を防止しつつ、符号化を行うことが可能である。
【００７４】
また、実施例１によれば、外部から受け付けた上限値をあらかじめ記憶するものであって、上限値ビット数記憶部３１に上限値が記憶された場合、当該上限値以下になるように、高域側符号化処理を制御するので、一定の時間まで高域側符号化処理を行って得られたビット数から上限値を決定する場合や一度、高域側処理を実行してから上限値を推測する場合に比べて、符号化処理にかかる時間を短縮することが可能である。
【００７５】
また、実施例１によれば、複数のパラメータに関して、音質への影響度が大きいパラメータを優先して符号化し、音質への影響度が小さいパラメータを符号化しないようにすることで、高域側符号化処理を制御するので、符号化に必要なビット数を段階的に削減していくことができ、より音声劣化を防止した高域側符号化データを生成することが可能である。
【００７６】
例えば、最も音質に影響を及ぼすパラメータの順序が、パラメータＡ、パラメータＢ、パラメータＣ、パラメータＤであるとすると、パラメータＡから順に符号化していき、ビット数の上限値に達すると、それ以降のパラメータを破棄する。これにより、より音声劣化を防止した高域側符号化データを生成することが可能である。
【実施例２】
【００７７】
さて、これまで実施例１では、高域側符号化データのビット数が上限値以下になるように制御する手法として、音質への影響度が大きいパラメータを優先して符号化する場合について説明してきたが、本発明はこれに限定されるものではなく、フレームにおける周波数または／時間方向のグリッド数を少なくするようにしてもよい。
【００７８】
そこで、実施例２では、図４を用いて、高域側符号化データのビット数が上限値以下になるように制御する手法として、フレームにおける周波数または／時間方向のグリッド数を少なくする場合について説明する。なお、以下では、実施例２に係るＳＢＲ符号化装置の概要および特徴、実施例２の効果を順に説明する。
【００７９】
［ＳＢＲ符号化装置の概要および特徴（実施例２）］
図４を用いて、実施例２に係るＳＢＲ符号化装置の概要および特徴を説明する。図４は、実施例２に係るＳＢＲ符号化装置の概要および特徴を説明するための図である。
【００８０】
ＳＢＲ符号化装置は、高域側符号化処理で最終的に生成される高域側符号化データのビット数の上限値を記憶する上限値ビット数記憶部を備えており、入力信号を受信すると、高域側符号化処理で最終的に生成される高域側符号化データのビット数が、上限値ビット数記憶部に記憶される上限値以下になるように、高域側符号化処理を制御する。つまり、複数のパラメータに関して、フレームにおける周波数または／時間方向のグリッド数を少なくするように、高域側符号化処理を制御する。
【００８１】
具体的に例を挙げて説明すると、通常、ＳＢＲ符号化装置は、図４の（１）に示すように、周波数グリッドと時間グリッドを調整して入力信号を分割する。ここで、分割された一つのグリッドを符号化するのに一つのパラメータ（１ビット）が必要であった場合、図４の（１）では、２５パラメータ（２５ビット）が必要となる。しかし、図４の（２）に示したように、入力信号が１０グリッドに分割されるように、時間グリッドを通常よりも長い間隔にすると、全体で１０パラメータ（１０ビット）が必要となる。
【００８２】
なお、図４では、時間グリッドを長くした場合を説明したが、本発明はこれに限定されるものではなく、周波数グリッドを長くしてもよく、また、周波数グリッドと時間グリッドの両方のグリッドを長くしてもよい。
【００８３】
このように、実施例２に係るＳＢＲ符号化装置によれば、複数のパラメータそれぞれに対して、時間方向のグリッド幅を大きくして（グリッド数を少なく）高域側符号化処理を行う結果、音質劣化を防止しつつ、小さいビット数の高域側符号化データを生成することが可能である。
【００８４】
なお、図２を用いて、上記した処理を実施する機能部について説明すると、ビット数制御部３２は、入力信号が１０グリッドに分割されるように、時間／周波数グリッド生成部２２に指示し、時間／周波数グリッド生成部２２が各パラメータ算出部に入力信号が１０グリッドに分割した初期グリッド情報を出力する。そして、各パラメータ算出部および各パラメータ符号化部は、この初期グリッド情報に基づいて算出したパラメータを符号化する。
【００８５】
［実施例２による効果］
このように、実施例２によれば、複数のパラメータに関して、フレームにおける周波数または／時間方向のグリッド数を少なくすることで、高域側符号化処理を制御するので、音質劣化を防止しつつ、小さいビット数の高域側符号化データを生成することが可能である。例えば、複数のパラメータそれぞれに対して、時間方向のグリッド幅を大きくして（グリッド数を少なく）高域側符号化処理を行うので、何も制御しない場合に比べて、小さいビット数の高域側符号化データを生成することができるとともに、小さい情報量のビット数に置き換える場合に比べて、音質がよい高域側符号化データを生成することが可能である。
【実施例３】
【００８６】
さて、実施例１では、高域側符号化データのビット数が上限値以下になるように制御する手法として、音質への影響度が大きいパラメータを優先して符号化する場合について説明してきたが、本発明はこれに限定されるものではなく、所定の周波数以下の帯域に関するパラメータを優先して符号化するようにしてもよい。
【００８７】
そこで、実施例３では、図５を用いて、高域側符号化データのビット数が上限値以下になるように制御する手法として、所定の周波数以下の帯域に関するパラメータを優先して符号化する場合について説明する。なお、以下では、実施例３に係るＳＢＲ符号化装置の概要および特徴、実施例３の効果を順に説明する。
【００８８】
［ＳＢＲ符号化装置の概要および特徴（実施例３）］
図５を用いて、実施例３に係るＳＢＲ符号化装置の概要および特徴を説明する。図５は、実施例３に係るＳＢＲ符号化装置の概要および特徴を説明するための図である。
【００８９】
ＳＢＲ符号化装置は、高域側符号化処理で最終的に生成される高域側符号化データのビット数の上限値を記憶する上限値ビット数記憶部を備えており、入力信号を受信すると、高域側符号化処理で最終的に生成される高域側符号化データのビット数が、上限値ビット数記憶部に記憶される上限値以下になるように、複数のパラメータに関して、所定の周波数以下の帯域に関するパラメータを優先して符号化することで、高域側符号化処理を制御する。
【００９０】
具体的に例を挙げて説明すると、通常、ＳＢＲ符号化装置は、図５に示すように、周波数グリッドと時間グリッドを調整して入力信号を分割する。ここで、分割された一つのグリッドを符号化するのに一つのパラメータ（１ビット）が必要であった場合、図５では、２５パラメータ（２５ビット）が必要となる。しかし、周波数グリッドの「Ａ」以下のグリッドを符号化する（「Ａ」以上の周波数を符号化しない）ように高域側符号化処理を制御すると、図５では、符号化するのに全体で１５パラメータ（１５ビット）が必要となる。
【００９１】
このように、実施例３に係るＳＢＲ符号化装置は、細かい調整として、複数のパラメータそれぞれについて、符号化する帯域と符号化しない帯域とを決めることで、ビット数上限値以下で全てのパラメータを符号化することができる結果、音質を優先したり、ビット数を優先したりなどの細かい調整をすることが可能である。
【００９２】
なお、図２を用いて、上記した処理を実施する機能部について説明すると、ビット数制御部３２は、周波数グリッドの「Ａ」以下のグリッドを符号化する（「Ａ」以上の周波数を符号化しない）ように各パラメータ算出部に指示する。そして、各パラメータ算出部および各パラメータ符号化部は、この指示に基づいて算出したパラメータを符号化する。
【００９３】
［実施例３による効果］
このように、実施例３によれば、複数のパラメータに関して、所定の周波数以下の帯域に関するパラメータを優先して符号化することで、高域側符号化処理を制御するので、音質を優先したり、ビット数を優先したりなどの細かい調整をすることが可能である。例えば、細かい調整として、複数のパラメータそれぞれについて、符号化する帯域と符号化しない帯域とを決めることで、ビット数上限値以下で全てのパラメータを符号化することができるので、音質劣化を防止した高域側符号化データを生成することが可能であるとともに、いずれの制御も行わない場合に比べて、小さいビット数の高域側符号化データを生成することが可能である。
【実施例４】
【００９４】
さて、実施例１〜３では、高域側符号化データを生成するＳＢＲ符号化装置についてのみ説明してきたが、本発明はこれに限定されるものではなく、ＳＢＲ符号化装置とコア符号化装置とを組み合わせてもよい。
【００９５】
そこで、実施例４では、図６を用いて、ＳＢＲ符号化装置とコア符号化装置とから構成される符号化システムについて説明する。なお、以下では、実施例４に係る符号化システムの構成、実施例４の効果を順に説明する。
【００９６】
［符号化システムの構成］
図６を用いて、実施例４に係る符号化システムの構成を説明する。図６は、実施例４に係る符号化システムの構成を示すブロック図である。
【００９７】
図６に示すように、符号化システムは、ＳＢＲ符号化装置６０と、コア符号化装置８０とから構成される。ＳＢＲ符号化装置６０は、実施例１で説明したＳＢＲ符号化装置２０と同様の構成・機能であり、つまり、ＳＢＲ符号化装置６０のＱＭＦフィルタバンク６１と、時間／周波数グリッド生成部６２と、スペクトル包絡算出部６３と、スペクトル包絡符号化部６４と、ノイズフロア算出部６５と、ノイズフロア符号化部６６と、インバースフィルタレベル算出部６７と、インバースフィルタレベル符号化部６８と、追加サイン周波数算出部６９と、追加サイン周波数符号化部７０と、上限値ビット数記憶部７１と、ビット数制御部７２と、ＳＢＲ多重化部７３は、実施例１で説明したＳＢＲ符号化装置２０のＱＭＦフィルタバンク２１と、時間／周波数グリッド生成部２２と、スペクトル包絡算出部２３と、スペクトル包絡符号化部２４と、ノイズフロア算出部２５と、ノイズフロア符号化部２６と、インバースフィルタレベル算出部２７と、インバースフィルタレベル符号化部２８と、追加サイン周波数算出部２９と、追加サイン周波数符号化部３０と、上限値ビット数記憶部３１と、ビット数制御部３２と、ＳＢＲ多重化部３３と同様の構成を有するので、ここでは、その詳細な説明は省略する。
【００９８】
ここでは、コア符号化装置８０について説明する。コア符号化装置８０は、ダウンサンプリング部８１と、ＡＡＣ符号化部８２と、ＨＥ−ＡＡＣ多重化部８３とから構成される。ダウンサンプリング部８１は、入力信号をダウンサンプリングして、低域入力信号を後述するＡＡＣ符号化部８２に出力する。具体的に例を挙げれば、２０４８サンプル入力信号「ｉｎｐｕｔ（ｎ）」を１／２のサンプリング周波数にダウンサンプリングして１０２４サンプルの低域入力信号「ｌｏｗ＿ｉｎｐｕｔ（ｎ）（ｎ＝０、１、・・・、１０２３）」をＡＡＣ符号化部８２に出力する。
【００９９】
ＡＡＣ符号化部８２は、コア符号化装置８０に割り当てられたビット数に収まるように低域側符号化データを生成する。具体的には、ＳＢＲ符号化装置６０とコア符号化装置８０との両方で使用できる全体ビット数を「ｈｅ＿ａａｃ＿ａｖａｉｌａｂｌｅ＿ｂｉｔ」とすると、この全体ビット数からＳＢＲ符号化装置６０で使用されたビット数「ｕｓｅｄ＿ｂｉｔ」を減算した結果が、コア符号化装置８０に割り当てられたビット数の上限値「ａａｃ＿ａｖａｉｌａｂｌｅ＿ｂｉｔ」である。そして、ＡＡＣ符号化部８２は、ＡＡＣ符号化ビット数「ａａｃ＿ｕｓｅｄ＿ｂｉｔｓ」が上限値「ａａｃ＿ａｖａｉｌａｂｌｅ＿ｂｉｔ」に収まるように、低域入力信号「ｌｏｗ＿ｉｎｐｕｔ（ｎ）」を符号化してＡＡＣ符号「ＡＡＣ＿ｃｏｄｅ」をＨＥ−ＡＡＣ多重化部８３に出力する。なお、ＡＡＣ符号化部８２は、特許請求の範囲に記載の「低域側符号手段」に対応する。
【０１００】
ＨＥ−ＡＡＣ多重化部８３は、低域側符号化データと高域側符号化データとを多重化して外部に伝送する。上記した例で具体的に説明すると、ＨＥ−ＡＡＣ多重化部８３は、ＳＢＲ符号化装置６０で生成された高域側符号化データであるＳＢＲ符号「Ｓｂｒ＿ｃｏｄｅ」と、コア符号化装置８０で生成された低域側符号化データであるＡＡＣ符号「ＡＡＣ＿ｃｏｄｅ」とを多重化したＨＥ−ＡＡＣ符号「ＨＥ−ＡＡＣ＿ｃｏｄｅ」を外部に伝送する。なお、ＨＥ−ＡＡＣ多重化部８３は、特許請求の範囲に記載の「多重化手段」に対応する。
【０１０１】
［実施例４による効果］
このように、実施例４によれば、ＳＢＲ符号化装置は、入力信号の低域側の周波数帯域信号から低域側符号化データを生成する一連の処理を示す低域側符号化処理を行うコア符号装置と接続されるものであって、コア符号化装置は、低域側符号化データと高域側符号化データとを多重化して外部に伝送するので、低域側と高域側と別々の装置で符号化する場合に比べて、入力信号全体の情報を含む符号化データをより効率的に伝送することが可能である。
【実施例５】
【０１０２】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に示すように、（１）時間／周波数グリッド生成部の分割、（２）高域側符号化処理におけるビット数制御、（３）上限値の算出、（４）システム構成等、（５）プログラム、にそれぞれ区分けして異なる実施例を説明する。
【０１０３】
（１）時間／周波数グリッド生成部の分割
例えば、実施例１〜４で示した時間／周波数グリッド生成部を、図７に示すように、処理形態を考慮して、時間／周波数グリッド設定部と、グリッド補正部に分割してもよい。このように分割すると、時間／周波数グリッド設定部は、入力スペクトルｓｐｅｃ（ｔ、ｆ）のパワー分布に応じてｓｐｅｃ（ｔ、ｆ）を周波数方向および時間方向で任意にセグメントに分割し、初期グリッド情報「ｉｎｉｔ＿ｇｒｉｄ（ｔｇ、ｆｇ）」を出力する。そして、グリッド補正部は、ビット数制御部からのビット数制御信号ｂｉｔ＿ｃｏｎｔｒｏｌに応じて、初期グリッド情報「ｉｎｉｔ＿ｇｒｉｄ（ｔｇ、ｆｇ）」を補正し、グリッド情報「ｇｒｉｄ（ｔｇ、ｆｇ）（ｔｇ＝０、１、・・・、Ｎ−１：ｆｇ＝０、１、・・・、Ｍ−１）」として各パラメータ算出部に出力する。ここで補正の方法は任意であるが、Ｎ≦Ｎｉｎｉ、Ｍ≦Ｍｉｎｉとなるように補正し、符号化するパラメータ数を減らして符号化ビット数を低減する。なお、図７は、時間／周波数グリッド生成部を分割した場合の例を示す図である。
【０１０４】
（２）高域側符号化処理におけるビット数制御
また、実施例１では、高域側符号化処理におけるビット数制御として、音質への影響が大きいパラメータを優先して符号化する場合について説明したが、本発明はこれに限定されるものではなく、生成された高域側符号化データを小さい情報量に置き換えることで、高域側符号化処理（ビット数）を制御してもよい。このようにすることで、非常に小さいビット数の高域側符号化データを生成することが可能である。例えば、高域側符号化処理を行わなかったり、高域側符号化データの伝送先が復号できる最低限の情報を符号化するなどを行うことで、非常に小さいビット数の高域側符号化データを生成することが可能である。
【０１０５】
（３）上限値の算出
また、実施例１〜４では、高域側符号化処理で最終的に生成される高域側符号化データのビット数の上限値をあらかじめ記憶する場合について説明したが、本発明はこれに限定されるものではなく、高域側符号化処理を符号化対象の途中まで実施して得られたビット数から上限値を推測して記憶してもよい。例えば、一定時間経過後の使用合計ビット数から上限値を推測してもよい。
【０１０６】
このようにすることで、例えば、途中まで符号化し、そこまでに消費したビット数を算出し、その結果から使用できるビット数全体に対して、上限値を決定する結果、使用する符号化ビット数の局所的な増大をより正確に回避することが可能である。
【０１０７】
また、高域側符号化処理を符号化対象の最後まで実施して得られたビット数から前記上限値を推測して記憶してもよく、このようにすることで、例えば、一度、高域側符号化処理を行って得られたビット数から、上限値を決定するので、一定の時間まで高域側符号化処理を行って得られたビット数から上限値を決定する場合に比べて、使用する符号化ビット数の局所的な増大をより正確に回避することが可能である。
【０１０８】
また、コア符号化装置とＳＢＲ符号化装置とを備える符号化システムの場合、低域側符号化処理で最終的に生成された低域側符号化データのビット数から前記上限値を推測して記憶してもよく、このようにすることで、低域側符号化処理と高域側符号化処理とのビット数を決定するにあたり、効率のよいビット配分を行うことが可能である。例えば、高域側符号化処理でビット数を多く使用すると、低域側符号化処理で使用できるビット数を少なくなり、全体として音質劣化が起こるが、先に低域側符号化処理を行ってから高域側符号化処理で使用するビット数の上限値を決めることができる結果、効率のよいビット配分を行うことが可能である。
【０１０９】
（４）システム構成等
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合（例えば、時間／周波数グリッド生成部２２とビット数制御部３２と統合するなど）して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。また、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１１０】
（５）プログラム
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。
【０１１１】
［符号化プログラムを実行するコンピュータシステム］
図８は、符号化プログラムを実行するコンピュータシステムの例を示す図である。図８に示すように、コンピュータシステム１００は、ＲＡＭ１０１と、ＨＤＤ１０２と、ＲＯＭ１０３と、ＣＰＵ１０４とから構成される。ここで、ＲＯＭ１０３には、上記の実施例と同様の機能を発揮するプログラム、つまり、図８に示すように、ビット数制御プログラム１０３ａとがあらかじめ記憶されている。
【０１１２】
そして、ＣＰＵ１０４には、このプログラム１０３を読み出して実行することで、図８に示すように、ビット数制御プロセス１０４ａとなる。なお、ビット数制御プロセス１０４ａは、図２に示した、ビット数制御部３２に対応する。
【０１１３】
また、ＨＤＤ１０２には、高域側符号化処理で最終的に生成される高域側符号化データのビット数の上限値を記憶する上限値ビット数テーブル１０２ａが設けられる。なお、上限値ビット数テーブル１０２ａは、図２に示した、上限値ビット数記憶部３１に対応する。
【０１１４】
ところで、上記したプログラム１０３ａは、必ずしもＲＯＭ１０３に記憶させておく必要はなく、例えば、コンピュータシステム１００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」の他に、コンピュータシステム１００の内外に備えられるハードディスクドライブ（ＨＤＤ）などの「固定用の物理媒体」、さらに、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータシステム１００に接続される「他のコンピュータシステム」に記憶させておき、コンピュータシステム１００がこれらからプログラムを読み出して実行するようにしてもよい。
【０１１５】
（付記１）入力信号を一定のサンプルからなるフレームに分割し、前記入力信号における高域側の周波数帯域信号の特徴を示す複数のパラメータを算出して高域側符号化データを生成する高域側符号化処理を行う符号化装置であって、
前記高域側符号化処理で最終的に生成される高域側符号化データのビット数の上限値を記憶する上限値ビット数記憶手段と、
前記高域側符号化処理で最終的に生成される高域側符号化データのビット数が、前記上限値ビット数記憶手段に記憶される上限値以下になるように、前記高域側符号化処理を制御するビット数制御手段と、
を備えたことを特徴とする符号化装置。
【０１１６】
（付記２）前記高域側符号化処理を符号化対象の途中まで実施して得られたビット数から前記上限値を推測して、前記上限値ビット数記憶手段に格納するビット数推測手段をさらに備え、
前記ビット数制御手段は、前記ビット数推測手段により前記上限値ビット数記憶手段に前記上限値が記憶された場合、当該上限値以下になるように、前記高域側符号化処理を制御することを特徴とする付記１に記載の符号化装置。
【０１１７】
（付記３）前記高域側符号化処理を符号化対象の最後まで実施して得られたビット数から前記上限値を推測して、前記上限値ビット数記憶手段に格納するビット数推測手段をさらに備え、
前記ビット数制御手段は、前記ビット数推測手段により前記上限値ビット数記憶手段に前記上限値が記憶された場合、当該上限値以下になるように、前記高域側符号化処理を制御することを特徴とする付記１に記載の符号化装置。
【０１１８】
（付記４）前記上限値ビット数記憶手段は、外部から受け付けた上限値をあらかじめ記憶するものであって、
前記ビット数制御手段は、前記上限値ビット数記憶手段に前記上限値が記憶された場合、当該上限値以下になるように、前記高域側符号化処理を制御することを特徴とする付記１に記載の符号化装置。
【０１１９】
（付記５）前記ビット数制御手段は、前記高域側符号化処理で最終的に生成された高域側符号化データを、前記上限値以下のビット数からなる高域側符号化データに置き換えることで、前記高域側符号化処理を制御することを特徴とする付記１〜４のいずれか一つに記載の符号化装置。
【０１２０】
（付記６）前記ビット数制御手段は、前記複数のパラメータに関して、前記フレームにおける周波数または／時間方向のグリッド数を少なくすることで、前記高域側符号化処理を制御することを特徴とする付記１〜４のいずれか一つに記載の符号化装置。
【０１２１】
（付記７）前記ビット数制御手段は、前記複数のパラメータに関して、音質への影響度が大きいパラメータを優先して符号化し、音質への影響度が小さいパラメータを符号化しないようにすることで、前記高域側符号化処理を制御することを特徴とする付記１〜４のいずれか一つに記載の符号化装置。
【０１２２】
（付記８）前記ビット数制御手段は、前記複数のパラメータに関して、所定の周波数以下の帯域に関するパラメータを優先して符号化することで、前記高域側符号化処理を制御することを特徴とする付記１〜４のいずれか一つに記載の符号化装置。
【０１２３】
（付記９）前記入力信号の低域側の周波数帯域信号から低域側符号化データを生成する低域側符号化処理を行う低域側符号手段と、
前記低域側符号手段により生成された前記低域側符号化データと前記高域側符号化処理にて生成された前記高域側符号化データとを多重化して外部に伝送する多重化手段とをさらに備えたことを特徴とする付記１〜８のいずれか一つに記載の符号化装置。
【０１２４】
（付記１０）前記ビット数推測手段は、前記低域側符号化処理で最終的に生成された低域側符号化データのビット数から前記上限値を推測して、前記上限値ビット数記憶手段に格納し、
前記ビット数制御手段は、前記ビット数推測手段により前記上限値ビット数記憶手段に前記上限値が記憶された場合、当該上限値以下になるように、前記高域側符号化処理を制御することを特徴とする付記１〜９のいずれか一つに記載の符号化装置。
【０１２５】
（付記１１）入力信号を一定のサンプルからなるフレームに分割し、前記入力信号における高域側の周波数帯域信号の特徴を示す複数のパラメータを算出して高域側符号化データを生成する高域側符号化処理を行うことに適した符号化方法であって、
前記高域側符号化処理で最終的に生成される高域側符号化データのビット数の上限値を記憶する上限値ビット数記憶手段と、
前記高域側符号化処理で最終的に生成される高域側符号化データのビット数が、前記上限値ビット数記憶手段に記憶される上限値以下になるように、前記高域側符号化処理を制御するビット数制御工程と、
を含んだことを特徴とする符号化方法。
【０１２６】
（付記１２）入力信号を一定のサンプルからなるフレームに分割し、前記入力信号における高域側の周波数帯域信号の特徴を示す複数のパラメータを算出して高域側符号化データを生成する高域側符号化処理を行うことをコンピュータに実行させる符号化プログラムであって、
前記高域側符号化処理で最終的に生成される高域側符号化データのビット数の上限値を記憶する上限値ビット数記憶手段と、
前記高域側符号化処理で最終的に生成される高域側符号化データのビット数が、前記上限値ビット数記憶手段に記憶される上限値以下になるように、前記高域側符号化処理を制御するビット数制御手順と、
をコンピュータに実行させることを特徴とする符号化プログラム。
【産業上の利用可能性】
【０１２７】
以上のように、本発明に係る符号化装置は、入力信号を一定のサンプルからなるフレームに分割し、前記入力信号における高域側の周波数帯域信号の特徴を示す複数のパラメータを算出して高域側符号化データを生成する高域側符号化処理を行うことに有用であり、特に、高域側符号化データのビット数の局所的な増大を回避することに適する。
【図面の簡単な説明】
【０１２８】
【図１】実施例１に係るＳＢＲ符号化装置の概要および特徴を説明するための図である。
【図２】実施例１に係るＳＢＲ符号化装置の構成を示すブロック図である。
【図３】実施例１に係るＳＢＲ符号化装置における符号化処理の流れを示すフローチャートである。
【図４】実施例２に係るＳＢＲ符号化装置の概要および特徴を説明するための図である。
【図５】実施例３に係るＳＢＲ符号化装置の概要および特徴を説明するための図である。
【図６】実施例４に係る符号化システムの構成を示すブロック図である。
【図７】時間／周波数グリッド生成部を分割した場合の例を示す図である。
【図８】符号化プログラムを実行するコンピュータシステムの例を示す図である。
【図９】従来技術を説明するための図である。
【図１０】従来技術を説明するための図である。
【図１１】従来技術を説明するための図である。
【図１２】従来技術を説明するための図である。
【図１３】従来技術を説明するための図である。
【符号の説明】
【０１２９】
２０  ＳＢＲ符号化装置
２１  ＱＭＦフィルタバンク
２２  時間／周波数グリッド生成部
２３  スペクトル包絡算出部
２４  スペクトル包絡符号化部
２５  ノイズフロア算出部
２６  ノイズフロア符号化部
２７  インバースフィルタレベル算出部
２８  インバースフィルタレベル符号化部
２９  追加サイン周波数算出部
３０  追加サイン周波数符号化部
３１  上限値ビット数記憶部
３２  ビット数制御部
３３  ＳＢＲ多重化部
６０  ＳＢＲ符号化装置
６１  ＱＭＦフィルタバンク
６２  時間／周波数グリッド生成部
６３  スペクトル包絡算出部
６４  スペクトル包絡符号化部
６５  ノイズフロア算出部
６６  ノイズフロア符号化部
６７  インバースフィルタレベル算出部
６８  インバースフィルタレベル符号化部
６９  追加サイン周波数算出部
７０  追加サイン周波数符号化部
７１  上限値ビット数記憶部
７２  ビット数制御部
７３  ＳＢＲ多重化部
８０  コア符号化装置
８１  ダウンサンプリング部
８２  ＡＡＣ符号化部
８３  ＨＥ−ＡＡＣ多重化部
１００  コンピュータシステム
１０１  ＲＡＭ
１０２  ＨＤＤ
１０２ａ  上限値ビット数テーブル
１０３  ＲＯＭ
１０３ａ  ビット数制御プログラム
１０４  ＣＰＵ
１０４ａ  ビット数制御プロセス
【図１】
2008107415.tif 000003
【図２】
2008107415.tif 000004
【図３】
2008107415.tif 000005
【図４】
2008107415.tif 000006
【図５】
2008107415.tif 000007
【図６】
2008107415.tif 000008
【図７】
2008107415.tif 000009
【図８】
2008107415.tif 000010
【図９】
2008107415.tif 000011
【図１０】
2008107415.tif 000012
【図１１】
2008107415.tif 000013
【図１２】
2008107415.tif 000014
【図１３】
2008107415.tif 000015