JP2005265865A - オーディオ符号化のためのビット割り当て方法及び装置 - Google Patents

オーディオ符号化のためのビット割り当て方法及び装置 Download PDF

Info

Publication number
JP2005265865A
JP2005265865A JP2004067769A JP2004067769A JP2005265865A JP 2005265865 A JP2005265865 A JP 2005265865A JP 2004067769 A JP2004067769 A JP 2004067769A JP 2004067769 A JP2004067769 A JP 2004067769A JP 2005265865 A JP2005265865 A JP 2005265865A
Authority
JP
Japan
Prior art keywords
tone
sequence
component
value
quantization step
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004067769A
Other languages
English (en)
Inventor
Sen Chon Kok
セン・チョン コク
Hon Neo Sua
ホン・ネオ スア
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2004067769A priority Critical patent/JP2005265865A/ja
Publication of JP2005265865A publication Critical patent/JP2005265865A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】トーン性のスペクトル成分を含むオーディオ信号を符号化する際に周波数領域でのビット割り当ての無駄を省き効率的に符号化する。
【解決手段】各ブロック浮動小数点ユニットに割り当てビット数以下で割り当て可能な最大の量子化ステップ数を割り当てるように準備的な量子化ステップ数を割り当てる。準備的な量子化ステップ数の割り当てに従い非ゼロ値のスペクトル成分を含むトーン性成分をブロック浮動小数点ユニット毎に探索して検出する。検出されたトーン性成分と残りの周波数スペクトルの符号化に必要なビット使用量を計算し、計算されたビット使用量を割り当てビット数と比較したときに余剰ビットが存在する場合は、余剰ビットをトーン性成分と残りの周波数スペクトルとで共用するようにトーン性成分に量子化ステップ数を割り当てる。余剰ビットのうちで残っているビットを用いて残りの周波数スペクトルに量子化ステップ数を割り当てる。
【選択図】図1

Description

