(57)【特許請求の範囲】
【請求項１】
可変長相関データを復号する復号方法において、
符号化ビットストリーム内の符号化ビットセットに基づいて、ブロック長を判定するステップ（７１５）と、
上記判定したブロック長に基づき、上記符号化ビットストリームから符号化ブロックを抽出するステップ（７１０）と、
変換情報のセットの各変換情報を上記符号化ブロックに適用して候補ブロックのセットを生成するステップ（７５５）と、
相関性測定値に基づいて、候補ブロックの１つを復号ブロックとして選択するステップ（７７７）とを有する復号方法。
【請求項２】
上記変換情報のセットは、上記符号化ビットセット内において、中間のビットセットを可能なブロック長表現に変換する変換情報を含み、
上記候補ブロックを選択するステップは、最も高い相関性測定値を有する候補ブロックを選択するステップを有することを特徴とする請求項１記載の復号方法。
【請求項３】
上記候補ブロックの復号は、適応ダイナミックレンジ符号化（ＡＤＲＣ）に対応する復号により実行されることを特徴とする請求項１記載の復号方法。
【請求項４】
上記中間ブロックへの選択された変換情報の適用は、中間ブロックに対し、選択された変換情報に対応するビットシーケンスによりビット毎に排他的論理和処理を行うことにより実行されることを特徴とする請求項１記載の復号方法。
【請求項５】
上記変換情報のセットは、疑似ランダムシーケンスのセットに対応することを特徴とする請求項１記載の復号方法。
【請求項６】
可変長相関データを復号する復号方法において、
ビットストリーム内の複数の符号化ビットのセットに基づいて複数の復号長を選択するステップと、
上記符号化ビットストリームから複数の符号化ブロックを抽出するステップと、
上記複数のブロックそれぞれに対応する複数のブロック長に基づいて、シード値をブロックの中間ビットセットの可能な値に基づく可能なシード値のセットに変更し（７６０）、上記可能なシード値のセットに基づいて変換情報のセットを生成し、該変換情報のセットを符号化ブロックに適用して候補ブロックのセットを生成し、複数のブロックに亘る相関性測定値に基づいて候補ブロックの１つを復号ブロックとして選択し（７６５）、相関性測定値に基づいて、可能なシード値の１つを次のブロック用の次のシード値として選択する（７７７）ステップとを有する復号方法。
【請求項７】
可変長相関データを復号する復号装置において、
符号化ビットストリーム内の符号化ビットセットに基づいて、ブロック長を判定する抽出器（１４９）と、
上記判定したブロック長に基づき、上記符号化ビットストリームから符号化ブロックを読み出し、変換情報のセットの各変換情報を上記符号化ブロックに適用して候補ブロックのセットを生成し、相関性測定値に基づいて、候補ブロックの１つを復号ブロックとして選択する逆変換器（１５０）とを備える復号装置。
【請求項８】
上記変換情報のセットは、上記符号化ビットセット内において、中間のビットセットを可能なブロック長表現に変換する変換情報を含み、
上記逆変換器は、最も高い相関性測定値を有する候補ブロックを選択することを特徴とする請求項７記載の復号装置。
【請求項９】
上記候補ブロックの復号は、適応ダイナミックレンジ符号化（ＡＤＲＣ）に対応する復号により実行されることを特徴とする請求項８記載の復号装置。
【請求項１０】
可変長相関データを復号する復号装置（１４９、１５０）において、
ビットストリーム内の複数の符号化ビットのセットに基づいて複数の復号長を選択し、
上記符号化ビットストリームから複数の符号化ブロックを抽出し、
上記複数のブロックそれぞれに対応する複数のブロック長に基づいて、シード値をブロックの中間ビットセットの可能な値に基づく可能なシード値のセットに変更し、上記可能なシード値のセットに基づいて変換情報のセットを生成し、該変換情報のセットを符号化ブロックに適用して候補ブロックのセットを生成し、複数のブロックに亘る相関性測定値に基づいて候補ブロックの１つを復号ブロックとして選択し、相関性測定値に基づいて、可能なシード値の１つを次のブロック用の次のシード値として選択することを特徴とする復号装置。
【請求項１１】
コンピュータにより読み取り可能な記録媒体であって、当該記録媒体にはコンピュータにより実行されるプログラムが記録され、当該プログラムはコンピュータに、可変長相関データを復号する方法であって、符号化ビットストリーム内の符号化ビットセットに基づいて、ブロック長を判定するステップと、上記判定したブロック長に基づき、上記符号化ビットストリームから符号化ブロックを抽出するステップと、変換情報のセットの各変換情報を上記符号化ブロックに適用して候補ブロックのセットを生成するステップと、相関性測定値に基づいて、候補ブロックの１つを復号ブロックとして選択するステップとを有する復号方法を実行させることを特徴とする、コンピュータにより読み取り可能な記録媒体。
【請求項１２】
上記変換情報のセットは、上記符号化ビットセット内において、中間のビットセットを可能なブロック長表現に変換する変換情報を含み、
上記候補ブロックを選択するステップは、最も高い相関性測定値を有する候補ブロックを選択するステップを有することを特徴とする請求項１１記載のコンピュータにより読み取り可能な記録媒体。
【請求項１３】
上記候補ブロックの復号は、適応ダイナミックレンジ符号化（ＡＤＲＣ）に対応する復号により実行されることを特徴とする請求項１１記載のコンピュータにより読み取り可能な記録媒体。
【請求項１４】
上記中間ブロックへの選択された変換情報の適用は、中間ブロックに対し、選択された変換情報に対応するビットシーケンスによりビット毎に排他的論理和処理を行うことにより実行されることを特徴とする請求項１１記載のコンピュータにより読み取り可能な記録媒体。
【請求項１５】
上記変換情報のセットは、疑似ランダムシーケンスのセットに対応することを特徴とする請求項１１記載のコンピュータにより読み取り可能な媒体。
【請求項１６】
コンピュータにより読み取り可能な記録媒体であって、当該記録媒体にはコンピュータにより実行されるプログラムが記録され、当該プログラムはコンピュータに、可変長相関データを復号する復号方法であって、ビットストリーム内の複数の符号化ビットのセットに基づいて複数の復号長を選択するステップと、上記符号化ビットストリームから複数の符号化ブロックを抽出するステップと、上記複数のブロックそれぞれに対応する複数のブロック長に基づいて、シード値をブロックの中間ビットセットの可能な値に基づく可能なシード値のセットに変更し、上記可能なシード値のセットに基づいて変換情報のセットを生成し、該変換情報のセットを符号化ブロックに適用して候補ブロックのセットを生成し、複数のブロックに亘る相関性測定値に基づいて候補ブロックの１つを復号ブロックとして選択し、相関性測定値に基づいて、可能なシード値の１つを次のブロック用の次のシード値として選択するステップとを有する復号方法を実行させることを特徴とする、コンピュータにより読み取り可能な記録媒体。
【請求項１７】
可変長相関データを復号する復号装置において、
符号化ビットストリーム内の符号化ビットセットに基づいて、ブロック長を判定する判定手段（１４９）と、
上記判定したブロック長に基づき、上記符号化ビットストリームから符号化ブロックを抽出する抽出手段（１４９）と、
変換情報のセットの各変換情報を上記符号化ブロックに適用して候補ブロックのセットを生成する適用手段（１５０）と、
相関性測定値に基づいて、候補ブロックの１つを復号ブロックとして選択する選択手段（１５０）とを有する復号装置。
【請求項１８】
可変長相関データを復号する復号装置において、
ビットストリーム内の複数の符号化ビットのセットに基づいて複数の復号長を選択する選択手段（１４９）と、
上記符号化ビットストリームから複数の符号化ブロックを抽出する抽出手段（１４９）とを備え、
上記複数のブロックそれぞれに対応する複数のブロック長に基づいて、シード値をブロックの中間ビットセットの可能な値に基づく可能なシード値のセットに変更する変更手段と、上記可能なシード値のセットに基づいて変換情報のセットを生成する生成手段と、該変換情報のセットを符号化ブロックに適用して候補ブロックのセットを生成する適用手段と、複数のブロックに亘る相関性測定値に基づいて候補ブロックの１つを復号ブロックとして選択する選択手段と、相関性測定値に基づいて、可能なシード値の１つを次のブロック用の次のシード値として選択する選択手段とを備える復号装置。
【発明の詳細な説明】
【０００１】
本発明の背景技術
１．本発明の技術分野
本発明は、信号の伝送中に生じるデータの欠落に対するロバストエラー回復（robust error recovery）に関する。詳しくは、本発明は、データを変換して制御情報を明示的に伝送する方法に関する。
【０００２】
２．技術背景
信号の伝送又は記録処理において生じるランダムエラーのために欠落したデータを再構成するための様々な技術が提案されている。しかしながら、これらの提案されている技術は、連続するパケットデータの欠落を取り扱うものではない。連続するパケットデータの欠落は、当該技術分野においては、バーストエラーと呼ばれている。バーストエラーが発生すると、再生された信号には、ユーザにとって容易に認識できるほど明らかな劣化が生じる。さらに、高速通信を実現するための圧縮技術は、バーストエラーが信号に与える影響を大きくし、このため、再生された信号の劣化の度合いを大きくする。伝送され及び／又は記録された信号に影響を与えるバーストエラーは、例えば高精細度テレビジョン（high definition television：以下、ＨＤＴＶという。）信号、移動通信アプリケーション、ビデオディスク及びビデオカセットレコーダを含むビデオ記録技術等において観察される。
【０００３】
例えば、ＨＤＴＶの出現により、全国テレビジョン方式委員会(National Television System Committee：ＮＴＳＣ)により提唱されている現在の標準より高い解像度を有するテレビジョンシステムが登場した。提案されているＨＤＴＶ信号は、主にデジタル信号である。これに応じて、カラーテレビジョン信号をデジタル信号に変換するには、８ビットを用いて輝度信号及び色差信号をデジタル化するのが一般的である。ＮＴＳＣカラーテレビジョン信号をデジタル的に伝送するには、計算上、約２１６Ｍビット／秒のビットレートが必要となる。ＨＤＴＶの場合は、これよりさらに高い、約１２００Ｍビット／秒の伝送レートが必要となる。このような高い伝送レートは、現在の無線標準技術によりサポートされている帯域幅では対応できないことが多い。したがって、効率的な圧縮技術が必要とされる。
【０００４】
圧縮技術は、移動通信アプリケーションにおいても重要な役割を果たしている。移動通信アプリケーションにおいては、リモート端末装置間でデータパケットが送受信される。移動通信における伝送チャンネルの数は限られているため、パケットを伝送する前に効率的にデータを圧縮する圧縮技術が必要である。高い伝送レートを実現するために、様々な圧縮技術が提案されている。
【０００５】
例えば、適応ダイナミックレンジ符号化（Adaptive Dynamic Range Coding：以下、ＡＤＲＣという。）及び離散コサイン変換（Discrete Cosine Transform：以下、ＤＣＴという。）により画像データを圧縮する手法が知られている。いずれの技術も画像内の局所的な相関関係（local correlation）を利用して、高い圧縮率を実現するものである。しかしながら、効率的な圧縮アルゴリズムでは、符号化信号におけるエラーは、復号されたときに顕著となり、エラーが伝搬するという問題がある。このようなエラーの増殖により、ビデオ画像がユーザにとって明らかなほどに劣化してしまうことがある。
【０００６】
ＡＤＲＣ処理において、例えば、圧縮される画像は、ブロックと呼ばれる互いにばらばらな画素の集合に分割される。このことにより、ブロック単位での情報の伝送が可能となる。各ブロックに対しては、最小画素レベル及び大画素レベルが決定される。本明細書中でダイナミックレンジ（ＤＲ）と呼ばれる画素値の最小レベル及び最大レベルの間の範囲は、量子化ビンと呼ばれるセクションに等分に分割される。したがって、ビンの数は変数である。ダイナミックレンジが２Ｑ量子化ビンに分割された場合の近似の画素値の伝送を、Ｑビット量子化と呼ぶ。
【０００７】
ブロック内の各画素は、近似的に、複数の量子化ビンのうちのそれが丸め込まれる（fall into）ビンに基づいてデコーダに伝送される。画素が丸め込まれる量子化ビンの数は、画素のＱコードである。その後、Ｑコードは、デコーダに伝送され、デコーダは、ブロック制御情報及びＱコードを用いて画素値を近似することができる。本明細書中で固定長データと呼ばれる制御情報は、量子化ビンの数と、最小画素値と、ブロックのダイナミックレンジとを含んでいる。ブロック制御信号がデコーダに伝送される途中で欠落した場合、復号は大変困難になる。ある状況においては、欠落したブロック制御情報は、デコーダにおいて再構築することができる。例えば、符号化データブロックと伴に伝送される制御情報は、典型的には、ダイナミックレンジと、動きフラグと、最小値又は最大値又は中央値とを含んでいる。通常、Ｑは、エンコーダがＱを決定するのと同様にダイナミックレンジから決定されるので、要求される伝送ビット数を節約するために伝送されない。しかし、ダイナミックレンジが欠落した場合、Ｑを直接的な方法で決定することはできない。このような場合は通常、Ｑは、利用可能な情報を用いて求められる。
【０００８】
この問題を解決する方法の１つとして、各ブロックのＱ値を明示的に（explicitly）伝送することがある。なお、符号化ビットストリームにおいて伝送されるビット数を最小化することが望ましい。
【０００９】
発明の開示
本発明は、符号化データの一部としての少なくとも１つのブロック属性を、符号化ビットストリームにビットを付加することなく明示的に伝送する装置及び方法を提供する。一具体例においては、ブロック属性は、符号化データに所定のビット位置に位置する符号化データの一部として明示的に伝送される。これらの所定のビット位置にあるビットは、特定のブロック属性の値に対応するよう変換される。一具体例においては、これらのビットは、ブロック長を等しくするよう設定される。この結果、デコーダは、ブロック属性をビットストリームから直接読み出すことができる。一具体例においては、所定のビット位置にあるビットを伝送するためにこれらビットの以前の値は、上書きされなければならない。これらの元のビットを回復するために、一具体例では、ブロック内の残りビットを変換し、それによってデコーダは、ブロック属性によって上書きされた元のビットを回復することができる。
【００１０】
発明の実施の形態
本発明は、例えばデータブロックの属性のようなコード制御情報を、ビットストリームに追加ビットを付加することなく、明示的に（explicitly）変換するための装置及び方法を提供する。以下の記載において、本発明を理解できるように、多くの詳細事項について記述する。しかし、これらの詳細事項は、本発明を実施するための必要条件ではないことは、当業者にとって明らかである。また、本発明を不必要に不明瞭しないために、図には周知の電気的構成及び回路を示している。
【００１１】
信号処理方法及び信号処理機構について、一具体例に基づいて説明するが、ここでは、信号は、適応ダイナミックレンジ符号化（Adaptive Dynamic Range Coding：以下、ＡＤＲＣという。）により符号化された画像、並びに符号化に用いられるブロック属性又は圧縮定数（compression constant）であるとする。なお、本発明は，ＡＤＲＣ符号化及び用いられる特定の圧縮定数に限定されるものではない。本発明は、具体例に示すものとは異なる圧縮技術、及び異なる種類の相関データ、例えば音声データに適用することもでき、さらに、ＡＤＲＣ処理において用いることができる最大値（ＭＡＸ）、中央値（ＣＥＮ）、ダイナミックレンジ（ＤＲ）、量子化番号であるＱビット（Ｑ）などの具体例に示すものとは異なる制御データ、ブロック属性又は圧縮定数に適用することもできる。
【００１２】
さらに、本発明は、エッジ整合形（edge-matching）ＡＤＲＣ及びエッジ非整合形（non edge-matching）ＡＤＲＣ等、異なる種類のＡＤＲＣ処理にも適用することができる。ＡＤＲＣに関する更に詳細な説明については、１９９１年９月４〜６日、イタリア、トリノで開催された第４回高精細度テレビジョン及びその後に関する国際会議（Fourth International Workshop on HDTV and Beyond）におけるコンドウ（Kondo）、フジモリ（Fujimori）、ナカヤ（Nakaya）らによる「将来のＨＤＴＶデジタルＶＴＲのための適応ダイナミックレンジ符号化法（Adaptive Dynamic Range Coding Scheme for Future HDTV Digital VTR）」に開示されている。ＡＤＲＣは、一定のビットレートで伝送するために画像を符号化及び圧縮する実時間技術として確立されている。
【００１３】
上述の論文には、３つの異なる種類のＡＤＲＣが説明されている。これらは、以下に示す式により表すことができる。
非エッジ整合形ＡＤＲＣ（Non-edge-matching ADRC）：
【００１４】
【数１】
0004819271.tif 000002
【００１５】
エッジ整合形ＡＤＲＣ（Edge-matching ADRC）：
【００１６】
【数２】
0004819271.tif 000003
【００１７】
複数段ＡＤＲＣ（Multi-stage ADRC）：
【００１８】
【数３】
0004819271.tif 000004
【００１９】
ここで、ＭＡＸはブロックの最大レベルを表し、ＭＩＮはブロックの最小のレベルを表し、ｘは、各サンプルの信号レベルを表し、Ｑは量子化ビット数を表し、ｑは量子化コード（符号化データ）を表し、ｘ’は、各サンプルの復号レベルを表し、［・］は角括弧内の値に対する丸め処理（truncation operation）を表す。
【００２０】
信号の符号化、伝送及びこれに続く復号処理の流れを包括的にＦＩＧ．１Ａに示す。信号１００はエンコーダ１１０に入力されるデータストリームである。エンコーダ１１０は、ＡＤＲＣ圧縮アルゴリズムを実行し、パケット１・・・Ｎを生成し、伝送媒体１３５を介して、これらのパケット１・・・Ｎを送信する。デコーダ１２０は、伝送媒体１３５からパケット１・・・Ｎを受信し、信号１３０を生成する。信号１３０は信号１００を再生した信号である。
【００２１】
エンコーダ１１０及びデコーダ１２０は、ここに説明する機能を実行するために様々な形態で実現することができる。一具体例においては、エンコーダ１１０及び／又はデコーダ１２０は、媒体に格納され、ＦＩＧ．１Ｂ及びＦＩＧ．１Ｃに示すような、中央演算処理装置（central processing unit：以下、ＣＰＵという。）、メモリ、及び１以上の入出力装置、及びコプロセッサを備える汎用又は専用のコンピュータシステムに実行されるソフトウェアとして実現できる。これに代えて、エンコーダ１１０及び／又はデコーダ１２０は、ＦＩＧ．１Ｄ及びＦＩＧ．１Ｄに示すように、ここに説明する機能を実行するためのロジック回路として実現することもできる。さらに、エンコーダ１１０及び／又はデコーダ１２０は、ハードウェア、ソフトウェア又はファームウェアの組合せとして実現することができる。
【００２２】
信号ストリームに対する符号化、並べ替え（arranging）、時間変化ランダム化処理を行い、ロバストエラー回復を実現する回路の具体例をＦＩＧ．１Ｂ及びＦＩＧ．１Ｃに示す。ここに説明する処理は、特別に構成された又は汎用の処理装置１７０により実現される。メモリ１９０にはインストラクションが格納され、プロセッサ１７５は、このインストラクションにアクセスして、以下に説明する様々な処理を実行する。入力回路１８０は、入力ビットストリームを受け取り、この入力ビットストリームをＣＰＵ１７５に供給する。出力回路１８５は、データを出力する。ＦＩＧ．１Ｂでは、出力されるデータは符号化データである。ＦＩＧ．１Ｃでは、出力されるデータは、以下に説明する処理により復号され、例えば外部の表示装置１９５を駆動するのに十分な画像データ等の復号データである。
【００２３】
一具体例において、信号１００は、各フレームがインタレースビデオ方式の画像を表す情報を含む一連のビデオフレームから構成されるカラービデオ画像を表す信号である。各フレームは、２つのフィールドからなり、一方のフィールドは画像の偶数線のデータを含み、他方のフィールドは、画像の奇数線のデータを含む。データは、画像内の対応する位置の色成分を記述した画素値を含んでいる。例えば、この具体例では、色成分は、輝度信号Ｙ及び色差信号Ｕ及びＶから構成されている。なお、本発明に基づく処理は、インタレースビデオ信号以外の信号にも適用できることは明らかである。さらに、本発明は、ＹＵＶ色空間のみではなく、他の色空間により表された画像にも適用できることは明らかである。
【００２４】
他の具体例においては、信号１００は、例えば２次元の静止画像、ホログラム画像、３次元の静止画像、ビデオ映像、２次元の動画像、３次元の動画像、モノラル音声、Ｎチャンネルの音声等であってもよい。
【００２５】
ＦＩＧ．１Ａに示す具体例では、エンコーダ１１０は、Ｙ，Ｕ，Ｖ信号を分割し、ＡＤＲＣアルゴリズムに基づいて、各信号グループを個別に処理する。以下では、説明を簡潔にするために、Ｙ信号の処理について述べるが、ここで説明する符号化処理は、Ｕ信号及びＶ信号に対しても同様に適用できる。
【００２６】
一具体例において、エンコーダ１１０は、信号１００における連続する２つのフレーム（以下、フレームペアと呼ぶ。）に亘るＹ信号を３つの３次元（３Ｄ）ブロックにグループ化する。変換例においては、３Ｄブロックは、所定のフレームペアに亘る局所的な同じ領域からの２つの２Ｄブロックをグループ化して生成される。ここで、２つの２Ｄブロックは、フレーム又はフィールド内の局所的な画素をグループ化することにより生成される。なお、ここに説明する処理は、これとは異なるブロック構造にも適用できる。ここでは特定のブロック構造について述べられているが、「ブロック」という用語は、符号化されるデータのどのグループ化にも適用することができる。
【００２７】
一具体例において、エンコーダ１１０は、所定の３Ｄブロックについて、この３Ｄブロックを構成する２Ｄブロック間の画素値に変化があるか否かを判定する。ここで、画素値に変化があった場合、動きフラグ（Motion flag）が設定される。当該技術分野で周知のように、動きフラグを使用することにより、エンコーダ１１０は、各フレームペア内に局所的な画像の繰返しがあった場合、量子化コードの数を削減することができる。エンコーダ１１０は、３Ｄブロック内の最大画素輝度（ＭＡＸ）及び最小画素輝度（ＭＩＮ）も検出する。エンコーダ１１０は、これらの値ＭＡＸ、ＭＩＮを用いて、所定の３Ｄブロックのデータのダイナミックレンジ（ＤＲ）を算出する。非エッジ整合形ＡＤＲＣの一具体例においては、ＤＲ＝ＭＡＸ−ＭＩＮ＋１である。また、エッジ整合形ＡＤＲＣにおいては、ＤＲ＝ＭＡＸーＭＩＮである。また、いくつかの具体例において、エンコーダ１１０は、ＭＡＸとＭＩＮの間の中央値（ＣＥＮ）を算出する。一具体例において、ＣＥＮは、ＣＥＮ＝ＭＩＮ＋ＤＲ／２として算出される。
【００２８】
変形例において、エンコーダ１１０は、ビデオフレームのシーケンスを表すフレームのストリームに対して、フレーム毎に信号を符号化する。さらに他の具体例においては、エンコーダ１１０は、ビデオフィールドのシーケンスを表すフィールドのストリームに対して、フィールド毎に信号を符号化する。したがって、動きフラグを用いず、２Ｄブロックを用いてＭＩＮ，ＭＡＸ，ＣＥＮ，ＤＲを算出してもよい。
【００２９】
一具体例において、エンコーダ１１０は、算出されたＤＲに基づき、ＤＲ閾値及び対応する量子化ビット（quantization bits：以下、Ｑビットという）値の閾値テーブルを参照して、ＤＲに対応するブロック内の画素を符号化するために使用するＱビット数を決定する。画素を符号化することにより、量子化コード（quantization code：以下、Ｑコードという。）が生成される。Ｑコードは、記録又は伝送の目的で使用される関連する圧縮画像データである。そのため、Ｑビット値はブロックの長さを示すことにもなる。
【００３０】
一具体例においては、Ｑビットは３ＤブロックのＤＲに基づいて選択される。したがって、所定の３Ｄブロック内の全ての画素は、同じＱビットを用いて符号化され、これにより３Ｄ符号化ブロックが生成される。３Ｄ符号化ブロック用のＱコード、ＭＩＮ、動きフラグ、ＤＲのセットは、３ＤのＡＤＲＣブロックと呼ばれる。一方、２Ｄブロックを符号化する場合、所定の２Ｄブロック用のＱコード、ＭＩＮ、ＤＲは、２ＤのＡＤＲＣブロックを構成する。上述のように、ＭＩＮに代えて、ＭＡＸ及びＣＥＮを用いてもよい。さらに、後述するように、一具体例において、ＱコードはＱビット値を直接的に送信するように構成されている。
【００３１】
閾値テーブルは、様々な形式で作成することができる。一具体例においては、閾値テーブルはＤＲ閾値の列を有している。Ｑビットは、閾値テーブルの列において隣り合う２つのＤＲ間のＤＲ値の範囲を符号化するために使用される量子化ビット数に対応する。変形例においては、閾値テーブルは、複数の列を備え、各列は、伝送レートに応じて選択される。閾値テーブル内の各列は、閾値インデックスにより識別される。ＡＤＲＣ符号化及びバッファリングの具体例については、本願と同一の出願人による米国特許番号４７２２００３号「高効率符号化装置（High Efficiency Coding Apparatus）」及び米国特許番号４８５５６０号「高効率符号化装置（High Efficiency Coding Apparatus）」にも開示されている。
【００３２】
以下、Ｑコードを可変長データ（variable length data：ＶＬデータ）と呼ぶ。さらに、ＤＲ、ＭＩＮ、ＭＡＸ、ＣＥＮ、動きフラグをブロック属性と呼ぶ。閾値インデックスとともに選択されたブロック属性は、固定長データ（fixed length data：ＦＬデータ）を構成し、このＦＬデータをここでは圧縮パラメータとも呼ぶ。さらに、上述の説明から明らかなように、ブロック属性という用語は、複数の成分（component）を含む信号要素（signal element）の成分に関連するパラメータを記述することもできる。
【００３３】
Ｑビット値をＦＬデータに含めず、Ｑビット値を得るためにＤＲを用いることにより、各ＡＤＲＣブロックについて、追加的なビットを送信する必要がないという利点がある。しかしながら、Ｑビット値をＦＬデータに含めないことにより、伝送又は記録においてＤＲが欠落又は破損した場合、Ｑコードを容易に回復できないという問題がある。ＡＤＲＣデコーダは、ＤＲ情報に頼ることなく、ブロックの量子化に何ビットが使用されているかを判定しなくてはならない。
【００３４】
なお、一具体例においては、ＶＬデータの所定のビット（ビットの中間セット（an intermediate set of bits）ともいう）をＱビット値とすることにより、Ｑビット値を直接的に送信することができる。一具体例において、ＶＬデータは、所定のビット数がＱビット値に対応するように符号化される。例えば、ＶＬデータを、所定のビットの位置のＩＤという値を含む数と組み合わせたときに、所定ビットかＱビット値に等しくなるように、ＶＬデータは変換される。より詳しく説明すると、一具体例において、所定のビットをＱビット値に等しくする必要があるときには、ＶＬデータと疑似ランダムシーケンスとの排他的論理和を求めることによって、ＶＬデータを変換した後に、変換されたデータの所定のビット数が設定される。
【００３５】
ＦＩＧ．２Ａに、一具体例の処理を示す。ステップ２０５において、Ｑビット値が決定される。ステップ２１０において、Ｑビット値が変換されたＶＬデータの所定の位置に位置するように、ＶＬデータが変換される。ＦＩＧ．２Ｂに、Ｑビット値を読み出し、ＶＬデータを決定するための一具体例の処理を示す。ステップ２２０において、変換されたＶＬデータの所定のビットにより、Ｑビット値を読み出す。ステップ２３０において、受信された変換データにより、ＶＬデータが決定される。
【００３６】
ＶＬデータは、様々な形式に変換することができる。ここで用いられているように、「変換」という用語は、データの換算、ランダム化、再構成及びシャッフリングを含むと考えられるが、これらに限定されるものではない。一具体例においては、現在のデータブロックのＩＤは、先行する複数のブロックのＩＤとともに、疑似乱数発生器（pseudorandom number generator: 以下、ＰＮＧという。）のランダム化又はシード値として用いることができる。一具体例においては、３つの先行するＱビット値を使用する。なお、シード値を生成するためには、時間的に隣接する（先行又は後続の両方の）いかなる数の値を用いてもよい。ここでは、説明のため、時間的に隣接するという表現は、いかなる先行する又は後続するデータブロックも含むものとする。
【００３７】
一具体例において、連続する各ＩＤ値は、現在のシード値の右側に連結される。ＰＮＧは、このシード値を用いて統計的に異なる疑似乱数シーケンスを生成し、同じシード値の各アプリケーションのために同じく統計的に異なるシーケンスを生成する。そして、疑似乱数シーケンスは、例えば、ＶＬデータを変換するときに用いられる。所定のビット位置における変換されたデータが所望のＱビット値と等しくないとき、所定のビットはこのＱビット値に設定される。
【００３８】
他の具体例において、例えばＦＬデータが変換されるか、又はＶＬデータ及びＦＬデータの両方が変更される。上述したように、一実施例において、ＶＬデータのＴは、疑似乱数シーケンス（ｐ）とＶＬデータ（ｘ）の排他的論理和演算（ＸＯＲ）をビット単位で行うことにより得られる。すなわち、
【００３９】
【数４】
0004819271.tif 000005
である。
【００４０】
この具体例において、逆変換は元の全方向変換と全く同じなので、ビット単位のＸＯＲが用いられる。すなわち、
【００４１】
【数５】
0004819271.tif 000006
である。
【００４２】
他の具体例において、統計的に異なるシーケンスを生成するために、様々な種類の変換が用いられる。例えば、固定あるいは所定のシーケンスが用いられる。
【００４３】
一具体例において、ＰＮＧは、多数の複合疑似乱数シーケンスを生成する。シーケンスの数は、可能なＱビット値の数に対応する。一具体例において、シード値、（シード値＋２ｎ＋１）、（シード値＋２ｎ＋２・・・）、（シード値＋２ｎ−ｎ−１）は、ｎビットのＱビット値を確実に伝送するための可能な疑似乱数シーケンスを生成する入力値として用いられる。例えば、Ｑビット値のビット長が２ビットである一具体例において、シード値、シード値＋４、シード値＋５、シード値＋６は、４つの疑似乱数シーケンスを生成するＰＮＧへの入力値として用いられる。
【００４４】
そして、疑似乱数シーケンスは、例えば排他的論理和演算によって結合され、変換値が生成される。所定のビットが１つの可能なＱビット値に対応しないとき、所定のビットは１つの可能なＱビット値に対応するように設定される。例えば、一具体例において、各疑似乱数シーケンスの所定のビットは、変更された疑似乱数シーケンスがＶＬデータと結合されるとき、得られるビットは、所定のビットにおける１つの可能なＱビット値を含むような値に設定される。疑似乱数シーケンスは、伝送されるＱビット値に基づいて選択してもよい。
【００４５】
Ｑビット情報がビットストリームの所定のビット位置で確実に伝送されたとき、Ｑビット値は、所定のビット位置をアクセスすることによって読み出すことができる。
【００４６】
一具体例において、同様の処理が変換されたデータからＶＬデータを求めるために用いられる。一具体例においては、デコーダは、可能なＩＤ値及び関連する可能なシード値を用いて、ブロックの復号を試みる。可能な又は候補のシード値がＰＮＧに入力され、ＰＮＧは、疑似ランダムシーケンスを生成する。デコーダは、ビット毎のＸＯＲ関数を、ＶＬデータ候補復号を生成する各疑似乱数シーケンスに適用することにより、ＶＬデータの候補復号を生成する。各候補復号には、局所的な相関メトリックが適用され、このブロックに対する信頼度メトリックが算出される。
【００４７】
一具体例においては、デコーダは、逆量子化処理を４ブロック遅延させる遅延判定デコーダとして機能する。一具体例において、デコーダは、信頼度の低い連続する４つのメトリックを算出し、これに基づいて、最も古いブロックの復号が正しくなかったと判定することもある。この場合、デコーダは、最も古いブロック用の候補シード値を返し、最も古いブロックに対して、次に尤度の高い復号処理を試みる。次に、デコーダは、このシード値に基づく第２の推定に基づいて、直近の３つのブロックに対して再び逆ランダム化処理を施す。この処理は、デコーダが最も近いブロックの信頼度メトリックが最大となる４つの復号ブロックのシーケンスを生成するまで繰り返し実行される。
【００４８】
このように、一具体例では、Ｑビット値は、ＶＬデータで明示的に伝送される。変形例として、いかなるデータをＶＬデータで明示的に伝送してもよい。例えば、動きフラグ、又はＱビット値と動きフラグの組合せをＶＬデータに符号化してもよい。
【００４９】
信号ストリームの符号化によりロバストエラー回復を提供する回路の具体例をＦＩＧ．１Ｄに示す。回路１４３、１４４及び１４５は、入力信号を、必要とされるビット数を増加させることなく、Ｑビット値を明示的に有するデータに変換する変換器として機能し、データの入力信号及び対応するＱビット値を受け取る。シード生成器１４３は、ＰＮＧ１４４に入力するシード値を生成する。ＰＮＧ１４４は、供給された各シード値のシーケンスを生成する。上述のように、複数のシード値が供給され、複数のシーケンスが生成され、それらはデータと個々に結合されると、変換データ内の所定のビット位置における可能な１つのＱビット値を有する変換されたデータを生成する。選択論理回路１４５は、シーケンスとデータを結合し、使用する変換データ内の所定のビット位置において対応するＱビット値を有する変換データを選択する。出力は、伝送又は格納されるＱコードとして用いてもよく、さらに特定の符号化処理に従って符号化又は変換されてもよい。さらに、ある具体例では、上述の変換の前に、ある符号化処理に従ってデータが符号化又は変換されていてもよい。
【００５０】
ＦＩＧ．１Ｅは、欠落又は破損したＤＲ値を回復するための回路の具体例を示す図である。Ｑビット抽出器１４９は、入力信号を受け取り、ビットストリームの所定の位置でビットを読み出し、Ｑビットを抽出する。逆ランダム化論理回路１５０は、入力ビットストリームのＱコードを逆ランダム化する。いくつかの具体例では、ある特定の符号化処理に基づいて入力信号は復号及び／又は変換されてもよく、あるいは又はさらに、逆ランダム化論理回路１５０の出力信号は、さらに復号化あるいは変換してもよい。
【００５１】
説明のために、以下では、ビデオ信号のＡＤＲＣ符号化及びシャッフル処理に準じて、許容できる連続パケット伝送欠落を１／６とする。したがって、以下に示す成分の定義及び分割は、一具体例に対応する例示的なものにすぎない。この他の具体例を想到することもできる。データセットは、ビデオ又は他の種類のデータ信号のデータの一部（partition）を含んでいてもよい。すなわち、一具体例において、フレームセットは、連続する１以上のフレームを含むデータセットであってもよい。セグメントは、１つのフレームセットに含まれるＱコード及びブロック属性の１／６に分割された部分を格納する容量を有するメモリを備えていてもよい。さらに、バッファは、１つのフレームセットに含まれるＱコード及びブロック属性の１／１６に分割された部分を格納する容量を有するメモリを有していてもよい。データのシャッフル処理は、セグメント及び／又はバッファ内の成分を交換することにより実行できる。そして、セグメントに格納されたデータを用いて伝送用のデータパケットを生成する。したがって、伝送中にセグメントが欠落すると、そのセグメントから生成された全てのパケットが欠落する。同様に、伝送中にセグメントの一部が欠落すると、そのセグメントから生成されたパケットのうちで対応する数のパケットが欠落する。
【００５２】
以下、ＡＤＲＣ符号化データにおける１／６連続パケット欠落について説明するが、ここに説明する方法及び装置は、様々な符号化／復号方式に関連した１／ｎ連続パケットの欠落を許容する設計に適用することができる。
【００５３】
ＦＩＧ．３は、ポイントトゥポイント（point-to-point）接続又はネットワークを介してデータを伝送するために用いられるパケット構造３００の具体例を示す。パケット構造３００は、エンコーダ１１０により生成され、伝送媒体１３５を介して伝送される。一具体例においては、パケット構造３００は、５バイトのヘッダ情報と、８ビットのＤＲと、８ビットのＭＩＮと、動きフラグと、５ビットの閾値インデックスと、３５４ビットのＱコードとを有する。一具体例として、ＭＩＮビットはＣＥＮビットに置き換えてもよい。ここに示すパケット構造３００は、パケット構造の一例であり、ネットワークの非同期伝送モード（asynchronous transfer mode：ＡＴＭ）による伝送に適応するように構成されたものである。なお、本発明は、このようなパケット構造に限定されるものではなく、様々なネットワークにおける種々のパケット構造にも適用できるものである。
【００５４】
ＦＩＧ．４は、エンコーダ１１０により実行される符号化処理の一具体例を説明するフローチャートである。
【００５５】
ＦＩＧ．４におけるステップ４０１において、表示成分とも呼ばれる入力フレームセットに対し、伝送量を削減するための間引きを行ってもよい。Ｙ信号については、水平方向に元の幅から３／４となるよう間引きし、Ｕ信号及びＶ信号については、それぞれ元の高さ及び元の幅から１／２となるよう間引きする。これにより、各フレームペアが３９６０Ｙブロック、６６０Ｕブロック、６６０Ｖブロックを有する３：１：０のビデオフォーマットが形成される。上述のように、ここではＹ信号の処理に関する説明を行うが、この処理はＵ信号及びＹ信号についても適用される。ステップ４０２において、２つのＹフレーム画像を３Ｄブロックにマッピングする。ステップ４０３において、３Ｄブロックをシャッフリングする。ステップ４０４において、ＡＤＲＣバッファリング及び符号化を行う。ステップ４０４の一部として、各ブロックのＱコードは、対応するＱビット値を明示的に伝送するために、変換される。
【００５６】
ステップ４０５において、符号化されたＹブロック、Ｕブロック、Ｖブロックをバッファ内でシャッフリングする。
【００５７】
ステップ４０６において、符号化３Ｄブロックのグループ用のＶＬデータと、これに対応するブロック属性をシャッフリングする。ステップ４０７において、ＦＬデータを異なるセグメントに亘ってシャッフリングする。ステップ４０８において、ポストアンブルを付加し、すなわちバッファ端の可変領域が所定のビットストリームにより充足される。ステップ４０９において、ＶＬデータを異なるセグメントに亘ってシャッフリングする。本具体例に関しての詳細は、本願出願人による国際特許出願ＰＣＴ／ＵＳ９８／２２３４７号に開示されている。
【００５８】
ＦＩＧ．５は、デコーダ１２０により実行される復号処理の具体例を説明するフローチャートである。変換処理及びデシャッフリングは、ＦＩＧ．４に示す処理と逆の処理であってもよい。なお、一具体例において、Ｑビットの抽出及びＱコードの逆変換は、後述するように、ステップ５４５において実行してもよい。
【００５９】
上述のように、Ｑビット値は明示的にＶＬデータで伝送されてもよい。一具体例において、ランダム化によってＱコードを符号化し、伝送に先立ってＱビット値と置き換えられたビットを含む逆ランダム化されたＱコードを連続的に回復する。
【００６０】
ランダム化は、欠落又は破損したデータを推定するために、後続するデータ復号処理において生成される可能性のある不正な候補復号の相関を打ち消すために適用される。正しい候補復号は、元の状態で回復されるため、ランダム化処理によって、正しい候補復号の特性は変更されない。特に、複数のデータブロックに亘るランダム化により、後に逆ランダム化データは、高い相関特性を示す候補復号となる。高い相関特性は、対応する候補復号は良好な選択であることを示している。
【００６１】
ランダム化処理は、正しい逆ランダム化により高い相関特性を示す正しい候補復号が得られ、不正な逆ランダム化により非相関特性を示す不正な復号が導き出されるように選択される。さらに、時間変化ランダム化は、ゼロブロックを取り扱うとよい。一具体例において、時間変化ランダム化は、再同期（resynchronization）によりデコーダがエラーを見逃す（すなわち、デコーダがブロックのセットを不正に復号し、このエラーを認識することなく、次のブロックを正しく復号する）確率を低下させる。符号化パラメータを用いて、ランダム化及び逆ランダム化処理を行ってもよい。例えば、ランダム化パターンは、圧縮パラメータの値に基づいて選択することができる。
【００６２】
一具体例において、Ｑｉは、与えられたＶＬデータブロックＸｉを量子化するために使用されるＱビット値である。この具体例において、この値は０，１，２，３，４のいずれかである。一具体例において、シード値を用いて疑似乱数生成器（ＰＮＧ）を初期化し、複数の疑似乱数シーケンスを発生させる。このシード値は、ブロック毎に現在のＩＤ値とともに変化する。変形例においては、シード値を用いていかなる適切な数学的変換シーケンスを生成してもよい。
【００６３】
変形例において、シード値は、データブロックを符号化するための様々な圧縮定数の組合せにより生成してもよい。
【００６４】
ＦＩＧ．６は、時間変化ランダム化及びＱビット値の明白な符号化により、ＶＬデータブロックを符号化する手順の具体例を示すフローチャートである。まず、ステップ６７７において、シード値を０に設定する。この他の初期値を用いてもよい。一具体例において、シード値は、８ビットのバイナリ数（例えば、００００００００）である。
【００６５】
次に、ステップ６７９において、次のＶＬデータブロックが読み出される。次に、ステップ６８１において、ＶＬデータブロック用のＱビット値が判定される。一具体例において、Ｑビット値は、ＤＲから直接判定される。一具体例において、エンコーダにより予め決定されたＱビット値を用いて、データバッファに記憶させてもよい。次に、ステップ６８３において、Ｑビット値が０ではない場合、処理は、ステップ６８５に進む。Ｑビット値が０の場合、処理は、ステップ６８９に進む。
【００６６】
ステップ６８３において、Ｑビット値が０ではないと判定された場合、ステップ６８５において、シード値は、ＩＤ値に結合される。一具体例において、シード値は、数ビット、例えば２ビット、左にシフトされる。次に、シード値は、例えばＩＤ値の所定のビットから１を引いた値のバイナリ数（binary equivalent）に連結されることにより結合される。（例えば、現在のシード値が００００００１０であり、ＩＤ値から１を引いたバイナリ数が１１である場合、２つのステップの結果、シード値は、００００１０１１となる。）次に、処理はステップ６９１に進む。
【００６７】
ステップ６８３において、Ｑビット値が０の場合、ステップ６８９において、シード値は、ゼロブロックを指示するように処理される。一具体例において、シード値は、１ビット右にシフトされる。（例えば、現在のシード値が００００１０１１の場合、右にシフトされたシード値は、０００００１０１となる。）変形例において、シード値は、特定の定数に設定され、所定の規則に則って左にシフトされ、あるいは適切な処理が施される。
【００６８】
ステップ６９１においては、ＶＬデータがシード値に基づいてランダム化される。一具体例において、シード値は、ＰＲＧを用いて疑似乱数シーケンスを生成するために使用される。所定のＰＲＧは、同じシード値を用いた場合、常に同じ疑似乱数シーケンスを生成する。次に、疑似乱数シーケンスは、ＶＬデータブロックの変換関数として使用される。一具体例において、ＶＬデータは、ビット毎のＸＯＲ（排他的論理和）関数をＶＬデータ及び疑似乱数シーケンスに適用することによりランダム化される。得られるランダム化ＶＬデータの所定のビットが可能なＱビット値の１つに等しくないとき、所定のビットは、
連続する時間的に隣接するデータブロック用のＱビット値及びＩＤ値のシーケンスは、以下のようになる。
Ｑ１＝１，Ｑ２＝１，Ｑ３＝３，Ｑ４＝０
ＩＤ１＝２，ＩＤ２＝１，ＩＤ３＝１，ＩＤ４＝２
Ｑビット値の範囲は０から３までである。シード値は、（ステップ６７７において）初期的に００００００００に設定される。第１のデータブロックｘ１が読み出され、Ｑ１が判定される。この具体例においては、Ｑ１の値を２とする。この場合、Ｑビット値は０ではなく、したがってステップ６８５及びステップ６８７が実行される。シード値は、２ビット左にシフトされ、これによりシード値は、００００００００となる。ブロック１については、ＩＤ１＝２となり（ｄ０及びｄ１がＱビット値で符号化されたＶＬデータの所定のビットに対応するときにおいて、方程式Ｑビット＝ＶＬｄ０,ｄ１  ＸＯＲ  ＩＤから算出される）、これはバイナリ値１０に対応する。２つの値は連結され、これによりシード値は００００００１０となる。
【００６９】
次に、シード値を用いて、ｊが可能なＱビット値の１から４までに対応する４つの疑似ランダムシーケンスｙＪ１を生成する。一具体例において、Ｊは（Ｑビット−１）に等しい。したがって、所定のビット位置において符号化された値００、０１、１０、１１に対応する４つの疑似ランダムシーケンスが生成される。一具体例において、４つの疑似ランダムシーケンスは、ＰＮＧの入力として（seed★４）、（seed★(４＋１)）、（seed★(４＋２)）、（seed★(４＋３)）を用いて生成される。一具体例において、疑似ランダムシーケンス（ＩＤ）の所定のビットがＪに等しくないとき、所定のビットは、Ｊに等しく設定される。
【００７０】
４つの疑似ランダムシーケンスのうち１つが選択され、ＶＬデータと結合される。一具体例において、この１つのシーケンスは、ＶＬデータと結合されるとき、Ｑビット値に対応する所定のビット位置のデータを含むように選択される。したがって、一具体例において、所定のビット位置において、ＶＬデータとビット毎の排他的論理和を求めるときのＱビット（Ｑビット−１）を生成するように、４つの疑似ランダムシーケンスのうちの１つが選択される。
【００７１】
次のＶＬデータブロックｘ２及びそのＱビット値Ｑ２（値２）が読み出される。ブロック２については、ＩＤ２＝１となり、これはバイナリ値０１に対応する。現在のシード値は、左に２ビットシフトされ、これによりシード値は、００００１０００となる。２つの値は連結され、新たなシード値００００１００１が生成される。そして、この新たなシード値を用いて４つの疑似ランダムシーケンスｓｙＪ２が生成され、その選択されたシーケンスについて、ビット毎にｘ２との排他的論理和が求められる。
【００７２】
次のＶＬデータブロックｘ３及びそのＱビット値Ｑ３（値１）が読み出される。ブロック３については、ＩＤ３−１＝０となり、これはバイナリ値００に対応する。現在のシード値は、左に２ビットシフトされ、これによりシード値は、００１０００００となる。２つの値は連結され、新たなシード値００１００１００が生成される。次に、この新たなシード値を用いて４つの疑似ランダムシーケンスｙＪ３がを生成され、その選択されたシーケンスについて、ビット毎にｘ３との排他的論理和が求められる。
【００７３】
次にＶＬデータブロック、ｘ４とそのＱビット値、Ｑ４（値ゼロ）が読み出される。Ｑビット値が０（ゼロブロック）であるから、ステップ６８９に対応し、シード値が１ビット右にシフトされる。この結果、新しいシード値は、０００１００１０となる。この新しいシード値を用いて、４つの疑似乱数シーケンスｙＪ４が生成され、その選択されたシーケンスについて、ビット毎にｘ４との排他的論理和が求められる。
【００７４】
結合処理、例えばビット毎のＸＯＲ処理によって得られる変換データは、データのパケットを生成するために用いられる。一具体例においては、パケット構造３００に従ってパケットを生成し、各パケットを伝送媒体１３５を介して伝送する。伝送されたデータは受信側で復号される。欠落又は破損したデータはデータ回復処理により回復される。
【００７５】
この具体例においては、Ｑビット値は、その値が単純にパケットから読み出されるように明示的に伝送される。一具体例として、ＶＬデータは、後述のような逆ランダム化処理を用いてビットストリームから回復される。
【００７６】
ランダム化及びこれに続く逆ランダム化は、欠落又は破損したデータを推定するために、後続するデータ復号処理において生成される可能性のある不正な候補復号の相関を打ち消すために適用される。正しい候補復号は、元の状態で回復されるため、逆ランダム化処理によって、正しい候補復号の特性は変更されない。逆ランダム化データは、対応する候補復号が正しい選択であったことを示す高い相関特性を示す候補復号を選択する傾向がある。
【００７７】
逆ランダム化処理を行うことにより、正しい逆ランダム化からは高い相関特性を示す正しい候補復号が得られ、不正な逆ランダム化からは非相関特性を示す不正な復号が導き出される。さらに、時間変化逆ランダム化は、好ましくはゼロブロックを取り扱う。一具体例において、時間変化逆ランダム化は、再同期（resynchronizanon）によりデコーダがエラーを見逃す（すなわち、デコーダがブロックのセットを不正に復号し、このエラーを認識することなく、次のブロックを正しく復号する）確率を低下させる。符号化パラメータを用いて、逆ランダム化処理を行ってもよい。例えば、逆ランダム化パターンは、圧縮パラメータの値に基づいて選択することができる。一具体例においては、選択されるパターンは、ＩＤ値に基づいている。
【００７８】
一具体例において、デコーダは、全ての可能なＩＤ値及び関連する可能なランダム値又はシード値を用いて、候補復号の生成を試みる。この具体例において、局所的な相関メトリックが各候補復号に適用され、そのブロックに対する信頼度メトリックが算出される。
【００７９】
一具体例において、Ｑビット値は、受け取ったビットストリームの所定のビットによって算出される。Ｑビット値から算出された所定のブロックの長さに基づく受け取ったビットストリームからデータの復号されたブロックが抽出される。候補ブロックは、変換のセットを用いて生成される。それらの候補ブロックうちの１つは、相関法に基づいて選択される。
【００８０】
一具体例において、ブロックの逆量子化が遅れることがあるため、デコーダは遅延判定復号を行う。一具体例において、この遅延判定デコーダは、データの復号を４ブロック遅延させる。デコーダが４つの連続する信頼度の低いメトリックを算出した場合、デコーダは、最も古いブロックの復号が正しくなかったと判定する。この場合、これに代わる復号、例えば次に尤度の高い復号が評価される。一具体例においては、直近の３つのブロックが代わりの推定値を用いて、逆ランダム化に用いられるシード値により逆ランダム化される。この処理は、直近のブロックの信頼度メトリックが所定の閾値Ｔより大きくなる４つの復号ブロックのシーケンスが生成されるまで繰り返される。
【００８１】
ＦＩＧ．７は復号の具体例を示すフローチャートである。シード値を用いたＶＬデータブロックの時間変化逆ランダム化の手順がこの具体例においては利用されている。まず、ステップ７０５において、シード値を０に設定する。一具体例において、シード値は、８ビットのバイナリ数（例えば、００００００００）である。
【００８２】
ステップ７１０において、次のＶＬデータブロックが読み出される。そして、ステップ７１５において、受け取ったデータの所定のビットの位置からＱビット値が読み出される。
【００８３】
ステップ７５５において、現在のブロックに対する全ての可能なシード値が算出される。一具体例においては、現在のＶＬデータブロックの現在のシード値について、５つの可能な候補シード値が算出される。この具体例において、５つの可能なシード値は以下の通りである。
ｓｅｅｄ０＝ｓｅｅｄ＞＞１
ｓｅｅｄ１＝（ｓｅｅｄ＜＜２）│０×０
ｓｅｅｄ２＝（ｓｅｅｄ＜＜２）│０×１
ｓｅｅｄ３＝（ｓｅｅｄ＜＜２）│０×２
ｓｅｅｄ４＝（ｓｅｅｄ＜＜２）│０×３
ここで、“ｓｅｅｄ”は現在のブロックの処理の適用以前に存在したシード値を表し、＜＜と＞＞は、それぞれ左右のシフトを、│は結合機能を示す。
最初の値は、シード値が右に１ビットシフトされるゼロブロック用の値である。
【００８４】
次に、ステップ７６０において、現在のブロックは、全ての可能なシード値を用いて逆ランダム化される。それぞれの可能なシード値を用いてランダム化された値の逆ランダム化は、ＦＩＧ．６において述べたランダム化の逆の処理となる可能性がある。次に、ステップ７６５において、可能なシード値の相関値が算出される。
【００８５】
相関値の算出は、最小自乗推定法(least squares estimates)、線形回帰法（linear regression）又は他の適切ないかなる手法により行ってもよい。相関値を判定する具体的な手法の例は、本願出願人による国際特許出願ＰＣＴ／ＵＳ９８／２２３４７号「伝送損失に対するロバストエラー回復を行うためのソース符号化（Source Coding To Provide For Robust Error Recovery During Transmission Losses）」にも開示されている。
【００８６】
次に、ステップ７７０において、候補シード値を用いて、ブロックの信頼度メトリックが算出される。ステップ７７５において、信頼度メトリックｃｉが閾値τを超えた場合、ステップ７２０において、現在のＶＬデータブロックの候補復号を用いた処理が行われる。
【００８７】
一方、候補メトリックｃｉが閾値τを超えない場合、処理は、ステップ７８０に進む。ステップ７８０においては、メモリに記憶されている最も古いブロックの信頼度メトリックが読み出される。一具体例においては、４つ前までのブロックがメモリに記憶される。すなわち、この具体例においては、信頼度メトリックｃｉ−３が調べられる。最も古いブロックの信頼度メトリックが閾値τを超えない場合、ステップ７８０において、この最も古いブロックに対し代わりの又は次に尤度が高い復号が選択され、この最も古いブロックが用いられる。
【００８８】
ステップ７８５において、メモリ内に記憶されている残りの３つのブロックは、
ステップ７８０において、最も古いブロックの次に尤度の高い復号を生成するために用いられられた、新たな代わりのシード値に基づいて、再び逆ランダム化される。候補復号を生成するために同様の処理がされる。処理は、ステップ７５５に戻り、直近のブロックｃｉの信頼度メトリックが閾値τを超えるまで、ステップ７８０〜ステップ７８５が繰り返し実行される。
【００８９】
一具体例においては、信頼度メトリックは、局所的な相関メトリックが可能な候補復号間から正しい復号を生成できなかった場合を判定する。一具体例において、相関に基づく復号のための最も尤度の高い候補復号は、次に尤度の高い候補復号に比べて、より高い相関特性を示す。信頼度メトリックは、最良の候補が与えられたあらゆるブロックに対して高い相関を示す度合いを数値的に示すものである。一具体例において、デコーダは、各可能な候補復号を実行し、局所的な相関に基づいて適切な復号を判定するよう試みる。この具体例においては、デコーダは、２つの最も尤度の高い復号、すなわち、最も高い局所的な相関を示す２つの復号に基づいて信頼度メトリックを算出する。この信頼度メトリックは、最も尤度の高い復号が次に尤度の高い復号よりどれだけ優れているかを示す。
【００９０】
一具体例において、ブロックの局所的な相関構造に基づき、著しく優れた選択を生成しない復号は、低い信頼度メトリックを有する。１つの復号が他の全ての可能な復号に比べてより高い相関を生成するブロックは、大きな高い信頼度メトリックを有する。一具体例において、デコーダがｎ個の連続する低い信頼度メトリックを算出した場合、デコーダは、最も古いブロックの復号処理において復号エラーが生じたと判定する。
【００９１】
例えば、デコーダが４つの逆ランダム化されたブロックの相関（Ｃ）を以下のように判定したとする。
Ｃ−３  低
Ｃ−２  低
Ｃ−１  高
Ｃ０   高
ここで、Ｃ０は最も直近の逆ランダム化されたブロックを表し、Ｃ−３は最も古い逆ランダム化されたブロックを表す。この場合、デコーダは、ブロック−３は正しく逆ランダム化されたと判定する。
【００９２】
また、デコーダが４つの逆ランダム化されたブロックの相関を以下のように判定したとする。
Ｃ−３  高
Ｃ−２  低
Ｃ−１  低
Ｃ０   低
この場合、デコーダは、次のブロックを逆ランダム化するまで、ブロック−２、−１、０が正しく復号されたか否かを判定しない。
【００９３】
次の逆ランダム化されたブロックが高い相関を示した場合、４つの逆ランダム化されたブロックの相関は以下のようになる。
Ｃ−３  低
Ｃ−２  低
Ｃ−１  低
Ｃ０   高
この場合、デコーダは、３つの低い相関を有するブロック（−３、−２、−１）は正しく逆ランダム化されたと判定する。
【００９４】
一方、次の逆ランダム化されたブロックが低い相関を示した場合、４つの逆ランダム化されたブロックの相関は以下のようになる。
Ｃ−３  低
Ｃ−２  低
Ｃ−１  低
Ｃ０   低
この場合、デコーダは、最も古いブロック（−３）は不正に逆ランダム化されたと判定し、この最も古いブロックに対する代わりの逆ランダム化を調べ、逆ランダム化について次に尤度の高い候補を探す。一具体例においては、４つのブロック全てが低い相関を示した場合にのみ、最も古いブロックに対する代わりの候補が調べられる。変形例においては、この低い相関を示すブロックの数を大きく又は小さくしてもよく、また低い相関と高い相関の数の組み合わせを変更してもよい。
【００９５】
本発明を好ましい実施の形態を用いて説明した。上述の説明から、様々な変更、修正、変形及び用途が当業者にとって明らかである。
【図面の簡単な説明】
本発明の目的、特徴及び利点は、添付の図面を参照することにより当業者にとって明らかである。
【図１】  ＦＩＧ．１Ａは、信号の符号化、伝送、復号の処理を包括的に示す図である。
【図２】  ＦＩＧ．１Ｂは、プロセッサにより実行されるソフトウェアとして実現された信号の符号化、伝送、復号の処理を示す図である。
【図３】  ＦＩＧ．１Ｃは、プロセッサにより実行されるソフトウェアとして実現された信号の符号化、伝送、復号の処理を示す図である。
【図４】  ＦＩＧ．１Ｄは、ハードウェア論理回路として実現された信号の符号化、伝送、復号の処理を示す図である。
【図５】  ＦＩＧ．１Ｅは、ハードウェア論理回路として実現された信号の符号化、伝送、復号の処理を示す図である。
【図６】  ＦＩＧ．２Ａは、明示的に制御情報を送信するためにデータを変換する処理の一例を示す図である。
【図７】  ＦＩＧ．２Ｂは、制御情報を読み込み、変換されたデータからデータを判定する処理の一例を示す図である。
【図８】  ＦＩＧ．３は、パケット構造の一例を示す図である。
【図９】  ＦＩＧ．４は、本発明に基づく符号化処理の一例を説明するフローチャートである。
【図１０】  ＦＩＧ．５は、本発明に基づく復号処理の一例を説明するフローチャートである。
【図１１】  ＦＩＧ．６は、明示的に制御信号を含めるようデータを変換する処理の一例を示すフローチャートである。
【図１２】  ＦＩＧ．７は、明示的に制御信号を含めるよう変換されたデータを逆変換して、抽出する処理の一例を示すフローチャートである。
【図１】
0004819271.tif 000007
【図２】
0004819271.tif 000008
【図３】
0004819271.tif 000009
【図４】
0004819271.tif 000010
【図５】
0004819271.tif 000011
【図６】
0004819271.tif 000012
【図７】
0004819271.tif 000013
【図８】
0004819271.tif 000014
【図９】
0004819271.tif 000015
【図１０】
0004819271.tif 000016
【図１１】
0004819271.tif 000017
【図１２】
0004819271.tif 000018