JP2001521317A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2001521317A5 JP2001521317A5 JP2000517491A JP2000517491A JP2001521317A5 JP 2001521317 A5 JP2001521317 A5 JP 2001521317A5 JP 2000517491 A JP2000517491 A JP 2000517491A JP 2000517491 A JP2000517491 A JP 2000517491A JP 2001521317 A5 JP2001521317 A5 JP 2001521317A5
- Authority
- JP
- Japan
- Prior art keywords
- value
- block
- data
- blocks
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000005259 measurement Methods 0.000 description 221
- 238000000034 method Methods 0.000 description 131
- 238000011084 recovery Methods 0.000 description 113
- UIIMBOGNXHQVGW-UHFFFAOYSA-M buffer Substances [Na+].OC([O-])=O UIIMBOGNXHQVGW-UHFFFAOYSA-M 0.000 description 86
- 101700064277 nadA Proteins 0.000 description 81
- 230000005540 biological transmission Effects 0.000 description 74
- 238000010586 diagram Methods 0.000 description 68
- 238000011156 evaluation Methods 0.000 description 30
- 230000000875 corresponding Effects 0.000 description 26
- 230000001808 coupling Effects 0.000 description 22
- 238000010168 coupling process Methods 0.000 description 22
- 238000005859 coupling reaction Methods 0.000 description 22
- 239000000203 mixture Substances 0.000 description 18
- 230000004048 modification Effects 0.000 description 18
- 238000006011 modification reaction Methods 0.000 description 18
- 230000003139 buffering Effects 0.000 description 15
- 230000002123 temporal effect Effects 0.000 description 14
- 238000007906 compression Methods 0.000 description 12
- 230000036961 partial Effects 0.000 description 11
- 230000000295 complement Effects 0.000 description 8
- 238000010606 normalization Methods 0.000 description 8
- 239000002096 quantum dot Substances 0.000 description 8
- 230000003068 static Effects 0.000 description 8
- 230000003044 adaptive Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 7
- 230000000873 masking Effects 0.000 description 7
- 230000002829 reduced Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 6
- 230000000737 periodic Effects 0.000 description 6
- 101700030310 FUS Proteins 0.000 description 4
- 101700014034 Lcn3 Proteins 0.000 description 4
- 101700062818 NP Proteins 0.000 description 4
- 101710026336 S5 Proteins 0.000 description 4
- 101710023234 Segment 5 Proteins 0.000 description 4
- 230000002457 bidirectional Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000001186 cumulative Effects 0.000 description 3
- 239000006185 dispersion Substances 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000000265 homogenisation Methods 0.000 description 1
- 230000000670 limiting Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000001131 transforming Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Description
【書類名】 明細書
【発明の名称】 データ受信方法及び装置、その受信データの回復処理装置並びに記録媒体
【特許請求の範囲】
【請求項1】 符号化されたデータのビットストリームにおける欠落/破損したデータを受信するデータ受信方法において、
上記ビットストリーム内の関連するブロックのグループ用に複数の復号候補を生成するステップと、
上記復号候補のうち少なくとも1つの画像領域に基づいて各々のブロックの少なくとも1つの内部相関測定値を算出し、ブロック内における隣接する画素のブロック内相関を判定するステップと、
上記ブロックのグループの各ブロックにおいて隣接するブロック間の外部適合性測定値を判定し、ブロック内適合性を判定するステップと、
上記ブロックの内部相関測定値と上記関連するブロックの外部適合性測定値とを組み合わせて、該内部相関測定値と外部適合性測定値との結合測定値を生成するステップと、
上記内部相関性測定値と外部適合性測定値との結合測定値に基づいて、複数の復号候補から1つの復号候補を選択するステップとを有するデータ受信方法。
【請求項2】 上記測定値は、信頼度測定値であることを特徴とする請求項1記載のデータ受信方法。
【請求項3】 上記測定値は、自乗誤差測定値であることを特徴とする請求項1記載のデータ受信方法。
【請求項4】 上記測定値は、空間的相関測定値であることを特徴とする請求項1記載のデータ受信方法。
【請求項5】 上記測定値は、水平相関測定値であることを特徴とする請求項1記載のデータ受信方法。
【請求項6】 上記測定値は、垂直相関測定値であることを特徴とする請求項1記載のデータ受信方法。
【請求項7】 上記測定値は、対角相関測定値であることを特徴とする請求項1記載のデータ受信方法。
【請求項8】 上記測定値は、時間的動き測定値であることを特徴とする請求項1記載のデータ受信方法。
【請求項9】 符号化されたデータのビットストリームにおける欠落/破損したデータを受信するデータ受信方法において、
複数のブロック用に複数の復号候補を生成するステップと、
各々のブロックについて、上記復号候補のうち少なくとも1つの画像領域の内部平滑度測定値を測定するステップと、
上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定するステップと、
上記内部平滑度測定値と上記隣接するブロックの外部適合性測定値を組み合わせて、該内部平滑度測定値と外部適合性測定値との結合測定値を生成するステップと、
上記結合測定値に基づいて復号候補を選択するステップとを有するデータ受信方法。
【請求項10】 上記内部平滑度測定値を測定するステップにおいて、ラプラス測定を実行することを特徴とする請求項9記載のデータ受信方法。
【請求項11】 上記内部平滑度測定値を測定するステップは、位置[i,j]における復号
値をx[i][j]をとし、上記復号値x[i][j]を
【数1】
として正規化するステップと、上記復号値x[i][j]、ラプラスカーネルL[m][n]及びブロックラプラス値Lxに基づいて平滑度を算出するステップとを有し、上記ブロックラプラス値Lxは以下の式に基づいて算出されることを特徴とする請求項9記載のデータ受信方法。
【数2】
【請求項12】 上記正規化は、以下の式に基づいて演算されることを特徴とする請求項11記載のデータ受信方法。
【数3】
【請求項13】 上記Kは、8であることを特徴とする請求項11記載のデータ受信方法。
【請求項14】 上記内部平滑度測定値を測定するステップは、さらに、符号化された画像中の位置[i,j]におけるQコード値をq[i,j]とし、上記q[i,j]をq’[i,j]として正規化するステップと、上記q’[i,j]、ラプラスカーネルL[m][n]及びブロックラプラス値Lqに基づいて平滑度を算出するステップとを有し、上記ブロックラプラス値Lqは以下の式に基づいて算出されることを特徴とする請求項9記載のデータ受信方法。
【数4】
【請求項15】 上記q’[i,j]は、以下の式に基づいて算出されることを特徴とする請求項14記載のデータ受信方法。
【数5】
【請求項16】 上記Kは、8であることを特徴とする請求項14記載のデータ受信方法。
【請求項17】 上記内部平滑度測定値は、画像表面の2次特性を有することを特徴とする請求項9記載のデータ受信方法。
【請求項18】 上記内部平滑度測定値は、N>1とし、画像表面のN次特性を有することを特徴とする請求項9記載のデータ受信方法。
【請求項19】 上記内部平滑度測定値を測定するステップは、さらに、
上記画像領域が動きを有しているか否かを判定するステップと、
上記画像領域が動きを有しているとき、上記画像領域の第1のフィールドと第2のフィールドの平滑度を算出し、上記平滑度の平均値を求め、平滑度測定値を算出するステップを有し、
上記画像領域が動きを有していないとき、該画像領域の上記平滑度測定値を算出するステップを有することを特徴とする請求項9記載のデータ受信方法。
【請求項20】
上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定するステップは、さらに、空間的相関を評価することにより、動きを判定するステップを有することを特徴とする請求項9記載のデータ受信方法。
【請求項21】
上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を算出するステップは、さらに、隣接するブロックの境界画素の総数と候補ブロックの境界画素の総数との比率を判定するステップを有することを特徴とする請求項9記載のデータ受信方法。
【請求項22】
境界画素が適合境界画素の有効範囲内に存在するとき、該境界画素は適合可能であると判定することを特徴とする請求項21記載のデータ受信方法。
【請求項23】
復号候補の選択に用いる結合測定値を生成するステップをさらに有することを特徴とする請求項9記載のデータ受信方法。
【請求項24】
上記結合測定値は、上記結合測定値をMXとし、上記適合性測定値をSXとし、上記平滑度測定値をLXをとし、以下の式に基づいて算出されることを特徴とする請求項23記載のデータ受信方法。
MX=SX+(1−LX)
【請求項25】
上記結合測定値は、上記結合測定値をMXとし、上記適合性測定値をSXとし、経験的に決定された重み付けの値をwとし、上記平滑度をLXとし、以下の式に基づいて算出されることを特徴とする請求項23記載のデータ受信方法。
Mx=w・SX+(1−w)・(1−LX), 0<w<1
【請求項26】 符号化されたデータのビットストリームにおける欠落/破損したデータを受信する処理装置において、
複数のブロック用に複数の復号候補を生成する回路と、
上記復号候補のうち少なくとも1つの画像領域に基づいて各々のブロックの内部相関測定値を生成する回路と、
上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定する回路と、
上記内部相関測定値と上記隣接するブロックの外部適合性測定値とを組み合わせて、結合測定値を生成する回路と、
上記結合測定値に基づいて上記複数の復号候補から1つの復号候補を選択する回路とを備える処理装置。
【請求項27】 上記測定値は、信頼度測定値であることを特徴とする請求項26記載の処理装置。
【請求項28】 上記測定値は、自乗誤差測定値であることを特徴とする請求項26記載の処理装置。
【請求項29】 上記測定値は、空間的相関測定値であることを特徴とする請求項26記載の処理装置。
【請求項30】 上記測定値は、水平相関測定値であることを特徴とする請求項26記載の処理装置。
【請求項31】 上記測定値は、垂直相関測定値であることを特徴とする請求項26記載の処理装置。
【請求項32】 上記測定値は、対角相関測定値であることを特徴とする請求項26記載の処理装置。
【請求項33】 上記測定値は、時間的動き測定値であることを特徴とする請求項26記載の処理装置。
【請求項34】 符号化されたデータのビットストリームにおける欠落/破損したデータを受信する処理装置において、
複数のブロック用に複数の復号候補を生成する回路と、
各々のブロックについて、上記復号候補のうち少なくとも1つの画像領域の内部平滑度測定値を測定する回路と、
上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定する回路と、
上記内部平滑度測定値と上記隣接するブロックの外部適合性測定値とを組み合わせて、結合測定値を生成する回路と、
上記結合測定値に基づいて復号候補を選択する回路とを備える処理装置。
【請求項35】 上記内部平滑度測定値の測定する回路は、ラプラス測定を実行することを特徴とする請求項34記載の処理装置。
【請求項36】 上記内部平滑度測定値を測定する回路は、位置[i,j]における復号値をx[i][j]をとし、上記復号値x[i][j]を
【数6】
として正規化し、上記復号値x[i][j]、ラプラスカーネルL[m][n]及びブロックラプラス値LXに基づいて平滑度を算出し、上記ブロックラプラス値LXは以下の式に基づいて算出されることを特徴とする請求項34記載の処理装置。
【数7】
【請求項37】 上記正規化は、以下の式に基づいて演算されることを特徴とする請求項36記載の処理装置。
【数8】
【請求項38】 上記Kは、8であることを特徴とする請求項36記載の処理装置。
【請求項39】 上記内部平滑度測定値を測定する回路は、符号化された画像中の位置[i,j]におけるQコード値をq[i,j]をとし、上記q[i,j]をq’[i,j]として正規化し、上記q’[i,j]、ラプラスカーネルL[m][n]及びブロックラプラス値Lqに基づいて平滑度を算出し、上記ブロックラプラス値Lqは以下の式に基づいて算出されることを特徴とする請求項34記載の処理装置。
【数9】
【請求項40】 上記q’[i,j]は、以下の式に基づいて算出されることを特徴とする請求項39記載の処理装置。
【数10】
【請求項41】 上記Kは、8であることを特徴とする請求項39記載の処理装置。
【請求項42】 上記内部平滑度測定値は、画像表面の2次特性を有することを特徴とする請求項34記載の処理装置。
【請求項43】 上記内部平滑度測定値は、N>1とし、画像表面のN次特性を有することを特徴とする請求項34記載の処理装置。
【請求項44】 上記内部平滑度測定値を測定する回路は、
上記画像領域が動きを有しているか否かを判定し、
上記画像領域が動きを有しているとき、上記画像領域の第1のフィールドと第2のフィールドの平滑度を算出し、上記平滑度の平均値を求め、平滑度測定値を算出し、
上記画像領域が動きを有していないとき、該画像領域の上記平滑度測定値を算出することを特徴とする請求項34記載の処理装置。
【請求項45】 上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定する回路は、空間的相関を評価することにより、動きを判定することを特徴とする請求項34記載の処理装置。
【請求項46】 上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を算出する回路は、隣接するブロックの境界画素の総数と候補ブロックの境界画素の総数との比率を判定することを特徴とする請求項34記載の処理装置。
【請求項47】 境界画素が適合境界画素の有効範囲内に存在するとき、該境界画素は適合可能であると判定することを特徴とする請求項46記載の処理装置。
【請求項48】 復号候補の選択に用いる結合測定値を生成することを特徴とする請求項34記載の処理装置。
【請求項49】 上記結合測定値は、上記結合測定値をMXとし、上記適合性測定値をSXとし、上記平滑度測定値をLXとし、以下の式に基づいて算出されることを特徴とする請求項48記載の処理装置。
MX=SX+(1−LX)
【請求項50】 上記結合測定値は、上記結合測定値をMXとし、上記適合性測定値をSXとし、経験的に決定された重み付けの値をwとし、上記平滑度をLXとし、以下の式に基づいて算出されることを特徴とする請求項48記載の処理装置。
MX=w・SX+(1−w)・(1−LX), 0<w<1
【請求項51】 復号されたデータのビットストリームにおける欠落/破損したデータを処理装置に受信させるための、複数の実行可能な命令を格納するコンピュータにより読取可能な記録媒体であって、上記処理装置に、
複数のブロック用に複数の復号候補を生成するステップと、
上記復号候補のうち少なくとも1つの画像領域に基づいて各々のブロックの内部相関測定値を算出するステップと、
上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定するステップと、
上記内部相関測定値と上記隣接するブロックの外部適合性測定値とを組み合わせて、結合測定値を生成するステップと、
上記結合測定値に基づいて上記複数の復号候補から1つの復号候補を選択するステップとを実行させる命令が格納されていることを特徴とするコンピュータにより読取可能な記録媒体。
【請求項52】 上記測定値は、信頼度測定値であることを特徴とする請求項51記載のコンピュータにより読取可能な記録媒体。
【請求項53】 上記測定値は、自乗誤差測定値であることを特徴とする請求項51記載のコンピュータにより読取可能な記録媒体。
【請求項54】 上記測定値は、空間的相関測定値であることを特徴とする請求項51記載のコンピュータにより読取可能な記録媒体。
【請求項55】 上記測定値は、水平相関測定値であることを特徴とする請求項51記載のコンピュータにより読取可能な記録媒体。
【請求項56】 上記測定値は、垂直相関測定値であることを特徴とする請求項51記載のコンピュータにより読取可能な記録媒体。
【請求項57】 上記測定値は、対角相関測定値であることを特徴とする請求項51記載のコンピュータにより読取可能な記録媒体。
【請求項58】 上記測定値は、時間的動き測定値であることを特徴とする請求項51記載のコンピュータにより読取可能な記録媒体。
【請求項59】 復号されたデータのビットストリームにおける欠落/破損したデータを処理装置に受信させるための、複数の実行可能な命令を格納するコンピュータにより読取可能な記録媒体であって、上記処理装置に、
複数のブロック用に複数の復号候補を生成するステップと、
各々のブロックについて、上記復号候補のうち少なくとも1つの画像領域の内部平滑度測定値を測定するステップと、
上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定するステップと、
上記内部平滑度測定値と上記隣接するブロックの外部適合性測定値とを組み合わせて、結合測定値を生成するステップと、
上記結合測定値に基づいて複数の復号候補から1つの復号候補を選択するステップとを実行させる命令が格納されていることを特徴とするコンピュータにより読取可能な記録媒体。
【請求項60】 上記内部平滑度測定値を測定するステップにおいて、上記処理装置に、ラプラス測定を実行させる命令が格納されていることを特徴とする請求項59記載のコンピュータにより読取可能な記録媒体。
【請求項61】 上記内部平滑度測定値を測定するステップにおいて、上記処理装置に、位置[i,j]における復号値をx[i][j]とし、上記復号値x[i][j]を
【数11】
として正規化するステップと、上記復号値x[i][j]、ラプラスカーネルL[m][n]及びブロックラプラス値Lxに基づいて平滑度を算出するステップとを実行させる命令が格納されており、上記ブロックラプラス値Lxは以下の式に基づいて算出されることを特徴とする請求項59記載のコンピュータにより読取可能な記録媒体。
【数12】
【請求項62】 上記正規化は、以下の式に基づいて演算されることを特徴とする請求項61記載のコンピュータにより読取可能な記録媒体。
【数13】
【請求項63】 上記Kは、8であることを特徴とする請求項61記載のコンピュータにより読取可能な記録媒体。
【請求項64】 上記内部平滑度測定値を測定するステップにおいて、上記処理装置に、符号化された画像中の位置[i,j]におけるQコード値をq[i,j]をとし、上記q[i,j]をq’[i,j]として正規化するステップと、上記q’[i,j]、ラプラスカーネルL[m][n]及びブロックラプラス値Lqに基づいて平滑度を算出するステップとを実行させる命令が格納されており、上記ブロックラプラス値Lqは以下の式に基づいて算出されることを特徴とする請求項59記載のコンピュータにより読取可能な記録媒体。
【数14】
【請求項65】 上記q’[i,j]は、以下の式に基づいて算出されることを特徴とする請求項64記載のコンピュータにより読取可能な記録媒体。
【数15】
【請求項66】 上記Kは、8であることを特徴とする請求項64記載のコンピュータにより読取可能な記録媒体。
【請求項67】 上記内部平滑度測定値は、画像表面の2次特性を有することを特徴とする請求項59記載のコンピュータにより読取可能な記録媒体。
【請求項68】 上記内部平滑度測定値は、N>1とし、画像表面のN次特性を有することを特徴とする請求項59記載のコンピュータにより読取可能な記録媒体。
【請求項69】 上記内部平滑度測定値を測定するステップにおいて、上記処理装置に、
上記画像領域が動きを有しているか否かを判定するステップを実行させる命令が格納され、
上記画像領域が動きを有しているとき、上記画像領域の第1のフィールドと第2のフィールドの平滑度を算出し、上記平滑度の平均値を求め、平滑度測定値を算出するステップを実行させる命令が格納され、
上記画像領域が動きを有していないとき、該画像領域の上記平滑度測定値を算出するステップを実行させる命令が格納されていることを特徴とする請求項59記載のコンピュータにより読取可能な記録媒体。
【請求項70】 上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定するステップにおいて、上記処理装置に、空間的相関を評価することにより、動きを判定するステップを実行させる命令が格納されていることを特徴とする請求項59記載のコンピュータにより読取可能な記録媒体。
【請求項71】 上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を算出するステップにおいて、上記処理装置に、隣接するブロックの境界画素の総数と候補ブロックの境界画素の総数との比率を判定するステップを実行させる命令が格納されていることを特徴とする請求項59記載のコンピュータにより読取可能な記録媒体。
【請求項72】 境界画素が適合境界画素の有効範囲内に存在するとき、該境界画素は適合可能であると判定することを特徴とする請求項71記載のコンピュータにより読取可能な記録媒体。
【請求項73】 上記処理装置に、復号候補の選択に用いる結合測定値を生成するステップを実行させる命令が格納されていることを特徴とする請求項59記載のコンピュータにより読取可能な記録媒体。
【請求項74】 上記結合測定値は、上記結合測定値をMxとし、上記適合性測定値をSxとし、上記平滑度測定値をLxとし、以下の式に基づいて算出されることを特徴とする請求項73記載のコンピュータにより読取可能な記録媒体。
Mx=Sx+(1−Lx)
【請求項75】 上記結合測定値は、上記結合測定値をMxとし、上記適合性測定値をSxとし、経験的に決定された重み付けの値をwとし、上記平滑度をLxとし、以下の式に基づいて算出されることを特徴とする請求項73記載のコンピュータにより読取可能な記録媒体。
Mx=w・Sx+(1−w)・(1−Lx), 0<w<1
【請求項76】 符号化されたデータのビットストリームにおける欠落/破損したデータを受信するデータ受信装置において、
複数のブロック用に複数の復号候補を生成する生成手段と、
各々のブロックについて、上記復号候補のうち少なくとも1つの画像領域の内部平滑度測定値を測定する測定手段と、
上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定する判定手段と、
上記内部平滑度測定値と上記隣接するブロックの外部適合性測定値とを組み合わせて、結合測定値を生成する結合手段と、
上記結合測定値に基づいて上記複数の復号候補から1つの復号候補を選択する選択手段とを備えるデータ受信装置。
【請求項77】 上記平滑度を測定する測定手段において、ラプラス測定を実行することを特徴とする請求項76記載のデータ受信装置。
【請求項78】 上記平滑度を測定する測定手段は、位置[i,j]における復号値をx[i][j]をとし、上記復号値x[i][j]を
【数16】
として正規化する正規化手段と、上記復号値x[i][j]、ラプラスカーネルL[m][n]及びブロックラプラス値Lxに基づいて平滑度を算出する算出手段を有し、上記ブロックラプラス値Lxは以下の式に基づいて算出されることを特徴とする請求項76記載のデータ受信装置。
【数17】
【請求項79】 上記正規化は、以下の式に基づいて演算されることを特徴とする請求項78記載のデータ受信装置。
【数18】
【請求項80】 上記平滑度を測定する測定手段は、符号化された画像中の位置[i,j]におけるQコード値をq[i,j]とし、上記q[i,j]をq’[i,j]として正規化する正規化手段と、上記q’[i,j]、ラプラスカーネルL[m][n]及びブロックラプラス値Lqに基づいて平滑度を算出する算出手段とを有し、上記ブロックラプラス値Lqは以下の式に基づいて算出されることを特徴とする請求項76記載のデータ受信装置。
【数19】
【請求項81】 上記q’[i,j]は、以下の式に基づいて算出されることを特徴とする請求項80記載のデータ受信装置。
【数20】
【請求項82】 上記Kは、8であることを特徴とする請求項80記載のデータ受信装置。
【発明の詳細な説明】
【0001】
発明の背景
1.関連出願
本出願は、1997年10月23日出願の米国特許出願番号08/956,632号「伝送損失におけるエラーを強力に回復する画像−ブロックマッピング(Image-to-Block Mapping to Provide for Robust Error Recovery During Transmission Losses)」、1997年10月23日出願の米国特許出願番号08/957,555号「伝送損失におけるエラーを強力に回復する原始コーディング(Source Coding to Provide for Robust Error Recovery During Transmission Losses)」、1997年10月23日出願の米国特許出願番号08/956,870号「伝送損失におけるエラーを強力に回復するマルチプルブロック回復方法(Multiple Block Recovery Method to Provide for Robust Error Recovery During Transmission Losses)」の一部継続出願として1998年1月2日に出願された米国特許出願番号09/002,547号「伝送損失におけるエラーを強力に回復する画像−ブロックマッピング(Image-to-Block Mapping to Provide for Robust Error Recovery During Transmission Losses)」、1998年1月2日に出願された米国特許出願番号09/002,470号「伝送損失におけるエラーを強力に回復する原始コーディング(Source Coding to Provide for Robust Error Recovery During Transmission Losses)」、1998年1月2日に出願された米国特許出願番号09/002,553号「伝送損失におけるエラーを強力に回復するマルチプルブロック回復方法(Multiple Block Recovery Method to Provide for Robust Error Recovery During Transmission Losses)」の一部継続出願として1998年1月30日に出願された米国特許出願番号09/016,083号「伝送損失におけるエラーを強力に回復する原始コーディング(Source Coding to Provide for Robust Error Recovery During Transmission Losses)」の継続出願である。1998年1月30日に出願された米国特許出願番号09/016,083号、1998年1月2日に出願された米国特許出願番号09/002,547号、米国特許出願番号09/002,470号、米国特許出願番号09/002,553号、1997年10月23日出願の米国特許出願番号08/956,632号、米国特許出願番号08/957,555号、米国特許出願番号08/956,870号は、参照により本願に組み込まれるものとする。
【0002】
2.発明の分野
本発明は、信号伝送中のデータ欠落に起因するエラーを強力に回復する技術に関する。
【0003】
3.背景技術
信号伝送中に発生するランダムエラーにより失われたデータを再構築するための様々な手法が提案されている。しかしながら、これらの手法は、連続したデータパケットの欠落を回復することはできない。連続したデータパケットの欠落は、当分野では、バーストエラーと呼ばれる。バーストエラーにより、再生信号は、大きく劣化する。さらに、通信の高速化を目的とする圧縮技術は、バーストエラーにより起こる信号の劣化を増長させ、これにより再生信号の劣化はさらに深刻なものとなる。バーストエラーによる伝送信号及び/又は記録信号への影響の例は、圧縮技術が重要な役割を果たす高精細度テレビジョン(high definition television:以下、HDTVという。)や、移動通信装置等において確認される。
【0004】
HDTVの出現により、テレビジョンシステムにおいて、ナショナルテレビジョンシステムコミッティ(National Television Systems Committee:NTSC)が提案する従来の標準規格より高い解像度が実現されるようになった。現在提案されているHDTV信号は、主にデジタル信号である。カラーテレビジョン信号がデジタル形式に変換される場合、通常、輝度信号及び色差信号は、8ビットにデジタル化される。カラーテレビジョン信号をデジタル伝送するためには、216メガビット毎秒の基準データ伝送速度が必要である。この伝送速度は、HDTVの場合はさらに高く、通常、1200メガビット毎秒の伝送速度が必要となる。このような高い伝送速度は、現在の無線規格によりサポートされている帯域幅をはるかに上回る。したがって、効率的な圧縮技術が求められている。
【0005】
圧縮技術は、移動通信の分野においても重要な役割を果たす。通常、移動通信の用途における遠隔の端末間でパケットデータが送受信される。移動通信の伝送チャネル数は限られており、パケット送信の前にパケットを効率的に圧縮する技術が必要である。高い伝送速度を達成するために、多くの圧縮技術が提案されている。
【0006】
画像圧縮のための適応ダイナミックレンジコーディング(Adaptive Dynamic Range Coding:以下、ADRCという。)及び、離散コサイン変換(discrete cosine transform:以下、DCTという。)技術が知られている。これらの技術は、画像内の局所的な相関を利用して高圧縮比を達成するものである。しかしながら、符号化された信号を復号する際にエラーが顕著となるため、効率的な圧縮アルゴリズムは、複合的なエラーの増殖の原因ともなる。このようなエラーの増大により、再生映像は大幅に劣化する。
【0007】
発明の開示
本発明は、信号を原始コーディングする方法を提供する。特に、本発明は、複数の信号成分からなる信号を処理する。各信号成分は、ビットストリームとして符号化される。与えられたビットストリームは、異なる複数のビットストリームに分散される。これにより、セグメント成分のパラメータ記述成分が異なる複数のビットストリームに分散される。分散処理により、エラーは複数レベルに分散される。したがって、分散処理の逆の処理がデコーダによりなされると、伝送時のバーストエラーは局所的な欠落として分散される。
【0008】
本発明は、複数レベルのシャッフリング処理を提供する。信号は、複数のレベルを有するものと定義される。各レベルは、複数のフレーム、複数の画素、複数のビットから構成される。一具体例において、各レベル内及びレベル間でシャッフリングが行われ、これにより欠落が発生した画像領域における画像の再構築が容易となる。
【0009】
すなわち、本発明にかかるデータ受信方法は、符号化されたデータのビットストリームにおける欠落/破損したデータを受信するデータ受信方法において、上記ビットストリーム内の関連するブロックのグループ用に複数の復号候補を生成するステップと、上記復号候補のうち少なくとも1つの画像領域に基づいて各々のブロックの少なくとも1つの内部相関測定値を算出し、ブロック内における隣接する画素のブロック内相関を判定するステップと、上記ブロックのグループの各ブロックにおいて隣接するブロック間の外部適合性測定値を判定し、ブロック内適合性を判定するステップと、上記ブロックの内部相関測定値と上記関連するブロックの外部適合性測定値とを組み合わせて、該内部相関測定値と外部適合性測定値との結合測定値を生成するステップと、上記内部相関性測定値と外部適合性測定値との結合測定値に基づいて、複数の復号候補から1つの復号候補を選択するステップとを有する。
【0010】
ここで、上記測定値は、信頼度測定値、自乗誤差測定値、空間的相関測定値、水平相関測定値、垂直相関測定値、対角相関測定値、時間的動き測定値のいずれかであることが好ましい。
【0011】
次に、本発明に係るデータ受信方法は、符号化されたデータのビットストリームにおける欠落/破損したデータを受信するデータ受信方法において、複数のブロック用に複数の復号候補を生成するステップと、各々のブロックについて、上記復号候補のうち少なくとも1つの画像領域の内部平滑度測定値を測定するステップと、上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定するステップと、上記内部平滑度測定値と上記隣接するブロックの外部適合性測定値を組み合わせて、該内部平滑度測定値と外部適合性測定値との結合測定値を生成するステップと、上記結合測定値に基づいて復号候補を選択するステップとを有する。
【0012】
ここで、上記内部平滑度測定値を測定するステップにおいて、ラプラス測定を実行する。
【0013】
上記内部平滑度測定値を測定するステップは、位置[i,j]における復号値をx[i][j]をとし、上記復号値x[i][j]を次式として正規化するステップと、上記復号値x[i][j]、ラプラスカーネルL[m][n]及びブロックラプラス値Lxに基づいて平滑度を算出するステップとを有し、上記ブロックラプラス値Lxは以下の式に基づいて算出される。
【0014】
【数21】
【0015】
【数22】
【0016】
また、上記正規化は、以下の式に基づいて演算される。
【0017】
【数23】
【0018】
ここで上記Kは、8であることが好ましい。
【0019】
上記内部平滑度測定値を測定するステップは、さらに、符号化された画像中の位置[i,j]におけるQコード値をq[i,j]とし、上記q[i,j]をq’[i,j]として正規化するステップと、上記q’[i,j]、ラプラスカーネルL[m][n]及びブロックラプラス値Lqに基づいて平滑度を算出するステップとを有し、上記ブロックラプラス値Lqは以下の式に基づいて算出される。
【0020】
【数24】
【0021】
また、上記q’[i,j]は、以下の式に基づいて算出される。
【0022】
【数25】
【0023】
ここで上記Kは、8であることが好ましい。
【0024】
上記内部平滑度測定値は、画像表面の2次特性を有する。
【0025】
上記内部平滑度測定値は、N>1とし、画像表面のN次特性を有する。
【0026】
上記内部平滑度測定値を測定するステップは、さらに、上記画像領域が動きを有しているか否かを判定するステップと、上記画像領域が動きを有しているとき、上記画像領域の第1のフィールドと第2のフィールドの平滑度を算出し、上記平滑度の平均値を求め、平滑度測定値を算出するステップを有し、上記画像領域が動きを有していないとき、該画像領域の上記平滑度測定値を算出するステップを有する。
【0027】
上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定するステップは、さらに、空間的相関を評価することにより、動きを判定するステップを有する。
【0028】
上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を算出するステップは、さらに、隣接するブロックの境界画素の総数と候補ブロックの境界画素の総数との比率を判定するステップを有する。
【0029】
そして、境界画素が適合境界画素の有効範囲内に存在するとき、該境界画素は適合可能であると判定する。
【0030】
ここで、復号候補の選択に用いる結合測定値を生成するステップをさらに有することようにしてもよい。
【0031】
上記結合測定値は、上記結合測定値をMXとし、上記適合性測定値をSXとし、上記平滑度測定値をLXをとし、以下の式に基づいて算出される。
【0032】
MX=SX+(1−LX)
上記結合測定値は、上記結合測定値をMXとし、上記適合性測定値をSXとし、経験的に決定された重み付けの値をwとし、上記平滑度をLXとし、以下の式に基づいて算出される。
【0033】
Mx=w・SX+(1−w)・(1−LX), 0<w<1
次に、本発明に係る符号化されたデータのビットストリームにおける欠落/破損したデータを受信する処理装置は、該処理装置において、複数のブロック用に複数の復号候補を生成する回路と、上記復号候補のうち少なくとも1つの画像領域に基づいて各々のブロックの内部相関測定値を生成する回路と、上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定する回路と、上記内部相関測定値と上記隣接するブロックの外部適合性測定値とを組み合わせて、結合測定値を生成する回路と、上記結合測定値に基づいて上記複数の復号候補から1つの復号候補を選択する回路とを備える。
【0034】
また、該処理装置は複数のブロック用に複数の復号候補を生成する回路と、各々のブロックについて、上記復号候補のうち少なくとも1つの画像領域の内部平滑度測定値を測定する回路と、上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定する回路と、上記内部平滑度測定値と上記隣接するブロックの外部適合性測定値とを組み合わせて、結合測定値を生成する回路と、上記結合測定値に基づいて復号候補を選択する回路とを備えるものでもよい。
【0035】
次に、本発明に係る記録媒体は、復号されたデータのビットストリームにおける欠落/破損したデータを処理装置に受信させるための、複数の実行可能な命令を格納するコンピュータにより読取可能な記録媒体であって、上記処理装置に、複数のブロック用に複数の復号候補を生成するステップと、上記復号候補のうち少なくとも1つの画像領域に基づいて各々のブロックの内部相関測定値を算出するステップと、上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定するステップと、上記内部相関測定値と上記隣接するブロックの外部適合性測定値とを組み合わせて、結合測定値を生成するステップと、上記結合測定値に基づいて上記複数の復号候補から1つの復号候補を選択するステップとを実行させる命令が格納されている。
【0036】
また、本発明に係る記録媒体は、復号されたデータのビットストリームにおける欠落/破損したデータを処理装置に受信させるための、複数の実行可能な命令を格納するコンピュータにより読取可能な記録媒体であって、上記処理装置に、複数のブロック用に複数の復号候補を生成するステップと、各々のブロックについて、上記復号候補のうち少なくとも1つの画像領域の内部平滑度測定値を測定するステップと、上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定するステップと、上記内部平滑度測定値と上記隣接するブロックの外部適合性測定値とを組み合わせて、結合測定値を生成するステップと、上記結合測定値に基づいて複数の復号候補から1つの復号候補を選択するステップとを実行させる命令が格納されるようにしてもよい。
【0037】
次に、本発明に係るデータ受信装置は、符号化されたデータのビットストリームにおける欠落/破損したデータを受信するデータ受信装置において、複数のブロック用に複数の復号候補を生成する生成手段と、各々のブロックについて、上記復号候補のうち少なくとも1つの画像領域の内部平滑度測定値を測定する測定手段と、上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定する判定手段と、上記内部平滑度測定値と上記隣接するブロックの外部適合性測定値とを組み合わせて、結合測定値を生成する結合手段と、上記結合測定値に基づいて上記複数の復号候補から1つの復号候補を選択する選択手段とを備える。
【0038】
発明の詳細な説明
本発明は、強力なエラー回復を実現するコーディング及び信号ストリームの処理の手法を提供する。以下の記述においては、説明を目的として、本発明の理解を容易にするために多くの詳細事項について述べる。しかしながら、当業者にとって、これら特定の詳細事項が本発明の実施に必ずしも必要でないことは明らかである。また、本発明を具体的かつ明瞭に説明するために、ブロック図においては、周知の電気的構造及び回路を例示する。
【0039】
本発明を適用した信号処理方法及び信号構造について、映像信号の処理を例に説明する。しかしながら、ここに説明する方法及び装置は、音声信号や他のデジタルデータビットストリーム等、複数の信号成分からなる種々の信号に適用することができる。さらに、ここに説明する処理例は、データ圧縮のための適応ダイナミックレンジコーディング(Adaptive Dynamic Range Coding:以下、ADRCという。)処理を用いている。しかしながら、他の様々なコーディング方式及びアルゴリズムを用いてもよい。ADRCの詳細については、1991年9月4日〜6日にイタリアのトリノで開催されたHDTV及びその未来に関する第4回国際研究会(Fourth International Workshop on HDTV and Beyond)において、近藤、藤森、中屋らにより発表された「将来のHDTVデジタルVTRのための適応ダイナミックレンジコーディング方式(Adaptive Dynamic Range Coding Scheme for Future HDTV Digital VTR)」に記載されている。
【0040】
この論文では、異なる種類のADRCが紹介されている。これらは、以下の式により実現される。
【0041】
【数26】
【0042】
【数27】
【0043】
【数28】
【0044】
信号の符号化、伝送、続いて行われる復号処理を包括的にFIG.1に示す。信号100は、エンコーダ110に入力されるデータストリームである。エンコーダ110は、ADRC圧縮アルゴリズムに基づいて、伝送媒体135を介して伝送されるパケット1・・・Nを生成する。デコーダ120は、これらパケット1・・・Nを受信し、信号130を生成する。信号130は、信号100を再構築する信号である。
【0045】
エンコーダ110とデコーダ120は、様々な形式で実現されて、以下に説明する機能を実行することができる。ある具体例においては、エンコーダ110及び/又はデコーダ120は、通常、中央演算処理装置、メモリ、1又は複数の入出力装置、コプロセッサ等を備える汎用又は専用のコンピュータシステムにより実行される、媒体に格納されたソフトウェアプログラムとして実現される。これに代えて、エンコーダ110及び/又はデコーダ120を以下に説明する機能を実行する論理回路として実現してもよい。さらに、エンコーダ110及び/又はデコーダ120は、ハードウェア、ソフトウェア又はファームウェアの組み合わせとして実現してもよい。
【0046】
この具体例においては、信号100は、それぞれがビデオシステムにおいてインターレースされた画像を示す情報を含む一連のビデオフレームからなるカラービデオ画像を示す信号である。各フレームは、2つのフィールドからなり、一方のフィールドは画像の偶数ラインに相当し、他方のフィールドは、画像の奇数ラインに相当する。データは画素値を含み、画素値は、画像内の対応する位置の色成分を表す。例えば、この具体例において、色成分は、輝度信号Yと、色差信号U、Vからなる。なお、本発明による処理がインターレース処理されたビデオ信号以外の信号にも適用できることは明らかである。さらに、本発明はYUV色空間に限定されるものではなく、この他の色空間を示す画像にも適応できることは明らかである。
【0047】
FIG.1において、エンコーダ110は、Y信号、U信号、V信号を分離し、それぞれの信号グループをADRCアルゴリズムに基づいて別々に処理する。以下では、説明を簡潔に行うために、Y信号の処理について述べるが、符号化処理は、U信号及びV信号に対しても同様に行われる。
【0048】
この具体例において、エンコーダ110は、信号100の、この明細書ではフレーム対と呼ばれる2つの連続するフレームに亘るY信号を3つの3次元(3D)ブロックにグループ化する。さらに、一具体例では、3Dブロックは、所定のフレーム対に亘る同一の局所領域における2つの2次元ブロックをグループ化して生成される。ここで、2次元(2D)ブロックは、フレーム又はフィールド内の局所画素をグループ化して生成される。ここに記述する処理は、他のブロック構造に対しても適用できる。信号のグループ化については、画像−ブロックマッピングの説明において詳述する。
【0049】
この具体例においては、任意の3Dブロックに対し、エンコーダ110は、3Dブロックを形成する2つの2Dブロック間について、画素値に変化があるか否かを算出する。値に実質的な変化が認められた場合は、モーションフラグ(Motion Flag)が設定される。当分野で周知のとおり、モーションフラグを用いることにより、エンコーダ110は、各フレーム対において画像の特定領域の画像が同じ場合、量子化符号の数を減らすことができる。エンコーダ110は、3Dブロック内における最大画素強度値(MAX)及び最小画素強度値(MIN)を検出する。エンコーダ110は、これら値MAX、MINを用いて、与えられたデータの3Dブロックのダイナミックレンジ値(DR)を算出する。変形例では、ノン・エッジ・マッチングADRCの場合、DR=MAX-MIN+1である。また、エッジ・マッチングADRCの場合、DR=MAX-MINである。他の具体例においては、エンコーダ110は、ビデオフレームのシーケンスを示すフレームのストリーム信号をフレーム毎に符号化する。さらに、他の変形例においては、エンコーダ110は、ビデオフィールドのシーケンスを示すフィールドのストリーム信号をフィールド毎に符号化する。この場合、モーションフラグは使用されず、2Dブロックを用いて値MIN,MAX,DRを算出する。
【0050】
この具体例においては、エンコーダ110は、算出されたDRと閾値テーブル(図示せず)を参照し、DRに対応するブロック内の画素を符号化するために用いる量子化ビット(Qビット)のビット数を決定する。画素を符号化することにより、量子化符号(Qコード)が得られる。Qコードは、記録又は伝送を目的として使用される圧縮画像データに相当する。したがって、任意の3Dブロック内の全ての画素は、同じQビットにより符号化され、これにより3D符号化ブロックが形成される。3D符号化ブロックにおけるQコード、MIN、モーションフラグ、及びDRをまとめて、3D−ADRCブロックと呼ぶ。これに代えて、2Dブロックを符号化する場合、与えられた2DブロックにおけるQコード、MIN及びDRにより2D−ADRCブロックが構成される。
【0051】
様々な閾値テーブルを実現することができる。一具体例においては、閾値テーブルは、一列のDR閾値からなる。Qビットは、閾値テーブルの列において隣り合う2つのDR値の範囲を符号化するために用いる量子化ビット数に対応する。変形例では、複数の列を有し、所望の伝送速度に応じて列を選択する。閾値テーブルの各列は、閾値インデックスにより識別される。閾値の選択については、後述する部分バッファリングの説明で詳述する。ADRC符号化及びバッファリングのさらなる詳細については、本発明の譲受人が譲受した米国特許番号第4,722,003号「高効率コーディング装置(High Efficiency Coding Apparatus)」及び同じ名称の米国特許番号第4,845,560号「高効率コーディング装置(High Efficiency Coding Apparatus)」に開示されている。
【0052】
以下では、Qコードを可変長データ(variable length data: VLデータ)とも呼ぶ。また、DR、MIN、モーションフラグをブロック属性と呼ぶ。ブロック属性は、閾値インデックスとともに固定長データ(fixed length data: FLデータ)を構成する。さらに、上述の説明の観点からみれば、ブロック属性は、複数の成分を有する信号要素のその成分に関するパラメータを記述するものである。変形例においては、FLデータは、Qビット符号を含む。これにより、復号処理においてQビット情報をDRから導き出す必要がなくなる。したがって、DR情報が欠落又は破損された場合でもQビット符号に基づいてQビット情報を求めることができる。さらにまた、Qビット符号が欠落又は破損された場合には、DRに基づいてQビット情報を導き出すこともできる。したがって、DR及びQビットを回復する必要性を低下させることができる。
【0053】
Qビット符号を新たに設けることにより、各ADRCブロックについて伝送すべきビット数が増加するという問題がある。しかしながら、一具体例においては、グループ化されたADRCブロックの複数のQコードは、例えば加算関数や連結関数に基づいて連結される。たとえば、3つのADRCブロックがグループ化され、各ADRCブロックのQビット値がそれぞれ3、4、4である場合、FLデータに符号化される合計値は11である。このように合計値を表すために必要なビット数は、それぞれの値を個別に表すために必要なビット数に比べて少なく、後述するように、破損されていないグループのQビット値を用いて、Qビット回復処理を行うことなく、Qビット値を求めることができる。
【0054】
さらに他の変形例も可能である。例えば、モーションフラグデータを符号化してもよい。この場合、Qビット及びモーションフラグデータにタグが付され、このタグを用いて符号テーブルを参照する。コーディングの手法及び機能はアプリケーションにより異なる。
【0055】
フレーム、ブロック属性、VLデータは、ビデオ信号内の様々な成分を記述している。これら成分の境界、位置、量は、ビデオ信号の伝送及び圧縮属性に応じて異なる。本実施の形態においては、これら成分は、ビデオ信号のビットストリーム内で変更及びシャッフリングされ、これにより伝送欠落に対する強力なエラー回復が実現される。
【0056】
以下の説明では、ビデオ信号のADRC符号化及びシャッフリングに基づいて、1/6連続パケット伝送欠落の許容について例示的に記述する。すなわち、以下に示す成分の定義及び分割の手法は、一具体例にすぎない。したがって、他の形態も可能である。データセットは、ビデオデータの区分又は他の種類のデータ信号を含む。したがって、一具体例においては、フレームセットは、1又は複数の連続するフレームを含むデータセットの1種である。セグメントは、1/6に分割されたQコードを格納する記憶容量を有し、フレームセットには、ブロック属性が含まれる。データのシャッフリングは、セグメント及び/又はバッファ内の成分を相互に交換することにより行われる。続いて、セグメントに格納されたデータを用いて、伝送のためのデータパケットを生成する。したがって、以下に説明するように、伝送中にあるセグメントが欠落した場合、そのセグメントから生成される全てのパケットがなくなる。同様に、伝送中にセグメントの一部が欠落した場合、そのセグメントから生成される対応する数のパケットが伝送中になくなる。
【0057】
以下では、ADRC符号化されたデータにおける1/6連続パケット欠落について説明するが、ここに説明する方法及び装置は、様々な符号化/復号方式に結びつけられた。
【0058】
FIG.2は、ポイントトゥポイント(point-to-point)接続又はネットワークを介してデータを伝送するために用いられるパケット構造200の具体例を示す。パケット構造200は、エンコーダ110により生成され、伝送媒体135を介して伝送される。一具体例においては、パケット構造200は、5バイトのヘッダ情報と、8ビットのDRと、8ビットのMINと、モーションフラグと、5ビットの閾値インデックスと、354ビットのQコードとを有する。ここに示すパケット構造200は、パケット構造の一例であり、ネットワークの非同期伝送モード(asynchronous transfer mode:ATM)による伝送に適応するように構成されたものである。なお、本発明は、このようなパケット構造に限定されるものではなく、様々なネットワークにおける種々のパケット構造に適用できるものである。
【0059】
上述のように、伝送媒体(例えば、媒体)135は、エラーフリーの伝送媒体とみなすことはできず、したがってパケットは欠落又は破損するおそれがある。上述のとおり、従来よりこのような欠落や破損を検出する手法が提案されているが、通常、実質的な画像の劣化は避けられなかった。本発明は、このような欠落又は破損に対する強力なエラー回復の手法を提供する。以下の説明においては、複数の連続するパケットの欠落であるバースト欠落が最も発生する可能性の高いエラーであると仮定するが、ランダムパケット欠落も発生する可能性がある。
【0060】
1又は複数の連続するパケットのデータを確実且つ強力に回復するために、本発明に基づく装置及び方法は、複数レベルのシャッフリングを行う。特に、伝送パケットに含まれるFLデータ及びVLデータは、ある画像の空間的及び時間的に離間した位置にあるデータを含んでいる。データのシャッフリングにより、いかなるバーストエラーも分散され、これによりエラー回復が容易となる。後述するように、シャッフリングによりブロック属性とQビット値を回復することができる。
【0061】
データ符号化/復号
FIG.3は、エンコーダ110により実行される符号化処理の一具体例を説明するフローチャートである。また、FIG.3は、画像の劣化を防止し、強力なエラー回復を容易にするためのシャッフリング処理の概要を示す図でもある。
【0062】
FIG.3におけるステップ1において、表示成分とも呼ばれる入力フレームセットに対し、伝送量を削減するための間引きを行う。Y信号については、水平方向に元の幅から3/4となるよう間引きし、U信号及びY信号については、それぞれ元の高さ及び元の幅から1/2となるよう間引きする。これにより、各フレーム対が3960Yブロック、660Uブロック、660Vブロックを有する3:1:0のビデオフォーマットが形成される。上述のように、ここではY信号の処理に関する説明を行うが、この処理はU信号及びY信号についても適用される。ステップ2において、2つのYフレーム画像を3Dブロックにマッピングする。ステップ3において、3Dブロックをシャッフリングする。ステップ4において、ADRCバッファリング及び符号化を行う。ステップ5において、符号化されたYブロック、Uブロック、Vブロックをバッファ内でシャッフリングする。
【0063】
ステップ6において、符号化された3Dブロックのグループ用のVLデータと、これに対応するブロック属性をシャッフリングする。ステップ7において、FLデータを異なるセグメントに亘ってシャッフリングする。ステップ8において、ポストアンブルを充足し、すなわちバッファ端の可変領域が所定のビットストリームにより充足される。ステップ9において、VLデータを異なるセグメントに亘ってシャッフリングする。
【0064】
以下では、符号化処理の前及び後の画素データの処理を例に本発明に基づくシャッフリングの手法を説明する。変形例として、ハードウェアにより独立したデータ値のシャッフリング及びデシャッフリングを行ってもよい。特に、ハードウェアは、ブロック値のアドレスを異なるアドレスにマッピングすることによりシャッフリング/デシャッフリング処理を実現する。しかしながら、シャッフリング処理は、データ処理の後に行う必要があるため、アドレスマッピングは、データに従属する値に対しては行うことができない。一方、後述するグループ内VLデータシャッフリングは、データに従属する値に対しても行うことができる。さらに、本発明を説明する一例として、以下に示すシャッフリングは、離散的なデータセットに対して行われる。しかしながら、変形例においては、信号は、ビットから画素及びフレームまでの複数のデータレベルに基づいて定義される。シャッフリング処理は、信号内で定義される各レベルにおいて、及び信号内の異なるレベル間でも行うことができる。
【0065】
FIG.4は、デコーダ120により実行される復号処理の例を説明するフローチャートである。好ましくは、変換処理及びデシャッフリング処理は、FIG.3に示す処理と逆の処理である。FIG.4は、さらにQビット、モーションフラグ、DR、MIN及び画素データの異なる組み合わせにおいてエラー回復を実現する革新的な処理を示している。Qビット回復、モーションフラグ回復、DR回復、MIN回復、画素回復の異なる具体例において異なる組み合わせを用いるエラー回復処理については後に詳細に説明する。
【0066】
画像−ブロックマッピング
本発明において、1つのフレームは、通常5280個の2Dブロックを含み、各2Dブロックは、64画素からなる。第1のフレームに基づく2Dブロックとそれに続くフレームの2Dブロックが結合されて3Dブロックが形成されるため、フレーム対は5280個の3Dブロックから構成される。
【0067】
画像−ブロックマッピングは、フレーム又はフレームセットのデータをそれぞれ2Dブロック又は3Dブロックに分割する目的で行われる。さらに、画像−ブロックマッピングは、相補的パターン及び/又は連鎖的(interlocking)パターンを用いてフレーム内の画素を分割し、これにより伝送欠落に対する強力なエラー回復が実現される。しかしながら、与えられたDR値が過大になってしまう可能性を低減するために、各2Dブロックは、局所的な範囲の画素から構成する。
【0068】
FIG.5は、例示的に示す画像の16画素セクションに対する画像−ブロック変換処理の具体例を示す図である。画像500は、単一のフレームの局所的な領域を形成する16個の画素からなる。画像500内の各画素は、強度値により示される。この例では、画像500の最上列左端の画素の強度は100であり、最下列右端の画素の強度は10である。
【0069】
この具体例においては、画像500内の異なる領域における画素を用いて、2Dブロック510、520、530、540を生成する。2Dブロック510、520、530、540は、符号化され、(後述するように)シャッフリングされ、伝送される。この伝送処理の後、2Dブロック510、520、530、540は再結合され、画像550が形成される。画像550は、画像500を再構築したものである。
【0070】
発生する可能性のある伝送欠落に関わらず、画像500を正確に再生するために、FIG.5に示す具体例では、連鎖的相補ブロック構造を用いる。特に、2Dブロック510、520、530、540を生成するための画素を選択することにより、画像550を再構築する際に、相補的及び/又は連鎖的パターンは、ブロックの再結合に用いられる。したがって、特定のブロック属性が伝送中に欠落しても、再構築された画像550においてエラーは隣接しない。例えば、FIG.5において、2Dブロック540のDRが伝送中に欠落したとする。ここで、デコーダは隣り合うブロックの隣り合う複数の画素を利用し、2Dブロック540の失われたDRを回復することができる。また、後述するように、相補的パターン及びシフティングを用いることにより、隣り合う画素が増加し、好ましくは他のブロックに基づく隣り合う画素の数を最大化し、これによりDR及びMINの回復の可能性を大幅に向上させることができる。
【0071】
FIG.5aは、画像−ブロック変換処理の一具体例において、2Dブロックを形成するために用いられるシャッフリングパターンの例を示す図である。ここでは、画素を交互に抜き取ることにより1つの画像を2つのサブ画像、すなわちサブ画像560及びサブ画像570に分割する。サブ画像560内の長方形の区切りは、2Dブロックの境界線を示す。説明のため、2Dブロックに0,2,4,7,9,11,12,14,16,19,21,23といった番号を付す。タイル565は、サブ画像560内の2Dブロックのための画素分布を示す。
【0072】
サブ画像570においては、2Dブロックの割り当ては水平方向に8画素分、及び垂直方向に4画素分シフトされている。これにより、再構築処理においてサブ画像560とサブ画像570とが結合されると、割り当てられた2Dブロックが包み込まれ、重なり合う。2Dブロックは、1,3,5,6,8,10,13,15,17,18,20,22と番号付けされている。タイル575は、サブ画像570内の2Dブロックの画素分布を示す。タイル575は、タイル565に対する相補構造を有している。したがって、特定のブロック属性が伝送中に欠落した場合、失われた2Dブロックのブロック属性を回復することができる隣り合う画素が存在することとなる。さらに、同様なブロック属性のセットを有する重なり合う2Dブロックが存在する。したがって、画像の再構築の過程において、デコーダは、隣り合う2Dブロックから複数の隣り合う画素を取得し、これにより失われたブロック属性を回復することができる。
【0073】
FIG.6は、他の相補的及び連鎖的2Dブロックの構造例を示す図である。これら以外の構造を用いてもよい。FIG.5と同様に、FIG.6に示す2Dブロック構造によっても、任意の2Dブロックに伝送欠落が生じても、周囲の2Dブロックの存在が保証される。なお、パターン610a、610b、610dでは、画素を後続する2Dブロックにマッピングする際、水平シフト及び/又は垂直シフトを行う。水平シフトとは、新たな2Dブロック境界が始まる前に、タイル構造を水平方向に所定画素数分シフトすることを意味する。垂直シフトとは、新たな2Dブロック境界が始まる前に、タイル構造を垂直方向に所定画素数分シフトすることを意味する。アプリケーションに応じて、水平シフトのみを行ってもよく、垂直シフトのみを行ってもよく、水平シフト及び垂直シフトを組み合わせて行ってもよい。
【0074】
パターン610aは、画像−ブロック変換に用いる渦巻状パターンを示す。渦巻状パターンでは、画像−ブロック変換処理において後続する2Dブロックを生成する際に水平シフトを行う。パターン610b及びパターン610dは、相補パターンを示し、画像−ブロックマッピング処理において、後続する2Dブロックを生成するために、水平シフト及び垂直シフトにより画素が選択される。さらに、パターン610b及びパターン610dは、2つの2Dブロック間の画素選択において交互にオフセットを設けた例である。パターン610cは、画像−ブロック変換処理のための2Dブロックを構成する画素を不規則にサンプリングした例を示す。すなわち、画素が2Dブロックに対して一度だけマッピングされるならば、画像−ブロックマッピングにはいかなるマッピング構造を用いてもよい。
【0075】
FIG.5、FIG.5a、FIG.6は、2Dブロックを生成するための画像−ブロックマッピングを示すものである。この処理は、3Dブロックに対しても適用できることは明らかである。上述のように、3Dブロックの生成は、2Dブロックと同様の境界定義を用いるが、3Dブロックの生成では、境界分割は、3Dブロックを構成する後続するフレームに亘って拡張される。すなわち、3Dブロックは、第1のフレーム内の2Dブロックを定義するために用いる画素と、後続するフレーム内の2Dブロックの画素とを結合して生成される。一具体例においては、第1のフレームにおける2Dブロックの画素と、後続するフレームにおける2Dブロックの画素とは、同一の位置から抽出される。
【0076】
フレームセット内ブロックシャッフリング
任意の画像の画素値は、局所的な領域において緊密な関係を有する。一方、同一画像内の離れた領域にある画素は、大きく異なる値を有している可能性がある。したがって、任意の画像のある部分において空間的に隣接する2Dブロック又は3Dブロックを連続して符号化した場合、DR及びMINは近い値を有し、画像の離れた部分のDR及びMINは大きく異なる値を有するものとなる。したがって、画像において空間的に隣接する2Dブロック又は3Dブロックを符号化して得られたデータを連続的にバッファに格納した場合、バッファ空間の使用率に不均衡が生じる。フレームセット内のブロックシャッフリングは、ADRC符号化に先立って行われ、画像−ブロックマッピング処理により生成された2Dブロック又は3Dブロックのシャッフリングを行う。シャッフリング処理により、後段のADRC符号化において、バッファを均等に使用することが保証される。
【0077】
FIG.7a〜FIG.7dは、3D−Yブロックのシャッフリングの具体例を示すものである。FIG.7a〜FIG.7d内の3D−Yブロックは、Y信号のみを有するフレーム対に上述の画像−ブロックマッピング処理を施して得られるものである。3D−Yブロックは、シャッフリングされ、これにより符号化されたフレーム対を格納するバッファには、そのフレーム対の異なる部分に対応する3D−Yブロックが含まれるようになる。これによりADRC符号化処理におけるDR分布の均一化が促される。各バッファのDR分布が均一化されることによりバッファを均等に利用することができる。
【0078】
FIG.7a〜FIG.7dは、物理的に離れた3Dブロックのシャッフリングを示す図である。これにより連続するパケットに伝送欠落が生じても、欠落するブロック属性は、画像内の特定の領域に集中することなく、画像全体に分散される。
【0079】
ブロックシャッフリングは、小規模、中規模及び大規模のバースト的パケット欠落のいずれが生じても、欠落するブロック属性が広範囲に分散されるように設計されている。この実施の形態においては、小規模なバースト欠落とは、数個のパケットの欠落を意味し、中規模のバースト欠落とは、1バッファ分の欠落を意味し、大規模な欠落とは1セグメント分の欠落を意味するものとする。ブロックシャッフリングにおいては、画像内の比較的離れた部分から、3つの隣り合うブロックを選択する。したがって、次のグループ内VLデータシャッフリング(後に詳細に説明する)において、各グループは互いに異なる静的特性を有する3Dブロックから構成される。ブロック属性の欠落を分散させることにより、破損した3Dブロックの周囲には破損していない3Dブロックが残り、これら破損していない3Dブロックにより欠落したデータを回復ことができるため、強力なエラー回復を実現することができる。
【0080】
FIG.7aは、水平方向に66個の3D−Yブロックを有し、垂直方向に60個の3D−Yブロックを有するフレーム対を示す。これら3D−Yブロックは、セグメント0〜5に割り当てられている。図に示すように、3D−Yブロックの割り当ては、2×3の枠を設け、各枠内の各3D−Yブロックが各セグメントに対応するように割り当てる。ここで、さらなるシャッフリングを行わず、最初の880個のパケットにバーストエラーが生じたとすると、セグメント0に対応するブロック属性が失われる。しかしながら、後述するように、FLデータシャッフリングを行うことにより、ブロック属性の欠落を分散させることができる。
【0081】
FIG.7bは、セグメント0に割り当てられる番号0が付された3D−Yブロックの走査順序を示す。FIG.7aにおいて「0」で示される各3D−Yブロックには、0,1,2,3,・・・,659という番号が付され、これらはセグメント0に入力されるストリーム内の位置を示すものである。セグメントの割り当てを行うためのこのようなブロック番号を用いて、残りの3D−Yブロックもセグメント1〜5に割り当てられる。このようにして、フレーム対内のデータは、複数のセグメントにシャッフリングされる。
【0082】
FIG.7cは、1セグメントを構成する660個の3D−Yブロックを示す図である。0〜65の番号が付された3D−Yブロックは、バッファ0に入力される。同様に、番号が付された3D−Yブロックに隣接する3D−Yブロックは、バッファ1に入力される。このような処理を繰り返してバッファ2〜9が充足される。このような処理により、伝送中のバッファの欠落により失われる複数の3D−Yブロックは、画像内の異なる部分に分散される。
【0083】
FIG.7dは、セグメント0に対応する3D−Yブロックのバッファにおける最終的な配列順序を示す図である。3D−Yブロック0,1,2は、バッファ内の最初の3つの部分を占める。この処理は、バッファの残りの部分において繰り返される。これにより、伝送中に3つの3D−Yブロックが欠落した場合、失われる3D−Yブロックは、画像内で離れた位置に対応するものとなる。
【0084】
FIG.7a〜7dは、フレームセット内の3D−Yブロックの分散の一具体例を示すものである。この他に、3D−Uブロック及び3D−Vブロックを分散することもできる。3D−Uブロックは、U信号のみを含むフレームセットに上述の画像−ブロックマッピング処理を適用して生成される。同様に、3D−Vブロックは、V信号のみを含むフレームセットに上述の画像−ブロックマッピング処理を適用して生成される。そして、3D−Uブロック及び3D−Vブロックの両方に対して、上述の3D−Yブロックの分散と同様の処理を行う。なお、上述のように、3D−Uブロックと3D−Yブロックの数は、それぞれ3D−Yブロックの数の1/6である。
【0085】
FIG.7a〜7dは、Y信号に対するフレーム内ブロックシャッフリングの具体例を示し、この具体例では、伝送中の1/6のパケット欠落が許容され、さらにバッファの使用率の均等化が実現されている。セグメント、バッファ、ADRCブロックの割り当てを変更することにより1/nバーストエラーに対応でき、またバッファ使用率を変更できることは当業者にとって明らかである。
【0086】
部分バッファリング
FIG.3に示すステップ4において、ADRC符号化及びバッファリング処理が行われる。符号化技術により、画像−ブロックマッピング処理により生成された2Dブロック又は3Dブロックは、2D−ADRCブロック又は3D−ADRCブロックに符号化される。3D−ADRCブロックは、それぞれQコード、MIN、モーションフラグ、DRを含む。2D−ADRCブロックは、Qコード、MIN、DRを含む。すなわち、2D−ADRCブロックでは、単一のフレーム又は単一のフィールドに対する符号化が行われるため、2D−ADRCブロックは、モーションフラグを含まない。
【0087】
従来より多くのバッファリングの手法が知られている(例えば、近藤らによる米国特許番号第4,845,560号「高効率コーディング装置(High Efficiency Coding Apparatus)」及び米国特許番号第4,722,003号「高効率コーディング装置(High Efficiency Coding Apparatus)」を参照)。これらの記載内容は本出願に組み込まれるものとする。
【0088】
以下に説明する部分バッファリングは、ADRC符号化において使用する符号化ビットを決定するための革新的な手法を提供するものである。詳しくは、部分バッファリングは、閾値テーブルから閾値を選択する手法を提供するものであり、閾値テーブルは、遠隔の端末間の伝送速度を一定に保つとともに、エラーが増えることを制限するために設計されている。変形例においては、閾値テーブルはさらに、バッファが最大限活用されるよう設計される。一具体例においては、バッファは、任意のフレームセットに対応する符号化されたデータを16分の1に分割して格納するメモリである。閾値は、上述した画像−ブロックマッピング処理により生成された2Dブロック又は3Dブロック内の画素を符号化するために用いるQビットのビット数を決定するために用いられる。
【0089】
閾値テーブルは、閾値の列を備え、この列は閾値セットとも呼ばれ、閾値テーブルの各列には閾値インデックスが付されている。一具体例においては、閾値テーブルは、閾値テーブルの上位列に位置する閾値セットが、より多くのQコードビットを生成するように配列されている。これにより、利用可能な所定のビット数を有する任意のバッファに対して、エンコーダ110は、この所定のビット数より小さいビット数を生成する閾値に到達するまで、閾値テーブルを下位方向に順次検索する。バッファ内の画素データの符号化には、適切な閾値が用いられる。
【0090】
一具体例においては、30Mbps程度の伝送速度が望まれる。この所望の伝送速度により、全ての任意のバッファにおいてVLデータの格納に31,152ビットが利用可能となる。これに応じて、各バッファについての累積的DR分布が算出され、閾値テーブルから閾値セットが選択され、これに基づいて3Dブロックあるいは2Dブロック内の画素をVLデータとして符号化する。
【0091】
FIG.8は、バッファ0における選択された閾値及びDR分布の具体例を示すグラフである。FIG.8における垂直方向の軸は、累積DR分布を示す。例えば、値bは、DRがL3以上の3Dブロック又は2Dブロックの数に等しい。水平方向の軸は、DR値のとり得る値を示す。ある具体例では、DR値は0〜255の値をとる。閾値L4,L3,L2,L1は、バッファの符号化を決定する閾値セットを表す。
【0092】
一具体例において、バッファ0に格納されている全てのブロックは、閾値L4,L3,L2,L1を用いて符号化される。すなわち、DR値がL4よりおおきなブロックは、4ビットを用いて符号化された画素値を有することとなる。同様に、DR値がL3とL4の間にあるブロックに属する画素は、3ビットを用いて符号化される。また、DR値がL2とL3の間にあるブロックに属する画素は、2ビットを用いて符号化される。DR値がL1とL2の間にあるブロックに属する画素は1ビットを用いて符号化される。そして、DR値がL1より小さいブロックは、0ビットを用いて符号化される。L4,L3,L2,L1は、バッファ0内の全てのブロックを符号化するために用いるビットの総数が、31,152ビットを超えることなく、可能な限り31,152ビットに近い数となるように選択される。
【0093】
FIG.8aは、部分バッファリングの一具体例を示す図である。フレーム800は、符号化されてバッファ0〜59に格納される。伝送エラーがデータの回復の妨げとなる場合、欠落したデータに対するエラー回復処理が行われるまで、フレーム800の復号処理は中断される。ここで、部分バッファリングは、バッファ内のエラーの伝播を制限するため、残りのバッファについて復号処理を行うことができる。例えば、伝送エラーによりバッファ0内のブロック80のQビット及びモーションフラグの回復が妨げられているとする。部分バッファリングは、バッファ0内にこのエラーが伝播することを制限する。バッファ長は固定であるため、バッファ0の最後とバッファ1の先頭は既知であり、このためエラーの伝播バッファ0内に制限される。これにより、デコーダ120は、バッファ1内のブロックに対する処理を遅延することなく開始することができる。さらに、異なるバッファの符号化に対して異なる閾値セットを用いることにより、エンコーダ110は、任意のバッファ内に含まれるQコードビットの数を最大化/制御することができ、したがってより高い圧縮比が実現できる。さらにまた、部分バッファリング処理では、バッファ0〜59は、固定長を有するため、一定の伝送速度を実現できる。
【0094】
一具体例においては、バッファの可変領域は、限られた数の閾値セットが存在するために、Qコードビットのみにより充足されるわけではない。すなわち、固定長を有するバッファの残りのビットは、ポストアンブルと呼ばれる所定のビットストリームパターンにより充足される。後述するように、ポストアンブルは、バッファの最後より前にあるVLデータの最後を示しているので、ポストアンブルにより双方向のデータ回復が実現できる。
【0095】
バッファ内YUVブロックシャッフリング
Y信号、U信号、V信号は、それぞれ固有の静的特性を有している。Qビット及びモーションフラグの回復処理(後述する)を改善するために、Y信号、U信号及びV信号は、バッファ内で多重化される。したがって、伝送欠落は、特定の信号に対して実質的な影響を与えない。
【0096】
FIG.9は、それぞれY信号、U信号、V信号から導き出されるY−ADRCブロック、U−ADRCブロック、V−ADRCブロックに対するシャッフリング処理であるバッファ内YUVブロックシャッフリング処理を説明する図である。バッファ900は、フレームセット内ブロックシャッフリング後のADRCブロックの割当を示す。バッファ900は、66個のY−ADRCブロックと、これに続く11個のU−ADRCブロックと、これに続く11個のV−ADRCブロックを含む。バッファ910は、バッファ内YUVブロックシャッフリングを行った後のYUV−ADRCブロック配列構造を示す。図に示すように、3つのY−ADRCブロックに1つのU−ADRCブロック又は1つのV−ADRCブロックが後続する。バッファ内YUVブロックシャッフリングによりバッファ内の隣り合うブロックのビットストリームの類似の度合いが低減される。バッファ内ブロックシャッフリングは、この形態に限られることなく、初期の画像フォーマットに応じて、異なる信号、すなわち異なるYUV比又は異なる色空間を有する信号に対して変形して実行されるようにしてもよい。
【0097】
グループ内VLデータシャッフリング
グループ内VLデータシャッフリングは3つのステップを有する。この3つのステップは、Qコードの連結と、Qコードの再割当と、連結されたQコードのランダム化である。FIG.10は、グループ内VLデータシャッフリングの手順を示す図であり、バッファ内に格納されたQコードには、3つの処理が順次施される。この変形例としては、処理手順のサブセットをグループ内VLデータシャッフリングに適用してもよい。各処理手順は、それぞれ独立して伝送中のデータに対するエラー回復に寄与する。したがって、各処理ステップを個別に説明する。エラー回復に関する詳細は、データ回復の説明の項目で述べる。
【0098】
1.Qコード連結
Qコード連結により、複数のADRCブロックが互いに復号されることが保証される。グループ復号によれば、後述するようにデータ回復工程において隣り合うブロックから追加的な情報を取得することが可能なため、エラー回復を容易に行うことができる。一具体例においては、Qコード連結は、バッファ内に格納された3つのADRCブロックからなる各グループに対して個別に適用される。変形例として、グループ内に他のバッファからのADRCを含めることもできる。ADRCブロックに亘るQコードの連結は、1つの連結ADRCタイルの生成として記述される。FIG.11及びFIG.11aは、連結ADRCタイルの生成を例示する図である。
【0099】
FIG.11は、2ADRCブロックから連結ADRCタイルを生成する例を示す図である。具体的には、この連結は、2D−ADRCブロック0,1,2に含まれる各Qコード(q0〜q63)に対して行われ、この結果64個のQコードを含む連結ADRCタイルAが生成される。例えば、2D−ADRCブロック0の第1のQコードq0,0(量子化された値の0番目)は、2D−ADRCブロック1の第1のQコードq0,1に連結される。この2つの連結されたQコードは、続いて、2D−ADRCブロック2の第1のQコードq0,2に連結され、これにより連結ADRCタイルAのQ0が生成される。この処理は、Q63が生成されるまで繰り返される。これに代えて、連結ADRCタイルA内のQiの生成を以下の式に基づいて行ってもよい。
【0100】
Qi=[qi,0,qi,1,qi,2] i=0,1,2,・・・63
さらに、連結ADRCタイルA内の各Qiには、単一のQiを生成するために連結されたビット総数であるNビットを示す値が関連付けられる。
【0101】
FIG.11aは、動ブロックを含むフレーム対から生成された連結ADRCタイルの具体例を示す図である。動ブロックとは、モーションフラグが設定された3D−ADRCブロックである。モーションフラグは、上述した画像−ブロックマッピング処理により生成された2つの2Dブロック構造内の所定数の画素が第1のフレームと第2のフレームとの間で変化している場合に設定される。この変形例として、第1のフレームと、これに続くフレームとの間の各画素の変化の最大値が所定の値を超えた場合にモーションフラグを設定するようにしてもよい。一方、非動ブロック(すなわち静ブロック)は、モーションフラグが設定されていない3D−ADRCブロックである。第1のフレームと、これに続く第2のフレームの2つの2Dブロック間で所定数の画素が変化していない場合、モーションフラグの設定は行われない。変形例として、第1のフレームと、これに続く第2のフレームとの間の各画素の変化の値が所定の値を超えない場合には、モーションフラグの設定を行わないものとしてもよい。
【0102】
動ブロックは、第1のフレームにおける符号化された2Dブロックと、後続するフレームにおける符号化された2Dブロックとに基づくQコードを含む。単一の符号化された2Dブロックに対応するQコードの集合をADRCタイルと呼ぶ。すなわち、動ブロックは2つのADRCタイルを生成する。一方、静ブロックは、動きがないため、動ブロックの半数のQコードのみしか含まず、したがって、1つのADRCタイルしか生成しない。この具体例においては、静ブロックのQコードは、第1のフレームの2Dブロックと、後続するフレームの対応する2Dブロックとの間の対応する画素の画素値の平均を求めることにより生成される。平均化された各画素値は、符号化されて、これにより単一のADRCタイルを形成するQコードの集合が生成される。このようにして、動ブロック1110は、ADRCタイル0,1を生成し、静ブロック1120は、ADRCタイル2を生成し、動ブロック1130は、ADRCタイル3,4を生成する。
【0103】
FIG.11aに示すADRCの連結処理では、ADRCタイル0〜4を連結して連結ADRCタイルBを生成している。具体的には、ADRCタイル0〜4内に含まれる各Qコード(q0〜q63)が連結され、連結ADRCタイルB内の64個のQコードが生成される。これに代えて、連結ADRCタイルB内の各Qコード、すなわちQiを以下の数式に基づいて生成してもよい。
【0104】
Qi=[qi,0,qi,1,qi,2,qi,3,qi,4] i=0,1,2,・・・63
【0105】
2.Qコード再割当
Qコードの再割当により、伝送欠落に起因するビットエラーが空間的に離れた画素に分散されることが保証される。特に、Qコードの再割当処理において、Qコードは、再分散され、再分散されたQコードのビットは、シャッフルされる。したがって、Qコードの再割当により、破損された画素の周囲に破損されていない画素が残るため、エラーの回復が容易となる。画素の破損はADRCブロック全体に亘って分散するため、DR及びMINの回復が容易となる。DR及びMINの回復については、データ回復の説明で詳述する。
【0106】
FIG.12に1/6バーストエラー欠落による画素の劣化の具体例を示す。具体的には、2D−ADRCブロック1210、1220、1230は、それぞれ3ビットを用いて符号化された64個の画素を含む。すなわち、2D−ADRCブロックの各画素P0〜P63は、3ビットにより表される。2D−ADRCブロック1210は、6ビット毎の第1ビットが欠落した場合におけるビット欠落パターンを影付きの長方形として示す図である。同様にADRCブロック1220及びADRCブロック1230は、それぞれ6ビット毎に第2及び第4ビットが欠落した場合を示す。FIG.12から、Qコードの再割当を行わなければ、1/6バーストエラー欠落により2D−ADRCブロック1210,1220,1230において、それぞれ半数の画素に劣化が生じることがわかる。
【0107】
一具体例において、Qコードの再割当はバッファに格納されている各連結ADRCタイル対して別個に行われ、これによりデシャッフリングにおいて、ビットエラーが空間的に分散された画素に位置されることが保証される。変形例として、バッファ内に格納された各ADRCブロックに対してQコードの再割当を行ってもよい。
【0108】
FIG.12aは、連結ADRCタイルに基づくシャッフリングされたQコードビットのビットストリームを生成するQコード再割当の具体例を示す。テーブル122及びテーブル132は、Qコードの再分配を示す。ビットストリーム130及び140は、Qコードビットのシャッフリングを示す。
【0109】
テーブル122は、連結ADRCタイルAの連結されたQコードを示す。Q0は、最初の連結Qコードであり、Q63は、最後の連結Qコードである。テーブル132は、Qコードの再分配を示す。この具体例においては、第1の組である区画0には、Q0,Q6,Q12,Q18,Q24,Q30,Q36,Q42,Q48,Q54,Q60が含まれる。テーブル132内において後続する区画1には、11個の連結Qコードが含まれている。同様にして区画2〜5にも11個の連結Qコードが含まれる。テーブル132においては、区画間の境界を垂直方向の線分で示している。このように連結Qコードを空間的に分離された6つの区画に割り当てることにより、1/6バーストエラー欠落により生じるビット欠落パターンが連続する画素グループに分散されることが保証される。
【0110】
FIG.12bは、再割り当てされたQコードにおける1/6バーストエラーにより生じるビット欠落のパターンを示す図である。具体的には、2D−ADRCブロック1215,1225,1235は、それぞれ3ビットを用いて符号化されている64個の画素を有している。すなわち、各2D−ADRCブロックの内の各画素P0〜P63は、3ビットにより表される。2D−ADRCブロック1215,1225,1235において、影付きの長方形で表されるビット欠落パターンは、連続する画素に亘って位置している。すなわち、与えられたセグメント欠落に対して、各2D−ADRCブロック1215,1225,1235内のそれぞれ11個の連続する画素のみが劣化している。変形例においては、区画へのQコードの割当処理において、異なる動ブロックからのQコードを割り当てるようにしてもよく、これにより空間的及び時間的に分離されたQコードを6つのセグメントに割り当ててもよい。これにより、1/6バーストエラー欠落に対して破損されていない空間的及び時間的画素が追加され、より強力なエラー回復処理が提供される。
【0111】
FIG.12aにおいて、テーブル132内の再割当されたQコードは、生成されるビットストリームに亘ってシャッフリングされ、ビットストリーム内で隣接するビットが異なる区画からのビットであるようにされる。テーブル132内の全ての区画内のQコードは、ビットストリーム130内で連結される。ビットストリーム130内で隣り合う任意のビットの区画は、生成されるビットストリーム140において6ビット位置毎に分散される。これにより、ビットストリーム140内のビット番号0〜5は、各区画における第1のQコードからの第1ビットを含む。同様に、ビットストリーム140のビット番号6〜11は、各区画の第1のQコードからの第2のビットを含む。このような処理は、全てのQコードビットに対して繰り返される。これにより、1/6バーストエラー欠落による画素欠落が空間的に分離されることが保証される。
【0112】
FIG.12cは、再割当された(すなわち再分配されシャッフリングされた)Qコードの1/6バーストエラー欠落により生成されたビット欠落パターンを示す図である。特に、2D−ADRCブロック1217,1227,1237は、それぞれ3ビットを用いて符号化された64個の画素を含む。すなわち、各2D−ADRCブロックの各画素P0〜P63は、3ビットで表される。2D−ADRCブロック1217,1227,1237において、影付き長方形で示されているビット欠落パターンは、空間的に分離された画素に分散されており、したがって、画素エラー回復を容易に行うことができる。
【0113】
3.Qコードビットのランダム化
Qコードビットは、マスキングキーを用いてランダム化される。マスキングキーは、欠落及び破損されたデータの回復処理においてデコーダの処理を補助するものである。具体的には、符号化処理において、KEYとして示されるキーを用いてQコードのビットストリームをマスキングする。これに対応して、デコーダは、このKEYの正確な値を知っている必要があり、これによりQコードのビットストリームのマスクを外すことができる。
【0114】
一具体例において、KEYは、3つのADRCブロックに対するQコード再割当により生成されたQコードのビットストリームをマスキングするために用いられる。上述のように、ADRCブロックはFLデータ及びQコードを有している。マスキングキーの各キー要素(di)は、FLデータの値と、対応するADRCブロックに関連する量子化ビット数(qi)との組み合わせにより生成される。具体例においては、モーションフラグとQビットを用いてKEYを定義する。すなわち、この具体例においては、キー要素は、以下の数式に基づいて生成される。
【0115】
di=5・mi+qi ここで、i=0,1,2 qi=0,1,2,3,4
変数miは、モーションフラグに等しい。すなわち、対応するADRCブロックが動ブロックである場合、miは0となり、対応するADRCブロックが静ブロックである場合、miは1となる。さらに、変数qiは対応するADRCブロックを符号化するために用いる量子化ビットを表す。すなわち、qiの値は、4ビットADRC符号化方式においては0,1,2,3,4のいずれかである。一具体例において、3つのADRCブロックからなるグループに用いるKEYは、以下に示す数式に基づいて得られるキー要素(di)により定義される。
【0116】
KEY=d0+10・d1+100・d2
これにより、モーションフラグ又はQビットデータの回復処理において、マスキングキーの生成に用いられた値に基づいて、使用された可能性のあるキーの再生が可能となる。再生されたキーの値は、受信されたQコードのビットストリムのアンマスキングに使用され、これにより復号候補が生成される。キーの値の再生及び特定の復号候補の選択については、データ回復の説明において詳述する。
【0117】
変形例として、マスキングキーは、様々な要素から生成できる。これにより、伝送媒体を介して要素に関する情報を伝送することなく、デコーダに要素に関連する特定の情報を提供することができる。一具体例においては、任意のADRCブロックに対応するDR値又はMIN値を用いてマスキングキーを生成し、このマスキングキーによりそのADRCブロックを示すビットストリームをマスキングする。
【0118】
FIG.10〜12には、伝送中に生じる1/6パケットデータ欠落までを許容するグループ内VLデータシャッフリングの例を示しているが、当業者にとって、区画の総数、ビットの間隔を変更することにより、1/nバーストエラー欠落に対応するよう設計を変更できることは明らかである。
【0119】
セグメント間FLデータシャッフリング
セグメント間FLデータシャッフリングは、異なるセグメント間でブロック属性を再割当するものである。ブロック属性を再割当することによりデータ欠落を分散させることができる。具体的には、あるセグメントのFLデータが伝送中に欠落しても、失われたDR値、MIN値及びモーションフラグ値が同一のブロックに属さないようにする。FIG.13及びFIG.14は、セグメント間FLデータシャッフリングの具体例を示す図である。
【0120】
FIG.13にセグメント0〜5のコンテンツを示す。一具体例において、各セグメントは、880個のDRと、880個のMINと、880個のモーションフラグと、660個のYブロック、110個のUブロック、110個のVブロックに対応するVLデータとを有する。図に示すように、MINシャッフリング1300のセグメント0のMIN値は、セグメント2に移動され、セグメント2のMIN値は、セグメント4に移動され、セグメント4のMIN値は、セグメント0に移動される。さらにセグメント1のMIN値はセグメント3に移動され、セグメント3のMIN値はセグメント5に移動され、セグメント5のMIN値は、セグメント1に移動される。
【0121】
FIG.13aは、モーションフラグのシャッフリングを示す。図に示すように、モーションフラグシャッフリング1305のセグメント0のモーションフラグ値はセグメント4に移動され、セグメント2のモーションフラグ値はセグメント0に移動され、セグメント4のモーションフラグ値はセグメント2に移動される。さらに、セグメント1のモーションフラグはセグメント5に移動され、セグメント3のモーションフラグはセグメント1に移動され、セグメント5のモーションフラグはセグメント3に移動される。欠落パターン1310は、伝送中にセグメント0が欠落した結果のFLデータ欠落を示す。
【0122】
特定のブロック属性に対して、FIG.13及びFIG.13aに示すように、セグメント間の特定のブロック属性の全ての瞬時値のシャッフリングを行う。例えば、FIG.13においては、セグメント2の880個のMIN値は、セグメント0の880個のMIN値に一括して置き換えられる。同様に、FIG.13aにおいては、セグメント4の880個のモーションフラグ値は、セグメント0のモーションフラグ値に一括して置き換えられる。このようにブロック属性を一括してシャッフリングすることにより、連続するパケットの伝送欠落に対して、欠落は、特定のブロックの特定のブロック属性に偏らない。一具体例においては、1つのブロックグループは3つのADRCブロックを含む。
【0123】
FIG.14は、DR値、MIN値、モーションフラグ値に対する3つのモジュールシャッフルを示す図である。3つモジュールシャッフルとは、3つの異なるセグメントにおける3つのグループ(すなわちブロックグループ)に亘ってシャッフリングパターンを共有することを意味する。シャッフリングパターンは、3つの異なるセグメント内の全てのブロックグループに対して繰り返される。なお、異なるブロック属性に対しては異なるシャッフリングパターンを用いる。すなわち、3つのモジュールシャッフリングにより、3つの全てのセグメントに亘ってブロック属性が分散される。具体的には、任意のブロックグループについて、3つのモジュールシャッフリングは、伝送中のセグメントの欠落に対して、特定のブロック属性の瞬時値が1つだけしか失われないことを保証する。したがって、後述するデータ回復処理において、ブロック内の失われたデータ回復するための復号候補の数を低減することができる。
【0124】
DRモジュールシャッフル1410に示すように、1セグメントには880個のDR値が格納されている。DR値には、そのDR値が由来するブロックに応じた番号が付されている。3つのモジュールシャッフリングにおいては、3つのセグメントのFLデータのコンテンツがシャッフルされる。カウント値0〜2は、モジュールシャッフリングのために識別される3つのセグメント内の各DR値を識別するために付された値である。すなわち、ブロック番号0,3,6,9・・・に属するDR値は、カウント0に属する。同様に、ブロック番号1,4,7,10・・・に属するDR値は、カウント1に属し、ブロック番号2,5,8,11に属するDR値は、カウント2に属する。これにより、所定のカウント値に対して、そのカウント値に関連付けられたDR値は、セグメント0,2,4に亘ってシャッフリングされる。同様に、同一のカウント値に関連付けられたDR値は、セグメント1,3,5に亘ってシャッフリングされる。
【0125】
DRモジュールシャッフル1410において、カウント値0に属するDR値はシャッフリングされない。カウント値1に属するDR値は、シャッフリングされる。具体的には、セグメントA内のカウント値1に属するDR値は、セグメントBに移動され、セグメントB内のカウント値1に属するDR値は、セグメントCに移動され、セグメントC内のカウント値1に属するDR値は、セグメントAに移動される。
【0126】
カウント値2に属するDR値もまたシャッフリングされる。具体的には、セグメントA内のカウント値2に属するDR値は、セグメントCに移動され、セグメントB内のカウント値2に属するDR値は、セグメントAに移動され、セグメントC内のカウント値2に属するDR値は、セグメントBに移動される。
【0127】
MINモジュールシャッフル1420は、MIN値用の3つのブロック属性のモジュールシャッフリング処理の具体例を示す。1つのセグメントは、880個のMIN値を含んでいる。MINモジュールシャッフル1420においては、DRモジュールシャッフリング1410においてカウント値1及びカウント値2に対して用いたシャッフリングパターンをカウント値0及びカウント値1にシフトして用いる。詳しくは、DRモジュールシャッフル1410においてカウント値1に対して用いたシャッフリングパターンをカウント値0に適用する。また、DRモジュールシャッフル1410においてカウント値2に対して用いたシャッフリングパターンをカウント値1に適用し、カウント値2に属するMIN値については、シャッフリングを行わない。
【0128】
モーションフラグモジュールシャッフル1430は、モーションフラグ値用の3つのブロック属性のモジュールシャッフリング処理の具体例を示す。1セグメントは880個のモーションフラグを含んでいる。モーションフラグモジュールシャッフル1430においては、DRモジュールシャッフル1410においてカウント値1及びカウント値2に対して用いたシャッフリングパターンをそれぞれカウント値2及びカウント値0にシフトして用いる。具体的には、DRモジュールシャッフル1410においてカウント値2に対して用いたシャッフリングパターンをカウント値0に適用する。また、DRモジュールシャッフル1410においてカウント値1に対して用いたシャッフリングパターンをカウント値2に適用し、カウント値1に属するモーションフラグ値については、シャッフリングを行わない。
【0129】
FIG.14aは、モジュールシャッフル1410,1420,1430により得られたモジュールシャッフリングの結果を示す図である。モジュールシャッフル結果1416は、各ブロック属性移動先がセグメント0に属することを示す。この例では、セグメント0は、FIG.14に示すセグメントAに対応する。この移動先は、FIG.14に示すモジュールシャッフル1410,1420,1430により決定される。FIG.14aは、セグメント0が伝送中に欠落した場合のブロック属性の欠落分布を示す。具体的には、欠落パターン1415は、モジュールシャッフル1410,1420,1430によりシャッフリングされた受信データをデシャッフリング処理した後に、6つのセグメントに亘るDR値、モーションフラグ値、MIN値の欠落を示す。FIG.14aに示すように、ブロック属性の欠落は、セグメント0,2,4に亘って周期的に分散されており、セグメント1,3,5にはブロック属性欠落は生じていない。さらに、空間欠落パターン1417は、伝送中にセグメント0が欠落して失われたFLデータのデシャッフル後の空間的分布を示す。空間欠落パターン1417は、後に受信データに対して施されるデシャッフリング処理後のDR値、モーションフラグ値、MIN値の欠落を示す。空間欠落パターン1417においては、破損されたブロックは破損されていないブロックに取り囲まれており、破損されたブロック属性は、破損されていないブロック属性に基づいて回復することができる。
【0130】
FIG.14及びFIG.14aは、3つのモジュールシャッフリングパターン及び伝送中にセグメントが失われた後のブロック属性の欠落分布を示す。変形例として、カウント値又はセグメント数を変更することによりブロック属性の欠落分布を変更してもよい。FIG.14bにモジュールシャッフル結果1421と欠落パターン1420とを示す。同様に、FIG.14cにモジュールシャッフル結果1426と欠落パターン1425とを示す。欠落パターン1420及び欠落パターン1425は、上述した3つのセグメントではなく、6つのセグメントに亘るブロック属性欠落の分布を示す。
【0131】
シャッフリング処理を行うための、ブロック属性を組み合わせて分散させる手法については、様々な変形例が可能である。
【0132】
セグメント間VLデータシャッフリング
セグメント間VLデータシャッフリング処理では、所定数のセグメント、例えば6つのセグメントが並べ替えられ、これにより1/6パケット伝送欠落までの欠落に対し、空間的に分離された周期的なVLデータ欠落が保証される。FIG.15及びFIG.16は、セグメント間VLデータシャッフリング処理の一具体例を示す。
【0133】
この具体例においては、30Mbpsに近い伝送速度が望ましい。したがって、望ましい伝送速度では、60のバッファのそれぞれにおけるVLデータとして31,152ビットが利用可能となる。残りの領域には、バッファ内に含まれる88個のブロック用のFLデータに使用される。FIG.15は、30Mbpsに近い伝送速度用のフレームセット内のVLデータバッファ配列構造を示す図である。上述のとおり、部分バッファリングにより各バッファの使用可能なVLデータの使用効率が最適化されており、VLデータの未使用領域は、ポストアンブルにより充足されている。
【0134】
FIG.16は、空間的に分散された周期的なVLデータ欠落を保証するシャッフリング処理の具体例を示す図である。第1列は、FIG.15に示す60個のバッファから1,869,120ビットの連結ストリームに並べ替えられたVLデータを示す図である。第2列は、6ビット毎にビットを抽出してまとめた新たなビットストリームを示す図である。これにより、デコーダが後に逆の処理を行う際に、伝送中に起こった1/6までのバースト欠落は、2つの破損されたビット間に少なくとも5つの未破損ビットがある周期的な欠落パターンに変換される。
【0135】
第3列は、ストリーム2のビットを10ビット毎に抽出してグループ化して生成された新たなビットストリーム、すなわちストリーム3を示す。この場合も、グループの境界は、セグメントにおけるビット番号により規定される。ストリーム2を10ビット毎にグループ化することにより、1/60のデータ欠落が生じた場合、2つの破損されたビット間に少なくとも59個の未破損ビットが存在することが保証される。これにより、88個の連続するパケットのデータが欠落した場合に、空間的に分離された周期的なVLデータ欠落が実現される。
【0136】
第4列は、ストリーム3のビットを11ビット毎に抽出して生成されたストリーム4を示す。この場合も、グループの境界は、セグメントにおけるビット番号により規定される。ストリーム3を11ビット毎にグループ化することにより、1/660のデータ欠落が生じた場合、2つの破損されたビット間に少なくとも659個の未破損ビットが存在することが保証され、8個の連続するパケットの伝送欠落が生じた場合、空間的に分離された周期的なVLデータ欠落を実現する。
【0137】
ストリーム4内の31,152ビットからなる各グループは、連続的にバッファ0〜59に再格納される。すなわち、最初のビットグループは、バッファ0に格納され、最後のビットグループは、バッファ59に格納される。
【0138】
FIG.16に示すグループ化の手法を変更することにより、1/nまでの伝送欠落を許容する空間的に分離された周期的なVLデータ欠落が保証されることは、当業者にとって明らかである。
【0139】
伝送
上述したシャッフリング処理により、FLデータ及びVLデータが相互に混合されたバッファが形成される。一具体例においては、パケット構造200に従って各バッファからパケットを生成し、各パケットを伝送媒体135を介して送信する。
【0140】
データ回復
上述のとおり、ビットストリームを符号化する革新的な本手法により、データパケットの欠落により生じるエラーに対する強力なエラー回復を実現することができる。復号処理の概要については、FIG.4に示すとおりである。
【0141】
FIG.4に示すように、パケットとして受信されたデータは、複数レベルのデシャッフリング処理、すなわちステップ425,430,435,440において処理され、ここでは、パケットとして受信されたデータの異なるデータ又は部分がデシャッフリングされ、データが復元される。そして、ステップ445において、当分野で知られた技術(1991年9月4日〜6日にイタリアのトリノで開催されたHDTV及びその未来に関する第4回国際研究会(Fourth International Workshop on HDTV and Beyond)において、近藤、藤森、中屋らにより発表された「将来のHDTVデジタルVTRのための適応ダイナミックレンジコーディング方式(Adaptive Dynamic Range Coding Scheme for Future HDTV Digital VTR)」参照)を用いてデータをADRC復号する。
【0142】
ステップ445,450において、フレームセット内ブロックデシャッフリング及びブロック−画像マッピングが順次実行される。ステップ425,430,435,440,445,450,455は、データを符号化するために実行される上述の処理の逆の処理であり、ここでは、詳細には説明しない。なお、一具体例においては、ステップ425,430,440により示されるデシャッフリングは、データに対して独立である。例えば、実行されるデシャッフリング処理は、予め定められているか、あるいはアドレスマッピング又はテーブルルックアップにより特定される。デシャッフリングステップ425,430,440は、データコンテンツに対して独立しているので、例えばパケット欠落に起因するデータ欠落によってデシャッフリング処理ができなくなることはない。同様に、ステップ450,455は、データに対して独立である。詳しくは、グループ内VLデータデシャッフリング処理により、ブロックグループ用の量子化コードが決定される。したがって、ステップ435では、パケットが欠落している場合、影響のあるグループを処理することはできない。
【0143】
デシャッフリング処理、復号処理、マッピング処理(ステップ425,430,435,440,445,450,455)の後、回復処理が実行され、これにより欠落パケット内に存在していたQビット及びモーションフラグ値が回復される。Qビットの欠落は、通常DR欠落(パケット欠落に起因する)に起因する。Qビット又はモーションフラグ値が未知の場合、画素のQコードビットをデータビットストリームから判定することができない。Qビット又はモーションフラグ値が不正確に判定された場合、バッファ内のデータにおいて後続するブロックの開始点が誤って判断されるため、このエラーは伝播性を有している。
【0144】
FIG.17は、Qビット及びモーションフラグ値を回復するための処理の概要を示す図である。ここでは、特定の具体例により複数のデータブロックを用いてQビットとモーションフラグ値を回復する処理を説明する。しかしながら、ブロックの数は、この具体例に例示するものに制限されるわけではなく、1又は複数のブロックを用いることができる。FIG.17に示すように、ステップ1705において、ビットストリーム内に検出されたエラーに基づいて、ステップ1710において、特定のパラメータに基づいて、検査された3つのブロック用の復号候補が生成される。ステップ1715において、各復号候補が正しい復号候補である可能性(likelihood)に基づいて各復号候補に得点を付ける。そして、最も得点の高い復号候補を選択する。選択された復号候補は、Qビット及びモーションフラグ値を修正し、これにより検査されたブロックの画素が復号される。
【0145】
FIG.4に示す復号処理において、一旦最良の復号候補が選択されると、ステップ465において、パケット欠落に起因して失われたDR値又はMIN値が回復される。ここでは、例えば隣り合うブロックの最小自乗又は平均を用いた手法など、当業者に既知の回復処理を用いてDR及びMINを回復する。この処理の詳細については、例えば、1991年9月4日〜6日にイタリアのトリノで開催されたHDTV及びその未来に関する第4回国際研究会(Fourth International Workshop on HDTV and Beyond)において、近藤、藤森、中屋らにより発表された「将来のHDTVデジタルVTRのための適応ダイナミックレンジコーディング方式(Adaptive Dynamic Range Coding Scheme for Future HDTV Digital VTR)」に記載されている。この具体例においては、革新的な画像−ブロックマッピング処理及びこれに基づくデータ構造により隣り合うブロックを増加させ、これにより追加的データを提供し、より正確なDR及びMIN回復を容易に行うことができる。詳しくは、一具体例において、DR及びMINは以下の式に基づいて回復される。
【0146】
【数29】
【0147】
ここで、DR’は、回復されたDRに対応し、qiは、ADRCブロック内のi番目の値であり、qi∈{0,1,・・・2q−1}であり、エッジマッチングADRCの場合m=2Q−1、非エッジマッチングADRCの場合m=2Qであり、yiは、隣接するブロックの復号された値であり、Qは、Qビット値である。
【0148】
【数30】
【0149】
ここで、MIN’は、回復されたMINに対応し、Nは、総和に用いた項の数を表す(例えば、iが0〜31であればNは32である)。他の具体例において、同一のブロックのDR及びMINが同時に破損されている場合、DR及びMINは以下の式に基づいて回復される。
【0150】
【数31】
【0151】
ステップ470において、Qビット及びモーションフラグ回復を実行する以前に復号されていないデータをADRC復号し、ステップ475において、パケット欠落又はランダムエラーに起因して生じたエラーを含む全ての画素データを回復する。そして、ステップ485において、3:1:0−4:2:2逆変換を行い、画像を表示のための望ましいフォーマットに変換する。
【0152】
FIG.18は、本発明が提供する復号処理におけるQビット及びモーションフラグ回復処理の特定の具体例を示す図である。この特定の具体例において、処理に入力される情報は、隣接ブロック情報と、処理すべき3つのブロックのブロック属性及び画素データである。さらに、失われたデータの位置を示すエラーフラグも入力される。エラーフラグは、当業者に知られた様々な手法で生成することができるため、詳細には説明しない。エラーフラグは、どのビットが破損された又は欠落したパケットにより伝送されてきたかを示す。
【0153】
ステップ1805において、復号候補を生成する。復号候補は様々な手法で生成できる。例えば、処理負担がかなり大きくなってしまうが、復号候補に可能な復号の全てを含ませてもよい。これに代えて、事前に特定されたパラメータに基づいて、復号候補を生成し、評価すべき復号候補の数を減らしてもよい。
【0154】
この具体例においては、復号候補は、上述したグループ内VLデータシャッフリング処理においてビットストリームをランダム化するために用いられた可能性のあるキー値に基づいて判定される。さらに、復号候補は、復号すべき状態で残っているビットのビット長及び残りのブロック数に関する情報により制限される。例えば、後述するように、最後のブロックの処理においては、ブロックの復号長は通常既知である。
【0155】
この具体例の説明を続ける。FIG.19は、この具体例における可能な組合わせを表す、ここでxは、未知の値(パケット欠落等に起因して失われた値)を示す。さらに具体例を挙げて説明する。miは、i番目のブロックのモーションフラグであり、qiは、i番目のブロックの量子化ビットの数であり、niは、i番目のブロックに対して可能な復号候補の数であり、diは、グループ内VLデータシャッフリングの説明で述べたi番目のブロックのキー要素の値である。i番目のブロックは、各グループに内で定義される。この具体例では、各グループ内のブロック数は3である。この3ブロックグループに対するキーは、d0+10・d1+100・d2として生成される。第1のブロックにおいてモーションフラグが未知であり、量子化ビットのビット数が2であり、m0がxであり、q0が2であるとする。上述の式に基づいて、キー要素diは、di=5・mi+qiとなり、d0として可能なデジットの集合は{2,7}となる。したがって、可能な値(n0)は、2となる。第2のブロックのモーションフラグ値が1であり、量子化ビット数が1であり、diの値がdi=5・1+1=6であり、ni=1であるとする。また、第3のブロックのモーションフラグ値が1であり、量子化ビット数が未知であるとする。これにより、デジットd2は{6,7,8,9}の集合からなり、n2=4となる。したがって、このグループの復号候補の可能数Mは、2×1×4=8となり、復号候補を生成するキーのバリエーションは、662,667,762,767,862,867,962,967となる。この処理は、好ましくは、データ欠落の影響を受けた各グループに対して実行される。
【0156】
FIG.17の説明に戻る。ステップ1715において、データがキーデータに基づいて復号されると、生成された復号候補は、復号されたデータが正しい可能性に基づいて得点付けされる。ステップ1720において、最高の得点を得た復号候補を選択する。
【0157】
復号候補の得点付けには、様々な手法を用いることができる。例えば、特定の復号候補に基づくブロック内の画素が画像内の他の画素にどれくらい合致しているかを分析して復号候補を得点付けすることができる。好ましくは、得点は、例えば自乗誤差や相関などのエラーを示す判定基準に基づいて決定する。例えば、相関については、隣接する画素との相関度が高いほど、仮定が正しい確率が高い。したがって、相関度が高ければ復号候補が正しいことが予測され、相関性がなければ復号候補が正しくないことが予測される。
【0158】
FIG.18に示すように、4つの異なる判定基準を分析して最良の復号候補を選択する。しかしながら、復号候補を選択するために分析する判定基準の数は、1乃至3個であってもよく、5個以上であってもよい。
【0159】
FIG.18に示す具体例では、4つの副得点付け判定基準を設け、これらに対する得点を合計して最終得点を算出する。具体的には、ステップ1815において、自乗誤差を求め、ステップ1820において、水平相関を判定し、ステップ1825において垂直相関を判定し、ステップ1830において、時間的動きを測定する(それぞれ、M個の復号候補とN個のブロックと2データフレーム/ブロックに対応するM×2N行列として示される)。ここでは、水平相関及び垂直相関を用いるが、例えば対角相関等の様々な相関値を測定することができる。ステップ1835,1840,1845,1850において、各判定基準の信頼度を測定し、測定値を正規化する。ステップ1855,1860,1865,1870においては、それぞれ異なる判定基準の確率関数を生成する。これら確率関数は、例えば確率値を掛け合わせることにより結合され、例えばFIG.18のステップ1875においては、尤度関数等による得点付けを行う。そして各復号候補の得点を他の全ての復号候補の得点と比較し、最も正しいと考えられる復号候補を選択する。
【0160】
各復号候補を評価し、それぞれの候補に得点を付けるために様々な手法を用いることができる。例えば、信頼度測定は、判定基準を正規化する一手法である。さらに、以下に説明するもの以外にも、様々な信頼度測定の手法がある。同様に、各判定基準に基づく確率値を掛け合わせて全体の尤度関数を求める手法は、検査された様々な判定基準を結合する手法の単なる例示に過ぎない。
【0161】
通常、候補となる可能性が低い復号候補が得る得点は低く、一方、候補として有力な復号候補が得る得点が極めて高くなるため、符号化処理により最良の復号候補の判定が容易となる。特に、上述したグループ内データシャッフリング処理におけるQコードのランダム化処理によってこの判定を容易に行うことができる。
【0162】
FIG.20a、20b、20c、20dは、FIG.18に示すステップ1815,1820,1825,1830において特定の復号候補に得点を付け、及び総得点を算出するための異なる測定法の例を示す。FIG.20aは、復号候補により復号された画素xiを復号された隣接する画素yi,jと比較して評価する自乗誤差による測定を説明する図である。添え字「i,j」は、iに隣接するアドレスに対応する。なお、画像内の輪郭の境界に存在するために生じる急峻な変化(スパイク:spike)の影響を取り除くために、値が大きな項のいくつかを除外することが望ましい。好ましくは、(xi−yi,j)2を除外し、発生する可能性のあるスパイクを回避するとよい。FIG.20bは、時間的動きの判定基準を測定する手法を説明する図である。これは、ブロックが動ブロックであるか、動ブロックであると仮定される場合にのみ適用可能である。時間的動きの判定基準では、ブロック間の相違は小さいものであると仮定する。したがって、復号候補が悪いほど、ブロック間の相違が大きくなる。空間相関では、実際の画像が密接な関係を保ちながら徐々に変化するため、復号候補が正しい可能性が高いほど、相関度が高くなると仮定する。FIG.20cに示す水平相関測定及びFIG.20dに示す垂直相関測定は、この仮定を利用する。
【0163】
FIG.18に示すステップ1835,1840,1845,1850における信頼度測定は、先のステップ(ステップ1815,1820,1825,1830)において判定された判定基準の正規化を行う処理である。一具体例において、例えば、自乗誤差が[0,1]間の値をとり、エラーが等しい場合、信頼度は0となり、エラーが0である場合信頼度は1となる。正規化のためには他の測定法及び手法を用いてもよい。
【0164】
同様に、空間相関に関する信頼度は、以下の式により算出される。
【0165】
maximum(Y,0)-maximum(X,0)
ここで、Yは、最良の相関値であり、Xは、現在の復号候補による相関値である。時間的動きの信頼度の測定は、以下の式に基づいて行われる。
【0166】
conf=(a-b)/(a+b)
ここで、a=max(X, M_TH)であり、b=max(Y, M_TH)であり、さらにここで、M_THは候補ブロックの動き閾値であり、Yは最良の測定値、すなわち最小の時間的動きを表し、Xは現在の候補の時間的動きの測定値を表す。
【0167】
FIG.18に示すステップ1855,1860,1865,1870において、それぞれ異なる判定基準に関する確率関数を生成する。確率を測定する手法は様々なものが存在する。例えば、得点を信頼度の測定に用いることができる。信頼度の測定値が所定の値、例えば0.8より大きければ、基礎得点から10を減じ、0.5〜0.8の間であれば基礎得点から5を減じる。FIG.21は、自乗誤差測定判定基準用の確率関数を生成するために用いる具体例である。この表は、経験的に求められた任意のデータを格納し、信頼度と、自乗誤差測定値と、既知復号候補が含まれている。具体的には、この表は、破損されていないデータを用い、DR値が破損又は欠落したと仮定して作成することができる。これにより、適切な復号及び不適切な復号に対するキー及び信頼度測定値が求められる。この表は、適切な復号と不適切な復号との確率比を反映したものである。この表を用いて、特定の自乗誤差の値(列)及び信頼度の値(行)に対する確率が判定される。例えば、信頼度0において、様々な自乗誤差が存在し、候補が正しい確率は40%〜50%であることが判る。信頼度が0ではないが、低い値である場合、この確率は、急速に低下する。相関及び時間的動きに関しても、対応する経験的に求められた判定基準測定値及び信頼度測定値に基づいて、同様の表を作成することができる。
【0168】
生成された確率を用いて、この具体例における、上述の「得点」を求めることができる。候補復号の得点付けには、他の手法を用いてもよい。ステップ1875において、異なる確率を結合して尤度関数Li=j・Pi,jを求める。ここで、jは確率関数Pi,jの乗算関数であり、Pi,jは候補iブロックjの確率関数である。候補としては、関数Liが最大となるものを選択する。
【0169】
FIG.18に示す処理においては、欠落したパケットにより伝送されたブロック属性を回復する必要がある場合がある。したがって、ステップ1810において、DR値及びMIN値を必要に応じて回復する。この回復処理には、初期値、平均、自乗誤差関数を用いた手法や、例えば、1993年9月20〜22日にオーストラリアのメルボルンで開催されたIEEEビジュアル信号処理及び通信学会で発表された近藤、藤森、中屋らによる「将来のHDTVデジタルVTRのための適応ダイナミックレンジコーディング(Adaptive Dynamic Range Coding Scheme for Future HDTV Digital VTR)」及び近藤、藤森、中屋、内田らによる「新たなデジタルVCRの秘匿法(A New Concealment Method for Digital VCRs)」に開示されたより高度な手法を用いることができる。回復された値は、上述した復号候補の生成に利用される。
【0170】
あるいは、DR値及びMIN値は、Qビット判定処理において判定される。この手法をFIG.22に示す。具体的には、上述のとおり、この具体例においては、モーションフラグ及び量子化ビット数を用いて符号化処理を行い、さらにこれらにより、回復処理において復号候補の可能な数を減少させている。上述のとおり、他の情報を用いてもよい。すなわち、DR値及び/又はMIN値を符号化にも用いてもよい。これに代えて、DRの一部のビット(例えば、DRにおいて重要度が低い2つのビット)を符号化に用いてもよい。DRデータを符号化しても、変数を追加するにつれて可能な復号候補の数は増加する。FIG.22の処理では、K・M復号候補が生成される。ここで、Kは、未知のデータの候補値の数であり、例えば、DR1、DR2、DR3(DR1、DR2、DR3は、グループ内のブロックのDR値を示す)の合計の2ビットが符号化された場合、K=4である。DR及びMINは、例えばDR1、DR2、DR3の合計の2ビット等の補助情報を用いて回復される。この処理により、復号候補の最大数を調べるためのオーバーヘッドを代償として、候補選択処理の精度を向上させることができる。
【0171】
なお、通常、復号された隣接するブロックの数が多いほど、Qビット及びモーションフラグの回復処理が向上する。さらに、いくつかの具体例において、この処理は、バッファ内の連続するブロックに対して適応される。FLデータの全て又は一部が利用可能であれば、復号候補の数を減らすことができ、ブロックのFLデータ全てが与えられれば、可能な復号候補は1つとなる。しかしながら、Qビット及びモーションフラグの回復処理は比較的時間を要するものであるため、回避した方が望ましい。さらに、Qビット及びモーションフラグの回復処理を行うためには、可能な限り多くの情報を用いることが望ましい。一具体例においては、Qビット/モーションフラグ情報が失われているブロックに到達するまで、バッファの先頭から順次ブロックを処理する。このような処理を順方向Qビット及びモーションフラグ回復処理と呼ぶ。他の具体例においては、バッファの最後を参照してバッファ内の最終ブロックを判定し、この最終ブロックからQビット/モーションフラグ情報が失われているブロックに到達するまで、バッファの最後から先頭の方向に順次データを回復する。この処理を逆方向Qビット及びモーションフラグ回復処理と呼ぶ。
【0172】
上述したように、ブロックは、VLデータを含むため、ブロック長は可変である。したがって、バッファ内で後続するブロックの位置を正確に検出するために、VLデータを形成するビットの総数を判定する必要がある。復号処理において、バッファ内の未使用のビット位置には、所定の、望ましくは認識が容易なパターンを有するポストアンブルを設ける。復号処理においては、ポストアンブルは、ブロックとバッファの最後との間に存在することとなる。容易に認識できるパターンを用いているため、復号装置は、このパターンを確認することにより、ポストアンブルの開始位置を検出でき、したがって、バッファ内のブロックの最後を検出できる。この情報は、2つの処理において使用される。ブロックが破損されたQビット/モーションフラグデータを含み、ブロックの開始位置が既知である場合(例えば、先行するブロックが無事に復号されている場合)、直前のブロックの最後からポストアンブルの先頭までの差分がブロック長に対応する。この情報は、ブロックのQビット及び/又はモーションフラグの算出に使用できる。ポストアンブルの開始位置は、直前のブロックからバッファの先頭方向におけるQビット及びモーションフラグ回復にも使用できる。
【0173】
FIG.23は、ポストアンブルを用いた双方向Qビット及びモーションフラグ回復処理を説明する図である。FIG.23においては、バッファ2300は、FLデータのブロックからなるN個のグループ用のFLデータ2303を含む。各グループは、複数の(例えば、3個の)ブロックから構成される。この具体例においては、1番目及び2番目のグループ2305,2310が復号され、3番目のグループは、DR/モーションフラグデータが破損されているために、直ちには復号するこができない。この時点で、破損されたデータを回復するためにQビット/モーションフラグ回復処理が必要となる。ここで、順方向へのグループの処理を継続せず、ポストアンブルパターン220を検出することにより、バッファの最後を読み出す。すなわち、ポストアンブルの先頭を判定することにより、最後のブロックグループが判定される。DR/モーションフラグデータはVLデータの長さを暗示しているため、最終ブロックのVLデータの先頭と、したがって直前のブロック最後とが判定される。これにより、破損データを含むブロック240に到達するまで、ブロック225,230,235等のブロックが順次処理される。続いて、破損されたブロック215,240及び妨害された複数のブロック250が回復される。ここでは、望ましくは上述のQビット/モーションフラグ回復処理を用いる。
【0174】
なお、双方向処理の順序は、順方向から逆方向の順序に限定されるものではなく、処理は、いずれの方向から開始してもよく、両方向から開始してもよい。さらに、いくつかの具体例においては、複数の処理を平行して実行し、処理効率を高めることもできる。さらに、破損されていない妨害されたブロックについては、上述のQビット/モーションフラグ回復処理を行うことなく、Qビット/モーションフラグ情報に直接アクセスしてこれらのブロックを回復してもよい。
【0175】
上述のように、最良の復号候補を実際の復号処理として選択するための得点付けの手法は、様々である。変形例においては、各復号候補を用いた画像の平滑度を評価する。一具体例においては、ラプラス測定を実行する。ラプラス測定では、例えば画像の曲率等の画像表面の2次特性を利用する。線形画像表面、すなわち平滑な表面に対しては、このラプラス測定の結果は0に近い値となる。
【0176】
この処理をFIG.24a、24b、24cを用いて説明する。FIG.24aは、ラプラスカーネルの一具体例を示す。他のラプラスカーネルを用いてもよい。ラプラスカーネルLは、3×3の領域で示される。画像領域の平滑度を測定するために、画像のサブ領域をカーネルにより畳み込み、畳み込まれた値の平均を求める。領域及びサブ領域のサイズ(したがってカーネルのサイズ)は、アプリケーションに応じて変更できる。
【0177】
処理の一例をFIG.24cに示す。この具体例では、3×3のカーネル及びサブ領域サイズ及び8×8の領域サイズと、インデックスi,jにより識別される独立要素とを用いる。ステップ2460において、候補復号値×[i][j]を正規化する。例えば、値は以下の式に基づいて正規化される。
【0178】
【数32】
【0179】
ステップ2465では、正規化された値を用い、以下の式に基づいて、平滑度を示すブロックラプラス値LXを求める。
【0180】
【数33】
【0181】
ブロックラプラス値が0に近いほど、画像の部分の平滑度が高い。したがって、このブロックラプラス値に基づいて得点を算出することができ、ラプラス値が最も小さい復号候補を正しいと判定することができる。
【0182】
ラプラス評価法は、符号化された候補値q[i][j]を用いて実現することもできる。基本的な処理手順は、FIG.24cに示す手順と同様である。この具体例では、3×3のカーネル及びサブ領域サイズ及び8×8の領域サイズと、インデックスi,jにより識別される独立要素とを用いる。例えば、値は以下の式により正規化される。
【0183】
【数34】
【0184】
ステップ2465では、正規化された値を用いて、以下の式に基づいて、平滑度を示すブロックラプラス値Lqを求める。
【0185】
【数35】
【0186】
ブロックラプラス値が0に近いほど、画像の部分の平滑度が高い。したがって、このブロックラプラス値に基づいて得点を算出することができ、ラプラス値が最も小さい復号を正しいと判断することができる。
【0187】
さらに他の変形例も可能である。変形例として、平滑度測定のために、より高次元の画像特性を用いることもできる。この場合、高次カーネルを用いることができる。例えば、4次カーネルを用いて、4次ブロックラプラス測定を行うことができる。このような4次カーネルは、2次ラプラス演算を縦続的に実行することにより実現できる。
【0188】
さらに、画像が所定の値より大きな変化又は動きを有しているか否かに基づいて評価処理を変更してもよい。画像の部分が所定の値より大きな動きを示している場合、フレームではなくフィールドに対する測定を行うことが望ましい。この点について、FIG.25を用いて説明する。FIG.25は、平滑度測定を用いた処理を示す図である。しかしながら、この処理は様々な種類の測定法を用いて実現することができる。
【0189】
画像領域のフレーム2505は、フィールド0及びフィールド1から構成される。ステップ2510において動きが検出されない場合、ステップ2515において、各フレーム内のブロックについてブロックラプラス値を求めることにより平滑度を測定する。所定の値より大きな動きが検出された場合、ステップ2520及びステップ2525においてそれぞれのフィールドに対してブロックラプラス測定を行い、得られた2つの測定値をステップ2530において結合、例えば平均値を求め、平滑度測定値を算出する。動きの検出及び測定には様々な手法を用いることができる。一具体例においては、フィールド間の変化を評価し、得られた値が所定の値を超えた場合に動きを検出する。
【0190】
値の回復(通常、欠落又は破損された値の置換)のために動き検出、フレーム情報及びフィールド情報を使用する手法は、値を回復する必要があるあらゆる処理の過程に適用できる。例えば、値を回復するための動き検出、フレーム情報及びフィールド情報を使用する手法は、DR/MIN回復処理、画素回復処理、Qビット及びモーションフラグ回復処理等に適用することができる。このように、検出された動きレベルに基づいて、回復処理は、フィールド単位又はフレーム単位で既存の情報を利用する。さらに、この処理は、特定の方向(例えば、水平方向又は垂直方向)での相関レベルに基づいて選択される重み付けの値を用いるアプリケーションと組み合わせて用いることもできる。
【0191】
Qビット及びモーションフラグ回復処理の他の具体例では、復号候補は、ブロック内及びブロック間測定に基づいて評価される。以下の説明では、用語「ブロック」は、フレーム又はフィールドの部分を意味するものとする。ブロック内測定は、復号候補により復号された画像の部分の例えば平滑度を評価する。ブロック間測定は、復号候補が隣接する画像部分にどれほど合致するかを測定する。FIG.26a及びFIG.26bは、ブロック間評価とブロック内評価とを組み合わせた手法を説明する図である。具体的には、FIG.26aは、ブロック間測定及びブロック内測定の結果が良好であるために許容可能な復号候補を示し、一方、FIG.26bでは、ブロック内測定の結果は極めて良好であるが、ブロック間測定の結果が良好ではない場合を示している。
【0192】
ブロック内測定の具体例では、上述した平滑化測定を行う。ブロック間測定の具体例では、上述の自乗誤差測定を行う。ブロック間測定の変形例では、ADRCブロック候補における適合する境界画素の比及び境界画素の総数を使用する。
【0193】
ADRC符号化された8×8ブロックに対するブロック間評価及びブロック内評価について、FIG.26c、26d、26eを用いて説明する。FIG.26dは、q個の値からなる符号化された値2650のデータの画像の一部(ブロック)を示し、このブロックから候補復号値xが生成される。隣接する復号されたデータ2655は、y個の値からなる。上述のとおり、FIG.26cのフローチャートに示すステップ2605において、ブロック内測定が実行され、これにより測定値、例えばブロックラプラス値LXが算出される。ステップ2610において、ブロック間測定値SXが算出され、これにより隣接するブロック間の適合性が測定される。ステップ2615において、結合測定値MXが算出される。結合測定値は、復号候補を選択するために用いる情報を提供する。
【0194】
この具体例において、SXは、復号候補による各境界画素の有効範囲内に存在する隣接データの数として算出される(FIG.26e参照)。FIG.26eは、一具体例の有効範囲を示すグラフであり、ここでは観察された量子化値qiのそれぞれの有効範囲が示されている。すなわち、LQ≦DR<UQとなり、ここで、LQ、UQは、それぞれ量子化ビット=Qに対応するDRの上位及び下位の境界を示している。SXについては、SX=SX/境界画素数として正規化することが望ましい。
【0195】
この具体例では、結合測定値MXは、MX=SX+(1−LX)という式に基づいて算出する。これに代えて、以下の式を用いて結合測定値の重み付けを行ってもよい。MX=w・SX+(1−w)・(1−LX)ここで、wは重みであり、通常経験的に決定された重み付けの値を有する。
【0196】
欠落又は破損されたDR値及びMIN値を判定するための他の具体例も考えられる。例えば、上述の式を変形して用い、より高精度なDR値及びMIN値の回復を実現することができる。他の具体例では、メジアン法を用いてもよい。メジアン法の一具体例では、MINの値を全てのMINiの値のメジアンとして以下のようにして求める。
【0197】
MINi=yi−qi・sここで、qiは、符号化された画素値を示し、yiは、qiに隣接する復号された画素を示す。エッジマッチングADRCにおいて、s=DR/(2Q−1)である。ノンエッジマッチングADRCにおいては、s=DR/2Qである。ここで、Qは、画素毎の量子化ビット数(Qビット値)を示す。
【0198】
使用される値は、時間的近似値又は空間的近似値であってもよい。yiの値としては、隣接するフレーム/フィールド又は同じフィールドの隣接する画素の復号値を用いてもよい。yiの値としては、隣接するフレーム/フィールド又は同じフィールド内の同じ位置の画素の復号値を用いてもよい。
【0199】
さらに、DR及び/又はMIN回復処理をクリップ処理と組み合わせて用い、回復精度を向上させるとともに、回復処理中のデータのオーバフローを防止することもできる。クリッピング処理は、回復されれたデータの値を所定の範囲内に制限する処理である。すなわち、所定の範囲外の値は、この範囲の最も近い境界値にクリップされる。一具体例においては、クリップ処理により値を[LQ,UQ]の範囲内に制限する。ここで、LQ,UQは、量子化ビット数=Qで表される画素値の範囲の下限及び上限を示す。量子化ビット及びさらにMIN+DRを制限する制限値Numを設ける。Numは最大画素値であり、この具体例においてはNumは255である。この具体例において、適応可能であれば、UQ+1=LQ+1とする。
【0200】
判定基準を単一の式に結合することにより、DRのための拘束されない回復値(val')と、最終的にクリップされた回復値(val)とが以下の式から得られる。
【0201】
val=max(min(val, min(UQ, 255-MIN)), LQ)
ここで、min及びmaxは、それぞれ最小関数及び最大関数を示す。
【0202】
他の具体例においては、境界画素yiを用いて回復されたDR及び/又はMINをフィルタリングして相関値が最も高いものだけを用いるようにする。これによりDR及びMINの回復の精度が向上する。これら境界画素は、使用されていない判定基準には適合しない。一具体例においては、境界画素yiは、LQ≦DR<UQを満たすDR値が存在し、元の画素yiがqiとして符号化されている場合、DR算出に有効であるとみなされる。すなわち、以下の式が満たされるとき、画素は有効である。
【0203】
【数36】
【0204】
ここで、mは、最大量子化レベル=2Q−1を表す。次に、DR回復値(val')は、以下の式に基づいて算出される。
【0205】
【数37】
【0206】
続いて、この値は有効範囲内にクリップされる。この処理により、DR回復値は、閾値テーブルにより定義されている有効範囲内に納められる。これにより、DRが閾値テーブル境界近傍に存在する点の精度が低下する。
【0207】
ここで、量子化雑音の影響により静ADRCブロックのDRは、フレーム間で若干変化することがある。このような変化がADRC符号化境界を横断し、DRが複数の連続フレームにおいて回復された場合、有効画素選択とともに回復されたDRの回復値は、各横断点で過大になる傾向があり、この結果、表示画面上で顕著なちらつきが生じる。このような問題を抑制する手法として、一具体例では、有効画素選択処理を変形し、上限及び下限の境界による制約を緩和する。これにより隣接する有効領域に侵入する境界画素を許容する。境界に外接する点を含むことにより、回復値が上限又は下限に近い値となる傾向を強めることができる。緩和された境界L’QとU’Qは、緩和定数rにより算出される。一具体例においては、rの値を0.5に設定する。他の値を用いてもよい。
【0208】
L’Q=rLQ−1+(1−r)LQ
U’Q=(1−r)UQ+rUQ+1
以上、DR及びMINが破損又は欠落した場合にDR及びMINを回復するための様々な手法を説明した。算出され、回復された対応するデータの時間的及び/又は空間的相関を調べ、重み付けを行うことにより、さらに回復の精度を高めることができる。具体的には、特定の方向又は時間軸において高度な相関が存在する、例えば水平相関が存在する場合、画像特性はその高度な相関を有する方向において平滑に連続し、したがって、相関値の高い回復値の使用に最良の評価を与える。これにより、境界データは対応する方向(例えば、垂直、水平、フィールド間)に含まれ、相関測定値に基づいて重み付けされ、最終的な回復値が得られる。
【0209】
この処理の一具体例をFIG.7aを参照に説明する。ステップ2710において、DR又はMINの回復値を一方向について生成し、ステップ2715において、他の方向の回復値を生成する。例えば、この処理を空間的に適用する場合、水平方向の境界に沿う境界画素を用いて第1の回復値hestを生成し、垂直方向の境界に沿う境界画素を用いて第2の回復値vestを生成する。これに代えて、処理を時間的に適用する場合、隣接するフィールド間の境界画素を用いて第1の回復値を生成し、隣接するフレーム間の境界画素を用いて第2の回復値を生成する。
【0210】
ステップ2720において、各方向における相関レベルを示す相関演算に基づいて回復値の重み付けを行う。続いてステップ2725において、重み付けされた第1及び第2の回復値を結合して結合回復値を生成する。なお、この処理は、2方向の回復値に対する重み付けのみに限定されるわけではない。すなわち、重み付けされ、結合される回復値の数は、アプリケーションに応じて変更できることは明らかである。特定の方向における相関レベルを示す相関値を算出するために様々な手法を用いることができる。さらに、様々な判定基準を用いて相関レベルに関する重み付け要素を選択することができる。通常、一方の相関値が他方の相関値よりかなり大きい場合、結合された回復値は、主に対応する回復値に基づくものである必要がある。一具体例において、結合された回復値は以下の式により求められる。
【0211】
【数38】
【0212】
ここで、hcは水平相関を表し、vcは垂直相関を表し、hestは左右の境界情報のみに基づくDR回復値を表し、vestは上下の境界情報のみに基づく回復値を表し、αは重みを表す。重みの値は様々な方法で決定できる。FIG.27bは、水平相関と垂直相関との差分の関数として重みの値を決定する一具体例を説明する図である。具体的にはαは、以下の式を満たすように選択される。
【0213】
【数39】
【0214】
上述のように、適応相関処理は、DR及びMINのいずれの回復にも用いることができる。しかしながら、望ましくは、MIN+DRが255になるようにMIN回復処理においてクリッピングを行う。したがって、関数val=max(min(val', 255-MIN), 0)を用いることができる。さらに、上述のとおり、時間的相関を評価し、これにより回復値の重み付けを行うこともできる。また、時間的相関と空間的相関を組み合わせて利用してもよい。例えば、フィールド間のある回復値を時間的回復値として生成する。他方の回復値を1フィールド内の空間的回復値として生成する。最終的な回復値は、時間的相関及び空間的相関を組み合わせて算出される。相関の組み合わせを動きの量に置換してもよい。他の変形例も可能である。この手法をオーディオデータに対して適用しもよい。
【0215】
一変形例として、最小自乗法に単純な修正を加えた手法を用いることができる。この具体例により、回復されたDR値に起因するちらつきを低減することができる。以下の説明においては、QVは、画像部分又は点qiの集合を有し、DRが回復されようとしているADRCブロックを表し、Yは、QV内の垂直方向又は水平方向に隣接する点から得られた復号値のリストを表し、yiは、qiの垂直方向又は水平方向の隣接点を表す。各点qiは、最大4個の復号された隣接点を有するので、1画素又は点について(qi,yi)の組み合わせは最大4つとなる。DR(DRuls)の無制約最小自乗評価値は、以下のとおりである。
【0216】
【数40】
【0217】
ここで、Qは量子化ビットの数であり、MINはブロック属性として伝送された最小値を表す。上述の式は、ノンエッジマッチングADRCに対応するものであり、エッジマッチングADRCの場合は、2Qを2Q−1に置き換え、(0.5+qi)をqiに置き換える。
【0218】
好ましくは、無制約自乗評価値をクリップし、閾値テーブル及び等式MIN+DR=255に整合させる。この条件は符号化処理中に行わなければならない(通常、ノンエッジマッチングADRCの場合、DR値として許容される範囲は1〜256である)。すなわち、最小自乗評価値は、以下の式に基づいてクリップされる。
【0219】
(DR)lsc=max(min(UB, DRuls), LB)
ここで、UBは上限を表し、LBは加減を表し、min及びmaxは、それぞれ最小関数及び最大関数を表す。
【0220】
変形例として、DR評価値に最も適合する画素を選択することにより評価を高めてDRの評価値を算出することもできる。例えば、画像内の変化の少ない領域の画素に対するDR評価値は、変化が多い領域の画素に対するDR評価値より適合性が高くなる。具体的には、画像の輪郭が鋭ければ、評価の精度が低くなる。以下、DR評価値を算出するために用いる画素を選択する簡易な計算手法の具体例を説明する。
【0221】
この具体例では、最小自乗評価値(DRlse)。例えば(DRuls)又は(DRlsc)を算出する。この評価値を用いて、符号化値QVのリストを復号候補値Xに変換する。ここで、xiはqiに由来するXの構成要素を表す。xi値はDRの第1の評価値を用いて生成された、回復された復号値である。xi値は、以下の式により定義される。
【0222】
【数41】
【0223】
DRlseが真のDRの正当な評価値であると仮定すると、いかなる場合もxiはyiに比較的近似し、したがって変化の少ない領域と判断され、望ましい適合性が得られる。新たなX及びYリストは、xiとyiが近似しており、最小自乗評価値が再計算されて評価値が更新される。
【0224】
「近似」しているか否かを決定するために、様々な判定基準を設けることができる。一具体例においては、エラー関数のADRC符号化を用いる。この手法は、計算が低コストであるという利点を有する。処理においては、点ei|yi−xi|から構成されるリストEを定義する。emin及びemaxをそれぞれリストの最大値及び最小値として定義すると、eDR=emax-eminとなる。したがって、符号化されたエラー値は、以下のように定義される。
【0225】
gi=(ei-emin)nl/eDR
ここで、nlは上述したADRC処理と同様の手法によりeiを再量子化する際の量子化レベルの数を表す。
【0226】
giがいずれかの閾値以下であるという条件に合致するもののみを選択することにより、新たなリストX、Yが生成される。これら新たなリストが十分長ければ、これらのリストを用いて精密な最小自乗評価値DRrlsを生成できる。最小自乗評価値を精密化するため必要となるgiの閾値及び合致数は、好ましくは経験的に求められる。例えば、nlを10とした8×8×2の水平サブサンプルブロックに対する具体例では、gi=0に対応する合致数のみを用い、評価値は、新たなリストが少なくとも30個以上の合致数を含む場合にのみ精密化される。
【0227】
変形例として、潜在的DR値をクリッピングし、DR評価値を再計算することによりDR評価値の精度を高めることができる。詳しくは、一具体例において、リストDは、構成要素diから構成され、diはxiをyiに一致させるDR値を含む。より具体的には、以下の式のとおりとなる。
【0228】
di=2Q(yi-MIN)/(0.5+qi)
以下に示すように、各diをクリッピングすることにより精度が高められる。
【0229】
di'=max(min(UB, di), LB)
ここで、DRclsはdi’の平均となるように算出される。重み付け平均において、クリップ処理(DRcls)を他のDR評価、例えばDRlseと組み合わせて最終のDR値を求めるようにしてもよい。例えば、重み平均DRestを以下の式に基づいて算出する。
【0230】
DRest=w1(DRcls)+w2(DRlse)
重みw1及びw2は、好ましくは、結果として得られた評価値及び特定の重みから生成された画像に基づいて経験的に決定される。一具体例においては、w1=0.22513とし、w2=0.80739とする。
【0231】
本発明を好ましい実施の形態に基づいて説明した。上述の説明から、多数の代替、修正、変形及び用法が実現できることは当業者にとって明らかである。
【図面の簡単な説明】
【図1】
FIG.1は、信号の符号化、伝送、復号の処理を包括的に示す図である。
【図2】
FIG.2は、パケット構造の具体例を示す図である。
【図3】
FIG.3は、本発明に基づく符号化処理の一例を説明するフローチャートである。
【図4】
FIG.4は、本発明に基づく復号処理の一例を説明するフローチャートである。
【図5】
FIG.5は、本発明に基づく画像−ブロックマッピングの一例を示す図である。
【図6】
FIG.5aは、画像−ブロックマッピングにおいて用いられるシャッフリングパターンの一例を示す図である。
【図7】
FIG.6は、相補的及び連鎖的なブロック構造の例を示す図である。
【図8】
FIG.7a及びFIG.7bは、フレームセット内のYブロックのシャッフリングパターンの具体例を説明する図である。
【図9】
FIG.7cは、フレームセット内のYブロックのシャッフリングパターンの具体例を説明する図である。
【図10】
FIG.7dは、フレームセット内のYブロックのシャッフリングパターンの具体例を説明する図である。
【図11】
FIG.8は、バッファ0内の累積的DR分布の具体例を示す図である。
【図12】
FIG.8aは、本発明に基づく部分バッファリング処理の具体例を示す図である。
【図13】
FIG.9は、本発明に基づくバッファ内YUVブロックシャッフリング処理の具体例を示す図である。
【図14】
FIG.10は、本発明に基づくグループ内VLデータシャッフリング処理の具体例を示す図である。
【図15】
FIG.11は、本発明に基づく3ブロックグループ内におけるQコードの結合の具体例を示す図である。
【図16】
FIG.11aは、本発明に基づく動ブロックを含むフレーム対におけるQコードの結合の具体例を示す図である。
【図17】
FIG.12は、1/6バーストエラー欠落に起因する画素データエラーの具体例を示す図である。
【図18】
FIG.12aは、本発明に基づくQコードのシャッフリング及びQコードビットの分散の具体例を示す図である。
【図19】
FIG.12bは、Qコードを再分散した場合における1/6バーストエラーに起因する画素データエラーの具体例を示す図である。
【図20】
FIG.12cは、Qコードを再割当した場合における1/6バーストエラーに起因する画素データエラーの具体例を示す図である。
【図21】
FIG.13は、本発明に基づくMINシャッフリングの具体例を示す図である。
【図22】
FIG.13aは、モーションフラグシャッフリング及び1フレーム対内における固定長データ欠落を示す図である。
【図23】
FIG.14は、モジュールシャッフリングの具体例を示す図である。
【図24】
FIG.14aは、モジュールシャッフリングの結果及びモジュールシャッフリングに関連する固定長データ欠落を示す図である。
【図25】
FIG.14bは、変形されたモジュールシャッフリングの結果及びこのモジュールシャッフリングに関連する固定長データ欠落を示す図である。
【図26】
FIG.14cは、変形されたモジュールシャッフリングの結果及びこのモジュールシャッフリングに関連する固定長データ欠落を示す図である。
【図27】
FIG.15は、フレームセット内の可変長データバッファリングの具体例を示す図である。
【図28】
FIG.16は、本発明に基づくセグメント間VLデータシャッフリングを説明する図である。
【図29】
FIG.17は、本発明に基づくデータ回復処理の具体例を示すフローチャートである。
【図30】
FIG.18は、本発明に基づくQビット及びモーションフラグ回復処理の具体例を示すフローチャートである。
【図31】
FIG.19は、復号候補の具体例を示す図である。
【図32】
FIG.20a及びFIG.20bは、FIG.18に示すQビット及びモーションフラグ回復処理において用いられる測定を説明する図である。
【図33】
FIG.20c及びFIG.20dは、FIG.18に示すQビット及びモーションフラグ回復処理において用いられる測定を説明する図である。
【図34】
FIG.21は、Qビット及びモーションフラグ回復処理において自乗誤差確率関数を求めるために用いられる表を示す図である。
【図35】
FIG.22は、本発明に基づくQビット、モーションフラグ及び補助情報回復処理の具体例を示すフローチャートである。
【図36】
FIG.23は、双方向Qビット及びモーションフラグ回復処理の具体例におけるポストアンブルの使用を説明する図である。
【図37】
FIG.24a及びFIG.24bは、復号候補を評価する変形例を説明する図である。
【図38】
FIG.24cは、復号候補を評価する変形例を説明する図である。
【図39】
FIG.25は、本発明に基づく平滑度測定の具体例を示す図である。
【図40】
FIG.26a及びFIG.26bは、復号候補の評価法の他の具体例を説明する図である。
【図41】
FIG.26cは、復号候補の評価法の他の具体例を説明する図である。
【図42】
FIG.26d及びFIG26eは、復号候補の評価法の他の具体例を説明する図である。
【図43】
FIG.27aは、復号候補の評価処理の他の具体例を示す図である。
【図44】
FIG.27bは、重み付けに用いる重みを決定するための具体例を示す図である。
【発明の名称】 データ受信方法及び装置、その受信データの回復処理装置並びに記録媒体
【特許請求の範囲】
【請求項1】 符号化されたデータのビットストリームにおける欠落/破損したデータを受信するデータ受信方法において、
上記ビットストリーム内の関連するブロックのグループ用に複数の復号候補を生成するステップと、
上記復号候補のうち少なくとも1つの画像領域に基づいて各々のブロックの少なくとも1つの内部相関測定値を算出し、ブロック内における隣接する画素のブロック内相関を判定するステップと、
上記ブロックのグループの各ブロックにおいて隣接するブロック間の外部適合性測定値を判定し、ブロック内適合性を判定するステップと、
上記ブロックの内部相関測定値と上記関連するブロックの外部適合性測定値とを組み合わせて、該内部相関測定値と外部適合性測定値との結合測定値を生成するステップと、
上記内部相関性測定値と外部適合性測定値との結合測定値に基づいて、複数の復号候補から1つの復号候補を選択するステップとを有するデータ受信方法。
【請求項2】 上記測定値は、信頼度測定値であることを特徴とする請求項1記載のデータ受信方法。
【請求項3】 上記測定値は、自乗誤差測定値であることを特徴とする請求項1記載のデータ受信方法。
【請求項4】 上記測定値は、空間的相関測定値であることを特徴とする請求項1記載のデータ受信方法。
【請求項5】 上記測定値は、水平相関測定値であることを特徴とする請求項1記載のデータ受信方法。
【請求項6】 上記測定値は、垂直相関測定値であることを特徴とする請求項1記載のデータ受信方法。
【請求項7】 上記測定値は、対角相関測定値であることを特徴とする請求項1記載のデータ受信方法。
【請求項8】 上記測定値は、時間的動き測定値であることを特徴とする請求項1記載のデータ受信方法。
【請求項9】 符号化されたデータのビットストリームにおける欠落/破損したデータを受信するデータ受信方法において、
複数のブロック用に複数の復号候補を生成するステップと、
各々のブロックについて、上記復号候補のうち少なくとも1つの画像領域の内部平滑度測定値を測定するステップと、
上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定するステップと、
上記内部平滑度測定値と上記隣接するブロックの外部適合性測定値を組み合わせて、該内部平滑度測定値と外部適合性測定値との結合測定値を生成するステップと、
上記結合測定値に基づいて復号候補を選択するステップとを有するデータ受信方法。
【請求項10】 上記内部平滑度測定値を測定するステップにおいて、ラプラス測定を実行することを特徴とする請求項9記載のデータ受信方法。
【請求項11】 上記内部平滑度測定値を測定するステップは、位置[i,j]における復号
値をx[i][j]をとし、上記復号値x[i][j]を
【数1】
として正規化するステップと、上記復号値x[i][j]、ラプラスカーネルL[m][n]及びブロックラプラス値Lxに基づいて平滑度を算出するステップとを有し、上記ブロックラプラス値Lxは以下の式に基づいて算出されることを特徴とする請求項9記載のデータ受信方法。
【数2】
【請求項12】 上記正規化は、以下の式に基づいて演算されることを特徴とする請求項11記載のデータ受信方法。
【数3】
【請求項13】 上記Kは、8であることを特徴とする請求項11記載のデータ受信方法。
【請求項14】 上記内部平滑度測定値を測定するステップは、さらに、符号化された画像中の位置[i,j]におけるQコード値をq[i,j]とし、上記q[i,j]をq’[i,j]として正規化するステップと、上記q’[i,j]、ラプラスカーネルL[m][n]及びブロックラプラス値Lqに基づいて平滑度を算出するステップとを有し、上記ブロックラプラス値Lqは以下の式に基づいて算出されることを特徴とする請求項9記載のデータ受信方法。
【数4】
【請求項15】 上記q’[i,j]は、以下の式に基づいて算出されることを特徴とする請求項14記載のデータ受信方法。
【数5】
【請求項16】 上記Kは、8であることを特徴とする請求項14記載のデータ受信方法。
【請求項17】 上記内部平滑度測定値は、画像表面の2次特性を有することを特徴とする請求項9記載のデータ受信方法。
【請求項18】 上記内部平滑度測定値は、N>1とし、画像表面のN次特性を有することを特徴とする請求項9記載のデータ受信方法。
【請求項19】 上記内部平滑度測定値を測定するステップは、さらに、
上記画像領域が動きを有しているか否かを判定するステップと、
上記画像領域が動きを有しているとき、上記画像領域の第1のフィールドと第2のフィールドの平滑度を算出し、上記平滑度の平均値を求め、平滑度測定値を算出するステップを有し、
上記画像領域が動きを有していないとき、該画像領域の上記平滑度測定値を算出するステップを有することを特徴とする請求項9記載のデータ受信方法。
【請求項20】
上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定するステップは、さらに、空間的相関を評価することにより、動きを判定するステップを有することを特徴とする請求項9記載のデータ受信方法。
【請求項21】
上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を算出するステップは、さらに、隣接するブロックの境界画素の総数と候補ブロックの境界画素の総数との比率を判定するステップを有することを特徴とする請求項9記載のデータ受信方法。
【請求項22】
境界画素が適合境界画素の有効範囲内に存在するとき、該境界画素は適合可能であると判定することを特徴とする請求項21記載のデータ受信方法。
【請求項23】
復号候補の選択に用いる結合測定値を生成するステップをさらに有することを特徴とする請求項9記載のデータ受信方法。
【請求項24】
上記結合測定値は、上記結合測定値をMXとし、上記適合性測定値をSXとし、上記平滑度測定値をLXをとし、以下の式に基づいて算出されることを特徴とする請求項23記載のデータ受信方法。
MX=SX+(1−LX)
【請求項25】
上記結合測定値は、上記結合測定値をMXとし、上記適合性測定値をSXとし、経験的に決定された重み付けの値をwとし、上記平滑度をLXとし、以下の式に基づいて算出されることを特徴とする請求項23記載のデータ受信方法。
Mx=w・SX+(1−w)・(1−LX), 0<w<1
【請求項26】 符号化されたデータのビットストリームにおける欠落/破損したデータを受信する処理装置において、
複数のブロック用に複数の復号候補を生成する回路と、
上記復号候補のうち少なくとも1つの画像領域に基づいて各々のブロックの内部相関測定値を生成する回路と、
上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定する回路と、
上記内部相関測定値と上記隣接するブロックの外部適合性測定値とを組み合わせて、結合測定値を生成する回路と、
上記結合測定値に基づいて上記複数の復号候補から1つの復号候補を選択する回路とを備える処理装置。
【請求項27】 上記測定値は、信頼度測定値であることを特徴とする請求項26記載の処理装置。
【請求項28】 上記測定値は、自乗誤差測定値であることを特徴とする請求項26記載の処理装置。
【請求項29】 上記測定値は、空間的相関測定値であることを特徴とする請求項26記載の処理装置。
【請求項30】 上記測定値は、水平相関測定値であることを特徴とする請求項26記載の処理装置。
【請求項31】 上記測定値は、垂直相関測定値であることを特徴とする請求項26記載の処理装置。
【請求項32】 上記測定値は、対角相関測定値であることを特徴とする請求項26記載の処理装置。
【請求項33】 上記測定値は、時間的動き測定値であることを特徴とする請求項26記載の処理装置。
【請求項34】 符号化されたデータのビットストリームにおける欠落/破損したデータを受信する処理装置において、
複数のブロック用に複数の復号候補を生成する回路と、
各々のブロックについて、上記復号候補のうち少なくとも1つの画像領域の内部平滑度測定値を測定する回路と、
上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定する回路と、
上記内部平滑度測定値と上記隣接するブロックの外部適合性測定値とを組み合わせて、結合測定値を生成する回路と、
上記結合測定値に基づいて復号候補を選択する回路とを備える処理装置。
【請求項35】 上記内部平滑度測定値の測定する回路は、ラプラス測定を実行することを特徴とする請求項34記載の処理装置。
【請求項36】 上記内部平滑度測定値を測定する回路は、位置[i,j]における復号値をx[i][j]をとし、上記復号値x[i][j]を
【数6】
として正規化し、上記復号値x[i][j]、ラプラスカーネルL[m][n]及びブロックラプラス値LXに基づいて平滑度を算出し、上記ブロックラプラス値LXは以下の式に基づいて算出されることを特徴とする請求項34記載の処理装置。
【数7】
【請求項37】 上記正規化は、以下の式に基づいて演算されることを特徴とする請求項36記載の処理装置。
【数8】
【請求項38】 上記Kは、8であることを特徴とする請求項36記載の処理装置。
【請求項39】 上記内部平滑度測定値を測定する回路は、符号化された画像中の位置[i,j]におけるQコード値をq[i,j]をとし、上記q[i,j]をq’[i,j]として正規化し、上記q’[i,j]、ラプラスカーネルL[m][n]及びブロックラプラス値Lqに基づいて平滑度を算出し、上記ブロックラプラス値Lqは以下の式に基づいて算出されることを特徴とする請求項34記載の処理装置。
【数9】
【請求項40】 上記q’[i,j]は、以下の式に基づいて算出されることを特徴とする請求項39記載の処理装置。
【数10】
【請求項41】 上記Kは、8であることを特徴とする請求項39記載の処理装置。
【請求項42】 上記内部平滑度測定値は、画像表面の2次特性を有することを特徴とする請求項34記載の処理装置。
【請求項43】 上記内部平滑度測定値は、N>1とし、画像表面のN次特性を有することを特徴とする請求項34記載の処理装置。
【請求項44】 上記内部平滑度測定値を測定する回路は、
上記画像領域が動きを有しているか否かを判定し、
上記画像領域が動きを有しているとき、上記画像領域の第1のフィールドと第2のフィールドの平滑度を算出し、上記平滑度の平均値を求め、平滑度測定値を算出し、
上記画像領域が動きを有していないとき、該画像領域の上記平滑度測定値を算出することを特徴とする請求項34記載の処理装置。
【請求項45】 上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定する回路は、空間的相関を評価することにより、動きを判定することを特徴とする請求項34記載の処理装置。
【請求項46】 上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を算出する回路は、隣接するブロックの境界画素の総数と候補ブロックの境界画素の総数との比率を判定することを特徴とする請求項34記載の処理装置。
【請求項47】 境界画素が適合境界画素の有効範囲内に存在するとき、該境界画素は適合可能であると判定することを特徴とする請求項46記載の処理装置。
【請求項48】 復号候補の選択に用いる結合測定値を生成することを特徴とする請求項34記載の処理装置。
【請求項49】 上記結合測定値は、上記結合測定値をMXとし、上記適合性測定値をSXとし、上記平滑度測定値をLXとし、以下の式に基づいて算出されることを特徴とする請求項48記載の処理装置。
MX=SX+(1−LX)
【請求項50】 上記結合測定値は、上記結合測定値をMXとし、上記適合性測定値をSXとし、経験的に決定された重み付けの値をwとし、上記平滑度をLXとし、以下の式に基づいて算出されることを特徴とする請求項48記載の処理装置。
MX=w・SX+(1−w)・(1−LX), 0<w<1
【請求項51】 復号されたデータのビットストリームにおける欠落/破損したデータを処理装置に受信させるための、複数の実行可能な命令を格納するコンピュータにより読取可能な記録媒体であって、上記処理装置に、
複数のブロック用に複数の復号候補を生成するステップと、
上記復号候補のうち少なくとも1つの画像領域に基づいて各々のブロックの内部相関測定値を算出するステップと、
上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定するステップと、
上記内部相関測定値と上記隣接するブロックの外部適合性測定値とを組み合わせて、結合測定値を生成するステップと、
上記結合測定値に基づいて上記複数の復号候補から1つの復号候補を選択するステップとを実行させる命令が格納されていることを特徴とするコンピュータにより読取可能な記録媒体。
【請求項52】 上記測定値は、信頼度測定値であることを特徴とする請求項51記載のコンピュータにより読取可能な記録媒体。
【請求項53】 上記測定値は、自乗誤差測定値であることを特徴とする請求項51記載のコンピュータにより読取可能な記録媒体。
【請求項54】 上記測定値は、空間的相関測定値であることを特徴とする請求項51記載のコンピュータにより読取可能な記録媒体。
【請求項55】 上記測定値は、水平相関測定値であることを特徴とする請求項51記載のコンピュータにより読取可能な記録媒体。
【請求項56】 上記測定値は、垂直相関測定値であることを特徴とする請求項51記載のコンピュータにより読取可能な記録媒体。
【請求項57】 上記測定値は、対角相関測定値であることを特徴とする請求項51記載のコンピュータにより読取可能な記録媒体。
【請求項58】 上記測定値は、時間的動き測定値であることを特徴とする請求項51記載のコンピュータにより読取可能な記録媒体。
【請求項59】 復号されたデータのビットストリームにおける欠落/破損したデータを処理装置に受信させるための、複数の実行可能な命令を格納するコンピュータにより読取可能な記録媒体であって、上記処理装置に、
複数のブロック用に複数の復号候補を生成するステップと、
各々のブロックについて、上記復号候補のうち少なくとも1つの画像領域の内部平滑度測定値を測定するステップと、
上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定するステップと、
上記内部平滑度測定値と上記隣接するブロックの外部適合性測定値とを組み合わせて、結合測定値を生成するステップと、
上記結合測定値に基づいて複数の復号候補から1つの復号候補を選択するステップとを実行させる命令が格納されていることを特徴とするコンピュータにより読取可能な記録媒体。
【請求項60】 上記内部平滑度測定値を測定するステップにおいて、上記処理装置に、ラプラス測定を実行させる命令が格納されていることを特徴とする請求項59記載のコンピュータにより読取可能な記録媒体。
【請求項61】 上記内部平滑度測定値を測定するステップにおいて、上記処理装置に、位置[i,j]における復号値をx[i][j]とし、上記復号値x[i][j]を
【数11】
として正規化するステップと、上記復号値x[i][j]、ラプラスカーネルL[m][n]及びブロックラプラス値Lxに基づいて平滑度を算出するステップとを実行させる命令が格納されており、上記ブロックラプラス値Lxは以下の式に基づいて算出されることを特徴とする請求項59記載のコンピュータにより読取可能な記録媒体。
【数12】
【請求項62】 上記正規化は、以下の式に基づいて演算されることを特徴とする請求項61記載のコンピュータにより読取可能な記録媒体。
【数13】
【請求項63】 上記Kは、8であることを特徴とする請求項61記載のコンピュータにより読取可能な記録媒体。
【請求項64】 上記内部平滑度測定値を測定するステップにおいて、上記処理装置に、符号化された画像中の位置[i,j]におけるQコード値をq[i,j]をとし、上記q[i,j]をq’[i,j]として正規化するステップと、上記q’[i,j]、ラプラスカーネルL[m][n]及びブロックラプラス値Lqに基づいて平滑度を算出するステップとを実行させる命令が格納されており、上記ブロックラプラス値Lqは以下の式に基づいて算出されることを特徴とする請求項59記載のコンピュータにより読取可能な記録媒体。
【数14】
【請求項65】 上記q’[i,j]は、以下の式に基づいて算出されることを特徴とする請求項64記載のコンピュータにより読取可能な記録媒体。
【数15】
【請求項66】 上記Kは、8であることを特徴とする請求項64記載のコンピュータにより読取可能な記録媒体。
【請求項67】 上記内部平滑度測定値は、画像表面の2次特性を有することを特徴とする請求項59記載のコンピュータにより読取可能な記録媒体。
【請求項68】 上記内部平滑度測定値は、N>1とし、画像表面のN次特性を有することを特徴とする請求項59記載のコンピュータにより読取可能な記録媒体。
【請求項69】 上記内部平滑度測定値を測定するステップにおいて、上記処理装置に、
上記画像領域が動きを有しているか否かを判定するステップを実行させる命令が格納され、
上記画像領域が動きを有しているとき、上記画像領域の第1のフィールドと第2のフィールドの平滑度を算出し、上記平滑度の平均値を求め、平滑度測定値を算出するステップを実行させる命令が格納され、
上記画像領域が動きを有していないとき、該画像領域の上記平滑度測定値を算出するステップを実行させる命令が格納されていることを特徴とする請求項59記載のコンピュータにより読取可能な記録媒体。
【請求項70】 上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定するステップにおいて、上記処理装置に、空間的相関を評価することにより、動きを判定するステップを実行させる命令が格納されていることを特徴とする請求項59記載のコンピュータにより読取可能な記録媒体。
【請求項71】 上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を算出するステップにおいて、上記処理装置に、隣接するブロックの境界画素の総数と候補ブロックの境界画素の総数との比率を判定するステップを実行させる命令が格納されていることを特徴とする請求項59記載のコンピュータにより読取可能な記録媒体。
【請求項72】 境界画素が適合境界画素の有効範囲内に存在するとき、該境界画素は適合可能であると判定することを特徴とする請求項71記載のコンピュータにより読取可能な記録媒体。
【請求項73】 上記処理装置に、復号候補の選択に用いる結合測定値を生成するステップを実行させる命令が格納されていることを特徴とする請求項59記載のコンピュータにより読取可能な記録媒体。
【請求項74】 上記結合測定値は、上記結合測定値をMxとし、上記適合性測定値をSxとし、上記平滑度測定値をLxとし、以下の式に基づいて算出されることを特徴とする請求項73記載のコンピュータにより読取可能な記録媒体。
Mx=Sx+(1−Lx)
【請求項75】 上記結合測定値は、上記結合測定値をMxとし、上記適合性測定値をSxとし、経験的に決定された重み付けの値をwとし、上記平滑度をLxとし、以下の式に基づいて算出されることを特徴とする請求項73記載のコンピュータにより読取可能な記録媒体。
Mx=w・Sx+(1−w)・(1−Lx), 0<w<1
【請求項76】 符号化されたデータのビットストリームにおける欠落/破損したデータを受信するデータ受信装置において、
複数のブロック用に複数の復号候補を生成する生成手段と、
各々のブロックについて、上記復号候補のうち少なくとも1つの画像領域の内部平滑度測定値を測定する測定手段と、
上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定する判定手段と、
上記内部平滑度測定値と上記隣接するブロックの外部適合性測定値とを組み合わせて、結合測定値を生成する結合手段と、
上記結合測定値に基づいて上記複数の復号候補から1つの復号候補を選択する選択手段とを備えるデータ受信装置。
【請求項77】 上記平滑度を測定する測定手段において、ラプラス測定を実行することを特徴とする請求項76記載のデータ受信装置。
【請求項78】 上記平滑度を測定する測定手段は、位置[i,j]における復号値をx[i][j]をとし、上記復号値x[i][j]を
【数16】
として正規化する正規化手段と、上記復号値x[i][j]、ラプラスカーネルL[m][n]及びブロックラプラス値Lxに基づいて平滑度を算出する算出手段を有し、上記ブロックラプラス値Lxは以下の式に基づいて算出されることを特徴とする請求項76記載のデータ受信装置。
【数17】
【請求項79】 上記正規化は、以下の式に基づいて演算されることを特徴とする請求項78記載のデータ受信装置。
【数18】
【請求項80】 上記平滑度を測定する測定手段は、符号化された画像中の位置[i,j]におけるQコード値をq[i,j]とし、上記q[i,j]をq’[i,j]として正規化する正規化手段と、上記q’[i,j]、ラプラスカーネルL[m][n]及びブロックラプラス値Lqに基づいて平滑度を算出する算出手段とを有し、上記ブロックラプラス値Lqは以下の式に基づいて算出されることを特徴とする請求項76記載のデータ受信装置。
【数19】
【請求項81】 上記q’[i,j]は、以下の式に基づいて算出されることを特徴とする請求項80記載のデータ受信装置。
【数20】
【請求項82】 上記Kは、8であることを特徴とする請求項80記載のデータ受信装置。
【発明の詳細な説明】
【0001】
発明の背景
1.関連出願
本出願は、1997年10月23日出願の米国特許出願番号08/956,632号「伝送損失におけるエラーを強力に回復する画像−ブロックマッピング(Image-to-Block Mapping to Provide for Robust Error Recovery During Transmission Losses)」、1997年10月23日出願の米国特許出願番号08/957,555号「伝送損失におけるエラーを強力に回復する原始コーディング(Source Coding to Provide for Robust Error Recovery During Transmission Losses)」、1997年10月23日出願の米国特許出願番号08/956,870号「伝送損失におけるエラーを強力に回復するマルチプルブロック回復方法(Multiple Block Recovery Method to Provide for Robust Error Recovery During Transmission Losses)」の一部継続出願として1998年1月2日に出願された米国特許出願番号09/002,547号「伝送損失におけるエラーを強力に回復する画像−ブロックマッピング(Image-to-Block Mapping to Provide for Robust Error Recovery During Transmission Losses)」、1998年1月2日に出願された米国特許出願番号09/002,470号「伝送損失におけるエラーを強力に回復する原始コーディング(Source Coding to Provide for Robust Error Recovery During Transmission Losses)」、1998年1月2日に出願された米国特許出願番号09/002,553号「伝送損失におけるエラーを強力に回復するマルチプルブロック回復方法(Multiple Block Recovery Method to Provide for Robust Error Recovery During Transmission Losses)」の一部継続出願として1998年1月30日に出願された米国特許出願番号09/016,083号「伝送損失におけるエラーを強力に回復する原始コーディング(Source Coding to Provide for Robust Error Recovery During Transmission Losses)」の継続出願である。1998年1月30日に出願された米国特許出願番号09/016,083号、1998年1月2日に出願された米国特許出願番号09/002,547号、米国特許出願番号09/002,470号、米国特許出願番号09/002,553号、1997年10月23日出願の米国特許出願番号08/956,632号、米国特許出願番号08/957,555号、米国特許出願番号08/956,870号は、参照により本願に組み込まれるものとする。
【0002】
2.発明の分野
本発明は、信号伝送中のデータ欠落に起因するエラーを強力に回復する技術に関する。
【0003】
3.背景技術
信号伝送中に発生するランダムエラーにより失われたデータを再構築するための様々な手法が提案されている。しかしながら、これらの手法は、連続したデータパケットの欠落を回復することはできない。連続したデータパケットの欠落は、当分野では、バーストエラーと呼ばれる。バーストエラーにより、再生信号は、大きく劣化する。さらに、通信の高速化を目的とする圧縮技術は、バーストエラーにより起こる信号の劣化を増長させ、これにより再生信号の劣化はさらに深刻なものとなる。バーストエラーによる伝送信号及び/又は記録信号への影響の例は、圧縮技術が重要な役割を果たす高精細度テレビジョン(high definition television:以下、HDTVという。)や、移動通信装置等において確認される。
【0004】
HDTVの出現により、テレビジョンシステムにおいて、ナショナルテレビジョンシステムコミッティ(National Television Systems Committee:NTSC)が提案する従来の標準規格より高い解像度が実現されるようになった。現在提案されているHDTV信号は、主にデジタル信号である。カラーテレビジョン信号がデジタル形式に変換される場合、通常、輝度信号及び色差信号は、8ビットにデジタル化される。カラーテレビジョン信号をデジタル伝送するためには、216メガビット毎秒の基準データ伝送速度が必要である。この伝送速度は、HDTVの場合はさらに高く、通常、1200メガビット毎秒の伝送速度が必要となる。このような高い伝送速度は、現在の無線規格によりサポートされている帯域幅をはるかに上回る。したがって、効率的な圧縮技術が求められている。
【0005】
圧縮技術は、移動通信の分野においても重要な役割を果たす。通常、移動通信の用途における遠隔の端末間でパケットデータが送受信される。移動通信の伝送チャネル数は限られており、パケット送信の前にパケットを効率的に圧縮する技術が必要である。高い伝送速度を達成するために、多くの圧縮技術が提案されている。
【0006】
画像圧縮のための適応ダイナミックレンジコーディング(Adaptive Dynamic Range Coding:以下、ADRCという。)及び、離散コサイン変換(discrete cosine transform:以下、DCTという。)技術が知られている。これらの技術は、画像内の局所的な相関を利用して高圧縮比を達成するものである。しかしながら、符号化された信号を復号する際にエラーが顕著となるため、効率的な圧縮アルゴリズムは、複合的なエラーの増殖の原因ともなる。このようなエラーの増大により、再生映像は大幅に劣化する。
【0007】
発明の開示
本発明は、信号を原始コーディングする方法を提供する。特に、本発明は、複数の信号成分からなる信号を処理する。各信号成分は、ビットストリームとして符号化される。与えられたビットストリームは、異なる複数のビットストリームに分散される。これにより、セグメント成分のパラメータ記述成分が異なる複数のビットストリームに分散される。分散処理により、エラーは複数レベルに分散される。したがって、分散処理の逆の処理がデコーダによりなされると、伝送時のバーストエラーは局所的な欠落として分散される。
【0008】
本発明は、複数レベルのシャッフリング処理を提供する。信号は、複数のレベルを有するものと定義される。各レベルは、複数のフレーム、複数の画素、複数のビットから構成される。一具体例において、各レベル内及びレベル間でシャッフリングが行われ、これにより欠落が発生した画像領域における画像の再構築が容易となる。
【0009】
すなわち、本発明にかかるデータ受信方法は、符号化されたデータのビットストリームにおける欠落/破損したデータを受信するデータ受信方法において、上記ビットストリーム内の関連するブロックのグループ用に複数の復号候補を生成するステップと、上記復号候補のうち少なくとも1つの画像領域に基づいて各々のブロックの少なくとも1つの内部相関測定値を算出し、ブロック内における隣接する画素のブロック内相関を判定するステップと、上記ブロックのグループの各ブロックにおいて隣接するブロック間の外部適合性測定値を判定し、ブロック内適合性を判定するステップと、上記ブロックの内部相関測定値と上記関連するブロックの外部適合性測定値とを組み合わせて、該内部相関測定値と外部適合性測定値との結合測定値を生成するステップと、上記内部相関性測定値と外部適合性測定値との結合測定値に基づいて、複数の復号候補から1つの復号候補を選択するステップとを有する。
【0010】
ここで、上記測定値は、信頼度測定値、自乗誤差測定値、空間的相関測定値、水平相関測定値、垂直相関測定値、対角相関測定値、時間的動き測定値のいずれかであることが好ましい。
【0011】
次に、本発明に係るデータ受信方法は、符号化されたデータのビットストリームにおける欠落/破損したデータを受信するデータ受信方法において、複数のブロック用に複数の復号候補を生成するステップと、各々のブロックについて、上記復号候補のうち少なくとも1つの画像領域の内部平滑度測定値を測定するステップと、上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定するステップと、上記内部平滑度測定値と上記隣接するブロックの外部適合性測定値を組み合わせて、該内部平滑度測定値と外部適合性測定値との結合測定値を生成するステップと、上記結合測定値に基づいて復号候補を選択するステップとを有する。
【0012】
ここで、上記内部平滑度測定値を測定するステップにおいて、ラプラス測定を実行する。
【0013】
上記内部平滑度測定値を測定するステップは、位置[i,j]における復号値をx[i][j]をとし、上記復号値x[i][j]を次式として正規化するステップと、上記復号値x[i][j]、ラプラスカーネルL[m][n]及びブロックラプラス値Lxに基づいて平滑度を算出するステップとを有し、上記ブロックラプラス値Lxは以下の式に基づいて算出される。
【0014】
【数21】
【0015】
【数22】
【0016】
また、上記正規化は、以下の式に基づいて演算される。
【0017】
【数23】
【0018】
ここで上記Kは、8であることが好ましい。
【0019】
上記内部平滑度測定値を測定するステップは、さらに、符号化された画像中の位置[i,j]におけるQコード値をq[i,j]とし、上記q[i,j]をq’[i,j]として正規化するステップと、上記q’[i,j]、ラプラスカーネルL[m][n]及びブロックラプラス値Lqに基づいて平滑度を算出するステップとを有し、上記ブロックラプラス値Lqは以下の式に基づいて算出される。
【0020】
【数24】
【0021】
また、上記q’[i,j]は、以下の式に基づいて算出される。
【0022】
【数25】
【0023】
ここで上記Kは、8であることが好ましい。
【0024】
上記内部平滑度測定値は、画像表面の2次特性を有する。
【0025】
上記内部平滑度測定値は、N>1とし、画像表面のN次特性を有する。
【0026】
上記内部平滑度測定値を測定するステップは、さらに、上記画像領域が動きを有しているか否かを判定するステップと、上記画像領域が動きを有しているとき、上記画像領域の第1のフィールドと第2のフィールドの平滑度を算出し、上記平滑度の平均値を求め、平滑度測定値を算出するステップを有し、上記画像領域が動きを有していないとき、該画像領域の上記平滑度測定値を算出するステップを有する。
【0027】
上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定するステップは、さらに、空間的相関を評価することにより、動きを判定するステップを有する。
【0028】
上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を算出するステップは、さらに、隣接するブロックの境界画素の総数と候補ブロックの境界画素の総数との比率を判定するステップを有する。
【0029】
そして、境界画素が適合境界画素の有効範囲内に存在するとき、該境界画素は適合可能であると判定する。
【0030】
ここで、復号候補の選択に用いる結合測定値を生成するステップをさらに有することようにしてもよい。
【0031】
上記結合測定値は、上記結合測定値をMXとし、上記適合性測定値をSXとし、上記平滑度測定値をLXをとし、以下の式に基づいて算出される。
【0032】
MX=SX+(1−LX)
上記結合測定値は、上記結合測定値をMXとし、上記適合性測定値をSXとし、経験的に決定された重み付けの値をwとし、上記平滑度をLXとし、以下の式に基づいて算出される。
【0033】
Mx=w・SX+(1−w)・(1−LX), 0<w<1
次に、本発明に係る符号化されたデータのビットストリームにおける欠落/破損したデータを受信する処理装置は、該処理装置において、複数のブロック用に複数の復号候補を生成する回路と、上記復号候補のうち少なくとも1つの画像領域に基づいて各々のブロックの内部相関測定値を生成する回路と、上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定する回路と、上記内部相関測定値と上記隣接するブロックの外部適合性測定値とを組み合わせて、結合測定値を生成する回路と、上記結合測定値に基づいて上記複数の復号候補から1つの復号候補を選択する回路とを備える。
【0034】
また、該処理装置は複数のブロック用に複数の復号候補を生成する回路と、各々のブロックについて、上記復号候補のうち少なくとも1つの画像領域の内部平滑度測定値を測定する回路と、上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定する回路と、上記内部平滑度測定値と上記隣接するブロックの外部適合性測定値とを組み合わせて、結合測定値を生成する回路と、上記結合測定値に基づいて復号候補を選択する回路とを備えるものでもよい。
【0035】
次に、本発明に係る記録媒体は、復号されたデータのビットストリームにおける欠落/破損したデータを処理装置に受信させるための、複数の実行可能な命令を格納するコンピュータにより読取可能な記録媒体であって、上記処理装置に、複数のブロック用に複数の復号候補を生成するステップと、上記復号候補のうち少なくとも1つの画像領域に基づいて各々のブロックの内部相関測定値を算出するステップと、上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定するステップと、上記内部相関測定値と上記隣接するブロックの外部適合性測定値とを組み合わせて、結合測定値を生成するステップと、上記結合測定値に基づいて上記複数の復号候補から1つの復号候補を選択するステップとを実行させる命令が格納されている。
【0036】
また、本発明に係る記録媒体は、復号されたデータのビットストリームにおける欠落/破損したデータを処理装置に受信させるための、複数の実行可能な命令を格納するコンピュータにより読取可能な記録媒体であって、上記処理装置に、複数のブロック用に複数の復号候補を生成するステップと、各々のブロックについて、上記復号候補のうち少なくとも1つの画像領域の内部平滑度測定値を測定するステップと、上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定するステップと、上記内部平滑度測定値と上記隣接するブロックの外部適合性測定値とを組み合わせて、結合測定値を生成するステップと、上記結合測定値に基づいて複数の復号候補から1つの復号候補を選択するステップとを実行させる命令が格納されるようにしてもよい。
【0037】
次に、本発明に係るデータ受信装置は、符号化されたデータのビットストリームにおける欠落/破損したデータを受信するデータ受信装置において、複数のブロック用に複数の復号候補を生成する生成手段と、各々のブロックについて、上記復号候補のうち少なくとも1つの画像領域の内部平滑度測定値を測定する測定手段と、上記複数のブロックにおいて隣接するブロック間の外部適合性測定値を判定する判定手段と、上記内部平滑度測定値と上記隣接するブロックの外部適合性測定値とを組み合わせて、結合測定値を生成する結合手段と、上記結合測定値に基づいて上記複数の復号候補から1つの復号候補を選択する選択手段とを備える。
【0038】
発明の詳細な説明
本発明は、強力なエラー回復を実現するコーディング及び信号ストリームの処理の手法を提供する。以下の記述においては、説明を目的として、本発明の理解を容易にするために多くの詳細事項について述べる。しかしながら、当業者にとって、これら特定の詳細事項が本発明の実施に必ずしも必要でないことは明らかである。また、本発明を具体的かつ明瞭に説明するために、ブロック図においては、周知の電気的構造及び回路を例示する。
【0039】
本発明を適用した信号処理方法及び信号構造について、映像信号の処理を例に説明する。しかしながら、ここに説明する方法及び装置は、音声信号や他のデジタルデータビットストリーム等、複数の信号成分からなる種々の信号に適用することができる。さらに、ここに説明する処理例は、データ圧縮のための適応ダイナミックレンジコーディング(Adaptive Dynamic Range Coding:以下、ADRCという。)処理を用いている。しかしながら、他の様々なコーディング方式及びアルゴリズムを用いてもよい。ADRCの詳細については、1991年9月4日〜6日にイタリアのトリノで開催されたHDTV及びその未来に関する第4回国際研究会(Fourth International Workshop on HDTV and Beyond)において、近藤、藤森、中屋らにより発表された「将来のHDTVデジタルVTRのための適応ダイナミックレンジコーディング方式(Adaptive Dynamic Range Coding Scheme for Future HDTV Digital VTR)」に記載されている。
【0040】
この論文では、異なる種類のADRCが紹介されている。これらは、以下の式により実現される。
【0041】
【数26】
【0042】
【数27】
【0043】
【数28】
【0044】
信号の符号化、伝送、続いて行われる復号処理を包括的にFIG.1に示す。信号100は、エンコーダ110に入力されるデータストリームである。エンコーダ110は、ADRC圧縮アルゴリズムに基づいて、伝送媒体135を介して伝送されるパケット1・・・Nを生成する。デコーダ120は、これらパケット1・・・Nを受信し、信号130を生成する。信号130は、信号100を再構築する信号である。
【0045】
エンコーダ110とデコーダ120は、様々な形式で実現されて、以下に説明する機能を実行することができる。ある具体例においては、エンコーダ110及び/又はデコーダ120は、通常、中央演算処理装置、メモリ、1又は複数の入出力装置、コプロセッサ等を備える汎用又は専用のコンピュータシステムにより実行される、媒体に格納されたソフトウェアプログラムとして実現される。これに代えて、エンコーダ110及び/又はデコーダ120を以下に説明する機能を実行する論理回路として実現してもよい。さらに、エンコーダ110及び/又はデコーダ120は、ハードウェア、ソフトウェア又はファームウェアの組み合わせとして実現してもよい。
【0046】
この具体例においては、信号100は、それぞれがビデオシステムにおいてインターレースされた画像を示す情報を含む一連のビデオフレームからなるカラービデオ画像を示す信号である。各フレームは、2つのフィールドからなり、一方のフィールドは画像の偶数ラインに相当し、他方のフィールドは、画像の奇数ラインに相当する。データは画素値を含み、画素値は、画像内の対応する位置の色成分を表す。例えば、この具体例において、色成分は、輝度信号Yと、色差信号U、Vからなる。なお、本発明による処理がインターレース処理されたビデオ信号以外の信号にも適用できることは明らかである。さらに、本発明はYUV色空間に限定されるものではなく、この他の色空間を示す画像にも適応できることは明らかである。
【0047】
FIG.1において、エンコーダ110は、Y信号、U信号、V信号を分離し、それぞれの信号グループをADRCアルゴリズムに基づいて別々に処理する。以下では、説明を簡潔に行うために、Y信号の処理について述べるが、符号化処理は、U信号及びV信号に対しても同様に行われる。
【0048】
この具体例において、エンコーダ110は、信号100の、この明細書ではフレーム対と呼ばれる2つの連続するフレームに亘るY信号を3つの3次元(3D)ブロックにグループ化する。さらに、一具体例では、3Dブロックは、所定のフレーム対に亘る同一の局所領域における2つの2次元ブロックをグループ化して生成される。ここで、2次元(2D)ブロックは、フレーム又はフィールド内の局所画素をグループ化して生成される。ここに記述する処理は、他のブロック構造に対しても適用できる。信号のグループ化については、画像−ブロックマッピングの説明において詳述する。
【0049】
この具体例においては、任意の3Dブロックに対し、エンコーダ110は、3Dブロックを形成する2つの2Dブロック間について、画素値に変化があるか否かを算出する。値に実質的な変化が認められた場合は、モーションフラグ(Motion Flag)が設定される。当分野で周知のとおり、モーションフラグを用いることにより、エンコーダ110は、各フレーム対において画像の特定領域の画像が同じ場合、量子化符号の数を減らすことができる。エンコーダ110は、3Dブロック内における最大画素強度値(MAX)及び最小画素強度値(MIN)を検出する。エンコーダ110は、これら値MAX、MINを用いて、与えられたデータの3Dブロックのダイナミックレンジ値(DR)を算出する。変形例では、ノン・エッジ・マッチングADRCの場合、DR=MAX-MIN+1である。また、エッジ・マッチングADRCの場合、DR=MAX-MINである。他の具体例においては、エンコーダ110は、ビデオフレームのシーケンスを示すフレームのストリーム信号をフレーム毎に符号化する。さらに、他の変形例においては、エンコーダ110は、ビデオフィールドのシーケンスを示すフィールドのストリーム信号をフィールド毎に符号化する。この場合、モーションフラグは使用されず、2Dブロックを用いて値MIN,MAX,DRを算出する。
【0050】
この具体例においては、エンコーダ110は、算出されたDRと閾値テーブル(図示せず)を参照し、DRに対応するブロック内の画素を符号化するために用いる量子化ビット(Qビット)のビット数を決定する。画素を符号化することにより、量子化符号(Qコード)が得られる。Qコードは、記録又は伝送を目的として使用される圧縮画像データに相当する。したがって、任意の3Dブロック内の全ての画素は、同じQビットにより符号化され、これにより3D符号化ブロックが形成される。3D符号化ブロックにおけるQコード、MIN、モーションフラグ、及びDRをまとめて、3D−ADRCブロックと呼ぶ。これに代えて、2Dブロックを符号化する場合、与えられた2DブロックにおけるQコード、MIN及びDRにより2D−ADRCブロックが構成される。
【0051】
様々な閾値テーブルを実現することができる。一具体例においては、閾値テーブルは、一列のDR閾値からなる。Qビットは、閾値テーブルの列において隣り合う2つのDR値の範囲を符号化するために用いる量子化ビット数に対応する。変形例では、複数の列を有し、所望の伝送速度に応じて列を選択する。閾値テーブルの各列は、閾値インデックスにより識別される。閾値の選択については、後述する部分バッファリングの説明で詳述する。ADRC符号化及びバッファリングのさらなる詳細については、本発明の譲受人が譲受した米国特許番号第4,722,003号「高効率コーディング装置(High Efficiency Coding Apparatus)」及び同じ名称の米国特許番号第4,845,560号「高効率コーディング装置(High Efficiency Coding Apparatus)」に開示されている。
【0052】
以下では、Qコードを可変長データ(variable length data: VLデータ)とも呼ぶ。また、DR、MIN、モーションフラグをブロック属性と呼ぶ。ブロック属性は、閾値インデックスとともに固定長データ(fixed length data: FLデータ)を構成する。さらに、上述の説明の観点からみれば、ブロック属性は、複数の成分を有する信号要素のその成分に関するパラメータを記述するものである。変形例においては、FLデータは、Qビット符号を含む。これにより、復号処理においてQビット情報をDRから導き出す必要がなくなる。したがって、DR情報が欠落又は破損された場合でもQビット符号に基づいてQビット情報を求めることができる。さらにまた、Qビット符号が欠落又は破損された場合には、DRに基づいてQビット情報を導き出すこともできる。したがって、DR及びQビットを回復する必要性を低下させることができる。
【0053】
Qビット符号を新たに設けることにより、各ADRCブロックについて伝送すべきビット数が増加するという問題がある。しかしながら、一具体例においては、グループ化されたADRCブロックの複数のQコードは、例えば加算関数や連結関数に基づいて連結される。たとえば、3つのADRCブロックがグループ化され、各ADRCブロックのQビット値がそれぞれ3、4、4である場合、FLデータに符号化される合計値は11である。このように合計値を表すために必要なビット数は、それぞれの値を個別に表すために必要なビット数に比べて少なく、後述するように、破損されていないグループのQビット値を用いて、Qビット回復処理を行うことなく、Qビット値を求めることができる。
【0054】
さらに他の変形例も可能である。例えば、モーションフラグデータを符号化してもよい。この場合、Qビット及びモーションフラグデータにタグが付され、このタグを用いて符号テーブルを参照する。コーディングの手法及び機能はアプリケーションにより異なる。
【0055】
フレーム、ブロック属性、VLデータは、ビデオ信号内の様々な成分を記述している。これら成分の境界、位置、量は、ビデオ信号の伝送及び圧縮属性に応じて異なる。本実施の形態においては、これら成分は、ビデオ信号のビットストリーム内で変更及びシャッフリングされ、これにより伝送欠落に対する強力なエラー回復が実現される。
【0056】
以下の説明では、ビデオ信号のADRC符号化及びシャッフリングに基づいて、1/6連続パケット伝送欠落の許容について例示的に記述する。すなわち、以下に示す成分の定義及び分割の手法は、一具体例にすぎない。したがって、他の形態も可能である。データセットは、ビデオデータの区分又は他の種類のデータ信号を含む。したがって、一具体例においては、フレームセットは、1又は複数の連続するフレームを含むデータセットの1種である。セグメントは、1/6に分割されたQコードを格納する記憶容量を有し、フレームセットには、ブロック属性が含まれる。データのシャッフリングは、セグメント及び/又はバッファ内の成分を相互に交換することにより行われる。続いて、セグメントに格納されたデータを用いて、伝送のためのデータパケットを生成する。したがって、以下に説明するように、伝送中にあるセグメントが欠落した場合、そのセグメントから生成される全てのパケットがなくなる。同様に、伝送中にセグメントの一部が欠落した場合、そのセグメントから生成される対応する数のパケットが伝送中になくなる。
【0057】
以下では、ADRC符号化されたデータにおける1/6連続パケット欠落について説明するが、ここに説明する方法及び装置は、様々な符号化/復号方式に結びつけられた。
【0058】
FIG.2は、ポイントトゥポイント(point-to-point)接続又はネットワークを介してデータを伝送するために用いられるパケット構造200の具体例を示す。パケット構造200は、エンコーダ110により生成され、伝送媒体135を介して伝送される。一具体例においては、パケット構造200は、5バイトのヘッダ情報と、8ビットのDRと、8ビットのMINと、モーションフラグと、5ビットの閾値インデックスと、354ビットのQコードとを有する。ここに示すパケット構造200は、パケット構造の一例であり、ネットワークの非同期伝送モード(asynchronous transfer mode:ATM)による伝送に適応するように構成されたものである。なお、本発明は、このようなパケット構造に限定されるものではなく、様々なネットワークにおける種々のパケット構造に適用できるものである。
【0059】
上述のように、伝送媒体(例えば、媒体)135は、エラーフリーの伝送媒体とみなすことはできず、したがってパケットは欠落又は破損するおそれがある。上述のとおり、従来よりこのような欠落や破損を検出する手法が提案されているが、通常、実質的な画像の劣化は避けられなかった。本発明は、このような欠落又は破損に対する強力なエラー回復の手法を提供する。以下の説明においては、複数の連続するパケットの欠落であるバースト欠落が最も発生する可能性の高いエラーであると仮定するが、ランダムパケット欠落も発生する可能性がある。
【0060】
1又は複数の連続するパケットのデータを確実且つ強力に回復するために、本発明に基づく装置及び方法は、複数レベルのシャッフリングを行う。特に、伝送パケットに含まれるFLデータ及びVLデータは、ある画像の空間的及び時間的に離間した位置にあるデータを含んでいる。データのシャッフリングにより、いかなるバーストエラーも分散され、これによりエラー回復が容易となる。後述するように、シャッフリングによりブロック属性とQビット値を回復することができる。
【0061】
データ符号化/復号
FIG.3は、エンコーダ110により実行される符号化処理の一具体例を説明するフローチャートである。また、FIG.3は、画像の劣化を防止し、強力なエラー回復を容易にするためのシャッフリング処理の概要を示す図でもある。
【0062】
FIG.3におけるステップ1において、表示成分とも呼ばれる入力フレームセットに対し、伝送量を削減するための間引きを行う。Y信号については、水平方向に元の幅から3/4となるよう間引きし、U信号及びY信号については、それぞれ元の高さ及び元の幅から1/2となるよう間引きする。これにより、各フレーム対が3960Yブロック、660Uブロック、660Vブロックを有する3:1:0のビデオフォーマットが形成される。上述のように、ここではY信号の処理に関する説明を行うが、この処理はU信号及びY信号についても適用される。ステップ2において、2つのYフレーム画像を3Dブロックにマッピングする。ステップ3において、3Dブロックをシャッフリングする。ステップ4において、ADRCバッファリング及び符号化を行う。ステップ5において、符号化されたYブロック、Uブロック、Vブロックをバッファ内でシャッフリングする。
【0063】
ステップ6において、符号化された3Dブロックのグループ用のVLデータと、これに対応するブロック属性をシャッフリングする。ステップ7において、FLデータを異なるセグメントに亘ってシャッフリングする。ステップ8において、ポストアンブルを充足し、すなわちバッファ端の可変領域が所定のビットストリームにより充足される。ステップ9において、VLデータを異なるセグメントに亘ってシャッフリングする。
【0064】
以下では、符号化処理の前及び後の画素データの処理を例に本発明に基づくシャッフリングの手法を説明する。変形例として、ハードウェアにより独立したデータ値のシャッフリング及びデシャッフリングを行ってもよい。特に、ハードウェアは、ブロック値のアドレスを異なるアドレスにマッピングすることによりシャッフリング/デシャッフリング処理を実現する。しかしながら、シャッフリング処理は、データ処理の後に行う必要があるため、アドレスマッピングは、データに従属する値に対しては行うことができない。一方、後述するグループ内VLデータシャッフリングは、データに従属する値に対しても行うことができる。さらに、本発明を説明する一例として、以下に示すシャッフリングは、離散的なデータセットに対して行われる。しかしながら、変形例においては、信号は、ビットから画素及びフレームまでの複数のデータレベルに基づいて定義される。シャッフリング処理は、信号内で定義される各レベルにおいて、及び信号内の異なるレベル間でも行うことができる。
【0065】
FIG.4は、デコーダ120により実行される復号処理の例を説明するフローチャートである。好ましくは、変換処理及びデシャッフリング処理は、FIG.3に示す処理と逆の処理である。FIG.4は、さらにQビット、モーションフラグ、DR、MIN及び画素データの異なる組み合わせにおいてエラー回復を実現する革新的な処理を示している。Qビット回復、モーションフラグ回復、DR回復、MIN回復、画素回復の異なる具体例において異なる組み合わせを用いるエラー回復処理については後に詳細に説明する。
【0066】
画像−ブロックマッピング
本発明において、1つのフレームは、通常5280個の2Dブロックを含み、各2Dブロックは、64画素からなる。第1のフレームに基づく2Dブロックとそれに続くフレームの2Dブロックが結合されて3Dブロックが形成されるため、フレーム対は5280個の3Dブロックから構成される。
【0067】
画像−ブロックマッピングは、フレーム又はフレームセットのデータをそれぞれ2Dブロック又は3Dブロックに分割する目的で行われる。さらに、画像−ブロックマッピングは、相補的パターン及び/又は連鎖的(interlocking)パターンを用いてフレーム内の画素を分割し、これにより伝送欠落に対する強力なエラー回復が実現される。しかしながら、与えられたDR値が過大になってしまう可能性を低減するために、各2Dブロックは、局所的な範囲の画素から構成する。
【0068】
FIG.5は、例示的に示す画像の16画素セクションに対する画像−ブロック変換処理の具体例を示す図である。画像500は、単一のフレームの局所的な領域を形成する16個の画素からなる。画像500内の各画素は、強度値により示される。この例では、画像500の最上列左端の画素の強度は100であり、最下列右端の画素の強度は10である。
【0069】
この具体例においては、画像500内の異なる領域における画素を用いて、2Dブロック510、520、530、540を生成する。2Dブロック510、520、530、540は、符号化され、(後述するように)シャッフリングされ、伝送される。この伝送処理の後、2Dブロック510、520、530、540は再結合され、画像550が形成される。画像550は、画像500を再構築したものである。
【0070】
発生する可能性のある伝送欠落に関わらず、画像500を正確に再生するために、FIG.5に示す具体例では、連鎖的相補ブロック構造を用いる。特に、2Dブロック510、520、530、540を生成するための画素を選択することにより、画像550を再構築する際に、相補的及び/又は連鎖的パターンは、ブロックの再結合に用いられる。したがって、特定のブロック属性が伝送中に欠落しても、再構築された画像550においてエラーは隣接しない。例えば、FIG.5において、2Dブロック540のDRが伝送中に欠落したとする。ここで、デコーダは隣り合うブロックの隣り合う複数の画素を利用し、2Dブロック540の失われたDRを回復することができる。また、後述するように、相補的パターン及びシフティングを用いることにより、隣り合う画素が増加し、好ましくは他のブロックに基づく隣り合う画素の数を最大化し、これによりDR及びMINの回復の可能性を大幅に向上させることができる。
【0071】
FIG.5aは、画像−ブロック変換処理の一具体例において、2Dブロックを形成するために用いられるシャッフリングパターンの例を示す図である。ここでは、画素を交互に抜き取ることにより1つの画像を2つのサブ画像、すなわちサブ画像560及びサブ画像570に分割する。サブ画像560内の長方形の区切りは、2Dブロックの境界線を示す。説明のため、2Dブロックに0,2,4,7,9,11,12,14,16,19,21,23といった番号を付す。タイル565は、サブ画像560内の2Dブロックのための画素分布を示す。
【0072】
サブ画像570においては、2Dブロックの割り当ては水平方向に8画素分、及び垂直方向に4画素分シフトされている。これにより、再構築処理においてサブ画像560とサブ画像570とが結合されると、割り当てられた2Dブロックが包み込まれ、重なり合う。2Dブロックは、1,3,5,6,8,10,13,15,17,18,20,22と番号付けされている。タイル575は、サブ画像570内の2Dブロックの画素分布を示す。タイル575は、タイル565に対する相補構造を有している。したがって、特定のブロック属性が伝送中に欠落した場合、失われた2Dブロックのブロック属性を回復することができる隣り合う画素が存在することとなる。さらに、同様なブロック属性のセットを有する重なり合う2Dブロックが存在する。したがって、画像の再構築の過程において、デコーダは、隣り合う2Dブロックから複数の隣り合う画素を取得し、これにより失われたブロック属性を回復することができる。
【0073】
FIG.6は、他の相補的及び連鎖的2Dブロックの構造例を示す図である。これら以外の構造を用いてもよい。FIG.5と同様に、FIG.6に示す2Dブロック構造によっても、任意の2Dブロックに伝送欠落が生じても、周囲の2Dブロックの存在が保証される。なお、パターン610a、610b、610dでは、画素を後続する2Dブロックにマッピングする際、水平シフト及び/又は垂直シフトを行う。水平シフトとは、新たな2Dブロック境界が始まる前に、タイル構造を水平方向に所定画素数分シフトすることを意味する。垂直シフトとは、新たな2Dブロック境界が始まる前に、タイル構造を垂直方向に所定画素数分シフトすることを意味する。アプリケーションに応じて、水平シフトのみを行ってもよく、垂直シフトのみを行ってもよく、水平シフト及び垂直シフトを組み合わせて行ってもよい。
【0074】
パターン610aは、画像−ブロック変換に用いる渦巻状パターンを示す。渦巻状パターンでは、画像−ブロック変換処理において後続する2Dブロックを生成する際に水平シフトを行う。パターン610b及びパターン610dは、相補パターンを示し、画像−ブロックマッピング処理において、後続する2Dブロックを生成するために、水平シフト及び垂直シフトにより画素が選択される。さらに、パターン610b及びパターン610dは、2つの2Dブロック間の画素選択において交互にオフセットを設けた例である。パターン610cは、画像−ブロック変換処理のための2Dブロックを構成する画素を不規則にサンプリングした例を示す。すなわち、画素が2Dブロックに対して一度だけマッピングされるならば、画像−ブロックマッピングにはいかなるマッピング構造を用いてもよい。
【0075】
FIG.5、FIG.5a、FIG.6は、2Dブロックを生成するための画像−ブロックマッピングを示すものである。この処理は、3Dブロックに対しても適用できることは明らかである。上述のように、3Dブロックの生成は、2Dブロックと同様の境界定義を用いるが、3Dブロックの生成では、境界分割は、3Dブロックを構成する後続するフレームに亘って拡張される。すなわち、3Dブロックは、第1のフレーム内の2Dブロックを定義するために用いる画素と、後続するフレーム内の2Dブロックの画素とを結合して生成される。一具体例においては、第1のフレームにおける2Dブロックの画素と、後続するフレームにおける2Dブロックの画素とは、同一の位置から抽出される。
【0076】
フレームセット内ブロックシャッフリング
任意の画像の画素値は、局所的な領域において緊密な関係を有する。一方、同一画像内の離れた領域にある画素は、大きく異なる値を有している可能性がある。したがって、任意の画像のある部分において空間的に隣接する2Dブロック又は3Dブロックを連続して符号化した場合、DR及びMINは近い値を有し、画像の離れた部分のDR及びMINは大きく異なる値を有するものとなる。したがって、画像において空間的に隣接する2Dブロック又は3Dブロックを符号化して得られたデータを連続的にバッファに格納した場合、バッファ空間の使用率に不均衡が生じる。フレームセット内のブロックシャッフリングは、ADRC符号化に先立って行われ、画像−ブロックマッピング処理により生成された2Dブロック又は3Dブロックのシャッフリングを行う。シャッフリング処理により、後段のADRC符号化において、バッファを均等に使用することが保証される。
【0077】
FIG.7a〜FIG.7dは、3D−Yブロックのシャッフリングの具体例を示すものである。FIG.7a〜FIG.7d内の3D−Yブロックは、Y信号のみを有するフレーム対に上述の画像−ブロックマッピング処理を施して得られるものである。3D−Yブロックは、シャッフリングされ、これにより符号化されたフレーム対を格納するバッファには、そのフレーム対の異なる部分に対応する3D−Yブロックが含まれるようになる。これによりADRC符号化処理におけるDR分布の均一化が促される。各バッファのDR分布が均一化されることによりバッファを均等に利用することができる。
【0078】
FIG.7a〜FIG.7dは、物理的に離れた3Dブロックのシャッフリングを示す図である。これにより連続するパケットに伝送欠落が生じても、欠落するブロック属性は、画像内の特定の領域に集中することなく、画像全体に分散される。
【0079】
ブロックシャッフリングは、小規模、中規模及び大規模のバースト的パケット欠落のいずれが生じても、欠落するブロック属性が広範囲に分散されるように設計されている。この実施の形態においては、小規模なバースト欠落とは、数個のパケットの欠落を意味し、中規模のバースト欠落とは、1バッファ分の欠落を意味し、大規模な欠落とは1セグメント分の欠落を意味するものとする。ブロックシャッフリングにおいては、画像内の比較的離れた部分から、3つの隣り合うブロックを選択する。したがって、次のグループ内VLデータシャッフリング(後に詳細に説明する)において、各グループは互いに異なる静的特性を有する3Dブロックから構成される。ブロック属性の欠落を分散させることにより、破損した3Dブロックの周囲には破損していない3Dブロックが残り、これら破損していない3Dブロックにより欠落したデータを回復ことができるため、強力なエラー回復を実現することができる。
【0080】
FIG.7aは、水平方向に66個の3D−Yブロックを有し、垂直方向に60個の3D−Yブロックを有するフレーム対を示す。これら3D−Yブロックは、セグメント0〜5に割り当てられている。図に示すように、3D−Yブロックの割り当ては、2×3の枠を設け、各枠内の各3D−Yブロックが各セグメントに対応するように割り当てる。ここで、さらなるシャッフリングを行わず、最初の880個のパケットにバーストエラーが生じたとすると、セグメント0に対応するブロック属性が失われる。しかしながら、後述するように、FLデータシャッフリングを行うことにより、ブロック属性の欠落を分散させることができる。
【0081】
FIG.7bは、セグメント0に割り当てられる番号0が付された3D−Yブロックの走査順序を示す。FIG.7aにおいて「0」で示される各3D−Yブロックには、0,1,2,3,・・・,659という番号が付され、これらはセグメント0に入力されるストリーム内の位置を示すものである。セグメントの割り当てを行うためのこのようなブロック番号を用いて、残りの3D−Yブロックもセグメント1〜5に割り当てられる。このようにして、フレーム対内のデータは、複数のセグメントにシャッフリングされる。
【0082】
FIG.7cは、1セグメントを構成する660個の3D−Yブロックを示す図である。0〜65の番号が付された3D−Yブロックは、バッファ0に入力される。同様に、番号が付された3D−Yブロックに隣接する3D−Yブロックは、バッファ1に入力される。このような処理を繰り返してバッファ2〜9が充足される。このような処理により、伝送中のバッファの欠落により失われる複数の3D−Yブロックは、画像内の異なる部分に分散される。
【0083】
FIG.7dは、セグメント0に対応する3D−Yブロックのバッファにおける最終的な配列順序を示す図である。3D−Yブロック0,1,2は、バッファ内の最初の3つの部分を占める。この処理は、バッファの残りの部分において繰り返される。これにより、伝送中に3つの3D−Yブロックが欠落した場合、失われる3D−Yブロックは、画像内で離れた位置に対応するものとなる。
【0084】
FIG.7a〜7dは、フレームセット内の3D−Yブロックの分散の一具体例を示すものである。この他に、3D−Uブロック及び3D−Vブロックを分散することもできる。3D−Uブロックは、U信号のみを含むフレームセットに上述の画像−ブロックマッピング処理を適用して生成される。同様に、3D−Vブロックは、V信号のみを含むフレームセットに上述の画像−ブロックマッピング処理を適用して生成される。そして、3D−Uブロック及び3D−Vブロックの両方に対して、上述の3D−Yブロックの分散と同様の処理を行う。なお、上述のように、3D−Uブロックと3D−Yブロックの数は、それぞれ3D−Yブロックの数の1/6である。
【0085】
FIG.7a〜7dは、Y信号に対するフレーム内ブロックシャッフリングの具体例を示し、この具体例では、伝送中の1/6のパケット欠落が許容され、さらにバッファの使用率の均等化が実現されている。セグメント、バッファ、ADRCブロックの割り当てを変更することにより1/nバーストエラーに対応でき、またバッファ使用率を変更できることは当業者にとって明らかである。
【0086】
部分バッファリング
FIG.3に示すステップ4において、ADRC符号化及びバッファリング処理が行われる。符号化技術により、画像−ブロックマッピング処理により生成された2Dブロック又は3Dブロックは、2D−ADRCブロック又は3D−ADRCブロックに符号化される。3D−ADRCブロックは、それぞれQコード、MIN、モーションフラグ、DRを含む。2D−ADRCブロックは、Qコード、MIN、DRを含む。すなわち、2D−ADRCブロックでは、単一のフレーム又は単一のフィールドに対する符号化が行われるため、2D−ADRCブロックは、モーションフラグを含まない。
【0087】
従来より多くのバッファリングの手法が知られている(例えば、近藤らによる米国特許番号第4,845,560号「高効率コーディング装置(High Efficiency Coding Apparatus)」及び米国特許番号第4,722,003号「高効率コーディング装置(High Efficiency Coding Apparatus)」を参照)。これらの記載内容は本出願に組み込まれるものとする。
【0088】
以下に説明する部分バッファリングは、ADRC符号化において使用する符号化ビットを決定するための革新的な手法を提供するものである。詳しくは、部分バッファリングは、閾値テーブルから閾値を選択する手法を提供するものであり、閾値テーブルは、遠隔の端末間の伝送速度を一定に保つとともに、エラーが増えることを制限するために設計されている。変形例においては、閾値テーブルはさらに、バッファが最大限活用されるよう設計される。一具体例においては、バッファは、任意のフレームセットに対応する符号化されたデータを16分の1に分割して格納するメモリである。閾値は、上述した画像−ブロックマッピング処理により生成された2Dブロック又は3Dブロック内の画素を符号化するために用いるQビットのビット数を決定するために用いられる。
【0089】
閾値テーブルは、閾値の列を備え、この列は閾値セットとも呼ばれ、閾値テーブルの各列には閾値インデックスが付されている。一具体例においては、閾値テーブルは、閾値テーブルの上位列に位置する閾値セットが、より多くのQコードビットを生成するように配列されている。これにより、利用可能な所定のビット数を有する任意のバッファに対して、エンコーダ110は、この所定のビット数より小さいビット数を生成する閾値に到達するまで、閾値テーブルを下位方向に順次検索する。バッファ内の画素データの符号化には、適切な閾値が用いられる。
【0090】
一具体例においては、30Mbps程度の伝送速度が望まれる。この所望の伝送速度により、全ての任意のバッファにおいてVLデータの格納に31,152ビットが利用可能となる。これに応じて、各バッファについての累積的DR分布が算出され、閾値テーブルから閾値セットが選択され、これに基づいて3Dブロックあるいは2Dブロック内の画素をVLデータとして符号化する。
【0091】
FIG.8は、バッファ0における選択された閾値及びDR分布の具体例を示すグラフである。FIG.8における垂直方向の軸は、累積DR分布を示す。例えば、値bは、DRがL3以上の3Dブロック又は2Dブロックの数に等しい。水平方向の軸は、DR値のとり得る値を示す。ある具体例では、DR値は0〜255の値をとる。閾値L4,L3,L2,L1は、バッファの符号化を決定する閾値セットを表す。
【0092】
一具体例において、バッファ0に格納されている全てのブロックは、閾値L4,L3,L2,L1を用いて符号化される。すなわち、DR値がL4よりおおきなブロックは、4ビットを用いて符号化された画素値を有することとなる。同様に、DR値がL3とL4の間にあるブロックに属する画素は、3ビットを用いて符号化される。また、DR値がL2とL3の間にあるブロックに属する画素は、2ビットを用いて符号化される。DR値がL1とL2の間にあるブロックに属する画素は1ビットを用いて符号化される。そして、DR値がL1より小さいブロックは、0ビットを用いて符号化される。L4,L3,L2,L1は、バッファ0内の全てのブロックを符号化するために用いるビットの総数が、31,152ビットを超えることなく、可能な限り31,152ビットに近い数となるように選択される。
【0093】
FIG.8aは、部分バッファリングの一具体例を示す図である。フレーム800は、符号化されてバッファ0〜59に格納される。伝送エラーがデータの回復の妨げとなる場合、欠落したデータに対するエラー回復処理が行われるまで、フレーム800の復号処理は中断される。ここで、部分バッファリングは、バッファ内のエラーの伝播を制限するため、残りのバッファについて復号処理を行うことができる。例えば、伝送エラーによりバッファ0内のブロック80のQビット及びモーションフラグの回復が妨げられているとする。部分バッファリングは、バッファ0内にこのエラーが伝播することを制限する。バッファ長は固定であるため、バッファ0の最後とバッファ1の先頭は既知であり、このためエラーの伝播バッファ0内に制限される。これにより、デコーダ120は、バッファ1内のブロックに対する処理を遅延することなく開始することができる。さらに、異なるバッファの符号化に対して異なる閾値セットを用いることにより、エンコーダ110は、任意のバッファ内に含まれるQコードビットの数を最大化/制御することができ、したがってより高い圧縮比が実現できる。さらにまた、部分バッファリング処理では、バッファ0〜59は、固定長を有するため、一定の伝送速度を実現できる。
【0094】
一具体例においては、バッファの可変領域は、限られた数の閾値セットが存在するために、Qコードビットのみにより充足されるわけではない。すなわち、固定長を有するバッファの残りのビットは、ポストアンブルと呼ばれる所定のビットストリームパターンにより充足される。後述するように、ポストアンブルは、バッファの最後より前にあるVLデータの最後を示しているので、ポストアンブルにより双方向のデータ回復が実現できる。
【0095】
バッファ内YUVブロックシャッフリング
Y信号、U信号、V信号は、それぞれ固有の静的特性を有している。Qビット及びモーションフラグの回復処理(後述する)を改善するために、Y信号、U信号及びV信号は、バッファ内で多重化される。したがって、伝送欠落は、特定の信号に対して実質的な影響を与えない。
【0096】
FIG.9は、それぞれY信号、U信号、V信号から導き出されるY−ADRCブロック、U−ADRCブロック、V−ADRCブロックに対するシャッフリング処理であるバッファ内YUVブロックシャッフリング処理を説明する図である。バッファ900は、フレームセット内ブロックシャッフリング後のADRCブロックの割当を示す。バッファ900は、66個のY−ADRCブロックと、これに続く11個のU−ADRCブロックと、これに続く11個のV−ADRCブロックを含む。バッファ910は、バッファ内YUVブロックシャッフリングを行った後のYUV−ADRCブロック配列構造を示す。図に示すように、3つのY−ADRCブロックに1つのU−ADRCブロック又は1つのV−ADRCブロックが後続する。バッファ内YUVブロックシャッフリングによりバッファ内の隣り合うブロックのビットストリームの類似の度合いが低減される。バッファ内ブロックシャッフリングは、この形態に限られることなく、初期の画像フォーマットに応じて、異なる信号、すなわち異なるYUV比又は異なる色空間を有する信号に対して変形して実行されるようにしてもよい。
【0097】
グループ内VLデータシャッフリング
グループ内VLデータシャッフリングは3つのステップを有する。この3つのステップは、Qコードの連結と、Qコードの再割当と、連結されたQコードのランダム化である。FIG.10は、グループ内VLデータシャッフリングの手順を示す図であり、バッファ内に格納されたQコードには、3つの処理が順次施される。この変形例としては、処理手順のサブセットをグループ内VLデータシャッフリングに適用してもよい。各処理手順は、それぞれ独立して伝送中のデータに対するエラー回復に寄与する。したがって、各処理ステップを個別に説明する。エラー回復に関する詳細は、データ回復の説明の項目で述べる。
【0098】
1.Qコード連結
Qコード連結により、複数のADRCブロックが互いに復号されることが保証される。グループ復号によれば、後述するようにデータ回復工程において隣り合うブロックから追加的な情報を取得することが可能なため、エラー回復を容易に行うことができる。一具体例においては、Qコード連結は、バッファ内に格納された3つのADRCブロックからなる各グループに対して個別に適用される。変形例として、グループ内に他のバッファからのADRCを含めることもできる。ADRCブロックに亘るQコードの連結は、1つの連結ADRCタイルの生成として記述される。FIG.11及びFIG.11aは、連結ADRCタイルの生成を例示する図である。
【0099】
FIG.11は、2ADRCブロックから連結ADRCタイルを生成する例を示す図である。具体的には、この連結は、2D−ADRCブロック0,1,2に含まれる各Qコード(q0〜q63)に対して行われ、この結果64個のQコードを含む連結ADRCタイルAが生成される。例えば、2D−ADRCブロック0の第1のQコードq0,0(量子化された値の0番目)は、2D−ADRCブロック1の第1のQコードq0,1に連結される。この2つの連結されたQコードは、続いて、2D−ADRCブロック2の第1のQコードq0,2に連結され、これにより連結ADRCタイルAのQ0が生成される。この処理は、Q63が生成されるまで繰り返される。これに代えて、連結ADRCタイルA内のQiの生成を以下の式に基づいて行ってもよい。
【0100】
Qi=[qi,0,qi,1,qi,2] i=0,1,2,・・・63
さらに、連結ADRCタイルA内の各Qiには、単一のQiを生成するために連結されたビット総数であるNビットを示す値が関連付けられる。
【0101】
FIG.11aは、動ブロックを含むフレーム対から生成された連結ADRCタイルの具体例を示す図である。動ブロックとは、モーションフラグが設定された3D−ADRCブロックである。モーションフラグは、上述した画像−ブロックマッピング処理により生成された2つの2Dブロック構造内の所定数の画素が第1のフレームと第2のフレームとの間で変化している場合に設定される。この変形例として、第1のフレームと、これに続くフレームとの間の各画素の変化の最大値が所定の値を超えた場合にモーションフラグを設定するようにしてもよい。一方、非動ブロック(すなわち静ブロック)は、モーションフラグが設定されていない3D−ADRCブロックである。第1のフレームと、これに続く第2のフレームの2つの2Dブロック間で所定数の画素が変化していない場合、モーションフラグの設定は行われない。変形例として、第1のフレームと、これに続く第2のフレームとの間の各画素の変化の値が所定の値を超えない場合には、モーションフラグの設定を行わないものとしてもよい。
【0102】
動ブロックは、第1のフレームにおける符号化された2Dブロックと、後続するフレームにおける符号化された2Dブロックとに基づくQコードを含む。単一の符号化された2Dブロックに対応するQコードの集合をADRCタイルと呼ぶ。すなわち、動ブロックは2つのADRCタイルを生成する。一方、静ブロックは、動きがないため、動ブロックの半数のQコードのみしか含まず、したがって、1つのADRCタイルしか生成しない。この具体例においては、静ブロックのQコードは、第1のフレームの2Dブロックと、後続するフレームの対応する2Dブロックとの間の対応する画素の画素値の平均を求めることにより生成される。平均化された各画素値は、符号化されて、これにより単一のADRCタイルを形成するQコードの集合が生成される。このようにして、動ブロック1110は、ADRCタイル0,1を生成し、静ブロック1120は、ADRCタイル2を生成し、動ブロック1130は、ADRCタイル3,4を生成する。
【0103】
FIG.11aに示すADRCの連結処理では、ADRCタイル0〜4を連結して連結ADRCタイルBを生成している。具体的には、ADRCタイル0〜4内に含まれる各Qコード(q0〜q63)が連結され、連結ADRCタイルB内の64個のQコードが生成される。これに代えて、連結ADRCタイルB内の各Qコード、すなわちQiを以下の数式に基づいて生成してもよい。
【0104】
Qi=[qi,0,qi,1,qi,2,qi,3,qi,4] i=0,1,2,・・・63
【0105】
2.Qコード再割当
Qコードの再割当により、伝送欠落に起因するビットエラーが空間的に離れた画素に分散されることが保証される。特に、Qコードの再割当処理において、Qコードは、再分散され、再分散されたQコードのビットは、シャッフルされる。したがって、Qコードの再割当により、破損された画素の周囲に破損されていない画素が残るため、エラーの回復が容易となる。画素の破損はADRCブロック全体に亘って分散するため、DR及びMINの回復が容易となる。DR及びMINの回復については、データ回復の説明で詳述する。
【0106】
FIG.12に1/6バーストエラー欠落による画素の劣化の具体例を示す。具体的には、2D−ADRCブロック1210、1220、1230は、それぞれ3ビットを用いて符号化された64個の画素を含む。すなわち、2D−ADRCブロックの各画素P0〜P63は、3ビットにより表される。2D−ADRCブロック1210は、6ビット毎の第1ビットが欠落した場合におけるビット欠落パターンを影付きの長方形として示す図である。同様にADRCブロック1220及びADRCブロック1230は、それぞれ6ビット毎に第2及び第4ビットが欠落した場合を示す。FIG.12から、Qコードの再割当を行わなければ、1/6バーストエラー欠落により2D−ADRCブロック1210,1220,1230において、それぞれ半数の画素に劣化が生じることがわかる。
【0107】
一具体例において、Qコードの再割当はバッファに格納されている各連結ADRCタイル対して別個に行われ、これによりデシャッフリングにおいて、ビットエラーが空間的に分散された画素に位置されることが保証される。変形例として、バッファ内に格納された各ADRCブロックに対してQコードの再割当を行ってもよい。
【0108】
FIG.12aは、連結ADRCタイルに基づくシャッフリングされたQコードビットのビットストリームを生成するQコード再割当の具体例を示す。テーブル122及びテーブル132は、Qコードの再分配を示す。ビットストリーム130及び140は、Qコードビットのシャッフリングを示す。
【0109】
テーブル122は、連結ADRCタイルAの連結されたQコードを示す。Q0は、最初の連結Qコードであり、Q63は、最後の連結Qコードである。テーブル132は、Qコードの再分配を示す。この具体例においては、第1の組である区画0には、Q0,Q6,Q12,Q18,Q24,Q30,Q36,Q42,Q48,Q54,Q60が含まれる。テーブル132内において後続する区画1には、11個の連結Qコードが含まれている。同様にして区画2〜5にも11個の連結Qコードが含まれる。テーブル132においては、区画間の境界を垂直方向の線分で示している。このように連結Qコードを空間的に分離された6つの区画に割り当てることにより、1/6バーストエラー欠落により生じるビット欠落パターンが連続する画素グループに分散されることが保証される。
【0110】
FIG.12bは、再割り当てされたQコードにおける1/6バーストエラーにより生じるビット欠落のパターンを示す図である。具体的には、2D−ADRCブロック1215,1225,1235は、それぞれ3ビットを用いて符号化されている64個の画素を有している。すなわち、各2D−ADRCブロックの内の各画素P0〜P63は、3ビットにより表される。2D−ADRCブロック1215,1225,1235において、影付きの長方形で表されるビット欠落パターンは、連続する画素に亘って位置している。すなわち、与えられたセグメント欠落に対して、各2D−ADRCブロック1215,1225,1235内のそれぞれ11個の連続する画素のみが劣化している。変形例においては、区画へのQコードの割当処理において、異なる動ブロックからのQコードを割り当てるようにしてもよく、これにより空間的及び時間的に分離されたQコードを6つのセグメントに割り当ててもよい。これにより、1/6バーストエラー欠落に対して破損されていない空間的及び時間的画素が追加され、より強力なエラー回復処理が提供される。
【0111】
FIG.12aにおいて、テーブル132内の再割当されたQコードは、生成されるビットストリームに亘ってシャッフリングされ、ビットストリーム内で隣接するビットが異なる区画からのビットであるようにされる。テーブル132内の全ての区画内のQコードは、ビットストリーム130内で連結される。ビットストリーム130内で隣り合う任意のビットの区画は、生成されるビットストリーム140において6ビット位置毎に分散される。これにより、ビットストリーム140内のビット番号0〜5は、各区画における第1のQコードからの第1ビットを含む。同様に、ビットストリーム140のビット番号6〜11は、各区画の第1のQコードからの第2のビットを含む。このような処理は、全てのQコードビットに対して繰り返される。これにより、1/6バーストエラー欠落による画素欠落が空間的に分離されることが保証される。
【0112】
FIG.12cは、再割当された(すなわち再分配されシャッフリングされた)Qコードの1/6バーストエラー欠落により生成されたビット欠落パターンを示す図である。特に、2D−ADRCブロック1217,1227,1237は、それぞれ3ビットを用いて符号化された64個の画素を含む。すなわち、各2D−ADRCブロックの各画素P0〜P63は、3ビットで表される。2D−ADRCブロック1217,1227,1237において、影付き長方形で示されているビット欠落パターンは、空間的に分離された画素に分散されており、したがって、画素エラー回復を容易に行うことができる。
【0113】
3.Qコードビットのランダム化
Qコードビットは、マスキングキーを用いてランダム化される。マスキングキーは、欠落及び破損されたデータの回復処理においてデコーダの処理を補助するものである。具体的には、符号化処理において、KEYとして示されるキーを用いてQコードのビットストリームをマスキングする。これに対応して、デコーダは、このKEYの正確な値を知っている必要があり、これによりQコードのビットストリームのマスクを外すことができる。
【0114】
一具体例において、KEYは、3つのADRCブロックに対するQコード再割当により生成されたQコードのビットストリームをマスキングするために用いられる。上述のように、ADRCブロックはFLデータ及びQコードを有している。マスキングキーの各キー要素(di)は、FLデータの値と、対応するADRCブロックに関連する量子化ビット数(qi)との組み合わせにより生成される。具体例においては、モーションフラグとQビットを用いてKEYを定義する。すなわち、この具体例においては、キー要素は、以下の数式に基づいて生成される。
【0115】
di=5・mi+qi ここで、i=0,1,2 qi=0,1,2,3,4
変数miは、モーションフラグに等しい。すなわち、対応するADRCブロックが動ブロックである場合、miは0となり、対応するADRCブロックが静ブロックである場合、miは1となる。さらに、変数qiは対応するADRCブロックを符号化するために用いる量子化ビットを表す。すなわち、qiの値は、4ビットADRC符号化方式においては0,1,2,3,4のいずれかである。一具体例において、3つのADRCブロックからなるグループに用いるKEYは、以下に示す数式に基づいて得られるキー要素(di)により定義される。
【0116】
KEY=d0+10・d1+100・d2
これにより、モーションフラグ又はQビットデータの回復処理において、マスキングキーの生成に用いられた値に基づいて、使用された可能性のあるキーの再生が可能となる。再生されたキーの値は、受信されたQコードのビットストリムのアンマスキングに使用され、これにより復号候補が生成される。キーの値の再生及び特定の復号候補の選択については、データ回復の説明において詳述する。
【0117】
変形例として、マスキングキーは、様々な要素から生成できる。これにより、伝送媒体を介して要素に関する情報を伝送することなく、デコーダに要素に関連する特定の情報を提供することができる。一具体例においては、任意のADRCブロックに対応するDR値又はMIN値を用いてマスキングキーを生成し、このマスキングキーによりそのADRCブロックを示すビットストリームをマスキングする。
【0118】
FIG.10〜12には、伝送中に生じる1/6パケットデータ欠落までを許容するグループ内VLデータシャッフリングの例を示しているが、当業者にとって、区画の総数、ビットの間隔を変更することにより、1/nバーストエラー欠落に対応するよう設計を変更できることは明らかである。
【0119】
セグメント間FLデータシャッフリング
セグメント間FLデータシャッフリングは、異なるセグメント間でブロック属性を再割当するものである。ブロック属性を再割当することによりデータ欠落を分散させることができる。具体的には、あるセグメントのFLデータが伝送中に欠落しても、失われたDR値、MIN値及びモーションフラグ値が同一のブロックに属さないようにする。FIG.13及びFIG.14は、セグメント間FLデータシャッフリングの具体例を示す図である。
【0120】
FIG.13にセグメント0〜5のコンテンツを示す。一具体例において、各セグメントは、880個のDRと、880個のMINと、880個のモーションフラグと、660個のYブロック、110個のUブロック、110個のVブロックに対応するVLデータとを有する。図に示すように、MINシャッフリング1300のセグメント0のMIN値は、セグメント2に移動され、セグメント2のMIN値は、セグメント4に移動され、セグメント4のMIN値は、セグメント0に移動される。さらにセグメント1のMIN値はセグメント3に移動され、セグメント3のMIN値はセグメント5に移動され、セグメント5のMIN値は、セグメント1に移動される。
【0121】
FIG.13aは、モーションフラグのシャッフリングを示す。図に示すように、モーションフラグシャッフリング1305のセグメント0のモーションフラグ値はセグメント4に移動され、セグメント2のモーションフラグ値はセグメント0に移動され、セグメント4のモーションフラグ値はセグメント2に移動される。さらに、セグメント1のモーションフラグはセグメント5に移動され、セグメント3のモーションフラグはセグメント1に移動され、セグメント5のモーションフラグはセグメント3に移動される。欠落パターン1310は、伝送中にセグメント0が欠落した結果のFLデータ欠落を示す。
【0122】
特定のブロック属性に対して、FIG.13及びFIG.13aに示すように、セグメント間の特定のブロック属性の全ての瞬時値のシャッフリングを行う。例えば、FIG.13においては、セグメント2の880個のMIN値は、セグメント0の880個のMIN値に一括して置き換えられる。同様に、FIG.13aにおいては、セグメント4の880個のモーションフラグ値は、セグメント0のモーションフラグ値に一括して置き換えられる。このようにブロック属性を一括してシャッフリングすることにより、連続するパケットの伝送欠落に対して、欠落は、特定のブロックの特定のブロック属性に偏らない。一具体例においては、1つのブロックグループは3つのADRCブロックを含む。
【0123】
FIG.14は、DR値、MIN値、モーションフラグ値に対する3つのモジュールシャッフルを示す図である。3つモジュールシャッフルとは、3つの異なるセグメントにおける3つのグループ(すなわちブロックグループ)に亘ってシャッフリングパターンを共有することを意味する。シャッフリングパターンは、3つの異なるセグメント内の全てのブロックグループに対して繰り返される。なお、異なるブロック属性に対しては異なるシャッフリングパターンを用いる。すなわち、3つのモジュールシャッフリングにより、3つの全てのセグメントに亘ってブロック属性が分散される。具体的には、任意のブロックグループについて、3つのモジュールシャッフリングは、伝送中のセグメントの欠落に対して、特定のブロック属性の瞬時値が1つだけしか失われないことを保証する。したがって、後述するデータ回復処理において、ブロック内の失われたデータ回復するための復号候補の数を低減することができる。
【0124】
DRモジュールシャッフル1410に示すように、1セグメントには880個のDR値が格納されている。DR値には、そのDR値が由来するブロックに応じた番号が付されている。3つのモジュールシャッフリングにおいては、3つのセグメントのFLデータのコンテンツがシャッフルされる。カウント値0〜2は、モジュールシャッフリングのために識別される3つのセグメント内の各DR値を識別するために付された値である。すなわち、ブロック番号0,3,6,9・・・に属するDR値は、カウント0に属する。同様に、ブロック番号1,4,7,10・・・に属するDR値は、カウント1に属し、ブロック番号2,5,8,11に属するDR値は、カウント2に属する。これにより、所定のカウント値に対して、そのカウント値に関連付けられたDR値は、セグメント0,2,4に亘ってシャッフリングされる。同様に、同一のカウント値に関連付けられたDR値は、セグメント1,3,5に亘ってシャッフリングされる。
【0125】
DRモジュールシャッフル1410において、カウント値0に属するDR値はシャッフリングされない。カウント値1に属するDR値は、シャッフリングされる。具体的には、セグメントA内のカウント値1に属するDR値は、セグメントBに移動され、セグメントB内のカウント値1に属するDR値は、セグメントCに移動され、セグメントC内のカウント値1に属するDR値は、セグメントAに移動される。
【0126】
カウント値2に属するDR値もまたシャッフリングされる。具体的には、セグメントA内のカウント値2に属するDR値は、セグメントCに移動され、セグメントB内のカウント値2に属するDR値は、セグメントAに移動され、セグメントC内のカウント値2に属するDR値は、セグメントBに移動される。
【0127】
MINモジュールシャッフル1420は、MIN値用の3つのブロック属性のモジュールシャッフリング処理の具体例を示す。1つのセグメントは、880個のMIN値を含んでいる。MINモジュールシャッフル1420においては、DRモジュールシャッフリング1410においてカウント値1及びカウント値2に対して用いたシャッフリングパターンをカウント値0及びカウント値1にシフトして用いる。詳しくは、DRモジュールシャッフル1410においてカウント値1に対して用いたシャッフリングパターンをカウント値0に適用する。また、DRモジュールシャッフル1410においてカウント値2に対して用いたシャッフリングパターンをカウント値1に適用し、カウント値2に属するMIN値については、シャッフリングを行わない。
【0128】
モーションフラグモジュールシャッフル1430は、モーションフラグ値用の3つのブロック属性のモジュールシャッフリング処理の具体例を示す。1セグメントは880個のモーションフラグを含んでいる。モーションフラグモジュールシャッフル1430においては、DRモジュールシャッフル1410においてカウント値1及びカウント値2に対して用いたシャッフリングパターンをそれぞれカウント値2及びカウント値0にシフトして用いる。具体的には、DRモジュールシャッフル1410においてカウント値2に対して用いたシャッフリングパターンをカウント値0に適用する。また、DRモジュールシャッフル1410においてカウント値1に対して用いたシャッフリングパターンをカウント値2に適用し、カウント値1に属するモーションフラグ値については、シャッフリングを行わない。
【0129】
FIG.14aは、モジュールシャッフル1410,1420,1430により得られたモジュールシャッフリングの結果を示す図である。モジュールシャッフル結果1416は、各ブロック属性移動先がセグメント0に属することを示す。この例では、セグメント0は、FIG.14に示すセグメントAに対応する。この移動先は、FIG.14に示すモジュールシャッフル1410,1420,1430により決定される。FIG.14aは、セグメント0が伝送中に欠落した場合のブロック属性の欠落分布を示す。具体的には、欠落パターン1415は、モジュールシャッフル1410,1420,1430によりシャッフリングされた受信データをデシャッフリング処理した後に、6つのセグメントに亘るDR値、モーションフラグ値、MIN値の欠落を示す。FIG.14aに示すように、ブロック属性の欠落は、セグメント0,2,4に亘って周期的に分散されており、セグメント1,3,5にはブロック属性欠落は生じていない。さらに、空間欠落パターン1417は、伝送中にセグメント0が欠落して失われたFLデータのデシャッフル後の空間的分布を示す。空間欠落パターン1417は、後に受信データに対して施されるデシャッフリング処理後のDR値、モーションフラグ値、MIN値の欠落を示す。空間欠落パターン1417においては、破損されたブロックは破損されていないブロックに取り囲まれており、破損されたブロック属性は、破損されていないブロック属性に基づいて回復することができる。
【0130】
FIG.14及びFIG.14aは、3つのモジュールシャッフリングパターン及び伝送中にセグメントが失われた後のブロック属性の欠落分布を示す。変形例として、カウント値又はセグメント数を変更することによりブロック属性の欠落分布を変更してもよい。FIG.14bにモジュールシャッフル結果1421と欠落パターン1420とを示す。同様に、FIG.14cにモジュールシャッフル結果1426と欠落パターン1425とを示す。欠落パターン1420及び欠落パターン1425は、上述した3つのセグメントではなく、6つのセグメントに亘るブロック属性欠落の分布を示す。
【0131】
シャッフリング処理を行うための、ブロック属性を組み合わせて分散させる手法については、様々な変形例が可能である。
【0132】
セグメント間VLデータシャッフリング
セグメント間VLデータシャッフリング処理では、所定数のセグメント、例えば6つのセグメントが並べ替えられ、これにより1/6パケット伝送欠落までの欠落に対し、空間的に分離された周期的なVLデータ欠落が保証される。FIG.15及びFIG.16は、セグメント間VLデータシャッフリング処理の一具体例を示す。
【0133】
この具体例においては、30Mbpsに近い伝送速度が望ましい。したがって、望ましい伝送速度では、60のバッファのそれぞれにおけるVLデータとして31,152ビットが利用可能となる。残りの領域には、バッファ内に含まれる88個のブロック用のFLデータに使用される。FIG.15は、30Mbpsに近い伝送速度用のフレームセット内のVLデータバッファ配列構造を示す図である。上述のとおり、部分バッファリングにより各バッファの使用可能なVLデータの使用効率が最適化されており、VLデータの未使用領域は、ポストアンブルにより充足されている。
【0134】
FIG.16は、空間的に分散された周期的なVLデータ欠落を保証するシャッフリング処理の具体例を示す図である。第1列は、FIG.15に示す60個のバッファから1,869,120ビットの連結ストリームに並べ替えられたVLデータを示す図である。第2列は、6ビット毎にビットを抽出してまとめた新たなビットストリームを示す図である。これにより、デコーダが後に逆の処理を行う際に、伝送中に起こった1/6までのバースト欠落は、2つの破損されたビット間に少なくとも5つの未破損ビットがある周期的な欠落パターンに変換される。
【0135】
第3列は、ストリーム2のビットを10ビット毎に抽出してグループ化して生成された新たなビットストリーム、すなわちストリーム3を示す。この場合も、グループの境界は、セグメントにおけるビット番号により規定される。ストリーム2を10ビット毎にグループ化することにより、1/60のデータ欠落が生じた場合、2つの破損されたビット間に少なくとも59個の未破損ビットが存在することが保証される。これにより、88個の連続するパケットのデータが欠落した場合に、空間的に分離された周期的なVLデータ欠落が実現される。
【0136】
第4列は、ストリーム3のビットを11ビット毎に抽出して生成されたストリーム4を示す。この場合も、グループの境界は、セグメントにおけるビット番号により規定される。ストリーム3を11ビット毎にグループ化することにより、1/660のデータ欠落が生じた場合、2つの破損されたビット間に少なくとも659個の未破損ビットが存在することが保証され、8個の連続するパケットの伝送欠落が生じた場合、空間的に分離された周期的なVLデータ欠落を実現する。
【0137】
ストリーム4内の31,152ビットからなる各グループは、連続的にバッファ0〜59に再格納される。すなわち、最初のビットグループは、バッファ0に格納され、最後のビットグループは、バッファ59に格納される。
【0138】
FIG.16に示すグループ化の手法を変更することにより、1/nまでの伝送欠落を許容する空間的に分離された周期的なVLデータ欠落が保証されることは、当業者にとって明らかである。
【0139】
伝送
上述したシャッフリング処理により、FLデータ及びVLデータが相互に混合されたバッファが形成される。一具体例においては、パケット構造200に従って各バッファからパケットを生成し、各パケットを伝送媒体135を介して送信する。
【0140】
データ回復
上述のとおり、ビットストリームを符号化する革新的な本手法により、データパケットの欠落により生じるエラーに対する強力なエラー回復を実現することができる。復号処理の概要については、FIG.4に示すとおりである。
【0141】
FIG.4に示すように、パケットとして受信されたデータは、複数レベルのデシャッフリング処理、すなわちステップ425,430,435,440において処理され、ここでは、パケットとして受信されたデータの異なるデータ又は部分がデシャッフリングされ、データが復元される。そして、ステップ445において、当分野で知られた技術(1991年9月4日〜6日にイタリアのトリノで開催されたHDTV及びその未来に関する第4回国際研究会(Fourth International Workshop on HDTV and Beyond)において、近藤、藤森、中屋らにより発表された「将来のHDTVデジタルVTRのための適応ダイナミックレンジコーディング方式(Adaptive Dynamic Range Coding Scheme for Future HDTV Digital VTR)」参照)を用いてデータをADRC復号する。
【0142】
ステップ445,450において、フレームセット内ブロックデシャッフリング及びブロック−画像マッピングが順次実行される。ステップ425,430,435,440,445,450,455は、データを符号化するために実行される上述の処理の逆の処理であり、ここでは、詳細には説明しない。なお、一具体例においては、ステップ425,430,440により示されるデシャッフリングは、データに対して独立である。例えば、実行されるデシャッフリング処理は、予め定められているか、あるいはアドレスマッピング又はテーブルルックアップにより特定される。デシャッフリングステップ425,430,440は、データコンテンツに対して独立しているので、例えばパケット欠落に起因するデータ欠落によってデシャッフリング処理ができなくなることはない。同様に、ステップ450,455は、データに対して独立である。詳しくは、グループ内VLデータデシャッフリング処理により、ブロックグループ用の量子化コードが決定される。したがって、ステップ435では、パケットが欠落している場合、影響のあるグループを処理することはできない。
【0143】
デシャッフリング処理、復号処理、マッピング処理(ステップ425,430,435,440,445,450,455)の後、回復処理が実行され、これにより欠落パケット内に存在していたQビット及びモーションフラグ値が回復される。Qビットの欠落は、通常DR欠落(パケット欠落に起因する)に起因する。Qビット又はモーションフラグ値が未知の場合、画素のQコードビットをデータビットストリームから判定することができない。Qビット又はモーションフラグ値が不正確に判定された場合、バッファ内のデータにおいて後続するブロックの開始点が誤って判断されるため、このエラーは伝播性を有している。
【0144】
FIG.17は、Qビット及びモーションフラグ値を回復するための処理の概要を示す図である。ここでは、特定の具体例により複数のデータブロックを用いてQビットとモーションフラグ値を回復する処理を説明する。しかしながら、ブロックの数は、この具体例に例示するものに制限されるわけではなく、1又は複数のブロックを用いることができる。FIG.17に示すように、ステップ1705において、ビットストリーム内に検出されたエラーに基づいて、ステップ1710において、特定のパラメータに基づいて、検査された3つのブロック用の復号候補が生成される。ステップ1715において、各復号候補が正しい復号候補である可能性(likelihood)に基づいて各復号候補に得点を付ける。そして、最も得点の高い復号候補を選択する。選択された復号候補は、Qビット及びモーションフラグ値を修正し、これにより検査されたブロックの画素が復号される。
【0145】
FIG.4に示す復号処理において、一旦最良の復号候補が選択されると、ステップ465において、パケット欠落に起因して失われたDR値又はMIN値が回復される。ここでは、例えば隣り合うブロックの最小自乗又は平均を用いた手法など、当業者に既知の回復処理を用いてDR及びMINを回復する。この処理の詳細については、例えば、1991年9月4日〜6日にイタリアのトリノで開催されたHDTV及びその未来に関する第4回国際研究会(Fourth International Workshop on HDTV and Beyond)において、近藤、藤森、中屋らにより発表された「将来のHDTVデジタルVTRのための適応ダイナミックレンジコーディング方式(Adaptive Dynamic Range Coding Scheme for Future HDTV Digital VTR)」に記載されている。この具体例においては、革新的な画像−ブロックマッピング処理及びこれに基づくデータ構造により隣り合うブロックを増加させ、これにより追加的データを提供し、より正確なDR及びMIN回復を容易に行うことができる。詳しくは、一具体例において、DR及びMINは以下の式に基づいて回復される。
【0146】
【数29】
【0147】
ここで、DR’は、回復されたDRに対応し、qiは、ADRCブロック内のi番目の値であり、qi∈{0,1,・・・2q−1}であり、エッジマッチングADRCの場合m=2Q−1、非エッジマッチングADRCの場合m=2Qであり、yiは、隣接するブロックの復号された値であり、Qは、Qビット値である。
【0148】
【数30】
【0149】
ここで、MIN’は、回復されたMINに対応し、Nは、総和に用いた項の数を表す(例えば、iが0〜31であればNは32である)。他の具体例において、同一のブロックのDR及びMINが同時に破損されている場合、DR及びMINは以下の式に基づいて回復される。
【0150】
【数31】
【0151】
ステップ470において、Qビット及びモーションフラグ回復を実行する以前に復号されていないデータをADRC復号し、ステップ475において、パケット欠落又はランダムエラーに起因して生じたエラーを含む全ての画素データを回復する。そして、ステップ485において、3:1:0−4:2:2逆変換を行い、画像を表示のための望ましいフォーマットに変換する。
【0152】
FIG.18は、本発明が提供する復号処理におけるQビット及びモーションフラグ回復処理の特定の具体例を示す図である。この特定の具体例において、処理に入力される情報は、隣接ブロック情報と、処理すべき3つのブロックのブロック属性及び画素データである。さらに、失われたデータの位置を示すエラーフラグも入力される。エラーフラグは、当業者に知られた様々な手法で生成することができるため、詳細には説明しない。エラーフラグは、どのビットが破損された又は欠落したパケットにより伝送されてきたかを示す。
【0153】
ステップ1805において、復号候補を生成する。復号候補は様々な手法で生成できる。例えば、処理負担がかなり大きくなってしまうが、復号候補に可能な復号の全てを含ませてもよい。これに代えて、事前に特定されたパラメータに基づいて、復号候補を生成し、評価すべき復号候補の数を減らしてもよい。
【0154】
この具体例においては、復号候補は、上述したグループ内VLデータシャッフリング処理においてビットストリームをランダム化するために用いられた可能性のあるキー値に基づいて判定される。さらに、復号候補は、復号すべき状態で残っているビットのビット長及び残りのブロック数に関する情報により制限される。例えば、後述するように、最後のブロックの処理においては、ブロックの復号長は通常既知である。
【0155】
この具体例の説明を続ける。FIG.19は、この具体例における可能な組合わせを表す、ここでxは、未知の値(パケット欠落等に起因して失われた値)を示す。さらに具体例を挙げて説明する。miは、i番目のブロックのモーションフラグであり、qiは、i番目のブロックの量子化ビットの数であり、niは、i番目のブロックに対して可能な復号候補の数であり、diは、グループ内VLデータシャッフリングの説明で述べたi番目のブロックのキー要素の値である。i番目のブロックは、各グループに内で定義される。この具体例では、各グループ内のブロック数は3である。この3ブロックグループに対するキーは、d0+10・d1+100・d2として生成される。第1のブロックにおいてモーションフラグが未知であり、量子化ビットのビット数が2であり、m0がxであり、q0が2であるとする。上述の式に基づいて、キー要素diは、di=5・mi+qiとなり、d0として可能なデジットの集合は{2,7}となる。したがって、可能な値(n0)は、2となる。第2のブロックのモーションフラグ値が1であり、量子化ビット数が1であり、diの値がdi=5・1+1=6であり、ni=1であるとする。また、第3のブロックのモーションフラグ値が1であり、量子化ビット数が未知であるとする。これにより、デジットd2は{6,7,8,9}の集合からなり、n2=4となる。したがって、このグループの復号候補の可能数Mは、2×1×4=8となり、復号候補を生成するキーのバリエーションは、662,667,762,767,862,867,962,967となる。この処理は、好ましくは、データ欠落の影響を受けた各グループに対して実行される。
【0156】
FIG.17の説明に戻る。ステップ1715において、データがキーデータに基づいて復号されると、生成された復号候補は、復号されたデータが正しい可能性に基づいて得点付けされる。ステップ1720において、最高の得点を得た復号候補を選択する。
【0157】
復号候補の得点付けには、様々な手法を用いることができる。例えば、特定の復号候補に基づくブロック内の画素が画像内の他の画素にどれくらい合致しているかを分析して復号候補を得点付けすることができる。好ましくは、得点は、例えば自乗誤差や相関などのエラーを示す判定基準に基づいて決定する。例えば、相関については、隣接する画素との相関度が高いほど、仮定が正しい確率が高い。したがって、相関度が高ければ復号候補が正しいことが予測され、相関性がなければ復号候補が正しくないことが予測される。
【0158】
FIG.18に示すように、4つの異なる判定基準を分析して最良の復号候補を選択する。しかしながら、復号候補を選択するために分析する判定基準の数は、1乃至3個であってもよく、5個以上であってもよい。
【0159】
FIG.18に示す具体例では、4つの副得点付け判定基準を設け、これらに対する得点を合計して最終得点を算出する。具体的には、ステップ1815において、自乗誤差を求め、ステップ1820において、水平相関を判定し、ステップ1825において垂直相関を判定し、ステップ1830において、時間的動きを測定する(それぞれ、M個の復号候補とN個のブロックと2データフレーム/ブロックに対応するM×2N行列として示される)。ここでは、水平相関及び垂直相関を用いるが、例えば対角相関等の様々な相関値を測定することができる。ステップ1835,1840,1845,1850において、各判定基準の信頼度を測定し、測定値を正規化する。ステップ1855,1860,1865,1870においては、それぞれ異なる判定基準の確率関数を生成する。これら確率関数は、例えば確率値を掛け合わせることにより結合され、例えばFIG.18のステップ1875においては、尤度関数等による得点付けを行う。そして各復号候補の得点を他の全ての復号候補の得点と比較し、最も正しいと考えられる復号候補を選択する。
【0160】
各復号候補を評価し、それぞれの候補に得点を付けるために様々な手法を用いることができる。例えば、信頼度測定は、判定基準を正規化する一手法である。さらに、以下に説明するもの以外にも、様々な信頼度測定の手法がある。同様に、各判定基準に基づく確率値を掛け合わせて全体の尤度関数を求める手法は、検査された様々な判定基準を結合する手法の単なる例示に過ぎない。
【0161】
通常、候補となる可能性が低い復号候補が得る得点は低く、一方、候補として有力な復号候補が得る得点が極めて高くなるため、符号化処理により最良の復号候補の判定が容易となる。特に、上述したグループ内データシャッフリング処理におけるQコードのランダム化処理によってこの判定を容易に行うことができる。
【0162】
FIG.20a、20b、20c、20dは、FIG.18に示すステップ1815,1820,1825,1830において特定の復号候補に得点を付け、及び総得点を算出するための異なる測定法の例を示す。FIG.20aは、復号候補により復号された画素xiを復号された隣接する画素yi,jと比較して評価する自乗誤差による測定を説明する図である。添え字「i,j」は、iに隣接するアドレスに対応する。なお、画像内の輪郭の境界に存在するために生じる急峻な変化(スパイク:spike)の影響を取り除くために、値が大きな項のいくつかを除外することが望ましい。好ましくは、(xi−yi,j)2を除外し、発生する可能性のあるスパイクを回避するとよい。FIG.20bは、時間的動きの判定基準を測定する手法を説明する図である。これは、ブロックが動ブロックであるか、動ブロックであると仮定される場合にのみ適用可能である。時間的動きの判定基準では、ブロック間の相違は小さいものであると仮定する。したがって、復号候補が悪いほど、ブロック間の相違が大きくなる。空間相関では、実際の画像が密接な関係を保ちながら徐々に変化するため、復号候補が正しい可能性が高いほど、相関度が高くなると仮定する。FIG.20cに示す水平相関測定及びFIG.20dに示す垂直相関測定は、この仮定を利用する。
【0163】
FIG.18に示すステップ1835,1840,1845,1850における信頼度測定は、先のステップ(ステップ1815,1820,1825,1830)において判定された判定基準の正規化を行う処理である。一具体例において、例えば、自乗誤差が[0,1]間の値をとり、エラーが等しい場合、信頼度は0となり、エラーが0である場合信頼度は1となる。正規化のためには他の測定法及び手法を用いてもよい。
【0164】
同様に、空間相関に関する信頼度は、以下の式により算出される。
【0165】
maximum(Y,0)-maximum(X,0)
ここで、Yは、最良の相関値であり、Xは、現在の復号候補による相関値である。時間的動きの信頼度の測定は、以下の式に基づいて行われる。
【0166】
conf=(a-b)/(a+b)
ここで、a=max(X, M_TH)であり、b=max(Y, M_TH)であり、さらにここで、M_THは候補ブロックの動き閾値であり、Yは最良の測定値、すなわち最小の時間的動きを表し、Xは現在の候補の時間的動きの測定値を表す。
【0167】
FIG.18に示すステップ1855,1860,1865,1870において、それぞれ異なる判定基準に関する確率関数を生成する。確率を測定する手法は様々なものが存在する。例えば、得点を信頼度の測定に用いることができる。信頼度の測定値が所定の値、例えば0.8より大きければ、基礎得点から10を減じ、0.5〜0.8の間であれば基礎得点から5を減じる。FIG.21は、自乗誤差測定判定基準用の確率関数を生成するために用いる具体例である。この表は、経験的に求められた任意のデータを格納し、信頼度と、自乗誤差測定値と、既知復号候補が含まれている。具体的には、この表は、破損されていないデータを用い、DR値が破損又は欠落したと仮定して作成することができる。これにより、適切な復号及び不適切な復号に対するキー及び信頼度測定値が求められる。この表は、適切な復号と不適切な復号との確率比を反映したものである。この表を用いて、特定の自乗誤差の値(列)及び信頼度の値(行)に対する確率が判定される。例えば、信頼度0において、様々な自乗誤差が存在し、候補が正しい確率は40%〜50%であることが判る。信頼度が0ではないが、低い値である場合、この確率は、急速に低下する。相関及び時間的動きに関しても、対応する経験的に求められた判定基準測定値及び信頼度測定値に基づいて、同様の表を作成することができる。
【0168】
生成された確率を用いて、この具体例における、上述の「得点」を求めることができる。候補復号の得点付けには、他の手法を用いてもよい。ステップ1875において、異なる確率を結合して尤度関数Li=j・Pi,jを求める。ここで、jは確率関数Pi,jの乗算関数であり、Pi,jは候補iブロックjの確率関数である。候補としては、関数Liが最大となるものを選択する。
【0169】
FIG.18に示す処理においては、欠落したパケットにより伝送されたブロック属性を回復する必要がある場合がある。したがって、ステップ1810において、DR値及びMIN値を必要に応じて回復する。この回復処理には、初期値、平均、自乗誤差関数を用いた手法や、例えば、1993年9月20〜22日にオーストラリアのメルボルンで開催されたIEEEビジュアル信号処理及び通信学会で発表された近藤、藤森、中屋らによる「将来のHDTVデジタルVTRのための適応ダイナミックレンジコーディング(Adaptive Dynamic Range Coding Scheme for Future HDTV Digital VTR)」及び近藤、藤森、中屋、内田らによる「新たなデジタルVCRの秘匿法(A New Concealment Method for Digital VCRs)」に開示されたより高度な手法を用いることができる。回復された値は、上述した復号候補の生成に利用される。
【0170】
あるいは、DR値及びMIN値は、Qビット判定処理において判定される。この手法をFIG.22に示す。具体的には、上述のとおり、この具体例においては、モーションフラグ及び量子化ビット数を用いて符号化処理を行い、さらにこれらにより、回復処理において復号候補の可能な数を減少させている。上述のとおり、他の情報を用いてもよい。すなわち、DR値及び/又はMIN値を符号化にも用いてもよい。これに代えて、DRの一部のビット(例えば、DRにおいて重要度が低い2つのビット)を符号化に用いてもよい。DRデータを符号化しても、変数を追加するにつれて可能な復号候補の数は増加する。FIG.22の処理では、K・M復号候補が生成される。ここで、Kは、未知のデータの候補値の数であり、例えば、DR1、DR2、DR3(DR1、DR2、DR3は、グループ内のブロックのDR値を示す)の合計の2ビットが符号化された場合、K=4である。DR及びMINは、例えばDR1、DR2、DR3の合計の2ビット等の補助情報を用いて回復される。この処理により、復号候補の最大数を調べるためのオーバーヘッドを代償として、候補選択処理の精度を向上させることができる。
【0171】
なお、通常、復号された隣接するブロックの数が多いほど、Qビット及びモーションフラグの回復処理が向上する。さらに、いくつかの具体例において、この処理は、バッファ内の連続するブロックに対して適応される。FLデータの全て又は一部が利用可能であれば、復号候補の数を減らすことができ、ブロックのFLデータ全てが与えられれば、可能な復号候補は1つとなる。しかしながら、Qビット及びモーションフラグの回復処理は比較的時間を要するものであるため、回避した方が望ましい。さらに、Qビット及びモーションフラグの回復処理を行うためには、可能な限り多くの情報を用いることが望ましい。一具体例においては、Qビット/モーションフラグ情報が失われているブロックに到達するまで、バッファの先頭から順次ブロックを処理する。このような処理を順方向Qビット及びモーションフラグ回復処理と呼ぶ。他の具体例においては、バッファの最後を参照してバッファ内の最終ブロックを判定し、この最終ブロックからQビット/モーションフラグ情報が失われているブロックに到達するまで、バッファの最後から先頭の方向に順次データを回復する。この処理を逆方向Qビット及びモーションフラグ回復処理と呼ぶ。
【0172】
上述したように、ブロックは、VLデータを含むため、ブロック長は可変である。したがって、バッファ内で後続するブロックの位置を正確に検出するために、VLデータを形成するビットの総数を判定する必要がある。復号処理において、バッファ内の未使用のビット位置には、所定の、望ましくは認識が容易なパターンを有するポストアンブルを設ける。復号処理においては、ポストアンブルは、ブロックとバッファの最後との間に存在することとなる。容易に認識できるパターンを用いているため、復号装置は、このパターンを確認することにより、ポストアンブルの開始位置を検出でき、したがって、バッファ内のブロックの最後を検出できる。この情報は、2つの処理において使用される。ブロックが破損されたQビット/モーションフラグデータを含み、ブロックの開始位置が既知である場合(例えば、先行するブロックが無事に復号されている場合)、直前のブロックの最後からポストアンブルの先頭までの差分がブロック長に対応する。この情報は、ブロックのQビット及び/又はモーションフラグの算出に使用できる。ポストアンブルの開始位置は、直前のブロックからバッファの先頭方向におけるQビット及びモーションフラグ回復にも使用できる。
【0173】
FIG.23は、ポストアンブルを用いた双方向Qビット及びモーションフラグ回復処理を説明する図である。FIG.23においては、バッファ2300は、FLデータのブロックからなるN個のグループ用のFLデータ2303を含む。各グループは、複数の(例えば、3個の)ブロックから構成される。この具体例においては、1番目及び2番目のグループ2305,2310が復号され、3番目のグループは、DR/モーションフラグデータが破損されているために、直ちには復号するこができない。この時点で、破損されたデータを回復するためにQビット/モーションフラグ回復処理が必要となる。ここで、順方向へのグループの処理を継続せず、ポストアンブルパターン220を検出することにより、バッファの最後を読み出す。すなわち、ポストアンブルの先頭を判定することにより、最後のブロックグループが判定される。DR/モーションフラグデータはVLデータの長さを暗示しているため、最終ブロックのVLデータの先頭と、したがって直前のブロック最後とが判定される。これにより、破損データを含むブロック240に到達するまで、ブロック225,230,235等のブロックが順次処理される。続いて、破損されたブロック215,240及び妨害された複数のブロック250が回復される。ここでは、望ましくは上述のQビット/モーションフラグ回復処理を用いる。
【0174】
なお、双方向処理の順序は、順方向から逆方向の順序に限定されるものではなく、処理は、いずれの方向から開始してもよく、両方向から開始してもよい。さらに、いくつかの具体例においては、複数の処理を平行して実行し、処理効率を高めることもできる。さらに、破損されていない妨害されたブロックについては、上述のQビット/モーションフラグ回復処理を行うことなく、Qビット/モーションフラグ情報に直接アクセスしてこれらのブロックを回復してもよい。
【0175】
上述のように、最良の復号候補を実際の復号処理として選択するための得点付けの手法は、様々である。変形例においては、各復号候補を用いた画像の平滑度を評価する。一具体例においては、ラプラス測定を実行する。ラプラス測定では、例えば画像の曲率等の画像表面の2次特性を利用する。線形画像表面、すなわち平滑な表面に対しては、このラプラス測定の結果は0に近い値となる。
【0176】
この処理をFIG.24a、24b、24cを用いて説明する。FIG.24aは、ラプラスカーネルの一具体例を示す。他のラプラスカーネルを用いてもよい。ラプラスカーネルLは、3×3の領域で示される。画像領域の平滑度を測定するために、画像のサブ領域をカーネルにより畳み込み、畳み込まれた値の平均を求める。領域及びサブ領域のサイズ(したがってカーネルのサイズ)は、アプリケーションに応じて変更できる。
【0177】
処理の一例をFIG.24cに示す。この具体例では、3×3のカーネル及びサブ領域サイズ及び8×8の領域サイズと、インデックスi,jにより識別される独立要素とを用いる。ステップ2460において、候補復号値×[i][j]を正規化する。例えば、値は以下の式に基づいて正規化される。
【0178】
【数32】
【0179】
ステップ2465では、正規化された値を用い、以下の式に基づいて、平滑度を示すブロックラプラス値LXを求める。
【0180】
【数33】
【0181】
ブロックラプラス値が0に近いほど、画像の部分の平滑度が高い。したがって、このブロックラプラス値に基づいて得点を算出することができ、ラプラス値が最も小さい復号候補を正しいと判定することができる。
【0182】
ラプラス評価法は、符号化された候補値q[i][j]を用いて実現することもできる。基本的な処理手順は、FIG.24cに示す手順と同様である。この具体例では、3×3のカーネル及びサブ領域サイズ及び8×8の領域サイズと、インデックスi,jにより識別される独立要素とを用いる。例えば、値は以下の式により正規化される。
【0183】
【数34】
【0184】
ステップ2465では、正規化された値を用いて、以下の式に基づいて、平滑度を示すブロックラプラス値Lqを求める。
【0185】
【数35】
【0186】
ブロックラプラス値が0に近いほど、画像の部分の平滑度が高い。したがって、このブロックラプラス値に基づいて得点を算出することができ、ラプラス値が最も小さい復号を正しいと判断することができる。
【0187】
さらに他の変形例も可能である。変形例として、平滑度測定のために、より高次元の画像特性を用いることもできる。この場合、高次カーネルを用いることができる。例えば、4次カーネルを用いて、4次ブロックラプラス測定を行うことができる。このような4次カーネルは、2次ラプラス演算を縦続的に実行することにより実現できる。
【0188】
さらに、画像が所定の値より大きな変化又は動きを有しているか否かに基づいて評価処理を変更してもよい。画像の部分が所定の値より大きな動きを示している場合、フレームではなくフィールドに対する測定を行うことが望ましい。この点について、FIG.25を用いて説明する。FIG.25は、平滑度測定を用いた処理を示す図である。しかしながら、この処理は様々な種類の測定法を用いて実現することができる。
【0189】
画像領域のフレーム2505は、フィールド0及びフィールド1から構成される。ステップ2510において動きが検出されない場合、ステップ2515において、各フレーム内のブロックについてブロックラプラス値を求めることにより平滑度を測定する。所定の値より大きな動きが検出された場合、ステップ2520及びステップ2525においてそれぞれのフィールドに対してブロックラプラス測定を行い、得られた2つの測定値をステップ2530において結合、例えば平均値を求め、平滑度測定値を算出する。動きの検出及び測定には様々な手法を用いることができる。一具体例においては、フィールド間の変化を評価し、得られた値が所定の値を超えた場合に動きを検出する。
【0190】
値の回復(通常、欠落又は破損された値の置換)のために動き検出、フレーム情報及びフィールド情報を使用する手法は、値を回復する必要があるあらゆる処理の過程に適用できる。例えば、値を回復するための動き検出、フレーム情報及びフィールド情報を使用する手法は、DR/MIN回復処理、画素回復処理、Qビット及びモーションフラグ回復処理等に適用することができる。このように、検出された動きレベルに基づいて、回復処理は、フィールド単位又はフレーム単位で既存の情報を利用する。さらに、この処理は、特定の方向(例えば、水平方向又は垂直方向)での相関レベルに基づいて選択される重み付けの値を用いるアプリケーションと組み合わせて用いることもできる。
【0191】
Qビット及びモーションフラグ回復処理の他の具体例では、復号候補は、ブロック内及びブロック間測定に基づいて評価される。以下の説明では、用語「ブロック」は、フレーム又はフィールドの部分を意味するものとする。ブロック内測定は、復号候補により復号された画像の部分の例えば平滑度を評価する。ブロック間測定は、復号候補が隣接する画像部分にどれほど合致するかを測定する。FIG.26a及びFIG.26bは、ブロック間評価とブロック内評価とを組み合わせた手法を説明する図である。具体的には、FIG.26aは、ブロック間測定及びブロック内測定の結果が良好であるために許容可能な復号候補を示し、一方、FIG.26bでは、ブロック内測定の結果は極めて良好であるが、ブロック間測定の結果が良好ではない場合を示している。
【0192】
ブロック内測定の具体例では、上述した平滑化測定を行う。ブロック間測定の具体例では、上述の自乗誤差測定を行う。ブロック間測定の変形例では、ADRCブロック候補における適合する境界画素の比及び境界画素の総数を使用する。
【0193】
ADRC符号化された8×8ブロックに対するブロック間評価及びブロック内評価について、FIG.26c、26d、26eを用いて説明する。FIG.26dは、q個の値からなる符号化された値2650のデータの画像の一部(ブロック)を示し、このブロックから候補復号値xが生成される。隣接する復号されたデータ2655は、y個の値からなる。上述のとおり、FIG.26cのフローチャートに示すステップ2605において、ブロック内測定が実行され、これにより測定値、例えばブロックラプラス値LXが算出される。ステップ2610において、ブロック間測定値SXが算出され、これにより隣接するブロック間の適合性が測定される。ステップ2615において、結合測定値MXが算出される。結合測定値は、復号候補を選択するために用いる情報を提供する。
【0194】
この具体例において、SXは、復号候補による各境界画素の有効範囲内に存在する隣接データの数として算出される(FIG.26e参照)。FIG.26eは、一具体例の有効範囲を示すグラフであり、ここでは観察された量子化値qiのそれぞれの有効範囲が示されている。すなわち、LQ≦DR<UQとなり、ここで、LQ、UQは、それぞれ量子化ビット=Qに対応するDRの上位及び下位の境界を示している。SXについては、SX=SX/境界画素数として正規化することが望ましい。
【0195】
この具体例では、結合測定値MXは、MX=SX+(1−LX)という式に基づいて算出する。これに代えて、以下の式を用いて結合測定値の重み付けを行ってもよい。MX=w・SX+(1−w)・(1−LX)ここで、wは重みであり、通常経験的に決定された重み付けの値を有する。
【0196】
欠落又は破損されたDR値及びMIN値を判定するための他の具体例も考えられる。例えば、上述の式を変形して用い、より高精度なDR値及びMIN値の回復を実現することができる。他の具体例では、メジアン法を用いてもよい。メジアン法の一具体例では、MINの値を全てのMINiの値のメジアンとして以下のようにして求める。
【0197】
MINi=yi−qi・sここで、qiは、符号化された画素値を示し、yiは、qiに隣接する復号された画素を示す。エッジマッチングADRCにおいて、s=DR/(2Q−1)である。ノンエッジマッチングADRCにおいては、s=DR/2Qである。ここで、Qは、画素毎の量子化ビット数(Qビット値)を示す。
【0198】
使用される値は、時間的近似値又は空間的近似値であってもよい。yiの値としては、隣接するフレーム/フィールド又は同じフィールドの隣接する画素の復号値を用いてもよい。yiの値としては、隣接するフレーム/フィールド又は同じフィールド内の同じ位置の画素の復号値を用いてもよい。
【0199】
さらに、DR及び/又はMIN回復処理をクリップ処理と組み合わせて用い、回復精度を向上させるとともに、回復処理中のデータのオーバフローを防止することもできる。クリッピング処理は、回復されれたデータの値を所定の範囲内に制限する処理である。すなわち、所定の範囲外の値は、この範囲の最も近い境界値にクリップされる。一具体例においては、クリップ処理により値を[LQ,UQ]の範囲内に制限する。ここで、LQ,UQは、量子化ビット数=Qで表される画素値の範囲の下限及び上限を示す。量子化ビット及びさらにMIN+DRを制限する制限値Numを設ける。Numは最大画素値であり、この具体例においてはNumは255である。この具体例において、適応可能であれば、UQ+1=LQ+1とする。
【0200】
判定基準を単一の式に結合することにより、DRのための拘束されない回復値(val')と、最終的にクリップされた回復値(val)とが以下の式から得られる。
【0201】
val=max(min(val, min(UQ, 255-MIN)), LQ)
ここで、min及びmaxは、それぞれ最小関数及び最大関数を示す。
【0202】
他の具体例においては、境界画素yiを用いて回復されたDR及び/又はMINをフィルタリングして相関値が最も高いものだけを用いるようにする。これによりDR及びMINの回復の精度が向上する。これら境界画素は、使用されていない判定基準には適合しない。一具体例においては、境界画素yiは、LQ≦DR<UQを満たすDR値が存在し、元の画素yiがqiとして符号化されている場合、DR算出に有効であるとみなされる。すなわち、以下の式が満たされるとき、画素は有効である。
【0203】
【数36】
【0204】
ここで、mは、最大量子化レベル=2Q−1を表す。次に、DR回復値(val')は、以下の式に基づいて算出される。
【0205】
【数37】
【0206】
続いて、この値は有効範囲内にクリップされる。この処理により、DR回復値は、閾値テーブルにより定義されている有効範囲内に納められる。これにより、DRが閾値テーブル境界近傍に存在する点の精度が低下する。
【0207】
ここで、量子化雑音の影響により静ADRCブロックのDRは、フレーム間で若干変化することがある。このような変化がADRC符号化境界を横断し、DRが複数の連続フレームにおいて回復された場合、有効画素選択とともに回復されたDRの回復値は、各横断点で過大になる傾向があり、この結果、表示画面上で顕著なちらつきが生じる。このような問題を抑制する手法として、一具体例では、有効画素選択処理を変形し、上限及び下限の境界による制約を緩和する。これにより隣接する有効領域に侵入する境界画素を許容する。境界に外接する点を含むことにより、回復値が上限又は下限に近い値となる傾向を強めることができる。緩和された境界L’QとU’Qは、緩和定数rにより算出される。一具体例においては、rの値を0.5に設定する。他の値を用いてもよい。
【0208】
L’Q=rLQ−1+(1−r)LQ
U’Q=(1−r)UQ+rUQ+1
以上、DR及びMINが破損又は欠落した場合にDR及びMINを回復するための様々な手法を説明した。算出され、回復された対応するデータの時間的及び/又は空間的相関を調べ、重み付けを行うことにより、さらに回復の精度を高めることができる。具体的には、特定の方向又は時間軸において高度な相関が存在する、例えば水平相関が存在する場合、画像特性はその高度な相関を有する方向において平滑に連続し、したがって、相関値の高い回復値の使用に最良の評価を与える。これにより、境界データは対応する方向(例えば、垂直、水平、フィールド間)に含まれ、相関測定値に基づいて重み付けされ、最終的な回復値が得られる。
【0209】
この処理の一具体例をFIG.7aを参照に説明する。ステップ2710において、DR又はMINの回復値を一方向について生成し、ステップ2715において、他の方向の回復値を生成する。例えば、この処理を空間的に適用する場合、水平方向の境界に沿う境界画素を用いて第1の回復値hestを生成し、垂直方向の境界に沿う境界画素を用いて第2の回復値vestを生成する。これに代えて、処理を時間的に適用する場合、隣接するフィールド間の境界画素を用いて第1の回復値を生成し、隣接するフレーム間の境界画素を用いて第2の回復値を生成する。
【0210】
ステップ2720において、各方向における相関レベルを示す相関演算に基づいて回復値の重み付けを行う。続いてステップ2725において、重み付けされた第1及び第2の回復値を結合して結合回復値を生成する。なお、この処理は、2方向の回復値に対する重み付けのみに限定されるわけではない。すなわち、重み付けされ、結合される回復値の数は、アプリケーションに応じて変更できることは明らかである。特定の方向における相関レベルを示す相関値を算出するために様々な手法を用いることができる。さらに、様々な判定基準を用いて相関レベルに関する重み付け要素を選択することができる。通常、一方の相関値が他方の相関値よりかなり大きい場合、結合された回復値は、主に対応する回復値に基づくものである必要がある。一具体例において、結合された回復値は以下の式により求められる。
【0211】
【数38】
【0212】
ここで、hcは水平相関を表し、vcは垂直相関を表し、hestは左右の境界情報のみに基づくDR回復値を表し、vestは上下の境界情報のみに基づく回復値を表し、αは重みを表す。重みの値は様々な方法で決定できる。FIG.27bは、水平相関と垂直相関との差分の関数として重みの値を決定する一具体例を説明する図である。具体的にはαは、以下の式を満たすように選択される。
【0213】
【数39】
【0214】
上述のように、適応相関処理は、DR及びMINのいずれの回復にも用いることができる。しかしながら、望ましくは、MIN+DRが255になるようにMIN回復処理においてクリッピングを行う。したがって、関数val=max(min(val', 255-MIN), 0)を用いることができる。さらに、上述のとおり、時間的相関を評価し、これにより回復値の重み付けを行うこともできる。また、時間的相関と空間的相関を組み合わせて利用してもよい。例えば、フィールド間のある回復値を時間的回復値として生成する。他方の回復値を1フィールド内の空間的回復値として生成する。最終的な回復値は、時間的相関及び空間的相関を組み合わせて算出される。相関の組み合わせを動きの量に置換してもよい。他の変形例も可能である。この手法をオーディオデータに対して適用しもよい。
【0215】
一変形例として、最小自乗法に単純な修正を加えた手法を用いることができる。この具体例により、回復されたDR値に起因するちらつきを低減することができる。以下の説明においては、QVは、画像部分又は点qiの集合を有し、DRが回復されようとしているADRCブロックを表し、Yは、QV内の垂直方向又は水平方向に隣接する点から得られた復号値のリストを表し、yiは、qiの垂直方向又は水平方向の隣接点を表す。各点qiは、最大4個の復号された隣接点を有するので、1画素又は点について(qi,yi)の組み合わせは最大4つとなる。DR(DRuls)の無制約最小自乗評価値は、以下のとおりである。
【0216】
【数40】
【0217】
ここで、Qは量子化ビットの数であり、MINはブロック属性として伝送された最小値を表す。上述の式は、ノンエッジマッチングADRCに対応するものであり、エッジマッチングADRCの場合は、2Qを2Q−1に置き換え、(0.5+qi)をqiに置き換える。
【0218】
好ましくは、無制約自乗評価値をクリップし、閾値テーブル及び等式MIN+DR=255に整合させる。この条件は符号化処理中に行わなければならない(通常、ノンエッジマッチングADRCの場合、DR値として許容される範囲は1〜256である)。すなわち、最小自乗評価値は、以下の式に基づいてクリップされる。
【0219】
(DR)lsc=max(min(UB, DRuls), LB)
ここで、UBは上限を表し、LBは加減を表し、min及びmaxは、それぞれ最小関数及び最大関数を表す。
【0220】
変形例として、DR評価値に最も適合する画素を選択することにより評価を高めてDRの評価値を算出することもできる。例えば、画像内の変化の少ない領域の画素に対するDR評価値は、変化が多い領域の画素に対するDR評価値より適合性が高くなる。具体的には、画像の輪郭が鋭ければ、評価の精度が低くなる。以下、DR評価値を算出するために用いる画素を選択する簡易な計算手法の具体例を説明する。
【0221】
この具体例では、最小自乗評価値(DRlse)。例えば(DRuls)又は(DRlsc)を算出する。この評価値を用いて、符号化値QVのリストを復号候補値Xに変換する。ここで、xiはqiに由来するXの構成要素を表す。xi値はDRの第1の評価値を用いて生成された、回復された復号値である。xi値は、以下の式により定義される。
【0222】
【数41】
【0223】
DRlseが真のDRの正当な評価値であると仮定すると、いかなる場合もxiはyiに比較的近似し、したがって変化の少ない領域と判断され、望ましい適合性が得られる。新たなX及びYリストは、xiとyiが近似しており、最小自乗評価値が再計算されて評価値が更新される。
【0224】
「近似」しているか否かを決定するために、様々な判定基準を設けることができる。一具体例においては、エラー関数のADRC符号化を用いる。この手法は、計算が低コストであるという利点を有する。処理においては、点ei|yi−xi|から構成されるリストEを定義する。emin及びemaxをそれぞれリストの最大値及び最小値として定義すると、eDR=emax-eminとなる。したがって、符号化されたエラー値は、以下のように定義される。
【0225】
gi=(ei-emin)nl/eDR
ここで、nlは上述したADRC処理と同様の手法によりeiを再量子化する際の量子化レベルの数を表す。
【0226】
giがいずれかの閾値以下であるという条件に合致するもののみを選択することにより、新たなリストX、Yが生成される。これら新たなリストが十分長ければ、これらのリストを用いて精密な最小自乗評価値DRrlsを生成できる。最小自乗評価値を精密化するため必要となるgiの閾値及び合致数は、好ましくは経験的に求められる。例えば、nlを10とした8×8×2の水平サブサンプルブロックに対する具体例では、gi=0に対応する合致数のみを用い、評価値は、新たなリストが少なくとも30個以上の合致数を含む場合にのみ精密化される。
【0227】
変形例として、潜在的DR値をクリッピングし、DR評価値を再計算することによりDR評価値の精度を高めることができる。詳しくは、一具体例において、リストDは、構成要素diから構成され、diはxiをyiに一致させるDR値を含む。より具体的には、以下の式のとおりとなる。
【0228】
di=2Q(yi-MIN)/(0.5+qi)
以下に示すように、各diをクリッピングすることにより精度が高められる。
【0229】
di'=max(min(UB, di), LB)
ここで、DRclsはdi’の平均となるように算出される。重み付け平均において、クリップ処理(DRcls)を他のDR評価、例えばDRlseと組み合わせて最終のDR値を求めるようにしてもよい。例えば、重み平均DRestを以下の式に基づいて算出する。
【0230】
DRest=w1(DRcls)+w2(DRlse)
重みw1及びw2は、好ましくは、結果として得られた評価値及び特定の重みから生成された画像に基づいて経験的に決定される。一具体例においては、w1=0.22513とし、w2=0.80739とする。
【0231】
本発明を好ましい実施の形態に基づいて説明した。上述の説明から、多数の代替、修正、変形及び用法が実現できることは当業者にとって明らかである。
【図面の簡単な説明】
【図1】
FIG.1は、信号の符号化、伝送、復号の処理を包括的に示す図である。
【図2】
FIG.2は、パケット構造の具体例を示す図である。
【図3】
FIG.3は、本発明に基づく符号化処理の一例を説明するフローチャートである。
【図4】
FIG.4は、本発明に基づく復号処理の一例を説明するフローチャートである。
【図5】
FIG.5は、本発明に基づく画像−ブロックマッピングの一例を示す図である。
【図6】
FIG.5aは、画像−ブロックマッピングにおいて用いられるシャッフリングパターンの一例を示す図である。
【図7】
FIG.6は、相補的及び連鎖的なブロック構造の例を示す図である。
【図8】
FIG.7a及びFIG.7bは、フレームセット内のYブロックのシャッフリングパターンの具体例を説明する図である。
【図9】
FIG.7cは、フレームセット内のYブロックのシャッフリングパターンの具体例を説明する図である。
【図10】
FIG.7dは、フレームセット内のYブロックのシャッフリングパターンの具体例を説明する図である。
【図11】
FIG.8は、バッファ0内の累積的DR分布の具体例を示す図である。
【図12】
FIG.8aは、本発明に基づく部分バッファリング処理の具体例を示す図である。
【図13】
FIG.9は、本発明に基づくバッファ内YUVブロックシャッフリング処理の具体例を示す図である。
【図14】
FIG.10は、本発明に基づくグループ内VLデータシャッフリング処理の具体例を示す図である。
【図15】
FIG.11は、本発明に基づく3ブロックグループ内におけるQコードの結合の具体例を示す図である。
【図16】
FIG.11aは、本発明に基づく動ブロックを含むフレーム対におけるQコードの結合の具体例を示す図である。
【図17】
FIG.12は、1/6バーストエラー欠落に起因する画素データエラーの具体例を示す図である。
【図18】
FIG.12aは、本発明に基づくQコードのシャッフリング及びQコードビットの分散の具体例を示す図である。
【図19】
FIG.12bは、Qコードを再分散した場合における1/6バーストエラーに起因する画素データエラーの具体例を示す図である。
【図20】
FIG.12cは、Qコードを再割当した場合における1/6バーストエラーに起因する画素データエラーの具体例を示す図である。
【図21】
FIG.13は、本発明に基づくMINシャッフリングの具体例を示す図である。
【図22】
FIG.13aは、モーションフラグシャッフリング及び1フレーム対内における固定長データ欠落を示す図である。
【図23】
FIG.14は、モジュールシャッフリングの具体例を示す図である。
【図24】
FIG.14aは、モジュールシャッフリングの結果及びモジュールシャッフリングに関連する固定長データ欠落を示す図である。
【図25】
FIG.14bは、変形されたモジュールシャッフリングの結果及びこのモジュールシャッフリングに関連する固定長データ欠落を示す図である。
【図26】
FIG.14cは、変形されたモジュールシャッフリングの結果及びこのモジュールシャッフリングに関連する固定長データ欠落を示す図である。
【図27】
FIG.15は、フレームセット内の可変長データバッファリングの具体例を示す図である。
【図28】
FIG.16は、本発明に基づくセグメント間VLデータシャッフリングを説明する図である。
【図29】
FIG.17は、本発明に基づくデータ回復処理の具体例を示すフローチャートである。
【図30】
FIG.18は、本発明に基づくQビット及びモーションフラグ回復処理の具体例を示すフローチャートである。
【図31】
FIG.19は、復号候補の具体例を示す図である。
【図32】
FIG.20a及びFIG.20bは、FIG.18に示すQビット及びモーションフラグ回復処理において用いられる測定を説明する図である。
【図33】
FIG.20c及びFIG.20dは、FIG.18に示すQビット及びモーションフラグ回復処理において用いられる測定を説明する図である。
【図34】
FIG.21は、Qビット及びモーションフラグ回復処理において自乗誤差確率関数を求めるために用いられる表を示す図である。
【図35】
FIG.22は、本発明に基づくQビット、モーションフラグ及び補助情報回復処理の具体例を示すフローチャートである。
【図36】
FIG.23は、双方向Qビット及びモーションフラグ回復処理の具体例におけるポストアンブルの使用を説明する図である。
【図37】
FIG.24a及びFIG.24bは、復号候補を評価する変形例を説明する図である。
【図38】
FIG.24cは、復号候補を評価する変形例を説明する図である。
【図39】
FIG.25は、本発明に基づく平滑度測定の具体例を示す図である。
【図40】
FIG.26a及びFIG.26bは、復号候補の評価法の他の具体例を説明する図である。
【図41】
FIG.26cは、復号候補の評価法の他の具体例を説明する図である。
【図42】
FIG.26d及びFIG26eは、復号候補の評価法の他の具体例を説明する図である。
【図43】
FIG.27aは、復号候補の評価処理の他の具体例を示す図である。
【図44】
FIG.27bは、重み付けに用いる重みを決定するための具体例を示す図である。
Applications Claiming Priority (17)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US95687097A | 1997-10-23 | 1997-10-23 | |
US95663297A | 1997-10-23 | 1997-10-23 | |
US95755597A | 1997-10-23 | 1997-10-23 | |
US08/957,555 | 1997-10-23 | ||
US08/956,870 | 1997-10-23 | ||
US08/956,632 | 1997-10-23 | ||
US255398A | 1998-01-02 | 1998-01-02 | |
US247098A | 1998-01-02 | 1998-01-02 | |
US254798A | 1998-01-02 | 1998-01-02 | |
US09/002,553 | 1998-01-02 | ||
US09/002,547 | 1998-01-02 | ||
US09/002,470 | 1998-01-02 | ||
US09/016,083 US6581170B1 (en) | 1997-10-23 | 1998-01-30 | Source coding to provide for robust error recovery during transmission losses |
US09/016,083 | 1998-01-30 | ||
US09/111,358 | 1998-07-06 | ||
US09/111,358 US6263108B1 (en) | 1997-10-23 | 1998-07-06 | Apparatus and method for recovery of lost/damaged data in a bitstream of data based on compatibility of adjacent blocks of data |
PCT/US1998/022440 WO1999021285A1 (en) | 1997-10-23 | 1998-10-23 | Apparatus and method for recovery of lost/damaged data in a bitstream of data based on compatibility |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2001521317A JP2001521317A (ja) | 2001-11-06 |
JP2001521317A5 true JP2001521317A5 (ja) | 2006-01-05 |
JP4558193B2 JP4558193B2 (ja) | 2010-10-06 |
Family
ID=27573875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000517491A Expired - Fee Related JP4558193B2 (ja) | 1997-10-23 | 1998-10-23 | データ受信方法及び装置、その受信データの回復処理装置並びに記録媒体 |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1025647B1 (ja) |
JP (1) | JP4558193B2 (ja) |
CN (1) | CN1108064C (ja) |
AU (1) | AU1116899A (ja) |
HK (1) | HK1034376A1 (ja) |
WO (1) | WO1999021285A1 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1025538B1 (en) * | 1997-10-23 | 2012-07-11 | Sony Electronics, Inc. | Apparatus and method for recovery of data in a lossy transmission environment |
US6163868A (en) | 1997-10-23 | 2000-12-19 | Sony Corporation | Apparatus and method for providing robust error recovery for errors that occur in a lossy transmission environment |
US6418548B1 (en) | 1999-02-12 | 2002-07-09 | Sony Corporation | Method and apparatus for preprocessing for peripheral erroneous data |
US7010737B2 (en) * | 1999-02-12 | 2006-03-07 | Sony Corporation | Method and apparatus for error data recovery |
US6493842B1 (en) * | 1999-06-29 | 2002-12-10 | Sony Corporation | Time-varying randomization for data synchronization and implicit information transmission |
US6549672B1 (en) * | 1999-06-29 | 2003-04-15 | Sony Corporation | Method and apparatus for recovery of encoded data using central value |
US6539517B1 (en) * | 1999-11-09 | 2003-03-25 | Sony Corporation | Data transformation for explicit transmission of control information |
JP4655171B2 (ja) * | 2000-02-14 | 2011-03-23 | ソニー株式会社 | 情報処理装置および方法 |
JP4517435B2 (ja) * | 2000-02-14 | 2010-08-04 | ソニー株式会社 | 情報処理装置および方法 |
WO2002071736A2 (en) * | 2001-03-05 | 2002-09-12 | Intervideo, Inc. | Systems and methods of error resilience in a video decoder |
US7817869B2 (en) * | 2004-05-07 | 2010-10-19 | Sony Corporation | Variable support robust transform for multiple description coding |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US492410A (en) * | 1893-02-28 | Alarm-bell | ||
DE3869475D1 (de) * | 1987-06-02 | 1992-04-30 | Siemens Ag | Verfahren zur ermittlung von bewegungsvektorfeldern aus digitalen bildsequenzen. |
KR100238133B1 (ko) * | 1993-05-31 | 2000-01-15 | 윤종용 | 영상전화기의 화상 복구 장치 및 방법 |
KR960012931B1 (ko) * | 1993-08-31 | 1996-09-25 | 대우전자 주식회사 | 분류 벡터 양자화된 영상의 채널 오류 은폐 방법 |
CN1127562A (zh) * | 1994-04-22 | 1996-07-24 | 索尼公司 | 视频信号编码方法及设备和视频信号译码设备 |
EP0721284B1 (en) * | 1995-01-09 | 2000-05-03 | Daewoo Electronics Co., Ltd | An image processing system using pixel-by-pixel motion estimation and frame decimation |
US5724369A (en) * | 1995-10-26 | 1998-03-03 | Motorola Inc. | Method and device for concealment and containment of errors in a macroblock-based video codec |
EP1025538B1 (en) * | 1997-10-23 | 2012-07-11 | Sony Electronics, Inc. | Apparatus and method for recovery of data in a lossy transmission environment |
-
1998
- 1998-10-23 AU AU11168/99A patent/AU1116899A/en not_active Abandoned
- 1998-10-23 JP JP2000517491A patent/JP4558193B2/ja not_active Expired - Fee Related
- 1998-10-23 CN CN98812599A patent/CN1108064C/zh not_active Expired - Fee Related
- 1998-10-23 WO PCT/US1998/022440 patent/WO1999021285A1/en active IP Right Grant
- 1998-10-23 EP EP98953916A patent/EP1025647B1/en not_active Expired - Lifetime
-
2001
- 2001-07-12 HK HK01104880A patent/HK1034376A1/xx not_active IP Right Cessation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2001521348A5 (ja) | ||
JP4190148B2 (ja) | 伝送時のデータ欠落によるエラーを強力に回復する原始コーディング | |
JP2003503917A (ja) | 圧縮パラメータに基づく疑似ランダムインタリーブ処理によるエラー対策 | |
JP4558190B2 (ja) | データ回復方法及び装置並びに記録媒体 | |
JP4558193B2 (ja) | データ受信方法及び装置、その受信データの回復処理装置並びに記録媒体 | |
JP2001521317A5 (ja) | ||
JP4558196B2 (ja) | データブロック生成方法及び装置並びに記録媒体 | |
JP2001521346A5 (ja) | ||
JP4558192B2 (ja) | 復号方法及び装置並びに記録媒体 | |
JP2001521305A5 (ja) | ||
JP4558191B2 (ja) | 破損データ回復方法及び装置、デジタル演算処理装置並びに記録媒体 | |
JP4558194B2 (ja) | 原始コーディング方法、デジタル信号処理装置及び分散装置並びに記録媒体 | |
JP4558195B2 (ja) | 符号化方法及び装置、復号方法及び装置、デジタル信号処理装置並びに記録媒体 | |
JP2001521345A5 (ja) | ||
JP2001521304A5 (ja) | ||
KR100579812B1 (ko) | 손실이 있는 송신 환경에서 강력한 에러 회복을 실행하기 위한 신호의 엔코딩 방법과 시스템, 데이터 디코딩 방법과 시스템, 디지털 프로세싱 시스템, 및 컴퓨터 판독 가능한 매체 |