本発明は、ディジタルオーディオ信号をディジタル伝送路を介して送信を行うためのもしくはディジタル記憶媒体又は記録媒体に記憶するためのオーディオ符号化装置において、特定の周波数にエネルギーが集中した典型的なトーン性成分のスペクトル成分を含むディジタルオーディオ信号を効率的に符号化する、オーディオ符号化のためのビット割り当て方法及び装置、並びに、当該オーディオ符号化のためのビット割り当て方法を用いて符号化されたディジタルオーディオ信号を記録した記録媒体に関する。
入力されたディジタルオーディオ信号を時間領域から複数のスペクトル成分にてなる周波数領域に変換することを含むオーディオ符号化処理を実行するために、例えば、特許文献1及び2に記載の装置が存在し、特に、そのようなオーディオ符号化として、非特許文献1に記載のATRAC3(Adaptive TRansform Acoustic Coding 3)の技術が存在する。
オーディオ符号化の目的は、圧縮符号化されたオーディオストリームが復号化器で伸張された後においても、元のソース信号に対して可能な限り高い忠実度が維持されるように、ディジタル化されたオーディオストリームを符号化器で可能な限り少ないビット数に圧縮することにある。オーディオ符号化処理の最も重要な段階がスペクトル量子化であることに、疑問の余地はない。スペクトル量子化は、オーディオ信号の1つのフレームにおける周波数領域の表現を、一連の離散的な値に変換する処理である。量子化ステップ数が大きくなるほど、より微細なスペクトル値を表現できるようになるが、大きな量子化ステップ数を表現するためにはより多くのビットが要求されて、符号化処理が複雑になる。また、実際のスペクトル値とその量子化された値との差が、量子化雑音となる。
周波数スペクトルを量子化する一般的なアプローチは、最初に、この周波数スペクトルを、可変な幅を有するスペクトル成分の複数の連続的なグループに分割することである。次に、各グループ内のスペクトル成分は、これらの値が予め設計された範囲に制限されるように、スケーリング(又は正規化)するための所定の係数(以後、この係数を「スケールファクタ」という。)で除算される。スペクトル成分の各グループに対して所定の量子化ステップ数が割り当てられ、スペクトル成分は次に前記量子化ステップ数と乗算されることで、スケーリングされたスペクトル値にされ、続いて、簡単なバイナリ表現のために、丸めによって離散整数にされる。低い周波数におけるグループは、通常、高い周波数におけるグループより少ないスペクトル成分を含む。スペクトル成分がこのように不均一に分配される理由は、ヒトの聴覚系の音響心理学的な特性に関係する。また、ビット割り当ては、最良の音質をもたらすように、各スペクトル成分のグループが取得すべき量子化ステップ数を決定することを目的としている。
特許第3336617号公報。 特開2000−4163号公報。 藤原洋監修,「画像&音声圧縮技術のすべて」,CQ出版社,166−175ページ,2000年4月。
不可避的に、所定のオーディオ信号に対しては、ある連続的なグループ内のすべてのスペクトル成分に同一の量子化ステップ数を共用させることが理想的とはならない場合がある。ある連続的なグループの周波数スペクトル成分が、低いエネルギーを有する多数の成分と、ほんの少しの、エネルギーが集中した顕著な成分とから構成されていれば、そのグループには、その顕著な成分を正確に表現するために十分に大きい量子化ステップ数が与えられる必要がある。本願明細書では、制限された周波数帯域内にエネルギーが集中した顕著な成分が存在することを「トーン性」といい、この特徴的な顕著なスペクトル成分を「トーン性成分」という。結果として、その顕著な成分以外の低いエネルギーの成分は、たとえそれらが知覚的にはさほど重要でないとしても、顕著な成分と同じ大きさの量子化ステップ数を共用することとなる。これはビットの浪費に繋がり、例えば、1つのグループが32個又は64個のスペクトル成分を含むが、そのうちの3個又は4個のみが顕著な成分であるような場合には、ビットの浪費は特に深刻である。
特許文献1に記載されたような、トーン性成分の検出及び分離を実行するオーディオ符号化ツールが効果を示し得るのは、こうした状況である。特許文献1には、入力信号を符号化する符号化装置において、入力信号を周波数成分に変換する手段と、上記周波数成分をトーン性成分からなる第1の信号とその他の成分からなる第2の信号に分離する手段と、上記第1の信号を上記トーン性成分の周波数軸上での位置情報とともに符号化する第1の符号化手段と、上記第2の信号に基づく信号を符号化する第2の符号化手段とを有することを特徴とする信号符号化装置が記載されている。特許文献1記載の信号符号化装置は、顕著なスペクトル成分を識別しかつ抽出し、これらを別個に符号化することで、残りのスペクトル成分がより少ない量子化ステップ数で符号化され、よって貴重なビット数の消費量を少なくするために使用可能である。
トーン性成分の検出及び分離を実行するオーディオ符号化ツールはビットの節約のために有用であるが、一方で、そのようなオーディオ符号化には、上記検出及び分離に関連付けられたビットストリームの要素が存在し、これらのビットストリームの要素もまた所定のビット数のビットを消費するので、トーン性成分の検出及び分離を実行するオーディオ符号化ツールが適用される場合には、正味の節約ビット数が正になることを保証するように注意を払う必要がある。特許文献1記載の信号符号化装置では、その図4のステップS4において、スペクトル絶対値が局所的に見て他のスペクトル成分よりも大きい極大絶対値スペクトルか否かを判断し、ステップS5において、当該極大絶対値スペクトルを含むその時間ブロックにおける当該極大絶対値スペクトルの変数Aと最大スペクトル絶対値の変数A0との比と、所定の大きさを示す係数Pとの大小比較(A/A0>P)を行い、ステップS8において、極大絶対値スペクトルの近隣のスペクトルのエネルギー値Xと、当該極大絶対値スペクトル及びその近隣のスペクトルを含む所定の帯域内のエネルギー値Yとの比と、所定の割合を示す係数Rとの大小比較(X/Y>R)を実行している。ゆえに、特許文献1記載の信号符号化装置では、あるスペクトル成分の振幅がその近隣のスペクトル成分の振幅に対して急激に増大していると判断されたならば常に当該スペクトル成分はトーン性成分であると判断される。そのため、特許文献1記載の信号符号化装置では、トーン性成分を検出して分離することによってビットを節約しようとしても、検出されたトーン性成分の位置などを伝達するためのビットのビット数が大きくなり、却ってビットを浪費してしまう可能性がある。
すなわち、トーン性成分の検出及び分離は、余分なビットストリームの要素を必要とするようになるので、スペクトル全体におけるすべてのトーン性成分に対して無差別に適用されるべきではない。まずは、ビットの多大な節約をもたらすことが期待されるトーン性成分を検出するための基準が作られる必要がある。また、節約されたビットは、トーン性成分に含まれるスペクトル成分と、その他の非トーン性スペクトルに含まれるスペクトル成分との間で共用される必要がある。このビットを共用するための処理は、過度の複雑さを課すものであってはならない。
従って、重要でないスペクトル成分に対して過度の量子化ステップ数が割り当てられることによるビットの無駄を省き、節約されたビットを再配分することにより元のオーディオ信号に対してより忠実な符号化(又は量子化)が可能な、オーディオ符号化のためのビット割り当て方法及び装置に対する必要性が存在する。
本発明の目的は、以上の問題点を解決し、典型的なトーン性成分のスペクトル成分を含むディジタルオーディオ信号を符号化する際に、周波数領域でのビット割り当ての無駄を省き、音質を損なうことなく効率的にオーディオ信号を符号化することが可能な、オーディオ符号化のためのビット割り当て方法及び装置を提供することにある。
また、本発明の別の目的は、上記オーディオ符号化のためのビット割り当て方法を用いて符号化されたディジタルオーディオ信号を記録した記録媒体を提供することにある。
第1の発明に係るオーディオ符号化のためのビット割り当て方法は、ディジタルオーディオ信号の周波数スペクトルの各スペクトル成分に所定のビット数の割り当てビットを割り当てる、オーディオ符号化のためのビット割り当て方法が提供され、上記周波数スペクトルは、連続する複数のスペクトル成分をそれぞれ含む複数のブロック浮動小数点ユニットに分割されるように設定され、
上記オーディオ符号化のためのビット割り当て方法は、
(a)上記各ブロック浮動小数点ユニットに対して、上記割り当てビットのビット数以下で割り当て可能な最大の量子化ステップ数を割り当てるように準備的な量子化ステップ数の割り当てを実行する前置割り当てステップと、
(b)上記準備的な量子化ステップ数の割り当ての結果に従って、信号強度が所定のしきい値よりも大きいスペクトル成分を含むトーン性成分を上記ブロック浮動小数点ユニット毎に探索して検出するトーン性成分検出ステップと、
(c)上記検出されたトーン性成分と、トーン性成分を持たないブロック浮動小数点ユニットのみで構成される残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算し、上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに余剰のビットが存在する場合は、上記余剰のビットを上記トーン性成分と上記残りの非トーン性の周波数スペクトルとで共用するように、上記トーン性成分に対する量子化ステップ数の割り当てを実行するトーン性成分ビット割り当てステップと、
(d)上記余剰のビットのうちで上記トーン性成分ビット割り当てステップを実行した後で残っているビットを用いて、上記残りの非トーン性の周波数スペクトルに対する量子化ステップ数の割り当てを実行する後置割り当てステップとを含むことを特徴とする。
上記オーディオ符号化のためのビット割り当て方法において、上記トーン性成分検出ステップはさらに、
(a)上記準備的な量子化ステップ数の割り当ての結果に従って、上記各ブロック浮動小数点ユニットの範囲内にあるすべてのスペクトル成分をチェックすることによって、上記各ブロック浮動小数点ユニットの範囲内にあるスペクトル成分がゼロに量子化されるか否かを確認する量子化値確認ステップと、
(b)非ゼロの値に量子化されるスペクトル成分を含む所定の帯域幅をトーン性成分として識別するトーン性成分識別ステップと、
(c)当該ブロック浮動小数点ユニットにおけるスペクトル成分の総数に対する、上記識別されたトーン性成分を含むブロック浮動小数点ユニットにおけるトーン性成分の総数の比が、所定のしきい値以下である場合は、当該ブロック浮動小数点ユニットをトーン性ブロック浮動小数点ユニットとして識別するトーン性ブロック浮動小数点ユニット識別ステップと、
(d)上記識別されたすべてのトーン性ブロック浮動小数点ユニットにおいて上記トーン性成分のロケーションを識別するトーン性成分ロケーション識別ステップとを含むことを特徴とする。
また、上記オーディオ符号化のためのビット割り当て方法において、上記トーン性成分識別ステップにおいて、上記識別されたすべてのトーン性成分の帯域幅は、予め決められた同一個数の連続するスペクトル成分を含むことを特徴とする。
さらに、上記オーディオ符号化のためのビット割り当て方法において、上記トーン性成分検出ステップにおいて、上記ブロック浮動小数点ユニットをトーン性ブロック浮動小数点ユニットとして識別するためのしきい値は予め決められた定数であり、
上記各ブロック浮動小数点ユニットにおけるスペクトル成分の総数は、ブロック浮動小数点ユニットが位置する周波数帯が高くなるに従って次第に増大するように設定されたことを特徴とする。
またさらに、上記オーディオ符号化のためのビット割り当て方法において、上記トーン性成分ビット割り当てステップはさらに、
(a)複数のトーン性成分が存在する場合に、所定の基準に基づいて、上記各トーン性成分に対して単一の量子化ステップ数が割り当てられるべきか、もしくは2種類の量子化ステップ数が割り当てられるべきかを決定するトーン性成分シーケンス数決定ステップと、
(b)上記基準が満たされない場合に、上記複数のトーン性成分を、単一の量子化ステップ数が割り当てられる1つのトーン性成分シーケンスとするトーン性成分シーケンス設定ステップと、
(c)上記1つのトーン性成分シーケンスに含まれる各トーン性成分の量子化ステップ数であるシーケンス量子化ステップ数を、上記すべてのトーン性成分の量子化ステップ数のうちの最大の量子化ステップ数に設定するシーケンス量子化ステップ数設定ステップと、
(d)上記1つのトーン性成分シーケンスにおけるすべてのトーン性成分に、上記シーケンス量子化ステップ数を共用させるトーン性成分シーケンス生成ステップと、
(e)上記シーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算するビット使用量計算ステップと、
(f)上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在しない場合は、このトーン性成分ビット割り当てステップを中止し、上記準備的な量子化ステップ数の割り当てを採用するトーン性成分ビット割り当て取り消しステップと、
(g)上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ上記シーケンス量子化ステップ数の値が予め決められた所定の上限値以上である場合には、現在のシーケンス量子化ステップ数の値で上記シーケンス量子化ステップ数の値を確定するシーケンス量子化ステップ数確定ステップと、
(h)上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ上記シーケンス量子化ステップ数が上記上限値より小さい場合には、上記シーケンス量子化ステップ数の値を現在の値よりも大きい最小の値に増大させ、上記増大後のシーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を再計算し、上記再計算されたビットの使用量が上記割り当てビットのビット数より小さい場合には、上記増大後の値で上記シーケンス量子化ステップ数の値を確定し、上記再計算されたビットの使用量が上記割り当てビットのビット数以上である場合には、上記シーケンス量子化ステップ数の値を増大させる前の値に戻して確定するシーケンス量子化ステップ数変更確定ステップと、
(i)上記シーケンス量子化ステップ数の値が確定した後で、上記すべてのトーン性ブロック浮動小数点ユニットの量子化ステップ数をゼロに設定するトーン性ブロック浮動小数点ユニット量子化ステップ数初期化ステップとを含むことを特徴とする。
また、上記オーディオ符号化のためのビット割り当て方法において、上記トーン性成分シーケンス数決定ステップは、上記トーン性成分に対する正規化係数であるスケールファクタに関連付けられた所定のインデックスを用いて、上記検出されたすべてのトーン性成分のスケールファクタのインデックスの最大値と最小値を検索するステップを含み、
上記トーン性成分シーケンス数決定ステップにおける上記基準は、上記スケールファクタのインデックスの最大値が上記スケールファクタのインデックスの最小値を予め決められたしきい値で上回るか否かということに基づくことを特徴とする。
さらに、上記オーディオ符号化のためのビット割り当て方法において、上記トーン性成分ビット割り当てステップはさらに、
(a)複数のトーン性成分が存在する場合に、所定の基準に基づいて、上記各トーン性成分に対して単一の量子化ステップ数が割り当てられるべきか、もしくは2種類の量子化ステップ数が割り当てられるべきかを決定するトーン性成分シーケンス数決定ステップと、
(b)上記基準が満たされる場合に、上記複数のトーン性成分を、異なる量子化ステップ数がそれぞれ割り当てられる2つのトーン性成分シーケンスに分割するトーン性成分シーケンス設定ステップと、
(c)上記各トーン性成分シーケンスに含まれる各トーン性成分の量子化ステップ数であるシーケンス量子化ステップ数を、上記各トーン性成分シーケンス毎に、当該トーン性成分シーケンスに含まれるすべてのトーン性成分の量子化ステップ数のうちの最大の量子化ステップ数にそれぞれ設定するシーケンス量子化ステップ数設定ステップと、
(d)上記各トーン性成分シーケンスにおけるすべてのトーン性成分に、当該トーン成分シーケンスのシーケンス量子化ステップ数を共用させるトーン性成分シーケンス生成ステップと、
(e)上記各シーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算するビット使用量計算ステップと、
(f)上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在しない場合は、このトーン性成分ビット割り当てステップを中止し、上記準備的な量子化ステップ数の割り当てを採用するトーン性成分ビット割り当て取り消しステップと、
(g)上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ、上記各シーケンス量子化ステップ数の値が、上記各シーケンス量子化ステップ数の値にそれぞれ関連付けられた予め決められた一対の上限値の各上限値以上である場合には、現在の各シーケンス量子化ステップ数の値で上記各シーケンス量子化ステップ数の値を確定するシーケンス量子化ステップ数確定ステップと、
(h)上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ、上記2つのシーケンス量子化ステップ数の少なくとも一方が、当該シーケンス量子化ステップ数に関連付けられた上記上限値より小さい場合には、上記上限値よりも小さい上記2つのシーケンス量子化ステップ数の少なくとも一方の値を現在の値よりも大きい最小の値に増大させ、上記少なくとも一方の値を増大させた後の各シーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を再計算し、上記再計算されたビットの使用量が上記割り当てビットのビット数より小さい場合には、上記2つのシーケンス量子化ステップ数の少なくとも一方の値を増大させた後の値で上記各シーケンス量子化ステップ数の値を確定し、上記再計算されたビットの使用量が上記割り当てビットのビット数以上である場合には、上記2つのシーケンス量子化ステップ数の少なくとも一方の値を増大させる前の値に戻して上記各シーケンス量子化ステップ数の値を確定するシーケンス量子化ステップ数変更確定ステップと、
(i)上記各シーケンス量子化ステップ数の値が確定した後で、上記すべてのトーン性ブロック浮動小数点ユニットの量子化ステップ数をゼロに設定するトーン性ブロック浮動小数点ユニット量子化ステップ数初期化ステップとを含むことを特徴とする。
またさらに、上記オーディオ符号化のためのビット割り当て方法において、上記トーン性成分シーケンス数決定ステップは、上記トーン性成分に対する正規化係数であるスケールファクタに関連付けられた所定のインデックスを用いて、上記検出されたすべてのトーン性成分のスケールファクタのインデックスの最大値と最小値を検索するステップを含み、
上記トーン性成分シーケンス数決定ステップにおいて、上記基準は、上記スケールファクタのインデックスの最大値が上記スケールファクタのインデックスの最小値を予め決められたしきい値で上回るか否かということに基づくことを特徴とする。
また、上記オーディオ符号化のためのビット割り当て方法において、上記トーン性成分シーケンス設定ステップにおいて、上記基準が満たされる場合に、上記スケールファクタのインデックスの最大値と最小値との平均値より大きなスケールファクタのインデックスを有するトーン性成分は、第1のトーン性成分シーケンスにグループ分けされ、残りのトーン性成分は第2のトーン性成分シーケンスにグループ分けされることを特徴とする。
さらに、上記オーディオ符号化のためのビット割り当て方法において、上記シーケンス量子化ステップ数変更確定ステップにおいて、上記2つのシーケンス量子化ステップ数の少なくとも一方の値を現在の値よりも大きい最小の値に増大させる場合に、
(a)より大きい信号強度を有するトーン性成分を含むトーン性成分シーケンスのシーケンス量子化ステップ数の値が、当該シーケンス量子化ステップ数に関連付けられた上記上限値より小さいとき、当該シーケンス量子化ステップ数の値を最初に増大し、
(b)上記より大きい信号強度を有するトーン性成分を含むトーン性成分シーケンスのシーケンス量子化ステップ数の値が、当該シーケンス量子化ステップ数に関連付けられた上記上限値以上であるとき、もう1つの上記シーケンス量子化ステップ数の値がもう1つの上記上限値より小さいならば、当該もう1つのシーケンス量子化ステップ数の値を最初に増大することを特徴とする。
またさらに、上記オーディオ符号化のためのビット割り当て方法において、上記シーケンス量子化ステップ数設定ステップにおいて、上記各トーン性成分の量子化ステップ数は、当該トーン性成分が含まれるブロック浮動小数点ユニットの量子化ステップ数と同一であることを特徴とする。
またさらに、上記オーディオ符号化のためのビット割り当て方法において、上記ビット使用量計算ステップと、上記シーケンス量子化ステップ数変更確定ステップにおける上記ビットの使用量の再計算とは、上記トーン性成分の符号化と、上記残りの非トーン性の周波数スペクトルの符号化とに関連付けられたすべてのビットストリームの要素に基づいて実行されることを特徴とする。
第2の発明に係るオーディオ符号化のためのビット割り当て装置は、ディジタルオーディオ信号の周波数スペクトルの各スペクトル成分に所定のビット数の割り当てビットを割り当てる、オーディオ符号化のためのビット割り当て装置が提供され、上記周波数スペクトルは、連続する複数のスペクトル成分をそれぞれ含む複数のブロック浮動小数点ユニットに分割されるように設定され、
上記オーディオ符号化のためのビット割り当て装置は、
(a)上記各ブロック浮動小数点ユニットに対して、上記割り当てビットのビット数以下で割り当て可能な最大の量子化ステップ数を割り当てるように準備的な量子化ステップ数の割り当てを実行する前置割り当て手段と、
(b)上記準備的な量子化ステップ数の割り当ての結果に従って、信号強度が所定のしきい値よりも大きいスペクトル成分を含むトーン性成分を上記ブロック浮動小数点ユニット毎に探索して検出するトーン性成分検出手段と、
(c)上記検出されたトーン性成分と、トーン性成分を持たないブロック浮動小数点ユニットのみで構成される残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算し、上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに余剰のビットが存在する場合は、上記余剰のビットを上記トーン性成分と上記残りの非トーン性の周波数スペクトルとで共用するように、上記トーン性成分に対する量子化ステップ数の割り当てを実行するトーン性成分ビット割り当て手段と、
(d)上記余剰のビットのうちで、上記トーン性成分ビット割り当て手段が上記準備的な量子化ステップ数の割り当てを実行した後で残っているビットを用いて、上記残りの非トーン性の周波数スペクトルに対する量子化ステップ数の割り当てを実行する後置割り当て手段とを備えたことを特徴とする。
上記オーディオ符号化のためのビット割り当て装置において、上記トーン性成分検出手段はさらに、
(a)上記準備的な量子化ステップ数の割り当ての結果に従って、上記各ブロック浮動小数点ユニットの範囲内にあるすべてのスペクトル成分をチェックすることによって、上記各ブロック浮動小数点ユニットの範囲内にあるスペクトル成分がゼロに量子化されるか否かを確認する量子化値確認手段と、
(b)非ゼロの値に量子化されるスペクトル成分を含む所定の帯域幅をトーン性成分として識別するトーン性成分識別手段と、
(c)当該ブロック浮動小数点ユニットにおけるスペクトル成分の総数に対する、上記識別されたトーン性成分を含むブロック浮動小数点ユニットにおけるトーン性成分の総数の比が、所定のしきい値以下である場合は、当該ブロック浮動小数点ユニットをトーン性ブロック浮動小数点ユニットとして識別するトーン性ブロック浮動小数点ユニット識別手段と、
(d)上記識別されたすべてのトーン性ブロック浮動小数点ユニットにおいて上記トーン性成分のロケーションを識別するトーン性成分ロケーション識別手段とを備えたことを特徴とする。
また、オーディオ符号化のためのビット割り当て装置において、上記トーン性成分識別手段において、上記識別されたすべてのトーン性成分の帯域幅は、予め決められた同一個数の連続するスペクトル成分を含むことを特徴とする。
さらに、上記オーディオ符号化のためのビット割り当て装置において、上記トーン性成分検出手段において、上記ブロック浮動小数点ユニットをトーン性ブロック浮動小数点ユニットとして識別するためのしきい値は予め決められた定数であり、
上記各ブロック浮動小数点ユニットにおけるスペクトル成分の総数は、ブロック浮動小数点ユニットが位置する周波数帯が高くなるに従って次第に増大するように設定されたことを特徴とする。
またさらに、上記オーディオ符号化のためのビット割り当て装置において、上記トーン性成分ビット割り当て手段はさらに、
(a)複数のトーン性成分が存在する場合に、所定の基準に基づいて、上記各トーン性成分に対して単一の量子化ステップ数が割り当てられるべきか、もしくは2種類の量子化ステップ数が割り当てられるべきかを決定するトーン性成分シーケンス数決定手段と、
(b)上記基準が満たされない場合に、上記複数のトーン性成分を、単一の量子化ステップ数が割り当てられる1つのトーン性成分シーケンスとするトーン性成分シーケンス設定手段と、
(c)上記1つのトーン性成分シーケンスに含まれる各トーン性成分の量子化ステップ数であるシーケンス量子化ステップ数を、上記すべてのトーン性成分の量子化ステップ数のうちの最大の量子化ステップ数に設定するシーケンス量子化ステップ数設定手段と、
(d)上記1つのトーン性成分シーケンスにおけるすべてのトーン性成分に、上記シーケンス量子化ステップ数を共用させるトーン性成分シーケンス生成手段と、
(e)上記シーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算するビット使用量計算手段と、
(f)上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在しない場合は、このトーン性成分ビット割り当て手段の動作を中止し、上記準備的な量子化ステップ数の割り当てを採用するトーン性成分ビット割り当て取り消し手段と、
(g)上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ上記シーケンス量子化ステップ数の値が予め決められた所定の上限値以上である場合には、現在のシーケンス量子化ステップ数の値で上記シーケンス量子化ステップ数の値を確定するシーケンス量子化ステップ数確定手段と、
(h)上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ上記シーケンス量子化ステップ数が上記上限値より小さい場合には、上記シーケンス量子化ステップ数の値を現在の値よりも大きい最小の値に増大させ、上記増大後のシーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を再計算し、上記再計算されたビットの使用量が上記割り当てビットのビット数より小さい場合には、上記増大後の値で上記シーケンス量子化ステップ数の値を確定し、上記再計算されたビットの使用量が上記割り当てビットのビット数以上である場合には、上記シーケンス量子化ステップ数の値を増大させる前の値に戻して確定するシーケンス量子化ステップ数変更確定手段と、
(i)上記シーケンス量子化ステップ数の値が確定した後で、上記すべてのトーン性ブロック浮動小数点ユニットの量子化ステップ数をゼロに設定するトーン性ブロック浮動小数点ユニット量子化ステップ数初期化手段とを備えたことを特徴とする。
また、上記オーディオ符号化のためのビット割り当て装置において、上記トーン性成分シーケンス数決定手段は、上記トーン性成分に対する正規化係数であるスケールファクタに関連付けられた所定のインデックスを用いて、上記検出されたすべてのトーン性成分のスケールファクタのインデックスの最大値と最小値を検索する手段を含み、
上記トーン性成分シーケンス数決定手段における上記基準は、上記スケールファクタのインデックスの最大値が上記スケールファクタのインデックスの最小値を予め決められたしきい値で上回るか否かということに基づくことを特徴とする。
さらに、上記オーディオ符号化のためのビット割り当て装置において、上記トーン性成分ビット割り当て手段はさらに、
(a)複数のトーン性成分が存在する場合に、所定の基準に基づいて、上記各トーン性成分に対して単一の量子化ステップ数が割り当てられるべきか、もしくは2種類の量子化ステップ数が割り当てられるべきかを決定するトーン性成分シーケンス数決定手段と、
(b)上記基準が満たされる場合に、上記複数のトーン性成分を、異なる量子化ステップ数がそれぞれ割り当てられる2つのトーン性成分シーケンスに分割するトーン性成分シーケンス設定手段と、
(c)上記各トーン性成分シーケンスに含まれる各トーン性成分の量子化ステップ数であるシーケンス量子化ステップ数を、上記各トーン性成分シーケンス毎に、当該トーン性成分シーケンスに含まれるすべてのトーン性成分の量子化ステップ数のうちの最大の量子化ステップ数にそれぞれ設定するシーケンス量子化ステップ数設定手段と、
(d)上記各トーン性成分シーケンスにおけるすべてのトーン性成分に、当該トーン成分シーケンスのシーケンス量子化ステップ数を共用させるトーン性成分シーケンス生成手段と、
(e)上記各シーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算するビット使用量計算手段と、
(f)上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在しない場合は、このトーン性成分ビット割り当て手段の動作を中止し、上記準備的な量子化ステップ数の割り当てを採用するトーン性成分ビット割り当て取り消し手段と、
(g)上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ、上記各シーケンス量子化ステップ数の値が、上記各シーケンス量子化ステップ数の値にそれぞれ関連付けられた予め決められた一対の上限値の各上限値以上である場合には、現在の各シーケンス量子化ステップ数の値で上記各シーケンス量子化ステップ数の値を確定するシーケンス量子化ステップ数確定手段と、
(h)上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ、上記2つのシーケンス量子化ステップ数の少なくとも一方が、当該シーケンス量子化ステップ数に関連付けられた上記上限値より小さい場合には、上記上限値よりも小さい上記2つのシーケンス量子化ステップ数の少なくとも一方の値を現在の値よりも大きい最小の値に増大させ、上記少なくとも一方の値を増大させた後の各シーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を再計算し、上記再計算されたビットの使用量が上記割り当てビットのビット数より小さい場合には、上記2つのシーケンス量子化ステップ数の少なくとも一方の値を増大させた後の値で上記各シーケンス量子化ステップ数の値を確定し、上記再計算されたビットの使用量が上記割り当てビットのビット数以上である場合には、上記2つのシーケンス量子化ステップ数の少なくとも一方の値を増大させる前の値に戻して上記各シーケンス量子化ステップ数の値を確定するシーケンス量子化ステップ数変更確定手段と、
(i)上記各シーケンス量子化ステップ数の値が確定した後で、上記すべてのトーン性ブロック浮動小数点ユニットの量子化ステップ数をゼロに設定するトーン性ブロック浮動小数点ユニット量子化ステップ数初期化手段とを備えたことを特徴とする。
またさらに、上記オーディオ符号化のためのビット割り当て装置において、上記トーン性成分シーケンス数決定手段は、上記トーン性成分に対する正規化係数であるスケールファクタに関連付けられた所定のインデックスを用いて、上記検出されたすべてのトーン性成分のスケールファクタのインデックスの最大値と最小値を検索する手段を含み、
上記トーン性成分シーケンス数決定手段において、上記基準は、上記スケールファクタのインデックスの最大値が上記スケールファクタのインデックスの最小値を予め決められたしきい値で上回るか否かということに基づくことを特徴とする。
また、上記オーディオ符号化のためのビット割り当て装置において、上記トーン性成分シーケンス設定手段は、上記基準が満たされる場合に、上記スケールファクタのインデックスの最大値と最小値との平均値より大きなスケールファクタのインデックスを有するトーン性成分を、第1のトーン性成分シーケンスにグループ分けし、残りのトーン性成分を第2のトーン性成分シーケンスにグループ分けすることを特徴とする。
さらに、上記オーディオ符号化のためのビット割り当て装置において、上記シーケンス量子化ステップ数変更確定手段が、上記2つのシーケンス量子化ステップ数の少なくとも一方の値を現在の値よりも大きい最小の値に増大させる場合に、
(a)より大きい信号強度を有するトーン性成分を含むトーン性成分シーケンスのシーケンス量子化ステップ数の値が、当該シーケンス量子化ステップ数に関連付けられた上記上限値より小さいとき、上記シーケンス量子化ステップ数変更確定手段は当該シーケンス量子化ステップ数の値を最初に増大し、
(b)上記より大きい信号強度を有するトーン性成分を含むトーン性成分シーケンスのシーケンス量子化ステップ数の値が、当該シーケンス量子化ステップ数に関連付けられた上記上限値以上であるとき、もう1つの上記シーケンス量子化ステップ数の値がもう1つの上記上限値より小さいならば、上記シーケンス量子化ステップ数変更確定手段は当該もう1つのシーケンス量子化ステップ数の値を最初に増大することを特徴とする。
またさらに、上記オーディオ符号化のためのビット割り当て装置において、上記シーケンス量子化ステップ数設定手段において、上記各トーン性成分の量子化ステップ数は、当該トーン性成分が含まれるブロック浮動小数点ユニットの量子化ステップ数と同一であることを特徴とする。
またさらに、上記オーディオ符号化のためのビット割り当て装置において、上記ビット使用量計算手段と、上記シーケンス量子化ステップ数変更確定手段とは、上記トーン性成分の符号化と、上記残りの非トーン性の周波数スペクトルの符号化とに関連付けられたすべてのビットストリームの要素に基づいて上記ビットの使用量の再計算を実行することを特徴とする。
第3の発明に係る記録媒体は、上記オーディオ符号化のためのビット割り当て方法において記載の各ステップを用いて符号化されたディジタルオーディオ信号を記録したことを特徴とする。
従って、本発明によれば、トーン性成分を検出して分離する符号化器を使用することによってトーン性成分を含むディジタルオーディオ信号の音質を高めるための方法及び装置を提供する。この方法及び装置は、所定の基準を参照することによって使用可能なトーン性成分を選択し、周波数スペクトルをトーン性のスペクトル成分とその他のスペクトル成分とに分割し、量子化ステップ数の戦略的な再割り当てを実行してビット数の純節約量をもたらし、新たに生じたビットを両方のスペクトル成分間で共用して音質をバランス良く高める。本発明は、以上記載した特徴機能のすべてを高速かつさほど複雑でない方法で達成することができる。
以下、図面を参照して本発明に係る実施形態について説明する。本願明細書における説明の大部分はATRAC3符号化器を基礎として行うが、その適用可能性は、周波数領域のスペクトル信号に対して、トーン性成分符号化と非トーン性スペクトル符号化とを別個に実行する本実施形態と同様の符号化器(又は量子化器)とを採用する他の符号化器にまで拡張されることが可能である。
図1は、本発明の一実施形態に係るミニディスク記録再生システムの構成を示すブロック図である。この実施形態は、特に、オーディオエンコーダ2内の詳細構成に特徴を有している。
図1において、A/Dコンバータ1はオーディオ入力信号をA/D変換してディジタル化されたオーディオサンプル信号に変換し、次いで、オーディオエンコーダ2は、詳細後述する周波数領域ビット割り当て処理を用いて上記変換されたオーディオサンプル信号を圧縮して符号化し、ATRAC3のビットストリーム信号を発生する。次いで、ミニディスク記録装置3は、ATRAC3のビットストリーム信号を所定の変調記録信号に変調した後、上記変調記録信号をミニディスク4に記録する。一方、ミニディスク再生装置5は、ミニディスク4から記録信号を再生して復調することにより、ATRAC3のビットストリーム信号を再生する。さらに、オーディオデコーダ6は圧縮されているATRAC3のビットストリーム信号をディジタルオーディオ信号に復号化した後、最後にD/Aコンバータ7はディジタルオーディオ信号をD/A変換してオーディオ出力信号を出力する。
上述の周波数領域ビット割り当て処理によって、典型的なトーン性成分のスペクトル成分を含むディジタルオーディオ信号を符号化する際に、周波数領域でのビット割り当ての無駄を省き、音質を損なうことなく効率的にオーディオ信号を符号化することができる。この実施形態では、記録再生システムは、ATRAC3のビットストリーム信号をミニディスク4に記録するように構成されているが、本発明はこれに限らず、その他のコンピュータにより読み取り可能な記録媒体又は伝送媒体を用いるように記録再生システムや伝送システムを構成してもよい。記録媒体の例としては、Hi−MD、CD−ROM、CD−RAM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−R、DVD+R、DVD−RW及びDVD+RWなどのような光ディスクと、他の形式の光記録媒体と、ハードディスク等の磁気ディスクや磁気テープなどのような磁気記録媒体と、半導体記憶媒体とを含むが、これらに制限されない。
図2は、図1のオーディオエンコーダ2の詳細構成を示すブロック図である。図2において、オーディオエンコーダ2は、ATRAC3の音声信号圧縮技術を用いた典型的な変換符号化器であるが、オーディオエンコーダ2の詳細構成のうち、特に、周波数領域ビット割り当て部17の詳細動作において特徴を有している。ATRAC3は、基本的に、44.1kHzでサンプリングされたオーディオサンプル信号のストリームに対して構成された、サブバンド符号化と変換符号化の技術のハイブリッド符号化方法である。
図2に示すように、オーディオエンコーダ2は、時間領域においてそれぞれ1024個のサンプルを備える連続的なオーディオサンプル信号のフレームを、2ステージのQMF(直交ミラーフィルタ)分割フィルタ10を用いて、4つの部分帯域(サブバンド)信号に周波数帯域分割し、次に、各部分帯域毎に、時間方向にそれぞれ256個のサンプル信号を有するフレームに分割した信号(以下、サブバンドフレームという。)を出力する。ここで、QMF分割フィルタ10は、詳しくは、オーディオサンプル信号を低域信号と高域信号に等分するローパスフィルタ11及びハイパスフィルタ12と、上記分割された低域及び高域信号を周波数についてさらに等分するフィルタバンク13−1乃至13−4とを備えて構成される。従って、QMF分割フィルタ10の出力は、それぞれ256個のサンプル信号を有する、4つのダウンサンプリングされたサブバンドフレームである。それらの各々は、時間軸上では、変形離散コサイン変換(MDCT変換)のための変換ブロックの半分の長さであり、0乃至5.5kHz、5.5kHz乃至11kHz、11kHz乃至16.5kHz、及び16.5kHz乃至22kHzの4つの周波数帯のそれぞれから得られるオーディオ信号である。
次いで、フィルタバンク13−1乃至13−4の後段にそれぞれ、ジョイントステレオ処理を実行するジョイントステレオ処理部14−1乃至14−4をさらに備える。ジョイントステレオ処理部14−1乃至14−4は、例えば、ステレオ信号として入力されたオーディオ信号を、右チャンネル信号と左チャンネル信号との平均信号と、右チャンネル信号の利得データと、左チャンネル信号の利得データとに変換し、オーディオ信号のさらなる圧縮を達成することができる。このジョイントステレオ処理の処理形式に関する情報は、オーディオ信号とは別に、サイド情報としてビットストリームマルチプレクサ20に送られる。
次いで、各サブバンドフレームに対して利得制御が実行される。ここで、サブバンドフレーム中の各オーディオサンプル信号に対する利得制御の大きさ(すなわち増幅率又は減衰率)を定義する利得係数を、サブバンドフレームを単位としてまとめたものを「修正関数」と呼ぶ。ジョイントステレオ処理部14−1乃至14−4から出力された各サブバンドフレームの信号は、利得制御部15−1乃至15−4にそれぞれ入力され、各利得制御部15−1乃至15−4は、各サブバンドフレームに対する修正関数を計算し、この計算された修正関数を用いて各サブバンドフレームに対して利得制御を実行する。計算された修正関数は、サイド情報としてビットストリームマルチプレクサ20に送られる。
ただし、ジョイントステレオ処理と利得制御とを実行することは、本発明に係る実施形態においては必須の構成要素ではなく、オプションである。
利得制御部15−1乃至15−4は、さらに、MDCT処理部16−1乃至16−4における変形離散コサイン変換(MDCT)処理に先行した処理として、サブバンドフレームの境界における修正関数の連続性を保証しながら、2つの連続的なサブバンドフレーム、すなわち現在のサブバンドフレームと先行するサブバンドフレームとを互いに縦続接続する。ゆえに、縦続接続された2つのサブバンドフレームは、隣接するブロックがそれぞれ50%の重複を有するMDCTのための変換ブロック全体を形成した後、MDCT処理部16−1乃至16−4に入力される。
MDCT処理部16−1は、1つの周波数帯域で利得制御され、かつMDCT処理するための変換ブロックに縦続接続された少なくとも2つのサブバンドフレーム毎の信号に対してそれぞれ変形離散コサイン変換処理を実行し、その結果として生じる周波数領域のスペクトル情報信号(スペクトル成分spec[i]と表記する。)を周波数領域ビット割り当て部17に出力する。
周波数領域ビット割り当て部17は、量子化ステップ数前置割り当て部、トーン性成分検出部、トーン性成分ビット割り当て部、及び量子化ステップ数後置割り当て部など(いずれも図示せず。)を備えて構成され、MDCT処理された情報信号から、詳細後述する周波数領域ビット割り当て処理により、トーン性成分に含まれるスペクトル成分の信号と、残りの非トーン性の周波数スペクトルに含まれるスペクトル成分の信号とを分離して、それぞれをトーン性成分符号化器18と非トーン性スペクトル符号化器19に出力する。ここで、トーン性成分符号化器18は、トーン性成分に含まれるスペクトル成分の信号に対して符号化及び量子化の処理を実行する一方、それとは個別に、非トーン性スペクトル符号化器19は、非トーン性の周波数スペクトルに含まれるスペクトル成分の信号に対して符号化及び量子化の処理を実行する。
次いで、ビットストリームマルチプレクサ20は、ハフマン符号化器及びマルチプレクサなど(図示せず。)を備えて構成され、トーン性成分符号化器18と非トーン性スペクトル符号化器19とにおいて符号化された信号を、複数個(例えば14個)の固定長及び/又は可変長のハフマンテーブルを用いて圧縮し、次いで、ジョイントステレオ処理部14−1乃至14−4における処理データと、利得制御部15−1乃至15−4における利得制御データと、周波数領域ビット割り当て部17におけるビット割り当てデータと、トーン性成分符号化器18において符号化されたトーン性成分信号のデータと、非トーン性スペクトル符号化器19において符号化された非トーン性のスペクトル信号のデータとを含み、ATRAC3標準に従うサイド情報とを多重化することにより、ATRAC3のビットストリーム信号を得て出力する。
本実施形態のオーディオエンコーダ2によれば、典型的なトーン性成分のスペクトル成分を含むディジタルオーディオ信号を符号化する際に、周波数領域でのビット割り当ての無駄を省き、音質を損なうことなく効率的にオーディオ信号を符号化することが可能である。オーディオエンコーダ2による周波数領域ビット割り当て処理は、高速での実行が可能であるにも拘わらず、優れた音質を実現することができる。また、このオーディオエンコーダ2によれば、音質を損なうことなく効率的に符号化されたディジタルオーディオ信号を得ることができる。
以下、本実施形態のオーディオエンコーダ2の周波数領域ビット割り当て部17によって実行される周波数領域ビット割り当て処理の原理について説明する。
背景技術の項において説明したように、所定のオーディオ信号に対しては、あるグループ内のすべてのスペクトル成分に同一の量子化ステップ数を共用させることが理想的とはならない場合がある。図3(a)はトーン性成分の検出及び分離を用いないときの周波数領域の各スペクトル成分に対する量子化ステップ数の割り当てを示すグラフであり、図3(b)は図2のオーディオエンコーダ2を用いてトーン性成分の検出及び分離を実行したときの周波数領域の各スペクトル成分に対する量子化ステップ数の割り当てを示すグラフである。これらの図は、周波数領域ビット割り当て部17が、周波数スペクトルを、トーン性成分に属するスペクトル成分と、残りの非トーン性スペクトルに属するスペクトル成分とに分離し、それらに異なる量子化ステップ数を適用することによって、ビット数の節約量を向上させる様子を示している。図3(a)及び(b)の縦軸は、グラフ中の折れ線に対応してオーディオ信号の信号強度を示すとともに、周波数軸(横軸)に平行な直線に対応して当該オーディオ信号に割り当てられた量子化ステップ数を示している。図3(a)に示されたように、あるグループの周波数成分(すなわちスペクトル成分)が、低いエネルギーを有する多数の成分と、ほんの少しの高いエネルギーを有する顕著な成分とから構成されていれば、そのグループには、その顕著な成分を正確に表現するために十分に大きい量子化ステップ数が与えられる必要がある。結果として、その顕著な成分以外の低いエネルギーの成分は、たとえそれらが知覚的にはさほど重要でないとしても、顕著な成分と同じ大きさの量子化ステップ数を共用することとなり、ビットの浪費に繋がる。
トーン性成分の検出及び分離を実行するオーディオ符号化ツールが効果を示し得るのは、こうした状況である。例示として、図3(b)を参照されたい。その一方で、トーン性成分の検出及び分離を実行するオーディオ符号化には、上記検出及び分離に関連付けられたビットストリームの要素が存在し、これらのビットストリームの要素もまた所定のビット数のビットを消費するので、トーン性成分の検出及び分離を実行するオーディオ符号化ツールが適用される場合には、正味の節約ビット数が正になることを保証するように注意を払う必要がある。
本実施形態のための枠組みを説明するために、以下、周波数領域ビット割り当て部17の動作について詳細に説明する。
本実施形態において、周波数領域ビット割り当て部17は、MDCT処理部16−1乃至16−4において時間領域から周波数領域に変換された後の周波数スペクトルを、所定個数の連続したスペクトル成分をそれぞれ含む複数のグループに分割し、本願明細書では、これらのグループをブロック浮動小数点ユニット(BFU)と呼ぶ。各MDCT処理部16−1乃至16−4は、変換後の周波数スペクトルとして、合計で1024個のスペクトル成分spec[i](0≦i≦1023)を周波数領域ビット割り当て部17に出力し、周波数領域ビット割り当て部17は、周波数スペクトルの全体(すなわち1024個のスペクトル成分)を32個のブロック浮動小数点ユニットに分割し、ここで、各ブロック浮動小数点ユニットには、低域側周波数から高域側周波数に向かって次第に増大するインデックスbu(0≦bu≦31)が付与される。最初のブロック浮動小数点ユニット(bu=0で表される最も低域側のブロック浮動小数点ユニット)は最も少ない個数のスペクトル成分を含み、周波数帯が高くなるにつれてブロック浮動小数点ユニット中のスペクトル成分の個数は次第に増大し、最後のブロック浮動小数点ユニット(bu=31で表される最も高域側のブロック浮動小数点ユニット)は最も多い個数のスペクトル成分を含んでいる。表1は、各スペクトル成分を32個のブロック浮動小数点ユニットにグループ分けした一例を示す。
Figure 2005265865
表1において、FirstSpec(bu)は、ブロック浮動小数点ユニットbuの最初の(すなわち最も低域側の)スペクトル成分であり、LastSpec(bu)は、ブロック浮動小数点ユニットbuの最後の(すなわち最も高域側の)スペクトル成分である。ビット不足に起因して、すべてのブロック浮動小数点ユニットを符号化することは不可能であり、よって通常は帯域幅が犠牲にされる。符号化する最後の(すなわち最も高い周波数帯の)ブロック浮動小数点ユニットは、max_bfunitで特定される。
ブロック浮動小数点ユニットに対して正規化処理(スケーリング)を実行するために、多数のスケールファクタが指定されている。スケールファクタは、各スペクトル成分の値に対する正規化係数であって、単一のブロック浮動小数点ユニットに含まれる各スペクトル成分に対して共通である。スペクトル成分の値をスケールファクタで除算することによって正規化処理が実行される。下記は、スケールファクタのインデックスSFと、スケールファクタの実際の値ScaleFact(SF)との関係の一例である。
[数1]
ScaleFact(0)=0.99999999×2−5
ScaleFact(1)=0.62996052×2−4
ScaleFact(2)=0.79370052×2−4
3≦SF≦63の場合は、次式を満たす。
[数2]
ScaleFact(SF)=2×ScaleFact(SF−3)
例えば、Maxが、ブロック浮動小数点ユニットbu内におけるスペクトル成分の絶対値の最大値(例えば、1000又は10000など)であれば、当該ブロック浮動小数点ユニットbuに対するスケールファクタのインデックスをsf_index[bu]で表すと、このインデックスsf_index[bu]は、次式を満たす。
[数3]
ScaleFact(sf_index[bu])>Max
ScaleFact(sf_index[bu]−1)≦Max
以上説明したスケールファクタについての詳細については、特許文献2が参照される。
ブロック浮動小数点ユニットbuに対して、量子化ステップ数のインデックスをstep[bu](step[bu]は0乃至7の整数)で表すとき、表2は、当該ブロック浮動小数点ユニットbuに対する量子化ステップ数のインデックスstep[bu]と、実際の最大量子化ステップ数MaxQuant(step[bu])との関係の一例を示す。
Figure 2005265865
最大量子化ステップ数MaxQuant(step[bu])の値は、インデックスstep[bu]の値が増大するにつれて増大する。
あるスペクトル成分spec[i]の量子化値QS[i]は、次式で得られる。
[数4]
QS[i]
=ROUND(spec[i]×(MaxQuant(step[bu])+0.5)
÷ScaleFact[sf_index[bu]])
ここで、関数ROUND( )は、かっこ内の値の四捨五入を実行する。また、ブロック浮動小数点ユニットbuは、スペクトル成分FirstSpec(bu)以上でかつLastSpec(bu)以下のスペクトル成分で構成される。すなわち、インデックスi及びbuは次式を満たす。
[数5]
FirstSpec[bu]≦i≦LastSpec[bu]
0≦bu≦max_bfunit
周波数領域ビット割り当て部17は、入力された各スペクトル成分に対して、各ブロック浮動小数点ユニットを単位として仮数×指数の表現を用いた浮動小数点処理を実行する。ここで、各ブロック浮動小数点ユニット内では、それぞれ共通の指数を用いるが、上述のスケールファクタScaleFact[sf_index[bu]]が、「bu」のインデックスをそれぞれ有する各ブロック浮動小数点ユニットでの共通の指数部を表す。また、スペクトル成分spec[i]の量子化値QS[i]が浮動小数点の仮数部である。従って、スペクトル成分spec[i]は、本実施形態の浮動小数点表示では、数4を変形することにより次式のように表される。
[数6]
spec[i]=ScaleFact[sf_index[bu]]×QS[i]
÷(MaxQuant(step[bu])+0.5)
本実施形態において、トーン性成分を検出して分離する周波数領域ビット割り当て部17が設けられているのは、ビットの節約を達成するためでもある。まず最初に、符号化されるトーン性成分のロケーション(k番目のトーン性成分の場合、開始ロケーションcloc[k]として知られる。ここで、0≦cloc[k]≦1023を満たす。)が決定される必要がある。詳しくは、非特許文献1に記載されたように、オーディオエンコーダ2から出力される非トーン性スペクトルのデータは、ブロック浮動小数点ユニットbu毎に与えられたスケールファクタのインデックスsf_index[bu]と、量子化ステップ数のインデックスstep[bu]と、インデックスiで表される各スペクトル成分の量子化値QS[i]とを含む。また、オーディオエンコーダ2から出力されるトーン性成分のデータは、周波数スペクトル全体におけるk番目のトーン性成分の開始ロケーションcloc[k]と、トーン性成分の帯域幅cwid[k]と、トーン性成分のスケールファクタのインデックスcsf[k]と、トーン性成分の量子化ステップ数のインデックスcstep[k]と、k番目のトーン性成分に属するj番目のスペクトル成分の量子化値QS[k,j](0≦j≦cwid[k]−1)とを含む。
周波数領域ビット割り当て部17は、さらに、複数のトーン性成分が検出された場合に、これらのトーン性成分を所定個数のトーン性成分シーケンスに分離する。トーン性成分シーケンスとは、符号化効率を向上させるために、複数のトーン性成分を、トーン性成分の帯域幅cwid[k]や、トーン性成分の量子化ステップ数のインデックスcstep[k]などの属性によってグループ化するときの単位である。1つのトーン性成分シーケンスcsでは、トーン性成分の帯域幅cwid[k]及び量子化ステップ数のインデックスcstep[k]は一定である。
周波数領域ビット割り当て部17におけるトーン性成分の検出及び分離は、選択されたトーン性成分を、所定個数(composeq_numとして知られる。)のトーン性成分シーケンスにグループ分けする際における柔軟性を与える。言い換えると、複数のトーン性成分を、トーン性成分の帯域幅データや、トーン性成分の量子化ステップ数などの属性によってトーン性成分シーケンスにグループ化して符号化するときに自由度が存在し、トーン性成分シーケンスへのグループ化においては、様々な態様が可能である。本実施形態で、各トーン性成分シーケンスは、当該トーン性成分シーケンスに属するすべてのトーン性成分が、1つの量子化ステップ数のインデックスcstep[cs](本願明細書では、シーケンス量子化ステップ数のインデックスという。ここで、csはトーン性成分シーケンスのインデックスである。)と1つの成分の帯域幅(cwid[cs]として知られる。)とを共用するように特定される。
本実施形態に係る処理の方針は、上述のビットストリームの要素であって、周波数領域ビット割り当て部17からビットストリームマルチプレクサ20に出力されるサイド情報(すなわち、cloc[k]、composeq_num、cstep[cs]及びcwid[cs])を決定することにある。さらに、本処理は、典型的なトーン性成分のスペクトル成分を含むディジタルオーディオ信号を符号化する際に、これらのサイド情報を過度に増加させることなく、周波数領域でのビット割り当ての無駄を省き、音質を損なうことなく効率的にオーディオ信号を符号化することを目的としている。
前述したように、トーン性成分を含む信号に対して、トーン性成分符号化ツールがコーデック又は符号化器に設けられている場合、こうしたツールはビット割り当てを改善するために使用される。このツールが使用されると、余分なビットストリームの要素を必要とするようになるので、スペクトル全体におけるすべてのトーン性成分に対して無差別に適用されるべきではない。まずは、ビットの多大な節約をもたらすことが期待されるトーン性成分を検出するための基準が作られる必要がある。この検出の原理は、別個に符号化するためにトーン性成分が抽出された後では音質に対するそれらトーン性成分の寄与に関する限り無視できるようになるトーン性成分を、ブロック浮動小数点ユニットから捜し出すことにある。
検出されたトーン性成分は強度において差を有する可能性もあり、そのため、そのトーン性成分が2つ又は複数の「シーケンス」に分割されかつ各シーケンスに異なる量子化ステップ数が与えられれば、ビットのさらなる節約が達成されるであろう。複数のシーケンスに分割することによって導入される余分なビットストリームの要素をモニタリングしながら、2つ又は複数のシーケンスの必要性を決定するための基準が設定される必要がある。
また、節約されたビットは、トーン性成分に属するスペクトル成分とその他のスペクトル成分との間で共用される必要がある。この共用するための処理は、過度の複雑さを課すものであってはならない。
次に、周波数領域ビット割り当て部17における周波数領域ビット割り当て処理について、図4乃至図7のフローチャートを参照して説明する。
図4は、図2の周波数領域ビット割り当て部17によって実行される周波数領域ビット割り当て処理を示すフローチャートである。図4は、本発明に係る実施形態の主要な処理を4つのモジュールに分解して示した図である。周波数領域ビット割り当て部17は、最初に、ステップS1で量子化ステップ数の前置割り当て処理を実行し、ここでは、各ブロック浮動小数点ユニットに対して、入力されるディジタルオーディオ信号の周波数スペクトル全体のための割り当てビットのビット数以下で割り当て可能な最大の量子化ステップ数を割り当てるように、準備的な量子化ステップ数の割り当てを実行する。周波数領域ビット割り当て部17は、次いで、ステップS2でトーン性成分検出処理を実行し、ここでは、準備的な量子化ステップ数の割り当ての結果に従って、信号強度が所定のしきい値よりも大きい(本実施形態では、0より大きい)スペクトル成分を含むトーン性成分を上記ブロック浮動小数点ユニット毎に探索して検出する。周波数領域ビット割り当て部17は、ステップS3でトーン性成分ビット割り当て処理を実行し、ここでは、検出されたトーン性成分と、トーン性成分を持たないブロック浮動小数点ユニットのみで構成される残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算し、計算されたビットの使用量を割り当てビットのビット数に対して比較したときに余剰のビットが存在すると判断された場合は、余剰のビットを上記トーン性成分と上記残りの非トーン性の周波数スペクトルとで共用するように、上記トーン性成分に対する量子化ステップ数の割り当てを実行する。ステップS3では、ビットの節約のために、トーン性成分シーケンスを検出する(後述)。最後に、周波数領域ビット割り当て部17は、ステップS4で量子化ステップ数の後置割り当て処理を実行し、ここでは、余剰のビットのうちでステップS3を実行した後で残っているビットを用いて、残りの非トーン性の周波数スペクトルに対する量子化ステップ数の割り当てを実行する。
図4のステップS1における量子化ステップ数の前置割り当て処理について詳細に説明する。このステップでは、入力されるデータ及び出力されるデータとして、次の表のパラメータを含む。
Figure 2005265865
本発明に係る実施形態の処理の最初のモジュールとして、ステップS1の量子化ステップ数の前置割り当て処理では、各ブロック浮動小数点ユニットに対するスケールファクタのインデックスsf_index[bu]と量子化ステップ数のインデックスstep[bu]との準備的な値のセットを導出する。このステップでは、トーン性成分の存在は考慮されず、当業者に知られている一般的な量子化ステップ数の割り当て方法が適用可能である。例えば、特許文献2に記載のビット割り当て方法に従って、この前置割り当て処理を実行してもよい。
スケールファクタのインデックスsf_index[bu]は、数3を参照して上で概説した方法によって導出されることが可能である。オーディオ符号化の技術分野には、スケールファクタについてのいくつかの定義が存在するが、本発明に係る実施形態の目的に従い、スケールファクタは、ブロック浮動小数点ユニット内におけるスペクトル成分spec[i]の絶対値の最大値に比例する必要がある。
量子化ステップ数のインデックスstep[bu]を導出するためには、多くのビット割り当て方法が使用可能である。一般に、量子化ステップ数は、ある程度は、ブロック浮動小数点ユニット内の各スペクトル成分の強度に対して比例する必要がある。しかしながら、ビット割り当てを管理するためには、大きな強度のブロック浮動小数点ユニット(すなわち大きな強度のスペクトル成分を含むブロック浮動小数点ユニット)によって「マスキング」されると思われる当該大きな強度のブロック浮動小数点ユニットの近傍のブロック浮動小数点ユニットに対しては、より少ない量子化ステップ数が割り当てられるように、ヒトの聴覚系の音響心理学モデルも利用されるべきである。ビット割り当ての処理方法に関する詳細事項は、当業者に知られている一般的な方法に従うことが可能である。
量子化ステップ数の前置割り当て処理は、入力されるディジタルオーディオ信号の周波数スペクトル全体のために割り当てられた所定ビット数の割り当てビットを用いて、ビット不足を起こさずに追加の量子化ステップ数を付加することができなくなるまで実行される必要がある。符号化のために与えられた所定のビット数に対してビットが余るか不足するかを示すバランスを、ビットバランスという。以後、本願明細書において、本アルゴリズムのまさにこの段階における「ビットバランス」であって、シンタックス的に有効なフレームを生成するために必要な様々なビットストリームの要素(ジョイントステレオ処理部14−1乃至14−4、利得制御部15−1乃至15−4などの他の構成要素からのサイド情報を含む)において費やされるすべてのビット数を算入するように考慮したうえでの「ビットバランス」を表す包括的な変数として、残りの利用可能なビット数avail_bitsを使用する。残りの利用可能なビット数avail_bitsを計算するための詳細事項などは、当業者に知られている一般的な方法に従うことが可能である。本実施形態において、残りの利用可能なビット数avail_bitsは、余剰のビットが存在すれば正であり、ビット不足であれば負である。
次に、図4のステップS2におけるトーン性成分検出処理について詳細に説明する。このステップでは、入力されるデータ及び出力されるデータとして、次の表のパラメータを含む。
Figure 2005265865
このステップS2及び次のステップS3の目的は、トーン性成分の検出及び分離を実行する周波数領域ビット割り当て部17を使用することで、貴重なビット数のより効果的な分配を達成することにある。背景技術で説明したように、トーン性成分の検出及び分離を利用したオーディオ符号化を実行する際には、ビットストリームの要素へのオーバーヘッドが余分にかかり、よって、本発明者らは、あるブロック浮動小数点ユニットに対してトーン性成分符号化と非トーン性スペクトル符号化とが互いに排他的である場合にのみビットの節約が達成可能であると考えている。言い換えると、本実施形態では、あるブロック浮動小数点ユニットにおいていくつかの顕著なトーン性のスペクトル成分が存在し、かつ当該ブロック浮動小数点ユニットの残りの非トーン性のスペクトル成分の量子化値が0であってこれら非トーン性のスペクトル成分の符号化が実質的には実行されない場合においてのみ、当該顕著なスペクトル成分はトーン性成分として選び出される。また、非トーン性のスペクトル成分の量子化値が0であれば、これらのスペクトル成分を示すデータは実質的には伝送されることもない。この原理に基づいて、トーン性成分の検出は、個々のブロック浮動小数点ユニットを基準として実行される必要がある。あるブロック浮動小数点ユニットは、先行するステップS1で導出された量子化ステップ数のインデックスstep[bu]を参照してこのインデックスで表される量子化ステップ数を用いて符号化されたときに、そのスペクトル成分の大部分が0に量子化される場合には、トーン性成分符号化に適していると考えられる。言い換えると、ブロック浮動小数点ユニット全体を符号化しないことによって節約されるビット数が、いくつかの顕著な非ゼロのスペクトル成分をトーン性成分として符号化する場合に費やされるビット数を上回るように、トーン性成分符号化を実行する対象として選択されるスペクトル成分の総数はブロック浮動小数点ユニットのサイズに比べて少ない必要がある。
図5は、図4のサブルーチンであるステップS2のトーン性成分検出処理を示すフローチャートである。処理を開始すると、図5のステップS11では、ブロック浮動小数点ユニットのインデックスbuを0に初期化する。このステップではまた、周波数スペクトル全体におけるトーン性成分の総数を表す新たな変数TNCを0に設定する。ステップS12では、現在のブロック浮動小数点ユニットbuにおけるトーン性成分の総数を表す変数TNC_buを0にリセットする。ステップS13では、トーン性成分検出が適用される前に、現在のブロック浮動小数点ユニットが少なくとも1つの非ゼロの量子化ステップ数のインデックスstep[bu]を有することを保証する。ステップS13がYESのとき(すなわち、現在のブロック浮動小数点ユニットに非ゼロの量子化ステップ数のインデックスstep[bu]が存在しないとき)には、ステップS23に進む。ステップS13がNOの場合、ステップS14に進む。ステップS14ではブロック浮動小数点ユニットのサイズを計算し、後の比較のために、その値を変数size_buとして対応するレジスタ(図示せず。)に記憶する。このステップではまた、ブロック浮動小数点ユニットにおける最初のスペクトル成分のロケーションFirstSpec[bu]を指示するように、スペクトル成分のインデックスiを初期化する。
ステップS15は、量子化ステップ数のインデックスstep[bu]で表される量子化ステップ数が適用される結果として、スペクトル成分spec[i]が0に量子化されるか否かを1つずつチェックする。ステップS15がYESであるとき、ステップS18において、次のスペクトル成分spec[i]が処理されるようにインデックスiを1だけインクリメントする。ステップS15がNOであるときは、インデックスiをレジスタ(図示せず。)に記憶することによって潜在的なトーン性成分の開始ロケーションをマーキングする。すなわち、ステップS16において、この潜在的なトーン性成分の開始ロケーションを表すインデックスiを変数cloc[TNC]として対応するレジスタに記憶し、変数TNC及びTNC_buを共に1だけインクリメントする。
また、トーン性成分の帯域幅を決定することも必要である。処理を簡単化するために、本実施形態では、この帯域幅を所定の値FIXED_TONE_WIDTHで固定するこに決定した。このことは、各トーン性成分が、正確に同じ個数のスペクトル成分を含むことを意味する。この決定の結果として、ステップS17では、次のトーン性成分を検索するために、所定値FIXED_TONE_WIDTHだけインデックスiをインクリメントする。0に量子化されるか否かの検索は、ステップS19に示されたように、インデックスiがブロック浮動小数点ユニットにおける最後のスペクトル成分LastSpec[bu]に到達するまで反復され、最後のスペクトル成分LastSpec[bu]に到達した時点で終了する。
ステップS19で、インデックスiがブロック浮動小数点ユニットbuにおける最後のスペクトル成分LastSpec[bu]に到達したと判断されると、処理はステップS20に進み、このとき、変数TNC_buは、現在のブロック浮動小数点ユニットbuにおいて発見された潜在的なトーン性成分の総数を含む。ステップS20において、この値は、ステップS14で計算された変数size_buの値と比較される。Nが16以上の予め決められた定数であるとして、変数TNC_buが(size_bu/N)より大きい場合(ステップS20がYESの場合)には、ビットの節約を達成できないものとみなし、よって、ステップS23による次のブロック浮動小数点ユニットの処理に進む前に、ステップS21で、現在のブロック浮動小数点ユニットにおいて検出されたすべての潜在的なトーン性成分を放棄し、次いで、ステップS22において、変数TNCをその以前の値に戻す。これに対して、変数TNC_buが(size_bu/N)以下である場合(ステップS20がNOの場合)には、ブロック浮動小数点ユニットbu内で発見された潜在的なトーン性成分は実際にトーン性成分として識別される。ステップS20がNOの場合には、すべての潜在的なトーン性成分は変数cloc[TNC]によって既にマーキングされているので、ステップS23より前に追加の処理は必要とされない。以後、上述の条件を満たすブロック浮動小数点ユニットを「トーン性ブロック浮動小数点ユニット」という。ステップS24の判断処理を実行することによって、符号化されるべきブロック浮動小数点ユニットのインデックスの最大値max_bfunit以下のインデックスbuを有する、すべてのブロック浮動小数点ユニットが処理されることを保証する。
図8(a)及び(b)は、32個のスペクトル成分(インデックスiで示される)にてなるブロック浮動小数点ユニットに対するトーン性成分検出処理の一例を示す。図8(a)は、周波数領域ビット割り当て部17によって、トーン性成分の検出及び分離が適応されるものと判断されるブロック浮動小数点ユニットを示す図であり、図8(b)は、周波数領域ビット割り当て部17によって、トーン性成分の検出及び分離が適応されないものと判断されるブロック浮動小数点ユニットを示す図である。ここでは、トーン性成分の帯域幅は4(すなわち、連続する4個のスペクトル成分を含む。)で固定されている。図8(a)及び(b)に示されようにブロック浮動小数点ユニットのサイズが32であり、またステップS20の定数Nを16であるとすると、このブロック浮動小数点ユニットは最大で32/16=2個までのトーン性成分を有することが可能である。図8(a)では、2個の潜在的なトーン性成分T1及びT2が存在するので、これらのトーン性成分T1及びT2は、トーン性成分の候補として次のトーン性成分ビット割り当て処理のステップS3で処理される。一方、図8(b)では、3個の潜在的なトーン性成分T3乃至T5が存在するので、このブロック浮動小数点ユニットに対してトーン性成分の検出及び分離は適用されない。
このステップS2での処理が終了するまでに、いくつかのトーン性成分が発見されて記録されている可能性があるが、この時点では実際の符号化はまだ遂行されない。次のステップS3では、これら発見されたトーン性成分が2つの「トーン性成分シーケンス」に分割されるべきか否かを決定するとともに、これらを符号化する結果として節約される、又は浪費されるビット数を正確に計算する。トーン性成分の符号化を適用するか否かについての最終決定は、この計算の後に初めて行うことができる。
次に、図4のステップS3におけるトーン性成分ビット割り当て処理について詳細に説明する。このステップでは、入力されるデータ及び出力されるデータとして、次の表のパラメータを含む。
Figure 2005265865
このステップS3の目的は、ステップS2のトーン性成分検出処理において検出されたトーン性成分を符号化することによりビットが節約され得るか否かを決定することにある。検出されたトーン性成分と、残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算し、計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに、上述の残りの利用可能なビット数avail_bitsが正である、すなわち余剰のビットが存在すると判断された場合は、この余剰のビットをトーン性成分と残りの非トーン性の周波数スペクトルとで共用するように、トーン性成分に対する量子化ステップ数の割り当てを実行する。まず最初に、これは、複数のトーン性成分が検出された場合に、検出された各トーン性成分をいくつかのトーン性成分シーケンス(その個数は、composeq_numで表され、そのそれぞれに対して、インデックスcsが付与される。)に分割して、各トーン性成分シーケンスcsにおけるトーン性成分に共通のシーケンス量子化ステップ数のインデックスcstep[cs]及びトーン性成分の帯域幅cwid[cs]を共用させる方が好ましいか否かを決定する。
処理の簡単化のために、各トーン性成分の帯域幅cwid[cs]が所定値FIXED_TONE_WIDTHで固定されることは、先の項で既に述べた。本実施形態では、処理をさらに簡単化するために、トーン性成分シーケンスの総数composeq_numを1又は2に制限する。この制限は、処理の複雑さを軽減する上で合理的かつ重要であると思われ、かつこれは、ビットストリームの要素に関連付けられた、トーン性成分シーケンス毎のビット数を考慮したものである。
図6は、図4のサブルーチンであるステップS3のトーン性成分ビット割り当て処理を示すフローチャートである。図6のフローチャートでは、このサブルーチン内での処理を実行するために、ステップS31において、各ブロック浮動小数点ユニットbu毎に与えられたスケールファクタのインデックスsf_index[bu]から、すべてのトーン性成分に対するスケールファクタのインデックスcsf[k]を検索する。これ以後の処理では、トーン性成分に対するスケールファクタのインデックスがcsf[k]で表され、残りの非トーン性スペクトルに属するスペクトル成分に対するスケールファクタのインデックスがsf_index[bu]で表される。ステップS31において、さらに、検索して取得されたスケールファクタのインデックスcsf[k]のうちで、最大のスケールファクタのインデックスmax_csfと、最小のスケールファクタのインデックスmin_csfとを突きとめる。ステップS32において、インデックスmax_csf及びmin_csfの両者の差をチェックする。この差が所定のしきい値COMSEQ_THRESよりも大きいならば、このことは、トーン性成分間のトーン強度に大きな差のあることを意味し、よって、ステップS33において、2つのトーン性成分シーケンスを用いるように指定する。ステップS34において、ステップS31で検索して取得されたインデックスmin_csf及びmax_csfの平均値より大きなスケールファクタのインデックスを有するトーン性成分を、第1のトーン性成分シーケンスcomposeq[1]になるようにグループ分けし、残りのトーン性成分を第2のトーン性成分シーケンスcomposeq[0]にグループ分けする。インデックスmax_csfとmin_csfとの差がしきい値以下であれば、ステップS35で、単一のトーン性成分シーケンスを用いるように指定し、ステップS36で、すべてのトーン性成分を単一のトーン性成分シーケンスcomposeq[0]にまとめる。以下の説明では、トーン性成分シーケンスを表す記号として、composeq[cs]を用いる(ただしcsはトーン成分シーケンス番号で、cs∈{0,1}とする)。
あるトーン性成分シーケンスに属する各トーン性成分は、量子化ステップ数の前置割り当てステップS1において導出された以前の量子化ステップ数のインデックスstep[bu]の値を有するブロック浮動小数点ユニットを起源とするので、ステップS37において、シーケンス量子化ステップ数のインデックスcstep[cs]の初期値を、トーン性成分シーケンスcs内のすべてのトーン性成分の量子化ステップ数のインデックスstep[bu]の最大値に設定する。ステップS38において、ステップS37で設定されたシーケンス量子化ステップ数のインデックスcstep[cs]は、トーン性成分シーケンスcsに含まれる各トーン性成分の間で共用するように設定され、次いで、トーン性成分のすべてのビットストリームの要素及びハフマン表現を考慮して、残りの利用可能なビット数avail_bitsを計算する。残りの利用可能なビット数avail_bitsの計算は、各トーン性成分シーケンス内の各トーン性成分が、インデックスcstep[cs]で表されるシーケンス量子化ステップ数を用いて量子化されたものとして、実行される必要がある。また、残りの利用可能なビット数avail_bitsの計算は、トーン性ブロック浮動小数点ユニットの量子化ステップ数のインデックスstep[bu]をゼロに設定することを考慮する必要がある。
ステップS39は、残りの利用可能なビット数avail_bitsの値が正であるか否かをチェックする。それが正でなければ、トーン性成分符号化はビットの節約をもたらすことはなく、従って、ステップS42に進むことで処理を中止する。ステップS39において残りの利用可能なビット数avail_bitsの値が正であれば、トーン性成分を分離して符号化することによってビットの節約が達成される。この時点で、処理はステップS41へと分岐し、トーン性ブロック浮動小数点ユニットの量子化ステップ数のインデックスstep[bu]をゼロにリセットして処理を終了することが可能である。しかしながら、本発明者らは、節約されたビットが、トーン性成分に属するスペクトル成分と残りの非トーン性スペクトルに属するスペクトル成分とで共用される場合に、より優れた音質が実現可能であるということを発見している。従って、ステップS39がYESのとき、ステップS41に進む前に、ステップS40において、節約されたビットをトーン性成分信号と残りの非トーン性のスペクトル信号とで共用するために、節約されたビットの割り当て処理を実行する。ビットを共用する簡単な方法は、シーケンス量子化ステップ数のインデックスcstep[cs]の値を、これらが当該量子化ステップ数のインデックスのキャップ値(上限値)に到達していない場合に、少なくとも1だけインクリメントするというものである。トーン性成分シーケンスが2つ存在する場合は、キャップ値CAP_1及びCAP_2(ここで、CAP_1>CAP_2が成り立つものとする。)がそれぞれ、各々シーケンス量子化ステップ数のインデックスcstep[1]及びcstep[0]に課される。ただ1つのトーン性成分シーケンスが存在する場合には、キャップ値CAP_1が課される。
図7は、図6のサブルーチンであるステップS40の節約されたビットの割り当て処理を示すフローチャートである。ステップS51では、何個のトーン性成分シーケンスがインスタンスとして生成されているかをチェックする。2つのトーン性成分シーケンスが存在する場合には、ステップS53において、より大きな信号強度を有するトーン性成分を含むトーン性成分シーケンスのシーケンス量子化ステップ数のインデックスcstep[1]がそのキャップ値CAP_1に達しているか否かをチェックする。シーケンス量子化ステップ数のインデックスcstep[1]がそのキャップ値CAP_1に達している場合には、シーケンス量子化ステップ数のインデックスcstep[1]の値を確定し、次にステップS58で、より小さな信号強度を有するトーン性成分を含むトーン性成分シーケンスのシーケンス量子化ステップ数のインデックスcstep[0]について考察する。ステップS53で、シーケンス量子化ステップ数のインデックスcstep[1]がキャップ値CAP_1に達していなければ、ステップS54でシーケンス量子化ステップ数のインデックスcstep[1]を1だけインクリメントし、次いで、ステップS55で、インクリメントされた後のシーケンス量子化ステップ数のインデックスcstep[1]に基づいて符号化される場合の、残りの利用可能なビット数avail_bitsを再計算する。ステップS56において、再計算された残りの利用可能なビット数avail_bitsが正であるか否かを判断し、このステップS56がNOの場合、すなわち、ステップS54のインクリメントによりビット不足が生じれば、ステップS57において、ステップS54のインクリメントを取り消して、シーケンス量子化ステップ数のインデックスcstep[1]の値を確定する。ステップS56において、依然として余剰のビットが存在する場合には、又はステップS57でビット不足が解消された後は、ステップS58で、より小さな信号強度を有するトーン性成分を含むトーン性成分シーケンスについて考察する。
ステップS58乃至S62は、トーン性成分シーケンスcomposeq[1]に対してステップS53乃至S57で行ったものと同様の処理動作をトーン性成分シーケンスcomposeq[0]に対して実行する。ステップS58において、より小さな信号強度を有するトーン性成分を含むトーン性成分シーケンスのシーケンス量子化ステップ数のインデックスcstep[0]がそのキャップ値CAP_2に達しているか否かをチェックする。シーケンス量子化ステップ数のインデックスcstep[0]がそのキャップ値CAP_2に達している場合には、シーケンス量子化ステップ数のインデックスcstep[0]の値を確定し、図6のステップS41に進む。ステップS58で、シーケンス量子化ステップ数のインデックスcstep[0]がキャップ値CAP_1に達していなければ、ステップS59でシーケンス量子化ステップ数のインデックスcstep[0]を1だけインクリメントし、次いで、ステップS60で、インクリメントされた後のシーケンス量子化ステップ数のインデックスcstep[0]に基づいて符号化される場合の、残りの利用可能なビット数avail_bitsを再計算する。ステップS61において、再計算された残りの利用可能なビット数avail_bitsが正であるか否かを判断し、このステップS61がNOの場合、ステップS62において、ステップS59のインクリメントを取り消し、シーケンス量子化ステップ数のインデックスcstep[0]の値を確定する。ステップS61において、依然として余剰のビットが存在する場合には、又はステップS62でビット不足が解消された後は、図6のステップS41に進む。
同様に、ステップS51において、ただ1つのトーン性成分シーケンスのみが存在するということを確認すると、処理はステップS52へ分岐し、ここで同様の一連の処理動作が実行される。
最後に、処理はステップS41に合流し、ここでトーン性ブロック浮動小数点ユニットの量子化ステップ数のインデックスstep[bu]が0に設定され、このステップS3の処理は終了する。ここで、0にリセットする理由は、トーン性ブロック浮動小数点ユニット内では、トーン性成分以外のスペクトル成分の量子化値は0であり、トーン性成分の量子化値はシーケンス量子化ステップ数cstepとして伝送されるので、当該トーン性ブロック浮動小数点ユニット内のスペクトル成分の量子化値を伝送する必要がないからである。
最後に、図4のステップS4における量子化ステップ数の後置割り当て処理について詳細に説明する。このステップでは、入力されるデータ及び出力されるデータとして、次の表のパラメータを含む。
Figure 2005265865
このモジュールの目的は、ビット不足を起こさずに量子化ステップ数をさらにインクリメントすることができなくなるまで、残りのブロック浮動小数点ユニットの量子化ステップ数のインデックスstep[bu]をさらにインクリメントすることにより、トーン性成分符号化で節約されたビットを利用することにある。量子化ステップ数の前置割り当て処理に利用されたビット割り当て方法はここでも使用可能であるが、トーン性ブロック浮動小数点ユニットに対しては量子化ステップ数は付与されてはならない。
以上説明したように、本実施形態の周波数領域ビット割り当て処理によれば、典型的なトーン性成分のスペクトル成分を含むディジタルオーディオ信号を符号化する際に、周波数領域でのビット割り当ての無駄を省き、音質を損なうことなく効率的にオーディオ信号を符号化することができる。本実施形態の周波数領域ビット割り当て処理は、高速での実行が可能であるにも拘わらず、優れた音質を実現することができる。
また、本発明に係る実施形態として、以上説明した周波数領域ビット割り当て処理を実行するためのコンピュータプログラムや、当該コンピュータプログラムが記録された記録媒体を提供することができる。さらに、本発明に係る実施形態として、以上説明した周波数領域ビット割り当て処理を実行することによって符号化されたディジタルオーディオ信号を記録した記録媒体を提供することができる。
以上説明したように、本発明に係る実施形態によれば、ディジタルオーディオ信号の周波数スペクトルの各スペクトル成分に所定のビット数の割り当てビットを割り当てる、オーディオ符号化のためのビット割り当て方法が提供される。ここで、上記周波数スペクトルは、表1に記載のように、連続する複数のスペクトル成分をそれぞれ含む複数のブロック浮動小数点ユニットに分割されるように設定される。また、上記オーディオ符号化のためのビット割り当て方法は、図4のステップS1に記載のように、上記各ブロック浮動小数点ユニットに対して、上記割り当てビットのビット数以下で割り当て可能な最大の量子化ステップ数を割り当てるように準備的な量子化ステップ数の割り当てを実行する量子化ステップ数の前置割り当て処理と、図4のステップS2に記載のように、上記準備的な量子化ステップ数の割り当ての結果に従って、信号強度が所定のしきい値よりも大きいスペクトル成分を含むトーン性成分を上記ブロック浮動小数点ユニット毎に探索して検出するトーン性成分検出処理と、図4のステップS3に記載のように、上記検出されたトーン性成分と、トーン性成分を持たないブロック浮動小数点ユニットのみで構成される残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算し、上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに余剰のビットが存在する場合は、上記余剰のビットを上記トーン性成分と上記残りの非トーン性の周波数スペクトルとで共用するように、上記トーン性成分に対する量子化ステップ数の割り当てを実行するトーン性成分ビット割り当て処理と、図4のステップS4に記載のように、上記余剰のビットのうちで上記トーン性成分ビット割り当てステップを実行した後で残っているビットを用いて、上記残りの非トーン性の周波数スペクトルに対する量子化ステップ数の割り当てを実行する量子化ステップ数の後置割り当て処理とを含むことを特徴とする。
上記トーン性成分検出ステップ処理のステップS2はさらに、図5のステップS15乃至S19に記載のように、上記準備的な量子化ステップ数の割り当ての結果に従って、上記各ブロック浮動小数点ユニットの範囲内にあるすべてのスペクトル成分をチェックすることによって、上記各ブロック浮動小数点ユニットの範囲内にあるスペクトル成分がゼロに量子化されるか否かを確認する量子化値確認ステップと、図5のステップS15乃至S17に記載のように、非ゼロの値に量子化されるスペクトル成分を含む所定の帯域幅をトーン性成分として識別するトーン性成分識別ステップと、図5のステップS20に記載のように、当該ブロック浮動小数点ユニットにおけるスペクトル成分の総数に対する、上記識別されたトーン性成分を含むブロック浮動小数点ユニットにおけるトーン性成分の総数の比が、所定のしきい値以下である場合は、当該ブロック浮動小数点ユニットをトーン性ブロック浮動小数点ユニットとして識別するトーン性ブロック浮動小数点ユニット識別ステップと、図5のステップS16に記載のように、上記識別されたすべてのトーン性ブロック浮動小数点ユニットにおいて上記トーン性成分のロケーションを識別するトーン性成分ロケーション識別ステップとを含む。
上記トーン性成分識別ステップにおいて、図5のステップS17に記載のように、上記識別されたすべてのトーン性成分の帯域幅は、予め決められた同一個数の連続するスペクトル成分を含む。
上記トーン性成分検出ステップにおいて、図5のステップS20に記載のように、上記ブロック浮動小数点ユニットをトーン性ブロック浮動小数点ユニットとして識別するためのしきい値は予め決められた定数である。また、上記各ブロック浮動小数点ユニットにおけるスペクトル成分の総数は、表1に記載のように、ブロック浮動小数点ユニットが位置する周波数帯が高くなるに従って次第に増大するように設定される。
上記トーン性成分ビット割り当て処理のステップS3はさらに、図6のステップS32に記載のように、複数のトーン性成分が存在する場合に、所定の基準に基づいて、上記各トーン性成分に対して単一の量子化ステップ数が割り当てられるべきか、もしくは2種類の量子化ステップ数が割り当てられるべきかを決定するトーン性成分シーケンス数決定ステップと、上記基準が満たされない場合に、図6のステップS35及びS36に記載のように、上記複数のトーン性成分を、単一の量子化ステップ数が割り当てられる1つのトーン性成分シーケンスとするトーン性成分シーケンス設定ステップと、図6のステップS37に記載のように、上記1つのトーン性成分シーケンスに含まれる各トーン性成分の量子化ステップ数であるシーケンス量子化ステップ数を、上記すべてのトーン性成分の量子化ステップ数のうちの最大の量子化ステップ数に設定するシーケンス量子化ステップ数設定ステップと、ステップS38に記載のように、上記1つのトーン性成分シーケンスにおけるすべてのトーン性成分に、上記シーケンス量子化ステップ数を共用させるトーン性成分シーケンス生成ステップと、上記シーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算するビット使用量計算ステップとを含む。ステップS3はさらに、図6のステップS42に記載のように、上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在しない場合は、このトーン性成分ビット割り当てステップを中止し、上記準備的な量子化ステップ数の割り当てを採用するトーン性成分ビット割り当て取り消しステップと、図7のステップS52がNOである場合、すなわち、上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ上記シーケンス量子化ステップ数の値が予め決められた所定の上限値以上である場合には、現在のシーケンス量子化ステップ数の値で上記シーケンス量子化ステップ数の値を確定するシーケンス量子化ステップ数確定ステップと、図7のステップS59乃至S62に記載のように、上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ上記シーケンス量子化ステップ数が上記上限値より小さい場合には、上記余剰のビットを上記トーン性成分と上記残りの非トーン性の周波数スペクトルとで共用するように、上記シーケンス量子化ステップ数の値を現在の値よりも大きい最小の値に増大させ、上記増大後のシーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を再計算し、上記再計算されたビットの使用量が上記割り当てビットのビット数より小さい場合には、上記増大後の値で上記シーケンス量子化ステップ数の値を確定し、上記再計算されたビットの使用量が上記割り当てビットのビット数以上である場合には、上記シーケンス量子化ステップ数の値を増大させる前の値に戻して確定するシーケンス量子化ステップ数変更確定ステップとを含む。ステップS3はさらに、図6のステップS41に記載のように、上記シーケンス量子化ステップ数の値が確定した後で、上記すべてのトーン性ブロック浮動小数点ユニットの量子化ステップ数をゼロに設定するトーン性ブロック浮動小数点ユニット量子化ステップ数初期化ステップとを含む。
上記トーン性成分シーケンス数決定ステップは、図6のステップS31に記載のように、上記トーン性成分に対する正規化係数であるスケールファクタに関連付けられた所定のインデックスを用いて、上記検出されたすべてのトーン性成分のスケールファクタのインデックスの最大値と最小値を検索するステップを含み、上記トーン性成分シーケンス数決定ステップにおける上記基準は、ステップS32に記載のように、上記スケールファクタのインデックスの最大値が上記スケールファクタのインデックスの最小値を予め決められたしきい値で上回るか否かということに基づく。
上記トーン性成分ビット割り当て処理のステップS3はさらに、図6のステップS32に記載のように、複数のトーン性成分が存在する場合に、所定の基準に基づいて、上記各トーン性成分に対して単一の量子化ステップ数が割り当てられるべきか、もしくは2種類の量子化ステップ数が割り当てられるべきかを決定するトーン性成分シーケンス数決定ステップと、図6の上記基準が満たされる場合に、ステップS33及びS34に記載のように、上記複数のトーン性成分を、異なる量子化ステップ数がそれぞれ割り当てられる2つのトーン性成分シーケンスに分割するトーン性成分シーケンス設定ステップと、図6のステップS37に記載のように、上記各トーン性成分シーケンスに含まれる各トーン性成分の量子化ステップ数であるシーケンス量子化ステップ数を、上記各トーン性成分シーケンス毎に、当該トーン性成分シーケンスに含まれるすべてのトーン性成分の量子化ステップ数のうちの最大の量子化ステップ数にそれぞれ設定するシーケンス量子化ステップ数設定ステップと、図6のステップS38に記載のように、上記各トーン性成分シーケンスにおけるすべてのトーン性成分に、当該トーン成分シーケンスのシーケンス量子化ステップ数を共用させるトーン性成分シーケンス生成ステップと、上記各シーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算するビット使用量計算ステップとを含む。ステップS3はさらに、図6のステップS42に記載のように、上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在しない場合は、このトーン性成分ビット割り当てステップを中止し、上記準備的な量子化ステップ数の割り当てを採用するトーン性成分ビット割り当て取り消しステップと、図7のステップS53及びS58がNOである場合、すなわち、上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ、上記各シーケンス量子化ステップ数の値が、上記各シーケンス量子化ステップ数の値にそれぞれ関連付けられた予め決められた一対の上限値の各上限値以上である場合には、現在の各シーケンス量子化ステップ数の値で上記各シーケンス量子化ステップ数の値を確定するシーケンス量子化ステップ数確定ステップと、図7のステップS54乃至S57とステップS59乃至S62に記載のように、上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ、上記2つのシーケンス量子化ステップ数の少なくとも一方が、当該シーケンス量子化ステップ数に関連付けられた上記上限値より小さい場合には、上記余剰のビットを上記トーン性成分と上記残りの非トーン性の周波数スペクトルとで共用するように、上記上限値よりも小さい上記2つのシーケンス量子化ステップ数の少なくとも一方の値を現在の値よりも大きい最小の値に増大させ、上記少なくとも一方の値を増大させた後の各シーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を再計算し、上記再計算されたビットの使用量が上記割り当てビットのビット数より小さい場合には、上記2つのシーケンス量子化ステップ数の少なくとも一方の値を増大させた後の値で上記各シーケンス量子化ステップ数の値を確定し、上記再計算されたビットの使用量が上記割り当てビットのビット数以上である場合には、上記2つのシーケンス量子化ステップ数の少なくとも一方の値を増大させる前の値に戻して上記各シーケンス量子化ステップ数の値を確定するシーケンス量子化ステップ数変更確定ステップとを含む。ステップS3はさらに、図6のステップS41に記載のように、上記各シーケンス量子化ステップ数の値が確定した後で、上記すべてのトーン性ブロック浮動小数点ユニットの量子化ステップ数をゼロに設定するトーン性ブロック浮動小数点ユニット量子化ステップ数初期化ステップとを含む。
上記トーン性成分シーケンス数決定ステップは、図6のステップS31に記載のように、上記トーン性成分に対する正規化係数であるスケールファクタに関連付けられた所定のインデックスを用いて、上記検出されたすべてのトーン性成分のスケールファクタのインデックスの最大値と最小値を検索するステップを含み、上記トーン性成分シーケンス数決定ステップにおいて、ステップS32に記載のように、上記基準は、上記スケールファクタのインデックスの最大値が上記スケールファクタのインデックスの最小値を予め決められたしきい値で上回るか否かということに基づく。
図6のステップS34に記載のように、上記トーン性成分シーケンス設定ステップにおいて、上記基準が満たされる場合に、上記スケールファクタのインデックスの最大値と最小値との平均値より大きなスケールファクタのインデックスを有するトーン性成分は、第1のトーン性成分シーケンスにグループ分けされ、残りのトーン性成分は第2のトーン性成分シーケンスにグループ分けされる。
上記シーケンス量子化ステップ数変更確定ステップにおいて、上記2つのシーケンス量子化ステップ数の少なくとも一方の値を現在の値よりも大きい最小の値に増大させる場合に、図7のステップS54に記載のように、より大きい信号強度を有するトーン性成分を含むトーン性成分シーケンスのシーケンス量子化ステップ数の値が、当該シーケンス量子化ステップ数に関連付けられた上記上限値より小さいとき、当該シーケンス量子化ステップ数の値を最初に増大する。また、ステップS54に記載のように、上記より大きい信号強度を有するトーン性成分を含むトーン性成分シーケンスのシーケンス量子化ステップ数の値が、当該シーケンス量子化ステップ数に関連付けられた上記上限値以上であるとき、もう1つの上記シーケンス量子化ステップ数の値がもう1つの上記上限値より小さいならば、当該もう1つのシーケンス量子化ステップ数の値を最初に増大する。
図6のステップS37に記載のように、上記シーケンス量子化ステップ数設定ステップにおいて、上記各トーン性成分の量子化ステップ数は、当該トーン性成分が含まれるブロック浮動小数点ユニットの量子化ステップ数と同一である。
図6のステップS38と、図7のS55及びS60に記載のように、上記ビット使用量計算ステップと、上記シーケンス量子化ステップ数変更確定ステップにおける上記ビットの使用量の再計算とは、上記トーン性成分の符号化と、上記残りの非トーン性の周波数スペクトルの符号化とに関連付けられたすべてのビットストリームの要素に基づいて実行される。
以上説明したように、トーン性成分の検出及び分離を実行することによって符号化する符号化方法及び装置によれば、特定の周波数にエネルギーが集中したトーン性成分を検出することができるだけでなく、符号化のためのビットの節約を結果的にもたらす可能性のあるトーン性成分を選択することができる。節約されたビットをトーン性成分信号と残りの非トーン性のスペクトル信号とで共用することにより、この符号化方法及び装置は、トーン信号の音質を大幅に向上させることができることがわかる。従って、本発明によれば、オーディオ符号化のための効率的かつ高品質のトーン性成分を検出して分離する符号化方法及び装置を提供することができる。本発明に係る実施形態の周波数領域ビット割り当て処理を採用したオーディオエンコーダ2は、特にLSIに実装された場合に、高速で動作しながらもなおトーン信号のために優れた音質を実現することができる。
本発明の一実施形態に係るミニディスク記録再生システムの構成を示すブロック図である。 図1のオーディオエンコーダ2の詳細構成を示すブロック図である。 (a)はトーン性成分の検出及び分離を用いないときの周波数領域の各スペクトル成分に対する量子化ステップ数の割り当てを示すグラフであり、(b)は図2のオーディオエンコーダ2を用いてトーン性成分の検出及び分離を実行したときの周波数領域の各スペクトル成分に対する量子化ステップ数の割り当てを示すグラフである。 図2の周波数領域ビット割り当て部17によって実行される周波数領域ビット割り当て処理を示すフローチャートである。 図4のサブルーチンであるステップS2のトーン性成分検出処理を示すフローチャートである。 図4のサブルーチンであるステップS3のトーン性成分ビット割り当て処理を示すフローチャートである。 図6のサブルーチンであるステップS40の節約されたビットの割り当て処理を示すフローチャートである。 (a)は、図2の周波数領域ビット割り当て部17によって、トーン性成分の検出及び分離が適応されるものと判断されるブロック浮動小数点ユニットを示す図であり、(b)は、図2の周波数領域ビット割り当て部17によって、トーン性成分の検出及び分離が適応されないものと判断されるブロック浮動小数点ユニットを示す図である。
符号の説明
1…A/Dコンバータ、
2…オーディオエンコーダ、
3…ミニディスク記録装置、
4…ミニディスク、
5…ミニディスク再生装置、
6…オーディオデコーダ、
7…D/Aコンバータ、
10…QMF分割フィルタ、
11…ローパスフィルタ、
12…ハイパスフィルタ、
13−1乃至13−4…フィルタバンク、
14−1乃至14−4…ジョイントステレオ処理部、
15−1乃至15−4…利得制御部、
16−1乃至16−4…MDCT処理部、
17…ビット割り当て部、
18−1乃至18−4…トーン性成分符号化器、
19−1乃至19−4…非トーン性スペクトル符号化器、
20…ビットストリームマルチプレクサ。

