【手続補正書】
【提出日】平成19年5月22日(2007.5.22)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【書類名】明細書
【発明の名称】データ同期のための時間変化ランダム化及び間接的情報伝送
【特許請求の範囲】
【請求項１】
データブロックを符号化する符号化方法において、
現在のデータブロックの選択されたデータと時間的に隣接する少なくとも１つのデータブロックの選択されたデータとを用いて、該現在のデータブロックを変換するステップを有する符号化方法。
【請求項２】
上記データは、２次元静止画像、ホログラム画像、３次元静止画像、映像、２次元動画像、３次元動画像、モノラル音声、Ｎチャンネル音声からなるグループから選択されることを特徴とする請求項１記載の符号化方法。
【請求項３】
上記時間的に隣接する少なくとも１つのデータブロックは、前のデータブロック及び次のデータブロックからなるグループから選択されることを特徴とする請求項１記載の符号化方法。
【請求項４】
上記現在のデータブロックの選択されたデータ及び上記時間的に隣接する少なくとも１つのデータブロックの選択されたデータは、シード値の生成に用いられ、上記現在のデータブロックを変換するステップは、該シード値を用いて実行されることを特徴とする請求項１記載の符号化方法。
【請求項５】
上記現在のデータブロックの選択されたデータ及び上記時間的に隣接する少なくとも１つのデータブロックの選択されたデータは、シード値の生成に用いられ、該シード値は変換値の生成に用いられ、
上記変換値が０ではない場合、上記シード値を２ビット左にシフトし、該シード値の右に上記変換値を連結して更新されたシード値を生成し、
上記変換値が０である場合、上記シード値を１ビット右にシフトして更新されたシード値を生成することを特徴とする請求項１記載の符号化方法。
【請求項６】
ａ）次のデータブロックを現在のデータブロックとするステップと、
ｂ）上記更新されたシード値を用いて、上記現在のデータブロックを変換し、該変換により、更新された変換値を生成するステップと、
ｃ）上記更新された変換値が０ではない場合、上記シード値を２ビット左にシフトし、該シード値の右に上記更新された変換値を連結して更新されたシード値を生成し、
上記更新された変換値が０である場合、上記シード値を１ビット右にシフトして新たな更新されたシード値を生成するステップと、
ｄ）ステップａ）、ｂ）、ｃ）を繰り返して実行し、上記データブロックを処理するステップとを有することを特徴とする請求項５記載の符号化方法。
【請求項７】
最初のデータブロック用のシード値を初期化するステップを更に有することを特徴とする請求項５記載の符号化方法。
【請求項８】
上記変換するステップは、
上記現在のデータブロックのデータ及び上記時間的に隣接する少なくとも１つのデータブロックのデータを用いてシード値を定めるステップと、
上記シード値を擬似乱数生成器に入力し、ランダム化されたデータシーケンスを生成するステップと、
上記現在のデータブロックを上記ランダム化されたデータシーケンスにより変換するステップとを有することを特徴とする請求項１記載の符号化方法。
【請求項９】
上記変換するステップは、
上記現在のデータブロックのデータ及び上記時間的に隣接する少なくとも１つのデータブロックのデータに基づいて、変換パターンを生成するステップと、
上記変換パターンを上記現在のデータブロックのデータに適用するステップとを有することを特徴とする請求項１記載の符号化方法。
【請求項１０】
前の複数のデータブロックの選択され、変換されたデータを連結して変換値を生成し、該変換値を上記現在のデータブロックの変換に用いることを特徴とする請求項１記載の符号化方法。
【請求項１１】
上記現在のデータブロックのデータは、適応ダイナミックレンジ符号化により符号化され、上記選択されたデータは、Ｑビット値、動きフラグ、最小値、最大値、中間値及びＱコードからなるグループから選択されることを特徴とする請求項１記載の符号化方法。
【請求項１２】
上記変換するステップは、
ビット毎の排他的論理和関数を用いて、上記現在のデータブロックをデータシーケンスに結合するステップを有することを特徴とする請求項１記載の符号化方法。
【請求項１３】
データブロックを符号化する符号化方法において、
現在のデータブロックの選択されたデータと少なくとも１つの前のデータブロックの選択されたデータとを用いて、該現在のデータブロックを変換するステップを有し、
上記現在のデータブロックの選択されたデータ及び上記少なくとも１つの前のデータブロックの選択されたデータは、シード値の生成に用いられ、該シード値は、ランダム化値の生成に用いられ、該ランダム化値は、上記現在のデータブロックのランダム化に用いられることを特徴とする符号化方法。
【請求項１４】
上記データは、２次元静止画像、ホログラム画像、３次元静止画像、映像、２次元動画像、３次元動画像、モノラル音声、Ｎチャンネル音声からなるグループから選択されることを特徴とする請求項１３記載の符号化方法。
【請求項１５】
上記ランダム化値が０ではない場合、上記シード値を２ビット左にシフトし、該シード値の右に上記ランダム化値を連結して更新されたシード値を生成し、
上記ランダム化値が０である場合、上記シード値を１ビット右にシフトして更新されたシード値を生成することを特徴とする請求項１３記載の符号化方法。
【請求項１６】
現在のデータブロックの選択されたデータと時間的に隣接する少なくとも１つのデータブロックの選択されたデータとを用いて、該現在のデータブロックを逆変換するステップを有する復号方法。
【請求項１７】
上記逆変換するステップは、
上記現在のデータブロックのデータが完全であるか否かを判定するステップと、
上記データが完全である場合、上記時間的に隣接する少なくとも１つのデータブロックを復号し、
上記データが完全でない場合、上記現在のデータブロックの信頼度メトリックを算出するステップを有することを特徴とする請求項１６記載の復号方法。
【請求項１８】
上記算出するステップは、
上記現在のデータブロックの選択されたデータ及び上記時間的に隣接する少なくとも１つのデータブロックの選択されたデータに基づいて、該現在のデータブロックの候補逆変換データを選択するステップと、
上記候補逆変換データに基づいて、上記現在のデータブロックの信頼度メトリックを算出するステップとを更に備えることを特徴とする請求項１７記載の復号方法。
【請求項１９】
上記選択するステップは、
上記現在のデータブロックの選択されたデータ及び上記時間的に隣接する少なくとも１つのデータブロックの選択されたデータに基づいて、候補逆変換値の組を算出するステップと、
上記候補逆変換値の組のそれぞれに基づいて、上記現在のデータブロックを逆変換することにより、逆変換データの組を生成するステップと、
それぞれが上記逆変換データの組のうちの１つに対応する相関値の組を算出するステップと、
上記相関値の組に基づいて、上記現在のデータブロックの候補逆変換データを選択するステップとを有することを特徴とする請求項１８記載の復号方法。
【請求項２０】
上記信頼度メトリックが閾値未満である場合、上記時間的に隣接する少なくとも１つのデータブロックの代わりの逆変換データを選択し、
上記現在のデータブロックの選択されたデータと、上記時間的に隣接する少なくとも１つのデータブロックの代わりの逆変換に選択されたデータとに基づいて、上記現在のデータブロックを再び逆変換し、
上記信頼度メトリックが閾値以上である場合、候補逆変換データ及び上記時間的に隣接する少なくとも１つのデータブロックの選択されたデータに基づいて上記現在のデータブロックを逆変換するステップを有することを特徴とする請求項１７記載の復号方法。
【請求項２１】
上記現在のデータブロックの復号及び上記時間的に隣接する少なくとも１つのデータブロックの復号を遅延させるステップを有することを特徴とする請求項１６記載の復号方法。
【請求項２２】
上記データは、２次元静止画像、ホログラム画像、３次元静止画像、映像、２次元動画像、３次元動画像、モノラル音声、Ｎチャンネル音声からなるグループから選択されることを特徴とする請求項１６記載の復号方法。
【請求項２３】
上記時間的に隣接する少なくとも１つのデータブロックは、前のデータブロック及び次のデータブロックからなるグループから選択されることを特徴とする請求項１６記載の復号方法。
【請求項２４】
上記現在のデータブロックの選択されたデータ及び上記時間的に隣接する少なくとも１つのデータブロックの選択されたデータは、シード値の生成に用いられ、上記現在のデータブロックを逆変換するステップは、該シード値を用いて実行されることを特徴とする請求項１６記載の復号方法。
【請求項２５】
上記現在のデータブロックの選択されたデータ及び上記時間的に隣接する少なくとも１つのデータブロックの選択されたデータは、シード値の生成に用いられ、該シード値は逆変換値の生成に用いられ、
上記逆変換値が０ではない場合、上記シード値を２ビット左にシフトし、該シード値の右に上記逆変換値を連結し、更新されたシード値を生成し、
上記逆変換値が０である場合、上記シード値を１ビット右にシフトして更新されたシード値を生成するステップを有することを特徴とする請求項１６記載の復号方法。
【請求項２６】
ａ）次のデータブロックを現在のデータブロックとするステップと、
ｂ）上記更新されたシード値を用いて、上記現在のデータブロックを逆変換し、該逆変換により、更新された逆変換値を生成するステップと、
ｃ）上記更新された逆変換値が０ではない場合、上記シード値を２ビット左にシフトし、該シード値の右に上記更新された逆変換値を連結して更新されたシード値を生成し、
上記更新された逆変換値が０である場合、上記シード値を１ビット右にシフトして新たな更新されたシード値を生成するステップと、
ｄ）ステップａ）、ｂ）、ｃ）を繰り返して実行し、上記データブロックを処理するステップとを有することを特徴とする請求項２５記載の復号方法。
【請求項２７】
最初のデータブロックに対して上記シード値を初期化するステップを更に有することを特徴とする請求項２５記載の復号方法。
【請求項２８】
上記逆変換するステップは、
上記現在のデータブロック及び上記時間的に隣接するデータブロックのデータを用いてシード値を定めるステップと、
上記シード値を擬似乱数生成器に入力し、変換されたデータシーケンスを生成するステップと、
上記現在のデータブロックを上記変換されたデータシーケンスにより逆変換するステップとを有することを特徴とする請求項１６記載の復号方法。
【請求項２９】
上記逆変換するステップは、
上記現在のデータブロックのデータ及び上記時間的に隣接する少なくとも１つのデータブロックのデータに基づいて、変換パターンを生成するステップと、
上記変換パターンを上記現在のデータブロックのデータに適用するステップとを有することを特徴とする請求項１６記載の復号方法。
【請求項３０】
複数の前のデータブロックの、選択され、変換されたデータを連結して逆変換値を生成し、該逆変換値を上記現在のデータブロックの逆変換に使用するステップを更に有することを特徴とする請求項１６記載の復号方法。
【請求項３１】
上記現在のデータブロックのデータは、適応ダイナミックレンジ符号化により符号化され、上記選択されたデータは、Ｑビット値、動きフラグ、最小値、最大値、中間値及びＱコードからなるグループから選択されることを特徴とする請求項１６記載の復号方法。
【請求項３２】
上記逆変換するステップは、
ビット毎の排他的論理和関数を用いて、上記現在のデータブロックをデータシーケンスに結合するステップを有することを特徴とする請求項１６記載の復号方法。
【請求項３３】
データブロックを復号する復号方法において、
現在のデータブロックのデータ及び少なくとも１つの前のデータブロックのデータに基づいて、上記現在のデータブロックを逆ランダム化するステップを有し、該現在のデータブロックのデータ及び上記少なくとも１つの前のデータブロックのデータは、シード値を定めるために用いられ、該シード値は、逆ランダム化値を生成するために用いられ、該逆ランダム化値は、上記現在のデータブロックを逆ランダム化するために用いられることを特徴とする復号方法。
【請求項３４】
上記データは、２次元静止画像、ホログラム画像、３次元静止画像、映像、２次元動画像、３次元動画像、モノラル音声、Ｎチャンネル音声からなるグループから選択されることを特徴とする請求項３３記載の復号方法。
【請求項３５】
上記逆ランダム化値が０ではない場合、上記シード値を２ビット左にシフトし、該シード値の右に上記逆ランダム化値を連結して更新されたシード値を生成し、
上記逆ランダム化値が０である場合、上記シード値を１ビット右にシフトして更新されたシード値を生成することを特徴とする請求項３３記載の復号方法。
【請求項３６】
コンピュータに、現在のデータブロックの選択されたデータと時間的に隣接する少なくとも１つのデータブロックの選択されたデータとを用いて、該現在のデータブロックを変換するステップを実行させることによりデータブロックを符号化するためのプログラムを記録したコンピュータにより読取可能な媒体。
【請求項３７】
上記現在のデータブロックの選択されたデータ及び上記時間的に隣接する少なくとも１つのデータブロックの選択されたデータは、シード値の生成に用いられ、該シード値は変換値の生成に用いられ、
上記変換値が０ではない場合、上記シード値を２ビット左にシフトし、該シード値の右に上記変換値を連結して更新されたシード値を生成し、
上記変換値が０である場合、上記シード値を１ビット右にシフトして更新されたシード値を生成することを特徴とする請求項３６記載のコンピュータにより読取可能な媒体。
【請求項３８】
上記プログラムは、
ａ）次のデータブロックを現在のデータブロックとするステップと、
ｂ）上記更新されたシード値を用いて、上記現在のデータブロックを変換し、該変換により更新された変換値を生成するステップと、
ｃ）上記更新された変換値が０ではない場合、上記シード値を２ビット左にシフトし、該シード値の右に上記更新された変換値を連結して更新されたシード値を生成し、
上記更新された変換値が０である場合、上記シード値を１ビット右にシフトして新たな更新されたシード値を生成するステップと、
ｄ）ステップａ）、ｂ）、ｃ）を繰り返して実行し、上記データブロックを処理するステップとを更に有することを特徴とする請求項３７記載のコンピュータにより読取可能な媒体。
【請求項３９】
コンピュータに、現在のデータブロックの選択されたデータと時間的に隣接する少なくとも１つのデータブロックの選択されたデータとを用いて該現在のデータブロックを逆変換するステップを実行させることによりデータブロックを復号するためのプログラムを記録したコンピュータにより読取可能な媒体。
【請求項４０】
上記逆変換するステップは、
上記現在のデータブロックのデータが完全か否かを判定し、
上記データが完全である場合、上記時間的に隣接する少なくとも１つのデータブロックを復号し、
上記データが完全でない場合、上記現在のデータブロックの信頼度メトリックを算出するステップを有することを特徴とする請求項３９記載のコンピュータにより読取可能な媒体。
【請求項４１】
上記算出するステップは、
上記現在のデータブロックの選択されたデータ及び上記時間的に隣接する少なくとも１つのデータブロックの選択されたデータに基づいて、該現在のデータブロックの候補逆変換データを選択するステップと、
上記候補変換データに基づいて、上記現在のデータブロックの信頼度メトリックを算出するステップとを更に有することを特徴とする請求項４０記載のコンピュータにより読取可能な媒体。
【請求項４２】
上記選択するステップは、
上記現在のデータブロックの選択されたデータ及び上記時間的に隣接する少なくとも１つのデータブロックの選択されたデータに基づいて、候補逆変換値の組を算出するステップと、
上記候補逆変換値の組のそれぞれに基づいて、上記現在のデータブロックを逆変換することにより、逆変換データの組を生成するステップと、
それぞれが上記逆変換データの組のうちの１つに対応する相関値の組を算出するステップと、
上記相関値の組に基づいて、上記現在のデータブロックの上記候補逆変換データを選択するステップとを有することを特徴とする請求項４１記載のコンピュータにより読取可能な媒体。
【請求項４３】
上記信頼度メトリックが閾値未満である場合、上記時間的に隣接する少なくとも１つのデータブロックの代わりの逆変換データを選択し、上記現在のデータブロックの選択されたデータと、上記時間的に隣接する少なくとも１つのデータブロックの代わりの逆変換が選択されたデータとに基づいて、上記現在のデータブロックを再び逆変換し、
上記信頼度メトリックが閾値以上である場合、上記候補逆変換データ及び上記時間的に隣接する少なくとも１つのデータブロックの選択されたデータに基づいて上記現在のデータブロックを逆変換することを特徴とする請求項４０記載のコンピュータにより読取可能な媒体。
【請求項４４】
上記現在のデータブロックの復号及び上記時間的に隣接する少なくとも１つのデータブロックの復号を遅延させることを特徴とする請求項３９記載のコンピュータにより読取可能な媒体。
【請求項４５】
上記現在のデータブロックの選択されたデータ及び上記時間的に隣接する少なくとも１つのデータブロックの選択されたデータは、シード値の生成に用いられ、該シード値は逆変換値の生成に用いられ、
上記逆変換値が０ではない場合、上記シード値を２ビット左にシフトし、該シード値の右に上記逆変換値を連結して更新されたシード値を生成し、
上記逆変換値が０である場合、上記シード値を１ビット右にシフトして更新されたシード値を生成することを特徴とする請求項３９記載のコンピュータにより読取可能な媒体。
【請求項４６】
上記プログラムは、
ａ）次のデータブロックを現在のデータブロックとするステップと、
ｂ）上記更新されたシード値を用いて上記現在のデータブロックを逆変換し、該逆変換により更新された逆変換値を生成するステップと、
ｃ）上記更新された逆変換値が０ではない場合、上記シード値を２ビット左にシフトし、該シード値の右に上記更新された逆変換値を連結して更新されたシード値を生成し、
上記更新された逆変換値が０である場合、上記シード値を１ビット右にシフトして新たな更新されたシード値を生成するステップと、
ｄ）ステップａ）、ｂ）、ｃ）を繰り返して実行し、上記データブロックを処理するステップとを有することを特徴とする請求項４５記載のコンピュータにより読取可能な媒体。
【請求項４７】
データブロックを符号化する符号化装置において、
現在のデータブロックのデータ及び時間的に隣接する少なくとも１つのデータブロックのデータに基づいて、変換パターンを生成する変換パターン生成手段と、
上記変換パターンに基づいて現在のデータブロックを変換する変換手段とを備える符号化装置。
【請求項４８】
データブロックを符号化する符号化装置において、
現在のデータブロックのデータ及び少なくとも１つの前のデータブロックのデータに基づいて、変換パターンを生成する変換パターン生成手段と、
上記変換パターンに基づいて上記現在のデータブロックを変換する変換手段とを備える符号化装置。
【請求項４９】
データブロックを復号する復号装置において、
現在のデータブロックの選択されたデータと時間的に隣接する少なくとも１つのデータブロックの選択されたデータに基づいて、上記現在のデータブロックの逆変換パターンを生成する逆変換パターン生成手段と、
上記逆変換パターンに基づいて、上記現在のデータブロックを逆変換する逆変換手段とを備える復号装置。
【請求項５０】
上記逆変換手段は、上記現在のデータブロックのデータが完全であるか否かを判定する判定手段と、
上記データが完全である場合、上記時間的に隣接する少なくとも１つのデータブロックを復号する復号手段と、
上記データが完全でない場合、上記現在のデータブロックの信頼度メトリックを算出する算出手段とを更に備えることを特徴とする請求項４９記載の復号装置。
【請求項５１】
上記現在のデータブロックの復号及び上記時間的に隣接する少なくとも１つのデータブロックの復号を遅延させる遅延手段を更に備えることを特徴とする請求項４９記載の復号装置。
【請求項５２】
上記逆変換手段は、
上記現在のデータブロックのデータ及び上記時間的に隣接する少なくとも１つのデータブロックのデータに基づいて、変換パターンを生成する変換パターン生成手段と、
上記変換パターンを上記現在のデータブロックに適用する適用手段とを備えることを特徴とする請求項４９記載の復号装置。
【請求項５３】
データブロックを符号化する符号化装置において、
現在のデータブロックのデータ及び時間的に隣接する少なくとも１つのデータブロックのデータにより定義された変換値と、
上記変換値を受け取り、該変換値を変換するランダム化論理回路を備える符号化装置。
【請求項５４】
上記データは、２次元静止画像、ホログラム画像、３次元静止画像、映像、２次元動画像、３次元動画像、モノラル音声、Ｎチャンネル音声からなるグループから選択されることを特徴とする請求項５３記載の符号化装置。
【請求項５５】
上記時間的に隣接する少なくとも１つのデータブロックは、前のデータブロック及び次のデータブロックからなるグループから選択されることを特徴とする請求項５３記載の符号化装置。
【請求項５６】
上記現在のデータブロックの選択されたデータ及び上記時間的に隣接する少なくとも１つのデータブロックの選択されたデータは、シード値の生成に用いられ、上記ランダム化論理回路は、該シード値を用いて上記現在のデータブロックを変換することを特徴とする請求項５３記載の符号化装置。
【請求項５７】
上記現在のデータブロック及び上記時間的に隣接する少なくとも１つのデータブロックのデータにより定義されたシード値を備え、上記ランダム化論理回路は、該シード値を受け取りランダム化されたデータシーケンスを生成し、該ランダム化論理回路は、該ランダム化されたデータシーケンスを用いて、上記現在のデータブロックを変換することを特徴とする請求項５３記載の符号化装置。
【請求項５８】
上記ランダム化論理回路は、
前の複数のデータブロックの選択され、変換されたデータを連結して変換値を生成する連結論理回路を備え、該変換値を上記現在のデータブロックの変換に使用することを特徴とする請求項５３記載の符号化装置。
【請求項５９】
上記現在のデータブロックのデータは、適応ダイナミックレンジ符号化により符号化され、上記選択されたデータは、Ｑビット値、動きフラグ、最小値、最大値、中間値及びＱコードからなるグループから選択されることを特徴とする請求項５３記載の符号化装置。
【請求項６０】
上記ランダム化論理回路は、
少なくとも１つの特定用途向け集積回路、少なくとも１つの大規模集積回路コンポーネント、及び少なくとも１つのプロセッサコンポーネントからなるグループから選択されるハードウェアにより構成されていることを特徴とする請求項５３記載の符号化装置。
【請求項６１】
データブロックを復号する復号装置において、
現在のデータブロックの選択されたデータ及び時間的に隣接する少なくとも１つのデータブロックの選択されたデータにより定義された逆変換値と、
上記逆変換値を受け取り、該逆変換値を逆変換する逆ランダム化論理回路とを備える復号装置。
【請求項６２】
上記逆ランダム化論理回路は、上記現在のデータブロックの復号及び上記時間的に隣接する少なくとも１つのデータブロックの復号を遅延させる遅延論理回路を更に備えることを特徴とする請求項６１記載の復号装置。
【請求項６３】
上記データは、２次元静止画像、ホログラム画像、３次元静止画像、映像、２次元動画像、３次元動画像、モノラル音声、Ｎチャンネル音声からなるグループから選択されることを特徴とする請求項６１記載の復号装置。
【請求項６４】
上記時間的に隣接する少なくとも１つのデータブロックは、前のデータブロック及び次のデータブロックからなるグループから選択されることを特徴とする請求項６１記載の復号装置。
【請求項６５】
上記現在のデータブロックの選択されたデータ及び上記時間的に隣接する少なくとも１つのデータブロックの選択されたデータは、シード値の生成に用いられ、上記逆ランダム化論理回路は、該シード値を用いて上記現在のデータブロックを逆変換することを特徴とする請求項６１記載の復号装置。
【請求項６６】
上記逆ランダム化論理回路は、
少なくとも１つの特定用途向け集積回路、少なくとも１つの大規模集積回路コンポーネント、及び少なくとも１つのプロセッサコンポーネントからなるグループから選択されるハードウェアにより構成されていることを特徴とする請求項６１記載の復号装置。
【発明の詳細な説明】
【０００１】
本発明の背景技術
１．本発明の技術分野
本発明は、信号の伝送中に生じるデータの欠落に対するロバストエラー回復（robust error recovery）に関する。詳しくは、本発明は、ロバストエラー回復を実現するための、データの時間変化ランダム化（time-varying randomization）に関する。
【０００２】
２．技術背景
信号の伝送又は記録において生じるランダムエラーのために欠落したデータを再構成するための様々な技術が提案されている。しかしながら、これらの提案されている技術は、連続するパケットデータの欠落を取り扱うものではない。連続するパケットデータの欠落は、当分野においては、バーストエラーと呼ばれている。バーストエラーが発生すると、再生される信号には、ユーザが容易に認識できるほどの明らかな劣化が生じる。さらに、高速通信を実現するための圧縮技術は、バーストエラーが信号に与える影響を大きくし、このため、再生された信号の劣化の度合いを大きくする。伝送され及び／又は記録された信号に影響を与えるバーストエラーは、例えば高精細度テレビジョン（high definition television：以下、ＨＤＴＶという。）信号、移動通信アプリケーション、ビデオディスク及びビデオカセットレコーダを含むビデオ記録技術等において観察される。
【０００３】
例えば、ＨＤＴＶの出現により、全国テレビジョン方式委員会(National Television System Committee：ＮＴＳＣ)により提唱されている現在の標準より高い解像度を有するテレビジョンシステムが登場した。提案されているＨＤＴＶ信号は、主にデジタル信号である。これに応じて、カラーテレビジョン信号をデジタル信号に変換するには、８ビットを使用して輝度信号及び色差信号をデジタル化するのが一般的である。ＮＴＳＣカラーテレビジョン信号をデジタル的に伝送するには、計算上、約２１６Ｍビット／秒のビットレートが必要となる。ＨＤＴＶの場合は、これより更に高い、約１２００Ｍビット／秒の伝送レートが必要となる。このような高い伝送レートは、現在の無線標準技術によりサポートされている帯域幅では対応できないことが多い。したがって、効率的な圧縮技術が必要となる。
【０００４】
圧縮技術は、移動通信アプリケーションにおいても重要な役割を果たしている。移動通信アプリケーションにおいては、リモート端末装置間でデータパケットが送受信される。移動通信における伝送チャンネルの数は限られているため、パケットを伝送する前に効率的にデータを圧縮する圧縮技術が必要である。高い伝送レートを実現するために、様々な圧縮技術が提案されている。
【０００５】
例えば、適応ダイナミックレンジ符号化（Adaptive Dynamic Range Coding：以下、ＡＤＲＣという。）及び離散コサイン変換（Discrete Cosine Transform：以下、ＤＣＴという。）により画像データを圧縮する手法が知られている。いずれの技術も画像内の局所的な相関関係（local correlation）を利用して、高い圧縮率を実現するものである。しかしながら、効率的な圧縮アルゴリズムでは、符号化された信号におけるエラーが復号されたときに顕著となり、エラーが伝播するという問題がある。このようなエラーの増殖により、ビデオ画像がユーザにとって明らかなほどに劣化してしまうことがある。
【０００６】
発明の開示
本発明は、データを符号化し、後に行われる欠落又は破損した符号化データの回復を最大限向上させる符号化装置及び符号化方法を提供する。一実施の形態において、現在のデータブロックの選択されたデータと時間的に隣接する少なくとも１つのデータブロックの選択されたデータを用いて現在のデータブロックをランダム化する。一実施の形態において、ランダム化されたデータは、現在のデータブロック及び時間的に隣接する少なくとも１つのデータブロックとを用いて、逆ランダム化される。さらに、一実施の形態において、現在のデータブロック及び隣接するデータブロックの復号は遅延され、これにより符号化データの欠落又は破損した圧縮パラメータの回復を実現する。
【０００７】
発明の実施の形態
本発明は、ロバストエラー回復（robust error recovery）を実現するための信号ストリームの時間変化ランダム化を行う装置及び方法を提供する。さらに、本発明は、ランダム化された信号の時間変化逆ランダム化（time-varying derandomization）及び信号ストリームに対する交互遅延復号（alternately delayed-decoding）を行う装置及び方法を提供する。以下では、本発明を明瞭にするために、説明を目的として、多くの詳細事項について記述する。しかしながら、これらの詳細事項は、本発明を実施するための必要条件ではないことは、当業者にとって明らかである。また、本発明を不必要に不明瞭しないために、データブロック図には周知の電気的構造及び回路を示す。
【０００８】
以下に示す実施の形態では、適応ダイナミックレンジ符号化（Adaptive Dynamic Range Coding：以下、ＡＤＲＣという。）により符号化された画像について、特にダイナミックレンジ（ＤＲ）及び最小値（ＭＩＮ）等の欠落又は破損した圧縮定数（以下、欠落／破損圧縮定数と呼ぶ。）の回復について説明する。なお、本発明はＡＤＲＣ符号化及び生成される特定の圧縮定数に限定されるものではない。本発明は、実施の形態に示すものとは異なる圧縮技術及び異なる種類の相関データ、例えば音声データに適用することもでき、さらに、ＡＤＲＣ処理において使用できる最大値（ＭＡＸ）及び中間値（ＣＥＮ）等、実施の形態に示すものとは異なる異なる圧縮定数に適用することもできる。さらに、本発明は、エッジ整合形（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）：
【０００９】
【数１】
2003503915.tif 000001
【００１０】
エッジ整合形ＡＤＲＣ（Edge-matching ADRC）：
【００１１】
【数２】
2003503915.tif 000002
【００１２】
複数段ＡＤＲＣ（Multi-stage ADRC）：
【００１３】
【数３】
2003503915.tif 000003
【００１４】
ここで、ＭＡＸはデータブロックの最大レベルを表し、ＭＩＮはデータブロックの最小のレベルを表し、ｘは、各サンプルの信号レベルを表し、Ｑは量子化ビット数を表し、ｑは量子化コード（符号化されたデータ）を表し、ｘ’は、各サンプルの復号レベルを表し、［・］は角括弧内の値に対する丸め処理（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）の成分に関連するパラメータを記述する。
【００２８】
Ｑビット値をＦＬデータに含めないことにより、各ＡＤＲＣブロックについて、追加的なビットを送信する必要がないという利点がある。しかしながら、Ｑビット値をＦＬデータに含めないことにより、伝送又は記録においてＤＲが欠落又は破損した場合、Ｑコードを容易に回復できないという問題がある。ＡＤＲＣデコーダは、ＤＲ情報に頼ることなく、データブロックの量子化に何ビットが使用されているかを判定しなくてはならない。
【００２９】
ここで、一実施の形態においては、ＶＬデータの時間変化ランダム化により、Ｑビット値を間接的に送信することができる。一実施の形態においては、現在のデータブロックのＱビット値は、前の複数のデータブロックのＱビット値とともに、擬似乱数発生器（pseudorandom number generator：以下、ＰＮＧという。）用のランダム化値又はシード値（seed value）として使用することができる。一実施の形態においては、３つの前のＱビット値を使用する。なお、時間的に隣接する（前のものであっても次のものであってもよい。）いかなる数の値を用いてシード値を生成してもよい。ここでは、説明のため、時間的に隣接するという表現は、いかなる前の又は次のデータブロックも含むものとする。
【００３０】
一実施の形態において、各連続するＱビット値は、現在のシード値の右に結合される。ＰＮＧは、１つのシード値に対して統計的に固有の擬似乱数シーケンスを生成し、同じシード値を適用すると、同じ統計的に固有のシーケンスを生成する。この擬似乱数シーケンスは、ＶＬデータの変換（transform）に使用できる。他の実施の形態においては、ＦＬデータを変換してもよく、あるいはＶＬデータ及びＦＬデータの両方を変換してもよい。一実施の形態においては、ＶＬデータの変換Ｔは、ビット毎にＸＯＲ（排他的論理和）関数を擬似乱数シーケンス（ｙ）及びＶＬデータ（ｘ）に適用することにより行われる。この処理は、以下の式により表すことができる。
【００３１】
【数４】
2003503915.tif 000004
【００３２】
この実施の形態においては、逆変換処理は、元の順方向の変換と正確に同じであるため、ビット毎のＸＯＲ関数が使用される。この処理は、以下の式により表すことができる。
【００３３】
【数５】
2003503915.tif 000005
【００３４】
他の実施の形態においては、統計的に固有なシーケンスを生成するために、様々な変換の組を使用してもよい。例えば、予め定義されたシーケンスのテーブルを使用してもよい。
【００３５】
一実施の形態においては、同様の処理を用いて、現在のデータブロックのＤＲからＱビット値を復号することもできる。ＤＲが破損することなく受信されれば、Ｑビット値は、Ｑコードの符号化に使用した閾値テーブルを用いて判定することができる。ＰＮＧは、ＤＲを用いてテーブル内のＱビット値を検索し、Ｑビット値をシード値として使用して擬似乱数シーケンスを生成する。デコーダは、ビット毎のＸＯＲ関数を擬似乱数シーケンス及びランダム化されたＶＬデータに適用することによりランダム化されたＶＬデータを変換し、元のランダム化されていないＶＬデータを生成する。この実施の形態においては、同じＰＮＧ及びシード値を使用しているため、同じ擬似ランダムシーケンスが生成される。
【００３６】
一実施の形態において、ＤＲが欠落又は破損した場合、デコーダは、全ての可能なＱビット値及び関連する可能なシード値を用いて、データブロックの復号を試みる。各候補復号には、局所的な相関メトリック（local correlation metric）が適用され、このデータブロックに対する信頼度メトリック（confidence metric）が算出される。
【００３７】
この実施の形態においては、デコーダは、逆量子化処理を４ブロック遅延させる遅延判定デコーダ（delayed-decision decoder）として機能する。一実施の形態において、デコーダは、連続する４つのメトリックの信頼度が低いと判定したときには、これに基づいて、最も古いデータブロックの復号が正しくなかったと判断することもある。この場合、デコーダは最も古いデータブロック用の候補シード値を返し、最も古いデータブロックに対して、次に尤度の高い復号処理を試みる。次に、デコーダは、このシード値に基づく第２の推定に基づいて、直近の３つのデータブロックに対して再び逆ランダム化を施す。この処理は、デコーダが最も近いデータブロックの信頼度メトリックが最大となる４つの復号データブロックのシーケンスを生成するまで繰り返し実行される。
【００３８】
このように、この実施の形態では、Ｑビット値は、時間変化ランダム化により間接的に送信される。他の実施の形態として、いかなるデータを間接的に送信してもよい。例えば、動きフラグ又はＱビット値及び動きフラグの組み合わせを用いて擬似ランダムシーケンスを生成し、上述のようにして送信してもよい。
【００３９】
信号ストリームの符号化、並べ替え（arranging）及び時間変化ランダム化によりロバストエラー回復を実現する回路の実施の形態をＦＩＧ．１Ｄに示す。時間変化ＶＬデータランダム化論理回路１４４は、入力信号を受け取り、符号化及びシャッフルされたデータからランダム化されたＱコードを生成する。時間変化ＶＬデータランダム化論理回路１４４の出力信号は、後述するように、更に符号化される。
【００４０】
ＦＩＧ．１ｅは、欠落又は破損したＤＲ値を回復するための回路の実施の形態を示す図である。時間変化ＶＬデータ逆ランダム化論理回路１５０は、入力信号を受け取り、入力されたビットストリームのＱコードを逆ランダム化し、欠落又は破損したダイナミックレンジ定数を回復する。時間変化ＶＬデータ逆ランダム化論理回路１５０の出力信号は、後述するように、更に復号され、逆シャッフルされる。
【００４１】
フレーム、ブロック属性及びＶＬデータは、ビデオ信号内の様々な成分を記述する。これらの成分の境界、位置及び量は、ビデオ信号の伝送及び圧縮特性に基づいて決定される。一実施の形態においては、これらの成分は、ビデオ信号のビットストリーム内で変更され、シャッフルされ、ランダム化され、これにより伝送中のデータ欠落に対するロバストエラー回復を確実に行うことができる。
【００４２】
説明のため、以下では、ビデオ信号のＡＤＲＣ符号化及びシャッフル処理に準じて、許容できる連続パケット伝送欠落を１／６とする。したがって、以下に示す成分の定義及び分割は、一実施の形態に対応する例示的なものにすぎない。この他の実施の形態を想到することもできる。データセットは、ビデオ又は他の種類のデータ信号のデータの一区画（partition）を含んでいてもよい。すなわち、一実施の形態において、フレームセットは、連続する１以上のフレームを含むデータセットであってもよい。セグメントは、１つのフレームセットに含まれるＱコード及びブロック属性の１／６に分割された部分を格納する容量を有するメモリを備えていてもよい。さらに、バッファは、１つのフレームセットに含まれるＱコード及びブロック属性の１／１６に分割された部分を格納する容量を有するメモリを有していてもよい。データのシャッフル処理は、セグメント及び／又はバッファ内の成分を交換することにより実行できる。続いて、セグメントに格納されたデータを用いて伝送用のデータパケットを生成する。したがって、伝送中にセグメントが欠落すると、そのセグメントから生成された全てのパケットが欠落する。同様に、伝送中にセグメントの一部が欠落すると、そのセグメントから生成されたパケットのうち対応する数のパケットが欠落する。
【００４３】
以下では、ＡＤＲＣ符号化されたデータにおける１／６連続パケット欠落について説明するが、ここに説明する方法及び装置は、様々な符号化／復号方式に結びつけられた１／ｎ連続パケットの欠落を許容する設計に適用することができる。
【００４４】
ＦＩＧ．２は、ポイントトゥポイント（point-to-point）接続又はネットワークを介してデータを伝送するために用いられるパケット構造２００の実施の形態を示す。パケット構造２００は、エンコーダ１１０により生成され、伝送媒体１３５を介して伝送される。一実施の形態においては、パケット構造２００は、５バイトのヘッダ情報と、８ビットのＤＲと、８ビットのＭＩＮと、動きフラグと、５ビットの閾値インデックスと、３５４ビットのＱコードとを有する。他の実施の形態において、ＭＩＮビットはＣＥＮビットに置き換えてもよい。ここに示すパケット構造２００は、パケット構造の一例であり、ネットワークの非同期伝送モード（asynchronous transfer mode：ＡＴＭ）による伝送に適応するように構成されたものである。なお、本発明は、このようなパケット構造に限定されるものではなく、様々なネットワークにおける種々のパケット構造に適用できるものである。
【００４５】
上述のように、伝送媒体（例えば、媒体１３５）は、エラーフリーの伝送媒体とみなすことはできず、したがってパケットは欠落又は破損する畏れがある。上述のとおり、従来よりこのような欠落や破損を検出する手法が提案されているが、通常、実質的には、画質の劣化は避けられなかった。本発明に基づく装置及び方法は、ソース符号化により、このような欠落又は破損に対するロバストエラー回復を提供する。以下の説明においては、連続する複数のパケットの欠落であるバースト欠落が最も発生する可能性の高いエラーであると仮定するが、ランダムパケット欠落も発生する可能性がある。
【００４６】
連続する１以上のパケットのデータを確実且つ強力に回復するために、本発明に基づく装置及び方法は、複数レベルのシャッフリングを行う。特に、伝送パケットに含まれるＦＬデータ及びＶＬデータは、ある画像の空間的及び時間的に離間した位置にあるデータを含んでいる。データのシャッフリングにより、いかなるバーストエラーも分散され、これによりエラー回復が容易となる。後述するように、シャッフリングによりブロック属性とＱビット値を回復することができる。
【００４７】
データ符号化／復号
ＦＩＧ．３は、エンコーダ１１０により実行される符号化処理の一実施の形態を説明するフローチャートである。また、ＦＩＧ．３は、画像の劣化を防止し、ロバストエラー回復を容易にするためのシャッフリングの概要を示す図でもある。
【００４８】
ＦＩＧ．３におけるステップ１において、表示成分とも呼ばれる入力フレームセットに対し、伝送量を削減するための間引きを行う。Ｙ信号については、水平方向に元の幅から３／４となるよう間引きし、Ｕ信号及びＶ信号については、それぞれ元の高さ及び元の幅から１／２となるよう間引きする。これにより、各フレーム対が３９６０Ｙブロック、６６０Ｕブロック、６６０Ｖブロックを有する３：１：０のビデオフォーマットが形成される。上述のように、ここではＹ信号の処理に関する説明を行うが、この処理はＵ信号及びＹ信号についても適用される。ステップ２において、２つのＹフレーム画像を３Ｄブロックにマッピングする。ステップ３において、３Ｄブロックをシャッフリングする。ステップ４において、ＡＤＲＣバッファリング及び符号化を行う。ステップ５において、符号化されたＹブロック、Ｕブロック、Ｖブロックをバッファ内でシャッフリングする。
【００４９】
ステップ６において、符号化された３Ｄブロックのグループ用のＶＬデータと、これに対応するブロック属性をシャッフリングする。ステップ７において、ＦＬデータを異なるセグメントに亘ってシャッフリングする。ステップ８において、ポストアンブルを付加し、すなわちバッファ端の可変領域が所定のビットストリームにより充足される。ステップ９において、ＶＬデータを異なるセグメントに亘ってシャッフリングする。
【００５０】
以下では、符号化処理の前及び後の画素データの処理を例に本発明に基づくシャッフリングの方法を説明する。他の実施の形態として、ハードウェアにより独立したデータ値のシャッフリング及びデシャッフリングを行ってもよい。特に、ハードウェアは、ブロック値のアドレスを異なるアドレスにマッピングすることによりシャッフリング／デシャッフリングを実現する。しかしながら、シャッフリングは、データ処理の後に行う必要があるため、アドレスマッピングは、データに従属する値に対しては行うことができない。一方、後述するグループ内ＶＬデータシャッフリングは、データに従属する値に対しても行うことができる。さらに、本発明を説明する一例として、以下に示すシャッフリングは、離散的なデータセットに対して行われる。しかしながら、他の実施の形態においては、信号は、ビットから画素及びフレームまでの複数のデータレベルに基づいて定義される。シャッフリングは、信号内で定義される各レベルにおいて、及び信号内の異なるレベル間でも行うことができる。
【００５１】
ＦＩＧ．４は、デコーダ１２０により実行される復号処理の例を説明するフローチャートである。変換処理及びデシャッフリングは、ＦＩＧ．３に示す処理と逆の処理であってもよい。しかしながら、一実施の形態において、時間変化逆ランダム化及び遅延判定復号をステップ４３５において実行してもよい。
【００５２】
画像−ブロックマッピング
この実施の形態において、１つのフレームは、通常５２８０個の２Ｄブロックを含み、各２Ｄブロックは、６４画素からなる。第１のフレームに基づく２Ｄブロックとそれに続くフレームの２Ｄブロックが結合されて３Ｄブロックが形成されるため、フレーム対は５２８０個の３Ｄブロックから構成される。
【００５３】
画像−ブロックマッピングは、フレーム又はフレームセットのデータをそれぞれ２Ｄブロック又は３Ｄブロックに分割する目的で行われる。さらに、画像−ブロックマッピングは、相補的パターン及び／又は連鎖的（interlocking）パターンを用いてフレーム内の画素を分割し、これにより伝送時のデータ欠落に対するロバストエラー回復が実現される。しかしながら、与えられたＤＲ値が過大になってしまう可能性を低減するために、各２Ｄブロックは、局所的な範囲の画素から構成する。
【００５４】
ＦＩＧ．５は、例示的に示す画像の１６画素セクションに対する画像−ブロック変換処理の実施の形態を示す図である。画像５００は、単一のフレームの局所的な領域を形成する１６個の画素からなる。画像５００内の各画素は、輝度により示される。この実施の形態では、画像５００の最上列左端の画素の輝度は１００であり、最下列右端の画素の輝度は１０である。
【００５５】
この実施の形態においては、画像５００内の異なる領域における画素を用いて、２Ｄブロック５１０、５２０、５３０、５４０を生成する。２Ｄブロック５１０、５２０、５３０、５４０は、符号化され、（後述するように）シャッフリングされ、伝送される。この伝送処理の後、２Ｄブロック５１０、５２０、５３０、５４０は再結合され、画像５５０が形成される。画像５５０は、画像５００を再構築したものである。
【００５６】
発生する可能性のある伝送欠落に関わらず、画像５００を正確に再生するために、ＦＩＧ．５に示す実施の形態では、連結相補ブロック構造（interlocking complementary block structure）を用いる。特に、２Ｄブロック５１０、５２０、５３０、５４０を生成するための画素を選択することにより、画像５５０を再構築する際に、相補的及び／又は連結パターンは、データブロックの再結合に用いられる。したがって、特定のブロック属性が伝送中に欠落しても、再構築された画像５５０においてエラーは隣接しない。
【００５７】
例えば、ＦＩＧ．５において、２Ｄブロック５４０のＤＲが伝送中に欠落したとする。ここで、デコーダは隣り合うデータブロックの隣り合う複数の画素を利用し、２Ｄブロック５４０の失われたＤＲを回復することができる。また、後述するように、相補的パターン及びシフティング（shifting）を用いることにより、隣り合う画素が増加し、例えば他のブロックに隣り合う画素の数を最大化し、これによりＤＲ及びＭＩＮの回復の可能性を大幅に向上させることができる。
【００５８】
ＦＩＧ．５ａは、画像−ブロック変換処理の一実施の形態において、２Ｄブロックを形成するために用いられるシャッフリングパターンの例を示す図である。ここでは、画素を交互に抜き取ることにより１つの画像を２つのサブ画像、すなわちサブ画像５６０とサブ画像５７０に分割する。サブ画像５６０内の長方形の区切りは、２Ｄブロックの境界線を示す。説明のため、２Ｄブロックに０，２，４，７，９，１１，１２，１４，１６，１９，２１，２３といった番号を付す。タイル５６５は、サブ画像５６０内の２Ｄブロックの画素分布を示す。
【００５９】
サブ画像５７０においては、２Ｄブロックの割り当ては水平方向に８画素分、及び垂直方向に４画素分シフトされている。これにより、再構築処理においてサブ画像５６０とサブ画像５７０とが結合されると、割り当てられた２Ｄブロックが包み込まれ、重なり合う。２Ｄブロックは、１，３，５，６，８，１０，１３，１５，１７，１８，２０，２２と番号付けされている。タイル５７５は、サブ画像５７０内の２Ｄブロックの画素分布を示す。タイル５７５は、タイル５６５に対する相補構造を有している。したがって、特定のブロック属性が伝送中に欠落した場合、失われた２Ｄブロックのブロック属性を回復することができる隣り合う画素が存在することとなる。さらに、同様なブロック属性のセットを有する重なり合う２Ｄブロックが存在する。したがって、画像の再構築の過程において、デコーダは、隣り合う２Ｄブロックから隣り合う複数の画素を取得し、これにより失われたブロック属性を回復することができる。
【００６０】
ＦＩＧ．６は、他の相補的及び連結２Ｄブロックの構造例を示す図である。これら以外の構造を用いてもよい。ＦＩＧ．５と同様に、ＦＩＧ．６に示す２Ｄブロック構造によっても、任意の２Ｄブロックに伝送欠落が生じても、周囲の２Ｄブロックの存在が保証される。なお、パターン６１０ａ、６１０ｂ、６１０ｄでは、画素を次の２Ｄブロックにマッピングする際、水平シフト及び／又は垂直シフトを行う。水平シフトとは、新たな２Ｄブロック境界が始まる前に、タイル構造を水平方向に所定画素数分シフトすることを意味する。垂直シフトとは、新たな２Ｄブロック境界が始まる前に、タイル構造を垂直方向に所定画素数分シフトすることを意味する。アプリケーションに応じて、水平シフトのみを行ってもよく、垂直シフトのみを行ってもよく、水平シフト及び垂直シフトを組み合わせて行ってもよい。
【００６１】
パターン６１０ａは、画像−ブロック変換に用いる渦巻状パターンを示す。渦巻状パターンでは、画像−ブロック変換処理において次の２Ｄブロックを生成する際に水平シフトを行う。パターン６１０ｂ及びパターン６１０ｄは、相補的パターンであり、画像−ブロックマッピング処理において、次の２Ｄブロックを生成するために、水平シフト及び垂直シフトにより画素が選択される。さらに、パターン６１０ｂ及びパターン６１０ｄは、２つの２Ｄブロック間の画素選択において交互にオフセットを設けた例である。パターン６１０ｃは、画像−ブロック変換処理のための２Ｄブロックを構成する画素を不規則にサンプリングした例を示す。すなわち、画素が２Ｄブロックに対して一度だけマッピングされるならば、画像−ブロックマッピングにはいかなるマッピング構造を用いてもよい。
【００６２】
ＦＩＧ．５、ＦＩＧ．５ａ、ＦＩＧ．６は、２Ｄブロックを生成するための画像−ブロックマッピングを示すものである。この処理は、３Ｄブロックに対しても適用できることは明らかである。上述のように、３Ｄブロックの生成は、２Ｄブロックと同様の境界定義を用いるが、３Ｄブロックの生成では、境界分割は、３Ｄブロックを構成する次のフレームに亘って拡張される。すなわち、３Ｄブロックは、第１のフレーム内の２Ｄブロックを定義するために用いる画素と、次のフレーム内の２Ｄブロックの画素とを結合して生成される。一実施の形態においては、第１のフレームにおける２Ｄブロックの画素と、次のフレームにおける２Ｄブロックの画素とは、同一の位置から抽出される。
【００６３】
フレームセット内ブロックシャッフリング
任意の画像の画素値は、局所的な領域において緊密な関係を有する。一方、同一画像内の離れた領域にある画素は、大きく異なる値を有している可能性がある。したがって、任意の画像のある部分において空間的に隣接する２Ｄブロック又は３Ｄブロックを連続して符号化した場合、ＤＲ及びＭＩＮは近い値を有し、画像の離れた部分のＤＲ及びＭＩＮは大きく異なる値を有するものとなる。したがって、画像において空間的に隣接する２Ｄブロック又は３Ｄブロックを符号化して得られたデータを連続的にバッファに格納した場合、バッファ空間の使用率に不均衡が生じる。フレームセット内のブロックシャッフリングは、ＡＤＲＣ符号化に先立って行われ、画像−ブロックマッピング処理により生成された２Ｄブロック又は３Ｄブロックのシャッフリングを行う。このシャッフリングにより、後段のＡＤＲＣ符号化において、バッファを均等に使用することが保証される。
【００６４】
ＦＩＧ．７ａ〜ＦＩＧ．７ｄは、３Ｄ−Ｙブロックのシャッフリングの実施の形態を示すものである。ＦＩＧ．７ａ〜ＦＩＧ．７ｄ内の３Ｄ−Ｙブロックは、Ｙ信号のみを有するフレーム対に上述の画像−ブロックマッピング処理を施して得られるものである。３Ｄ−Ｙブロックは、シャッフリングされ、これにより符号化されたフレーム対を格納するバッファには、そのフレーム対の異なる部分に対応する３Ｄ−Ｙブロックが含まれるようになる。これによりＡＤＲＣ符号化処理におけるＤＲ分布の均一化が促される。各バッファのＤＲ分布が均一化されることによりバッファを均等に利用することができる。
【００６５】
ＦＩＧ．７ａ〜ＦＩＧ．７ｄは、物理的に離れた３Ｄブロックのシャッフリングを示す図でもある。これにより連続するパケットに伝送欠落が生じても、欠落するブロック属性は、画像内の特定の領域に集中することなく、画像全体に分散される。
【００６６】
ブロックシャッフリングは、小規模、中規模及び大規模のバースト的パケット欠落のいずれが生じても、欠落するブロック属性が広範囲に分散されるように設計されている。この実施の形態においては、小規模なバースト欠落とは、数個のパケットの欠落を意味し、中規模のバースト欠落とは、１バッファ分の欠落を意味し、大規模な欠落とは１セグメント分の欠落を意味するものとする。ブロックシャッフリングにおいては、画像内の比較的離れた部分から、隣り合う３つのデータブロックを選択する。したがって、次のグループ内ＶＬデータシャッフリング（後に詳細に説明する）において、各グループは互いに異なる静的特性を有する３Ｄブロックから構成される。ブロック属性の欠落を分散させることにより、破損した３Ｄブロックの周囲には破損していない３Ｄブロックが残り、これら破損していない３Ｄブロックにより欠落したデータを回復することができるため、ロバストエラー回復を実現することができる。
【００６７】
ＦＩＧ．７ａは、水平方向に６６個の３Ｄ−Ｙブロックを有し、垂直方向に６０個の３Ｄ−Ｙブロックを有するフレーム対を示す。これら３Ｄ−Ｙブロックは、セグメント０〜５に割り当てられている。図に示すように、３Ｄ−Ｙブロックの割り当ては、２×３の枠を設け、各枠内の各３Ｄ−Ｙブロックが各セグメントに対応するように割り当てる。ここで、さらなるシャッフリングを行わず、最初の８８０個のパケットにバーストエラーが生じたとすると、セグメント０に対応するブロック属性が失われる。しかしながら、後述するように、ＦＬデータシャッフリングを行うことにより、ブロック属性の欠落を分散させることができる。
【００６８】
ＦＩＧ．７ｂは、セグメント０に割り当てられる番号０が付された３Ｄ−Ｙブロックの走査順序を示す。ＦＩＧ．７ａにおいて「０」で示される各３Ｄ−Ｙブロックには、０，１，２，３，・・・，６５９という番号が付され、これらはセグメント０に割り当てられるストリーム内の位置を示すものである。セグメントの割り当てを行うためのこのようなブロック番号を用いて、残りの３Ｄ−Ｙブロックもセグメント１〜５に割り当てられる。このようにして、フレーム対内のデータは、複数のセグメントにシャッフリングされる。
【００６９】
ＦＩＧ．７ｃは、１セグメントを構成する６６０個の３Ｄ−Ｙブロックを示す図である。０〜６５の番号が付された３Ｄ−Ｙブロックは、バッファ０に入れられる。同様に、番号が付された３Ｄ−Ｙブロックに隣接する３Ｄ−Ｙブロックは、バッファ１に入れられる。このような処理を繰り返してバッファ２〜９が充足される。このような処理により、伝送中のバッファの欠落により失われる複数の３Ｄ−Ｙブロックは、画像内の異なる部分に分散される。
【００７０】
ＦＩＧ．７ｄは、セグメント０に対応する３Ｄ−Ｙブロックのバッファにおける最終的な配列順序を示す図である。３Ｄ−Ｙブロック０，１，２は、バッファ内の最初の３つの部分を占める。この処理は、バッファの残りの部分において繰り返される。これにより、伝送中に３つの３Ｄ−Ｙブロックが欠落した場合、失われる３Ｄ−Ｙブロックは、画像内で離れた位置に対応するものとなる。
【００７１】
ＦＩＧ．７ａ〜７ｄは、フレームセット内の３Ｄ−Ｙブロックの分散の一実施の形態を示すものである。この他に、３Ｄ−Ｕブロック及び３Ｄ−Ｖブロックを分散することもできる。３Ｄ−Ｕブロックは、Ｕ信号のみを含むフレームセットに上述の画像−ブロックマッピング処理を適用して生成される。同様に、３Ｄ−Ｖブロックは、Ｖ信号のみを含むフレームセットに上述の画像−ブロックマッピング処理を適用して生成される。そして、３Ｄ−Ｕブロック及び３Ｄ−Ｖブロックの両方に対して、上述の３Ｄ−Ｙブロックの分散と同様の処理を行う。なお、上述のように、３Ｄ−Ｕブロックと３Ｄ−Ｙブロックの数は、それぞれ３Ｄ−Ｙブロックの数の１／６である。
【００７２】
ＦＩＧ．７ａ〜７ｄは、Ｙ信号に対するフレーム内ブロックシャッフリングの実施の形態を示し、この実施の形態では、伝送中の１／６のパケット欠落が容認され、更にバッファの使用率の均等化が実現されている。セグメント、バッファ、ＡＤＲＣブロックの割当を変更することにより１／ｎバーストエラーに対応でき、また、バッファ使用率を変更できることは当業者にとって明らかである。
【００７３】
部分的バッファリング（Partial Buffering）
ＦＩＧ．３に示すステップ４において、ＡＤＲＣ符号化及びバッファリング処理が行われる。符号化技術により、画像−ブロックマッピング処理により生成された２Ｄブロック又は３Ｄブロックは、２Ｄ−ＡＤＲＣブロック又は３Ｄ−ＡＤＲＣブロックに符号化される。一実施の形態において、３Ｄ−ＡＤＲＣブロックは、それぞれＱコード、ＭＩＮ、動きフラグ、ＤＲを含む。同様に、一実施の形態において、２Ｄ−ＡＤＲＣブロックは、Ｑコード、ＭＩＮ、ＤＲを含む。すなわち、２Ｄ−ＡＤＲＣブロックでは、単一のフレーム又は単一のフィールドに対する符号化が行われるため、２Ｄ−ＡＤＲＣブロックは、動きフラグを含まない。
【００７４】
従来より多くのバッファリングの手法が知られている（例えば、コンドウらによる米国特許番号第４，８４５，５６０号「高効率符号化装置（High Efficiency Coding Apparatus）」及び米国特許番号第４，７２２，００３号「高効率符号化装置（High Efficiency Coding Apparatus）」を参照）。これらの記載内容は、参照により本願に組み込まれるものとする。
【００７５】
以下に説明する部分的バッファリングは、ＡＤＲＣ符号化において使用する符号化ビットを決定するための革新的な方法を提供するものである。詳しくは、部分的バッファリングは、閾値テーブルから閾値を選択する方法を提供するものであり、閾値テーブルは、遠隔の端末装置間の伝送速度を一定に保つとともに、エラーが伝播することを制限するために設計されている。他の実施の形態においては、閾値テーブルは、さらに、バッファが最大限活用されるよう設計される。一実施の形態においては、バッファは、任意のフレームセットに対応する符号化されたデータを１６分の１に分割して格納するメモリである。閾値は、上述した画像−ブロックマッピング処理により生成された２Ｄブロック又は３Ｄブロック内の画素を符号化するために用いるＱビットのビット数を決定するために用いられる。
【００７６】
閾値テーブルは、閾値の列を備え、この列は閾値セットとも呼ばれ、閾値テーブルの各列には閾値インデックスが付されている。一実施の形態においては、閾値テーブルは、より多くのＱコードビットを生成する閾値セットが閾値テーブルの上位列に位置するように配列されている。これにより、利用可能な所定のビット数を有する任意のバッファに対して、エンコーダ１１０は、この所定のビット数より小さいビット数を生成する閾値に到達するまで、閾値テーブルを下位方向に順次検索する。バッファ内の画素データの符号化には、適切な閾値が用いられる。
【００７７】
ＦＩＧ．８は、バッファ０における選択された閾値及びＤＲ分布の実施の形態を示すグラフである。ＦＩＧ．８における垂直方向の軸は、累積ＤＲ分布を示す。例えば、値ｂは、ＤＲが閾値Ｌ３以上の３Ｄブロック又は２Ｄブロックの数に等しい。水平方向の軸は、ＤＲ値のとり得る値を示す。一実施の形態においては、ＤＲ値は０〜２５５の値をとる。閾値Ｌ４，Ｌ３，Ｌ２，Ｌ１は、バッファの符号化を決定する閾値セットを表す。
【００７８】
一実施の形態において、バッファ０に格納されている全てのデータブロックは、閾値Ｌ４，Ｌ３，Ｌ２，Ｌ１を用いて符号化される。すなわち、ＤＲ値が閾値Ｌ４より大きなデータブロックは、４ビットを用いて符号化された画素値を有することとなる。同様に、ＤＲ値が閾値Ｌ３と閾値Ｌ４の間にあるデータブロックに属する画素は、３ビットを用いて符号化される。また、ＤＲ値が閾値Ｌ２と閾値Ｌ３の間にあるデータブロックに属する画素は、２ビットを用いて符号化される。ＤＲ値が閾値Ｌ１と閾値Ｌ２の間にあるデータブロックに属する画素は、１ビットを用いて符号化される。そして、ＤＲ値が閾値Ｌ１より小さいデータブロックに属する全ての画素は、０ビットを用いて符号化される。閾値Ｌ４，Ｌ３，Ｌ２，Ｌ１は、バッファ０内の全てのデータブロックを符号化するために用いるビットの総数が、３１，１５２ビットを超えることなく、可能な限り３１，１５２ビットに近い数となるように選択される。
【００７９】
ＦＩＧ．８ａは、部分的バッファリングの一実施の形態を示す図である。フレーム８００は、符号化されてバッファ０〜５９に格納される。伝送エラーがデータの回復の妨げとなる場合、欠落したデータに対するエラー回復処理が行われるまで、フレーム８００の復号処理は中断される。ここで、部分バッファリングは、バッファ内のエラーの伝播を制限するため、残りのバッファについて復号処理を行うことができる。例えば、伝送エラーによりバッファ０内のデータブロック８０のＱビット及び動きフラグの回復が妨げられているとする。部分バッファリングは、バッファ０内の残りのデータブロックにこのエラーが伝播することを制限する。バッファ長は固定であるため、バッファ０の最後とバッファ１の先頭は既知であり、このためエラーの伝播バッファ０内に制限される。これにより、デコーダ１２０は、バッファ１内のデータブロックに対する処理を遅延することなく開始することができる。さらに、異なるバッファの符号化に対して異なる閾値セットを用いることにより、エンコーダ１１０は、任意のバッファ内に含まれるＱコードのビット数を最大化／制御することができ、したがってより高い圧縮比が実現できる。さらにまた、部分バッファリング処理では、バッファ０〜５９は、固定長を有するため、一定の伝送速度を実現できる。
【００８０】
一実施の形態においては、バッファの可変領域は、限られた数の閾値セットが存在するために、Ｑコードのビットのみにより充足されるわけではない。すなわち、固定長を有するバッファの残りのビットは、ポストアンブルと呼ばれる所定のビットストリームパターンにより充足される。後述するように、ポストアンブルは、バッファの最後より前にあるＶＬデータの最後を示しているので、ポストアンブルにより双方向のデータ回復が実現できる。
【００８１】
バッファ内ＹＵＶブロックシャッフリング
Ｙ信号、Ｕ信号、Ｖ信号は、それぞれ固有の静的特性を有している。Ｑビット及び動きフラグの回復処理（後述する）を改善するために、Ｙ信号、Ｕ信号及びＶ信号は、バッファ内で多重化される。したがって、伝送欠落は、特定の信号に対して実質的な影響を与えない。
【００８２】
ＦＩＧ．９は、それぞれＹ信号、Ｕ信号、Ｖ信号から導き出されるＹ−ＡＤＲＣブロック、Ｕ−ＡＤＲＣブロック、Ｖ−ＡＤＲＣブロックに対するシャッフリングであるバッファ内ＹＵＶブロックシャッフリングを説明する図である。バッファ９００は、フレームセット内ブロックシャッフリング後のＡＤＲＣブロックの割当を示す。バッファ９００は、６６個のＹ−ＡＤＲＣブロックと、これに続く１１個のＵ−ＡＤＲＣブロックと、これに続く１１個のＶ−ＡＤＲＣブロックを含む。バッファ９１０は、バッファ内ＹＵＶブロックシャッフリングを行った後のＹＵＶ−ＡＤＲＣブロック配列構造を示す。図に示すように、３つのＹ−ＡＤＲＣブロックに１つのＵ−ＡＤＲＣブロック又は１つのＶ−ＡＤＲＣブロックが続く。バッファ内ＹＵＶブロックシャッフリングによりバッファ内の隣り合うデータブロックのビットストリームの類似の度合いが低減される。バッファ内ブロックシャッフリングは、この形態に限られることなく、初期の画像フォーマットに応じて、異なる信号、すなわち異なるＹＵＶ比又は異なる色空間を有する信号に対して変換して実施されるようにしてもよい。
【００８３】
グループ内ＶＬデータシャッフリング
一実施の形態において、グループ内ＶＬデータシャッフリングは３つのステップを有する。この３つのステップは、Ｑコードの連結と、Ｑコードの再割当と、連結されたＱコードのランダム化である。ＦＩＧ．１０は、グループ内ＶＬデータシャッフリングの手順を示す図であり、バッファ内に格納されたＱコードには、３つの処理が順次施される。この実施の形態としては、処理手順のサブセットをグループ内ＶＬデータシャッフリングに適用してもよい。各処理手順は、それぞれ独立して伝送中のデータに対するエラー回復に寄与する。したがって、各処理ステップを個別に説明する。
【００８４】
１．Ｑコード連結
Ｑコード連結により、複数のＡＤＲＣブロックが互いに復号されることが保証される。グループ復号によれば、後述するようにデータ回復処理において隣り合うデータブロックから追加的な情報を取得することが可能なため、エラー回復を容易に行うことができる。一実施の形態においては、Ｑコード連結は、バッファ内に格納された３つのＡＤＲＣブロックからなる各グループに対して個別に適用される。他の実施の形態として、グループ内に他のバッファからのＡＤＲＣブロックを含めることもできる。ＡＤＲＣブロックに亘るＱコードの連結は、１つの連結ＡＤＲＣタイルの生成として記述される。ＦＩＧ．１１及びＦＩＧ．１１ａは、連結ＡＤＲＣタイルの生成を例示する図である。
【００８５】
ＦＩＧ．１１は、２Ｄ−ＡＤＲＣブロックから連結ＡＤＲＣタイルを生成する例を示す図である。具体的には、この連結は、２Ｄ−ＡＤＲＣブロック０，１，２に含まれる各Ｑコード（ｑ０〜ｑ６３）に対して行われ、この結果６４個のＱコードを含む連結ＡＤＲＣタイルＡが生成される。例えば、２Ｄ−ＡＤＲＣブロック０の第１のＱコードｑ０，０（量子化された値の０番目）は、２Ｄ−ＡＤＲＣブロック１の第１のＱコードｑ０，１に連結される。この２つの連結されたＱコードは、続いて、２Ｄ−ＡＤＲＣブロック２の第１のＱコードｑ０，２に連結され、これにより連結ＡＤＲＣタイルＡのＱ０が生成される。この処理は、Ｑ６３が生成されるまで繰り返される。これに代えて、連結ＡＤＲＣタイルＡ内のＱｉの生成を以下の式に基づいて行ってもよい。
Ｑｉ＝［ｑｉ，０，ｑｉ，１，ｑｉ，２］  ｉ＝０，１，２，・・・６３
さらに、連結ＡＤＲＣタイルＡ内の各Ｑｉには、単一のＱｉを生成するために連結されたビット総数であるＮビットを示す値が関連付けられる。
【００８６】
ＦＩＧ．１１ａは、動ブロックを含むフレーム対から生成された連結ＡＤＲＣタイルの実施の形態を示す図である。動ブロックとは、動きフラグが設定された３Ｄ−ＡＤＲＣブロックである。動きフラグは、上述した画像−ブロックマッピング処理により生成された２つの２Ｄブロック構造内の所定数の画素が第１のフレームと第２のフレームとの間で変化している場合に設定される。この実施の形態として、第１のフレームと、これに続くフレームとの間の各画素の変化の最大値が所定の値を超えた場合に動きフラグを設定するようにしてもよい。一方、非動ブロック（すなわち静ブロック）は、動きフラグが設定されていない３Ｄ−ＡＤＲＣブロックである。第１のフレームと、これに続く第２のフレームの２つの２Ｄブロック間で所定数の画素が変化していない場合、動きフラグの設定は行われない。他の実施の形態として、第１のフレームと、これに続く第２のフレームとの間の各画素の変化の値が所定の値を超えない場合には、動きフラグの設定を行わないものとしてもよい。
【００８７】
動ブロックは、第１のフレームにおける符号化された２Ｄブロックと、次のフレームにおける符号化された２Ｄブロックとに基づくＱコードを含む。単一の符号化された２Ｄブロックに対応するＱコードの集合をＡＤＲＣタイルと呼ぶ。すなわち、動ブロックは２つのＡＤＲＣタイルを生成する。一方、静ブロックは、動きがないため、動ブロックの半数のＱコードのみしか含まず、したがって、１つのＡＤＲＣタイルしか生成しない。この実施の形態においては、静ブロックのＱコードは、第１のフレームの２Ｄブロックと、次のフレームの対応する２Ｄブロックとの間の対応する画素の画素値の平均を求めることにより生成される。平均化された各画素値は、符号化されて、これにより単一のＡＤＲＣタイルを形成するＱコードの集合が生成される。このようにして、動ブロック１１１０は、ＡＤＲＣタイル０，１を生成し、静ブロック１１２０は、ＡＤＲＣタイル２を生成し、動ブロック１１３０は、ＡＤＲＣタイル３，４を生成する。
【００８８】
ＦＩＧ．１１ａに示すＡＤＲＣの連結処理では、ＡＤＲＣタイル０〜４を連結して連結ＡＤＲＣタイルＢを生成している。具体的には、ＡＤＲＣタイル０〜４内に含まれる各Ｑコード（ｑ０〜ｑ６３）が連結され、連結ＡＤＲＣタイルＢ内の６４個のＱコードが生成される。これに代えて、連結ＡＤＲＣタイルＢ内の各Ｑコード、すなわちＱｉを以下の数式に基づいて生成してもよい。
Ｑｉ＝［ｑｉ，０，ｑｉ，１，ｑｉ，２，ｑｉ，３，ｑｉ，４］  ｉ＝０，１，２，・・・６３
２．Ｑコード再割当
Ｑコードの再割当により、伝送欠落に起因するビットエラーが空間的に離れた画素に分散されることが保証される。特に、Ｑコードの再割当処理において、Ｑコードは再分散され、再分散されたＱコードのビットは、シャッフルされる。したがって、Ｑコードの再割当により、破損された画素の周囲に破損されていない画素が残るため、エラーの回復が容易となる。画素の破損はＡＤＲＣブロック全体に亘って分散するため、ＤＲ及びＭＩＮの回復が容易となる。
【００８９】
ＦＩＧ．１２に１／６バーストエラー欠落による画素の劣化の実施の形態を示す。具体的には、２Ｄ−ＡＤＲＣブロック１２１０、１２２０、１２３０は、それぞれ３ビットを用いて符号化された６４個の画素を含む。すなわち、２Ｄ−ＡＤＲＣブロックの各画素Ｐ０〜Ｐ６３は、３ビットにより表される。２Ｄ−ＡＤＲＣブロック１２１０は、６ビット毎の第１ビットが欠落した場合におけるビット欠落パターンを影付きの長方形として示す図である。同様にＡＤＲＣブロック１２２０及びＡＤＲＣブロック１２３０は、それぞれ６ビット毎に第２及び第４ビットが欠落した場合を示す。ＦＩＧ．１２から、Ｑコードの再割当を行わなければ、１／６バーストエラー欠落により２Ｄ−ＡＤＲＣブロック１２１０，１２２０，１２３０において、それぞれ半数の画素に劣化が生じることがわかる。
【００９０】
一実施の形態において、Ｑコードの再割当はバッファに格納されている各連結ＡＤＲＣタイルに対して別個に行われ、これによりデシャッフリングにおいて、ビットエラーが空間的に分散された画素に位置されることが保証される。他の実施の形態として、バッファ内に格納された各ＡＤＲＣブロックに対してＱコードの再割当を行ってもよい。
【００９１】
ＦＩＧ．１２ａは、連結ＡＤＲＣタイルに基づくシャッフリングされたＱコードのビットのビットストリームを生成するＱコード再割当の実施の形態を示す。テーブル１２２及びテーブル１３２は、Ｑコードの再配置を示す。ビットストリーム１３０及び１４０は、Ｑコードビットのシャッフリングを示す。
【００９２】
テーブル１２２は、連結ＡＤＲＣタイルＡの連結されたＱコードを示す。Ｑ０は、最初の連結Ｑコードであり、Ｑ６３は、最後の連結Ｑコードである。テーブル１３２は、Ｑコードの再分配を示す。この実施の形態においては、第１の組である区画０には、Ｑ０，Ｑ６，Ｑ１２，Ｑ１８，Ｑ２４，Ｑ３０，Ｑ３６，Ｑ４２，Ｑ４８，Ｑ５４，Ｑ６０が含まれる。テーブル１３２内において次の区画１には、１１個の連結Ｑコードが含まれている。同様にして区画２〜５にも１１個の連結Ｑコードが含まれる。テーブル１３２においては、区画間の境界を垂直方向の線分で示している。このように連結Ｑコードを空間的に分離された６つの区画に割り当てることにより、１／６バーストエラー欠落により生じるビット欠落パターンが連続する画素グループに分散されることが保証される。
【００９３】
ＦＩＧ．１２ｂは、再割り当てされたＱコードにおける１／６バーストエラーにより生じるビット欠落のパターンを示す図である。具体的には、２Ｄ−ＡＤＲＣブロック１２１５，１２２５，１２３５は、それぞれ３ビットを用いて符号化されている６４個の画素を有している。すなわち、各２Ｄ−ＡＤＲＣブロックの内の各画素Ｐ０〜Ｐ６３は、３ビットにより表される。２Ｄ−ＡＤＲＣブロック１２１５，１２２５，１２３５において、影付きの長方形で表されるビット欠落パターンは、連続する画素に亘って位置している。すなわち、与えられたセグメント欠落に対して、各２Ｄ−ＡＤＲＣブロック１２１５，１２２５，１２３５内のそれぞれ連続する１１個の画素のみが誤っている。他の実施の形態においては、区画へのＱコードの割当処理において、異なる動ブロックからのＱコードを割り当てるようにしてもよく、これにより空間的及び時間的に分離されたＱコードを６つのセグメントに割り当ててもよい。これにより、１／６バーストエラー欠落に対して破損されていない空間的及び時間的画素が増え、より強力なエラー回復処理が実現される。
【００９４】
ＦＩＧ．１２ａにおいて、テーブル１３２内の再割当されたＱコードは、生成されるビットストリームに亘ってシャッフリングされ、ビットストリーム内で隣接するビットが異なる区画からのビットであるようにされる。テーブル１３２内の全ての区画内のＱコードは、ビットストリーム１３０内で連結される。ビットストリーム１３０内で隣り合う任意のビットの区画は、生成されるビットストリーム１４０において６ビット位置毎に分散される。これにより、ビットストリーム１４０内のビット番号０〜５は、各区画における第１のＱコードからの第１ビットを含む。同様に、ビットストリーム１４０のビット番号６〜１１は、各区画の第１のＱコードからの第２のビットを含む。このような処理は、全てのＱコードのビットに対して繰り返される。これにより、１／６バーストエラー欠落による画素欠落が空間的に分離されることが保証される。
【００９５】
ＦＩＧ．１２ｃは、再割当された（すなわち再分配されシャッフリングされた）Ｑコードの１／６バーストエラー欠落により生成されたビット欠落パターンを示す図である。特に、２Ｄ−ＡＤＲＣブロック１２１７，１２２７，１２３７は、それぞれ３ビットを用いて符号化された６４個の画素を含む。すなわち、各２Ｄ−ＡＤＲＣブロックの各画素Ｐ０〜Ｐ６３は、３ビットで表される。２Ｄ−ＡＤＲＣブロック１２１７，１２２７，１２３７において、影付き長方形で示されているビット欠落パターンは、空間的に分離された画素に分散されており、したがって、画素エラー回復を容易に行うことができる。
【００９６】
３．Ｑコードビットの時間変化ランダム化
伝送中に特定のデータブロックのダイナミックレンジ（ＤＲ）が欠落又は破損すると、ＡＤＲＣデコーダは、ＤＲに頼らずいくつのビットがデータブロックの量子化に使用されているかを判定しなくてはならない。一実施の形態において、この処理は、各ＶＬデータブロックに時間変化ランダム化を適用することにより実現される。
【００９７】
ランダム化は、欠落又は破損したデータを推定するために、次のデータ復号処理において生成される可能性のある不正な候補復号の相関を打ち消すために適用される。正しい候補復号は、元の状態で復元されるため、ランダム化によって、正しい候補復号の特性は変更されない。特に、複数のデータブロックに亘るランダム化により、後に逆ランダム化されたデータは、高い相関性を示す候補復号となる。高い相関性は、対応する候補復号は良好な選択であることを示している。ランダム化は、正しい逆ランダム化により高い相関性を示す正しい候補復号が得られ、不正な逆ランダム化により非相関特性を示す不正な復号が導き出されるように選択される。さらに、時間変化ランダム化は、ゼロブロックを取り扱うとよい。一実施の形態において、時間変化ランダム化は、再同期（resynchronizanon）によりデコーダがエラーを見逃す（すなわち、デコーダがデータブロックの組を不正に復号し、このエラーを認識することなく、次のデータブロックを正しく復号する）確率を低下させる。符号化パラメータを用いて、ランダム化及び逆ランダム化を行ってもよい。例えば、ランダム化パターンは、圧縮パラメータの値に基づいて選択することができる。
【００９８】
一実施の形態において、Ｑｉは、与えられたＶＬデータブロックＸｉを量子化するために使用されるＱビット値である。この実施の形態において、この値は０，１，２，３，４のいずれかである。一実施の形態において、シード値を用いて擬似乱数生成器（ＰＮＧ）を初期化し、擬似乱数シーケンスを発生させる。このシード値は、データブロック毎に現在のＱｉとともに変化する。他の実施の形態においては、シード値を用いていかなる適切な数学的変換シーケンスを生成してもよい。
【００９９】
他の実施の形態において、シード値は、データブロックを符号化するための様々な圧縮定数の組合せにより生成してもよい。このような圧縮定数としては、これらの限定されるものではないが、例えば、Ｑビット値、動きフラグ（ＭＦ）、ＭＩＮ、ＭＡＸ、ＣＥＮ、ＤＲ、及びデータブロック内で任意の画素位置を特定するブロックアドレス（ＢＡ）等がある。これらの値は、加算及び／又は乗算により結合してもよく、現在のデータブロック及び前の及び／又は次のデータブロックの組合せから生成してもよい。
【０１００】
例えば、一実施の形態において、ＭＦ及びＱビット値は、以下のように、シード値を定義するために使用することができる。
【０１０１】
seed=5・MFｉ+Q
ここで、Ｑは、Ｑビット値を表し、ＭＦは動くフラグ値を表す。
【０１０２】
他の実施の形態において、シード値は以下のように生成される。
【０１０３】
(10・BAｉ)+(5・MFｉ)+Qｉ
(2560・BAｉ)+(10・DRｉ)+(5・MFｉ)+Qｉ
ここで、ＢＡｉはＢＡ値を表し、ＤＲｉはＤＲ値を表す。
【０１０４】
複数のデータブロックに亘って、シード値を生成するこれらの組み合わせの総和を求めることにより、時間変化シード値（time-varying seed values）が生成される。すなわち、一実施の形態において、シード値は以下のように定義される。
【０１０５】
【数６】
2003503915.tif 000006
【０１０６】
ＦＩＧ．１２ｄは、時間変化ランダム化により、ＶＬデータブロックを符号化する手順の実施の形態を示すフローチャートである。まず、ステップ１２７７において、シード値を０に設定する。この他の初期値を用いてもよい。一実施の形態において、シード値は、８ビットのバイナリ数（例えば、００００００００）である。
【０１０７】
次に、ステップ１２７９において、次のＶＬデータブロックが読み出される。次に、ステップ１２８１において、ＶＬデータブロック用のＱビット値が判定される。一実施の形態において、Ｑビット値は、ＤＲから直接判定される。他の実施の形態において、エンコーダにより予め決定されたＱビット値を用いて、データバッファに記憶させてもよい。
【０１０８】
次に、ステップ１２８３において、Ｑビット値が０ではない場合、処理は、ステップ１２８５に進む。Ｑビット値が０の場合、処理は、ステップ１２８９に進む。ステップ１２８３において、Ｑビット値が０ではないと判定された場合、ステップ１２８５において、シード値は、Ｑビット値に結合される。一実施の形態において、シード値は、数ビット、例えば２ビット、左にシフトされる。次に、シード値は、例えばＱビット値から１を引いた値のバイナリ数（binary equivalent）に連結されることにより結合される。（例えば、現在のシード値が００００００１０であり、Ｑビット値から１を引いたバイナリ数が１１である場合、２つのステップの結果、シード値は、００００１０１１となる。）次に、処理はステップ１２９１に進む。
【０１０９】
ステップ１２８３において、Ｑビット値が０の場合、ステップ１２８９において、シード値は、ゼロブロックを指示するように処理される。一実施の形態において、シード値は、１ビット右にシフトされる。（例えば、現在のシード値が００００１０１１の場合、右にシフトされたシード値は、０００００１０１となる。）実施の形態において、シード値は、特定の定数に設定され、所定の規則に則って左にシフトされ、あるいは適切な処理が施される。
【０１１０】
ステップ１２９１においては、ＶＬデータがシード値に基づいてランダム化される。一実施の形態において、シード値は、ＰＲＧを用いて擬似乱数シーケンスを生成するために用いられる。所定のＰＲＧは、同じシード値を用いた場合、常に同じ擬似乱数シーケンスを生成する。次に、擬似乱数シーケンスは、ＶＬデータブロックの変換関数として使用される。一実施の形態において、ＶＬデータは、ビット毎のＸＯＲ（排他的論理和）関数をＶＬデータ及び擬似乱数シーケンスに適用することによりランダム化される。
【０１１１】
次の時間的に隣接するデータブロック用のＱビット値のシーケンスは、以下のようになる。
Ｑ１＝３，Ｑ２＝２，Ｑ３＝１，Ｑ４＝０
シード値は、（ステップ１２７７において）初期的に００００００００に設定される。第１のデータブロックｘ１が読み出され、Ｑが判定される。この実施の形態においては、Ｑの値を３とする。この場合、Ｑビット値は０ではなく、したがってステップ１２８５及びステップ１２８７が実行される。シード値は、２ビット左にシフトされ、これによりシード値は、００００００００となる。データブロック１については、Ｑ１−１＝２となり、これはバイナリ値１０に対応する。２つの値は連結され、これによりシード値は００００００１０となる。次に、シード値を用いて、擬似ランダムシーケンスｙ１を生成し、この擬似ランダムシーケンスｙ１について、ビット毎にｘ１とのＸＯＲが求められる。
【０１１２】
次のＶＬデータブロックＸ２及びそのＱビット値Ｑ２（値２）が読み出される。データブロック２については、Ｑ２−１＝１となり、これはバイナリ値０１に対応する。現在のシード値は、左に２ビットシフトされ、これによりシード値は、００００１０００となる。２つの値は連結され、新たなシード値００００１００１が生成される。次に、この新たなシード値を用いて擬似ランダムシーケンスｙ２を生成し、この擬似ランダムシーケンスｙ２について、ビット毎にｘ２とのＸＯＲが求められる。
【０１１３】
次のＶＬデータブロックＸ３及びそのＱビット値Ｑ３（値１）が読み出される。データブロック３については、Ｑ３−１＝０となり、これはバイナリ値００に対応する。現在のシード値は、左に２ビットシフトされ、これによりシード値は、００１０００００となる。２つの値は連結され、新たなシード値００１００１００が生成される。次に、この新たなシード値を用いて擬似ランダムシーケンスｙ３を生成し、この擬似ランダムシーケンスｙ３について、ビット毎にｘ３とのＸＯＲが求められる。
【０１１４】
次のＶＬデータブロックＸ４及びそのＱビット値Ｑ４（値０）が読み出される。Ｑビット値が０（ゼロブロック）であるため、シード値は、ステップ１２８９において、右に１ビットシフトされる。これにより、新たなシード値０００１００１０が生成される。次に、この新たなシード値を用いて擬似ランダムシーケンスｙ４を生成し、この擬似ランダムシーケンスｙ４を用いて、ビット毎にｘ４とのＸＯＲが求められる。
【０１１５】
ＦＩＧ．１０〜ＦＩＧ．１２には、伝送中に生じる１／６パケットデータ欠落までを許容するグループ内ＶＬデータシャッフリングの例を示しているが、当業者にとって、区画の総数、ビットの間隔を変更することにより、１／ｎバーストエラー欠落に対応するよう設計を変更できることは明らかである。
【０１１６】
セグメント間ＦＬデータシャッフリング
セグメント間ＦＬデータシャッフリングは、異なるセグメント間でブロック属性を再割当するものである。ブロック属性を並べ替えることによりデータ欠落を分散させることができる。具体的には、あるセグメントのＦＬデータが伝送中に欠落しても、失われたＤＲ値、ＭＩＮ値及び動きフラグ値が同一のデータブロックに属さないようにする。
【０１１７】
ＦＩＧ．１３及びＦＩＧ．１４は、セグメント間ＦＬデータシャッフリングの実施の形態を示す図である。ＦＩＧ．１３にセグメント０〜５のコンテンツを示す。一実施の形態において、各セグメントは、８８０個のＤＲと、８８０個のＭＩＮと、８８０個の動きフラグと、６６０個のＹブロック、１１０個のＵブロックと１１０個のＶブロックに対応するＶＬデータとを有する。図に示すように、ＭＩＮシャッフリング１３００のセグメント０のＭＩＮ値は、セグメント２に移動され、セグメント２のＭＩＮ値は、セグメント４に移動され、セグメント４のＭＩＮ値は、セグメント０に移動される。さらに、セグメント１のＭＩＮ値はセグメント３に移動され、セグメント３のＭＩＮ値はセグメント５に移動され、セグメント５のＭＩＮ値は、セグメント１に移動される。
【０１１８】
ＦＩＧ．１３ａは、動きフラグのシャッフリングを示す。図に示すように、動きフラグシャッフリング１３０５のセグメント０の動きフラグ値はセグメント４に移動され、セグメント２の動きフラグ値はセグメント０に移動され、セグメント４の動きフラグ値はセグメント２に移動される。さらに、セグメント１の動きフラグはセグメント５に移動され、セグメント３の動きフラグはセグメント１に移動され、セグメント５の動きフラグはセグメント３に移動される。欠落パターン１３１０は、伝送中にセグメント０が欠落した結果のＦＬデータ欠落を示す。
【０１１９】
特定のブロック属性に対して、ＦＩＧ．１３及びＦＩＧ．１３ａに示すように、セグメント間の特定のブロック属性の全てのインスタンスのシャッフリングを行う。例えば、ＦＩＧ．１３においては、セグメント０の８８０個のＭＩＮ値は、セグメント２の８８０個のＭＩＮ値に一括して置き換えられる。同様に、ＦＩＧ．１３ａにおいては、セグメント０の８８０個の動きフラグ値は、セグメント４の動きフラグ値に一括して置き換えられる。このようにブロック属性を一括してシャッフリングすることにより、連続するパケットの伝送欠落に対して、欠落は、特定のブロックグループの特定のブロック属性に偏らない。一実施の形態においては、１つのブロックグループは３つのＡＤＲＣブロックを含む。
【０１２０】
ＦＩＧ．１４は、ＤＲ値、ＭＩＮ値、動きフラグ値に対する３を法とするシャッフリングを示す図である。他の実施の形態として、ＣＥＮをシャッフリングに使用してもよい。３を法とするシャッフリングとは、３つの異なるセグメントにおける３つのグループ（すなわちブロックグループ）に亘ってシャッフリングパターンを共有することを意味する。シャッフリングパターンは、３つの異なるセグメント内の全てのブロックグループに対して繰り返される。なお、異なるブロック属性に対しては異なるシャッフリングパターンを用いる。すなわち、３を法とするシャッフリングにより、３つの全てのセグメントに亘ってブロック属性が分散される。具体的には、任意のブロックグループについて、３を法とするシャッフリングは、伝送中のセグメントの欠落に対して、特定のブロック属性のインスタンスが１つだけしか失われないことを保証する。したがって、後述するデータ回復処理において、データブロック内の失われたデータ回復するための復号候補の数を低減することができる。
【０１２１】
ＤＲモジュロシャッフル１４１０に示すように、１セグメントには８８０個のＤＲ値が格納されている。ＤＲ値には、そのＤＲ値が由来するデータブロックに応じた番号０〜８７９が付されている。３を法とするシャッフリングにおいては、３つのセグメントのＦＬデータのコンテンツがシャッフルされる。カウント値０〜２は、３を法とするシャッフリングのために識別される３つのセグメント内の各ＤＲ値を識別するために付された値である。すなわち、ブロック番号０，３，６，９・・・に属するＤＲ値は、カウント０に属する。同様に、ブロック番号１，４，７，１０・・・に属するＤＲ値は、カウント１に属し、ブロック番号２，５，８，１１に属するＤＲ値は、カウント２に属する。これにより、所定のカウント値に対して、そのカウント値に関連付けられたＤＲ値は、セグメント０，２，４に亘ってシャッフリングされる。同様に、同一のカウント値に関連付けられたＤＲ値は、セグメント１，３，５に亘ってシャッフリングされる。
【０１２２】
ＤＲモジュロシャッフル１４１０において、カウント値０に属するＤＲ値はシャッフリングされない。カウント値１に属するＤＲ値は、シャッフリングされる。具体的には、セグメントＡ内のカウント値１に属するＤＲ値は、セグメントＢに移動され、セグメントＢ内のカウント値１に属するＤＲ値は、セグメントＣに移動され、セグメントＣ内のカウント値１に属するＤＲ値は、セグメントＡに移動される。
【０１２３】
カウント値２に属するＤＲ値もまたシャッフリングされる。具体的には、セグメントＡ内のカウント値２に属するＤＲ値は、セグメントＣに移動され、セグメントＢ内のカウント値２に属するＤＲ値は、セグメントＡに移動され、セグメントＣ内のカウント値２に属するＤＲ値は、セグメントＢに移動される。
【０１２４】
ＭＩＮモジュロシャッフル１４２０は、ＭＩＮ値用の３つのブロック属性のモジュロシャッフリングの実施の形態を示す。１つのセグメントは、８８０個のＭＩＮ値を含んでいる。ＭＩＮモジュロシャッフル１４２０においては、ＤＲモジュロシャッフル１４１０においてカウント値１及びカウント値２に対して用いたシャッフリングパターンをカウント値０及びカウント値１にシフトして用いる。詳しくは、ＤＲモジュロシャッフル１４１０においてカウント値１に対して用いたシャッフリングパターンをカウント値０に適用する。また、ＤＲモジュロシャッフル１４１０においてカウント値２に対して用いたシャッフリングパターンをカウント値１に適用し、カウント値２に属するＭＩＮ値については、シャッフリングを行わない。
【０１２５】
動きフラグモジュロシャッフル１４３０は、動きフラグ値用の３つのブロック属性のモジュロシャッフリングの実施の形態を示す。１セグメントは８８０個の動きフラグを含んでいる。動きフラグモジュロシャッフル１４３０においては、ＤＲモジュロシャッフル１４１０においてカウント値１及びカウント値２に対して用いたシャッフリングパターンをそれぞれカウント値２及びカウント値０にシフトして用いる。具体的には、ＤＲモジュロシャッフル１４１０においてカウント値２に対して用いたシャッフリングパターンをカウント値０に適用する。また、ＤＲモジュロシャッフル１４１０においてカウント値１に対して用いたシャッフリングパターンをカウント値２に適用し、カウント値１に属する動きフラグ値については、シャッフリングを行わない。
【０１２６】
ＦＩＧ．１４ａは、モジュロシャッフル１４１０，１４２０，１４３０により得られたモジュロシャッフリングの結果を示す図である。モジュロシャッフル結果１４１６は、各ブロック属性移動先がセグメント０に属することを示す。この例では、セグメント０は、ＦＩＧ．１４に示すセグメントＡに対応する。この移動先は、ＦＩＧ．１４に示すモジュロシャッフル１４１０，１４２０，１４３０により決定される。ＦＩＧ．１４ａは、セグメント０が伝送中に欠落した場合のブロック属性の欠落分布を示す。具体的には、欠落パターン１４１５は、モジュロシャッフル１４１０，１４２０，１４３０によりシャッフリングされた受信データをデシャッフリングした後に、６つのセグメントに亘るＤＲ値、動きフラグ値、ＭＩＮ値の欠落を示す。他の実施の形態として、ＣＥＮ値をシャッフリング及びデシャッフリングに使用してもよい。ＦＩＧ．１４ａに示すように、ブロック属性の欠落は、セグメント０，２，４に亘って周期的に分散されており、セグメント１，３，５にはブロック属性欠落は生じていない。さらに、空間欠落パターン１４１７は、伝送中にセグメント０が欠落して失われたＦＬデータのデシャッフル後の空間的分布を示す。空間欠落パターン１４１７は、後で受信データに対して施されるデシャッフリング後のＤＲ値、動きフラグ値、ＭＩＮ値の欠落を示す。空間欠落パターン１４１７においては、破損されたデータブロックは破損されていないデータブロックに取り囲まれており、破損されたブロック属性は、破損されていないブロック属性に基づいて回復することができる。
【０１２７】
ＦＩＧ．１４及びＦＩＧ．１４ａは、３つのモジュロシャッフリングパターン及び伝送中にセグメントが失われた後のブロック属性の欠落分布を示す。他の実施の形態として、カウント値又はセグメント数を変更することによりブロック属性の欠落分布を変更してもよい。ＦＩＧ．１４ｂにモジュロシャッフル結果１４２１と欠落パターン１４２０とを示す。同様に、ＦＩＧ．１４ｃにモジュロシャッフル結果１４２６と欠落パターン１４２５とを示す。欠落パターン１４２０及び欠落パターン１４２５は、上述した３つのセグメントではなく、６つのセグメントに亘るブロック属性欠落の分布を示す。
【０１２８】
シャッフリングを行うための、ブロック属性を組み合わせて分散させる手法については、様々な他の実施の形態が可能である。
【０１２９】
セグメント間ＶＬデータシャッフリング
セグメント間ＶＬデータシャッフリングでは、所定数のセグメント、例えば６つのセグメントが並べ替えられ、これにより１／６パケット伝送欠落までの欠落に対し、空間的に分離された周期的なＶＬデータ欠落が保証される。ＦＩＧ．１５及びＦＩＧ．１６は、セグメント間ＶＬデータシャッフリングの一実施の形態を示す。
【０１３０】
この実施の形態においては、３０Ｍｂｐｓに近い伝送速度が望ましい。したがって、望ましい伝送速度では、６０のバッファのそれぞれにおけるＶＬデータとして３１，１５２ビットが利用可能となる。残りの領域には、バッファ内に含まれる８８個のブロック用のＦＬデータに使用される。ＦＩＧ．１５は、３０Ｍｂｐｓに近い伝送速度用のフレームセット内のＶＬデータバッファ配列構造を示す図である。上述のとおり、部分バッファリングにより各バッファの使用可能なＶＬデータの使用効率が最適化されており、ＶＬデータの未使用領域は、ポストアンブルにより充足されている。
【０１３１】
ＦＩＧ．１６は、空間的に分散された周期的なＶＬデータ欠落を保証するシャッフリングの実施の形態を示す図である。第１列は、ＦＩＧ．１５に示す６０個のバッファから１，８６９，１２０ビットの連結ストリームに並べ替えられたＶＬデータを示す図である。第２列は、６ビット毎にビットを抽出してまとめた新たなビットストリームを示す図である。これにより、デコーダが後で逆の処理を行う際に、伝送中に起こった１／６までのバースト欠落は、２つの破損されたビット間に少なくとも５つの未破損ビットがある周期的な欠落パターンに変換される。
【０１３２】
第３列は、ストリーム２のビットを１０ビット毎に抽出してグループ化して生成された新たなビットストリーム、すなわちストリーム３を示す。この場合も、グループの境界は、セグメントにおけるビット番号により規定される。ストリーム２を１０ビット毎にグループ化することにより、１／６０のデータ欠落が生じた場合、２つの破損されたビット間に少なくとも５９個の未破損ビットが存在することが保証される。これにより、連続する８８個のパケットのデータが欠落した場合に、空間的に分離された周期的なＶＬデータ欠落が実現される。
【０１３３】
第４列は、ストリーム３のビットを１１ビット毎に抽出して生成されたストリーム４を示す。この場合も、グループの境界は、セグメントにおけるビット番号により規定される。ストリーム３を１１ビット毎にグループ化することにより、１／６６０のデータ欠落が生じた場合、２つの破損されたビット間に少なくとも６５９個の未破損ビットが存在することが保証され、連続する８個のパケットの伝送欠落が生じた場合、空間的に分離された周期的なＶＬデータ欠落を実現する。
【０１３４】
ストリーム４内の３１，１５２ビットからなる各グループは、連続的にバッファ０〜５９に再格納される。すなわち、最初のビットグループは、バッファ０に格納され、最後のビットグループは、バッファ５９に格納される。
【０１３５】
ＦＩＧ．１６に示すグループ化の手法を変更することにより、１／ｎまでの伝送欠落を許容する空間的に分離された周期的なＶＬデータ欠落が保証されることは、当業者にとって明らかである。
【０１３６】
伝送
上述したシャッフリングにより、ＦＬデータ及びＶＬデータが相互に混合されたバッファが形成される。一実施の形態においては、パケット構造２００に従って各バッファからパケットを生成し、各パケットを伝送媒体１３５を介して送信する。送信されたデータは受信側で復号される。欠落又は破損したデータはデータ回復処理により回復される。
【０１３７】
復号
ＦＩＧ．４は、デコーダ１２０により実行される復号処理の一実施の形態を説明するフローチャートである。一実施の形態において、変換及びデシャッフリングは、ＦＩＧ．３に示す処理と逆の処理である。また、一実施の形態において、後述するように、ステップ４３５において、Ｑコードの時間変化逆ランダム化及び遅延判定復号処理を実行してもよい。
【０１３８】
Ｑコードの時間変化逆ランダム化及び遅延判定復号
伝送中に特定のデータブロックのダイナミックレンジ（ＤＲ）が欠落又は破損すると、ＡＤＲＣデコーダは、ＤＲに頼らずいくつのビットがデータブロックの量子化に使用されているかを判定しなくてはならない。一実施の形態において、この処理は、デコーダが受け取った各ＶＬデータブロックに時間変化逆ランダム化を適用することにより実現される。
【０１３９】
ランダム化及びこれに続く逆ランダム化は、欠落又は破損したデータを推定するために、次のデータ復号処理において生成される可能性のある不正な候補復号の相関を打ち消すために適用される。正しい候補復号は、元の状態で復元されるため、逆ランダム化によって、正しい候補復号の特性は変更されない。逆ランダム化されたデータは、対応する候補復号が正しい選択であったことを示す高い相関性を示す候補復号を選択する傾向がある。
【０１４０】
逆ランダム化を行うことにより、正しい逆ランダム化からは高い相関性を示す正しい候補復号が得られ、不正な逆ランダム化からは非相関特性を示す不正な復号が導き出される。さらに、時間変化逆ランダム化は、好ましくはゼロブロックを取り扱う。一実施の形態において、時間変化逆ランダム化は、再同期（resynchronizanon）によりデコーダがエラーを見逃す（すなわち、デコーダがデータブロックの組を不正に復号し、このエラーを認識することなく、次のデータブロックを正しく復号する）確率を低下させる。符号化パラメータを用いて、逆ランダム化を行ってもよい。例えば、逆ランダム化パターンは、圧縮パラメータの値に基づいて選択することができる。
【０１４１】
一実施の形態において、ＤＲが欠落又は破損することなくデコーダに供給されると、ＡＤＲＣアルゴリズム用に定義された所定の閾値テーブルを用いてＱビット値が判定される。この実施の形態においては、デコーダは、そのランダム値又はシード値のコピー用の適切な更新値を容易に判定することができる。一実施の形態において、ＤＲが破損している場合、デコーダは、全ての可能なＱビット値及び関連する可能なランダム値又はシード値を用いて、候補復号の生成を試みる。この実施の形態において、局所的な相関メトリックが各候補復号に適用され、そのデータブロックに対する信頼度メトリックが算出される。
【０１４２】
一実施の形態において、上述の処理によってもデータブロックを逆量子化できないことがあるため、デコーダは遅延判定復号を行う。一実施の形態において、この遅延判定デコーダは、データのデコードを４ブロック遅延させる。デコーダが連続する４つの信頼度の低いメトリックを算出した場合、デコーダは、最も古いデータブロックの復号が正しくなかったと判定する。この場合、これに代わる復号、例えば次に尤度の高い復号が評価される。一実施の形態においては、直近の３つのデータブロックが代わりの推定値を用いて、逆ランダム化に用いられるシード値により逆ランダム化される。この処理は、直近のデータブロックの信頼度メトリックが所定の閾値Ｔより大きくなる４つの復号ブロックのシーケンスが生成されるまで繰り返される。
【０１４３】
ＦＩＧ．１７は、シード値を用いたＶＬデータブロックの時間変化逆ランダム化の手順の実施の形態を示すフローチャートである。まず、ステップ１７０５において、シード値を０に設定する。一実施の形態において、シード値は、８ビットのバイナリ数（例えば、００００００００）である。
【０１４４】
次に、ステップ１７１０において、次のＶＬデータブロックが読み出される。次に、ステップ１７１５において、このＶＬデータブロックのＤＲが欠落又は破損しているか否かが判定される。ＤＲが完全（intact）である場合、処理はステップ１７２０に進む。一方、ＤＲが完全ではない（欠落又は破損している）場合、処理はステップ１７５５に進む。
【０１４５】
ステップ１７１５において、現在のＶＬデータブロックのＤＲが完全であると判定された場合、ステップ１７２０からステップ１７５０によりＶＬデータが逆ランダム化される。これらのステップでは、ＦＩＧ．１２ｄを用いて上述したステップ１２８１からステップ１２９３と同様の処理が行われる。
一方、ステップ１７１５において、ＤＲが欠落又は破損していると判定された場合、上述のように、処理は、ステップ１７５５に進む。ステップ１７５５において、現在のデータブロックに対する全ての可能なシード値が算出される。一実施の形態においては、現在のＶＬデータブロックの現在のシード値について、５つの可能な候補シード値が算出される。この実施の形態において、５つの可能なシード値は以下の通りである。
ｘｘ００  Ｑ＝１
ｘｘ０１  Ｑ＝２
ｘｘ１０  Ｑ＝３
ｘｘ１１  Ｑ＝４
ｘ  Ｑ＝０
ここで、ｘｘは現在のデータブロックの処理の適用以前に存在したシード値を表す。最後の値は、シード値が右に１ビットシフトされるゼロブロック用の値である。
【０１４６】
次に、ステップ１７６０において、現在のデータブロックは、全ての可能なシード値に対して逆ランダム化される。各可能なシード値の逆ランダム化は、ステップ１７２０〜ステップ１７５０の処理と同様である。次に、ステップ１７６５において、可能なシード値の相関値が算出される。
【０１４７】
相関値の算出は、最小推定法(least squares estimates)、線形回帰法（linear regression）又は他の適切ないかなる手法により行ってもよい。相関値を判定する具体的な手法の例は、本願出願人による国際特許出願ＰＣＴ／ＵＳ９８／２２３４７号「伝送欠落に対するロバストエラー回復を行うためのソース符号化（Source Coding To Provide For Robust Error Recovery During Transmission Losses）」にも開示されている。
【０１４８】
次に、ステップ１７７０において、候補シード値を用いて、データブロックの信頼度メトリックが算出される。ステップ１７７５において、信頼度メトリックｃｉが閾値τを超えた場合、ステップ１７２５において、現在のＶＬデータブロックを逆ランダム化するための候補Ｑビット値を用いた処理が開始される。
【０１４９】
一方、候補メトリックｃｉが閾値τを超えない場合、処理は、ステップ１７８０に進む。ステップ１７８０においては、メモリに記憶されている最も古いデータブロックの信頼度メトリックが調べられる。一実施の形態においては、４つ前までのデータブロックがメモリに記憶される。すなわち、この実施の形態においては、信頼度メトリックｃｉ−３が調べられる。最も古いデータブロックの信頼度メトリックが閾値τを超えない場合、ステップ１７８０において、この最も古いデータブロックに対し代わりの又は次に尤度が高い復号が選択され、この最も古いデータブロックを逆ランダム化する。
【０１５０】
ステップ１７８５において、メモリ内に記憶されている残りの３つのデータブロックは、ステップ１７８０において得られたこの新たな代わりのシード値に基づいて、再び逆ランダム化される。残りのデータブロックに対する逆ランダム化は、ステップ１７２５〜ステップ１７５０における処理と同様である。処理は、ステップ１７５５に戻り、直近のデータブロックｃｉの信頼度メトリックが閾値τを超えるまで、ステップ１７６０〜ステップ１７５８が繰り返し実行される。
【０１５１】
一実施の形態においては、信頼度メトリックは、局所的な相関メトリックが可能な候補復号の内から正しい復号を生成できなかった場合を判定する。一実施の形態において、相関に基づく復号のための最も尤度の高い候補復号は、次に尤度の高い候補復号に比べて、より高い相関性を示す。信頼度メトリックは、最良の候補が与えられたあらゆるデータブロックに対して高い相関を示す度合いを数値的に示すものである。一実施の形態において、デコーダは、各可能な候補復号を実行し、局所的な相関に基づいて適切な復号を判定するよう試みる。この実施の形態においては、デコーダは、２つの最も尤度の高い復号、すなわち、最も高い局所的な相関を示す２つの復号に基づいて信頼度メトリックを算出する。この信頼度メトリックは、最も尤度の高い復号が次に尤度の高い復号よりどれだけ優れているかを示す。
【０１５２】
一実施の形態において、データブロックの局所的な相関構造に基づき、著しく優れた選択を生成しない復号は、低い信頼度メトリックを有する。１つの復号が他の全ての可能な復号に比べてより高い相関を生成するデータブロックは、大きな高い信頼度メトリックを有する。一実施の形態において、デコーダが連続するｎ個の低い信頼度メトリックを算出した場合、デコーダは、最も古いデータブロックの復号処理において復号エラーが生じたと判定する。
【０１５３】
例えば、デコーダが４つの逆ランダム化されたデータブロックの相関（Ｃ）を以下のように判定したとする。
Ｃ−３  低
Ｃ−２  低
Ｃ−１  高
Ｃ０  高
ここで、Ｃ０は最も直近の逆ランダム化されたデータブロックを表し、Ｃ−３は最も古い逆ランダム化されたデータブロックを表す。この場合、デコーダは、データブロック（−３）は正しく逆ランダム化されたと判定する。また、デコーダが４つの逆ランダム化されたデータブロックの相関を以下のように判定したとする。
Ｃ−３  高
Ｃ−２  低
Ｃ−１  低
Ｃ０  低
この場合、デコーダは、次のデータブロックを逆ランダム化するまで、データブロック（−２、−１、０）が正しく復号されたか否かを判断しない。
【０１５４】
次の逆ランダム化されたデータブロックが高い相関を示した場合、４つの逆ランダム化されたデータブロックの相関は以下のようになる。
Ｃ−３  低
Ｃ−２  低
Ｃ−１  低
Ｃ０  高
この場合、デコーダは、３つの低い相関を有するデータブロック（−３、−２、−１）は正しく逆ランダム化されたと判断する。
【０１５５】
一方、次の逆ランダム化されたデータブロックが低い相関を示した場合、４つの逆ランダム化されたデータブロックの相関は以下のようになる。
Ｃ−３  低
Ｃ−２  低
Ｃ−１  低
Ｃ０  低
この場合、デコーダは、最も古いデータブロック（−３）は不正に逆ランダム化されたと判断し、この最も古いデータブロックに対する代わりの逆ランダム化を調べ、逆ランダム化について次に尤度の高い候補を探す。一実施の形態においては、４つのデータブロック全てが低い相関を示した場合にのみ、最も古いデータブロックに対する代わりの候補が調べられる。他の実施の形態においては、この低い相関を示すデータブロックの数を大きく又は小さくしてもよく、また低い相関と高い相関の数の組み合わせを変更してもよい。
【０１５６】
本発明を好適な実施の形態を用いて説明した。上述の説明から、様々な変更、修正、変換及び用途が当業者にとって明らかである。
【図面の簡単な説明】
【図１】
ＦＩＧ．１Ａは、信号の符号化、伝送、復号の処理を包括的に示す図である。
【図２】
ＦＩＧ．１Ｂは、プロセッサにより実行されるソフトウェアとして実現された信号の符号化、伝送、復号の処理を示す図である。
【図３】
ＦＩＧ．１Ｃは、プロセッサにより実行されるソフトウェアとして実現された信号の符号化、伝送、復号の処理を示す図である。
【図４】
ＦＩＧ．１Ｄは、ハードウェア論理回路として実現された信号の符号化、伝送、復号の処理を示す図である。
【図５】
ＦＩＧ．１Ｅは、ハードウェア論理回路として実現された信号の符号化、伝送、復号の処理を示す図である。
【図６】
ＦＩＧ．２は、パケット構造の具体例を示す図である。
【図７】
ＦＩＧ．３は、本発明に基づく符号化処理の一例を説明するフローチャートである。
【図８】
ＦＩＧ．４は、本発明に基づく復号処理の一例を説明するフローチャートである。
【図９】
ＦＩＧ．５は、本発明に基づく画像−ブロックマッピングの一例を示す図である。
【図１０】
ＦＩＧ．５ａは、画像−ブロックマッピングにおいて用いられるシャッフリングパターンの一例を示す図である。
【図１１】
ＦＩＧ．６は、相補的及び連鎖的なブロック構造の例を示す図である。
【図１２】
ＦＩＧ．７ａは、フレームセット内のＹブロックのシャッフリングパターンの具体例を説明する図である。
【図１３】
ＦＩＧ．７ｂは、フレームセット内のＹブロックのシャッフリングパターンの具体例を説明する図である。
【図１４】
ＦＩＧ．７ｃは、フレームセット内のＹブロックのシャッフリングパターンの具体例を説明する図である。
【図１５】
ＦＩＧ．７ｄは、フレームセット内のＹブロックのシャッフリングパターンの具体例を説明する図である。
【図１６】
ＦＩＧ．８は、バッファ０内の累積的ＤＲ分布の具体例を示す図である。
【図１７】
ＦＩＧ．８ａは、本発明に基づく部分バッファリング処理の具体例を示す図である。
【図１８】
ＦＩＧ．９は、本発明に基づくバッファ内ＹＵＶブロックシャッフリングの具体例を示す図である。
【図１９】
ＦＩＧ．１０は、本発明に基づくグループ内ＶＬデータシャッフリングの具体例を示す図である。
【図２０】
ＦＩＧ．１１は、本発明に基づく３ブロックグループ内におけるＱコードの結合の具体例を示す図である。
【図２１】
ＦＩＧ．１１ａは、本発明に基づく動ブロックを含むフレーム対におけるＱコードの結合の具体例を示す図である。
【図２２】
ＦＩＧ．１２は、１／６バーストエラー欠落に起因する画素データエラーの具体例を示す図である。
【図２３】
ＦＩＧ．１２ａは、本発明に基づくＱコードのシャッフリング及びＱコードビットの分散の具体例を示す図である。
【図２４】
ＦＩＧ．１２ｂは、Ｑコードを再分散した場合における１／６バーストエラーに起因する画素データエラーの具体例を示す図である。
【図２５】
ＦＩＧ．１２ｃは、Ｑコードを再割当した場合における１／６バーストエラーに起因する画素データエラーの具体例を示す図である。
【図２６】
ＦＩＧ．１２ｄは、Ｑコードの時間変化ランダム化の具体例を示すフローチャートである。
【図２７】
ＦＩＧ．１３は、本発明に基づくＭＩＮシャッフリングの具体例を示す図である。
【図２８】
ＦＩＧ．１３ａは、動きフラグシャッフリング及び１フレーム対内における固定長データ欠落を示す図である。
【図２９】
ＦＩＧ．１４は、モジュロシャッフリングの具体例を示す図である。
【図３０】
ＦＩＧ．１４ａは、モジュロシャッフリングの結果及びモジュロシャッフリングに関連する固定長データ欠落を示す図である。
【図３１】
ＦＩＧ．１４ｂは、変換されたモジュロシャッフリングの結果及びこのモジュロシャッフリングに関連する固定長データ欠落を示す図である。
【図３２】
ＦＩＧ．１４ｃは、変換されたモジュロシャッフリングの結果及びこのモジュロシャッフリングに関連する固定長データ欠落を示す図である。
【図３３】
ＦＩＧ．１５は、フレームセット内の可変長データバッファリングの具体例を示す図である。
【図３４】
ＦＩＧ．１６は、本発明に基づくセグメント間ＶＬデータシャッフリングを説明する図である。
【図３５】
ＦＩＧ．１７は、本発明に基づくＱコードの遅延判定、時間変化ランダム化の具体例を示すフローチャートである。