(57)【特許請求の範囲】
【請求項１】
視差を有する連続したピクチャ対を含む符号化された立体動画像データを前記ピクチャを分割したブロックごとに復号し、復号エラーを検出する復号部と、
前記復号エラーが検出されたエラーブロックを有するエラーピクチャより過去に復号され、前記エラーブロックに対応する対応箇所周辺のブロックが前記エラーピクチャにおける前記エラーブロック周辺のブロックと近似するような近似ピクチャとその対のピクチャにおける当該対応箇所の視差を、前記エラーピクチャとその対のピクチャにおける前記エラーブロックの視差として推定する第１の推定処理を行う推定部と、
前記エラーピクチャの対のピクチャにおける前記対応箇所から前記推定された推定視差分ずれた位置にあるブロックを、前記エラーブロックに適用して前記復号エラーを修復する修復部と、
を有する画像処理装置。
【請求項２】
請求項１において、
前記近似ピクチャは、前記エラーピクチャより過去に復号されたピクチャのうち、前記対応箇所周辺のブロックと前記エラーピクチャにおける前記エラーブロック周辺のブロックとの二乗誤差が最小となるようなピクチャである、
画像処理装置。
【請求項３】
請求項１または２において、
前記推定部は、前記近似ピクチャにおける前記対応箇所の第１のブロックに対応する第２のブロックを当該近似ピクチャの対のピクチャから検出し、当該第１、第２のブロックの位置の差から前記推定視差を求める、
画像処理装置。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記推定部は、前記エラーピクチャより過去に復号された複数のピクチャにおける前記対応箇所の視差の平均または中間の視差を前記推定視差として求める、
画像処理装置。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記推定部は、前記復号部が前記エラーピクチャにおける前記エラーブロック周辺の所定のブロックを当該エラーピクチャ内のブロックを参照する第１の符号化方法により復号した場合に、前記第１の推定処理を行う、
画像処理装置。
【請求項６】
請求項５において、
前記推定部は、前記復号部が前記エラーブロック周辺の前記所定のブロックを前記エラーピクチャとは異なる他のピクチャ内のブロックを参照する第２の符号化方法により復号した場合に、当該他のピクチャとその対のピクチャにおける前記対応箇所の視差を前記推定視差とする第２の推定処理を行う、
画像処理装置。
【請求項７】
視差を有する連続したピクチャ対を含む符号化された立体動画像データを前記ピクチャを分割したブロックごとに復号して、復号エラーを検出する復号手順と、
前記復号エラーが検出されたエラーブロックを有するエラーピクチャより過去に復号され、前記エラーブロックに対応する対応箇所周辺のブロックが前記エラーピクチャにおける前記エラーブロック周辺のブロックと近似するような近似ピクチャとその対のピクチャにおける当該対応箇所の視差を、前記エラーピクチャとその対のピクチャにおける前記エラーブロックの視差として推定する第１の推定処理を行う推定手順と、
前記エラーピクチャの対のピクチャにおける前記対応箇所から前記推定された推定視差分ずれた位置にあるブロックを、前記エラーブロックに適用して前記復号エラーを修復する修復手順と、
を有する画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化された立体動画像データを復号する画像処理装置、及び画像処理方法に関する。
【背景技術】
【０００２】
観察者に立体的な動画像を知覚させるための立体動画像データは、左右の眼の視点にそれぞれ対応した連続した静止画像（ピクチャ）対を有する。同時刻のピクチャ対は、左右の視点に対応する視差を有する。かかる立体動画像データのデータ量は、一般的に膨大である。よって、たとえば、立体動画像を撮像してそのデータを内部の限られた記憶媒体に一旦格納するような撮像装置において、立体動画像データを圧縮するための符号化方法が提案されている。
【０００３】
International Organization for Standardization /International Electrotechnical Commission（ＩＳＯ／ＩＥＣ）で策定された、ＭＶＣ（Multi-view Video Coding）対応のＨ．２６４／ＭＰＥＧ４−ＡＶＣ（Advanced Video Coding）（以下、単にＨ．２６４という）規格は、ピクチャを小領域のブロックに分割してブロックごとにデータを符号化する際、空間的または時間的に近接するブロック間、または同時刻のピクチャ対におけるブロック間の相関が高いことを利用して冗長なデータを圧縮する符号化方式である。Ｈ．２６４規格では、符号化対象ブロックと同一ピクチャ内、同時刻の対のピクチャ、または、時間的に近接する他のピクチャから、補間処理や動きベクトルなどにより符号化対象ブロックを予測し、予測されたブロック（以下、予測ブロックという）と符号化対象ブロックとの差分に対応する残差データや、予測に用いられる情報を示す予測情報データが、規定のシンタックス要素（syntax element）に準拠して求められ、符号化される。
【０００４】
こうしてブロックごとに符号化された立体動画像データは、たとえば撮像装置において、画像処理や表示出力のために記憶媒体から読み出され、ブロックごとに復号される。復号処理では、予測情報データに基づく予測ブロックが残差データで補正されて、もとのブロックが復号される。
【０００５】
ところで、立体動画像データを記憶媒体から読み出すとき、たとえば記憶素子の劣化や環境温度などの影響により、記憶媒体に格納されたデータが破壊されたりいわゆるデータ化けしたりして残差データや予測情報データが失われ、復号エラーが生じる場合がある。すると、本来のブロックが復号できなくなる。よって、かかる問題に対処すべく、復号エラーの修復方法が提案されている（たとえば特許文献１）。一例では、他のピクチャから抽出したブロックを、復号エラーが検出されたピクチャの復号エラー箇所に適用して、復号エラーが修復される。なお、以下では、復号エラーが検出されたピクチャをエラーピクチャ、復号エラーが検出されたブロックをエラーブロックという。
【０００６】
かかる方法において、たとえば、エラーピクチャと同視点の直前のピクチャからエラーブロックに対応するブロックを抽出してエラーブロックに適用すると、抽出したブロックとエラーブロックの間には動きに応じた差分があることにより、好ましい修復精度が得られない場合がある。よって、たとえば、エラーピクチャと同時刻の対のピクチャに含まれるエラーブロックに対応するブロックを抽出してエラーブロックに適用する方法が提案されている。この場合、ピクチャ対には（ほぼ）同じブロックが含まれるので、修復精度を向上させることができる。ただし、抽出すべきブロックは、対のピクチャにおいて、エラーブロックに対応する位置から視差分ずれた位置にあるので、その視差を得るべく、エラーブロックの視差を推定する方法がさらに提案されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−３１９４１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記のような方法において、エラーブロックに対応するブロックを対のピクチャから抽出するためには、エラーブロックの視差を高精度に推定することが求められる。
【０００９】
そこで、本発明の目的は、立体動画像データのエラーブロックの視差を高精度に推定することで、修復の精度を向上させる画像処理装置、及び画像処理方法を提供することにある。
【課題を解決するための手段】
【００１０】
上記の目的を達成するための第１の側面における画像処理装置は、視差を有する連続したピクチャ対を含む符号化された立体動画像データを前記ピクチャを分割したブロックごとに復号し、復号エラーを検出する復号部と、前記復号エラーが検出されたエラーブロックを有するエラーピクチャより過去に復号され、前記エラーブロックに対応する対応箇所周辺のブロックが前記エラーピクチャにおける前記エラーブロック周辺のブロックと近似するような近似ピクチャとその対のピクチャにおける当該対応箇所の視差を、前記エラーピクチャとその対のピクチャにおける前記エラーブロックの視差として推定する第１の推定処理を行う推定部と、前記エラーピクチャの対のピクチャにおける前記対応箇所から前記推定された推定視差分ずれた位置にあるブロックを、前記エラーブロックに適用して前記復号エラーを修復する修復部と、を有する。
【発明の効果】
【００１１】
以下に示す実施形態によれば、立体動画像データのエラーブロックの視差を高精度に推定でき、修復の精度を向上させることができる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態の画像処理装置が適用される例について説明する図である。
【図２】符号化・復号部によるピクチャの符号化及び復号について説明する図である。
【図３】復号部の詳細な構成例を示す図である。
【図４】視差推定処理について説明する図である
【図５】復号部の動作手順を示すフローチャート図である。
【図６】復号エラー修復処理の手順例を示すフローチャート図である。
【図７】インタービュー符号化の場合の視差推定処理について説明する図である。
【図８】インタービュー符号化の場合の視差推定処理の手順例を示すフローチャート図である。
【図９】インター符号化の場合の視差推定処理について説明する図である。
【図１０】インター符号化の場合の視差推定処理の手順例を示すフローチャート図である。
【図１１】スキップの場合の視差推定処理について説明する図である。
【図１２】スキップの場合の視差推定処理の手順例を示すフローチャート図である。
【図１３】イントラ符号化の場合の視差推定処理の手順例を示すフローチャート図である。
【図１４】第１変形例における視差推定処理を説明するための図である。
【図１５】第１変形例における視差推定手順を示すフローチャート図である。
【図１６】第２変形例における視差推定手順を示すフローチャート図である。
【発明を実施するための形態】
【００１３】
以下、図面にしたがって実施形態について説明する。但し、適用される技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【００１４】
図１は、本実施形態の画像処理装置が適用される例について説明する図である。図１には、立体動画像を撮像する撮像装置の構成が示される。この撮像装置は、レンズ１００、１０１、撮像部１０２、１０３、ＡＤ変換器１０４、符号化・復号部１０５、表示・出力部１０８、メモリ１１０、及び制御部１１２を有する。
【００１５】
レンズ１００、１０１は、それぞれたとえば右眼と左眼の視点に対応する。レンズ１００、１０１は、各視点における被写体からの被写体光を撮像部１０２、１０３の受光面に集光する。撮像部１０２、１０３は、それぞれ、受光面に二次元状に配列された撮像素子により、被写体光を画素信号に光電変換する。撮像部１０２、１０３は、それぞれ、たとえばＣＣＤ（Charge Coupled Device）センサや、ＣＭＯＳ（Complementally Metal Oxide Semiconductor）センサを有する。撮像部１０２、１０３は、１フレームごとに、同時に撮像を行う。撮像の頻度は、たとえば、３０フレーム／秒である。そして、撮像部１０２、１０３は、１フレームごとの画素信号をラスタスキャン順に順次出力する。
【００１６】
ＡＤ変換器１０４は、撮像部１０２、１０３から出力される画素信号列を、順次デジタル信号化する。そして、デジタル信号化された画素データが、立体動画像データとして符号化・復号部１０５に取り込まれる。ここで、１フレーム分の画素データが、１枚の静止画像（ピクチャ）に対応する。１枚のピクチャは、たとえば、二次元状に配列された数十万〜数百万画素を有する。立体動画像データには、左右の眼の視点にそれぞれ対応した、連続したピクチャ対が含まれる。各ピクチャ対は、同時刻に異なる視点からそれぞれ被写体を撮像して得られることにより、視点間の距離に応じた視差を有する。
【００１７】
符号化・復号部１０５は、連続したピクチャ対を含む立体動画像データを符号化する符号化部１０６と、符号化された立体動画像データを復号する復号部１０７とを有する。符号化・復号部１０５は、立体動画像データを符号化及び復号するための、たとえばＬＳＩ（Large Scale Integration）である。符号化部１０６は、たとえば、ＭＶＣ対応のＨ．２６４規格で符号化を行う。そして、符号化部１０６は、符号化した立体動画像データをメモリ１１０に格納する。メモリ１１０は、たとえば、ＳＤＲＡＭ（Synchronous Dynamic RAM）である。また、復号部１０７は、メモリ１１０から符号化された立体動画像データを読み出して復号する。復号部１０７が、本実施形態における画像処理装置の例である。復号部１０７は、復号した立体動画像データを、表示・出力部１０８に出力する。なお、符号化・復号部１０５は、復号されたピクチャに種々の画像処理、たとえば色や輝度の補正処理、ノイズ除去、輪郭強調処理等を行う画像処理部をさらに備えてもよい。
【００１８】
表示・出力部１０８は、図示が省略される表示モニタに、立体動画像データに含まれるピクチャ対を連続して表示させる。表示モニタの表示面にはたとえばピクチャ対を左右の視点に分離するバリアやレンズが設けられる。これらを介して連続したピクチャ対を目視する観察者は、ピクチャ対の視差により、立体動画像を知覚する。あるいは、表示・出力部１０８は、ＨＤＭＩ（High-Definition Multimedia Interface）端子やコンポーネント端子等のインターフェースを介し、記憶装置や映像表示機器などの外部機器にピクチャ対を出力する。
【００１９】
制御部１１２は、撮像部１０２、１０３、ＡＤ変換器１０４、符号化・復号部１０５、表示・出力部１０８、並びにメモリ１１０に、各部の動作を制御するための制御信号を出力する。これにより、制御部１１２は、撮像装置の動作を統括的に制御する。制御部１１２は、たとえばＣＰＵ（Central Processing Unit）である。
【００２０】
次に、図２を用いて、符号化・復号部１０５による立体動画像データの符号化と復号について説明する。図２（Ａ）には、左眼用ピクチャＰＬｉ（ｉ＝１、・・・、ｎ−２、ｎ−１、ｎ）と、右眼用ピクチャＰＲｉとが模式的に示される。ここでは、添え字「ｉ」は撮像順を示す。同じ添え字を有するピクチャ対ＰＬｉ、ＰＲｉは、同時刻に撮像したものであり、視差を有する。
【００２１】
[符号化について]
まず、符号化について説明する。符号化部１０６は、ピクチャ対ごとに、右眼用のベースビュー（base view）のピクチャ、左目用のノンベースビュー（non-base view）のピクチャの順で符号化する。よって、たとえば、ピクチャＰＲ１、ＰＬ１、・・・、ＰＲｎ−２、ＰＬｎ−２、ＰＲｎ−１、ＰＬｎ−１、ＰＲｎ、ＰＬｎの順で、符号化が行われる。
【００２２】
各ピクチャの符号化は、ピクチャを小領域のブロックに分割し、ブロックごとに行われる。ブロックは、たとえば、１６×１６画素を有するマクロブロックや、マクロブロックをさらに分割した可変ブロック（たとえば、１６×１６画素のマクロブロックを、１６×８画素、８×１６画素、８×８画素、８×４画素、４×８画素、または４×４画素に分割した単位）である。たとえば、ピクチャＰＬｎを符号化するとき、符号化部１０６は、ピクチャＰＬｎの画素を複数のブロックに分割し、ラスタスキャン方向に沿ってブロックごとに、ＭＶＣ対応のＨ．２６４規格に従って符号化を行う。
【００２３】
たとえばブロックＭＢｎを符号化するとき、符号化部１０６は、ブロックＭＢｎと同時刻の対のピクチャＰＲｎ、時間的に近接する他のピクチャ、または、同一ピクチャＰＬｎから、ブロックＭＢｎと一致または近似するブロックを検出し、検出したブロックを参照して（以下、参照されるブロックを参照ブロックという）符号化対象ブロックＭＢｎを予測する。そして、符号化部１０６は、予測した予測ブロックと実際の符号化対象ブロックＭＢｎとの残差データを求め、求めた残差データと、予測に用いた情報を示す予測情報データとを符号化する。残差データは、ＤＣＴ変換（離散コサイン変換）と量子化が行われた後、ＣＡＶＬＣ（Context-based Adaptive Variable Length Coding）やＣＡＢＡＣ（Context-based Adaptive Binary Arithmetic Coding）により符号化される。また、予測情報データは、指数ゴロム符号を用いて符号化される。
【００２４】
参照ブロックによる予測方式には、他のピクチャ内のブロックを参照して行うインター予測、同一ピクチャＰＬｎ内で予測を行うイントラ予測とがある。また、参照ブロックをそのまま用いるスキップという処理もある。スキップでは、多くの場合、同視点の直前のピクチャ、または同時刻の対のピクチャの参照ブロックがそのまま用いられる。
【００２５】
インター予測による符号化には、さらに、図２（Ａ）において矢印ＩＮＴＲＶで模式的に示されるように、ピクチャＰＬｎと同時刻の対のピクチャＰＲｎ内の参照ブロックＳＡｎから符号化対象ブロックＭＢｎを予測する場合と、矢印ＩＮＴＲで模式的に示されるように、時間方向に近接する同視点のピクチャ（たとえば、２つ前のＰＬｎ−２）内の参照ブロックから符号化対象ブロックＭＢｎを予測する場合とがある。以下では、対のピクチャ内の参照ブロックを用いる場合を特にインタービュー予測による符号化（以下、インタービュー符号化）と称し、時間方向に近接するピクチャ内の参照ブロックを用いる場合をインター予測による符号化（以下、インター符号化）と称して、両者を区別する。
【００２６】
インタービュー符号化の場合、符号化部１０６は、ピクチャＰＬｎの符号化対象ブロックＭＢｎと（ほぼ）一致する参照ブロックＳＡｎを対のピクチャＰＲｎから検出する。参照ブロックＳＡｎは、可変ブロックごとのマッチングにより検出される。マッチングでは、ブロック内の画素ごとの差分のたとえば絶対値誤差和を算出し、その値が最小となる場合に比較されたブロックが一致すると判断される。そして、符号化部１０６は、参照ブロックＳＡｎを予測ブロックとして、符号化対象ブロックＭＢｎとの残差データと、予測情報データとしての視差ベクトルを算出し、これらを符号化する。視差ベクトルは、参照ブロックＳＡｎから符号化対象ブロックＭＢｎへの移動方向と移動量とを示す動きベクトルである。
【００２７】
一方、インター符号化の場合、符号化部１０６は、時間方向に連続する複数のピクチャのなかから、たとえば可変ブロックごとのマッチングにより、符号化対象ブロックＭＢｎと一致、または最も近似する（たとえば、マッチングにおける絶対値誤差和が最小となる）参照ブロックＳＡｎ−２を検出する。ここで、検索対象のピクチャ数は、Ｈ．２６４規格の範囲で任意に（たとえば、過去に符号化された３枚のピクチャとそれぞれの対のピクチャ）設定される。ただし、Ｈ．２６４規格では、撮像順が後のピクチャであっても、符号化済みのピクチャから参照ブロックを検出することもできる。そして、符号化部１０６は、参照ブロックＳＡｎ−２を予測ブロックとして、符号化対象ブロックＭＢｎとの残差データと、予測情報データとしての動きベクトルを算出し、これらを符号化する。動きベクトルは、参照ブロックＳＡｎ−２から符号化対象ブロックＭＢｎへの移動方向と移動量とを示すベクトルである。
【００２８】
また、スキップでは、符号化部１０６は、メディアン（中間値）予測によって得られる動きベクトルが示す、同視点の直前のピクチャＰＬｎ−１における参照ブロックＭＢｎ−１や、同時刻の対のピクチャＰＲｎにおける参照ブロックＳＡｎを、矢印ＳＫＰで模式的に示すように、そのまま符号化対象ブロックＭＢｎに適用する。このとき、ブロックＭＢｎは、たとえばスキップによるブロックの適用を示すゴロム符号で短いビット数が割り当てられる。
【００２９】
そして、イントラ予測による符号化（以下、イントラ符号化という）では、符号化部１０６は、ピクチャＰＬｎ内で、符号化対象ブロックＭＢｎに隣接するブロック内の画素に基づきブロックＭＢｎを外挿予測し、予測ブロックと符号化対象ブロックＭＢｎとの残差データと、補間方向などを有する予測情報データを符号化する。外挿予測に用いられる画素は、たとえば図２（Ｂ）に示すように、ラスタスキャン方向ＲＳに沿ったラインにおいて、１つ前のラインでブロックＭＢｎの上に位置するブロックＭＢ２とその隣の先に符号化されるブロックＭＢ１、並びに、ブロックＭＢｎと同じラインでブロックＭＢｎに隣接し、先に符号化されるブロックＭＢ３に含まれ、符号化対象ブロックＭＢｎに隣接する画素である。
【００３０】
なお、Ｈ．２６４規格では、ブロック間の参照関係に応じ、同一ピクチャ内のブロックを参照して符号化が行わるＩピクチャと、時間的に前のピクチャ内のブロックを参照して符号化が行われるＰピクチャと、さらに時間的に前のピクチャに加え、時間的に後のピクチャ内のブロックを参照して符号化が行われるＢピクチャが規定されている。さらに、Ｈ．２６４規格では、その先行規格であるＭＰＥＧ−２においてＩピクチャをまたいで他のピクチャのブロックを参照することが禁止されていたのとは異なり、Ｉピクチャをまたいでの参照が許容されている。また、１つのピクチャ対において、先に符号化されるベースビューのピクチャ内のブロックを後に符号化されるノンベースビューのピクチャから参照することが可能である。また、Ｂピクチャの場合のみのダイレクトモードで符号化される場合もある。ダイレクトモードでは、動きベクトルや参照インデックスを符号化せずに、時間予測（temporal）か空間予測（spatial）を選択することで、予測されるブロックと符号化対象のブロックＭＢｎとの残差データが算出される。
【００３１】
符号化部１０６は、上記のようなインタービュー符号化、インター符号化、スキップ、またはイントラ符号化のいずれかを、それぞれの符号化が行われる場合ごとの評価値に応じて選択する。この評価値は、参照ブロックと符号化対象ブロックＭＢｎとの差分の二乗誤差和及び各符号化が実行された場合に推定される符号量と、トレードオフの関係にある評価値である。すなわち、評価値が小さいほど、符号化効率がよく、評価値が大きいほど、符号化効率が悪い。符号化部１０６は、符号化対象ブロックＭＢｎごとに、各符号化方法についての評価値を求め、たとえば評価値が最も小さい符号化方法、すなわち、符号化対象ブロックＭＢｎと参照ブロックとの差分が少しでも小さく、かつ符号化されたときのデータ量が少しでも小さくなるような、最も符号化効率がよい符号化方法を選択する。なお、符号化方法は、ブロックごとに異なってもよい。また、符号化は、ｈ．２６４のシンタックス要素に準拠するように行われる。
【００３２】
たとえば、動きが多いシーンなど、時間方向におけるピクチャ間の相関が低く、したがって時間方向に隣接するピクチャ間の差分が大きい場合には、時間方向の他のピクチャではなく、同時刻の対のピクチャ内の参照ブロックを用いるインタービュー符号化やスキップ、または同一ピクチャ内の外挿予測を用いるイントラ符号化が選択される。反対に、動きが少ないシーンなど、時間方向におけるピクチャ間の相関が高く、したがってピクチャ間の差分が小さい場合には、時間方向の他のピクチャ内の参照ブロックを用いるインター符号化やスキップが選択される。
【００３３】
[復号処理について]
次に、復号処理について説明する。復号部１０７は、ラスタスキャン方向に沿ってブロック（たとえば、マクロブロックや可変ブロック）ごとに復号を行う。たとえば、ピクチャＰＬｎの復号対象ブロックＭＢｎを復号する場合、復号部１０７は、シンタックス要素から復号対象ブロックＭＢｎの復号に必要な情報を取得する。この情報には、そのスライスに含まれる各ブロックの符号化方法（すなわち、インタービュー符号化、インター符号化、スキップ、またはイントラ符号化）と、参照ブロックの情報が含まれる。そして、復号部１０７は、復号対象ブロックＭＢｎの、符号化された残差データや予測情報データを復号する。復号処理では、符号化の逆の手順で、逆量子化や逆ＤＣＴ変換が行われる。
【００３４】
そして、復号部１０７は、採用された符号化方法に従って、先に復号された参照ブロックを参照しつつ、復号した残差データや予測情報データを用いてブロックＭＢｎを復号する。たとえば、インタービュー符号化が採用されていた場合、参照ブロックから視差ベクトルにより予測される予測ブロックを残差データで補正し、ブロックＭＢｎが復号される。また、インター符号化が採用されていた場合、参照ブロックから動きベクトルにより予測される予測ブロックを残差データで補正し、ブロックＭＢｎが復号される。さらに、スキップが採用されていた場合、参照ブロックをそのまま適用することで、ブロックＭＢｎが復号される。そして、イントラ符号化が採用されていた場合、復号対象ブロックＭＢｎに隣接する画素の外挿予測により予測される予測ブロックを残差データで補正し、ブロックＭＢｎが復号される。
【００３５】
ここで、たとえば符号化された立体動画像データをメモリ１１０から読み出して復号する場合、記憶素子の経年劣化や環境温度の影響により、メモリ１１０に格納されたデータが破壊されたりいわゆるデータ化けしたりして残差データや予測情報データが損なわれ、復号エラーが発生する場合がある。たとえば、予測情報データが損なわれると、補間方向、動きベクトル、視差ベクトルなどが不明となる。すると、本来のブロックが復号できなくなり、立体動画像データの復号に支障をきたす。そこで、復号部１０７は、次に示すようにして、かかる復号エラーを修復する。
【００３６】
図３は、復号部１０７の詳細な構成例を示す。復号部１０７は、ヘッダ解析部３０２、３１２、ブロック復号部３０４、３１４、フレームメモリ３０８、３１８、及び、エラー修復部３１０を有する。エラー修復部３１０は、さらに、エラーチェック部３０６、３１６、視差推定部３２０、画像修復部３２２を有する。ヘッダ解析部３０２、ブロック復号部３０４、フレームメモリ３０８、エラーチェック部３０６は、たとえば右眼用の連続したピクチャの処理に対応する。一方、ヘッダ解析部３１２、ブロック復号部３１４、フレームメモリ３１８、エラーチェック部３１６は、左眼用の連続したピクチャの処理に対応する。これら左右の処理系は、ここでは図示されない制御部による制御のもと動作する。
【００３７】
まず、復号部１０７には、メモリ１１０から読み出された一連のピクチャ対の符号化データ３０１、３１１が入力される。右眼用のピクチャの符号化データ３０１はヘッダ解析部３０２に、左眼用のピクチャの符号化データ３１１はヘッダ解析部３１２に入力される。
【００３８】
ヘッダ解析部３０２、３１２は、ｈ．２６４のシンタックス要素に準拠してＮＡＬ（Network Abstraction Layer）ユニットをそれぞれ解析する。たとえば、ヘッダ解析部３０２、３１２は、ＳＰＳ（Sequence Parameter Set）、ＰＰＳ（Picture Parameter Set）、ｓｕｂｓｅｔ ＰＰＳ、ＳＥＩ（Supplemental Enhancement Information）などの解析や、スライスヘッダの解析を行う。スライスヘッダには、各スライスの復号に必要な情報、たとえば、表示順を示すＰＯＣ（Picture Order Count）や参照ブロックリストの並び替え情報などが含まれる。ヘッダ解析部３０２、３１２は、各スライスヘッダから、各スライスの復号に必要な情報を取得し、スライスのデータとともにブロック復号部３０４、３１４に転送する。
【００３９】
ブロック復号部３０４、３１４は、復号するブロック（たとえば、マクロブロック）についてmacroblock_layerのref_idx_10、またはref_idex_11から参照先情報を取得し、参照ブロックを含む復号済みピクチャをフレームメモリ３０８、３１８からそれぞれ読み出す。そして、ブロック復号部３０４、３１４は、各ブロックを対応する符号化方法に応じて復号する。また、ブロック復号部３０４、３１４は、復号したブロックをエラーチェック部３０６、３１６にそれぞれ転送する。ここで、ブロック復号部３０４、３１４は、復号エラーを検出したとき、復号エラーが発生したブロックを示す情報（たとえばマクロブロック番号）をエラーチェック部３０６、３１６にそれぞれ転送する。復号エラーは、たとえば、インタービュー符号化、インター符号化、またはイントラ符号化が採用された場合であって参照先情報が存在しない場合、動きベクトルや視差ベクトルの大きさが規定の最大値を超過する場合、符号化データを逆量子化したときに係数値が規定の最大値を超過する場合、逆ＤＣＴ変換したときに係数値が規定の最大値を超過する場合、または、復号済みマクロブロック数が規定の数より不足する場合などに検出される。
【００４０】
エラーチェック部３０６、３１６は、正常に復号されたブロックがブロック復号部３０４、３１４からそれぞれ送られると、復号されたブロックを順次フレームメモリ３０８、３１８に格納する。こうしてフレームメモリ３０８、３１８には、復号済みブロックを有する復号済みピクチャが格納される。一方、復号エラーが発生したブロック番号（マクロブロック番号）がブロック復号部３０４、３１４からそれぞれ送られた場合には、エラーチェック部３０６、３１６は、各ピクチャのエラーが検出されたブロック番号をたとえば内部のレジスタに記録する。そして、エラーチェック部３０６、３１６は、エラー修復部３１０の視差推定部３２０に、エラーが検出されたエラーブロックのブロック番号と、復号エラーの修復を指示する信号とを送る。
【００４１】
次に、エラー修復部３１０は、復号エラーの修復を行う。ここで、立体動画像データにおける各ピクチャ対は、エラーブロックと同じ（または、ほぼ同じ）ブロックを有している。よって、復号エラーが発生したエラーピクチャの対のピクチャが正常に復号されていれば、対のピクチャにはエラーにより復号されなかった本来のブロックが含まれている。このことを利用し、エラー修復部３１０は、エラーピクチャの対のピクチャから本来のブロックを抽出してエラーピクチャにおけるエラーブロックに適用し、復号エラーを修復する。ただし、対のピクチャの本来のブロックは、対のピクチャにおいて、エラーブロックの位置から視差分ずれた位置にあるので、エラーブロックの位置のブロックを抽出しても本来のブロックが得られない。そこで、視差推定部３２０が、エラーピクチャにおけるエラーブロックの視差を推定する視差推定処理を行う。視差推定処理については、後述する。
【００４２】
視差推定処理が実行されると、画像修復部３２２が、エラーピクチャの対のピクチャに含まれるブロックのうち、推定された推定視差分エラーブロックの位置からずれた位置にあるブロックをエラーブロックに適用して復号エラーを修復する。そうすることで、本来のブロックと（ほぼ）同じブロックにより復号エラーを修復できる。
【００４３】
そして、復号エラーが修復されたピクチャは、画像修復部３２２からフレームメモリ３０８または３１８に転送されて格納される。そして、フレームメモリ３０８、３１８から、それぞれ左右のピクチャを含む立体動画像データ３０９、３１９が読み出される。
【００４４】
[視差推定処理について]
ここで、本実施形態における視差推定処理について説明する。視差推定処理では、視差推定部３２０は、エラーピクチャより過去に復号されたピクチャ対のうち、エラーピクチャと最も近似する近似ピクチャを有するピクチャ対から、推定視差を求める。たとえば、噴水、滝、紙吹雪、風に揺れる木の葉といった時々刻々と被写体の形状や位置が変化する動きが多いシーンの場合、連続するピクチャ間におけるブロックの差分は大きいが、ある程度のピクチャ数の周期でみると、被写体の形状や位置が反復され、極めて近似するブロックを有するピクチャが存在する蓋然性が高い。よって、視差推定部３２０は、次のようにして、過去に復号されたピクチャ対から、エラーブロックに近似するブロックを有する近似ピクチャを含むピクチャ対を選択し、そのピクチャ対におけるエラーブロックに対応する箇所の視差を推定視差として求める。なお、以下では、エラーピクチャ以外のピクチャにおけるエラーブロックＸｎに対応する箇所を、便宜上、エラー対応箇所という。このとき、エラーブロックは復号されておらず比較することができないので、エラーブロックとその周辺の周辺ブロックとが近似する蓋然性が高いことを利用し、周辺ブロックが近似するピクチャ対が選択される。
【００４５】
図４は、視差推定処理について説明する図である。図４には、左眼用ピクチャＰＬｎ−３、ＰＬｎ−２、ＰＬｎ−１、ＰＬｎと、右眼用ピクチャＰＲｎ−３、ＰＲｎ−２、ＰＲｎ−１、ＰＲｎとが示される。ここでは、ピクチャＰＲｎ−３、ＰＬｎ−３、ＰＲｎ−２、ＰＬｎ−２、ＰＲｎ−１、ＰＲＬ−１、ＰＲｎ、ＰＬｎの順で復号が行われ、ピクチャＰＬｎを復号するときにブロックＸｎで復号エラーが検出されたものとする。
【００４６】
視差推定部３２０は、エラーピクチャＰＬｎにおけるエラーブロックＸｎ周辺の周辺ブロックと最も近似するブロックを有するピクチャ対を、復号済みのピクチャ対から選択する。復号済みのピクチャ対は、フレームメモリ３０８、３１８から読み出される。エラーブロックＸｎの周辺ブロックは、たとえば、エラーブロックＸｎと同じラインで直前に符号化及び復号されるブロックＡｎ、及び、エラーブロックＸｎの１つ前のブロックラインに含まれ、エラーブロックＸｎの上に位置するブロックＢｎとその直前に符号化及び復号されるブロックＣｎである。各周辺ブロックは、たとえば、マクロブロックや可変ブロックである。なお、周辺ブロックは、正常に復号されたブロックであればよく、その数や位置は、ここに示す例に限られない。
【００４７】
視差推定部３２０は、ピクチャＰＬｎにおける周辺ブロックＡｎ、Ｂｎ、及びＣｎを、同視点の復号済みピクチャＰＬｎ−３〜ＰＬｎ−１のそれぞれにおける同じ位置のブロックと比較し、その差分、たとえば二乗誤差和を算出する。なお、比較対象とする過去のピクチャ数は、１以上の任意の数とすることができる。ここでは、たとえば、ピクチャＰＬｎ−３、ＰＬｎ−２、及びＰＬｎ−１の、直近の３ピクチャが比較対象とされる。そして、視差推定部３２０は、各二乗誤差和の合計値が最小となる近似ピクチャを含むピクチャ対を選択する。ここでは、たとえば近似ピクチャＰＬｎ−３とその対のピクチャＰＲｎ−３が選択されるものとする。
【００４８】
視差推定部３２０は、選択した近似ピクチャＰＬｎ−３とその対のピクチャＰＲｎ−３において、エラー対応箇所の、すなわちエラーブロックＸｎに対応するブロックＸｎ−３の視差を求める。具体的には、視差推定部３２０は、ブロックごとのマッチングにより、エラー対応箇所のブロックＸｎ−３に一致またはほぼ一致する（たとえば画素値の二乗誤差和が最小となる）ブロックＸｎ−３´を、ピクチャＰＲｎ−３から検出する。そして、視差推定部３２０は、ブロックＸｎ−３とＸｎ−３´ の視差ベクトルＰＶｘを、その位置の差分から算出する。この視差ベクトルＰＶｘが推定視差ベクトルＰＶｘ、すなわち推定視差として用いられる。
【００４９】
そして、画像修復部３２２は、ピクチャＰＲｎに含まれるブロックのうち、エラー対応箇所から推定視差、すなわち推定視差ベクトルＰＶｘ分ずれた位置にあるブロックＸｎ´を抽出する。そして、画像修復部３２２は、抽出したブロックＸｎ´をピクチャＰＬｎのエラーブロックＸｎに適用し、復号エラーを修復する。
【００５０】
このように、過去のピクチャ対から周辺ブロックが最も近似する近似ピクチャを含むピクチャ対を選択するので、選択したピクチャ対において、エラー対応箇所のブロックが本来のエラーブロックと近似する蓋然性が大きくなる。そして、その選択したピクチャ対におけるエラー対応箇所の視差を推定視差とすることで、より高精度にエラーブロックの視差を推定できる。よって、対のピクチャから精度よく修復用のブロックを抽出でき、復号エラーの修復精度が向上する。特に、動きの多いシーンなど、時間方向に隣接したピクチャ間の差分が大きく、したがって、エラーピクチャと同視点の直前のピクチャにおけるエラー対応箇所のブロックを用いたのでは本来のエラーブロックとの差分が大きくなってしまう場合であっても、精度よく復号エラーが修復される。また、たとえば、Ｈ．２４６におけるＣＡＢＡＣなどでは、ラスタスキャン方向において１つのマクロブロックに復号エラーが生じると、そのマクロブロックが含まれるスライスにおける以降のマクロブロックの復号処理が破綻する場合があるが、かかる状況を回避できる。
【００５１】
[動作手順例]
次に、本実施形態における復号部１０７の動作手順例について説明する。
【００５２】
図５は、復号部１０７の動作手順例を示すフローチャート図である。図５の手順は、１ピクチャごとに実行される。まず、ヘッダ解析部３０２、３１２に、それぞれ１ピクチャ分のデータが入力される（Ｓ５００）。そして、ヘッダ解析部３０２、３１２は、それぞれ１ピクチャ分のヘッダ解析を行い（Ｓ５０２）、ＮＡＬユニットの解析を行う。
【００５３】
次いで、ブロック復号部３０４、３１４は、それぞれ、ブロック（たとえばマクロブロック）を復号する（Ｓ５０４）。そして、エラーチェック部３０６、３１６は、それぞれブロックの復号エラーが検出されたかをチェックする（Ｓ５０６）。復号エラーが検出されなければ（Ｓ５０８のＮｏ）、手順Ｓ５１８が実行される。一方、復号エラーが検出されたとき（Ｓ５０８のＹｅｓ）、エラー修復部３１０が復号エラーの修復処理を行う（Ｓ５１０）。そして、ブロック復号部３０４、３１４は、次のブロックの復号処理が可能かどうかを確認する（Ｓ５１４）。手順Ｓ５１０において復号エラーが修復されていれば（加えて、ヘッダのデータが破壊されていなければ）、後続のブロックの復号が可能になる。よって、その場合（Ｓ５１４のＹｅｓ）、処理は手順Ｓ５１８に進む。一方、手順Ｓ５１０において復号エラーが修復されておらず、後続のブロックの復号ができない場合（Ｓ５１４のＮｏ）、エラー修復部３１０は、そのスライスの最後のブロックまで同様の修復処理を行う（Ｓ５１６）。そうすることで、１つのスライス内でエラー修復を行うことができ、１ピクチャ内の残りのスライスでのブロックの復号ができなくなるといった事態を回避できる。
【００５４】
手順Ｓ５１８では、ブロック復号部３０４、３１４は、１ピクチャ内のすべてのブロックの復号が終了したかをそれぞれ確認する。そして、すべてのブロックの復号が終了するまで（Ｓ５１８のＮｏ）、手順Ｓ５０４〜Ｓ５１６が繰り返される。一方、すべてのブロックの復号が終了した場合（Ｓ５１８のＹｅｓ）エラーチェック部３０６、３１６は、１ピクチャのデータを、フレームメモリ３０８、３１８にそれぞれ格納する。そして、手順Ｓ５００が、次のピクチャについて実行される。
【００５５】
図６は、復号エラー修復処理の詳細な手順例を示すフローチャート図である。図６の手順は、図５の手順Ｓ５１０のサブルーチンに対応する。この手順例では、図４で示した視差推定処理に加え、エラーブロック周辺の周辺ブロックの符号化方法に応じて異なる視差推定処理が選択的に実行される。
【００５６】
視差推定部３２０は、エラーチェック部３０６または３１６からのエラー修復の開始を指示する制御信号を受信する（Ｓ６００）。そして、視差推定部３２０は、エラーブロックの周辺を、ブロック（マクロブロックまたは可変ブロック）単位に分割する（Ｓ６０２）。たとえば、図４に示したように、周辺ブロックＡｎ、Ｂｎ、及びＣｎに分割される。そして、視差推定部３２０は、エラーチェック部３０４、３１４から伝送される周辺ブロックの符号化方法に応じて、実行する視差推定処理を決定する。
【００５７】
たとえば、周辺ブロックが１つでもインタービュー符号化されている場合（Ｓ６０４のＹｅｓ）、インタービュー符号化の場合の視差推定処理が実行される（Ｓ６０５）。この場合、時間方向におけるピクチャ間での差分より、ピクチャ対の差分の方が小さい蓋然性が高い。よって、エラーピクチャを含むピクチャ対における周辺ブロックの視差から、推定視差が求められる。そうすることで、精度よい視差推定処理が可能になる。
【００５８】
ここで、インタービュー符号化の場合の視差推定処理について、図７、８を用いて説明する。図７は、インタービュー符号化の場合における視差推定処理について説明する図である。また、図８は、その手順例を示すフローチャート図であり、手順Ｓ６０５のサブルーチンに対応する。
【００５９】
図７には、エラーピクチャＰＬｎにおけるエラーブロックＸｎが示され、さらに、その周辺の所定の周辺ブロックの例として図４で示した周辺ブロックＡｎ、Ｂｎ、及びＣｎが示される。周辺ブロックＡｎ、Ｂｎ、及びＣｎのいずれかがインタービュー符号化及び復号された場合、エラーブロックＸｎも、周辺ブロックの視差ベクトルに近似する視差ベクトルを用いて、インタービュー符号化された蓋然性が高い。そこで、視差推定部３２０は、ピクチャ対ＰＬｎ、ＰＲｎにおける周辺ブロックＡｎ、Ｂｎ、及びＣｎの、視差ベクトルＰＶａ、ＰＶｂ、及びＰＶｃから、推定視差ベクトルを算出する（図８のＳ８００）。ここで、視差ベクトルＰＶａ、ＰＶｂ、及びＰＶｃは、各周辺ブロックＡｎ、Ｂｎ、及びＣｎの、ピクチャＰＲｎにおける参照ブロックＡｎ´、Ｂｎ´、及びＣｎ´からのベクトルである。
【００６０】
具体的には、周辺ブロックＡｎ、Ｂｎ、及びＣｎのうち、いずれか１つがインタービュー符号化及び復号された場合にはその周辺ブロックの視差ベクトルを推定視差ベクトルとし、いずれか２つ以上がインタービュー符号化及び復号された場合、その周辺ブロックの視差ベクトルの平均を推定視差ベクトルとする。複数の視差ベクトルの平均は、たとえば、複数の視差ベクトルの水平方向成分と垂直方向成分のそれぞれの平均を成分とするベクトルである。
【００６１】
図６に戻る。周辺ブロックにインタービュー符号化されたブロックが含まれておらず（Ｓ６０４のＮｏ）、１つでもインター符号化されている場合（Ｓ６０６のＹｅｓ）、インター符号化の場合の視差推定処理が実行される（Ｓ６０７）。この場合、エラーピクチャとインター予測の参照ブロックを有するピクチャとの差分が最も小さい蓋然性が高い。よって、参照ブロックを含むピクチャ対における周辺ブロックの視差から、推定視差が求められる。
【００６２】
ここで、インター符号化の場合の視差推定処理について、図９、１０を用いて説明する。  図９は、インター符号化の場合における視差推定処理について説明する図である。また、図１０は、その手順例を示すフローチャート図であり、手順Ｓ６０７のサブルーチンに対応する。
【００６３】
図９には、エラーピクチャＰＬｎにおけるエラーブロックＸｎと、その周辺の所定の周辺ブロックＡｎ、Ｂｎ、及びＣｎが示される。ここでは、周辺ブロックＡｎ、Ｂｎ、及びＣｎにインタービュー符号化及び復号されたブロックが含まれず、いずれかが１つでもインター符号化及び復号されている。この場合、エラーブロックＸｎも、周辺ブロックの動きベクトルに近似する動きベクトルを用いてインター符号化された蓋然性が高い。そこで、視差推定部３２０は、周辺ブロックの参照ブロックを含むピクチャ対で、推定視差を求める。なお、複数の周辺ブロックがインター符号化及び復号される場合、各周辺ブロックの参照ブロックは異なるピクチャ内にあってもよい。ただし、ここでは説明の便宜上、周辺ブロックＡｎ、Ｂｎ、及びＣｎの参照ブロックＡｎ−３、Ｂｎ−３、及びＣｎ−３が、いずれもピクチャＰＬｎ−３内に含まれる場合が示される。
【００６４】
まず、視差推定部３２０は、フレーメモリ３０８または３１８から、周辺ブロックのインター符号化で参照される参照ブロックを含む過去のピクチャ対を読み出す（図１０のＳ１０００）。たとえば、周辺ブロックＡｎ、Ｂｎ、及びＣｎの参照ブロックＡｎ−３、Ｂｎ−３、及びＣｎ−３を含む、ピクチャ対ＰＬｎ−３、ＰＲｎ−３が読み出される。
【００６５】
そして、視差推定部３２０は、周辺ブロックの動きベクトルから、エラーブロックの動きベクトルを推定する。そして、視差推定部３２０は、参照ブロックを含むピクチャにおいて、エラー対応箇所から動きベクトルＭＶｘ分ずれた位置にある、エラーブロックＸｎに対応するブロックＸｎ−３を検出する（Ｓ１００４）。
【００６６】
視差推定部３２０は、たとえば、予め周辺ブロックＡｎ、Ｂｎ、及びＣｎの順で優先順を設定しておき、周辺ブロックＡｎがインター符号化及び復号された場合には、その動きベクトルＭＶａをエラーブロックＸｎの動きベクトルＭＶｘと推定し、参照ブロックＡｎ−３を含むピクチャＰＬｎ−３において、動きベクトルＭＶａを用いてエラーブロックＸｎに対応するブロックＸｎ−３を検出する。または、周辺ブロックＡｎがインター符号化及び復号されておらず、周辺ブロックＢｎがインター符号化及び復号された場合には、視差推定部３２０は、動きベクトルＭＶｂをエラーブロックＸｎの動きベクトルＭＶｘと推定し、参照ブロックＢｎ−３を含むピクチャＰＬｎ−３において、動きベクトルＭＶｂを用いてエラーブロックＸｎに対応するブロックＸｎ−３を検出する。または、周辺ブロックＡｎ、Ｂｎがインター符号化及び復号されておらず、周辺ブロックＣｎがインター符号化及び復号された場合には、視差推定部３２０は、動きベクトルＭＶｃをエラーブロックＸｎの動きベクトルＭＶｘと推定し、参照ブロックＣｎ−３を含むピクチャＰＬｎ−３において、動きベクトルＭＶｃを用いてエラーブロックＸｎに対応するブロックＸｎ−３を検出する。
【００６７】
次いで、視差推定部３２０は、検出したブロックＸｎ−３の視差ベクトルを推定視差ベクトルとして算出する（Ｓ１００４）。たとえば、視差推定部３２０は、ピクチャＰＬｎ−３の対のピクチャＰＲｎ−３において、ブロックＸｎ−３と一致するか、またはほぼ一致するブロックＸｎ−３´を可変ブロックごとのマッチングにより検出する。そして、視差推定部３２０は、ブロックＸｎ−３とＸｎ−３´の視差ベクトルＰＶｘを求め、推定視差ベクトルとする。
【００６８】
図６に戻る。周辺ブロックにインタービュー符号化またはインター符号化されたブロックが含まれておらず（Ｓ６０６のＮｏ）、１つでもスキップされている場合（Ｓ６０８のＹｅｓ）、スキップの場合の視差推定処理が実行される（Ｓ６０９）。スキップには、上述のように、同視点の直前のピクチャの参照ブロックが用いられる場合と、同時刻の対のピクチャの参照ブロックが用いられる場合とがある。同視点の直前のピクチャの参照ブロックが用いられる場合には、直前のピクチャにおけるエラー対応箇所のブロックがエラーブロックにそのまま用いられている蓋然性が高いので、そのブロックにおける視差が推定視差として用いられる。また、同時刻の対のピクチャの参照ブロックが用いられる場合は、エラーブロックと周辺ブロックが近似することから、エラーブロックの視差と周辺ブロックの視差が近似する蓋然性が高いので、周辺ブロックの視差が推定視差として用いられる。なお、Ｂピクチャのダイレクトモードの場合にもスキップと判断する。
【００６９】
ここで、スキップの場合の視差推定処理について、図１１、１２を用いて説明する。  図１１は、スキップの場合における視差推定処理について説明する図である。また、図１２（Ａ）、（Ｂ）は、その手順例を示すフローチャート図であり、いずれも、手順Ｓ６０９のサブルーチンに対応する。
【００７０】
図１１では、エラーピクチャＰＬｎにおけるエラーブロックＸｎの周辺の所定の周辺ブロックＡｎ、Ｂｎ、及びＣｎの１つ以上が、スキップされている。たとえば、直前のピクチャＰＬｎ−１の参照ブロックＡｎ−１、Ｂｎ−１、またはＣｎ−１をそのまま適用するスキップが行われている場合には図１２（Ａ）の手順が実行される。視差推定部３２０は、フレーメモリ３０８または３１８から、スキップの参照ブロックを含むピクチャ、すなわち同視点の直前のピクチャＰＬｎ−１を読み出す（Ｓ１２００）。次いで、視差推定部３２０は、読み出したピクチャＰＬｎ−１におけるエラー対応箇所周辺をブロックに分割し（Ｓ１２０２）、エラー対応箇所のブロックを検出してその視差ベクトルを算出する（Ｓ１２０４）。このとき、たとえば、ピクチャＰＬｎ−１において検出されたエラー対応箇所のブロックＸｎ−１と一致するブロックＸｎ−１´が、マッチングによりピクチャＰＲｎ−１から検出される。そして、ブロックＸｎ−１とＸｎ−１´の視差ベクトルＰＶｘが算出され、推定視差ベクトルとされる。
【００７１】
一方、同時刻の対のピクチャＰＲｎの参照ブロックＡｎ´、Ｂｎ´、またはＣｎ´をそのまま適用するスキップが行われている場合には、図１２（Ｂ）の手順が実行される。視差推定部３２０は、ピクチャＰＬｎにおける周辺ブロックＡｎ、Ｂｎ、またはＣｎの視差ベクトルを算出し、推定視差ベクトルとする（Ｓ１２００ｂ）。周辺ブロックＡｎ、Ｂｎ、またはＣｎの視差は、各周辺ブロックＡｎ、Ｂｎ、またはＣｎと、ピクチャＰＲｎにおけるＡｎ´、Ｂｎ´、またはＣｎ´との視差ベクトルである。複数の視差ベクトルがある場合、その平均が推定視差ベクトルとされる。
【００７２】
図６に戻る。周辺ブロックにインタービュー符号化、インター符号化、またはスキップされたブロックが含まれていなければ、すなわち、周辺ブロックがすべてイントラ符号化されているときは（Ｓ６０８のＮｏ）、イントラ符号化の場合の視差推定処理が実行される（Ｓ６１０）。ここで、図４で説明した、本実施形態の視差推定処理が実行される。
【００７３】
図１３は、イントラ符号化の場合の視差推定処理の手順例を示すフローチャート図であって、手順Ｓ６１０のサブルーチンに対応する。視差推定部３２０は、フレーメモリ３０８または３１８から、エラーピクチャより過去に復号された複数のピクチャ対を読み出す（Ｓ１３００）。そして、視差推定部３２０は、取得したピクチャにおけるエラー対応箇所の周辺をブロックに分割する（Ｓ１３０２）。たとえば、図４の例では、ピクチャＰＬｎ−３〜ＰＬｎ−１のそれぞれにおいて、エラー対応箇所周辺が周辺ブロックＡｎ、Ｂｎ、及びＣｎに対応するブロックに分割される。そして、視差推定部３２０は、周辺ブロックＡｎ、Ｂｎ、及びＣｎと同じ位置のブロックが最も近似するピクチャを選択する（Ｓ１３０４）。たとえば、図４の例では、ピクチャＰＬｎ−３が選択される。そして、視差推定部３２０は、選択したピクチャにおけるエラー対応箇所の視差ベクトルを算出する（Ｓ１３０６）。たとえば、図４の例では、ピクチャ対ＰＬｎ−３、ＰＲｎ−３におけるブロックＸｎ−３の視差ベクトルＰＶｘが算出される。
【００７４】
図６に戻ると、上述した各符号化の場合の視差推定処理に次いで、視差推定部３２０は、画像修復部３２２に推定視差に対応する推定視差ベクトルを転送する（Ｓ６１２）。そして、フレームメモリ３０８または３１８から、画像修復部３２２に、エラーピクチャの対のピクチャが転送される（Ｓ６１４）。そして、画像修復部３２２は、推定視差に基づき対のピクチャからエラー修復のためのブロックを抽出し、これをエラーブロックに適用して復号エラーを修復する（Ｓ６１６）。
【００７５】
上述した手順によれば、符号化方法に応じた精度よい視差推定が可能になり、したがって、エラー修復精度が向上する。たとえば、符号化効率にもよるが、周辺ブロックにおける時間方向の相関が低く、しかしピクチャ対における相関が高い（すなわち視差が小さい）ためインタービュー符号化や対のピクチャからのスキップが採用された場合、周辺ブロックの視差ベクトルを推定視差としたときに推定視差と本来求めるべき視差との誤差があったとしても、その誤差は小さく抑えられる。よって、精度よく視差推定を行うことができる。
【００７６】
また、時間方向における相関がインタービュー符号化や対のピクチャからのスキップの場合より高く、インター符号化や直前のピクチャからのスキップが採用された場合、周辺ブロックの参照ブロックを含むピクチャ対では、エラー対応箇所のブロックが本来のブロックと近似する蓋然性が高いので、エラー対応箇所の視差を推定視差とすることで、精度よく視差推定を行うことができる。
【００７７】
そして、時間方向、ピクチャ対においてピクチャ間の相関が最も低くイントラ符号化が採用された場合であっても、過去のピクチャ対からエラーピクチャの周辺ブロックに近似するブロックを含むピクチャ対を選択し、そのピクチャ対におけるエラー対応箇所の視差を推定視差とすることで、精度よく視差推定を行うことができる。この場合、周辺ブロックでインタービュー符号化や対のピクチャからのスキップが用いられた場合と比較すると、周辺ブロックの視差は大きくなる。よって、周辺ブロックの視差を算出して推定視差としようとすると、推定視差が比較的大きいので、推定視差と本来求めるべき視差との誤差が大きくなるおそれがある。しかし、過去に復号されたピクチャ対のなかから周辺ブロックが最も近似したピクチャ対を選択し、そのピクチャ対におけるエラー対応箇所の視差を求めて推定視差とすることで、より高精度な視差推定処理が可能になる。
【００７８】
次に、本実施形態におけるイントラ符号化の場合の視差推定処理の変形例について説明する。
【００７９】
[第１変形例]
第１変形例では、過去に復号された複数のピクチャから、エラーピクチャにおける周辺ブロックに最も近似するブロックを有するピクチャを選択する代わりに、視差推定部３２０は、過去に復号された複数のピクチャにおけるエラー対応箇所のブロックの視差の平均を求め、その平均を推定視差とする。
【００８０】
図１４は、第１変形例における視差推定方法を説明するための図である。図１４にはエラーピクチャＰＬｎ、ピクチャＰＲｎのピクチャ対と、過去に復号された、ピクチャ対ＰＬｎ−１、ＰＲｎ−１、ピクチャ対ＰＬｎ−２、ＰＲｎ−２、及びピクチャ対ＰＬｎ−３、ＰＲｎ−３が示される。また、ピクチャＰＬｎ−３〜ＰＬｎ−１において、ブロックＸｎ−３〜Ｘｎ−１が、エラー対応箇所のブロックである。視差推定部３２０は、ピクチャＰＲｎ−３〜ＰＲｎ−１において、ブロックＸｎ−３〜Ｘｎ−１と（ほぼ）一致するブロックＸｎ−３´〜Ｘｎ−１´を、たとえば可変ブロックごとのマッチングによりそれぞれ検出する。そして、視差推定部３２０は、各ピクチャ対において、ブロックＸｎ−３〜Ｘｎ−１の視差ベクトル、つまり、ブロックＸｎ−３〜Ｘｎ−１とブロックＸｎ−３´〜Ｘｎ−１´との間の視差ベクトルＰＶｎ−３〜ＰＶｎ−１をそれぞれ求め、これらの平均の視差ベクトルＰＶｘを推定視差ベクトルＰＶｘとする。
【００８１】
図１５は、第１変形例における視差推定手順を示すフローチャート図である。図１５の手順は、図１３の手順の変形例に対応する。図１３と同じ手順には、図１３と同じ符号が付される。視差推定部３２０は、フレーメモリ３０８または３１８から、過去に復号された複数のピクチャを読み出す（Ｓ１３００）。次いで、視差推定部３２０は、過去に復号された複数のピクチャ対において、エラー対応箇所のブロックの視差ベクトルを算出する（Ｓ１５００）。たとえば、図１５の例では、ピクチャＰＬｎ−３〜ＰＬｎ−１とＰＲｎ−３〜ＰＲｎ−１におけるブロックＸｎ−３〜Ｘｎ−１の視差ベクトルＰＶｎ−３〜ＰＶｎ−１が求められる。そして、視差推定部３２０は、求めた視差ベクトルの平均を算出する（Ｓ１５０２）。たとえば、図１５の例では、視差ベクトルＰＶｎー３〜ＰＶｎ−１の平均の視差ベクトルＰＶｘが算出され、推定視差ベクトルとされる。
【００８２】
このような第１変形例によれば、時間方向におけるピクチャ間の相関が低い場合であっても、精度よく視差推定処理を行うことができる。なお、さらなる変形例として、エラーブロックの周辺ブロックの視差ベクトルの時間平均を、推定視差ベクトルとすることもできる。
【００８３】
[第２変形例]
第２変形例では、第１変形例における複数の視差ベクトルの平均を算出する代わりに、複数の視差ベクトルの中間値を推定視差ベクトルとする。平均を算出する場合より、処理負荷を軽減することができる。なお、さらなる変形例として、エラーブロックの周辺ブロックの視差ベクトルの中間値を、推定視差ベクトルとすることもできる。
【００８４】
図１６は、第２変形例における視差推定手順を示すフローチャート図である。図１６の手順は、図１５の手順において手順Ｓ１５０２が手順Ｓ１６０２に置き換えられたものである。手順Ｓ１６０２では、視差推定部３２０は、過去のピクチャ対において求めた視差ベクトルの中間値を算出する。
【００８５】
以上説明したとおり、本実施形態によれば、立体動画像データにおいて復号エラーを精度よく修復することができる。
【００８６】
以上の実施の形態をまとめると、次の付記のとおりである。
【００８７】
（付記１）
視差を有する連続したピクチャ対を含む符号化された立体動画像データを前記ピクチャを分割したブロックごとに復号し、復号エラーを検出する復号部と、
前記復号エラーが検出されたエラーブロックを有するエラーピクチャより過去に復号され、前記エラーブロックに対応する対応箇所周辺のブロックが前記エラーピクチャにおける前記エラーブロック周辺のブロックと近似するような近似ピクチャとその対のピクチャにおける当該対応箇所の視差を、前記エラーピクチャとその対のピクチャにおける前記エラーブロックの視差として推定する第１の推定処理を行う推定部と、
前記エラーピクチャの対のピクチャにおける前記対応箇所から前記推定された推定視差分ずれた位置にあるブロックを、前記エラーブロックに適用して前記復号エラーを修復する修復部と、
を有する画像処理装置。
【００８８】
（付記２）
付記１において、
前記近似ピクチャは、前記エラーピクチャより過去に復号されたピクチャのうち、前記対応箇所周辺のブロックと前記エラーピクチャにおける前記エラーブロック周辺のブロックとの二乗誤差が最小となるようなピクチャである、
画像処理装置。
【００８９】
（付記３）
付記１または２において、
前記推定部は、前記近似ピクチャにおける前記対応箇所の第１のブロックに対応する第２のブロックを当該近似ピクチャの対のピクチャから検出し、当該第１、第２のブロックの位置の差から前記推定視差を求める、
画像処理装置。
【００９０】
（付記４）
付記１乃至３のいずれかにおいて、
前記推定部は、前記エラーピクチャより過去に復号された複数のピクチャにおける前記対応箇所の視差の平均または中間の視差を前記推定視差として求める、
画像処理装置。
【００９１】
（付記５）
付記１乃至４のいずれかにおいて、
前記推定部は、前記復号部が前記エラーピクチャにおける前記エラーブロック周辺の所定のブロックを当該エラーピクチャ内のブロックを参照する第１の符号化方法により復号した場合に、前記第１の推定処理を行う、
画像処理装置。
【００９２】
（付記６）
付記５において、
前記推定部は、前記復号部が前記エラーブロック周辺の前記所定のブロックを前記エラーピクチャとは異なる他のピクチャ内のブロックを参照する第２の符号化方法により復号した場合に、当該他のピクチャとその対のピクチャにおける前記対応箇所の視差を前記推定視差とする第２の推定処理を行う、
画像処理装置。
【００９３】
（付記７）
付記６において、
前記第１の符号化方法は、Ｈ．２６４規格におけるイントラ予測による符号化方法であり、前記第２の符号化方法は、Ｈ．２６４規格におけるインター予測による符号化方法である、
画像処理装置。
【００９４】
（付記８）
視差を有する連続したピクチャ対を含む符号化された立体動画像データを前記ピクチャを分割したブロックごとに復号して、復号エラーを検出する復号手順と、
前記復号エラーが検出されたエラーブロックを有するエラーピクチャより過去に復号され、前記エラーブロックに対応する対応箇所周辺のブロックが前記エラーピクチャにおける前記エラーブロック周辺のブロックと近似するような近似ピクチャとその対のピクチャにおける当該対応箇所の視差を、前記エラーピクチャとその対のピクチャにおける前記エラーブロックの視差として推定する第１の推定処理を行う推定手順と、
前記エラーピクチャの対のピクチャにおける前記対応箇所から前記推定された推定視差分ずれた位置にあるブロックを、前記エラーブロックに適用して前記復号エラーを修復する修復手順と、
を有する画像処理方法。
【００９５】
（付記９）
付記８において、
前記近似ピクチャは、前記エラーピクチャより過去に復号されたピクチャのうち、前記対応箇所周辺のブロックと前記エラーピクチャにおける前記エラーブロック周辺のブロックとの二乗誤差が最小となるようなピクチャである、
画像処理方法。
【００９６】
（付記１０）
付記８または９において、
前記推定手順で、前記近似ピクチャにおける前記対応箇所の第１のブロックに対応する第２のブロックを当該近似ピクチャの対のピクチャから検出し、当該第１、第２のブロックの位置の差から前記推定視差を求める、
画像処理方法。
【００９７】
（付記１１）
付記８乃至１０のいずれかにおいて、
前記推定手順で、前記エラーピクチャより過去に復号された複数のピクチャにおける前記対応箇所の視差の平均または中間の視差を前記推定視差として求める、
画像処理方法。
【００９８】
（付記１２）
付記８乃至１１のいずれかにおいて、
前記推定手順では、前記エラーピクチャにおける前記エラーブロック周辺の所定のブロックが当該エラーピクチャ内のブロックを参照する第１の符号化方法により復号された場合に、前記第１の推定処理を行う、
画像処理方法。
【００９９】
（付記１３）
付記１２において、
前記推定手順では、前記エラーブロック周辺の前記所定のブロックを前記エラーピクチャとは異なる他のピクチャ内のブロックを参照する第２の符号化方法により復号された場合に、当該他のピクチャとその対のピクチャにおける前記対応箇所の視差を前記推定視差とする第２の推定処理を行う、
画像処理方法。
【０１００】
（付記１４）
付記１３において、
前記第１の符号化方法は、Ｈ．２６４規格におけるイントラ予測による符号化方法であり、前記第２の符号化方法は、Ｈ．２６４規格におけるインター予測による符号化方法である、
画像処理方法。
【符号の説明】
【０１０１】
１０７：復号部、  ３０４、３１４：ブロック復号部、  
３０６、３１６：エラーチェック部、  ３２０：視差推定部、  ３２２：画像修復部
【図１】
0005779483.tif 000002
【図２】
0005779483.tif 000003
【図３】
0005779483.tif 000004
【図４】
0005779483.tif 000005
【図５】
0005779483.tif 000006
【図６】
0005779483.tif 000007
【図７】
0005779483.tif 000008
【図８】
0005779483.tif 000009
【図９】
0005779483.tif 000010
【図１０】
0005779483.tif 000011
【図１１】
0005779483.tif 000012
【図１２】
0005779483.tif 000013
【図１３】
0005779483.tif 000014
【図１４】
0005779483.tif 000015
【図１５】
0005779483.tif 000016
【図１６】
0005779483.tif 000017