説明

画像処理装置、及び画像処理方法

【課題】立体動画像において復号エラーを精度よく修復する。
【解決手段】画像処理装置に、ピクチャ対のいずれかで復号エラーを検出する復号部と、エラーピクチャより過去に復号され、エラー対応箇所の周辺のブロックがエラーピクチャと近似するような近似ピクチャを含むピクチャ対におけるエラー対応箇所の視差をエラーピクチャとその対のピクチャにおけるエラー対応箇所の視差として推定する推定部と、エラーピクチャの対のピクチャにおけるエラー対応箇所から前記推定された推定視差分ずれた位置にあるブロックを、エラーブロックに適用して前記復号エラーを修復する修復部とを備え、復号エラーを精度よく修復する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、符号化された立体動画像データを復号する画像処理装置、及び画像処理方法に関する。
【背景技術】
【0002】
観察者に立体的な動画像を知覚させるための立体動画像データは、左右の眼の視点にそれぞれ対応した連続した静止画像(ピクチャ)対を有する。同時刻のピクチャ対は、左右の視点に対応する視差を有する。かかる立体動画像データのデータ量は、一般的に膨大である。よって、たとえば、立体動画像を撮像してそのデータを内部の限られた記憶媒体に一旦格納するような撮像装置において、立体動画像データを圧縮するための符号化方法が提案されている。
【0003】
International Organization for Standardization /International Electrotechnical Commission(ISO/IEC)で策定された、MVC(Multi-view Video Coding)対応のH.264/MPEG4−AVC(Advanced Video Coding)(以下、単にH.264という)規格は、ピクチャを小領域のブロックに分割してブロックごとにデータを符号化する際、空間的または時間的に近接するブロック間、または同時刻のピクチャ対におけるブロック間の相関が高いことを利用して冗長なデータを圧縮する符号化方式である。H.264規格では、符号化対象ブロックと同一ピクチャ内、同時刻の対のピクチャ、または、時間的に近接する他のピクチャから、補間処理や動きベクトルなどにより符号化対象ブロックを予測し、予測されたブロック(以下、予測ブロックという)と符号化対象ブロックとの差分に対応する残差データや、予測に用いられる情報を示す予測情報データが、規定のシンタックス要素(syntax element)に準拠して求められ、符号化される。
【0004】
こうしてブロックごとに符号化された立体動画像データは、たとえば撮像装置において、画像処理や表示出力のために記憶媒体から読み出され、ブロックごとに復号される。復号処理では、予測情報データに基づく予測ブロックが残差データで補正されて、もとのブロックが復号される。
【0005】
ところで、立体動画像データを記憶媒体から読み出すとき、たとえば記憶素子の劣化や環境温度などの影響により、記憶媒体に格納されたデータが破壊されたりいわゆるデータ化けしたりして残差データや予測情報データが失われ、復号エラーが生じる場合がある。すると、本来のブロックが復号できなくなる。よって、かかる問題に対処すべく、復号エラーの修復方法が提案されている(たとえば特許文献1)。一例では、他のピクチャから抽出したブロックを、復号エラーが検出されたピクチャの復号エラー箇所に適用して、復号エラーが修復される。なお、以下では、復号エラーが検出されたピクチャをエラーピクチャ、復号エラーが検出されたブロックをエラーブロックという。
【0006】
かかる方法において、たとえば、エラーピクチャと同視点の直前のピクチャからエラーブロックに対応するブロックを抽出してエラーブロックに適用すると、抽出したブロックとエラーブロックの間には動きに応じた差分があることにより、好ましい修復精度が得られない場合がある。よって、たとえば、エラーピクチャと同時刻の対のピクチャに含まれるエラーブロックに対応するブロックを抽出してエラーブロックに適用する方法が提案されている。この場合、ピクチャ対には(ほぼ)同じブロックが含まれるので、修復精度を向上させることができる。ただし、抽出すべきブロックは、対のピクチャにおいて、エラーブロックに対応する位置から視差分ずれた位置にあるので、その視差を得るべく、エラーブロックの視差を推定する方法がさらに提案されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2003−319419号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
上記のような方法において、エラーブロックに対応するブロックを対のピクチャから抽出するためには、エラーブロックの視差を高精度に推定することが求められる。
【0009】
そこで、本発明の目的は、立体動画像データのエラーブロックの視差を高精度に推定することで、修復の精度を向上させる画像処理装置、及び画像処理方法を提供することにある。
【課題を解決するための手段】
【0010】
上記の目的を達成するための第1の側面における画像処理装置は、視差を有する連続したピクチャ対を含む符号化された立体動画像データを前記ピクチャを分割したブロックごとに復号し、復号エラーを検出する復号部と、前記復号エラーが検出されたエラーブロックを有するエラーピクチャより過去に復号され、前記エラーブロックに対応する対応箇所周辺のブロックが前記エラーピクチャにおける前記エラーブロック周辺のブロックと近似するような近似ピクチャとその対のピクチャにおける当該対応箇所の視差を、前記エラーピクチャとその対のピクチャにおける前記エラーブロックの視差として推定する第1の推定処理を行う推定部と、前記エラーピクチャの対のピクチャにおける前記対応箇所から前記推定された推定視差分ずれた位置にあるブロックを、前記エラーブロックに適用して前記復号エラーを修復する修復部と、を有する。
【発明の効果】
【0011】
以下に示す実施形態によれば、立体動画像データのエラーブロックの視差を高精度に推定でき、修復の精度を向上させることができる。
【図面の簡単な説明】
【0012】
【図1】本実施形態の画像処理装置が適用される例について説明する図である。
【図2】符号化・復号部によるピクチャの符号化及び復号について説明する図である。
【図3】復号部の詳細な構成例を示す図である。
【図4】視差推定処理について説明する図である
【図5】復号部の動作手順を示すフローチャート図である。
【図6】復号エラー修復処理の手順例を示すフローチャート図である。
【図7】インタービュー符号化の場合の視差推定処理について説明する図である。
【図8】インタービュー符号化の場合の視差推定処理の手順例を示すフローチャート図である。
【図9】インター符号化の場合の視差推定処理について説明する図である。
【図10】インター符号化の場合の視差推定処理の手順例を示すフローチャート図である。
【図11】スキップの場合の視差推定処理について説明する図である。
【図12】スキップの場合の視差推定処理の手順例を示すフローチャート図である。
【図13】イントラ符号化の場合の視差推定処理の手順例を示すフローチャート図である。
【図14】第1変形例における視差推定処理を説明するための図である。
【図15】第1変形例における視差推定手順を示すフローチャート図である。
【図16】第2変形例における視差推定手順を示すフローチャート図である。
【発明を実施するための形態】
【0013】
以下、図面にしたがって実施形態について説明する。但し、適用される技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【0014】
図1は、本実施形態の画像処理装置が適用される例について説明する図である。図1には、立体動画像を撮像する撮像装置の構成が示される。この撮像装置は、レンズ100、101、撮像部102、103、AD変換器104、符号化・復号部105、表示・出力部108、メモリ110、及び制御部112を有する。
【0015】
レンズ100、101は、それぞれたとえば右眼と左眼の視点に対応する。レンズ100、101は、各視点における被写体からの被写体光を撮像部102、103の受光面に集光する。撮像部102、103は、それぞれ、受光面に二次元状に配列された撮像素子により、被写体光を画素信号に光電変換する。撮像部102、103は、それぞれ、たとえばCCD(Charge Coupled Device)センサや、CMOS(Complementally Metal Oxide Semiconductor)センサを有する。撮像部102、103は、1フレームごとに、同時に撮像を行う。撮像の頻度は、たとえば、30フレーム/秒である。そして、撮像部102、103は、1フレームごとの画素信号をラスタスキャン順に順次出力する。
【0016】
AD変換器104は、撮像部102、103から出力される画素信号列を、順次デジタル信号化する。そして、デジタル信号化された画素データが、立体動画像データとして符号化・復号部105に取り込まれる。ここで、1フレーム分の画素データが、1枚の静止画像(ピクチャ)に対応する。1枚のピクチャは、たとえば、二次元状に配列された数十万〜数百万画素を有する。立体動画像データには、左右の眼の視点にそれぞれ対応した、連続したピクチャ対が含まれる。各ピクチャ対は、同時刻に異なる視点からそれぞれ被写体を撮像して得られることにより、視点間の距離に応じた視差を有する。
【0017】
符号化・復号部105は、連続したピクチャ対を含む立体動画像データを符号化する符号化部106と、符号化された立体動画像データを復号する復号部107とを有する。符号化・復号部105は、立体動画像データを符号化及び復号するための、たとえばLSI(Large Scale Integration)である。符号化部106は、たとえば、MVC対応のH.264規格で符号化を行う。そして、符号化部106は、符号化した立体動画像データをメモリ110に格納する。メモリ110は、たとえば、SDRAM(Synchronous Dynamic RAM)である。また、復号部107は、メモリ110から符号化された立体動画像データを読み出して復号する。復号部107が、本実施形態における画像処理装置の例である。復号部107は、復号した立体動画像データを、表示・出力部108に出力する。なお、符号化・復号部105は、復号されたピクチャに種々の画像処理、たとえば色や輝度の補正処理、ノイズ除去、輪郭強調処理等を行う画像処理部をさらに備えてもよい。
【0018】
表示・出力部108は、図示が省略される表示モニタに、立体動画像データに含まれるピクチャ対を連続して表示させる。表示モニタの表示面にはたとえばピクチャ対を左右の視点に分離するバリアやレンズが設けられる。これらを介して連続したピクチャ対を目視する観察者は、ピクチャ対の視差により、立体動画像を知覚する。あるいは、表示・出力部108は、HDMI(High-Definition Multimedia Interface)端子やコンポーネント端子等のインターフェースを介し、記憶装置や映像表示機器などの外部機器にピクチャ対を出力する。
【0019】
制御部112は、撮像部102、103、AD変換器104、符号化・復号部105、表示・出力部108、並びにメモリ110に、各部の動作を制御するための制御信号を出力する。これにより、制御部112は、撮像装置の動作を統括的に制御する。制御部112は、たとえばCPU(Central Processing Unit)である。
【0020】
次に、図2を用いて、符号化・復号部105による立体動画像データの符号化と復号について説明する。図2(A)には、左眼用ピクチャPLi(i=1、・・・、n−2、n−1、n)と、右眼用ピクチャPRiとが模式的に示される。ここでは、添え字「i」は撮像順を示す。同じ添え字を有するピクチャ対PLi、PRiは、同時刻に撮像したものであり、視差を有する。
【0021】
[符号化について]
まず、符号化について説明する。符号化部106は、ピクチャ対ごとに、右眼用のベースビュー(base view)のピクチャ、左目用のノンベースビュー(non-base view)のピクチャの順で符号化する。よって、たとえば、ピクチャPR1、PL1、・・・、PRn−2、PLn−2、PRn−1、PLn−1、PRn、PLnの順で、符号化が行われる。
【0022】
各ピクチャの符号化は、ピクチャを小領域のブロックに分割し、ブロックごとに行われる。ブロックは、たとえば、16×16画素を有するマクロブロックや、マクロブロックをさらに分割した可変ブロック(たとえば、16×16画素のマクロブロックを、16×8画素、8×16画素、8×8画素、8×4画素、4×8画素、または4×4画素に分割した単位)である。たとえば、ピクチャPLnを符号化するとき、符号化部106は、ピクチャPLnの画素を複数のブロックに分割し、ラスタスキャン方向に沿ってブロックごとに、MVC対応のH.264規格に従って符号化を行う。
【0023】
たとえばブロックMBnを符号化するとき、符号化部106は、ブロックMBnと同時刻の対のピクチャPRn、時間的に近接する他のピクチャ、または、同一ピクチャPLnから、ブロックMBnと一致または近似するブロックを検出し、検出したブロックを参照して(以下、参照されるブロックを参照ブロックという)符号化対象ブロックMBnを予測する。そして、符号化部106は、予測した予測ブロックと実際の符号化対象ブロックMBnとの残差データを求め、求めた残差データと、予測に用いた情報を示す予測情報データとを符号化する。残差データは、DCT変換(離散コサイン変換)と量子化が行われた後、CAVLC(Context-based Adaptive Variable Length Coding)やCABAC(Context-based Adaptive Binary Arithmetic Coding)により符号化される。また、予測情報データは、指数ゴロム符号を用いて符号化される。
【0024】
参照ブロックによる予測方式には、他のピクチャ内のブロックを参照して行うインター予測、同一ピクチャPLn内で予測を行うイントラ予測とがある。また、参照ブロックをそのまま用いるスキップという処理もある。スキップでは、多くの場合、同視点の直前のピクチャ、または同時刻の対のピクチャの参照ブロックがそのまま用いられる。
【0025】
インター予測による符号化には、さらに、図2(A)において矢印INTRVで模式的に示されるように、ピクチャPLnと同時刻の対のピクチャPRn内の参照ブロックSAnから符号化対象ブロックMBnを予測する場合と、矢印INTRで模式的に示されるように、時間方向に近接する同視点のピクチャ(たとえば、2つ前のPLn−2)内の参照ブロックから符号化対象ブロックMBnを予測する場合とがある。以下では、対のピクチャ内の参照ブロックを用いる場合を特にインタービュー予測による符号化(以下、インタービュー符号化)と称し、時間方向に近接するピクチャ内の参照ブロックを用いる場合をインター予測による符号化(以下、インター符号化)と称して、両者を区別する。
【0026】
インタービュー符号化の場合、符号化部106は、ピクチャPLnの符号化対象ブロックMBnと(ほぼ)一致する参照ブロックSAnを対のピクチャPRnから検出する。参照ブロックSAnは、可変ブロックごとのマッチングにより検出される。マッチングでは、ブロック内の画素ごとの差分のたとえば絶対値誤差和を算出し、その値が最小となる場合に比較されたブロックが一致すると判断される。そして、符号化部106は、参照ブロックSAnを予測ブロックとして、符号化対象ブロックMBnとの残差データと、予測情報データとしての視差ベクトルを算出し、これらを符号化する。視差ベクトルは、参照ブロックSAnから符号化対象ブロックMBnへの移動方向と移動量とを示す動きベクトルである。
【0027】
一方、インター符号化の場合、符号化部106は、時間方向に連続する複数のピクチャのなかから、たとえば可変ブロックごとのマッチングにより、符号化対象ブロックMBnと一致、または最も近似する(たとえば、マッチングにおける絶対値誤差和が最小となる)参照ブロックSAn−2を検出する。ここで、検索対象のピクチャ数は、H.264規格の範囲で任意に(たとえば、過去に符号化された3枚のピクチャとそれぞれの対のピクチャ)設定される。ただし、H.264規格では、撮像順が後のピクチャであっても、符号化済みのピクチャから参照ブロックを検出することもできる。そして、符号化部106は、参照ブロックSAn−2を予測ブロックとして、符号化対象ブロックMBnとの残差データと、予測情報データとしての動きベクトルを算出し、これらを符号化する。動きベクトルは、参照ブロックSAn−2から符号化対象ブロックMBnへの移動方向と移動量とを示すベクトルである。
【0028】
また、スキップでは、符号化部106は、メディアン(中間値)予測によって得られる動きベクトルが示す、同視点の直前のピクチャPLn−1における参照ブロックMBn−1や、同時刻の対のピクチャPRnにおける参照ブロックSAnを、矢印SKPで模式的に示すように、そのまま符号化対象ブロックMBnに適用する。このとき、ブロックMBnは、たとえばスキップによるブロックの適用を示すゴロム符号で短いビット数が割り当てられる。
【0029】
そして、イントラ予測による符号化(以下、イントラ符号化という)では、符号化部106は、ピクチャPLn内で、符号化対象ブロックMBnに隣接するブロック内の画素に基づきブロックMBnを外挿予測し、予測ブロックと符号化対象ブロックMBnとの残差データと、補間方向などを有する予測情報データを符号化する。外挿予測に用いられる画素は、たとえば図2(B)に示すように、ラスタスキャン方向RSに沿ったラインにおいて、1つ前のラインでブロックMBnの上に位置するブロックMB2とその隣の先に符号化されるブロックMB1、並びに、ブロックMBnと同じラインでブロックMBnに隣接し、先に符号化されるブロックMB3に含まれ、符号化対象ブロックMBnに隣接する画素である。
【0030】
なお、H.264規格では、ブロック間の参照関係に応じ、同一ピクチャ内のブロックを参照して符号化が行わるIピクチャと、時間的に前のピクチャ内のブロックを参照して符号化が行われるPピクチャと、さらに時間的に前のピクチャに加え、時間的に後のピクチャ内のブロックを参照して符号化が行われるBピクチャが規定されている。さらに、H.264規格では、その先行規格であるMPEG−2においてIピクチャをまたいで他のピクチャのブロックを参照することが禁止されていたのとは異なり、Iピクチャをまたいでの参照が許容されている。また、1つのピクチャ対において、先に符号化されるベースビューのピクチャ内のブロックを後に符号化されるノンベースビューのピクチャから参照することが可能である。また、Bピクチャの場合のみのダイレクトモードで符号化される場合もある。ダイレクトモードでは、動きベクトルや参照インデックスを符号化せずに、時間予測(temporal)か空間予測(spatial)を選択することで、予測されるブロックと符号化対象のブロックMBnとの残差データが算出される。
【0031】
符号化部106は、上記のようなインタービュー符号化、インター符号化、スキップ、またはイントラ符号化のいずれかを、それぞれの符号化が行われる場合ごとの評価値に応じて選択する。この評価値は、参照ブロックと符号化対象ブロックMBnとの差分の二乗誤差和及び各符号化が実行された場合に推定される符号量と、トレードオフの関係にある評価値である。すなわち、評価値が小さいほど、符号化効率がよく、評価値が大きいほど、符号化効率が悪い。符号化部106は、符号化対象ブロックMBnごとに、各符号化方法についての評価値を求め、たとえば評価値が最も小さい符号化方法、すなわち、符号化対象ブロックMBnと参照ブロックとの差分が少しでも小さく、かつ符号化されたときのデータ量が少しでも小さくなるような、最も符号化効率がよい符号化方法を選択する。なお、符号化方法は、ブロックごとに異なってもよい。また、符号化は、h.264のシンタックス要素に準拠するように行われる。
【0032】
たとえば、動きが多いシーンなど、時間方向におけるピクチャ間の相関が低く、したがって時間方向に隣接するピクチャ間の差分が大きい場合には、時間方向の他のピクチャではなく、同時刻の対のピクチャ内の参照ブロックを用いるインタービュー符号化やスキップ、または同一ピクチャ内の外挿予測を用いるイントラ符号化が選択される。反対に、動きが少ないシーンなど、時間方向におけるピクチャ間の相関が高く、したがってピクチャ間の差分が小さい場合には、時間方向の他のピクチャ内の参照ブロックを用いるインター符号化やスキップが選択される。
【0033】
[復号処理について]
次に、復号処理について説明する。復号部107は、ラスタスキャン方向に沿ってブロック(たとえば、マクロブロックや可変ブロック)ごとに復号を行う。たとえば、ピクチャPLnの復号対象ブロックMBnを復号する場合、復号部107は、シンタックス要素から復号対象ブロックMBnの復号に必要な情報を取得する。この情報には、そのスライスに含まれる各ブロックの符号化方法(すなわち、インタービュー符号化、インター符号化、スキップ、またはイントラ符号化)と、参照ブロックの情報が含まれる。そして、復号部107は、復号対象ブロックMBnの、符号化された残差データや予測情報データを復号する。復号処理では、符号化の逆の手順で、逆量子化や逆DCT変換が行われる。
【0034】
そして、復号部107は、採用された符号化方法に従って、先に復号された参照ブロックを参照しつつ、復号した残差データや予測情報データを用いてブロックMBnを復号する。たとえば、インタービュー符号化が採用されていた場合、参照ブロックから視差ベクトルにより予測される予測ブロックを残差データで補正し、ブロックMBnが復号される。また、インター符号化が採用されていた場合、参照ブロックから動きベクトルにより予測される予測ブロックを残差データで補正し、ブロックMBnが復号される。さらに、スキップが採用されていた場合、参照ブロックをそのまま適用することで、ブロックMBnが復号される。そして、イントラ符号化が採用されていた場合、復号対象ブロックMBnに隣接する画素の外挿予測により予測される予測ブロックを残差データで補正し、ブロックMBnが復号される。
【0035】
ここで、たとえば符号化された立体動画像データをメモリ110から読み出して復号する場合、記憶素子の経年劣化や環境温度の影響により、メモリ110に格納されたデータが破壊されたりいわゆるデータ化けしたりして残差データや予測情報データが損なわれ、復号エラーが発生する場合がある。たとえば、予測情報データが損なわれると、補間方向、動きベクトル、視差ベクトルなどが不明となる。すると、本来のブロックが復号できなくなり、立体動画像データの復号に支障をきたす。そこで、復号部107は、次に示すようにして、かかる復号エラーを修復する。
【0036】
図3は、復号部107の詳細な構成例を示す。復号部107は、ヘッダ解析部302、312、ブロック復号部304、314、フレームメモリ308、318、及び、エラー修復部310を有する。エラー修復部310は、さらに、エラーチェック部306、316、視差推定部320、画像修復部322を有する。ヘッダ解析部302、ブロック復号部304、フレームメモリ308、エラーチェック部306は、たとえば右眼用の連続したピクチャの処理に対応する。一方、ヘッダ解析部312、ブロック復号部314、フレームメモリ318、エラーチェック部316は、左眼用の連続したピクチャの処理に対応する。これら左右の処理系は、ここでは図示されない制御部による制御のもと動作する。
【0037】
まず、復号部107には、メモリ110から読み出された一連のピクチャ対の符号化データ301、311が入力される。右眼用のピクチャの符号化データ301はヘッダ解析部302に、左眼用のピクチャの符号化データ311はヘッダ解析部312に入力される。
【0038】
ヘッダ解析部302、312は、h.264のシンタックス要素に準拠してNAL(Network Abstraction Layer)ユニットをそれぞれ解析する。たとえば、ヘッダ解析部302、312は、SPS(Sequence Parameter Set)、PPS(Picture Parameter Set)、subset PPS、SEI(Supplemental Enhancement Information)などの解析や、スライスヘッダの解析を行う。スライスヘッダには、各スライスの復号に必要な情報、たとえば、表示順を示すPOC(Picture Order Count)や参照ブロックリストの並び替え情報などが含まれる。ヘッダ解析部302、312は、各スライスヘッダから、各スライスの復号に必要な情報を取得し、スライスのデータとともにブロック復号部304、314に転送する。
【0039】
ブロック復号部304、314は、復号するブロック(たとえば、マクロブロック)についてmacroblock_layerのref_idx_10、またはref_idex_11から参照先情報を取得し、参照ブロックを含む復号済みピクチャをフレームメモリ308、318からそれぞれ読み出す。そして、ブロック復号部304、314は、各ブロックを対応する符号化方法に応じて復号する。また、ブロック復号部304、314は、復号したブロックをエラーチェック部306、316にそれぞれ転送する。ここで、ブロック復号部304、314は、復号エラーを検出したとき、復号エラーが発生したブロックを示す情報(たとえばマクロブロック番号)をエラーチェック部306、316にそれぞれ転送する。復号エラーは、たとえば、インタービュー符号化、インター符号化、またはイントラ符号化が採用された場合であって参照先情報が存在しない場合、動きベクトルや視差ベクトルの大きさが規定の最大値を超過する場合、符号化データを逆量子化したときに係数値が規定の最大値を超過する場合、逆DCT変換したときに係数値が規定の最大値を超過する場合、または、復号済みマクロブロック数が規定の数より不足する場合などに検出される。
【0040】
エラーチェック部306、316は、正常に復号されたブロックがブロック復号部304、314からそれぞれ送られると、復号されたブロックを順次フレームメモリ308、318に格納する。こうしてフレームメモリ308、318には、復号済みブロックを有する復号済みピクチャが格納される。一方、復号エラーが発生したブロック番号(マクロブロック番号)がブロック復号部304、314からそれぞれ送られた場合には、エラーチェック部306、316は、各ピクチャのエラーが検出されたブロック番号をたとえば内部のレジスタに記録する。そして、エラーチェック部306、316は、エラー修復部310の視差推定部320に、エラーが検出されたエラーブロックのブロック番号と、復号エラーの修復を指示する信号とを送る。
【0041】
次に、エラー修復部310は、復号エラーの修復を行う。ここで、立体動画像データにおける各ピクチャ対は、エラーブロックと同じ(または、ほぼ同じ)ブロックを有している。よって、復号エラーが発生したエラーピクチャの対のピクチャが正常に復号されていれば、対のピクチャにはエラーにより復号されなかった本来のブロックが含まれている。このことを利用し、エラー修復部310は、エラーピクチャの対のピクチャから本来のブロックを抽出してエラーピクチャにおけるエラーブロックに適用し、復号エラーを修復する。ただし、対のピクチャの本来のブロックは、対のピクチャにおいて、エラーブロックの位置から視差分ずれた位置にあるので、エラーブロックの位置のブロックを抽出しても本来のブロックが得られない。そこで、視差推定部320が、エラーピクチャにおけるエラーブロックの視差を推定する視差推定処理を行う。視差推定処理については、後述する。
【0042】
視差推定処理が実行されると、画像修復部322が、エラーピクチャの対のピクチャに含まれるブロックのうち、推定された推定視差分エラーブロックの位置からずれた位置にあるブロックをエラーブロックに適用して復号エラーを修復する。そうすることで、本来のブロックと(ほぼ)同じブロックにより復号エラーを修復できる。
【0043】
そして、復号エラーが修復されたピクチャは、画像修復部322からフレームメモリ308または318に転送されて格納される。そして、フレームメモリ308、318から、それぞれ左右のピクチャを含む立体動画像データ309、319が読み出される。
【0044】
[視差推定処理について]
ここで、本実施形態における視差推定処理について説明する。視差推定処理では、視差推定部320は、エラーピクチャより過去に復号されたピクチャ対のうち、エラーピクチャと最も近似する近似ピクチャを有するピクチャ対から、推定視差を求める。たとえば、噴水、滝、紙吹雪、風に揺れる木の葉といった時々刻々と被写体の形状や位置が変化する動きが多いシーンの場合、連続するピクチャ間におけるブロックの差分は大きいが、ある程度のピクチャ数の周期でみると、被写体の形状や位置が反復され、極めて近似するブロックを有するピクチャが存在する蓋然性が高い。よって、視差推定部320は、次のようにして、過去に復号されたピクチャ対から、エラーブロックに近似するブロックを有する近似ピクチャを含むピクチャ対を選択し、そのピクチャ対におけるエラーブロックに対応する箇所の視差を推定視差として求める。なお、以下では、エラーピクチャ以外のピクチャにおけるエラーブロックXnに対応する箇所を、便宜上、エラー対応箇所という。このとき、エラーブロックは復号されておらず比較することができないので、エラーブロックとその周辺の周辺ブロックとが近似する蓋然性が高いことを利用し、周辺ブロックが近似するピクチャ対が選択される。
【0045】
図4は、視差推定処理について説明する図である。図4には、左眼用ピクチャPLn−3、PLn−2、PLn−1、PLnと、右眼用ピクチャPRn−3、PRn−2、PRn−1、PRnとが示される。ここでは、ピクチャPRn−3、PLn−3、PRn−2、PLn−2、PRn−1、PRL−1、PRn、PLnの順で復号が行われ、ピクチャPLnを復号するときにブロックXnで復号エラーが検出されたものとする。
【0046】
視差推定部320は、エラーピクチャPLnにおけるエラーブロックXn周辺の周辺ブロックと最も近似するブロックを有するピクチャ対を、復号済みのピクチャ対から選択する。復号済みのピクチャ対は、フレームメモリ308、318から読み出される。エラーブロックXnの周辺ブロックは、たとえば、エラーブロックXnと同じラインで直前に符号化及び復号されるブロックAn、及び、エラーブロックXnの1つ前のブロックラインに含まれ、エラーブロックXnの上に位置するブロックBnとその直前に符号化及び復号されるブロックCnである。各周辺ブロックは、たとえば、マクロブロックや可変ブロックである。なお、周辺ブロックは、正常に復号されたブロックであればよく、その数や位置は、ここに示す例に限られない。
【0047】
視差推定部320は、ピクチャPLnにおける周辺ブロックAn、Bn、及びCnを、同視点の復号済みピクチャPLn−3〜PLn−1のそれぞれにおける同じ位置のブロックと比較し、その差分、たとえば二乗誤差和を算出する。なお、比較対象とする過去のピクチャ数は、1以上の任意の数とすることができる。ここでは、たとえば、ピクチャPLn−3、PLn−2、及びPLn−1の、直近の3ピクチャが比較対象とされる。そして、視差推定部320は、各二乗誤差和の合計値が最小となる近似ピクチャを含むピクチャ対を選択する。ここでは、たとえば近似ピクチャPLn−3とその対のピクチャPRn−3が選択されるものとする。
【0048】
視差推定部320は、選択した近似ピクチャPLn−3とその対のピクチャPRn−3において、エラー対応箇所の、すなわちエラーブロックXnに対応するブロックXn−3の視差を求める。具体的には、視差推定部320は、ブロックごとのマッチングにより、エラー対応箇所のブロックXn−3に一致またはほぼ一致する(たとえば画素値の二乗誤差和が最小となる)ブロックXn−3´を、ピクチャPRn−3から検出する。そして、視差推定部320は、ブロックXn−3とXn−3´ の視差ベクトルPVxを、その位置の差分から算出する。この視差ベクトルPVxが推定視差ベクトルPVx、すなわち推定視差として用いられる。
【0049】
そして、画像修復部322は、ピクチャPRnに含まれるブロックのうち、エラー対応箇所から推定視差、すなわち推定視差ベクトルPVx分ずれた位置にあるブロックXn´を抽出する。そして、画像修復部322は、抽出したブロックXn´をピクチャPLnのエラーブロックXnに適用し、復号エラーを修復する。
【0050】
このように、過去のピクチャ対から周辺ブロックが最も近似する近似ピクチャを含むピクチャ対を選択するので、選択したピクチャ対において、エラー対応箇所のブロックが本来のエラーブロックと近似する蓋然性が大きくなる。そして、その選択したピクチャ対におけるエラー対応箇所の視差を推定視差とすることで、より高精度にエラーブロックの視差を推定できる。よって、対のピクチャから精度よく修復用のブロックを抽出でき、復号エラーの修復精度が向上する。特に、動きの多いシーンなど、時間方向に隣接したピクチャ間の差分が大きく、したがって、エラーピクチャと同視点の直前のピクチャにおけるエラー対応箇所のブロックを用いたのでは本来のエラーブロックとの差分が大きくなってしまう場合であっても、精度よく復号エラーが修復される。また、たとえば、H.246におけるCABACなどでは、ラスタスキャン方向において1つのマクロブロックに復号エラーが生じると、そのマクロブロックが含まれるスライスにおける以降のマクロブロックの復号処理が破綻する場合があるが、かかる状況を回避できる。
【0051】
[動作手順例]
次に、本実施形態における復号部107の動作手順例について説明する。
【0052】
図5は、復号部107の動作手順例を示すフローチャート図である。図5の手順は、1ピクチャごとに実行される。まず、ヘッダ解析部302、312に、それぞれ1ピクチャ分のデータが入力される(S500)。そして、ヘッダ解析部302、312は、それぞれ1ピクチャ分のヘッダ解析を行い(S502)、NALユニットの解析を行う。
【0053】
次いで、ブロック復号部304、314は、それぞれ、ブロック(たとえばマクロブロック)を復号する(S504)。そして、エラーチェック部306、316は、それぞれブロックの復号エラーが検出されたかをチェックする(S506)。復号エラーが検出されなければ(S508のNo)、手順S518が実行される。一方、復号エラーが検出されたとき(S508のYes)、エラー修復部310が復号エラーの修復処理を行う(S510)。そして、ブロック復号部304、314は、次のブロックの復号処理が可能かどうかを確認する(S514)。手順S510において復号エラーが修復されていれば(加えて、ヘッダのデータが破壊されていなければ)、後続のブロックの復号が可能になる。よって、その場合(S514のYes)、処理は手順S518に進む。一方、手順S510において復号エラーが修復されておらず、後続のブロックの復号ができない場合(S514のNo)、エラー修復部310は、そのスライスの最後のブロックまで同様の修復処理を行う(S516)。そうすることで、1つのスライス内でエラー修復を行うことができ、1ピクチャ内の残りのスライスでのブロックの復号ができなくなるといった事態を回避できる。
【0054】
手順S518では、ブロック復号部304、314は、1ピクチャ内のすべてのブロックの復号が終了したかをそれぞれ確認する。そして、すべてのブロックの復号が終了するまで(S518のNo)、手順S504〜S516が繰り返される。一方、すべてのブロックの復号が終了した場合(S518のYes)エラーチェック部306、316は、1ピクチャのデータを、フレームメモリ308、318にそれぞれ格納する。そして、手順S500が、次のピクチャについて実行される。
【0055】
図6は、復号エラー修復処理の詳細な手順例を示すフローチャート図である。図6の手順は、図5の手順S510のサブルーチンに対応する。この手順例では、図4で示した視差推定処理に加え、エラーブロック周辺の周辺ブロックの符号化方法に応じて異なる視差推定処理が選択的に実行される。
【0056】
視差推定部320は、エラーチェック部306または316からのエラー修復の開始を指示する制御信号を受信する(S600)。そして、視差推定部320は、エラーブロックの周辺を、ブロック(マクロブロックまたは可変ブロック)単位に分割する(S602)。たとえば、図4に示したように、周辺ブロックAn、Bn、及びCnに分割される。そして、視差推定部320は、エラーチェック部304、314から伝送される周辺ブロックの符号化方法に応じて、実行する視差推定処理を決定する。
【0057】
たとえば、周辺ブロックが1つでもインタービュー符号化されている場合(S604のYes)、インタービュー符号化の場合の視差推定処理が実行される(S605)。この場合、時間方向におけるピクチャ間での差分より、ピクチャ対の差分の方が小さい蓋然性が高い。よって、エラーピクチャを含むピクチャ対における周辺ブロックの視差から、推定視差が求められる。そうすることで、精度よい視差推定処理が可能になる。
【0058】
ここで、インタービュー符号化の場合の視差推定処理について、図7、8を用いて説明する。図7は、インタービュー符号化の場合における視差推定処理について説明する図である。また、図8は、その手順例を示すフローチャート図であり、手順S605のサブルーチンに対応する。
【0059】
図7には、エラーピクチャPLnにおけるエラーブロックXnが示され、さらに、その周辺の所定の周辺ブロックの例として図4で示した周辺ブロックAn、Bn、及びCnが示される。周辺ブロックAn、Bn、及びCnのいずれかがインタービュー符号化及び復号された場合、エラーブロックXnも、周辺ブロックの視差ベクトルに近似する視差ベクトルを用いて、インタービュー符号化された蓋然性が高い。そこで、視差推定部320は、ピクチャ対PLn、PRnにおける周辺ブロックAn、Bn、及びCnの、視差ベクトルPVa、PVb、及びPVcから、推定視差ベクトルを算出する(図8のS800)。ここで、視差ベクトルPVa、PVb、及びPVcは、各周辺ブロックAn、Bn、及びCnの、ピクチャPRnにおける参照ブロックAn´、Bn´、及びCn´からのベクトルである。
【0060】
具体的には、周辺ブロックAn、Bn、及びCnのうち、いずれか1つがインタービュー符号化及び復号された場合にはその周辺ブロックの視差ベクトルを推定視差ベクトルとし、いずれか2つ以上がインタービュー符号化及び復号された場合、その周辺ブロックの視差ベクトルの平均を推定視差ベクトルとする。複数の視差ベクトルの平均は、たとえば、複数の視差ベクトルの水平方向成分と垂直方向成分のそれぞれの平均を成分とするベクトルである。
【0061】
図6に戻る。周辺ブロックにインタービュー符号化されたブロックが含まれておらず(S604のNo)、1つでもインター符号化されている場合(S606のYes)、インター符号化の場合の視差推定処理が実行される(S607)。この場合、エラーピクチャとインター予測の参照ブロックを有するピクチャとの差分が最も小さい蓋然性が高い。よって、参照ブロックを含むピクチャ対における周辺ブロックの視差から、推定視差が求められる。
【0062】
ここで、インター符号化の場合の視差推定処理について、図9、10を用いて説明する。 図9は、インター符号化の場合における視差推定処理について説明する図である。また、図10は、その手順例を示すフローチャート図であり、手順S607のサブルーチンに対応する。
【0063】
図9には、エラーピクチャPLnにおけるエラーブロックXnと、その周辺の所定の周辺ブロックAn、Bn、及びCnが示される。ここでは、周辺ブロックAn、Bn、及びCnにインタービュー符号化及び復号されたブロックが含まれず、いずれかが1つでもインター符号化及び復号されている。この場合、エラーブロックXnも、周辺ブロックの動きベクトルに近似する動きベクトルを用いてインター符号化された蓋然性が高い。そこで、視差推定部320は、周辺ブロックの参照ブロックを含むピクチャ対で、推定視差を求める。なお、複数の周辺ブロックがインター符号化及び復号される場合、各周辺ブロックの参照ブロックは異なるピクチャ内にあってもよい。ただし、ここでは説明の便宜上、周辺ブロックAn、Bn、及びCnの参照ブロックAn−3、Bn−3、及びCn−3が、いずれもピクチャPLn−3内に含まれる場合が示される。
【0064】
まず、視差推定部320は、フレーメモリ308または318から、周辺ブロックのインター符号化で参照される参照ブロックを含む過去のピクチャ対を読み出す(図10のS1000)。たとえば、周辺ブロックAn、Bn、及びCnの参照ブロックAn−3、Bn−3、及びCn−3を含む、ピクチャ対PLn−3、PRn−3が読み出される。
【0065】
そして、視差推定部320は、周辺ブロックの動きベクトルから、エラーブロックの動きベクトルを推定する。そして、視差推定部320は、参照ブロックを含むピクチャにおいて、エラー対応箇所から動きベクトルMVx分ずれた位置にある、エラーブロックXnに対応するブロックXn−3を検出する(S1004)。
【0066】
視差推定部320は、たとえば、予め周辺ブロックAn、Bn、及びCnの順で優先順を設定しておき、周辺ブロックAnがインター符号化及び復号された場合には、その動きベクトルMVaをエラーブロックXnの動きベクトルMVxと推定し、参照ブロックAn−3を含むピクチャPLn−3において、動きベクトルMVaを用いてエラーブロックXnに対応するブロックXn−3を検出する。または、周辺ブロックAnがインター符号化及び復号されておらず、周辺ブロックBnがインター符号化及び復号された場合には、視差推定部320は、動きベクトルMVbをエラーブロックXnの動きベクトルMVxと推定し、参照ブロックBn−3を含むピクチャPLn−3において、動きベクトルMVbを用いてエラーブロックXnに対応するブロックXn−3を検出する。または、周辺ブロックAn、Bnがインター符号化及び復号されておらず、周辺ブロックCnがインター符号化及び復号された場合には、視差推定部320は、動きベクトルMVcをエラーブロックXnの動きベクトルMVxと推定し、参照ブロックCn−3を含むピクチャPLn−3において、動きベクトルMVcを用いてエラーブロックXnに対応するブロックXn−3を検出する。
【0067】
次いで、視差推定部320は、検出したブロックXn−3の視差ベクトルを推定視差ベクトルとして算出する(S1004)。たとえば、視差推定部320は、ピクチャPLn−3の対のピクチャPRn−3において、ブロックXn−3と一致するか、またはほぼ一致するブロックXn−3´を可変ブロックごとのマッチングにより検出する。そして、視差推定部320は、ブロックXn−3とXn−3´の視差ベクトルPVxを求め、推定視差ベクトルとする。
【0068】
図6に戻る。周辺ブロックにインタービュー符号化またはインター符号化されたブロックが含まれておらず(S606のNo)、1つでもスキップされている場合(S608のYes)、スキップの場合の視差推定処理が実行される(S609)。スキップには、上述のように、同視点の直前のピクチャの参照ブロックが用いられる場合と、同時刻の対のピクチャの参照ブロックが用いられる場合とがある。同視点の直前のピクチャの参照ブロックが用いられる場合には、直前のピクチャにおけるエラー対応箇所のブロックがエラーブロックにそのまま用いられている蓋然性が高いので、そのブロックにおける視差が推定視差として用いられる。また、同時刻の対のピクチャの参照ブロックが用いられる場合は、エラーブロックと周辺ブロックが近似することから、エラーブロックの視差と周辺ブロックの視差が近似する蓋然性が高いので、周辺ブロックの視差が推定視差として用いられる。なお、Bピクチャのダイレクトモードの場合にもスキップと判断する。
【0069】
ここで、スキップの場合の視差推定処理について、図11、12を用いて説明する。 図11は、スキップの場合における視差推定処理について説明する図である。また、図12(A)、(B)は、その手順例を示すフローチャート図であり、いずれも、手順S609のサブルーチンに対応する。
【0070】
図11では、エラーピクチャPLnにおけるエラーブロックXnの周辺の所定の周辺ブロックAn、Bn、及びCnの1つ以上が、スキップされている。たとえば、直前のピクチャPLn−1の参照ブロックAn−1、Bn−1、またはCn−1をそのまま適用するスキップが行われている場合には図12(A)の手順が実行される。視差推定部320は、フレーメモリ308または318から、スキップの参照ブロックを含むピクチャ、すなわち同視点の直前のピクチャPLn−1を読み出す(S1200)。次いで、視差推定部320は、読み出したピクチャPLn−1におけるエラー対応箇所周辺をブロックに分割し(S1202)、エラー対応箇所のブロックを検出してその視差ベクトルを算出する(S1204)。このとき、たとえば、ピクチャPLn−1において検出されたエラー対応箇所のブロックXn−1と一致するブロックXn−1´が、マッチングによりピクチャPRn−1から検出される。そして、ブロックXn−1とXn−1´の視差ベクトルPVxが算出され、推定視差ベクトルとされる。
【0071】
一方、同時刻の対のピクチャPRnの参照ブロックAn´、Bn´、またはCn´をそのまま適用するスキップが行われている場合には、図12(B)の手順が実行される。視差推定部320は、ピクチャPLnにおける周辺ブロックAn、Bn、またはCnの視差ベクトルを算出し、推定視差ベクトルとする(S1200b)。周辺ブロックAn、Bn、またはCnの視差は、各周辺ブロックAn、Bn、またはCnと、ピクチャPRnにおけるAn´、Bn´、またはCn´との視差ベクトルである。複数の視差ベクトルがある場合、その平均が推定視差ベクトルとされる。
【0072】
図6に戻る。周辺ブロックにインタービュー符号化、インター符号化、またはスキップされたブロックが含まれていなければ、すなわち、周辺ブロックがすべてイントラ符号化されているときは(S608のNo)、イントラ符号化の場合の視差推定処理が実行される(S610)。ここで、図4で説明した、本実施形態の視差推定処理が実行される。
【0073】
図13は、イントラ符号化の場合の視差推定処理の手順例を示すフローチャート図であって、手順S610のサブルーチンに対応する。視差推定部320は、フレーメモリ308または318から、エラーピクチャより過去に復号された複数のピクチャ対を読み出す(S1300)。そして、視差推定部320は、取得したピクチャにおけるエラー対応箇所の周辺をブロックに分割する(S1302)。たとえば、図4の例では、ピクチャPLn−3〜PLn−1のそれぞれにおいて、エラー対応箇所周辺が周辺ブロックAn、Bn、及びCnに対応するブロックに分割される。そして、視差推定部320は、周辺ブロックAn、Bn、及びCnと同じ位置のブロックが最も近似するピクチャを選択する(S1304)。たとえば、図4の例では、ピクチャPLn−3が選択される。そして、視差推定部320は、選択したピクチャにおけるエラー対応箇所の視差ベクトルを算出する(S1306)。たとえば、図4の例では、ピクチャ対PLn−3、PRn−3におけるブロックXn−3の視差ベクトルPVxが算出される。
【0074】
図6に戻ると、上述した各符号化の場合の視差推定処理に次いで、視差推定部320は、画像修復部322に推定視差に対応する推定視差ベクトルを転送する(S612)。そして、フレームメモリ308または318から、画像修復部322に、エラーピクチャの対のピクチャが転送される(S614)。そして、画像修復部322は、推定視差に基づき対のピクチャからエラー修復のためのブロックを抽出し、これをエラーブロックに適用して復号エラーを修復する(S616)。
【0075】
上述した手順によれば、符号化方法に応じた精度よい視差推定が可能になり、したがって、エラー修復精度が向上する。たとえば、符号化効率にもよるが、周辺ブロックにおける時間方向の相関が低く、しかしピクチャ対における相関が高い(すなわち視差が小さい)ためインタービュー符号化や対のピクチャからのスキップが採用された場合、周辺ブロックの視差ベクトルを推定視差としたときに推定視差と本来求めるべき視差との誤差があったとしても、その誤差は小さく抑えられる。よって、精度よく視差推定を行うことができる。
【0076】
また、時間方向における相関がインタービュー符号化や対のピクチャからのスキップの場合より高く、インター符号化や直前のピクチャからのスキップが採用された場合、周辺ブロックの参照ブロックを含むピクチャ対では、エラー対応箇所のブロックが本来のブロックと近似する蓋然性が高いので、エラー対応箇所の視差を推定視差とすることで、精度よく視差推定を行うことができる。
【0077】
そして、時間方向、ピクチャ対においてピクチャ間の相関が最も低くイントラ符号化が採用された場合であっても、過去のピクチャ対からエラーピクチャの周辺ブロックに近似するブロックを含むピクチャ対を選択し、そのピクチャ対におけるエラー対応箇所の視差を推定視差とすることで、精度よく視差推定を行うことができる。この場合、周辺ブロックでインタービュー符号化や対のピクチャからのスキップが用いられた場合と比較すると、周辺ブロックの視差は大きくなる。よって、周辺ブロックの視差を算出して推定視差としようとすると、推定視差が比較的大きいので、推定視差と本来求めるべき視差との誤差が大きくなるおそれがある。しかし、過去に復号されたピクチャ対のなかから周辺ブロックが最も近似したピクチャ対を選択し、そのピクチャ対におけるエラー対応箇所の視差を求めて推定視差とすることで、より高精度な視差推定処理が可能になる。
【0078】
次に、本実施形態におけるイントラ符号化の場合の視差推定処理の変形例について説明する。
【0079】
[第1変形例]
第1変形例では、過去に復号された複数のピクチャから、エラーピクチャにおける周辺ブロックに最も近似するブロックを有するピクチャを選択する代わりに、視差推定部320は、過去に復号された複数のピクチャにおけるエラー対応箇所のブロックの視差の平均を求め、その平均を推定視差とする。
【0080】
図14は、第1変形例における視差推定方法を説明するための図である。図14にはエラーピクチャPLn、ピクチャPRnのピクチャ対と、過去に復号された、ピクチャ対PLn−1、PRn−1、ピクチャ対PLn−2、PRn−2、及びピクチャ対PLn−3、PRn−3が示される。また、ピクチャPLn−3〜PLn−1において、ブロックXn−3〜Xn−1が、エラー対応箇所のブロックである。視差推定部320は、ピクチャPRn−3〜PRn−1において、ブロックXn−3〜Xn−1と(ほぼ)一致するブロックXn−3´〜Xn−1´を、たとえば可変ブロックごとのマッチングによりそれぞれ検出する。そして、視差推定部320は、各ピクチャ対において、ブロックXn−3〜Xn−1の視差ベクトル、つまり、ブロックXn−3〜Xn−1とブロックXn−3´〜Xn−1´との間の視差ベクトルPVn−3〜PVn−1をそれぞれ求め、これらの平均の視差ベクトルPVxを推定視差ベクトルPVxとする。
【0081】
図15は、第1変形例における視差推定手順を示すフローチャート図である。図15の手順は、図13の手順の変形例に対応する。図13と同じ手順には、図13と同じ符号が付される。視差推定部320は、フレーメモリ308または318から、過去に復号された複数のピクチャを読み出す(S1300)。次いで、視差推定部320は、過去に復号された複数のピクチャ対において、エラー対応箇所のブロックの視差ベクトルを算出する(S1500)。たとえば、図15の例では、ピクチャPLn−3〜PLn−1とPRn−3〜PRn−1におけるブロックXn−3〜Xn−1の視差ベクトルPVn−3〜PVn−1が求められる。そして、視差推定部320は、求めた視差ベクトルの平均を算出する(S1502)。たとえば、図15の例では、視差ベクトルPVnー3〜PVn−1の平均の視差ベクトルPVxが算出され、推定視差ベクトルとされる。
【0082】
このような第1変形例によれば、時間方向におけるピクチャ間の相関が低い場合であっても、精度よく視差推定処理を行うことができる。なお、さらなる変形例として、エラーブロックの周辺ブロックの視差ベクトルの時間平均を、推定視差ベクトルとすることもできる。
【0083】
[第2変形例]
第2変形例では、第1変形例における複数の視差ベクトルの平均を算出する代わりに、複数の視差ベクトルの中間値を推定視差ベクトルとする。平均を算出する場合より、処理負荷を軽減することができる。なお、さらなる変形例として、エラーブロックの周辺ブロックの視差ベクトルの中間値を、推定視差ベクトルとすることもできる。
【0084】
図16は、第2変形例における視差推定手順を示すフローチャート図である。図16の手順は、図15の手順において手順S1502が手順S1602に置き換えられたものである。手順S1602では、視差推定部320は、過去のピクチャ対において求めた視差ベクトルの中間値を算出する。
【0085】
以上説明したとおり、本実施形態によれば、立体動画像データにおいて復号エラーを精度よく修復することができる。
【0086】
以上の実施の形態をまとめると、次の付記のとおりである。
【0087】
(付記1)
視差を有する連続したピクチャ対を含む符号化された立体動画像データを前記ピクチャを分割したブロックごとに復号し、復号エラーを検出する復号部と、
前記復号エラーが検出されたエラーブロックを有するエラーピクチャより過去に復号され、前記エラーブロックに対応する対応箇所周辺のブロックが前記エラーピクチャにおける前記エラーブロック周辺のブロックと近似するような近似ピクチャとその対のピクチャにおける当該対応箇所の視差を、前記エラーピクチャとその対のピクチャにおける前記エラーブロックの視差として推定する第1の推定処理を行う推定部と、
前記エラーピクチャの対のピクチャにおける前記対応箇所から前記推定された推定視差分ずれた位置にあるブロックを、前記エラーブロックに適用して前記復号エラーを修復する修復部と、
を有する画像処理装置。
【0088】
(付記2)
付記1において、
前記近似ピクチャは、前記エラーピクチャより過去に復号されたピクチャのうち、前記対応箇所周辺のブロックと前記エラーピクチャにおける前記エラーブロック周辺のブロックとの二乗誤差が最小となるようなピクチャである、
画像処理装置。
【0089】
(付記3)
付記1または2において、
前記推定部は、前記近似ピクチャにおける前記対応箇所の第1のブロックに対応する第2のブロックを当該近似ピクチャの対のピクチャから検出し、当該第1、第2のブロックの位置の差から前記推定視差を求める、
画像処理装置。
【0090】
(付記4)
付記1乃至3のいずれかにおいて、
前記推定部は、前記エラーピクチャより過去に復号された複数のピクチャにおける前記対応箇所の視差の平均または中間の視差を前記推定視差として求める、
画像処理装置。
【0091】
(付記5)
付記1乃至4のいずれかにおいて、
前記推定部は、前記復号部が前記エラーピクチャにおける前記エラーブロック周辺の所定のブロックを当該エラーピクチャ内のブロックを参照する第1の符号化方法により復号した場合に、前記第1の推定処理を行う、
画像処理装置。
【0092】
(付記6)
付記5において、
前記推定部は、前記復号部が前記エラーブロック周辺の前記所定のブロックを前記エラーピクチャとは異なる他のピクチャ内のブロックを参照する第2の符号化方法により復号した場合に、当該他のピクチャとその対のピクチャにおける前記対応箇所の視差を前記推定視差とする第2の推定処理を行う、
画像処理装置。
【0093】
(付記7)
付記6において、
前記第1の符号化方法は、H.264規格におけるイントラ予測による符号化方法であり、前記第2の符号化方法は、H.264規格におけるインター予測による符号化方法である、
画像処理装置。
【0094】
(付記8)
視差を有する連続したピクチャ対を含む符号化された立体動画像データを前記ピクチャを分割したブロックごとに復号して、復号エラーを検出する復号手順と、
前記復号エラーが検出されたエラーブロックを有するエラーピクチャより過去に復号され、前記エラーブロックに対応する対応箇所周辺のブロックが前記エラーピクチャにおける前記エラーブロック周辺のブロックと近似するような近似ピクチャとその対のピクチャにおける当該対応箇所の視差を、前記エラーピクチャとその対のピクチャにおける前記エラーブロックの視差として推定する第1の推定処理を行う推定手順と、
前記エラーピクチャの対のピクチャにおける前記対応箇所から前記推定された推定視差分ずれた位置にあるブロックを、前記エラーブロックに適用して前記復号エラーを修復する修復手順と、
を有する画像処理方法。
【0095】
(付記9)
付記8において、
前記近似ピクチャは、前記エラーピクチャより過去に復号されたピクチャのうち、前記対応箇所周辺のブロックと前記エラーピクチャにおける前記エラーブロック周辺のブロックとの二乗誤差が最小となるようなピクチャである、
画像処理方法。
【0096】
(付記10)
付記8または9において、
前記推定手順で、前記近似ピクチャにおける前記対応箇所の第1のブロックに対応する第2のブロックを当該近似ピクチャの対のピクチャから検出し、当該第1、第2のブロックの位置の差から前記推定視差を求める、
画像処理方法。
【0097】
(付記11)
付記8乃至10のいずれかにおいて、
前記推定手順で、前記エラーピクチャより過去に復号された複数のピクチャにおける前記対応箇所の視差の平均または中間の視差を前記推定視差として求める、
画像処理方法。
【0098】
(付記12)
付記8乃至11のいずれかにおいて、
前記推定手順では、前記エラーピクチャにおける前記エラーブロック周辺の所定のブロックが当該エラーピクチャ内のブロックを参照する第1の符号化方法により復号された場合に、前記第1の推定処理を行う、
画像処理方法。
【0099】
(付記13)
付記12において、
前記推定手順では、前記エラーブロック周辺の前記所定のブロックを前記エラーピクチャとは異なる他のピクチャ内のブロックを参照する第2の符号化方法により復号された場合に、当該他のピクチャとその対のピクチャにおける前記対応箇所の視差を前記推定視差とする第2の推定処理を行う、
画像処理方法。
【0100】
(付記14)
付記13において、
前記第1の符号化方法は、H.264規格におけるイントラ予測による符号化方法であり、前記第2の符号化方法は、H.264規格におけるインター予測による符号化方法である、
画像処理方法。
【符号の説明】
【0101】
107:復号部、 304、314:ブロック復号部、
306、316:エラーチェック部、 320:視差推定部、 322:画像修復部

