(57)【特許請求の範囲】
【請求項１】
信号送信装置であって、該装置は、
（ａ）第１のデータを供給する第１の出力と第２のデータを供給する第２の出力とを生成するように動作可能なコード化手段であって、第1のデータからはデコーダが再構成された信号を生成できるものと、
（ｂ）データパケットを送信のためにアセンブルするように動作可能な手段と、を備え、
該コード化手段は前記第１の出力と前記第２の出力の両方を生成するよう動作可能なコーダを備え、第２の出力はエンハンスメントデータを含み、それによって第１および第２のデータの両者を受け取るデコーダはより高品質の再構成された信号を生成することができ、
各パケットは、信号の時間部分に関する第１のデータと信号の同じ時間部分に関する第２のデータとを含む一次データと、信号の異なる時間部分に関する第１のデータを含むが、その部分に関する第２のデータを含まない二次データとを含む、信号送信装置。
【請求項２】
前記異なる時間部分が、一次データによって表わされる部分より後の部分である請求項１に記載の装置。
【請求項３】
前記異なる時間部分が、一次データによって表わされる部分の直後の部分である請求項２に記載の装置。
【請求項４】
前記異なる時間部分が、一次データによって表わされる部分に先行する部分である請求項１に記載の装置。
【請求項５】
該アセンブリ手段は、パケット内に含まれる一次データの時間的な順番を示すシーケンスコードを各パケット内に含むように構成されている請求項１ないし請求項４のいずれか1項に記載の装置。
【請求項６】
該信号がオーディオ信号であり、該コーダがオーディオ信号コーダである請求項１ないし請求項５のいずれか1項に記載の装置。
【請求項７】
該コーダはサブバンドコーダであり、第１のデータはより低い周波数のコーダサブバンドのデータに関係するデータを含み、エンハンスメントデータはより高い周波数のサブバンドに関するデータを含む請求項６に記載の装置。
【請求項８】
第１のデータはディジタル値の二値表示を含み、エンハンスメントデータは前記ディジタル値のより細かい分解能を表わす追加のビットを含む請求項１ないし請求項７のいずれか１項に記載の装置。
【請求項９】
前記サブバンドオーディオコーダは、
（ａ）サンプリングされたオーディオ信号を受取り、かつこの信号を、各々が周波数のサブバンドにそれぞれ対応している複数のサブバンド信号に分けるフィルタ手段と、
（ｂ）サブバンド信号を量子化する量子化装置と、
（ｃ）信号特徴に依存して量子化装置によって使用されることになる量子化レベル数を適応して判断するビット割り当て手段とを含み、
該量子化装置は、前記第１のデータを供給する第１の出力を有し、前記第１のデータはいくつかの前記サブバンドについての量子化値を含み、さらに前記エンハンスメントデータを供給する第２の出力を有し、前記エンハンスメントデータは、第１の出力において供給される量子化された値に関する少なくとも１つのサブバンドについて、このサブバンドについてよりも粗度の低い量子化された値を表わす追加のビットを含み、またここで、ビット割り当て手段が第１の割り当て動作を実行するように動作可能であり、第１の割り当て動作では第１の出力についての第１の所定のビット割り当て分がサブバンド間で割り当てられ、次に第２の割り当て動作では、第２の出力における追加のビットについての第２の所定のビット割り当て分がサブバンド間で割り当てられる請求項７に記載の装置。
【請求項１０】
前記第２の出力はさらに、第１の出力では与えられない量子化された値に関する少なくとも1つのサブバンドについての量子化された値を供給する請求項９に記載のコーダ。
【請求項１１】
前記量子化装置は少なくとも１つの別の出力をもち、第２およびその他の出力は各場合においてより低い順番の出力では表わされないサブバンドに対する値を与えるか、または、より低い順番の出力において表わされるサブバンドに追加のビットを与えるか、あるいはこの両方を行い、ビット割り当て手段は出力数に等しい数の多数の割り当て動作を実行するように動作可能であり、各割り当て動作では、サブバンド間の各ビット割り当て分を各出力に割り当てるように動作する請求項９または請求項１０に記載のコーダ。
【請求項１２】
信号受信装置であって、該装置は、
（ａ）データパケットを受取る手段と、
（ｂ）該受取ったパケットを記憶するバッファと、
（ｃ）デコーダと、
（ｄ）制御手段と、を備え、
各受け取られたパケットは、信号の時間部分に関する第１のデータ、および信号の同じ部分に関するエンハンスメントデータを含む一次データと、信号の異なる時間部分に関する第１のデータを含む二次データとを含んでおり、
該デコーダは第１のデータのみから再構成された信号を生成でき、かつ第１およびエンハンスメントデーダから一緒により高品質の再構成された信号を生成することができ、
該制御手段は、バッファから信号の継続する時間部分に関して一次データを読み取り、それらをデコーダへ送り、言語の時間部分に関する一次データがバッファにない場合は、その代わりにその時間部分に関する二次データを読取り、それをデコーダへ送るように動作可能である、装置。
【請求項１３】
制御手段は、言語の時間部分に関する二次データがバッファにない前記場合には、言語信号の異なる時間部分に関するエンハンスメントデータを読み取り、それをデコーダへ送るように動作可能である請求項１２に記載の装置。
【請求項１４】
各パケットは、その中に含まれている一次データの時間シーケンスを示すシーケンスコードを含み、前記制御手段は、パケットの実際の受取り順序とは無関係にシーケンスコードを参照してパケットの時間シーケンスを判断するように動作することができる請求項１２または請求項１３に記載の装置。
【請求項１５】
該信号がオーディオ信号であり、該デコーダがオーディオ信号デコーダである請求項１２ないし請求項１４のいずれか１項に記載の装置。
【請求項１６】
送信のために信号をコード化する方法であって、該方法は、
（ａ）第１のデータを供給する第１の出力と第２のデータを供給する第２の出力とを生成するために信号をコーディングする段階であって、第1のデータからはデコーダが再構成された信号を生成できるものと、
（ｂ）データパケットを送信のためにアセンブルする段階と、を備え、
第２の出力はエンハンスメントデータを含み、それによって第１および第２のデータの両者を受け取るデコーダはより高品質の再構成された信号を生成することができ、
各パケットは、信号の時間部分に関する第１のデータと信号の同じ部分に関する第２のデータとを含む一次データと、信号の異なる時間部分に関する第１のデータを含むが、その部分に関する第２のデータを含まない二次データとを含む、方法。
【請求項１７】
前記異なる時間部分が、一次データによって表わされる部分より後の部分である請求項１６に記載の方法。
【請求項１８】
前記異なる時間部分が、一次データによって表わされる部分の直後の部分である請求項１７に記載の方法。
【請求項１９】
前記異なる時間部分が、一次データによって表わされる部分に先行する部分である請求項１６に記載の方法。
【請求項２０】
該アセンブルする段階の間、パケット内に含まれる一次データの時間的なシーケンスを示すシーケンスコードを各パケット内に含む請求項１６ないし請求項１９のいずれか1項に記載の方法。
【請求項２１】
該信号がオーディオ信号であり、該コード化する段階がオーディオ信号コーダによって実行される請求項１６ないし請求項２０のいずれか1項に記載の方法。
【請求項２２】
該コード化する段階コーダはサブバンドコーダにより実行され、第１のデータはより低い周波数のコーダサブバンドのデータに関係するデータを含み、エンハンスメントデータはより高い周波数のサブバンドに関するデータを含む請求項２１に記載の方法。
【請求項２３】
第１のデータはディジタル値の二値表示を含み、エンハンスメントデータは前記ディジタル値のより細かい分解能を表わす追加のビットを含む請求項１６ないし請求項２２のいずれか１項に記載の方法。
【請求項２４】
前記サブバンドオーディオコーダは、
（ａ）サンプリングされたオーディオ信号を受取り、かつこの信号を、各々周波数のサブバンドにそれぞれ対応している複数のサブバンド信号に分けるサブバンドコーダのフィルタ手段を用いることと、
（ｂ）サブバンドコーダの量子化装置を用いてサブバンド信号を量子化することと、
（ｃ）サブバンドコーダのビット割当て手段を用いて信号特徴に依存して量子化装置によって使用されることになる量子化レベル数を適応して判断することと、
（ｄ）該量子化装置の第１の出力で、前記第１のデータを供給することであって、該第１のデータはいくつかの前記サブバンドについての量子化値を含むものと、
（ｅ）第２の出力で、前記エンハンスメントデータを供給することであって、前記エンハンスメントデータは、第１の出力において供給される量子化された値に関する少なくとも１つのサブバンドについて、このサブバンドについてよりも粗度の低い量子化された値を表わす追加のビットを含みものと、
（ｆ）第１の割り当て動作を実行することであって、第１の出力についての第１の所定のビット割り当て分がサブバンド間で割り当てられ、次に第２の割り当て動作では、第２の出力における追加のビットについての第２の所定のビット割り当て分がサブバンド間で割り当てられるもの、とを備える請求項２２に記載の方法。
【請求項２５】
前記第２の出力はまた、第１の出力では与えられない量子化された値に関する少なくとも1つのサブバンドについての量子化された値を供給する請求項２４に記載の方法。
【請求項２６】
請求項１６ないし請求項２５のいずれか１項の方法によってコード化された信号を送信する方法。
【請求項２７】
信号を処理する方法であって、
（ａ）データパケットを受取る段階であって、各パケットは、信号の時間部分に関する第１のデータ、および信号の同じ部分に関するエンハンスメントデータを含む一次データと、信号の異なる時間部分に関する第１のデータを含む二次データとを含むものと、
（ｂ）該受取ったパケットをバッファに記憶する段階と、
（ｃ）バッファから信号の継続する時間部分に関して一次データを読み取り、該１次データをデコーダへ送る段階であって、デコーダは第１のデータとエンハンスメントデータと一緒により高品質の再構成された信号を生成することができるものと、
（ｄ）言語の時間部分に関する一次データがバッファにない場合は、その代わりにその時間部分に関する二次データを読取り、それをデコーダへ送る段階と、
（ｅ）段階（ｃ）で読み取った一次データをデコーディングして第１のデータだけから再構成された信号を生成する段階と、
（ｆ）段階（ｄ）で読み取った二次データをデコーディングして再構成された信号を生成する段階と、含む方法。
【請求項２８】
言語の時間部分に関する二次データがバッファにない前記場合には、言語信号の異なる時間部分に関するエンハンスメントデータを読み取り、それをデコーダへ送る請求項２７に記載の方法。
【請求項２９】
各パケットは、その中に含まれている一次データの時間シーケンスを示すシーケンスコードを含み、該方法は、パケットの実際の受取り順序とは無関係にシーケンスコードを参照してパケットの時間シーケンスを判断する段階を含む請求項２７または請求項２８に記載の方法。
【請求項３０】
該信号がオーディオ信号であり、該デコーダがオーディオ信号デコーダである請求項２７ないし請求項２９のいずれか１項に記載の方法。
【発明の詳細な説明】
【０００１】
発明の属する技術分野および従来の技術
本発明は、ディスクリートなパケットとして信号、とくにオーディオ信号の送信に関するものであるが、他の種類の信号、例えばビデオ信号にも応用できるものと考えられる。より特定すると、本発明はディジタルにコード化されたオーディオ信号の送信に関し、オーディオ信号の連続フレームに関する情報は、送られる信号の連続するディスクリートなパケットで送られ、次に受信機ではこれを使用して、元の信号の複製を生成する（開示の目的上、オーディオフレームと送信パケットとは１対１で対応していると仮定されるが、これは実際には本質的ではない）。本発明では、送信された情報が損失または破損し、受信機がパケットの１つ（またはそれ以上）を得られないときに生じる問題に対処しようとしている。この種の損失は、例えばノイズまたは（無線システムでは）フェーディングのために発生する。いくつかのタイプのシステム−例えばインターネットのようなコネクションレスサービスにおいて−異なるパケットは異なる経路上を送られ、したがって異なる遅延を受け、このためにパケットが送られた順番とは異なる順番で到達することがある。通常これは、受信機にバッファを用意して遅延させることによって許されており：受信機は受け取ったパケットをバッファ内に記憶し、パケットが送信機において番号を付されていると、受信機はバッファの外部で元の順序でパケットを読みることができる。多くの応用では、この遅延は全体的な送信遅延を超えないという条件の下で適度に短く維持されなければならないが、パケットがバッファ遅延期間を超えて遅延される可能性が残る。このような場合に、受信機がバッファを使用できないので、パケットは事実上損失される。また、信号に冗長度を与え、このとき各パケットはオーディオ信号のフレームに属するデータだけでなく、オーディオ信号の先行するフレームに関するデータとして、より低いビットレートのコーディングアルゴリズムを使用してコード化されたデータも保持しているので、信号フレームが失われたときは、この冗長データが後続のフレームからデコードされ、デコードされたオーディオ信号内で発生することになるギャップを埋めるのに使用される応用も提案されている（文献、例えば、J.Bolot およびA. Garcia, “Control Mechanisms for Packet Audio in the Internet”, Proceedings od IEEE INFOCOM ’96, Conferencen on Computer Communications, March 1996, p 232-9、およびV.Hardman, M.Sasse, M. Handley and A. Watson, “Reliable Audio for use over the Internet”, Proceedings of INET’95, June 1995, p27-30参照）。しかしながらこのプロセスは複雑であり、断続的な不連続のデコーダの動作のために問題が発生し、歪みを生じることがある。
【０００２】
発明が解決しようとする課題
本発明の第１の態様にしたがって、信号送信装置であって：
（ａ）第１のデータを供給する第１の出力と、第２のエンハンスメントデータを供給する第２の出力とを生成するように動作可能なコーダであって、第1のデータからはデコーダが再構成された信号を生成でき、それによってデコーダは第１および第２のデータの両者を受け取って、より高い品質の再構成された信号を生成することができるようになるコーダと；
（ｂ）各データパケットが、信号の時間部分に関する第１のデータと信号の同じ部分に関する第２のデータとを含む一次データと；
信号の異なる時間部分に関する第１のデータを含むが、その部分に関する第２のデータが含まれていない二次データとから成るデータパケットを、送信のために、アセンブルするように動作可能な手段とを含む装置を提供する。
【０００３】
前記異なる時間部分は、一次データによって表わされる部分よりも後の部分、例えば一次データによって表わされる部分の直後の部分か、または一次データによって表わされる部分よりも前の部分であってもよい。アセンブリ手段は、パケット内に含まれる一次データの時間的な順番を示すシーケンスコードを各パケット内に含むようにされていることが好ましい。好ましい構成では、コーダはエンハンスメントデータを供給する複数の出力を生成するように動作することができ、連続するエンハンスメントデータの組は再構成された信号品質に対する連続的な改良を表わしており、一次データは全てのこのような出力を含み、二次データは信号の類似した複数の異なる時間部分に関係する第１のデータと、これらの部分に関する次第に数が減る第２のデータの組とを含む。
【０００４】
信号はオーディオ信号であり、コーダはオーディオ信号コーダ、例えばサブバンドコーダであり、サブバンドコーダでは第１のデータはより低い周波数のコーダサブバンドのデータに関係するデータを含み、第２のエンハンスメントデータはより高い周波数のサブバンドに関係するデータを含む。
【０００５】
サブバンドコーダが使用されても、使用されなくても、第１のデータはディジタル値の二値表示を含み、第２のデータは前記ディジタル値のより細かい分解能を表わす追加のビットを含む。
【０００６】
送信装置で使用するのに適した（しかし他にも使用される）とくに好ましいサブバンドコーダは：
（ａ）サンプル取りされたオーディオ信号を受取り、この信号を、各々が周波数のサブバンドにそれぞれ対応している複数のサブバンド信号に分割するフィルタ手段と；
（ｂ）サブバンド信号を量子化する量子化装置と；
（ｃ）信号特徴に依存して量子化装置によって使用されることになる量子化レベル数を適応して判断するビット割り当て手段とを含み；
ここで量子化装置は、前記第１のデータを供給する第１の出力をもち、前記第１のデータはいくつかの前記サブバンドについての量子化値を含み；さらに前記第２のデータを供給する第２の出力とをもち、前記第２のデータは、第１の出力において供給される量子化された値に関する少なくとも１つのサブバンドについて、このサブバンドについてよりも粗度の低い量子化された値を表わす追加のエンハンスメントビットを含み；またここでビット割り当て手段が第１の割り当て動作を実行するように動作可能であり、第１の割り当て動作では第１の出力についての第１の所定のビット割り当て分がサブバンド間で割り当てられ、次に続く第２の割り当て動作では、第２の出力における追加のビットについての第２の所定のビット割り当て分がサブバンド間で割り当てられる。望むのであれば、第２の出力（後出の図５におけるサブストリーム２）はまた、第１の出力（図５におけるサブストリーム１）でどの量子化された値が用意されないかに関して、少なくとも１つのサブバンドについての量子化された値を用意できる。好ましい構成では、量子化装置は少なくとも１つの別の出力（図５のサブストリーム３）をもち、第２およびその他の出力（図５のサブストリーム４）は各場合においてより低い順番の出力（注）では表わされないサブバンドに対する値を与えるか、またはより低い順番の出力において表わされるサブバンドに追加のビットを与えるか、あるいはこの両者を行い、ビット割り当て手段は出力数に等しい数の割り当て動作を実行するように動作可能であり、各割り当て動作では、サブバンド間の各ビット割り当て分を各出力について、割り当てるようにサービスする[注：第２の出力（すなわちサブストリーム２）を考えるときには、低い順番の出力は第１の出力となり、また、第１の別の出力（サブストリーム３）を考えるときには、低い順番の出力は第１と第２の出力となる]。
【０００７】
本発明の別の態様では、信号受信装置であって：
（ａ）信号の時間部分に関する第１のデータ、および信号の同じ部分に関する第２のエンハンスメントデータを含む一次データと、
信号の異なる時間部分に関する第１のデータを含む二次データとを各々が含んでいるデータパケットを受け取る手段；
（ｂ）受け取ったパケットを記憶するバッファ；
（ｃ）第１のデータのみから再構成された信号を生成でき、かつ第１および第２のデーダから一緒により高い品質の再構成された信号を生成することができるデコーダ；および、
（ｄ）バッファから信号の継続する時間部分に関して一次データを読み取り、それらをデコーダへ送り、言語の時間部分に関する一次データがバッファからなくなる場合に、その代わりにその時間部分に関する二次データを読取り、それをデコーダへ送るように動作可能な制御手段を含む装置を提供する。
【０００８】
制御手段は、言語の時間部分に関係する二次データがバッファからなくなる前記場合には、言語信号の異なる時間部分に関係する第２のエンハンスメントデータを読み取り、それをデコーダへ送るように動作可能であることが好ましい。
【０００９】
各パケットは、その中に含まれている一次データの時間シーケンスを示すシーケンスコードを含み、制御手段は、パケットの実際の受取り順序とは無関係にシーケンスコードを参照してパケットの時間シーケンスを判断するようにしてもよい。
【００１０】
ここで本発明のいくつかの実施形態を例示的に添付の図面を参照して記載することにする。
【００１１】
発明の実施の形態
図１は、本発明の第１の実施形態において使用される簡単なサブバンド言語コーダを示している。入力オーディオ信号は、ディジタルサンプルのシーケンスの形態で入力１において受信される。一般的に入力オーディオ信号は、１６キロヘルツのサンプリングレートのビットであり、各サンプル当り１６ビットである。入力オーディオ信号は、フィルタバンク２によって、それぞれが２５０ヘルツのバンド幅をもつ３２のサブバンドへ分割される。したがって最低のサブバンドは０ないし２５０ヘルツの範囲をカバーし、最高のサブバンドは７．７５ないし８キロヘルツをカバーする。各サブバンドは参照符号３において５００ヘルツのサンプリングレートでサブサンプルをとられる。
【００１２】
サブバンドコーディングの基本原理は、デコードされたオーディオ信号の全体的な品質に対する異なるサブバンドの相対的な重要度が異なり、したがって知覚重要度が評価するのと同数のサンプル当りのビット数だけ各サブバンドに割り当てることによって圧縮を達成することができる。このコーダではサブバンドへのビットの割り当ては固定されており、したがって例えば最も低いサブバンドが常にサンプル当り８ビットを割り当てられ、一方でおそらく１５番目のサブバンドが常にサンプルごとに４ビットを割り当てられる。この固定された割り当ては言語信号の既知の特徴に基いて行われる。ビット割り当ては図１においてボックス４に記載されているが、実際には単に適切な数の最小桁のビットをサンプルから引き抜くことから成る。既に記載したように、この構成は全体的に従来型である。このコーダは、言語に特定の固定されたビット割り当てを行うために、上述で言語コーダとして採用されており：後述で開示されるように、より精巧な適応性ビット割り当て方式を使用して、向上した言語圧縮を得て、他のタイプのオーディオ信号に適応できることに注意すべきである。さらに、このコーダを簡素化すると、コーダは本質的にフレーミング構造が必要ないが；１１５２のサンプルの到来する言語フレームは、１６キロヘルツのサンプリングレートで７２ミリ秒の継続期間を意味すると仮定される。
【００１３】
ビット割り当て４からのサンプル出力は、２つの流れ（ストリーム）にグループ化され、第１のグループは下位から１６のサブバンドＢ０…Ｂ１５のサンプルから成り、第２のグループは上位から１６のサブバンドＢ１６…Ｂ３１のサンプルから成る。明らかに、各流れ内のフレームごとの実際のビット数は割り当てられた実際のビット数に依存する。
【００１４】
図２は（従来構成の）対応するデコーダを示しており、このデコーダではサブバンドＢ０…Ｂ３１は５において１６キロヘルツへ戻ってアップサンプル（upsample、上方へ向かったサンプリング）され、フィルタバンク６へ供給され、その出力は加算器７において一緒に加算される。
【００１５】
両方の流れがデコーダへ供給されるとすると、０ないし８キロヘルツのバンド幅の言語信号を回復することができる。第２の流れは４ないし８キロヘルツの周波数範囲内の信号の一部のみについての情報を含むことが明らかである。したがって第２の流れが捨てられてしまうと、バンドが０ないし４キロヘルツに制限されていたとしても、依然として第１の流れのみがデコードされて、有益な言語信号を生成する。したがってコーダは層状（layered）であると考えられ、このコーダは入力オーディオ信号を受け取り、コード化された形式の信号を伝送する第１の出力と、第１の出力と一緒にデコードされて、より高い品質のデコードされた信号を生成することができるエンハンスメント情報を送る第２の出力とをもっている。本明細書では、第１の流れのみが第１の層と呼ばれ、２つの流れを一緒にして第２の層と呼ばれることにする。
【００１６】
図３は言語信号の送信装置を示す。入力10はアナログ言語信号を受け取り、このアナログ言語信号は、クロック発生器12から１６キロヘルツのクロックパルスψｓの制御のもとでアナログ対ディジタルコンバータ（ＡＤＣ）11によって１６キロヘルツのサンプリングレートでディジタル形式に変換され、図１を参照して既に記載したサブバンドコーダ13へ供給される。サブバンドコーダ13は２つの出力をもち、これらの出力はそれぞれコード化されたビットの第１の流れ（“ストリーム１”）および第２の流れ（“ストリーム２”）を通す。これらの流れは遅延部14、15によって１フレーム期間（７２ミリ秒）だけ遅延され、送るためのパケットのアセンブリ用に、７２ミリ秒ごとに１３．８９ヘルツのフレームクロックψＦの制御のもとで“÷１１５２”回路17から並列入力直列出力レジスタ16へロードされる。同時に後続のフレームに対するストリーム１のビットは、遅延部15を通らずにコーダ13から送られ、さらにレジスタ16へロードされる。したがって各送られたパケット（もちろん、第１のパケットを除く）は、ストリーム１の情報の複製を含む１パケットだけ先行している。望むのであれば、遅延部を適切に再配置することによってこの複製は後続のパケットか、または問題のパケットから２以上のパケット分だけ離間して先行または後続するパケット内に保持されることになる。フレームカウンタ18は、０ないし２２５を循環的に計数し、ψＦによってクロックされ、フレーム数ｆｎを生成し、さらにシフトレジスタへもロードされる。シフトレジスタの内容（コンテンツ）はラインクロックψＬのもとで出力19へ向かって所望のレートで直列にクロックアウトされる。明らかにこのクロックレートは、レジスタに記憶された全パケットが７２ミリ秒以下で（もちろん、上限はない）クロックされるほど十分に高くなければならない。実際には、送信されたパケットはフレーミング（フレーム形成用の）コードを含まなければならず、アドレッシング情報を含む必要があるが、しかしながらこれらは従来のものである。フレームｎの第１および第２の流れは後の記述ではそれぞれＳ１（ｎ）、Ｓ２（ｎ）とされている。
図４は、図３の送信機からの送信を受け取る受信機を示しており、ここでは受信されたパケットは（ラインクロックおよびフレーミング情報の図示していない手段による回復後に）直列入力、並列出力シフトレジスタ30へ入力される。送信遅延における変化に順応するために、受取られた流れは“ビルドアウト（build-out）”遅延をもつ循環バッファ31内に記憶されることになる。（注：セッションの第１のパケットを受取り、処理をするが、その再生前に空のバッファ（これをビルドアウトバッファと呼んでいる）を再生し、それから処理したパケットを再生する。データ再生が同期しているとブランクバッファを先ず再生することは処理したパケットの再生前に遅延を与えることになる。ジッタ除去バッファと呼部のもこれに類する。）書き込み制御ユニット32はレジスタ30の内容を受け取り、バッファ31へパケットを書込むように働く。パケットはバッファ内にシーケンス番号によって判断される順序でバッファ内に配置される。期待されているパケットが受け取られないときは、ギャップが残るので、正しいシーケンスになるようにパケットが挿入され、このパケットは後で、しかしビルドアウト期間内に到達することになることを条件としている。
【００１７】
バッファからのデータの読取りは、送信機においてフレームカウンタ18に類似したフレームカウンタ33を採用して実行され、ローカルクロック34によって７２ミリ秒ごとにインクリメントされる。フレームカウンタ33は到来フレームをビルドアウト期間（接続特性および遅延が許容される範囲に依存して、通常１ないし１０フレーム、例えば６フレーム）だけロードによって、受取り期間の開始時に、受信したフレーム数ｆｎから６（または他のビルドアウト値）を減算して遅延する。７２ミリ秒のクロックと送信機クロックψＦとの間のドリフトによって、バッファのオーバーフローまたはアンダーフローが発生するとすると、このシステムはカウンタに再びロードすることによってリセットされる。通常は、読取り制御ユニット35がカウンタ33にアクセスして、現在のカウント値ｆｎｒを得て、バッファから、そのフレーム数をもつパケットからＳ１（ｎ）およびＳ２（ｎ）を読み取り、それらを図２を参照して既に記載した言語デコーダ36へ送る。パケットが損失されておらず、また何れのパケットも既に送られたパケットに対して６×７２＝４３２ミリ秒より長くは遅延されていないときは、これがデコーダ363へのデータの連続的な供給を保証することになる。
【００１８】
このような損失または超過遅延が発生するとき、カウンタ内容ｆｎｒに等しいフレーム数ｆｎをもつ所望のパケットはバッファ内に存在しないことになる。この場合に読取り制御ユニット34はバッファからフレーム数（ｆｎｒ−１）をもつパケットからのＳ１（ｎ）データを、言い換えると直前のパケット内に保持されていたフレームｆｎｒに関する複製のストリーム１の情報を読み取り、これをデコーダへ送る。このやり方ではデコーダは、このフレームに関するストリーム２のデータを受け取らないことを除けば、正規に動作し続けるので、１フレーム期間ごとにバンド幅が時間的に低減することになる。読取り制御ユニット35はこの情報を接続部37を介してデコーダ36へ知らせ、デコーダは上位の１６のサブバンドをディスエーブルする。
【００１９】
変更形態では、この低減はストリーム２において先行するフレームデータを反復する−すなわち読み取り制御ユニットがＳ１（ｎ）およびＳ２（ｎ−１）をパケット（ｆｎｒ−１）から読み取ることによって緩和することができる。
【００２０】
コーダ13がサブバンドコーダであること、またはその第２の流れが第１の流れよりも高い周波数成分に関する情報を表わしていることは本質的でないことに注意すべきである。原理的に、他の層状のコーダは、例えばＰＣＭ（パルスコード変調）コーダを使用してもよく、ＰＣＭでは第１の流れは粗く量子化されたサンプルから構成されており、第２の流れは同じサンプルの追加の、より低い桁のビットから成り、したがってもちろん第１の流れのみを受け取るデコーダによって生成される量子化ノイズのレベルを低減するように働くことになる。しかしながらさらに、先行するフレームデータが損失した第２の流れのデータと十分な相関関係をもつときのみ、失った上流に対して先行するフレームからの代用の可能性が存在し；これは上述のサブバンドシステムに当てはまるが、ＰＣＭの例にはないことに注意すべきである。
【００２１】
図３では特定のフレームに対する複製のストリーム１は、このフレームに関する完全な情報を保持しているパケットに先行するパケット内に保持されているが、これは本質的でなく、例えば流れは後続のフレーム内に保持されていてもよく、すなわちパケットｎはＳ１（ｎ）、Ｓ２（ｎ）、およびＳ１（ｎ−１）を保持できることも認識されるであろう。したがって同様の性能に対して、受信機ビルドアウト遅延は前よりも１つ大きい。このために受信機における信号遅延は７２ミリ秒だけ増加するが、他方で送信機における信号遅延は７２ミリ秒だけ低減する。さらに特定のフレームにおける複製のストリーム１は、そのフレームに関する完全な情報を保持しているパケットに連続するパケット内に必ずしも保持されていなくてもよい。遅延のオフセットは、特定の送信チャンネルまたはネットワークの特性に適するように選択され；例えば２以上のフレームの遅延は、バーストエラーを受け易い無線システムに適している。
【００２２】
図５は、図１に示したサブバンドコーダより精巧なサブバンドコーダを示している。これは、エムペグ（Moving Pictures Expert Group, (MPEG)）規格ＩＳＯ13813‐3において規定されたコーダに基づき、かつ類似している。この規格と異なるコーダの様相のみを詳細に記載することにする。ＭＰＥＧ規格は多数の異なる入力オーディオサンプリングレートにおける動作を考慮しており；後の記述ではサンプリングレートを１６キロビット／秒と仮定しているが、もちろん望むのであれば、他のサンプリングレートに尺度を調整してもよい。多層解析フィルタ40は１１５２の入力サンプルのフレームを受け取り、それぞれ３６サンプルの３２サブバンドの解析フレームを生成する。これらのサンプルは、スケールファクタ計算部42によって制御される可変スケールファクタを使用して量子化装置41によって量子化される。スケールファクタはＭＰＥＧ規格に記載されているように計算され、同じやり方でコード化することができるが、簡略化するために、規格によって考慮された可変長のスケールファクタ表示を使用するのではなく、（各フレームごとに）１サブバンド当り一定の１２ビットでスケースファクタをコード化することを選択する。（固定長を使用するとき、図５のボックス42からボックス45への接続は必要ない）。
【００２３】
サンプルは、適応性ビット割り当て手続きから各フレームについて判断されるビット割り当てにしたがって量子化されて、同期マスキングはサンプルの量子化の可聴効果を最小にするために、同時マスキングの現象を使用する。低レベルの信号成分が近接する周波数で同時に発生するより強い成分によって不可聴になるときに発生する。ユニット43は高速フーリエ変換（ＦＦＴ）を信号に適用して、その結果をマスキングユニット44に供給し、各オーディオフレームのマスキング特性は心理音響モデルを使用して（ＭＰＥＧ規格に記載されているように）評価され、ｋ番目のサブバンド（ｋ＝０…３１）についてマスキング関数mask(k)によって表示される。このマスキング関数はサブバンドｋに対する信号レベルの推定値を与え、ｋよりも低いときはこの信号は不可聴になり、高いときはノイズは可聴になる。これは３２のサブバンドの各々における信号対マスク比ｓｍｒを判断するのに使用される：
ｓｍｒ（ｋ）＝ｓｉｇ（ｋ）−ｍａｓｋ（ｋ）
なお、ｓｉｇ（ｋ）はサブバンドｋ内の信号エネルギーである。全てのこれらの量子はデシベルで表わされる。
【００２４】
実際のビット割り当ては、マスキングユニット44からｓｍｒ（ｋ）を受け取るビット割り当てユニット45によって実行される。実際のビット割り当ては割り当てを反復プロセスによって実行し、反復プロセスでは有効ビットキャパシティは段階的に割り当てられ、これまでそれに対して行われていたビットキャパシティの割り当てに基いて、最低のマスク対ノイズ比ｍｎｒをもっているどのサブバンドにも別のキャパシティを割り当てる。しかしながら割り当てられた多数のビットとして割り当てを表わすのではなく、規格−および図５の装置は−対応するビット割り当て表によって変換される整数ビット割り当てコードを使用し；別のキャパシティの割り当ては単にコードをインクリメントすることを含んでいる。
【００２５】
信号対ノイズ比ｓｍｒ（ｋ）（ビット割り当て計算に必要とされる）は、割り当てられるビット数を単に６デシベルだけ乗算するか（すなわち、割り当てられたビットの数がｘであるとｓｍｒ（ｋ）＝６ｘ[ｄＢ]）、または適切なルックアップ表を使用することによって、合理的な精度で推定できる。その代わりに信号対雑音比はサブバンドｋにおける実際の信号およびそれを表わすために割り当てられたビット数を考慮に入れて計算することができる。
【００２６】
この規格では、ビット割り当てはフレームごとに1回だけ実行される必要がある。しかしながら図５のコーダにおいて、より高い流れは、より低い流れには存在しない別のサブバンドに役立つことに加えて、既に記載したサブバンドに対して別のビットを保持することができる。したがってビット割り当て手続きは（この例では４つの流れについて）ここで記載するやり方で４回行わなければなず、したがって、（例えば）第１のサブバンドはストリーム１において２０レベルに量子化され、その結果ストリーム１はこのサブバンドに対して４．３ビットを保持するが、次の層では８０レベルに量子化され、その結果ストリーム２はこのサブバンドに対して別の２ビットを保持する。この手続きの結果は１組のコードであり、各コードは、ビット割り当てユニット45内に含まれているルックアップ表（その内容は次の表１参照）にしたがって、各サブストリームに対するサンプルの量子化を規定していることに注意すべきである。したがって流れによって保持されている実際のビット数は、その流れに示したビット数とその後の流れに示したビット数との差である。
【００２７】
【表１】
0004447782.tif 000002
【００２８】
次の変数を規定することが必要である：
ｋ              サブバンド数（この例では３２）；
BitTotj        層（レイヤ）ｊにおいて使用可能なビット数（すなわち、結合される流れ（レイヤ）ｊおよびより低い流れ）（この例では値は表２に与えられている）；
BitsAvailable  現在の流れに対する割り当てに現在使用可能なビット数
SFLen          スケールファクタの（ビットの）長さ（この例では１２）；
AllocBNumj(k)  サブバンドｋにおいて流れｊ内で使用されるビット割り当てコードの（ビットの）長さ；
AllocMaxj(k)    （＝２AllocBNumj(k)−１）サブバンドｋにおいて流れｊに対する割り当てコードの最大許容値
AllocLimj      サブバンドｋにおいて、層ｊ内で使用される最大数のサブバンド；
AllocCode(k)    層のサブバンドＫに対する割り当てコードの現在の値；
AllocCodej(k)  サブバンドｋにおいて層ｊに対する割り当てコードの結果；
Qlevelj(k)      サブバンドｋにおいて、流れｊに対して使用される量子化レベル数；
Bitsj(k)        コードQlevelj(k)レベルに対するビット要求数。
【００２９】
【表２】
0004447782.tif 000003
【００３０】
手続きを次に示す：規格に指定されたやり方で全てのｋ（ｋ＝０．．Ｋ−１）に対するｓｍｒ（ｋ）を計算する。
１．全てのｋにおいてAllocCode(k)およびsnr(k)をゼロに設定する。
２．全てのｋにおいてmnr(k)=snr(k)-smr(k)を初期設定する。
３．ｊ＝１に設定する
４．
【数１】
0004447782.tif 000004
【００３１】
（すなわち、使用可能なキャパシティは、ビット割り当てコードそれら自体の送信に必要なオーバーヘッドにだけ低減される）。
５．全てのｋにおいてFullFlag(k)を初期設定し、AllocCode(k)＜AllocMaxj(k)のとき、FullFlag(k)=0、またはFullFlag(k)=1である。FullFlag(k)=0を設定すると、現在の流れｊにおいてビットをサブバンドｋに割り当てることができ、FullFlag(k)=1ではこのような割り当てを防ぐ。
６．全てのｋにおいてFullFlag(k)=1であるとき、段階１９へ進む。
７．ｋ≠ｋｍにおいてmnrの最小値（すなわち、mnr(km)≦mnr(k)）に対応するｋの値ｋｍを識別する（FullFlag(k)=1が無視されるｋの値に注意すべきである）。
８．表１における割り当てコード（AllodCode(km)）の提案されたインクリメントに対応するビットＢの数を一覧（ルックアップ）する。
９．BitsRemaining=BitsAvailable-B*36を設定する。
１０．AllocCode(km)=0のとき、BitsRemaining=BitsRemaining-SFLen（最初にサブバンドに対して割り当てを行うとき、量子化器スケールファクタを送る必要があるという事実を許可しなければならない）。
１１．BitsRemaining<0のとき、FullFlag(km)=1を設定し、段階７へ進むか継続する（サブバンドkmに対する割り当てをインクリメントするのに十分なビットがあるときは、FullFlag(km)はこのサブバンドにさらに割り当てるのを防ぐように設定される）。
１２．allocCode(km)を１だけインクリメントする。
１３．BitsAvailable=BitsRemainingを設定する。
１４．（測定または推定によって）新しいsnr(km)を判断する。
１５．mnr(km)=snr(km)-smr(km)によって新しい割り当てに対するmnr(km)を計算する。
１６．AllocCode(km)=AllocMaxj(km)のとき、FullFlag(km)を１に設定して、別の割り当てを防ぐ。
１７．段階７へ進む。
１８．全てのｋにおいてAllocCodej(k)=AllocCode(k)を設定する（これは流れｊにおけるビット割り当ての組である）。
１９．次の流れにおいてｊをインクリメントし、段階５から全ての流れが処理されるまで反復する。AllocCode(k)がリセットされないことにとくに注意すべきである。
【００３２】
サブバンドサンプルは量子化器41によって量子化され、量子化器41は必要ビット数を各流れに出力する。したがって、ストリーム１において、量子化器41はｋ番目のサブバンドに対してBits1(k)を生成し、一方でより高い流れにおいて量子化器41はBitsj(k)-Bitsj-1(k)ビット／サンプルを生成する。これらのビットは、スケールファクタおよびビット割り当てコードと一緒にユニット46によってコード化されて、乗算される。ここではストリーム１において、ビット／サンプルの非整数（non-integer number）が使用されるとき、量子化器は必然的にビット／フレームの整数を出力する。量子化器は、１（５レベル）の割り当てコードでは、ないし４の範囲の数字を表わすqcod5(３ビット)を出力し；割り当てコード２（１０レベル）ではqcod5と追加ビットqbit10との和を出力し、一方で割り当てコード３（２０レベル）では、この和に別のビットqbit20を加算したものを出力する、などである。１フレームにおける３６の値qcod5(n)，（n=0…35）がグループ３において結合され１２の値を与える：
grp5(i)=qcod5(3*i)+5*qcod5(3*i+1)+25*qcod5(3*i+2)
なお、（ｉ＝０…１１）およびオペレータ＊は乗算を示す。これらの値は０ないし１２４の範囲をもち、７ビットを使用してコード化される。
【００３３】
４層のサンプル量子化プロセスは、層４のビット割り当てコードを使用して量子化器の分解能を規定することによって開始する。得られた量子化されたサンプルコードは次に一連の４ビット割り当てコードにしたがってコード化される。最初に層４および層３の割り当てコードが比較される。層３の割り当てがゼロのときは、量子化されたサンプルは、上述の５レベルにグループ化された＋ｎビットエンハンスメントスキームを使用して、層４の流れに対して完全にコード化される。層３の割り当てが０以外のときは、割り当てコードの差を使用して、層４の流れに対してコード化されるエンハンスメントビット数を判断する。このプロセスは層３および２に対して反復され、対応する向上した流れを生成する。層１において、ゼロ以外の割り当ては５レベルにグループ化されたエンコーディングで始まらなければならない。
【００３４】
このプロセスは、1組の４つの別個の量子化の流れを生成する。これらの流れはコーダ内で組立てられて、４つの必要とされるエンコードされたサンプルシーケンスを生成することができ、各エンコードされたサンプルシーケンスはサブバンドサンプルの特定の層を与えるようにデコードする。
【００３５】
マルチプレクサ46は、４つの出力の流れをビット割り当て、スケールファクタ、および量子化されたサンプルパラメータから構成する。生成されたサブストリームの割り当ては、ビットが全ての使用可能なサブバンドに割り当てられているという仮定に基づいてスケールファクタに関する数値と共に表３に示した。サブバンドサンプルの量子化が全ての割り当てられたビットを使用できないとき、マルチプレクサはゼロのビット値でパッキングを実行する。
【００３６】
【表３】
0004447782.tif 000005
【００３７】
ユニット46は各層ごとに新しい組の割り当てコードをエンコードする。ストリーム１はサブバンド０ないし４に対する全ての層１のビット割り当てコードを含み、ストリーム２はサブバンド０ないし９に対する層２のビット割り当てコードを含む。層２をストリーム１および２からデコードする際に、層１のビット割り当てコードは使用されず、これは１０ビット／フレームのオーバーヘッドと考えることができる（表３参照）。同様に、合計８４ビット／フレームの層１、２、および３へのビット割り当ては、層４のデコーディングにおけるオーバーヘッドである。ビット割り当てにおけるビットの流れ間の先のコーディングを使用して、層２、３、および４のオーバーヘッドを低減し、したがって予備の１または２ビット／フレームを層４のサブバンドサンプルエンコーディングに適用することができる。
【００３８】
図５のエンコーダで使用するデコーダを図６に示した。レジスタ50は図５のエンコーダからストリーム１を（送信または記録後に）受け取る。レジスタ50は、ストリーム２、３、４が使用可能なとき、実際にはいくつの入力が受け取られるかを示す層コードと一緒に、これらを受け取るための入力ももっている。層コードは、スイッチ51を介して適切なビット割り当てコードを選択し、これはサンプルのデクオンタイザ（dequantizer、量子化解除器）52を制御して、各サブバンドにおいて選択された組の対応するビット割り当てコードによって示される量子化レベル数にしたがって動作する。
【００３９】
次にデクオンタイザ52によって出力されるサンプルは、従来のやり方で動作する合成フィルタ53を通る。
【００４０】
図７は送信機を示しており、多くの点で図３の送信機に類似しているが、図５のコーダを使用しており、このコーダは参照符号60で示され、ディジタルオーディオ信号を受け取る。コーダから出力された４つの出力のストリームＳ１、Ｓ２、Ｓ３、Ｓ４は、それぞれフレームごとに５７６、５７６、１１５２、および２３０４ビットをもつ。これらの流れは遅延61、62、63によって３つの７２ミリ秒のステージで遅延される。遅延63の出力からの全ての４つの流れはマルチプレクサ64において結合され、４６０８ビット／フレームの層４の信号Enc4(n)を生成して、図３のシフトレジスタ16に類似したシフトレジスタ65へロードされる。遅延62の出力からのストリームＳ１ないしＳ３は、マルチプレクサ66において結合され、２３０４ビットの層３の信号Enc3(n+1)を生成して、シフトレジスタ65へロードされる；遅延が１つ少なく、したがってデータが次のフレームに含まれるので、指標ｎ＋１を記載する。同様に遅延61からのストリームＳ１、Ｓ２は参照符号66において結合され、１１５２ビットのEnc2(n+2)およびストリームＳ１を与え、５７６ビットのEnc1(n+3)は遅延されない。これらの全ては、上述の８ビットフレーム数ｆｎと一緒にレジスタ65においてアセンブルされ（合計して４６０８＋２３０４＋１１５２＋５７６＝８６４８ビットと所望の監視情報との和）、上述のようにラインレートでクロックアウトされる。将来の参照とするために、シフトレジスタにおいてアセンブルされるパケットのフィールドはＦ０ないしＦ４に分類される。この構成は専用のディスクリートなハードウエアにおいて生成されるように示されているが、もちろんこれらは適切にプログラムされたディジタル信号処理デバイスによって実行することができる。
【００４１】
対応する受信機は図４に示した受信機と同じ構造をもち、上述と同じやり方で動作するが、ここではレジスタ30の内容は図７のレジスタ50の内容に対応し、読取り制御ユニット34の動作はより複雑になることが異なる。通常読み取り制御ユニット34はバッファ31から、フレーム数fnrを保持しているパケットからEnc4(n)データを読み取る。フレームfnrがバッファ内にないときは、読取り制御ユニット34はバッファからフレーム数（fnr-1）をもつパケットからEnc3(n)データを読み取る。しかしながらこのパケットもないときは、バッファからフレーム数（fnr-2）をもつパケットからEnc2(n)データを読み取り、一方で３つのパケットが連続するオーディオフレームを失った際は、フレーム数（fnr-3）をもつパケットからEnc1(n)データを読み取る。以前のように、これはデコーダ35から出力された信号のバンド幅を低減し、先行するオーディオから流れを代用することによって緩和することができ、これを次の表４に示した：
【表４】
0004447782.tif 000006
【００４２】
より高いストリームＳ２、Ｓ３，Ｓ４は各々、次に低い流れと比較すると、（ａ）別のサブバンドに関する情報、および（ｂ）データがより低い流れに既に存在しているサブバンド内の量子化エラーを低減する追加のビットを含む。先行するフレームに関するデータの代用（表４において“＊”のマークを付されている）は（ａ）のみに適しており、追加のビット（ｂ）はその値が失っているビットとほとんど相関関係をもたないので有益でない。図６に示したデコーダはこのような代用を作り、わずかなノイズを加えるだけで動作する。ノイズを避けるために、読取り制御ユニット35は、先行するオーディオフレーム情報を上流に代用するとき、この事実をデコーダに知らせるようにすることができる。代用された流れのみによって保持されているサブバンドにおいて、選択装置51がストリーム４からビット割り当て情報をとるが、サブバンドが情報が代用されていない流れに含まれているときは、最も高い代用されていない流れからビット割り当て情報をとるように、選択装置51を変更しなければならない。
【図面の簡単な説明】
【図１】  本発明の第１の実施形態において使用されるサブバンド言語コーダのブロック図。
【図２】  図１のコーダにおいて使用するサブバンド言語デコーダのブロック図。
【図３】  本発明の第１の実施形態の送信機のブロック図。
【図４】  図３の送信機において使用される受信機のブロック図。
【図５】  本発明の第２の実施形態において使用されるサブバンド言語コーダのブロック図。
【図６】  図５のコーダにおいて使用するサブバンド言語デコーダのブロック図。
【図７】  本発明の第２の実施形態の送信機のブロック図。
【図１】
0004447782.tif 000007
【図２】
0004447782.tif 000008
【図３】
0004447782.tif 000009
【図４】
0004447782.tif 000010
【図５】
0004447782.tif 000011
【図６】
0004447782.tif 000012
【図７】
0004447782.tif 000013