(57)【特許請求の範囲】
【請求項１】
複数のマクロブロックから構成されているビデオパケットであって、上記複数のマクロブロックに含まれているデータの一部が、区切りを示すユニークワードの前段に多重化され、上記複数のマクロブロックに含まれている残りのデータが上記ユニークワードの後段に多重化されているビデオパケットを復号する復号手段と、上記ビデオパケットのヘッダに含まれている画像空間上の位置を示す位置情報を検出するとともに、上記ユニークワードの前段に多重化されているデータを調べて上記ビデオパケットを構成しているマクロブロックのブロック数を検出する検出手段と、上記検出手段により検出された位置情報とマクロブロックのブロック数に基づいて現在のビデオパケットと次のビデオパケットが画像空間上で連続しているか否かを調査する調査手段と、上記復号手段により誤りが検出されることなくビデオパケットの復号が完了し、かつ、上記調査手段の調査結果が現在のビデオパケットと次のビデオパケットが画像空間上で連続していない旨を示している場合、次のビデオパケットのヘッダ又は次のビデオパケットに続くビデオパケットのヘッダを再同期点に設定する再同期手段とを備えた動画像復号装置。
【請求項２】
複数のマクロブロックから構成されているビデオパケットであって、上記複数のマクロブロックに含まれているデータの一部が、区切りを示すユニークワードの前段に多重化され、上記複数のマクロブロックに含まれている残りのデータが上記ユニークワードの後段に多重化されているビデオパケットを復号する復号手段と、上記ビデオパケットのヘッダに含まれている画像空間上の位置を示す位置情報を検出するとともに、上記ユニークワードの前段に多重化されているデータを調べて上記ビデオパケットを構成しているマクロブロックのブロック数を検出する検出手段と、上記検出手段により検出された位置情報とマクロブロックのブロック数に基づいて現在のビデオパケットと次のビデオパケットが画像空間上で連続しているか否かを調査する調査手段と、上記復号手段によりビデオパケットが復号されているとき上記ユニークワードの後段に多重化されているデータの誤りが検出された場合、上記調査手段の調査結果が現在のビデオパケットと次のビデオパケットが画像空間上で連続していない旨を示していれば、上記ユニークワードの前段に多重化されているデータに含まれている動きベクトルを使用せずに、上記ユニークワードの後段に多重化されているデータの隠蔽処理を実行し、上記調査手段の調査結果が現在のビデオパケットと次のビデオパケットが画像空間上で連続している旨を示していれば、上記ユニークワードの前段に多重化されているデータに含まれている動きベクトルを使用して、上記ユニークワードの後段に多重化されているデータの隠蔽処理を実行する隠蔽手段とを備えた動画像復号装置。
【請求項３】
調査手段は、検出手段により検出された位置情報とマクロブロックのブロック数から現在のビデオパケットの終端位置を認識し、現在のビデオパケットの終端位置と、上記検出手段により検出された次のビデオパケットに係る位置情報が示す次のビデオパケットの位置とが、画像空間上で連続しているか否かを調査することを特徴とする請求項１または請求項２記載の動画像復号装置。
【請求項４】
復号手段が複数のマクロブロックから構成されているビデオパケットであって、上記複数のマクロブロックに含まれているデータの一部が、区切りを示すユニークワードの前段に多重化され、上記複数のマクロブロックに含まれている残りのデータが上記ユニークワードの後段に多重化されているビデオパケットを復号する復号ステップと、検出手段が上記ビデオパケットのヘッダに含まれている画像空間上の位置を示す位置情報を検出するとともに、上記ユニークワードの前段に多重化されているデータを調べて上記ビデオパケットを構成しているマクロブロックのブロック数を検出する検出ステップと、調査手段が上記検出手段により検出された位置情報とマクロブロックのブロック数に基づいて現在のビデオパケットと次のビデオパケットが画像空間上で連続しているか否かを調査する調査ステップと、再同期手段が上記復号手段により誤りが検出されることなくビデオパケットの復号が完了し、かつ、上記調査手段の調査結果が現在のビデオパケットと次のビデオパケットが画像空間上で連続していない旨を示している場合、次のビデオパケットのヘッダ又は次のビデオパケットに続くビデオパケットのヘッダを再同期点に設定する再同期ステップとを備えた動画像復号方法。
【請求項５】
復号手段が複数のマクロブロックから構成されているビデオパケットであって、上記複数のマクロブロックに含まれているデータの一部が、区切りを示すユニークワードの前段に多重化され、上記複数のマクロブロックに含まれている残りのデータが上記ユニークワードの後段に多重化されているビデオパケットを復号する復号ステップと、検出手段が上記ビデオパケットのヘッダに含まれている画像空間上の位置を示す位置情報を検出するとともに、上記ユニークワードの前段に多重化されているデータを調べて上記ビデオパケットを構成しているマクロブロックのブロック数を検出する検出ステップと、調査手段が上記検出手段により検出された位置情報とマクロブロックのブロック数に基づいて現在のビデオパケットと次のビデオパケットが画像空間上で連続しているか否かを調査する調査ステップと、隠蔽手段が上記復号手段によりビデオパケットが復号されているとき上記ユニークワードの後段に多重化されているデータの誤りが検出された場合、上記調査手段の調査結果が現在のビデオパケットと次のビデオパケットが画像空間上で連続していない旨を示していれば、上記ユニークワードの前段に多重化されているデータに含まれている動きベクトルを使用せずに、上記ユニークワードの後段に多重化されているデータの隠蔽処理を実行し、上記調査手段の調査結果が現在のビデオパケットと次のビデオパケットが画像空間上で連続している旨を示していれば、上記ユニークワードの前段に多重化されているデータに含まれている動きベクトルを使用して、上記ユニークワードの後段に多重化されているデータの隠蔽処理を実行する隠蔽ステップとを備えた動画像復号方法。
【請求項６】
調査ステップは、検出手段により検出された位置情報とマクロブロックのブロック数から現在のビデオパケットの終端位置を認識し、現在のビデオパケットの終端位置と、上記検出手段により検出された次のビデオパケットに係る位置情報が示す次のビデオパケットの位置とが、画像空間上で連続しているか否かを調査することを特徴とする請求項４または請求項５記載の動画像復号方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、各種国際標準の動画像圧縮・伸長方式に準拠したビデオデコーダの実装技術に関し、特に、ビットストリーム中に発生するビット誤りに対する耐性を強化する機能を有する動画像復号装置及び動画像復号方法に関するものである。
【０００２】
【従来の技術】
従来の動画像符号化方式、例えば、ＭＰＥＧ−２ビデオ（ＩＳＯ／ＩＥＣ  １３８１８−２）では、符号化データの復号中に誤りを検出した場合、スライスと呼ばれる複数のマクロブロック（輝度信号：１６×１６画素、色差信号：８×８画素をまとめた単位）単位で正常復号への復帰（再同期）が行えるようになっている。
【０００３】
スライス先頭のマクロブロックは、それ独自で画面中の絶対位置を求められるようになっており、ビットストリーム（符号化データ）上でスライスの先頭を示すスタートコード（スライススタートコード）を検出すれば、それ以降は正しい画面内位置から復号を再開できる。
【０００４】
画面内位置の決定にあたっては、スライスの画面内位置を示す情報（スライススタートコードの後半８ビットのデータ）が必要であるが、仮に、このビットフィールドにビット誤りが生じた場合、そのスライスは正しい位置に表示することが不可能となる。この状況は、直前のスライスとの不連続性を検出することで判断できる。
【０００５】
しかし、スライスの画面内位置は８ビットの固定長であって、そのどこかのビットが誤っても、値そのものは不正な値とみなすことが困難である。また、１スライスに含まれるマクロブロック数は、新たに検出されたスライスの先頭マクロブロックの位置を知ることによって初めて認識されるので、不連続が検出された場合、直前のスライス内で誤った復号同期の元で復号が継続された結果によるものなのか、新たに検出されたスライス先頭のマクロブロックの画面内位置が正しくないのかは、一意に判断することが困難である。
【０００６】
したがって、基本的には新たに検出されたスライスの先頭マクロブロックの位置を信じて復号を継続する、というような措置を取らざるを得ない。この場合、スライスの先頭マクロブロックの位置が誤っている場合は大きな画質劣化を生じる。
【０００７】
【発明が解決しようとする課題】
従来の動画像復号方法は以上のように構成されているので、符号化データの不連続が検出された場合、不連続の発生原因を問わず、新たに検出されたスライスの先頭マクロブロックの位置を再同期点に設定する以外になく、そのため、誤りに侵されていないマクロブロックを破棄してしなうことがあるなどの課題があった。
【０００８】
この発明は上記のような課題を解決するためになされたもので、不連続の発生原因に応じて適切な再同期点を設定し、誤りによる画質劣化を最小限に抑えることができる動画像復号装置及び動画像復号方法を得ることを目的とする。
また、この発明は、誤りによって損失したマクロブロックのデータを適切にコンシールメントすることができる動画像復号装置及び動画像復号方法を得ることを目的とする。
【０００９】
【課題を解決するための手段】
この発明に係る動画像復号装置は、復号手段により誤りが検出されることなくビデオパケットの復号が完了し、かつ、調査手段の調査結果が現在のビデオパケットと次のビデオパケットが画像空間上で連続していない旨を示している場合、次のビデオパケットのヘッダ又は次のビデオパケットに続くビデオパケットのヘッダを再同期点に設定する再同期手段を設けたものである。
【００１１】
この発明に係る動画像復号装置は、復号手段によりビデオパケットが復号されているときユニークワードの後段に多重化されているデータの誤りが検出された場合、調査手段の調査結果が現在のビデオパケットと次のビデオパケットが画像空間上で連続していない旨を示していれば、ユニークワードの前段に多重化されているデータに含まれている動きベクトルを使用せずに、ユニークワードの後段に多重化されているデータの隠蔽処理を実行し、調査手段の調査結果が現在のビデオパケットと次のビデオパケットが画像空間上で連続している旨を示していれば、ユニークワードの前段に多重化されているデータに含まれている動きベクトルを使用して、ユニークワードの後段に多重化されているデータの隠蔽処理を実行する隠蔽手段を設けたものである。
【００１２】
この発明に係る動画像復号装置は、検出手段により検出された位置情報とマクロブロックのブロック数から現在のビデオパケットの終端位置を認識し、現在のビデオパケットの終端位置と、検出手段により検出された次のビデオパケットに係る位置情報が示す次のビデオパケットの位置とが、画像空間上で連続しているか否かを調査する調査手段を設けたものである。
【００１５】
この発明に係る動画像復号方法は、復号手段により誤りが検出されることなくビデオパケットの復号が完了し、かつ、調査手段の調査結果が現在のビデオパケットと次のビデオパケットが画像空間上で連続していない旨を示している場合、次のビデオパケットのヘッダ又は次のビデオパケットに続くビデオパケットのヘッダを再同期点に設定する再同期ステップを設けたものである。
【００１７】
この発明に係る動画像復号方法は、復号手段によりビデオパケットが復号されているときユニークワードの後段に多重化されているデータの誤りが検出された場合、調査手段の調査結果が現在のビデオパケットと次のビデオパケットが画像空間上で連続していない旨を示していれば、ユニークワードの前段に多重化されているデータに含まれている動きベクトルを使用せずに、ユニークワードの後段に多重化されているデータの隠蔽処理を実行し、調査手段の調査結果が現在のビデオパケットと次のビデオパケットが画像空間上で連続している旨を示していれば、ユニークワードの前段に多重化されているデータに含まれている動きベクトルを使用して、ユニークワードの後段に多重化されているデータの隠蔽処理を実行する隠蔽ステップを設けたものである。
【００１８】
この発明に係る動画像復号方法は、検出手段により検出された位置情報とマクロブロックのブロック数から現在のビデオパケットの終端位置を認識し、現在のビデオパケットの終端位置と、検出手段により検出された次のビデオパケットに係る位置情報が示す次のビデオパケットの位置とが、画像空間上で連続しているか否かを調査する調査ステップを設けたものである。
【００２１】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態１．
この実施の形態１では、ＭＰＥＧ−４符号化方式により符号化されたビデオビットストリームを入力としてシンタックス解析・復号を実施するビデオデコーダ（動画像復号装置）において、再同期単位の画像データの間に不連続が生じた場合に的確に状況を判断して、適切な再同期を行う手法を開示する。
ここで、ＭＰＥＧ−４で符号化されたビデオビットストリームは、ＭＰＥＧ−４で規定されるデータパーティショニングの機能を用いて符号化されているものとする。データパーティショニングについて図1を用いて説明する。
【００２２】
まず、動画像系列の各フレーム（ＭＰＥＧ−４ではビデオオブジェクトプレーン、ＶＯＰと呼ばれる）は、“ビデオパケット”と呼ばれる再同期単位に分割される。
ここで、ビデオパケットとは、画像空間上では複数のマクロブロックの集まりを意味する。一方、ビットストリーム上では、ビデオパケットヘッダから始まり、複数のマクロブロックの符号化データをひとまとまりにした単位である。
【００２３】
データパーティショニングは、ビットストリーム上において、ビデオパケット中のマクロブロックデータのうち、重要度の高いデータをまとめてビットストリーム上に多重化し、所定のユニークワードを区切りとして重要度の低いデータを続けて多重化するシンタックス構造を指す。ＭＰＥＧ−４標準で規定するデータパーティショニングとは、上記のようなシンタックス構造によってビットストリームを構成すること、および同シンタックス構造を正確に解析してマクロブロックデータを復元することにある。誤りが生じた場合にデータパーティショニングをどのように活用するかは標準化の範囲外であり、誤りを生じた場合の復号結果はデコーダ実装に依存する。
【００２４】
この実施の形態１では、このデータパーティショニングの構造を活用したデコーダでの誤り対策技術を開示する。具体的には、２つの空間的に隣接するビデオパケットの間に不連続が生じたときに、再同期のポイントを適切に判断して無駄にデータを廃棄しないように制御する。
【００２５】
次のようなケースを考える。ビデオパケットヘッダの中には、ビデオパケット先頭のマクロブロックのＶＯＰ内での絶対位置情報（ｍａｃｒｏｂｌｏｃｋ＿ｎｕｍｂｅｒ）が含まれている。したがって、ビデオパケット先頭のマクロブロックの画面内位置は、ｍａｃｒｏｂｌｏｃｋ＿ｎｕｍｂｅｒだけを参照することで決定できる。
【００２６】
通常、画面上において、２つの隣接するビデオパケットは不連続であってはならない。しかし、誤りの影響により、ビデオパケット間に隙間が生じたり、ビデオパケットの先頭マクロブロックが逆戻りを起こして、直前のビデオパケットに属するマクロブロックを上書きしてしまうケースが発生し得る。画面上におけるこのようなビデオパケットの位置ずれは、本来正しい位置にあるべきマクロブロックデータが異なる位置に表示されるため、主観画質上、極めて劣悪な画質劣化を引き起こす。従って、このような誤りによる画質劣化を極力抑えることは極めて重要となる。
【００２７】
このような状況は、図２に示されるようなケースで発生し得る（隙間が生じる場合を示す）。第１のケースは、直前のビデオパケットｎ−１の途中で誤りが発生しても、それが誤りとして検出されず、可変長符号の同期が外れたまま復号を継続することにより、本来ビデオパケットｎ−１の中に含まれるマクロブロックの数よりも少ないマクロブロック数で復号を終えてしまうケースである。
この場合、ビデオパケットｎの先頭マクロブロックの絶対位置情報Ｐ（１，ｎ）が正しく復号されたとしても、ビデオパケットｎ−１の最終マクロブロックとの間に隙間が生じることになる。
【００２８】
もう１つのケースは、ビデオパケットｎの先頭マクロブロックの絶対位置情報Ｐ（１，ｎ）が誤りに侵されるケースである。
一般にビデオパケット間の不連続が生じた場合、この２つのケースのどちらかが考えられるが、その原因を特定することは難しい。通常はこのような不連続が発生した場合は、最新のビデオパケットｎの情報を信じて不連続を容認したまま復号を継続するか、または、さらに次の新しいビデオパケットｎ＋１で再同期をかけて復帰するかの措置を取ることになる。
【００２９】
この両者には次のような欠点がある。
前者は不連続を認めたまま復号を継続するため、Ｐ（１，ｎ）が誤っていた場合は、ビデオパケットｎを不正な位置に表示することになる。
後者の場合、Ｐ（１，ｎ）が正しかった場合には、誤りに侵されていないビデオパケットｎをそっくりそのまま廃棄してしまうことになる。
【００３０】
この実施の形態１では、データパーティショニングされたビットストリームを用いて、上記のようなビデオパケット間に生じる不連続エラーに関し、どこで誤りが生じているかを的確に判断して、適切な再同期判断を行う方法とその装置について説明する。
【００３１】
（１）検出方法
データパーティショニングシンタックスの場合、ユニークワードの前後にビデオパケット内に含まれるマクロブロック数分のデータを固めてあるので、ユニークワードの手前で、ビデオパケット内に含まれるマクロブロックの数を認識することが可能である。
【００３２】
例えば、ビデオパケットｎ−１において、ユニークワードまでにカウントされたマクロブロック数をＫn-1 とする。従って、ビデオパケット間に不連続が生じるのは、以下の条件が満たされる場合である。
Ｐ（１，ｎ）≠Ｐ（１，ｎ−１）＋Ｋn-1                       （１）
図２の隙間の場合は、
Ｐ（１，ｎ）＞Ｐ（１，ｎ−１）＋Ｋn-1 
であり、図には示していないが、ビデオパケットｎ−１とビデオパケットｎとが重なりあってしまう場合は、
Ｐ（１，ｎ）＜Ｐ（１，ｎ−１）＋Ｋn-1 
という関係になる。何れの場合も不連続とみなすことができるが、説明上は全く同等に扱えるため、以下では隙間が生じる場合についてのみ説明する。
【００３３】
ここで、Ｐ（１，ｎ）は常に正しく検出されているものと考えると、この条件が成り立つのは、Ｐ（１，ｎ）が誤っているか、Ｋn-1 が誤っているか、あるいは両者が誤っているかの何れかの場合である。
データパーティショニングを用いない場合は、ビデオパケットｎが現れて初めてＫn-1 が決定されるため、Ｋn-1 が誤っているか否かを判定することは不可能である。
しかし、データパーティショニングを用いている場合、ユニークワードの前で誤り検出をしない限り、Ｋn-1 が予め決定されることになり、これによってビデオパケットｎの先頭位置を求めることができる。これを再同期ポイントの判断に用いる。
【００３４】
即ち、ビデオパケットｎ−１の終端において明示的に誤りが検出されない場合、Ｋn-1 を正しく復号された値とみなす。ここで、「ビデオパケットｎ−１の終端において検出される誤り」とは、Ｋn-1 の分だけ復号を終了したにも拘わらず、まだビデオパケットｎの先頭が見つからないケースと、Ｋn-1 の分だけ復号を終了していないのにビデオパケットｎの先頭が検出されてしまうケースを指す。
【００３５】
万が一の可能性として、Ｋn-1 が明示的な誤りを検出することなく不正な値として復号された場合（可変長符号の同期が外れてもたまたま誤りを検出せずに復号が継続されることがあり得る）に、ユニークワード以降のデータがそれに応じて不正な復号同期状態で誤りを検出することなく復号されてしまう可能性もあるが、これは極めて発生頻度の少ない誤り状態である。
【００３６】
通常はＫn-1 が正しく復号されなかったケースでは、ユニークワード以降のデータ領域において何らかの誤りが検出されるか、ビデオパケットｎ−１の終端でつじつまが合わなくなることが多い。したがって、何ら誤り検出がなされずにビデオパケットｎの先頭を検出した場合は、Ｋn-1 の値は極めて信頼性の高いデータであると考えることができる。逆に、ビデオパケットｎ−１の終端において何らかの誤りが検出される場合、Ｋn-1 の値に対する信頼性が低下する。以上のことから、次のような判定基準を設けることができる。
【００３７】
「ビデオパケットｎ−１の終端まで明示的な誤りを検出しなかった場合において、ビデオパケットｎ−１とビデオパケットｎとの間に不連続が生じた場合、Ｐ（１，ｎ）のデータが不正である」
これは一見、常識的な判定基準と思われるが、この実施の形態１におけるこの判定基準は、ビデオパケット間の不連続の原因を、所定の条件が満たされる場合にほぼ確定できるという点が従来技術と異なる。
【００３８】
（２）装置による実現
図３はこの発明の実施の形態１による動画像復号装置を示す構成図であり、図において、１はＭＰＥＧ−４ビデオ符号化のビットストリームを受信すると、ＭＰＥＧ−４標準で規定されるビットストリームシンタックスにしたがってビットストリームを解析し、符号化データを復元する可変長復号部、２はビデオデータの上位レイヤの開始点を検出するスタートコード検出部（検出手段）、３はレイヤ指示信号の示すレイヤデータを解析して、符号化データを復号するとともに、その符号化データの復号異常を検出するシンタックス解析部（復号手段、検出手段、調査手段）、４は再同期点を設定する再同期点判定部（再同期手段）である。
【００３９】
５は量子化済みのＤＣＴ係数データを逆量子化する逆量子化部、６はＤＣＴ係数データについて逆ＤＣＴ処理を施し、周波数領域のデータから画像空間上のデータを復元する逆ＤＣＴ部、７はマクロブロック単位の動きベクトルを参照して、予測画像を生成する動き補償部、８は逆ＤＣＴ部６から出力される予測残差信号に予測画像を加算して、マクロブロック単位の復号画像を生成する復号加算部、９は復号画像を格納するメモリである。
【００４０】
次に動作について説明する。
まず、可変長復号部１は、ＭＰＥＧ−４ビデオ符号化のビットストリームを受信すると、ＭＰＥＧ−４標準で規定されるビットストリームシンタックスにしたがってビットストリームを解析し、符号化データを復元する（可変長復号部１の詳細動作は後述する）。
【００４１】
符号化データのうち、量子化されたＤＣＴ係数データ及び量子化パラメータは逆量子化部５に送られ、逆量子化部５において逆量子化処理がなされて、逆量子化済みのＤＣＴ係数データが逆ＤＣＴ部６に送られる。
逆ＤＣＴ部６はＤＣＴ係数データについて逆ＤＣＴ処理を施し、周波数領域のデータから画像空間上のデータを復元する。これは一般に予測残差信号として復号加算部８に送られる。
【００４２】
逆量子化部５〜逆ＤＣＴ部６までの処理はマクロブロックをさらに８画素×８ラインのブロックに分割した単位で実施され、復号加算部８には、１つのマクロブロックに含まれる輝度成分４ブロック、色差成分２ブロック（Ｃｂ、Ｃｒ分）の予測残差信号が送られた時点で、動き補償部７から送られる予測画像を加算して最終的な復号画像をマクロブロック単位に生成する。
【００４３】
動き補償部７は、可変長復号部１から各マクロブロック単位に動きベクトルなどの動きに関するデータが送られるので、このデータを参照して、メモリ９から動きに対応する画像データ（１フレーム前の復号画像）を取り出して、予測画像として出力する。
【００４４】
復号加算部８では、当該マクロブロックの符号化モードによって加算処理を切り替える。仮に、当該マクロブロックがイントラ（フレーム内）符号化されている場合は、予測残差信号をそのまま復号画像として出力する。
一方、当該マクロブロックがインター（フレーム間動き補償予測）符号化されたことを示す場合は、予測残差信号と予測画像を加算した画像データを復号画像として出力する。復号画像は、次のフレームの復号に用いられるため、メモリ９に書き込まれる。
【００４５】
以下、（１）で述べた検出方法を実現する可変長復号部１について説明する。図４は可変長復号部１の処理を示すフローチャートである。
まず、可変長復号部１は、ビットストリームを受信すると、スタートコード検出部２がビデオデータの上位レイヤの開始点を検出する（ステップＳＴ１）。
なお、ＭＰＥＧ−４のビデオデータのレイヤ構造を図５に示す。
【００４６】
スタートコードは、図５のＶＯ（ビデオオブジェクト）からＶＰ（ビデオパケット）までの各レイヤのデータ開始点を指示するユニークワードである。スタートコード検出部２は、図５のレイヤ構造にしたがって順次スタートコードを検出する。スタートコードが検出されると、ビットストリームはレイヤ指示信号とともにシンタックス解析部３に送られ、シンタックス解析部３がレイヤ指示信号の示すレイヤデータを解析し、符号化データを抽出する（ステップＳＴ２）。
【００４７】
また、シンタックス解析部３は、内部に復号異常を検出する誤り検出機構を備えるが、不正な符号化データを見つけた場合、復号同期が外れて復号を継続不可能になった場合などが典型的な誤り検出のポイントになる。この実施の形態１におけるシンタックス解析部３は、このような典型的な検出ポイントに加え、特に、（１）で述べた誤り検出の機構を備えるものとする（下記のＥ１〜Ｅ３を参照）。
【００４８】
Ｅ１：ビデオパケットの終端において、次のビデオパケットとの間に空間的不連続が存在する
Ｅ２：ビデオパケットの終端において、次のビデオパケットヘッダが正しく検出されない
Ｅ３：ビデオパケットの終端に達する前に、次のビデオパケットヘッダが検出される
【００４９】
上記の３つのケースは、何れもビデオパケットの終端もしくは次のビデオパケットヘッダが検出されるまで、他の誤り検出ポイントによって明示的に誤りが検出されなかった場合のみを対象とする。
なお、誤りに対する再同期ポイントの決定は、再同期点判定部４において行われる。再同期点判定部４は、シンタックス解析部３からの誤り検出指示信号（誤りの種類も含むものとする）によって起動する。
【００５０】
まず、Ｅ３の誤りを検出した場合（ステップＳＴ３）は、現在のビデオパケットに含まれるマクロブロック数に対する信頼性が低いため、新たに検出されたビデオパケット（図４中では「現ビデオパケット」と記載）をそのまま信頼して復号を継続する（ステップＳＴ４）。この場合、再同期点判定部４は何も処理を行わない。
【００５１】
Ｅ３が検出されずに現在のビデオパケットの終端に達したとき、次のビデオパケットヘッダが正常に見つからず、Ｅ２の誤りを検出した場合（ステップＳＴ５）は、再同期点判定部４において、次に現れるビデオパケットヘッダを再同期点として判定し、それを再同期点指示信号によりスタートコード検出部２に通知することにより再同期点をサーチする。そして、最も早く検出したビデオパケットヘッダから正常復号に復帰する（ステップＳＴ６）。
なお、ビデオパケットヘッダのサーチは再同期マーカ（＝ビデオパケットに対応するスタートコード）の検出に相当する。
【００５２】
以上のＥ２，Ｅ３を検出しなかったという前提の元で、次のビデオパケットヘッダを検出した場合、現ビデオパケットの先頭マクロブロックの位置情報Ｐ（１，ｎ−１）と当該ビデオパケットに含まれるマクロブロック数Ｋn-1 、および新たに検出されたビデオパケットの先頭マクロブロックの絶対位置情報Ｐ（１，ｎ）とから、Ｅ１の有無が検出される（ステップＳＴ７）。
【００５３】
ここで、Ｅ１が検出された場合は、高い確率でＰ（１，ｎ）が不正であると判断し、さらに次のビデオパケットをサーチする。もしくは、Ｐ（１，ｎ）とＫn-1 によって得られる先頭マクロブロック位置を信頼して復号を継続するかのいずれかの処置を施す（ステップＳＴ８）。
この場合は、かなりの確率でＰ（１，ｎ）が不正であると考えられるため、新たにビデオパケットをサーチするより、同ビデオパケットを信頼して位置だけを修正して復号を継続することにより良好な結果が期待できる。
なお、Ｅ１が検出されない場合は、現ビデオパケットヘッダで復号を継続する（ステップＳＴ９）。
【００５４】
以上で明らかなように、この実施の形態１によれば、符号化データの誤りを検出することなく復号を完了し、その符号化データ間の不連続の発生を検出すると、次の符号化データに続く符号化データの先頭位置等を再同期点に設定するように構成したので、不連続の発生原因に応じて適切な再同期点を設定することが可能になり、その結果、誤りによる画質劣化を最小限に抑えることができる効果を奏する。
即ち、従来技術では、ビデオパケット間の不連続エラーについては原因の一意的な特定が困難であったのに対し、この実施の形態１によれば、高い信頼性で原因の特定が可能である。
【００５５】
実施の形態２．
この実施の形態２では、上記実施の形態１と同様に、データパーティショニングシンタックスによってビデオパケット内のマクロブロック数が前もって決定されることを利用して、適切なエラーコンシールメントを行うＭＰＥＧ−４ビデオデコーダについて説明する。
【００５６】
（１）適応判定方法
図６を用いてこの実施の形態２における工夫について説明する。
上記実施の形態１で述べた通り、データパーティショニングシンタックスの場合、ビデオパケットｎ−１に含まれるマクロブロック数Ｋn-1 は、ビデオパケットｎ−１内のユニークワードの検出前までで決定される。さらに、ビデオパケットｎ−１／ｎの先頭マクロブロック位置Ｐ（１，ｎ−１）／Ｐ（１，ｎ）によれば、実施の形態１に述べた（１）式によりビデオパケット間の不連続を認識することができる。
【００５７】
ここで、不連続とは、上記実施の形態１でも述べたように、ビデオパケットｎ−１とビデオパケットｎとの間に空間的な隙間が生じる場合と、ビデオパケットｎ−１とビデオパケットｎとが空間的に重なる場合とがある。
この実施の形態２におけるビデオデコーダは、このようなビデオパケット間の不連続の有無に基づいて、ビデオパケットｎ−１の復号過程で検出されたエラーに対し、コンシールメント処理を適応的に切り替える手段を備える。
ただし、ビデオパケットｎ−１の復号過程で検出されるエラー（×印）は、ユニークワード以降で検出されるものを対象とする（ユニークワード以前でエラーが検出される場合は、Ｋn-1 が決定できない）。ビデオパケットｎは、当該エラーに対して再同期をかけた結果として得られるものとする。
【００５８】
以下の2つのケースを考える。
［Ｃａｓｅ１］ビデオパケットｎ−１とビデオパケットｎの間に不連続が存在する場合
この場合、Ｋn-1 とＰ（１，ｎ−１）／Ｐ（１，ｎ）との関係が（１）式のようになるので、Ｋn-1 の正当性が保証されない。即ち、動きベクトルなど重要度の高いデータ領域に誤りが存在する可能性がある。したがって、ビデオパケットｎ−１に含まれる全てのマクロブロックを重要度の高いデータを使わずにコンシールメント処理する。
【００５９】
［Ｃａｓｅ２］ビデオパケットｎ−１とビデオパケットｎの間に不連続が存在しない場合
この場合、Ｋn-1 の正当性がほぼ保証される。即ち、動きベクトルなど重要度の高いデータ領域には誤りが存在しないと判断することができる。したがって、ビデオパケットｎ−１に含まれる全てのマクロブロックを重要度の高いデータを活用してコンシールメント処理する。
【００６０】
（２）装置による実現
この実施の形態２におけるビデオデコーダ（動画像復号装置）は、図３における可変長復号部１のシンタックス解析部３及び再同期点判定部４が異なるので、その部分についてのみ説明する。
【００６１】
図７はシンタックス解析部３の内部を詳細に示した構成図であり、図において、１１は正常復号状態でビットストリームから符号化データを抽出する他、復号異常を検出してそれに応じて周辺を制御するビットストリーム解析部、１２はデータパーティショニングシンタックス構造のため、一つのビデオパケット分の動きベクトル（暫定動きベクトル）を蓄積する動きベクトルバッファ、１３はヘッダ内の先頭マクロブロック位置情報Ｐ（１，ｎ＋１）を復号し、Ｐ（１，ｎ）とＫｎ とを用いてビデオパケットｎとビデオパケットｎ＋１との間の不連続性を検証するビデオパケット間不連続識別部、１４は不連続が検出されると、暫定動きベクトルを出力するエラー隠蔽処理部、１５は動きベクトルバッファ１２から出力された暫定動きベクトル又はエラー隠蔽処理部１４から出力された暫定動きベクトルの何れか一方を動きデータとして出力するスイッチである。
なお、図８はシンタックス解析部３の処理を示すフローチャートである。
【００６２】
次に動作について説明する。
ビットストリーム解析部１１は、正常復号状態でビットストリームから符号化データを抽出する他、復号異常を検出して、それに応じて周辺を制御する機能を備えるものとする。正常復号状態で復号を継続している場合は、上位レイヤのヘッダデータ（これらヘッダデータの多くはマクロブロック単位の符号化データの抽出に利用されるため、ビットストリーム解析部１１の内部で利用される）やマクロブロック単位の量子化済みＤＣＴ係数データ、量子化パラメータ、動きデータなどを抽出して出力する（ステップＳＴ２）。
【００６３】
なお、動きデータについては出力の手順がやや特別なので、ここで説明しておくことにする。動きデータの出力は、実際には動きベクトルバッファ１２から行われる。動きベクトルバッファ１２は、データパーティショニングシンタックス構造のため、ひとつのビデオパケット分の動きベクトルを蓄積しておくためのものである。ビデオパケットのユニークワード以前のデータを解析することにより、ビデオパケットに含まれるマクロブロック分（すべてが動き補償予測で符号化されたマクロブロックである場合を仮定）の動きベクトルが動きベクトルバッファ１２に格納される。
各動きベクトルは、ビットストリーム解析部１１において、ユニークワード以降のデータを１マクロブロック復号するごとに、出力指示信号により動きデータとして動き補償部７に送出される。
【００６４】
ここで、ビデオパケットｎ内のユニークワードの後で誤りを検出した場合（ステップＳＴ１１）について考える。この時、ビデオパケットｎに含まれるマクロブロック数Ｋｎ はすでに決定されている。
まず、次のビデオパケットｎ＋１のヘッダをサーチし、そこで再同期をかける（ステップＳＴ１２）。再同期のメカニズムは、ビットストリーム解析部１１が、誤り検出指示信号を出力し、これによって再同期点判定部４がビデオパケットｎ＋１のヘッダを再同期ポイントに設定してスタートコード検出部２で再同期マーカを検出するという手順になる。
【００６５】
次いで、ヘッダ内の先頭マクロブロック位置情報Ｐ（１，ｎ＋１）を復号し、Ｐ（１，ｎ）とＫｎ とを用いてビデオパケットｎとビデオパケットｎ＋１との間の不連続性を検証する（ステップＳＴ１３）。この検証は、図７中のビデオパケット間不連続識別部１３で行われる。Ｐ（１，ｎ＋１），Ｐ（１，ｎ）及びＫｎ は、ビデオパケット間不連続識別部１３に送られる。
【００６６】
不連続が存在すると判断された場合は、Ｋｎ の値は信頼性が低いとみなし、ビデオパケットｎの中のすべてのマクロブロック領域を動きベクトルを用いずにエラーコンシールメント処理する（ステップＳＴ１４）。このコンシールメント処理は、ビデオパケット間不連続識別部１３から出力される不連続識別信号によってエラー隠蔽処理部１４が起動されることによって行われる。
【００６７】
エラー隠蔽処理部１４は、ビデオパケット間不連続識別部１３で不連続が検出された場合、暫定動きベクトルをゼロにセットしてスイッチ１５に送る。
スイッチ１５は、不連続識別信号が「不連続」を示している場合は、ビデオパケット間不連続識別部１３から出力された暫定動きベクトルを動きデータとして出力する。
【００６８】
一方、不連続が認められなかった場合、Ｋｎ の値は信頼性が高いとみなし、ビデオパケットｎの中のすべてのマクロブロック領域を動きベクトルバッファ１２に格納されている動きベクトルを用いてエラーコンシールメント処理する（ステップＳＴ１５）。この場合は、エラー隠蔽処理部１４は、動きベクトルバッファ１２中から順次動きベクトルを出力させ、これを暫定動きベクトルとしてスイッチ１５に送る。
スイッチ１５は、不連続識別信号が「不連続でない」を示している場合は、動きベクトルバッファ１２から出力された暫定動きベクトルを動きデータとして出力する。
【００６９】
また、不連続が認められる場合は、ビットストリーム解析部１１は、ビデオパケットｎ中の全ての量子化済みＤＣＴ係数データをゼロにセットして送出し、不連続が認められない場合は、ビデオパケットｎ中の誤り検出後のマクロブロック分の量子化済みＤＣＴ係数データをゼロにセットして送出するものとする。
以上の動作に基づいて、可変長復号部１以降のビデオデコーダブロックが通常復号の処理と同様の処理を継続することにより、適切にエラーコンシールメントが実行される。
【００７０】
ＭＰＥＧ−４標準によれば、データパーティショニングシンタックス構造の場合、ビデオパケットｎ−１のユニークワード以降で生じた誤りについては、常にＫn-1 を信頼して動きベクトルを利用したコンシールメントを行うことを推奨しているが、Ｋn-1 が信頼できない場合、このようなエラーコンシールメント処理は却って大きな画質劣化を引き起こす可能性がある。この実施の形態２によれば、ビデオパケット間の不連続性を併用することによって、Ｋn-1 の信頼性を確認した上でエラーコンシールメントを実施するので、より的確なコンシールメントを行うことが可能となる。
【００７１】
【発明の効果】
以上のように、この発明によれば、復号手段により誤りが検出されることなくビデオパケットの復号が完了し、かつ、調査手段の調査結果が現在のビデオパケットと次のビデオパケットが画像空間上で連続していない旨を示している場合、次のビデオパケットのヘッダ又は次のビデオパケットに続くビデオパケットのヘッダを再同期点に設定する再同期手段を設けるように構成したので、不連続の発生原因に応じて適切な再同期点を設定することが可能になり、その結果、誤りによる画質劣化を最小限に抑えることができる効果がある。
【００７３】
この発明によれば、復号手段によりビデオパケットが復号されているときユニークワードの後段に多重化されているデータの誤りが検出された場合、調査手段の調査結果が現在のビデオパケットと次のビデオパケットが画像空間上で連続していない旨を示していれば、ユニークワードの前段に多重化されているデータに含まれている動きベクトルを使用せずに、ユニークワードの後段に多重化されているデータの隠蔽処理を実行し、調査手段の調査結果が現在のビデオパケットと次のビデオパケットが画像空間上で連続している旨を示していれば、ユニークワードの前段に多重化されているデータに含まれている動きベクトルを使用して、ユニークワードの後段に多重化されているデータの隠蔽処理を実行する隠蔽手段を設けるように構成したので、誤りによって損失したマクロブロックのデータを適切にコンシールメントすることができる効果がある。
【００７４】
この発明によれば、検出手段により検出された位置情報とマクロブロックのブロック数から現在のビデオパケットの終端位置を認識し、現在のビデオパケットの終端位置と、検出手段により検出された次のビデオパケットに係る位置情報が示す次のビデオパケットの位置とが、画像空間上で連続しているか否かを調査する調査手段を設けるように構成したので、簡単に不連続の発生を検出することができる効果がある。
【００７７】
この発明によれば、復号手段により誤りが検出されることなくビデオパケットの復号が完了し、かつ、調査手段の調査結果が現在のビデオパケットと次のビデオパケットが画像空間上で連続していない旨を示している場合、次のビデオパケットのヘッダ又は次のビデオパケットに続くビデオパケットのヘッダを再同期点に設定する再同期ステップを設けるように構成したので、不連続の発生原因に応じて適切な再同期点を設定することが可能になり、その結果、誤りによる画質劣化を最小限に抑えることができる効果がある。
【００７９】
この発明によれば、復号手段によりビデオパケットが復号されているときユニークワードの後段に多重化されているデータの誤りが検出された場合、調査手段の調査結果が現在のビデオパケットと次のビデオパケットが画像空間上で連続していない旨を示していれば、ユニークワードの前段に多重化されているデータに含まれている動きベクトルを使用せずに、ユニークワードの後段に多重化されているデータの隠蔽処理を実行し、調査手段の調査結果が現在のビデオパケットと次のビデオパケットが画像空間上で連続している旨を示していれば、ユニークワードの前段に多重化されているデータに含まれている動きベクトルを使用して、ユニークワードの後段に多重化されているデータの隠蔽処理を実行する隠蔽ステップを設けるように構成したので、誤りによって損失したマクロブロックのデータを適切にコンシールメントすることができる効果がある。
【００８０】
この発明によれば、検出手段により検出された位置情報とマクロブロックのブロック数から現在のビデオパケットの終端位置を認識し、現在のビデオパケットの終端位置と、検出手段により検出された次のビデオパケットに係る位置情報が示す次のビデオパケットの位置とが、画像空間上で連続しているか否かを調査する調査ステップを設けるように構成したので、簡単に不連続の発生を検出することができる効果がある。
【図面の簡単な説明】
【図１】  ＭＰＥＧ−４ビデオデータのパーティショニングシンタックスを説明する説明図である。
【図２】  ビデオデコーダが対象とする誤り状況を説明する説明図である。
【図３】  この発明の実施の形態１による動画像復号装置を示す構成図である。
【図４】  可変長復号部１の処理を示すフローチャートである。
【図５】  ＭＰＥＧ−４ビデオデータのレイヤ構造を示す構造図である。
【図６】  ビデオデコーダが対象とする誤り状況を説明する説明図である。
【図７】  シンタックス解析部３の内部を詳細に示した構成図である。
【図８】  シンタックス解析部３の処理を示すフローチャートである。
【符号の説明】
２  スタートコード検出部（検出手段）、３  シンタックス解析部（復号手段、検出手段、調査手段）、４  再同期点判定部（再同期手段）。
【図１】
0003907860.tif 000002
【図２】
0003907860.tif 000003
【図３】
0003907860.tif 000004
【図４】
0003907860.tif 000005
【図５】
0003907860.tif 000006
【図６】
0003907860.tif 000007
【図７】
0003907860.tif 000008
【図８】
0003907860.tif 000009