(57)【要約】【課題】エラーピクチャがあったとしても復号後の画像の乱れを抑えることのできる画像復号装置を提供する。【解決手段】エラーがあったピクチャをピクチャ６とし、ピクチャ６が参照するピクチャをピクチャ２とし、ピクチャ２が参照するピクチャをピクチャ０とする場合、ピクチャ０からピクチャ２への動きベクトルに対し、ピクチャの時間的位置（０、２、６）に比例するように比例計算したベクトルをエラーのあったピクチャ６の処理対象のマクロブロックの動きベクトルとして採用する。【選択図】図１
2010081215.tif 000002
【特許請求の範囲】
【請求項１】
動き予測を用いて圧縮された画像を復号する画像復号装置であって、
処理対象の画像内の所定領域についてエラーを検出するエラー検出手段と、
該処理対象の画像の時間的位置と、該処理対象の画像が参照する第１の参照画像の時間的位置と、該第１の参照画像が参照する第２の参照画像の時間的位置と、該第１の参照画像内の、該処理対象の画像が参照している領域の参照動きベクトルを取得する取得手段と、
該第２の参照画像と該第１の参照画像との間の相対的時間的位置と、該第２の参照画像と該処理対象の画像との間の相対的時間的位置との比率に比例するように、該参照動きベクトルを変形したベクトルをエラーの発生した該所定領域の動きベクトルとして設定する動きベクトル設定手段と、
を備えることを特徴とする画像復号装置。
【請求項２】
前記取得手段は、前記処理対象の画像の内エラーの発生していない領域について、前記第１の参照画像の動きベクトルと該処理対象の画像の動きベクトルの差分ベクトルを取得し、該エラーの発生していない領域内にわたって、該差分ベクトルを平均した、平均差分ベクトルを取得し、
前記動きベクトル設定手段は、前記変形されたベクトルに、該平均差分ベクトルを加算したベクトルを、前記所定領域の動きベクトルとして設定することを特徴とする請求項１に記載の画像復号装置。
【請求項３】
前記取得手段は、前記差分ベクトルの平均を行う場合、該差分ベクトルが異常に大きい場合には、平均処理の対象外とすることを特徴とする請求項２に記載の画像復号装置。
【請求項４】
前記時間的位置は、画像のフレーム番号であることを特徴とする請求項１に記載の画像復号装置。
【請求項５】
動き予測を用いて圧縮された画像を復号する画像復号方法であって、
処理対象の画像内の所定領域についてエラーを検出し、
該処理対象の画像の時間的位置と、該処理対象の画像が参照する第１の参照画像の時間的位置と、該第１の参照画像が参照する第２の参照画像の時間的位置と、該第１の参照画像内の、該処理対象の画像が参照している領域の参照動きベクトルを取得し、
該第２の参照画像と該第１の参照画像との間の相対的時間的位置と、該第２の参照画像と該処理対象の画像との間の相対的時間的位置との比率に比例するように、該参照動きベクトルを変形したベクトルをエラーの発生した該所定領域の動きベクトルとして設定する、
ことを特徴とする画像復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エラーピクチャを補完によって補償する画像復号装置に関する。
【背景技術】
【０００２】
動画像におけるデジタル処理を基盤とした市場は拡大傾向であり、関わる製品も多岐にわたっている（ディジタルビデオカメラ、ハイビジョンテレビ、携帯電話での動画撮影など）。また、放送の分野においてデジタル化が進む中、動画像の圧縮伸張技術に対する取り組みが活発になっている。
【０００３】
画像の撮影サイズや表示サイズが拡大傾向にあることから、情報量も増大傾向にある。こういった背景の中、動画像の保存や、既存インフラでの伝送実現のために、画像圧縮伸張が欠かせない技術となっている。
【０００４】
画像圧縮伸張の技術においては様々な規格が存在するが、特に圧縮については、いずれの規格も情報量削減のために、ピクチャ各々に閉じた情報圧縮だけでなく、基準ピクチャからの動き差分を計算、圧縮する技術が活用されている。
【０００５】
圧縮率の観点からすれば、後者の動き差分を計算する方が有利ではあるが、動き差分の情報に誤りが混入された場合、復号側でその誤りを補償することが極めて困難になる。特に、基準ピクチャからの動き量を予測する画面間予測において、画面途中から誤りが発生すると、その傾向は顕著に現れる（誤りの混入原因としては、伝送路上にあるノイズ源からの影響や、メディアのキズなどが考えられる）。
【０００６】
復号側で誤りが検出されたとき、見た目上、いかに、目立たなくするかが求められており、市場において要求される大きな要因となっている。
動画像の圧縮、伸張は一般に、１ピクチャが多数の小さなブロックに分割され、そのブロック単位で処理が行われる。このブロックのことをマクロブロックと呼ぶ。また、規格によってことなるが、マクロブロックはさらに細かく分割されることがある。
【０００７】
画面間予測においては、マクロブロック単位、もしくは、更に細分化されたブロック単位で、参照先のピクチャ情報、および、参照先のピクチャから動いた量を示すベクトルを保有する。復号側では復号が完了したピクチャは表示に利用されるだけではなく、後に参照画像として利用される可能性を考慮し、メモリなどに格納しておくのが一般的である。
【０００８】
マクロブロックが保有する参照先ピクチャ、ベクトルについて、マクロブロックの属性によって、１マクロブロックあたりに保有する数が異なる。プレディクトフレーム（P-Frame）やプレディクトスライス(P-Slice）に属するマクロブロックでは、過去のピクチャを参照するために、参照先ピクチャ、ベクトルを各々１方向分（過去方向）保有する。バイディレクショナルフレーム(B-Frame)やバイディレクショナルスライス(B-Slice)に属するマクロブロックでは過去、未来両方のピクチャを参照するために、参照先ピクチャ、ベクトルを各々２方向分(過去、未来両方向)保有する。その他、参照先ピクチャや、ベクトルを保有しないマクロブロックも存在するが、ここでは説明を省略する。
【０００９】
以下に、従来技術のいくつかの復号方法について示す。
（従来技術１）誤りのあるマクロブロック近傍にあるマクロブロックから、参照先ピクチャ番号や、画素を参照する方法。
【００１０】
図５は、従来技術１の説明をする図である。
処理対象のマクロブロックがエラーを有していた場合、そのマクロブロックの左、上、右上のマクロブロックを参照し、参照先ピクチャ番号や参照画素を参照する。これは、近接したマクロブロックにおいては、参照先ピクチャ番号や参照画素に大きな差異はないであろうという予測に基づいている。
【００１１】
（従来技術２）誤りの有無に応じて、デブロッキングフィルタの強度を変更し、ブロック間歪を軽減する方法。
【００１２】
（従来技術３）過去のベクトルを呼び出し、誤ったベクトルと置き換えることによりベクトルを生成する方法。
【００１３】
図６は、従来技術３の説明をする図である。
Ｉフレームにおいてエラーが発生した場合、Ｐフレーム（１）と（２）の間の動き量（差分動きベクトル：Ｐフレーム（１）が有している）をＩフレームで使用する。
【００１４】
特許文献１には、フレーム欠落やコマ落としが発生した場合でも、後に送られてくるＩフレームを待つことなく、Ｐフレームの復号が可能な画像符号化、復号装置が開示されている。
【００１５】
特許文献２には、符号誤りを訂正できない伝送エラーが生じた場合にも、画像の欠落部分を周辺画像に対して滑らかに修正することのできる動画像データ復号化装置が開示されている。
【特許文献１】特開平９−１４９４２１号公報
【特許文献２】特開平５−１５３５７４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
（従来技術１）誤りが含まれるマクロブロックが１つであれば、近傍のマクロブロックを参照することで効果は得られるが、実際、誤りは複数マクロブロックで連続することがしばしば起こる。そのような状況下では、誤りによって補償されたマクロブロックが別の誤りマクロブロックに参照されることとなり、画像の劣化が逐次的に増大する。
【００１７】
（従来技術２）符号化側で意図された参照ピクチャ、ベクトル相当のものが、大差なく復号側で認識されていればフィルタ強度を変更することで効果は得られるが、そもそも参照先ピクチャが異なっていれば、ブロック境界を跨いだ画像は相関性に乏しいものとなっている可能性が高く、効果はほとんど期待できない。
【００１８】
（従来技術３）過去の動きベクトルをそのまま活用しているため、参照ピクチャ間の時間的距離（ピクチャ枚数）が変動すると、不整合が生じ、画像の乱れを抑えることができなくなる。
【００１９】
図７は、従来技術３の問題点を説明する図である。
Ｐフレーム（１）と（２）の間の動き量（Ｐフレーム（１）が保有しているベクトル）をエラーのあるＩフレームで使用するが、Ｐフレーム（１）と（２）の間の時間的距離とＰフレーム（１）とＩフレームの間の時間的距離が同じか、きわめて近いことを前提としている。したがって、これらの時間的距離が大きく異なったり、遠く離れたりすると、画像の乱れを抑えることが出来なくなってしまう。
【００２０】
本発明の課題は、エラーピクチャがあったとしても復号後の画像の乱れを抑えることのできる画像復号装置を提供することである。
【課題を解決するための手段】
【００２１】
本発明の画像復号装置は、動き予測を用いて圧縮された画像を復号する画像復号装置で
あって、処理対象の画像内の所定領域についてエラーを検出するエラー検出手段と、該処理対象の画像の時間的位置と、該処理対象の画像が参照する第１の参照画像の時間的位置と、該第１の参照画像が参照する第２の参照画像の時間的位置と、該第１の参照画像内の、該処理対象の画像が参照している領域の参照動きベクトルを取得する取得手段と、該第２の参照画像と該第１の参照画像との間の相対的時間的位置と、該第２の参照画像と該処理対象の画像との間の相対的時間的位置との比率に比例するように、該参照動きベクトルを変形したベクトルをエラーの発生した該所定領域の動きベクトルとして設定する動きベクトル設定手段とを備える。
【発明の効果】
【００２２】
本発明によれば、エラーピクチャがあったとしても復号後の画像の乱れを抑えることのできる画像復号装置を提供することができる。
【発明を実施するための最良の形態】
【００２３】
図１は、本発明の実施形態（前方線形予測）を説明する図である。
誤りが検出されると、誤りを含むピクチャが参照している過去のピクチャのうち一番新しいピクチャの同じ位置のマクロブロックが持つ参照画像情報、ベクトル情報を呼び出す。誤りが検出された現ピクチャ番号と、現ピクチャが参照している過去のピクチャのうち一番新しいピクチャ番号、および、現ピクチャが参照している過去のピクチャのうち一番新しいピクチャが参照しているピクチャ番号の３つのピクチャの時間的位置関係により、前述、呼び出されたベクトル情報を再計算する。ここで、時間的位置関係とは、例えば、フレームの再生時における、フレームの再生順番などのフレーム番号である。
【００２４】
図１において、ピクチャ番号が６のピクチャに誤りが発生しているとする。ピクチャは、ピクチャ番号０から順にピクチャ番号の大きいほうに向かって表示されるとする。また、ピクチャ番号６のピクチャは、ピクチャ番号２のピクチャを参照し、ピクチャ番号２のピクチャは、ピクチャ番号０のピクチャを参照しているとする。画像ａに着目すると、画像ａは、ピクチャ番号０のピクチャからピクチャ番号２のピクチャになる間に、Ｘ方向に５、Ｙ方向に６移動している。一方、ピクチャ番号６では、エラーが発生しており、画像ａがどの程度動いたかわからない状態である。そこで、画像ａは、ピクチャ番号０のピクチャからピクチャ番号２のピクチャまでの動きと同じ速度で移動していると仮定し、比例計算（（誤りを含むピクチャの参照先ピクチャでの動き量）×（誤りを含むピクチャの時間的位置）／（（（誤りを含むピクチャの参照先ピクチャの時間的位置））でピクチャ番号６のピクチャにおける画像ａの位置を割り出す。すなわち、ピクチャ番号０からピクチャ番号２までに、それぞれ、Ｘ＝５、Ｙ＝６だけ移動しているので、ピクチャ番号６においては、Ｘ＝５×６／２＝１５、Ｙ＝６×６／２＝１８だけの移動が、ピクチャ番号０のピクチャからあったと予測して、ベクトル情報を計算する。これにより、誤りがあるピクチャにおいても、より精度の高い予測動きベクトルを得ることが出来る。
【００２５】
図２は、本発明の実施形態の変形例（統計速度補正）である。
誤りを含むピクチャであっても、誤りを含むマクロブロックの処理にいたる前は、誤りが発生していないので、誤りが検出されていない間、通常の復号が行われた現ピクチャのベクトルと、参照先ブロックが保有するベクトルとの差分を計算し、誤りなしに復号できた領域Ａにおいてその平均を計算しておく。誤りが検出され、図１で述べた方法により誤り補償が行われた後、誤りマクロブロックが参照しているピクチャに対応する、この差分平均を、図１の方法で得られたベクトル情報に加算する。差分を平均するとき、現ピクチャのベクトルと参照先ブロックのベクトルとが反対向きなっているなど、急激な変化を差分が示す場合には、その差分は、異常であるとして、平均計算から除くようにしても良い。
【００２６】
図２において、図１の方法では、ピクチャ（２）と（３）の間の速度をピクチャ（１）と（２）の間の速度と同じと仮定しているが、実際には異なる可能性がある。したがって、誤りのあるピクチャ（３）において、誤りが検出されていないマクロブロックについて、参照先のピクチャであるピクチャ（２）のベクトル情報とピクチャ（３）のベクトル情報の差分を計算し、誤りのない領域Ａにおいて、差分の平均を計算しておく。これにより、ピクチャ（２）と（３）の間の動きの差分の傾向がわかるので、図１の方法で、誤りマクロブロックについて予測されたベクトル情報に、この差分の平均を加算して、より精度の良い、予測ベクトル情報を得る。
【００２７】
以上の実施形態によれば、前方線形予測は誤りなしで復号された、前方参照ピクチャの情報によって補償できるので、従来あった、現ピクチャの状態による画像劣化を抑えることができない問題が解決できる。また、参照ピクチャ間の時間的な距離により、ベクトル補正を行っていることから、参照ピクチャ間のピクチャ枚数に変動が生じたとしても、線形的に追従することができる。
【００２８】
統計速度補正は、同画面処理で少なくともいくつかの誤りなし復号結果が必要となるが、誤りなし復号結果が得られたとするならば、図１で述べたベクトル差分平均は、参照ピクチャまでの速度と、参照先ピクチャから現ピクチャまでの速度の変化と置き換えて考えることができ、前方線形予測で再生されたベクトルに加算することにより、参照先ピクチャから現ピクチャまでの速度を補正することが可能になる。
【００２９】
図３は、本実施形態の処理フローである。
取得した画像ストリーム（ステップＳ１０）に対し、Sliceタイプ判定（ステップＳ１１）、現ピクチャ番号検出（ステップＳ１２）、参照先ピクチャ番号検出（ステップＳ１３）、差分ベクトル抽出（ステップＳ１４）、エラー検出（ステップＳ１５）が行われる。
【００３０】
ステップＳ１３で検出された参照先ピクチャ番号から、参照先ピクチャが参照しているピクチャ番号を検出する（ステップＳ１９）。ここでの検出は画像ストリームから直接検出されるわけではない。参照先ピクチャを処理した過去の時刻において、そのとき検出されていた参照先ピクチャ番号を継続して保管しておく必要がある。ここでは継続して保管されているピクチャ番号をステップＳ１３で検出された参照先ピクチャ番号から間接的に割り出す。
【００３１】
ステップＳ１３、Ｓ１９の“参照先ピクチャ番号検出”で求めた番号から、“参照ピクチャ、参照ピクチャの参照ピクチャ間の距離検出”を行う（ステップＳ２０）。
ステップＳ１２の“現ピクチャ番号検出”で求めた番号から、“現ピクチャ、参照ピクチャの参照ピクチャ間の距離検出”を行う（ステップＳ２１）。
【００３２】
ステップＳ２０、Ｓ２１の結果から、“参照ピクチャ、参照ピクチャの参照ピクチャ間の距離”と、“現ピクチャ、参照ピクチャの参照ピクチャ間の距離”の比率を求める（ステップＳ２２）。
【００３３】
前方線形予測、統計速度補正で利用するため、Ｐピクチャ処理時（ステップＳ１６）、前方参照画が持つベクトルを読みだしておく（ステップＳ１７）。
前方参照MB（Macro Block）が持つベクトルに、ステップＳ２２で求めた比率を乗算することによりエラーブロックのベクトルを生成する（前方線形予測）（ステップＳ１８）。
【００３４】
エラーしていないブロックでは規格通りのベクトル導出が行われる（ＳステップＳ２３
）が、このとき、ステップＳ１７で読みだしておいた前方参照MBが持つベクトルと差分を検出しておく（ステップＳ２４）。そして、この差分をＮ個サンプリングする（ステップＳ２５）。ステップＳ２５で求めた差分について、参照先ごとに平均をとる（異なる参照先同士は平均を取らない）（ステップＳ２６）。
【００３５】
ステップＳ２６で求めた平均値に対し、ステップＳ２５で求めたもののうち大きく外れているものがあればそれを除外して（ステップＳ２７）、再度平均をとる（ステップＳ２８）。
【００３６】
ステップＳ２８で求めた結果は、前方参照画基準での動きの大きさと、カレント画基準での動きの大きさの差分である（速度変化）。ステップＳ１８で導出したベクトルは単純に比率から導出した定速度のベクトルであるため、速度変化に対応すべく、ステップＳ１７の結果にステップＳ２８の結果を加算する（統計速度補正）（ステップＳ２９）。
【００３７】
加算によって得られた動きベクトルと、規格に従った動きベクトルを、対象のマクロブロックにエラーが発生したか否かの検出結果（ステップＳ３０）に基づいて、選択出力する（ステップＳ３１）。
【００３８】
図４は、本実施形態に従った画像復号装置のブロック構成図である。
画像ストリームが入力されるとストリーム解析デバイス１０にて、ストリームの解析が行われ、ストリームに含有される参照画像番号および、差分ベクトルが取り出される。また、ストリーム解析デバイス１０では、規格に応じ、ストリームに違反がないかどうかを検出し、検出結果をエラー通知として出力します。ストリーム解析デバイス１０で取り出された参照画像番号および、差分ベクトルを基に、ベクトル再生器１１によって動きベクトルが再生される。再生された動きベクトルやエラー通知は、ベクトル、参照画選択制御部１９に入力される。再生ベクトル、処理画像番号、参照画番号は、ベクトル格納処理部２０を介して、格納デバイス２２に格納される。また、再生ベクトル、参照画番号等が画素読み出し制御部２１に渡され、格納デバイス（メモリなど）２２から画素値が読み出される。
【００３９】
ベクトル読み出し制御部１２によって、直近の参照可能なピクチャが保有しているベクトル、および、直近の参照可能なピクチャのピクチャ番号、および、直近の参照可能なピクチャが参照しているピクチャ番号が格納デバイス２２から読みだされる。ピクチャ間隔比率計算器１３では、ベクトル読み出し制御部１２で読みだされた直近の参照可能なピクチャのピクチャ番号、および、直近の参照可能なピクチャが参照しているピクチャ番号、および、ストリーム解析デバイス１０によって検出された参照画像番号の３要素によりピクチャ間の比率を前述の方法で計算する。比率乗算器１４ではピクチャ間隔比率計算器１３で求めた比率と、ベクトル読み出し制御部１２で読みだした直近の参照可能なピクチャが保有しているベクトルを乗算することにより、一定速度で移動したと仮定した場合のベクトルを算出する（前方線形予測）。
【００４０】
現画像参照-直近画像参照比較器１５では、ストリーム解析デバイス１０で検出された現処理における参照画像番号と、ベクトル読み出し制御部１２で読みだされた直近の参照可能なピクチャが参照しているピクチャ番号との比較を行う。比較結果が等しければ、ベクトル差分計算の対象とするために差分計算対象判定結果を出力する。ベクトル差分平均保持処理部１７では、現画像参照-直近画像参照比較器１５で検出された差分計算対象判定結果に基づき、判定結果が可であれば、ベクトル差分計算器１６で求められたベクトル差分を平均処理の候補とする。計算結果は、速度補正値として保持される。保持された速度補正値に対し、新たに平均の候補となったベクトル差分値が一定の値を超えると、差分平均の対象とはしない。
【００４１】
差分平均加算部１８では、比率乗算器１４で求めた前方線形予測結果と、ベクトル差分平均保持処理部１７で求めた速度補正値を加算し、エラーが発生したマクロブロック用の差分ベクトルとして出力する。ベクトル、参照画選択制御部１９では、ストリーム解析デバイス１０で検出されたエラーに基づき、エラーであれば、差分平均加算部１８で求めたエラー用のベクトル、および、ベクトル読み出し制御部１２で読み出した直近の参照可能なピクチャのピクチャ番号を選択する。エラーでなければ、ベクトル再生器１１で再生されたベクトル、参照画が選択される。
【００４２】
以上、図３及び図４においては、図１の方法と図２の方法の両方を含んだ処理フロー及びブロック構成を示したが、図１の方法のみを利用する形態での実施も可能である。この場合、図３においては、ステップＳ２４からステップＳ２９がない処理フローとなり、図４では、現画像参照−直近画像参照比較器１５、ベクトル差分計算器１６、ベクトル差分平均保持処理部１７、差分平均加算部１８のないブロック構成となる。この場合、前方線形予測結果は、直接ベクトル、参照画選択制御部１９に入力されることになる。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施形態（前方線形予測）を説明する図である。
【図２】本発明の実施形態の変形例（統計速度補正）である。
【図３】本実施形態の処理フローである。
【図４】本実施形態に従った画像復号装置のブロック構成図である。
【図５】従来技術１の説明をする図である。
【図６】従来技術３の説明をする図である。
【図７】従来技術３の問題点を説明する図である。
【符号の説明】
【００４４】
１０      ストリーム解析デバイス
１１      ベクトル再生器
１２      ベクトル読み出し制御部
１３      ピクチャ間隔比率計算器
１４      比率乗算器
１５      現画像参照−直近画像参照比較器
１６      ベクトル差分計算器
１７      ベクトル差分平均保持処理部
１８      差分平均加算部
１９      ベクトル、参照画選択制御部
２０      ベクトル格納処理部
２１      画素読み出し制御部
２２      格納デバイス（メモリなど）
【図３】
2010081215.tif 000003
【図１】
2010081215.tif 000004
【図２】
2010081215.tif 000005
【図４】
2010081215.tif 000006
【図５】
2010081215.tif 000007
【図６】
2010081215.tif 000008
【図７】
2010081215.tif 000009