Claims (25)

  1. ディジタルオーディオ信号の周波数スペクトルの各スペクトル成分に所定のビット数の割り当てビットを割り当てる、オーディオ符号化のためのビット割り当て方法において、上記周波数スペクトルは、連続する複数のスペクトル成分をそれぞれ含む複数のブロック浮動小数点ユニットに分割されるように設定され、
    上記オーディオ符号化のためのビット割り当て方法は、
    (a)上記各ブロック浮動小数点ユニットに対して、上記割り当てビットのビット数以下で割り当て可能な最大の量子化ステップ数を割り当てるように準備的な量子化ステップ数の割り当てを実行する前置割り当てステップと、
    (b)上記準備的な量子化ステップ数の割り当ての結果に従って、信号強度が所定のしきい値よりも大きいスペクトル成分を含むトーン性成分を上記ブロック浮動小数点ユニット毎に探索して検出するトーン性成分検出ステップと、
    (c)上記検出されたトーン性成分と、トーン性成分を持たないブロック浮動小数点ユニットのみで構成される残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算し、上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに余剰のビットが存在する場合は、上記余剰のビットを上記トーン性成分と上記残りの非トーン性の周波数スペクトルとで共用するように、上記トーン性成分に対する量子化ステップ数の割り当てを実行するトーン性成分ビット割り当てステップと、
    (d)上記余剰のビットのうちで上記トーン性成分ビット割り当てステップを実行した後で残っているビットを用いて、上記残りの非トーン性の周波数スペクトルに対する量子化ステップ数の割り当てを実行する後置割り当てステップとを含むことを特徴とするオーディオ符号化のためのビット割り当て方法。
  2. 上記トーン性成分検出ステップはさらに、
    (a)上記準備的な量子化ステップ数の割り当ての結果に従って、上記各ブロック浮動小数点ユニットの範囲内にあるすべてのスペクトル成分をチェックすることによって、上記各ブロック浮動小数点ユニットの範囲内にあるスペクトル成分がゼロに量子化されるか否かを確認する量子化値確認ステップと、
    (b)非ゼロの値に量子化されるスペクトル成分を含む所定の帯域幅をトーン性成分として識別するトーン性成分識別ステップと、
    (c)当該ブロック浮動小数点ユニットにおけるスペクトル成分の総数に対する、上記識別されたトーン性成分を含むブロック浮動小数点ユニットにおけるトーン性成分の総数の比が、所定のしきい値以下である場合は、当該ブロック浮動小数点ユニットをトーン性ブロック浮動小数点ユニットとして識別するトーン性ブロック浮動小数点ユニット識別ステップと、
    (d)上記識別されたすべてのトーン性ブロック浮動小数点ユニットにおいて上記トーン性成分のロケーションを識別するトーン性成分ロケーション識別ステップとを含むことを特徴とする請求項1記載のオーディオ符号化のためのビット割り当て方法。
  3. 上記トーン性成分識別ステップにおいて、上記識別されたすべてのトーン性成分の帯域幅は、予め決められた同一個数の連続するスペクトル成分を含むことを特徴とする請求項2記載のオーディオ符号化のためのビット割り当て方法。
  4. 上記トーン性成分検出ステップにおいて、上記ブロック浮動小数点ユニットをトーン性ブロック浮動小数点ユニットとして識別するためのしきい値は予め決められた定数であり、
    上記各ブロック浮動小数点ユニットにおけるスペクトル成分の総数は、ブロック浮動小数点ユニットが位置する周波数帯が高くなるに従って次第に増大するように設定されたことを特徴とする請求項2又は3記載のオーディオ符号化のためのビット割り当て方法。
  5. 上記トーン性成分ビット割り当てステップはさらに、
    (a)複数のトーン性成分が存在する場合に、所定の基準に基づいて、上記各トーン性成分に対して単一の量子化ステップ数が割り当てられるべきか、もしくは2種類の量子化ステップ数が割り当てられるべきかを決定するトーン性成分シーケンス数決定ステップと、
    (b)上記基準が満たされない場合に、上記複数のトーン性成分を、単一の量子化ステップ数が割り当てられる1つのトーン性成分シーケンスとするトーン性成分シーケンス設定ステップと、
    (c)上記1つのトーン性成分シーケンスに含まれる各トーン性成分の量子化ステップ数であるシーケンス量子化ステップ数を、上記すべてのトーン性成分の量子化ステップ数のうちの最大の量子化ステップ数に設定するシーケンス量子化ステップ数設定ステップと、
    (d)上記1つのトーン性成分シーケンスにおけるすべてのトーン性成分に、上記シーケンス量子化ステップ数を共用させるトーン性成分シーケンス生成ステップと、
    (e)上記シーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算するビット使用量計算ステップと、
    (f)上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在しない場合は、このトーン性成分ビット割り当てステップを中止し、上記準備的な量子化ステップ数の割り当てを採用するトーン性成分ビット割り当て取り消しステップと、
    (g)上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ上記シーケンス量子化ステップ数の値が予め決められた所定の上限値以上である場合には、現在のシーケンス量子化ステップ数の値で上記シーケンス量子化ステップ数の値を確定するシーケンス量子化ステップ数確定ステップと、
    (h)上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ上記シーケンス量子化ステップ数が上記上限値より小さい場合には、上記シーケンス量子化ステップ数の値を現在の値よりも大きい最小の値に増大させ、上記増大後のシーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を再計算し、上記再計算されたビットの使用量が上記割り当てビットのビット数より小さい場合には、上記増大後の値で上記シーケンス量子化ステップ数の値を確定し、上記再計算されたビットの使用量が上記割り当てビットのビット数以上である場合には、上記シーケンス量子化ステップ数の値を増大させる前の値に戻して確定するシーケンス量子化ステップ数変更確定ステップと、
    (i)上記シーケンス量子化ステップ数の値が確定した後で、上記すべてのトーン性ブロック浮動小数点ユニットの量子化ステップ数をゼロに設定するトーン性ブロック浮動小数点ユニット量子化ステップ数初期化ステップとを含むことを特徴とする請求項1乃至4のいずれか1つに記載のオーディオ符号化のためのビット割り当て方法。
  6. 上記トーン性成分シーケンス数決定ステップは、上記トーン性成分に対する正規化係数であるスケールファクタに関連付けられた所定のインデックスを用いて、上記検出されたすべてのトーン性成分のスケールファクタのインデックスの最大値と最小値を検索するステップを含み、
    上記トーン性成分シーケンス数決定ステップにおける上記基準は、上記スケールファクタのインデックスの最大値が上記スケールファクタのインデックスの最小値を予め決められたしきい値で上回るか否かということに基づくことを特徴とする請求項5記載のオーディオ符号化のためのビット割り当て方法。
  7. 上記トーン性成分ビット割り当てステップはさらに、
    (a)複数のトーン性成分が存在する場合に、所定の基準に基づいて、上記各トーン性成分に対して単一の量子化ステップ数が割り当てられるべきか、もしくは2種類の量子化ステップ数が割り当てられるべきかを決定するトーン性成分シーケンス数決定ステップと、
    (b)上記基準が満たされる場合に、上記複数のトーン性成分を、異なる量子化ステップ数がそれぞれ割り当てられる2つのトーン性成分シーケンスに分割するトーン性成分シーケンス設定ステップと、
    (c)上記各トーン性成分シーケンスに含まれる各トーン性成分の量子化ステップ数であるシーケンス量子化ステップ数を、上記各トーン性成分シーケンス毎に、当該トーン性成分シーケンスに含まれるすべてのトーン性成分の量子化ステップ数のうちの最大の量子化ステップ数にそれぞれ設定するシーケンス量子化ステップ数設定ステップと、
    (d)上記各トーン性成分シーケンスにおけるすべてのトーン性成分に、当該トーン成分シーケンスのシーケンス量子化ステップ数を共用させるトーン性成分シーケンス生成ステップと、
    (e)上記各シーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算するビット使用量計算ステップと、
    (f)上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在しない場合は、このトーン性成分ビット割り当てステップを中止し、上記準備的な量子化ステップ数の割り当てを採用するトーン性成分ビット割り当て取り消しステップと、
    (g)上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ、上記各シーケンス量子化ステップ数の値が、上記各シーケンス量子化ステップ数の値にそれぞれ関連付けられた予め決められた一対の上限値の各上限値以上である場合には、現在の各シーケンス量子化ステップ数の値で上記各シーケンス量子化ステップ数の値を確定するシーケンス量子化ステップ数確定ステップと、
    (h)上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ、上記2つのシーケンス量子化ステップ数の少なくとも一方が、当該シーケンス量子化ステップ数に関連付けられた上記上限値より小さい場合には、上記上限値よりも小さい上記2つのシーケンス量子化ステップ数の少なくとも一方の値を現在の値よりも大きい最小の値に増大させ、上記少なくとも一方の値を増大させた後の各シーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を再計算し、上記再計算されたビットの使用量が上記割り当てビットのビット数より小さい場合には、上記2つのシーケンス量子化ステップ数の少なくとも一方の値を増大させた後の値で上記各シーケンス量子化ステップ数の値を確定し、上記再計算されたビットの使用量が上記割り当てビットのビット数以上である場合には、上記2つのシーケンス量子化ステップ数の少なくとも一方の値を増大させる前の値に戻して上記各シーケンス量子化ステップ数の値を確定するシーケンス量子化ステップ数変更確定ステップと、
    (i)上記各シーケンス量子化ステップ数の値が確定した後で、上記すべてのトーン性ブロック浮動小数点ユニットの量子化ステップ数をゼロに設定するトーン性ブロック浮動小数点ユニット量子化ステップ数初期化ステップとを含むことを特徴とする請求項1乃至4のいずれか1つに記載のオーディオ符号化のためのビット割り当て方法。
  8. 上記トーン性成分シーケンス数決定ステップは、上記トーン性成分に対する正規化係数であるスケールファクタに関連付けられた所定のインデックスを用いて、上記検出されたすべてのトーン性成分のスケールファクタのインデックスの最大値と最小値を検索するステップを含み、
    上記トーン性成分シーケンス数決定ステップにおいて、上記基準は、上記スケールファクタのインデックスの最大値が上記スケールファクタのインデックスの最小値を予め決められたしきい値で上回るか否かということに基づくことを特徴とする請求項7記載のオーディオ符号化のためのビット割り当て方法。
  9. 上記トーン性成分シーケンス設定ステップにおいて、上記基準が満たされる場合に、上記スケールファクタのインデックスの最大値と最小値との平均値より大きなスケールファクタのインデックスを有するトーン性成分は、第1のトーン性成分シーケンスにグループ分けされ、残りのトーン性成分は第2のトーン性成分シーケンスにグループ分けされることを特徴とする請求項8記載のオーディオ符号化のためのビット割り当て方法。
  10. 上記シーケンス量子化ステップ数変更確定ステップにおいて、上記2つのシーケンス量子化ステップ数の少なくとも一方の値を現在の値よりも大きい最小の値に増大させる場合に、
    (a)より大きい信号強度を有するトーン性成分を含むトーン性成分シーケンスのシーケンス量子化ステップ数の値が、当該シーケンス量子化ステップ数に関連付けられた上記上限値より小さいとき、当該シーケンス量子化ステップ数の値を最初に増大し、
    (b)上記より大きい信号強度を有するトーン性成分を含むトーン性成分シーケンスのシーケンス量子化ステップ数の値が、当該シーケンス量子化ステップ数に関連付けられた上記上限値以上であるとき、もう1つの上記シーケンス量子化ステップ数の値がもう1つの上記上限値より小さいならば、当該もう1つのシーケンス量子化ステップ数の値を最初に増大することを特徴とする請求項7乃至9のうちの1つに記載のオーディオ符号化のためのビット割り当て方法。
  11. 上記シーケンス量子化ステップ数設定ステップにおいて、上記各トーン性成分の量子化ステップ数は、当該トーン性成分が含まれるブロック浮動小数点ユニットの量子化ステップ数と同一であることを特徴とする請求項5乃至10のうちの1つに記載のオーディオ符号化のためのビット割り当て方法。
  12. 上記ビット使用量計算ステップと、上記シーケンス量子化ステップ数変更確定ステップにおける上記ビットの使用量の再計算とは、上記トーン性成分の符号化と、上記残りの非トーン性の周波数スペクトルの符号化とに関連付けられたすべてのビットストリームの要素に基づいて実行されることを特徴とする請求項5乃至11のうちの1つに記載のオーディオ符号化のためのビット割り当て方法。
  13. ディジタルオーディオ信号の周波数スペクトルの各スペクトル成分に所定のビット数の割り当てビットを割り当てる、オーディオ符号化のためのビット割り当て装置において、上記周波数スペクトルは、連続する複数のスペクトル成分をそれぞれ含む複数のブロック浮動小数点ユニットに分割されるように設定され、
    上記オーディオ符号化のためのビット割り当て装置は、
    (a)上記各ブロック浮動小数点ユニットに対して、上記割り当てビットのビット数以下で割り当て可能な最大の量子化ステップ数を割り当てるように準備的な量子化ステップ数の割り当てを実行する前置割り当て手段と、
    (b)上記準備的な量子化ステップ数の割り当ての結果に従って、信号強度が所定のしきい値よりも大きいスペクトル成分を含むトーン性成分を上記ブロック浮動小数点ユニット毎に探索して検出するトーン性成分検出手段と、
    (c)上記検出されたトーン性成分と、トーン性成分を持たないブロック浮動小数点ユニットのみで構成される残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算し、上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに余剰のビットが存在する場合は、上記余剰のビットを上記トーン性成分と上記残りの非トーン性の周波数スペクトルとで共用するように、上記トーン性成分に対する量子化ステップ数の割り当てを実行するトーン性成分ビット割り当て手段と、
    (d)上記余剰のビットのうちで、上記トーン性成分ビット割り当て手段が上記準備的な量子化ステップ数の割り当てを実行した後で残っているビットを用いて、上記残りの非トーン性の周波数スペクトルに対する量子化ステップ数の割り当てを実行する後置割り当て手段とを備えたことを特徴とするオーディオ符号化のためのビット割り当て装置。
  14. 上記トーン性成分検出手段はさらに、
    (a)上記準備的な量子化ステップ数の割り当ての結果に従って、上記各ブロック浮動小数点ユニットの範囲内にあるすべてのスペクトル成分をチェックすることによって、上記各ブロック浮動小数点ユニットの範囲内にあるスペクトル成分がゼロに量子化されるか否かを確認する量子化値確認手段と、
    (b)非ゼロの値に量子化されるスペクトル成分を含む所定の帯域幅をトーン性成分として識別するトーン性成分識別手段と、
    (c)当該ブロック浮動小数点ユニットにおけるスペクトル成分の総数に対する、上記識別されたトーン性成分を含むブロック浮動小数点ユニットにおけるトーン性成分の総数の比が、所定のしきい値以下である場合は、当該ブロック浮動小数点ユニットをトーン性ブロック浮動小数点ユニットとして識別するトーン性ブロック浮動小数点ユニット識別手段と、
    (d)上記識別されたすべてのトーン性ブロック浮動小数点ユニットにおいて上記トーン性成分のロケーションを識別するトーン性成分ロケーション識別手段とを備えたことを特徴とする請求項13記載のオーディオ符号化のためのビット割り当て装置。
  15. 上記トーン性成分識別手段において、上記識別されたすべてのトーン性成分の帯域幅は、予め決められた同一個数の連続するスペクトル成分を含むことを特徴とする請求項14記載のオーディオ符号化のためのビット割り当て装置。
  16. 上記トーン性成分検出手段において、上記ブロック浮動小数点ユニットをトーン性ブロック浮動小数点ユニットとして識別するためのしきい値は予め決められた定数であり、
    上記各ブロック浮動小数点ユニットにおけるスペクトル成分の総数は、ブロック浮動小数点ユニットが位置する周波数帯が高くなるに従って次第に増大するように設定されたことを特徴とする請求項14又は15記載のオーディオ符号化のためのビット割り当て装置。
  17. 上記トーン性成分ビット割り当て手段はさらに、
    (a)複数のトーン性成分が存在する場合に、所定の基準に基づいて、上記各トーン性成分に対して単一の量子化ステップ数が割り当てられるべきか、もしくは2種類の量子化ステップ数が割り当てられるべきかを決定するトーン性成分シーケンス数決定手段と、
    (b)上記基準が満たされない場合に、上記複数のトーン性成分を、単一の量子化ステップ数が割り当てられる1つのトーン性成分シーケンスとするトーン性成分シーケンス設定手段と、
    (c)上記1つのトーン性成分シーケンスに含まれる各トーン性成分の量子化ステップ数であるシーケンス量子化ステップ数を、上記すべてのトーン性成分の量子化ステップ数のうちの最大の量子化ステップ数に設定するシーケンス量子化ステップ数設定手段と、
    (d)上記1つのトーン性成分シーケンスにおけるすべてのトーン性成分に、上記シーケンス量子化ステップ数を共用させるトーン性成分シーケンス生成手段と、
    (e)上記シーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算するビット使用量計算手段と、
    (f)上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在しない場合は、このトーン性成分ビット割り当て手段の動作を中止し、上記準備的な量子化ステップ数の割り当てを採用するトーン性成分ビット割り当て取り消し手段と、
    (g)上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ上記シーケンス量子化ステップ数の値が予め決められた所定の上限値以上である場合には、現在のシーケンス量子化ステップ数の値で上記シーケンス量子化ステップ数の値を確定するシーケンス量子化ステップ数確定手段と、
    (h)上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ上記シーケンス量子化ステップ数が上記上限値より小さい場合には、上記シーケンス量子化ステップ数の値を現在の値よりも大きい最小の値に増大させ、上記増大後のシーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を再計算し、上記再計算されたビットの使用量が上記割り当てビットのビット数より小さい場合には、上記増大後の値で上記シーケンス量子化ステップ数の値を確定し、上記再計算されたビットの使用量が上記割り当てビットのビット数以上である場合には、上記シーケンス量子化ステップ数の値を増大させる前の値に戻して確定するシーケンス量子化ステップ数変更確定手段と、
    (i)上記シーケンス量子化ステップ数の値が確定した後で、上記すべてのトーン性ブロック浮動小数点ユニットの量子化ステップ数をゼロに設定するトーン性ブロック浮動小数点ユニット量子化ステップ数初期化手段とを備えたことを特徴とする請求項13乃至16のいずれか1つに記載のオーディオ符号化のためのビット割り当て装置。
  18. 上記トーン性成分シーケンス数決定手段は、上記トーン性成分に対する正規化係数であるスケールファクタに関連付けられた所定のインデックスを用いて、上記検出されたすべてのトーン性成分のスケールファクタのインデックスの最大値と最小値を検索する手段を含み、
    上記トーン性成分シーケンス数決定手段における上記基準は、上記スケールファクタのインデックスの最大値が上記スケールファクタのインデックスの最小値を予め決められたしきい値で上回るか否かということに基づくことを特徴とする請求項17記載のオーディオ符号化のためのビット割り当て装置。
  19. 上記トーン性成分ビット割り当て手段はさらに、
    (a)複数のトーン性成分が存在する場合に、所定の基準に基づいて、上記各トーン性成分に対して単一の量子化ステップ数が割り当てられるべきか、もしくは2種類の量子化ステップ数が割り当てられるべきかを決定するトーン性成分シーケンス数決定手段と、
    (b)上記基準が満たされる場合に、上記複数のトーン性成分を、異なる量子化ステップ数がそれぞれ割り当てられる2つのトーン性成分シーケンスに分割するトーン性成分シーケンス設定手段と、
    (c)上記各トーン性成分シーケンスに含まれる各トーン性成分の量子化ステップ数であるシーケンス量子化ステップ数を、上記各トーン性成分シーケンス毎に、当該トーン性成分シーケンスに含まれるすべてのトーン性成分の量子化ステップ数のうちの最大の量子化ステップ数にそれぞれ設定するシーケンス量子化ステップ数設定手段と、
    (d)上記各トーン性成分シーケンスにおけるすべてのトーン性成分に、当該トーン成分シーケンスのシーケンス量子化ステップ数を共用させるトーン性成分シーケンス生成手段と、
    (e)上記各シーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を計算するビット使用量計算手段と、
    (f)上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在しない場合は、このトーン性成分ビット割り当て手段の動作を中止し、上記準備的な量子化ステップ数の割り当てを採用するトーン性成分ビット割り当て取り消し手段と、
    (g)上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ、上記各シーケンス量子化ステップ数の値が、上記各シーケンス量子化ステップ数の値にそれぞれ関連付けられた予め決められた一対の上限値の各上限値以上である場合には、現在の各シーケンス量子化ステップ数の値で上記各シーケンス量子化ステップ数の値を確定するシーケンス量子化ステップ数確定手段と、
    (h)上記計算されたビットの使用量を上記割り当てビットのビット数に対して比較したときに上記余剰のビットが存在し、かつ、上記2つのシーケンス量子化ステップ数の少なくとも一方が、当該シーケンス量子化ステップ数に関連付けられた上記上限値より小さい場合には、上記上限値よりも小さい上記2つのシーケンス量子化ステップ数の少なくとも一方の値を現在の値よりも大きい最小の値に増大させ、上記少なくとも一方の値を増大させた後の各シーケンス量子化ステップ数を用いて量子化される上記各トーン性成分と、上記残りの非トーン性の周波数スペクトルとを符号化するために必要なビットの使用量を再計算し、上記再計算されたビットの使用量が上記割り当てビットのビット数より小さい場合には、上記2つのシーケンス量子化ステップ数の少なくとも一方の値を増大させた後の値で上記各シーケンス量子化ステップ数の値を確定し、上記再計算されたビットの使用量が上記割り当てビットのビット数以上である場合には、上記2つのシーケンス量子化ステップ数の少なくとも一方の値を増大させる前の値に戻して上記各シーケンス量子化ステップ数の値を確定するシーケンス量子化ステップ数変更確定手段と、
    (i)上記各シーケンス量子化ステップ数の値が確定した後で、上記すべてのトーン性ブロック浮動小数点ユニットの量子化ステップ数をゼロに設定するトーン性ブロック浮動小数点ユニット量子化ステップ数初期化手段とを備えたことを特徴とする請求項13乃至16のいずれか1つに記載のオーディオ符号化のためのビット割り当て装置。
  20. 上記トーン性成分シーケンス数決定手段は、上記トーン性成分に対する正規化係数であるスケールファクタに関連付けられた所定のインデックスを用いて、上記検出されたすべてのトーン性成分のスケールファクタのインデックスの最大値と最小値を検索する手段を含み、
    上記トーン性成分シーケンス数決定手段において、上記基準は、上記スケールファクタのインデックスの最大値が上記スケールファクタのインデックスの最小値を予め決められたしきい値で上回るか否かということに基づくことを特徴とする請求項19記載のオーディオ符号化のためのビット割り当て装置。
  21. 上記トーン性成分シーケンス設定手段は、上記基準が満たされる場合に、上記スケールファクタのインデックスの最大値と最小値との平均値より大きなスケールファクタのインデックスを有するトーン性成分を、第1のトーン性成分シーケンスにグループ分けし、残りのトーン性成分を第2のトーン性成分シーケンスにグループ分けすることを特徴とする請求項20記載のオーディオ符号化のためのビット割り当て装置。
  22. 上記シーケンス量子化ステップ数変更確定手段が、上記2つのシーケンス量子化ステップ数の少なくとも一方の値を現在の値よりも大きい最小の値に増大させる場合に、
    (a)より大きい信号強度を有するトーン性成分を含むトーン性成分シーケンスのシーケンス量子化ステップ数の値が、当該シーケンス量子化ステップ数に関連付けられた上記上限値より小さいとき、上記シーケンス量子化ステップ数変更確定手段は当該シーケンス量子化ステップ数の値を最初に増大し、
    (b)上記より大きい信号強度を有するトーン性成分を含むトーン性成分シーケンスのシーケンス量子化ステップ数の値が、当該シーケンス量子化ステップ数に関連付けられた上記上限値以上であるとき、もう1つの上記シーケンス量子化ステップ数の値がもう1つの上記上限値より小さいならば、上記シーケンス量子化ステップ数変更確定手段は当該もう1つのシーケンス量子化ステップ数の値を最初に増大することを特徴とする請求項19乃至21のうちの1つに記載のオーディオ符号化のためのビット割り当て装置。
  23. 上記シーケンス量子化ステップ数設定手段において、上記各トーン性成分の量子化ステップ数は、当該トーン性成分が含まれるブロック浮動小数点ユニットの量子化ステップ数と同一であることを特徴とする請求項17乃至22のうちの1つに記載のオーディオ符号化のためのビット割り当て装置。
  24. 上記ビット使用量計算手段と、上記シーケンス量子化ステップ数変更確定手段とは、上記トーン性成分の符号化と、上記残りの非トーン性の周波数スペクトルの符号化とに関連付けられたすべてのビットストリームの要素に基づいて上記ビットの使用量の再計算を実行することを特徴とする請求項17乃至23のうちの1つに記載のオーディオ符号化のためのビット割り当て装置。
  25. 請求項1乃至12のうちの1つに記載のオーディオ符号化のためのビット割り当て方法において記載の各ステップを用いて符号化されたディジタルオーディオ信号を記録したことを特徴とするコンピュータにより読み取り可能な記録媒体。
JP2004067769A 2004-02-16 2004-03-10 オーディオ符号化のためのビット割り当て方法及び装置 Pending JP2005265865A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004067769A JP2005265865A (ja) 2004-02-16 2004-03-10 オーディオ符号化のためのビット割り当て方法及び装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004038142 2004-02-16
JP2004067769A JP2005265865A (ja) 2004-02-16 2004-03-10 オーディオ符号化のためのビット割り当て方法及び装置

Publications (1)

Publication Number Publication Date
JP2005265865A true JP2005265865A (ja) 2005-09-29

Family

ID=35090534

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004067769A Pending JP2005265865A (ja) 2004-02-16 2004-03-10 オーディオ符号化のためのビット割り当て方法及び装置

Country Status (1)

Country Link
JP (1) JP2005265865A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007183528A (ja) * 2005-12-06 2007-07-19 Fujitsu Ltd 符号化装置、符号化方法、および符号化プログラム
WO2012157932A3 (en) * 2011-05-13 2013-01-24 Samsung Electronics Co., Ltd. Bit allocating, audio encoding and decoding
WO2016013164A1 (ja) * 2014-07-25 2016-01-28 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 音響信号符号化装置、音響信号復号装置、音響信号符号化方法および音響信号復号方法
JP2019070823A (ja) * 2014-07-25 2019-05-09 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ 音響信号符号化装置、音響信号復号装置、音響信号符号化方法および音響信号復号方法
CN117095685A (zh) * 2023-10-19 2023-11-21 深圳市新移科技有限公司 一种联发科平台终端设备及其控制方法

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007183528A (ja) * 2005-12-06 2007-07-19 Fujitsu Ltd 符号化装置、符号化方法、および符号化プログラム
US9773502B2 (en) 2011-05-13 2017-09-26 Samsung Electronics Co., Ltd. Bit allocating, audio encoding and decoding
US9236057B2 (en) 2011-05-13 2016-01-12 Samsung Electronics Co., Ltd. Noise filling and audio decoding
RU2648595C2 (ru) * 2011-05-13 2018-03-26 Самсунг Электроникс Ко., Лтд. Распределение битов, кодирование и декодирование аудио
RU2705052C2 (ru) * 2011-05-13 2019-11-01 Самсунг Электроникс Ко., Лтд. Распределение битов, кодирование и декодирование аудио
CN105825859A (zh) * 2011-05-13 2016-08-03 三星电子株式会社 比特分配、音频编码和解码
CN105825858A (zh) * 2011-05-13 2016-08-03 三星电子株式会社 比特分配、音频编码和解码
US9489960B2 (en) 2011-05-13 2016-11-08 Samsung Electronics Co., Ltd. Bit allocating, audio encoding and decoding
US10276171B2 (en) 2011-05-13 2019-04-30 Samsung Electronics Co., Ltd. Noise filling and audio decoding
US10109283B2 (en) 2011-05-13 2018-10-23 Samsung Electronics Co., Ltd. Bit allocating, audio encoding and decoding
WO2012157932A3 (en) * 2011-05-13 2013-01-24 Samsung Electronics Co., Ltd. Bit allocating, audio encoding and decoding
US9711155B2 (en) 2011-05-13 2017-07-18 Samsung Electronics Co., Ltd. Noise filling and audio decoding
US9159331B2 (en) 2011-05-13 2015-10-13 Samsung Electronics Co., Ltd. Bit allocating, audio encoding and decoding
AU2015291897B2 (en) * 2014-07-25 2019-02-21 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Acoustic signal encoding device, acoustic signal decoding device, method for encoding acoustic signal, and method for decoding acoustic signal
JPWO2016013164A1 (ja) * 2014-07-25 2017-04-27 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 音響信号符号化装置、音響信号復号装置、音響信号符号化方法および音響信号復号方法
JP2019070823A (ja) * 2014-07-25 2019-05-09 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ 音響信号符号化装置、音響信号復号装置、音響信号符号化方法および音響信号復号方法
US10311879B2 (en) 2014-07-25 2019-06-04 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio signal coding apparatus, audio signal decoding apparatus, audio signal coding method, and audio signal decoding method
WO2016013164A1 (ja) * 2014-07-25 2016-01-28 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 音響信号符号化装置、音響信号復号装置、音響信号符号化方法および音響信号復号方法
US10643623B2 (en) 2014-07-25 2020-05-05 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio signal coding apparatus, audio signal decoding apparatus, audio signal coding method, and audio signal decoding method
US11521625B2 (en) 2014-07-25 2022-12-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio signal coding apparatus, audio signal decoding apparatus, audio signal coding method, and audio signal decoding method
RU2669706C2 (ru) * 2014-07-25 2018-10-15 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Устройство кодирования аудиосигнала, устройство декодирования аудиосигнала, способ кодирования аудиосигнала и способ декодирования аудиосигнала
CN117095685B (zh) * 2023-10-19 2023-12-19 深圳市新移科技有限公司 一种联发科平台终端设备及其控制方法
CN117095685A (zh) * 2023-10-19 2023-11-21 深圳市新移科技有限公司 一种联发科平台终端设备及其控制方法