【特許請求の範囲】
【請求項1】
視差を有する連続したピクチャ対を含む符号化された立体動画像データを前記ピクチャを分割したブロックごとに復号し、復号エラーを検出する復号部と、
前記復号エラーが検出されたエラーブロックを有するエラーピクチャより過去に復号され、前記エラーブロックに対応する対応箇所周辺のブロックが前記エラーピクチャにおける前記エラーブロック周辺のブロックと近似するような近似ピクチャとその対のピクチャにおける当該対応箇所の視差を、前記エラーピクチャとその対のピクチャにおける前記エラーブロックの視差として推定する第1の推定処理を行う推定部と、
前記エラーピクチャの対のピクチャにおける前記対応箇所から前記推定された推定視差分ずれた位置にあるブロックを、前記エラーブロックに適用して前記復号エラーを修復する修復部と、
を有する画像処理装置。
【請求項2】
請求項1において、
前記近似ピクチャは、前記エラーピクチャより過去に復号されたピクチャのうち、前記対応箇所周辺のブロックと前記エラーピクチャにおける前記エラーブロック周辺のブロックとの二乗誤差が最小となるようなピクチャである、
画像処理装置。
【請求項3】
請求項1または2において、
前記推定部は、前記近似ピクチャにおける前記対応箇所の第1のブロックに対応する第2のブロックを当該近似ピクチャの対のピクチャから検出し、当該第1、第2のブロックの位置の差から前記推定視差を求める、
画像処理装置。
【請求項4】
請求項1乃至3のいずれかにおいて、
前記推定部は、前記エラーピクチャより過去に復号された複数のピクチャにおける前記対応箇所の視差の平均または中間の視差を前記推定視差として求める、
画像処理装置。
【請求項5】
請求項1乃至4のいずれかにおいて、
前記推定部は、前記復号部が前記エラーピクチャにおける前記エラーブロック周辺の所定のブロックを当該エラーピクチャ内のブロックを参照する第1の符号化方法により復号した場合に、前記第1の推定処理を行う、
画像処理装置。
【請求項6】
請求項5において、
前記推定部は、前記復号部が前記エラーブロック周辺の前記所定のブロックを前記エラーピクチャとは異なる他のピクチャ内のブロックを参照する第2の符号化方法により復号した場合に、当該他のピクチャとその対のピクチャにおける前記対応箇所の視差を前記推定視差とする第2の推定処理を行う、
画像処理装置。
【請求項7】
視差を有する連続したピクチャ対を含む符号化された立体動画像データを前記ピクチャを分割したブロックごとに復号して、復号エラーを検出する復号手順と、
前記復号エラーが検出されたエラーブロックを有するエラーピクチャより過去に復号され、前記エラーブロックに対応する対応箇所周辺のブロックが前記エラーピクチャにおける前記エラーブロック周辺のブロックと近似するような近似ピクチャとその対のピクチャにおける当該対応箇所の視差を、前記エラーピクチャとその対のピクチャにおける前記エラーブロックの視差として推定する第1の推定処理を行う推定手順と、
前記エラーピクチャの対のピクチャにおける前記対応箇所から前記推定された推定視差分ずれた位置にあるブロックを、前記エラーブロックに適用して前記復号エラーを修復する修復手順と、
を有する画像処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate