(57)【要約】スケーラブルデータストリームを生成する方法において、第１エンコーダの出力データのブロック（１１）が存在する時は、この出力データのブロックが上記スケーラブルデータストリーム内に書き込まれる。もし先行する時間セクションを表す第２エンコーダの出力データのブロック（０）が存在する時は、この先行する時間セクションを表す出力データが上記スケーラブルデータストリーム内において伝送方向から見て上記第１エンコーダの出力データのブロック（１１）の後ろに書き込まれる。もしカレントセクションを表す第２エンコーダの出力データのブロック（１）が存在する時は、この第２エンコーダの出力データが先行するセクションを表す第２エンコーダの出力データに続いてビットストリーム内に書き込まれる。決定データブロック（２００）が生成され、第２エンコーダのビットセイビングバンクのサイズに対応する時間（２５０）だけ遅延された状態で上記ビットストリームの中に書き込まれる。最後に、バッファ情報（２６０）がビットストリーム内に書き込まれ、このバッファ情報は、第２エンコーダのカレントセクションを表す出力データの先頭位置が、決定データブロックから見てどこにあるかを示し、かつビットセイビングバンクレベルに対応している。このように、スケーラブルデータストリーム内においてビットセイビングバンクを簡素に信号化することができる。ビットセイビングバンクの最大サイズはさらに、デコーダの最初の遅延を減少させるために、目的とするデコーダ遅延に依存して調整されることも可能であり、かつ追加的なビットを必要とせずに、スケーラブルデータストリーム内に決定データブロックを配置することでデコーダに対して伝達されることも可能である。【選択図】図２ｅ
2004523790.tif 000002
【特許請求の範囲】
【請求項１】
第１エンコーダ（１２）の出力データの少なくとも１個のブロックと、第２エンコーダ（１４）の出力データの少なくとも１個のブロックとからスケーラブルデータストリームを生成する方法であって、上記第２エンコーダは最大サイズとカレントレベルとで定義されるビットセイビングバンクを含み、上記第１エンコーダの出力データの少なくとも１個のブロックは上記第１エンコーダへの入力信号のカレントセクションを構成するいくつかのサンプルを表し、上記第２エンコーダの出力データの少なくとも１個のブロックは上記第２エンコーダへの入力信号のカレントセクションを構成するいくつかのサンプルを表し、上記第１エンコーダへのサンプル数および上記第２エンコーダへのサンプル数は同数であり、かつ上記第１および第２エンコーダへの上記カレントセクションは一致するかまたは相対的にある調整時間（３４）分だけシフトされる方法において、
上記第１エンコーダ（１２）の出力データのブロック（１１）が存在するときは、スケーラブルデータストリーム内に上記第１エンコーダの出力データの少なくとも１個のブロックを書き込むステップと、
上記第２エンコーダへの入力信号の先行するセクションを表す第２エンコーダの出力データ（０）が存在するときは、その第２エンコーダへの入力信号の先行するセクションを表す第２エンコーダの出力データを、伝送方向から見て上記第１エンコーダの出力データのブロック（１１）の後ろに書き込むステップと、
上記第２エンコーダへの入力信号のカレントセクションを表す第２エンコーダの出力データ（１）が存在するときは、その第２エンコーダの出力データを、ビットストリーム内に、伝送方向から見て上記第２エンコーダへの入力信号の先行するセクションを表す第２エンコーダの出力データの後ろに書き込むステップと、
上記第２エンコーダのカレントセクションを表す第２エンコーダの出力データのブロックが準備された時、決定データブロック（２００）を生成し、かつその決定データブロック（２００）を、その決定データブロックの生成からある時間（２５０）分だけ遅延させて書き込むステップであって、上記時間（２５０）は第２エンコーダ（１４）のビットセイビングバンクの最大サイズに対応する遅延時間以下であるステップと、
上記第２エンコーダへの入力信号のカレントセクションを表す第２エンコーダの出力データが、上記決定データブロック（２００）から見てどこから開始するのかを示すバッファ情報（２６０）を、上記ビットストリーム内に書き込むステップと、を含むことを特徴とする方法。
【請求項２】
請求項１に記載の方法において、
上記時間（２５０）は上記ビットセイビングバンクの最大サイズに対応する遅延時間と等しく、
上記バッファ情報（２６０）は、上記第２エンコーダへの入力信号のカレントセクションに関するビットセイビングバンクのカレントレベルに対応していることを特徴とする方法。
【請求項３】
請求項１または２に記載の方法において、
上記決定データブロック（２００）は高い優先順位で書き込まれ、
上記第１エンコーダの出力データのブロックは低い優先順位で書き込まれ、
上記入力信号の先行するセクションを表す第２エンコーダの出力データの少なくとも１個のブロック（０）は、上記カレントセクションを表す第２エンコーダの出力データの少なくとも１個のブロック（１）と比較してより高い優先順位でビットストリーム内に書き込まれることを特徴とする方法。
【請求項４】
請求項１乃至３のいずれかに記載の方法において、
上記第１エンコーダは上記いくつかのサンプルに対して少なくとも２個のデータブロックを提供し、
上記方法は、上記ビットストリーム内に、伝送方向において上記決定データブロック（２００）より前に位置する上記第１エンコーダ（１２）の出力データの何個のブロックが第１エンコーダ（１２）のカレントセクションに属するのかを示すオフセット情報（２７０）を書き込むステップをさらに含むことを特徴とする方法。
【請求項５】
最大サイズを持つビットセイビングバンクを備えたエンコーダ（１４）において、
オーディオデコーダに設けられた遅延に従って上記ビットセイビングバンクの最大サイズを調整する手段（５０）と、
上記調整されたビットセイビングバンクの最大サイズを出力側データストリーム内に伝送するための手段（５２，２０）と、を備えたことを特徴とするエンコーダ。
【請求項６】
第１エンコーダの出力データのブロックを生成するための第１エンコーダ（１２）と、
第２エンコーダの出力データのブロックを生成するための最大サイズを持つビットセイビングバンクと、このビットセイビングバンクの最大サイズをオーディオデコーダに設けられた最初の遅延に従って調整するための手段（５０）とを備えた第２エンコーダ（１４）と、
スケーラブルデータストリームを生成するためのビットストリームマルチプレクサ（２０）とを備え、
上記ビットストリームマルチプレクサ（２０）は、
上記スケーラブルデータストリーム内に上記第１エンコーダ（１２）の出力データブロックを書き込み、
上記スケーラブルデータストリーム内に上記第２エンコーダ（１４）の出力データブロックを書き込み、
上記第２エンコーダ（１４）の出力データのブロックが上記第２エンコーダによって出力された後に、決定データブロック（２００）を生成し、
上記決定データブロックを上記スケーラブルデータストリーム内に、上記ビットセイビングバンクの最大サイズに対応する時間分だけ遅延させた状態で書き込み、
上記第２エンコーダの出力データの先頭が伝送方向において上記決定データブロック（２００）よりもどれだけ前方に位置するのかを示し、かつ上記ビットセイビングのカレントレベルに対応するバッファ情報（２６０）を、上記スケーラブルデータストリーム内に書き込むことを特徴とするスケーラブルエンコーダ。
【請求項７】
第１エンコーダ（１２）の出力データの少なくとも１個のブロックと、第２エンコーダ（１４）の出力データの少なくとも１個のブロックとからスケーラブルデータストリームを生成する装置であって、上記第２エンコーダは最大サイズとカレントレベルとで定義されるビットセイビングバンクを含み、上記第１エンコーダの出力データの少なくとも１個のブロックは上記第１エンコーダへの入力信号のカレントセクションを構成するいくつかのサンプルを表し、上記第２エンコーダの出力データの少なくとも１個のブロックは上記第２エンコーダへの入力信号のカレントセクションを構成するいくつかのサンプルを表し、上記第１エンコーダへのサンプル数および上記第２エンコーダへのサンプル数は同数であり、かつ上記第１および第２エンコーダへの上記カレントセクションは一致するかまたは相対的にある調整時間（３４）分だけシフトされる装置において、
上記第１エンコーダ（１２）の出力データのブロック（１１）が存在するときは、スケーラブルデータストリーム内に上記第１エンコーダの出力データの１個のブロックを書き込む手段と、
上記第２エンコーダへの入力信号の先行するセクションを表す第２エンコーダの出力データ（０）が存在するときは、その第２エンコーダへの入力信号の先行するセクションを表す第２エンコーダの出力データを、伝送方向から見て上記第１エンコーダの出力データのブロック（１１）の後ろに書き込む手段と、
上記第２エンコーダのカレントセクションを表す第２エンコーダの出力データ（１）が存在するときは、その第２エンコーダの時間信号のカレントセクションを表す第２エンコーダの出力データを、ビットストリーム内に、伝送方向から見て上記第２エンコーダへの入力信号の先行するセクションを表す第２エンコーダの出力データの後ろに書き込む手段と、
上記第２エンコーダのカレントセクションを表す第２エンコーダの出力データのブロックが準備された時、決定データブロック（２００）を生成し、かつその決定データブロック（２００）を、その決定データブロックの生成からある時間（２５０）分だけ遅延させて書き込む手段であって、上記時間（２５０）は第２エンコーダ（１４）のビットセイビングバンクの最大サイズに対応する遅延時間以下である手段と、
上記第２エンコーダへの入力信号のカレントセクションを表す第２エンコーダの出力データが、上記決定データブロック（２００）から見てどこから開始するのかを示すバッファ情報（２６０）を、ビットストリーム内に書き込む手段と、を含むことを特徴とする装置。
【請求項８】
第１エンコーダ（１２）の出力データの少なくとも１個のブロックと、第２エンコーダ（１４）の出力データの少なくとも１個のブロックとからスケーラブルデータストリームを復号化する方法であって、上記第２エンコーダは最大サイズとカレントレベルとで定義されるビットセイビングバンクを含み、上記第１エンコーダの出力データの少なくとも１個のブロックは上記第１エンコーダへの入力信号のカレントセクションを構成するいくつかのサンプルを表し、上記第２エンコーダの出力データの少なくとも１個のブロックは上記第２エンコーダへの入力信号のカレントセクションを構成するいくつかのサンプルを表し、上記第１エンコーダへのサンプル数および上記第２エンコーダへのサンプル数は同数であり、かつ上記第１および第２エンコーダへの上記カレントセクションは一致するかまたは相対的にある調整時間（３４）分だけシフトされ、上記スケーラブルデータストリームは上記第１エンコーダの出力データ（１１）と、先行するあるセクションを表す上記第２エンコーダの出力データと、上記カレントセクションを表す上記第２エンコーダの出力データと、決定データブロック（２００）と、バッファ情報（２６０）とを含む方法において、
上記スケーラブルデータストリームをバッファリング（６２）するステップと、
上記第１エンコーダの上記カレントセクションを表す上記第１エンコーダの出力データのブロックを読み取るステップと、
上記バッファリングされたデータストリームから上記決定データブロック（２００）および上記バッファ情報（２６０）を読み取るステップと、
上記バッファ情報（２６０）を使用して、上記第２エンコーダのカレントセクションを表す上記第２エンコーダの出力データのブロックの開始位置を決定するステップと、
上記第１エンコーダの上記カレントセクションと上記第２エンコーダの上記カレントセクションとが相対的に時間シフトされるための上記調整時間（３４）を考慮しながら、上記第１エンコーダの出力データのブロックと上記第２エンコーダの出力データのブロックとを復号化（６４，６６）するステップと、を含むことを特徴とする方法。
【請求項９】
第１エンコーダ（１２）の出力データの少なくとも１個のブロックと、第２エンコーダ（１４）の出力データの少なくとも１個のブロックとからスケーラブルデータストリームを復号化する装置であって、上記第２エンコーダは最大サイズとカレントレベルとで定義されるビットセイビングバンクを含み、上記第１エンコーダの出力データの少なくとも１個のブロックは上記第１エンコーダへの入力信号のカレントセクションを構成するいくつかのサンプルを表し、上記第２エンコーダの出力データの少なくとも１個のブロックは上記第２エンコーダへの入力信号のカレントセクションを構成するいくつかのサンプルを表し、上記第１エンコーダへのサンプル数および上記第２エンコーダへのサンプル数は同数であり、かつ上記第１および第２エンコーダへの上記カレントセクションは一致するかまたは相対的にある調整時間（３４）分だけシフトされ、上記スケーラブルデータストリームは上記第１エンコーダの出力データ（１１）と、先行するあるセクションを表す上記第２エンコーダの出力データと、上記カレントセクションを表す上記第２エンコーダの出力データと、決定データブロック（２００）と、バッファ情報（２６０）とを含む装置において、
上記スケーラブルデータストリームをバッファリング（６２）する手段と、
上記第１エンコーダの上記カレントセクションを表す上記第１エンコーダの出力データのブロックを読み取る手段と、
上記バッファリングされたデータストリームから上記決定データブロック（２００）および上記バッファ情報（２６０）を読み取る手段と、
上記バッファ情報（２６０）を使用して、上記第２エンコーダのカレントセクションを表す上記第２エンコーダの出力データのブロックの開始位置を決定する手段と、
上記第１エンコーダの上記カレントセクションと上記第２エンコーダの上記カレントセクションとが相対的に時間シフトされるための上記調整時間（３４）を考慮しながら、上記第１エンコーダの出力データのブロックと上記第２エンコーダの出力データのブロックとを復号化する手段（６４，６６）と、を含むことを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はスケーラブルエンコーダ（階層符号器）とデコーダ（階層復号器）に関し、特に、スケーラブルデータストリームの生成に関する。
【背景技術】
【０００２】
スケーラブルエンコーダはＥＰ０８４６３７５Ｂ１に示される。一般にスケーラビリティ（分解能可変性）とは、ある符号化されたデータ信号を表すビットストリーム、例えばオーディオ信号やビデオ信号などから、その一部分を取り出して利用可能な信号に復号できる可能性を示すと考えられている。この特徴は、例えばデータ送信チャネルが完全なビットストリームを送信するために必要な全帯域を提供できない時などに、特に望ましい特徴となる。他方では、複雑性の低いデコーダによる不完全な復号化も可能である。一般に、実際の使用においては様々な離散スケーラビリティレイヤが定義されている。
【０００３】
図１に、例えばＭＰＥＧ４標準（ＩＳＯ／ＩＥＣ１４４９６−３：１９９９，サブパート４）のパート３（オーディオ）のサブパート４（一般オーディオ）において定義されたような、スケーラブルエンコーダの例を示す。符号化されるべきオーディオ信号Ｓ（ｔ）がスケーラブルエンコーダの入力側に供給される。図１に示すスケーラブルエンコーダは、ＭＰＥＧ  ＣＥＬＰ（符号励振線型予測）エンコーダである第１エンコーダ１２を備える。第２エンコーダ１４は、高品質オーディオ符号化を実行し、かつＭＰＥＧ２  ＡＡＣ(Advanced Audio Coding) 標準（ＩＳＯ／ＩＥＣ１３８１８）に定義されたＡＡＣエンコーダである。ビットストリームマルチプレクサ（ＢｉｔＭｕｘ）２０に対し、上記ＣＥＬＰエンコーダ１２は出力ライン１６を介して第１スケーリングレイヤを提供し、上記ＡＡＣエンコーダ１４は第２出力ライン１８を介して第２スケーリングレイヤを提供する。ビットストリームマルチプレクサは、出力側ではＭＰＥＧ−４−ＬＡＴＭビットストリーム２２（ＬＡＴＭ＝Low Overhead MPEG 4 Audio Transport Multiplex)を出力する。このＬＡＴＭフォーマットは、ＭＰＥＧ４標準（ＩＳＯ／ＩＥＣ１４４９６−３：１９９９／ＡＭＤ１：２０００）への第１付録パート３（オーディオ）の６．５章に説明されている。
【０００４】
スケーラブルオーディオエンコーダはまた、他の要素も含む。まず、ＡＡＣ分枝には遅延ステージ２４を含み、ＣＥＬＰ分枝には遅延ステージ２６を含む。これら２個の遅延ステージにより、各分枝に対する選択的遅延（optional delay) が設定可能となる。ダウンサンプリングステージ２８がＣＥＬＰ分枝の遅延ステージ２６の下流に位置し、入力信号ｓ（ｔ）のサンプリングレートをＣＥＬＰエンコーダが要求するサンプリングレートに適合させる。ＣＥＬＰエンコーダ１２の下流には逆ＣＥＬＰデコーダ３０が配置され、ＣＥＬＰ符号化／復号化された信号は、アップサンプリングステージ３２に対して入力される。ここでアップサンプリングされた信号は次にさらなる遅延ステージ３４に送られる。このステージ３４は、ＭＰＥＧ４標準では「コアコーダ遅延」("Core Coder Delay")と呼ばれるものである。
【０００５】
コアコーダ遅延ステージ３４は次のような機能を持つ。もし遅延がゼロに設定された場合には、第１エンコーダ１４および第２エンコーダ１６は、１つのいわゆるスーパーフレームの中のオーディオ入力信号の正に同一のサンプルを処理する。１つのスーパーフレームは、例えば３個のＡＡＣフレームを含むことができ、これらは合同してオーディオ信号のある所定個数のサンプル第ｘ番〜第ｙ番を表す。このスーパーフレームはさらに例えば８個のＣＥＬＰブロックを含み、コアコーダ遅延がゼロの場合には、これらのＣＥＬＰブロックは同個数でかつ同一のサンプル第ｘ番〜第ｙ番を表す。
【０００６】
もし時間量としてのコアコーダ遅延Ｄがゼロでないと設定される場合であっても、ＡＡＣフレームの３個のブロックはやはり同じサンプル第ｘ番〜第ｙ番を表す。しかし他方、ＣＥＬＰフレームの８個のブロックはサンプル第ｘ−Ｆｓ  Ｄ〜第ｙ−Ｆｓ  Ｄを表す。この時、Ｆｓは入力信号のサンプリング周波数を示す。
【０００７】
そのため、１つのスーパーフレーム内においてＡＡＣブロックおよびＣＥＬＰブロックへの入力信号のカレントタイムセクション（現時点の時間セクション）は、コアコーダ遅延Ｄ＝０の場合には同一になることが可能であり、コアコーダ遅延Ｄ＝０でない場合には、互いを参照しながらコアコーダ遅延の分だけシフトされることが可能である。以下に続く説明においては、一般性を制限することなく簡素化する目的で、コアコーダ遅延はゼロに等しいと仮定する。これは、第１エンコーダへの入力信号のカレントタイムセクションと、第２エンコーダへのカレントタイムセクションとが等しくなるようにするためである。しかし一般的には、スーパーフレームに求められる唯一の条件は、ひとつのスーパーフレーム内のＡＡＣブロックおよびＣＥＬＰブロックのブロックが、同個数のサンプルを表すことであり、そのサンプル自身は必ずしも互いに同一である必要はないが、互いを参照しながらコアコーダ遅延の分だけシフトされることが可能であるということである。
【０００８】
ここで指摘しておくが、構造上の理由からＣＥＬＰエンコーダは入力信号ｓ（ｔ）の１つのセクションをＡＡＣエンコーダ１４よりも高速で処理する。ＡＡＣ分枝内においては、ブロック決定ステージ２６が選択的遅延ステージ２４の下流に位置し、入力信号ｓ（ｔ）をウィンドウイング(windowing) するためにショートウィンドウまたはロングウィンドウのいずれを使用すべきかについて決定する。この場合、ショートウィンドウとは過渡的な度合いが高い信号に対して選択され、ロングウィンドウとは過渡的な度合いが低い信号に対して選択されるのが望ましい。なぜなら、ロングウィンドウにおいてはペイロード（有効搭載部、ユーザー情報部）データ量とサイド情報との関係が、ショートウィンドウの場合よりも良好であるからである。
【０００９】
この例の場合には、例えば１ブロックにつき５／８倍の固定遅延(fixed delay)が、ブロック決定ステージ２６により実行される。これは、当技術では前方予測機能(look ahead function) と呼ばれるものである。ブロック決定ステージは、ショートウィンドウで符号化されるべき過渡的な信号が将来あるか否かを決定できるように、所定の時間分だけ前方予測しておかなければならない。その後、ＣＥＬＰ分枝およびＡＡＣ分枝内の対応する両信号は、時間表示からスペクトル表示へと変換するための手段に対して供給される。これらの手段は、図１においては、それぞれＭＤＣＴ３６および３８として示されている（ＭＤＣＴ＝変形離散コサイン変換）。ＭＤＣＴブロック３６および３８の出力信号は、次に減算器４０に対して供給される。
【００１０】
この時点で、時間的に一致したサンプル値が存在しなければならない。すなわち、両分枝の遅延は同一でなければならない。
【００１１】
次に続くブロック４４は、入力信号そのものをＡＡＣエンコーダ１４に供給する方が望ましいか否かを判断する。これはバイパス分枝４２を介して可能となる。しかし、もし例えばエネルギーに関し、減算器４０の出力における差分信号がＭＤＣＴブロック３８により出力される信号よりも小さいと判断される場合には、オリジナル信号ではなく差分信号が、ＡＡＣエンコーダ１４により符号化されるために用いられ、最終的に第２スケーリングレイヤ１８を形成する。この比較はバンド毎に実行されることが可能であり、図中においては周波数選択的スイッチ手段（ＦＳＳ）４４により示されている。個々の要素の詳細な機能については当業者では公知であり、例えばＭＰＥＧ４標準規格およびさらなるＭＰＥＧ標準規格の中で説明がなされている。
【００１２】
ＭＰＥＧ４標準規格および他のエンコーダ標準規格の中で重要な特徴は、圧縮されたデータ信号の送信が、あるチャネルを介して一定のビットレートで実行されるという点である。全ての高品質オーディオコーデックはブロックベースで作動する。すなわち、それらはオーディオデータの複数のブロック（４８０〜１０２４サンプルの規模のオーダー）を処理し、１つの圧縮されたビットストリームの複数のパーツ、すなわちフレームとも呼ばれる部分へと変換する。この時、このビットストリームフォーマットは、以下のように設定されなければならない。すなわち、フレームの先頭位置に関する事前の情報を持たないデコーダが、フレームの先頭を認識できるようにし、その結果、復号化されたオーディオ信号データを可能な限り小さい遅延で出力開始できるように設定されなければならない。そのため、フレームの各ヘッダまたは決定データブロックは、連続的なビットストリームの中で検索可能なある一定の同期語（synchronization word) で始まる。決定データブロックの他に、データストリーム内のさらなる一般的な要素として、個々のレイヤのメインデータあるいは「ペイロードデータ」と呼ばれるものがあり、この中に実際の圧縮オーディオデータが含まれる。
【００１３】
図４は固定フレーム長を持つビットストリームフォーマットを示す。このビットストリームフォーマットの中では、ヘッダまたは決定データブロックはビットストリームの中に等間隔で挿入されている。このヘッダに関連するサイド情報およびメインデータは、直接的にこのヘッダに続いて配列されている。メインデータのための長さ、すなわちビット数は、各フレームにおいて同一となっている。図４に示されるようなビットストリームフォーマットは、例えばＭＰＥＧレイヤ２あるいはＭＰＥＧ−ＣＥＬＰにおいて使用されている。
【００１４】
図５は固定フレーム長とバックポインタとを備えた他のビットストリームフォーマットを示す。このビットストリームフォーマットにおいては、ヘッダおよびサイド情報は、図４に示されるフォーマットの場合と同様に等間隔で配列されている。しかし、ヘッダの直後にその関連するメインデータの先頭が続くことは例外的な場合であり、殆どの場合には、先頭は前方のフレームの１つの中に存在する。ビットストリーム内においてメインデータの先頭がシフトされたビット数は、サイド情報の可変バックポインタにより伝達される。このメインデータの末部は、このフレーム内または前方のあるフレームの中に存在することができる。そのため、メインデータの長さはもはや一定ではない。このように、１つのブロックが符号化されるためのビット数は、信号の特性に対して適合させることが可能である。しかし同時に、一定のビットレートを確保することも可能である。この技術は、「ビットセイビングバンク」("bit saving bank") と呼ばれるものであり、伝送チェイン内の理論上の遅延を増加させるものである。このようなビットストリームフォーマットは、例えばＭＰＥＧレイヤ３（ＭＰ３）で使用されている。ビットセイビングバンクの技術はまた、ＭＰＥＧレイヤ３標準規格の中で説明されている。
【００１５】
一般にビットセイビングバンクとは、ある時間サンプルのブロックを符号化するために、所定の出力データレートにより実際に許容された以上の数のビット数を提供できるように、利用可能となっているビットのバッファを意味する。このビットセイビングバンクの技術では、以下の点を考慮に入れている。すなわち、オーディオサンプル値のいくつかのブロックは、所定の伝送レートにより予め決められたビット数よりも少ないビット数で符号化できるという点である。この場合、ビットセイビングバンクはこれらのブロックにより満たされる。一方、オーディオサンプルの他のブロックは、その様な大きな圧縮を許容しない聴覚心理的な特徴を備えている。この場合これらのブロックにとって利用可能なビット数は、低インターフェイスまたはインターフェイスなしの符号化にとって充分ではない。必要とされる追加的なビットは、ビットセイビングバンクから取り出されるため、ビットセイビングバンクはそのようなブロックにより空状態に近づく。
【００１６】
しかし、このようなオーディオ信号は、図６に示されるように、可変フレーム長を持つフォーマットにより伝送されることもできる。図６に示されるような「可変フレーム長」ビットストリームフォーマットにおいては、ビットストリーム要素のヘッダ、サイド情報およびメインデータの固定されたシーケンスは、「固定フレーム長」の場合と同様に維持されている。メインデータの長さが一定でないので、この場合においてもビットセイビングバンクの技術が利用可能である。しかし、図５に示される場合のようなバックポインタは必要ではない。図６に示すビットストリームフォーマットの例は、ＭＰＥＧ２  ＡＡＣ標準規格に定義されているような伝送フォーマットＡＤＴＳ（Ausio Data Transport Stream)である。
【００１７】
ここで注目すべきことは、上述のエンコーダはスケーラブルエンコーダではなく、単一のオーディオエンコーダを備えているだけであるということである。
【００１８】
ＭＰＥＧ４においては、スケーラブルエンコーダ／デコーダに対する様々なエンコーダ／デコーダの組合せが提供されている。そのため、第１エンコーダとしてのＣＥＬＰボイスエンコーダを、さらなるスケーリングレイヤのためのＡＡＣエンコーダに対して結合させ、それらのレイヤを１つのビットストリームの中にパックすることが可能かつ有意義となる。この結合の目的は、全てのスケーリングレイヤを復号化して最高のオーディオ品質を得るか、あるいはその一部、場合によると第１スケーリングレイヤのみを復号化してそれ相当の限定されたオーディオ品質を得るかの選択が可能になるということである。最低のスケーリングレイヤのみを復号化する理由は、伝送チャネルの不十分な帯域により、デコーダがビットストリームの第１スケーリングレイヤのみを受け取ったからかもしれない。このように、伝送においては、ビットストリーム内の第１スケーリングレイヤの部分の伝送は、第２あるいはさらなるスケーリングレイヤと比較して、より望ましいものである。そのため、第１スケーリングレイヤの伝送は、伝送ネットワークにおける最低容量(capacity bottle necks) の中で保証されており、他方、第２スケーリングレイヤは全部あるいは一部が失われる可能性がある。
【００１９】
さらなる理由として、デコーダがコーデックの遅延を最小限にしたいために、第１スケーリングレイヤのみを復号化することも考えられる。ここで注目すべきは、一般的にＣＥＬＰコーデックのコーデック遅延はＡＡＣコーデックの遅延よりもはるかに小さいという点である。
【００２０】
ＭＰＥＧ４第２版の中で、伝送フォーマットＬＡＴＭは標準規格化されており、これは特に、スケーラブルデータストリームをも伝送可能である。
【００２１】
以下に、図２ａを参照しながら説明する。図２ａは入力信号ｓ（ｔ）のサンプル値の全体図を示す。入力信号は別々の連続的なセクション０，１，２および３に分割されることができ、各セクションは所定個数の時間サンプルを持つ。通常、ＡＡＣエンコーダ１４（図１参照）は、このセクションを表す符号化データ信号を提供するために、全てのセクション０，１，２または３を処理する。しかし、ＣＥＬＰエンコーダ１２（図１参照）は通常、符号化ステップ毎により少量の時間サンプルを処理する。そのため、図２ｂに例として示すように、ＣＥＬＰエンコーダ、あるいは一般的に呼べば第１エンコーダまたはエンコーダ１は、第２エンコーダのブロック長の４分の１のブロック長を持つことになる。ここで注意すべきは、この分割は完全に任意の分割である点である。第１エンコーダのブロック長は、第２エンコーダのブロック長の２分の１、あるいは１１分の１にでもすることが可能である。このように、第１エンコーダは入力信号の上記セクションから４つのブロック（１１，１２，１３，１４）を生成し、第２エンコーダがこの入力信号の上記セクションから１つのデータのブロックを提供する。図２ｃに一般的なＬＡＴＭビットストリームフォーマットを図示する。
【００２２】
ＭＰＥＧ４の中で表に示されているように、ＣＥＬＰフレームの個数に対するＡＡＣフレームの個数という点で、スーパーフレームは様々な比率の個数を持つことができる。そのため、１つのスーパーフレームは、例えば１個のＡＡＣブロックと１〜１２個のＣＥＬＰブロックを持つことができ、あるいは３個のＡＡＣブロックと８個のＣＥＬＰブロックを持つことができる。しかし構成によってはまた、例えばＣＥＬＰブロックよりも多い個数のＡＡＣブロックを持つことも可能である。１つのＬＡＴＭ決定データブロックを備えた１つのＬＡＴＭフレームは、１個または数個のスーパーフレームを含む。
【００２３】
一例として、ヘッダ１により開始されるＬＡＴＭフレームの生成を説明する。初めに、ＣＥＬＰエンコーダ１２（図１参照）の出力データブロック１１，１２，１３，１４が生成され、バッファリングされる。これと並行して、図２ｃ内では「１」で示されるＡＡＣエンコーダの出力データブロックが生成される。このＡＡＣエンコーダの出力データブロックが生成される時、決定データブロック（ヘッダ１）が最初に書き込まれる。標準に従い、第１エンコーダにより最初に生成された出力データブロック、すなわち図２ｃでは参照番号１１で示されるデータブロックが、ヘッダ１の直後に書き込まれ、すなわち伝送されることができる。通常、図２ｃに示すように、（必要な信号化情報は少ないとして）データストリームのさらなる書き込みおよび／または伝送のために、第１エンコーダの出力データブロックは等間隔が選択される。つまり、ブロック１１の書き込みおよび／または伝送の後で、第１エンコーダの第２出力データブロック１２の書き込みおよび／または伝送が行われ、次に第１エンコーダの第３出力データブロック１３、最後に第１エンコーダの第４出力データブロック１４の書き込みおよび／または伝送がそれぞれ等間隔で行われる。第２エンコーダの出力データブロック１は、伝送の間に残りの隙間に挿入されていく。このようにして１つのＬＡＴＭフレームが完全に書き込まれる。すなわち、完全に伝送される。
【００２４】
図４〜図６に表されたビットストリームフォーマットの１つの欠点は、それらが簡素なエンコーダのためのものであり、スケーラブルエンコーダや特にビットセイビングバンク機能を備えたスケーラブルエンコーダのためのものではないという点である。
【００２５】
公知のように、ビットセイビングバンクは、聴覚心理エンコーダが本質的に生成する可変出力データレートを一定の出力データレートに適合させるために使用される。換言すれば、オーディオエンコーダが必要とするビット数は信号特性に依存する。もし信号が比較的粗い方法で量子化されることができるように構成されている場合には、この信号を符号化するためには比較的少量のビットが必要となる。しかし、もし信号が非常に精密に量子化されなければならないように構成されている場合には、この信号を符号化するためには比較的多量のビットが必要となる。さらに、もし信号が、可聴干渉音が入らないように非常に精密に量子化されなければならないよう構成されている場合には、この信号を符号化するためにはさらに多量のビットが必要となる。
【００２６】
一定の出力データレートを達成するために、符号化されるべき信号の１つのセクションに対して中間的な数量のビットが決定される。もしあるセクションを符号化するために実際に必要な量のビットが決定された数のビットよりも少ない場合には、不要となるビットはビットセイビングバンクの中に収納される。この場合、ビットセイビングバンクは満たされていく。しかしもし、符号化されるべき信号の１つのセクションが、そのセクションを可聴干渉音が入らないように符号化するために決定された数のビットよりも多数のビットが必要となるよう構成されている場合には、追加的に必要となるビットはビットセイビングバンクから引き出される。この場合、ビットセイビングバンクは空になっていく。このようにして、一定の出力データレートが維持され、同時にオーディオ信号の中に可聴干渉音が入らないことが保証される。このための前提条件は、ビットセイビングバンクが充分な大きさを持つように選択されることである。
【００２７】
標準ＭＰＥＧ  ＡＡＣ（１３８１８−７：１９９７）においては、ビットセイビングバンクは「ビットリザーバ」("bit reservoir") と呼ばれている。一定のデータレートを備えたチャネルのためのビットセイビングバンクの最大サイズは、最大デコーダ入力バッファサイズから１ブロック当たりの平均ビット量を減算することで計算することができる。その値は通常、４８ｋＨｚのサンプリングレートを持つステレオ信号に対して９６ｋＢｉｔ／ｓの伝送レートを持つ標準ＭＰＥＧ  ＡＡＣでは、１０，２４０ビットに予め固定設定されている。ビットセイビングバンクの最大値、すなわちビットセイビングバンクのサイズは、悪条件の下でも、すなわち信号が決定されたビット数内で符号化されないであろうセクションを多数備えている場合であっても、一定の出力データレートを維持するために可聴干渉音がそのオーディオ信号の中に入り込む必要がないように設定されている。これは、ビットセイビングバンクが決して空の状態にはならない程度の充分な大きさを持つ場合にのみ可能となる。
【００２８】
デコーダの側では、これは以下のような結果をもたらす。１つのオーディオ信号を復号化する過程において、ビットセイビングバンクが満量になる場合やビットセイビングバンクが空になる場合が起こりうるか否かをデコーダがまず判断し、その後そのデコーダは、復号化を開始する前に、ビットセイビングバンクのサイズに対応する数量のビットをバッファリングする必要がある。こうしてオーディオ信号の復号化の途中でデコーダがビット不足に陥らないことが保証される。もし、ビットセイビングバンク機能を用いて符号化された信号をデコーダが受け取ると直ちに復号化したとすれば、復号化されるべき最初のブロックとなったブロックが符号化のために決定された数のビット数よりもたまたま少ないビット数を必要とした時に、すなわちビットセイビングバンクがその最初のブロックによって満たされた時に、出力のためのビットは既に放出してしまっているであろう。換言すれば、ビットセイビングバンク機能は、必然的にデコーダ内部の遅延につながり、この遅延はビットセイビングバンクのサイズに対応する。
【００２９】
上述の例におけるビットセイビングバンクのサイズは１０，２４０ビットである。これは、約０．１秒のビットセイビングバンクに起因する必然的な最初の遅延を発生させる。この遅延は、ビットセイビングバンクの最大サイズが大きい程大きくなり、また伝送レートが小さい程大きくなる。
【００３０】
例えば、話者が絶え間なく交代する電話のリアルタイム伝送を考えた場合、ビットセイビングバンクに起因した上述のサイズの遅延が、話者が交代する度に発生する。このような遅延は両方の話者にとって著しく不愉快な障害となり、典型的には、一人の話者が相手の反応が直ぐに聞こえないという理由で質問を繰り返し、さらなる会話の混乱を引き起こすことになる。そのため、このように設計された製品は、リアルタイム伝送には適さないし、市場での突破口を得ることもないであろう。
【発明の開示】
【発明が解決しようとする課題】
【００３１】
そこで本発明の目的は、低遅延伝送が達成可能なビットセイビング機能を備えたエンコーダを提供することである。
【００３２】
この目的は、請求項５に記載のエンコーダまたは請求項６に記載のスケーラブルエンコーダにより達成できる。
【００３３】
本発明のさらなる目的は、ビットセイビングバンク機能が信号化可能なスケーラブルデータストリームを生成する方法および装置を提供することである。
【００３４】
この目的は、請求項１に記載の方法または請求項７に記載の装置により達成できる。
【００３５】
本発明のさらなる目的は、ビットセイビングバンク機能が信号化されたスケーラブルデータストリームを復号化する方法および装置を提供することである。
【００３６】
この目的は、請求項８に記載の方法または請求項９に記載の装置により達成できる。
【課題を解決するための手段】
【００３７】
本発明は以下の知見を基礎とする。すなわち、より低遅延の復号化を達成するためには、現在のように固定したビットセイビングバンクサイズについての概念を捨てる必要があるという知見である。本発明によれば、これはエンコーダのビットセイビングバンクの最大サイズを調整可能とすることで達成できる。これは、適用方法に応じ、かつ目的とするデコーダの機能に応じて、ビットセイビングバンクの所定の調整が達成されるという意味である。一方向のデータ送信の場合には、最高のオーディオ品質に対する要求を満たす目的で、ビットセイビングバンクは単に大きなものが選択されであろう。しかし、他方、送信者と受信者が頻繁に交代し、話者が頻繁に交代する双方向送信の場合には、より小さいサイズのビットセイビングバンクに調整されるであろう。小さなサイズのビットセイビングバンクに調整されたことでデコーダが利益を受けるように、ビットセイビングバンクのサイズは何らかの方法でデコーダに伝送されなければならない。これは一方ではデータストリーム内で追加的な情報を伝送することで達成できるであろう。しかし、他方では、スケーラブルの場合を特に参照しながら後述するように、追加的なサイド情報や信号化情報を伝送することなく、潜在的に達成することも可能であろう。
【００３８】
本発明の１つの長所は、ビットセイビングバンクの最大サイズを調整することで、デコーダ遅延に対して直接的な影響を及ぼすことができる点である。もしビットセイビングバンクの最大サイズがより小さいものに選択された時は、デコーダは復号化の途中で出力データ不足に陥るというような是非とも防止すべき危険を冒すことなく、デコーダもまた復号化を開始する前により小さな遅延を挿入すればよい。このために支払うべき「対価」とは、オーディオ信号の１つあるいは他のセクションが１００％のオーディオ品質で復号化されたわけではないという点である。なぜなら、ビットセイビングバンクは空であり、もはや利用可能な追加的ビットがなかったからである。通常、オーディオエンコーダはこの場合、量子化において聴覚心理マスキングスレッショルドを侵すような反応であるが、利用可能なビット数でやりくりする目的で、実際に必要とされるよりも粗い量子化を選択する。しかし、デコーダのより小さな遅延の主たる長所は確保されたわけである。デコーダの側でもより小さな遅延を達成する目的で、ビットセイビングバンクのサイズを減少させることにより、オーディオ品質はより低いものとなる。しかし、このより低いオーディオ品質はオーディオ信号の中で時折発生するだけであり、また、オーディオ信号が復号化にとって簡素である場合には全く発生しない可能性もある。従来技術では、起こりうる全ての適用範囲について高い品質で符号化しようとするあまり、多くの場合に必要以上のサイズ評価がなされることがあったが、結局、従来技術のこのビットセイビングバンクに関する非可変性が克服されたのである。その結果、これまでは固定的に大きく調節されたビットセイビングバンクのために想像もできなかったことであるが、頻繁に話者が交代するような双方向伝送に対してエンコーダを使用することが可能になる。
【００３９】
本発明にかかるビットセイビングバンクの可変性と、それに伴うデコーダ側の遅延の可変性とは、特にスケーラブルオーディオエンコーダの場合に有利となる。なぜなら、復号化における低遅延を、第１（最低）スケーリングレイヤに関してのみならず、例えばＡＡＣエンコーダにより生成されたようなより高いスケーリングレイヤの復号化に関しても、達成させることが可能となるからである。特にスケーラブルの場合には、ただ１つのスケーリングレイヤのみがビットセイビングバンクの可変的調整の影響を受け、他のスケーリングレイヤには影響が及ばない。そのため、他のスケーリングレイヤに対して変化を与えることなく、個々のスケーリングレイヤに対して慎重に働きかけることが可能になる。
【００４０】
上述のように、任意に選択可能でありかつ任意に選択されたビットセイビングバンクのサイズを、デコーダに伝送することが必要となる。これは先行技術においては不要であった。なぜなら、固定されたビットセイビングバンクのサイズは常に承認済であったからであり、その結果、デコーダは、例えば承認済のビットセイビングバンクサイズを知って、入力バッファの大きさを測ることで、それに対応する遅延を導入していた。
【００４１】
特に、スケーラブルエンコーダとスケーラブルデータストリームとに関しては、追加的なサイド情報を持たずに調整可能なビットセイビングバンクサイズを持つことは、スケーラブルデータストリームの中に決定データブロックを配置することで達成可能であろう。本発明によれば、決定データブロックはビットストリームの中に配置され、デコーダはその決定データブロックを受け取った時に、平均ブロック長により決定されたビット数だけ各レイヤに対して受け取る必要がある。
【００４２】
１つのフレームを受け取った後、デコーダは遅延を計算あるいは挿入することなく復号化を開始できる。これは、決定データブロックが第１および第２スケーリングレイヤを考慮して遅延された状態で、すなわち望ましくはビットセイビングバンクの調整に対応する時間分だけ遅延された状態で、スケーラブルデータストリームの中に既に書き込まれているという事実によって可能となる。したがって、エンコーダが必要条件に応じていかなるビットセイビングバンクのサイズを選択することも可能になり、さらに、決定データブロックをビットストリームの中にペイロードデータからみて遅延された状態で挿入することで、選択されたビットセイビングバンクのサイズが簡素で潜在的にデコーダに対して信号伝達されることも可能となる。
【００４３】
換言すれば、結果として決定データブロックは、先行技術と同様に時間的に最も先頭の位置、すなわち遅延−最適化された位置に書き込まれるのではなく、ＡＡＣブロックを遅延させることなく時間的に最も遅い位置に書き込まれる。そのため、ビットセイビングバンクのカレントレベルは所謂バックポインタにより信号化される。すなわち、先行するセクションの最後のデータがどこにあるか、そしてカレントセクションのデータがどこから開始するのか信号化される。
【００４４】
これは、ビットストリーム内で１個のエンコーダの出力データのみが出現するようなスケーラブルの場合と、ビットストリーム内で少なくとも２個の異なるエンコーダの出力データが出現するようなスケーラブルの場合と、両方の場合に当てはまる。もし１つのスーパーフレーム、すなわちビットストリーム内に存在するセクションであって、第１エンコーダの第１個数の出力データブロックと第２エンコーダの第２個数の出力データブロックとを備え、それが入力信号の同個数のサンプルに関係するような１つのセクションが、１つのエンコーダの複数のブロックを備えている場合には、オフセット情報がビットストリームと共に伝送されるという事実により、その１つのエンコーダのブロックで１つの決定データブロックに関連しているブロックの個数が簡素に信号化されることが可能となる。デコーダにとってオフセット情報とは、バックポインタとしても解釈され、そのバックポインタの目的は、必要に応じて可変コアコーダ遅延を考慮して、ビットストリーム内のいずれのデータが１つの決定データブロックに属し、さらに入力信号の１つのタイムセクションに対応するのかを知るためのものである。
【発明の効果】
【００４５】
本発明の主な利点は、デコーダが本発明にかかるデータストリームを受け取った時に遅延を計算したり挿入したりする必要がなく、遅延はエンコーダ側において決定データブロックを配置することのみで既に考慮されていたという点である。そのため、デコーダは受取の直後にフレームを出力できる。さらに、調整された最大ビットセイビングバンクサイズを、簡素な方法、すなわち追加的なビットを用いずに信号化する可能性を生み出している。この信号化処理が、簡素な方法すなわち決定データブロックの配置により実行できることから、簡単にかつ特にデコーダへのアクセスも伴わずに、ビットセイビングバンクのサイズを変化させ、伝送遅延を希望通りに調整することも可能となる。
【発明を実施するための最良の形態】
【００４６】
本発明の望ましい実施例を、添付図面を参照しながら以下に詳細に説明する。
【００４７】
図１ａはＭＰＥＧ４に従った本発明にかかるスケーラブルエンコーダを示し、
図１ｂは本発明にかかるデコーダを示し、
図２ａは連続的なタイムセクションに分割された１つの入力信号の全体図であり、
図２ｂは連続的なタイムセクションに分割された１つの入力信号の全体図であって、第１エンコーダのブロック長と第２エンコーダのブロック長との比率が示された図であり、
図２ｃは第１スケーリングレイヤの復号化において高遅延を伴うスケーラブルデータストリームの全体図であり、
図２ｄは第１スケーリングレイヤの復号化において低遅延を伴うスケーラブルデータストリームの全体図であり、
図２ｅは決定データブロックがペイロードデータを参照して遅延された本発明のスケーラブルデータストリームの全体図であり、
図３は本発明のスケーラブルデータストリームが、第１エンコーダとしてのＣＥＬＰエンコーダと第２エンコーダとしてのＡＡＣエンコーダとを備え、ビットセイビングバンク機能を持つ場合の例を示す詳細図であり、
図４は固定フレーム長を備えたビットストリームフォーマットの例を示し、
図５は固定フレーム長とバックポインタとを備えたビットストリームフォーマットの例を示し、
図６は可変フレーム長を備えたビットストリームフォーマットの例を示す。
【実施例１】
【００４８】
以下に、第１スケーリングレイヤの小さな遅延を伴うビットストリームを説明するために、図２ｃと図２ｄとを比較例として参照する。図２ｃに示すように、スケーラブルデータストリームはヘッダ１およびヘッダ２と呼ばれる一連の決定データブロックを含む。ＭＰＥＧ４標準規格に従って作られた本発明の望ましい実施例においては、これらの決定データブロックはＬＡＴＭヘッダである。従来技術と同様に、図２ｄ内では矢印２０２で示されたエンコーダからデコーダへの伝送方向におけるＬＡＴＭヘッダ２００の後に、図中では右上側から左下側へのハッチング模様で示されるように、ＡＡＣエンコーダの出力データブロックの一部が、第１エンコーダの出力データブロック間の隙間に挿入されるように配置されている。
【００４９】
従来技術とは異なり、ＬＡＴＭヘッダ２００によりスタートするフレームの中において、第１エンコーダの出力データブロックでこのフレームに属するものとしては、例えば出力データブロック１３および１４だけではなく、入力データの後続のセクションの出力データブロック２１および２２が存在する。換言すれば、図２ｄに示される例では、参照番号１１，１２で示される第１エンコーダの２個の出力データブロックは、ビットストリームの中において、伝送方向（矢印２０２）から見てＬＡＴＭヘッダ２００よりも前の位置に存在する。図２ｄに示される例では、オフセット情報２０４は、第１エンコーダの出力データブロックの、２個の出力データブロックのオフセットを表す。図２ｄと図２ｃとを比較した時、デコーダが第１スケーリングレイヤにしか関心がない場合、図２ｄの場合のほうが図２ｃの場合よりも、デコーダは正にこのオフセットに対応する時間分だけ早く最低のスケーリングレイヤを復号できる。例えば「コアフレームオフセット」の形で信号化されることが可能なオフセット情報は、第１出力データブロック１１のビットストリーム内での位置を決定する役割を果たす。
【００５０】
コアフレームオフセット＝０の場合には、図２ｃに示されるビットストリームが結果として生成される。しかしながら、コアフレームオフセットがゼロより大きい場合には、第１エンコーダの対応する出力データブロック１１は、第１エンコーダの出力データブロックのコアフレームオフセットの数だけより早く伝送される。換言すれば、ＬＡＴＭヘッダの後の第１エンコーダの第１出力データブロックと、第１ＡＡＣフレームとの間の遅延は、コアコーダ遅延（図１）＋コアフレームオフセット×コアブロック長（図２ｂ内のエンコーダ１のブロック長）の結果として発生する。図２ｃと図２ｄとの比較からわかるように、コアフレームオフセット＝０（図２ｃ）の場合には、ＬＡＴＭヘッダ２００の後には第１エンコーダの出力データブロック１１，１２が伝送される。一方、コアフレームオフセット＝２を伝送することで、出力データブロック１３および１４がＬＡＴＭヘッダ２００に続くことができる。そのため、純粋なＣＥＬＰ復号化すなわち第１スケーリングレイヤの復号化における遅延は、２個のＣＥＬＰブロック長の分だけ減少させることができる。この例においては、３個のブロックのオフセットが最適となるかもしれない。しかし、１個または２個のブロックのオフセットでもまた、遅延アドバンテージという結果を生じさせる。
【００５１】
このようなビットストリームの構造により、生成されたＣＥＬＰブロックをＣＥＬＰエンコーダが符号化の直後に伝送することが可能になる。この場合、ＣＥＬＰエンコーダに対し、ビットストリームマルチプレクサ（２０）によりさらなる遅延が追加されることもない。そのため、この場合には、スケーラブル結合によりＣＥＬＰ遅延に追加される遅延はなく、遅延は最小となる。
【００５２】
ここで指摘しておくが、図２ｄに示された例は単なる一例である。すなわち、第１エンコーダのブロック長と第２エンコーダのブロック長との間には、様々な比率が可能である。例えば１：２から１：１２まで変化可能であるし、あるいはまた他の比率をとることも可能である。
【００５３】
極端な例（ＭＰＥＧ４，ＣＥＬＰ：ＡＡＣ＝１：１２）でいうと、ＡＡＣエンコーダが１個の出力データブロックを生成するための入力信号のタイムセクションと同一のタイムセクションに対し、ＣＥＬＰエンコーダは１２個の出力データブロックを生成することになる。図２ｃに示されたデータストリームと比較して、図２ｄに示された本発明のデータストリームによる遅延アドバンテージは、この場合、１秒の４分の１から２分の１の大きさに達する。この遅延アドバンテージは、第２エンコーダのブロック長と第１エンコーダのブロック長との間の比率が大きくなればなるほど大きくなる。第２エンコーダとしてのＡＡＣエンコーダの場合には、最大限のブロック長は、もし符号化されるべき信号がこれを許容するならば、ペイロード情報とサイド情報とのより好ましい比率に基づいて目標設定される。
【００５４】
図２ｃはＬＡＴＭフォーマットに従ったスケーラブルデータストリームを示し、この中では第１エンコーダのデータブロックがバッファリング、すなわち遅延されなければならない。図２ｃにおけるフォーマットでこのようなことが起こるのは、上述のように、第２エンコーダから出力データが出力された時にのみヘッダが書き込まれるという事実に起因する。なぜなら、ヘッダは第２エンコーダの出力データブロックの長さおよびビット数に関する情報をそれぞれ含むからである。
【００５５】
図２ｄは改良型を示すものである。すなわち、デコーダが最低のスケーリングレイヤのみを復号化しようとする時には、遅延を減少させる目的で、第１エンコーダの出力データブロックがより早く既にビットストリーム内に書き込まれている。それにもかかわらず、決定データブロックはやはり第２エンコーダの出力データブロック、つまり図２ｄ内では「１」で示されるブロックの前に配置されている。
【００５６】
図２ｅは、図２ｃと比較して、本発明のスケーラブルデータストリームを示すものである。ここでは、決定データブロック（ヘッダ１あるいは２００）は、それが有効になった直後、すなわち番号「１１」で示される第１エンコーダの出力データブロックの前に書き込まれている訳ではない。代わりに、決定データブロック２００はデータストリームの中に、図２ｃの場合と比較においてある時間の遅延をされた上で書き込まれている。この遅延時間は、本発明の望ましい実施例では、ビットセイビングバンクの最大サイズ（最大バッファ充満度２５０）と同一となる。ゆえに、入力信号のカレントセクションを表す第２エンコーダの出力データブロック、すなわちデータブロック「１」で表されるブロックは、エンコーダからデコーダへの伝送方向から見て決定データブロック２００の前に、バッファ充満度２６０と同一のビット数分だけ早くスタートする。他方、図２ｃにおいては、ＡＡＣデータは決定データブロックの後ろでスタートしていたことを確認することができる。
【００５７】
よって、デコーダの観点からみれば、ポインタ２６０はバックポインタとなる。
【００５８】
ある個数のサンプルに対して第１エンコーダの方が第２エンコーダよりも多数のブロックを生成する場合には、つまり、図２ｅに示されるように第１エンコーダの４個の出力データブロックに対して第２エンコーダの１個の出力データブロックが生成されるという場合が単にひとつの例として挙げられるが、図２ｅに示されるように、決定データブロックを基礎としてコアフレームオフセットが信号化され、その結果、デコーダは、例えば第１エンコーダのどの出力データブロックが第２エンコーダの出力データブロックに属するかとか、第１エンコーダのどの出力データブロック同志がコアコーダ遅延を介して互いに関連しているかなどをそれぞれ知ることになる。
【００５９】
図２ｄと図２ｅとを比較すると、図２ｅの場合であってもオフセット２０４が存在することがわかるであろう。図２ｄにおけるオフセット２０４は、２という値を持っていたが、図２ｅの場合には、その値は５に増大するであろう。なぜなら、図２ｅにおける決定データブロック２００は、図２ｄにおけるそれよりも、第１エンコーダの出力データブロック３個分だけ後方にシフトされているからである。
【００６０】
以下に、再び図１ａを参照する。明細書の冒頭で上述したようなスケーラブルエンコーダに加え、図１ａに示す本発明のスケーラブルエンコーダは、ブロックビットセイビングバンク制御手段５０と、ＡＡＣエンコーダ１４からビットストリームマルチプレクサ２０への制御ライン５２とを備えている。この制御ライン５２を通して、ビットセイビングバンク制御手段５０により調整されたビットセイビングバンクの最大サイズがビットストリームマルチプレクサへと伝達され、その結果、マルチプレクサが図２ｅに示されたビットストリームフォーマットを実現させることができる。
【００６１】
図１ｂはスケーラブルデコーダの全体ブロック図を示し、図１ａが示すスケーラブルエンコーダとは相補的なものである。ライン６０を介してエンコーダから送られたスケーラブルビットストリームは、このデコーダの入力バッファ／ビットストリームデマルチプレクサ６２に入力される。ビットストリームはここで分割され、ＣＥＬＰデコーダ６４およびＡＡＣデコーダ６６のために必要とされるブロックが抽出される。本発明のデコーダは、さらにＡＡＣ遅延ステージ６８を備え、この遅延ステージ６８はビットセイビングバンクサイズに応じた遅延を導入する働きをする。そのため、ＡＡＣデコーダ６６は、出力すべきデータが不足することは決して起こらない。本発明によれば、現在このＡＡＣ遅延ステージは調整可能に作られており、遅延はビットセイビングバンク情報に基づいて制御される。このビットセイビングバンク情報とは、ビットストリームデマルチプレクサ６２によりビットストリームから抽出され、ビットセイビングバンク情報ライン７０を介してＡＡＣ遅延ステージ６８に供給される。その時のビットセイビングバンクのレベルに応じ、ＡＡＣ遅延ステージ６８の遅延が調整される。図１ａのビットセイビングバンク制御手段５０により、もし小さなビットセイビングバンクが選択されたならば、ＡＡＣ遅延ステージ６８もまた小さな遅延に調整されるであろう。その結果、第２スケーリングレイヤの低遅延復号化処理が可能となる。
【００６２】
図１ｂが示すスケーラブルデコーダは、さらに、ＣＥＬＰデコーダ６４の時間ドメイン出力信号を周波数ドメインに変換するためのＭＤＣＴ手段７２を含み、その上流側にはアップサンプリングステージを含む。スペクトルは遅延ステージ７４により遅延され、２つの分枝の間に存在する時間差を補正する。その結果、ａｄｄｅｒ／ＦＳＳ-1（加算器／周波数選択的スイッチ機構）と呼ばれる手段７６において、同一比率が存在する。手段６６は図１ａの減算器４０およびＦＳＳ４４に対し、基本的にアナログ機能を実行する。ブロック７６の後では、スペクトル値は手段７８に送られ、周波数ドメインから時間ドメインへと逆変換される。その結果、出力８０においては、第２スケーリングレイヤのみが時間ドメインで存在するか、あるいは第１および第２スケーリングレイヤが時間ドメインで存在する。しかし、出力８２においては、ＣＥＬＰデコーダ６４により生成された第１スケーリングレイヤのみが時間ドメインで存在する。
【００６３】
以下においては図３を参照しながら説明する。図３は図２と類似しているが、ＭＰＥＧ４の例を用いた特別な実施例である。１番目のラインには、カレントタイムセクションがハッチング模様で示されている。2 番目のラインには、ＡＡＣエンコーダで使用されるウィンドウイング(windowing) が全体的に図解されている。公知のように、５０％のオーバーラップおよび加算が用いられている。これは、図３内の１番目のラインにハッチング模様で示されたカレントタイムセクションと比較して、１個のウィンドウが通常、時間サンプルの２倍の長さを持つようにするためである。図３の中の遅延ｔｄｉｐは、図１においてブロック２６に対応するものでもあり、この例ではブロック長の５／８の長さを持つ。典型的には、カレントタイムセクションのブロック長は、９６０サンプルが用いられるので、そのブロック長の５／８の遅延ｔｄｉｐは、６００サンプルとなる。一例として、ＡＡＣエンコーダが２４ｋＢｉｔ／ｓのビットストリームを提供し、一方、その下方に図示されたＣＥＬＰエンコーダが８ｋＢｉｔ／ｓのレートを備えたビットストリームを提供する。その結果、全体のビットレートは３２ｋＢｉｔ／ｓとなる。
【００６４】
図３から分かるように、ＣＥＬＰエンコーダの出力データブロック０と１とが、第１エンコーダのカレントタイムセクションと対応している。ＣＥＬＰエンコーダの出力データブロック２は、次のタイムセクションに既に対応している。３の番号をつけたＣＥＬＰブロックに関しても同様のことが言える。図３においては、ダウンサンプリングステージ２８およびＣＥＬＰエンコーダ１２の遅延は、参照符号３０２で示される矢印により表される。この結果、コアコーダ遅延と表され、図３の中では矢印３０４により示される遅延が生じ、この遅延は図１の減算器４０において同一の状態が存在するように、ステージ３４により調整されるべきものである。その代わりに、この遅延はブロック２６によって作られることも可能である。よって、例えば次の関係が成り立つ。
コアコーダ遅延＝
＝ｔｄｉｐ−ＣＥＬＰエンコーダ遅延−ダウンサンプリング遅延
＝６００−１２０−１１７＝３６３サンプル値
【００６５】
ビットセイビングバンク機能がない場合、あるいはビットセイビングバンク（ＢｉｔＭｕｘ出力バッファ) が満たされている場合、つまり変数「バッファの充満度」＝最大の場合には、図２ｄに示された状態となる。この、第２エンコーダの１個の出力データブロックに対応して第１エンコーダの４個の出力データブロックが生成される図２ｄの場合とは異なり、図３では、ＣＥＬＰエンコーダの２個の出力データブロックであって「０」と「１」とで示されるデータブロックが、図３の下から２列のラインの中で黒色で示されている第２エンコーダの１個の出力データブロックに対して生成される。しかし本発明によれば、第１ＬＡＴＭヘッダ３０６の後に書き込まれるのは、「０」の番号を持つＣＥＬＰエンコーダの出力データブロックではなく、「１」の番号を持つＣＥＬＰエンコーダの出力データブロックである。何故なら、「０」の番号を持つ出力データブロックは、既にデコーダに対して伝送されているからである。次のタイムセクションを表すＣＥＬＰブロック２は、ＣＥＬＰデータブロックに対して準備された等距離のグリッド間隔をあけてＣＥＬＰブロック１に続く。この時、１個のフレームを完成させるために、ＡＡＣエンコーダの出力データブロックの残りのデータは、次のタイムセクションのための次のＬＡＴＭヘッダ３０８が開始するまで、データストリーム内に書き込まれる。
【００６６】
図３の最下部のラインに示されるように、本発明はビットセイビングバンク機能と簡単に結合させることができる。ビットセイビングバンクの充満度を示す変数「バッファ充満度」が最大値よりも小さい場合、これは、直前のタイムセクションを表すＡＡＣフレームが実際に容認可能なビット数よりも多くのビット数を要求したということである。つまり、前と同様に、ＣＥＬＰフレームがＬＡＴＭヘッダ３０６の後に書き込まれるという意味であるが、しかし、カレントタイムセクションを表すＡＡＣエンコーダの出力データブロックの書き込みが開始できる前に、１個または複数の先行するタイムセクションからのＡＡＣエンコーダの少なくとも１つの出力データブロックがまず最初にビットストリームの中に書き込まれなければならないという意味である。図３内に「１」，「２」で示される下段の２列のラインを比較すると、ビットセイビングバンク機能は直接的にＡＡＣフレームのためのエンコーダ内の遅延に結びつくことが分かる。つまり、図３において参照番号３１０で示されるカレントタイムセクションのＡＡＣフレームのデータは「１」で示された場合と同時間に存在するが、しかし、直前のタイムセクションを表すＡＡＣデータ３１２がビットストリームの中に書き込まれた後でのみビットストリームの中に書き込まれることができる。ＡＡＣエンコーダのビットセイビングバンクのレベルに依存して、ＡＡＣフレームの最初の位置がシフトする。
【００６７】
ビットセイビングバンクのレベルは、ＬＡＴＭのエレメントStreamMuxConfig の中で変数「バッファ充満度」により伝送される。変数「バッファ充満度」は、変数ビットリザーバをオーディオチャネルの現存するチャネル数の３２倍の数で割り算することで計算することができる。
【００６８】
ここで指摘しておくが、図３において参照番号３１４で示されたポインタは、その長さが「最大バッファ充満度−バッファ充満度」を示すものであるが、いわば将来に向かってポイントする前方ポインタ（forward pointer)であり、一方、図５において示されるポインタは、いわば過去に向かってポイントする後方ポインタ（backward pointer) である。その理由は、この実施例によれば、先行するタイムセクションからのＡＡＣデータがまだビットストリーム内に書き込まれなければならないかもしれないが、しかし、ＬＡＴＭヘッダは、カレントタイムセクションがＡＡＣエンコーダによって処理された後で常にビットストリームの中に書き込まれるからである。
【００６９】
さらに指摘すべきは、ポインタ３１４がＣＥＬＰブロック２によって意図的に中断された状態で示されているのは、それがＣＥＬＰブロック２の長さまたはＣＥＬＰブロック１の長さを考慮に入れないからであり、その理由は、ＣＥＬＰデータがＡＡＣエンコーダのビットセイビングバンクとは関係がないからである。さらに、ヘッダデータまたは存在するかもしれないさらなるレイヤのビットもまた、考慮されない。
【００７０】
デコーダ内においては、最初にビットストリームからＣＥＬＰフレームが抽出される。これは、ＣＥＬＰフレームが例えば等間隔でかつ固定の長さを持って配置されていたりするので、容易に実行可能である。
【００７１】
しかしＬＡＴＭヘッダ内では、どの場合においても直接的な復号化が可能となるように、全てのＣＥＬＰブロックの長さおよび距離間隔が何らかの方法で信号化されてもよい。
【００７２】
このようにして、ＣＥＬＰブロック２によりいわば分割されていた直前のタイムセクションのＡＡＣエンコーダの出力データの部分は再び統合され、ＬＡＴＭヘッダ３０６はポインタ３１４の先頭にいわば移動する。そのため、ポインタ３１４の長さを知ったデコーダは直前のタイムセクションのデータがいつ終わるのかを理解する。これは、直前のタイムセクションを、それに対してそこに存在するＣＥＬＰデータブロックとともに、これらのデータが完全に読み取られた時にフルオーディオ品質で復号化することができるようにするためである。
【００７３】
第１エンコーダの出力データブロックと、第２エンコーダの出力データブロックとの両方が、１個のＬＡＴＭヘッダに続く場合が示された図２ｃの場合とは対照的に、第１エンコーダの出力データブロックが変数コアフレームオフセットの分だけビットストリーム内で前方へシフトすることが可能である。また他方では、矢印３１４（最大バッファ充満度−バッファ充満度）の分だけ、第２エンコーダの出力データブロックがスケーラブルデータストリーム内で後方へシフトされ、スケーラブルデータストリーム内でビットセイビング機能が簡単で確実に実行されることも可能である。同時に、ビットストリームの基本ラスターは連続的なＬＡＴＭ決定データブロックにより維持される。このＬＡＴＭ決定データブロックは、ＡＡＣエンコーダがひとつのタイムセクションを符号化した時は常に書き込まれるものである。そのため、図３内の最下段のラインで示されるように、あるＬＡＴＭヘッダによって参照されたフレーム内のデータの大部分が、たとえ次のタイムセクション（ＣＥＬＰフレームに関して）から発生して来たものである場合や、あるいは前のタイムセクション（ＡＡＣフレームに関して）から発生して来たものである場合であっても、参照ポイントとしての役割を果たすことができる。この時、各シフトは、ビットストリーム内で追加的に伝送されるべきの２個の変数により、デコーダに対して伝達される。
【００７４】
図３の最下段の列には、上述のように、ＬＡＴＭヘッダ３０６が生成されると直ぐにビットストリームの中に書き込まれる場合が示されている。この場合には、ＬＡＴＭヘッダ３０６の後には先行するタイムセクションのための第２エンコーダの出力データ３１２が続き、このＬＡＴＭヘッダ３０６に関連するカレントタイムセクションのための第２エンコーダの出力データは、伝送方向から見てこのＬＡＴＭヘッダの後方に、ある距離をおいて続いている。この距離とは、図３に示すように、最大バッファ充満度とバッファ充満度との差から求めることができる。
【００７５】
これに対し、本発明においては、図２ｅに示すように、ＬＡＴＭヘッダ３０６は生成されると直ぐに書き込まれるのではなく、最大バッファ充満度に対応する時間分だけ遅延された上で書き込まれる。本発明によれば、ＬＡＴＭヘッダ３０６はビットストリーム内で、バッファ充満度の値に依存するポジション３３０の後方に位置し、前方ポインタ３１４は後方ポインタ（図２ｅでは２６０）により置き換えられている。
【００７６】
本発明によれば、図２ｃ、図２ｄおよび図３に示された構造、すなわちＣＥＬＰブロックがＬＡＴＭヘッダの直後に続く構造は除外されている。
【００７７】
これに代えて、第１スケーリングレイヤの低遅延復号化を実現するため、および第２スケーリングレイヤの低遅延復号化を実現するために、データをビットストリーム内に書き込む際には、望ましくは以下に述べる優先度配分(priority distribution) が用いられる。
【００７８】
第１エンコーダの出力データブロックには高い優先度が与えられる。第１エンコーダの１つの出力データブロックが完成した時は常に、この完成した出力データブロックがビットストリームの中に書き込まれる。このことから、第１エンコーダの出力データブロックの等間隔をおいたラスターが自動的に生成され、このラスターは、ＣＥＬＰエンコーダを用いた場合にはさらに同一の長さを持つ。
【００７９】
もし、書き込まれるべき第１エンコーダの出力データブロックがその時点で存在しなければ、入力信号の先行するタイムセクションのためのＡＡＣエンコーダの出力データが、対応するデータが存在しなくなるまでビットストリーム内に書き込まれる。その後に初めて、カレントタイムセクションのためのＡＡＣエンコーダの出力データの書き込みが開始される。この出力データのビットストリーム内への書き込みは、図２ｅから分かるように、第１エンコーダの出力データが再び有効になった時に常に割り込みを受けることが明らかである。
【００８０】
カレントタイムセクションのためのＡＡＣエンコーダの出力データの書き込みは、１つのＬＡＴＭヘッダが完成され、それが最大バッファ充満度２５０だけ遅延された時にもまた、割り込みを受ける（図２ｅ参照）。バッファ充満度２６０とオフセット２７０とにそれぞれ対応する値がビットストリーム内に別々にあるいは決定データブロックを介して書き込まれた時に、スケーラブルビットストリームが完成する。
【００８１】
以下に、この方法で生成されたビットストリームの復号化について言及する。デコーダが第１スケーリングレイヤにのみ関心がある場合、すなわち第１エンコーダ（ＣＥＬＰエンコーダ）の出力データブロックにのみ関心がある場合には、デコーダは単にビットストリームからＣＥＬＰブロックを１つ１つ取り出してそれらを復号化すればよい。この場合、ＬＡＴＭヘッダあるいはＡＡＣデータに対する考慮は必要ない。ＣＥＬＰブロックは望ましくは生成された直後にビットストリーム内に書き込まれることから、ＣＥＬＰブロックの低遅延復号化処理が保証される。
【００８２】
もしデコーダが第１および第２スケーリングレイヤの両方を復号化しようとする場合には、すなわちデコーダが高品質のオーディオ信号を達成したい場合には、デコーダは１つのスーパーフレームすなわち所定個数のサンプルに対するＣＥＬＰブロックと複数のＡＡＣブロックとを統合させる必要がある。この時、１つのスーパーフレームに関し、ＡＡＣエンコーダの入力信号のカレントタイムセクションがＣＥＬＰエンコーダのカレントタイムセクションからシフトされている場合には、必要に応じ、コアコーダ遅延（図１ａでは３４）が考慮されるべきである。
【００８３】
これは、デコーダがＬＡＴＭヘッダ、例えば図２ｅのヘッダ２００に当たるまでビットストリームをバッファリングすることで実行される。オフセット２７０を知ることで、デコーダは第１エンコーダのどの出力データブロックがそのＬＡＴＭヘッダ２００に属するのかを決定できる。変数としてのバッファ充満度を考慮することで、デコーダはさらに、そのＬＡＴＭヘッダが関係するタイムセクションのＡＡＣフレームが、デコーダの入力バッファ内に収容されているデータ内の何処から開始するのかを理解する。バッファ充満度が最大の場合には、既に全ての関係するＡＡＣフレームがデコーダの入力バッファ内に含まれている。バッファ充満度がゼロの場合には、関係するＡＡＣフレームはＬＡＴＭヘッダの直後に続く。その結果、デコーダは、既に入力バッファに収容されているデータを用いるか、あるいは、入力バッファに収容されているデータの一部と、伝送方向においてＬＡＴＭヘッダの後ろに続いて直接到着する部分とを用いて、遅延なしに復号化処理を開始することができる。そのため、ビットセイビングバンクのサイズは、ビットストリーム内におけるペイロードデータに対する決定データブロックの位置により潜在的に信号化されるので、いかなるサイド情報も必要ではない。この場合にも、デコーダ内の可変遅延を備えたステージ（図１ｂにおけるブロック６８）および図１ｂ内のライン７０は排除される。
【図面の簡単な説明】
【００８４】
【図１ａ】ＭＰＥＧ４に従った本発明にかかるスケーラブルエンコーダの回路図である。
【図１ｂ】本発明にかかるデコーダの回路図である。
【図２ａ】連続的なタイムセクションに分割された１つの入力信号の全体図である。
【図２ｂ】連続的なタイムセクションに分割された１つの入力信号の全体図であって、第１エンコーダのブロック長と第２エンコーダのブロック長との比率が示された図である。
【図２ｃ】第１スケーリングレイヤの復号化において高遅延を伴うスケーラブルデータストリームの全体図である。
【図２ｄ】第１スケーリングレイヤの復号化において低遅延を伴う本発明のスケーラブルデータストリームの全体図である。
【図２ｅ】決定データブロックがペイロードデータを参照して遅延された本発明のスケーラブルデータストリームの全体図である。
【図３】本発明のスケーラブルデータストリームが、第１エンコーダとしてのＣＥＬＰエンコーダと第２エンコーダとしてのＡＡＣエンコーダとを備え、ビットセイビングバンク機能を持つ場合の例を示す詳細図である。
【図４】固定フレーム長を備えたビットストリームフォーマットの例を示す。
【図５】固定フレーム長とバックポインタとを備えたビットストリームフォーマットの例を示す。
【図６】可変フレーム長を備えたビットストリームフォーマットの例を示す。
【符号の説明】
【００８５】
１１            ブロック
１２            第１エンコーダ
１４            第２エンコーダ
２００          決定データブロック
２６０          バッファ情報
【図１ａ】
2004523790.tif 000003
【図１ｂ】
2004523790.tif 000004
【図２ａ】
2004523790.tif 000005
【図２ｂ】
2004523790.tif 000006
【図２ｃ】
2004523790.tif 000007
【図２ｄ】
2004523790.tif 000008
【図２ｅ】
2004523790.tif 000009
【図３】
2004523790.tif 000010
【図４】
2004523790.tif 000011
【図５】
2004523790.tif 000012
【図６】
2004523790.tif 000013
【国際公開パンフレット】
2004523790.tif 000014
2004523790.tif 000015
2004523790.tif 000016
2004523790.tif 000017
2004523790.tif 000018
2004523790.tif 000019
2004523790.tif 000020
2004523790.tif 000021
2004523790.tif 000022
2004523790.tif 000023
2004523790.tif 000024
2004523790.tif 000025
2004523790.tif 000026
2004523790.tif 000027
2004523790.tif 000028
2004523790.tif 000029
2004523790.tif 000030
2004523790.tif 000031
2004523790.tif 000032
2004523790.tif 000033
2004523790.tif 000034
2004523790.tif 000035
2004523790.tif 000036
2004523790.tif 000037
2004523790.tif 000038
2004523790.tif 000039
2004523790.tif 000040
2004523790.tif 000041
2004523790.tif 000042
2004523790.tif 000043
2004523790.tif 000044
2004523790.tif 000045
2004523790.tif 000046
2004523790.tif 000047
2004523790.tif 000048
2004523790.tif 000049
2004523790.tif 000050
2004523790.tif 000051
2004523790.tif 000052
2004523790.tif 000053
2004523790.tif 000054
2004523790.tif 000055
2004523790.tif 000056
2004523790.tif 000057
2004523790.tif 000058
2004523790.tif 000059
2004523790.tif 000060
2004523790.tif 000061
2004523790.tif 000062
2004523790.tif 000063
【国際調査報告】
2004523790.tif 000064
2004523790.tif 000065
2004523790.tif 000066
2004523790.tif 000067