Similar Documents

Publication Publication Date Title
JP5175028B2 (ja) デジタル信号の符号化方法及び装置ならびに復号化方法及び装置
US7974840B2 (en) Method and apparatus for encoding/decoding MPEG-4 BSAC audio bitstream having ancillary information
US20080228476A1 (en) Entropy coding by adapting coding between level and run length/level modes
USRE46082E1 (en) Method and apparatus for low bit rate encoding and decoding
JP2006011456A (ja) 低ビット率符号化/復号化方法及び装置並びにコンピュータ可読媒体
KR100707177B1 (ko) 디지털 신호 부호화/복호화 방법 및 장치
JP5337235B2 (ja) 符号化方法、復号方法、符号化装置、復号装置、プログラム及び記録媒体
US20070078646A1 (en) Method and apparatus to encode/decode audio signal
JP3297240B2 (ja) 適応的符号化システム
JP4628861B2 (ja) 複数のルックアップテーブルを利用したデジタル信号の符号化方法、デジタル信号の符号化装置及び複数のルックアップテーブル生成方法
CN100355210C (zh) 编码方法和装置以及解码方法和装置
JP4728568B2 (ja) レベル・モードとラン・レングス/レベル・モードの間での符号化を適応させるエントロピー符号化
JP4843142B2 (ja) 音声符号化のための利得−適応性量子化及び不均一符号長の使用
JP2005265865A (ja) オーディオ符号化のためのビット割り当て方法及び装置
KR20170089982A (ko) 신호 인코딩 및 디코딩 방법 및 장치
JP2003110429A (ja) 符号化方法及び装置、復号方法及び装置、伝送方法及び装置、並びに記録媒体
JP2000151413A (ja) オーディオ符号化における適応ダイナミック可変ビット割り当て方法
US8502708B2 (en) Encoding method and decoding method, and devices, program and recording medium for the same
JP6962445B2 (ja) 符号化装置、符号化方法、プログラム、および記録媒体
US20070078651A1 (en) Device and method for encoding, decoding speech and audio signal
JP2004246038A (ja) 音声楽音信号符号化方法、復号化方法、符号化装置、復号化装置、符号化プログラム、および復号化プログラム
JP4848049B2 (ja) 符号化方法、復号方法、それらの装置、プログラム及び記録媒体
JP2001249699A (ja) 音声圧縮装置
JP3389849B2 (ja) 量子化装置
JP2003280695A (ja) 音声圧縮方法および音声圧縮装置