(57)【要約】【課題】ＭＰＥＧ方式の画像データを復号するときに、画質の劣化の少ないエラー隠蔽方法を実現する。【解決手段】エラー判定部２５は、スライス先頭のマクロブロック位置から、エラーを検出したマクロブロック位置までの各マクロブロックのデータの平均値と、近接するマクロブロックの平均値との差分絶対値を算出する。算出した差分絶対値が予め設定してある閾値より大きいか否かを判定し、差分絶対値が閾値より大きいマクロブロック位置を真の復号エラー発生位置と判定する。予測処理部２３はエラー発生位置以降の画像データを隣接するマクロブロックの画像データで置き換えてエラーを隠蔽する。【選択図】図１
2007267009.tif 000002
【特許請求の範囲】
【請求項１】
ＭＰＥＧ方式で符号化されたビットストリームを復号するときのエラー隠蔽方法であって、
前記ビットストリームのマクロブロック単位のデータの平均値をマクロブロックの代表値として記憶手段に保持し、
復号エラーを検出した場合に、スライス先頭のマクロブロック位置から復号エラーを検出したマクロブロック位置までの間の各マクロブロックの代表値と比較対象マクロブロックの代表値との差分絶対値を算出し、
算出した差分絶対値が所定の閾値より大きいマクロブロック位置を真の復号エラー発生位置として検出し、
前記真の復号エラー発生位置からスライスの終端までの期間を対象にエラー隠蔽処理を行うエラー隠蔽方法。
【請求項２】
各マクロブロックの直上及び直下に位置するマクロブロックのデータの平均値を、前記比較対象マクロブロックの代表値として設定する請求項１記載のエラー隠蔽方法。
【請求項３】
各マクロブロックの直上、直下及び左隣のマクロブロックのデータの平均値を、エラー判定の基準となる前記対象マクロブロックの代表値として設定する請求項１記載のエラー隠蔽方法。
【請求項４】
ＭＰＥＧ方式で符号化されたビットストリームを復号する画像データ復号装置であって、
前記ビットストリームのマクロブロック単位のデータの平均値を算出する平均値算出手段と、
前記平均値算出手段により算出された平均値を各マクロブロックの代表値として保持する記憶手段と、
マクロブロックの復号エラーを検出するエラー検出手段と、
前記エラー検出手段により復号エラーが検出された場合に、スライス先頭のマクロブロック位置から復号エラーを検出したマクロブロック位置までの間の各マクロブロックの代表値と比較対象マクロブロックの代表値との差分絶対値を算出する差分算出手段と、
前記差分絶対値が所定の閾値より大きいマクロブロック位置を真の復号エラー発生位置として検出する復号エラー発生位置検出手段と、
前記真の復号エラー発生位置からスライスの終端までのデータを所定のマクロブロックのデータで置き換えてエラーを隠蔽するエラー隠蔽手段とを備える画像データ復号装置。
【請求項５】
ＭＰＥＧ方式で符号化されたビットストリームを復号する画像データ復号装置であって、
復号された複数の画像データの中の一の画像データについて、該一の画像データの近傍の画像データから、あるいは該一の画像データの存在するフレームよりも１つ前のフレーム内の同位置の画像データから、該一の画像データの復号結果が誤りか否かを判別する判別手段を有することを特徴とする画像データ復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化された画像データを復号して表示するときのエラー隠蔽方法及び画像データ復号装置に関する。
【背景技術】
【０００２】
ＤＶＤなどに記録されたＭＰＥＧ方式の画像データを復号装置で早送り再生する場合、ビットストリームの断片が復号装置に供給されることにより、本来とは異なる画像が表示されるという問題がある。そのような問題を解決するために、特許文献１には、復号処理中に誤りを検出した場合に、ＭＰＥＧストリームの現在の復号位置より復号済みの方向に所定ビット数だけ遡って復号を行うことにより復号誤りを減らすことが記載されている。
【０００３】
ところで、入力するビットストリームには伝送路上でエラーが混入することがあり、エラーが混入したビットストリームをそのまま復号すると、エラーを含む画像が表示されるので画質が劣化してしまう。そのため復号装置にはエラー隠蔽機能(エラーコンシール機能)が設けられている。
【０００４】
特許文献２には、エラー隠蔽処理が施されたピクチャの再生画像の画質を改善するため、エラーが検出された領域に動き補償予測により得られる予測画像が含まれる場合には、予測画像を平滑化することが記載されている。
【０００５】
また、特許文献３には、ビットストリームを復号するときに、符号化パラメータを有効に用いることができるか否かを示すエラーフラグを生成する手段を設けることが記載されている。これにより、エラーフラグが生成されているときには、符号化パラメータの計算を行い、その計算により得られた符号化パラメータを用いて画像データの符号化を行うことで画質の劣化を防止することができる。
【０００６】
図１１は、エラー隠蔽機能を有する従来のビデオ復号装置１１のブロック図である。入力したビットストリームはビデオ復号処理部１２で画像データに復号され、予測処理部１３によりピクチャ単位でフレームメモリ１４に格納される。ビデオ復号処理部１２は、ビットストリームのエラー検出を行い、エラー検出時にエラー情報をエラー判定部１５に出力する。
【０００７】
エラー判定部１５は、エラー情報を受信するとエラー検出位置を含む隠蔽アドレス情報を予測処理部１３に出力し、予測処理部１３が隠蔽アドレス情報に基づいて復号画像の所定領域の画像データの隠蔽処理を行う。
【０００８】
エラー隠蔽処理としては、エラーを検出したマクロブロック位置から次のスタートコードまでの間、もしくはエラーを検出したマクロブロックを含むスライスの先頭マクロブロック位置から次のスタートコードまでの間の復号画像を、エラーが発生していない前後のフレームの画像と入れ替えて復号画像に画質劣化が生じないようにしている。
【０００９】
しかしながら上記のエラー隠蔽方法では、エラー発生領域を完全に隠蔽することが難しい。その理由は、復号装置で検出されるエラー検出箇所が必ずしもビットストリーム上の正確なエラー混入位置ではないからである。復号エラーと判定する条件として、可変長符号テーブルのデータとの不一致や、復号処理後の各パラメータ値が制約範囲内に納まっているか等の条件が用いられるが、エラーの混入状態によっては、可変長符号テーブルで不一致が検出されず、かつ各パラメータ値も制約範囲内に納まってしまうような場合が多々発生する。
【００１０】
図１２は、従来のエラー隠蔽処理におけるエラー隠蔽領域を示す図である。図１２（Ａ）は本来の画像であり、図１２（Ｂ）は、ビットストリームに混入したエラーにより縦の棒状の図形の一部がずれて表示された状態である。図１２（Ｂ）において、二重丸は、エラー隠蔽処理により検出されるエラー検出位置を示し、星印は実際にエラーが混入した位置を示す。
【００１１】
図１２（Ｃ）は、二重丸で示すエラー検出位置以降の領域に対してエラー隠蔽処理を行った場合の表示画像を示す図である。図１２（Ｃ）において斜線で示す領域がエラー隠蔽領域である。この場合、実際のエラー発生位置は、エラー検出位置より前方（図１２（Ｃ）の正面から見てエラー検出位置の左側）にあるのでエラー画像が隠蔽されないことになる。
【００１２】
また、図１２（Ｄ）は、エラー検出位置のスライスの先頭以降の領域に対してエラー隠蔽処理を行った場合の表示画像を示す図である。この場合、スライス全体が隣接するマクロブロックの画像データに置き換えられるのでエラー画像は隠蔽される。
【００１３】
図１２（Ｃ）に示すようなエラー検出位置以降の画像を隠蔽する方法は、実際のエラー発生位置がエラー検出位置と異なる場合にエラー画像を隠蔽することができないという問題点があった。
【００１４】
また、図１２（Ｄ）に示すように、エラーが検出されたときにスライスの先頭以降の画像を全て隠蔽する方法は、正常な画像に対してもエラー隠蔽処理が行われるためにエラー発生箇所以外の画質が劣化してしまうという問題点があった。
【特許文献１】特許第３６５５１１５号公報
【特許文献２】特許第３２９７２９３号公報
【特許文献３】特開２０００−３３３１６３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
本発明の課題は、ＭＰＥＧ方式の画像データを復号するときに、画質の劣化の少ないエラー隠蔽方法を実現することである。
【課題を解決するための手段】
【００１６】
本発明のエラー隠蔽方法は、ＭＰＥＧ方式で符号化されたビットストリームを復号するときのエラー隠蔽方法であって、前記ビットストリームのマクロブロック単位のデータの平均値をマクロブロックの代表値として記憶手段に保持し、復号エラーを検出した場合に、スライス先頭のマクロブロック位置から復号エラーを検出したマクロブロック位置までの間の各マクロブロックの代表値と比較対象マクロブロックの代表値との差分絶対値を算出し、算出した差分絶対値が所定の閾値以上のマクロブロックの位置を真の復号エラー発生位置として検出し、前記真の復号エラー発生位置からスライスの終端までの期間をエラー隠蔽処理の対象とする。
【００１７】
この発明によれば、実際にエラーが発生した位置を正確に検出することができるので、エラー発生位置以降の領域に対してエラー隠蔽処理を行うことで表示画像の画質の劣化を抑えることができる。また、実際にエラーが発生したマクロブロック位置からエラー隠蔽処理を施すことができるので、正常な画像の画質が劣化するのを防止できる。
【００１８】
本発明のエラー隠蔽方法において、各マクロブロックの直上及び直下に位置するマクロブロックのデータの平均値を、エラー判定の基準となる前記比較対象マクロブロックの代表値として設定する。
【００１９】
このように注目するマクロブロックの直上及び直下に位置するマクロブロックのデータの平均値をエラー判定の基準として用いることでエラーの判定精度を高めることができる。
【００２０】
本発明のエラー隠蔽方法において、各マクロブロックの直上、直下及び左隣のマクロブロックのデータの平均値を、エラー判定の基準となる前記比較対象マクロブロックの代表値として設定する。
【００２１】
このように注目するマクロブロックの直上、直下及び左隣のマクロブロックの平均値をエラー判定の基準として用いることでエラーの判定精度を高めることができる。
本発明のエラー隠蔽方法において、各マクロブロックの左斜め上、左隣、左斜め下、直上、直下、右斜め上、左斜め下のマクロブロックのデータの平均値を、エラー判定の基準となる前記比較対象マクロブロックの代表値として設定する。
【００２２】
このように注目するマクロブロックの左斜め上、左隣、左斜め下、直上、直下、右斜め上、右斜め下の各マクロブロックの平均値をエラー判定の基準として用いることでエラー判定精度を高めることができる。
【００２３】
本発明のエラー隠蔽方法において、各マクロブロックの直上及び左隣のマクロブロックのデータの平均値を、エラー判定の基準となる前記比較対象マクロブロックの代表値として設定する。
【００２４】
このように注目するマクロブロックの左隣及び直上のマクロブロックの平均値をエラー判定の基準として用いることでエラー判定精度を高めることができる。この場合、注目するマクロブロックの過去のマクロブロックの平均値をエラー判定の基準として用いているのでリアルタイムでの処理が可能となる。
【００２５】
本発明のエラー隠蔽方法は、注目するマクロブロックの直上のマクロブロックを４分割したブロックの内で注目する前記マクロブロックに隣接する下側の２ブロックのデータと、直下のマクロブロックを４分割したブロックの内で注目する前記マクロブロックに隣接する上側の２ブロックのデータの平均値を、エラー判定の基準となる前記比較対象マクロブロックの代表値として設定する。
【００２６】
このように注目するマクロブロックに隣接する上下それぞれ２ブロックのデータの平均値をエラー判定の基準として用いることでエラー判定精度を高めることができる。
本発明のエラー隠蔽方法において、注目するマクロブロックの１フレーム過去の同じ位置のマクロブロックのデータの平均値を、エラー判定の基準となる比較対象マクロブロックの代表値として設定する。
【００２７】
このように１フレーム過去の同じ位置のマクロブロックの平均値をエラー判定の基準として用いることで、フレーム間の相関関係が高いという画像データの特性を利用してエラー判定精度を高めることができる。
【００２８】
本発明のエラー隠蔽方法において、注目するマクロブロックの１フレーム過去の同じ位置のマクロブロックのデータと、１フレーム未来の同じ位置のマクロブロックのデータの平均値を、エラー判定の基準となる前記比較対象マクロブロックの代表値として設定する。
【００２９】
このように１フレーム過去と１フレーム未来の同じ位置のマクロブロックの平均値をエラー判定の基準として用いることで、フレーム間の相関関係が高いという画像の特性を利用してエラー判定精度を高めることができる。
【００３０】
本発明の画像データ復号装置は、ＭＰＥＧ方式で符号化されたビットストリームを復号する画像データ復号装置であって、復号された複数の画像データの中の一の画像データについて、該一の画像データの近傍の画像データから、あるいは該一の画像データの存在するフレームよりも１つ前のフレーム内の同位置の画像データから、該一の画像データの復号結果が誤りか否かを判別する判別手段を有する。
【００３１】
この発明よれば、復号された画像データの近傍の画像データ、あるいは１つ前のフレーム内の同位置の画像データからその画像データに復号誤りがあるか否かを判定することができる。
【発明の効果】
【００３２】
本発明によればエラー発生位置を正確に検出し、そのエラー発生位置からエラー隠蔽処理を施すことで画質の劣化を少なくできる。
【発明を実施するための最良の形態】
【００３３】
以下、本発明の実施の形態について図面を参照しながら説明する。図１は、実施の形態のビデオ復号装置（画像データ復号装置）２１のブロック図である。
ビデオ復号処理部２２は、入力するビットストリームを復号し、復号した画像データを予測処理部２３に出力する。また、ビデオ復号処理部２２は、ビットストリームのエラー検出を行い、エラーを検出したときにはエラー情報をエラー判定部２５に出力する。
【００３４】
予測処理部２３は、復号された画像データをピクチャ単位でフレームメモリ２４に格納する。また、予測処理部２３は、各マクロブロックのデータの平均値を算出し（平均値算出手段に対応する）、算出した平均値をマクロブロックの代表値として代表値保持部（記憶手段に対応する）２６に保持する。予測処理部２３は、例えば、マクロブロックのデータの輝度及び／又は色差信号の平均値を代表値として算出する。代表値保持部２２に保持された各マクロブロックの代表値はエラー判定部２５に出力される。予測処理部２３は、後述するエラー隠蔽処理を施した画像データを再生装置等に出力する。
【００３５】
エラー判定部２５は、スライス先頭のマクロブロック位置から、エラーを検出したマクロブロック位置までの各マクロブロックのデータの代表値と、各マクロブロックと近接するマクロブロックの代表値を代表値保持部２６から取得し、それらの差分絶対値を算出する（差分算出手段に対応する）。そして、算出した差分絶対値が予め設定してある閾値を超えたか否かを判定し、閾値を超えたマクロブロック位置を真の復号エラー発生位置として検出する（復号エラー発生位置検出手段に対応する）。そして、その真の復号エラー発生位置からスタートコード（またはスライスの終端）までの期間をエラー隠蔽領域と決定し、エラー発生位置とスタートコードまでの期間を指すエラー隠蔽アドレス情報を予測処理部２３に出力する。
【００３６】
予測処理部２３は、エラー判定部２５から出力されるエラー隠蔽アドレス情報に基づいてエラー隠蔽領域の画像データを所定の参照画像（例えば、隣接するマクロブロックの画像データ）と置き換えることでエラーが混入した画像を隠蔽する処理を実行する（エラー隠蔽手段に対応する）。
【００３７】
ここで、ビデオ復号装置２１で実行されるエラー隠蔽処理の処理内容を図２（Ａ）、（Ｂ）のフローチャートを参照して説明する。
水平方向のマクロブロックの位置を示す変数ＥＰＯＳ１に初期値として「０」を設定する（図２（Ａ）、 Ｓ１１）。次に、変数ＥＰＯＳ１が最終マクロブロックを指しているか否かを判別する（Ｓ１２）。
【００３８】
変数ＥＰＯＳ１が最終マクロブロックの位置を指していないときには（Ｓ１２、ＮＯ）、ステップＳ１３に進み、変数ＥＰＯＳ１で指定されるマクロブロックのデータの復号処理を行う。次に、変数ＥＰＯＳ１で指定されるマクロブロックにおいてエラーを検出したか否かを判定する（Ｓ１４）。このエラー判定では、マクロブロックのデータが、図示しない可変長符号テーブルのデータと一致する否か、あるいはパラメータ値が制約範囲に入っているか否かによりエラーの有無を判定している。
【００３９】
エラーが検出されなかった場合には（Ｓ１４、ＮＯ）、ステップＳ１５に進み、変数ＥＰＯＳをインクリンメトした後、ステップＳ１２に戻る。
変数ＥＰＯＳ１で指定されるマクロブロックのデータにエラーが検出された場合には（Ｓ１４，ＹＥＳ）、ステップＳ１６に進み、変数ＥＰＯＳ２に初期値として「０」を設定する。そして、変数ＥＰＯＳ２の値と、変数ＥＰＯＳ１の値が一致するか否かを判定する。
【００４０】
両者の値が一致しないときには（Ｓ１７，ＮＯ）、つまり変数ＥＰＯＳ２で指定されるマクロブロックの位置が、変数ＥＰＯＳ１で指定されるエラー検出位置と一致しないときには、ステップＳ１８に進み、変数ＥＰＯＳ２で指定されるマクロブロックの近傍のマクロブロック（以下、これを比較対象マクロブロックと呼ぶ）のデータの平均値を代表値として算出する。
【００４１】
図２（Ｂ）のステップＳ１８’の処理は、上記のステップＳ１８の代表値算出処理の一例を示すものである。このステップＳ１８’の処理は、比較対象マクロブロックとして、注目マクロブロックの上側のマクロブロック（ＭＢ）と下側のマクロブロックが指定された場合の処理である。この場合、変数ＥＰＯＳ２で指定されるマクロブロックの上側のマクロブロックの平均値と下側のマクロブロックの平均値を加算した値を「２」で除算した値を代表値として求める。
【００４２】
図２（Ａ）のステップＳ１８の次には、変数ＥＰＯＳ２で指定されるマクロブロック（これを注目マクロブロックと呼ぶ）の代表値と比較対象マクロブロックの代表値の差分絶対値を算出し、算出した差分絶対値が所定の閾値より大きいか否かを判定する（Ｓ１９）。
【００４３】
なお、ステップＳ１９の処理において、変数ＥＰＯＳ２で指定されるマクロブロックの代表値とその近傍の比較対象マクロブロックの代表値の差分絶対値を算出しているのは、注目マクロブロックの画像データが正常であれば、画像データの空間的、あるいは時間的連続性からそのマクロブロックのデータの平均値と近傍のマクブロックのデータの平均値との差分は所定値以下となるからである。従って、例えば、エラーが発生したときのマクロブロックのデータの平均値と、その近傍のマクロブロックのデータの平均値との差分絶対値を予め求めることでエラー判定の基準となる閾値を設定することができる。
【００４４】
ステップＳ１９において、注目マクロブロックの代表値と近傍のマクロブロックの代表値の差分絶対値が閾値以下と判定されたときには（Ｓ１９，ＮＯ）、ステップＳ２０に進み、変数ＥＰＯＳ２の値をインクリメントしてステップＳ１７に戻る。
【００４５】
ステップＳ１９において、注目マクロブロックの代表値と近傍のマクロブロックの代表値の差の絶対値が所定の閾値より大きいときには（Ｓ１９，ＹＥＳ）、ステップＳ２１に進み、変数ＥＰＯＳ２で指定されるマクロブロックの位置を真のエラー発生位置として検出する。そして、その真のエラー発生位置を示すアドレス情報を予測処理部２３に出力し、予測処理部２３がエラー発生位置から最終マクロブロック位置までのマクロブロックのデータを対象としてエラー隠蔽処理を実行する。このエラー隠蔽処理では、エラー隠蔽処理の対象となるマクロブロックのデータをその近傍（例えば、直上）のマクロブロックのデータと差し替えることでエラーを含んだ画像を隠蔽する。
【００４６】
図３は、実施の形態のエラー隠蔽領域を示す図である。図３に二重丸で示す位置がエラー検出位置であり、星印で示す位置が上記のエラー隠蔽処理により検出されるエラー発生位置である。また、図３に斜線で示す領域が上記のエラー隠蔽処理により隠蔽される領域であり、エラー発生位置以降の画像データを近傍の画像データで置き換えてエラーを隠蔽している。
【００４７】
上述した実施の形態によれば、エラーが混入した可能性の高いマクロブロック位置からエラー隠蔽処理を施すことができるので画質の劣化を少なくできる。また、真のエラー発生位置からエラー隠蔽処理を施すことができるので、正常な画像データが近傍の画像データと置き換えられて画質が劣化するのを防止できる。
【００４８】
図４は、第１の実施の形態の比較対象マクロブロックの位置を示す図である。この第１の実施の形態は、比較対象マクロブロックとして注目マクロブロックの直上及び直下のマクロブロックを選択した場合の例である。
【００４９】
図４は、３×３個のマクロブロックからなる画像データの例を示しており、中央の水平な複数の線で示す四角の領域が注目マクロブロックであり、その上下の複数の斜線で示す四角の領域が比較対象マクロブロックである。
【００５０】
この第１の実施の形態のエラー隠蔽処理においては、注目マクロブロックの直上のマクロブロックと直下のマクロブロックの平均値を比較対象マクロブロックの代表値として用いている（図２（Ｂ）のステップＳ１８’の処理）。
【００５１】
画像データは隣接するマクロブロック間の相関関係が高いので（空間的相関関係が高い）、注目マクロブロックのデータの平均値と、その上下のマクロブロックのデータの平均値の差分絶対値が所定の閾値より大きいか否かを判定することで、注目マクロブロックのエラーの有無を判定することができる。
【００５２】
この第１の実施の形態によれば、画像データにおいて相関性が高いマクロブロック、つまり注目マクロブロックと隣接する上下のマクロブロックを比較対象マクロブロックとして用いることでエラー発生位置を正確に検出することができる。これにより従来のエラー隠蔽処理の開始位置より手前（時間的に前）の位置で、かつ実際にエラーが発生している可能性が高いマクロブロック位置からエラー隠蔽処理を施すことができるので、画質の劣化の少ない復号画像を表示させることができる。
【００５３】
次に、図５は、第２の実施の形態の比較対象マクロブロックの位置を示す図である。この第２の実施の形態は、比較対象マクロブロックとして注目マクロブロックの直上と直下と左隣のマクロブロックを用いる場合の例である。
【００５４】
図５において、中央の水平な複数の線で示す四角の領域が注目マクロブロックであり、その上下の複数の斜線で示す四角の領域と左隣の斜線で示す領域が比較対象マクロブロックである。
【００５５】
この第２の実施の形態のエラー隠蔽処理においては、注目マクロブロックの直上と直下と左隣のマクロブロックのデータの平均値を代表値として用いる。画像データは隣接するマクロブロックのデータの相関関係が高いので、注目マクロブロックのデータの平均値と、その上下及び左隣のマクロブロックのデータの平均値の差分絶対値が所定の閾値より大きいか否かを判定することで、注目マクロブロックのエラーの有無を判定することができる。
【００５６】
この第２の実施の形態によれば、注目マクロブロックに隣接する上下及び左隣のマクロブロックを比較対象マクロブロックとして用いることでエラー発生位置をより正確に検出することができる。
【００５７】
次に、図６は、第３の実施の形態の比較対象マクロブロックの位置を示す図である。この第３の実施の形態は、比較対象マクロブロックとして注目マクロブロックの左斜め上、左隣、左斜め下、直上、直下、右斜め上、右斜め下のマクロブロックを用いる場合の例である。
【００５８】
図６において、中央の水平な複数の線で示す四角の領域が注目マクロブロックであり、左斜め上（図６の正面から見て）、左隣、左斜め下、直上、直下、右斜め上、右斜め下の斜線で示す四角の領域、つまり右隣のマクロブロックを除く７方向のマクロブロックが比較対象マクロブロックとして選択されている。なお、右隣のマクロブロックを比較対象マクロブロックとして選択しないのは、注目マクロブロックにエラーが発生している場合には、その右隣のマクロブロックのデータはエラーの影響を受けている可能性が高いからである。
【００５９】
注目マクロブロックの平均値と、左斜め上、左隣、左斜め下、直上、直下、右斜め上、右斜め下のマクロブロックの平均値の差分絶対値が所定の閾値より大きいか否かを判定することで、注目マクロブロックのデータのエラーの有無を判定することができる。
【００６０】
この第３の実施の形態によれば、注目マクロブロックに隣接する右隣を除く７方向のマクロブロックを比較対象マクロブロックとして用いることでエラー発生位置をより正確に検出することができる。
【００６１】
次に、図７は、第４の実施の形態の比較対象マクロブロックの位置を示す図である。この第４の実施の形態は、比較対象マクロブロックとして注目マクロブロックの左隣と直上のマクロブロックを選択した場合の例である。
【００６２】
図７の中央の水平な複数の線で示す四角の領域が注目マクロブロックであり、その左隣と直上の斜線で示す四角の領域が比較対象マクロブロックである。この第４の実施の形態のエラー隠蔽処理においては、注目マクロブロックの左隣と直上のマクロブロックの平均値を代表値として用いている。注目マクロブロックに隣接する左隣及び直上のマクロブロックのデータは相関関係が高いと推測されるので、注目マクロブロックの平均値と、左隣と直上のマクロブロックの平均値の差分絶対値が所定の閾値より大きいか否かを判定することで、注目マクロブロックにおけるエラーの有無を判定することができる。
【００６３】
この第４の実施の形態によれば、注目マクロブロックと相関関係が高い左隣と直上のマクロブロックをエラー判定の基準として用いることでエラー発生位置を正確に検出することができる。さらに、過去のマクロブロックのデータをエラー判定の基準として用いているのでリアルタイム処理が可能となる。
【００６４】
次に、図８は、第５の実施の形態の比較対象マクロブロックの位置を示す図である。この第５の実施の形態は、比較対象マクロブロックとして注目マクロブロックの直上及び直下のマクロブロックをそれぞれ4分割して下側または上側のブロックを選択した場合の例である。
【００６５】
図８の中央の水平な複数の線で示す四角の領域が注目マクロブロックであり、その直ぐ上の複数の斜線で示す２ブロックと、注目マクロブロックの直下の複数の斜線で示す２ブロックが比較対象マクロブロックである。この第５の実施の形態のエラー隠蔽処理においては、注目マクロブロックの直上の隣接する２ブロックと直下の隣接する２ブロックの平均値を代表値として用いている。そして、注目マクロブロックの平均値と、直上及び直下の２ブロックの平均値の差分絶対値が所定の閾値より大きいか否かを判定することで、注目マクロブロックにおけるエラーの有無を判定することができる。
【００６６】
この第５の実施の形態によれば、注目マクロブロックと近接しているブロックのデータの平均値をエラー判定要素として用いているので、マクロブロックのエラーの判定精度を高めることができる。さらに、注目マクロブロックとより相関関係が高い、隣接する２ブロック分のデータをエラー判定の基準として用いているので４ブロック分のデータを用いる場合に比べて判定精度を高めることが期待できる。
【００６７】
次に、図９は、第６の実施の形態の比較対象マクロブロックの位置を示す図である。この第６の実施の形態は、比較対象マクロブロックとして、現フレームの１フレーム過去の同じ位置のマクロブロックを選択した場合の例である。
【００６８】
図９の現フレーム３１の中央の水平な複数の線で示す四角の領域が注目マクロブロックであり、１フレーム前の過去フレーム３２の中央の複数の斜線で示す四角の領域が比較対象マクロブロックである。この第６の実施の形態のエラー隠蔽処理においては、現フレーム３１の注目マクロブロックの１フレーム過去の同じ位置のマクロブロックの平均値を代表値として用いている。そして、注目マクロブロックの平均値と、１フレーム過去のマクロブロックの平均値の差分絶対値が所定の閾値より大きいか否かにより、注目マクロブロックのエラーの有無を判定している。
【００６９】
この第６の実施の形態によれば、注目マクロブロックと時間的相関性が高い１フレーム過去の同じ位置のマクロブロックの平均値をエラー判定要素として用いているのでマクロブロックのエラーの判定精度を高めることができる。
【００７０】
次に、図１０は、第７の実施の形態の比較対象マクロブロックの位置を示す図である。この第７の実施の形態は、比較対象マクロブロックとして現フレームの１フレーム過去の同じ位置のマクロブロックと１フレーム未来の同じ位置のマクロブロックを選択した場合の例である。
【００７１】
図１０の現フレーム３１の中央の水平な複数の線で示す四角の領域が注目マクロブロックであり、１フレーム前の過去フレーム３２の中央の複数の斜線で示す四角の領域と、１フレーム後の未来フレーム３３の中央の複数の斜線で示す四角の領域が比較対象マクロブロックである。
【００７２】
この第７の実施の形態のエラー隠蔽処理においては、注目マクロブロックの１フレーム過去の同じ位置のマクロブロックと、１フレーム未来の同じ位置のマクロブロックの平均値を代表値として用いている。そして、注目マクロブロックの平均値と、１フレーム過去の同じ位置のマクロブロックと１フレーム未来の同じ位置のマクロブロックの平均値の差分絶対値が所定の閾値より大きいか否かを判定することで注目マクロブロックにおけるエラーの有無を判定している。
【００７３】
この第７の実施の形態によれば、注目マクロブロックと時間的相関関係が高い１フレーム過去及び未来の同じ位置のマクロブロックの平均値をエラー判定要素として用いているのでマクロブロックのエラーの判定精度を高めることができる。
【００７４】
本発明は上述した実施の形態に限らず、例えば、以下のように構成しても良い。
（１）本発明は、ビデオ復号装置に限らず、符号化された画像データを復号する装置であればどのような装置でも良い。
（２）第１〜６の実施の形態の画像データのフレーム内の空間的相関関係と、第６及び第７の７実施の形態のフレーム間の時間的相関関係の両方を組み合わせて比較対象マクロブロックを選択してもよい。例えば、空間的相関関係を利用した第1の実施の形態の比較対象マクロブロックと、時間的相関関係を利用した第６の実施の形態の比較対象マクロブロックの平均値をエラー判定の基準として用いても良い。
（３）実施の形態では、ビデオ復号処理部２２でエラーが検出されたとき、スライスの先頭からエラー検出位置までの期間のマクロブロックのデータの平均値とその近傍のマクロブロックの平均値との差を算出しているが、ビデオ復号処理部２２におけるエラー検出結果に依らず、各マクロブロックの平均値とその近傍のマクロブロック（１または複数のマクロブロック）の平均値との差分を算出して真のエラー発生位置を検出するようにしても良い。つまり、差分絶対値と閾値との比較によるエラー発生位置の検出のみでエラー判定を行っても良い。
【００７５】
（付記１）  ＭＰＥＧ方式で符号化されたビットストリームを復号するときのエラー隠蔽方法であって、
前記ビットストリームのマクロブロック単位のデータの平均値をマクロブロックの代表値として記憶手段に保持し、
復号エラーを検出した場合に、スライス先頭のマクロブロック位置から復号エラーを検出したマクロブロック位置までの間の各マクロブロックの代表値と比較対象マクロブロックの代表値との差分絶対値を算出し、
算出した差分絶対値が所定の閾値より大きいマクロブロック位置を真の復号エラー発生位置として検出し、
前記真の復号エラー発生位置からスライスの終端までの期間を対象にエラー隠蔽処理を行うエラー隠蔽方法。
（付記２）  各マクロブロックの直上及び直下に位置するマクロブロックのデータの平均値を、前記比較対象マクロブロックの代表値として設定する付記１記載のエラー隠蔽方法。
（付記３）  各マクロブロックの直上、直下及び左隣のマクロブロックのデータの平均値を、エラー判定の基準となる前記対象マクロブロックの代表値として設定する付記１記載のエラー隠蔽方法。
（付記４）  各マクロブロックの左斜め上、左隣、左斜め下、直上、直下、右斜め上、右斜め下のマクロブロックのデータの平均値を、エラー判定の基準となる前記比較対象マクロブロックの代表値として設定する付記１記載のエラー隠蔽方法。
（付記５）  各マクロブロックの直上及び左隣のマクロブロックのデータの平均値を、エラー判定の基準となる前記比較対象マクロブロックの代表値として設定する付記１記載のエラー隠蔽方法。
（付記６）  注目するマクロブロックの直上のマクロブロックを４分割したブロックの内で注目する前記マクロブロックに隣接する下側の２ブロックのデータと、直下のマクロブロックを4分割したブロックの内で注目する前記マクロブロックに隣接する上側の２ブロックのデータの平均値を、エラー判定の基準となる前記比較対象マクロブロックの代表値として設定する付記１記載のエラー隠蔽方法。
（付記７）  注目するマクロブロックの１フレーム過去の同じ位置のマクロブロックのデータの平均値を、エラー判定の基準となる比較対象マクロブロックの代表値として設定する付記１記載のエラー隠蔽方法。
（付記８）  注目するマクロブロックの１フレーム過去の同じ位置のマクロブロックのデータと、１フレーム未来の同じ位置のマクロブロックのデータの平均値を、エラー判定の基準となる前記比較対象マクロブロックの代表値として設定する付記１記載のエラー隠蔽方法。
（付記９）  ＭＰＥＧ方式で符号化されたビットストリームを復号する画像データ復号装置であって、
前記ビットストリームのマクロブロック単位のデータの平均値を算出する平均値算出手段と、
前記平均値算出手段により算出された平均値を各マクロブロックの代表値として保持する記憶手段と、
マクロブロック単位で復号エラーを検出するエラー検出手段と、
前記エラー検出手段により復号エラーが検出された場合に、スライス先頭のマクロブロック位置から復号エラーを検出したマクロブロック位置までの間の各マクロブロックの代表値と比較対象マクロブロックの代表値との差分絶対値を算出する差分算出手段と、
前記差分絶対値が所定の閾値より大きいマクロブロック位置を真の復号エラー発生位置として検出する復号エラー発生位置検出手段と、
前記真の復号エラー発生位置からスライスの終端までのデータを所定のマクロブロックのデータで置き換えてエラーを隠蔽するエラー隠蔽手段とを備える画像データ復号装置。
（付記１０）  前記平均値算出手段は、各マクロブロックの直上及び直下に位置するマクロブロックのデータの平均値を前記比較対象マクロブロックの代表値として算出し、
前記差分算出手段は、各マクロブロックの代表値と前記比較対象マクロブロックの代表値との差分絶対値を算出する付記９記載の画像データ復号装置。
（付記１１）  ＭＰＥＧ方式で符号化されたビットストリームを復号する画像データ復号装置であって、
復号された複数の画像データの中の一の画像データについて、該一の画像データの近傍の画像データから、あるいは該一の画像データの存在するフレームよりも１つ前のフレーム内の同位置の画像データから、該一の画像データの復号結果が誤りか否かを判別する判別手段を有する画像データ復号装置。
【図面の簡単な説明】
【００７６】
【図１】実施の形態のビデオ復号装置のブロック図である。
【図２】実施の形態のエラー隠蔽処理のフローチャートである。
【図３】実施の形態のエラー隠蔽領域を示す図である。
【図４】第１の実施の形態の比較対象マクロブロックの位置を示す図である。
【図５】第２の実施の形態の比較対象マクロブロックの位置を示す図である。
【図６】第３の実施の形態の比較対象マクロブロックの位置を示す図である。
【図７】第４の実施の形態の比較対象マクロブロックの位置を示す図である。
【図８】第５の実施の形態の比較対象マクロブロックの位置を示す図である。
【図９】第６の実施の形態の比較対象マクロブロックの位置を示す図である。
【図１０】第７の実施の形態の比較対象マクロブロックの位置を示す図である。
【図１１】従来のビデオ復号装置のブロック図である。
【図１２】従来のエラー隠蔽領域を示す図である。
【符号の説明】
【００７７】
２１          ビデオ復号装置
２２          ビデオ復号処理部
２３          予測処理部
２４          フレームメモリ
２５          エラー判定部
２６          代表値保持部
【図１】
2007267009.tif 000003
【図２】
2007267009.tif 000004
【図１１】
2007267009.tif 000005
【図３】
2007267009.tif 000006
【図４】
2007267009.tif 000007
【図５】
2007267009.tif 000008
【図６】
2007267009.tif 000009
【図７】
2007267009.tif 000010
【図８】
2007267009.tif 000011
【図９】
2007267009.tif 000012
【図１０】
2007267009.tif 000013
【図１２】
2007267009.tif 000014