(57)【特許請求の範囲】
【請求項１】
動画像の各フレームが所定領域に分割されて符号化されたビットストリームから所定領域の符号化データを抽出すると共に、符号化データを抽出する過程で復号破綻を検出して修復対象の所定領域を特定する可変長復号部と、
該可変長復号部により抽出された所定領域の符号化データから予測残差画像を復号すると共に所定領域の復号画像を生成する所定領域復号処理部と、
上記可変長復号部からの所定領域の符号化データと、上記所定領域復号処理部からの予測残差画像を入力し、画像修復用コンテキスト情報を生成する画像修復用コンテキスト情報生成部と、
上記可変長復号部により特定された修復対象の所定領域の周辺の所定領域の有効性を判定し、有効と判定された周辺の所定領域から上記画像修復用コンテキスト情報生成部により生成された画像修復用コンテキスト情報を取得して、修復対象の所定領域の修復に用いる推定動きベクトルを求め、求めた推定動きベクトルに基づき既に復号済みのフレームから復号画像を取得して修復画像を生成する画像修復処理部と、
上記可変長復号部による所定領域の復号破綻の検出有無に基づき、上記所定領域復号処理部により生成された復号画像又は上記画像修復処理部により生成された修復画像を選択して出力する選択部とを備えた動画像復号装置。
【請求項２】
上記画像修復用コンテキスト情報生成部は、所定領域の符号化データから動きベクトル、参照画像インデックス、予測誤差量に関する画像修復用コンテキスト情報を生成し、
上記画像修復処理部は、上記参照画像インデックスに基づき上記動きベクトルをスケーリングすると共に、上記予測誤差量に基づいて定める重み係数を用いて、スケーリングされた動きベクトルを重み付平均することによって修復対象の所定領域の修復に用いる推定動きベクトルを求めることを特徴とする請求項１記載の動画像復号装置。
【請求項３】
上記画像修復処理部は、修復対象の所定領域の周辺の所定領域の有効性を、修復対象となっていない場合及び画面外になっていない場合に有効と判定することを特徴とする請求項１記載の動画像復号装置。
【請求項４】
動画像の各フレームが所定領域に分割されて符号化されたビットストリームから所定領域の符号化データを抽出すると共に、符号化データを抽出する過程で復号破綻を検出して修復対象の所定領域を特定する第１のステップと、
該第１のステップで抽出された所定領域の符号化データから予測残差画像を復号すると共に所定領域の復号画像を生成する第２のステップと、
上記第１のステップで抽出された所定領域の符号化データと、上記第２のステップで復号された予測残差画像を入力し、画像修復用コンテキスト情報を生成する第３のステップと、
上記第１のステップで特定された修復対象の所定領域の周辺の所定領域の有効性を判定し、有効と判定された周辺の所定領域から上記第３のステップで生成された画像修復用コンテキスト情報を取得して、修復対象の所定領域の修復に用いる推定動きベクトルを求め、求めた推定動きベクトルに基づき、既に復号済みのフレームから復号画像を取得して修復画像を生成する第４のステップと、
上記第１のステップにおける所定領域の復号破綻の検出有無に基づき、上記第２のステップで生成された復号画像又は上記第４のステップで生成された修復画像を選択して出力する第５のステップとを備えた動画像復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ディジタル圧縮符号化された動画像データを入力して、動画像信号を復元する動画像復号装置及び動画像復号方法に関するもので、特に入力する動画像データ中に誤りがある場合に再生画質の劣化を抑える機能を有する動画像復号装置及び動画像復号方法に関するものである。
【背景技術】
【０００２】
従来、ＭＰＥＧ（Moving Picture Experts Group）やＩＴＵ−Ｔ（International Telecommunication Union-Telecommunication Standardization Sector）  Ｈ．２６ｘ等の国際標準映像符号化方式では、映像信号の各フレームについて、輝度信号１６×１６画素とそれに対応する色差信号８×８画素分をまとめたブロックデータ（以下、マクロブロック）を単位として、動き補償技術及び直交変換／変換係数量子化技術に基づいて圧縮する方法が採用されている。このような標準方式に基づいて圧縮符号化された動画像データを放送・通信用途で伝送する場合、伝送路上での輻輳や電波干渉等により、ビットストリームに含まれる動画像データにビット誤りが混入することがある。
【０００３】
一般に動画像符号化において、ビットストリーム中に含まれる各符号化データはその発生確率に基づいて設計されたエントロピー符号化により可変長符号で表現される。そのため、ビット誤りにより、誤りを生じたビット位置に存在する符号化データだけでなく、それ以降の符号化データをも正常復号できなくなるのが通例である。その結果、符号化された信号とかけ離れた異常な再生画像が再生されたり、復号画像が欠落したりといった画質劣化が発生する。
【０００４】
このような画質劣化をできるだけ抑制することを目的として、過去に正常復号済みの映像信号を利用して劣化部分を隠蔽するエラーコンシールメントの技術が開発されている。通常、動画像の隣接フレーム間の画像内容は類似していることが多く、上記動き補償技術は過去の符号化済みフレームの信号をフレームメモリに格納して、それを参照して時間方向の予測を行うことで圧縮効率を高めている。動き補償が機能するためには、動画像復号装置側でも、動画像符号化装置で使用したフレームメモリの内容と全く同じ信号を保持しておく必要がある。つまり、あるフレームでビット誤りによる映像信号の劣化が生じたとしても、動画像復号装置中のフレームメモリ内には、ビット誤りが発生したフレームと良く類似した正常な映像信号が格納されている可能性が高い。
【０００５】
この点に着目したエラーコンシールメント技術として、非特許文献１に示されている技術では、誤りが発生した画像ブロックに対する動きベクトルの候補をその周辺の情報に基づいて複数個推定し、それら推定動きベクトルのそれぞれについてフレームメモリ中の対応箇所から修復画像の候補を取り出している。
【０００６】
図９は修復画像の候補を説明するための図である。図９において、中心の斜線の損失ブロックは誤りによって当該位置の動きベクトルも含めて正常に復号できなかったブロックとし、その上下左右のブロックが正常に復号できたものとしている。
【０００７】
このとき、（ｖup，ｖright，ｖleft，ｖdown）の４つの動きベクトルを、中心のブロックの動きベクトルの推定値候補として用いて、それぞれを中心ブロックの動きベクトルとみなした場合の修復画像の候補を得る。
【０００８】
次いで、複数得られた修復画像候補のうち、中心ブロックの周辺の正常に復号済みの隣接ブロックとの間で、空間的な信号の連続性が最も高い修復画像候補を最終的な修復画像として採用する。
【０００９】
【非特許文献１】W.-M.Lam,A.R.Reibman,and B.Liu,“Recovery of lost or erroneously received motion vectors,”in Proc.ICASSP,vol.5,1993, pp.417-420.
【発明の開示】
【発明が解決しようとする課題】
【００１０】
従来の動画像復号装置は以上のように構成され、上記非特許文献１の技術は時間方向の相関が高い映像信号に対して良好なエラーコンシールメント性能を有することが知られているが、複数の動きベクトル候補各々について、フレームメモリから修復画像候補を取り出す必要があり、少ない処理で効率的かつ誤りに強いエラーコンシールメント処理を行うことができず、マクロブロックあたりに必要な所要メモリバンド幅が大きくなり、移動体向け放送・通信等の消費電力の厳しい条件下において、効率良く再生品質を維持できないという課題があった。
【００１１】
この発明は上記のような課題を解決するためになされたもので、予め複数の動きベクトル候補に対して動きベクトルの信頼性に関する評価を行い、修復画像を取り出すための動きベクトルの候補を信頼性の高いものに絞り込むことにより、少ない処理で効率的かつ誤りに強いエラーコンシールメント処理を行い、マクロブロックあたりに必要な所要メモリバンド幅を削減することができ、移動体向け放送・通信等の消費電力の厳しい条件下において、効率良く再生品質を維持できる動画像復号装置及び動画像復号方法を得ることを目的とする。
【課題を解決するための手段】
【００１２】
この発明に係る動画像復号装置は、動画像の各フレームが所定領域に分割されて符号化されたビットストリームから所定領域の符号化データを抽出すると共に、符号化データを抽出する過程で復号破綻を検出して修復対象の所定領域を特定する可変長復号部と、該可変長復号部により抽出された所定領域の符号化データから予測残差画像を復号すると共に所定領域の復号画像を生成する所定領域復号処理部と、上記可変長復号部からの所定領域の符号化データと、上記所定領域復号処理部からの予測残差画像を入力し、画像修復用コンテキスト情報を生成する画像修復用コンテキスト情報生成部と、上記可変長復号部により特定された修復対象の所定領域の周辺の所定領域の有効性を判定し、有効と判定された周辺の所定領域から上記画像修復用コンテキスト情報生成部により生成された画像修復用コンテキスト情報を取得して、修復対象の所定領域の修復に用いる推定動きベクトルを求め、求めた推定動きベクトルに基づき既に復号済みのフレームから復号画像を取得して修復画像を生成する画像修復処理部と、上記可変長復号部による所定領域の復号破綻の検出有無に基づき、上記所定領域復号処理部により生成された復号画像又は上記画像修復処理部により生成された修復画像を選択して出力する選択部とを備えたものである。
【発明の効果】
【００１３】
この発明により、少ない処理で効率的かつ誤りに強いエラーコンシールメント処理を行い、マクロブロックあたりに必要な所要メモリバンド幅を削減することができ、移動体向け放送・通信等の消費電力の厳しい条件下において、効率良く再生品質を維持できるという効果が得られる。
【発明を実施するための最良の形態】
【００１４】
実施の形態１．
この実施の形態１における動画像復号装置は、入力としてＭＰＥＧ−４  ＡＶＣ（Advanced Video Coding）／ＩＴＵ−Ｔ  Ｈ．２６４（以下、ＡＶＣ）規格に準拠した動画像符号化ビットストリームを受信して動画像信号を再生する装置とする。この実施の形態１では、動画像の各フレーム画像をスライスの単位に分割し、さらに、スライスが可変長符号化された複数のマクロブロックデータから構成される動画像圧縮データを入力し、動画像圧縮データ中に発生する誤りによる画質劣化を修復しながら再生画像を得る動画像復号装置について説明する。
【００１５】
この実施の形態における動画像復号装置の特徴は、スライス中で誤りによる復号破綻を検出し、復号破綻による画質劣化を生じているマクロブロックを特定し、それらマクロブロックの画像データ修復を近傍のマクロブロックの復号状態に基づいて適応的に実施する点にある。
【００１６】
図１はこの発明の実施の形態１による動画像復号装置の構成を示すブロック図である。この動画像復号装置は、可変長復号部１、メモリ２、マクロブロック復号処理部（所定領域復号処理部）３、画像修復用コンテキスト情報生成部４、画像修復処理部５、切替器（選択部）６、デブロッキングフィルタ７及びフレームメモリ８を備えている。
【００１７】
図１において、可変長復号部１は、動画像の各フレームがマクロブロック（所定領域）に分割されて符号化されたビットストリーム１０１からビットストリームシンタックスに基づきマクロブロックの符号化データ１０２を抽出すると共に、マクロブロックの符号化データ１０２を抽出する過程で復号破綻を検出した場合には、修復対象のマクロブロックを特定し、復号破綻検出フラグ１０３を有効にして、修復対象のマクロブロック位置情報１０４と画像修復実行指示情報１０５を出力する。
【００１８】
メモリ２は、可変長復号部１からの修復対象のマクロブロック位置情報１０４により、誤り修復状況マップ１０６を記憶している。
【００１９】
マクロブロック復号処理部３は、可変長復号部１により抽出されたマクロブロックの符号化データ１０２から予測残差画像１０７を復号すると共に、フレームメモリ８に記憶されている参照画像１１３を用いて予測画像を生成し、復号した予測残差画像１０７と生成した予測画像により当該マクロブロックの第１の復号画像１０８を生成する。
【００２０】
画像修復用コンテキスト情報生成部４は、可変長復号部１からのマクロブロックの符号化データ１０２と、マクロブロック復号処理部３からの予測残差画像１０７を入力し、画像修復処理に用いる画像修復用コンテキスト情報１０９を生成する。この場合、画像修復用コンテキスト情報生成部４は、マクロブロックの符号化データ１０２から動きベクトル、参照画像インデックス、予測誤差量に関する画像修復用コンテキスト情報１０９を生成する。
【００２１】
画像修復処理部５は、可変長復号部１からの画像修復実行指示情報１０５に基づき、誤り修復状況マップ１０６を参照して、修復対象となるエリアを包含する領域を画像修復エリアとして決定し、決定した画像修復エリア内で修復処理を実行する修復対象のマクロブロック位置を決定し、決定した修復対象のマクロブロックの周辺のマクロブロックの有効無効を判定し、有効と判定された周辺のマクロブロックから画像修復用コンテキスト情報生成部４により生成された画像修復用コンテキスト情報１０９を取得して、修復対象のマクロブロックの修復に用いる推定動きベクトルを求め、求めた推定動きベクトルに基づき既に復号済みのフレームメモリ８中の直前のフレームから復号画像１１４を取得して修復画像１１０を生成する。
【００２２】
切替器６は、可変長復号部１からの復号破綻検出フラグ１０３が破綻無し（＝０）を示している場合には、マクロブロック復号処理部３からの第１の復号画像１０８を選択して第２の復号画像１１１として出力し、復号破綻検出フラグ１０３が破綻あり（＝１）を示している場合には、画像修復処理部５からの修復画像１１０を選択して第２の復号画像１１１として出力する。
【００２３】
デブロッキングフィルタ７は、切替器６からの第２の復号画像１１１を入力し、誤り修復状況マップ１０６を参照し、第２の復号画像１１１としての第１の復号画像１０８又は修復画像１１０に対応したデブロッキングフィルタ処理を実行して最終復号画像１１２を出力する。
【００２４】
フレームメモリ８は、デブロッキングフィルタ７からの最終復号画像１１２を、以降のフレームの予測画像生成に使用するために記憶し、マクロブロック復号処理部３の指示に基づき参照画像１１３として出力し、画像修復処理部５の指示に基づき直前のフレームから復号画像１１４を出力する。
【００２５】
図２はマクロブロック復号処理部３の内部構成を示すブロック図である。このマクロブロック復号処理部３は、逆量子化部３１、逆整数変換部３２、予測画像生成部３３及び加算器３４を備えている。
【００２６】
図２において、可変長復号部１からマクロブロック復号処理部３に入力されるマクロブロックの符号化データ１０２には、符号化モード情報２０１、イントラ予測モード情報２０２、動きベクトル２０３、参照ピクチャインデックス２０４、予測残差信号を表す整数変換係数データ２０５、量子化ステップパラメータ２０６等が含まれている。
【００２７】
逆量子化部３１は、予測残差信号を表す整数変換係数データ２０５及び量子化ステップパラメータ２０６を入力し、量子化ステップパラメータ２０６に基づき整数変換係数データ２０５を逆量子化し、逆量子化後の整数変換係数データ２０７を出力する。
【００２８】
逆整数変換部３２は逆量子化部３１からの逆量子化後の整数変換係数データ２０７を逆整数変換して予測残差画像１０７を復号する。
【００２９】
予測画像生成部３３は、符号化モード情報２０１がフレーム間動き予測モード（インターモード）を示している場合は、符号化モード情報２０１、動きベクトル２０３、参照ピクチャインデックス２０４に基づき、フレームメモリ８中の参照画像１１３を用いて予測画像２０８を生成し、符号化モード情報２０１がフレーム内符号化モード（イントラモード）を示している場合は、イントラ予測モード情報２０２に基づき予測画像２０８を生成する。
【００３０】
逆整数変換部３２からの予測残差画像１０７はイントラ予測又はフレーム間動き補償予測を行った結果の予測残差画像であるので、加算部３４は、符号化モード情報２０１に応じて生成される予測画像２０８を、逆整数変換部３２からの予測残差画像１０７と加算することで第１の復号画像１０８を生成する。
【００３１】
図３は画像修復処理部５の内部構成を示すブロック図である。この画像修復処理部５は、画像修復エリア決定部５１、修復対象マクロブロック決定部５２、周辺ブロック有効無効判定部５３、動きベクトル推定部５４及び修復画像生成部５５を備えている。
【００３２】
図３において、画像修復エリア決定部５１は、メモリ２に記憶されている誤り修復状況マップ１０６を参照して、修復対象となるエリアを包含する外接四角形領域を画像修復エリア２１１として決定する。
【００３３】
修復対象マクロブロック決定部５２は、画像修復エリア２１１内で修復処理を実行する修復対象のマクロブロックをカレントマクロブロック２１２として決定する。
【００３４】
周辺ブロック有効無効判定部５３は、カレントフレームに関する誤り修復状況マップ１０６を参照し、カレントマクロブロック２１２の上下左右に位置する周辺のマクロブロックの有効又は無効を判定して、周辺のマクロブロックの有効無効状態２１３を出力する。この場合、周辺ブロック有効無効判定部５３は、周辺のマクロブロックの有効性を、修復対象となっていない場合及び画面外になっていない場合に「有効」と判定し、それ以外は「無効」と判定する。
【００３５】
動きベクトル推定部５４は、周辺ブロック有効無効判定部５３からの有効無効状態２１３を参照して「有効」と判定されたマクロブロックについて、画像修復用コンテキスト情報生成部４から動きベクトル、参照画像インデックス、予測誤差量に関する画像修復用コンテキスト情報１０９を取得し、カレントマクロブロック２１２の修復に用いる推定動きベクトル２１４を求める。この場合、動きベクトル推定部５４は、参照画像インデックスに基づき動きベクトルをスケーリングすると共に、予測誤差量に基づいて定める重み係数を用いて、スケーリングされた動きベクトルを重み付平均することによって修復対象の所定領域の修復に用いる推定動きベクトル２１４を求める。
【００３６】
修復画像生成部５５は推定動きベクトル２１４に基づきフレームメモリ８中の直前のフレームから復号画像１１４を取得して修復画像１１０を生成する。
【００３７】
図４はこの発明の実施の形態１による動画像復号装置の処理の流れを示すフローチャートである。図４において、ステップＳＴ１１〜ＳＴ１３が可変長復号処理（Ａ）を示し、ステップＳＴ１４〜ＳＴ１６が復号破綻を検出しない場合のマクロブロック復号処理（Ｂ）を示し、ステップＳＴ１７〜ＳＴ１８が復号破綻を検出した場合のマクロブロック復号処理（Ｃ）を示し、ステップＳＴ１９〜ＳＴ２０が画像修復処理（Ｄ）を示している。
【００３８】
まず、可変長復号処理（Ａ）について説明する。
動画像復号装置は、スライス単位でＡＶＣ規格に準拠した動画像符号化ビットストリームであるビットストリーム１０１を受け取り、ステップＳＴ１１において、可変長復号部１はビットストリーム１０１からスライスヘッダ情報の復号を行う。このスライスヘッダ情報には、当該スライスの先頭マクロブロックの画面内位置情報や、当該スライスに含まれるマクロブロックの量子化パラメータ基準値等が含まれる。このとき、可変長復号部１は切替器６への復号破綻検出フラグ１０３を無効にして「０」にリセットする。
【００３９】
次いで、個々のマクロブロックの復号プロセスに移る。個々のマクロブロック復号プロセスでは、まず、ステップＳＴ１２において、可変長復号部１は、ＡＶＣ規格のビットストリームシンタックスに従ってビットストリーム１０１の解析を行い、マクロブロックの符号化データ１０２を抽出・復元する。このマクロブロックの符号化データ１０２には、符号化モード情報２０１、イントラ予測モード情報２０２、動きベクトル２０３、参照ピクチャインデックス２０４、予測残差信号を表す整数変換係数データ２０５、量子化ステップパラメータ２０６等が含まれている。
【００４０】
また、可変長復号部１は、ビットストリーム１０１の解析処理過程で後述のように復号破綻を検出する。復号破綻とは、再び復号同期が回復するまで、それ以上正常なビットストリーム解析を継続することが不可能な状態のことを指す。検出する復号破綻の例としては、例えば以下のようなものがある。
（ａ）ＡＶＣ規格において、ビットストリームシンタックス上、発生し得ない未定義の符号語又は未定義の復号値が検出される場合
（ｂ）ＡＶＣ規格において、ビットストリームシンタックス上、復号値が固定的に定まっているデータが他の値をとる場合
（ｃ）ＡＶＣ規格において、ビットストリームシンタックス上、復号値の値域がそのデータ固有で、ないしは別のデータの復号値の制約の下で定められているデータが正常な値域を逸脱する場合
（ｄ）復号されたデータが、それまでの復号過程に照らして明らかに矛盾を生じている場合で、例えば、あるスライスの先頭のマクロブロックの画面内位置を復号した結果、その値がその前までに復号されたスライスの画面内位置と不連続になっている場合等
（ｅ）ＡＶＣ規格において、復号される同種データの個数に限界が定められている場合に、その個数を超過して復号される場合で、例えば、ＡＶＣで採用される整数変換は４×４又は８×８画素ブロックに対して施されるため、整数変換係数は最大でも１ブロックあたり１６個又は６４個しか発生しないが、復号時にこの個数を超過する場合等
【００４１】
ステップＳＴ１３において、可変長復号部１は、ビットストリーム１０１の解析処理過程で上記のような復号破綻を検出したか否かを判定し、その判定結果により処理フローを切り替える。当該スライスの復号処理中、復号破綻を検出しない限りは、後述の復号破綻を検出しない場合のマクロブロック復号処理（Ｂ）で説明するステップＳＴ１４の処理を個々のマクロブロック毎に実行し続け、何れかのマクロブロックで復号破綻を検出した場合には、後述の復号破綻を検出した場合のマクロブロック復号処理（Ｃ）で説明するステップＳＴ１７，ＳＴ１８の処理を実行する。１フレーム分の処理が終了した時点で、後述の画像修復処理（Ｄ）で説明するステップＳＴ１９における復号破綻を生じた箇所の修復とステップＳＴ２０におけるデブロッキングフィルタ処理を実行する。
【００４２】
なお、図１に示す動画像復号装置の構成では、復号破綻検出フラグ１０３に基づき、復号破綻を検出したか否かで、切替器６により後述の（Ｂ）の処理で生成される第１の復号画像１０８と後述の（Ｃ）の処理で生成される修復画像１１０とを切り替えて、第２の復号画像１１１を決定するように図示しているが、これは、復号破綻検出の有無に関わらず第１の復号画像１０８、修復画像１１０の双方を生成することを意味するものではなく、この発明の骨子を明瞭に記載するための便宜上、このように図示したものである。後述の（Ｂ）の処理を実行する場合は、図１に示す構成要素のうち、画像修復処理部５における処理は実行されず修復画像１１０は生成されない。また、後述の（Ｃ）の処理に遷移する場合は、可変長復号部１の中で修復対象と判定されるマクロブロック（画像修復実行指示情報１０５を「修復実施」とする対象になるマクロブロック）に対して、図２におけるマクロブロック復号処理部３の内部構成における逆量子化部３１、逆整数変換部３２、予測画像生成部３３での処理は一切実行されず、第１の復号画像１０８は生成されない。
【００４３】
次に復号破綻を検出しない場合のマクロブロック復号処理（Ｂ）について説明する。
可変長復号部１は、上記のような復号破綻が検出されない場合は、復号破綻検出フラグ１０３を「０」にしたままとする。復号破綻検出フラグ１０３の具体的な値は、復号破綻の有無を識別できるならばどのように定めても良い。
【００４４】
図４のステップＳＴ１４において、マクロブロック復号処理部３は抽出されたマクロブロックの符号化データ１０２を用いて、当該マクロブロックの第１の復号画像１０８を生成する。この処理には、図２に示すマクロブロック復号処理部３の構成における逆量子化部３１、逆整数変換部３２、予測画像生成部３３といった機能ブロックが使用される。まず、整数変換係数データ２０５、量子化ステップパラメータ２０６が逆量子化部３１に送られ、整数変換係数データ２０５の逆量子化が行われた後、逆整数変換部３２にて予測残差画像１０７に復号される。
【００４５】
予測画像生成部３３は、符号化モード情報２０１がフレーム間動き予測モード（インターモード）を示している場合は、符号化モード情報２０１、動きベクトル２０３、参照ピクチャインデックス２０４に基づいてフレームメモリ８中の参照画像１１３を用いて予測画像２０８を生成して出力する一方、符号化モード情報２０１がフレーム内符号化モード（イントラモード）を示している場合は、イントラ予測モード情報２０２に基づいて予測画像２０８を生成して出力する。逆整数変換部３２の出力の予測残差画像１０７は、イントラ予測又はフレーム間動き補償予測を行った結果の予測残差画像信号であるので、符号化モード情報２０１に応じて生成される予測画像２０８を、加算部３４において逆整数変換部３２からの予測残差画像１０７と加算することで第１の復号画像１０８を生成・出力する。
【００４６】
（Ｂ）の復号処理を実行している限りにおいては、復号破綻検出フラグ１０３は「復号破綻なし」の状態が維持されるので、切替器６では、第１の復号画像１０８をそのまま第２の復号画像１１１として出力する。
【００４７】
（Ｂ）の復号処理過程のステップＳＴ１５において、画像修復用コンテキスト情報生成部４は後述する画像修復処理に用いる画像修復用コンテキスト情報１０９を生成する。図４では、ステップＳＴ１４に続いてステップＳＴ１５の処理を行うように記載されているが、実際は、ステップＳＴ１５はステップＳＴ１２，ＳＴ１４を実行中に実施しても良い。画像修復用コンテキスト情報１０９は画像修復用コンテキスト情報生成部４によって抽出又は生成されて、画像修復用コンテキスト情報生成部４の中に含まれる記憶エリアに書き込まれ、画像修復処理部５の要求に応じて出力される。画像修復用コンテキスト情報１０９は、画像修復処理部５で用いる後述の画像修復アルゴリズムで参照する情報である。この実施の形態１では、１フレーム分の画像修復用コンテキスト情報１０９を、８×８ブロック単位の情報に置き換えて前記記憶エリアに保持する。もちろん、用いる画像修復アルゴリズムに応じて、１６×１６のマクロブロックの単位で保持する等の構成にしても良い。
【００４８】
以下、画像修復用コンテキスト情報１０９の個々の内容について述べる。
○動きベクトルコンテキスト情報  ctx_mv
符号化モード情報２０１がフレーム間動き予測モード（インターモード）を示している場合は、動きベクトル２０３に基づいて予測画像２０８を生成する。ＡＶＣでは動きベクトル２０３は１６×１６ブロック単位の情報であることもあれば、４×４ブロック単位の情報であることもある。８×８よりも大きいブロックに対する動きベクトル２０３であれば、その領域内に包含される全ての８×８ブロックに同じ値を動きベクトルコンテキスト情報ctx_mvとしてアサインする。８×８ブロックよりも小さいブロックに対する動きベクトル２０３の場合は８×８ブロック領域をカバーする分を平均したり、メディアン値をとる等して８×８ブロック単位の動きベクトルコンテキスト情報ctx_mvを得る。符号化モード情報２０１がスキップマクロブロックを示している場合は、ＡＶＣ規格のスキップマクロブロックの定義に従ってスキップマクロブロック用の動きベクトル２０３が生成されるので、それを動きベクトルコンテキスト情報ctx_mvとして用いる。また、符号化モード情報２０１がイントラモードを示している場合には、ゼロ、ないしは、スキップマクロブロックと等価な方法によって得られる動きベクトルコンテキスト情報ctx_mvを用いる。
【００４９】
○参照画像インデックスコンテキスト情報  ctx_refidx
ＡＶＣ規格では、フレームメモリ８内に複数の参照画像１１３を格納して、動きベクトル２０３を適用するブロック（ただし８×８ブロックサイズよりも大きいブロック）毎に予測画像生成に用いる参照画像１１３を変更できる。どの参照画像１１３を予測画像生成に使用するかは動画像復号装置に伝達する必要があるため、ビットストリーム１０１には、動きベクトル２０３毎に参照ピクチャインデックス２０４を付与する。この実施の形態１では、参照ピクチャインデックス２０４を８×８ブロック単位に読み替えて参照画像インデックスコンテキスト情報ctx_refidxとして格納する。符号化モード情報２０１がイントラモードを示している場合は、ゼロ、すなわち、直前のフレームを指すインデックス値とする。
【００５０】
○予測誤差量コンテキスト情報  ctx_err
逆整数変換部３２の出力である予測残差画像１０７について、８×８ブロックの単位で各画素値の絶対値を加算したスカラ値を予測誤差量コンテキスト情報ctx_errとして生成・保持する。符号化モード情報２０１がイントラモードを示している場合は、動きベクトル２０３による予測誤差ではないため、予測誤差量コンテキスト情報ctx_errを固定値Ｃにする。
【００５１】
最後に、図４のステップＳＴ１６において、カレントマクロブロック２１２がフレームの末尾であるかどうかによりフレームの復号が完了したか否かをを判定し、末尾であればステップＳＴ１９へ移り、さもなくばステップＳＴ１１のスライスヘッダの復号処理へ戻る。
【００５２】
（Ｃ）復号破綻を検出した場合のマクロブロック復号処理
可変長復号部１は、復号破綻を検出した場合には、ステップＳＴ１７において、復号破綻検出フラグ１０３を１として復号破綻が発生したことを外部に通知し、次いで、復号同期を回復して正常な復号を再開するために再同期点をサーチする。再同期点は、例えば、次のスライスの先頭や次のフレームの先頭を示すユニークワード等が該当する。
【００５３】
復号破綻検出後、上記再同期点が見つかるまでの間のマクロブロックの符号化データ１０２は失われるので、所定の範囲の画像データを修復によって補う必要がある。この実施の形態１では、この画像修復を、この発明の特徴である画像修復アルゴリズムに基づいて１フレーム分まとめて実行するため、ステップＳＴ１８において、ここでは、復号破綻検出点から再同期点までの間の修復対象のマクロブロック位置情報１０４を「修復対象」としてメモリ２に誤り修復状況マップ１０６として記憶しておくこととする。
【００５４】
図５はメモリ２に記憶されている誤り修復状況マップ１０６の様子を示す図である。メモリ２には、フレームメモリ８に格納可能な参照画像の枚数分の誤り修復状況マップ１０６を保持する。図５に示すように、誤り修復状況マップ１０６には、上記（Ｂ）の処理を終えた正常なマクロブロックについては「修復の必要がない領域」としてマーキングし、復号破綻を検出したマクロブロックについては「画像修復対象領域」としてマーキングしておく。復号破綻を検出したマクロブロックの次の正常なマクロブロックが再同期点で次スライスの先頭となる。
再同期点を検出して修復対象領域を記憶した後、上記ステップＳＴ１１に戻り再同期点からの復号を再開する。
【００５５】
（Ｄ）画像修復処理
上記（Ｂ），（Ｃ）の処理を１フレーム分実行した後、ステップＳＴ１９において、画像修復処理部５は、可変長復号部１からの画像修復実行指示情報１０５に基づき、誤り修復状況マップ１０６を参照して、修復対象となるエリアを包含する領域を画像修復エリアとして決定し、決定した画像修復エリア内で修復処理を実行する修復マクロブロック位置を決定し、決定した修復マクロブロックの周辺マクロブロックの有効無効を判定し、有効と判定されたマクロブロック位置について、画像修復用コンテキスト情報１０９を取得してマクロブロックの修復に用いる推定動きベクトル２１４を求め、求めた推定動きベクトル２１４に基づいてフレームメモリ８中の直前のフレームから復号画像１１４を取得して修復画像１１０として出力する。
【００５６】
この発明のポイントは、画像修復処理部５が実行する画像修復アルゴリズムにある。通常、誤りによって損失したマクロブロックの修復処理としては、上記非特許文献１のようにフレームメモリ８中に格納される過去に復号済みの参照画像を利用して修復画像１１０を生成する時間コンシールメント処理と、同一フレーム内の空間的近傍に存在する正常に復号された情報を利用して修復画像１１０を生成する空間コンシールメントの２種類がある。これらは、下記の文献にあるように、例えば、カレントフレームがシーンチェンジ箇所であるかどうか等を判断基準として、フレームメモリ８中の参照画像１１０とカレントフレームとの相関の度合いを評価して、相関が高いと判断される場合には時間コンシールメントを、相関が低いと判断される場合は空間コンシールメントを用いるように設計するという方法が一般的である。この発明における画像修復アルゴリズムは、特に、時間コンシールメント手法に関するものである。
Akio Yoneyama,Hiromasa Yanagihara,Yasuyuki Nakajima、”VIDEO ERROR CONCEALMENT BY THE COMBINATION OF SPATIO-TEMPORAL RECOVERY AND POST FILTER FOR H.264”,IEEE International Conference on Consumer Electronics 2005,PAPER NO.9.3-2,Jan.10-12,2005.
【００５７】
可変長復号部１はカレントフレームが画像修復処理の必要ありと判断すると、画像修復実行指示情報１０５によって画像修復処理部５に画像修復処理の実行を指示する。画像修復処理部５はその指示を受けて修復処理を開始する。
【００５８】
図６は画像修復処理部５により実行される画像修復アルゴリズムの処理の流れを示すフローチャートである。
ステップＳＴ２１において、図３に示す画像修復エリア決定部５１はカレントフレームに関する誤り修復状況マップ１０６を参照して、修復対象となるエリアを包含する外接四角形領域を画像修復エリア２１１として決定する。
【００５９】
図７は画像修復エリア決定部５１により決定される修復対象となるエリアを包含する外接四角形領域を示す図である。以下の処理は画像修復エリア２１１内でのみ実行する。画像修復エリア２１１外のマクロブロックには誤りで損失した領域は存在しないため、以下の処理をスキップする。
【００６０】
ステップＳＴ２２において、修復対象マクロブロック決定部５２は、画像修復エリア２１１内で修復処理を実行する修復対象のマクロブロックをカレントマクロブロック２１２として決定する。
【００６１】
カレントマクロブロック２１２の決定方法には以下のような方法が考えられるが、いずれの方法を用いても良い。
１つの方法として、修復対象マクロブロック決定部５２は、画像修復エリア２１１内をラスタスキャン順に検証し、「修復対象」のマーキングがなされたマクロブロックを順に修復処理する。処理順序に関する特別な判断は必要ないが、「修復対象」のマクロブロックが局所的に集中している場合は、利用可能な画像修復用コンテキスト情報１０９が十分に得られない可能性がある。
【００６２】
また、他の方法として、修復対象マクロブロック決定部５２は、画像修復エリア２１１内をエリアの端に位置するマクロブロックから順に検証し、「修復対象」のマーキングがなされたマクロブロックを順に修復処理する。処理順序に関して逐一判断を行う必要がある反面、エリアの端には正常に復号されたマクロブロックが多く、「修復対象」のマクロブロックが局所的に集中している場合は、利用可能な画像修復用コンテキスト情報１０９が得られやすい可能性がある。
【００６３】
ステップＳＴ２３において、周辺ブロック有効無効判定部５３は、カレントフレームに関する誤り修復状況マップ１０６を参照して、カレントマクロブロック２１２の上下左右に位置する周辺マクロブロックが「修復対象」となっているかどうかを検証し、有効無効判定対象のマクロブロックが「修復対象」となっている場合又は画面外になる場合は、そのマクロブロックは「無効」と判定し、さもなくば「有効」と判定することにより、周辺マクロブロックの有効無効を判定して有効無効状態２１３を出力する。誤り修復状況マップ１０６で、後述する「修復済み」の状態を示すマクロブロックについては「有効」と判定する。
【００６４】
ステップＳＴ２４において、動きベクトル推定部５４は、有効無効状態２１３を参照し「有効」と判定されたマクロブロック位置について、画像修復用コンテキスト情報１０９を取得し、カレントマクロブロック２１２の修復に用いる推定動きベクトル２１４を求める。もし、有効無効状態２１４に基づいて「有効」となっているマクロブロックが一つもない場合は、動きベクトル推定部５４は推定動きベクトル２１４をゼロとする。
【００６５】
以下、例として、上記ステップＳＴ２４で上下左右全てのマクロブロックが「有効」と判定される場合の推定動きベクトル２１４の推定方法について述べる。ボールド表記はベクトル値であることを表す。このときはカレントマクロブロックに対して、隣接する上下左右のマクロブロック内の８×８ブロックが有効であるため、合計８つのコンテキスト情報が利用可能となる。
【００６６】
動きベクトルコンテキスト情報をctx_mv[8]とし、参照画像インデックスコンテキスト情報をctx_refidx[8]、予測誤差量コンテキスト情報をctx_err[8]とする。まず、各ctx_mv[k]について、動きベクトル値を直前のフレームに対する動きベクトルにスケーリングする。これは、動きが線形であることを仮定すれば、ctx_refidx[k]を用いて、スケーリングされた動きベクトルscaled_ctx_mv[k]は次の式（１）で求められる。
【数１】
0004624308.tif 000002
【００６７】
scaled_ctx_mv[k]を用いて、ctx_mv[k]が直前のフレームにおいて指し示す領域がどのマクロブロック位置に対応するかを定める位置情報refposを次の式（２）で定める。
【数２】
0004624308.tif 000003
ここで、mbpos_in_pelは、画素単位でのカレントマクロブロックの位置である。
【００６８】
図８は動きベクトル推定部５４による推定動きベクトル２１４を求める処理を説明する図である。
【００６９】
次いで、メモリ２に保持してある直前のフレームの誤り修復状況マップ１０６を参照して、直前のフレームでrefpos[k]に対応する位置のマクロブロックが「修復の必要なし」であれば、ctx_mv[k]を以降の処理に利用可能と判断する。さもなくば、ctx_mv[k]は以降の処理に利用しない。以上の結果をもとに、最終的な推定動きベクトル（emv）２１４を次の式（３）で求める。
【数３】
0004624308.tif 000004
ここで、Kは利用可能なctx_mv[k]の数であり、上記式（３）は、利用可能な全てのscaled_ctx_mv[k]について、それぞれに対応する予測誤差量ctx_err[k]で重みを付加し、重み付平均をとったものである。つまり、予測誤差量の小さいctx_mv[k]のほうが動きベクトルの信頼性が高いとみなし、より強い重みが掛かるようになっている。また、ctx_mv[k]はそれぞれ参照画像インデックスctx_refidx[k]が異なるが、この方法により、参照画像を全て直前フレームに統一することができ、修復画像の絵柄の連続性も保証できる。
【００７０】
また、メモリ２に保持してある直前のフレームの誤り修復状況マップ１０６を参照して、直前のフレームでrefpos[k]に対応する位置のマクロブロックが「修復の必要なし」であれば、ctx_mv[k]を以降の処理に利用可能と判断するようにしたが、もし全てのctx_mv[k]が利用できないと判断される場合には、推定動きベクトル（emv）２１４をゼロとする。
【００７１】
また、ここで決定した推定動きベクトル２１４の値と、参照画像インデックスの値（＝０）は、カレントマクロブロックにおける画像修復用コンテキスト情報１０９として保持し、誤り修復状況マップ１０６のカレントマクロブロック位置の状態を「修復対象」から「修復済み」に変更する。これらは以降の画像修復処理に利用する。
【００７２】
ステップＳＴ２５において、修復画像生成部５５は、推定動きベクトル２１４に基づいてフレームメモリ８中の直前のフレームから修復画像１１０を取得し、画像修復処理部５から出力する。なお、修復画像生成部５５は、フレーム間動き補償予測における予測画像生成と等価な処理を行うため、マクロブロック復号処理部３の予測画像生成部３３を流用するように装置を構成しても良い。
【００７３】
（Ｄ）最終復号画像生成処理
切替器６は、復号破綻検出フラグ１０３が破綻無し（＝０）を示している場合は、第１の復号画像１０８を第２の復号画像１１１として出力する（すでに上述のように、切替器６は常に第１の復号画像１０８と修復画像１１０とを入力としているわけではない）。
図４のステップＳＴ２０において、第２の復号画像１１１はデブロッキングフィルタ７に入力され、デブロッキングフィルタ７はＡＶＣ規格に定める処理に基づいてデブロッキングフィルタ処理を実行して最終復号画像１１２を得る。最終復号画像１１２は、以降のフレームの予測画像生成に用いるため、マクロブロックの画面内位置に基づいてフレームメモリ８へ書き込まれる。
【００７４】
切替器６は、復号破綻検出フラグ１０３が破綻あり（＝１）を示している場合は、修復画像１１０を第２の復号画像１１１として出力する（すでに上述のように切替器６は常に第１の復号画像１０８と修復画像１１０とを入力としているわけではない）。
図４のステップＳＴ２０において、第２の復号画像１１１はデブロッキングフィルタ７に入力され、デブロッキングフィルタ７はＡＶＣ規格に定める処理に基づいてデブロッキングフィルタ処理を実行して最終復号画像１１２を得る。ただし、この際、第２の復号画像１１１は本来の復号画像データとは異なる可能性が高いため、デブロッキングフィルタ７を最もフィルタ強度が強いモードで実行する。これにより、修復画像１１０と正常画像が隣り合うようなブロック境界において、境界の不連続性を緩和することができる。最終復号画像１１２は、以降のフレームの予測画像生成に用いるため、マクロブロックの画面内位置に基づいてフレームメモリ８へ書き込まれる。
【００７５】
以上のように、この実施の形態１によれば、マクロブロックを復号中に復号破綻を生じる致命的な誤りが含まれていたときでも、周辺のコンテキスト情報に基づいて安定的に動きベクトルを推定して画像修復を行うことにより、非特許文献１のように、複数の予測画像候補を得るために頻繁にフレームメモリ８へアクセスする必要がなくなり、少ない処理で効率的かつ誤りに強いエラーコンシールメント処理を行い、マクロブロックあたりに必要な所要メモリバンド幅を削減することができ、移動体向け放送・通信等の消費電力の厳しい条件下において、効率良く再生品質を維持できるという効果が得られる。
【００７６】
この実施の形態１では、ＡＶＣ規格に従うビットストリームを復号する動画像復号装置について説明したが、この発明は、マクロブロック単位で動き補償予測を用いて符号化を行う各種国際標準方式であって、この実施の形態１で記載したようなコンテキスト情報を抽出可能なＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４、Ｈ．２６１、Ｈ．２６３といった規格をサポートする動画像復号装置に対しても適用可能なことは言うまでもない。なお、参照ピクチャインデックス２０４に関してはＡＶＣ規格でのみ採用されているが、他の標準方式ではこれを常にゼロとみなして処理を行えば良い。
【図面の簡単な説明】
【００７７】
【図１】この発明の実施の形態１による動画像復号装置の構成を示すブロック図である。
【図２】この発明の実施の形態１による動画像復号装置のマクロブロック復号処理部の内部構成を示すブロック図である。
【図３】この発明の実施の形態１による動画像復号装置の画像修復処理部の内部構成を示すブロック図である。
【図４】この発明の実施の形態１による動画像復号装置の処理の流れを示すフローチャートである。
【図５】この発明の実施の形態１による動画像復号装置のメモリに記憶されている誤り修復状況マップの様子を示す図である。
【図６】この発明の実施の形態１による動画像復号装置の画像修復処理部により実行される画像修復アルゴリズムの処理の流れを示すフローチャートである。
【図７】この発明の実施の形態１による動画像復号装置の画像修復エリア決定部により決定される修復対象となるエリアを包含する外接四角形領域を示す図である。
【図８】この発明の実施の形態１による動画像復号装置の動きベクトル推定部による推定動きベクトルを求める処理を説明する図である。
【図９】修復画像の候補を説明するための図である。
【符号の説明】
【００７８】
１  可変長復号部、２  メモリ、３  マクロブロック復号処理部、４  画像修復用コンテキスト情報生成部、５  画像修復処理部、６  切替器、７  デブロッキングフィルタ、８  フレームメモリ、３１  逆量子化部、３２  逆整数変換部、３３  予測画像生成部、３４  加算器、５１  画像修復エリア決定部、５２  修復対象マクロブロック決定部、５３  周辺ブロック有効無効判定部、５４  動きベクトル推定部、５５  修復画像生成部、１０１  ビットストリーム、１０２  マクロブロックの符号化データ、１０３  復号破綻検出フラグ、１０４  修復対象のマクロブロック位置情報、１０５  画像修復実行指示情報、１０６  誤り修復状況マップ、１０７  予測残差画像、１０８  第１の復号画像、１０９  画像修復用コンテキスト情報、１１０  修復画像、１１１  第２の復号画像、１１２  最終復号画像、１１３  参照画像、１１４  直前のフレームの復号画像、２０１  符号化モード情報、２０２  イントラ予測モード情報、２０３  動きベクトル、２０４  参照ピクチャインデックス、２０５  整数変換係数データ、２０６  量子化ステップパラメータ、２０７  逆量子化後の整数変換係数データ、２０８  予測画像、２１１  画像修復エリア、２１２  カレントマクロブロック、２１３  有効無効状態、２１４  推定動きベクトル。
【図１】
0004624308.tif 000005
【図２】
0004624308.tif 000006
【図３】
0004624308.tif 000007
【図４】
0004624308.tif 000008
【図５】
0004624308.tif 000009
【図６】
0004624308.tif 000010
【図７】
0004624308.tif 000011
【図８】
0004624308.tif 000012
【図９】
0004624308.tif 000013