(57)【特許請求の範囲】
【請求項１】
動画像に含まれ第１の画像及び第２の画像を並べて配置したフレーム画像を画像間予測符号化処理により符号化するときの該符号化対象のフレーム画像に含まれる複数のブロックのうち符号化対象の符号化ブロックについて、前記符号化対象のフレーム画像より先にブロック単位で符号化されたフレーム画像の復号画像を用いて動きベクトルの検出を行う際に、前記符号化ブロックに関連する局所的な情報に基づいて、前記復号画像に含まれるブロックのうち前記第１の画像と前記第２の画像との境界を跨ぐ境界ブロック内に含まれる前記第１の画像に対応する第１の領域の画像及び前記第２の画像に対応する第２の領域の画像の各々について、前記符号化ブロックの画像との相関の高さを判断する判断部と、
前記境界ブロック内に含まれる前記第１の領域の画像及び前記第２の領域の画像のうち、前記符号化ブロックの画像との相関が低いと判断された領域の画像を、前記符号化ブロックの画像との相関が高いと判断された領域の画素値を用いて生成された置換画像に置き換える置換処理を行う置換部と、
を備えた符号化装置。
【請求項２】
前記復号画像に含まれ、前記符号化ブロックの動きベクトルの検出の際に参照されるブロックが、前記境界ブロックであるか否かを、前記参照されるブロックと前記符号化ブロックとの相対的な位置関係を示す動きベクトル候補に基づいて判別する境界判別部を更に備え、
前記判断部は、前記境界判別部により境界ブロックであると判別されたブロックについて、前記相関の高さを判断する
請求項１に記載の符号化装置。
【請求項３】
前記判断部は、前記符号化ブロックに関連する局所的な情報として、前記符号化ブロックより先に符号化され前記符号化ブロックに対して予め定められた位置関係の第１の周辺領域の復号後の画素値、及び前記復号画像内において前記境界ブロックに対する位置関係が前記第１の周辺領域の前記符号化ブロックに対する位置関係に等しい第２の周辺領域の画素値を用いる場合に、前記第２の周辺領域内の第１の画像に対応する第３の領域の画素値と、前記第１の周辺領域内の前記第３の領域に対応する領域の復号後の画素値との類似度を第１の類似度として求めると共に、前記第２の周辺領域内の前記第２の画像に対応する第４の領域の画素値と、前記第１の周辺領域内の前記第４の領域に対応する領域の復号後の画素値との類似度を第２の類似度として求め、前記第１の類似度が前記第２の類似度より高い場合には、前記第１の領域の画像が前記第２の領域の画像よりも前記符号化ブロックの画像との相関が高いと判断し、前記第２の類似度が前記第１の類似度より高い場合には、前記第２の領域の画像が前記第１の領域の画像よりも前記符号化ブロックの画像との相関が高いと判断する
請求項１又は請求項２に記載の符号化装置。
【請求項４】
前記判断部は、前記符号化ブロックに関連する局所的な情報として、前記境界ブロック内の第１の領域の動き補償に用いられた第１の動きベクトル、前記境界ブロック内の前記第２の領域の動き補償に用いられた第２の動きベクトル、及び前記符号化ブロックの前記境界ブロックに対する第３の動きベクトルを用いる場合に、前記第１の動きベクトルと前記第３の動きベクトルとの類似度が、前記第２の動きベクトルと前記第３の動きベクトルとの類似度より高いときには、前記第１の領域の画像が前記第２の領域の画像よりも前記符号化ブロックの画像との相関が高いと判断し、前記第２の動きベクトルと前記第３の動きベクトルとの類似度が、前記第１の動きベクトルと前記第３の動きベクトルとの類似度より高いときには、前記第２の領域の画像が前記第１の領域の画像よりも前記符号化ブロックの画像との相関が高いと判断する
請求項１又は請求項２に記載の符号化装置。
【請求項５】
前記判断部は、前記符号化ブロックに関連する局所的な情報として、前記符号化ブロックの位置情報を用いる場合に、前記符号化ブロックが前記符号化対象のフレーム画像の第１の画像側に位置するときには、前記第１の領域の画像が前記第２の領域の画像よりも前記符号化ブロックの画像との相関が高いと判断し、前記符号化ブロックが前記符号化対象のフレーム画像の前記第２の画像側に位置するときには、前記第２の領域の画像が前記第１の領域の画像よりも前記符号化ブロックの画像との相関が高いと判断する
請求項１又は請求項２に記載の符号化装置。
【請求項６】
前記置換処理後の復号画像に含まれるブロックから前記符号化ブロックに最も類似するブロックを探索し、該探索されたブロックと前記符号化ブロックと相対位置関係を示す動きベクトルを検出する動きベクトル検出部と、
前記置換処理後の復号画像と、前記検出された動きベクトルとに基づいて動き補償を行って予測画像を生成する動き補償部と、
前記符号化ブロックの画像と、前記動き補償により生成された予測画像との誤差を示す予測誤差画像を生成する予測誤差画像生成部と、
前記検出された動きベクトルの情報と前記予測誤差画像とに基づいて、前記符号化ブロックの画像を符号化する符号化部と、
前記動き補償により生成された予測画像と、前記予測誤差画像とに基づいて、他のフレーム画像の符号化の際に参照される復号画像をブロック単位で生成する復号画像生成部と、
を更に備えた請求項１〜請求項５のいずれか１項記載の符号化装置。
【請求項７】
動画像に含まれ第１の画像及び第２の画像を並べて配置したフレーム画像が画像間予測符号化処理により符号化された符号化データが表す画像に含まれる複数のブロックのうち復号対象の復号ブロックを、該復号ブロックを含むフレーム画像より先にブロック単位で復号されたフレーム画像の復号画像と前記符号化データに含まれる前記復号ブロックの動きベクトルの情報とを用いて動き補償を行って復号する際に、前記復号ブロックの動きベクトルの情報が示す前記復号画像内のブロックが、前記第１の画像と前記第２の画像との境界を跨ぐ境界ブロックである場合に、前記復号ブロックに関連する局所的な情報に基づいて、該境界ブロック内に含まれる前記第１の画像に対応する第１の領域の画像及び前記第２の画像に対応する第２の領域の画像の各々について、前記復号ブロックの画像との相関の高さを判断する判断部と、
前記境界ブロック内に含まれる前記第１の領域の画像及び前記第２の領域の画像のうち、前記復号ブロックの画像との相関が低いと判断された領域の画像を、前記復号ブロックの画像との相関が高いと判断された領域の画素値を用いて生成された置換画像に置き換える置換処理を行う置換部と、
を備えた復号装置。
【請求項８】
前記復号ブロックの動きベクトルの情報が示す前記復号画像内のブロックが、前記第１の画像と前記第２の画像との境界を跨ぐ境界ブロックであるか否かを、前記復号ブロックの動きベクトル情報に基づいて判別する境界判別部を更に備え、
前記判断部は、前記境界判別部により境界ブロックであると判別されたブロックについて、前記相関の高さを判断する
請求項７に記載の復号装置。
【請求項９】
前記判断部は、前記復号ブロックに関連する局所的な情報として、前記復号ブロックより先に復号され前記復号ブロックに対して予め定められた位置関係の第１の周辺領域の画素値、及び前記復号画像内において前記境界ブロックに対する位置関係が前記第１の周辺領域の前記復号ブロックに対する位置関係に等しい第２の周辺領域の画素値を用いる場合に、前記第２の周辺領域内の前記第１の画像に対応する第３の領域の画素値と、前記第１の周辺領域内の前記第３の領域に対応する領域の画素値との類似度を第１の類似度として求めると共に、前記第２の周辺領域内の前記第２の画像に対応する第４の領域の画素値と、前記第１の周辺領域内の前記第４の領域に対応する領域の画素値との類似度を第２の類似度として求め、前記第１の類似度が前記第２の類似度より高い場合には、前記第１の領域の画像が前記第２の領域の画像よりも前記復号ブロックの画像との相関が高いと判断し、前記第２の類似度が前記第１の類似度より高い場合には、前記第２の領域の画像が前記第１の領域の画像よりも前記復号ブロックの画像との相関が高いと判断する
請求項７又は請求項８に記載の復号装置。
【請求項１０】
前記判断部は、前記復号ブロックに関連する局所的な情報として、前記境界ブロック内の前記第１の領域の動き補償に用いられた第１の動きベクトル、前記境界ブロック内の前記第２の領域の動き補償に用いられた第２の動きベクトル、及び前記復号ブロックの前記境界ブロックに対する第３の動きベクトルを用いる場合に、前記第１の動きベクトルと前記第３の動きベクトルとの類似度が、前記第２の動きベクトルと前記第３の動きベクトルとの類似度より高いときには、前記第１の領域の画像が前記第２の領域の画像よりも前記復号ブロックの画像との相関が高いと判断し、前記第２の動きベクトルと前記第３の動きベクトルとの類似度が、前記第１の動きベクトルと前記第３の動きベクトルとの類似度より高いときには、前記第２の領域の画像が前記第１の領域の画像よりも前記復号ブロックの画像との相関が高いと判断する
請求項７又は請求項８に記載の復号装置。
【請求項１１】
前記判断部は、前記復号ブロックに関連する局所的な情報として、前記復号ブロックの位置情報を用いる場合に、前記復号ブロックが前記復号対象のフレーム画像の前記第１の画像側に位置するときには、前記第１の領域の画像が前記第２の領域の画像よりも前記復号ブロックの画像との相関が高いと判断し、前記復号ブロックが前記復号対象のフレーム画像の前記第２の画像側に位置するときには、前記第２の領域の画像が前記第１の領域の画像よりも前記復号ブロックの画像との相関が高いと判断する
請求項７又は請求項８に記載の復号装置。
【請求項１２】
前記置換処理後の復号画像と、前記符号化データに含まれる動きベクトルの情報とに基づいて動き補償を行って予測画像を生成する動き補償部と、
前記動き補償により生成された予測画像と前記符号化データに含まれる予測誤差画像の情報とに基づいて、前記符号化データにより表される画像を復号した復号画像をブロック単位で生成する復号画像生成部と、
を更に備えた請求項７〜請求項１１のいずれか１項記載の復号装置。
【請求項１３】
動画像に含まれ第１の画像及び第２の画像を並べて配置したフレーム画像を画像間予測符号化処理により符号化するときの該符号化対象のフレーム画像に含まれる複数のブロックのうち符号化対象の符号化ブロックについて、前記符号化対象のフレーム画像より先にブロック単位で符号化されたフレーム画像の復号画像を用いて動きベクトルの検出及び動き補償を行う際に、前記符号化ブロックに関連する局所的な情報に基づいて、前記復号画像に含まれるブロックのうち前記第１の画像と前記第２の画像との境界を跨ぐ境界ブロック内に含まれる前記第１の画像に対応する第１の領域の画像及び前記第２の画像に対応する第２の領域の画像の各々について、前記符号化ブロックの画像との相関の高さを判断する判断ステップと、
前記境界ブロック内に含まれる前記第１の領域の画像及び前記第２の領域の画像のうち、前記符号化ブロックの画像との相関が低いと判断された領域の画像を、前記符号化ブロックの画像との相関が高いと判断された領域の画素値を用いて生成された置換画像に置き換える置換処理を行う置換ステップと、
を備えた符号化方法。
【請求項１４】
動画像に含まれ第１の画像及び第２の画像を並べて配置したフレーム画像が画像間予測符号化処理により符号化された符号化データが表す画像に含まれる複数のブロックのうち復号対象の復号ブロックを、該復号ブロックを含むフレーム画像より先にブロック単位で復号されたフレーム画像の復号画像と前記符号化データに含まれる前記復号ブロックの動きベクトルの情報とを用いて動き補償を行って復号する際に、前記復号ブロックの動きベクトルの情報が示す前記復号画像内のブロックが、前記第１の画像と前記第２の画像との境界を跨ぐ境界ブロックである場合に、前記復号ブロックに関連する局所的な情報に基づいて、該境界ブロック内に含まれる前記第１の画像に対応する第１の領域の画像及び前記第２の画像に対応する第２の領域の画像の各々について、前記復号ブロックの画像との相関の高さを判断する判断ステップと、
前記境界ブロック内に含まれる前記第１の領域の画像及び前記第２の領域の画像のうち、前記復号ブロックの画像との相関が低いと判断された領域の画像を、前記復号ブロックの画像との相関が高いと判断された領域の画素値を用いて生成された置換画像に置き換える置換処理を行う置換ステップと、
を備えた復号方法。
【請求項１５】
コンピュータに、
動画像に含まれ第１の画像及び第２の画像を並べて配置したフレーム画像を画像間予測符号化処理により符号化するときの該符号化対象のフレーム画像に含まれる複数のブロックのうち符号化対象の符号化ブロックについて、前記符号化対象のフレーム画像より先にブロック単位で符号化されたフレーム画像の復号画像を用いて動きベクトルの検出及び動き補償を行う際に、前記符号化ブロックに関連する局所的な情報に基づいて、前記復号画像に含まれるブロックのうち前記第１の画像と前記第２の画像との境界を跨ぐ境界ブロック内に含まれる前記第１の画像に対応する第１の領域の画像及び前記第２の画像に対応する第２の領域の画像の各々について、前記符号化ブロックの画像との相関の高さを判断する判断ステップと、
前記境界ブロック内に含まれる前記第１の領域の画像及び前記第２の領域の画像のうち、前記符号化ブロックの画像との相関が低いと判断された領域の画像を、前記符号化ブロックの画像との相関が高いと判断された領域の画素値を用いて生成された置換画像に置き換える置換処理を行う置換ステップと、
を含む処理を実行させるための符号化プログラム。
【請求項１６】
コンピュータに、
動画像に含まれ第１の画像及び第２の画像を並べて配置したフレーム画像が画像間予測符号化処理により符号化された符号化データが表す画像に含まれる複数のブロックのうち復号対象の復号ブロックを、該復号ブロックを含むフレーム画像より先にブロック単位で復号されたフレーム画像の復号画像と前記符号化データに含まれる前記復号ブロックの動きベクトルの情報とを用いて動き補償を行って復号する際に、前記復号ブロックの動きベクトルの情報が示す前記復号画像内のブロックが、前記第１の画像と前記第２の画像との境界を跨ぐ境界ブロックである場合に、前記復号ブロックに関連する局所的な情報に基づいて、該境界ブロック内に含まれる前記第１の画像に対応する第１の領域の画像及び前記第２の画像に対応する第２の領域の画像の各々について、前記復号ブロックの画像との相関の高さを判断する判断ステップと、
前記境界ブロック内に含まれる前記第１の領域の画像及び前記第２の領域の画像のうち、前記復号ブロックの画像との相関が低いと判断された領域の画像を、前記復号ブロックの画像との相関が高いと判断された領域の画素値を用いて生成された置換画像に置き換える置換処理を行う置換ステップと、
を含む処理を実行させるための復号プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は、符号化装置、復号装置、符号化方法、復号方法、符号化プログラム、及び復号プログラムに関する。
【背景技術】
【０００２】
画像データ、特に動画像データは、一般にデータ量が大きいので、送信装置から受信装置へ伝送される際、或いは記憶装置に格納される際などには、高能率符号化が行われる。ここで、「高能率符号化」とは、あるデータ列を他のデータ列に変換する符号化処理であって、そのデータ量を圧縮する処理をいう。
【０００３】
動画像データの高能率符号化方法として、画面内（イントラ）予測符号化方法と画面間（インター）予測符号化方法が知られている。
【０００４】
画面内予測符号化方法では、動画像データが空間方向に相関が高いことを利用する。すなわち、画面内予測符号化方法は、他のフレーム画像を用いず、符号化対象となるフレーム画像の情報のみで符号化対象のフレーム画像を符号化・復号する方法である。画面内予測符号化方法を、「フレーム内予測符号化方法」と呼称する場合もある。
【０００５】
また、画面間予測符号化方法では、動画像データが時間方向に相関が高いことを利用する。動画像データでは、一般的に、時間的に近いフレーム画像は類似度が高いため、既に符号化したフレーム画像を復号した復号画像を参照して符号化対象のフレーム画像の符号化を行うことで、冗長性を取り除くことが可能である。画面間予測符号化方法を、「フレーム間予測符号化方法」と呼称する場合もある。
【０００６】
画面間予測符号化方法では、符号化対象の画像をブロックに分割し、分割したブロック単位で符号化を行うことが一般的である。まず、既に符号化された他のフレーム画像を参照のために復号して復号画像を生成し、復号画像から符号化対象のブロックの画像と類似している領域の画像を選択する。更に、選択した領域の画像と符号化対象のブロックの画像との差分を予測誤差として求め、冗長性を取り除く。そして、類似している領域との空間的なずれを示す動きベクトル情報と、冗長性が取り除かれた予測誤差とを符号化することにより、高圧縮率を実現している。なお、予測誤差は予測誤差画像ともいう。
【０００７】
一方、符号化されたデータを受信した受信装置では、受信した動きベクトル情報及び差分情報を復号して、画像を再生する。
【０００８】
代表的な動画像符号化方式として、ISO/IEC MPEG-2／MPEG-4(以下、MPEG-2、MPEG-4)が挙げられる。
【０００９】
MPEG-2 VideoやH.264/MPEG-4 AVCに代表される現行の動画像符号化標準方式には、ステレオの立体映像の符号化、及び復号を取り扱う仕組みが用意されている。ここで扱う立体映像には、異なる視点の２つの画像が含まれる。以下、この２つの異なる視点の画像を、左目用画像及び右目用画像と呼称する。
【００１０】
立体映像を符号化する場合、映像を構成する左目用画像と右目用画像とが、例えば図２３に示すようにそれぞれ画素数が半分になるように間引きされ、並べて配置して１つの画像にパッキングされた上で、従来の符号化方式を用いて符号化される。間引き及びパッキングには、様々な方式がある。例えば、インタリーブ方式や、サイドバイサイド方式、及びトップアンドボトム方式等が知られている。インタリーブ方式は、走査線毎に右目用画像と左目用画像を配置する方式である。サイドバイサイド方式は、左目用画像と右目用画像を左右に隣り合わせて配置する方式である。トップアンドボトム方式は、左目用画像と右目用画像を上下に隣り合わせて配置する方式である。図２３には、サイドバイサイド方式の概念図を示した。
【００１１】
符号化装置から復号装置へ立体映像の符号化データを送信するにあたり、送信されるデータが立体映像を符号化したビットストリームであることを示す情報は、送信データのヘッダ情報領域に含めて通知される。そのため、例えばMPEG-2においては、user_dataの領域が、またH.264/MPEG-4 AVCでは、Frame packing arrangement SEIの領域が用いられる。図２４に、H.264/MPEG-4 AVCのFrame packing arrangement SEIで用いられるヘッダ情報のシンタックスを示す。
【００１２】
なお、サイドバイサイド方式やトップアンドボトム方式を用いた上記立体映像を画面間予測により符号化する場合、符号化対象のブロックと類似するブロックを復号画像から探索する際には、異なる視点の画像を参照することが可能である（図２５も参照）。このように、異なる視点の画像を考慮した上で、類似度の高い部分を参照することで符号化効率を向上させることができる。
【００１３】
符号化効率を高めるための技術としては、上記以外にも、例えば、フレーム画像間のグローバルな動き情報（動きベクトル）を探索し、該グローバルな動き情報から、参照されるフレーム画像の外側の画像情報を他方の画像から作成して用いる技術も知られている。なお、グローバルな動き情報は、１画像全体の動き情報であって、１画像を構成する複数の領域の各々の動きベクトルの統計量から求めることができる。
【先行技術文献】
【非特許文献】
【００１４】
【非特許文献１】ISO/IEC 13818、Generic coding of moving pictures and associated audio information
【非特許文献２】ISO/IEC 14496-10、MPEG-4 Part 10 Advanced Video Coding
【特許文献】
【００１５】
【特許文献１】特開２００５−１５９８２４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
ところで、図２６に示されるように、符号化の際に参照される復号画像側のブロック（以下、参照ブロックと呼称）が左目用画像と右目用画像の境界に跨る場合がある。参照ブロック内の左目用画像に対応する領域（領域Ａ）と右目用画像に対応する領域（領域Ｂ）は、現実の空間に照らし合わせると、空間的に位置が全く異なる。
【００１７】
このため、領域Ａ及び領域Ｂのいずれか一方の領域は、符号化対象のブロック（以下、符号化ブロックと呼称）と高い相関を有しているが、他方の領域は符号化ブロックとの相関が低くなる、といった現象が起こる。例えば、図２６に示す例では、参照ブロック内の左目用画像に対応する領域Ａは符号化ブロックとの相関が高く、右目用画像に対応する領域Ｂは相関が低い。しかしながら、現行の動画像符号化標準では、このステレオ立体映像に特有の現象を考慮しておらず、何ら特別な処理をすることがない。従って、画素値相関が低い領域をそのまま用いると、予測誤差が大きくなってしまい、符号化効率が低下するという問題があった。
【００１８】
開示の技術は、動画像に含まれ２つの画像を並べて配置したフレーム画像を符号化又は復号する際に参照される復号画像のブロックが、２つの画像の境界を跨ぐ境界ブロックである場合の予測誤差を小さくすることを目的とする。
【課題を解決するための手段】
【００１９】
開示の技術では、動画像に含まれ第１の画像及び第２の画像を並べて配置したフレーム画像を画像間予測符号化処理により符号化する。開示の技術では、符号化対象のフレーム画像に含まれる複数のブロックのうち符号化対象の符号化ブロックの動きベクトルの検出を行う際には、符号化対象のフレーム画像より先にブロック単位で符号化されたフレーム画像の復号画像が用いられる。
【００２０】
ここで、復号画像に含まれるブロックのうち第１の画像と第２の画像との境界を跨ぐ境界ブロック内には、第１の画像に対応する第１の領域の画像及び第２の画像に対応する第２の領域の画像が含まれる。そこで、開示の技術は、符号化ブロックに関連する局所的な情報に基づいて、第１の領域及び第２の領域の各々について、符号化ブロックの画像との相関の高さを判断する。そして、開示の技術は、第１の領域の画像及び第２の領域の画像のうち、符号化ブロックの画像との相関が低いと判断された領域の画像を、符号化ブロックの画像との相関が高いと判断された領域の画素値を用いて生成された置換画像に置き換える。
【００２１】
更に、開示の技術は、動画像に含まれ第１の画像及び第２の画像を並べて配置したフレーム画像が画像間予測符号化処理により符号化された符号化データを復号する技術も開示する。開示の技術では、符号化データが表す画像に含まれる複数のブロックのうち復号対象の復号ブロックの動き補償を行う際には、該復号ブロックを含むフレーム画像より先にブロック単位で復号されたフレーム画像の復号画像が用いられる。また、復号ブロックの動き補償を行う際には、符号化データに含まれる復号ブロックの動きベクトルの情報も用いられる。
【００２２】
ここで、復号画像に含まれるブロックのうち第１の画像と第２の画像との境界を跨ぐ境界ブロック内には、第１の画像に対応する第１の領域の画像及び第２の画像に対応する第２の領域が含まれる。そこで、開示の技術は、復号ブロックに関連する局所的な情報に基づいて、第１の領域及び第２の領域の各々について、復号ブロックの画像との相関の高さを判断する。そして、開示の技術は、第１の領域の画像及び第２の領域の画像のうち、復号ブロックの画像との相関が低いと判断された領域の画像を、復号ブロックの画像との相関が高いと判断された領域の画素値を用いて生成された置換画像に置き換える。
【発明の効果】
【００２３】
開示の技術は、動画像に含まれ２つの画像を並べて配置したフレーム画像を符号化又は復号する際に参照される復号画像のブロックが、２つの画像の境界を跨ぐ境界ブロックである場合の予測誤差を小さくすることができる。
【図面の簡単な説明】
【００２４】
【図１】第１実施形態で説明した符号化装置の概略構成を示すブロック図である。
【図２】第１実施形態で説明した符号化装置の画面間予測画像生成部の概略構成を示すブロック図である。
【図３】第１実施形態に係る相関判断処理を説明する説明図である。
【図４】第１実施形態〜第３実施例で説明した符号化装置で行われる予測画像生成処理の流れを示すフローチャートである。
【図５】第１実施形態で説明した復号装置の概略構成を示すブロック図である。
【図６】第１実施形態で説明した復号装置の画面間予測画像生成部の概略構成を示すブロック図である。
【図７】第１実施形態〜第３実施例で説明した復号装置で行われる予測画像生成処理の流れを示すフローチャートである。
【図８】第２実施形態で説明した符号化装置の概略構成を示すブロック図である。
【図９】第２実施形態で説明した符号化装置の画面間予測画像生成部の概略構成を示すブロック図である。
【図１０】第２実施形態に係る相関判断処理を説明する説明図である。
【図１１】第２実施形態で説明した復号装置の概略構成を示すブロック図である。
【図１２】第２実施形態で説明した復号装置の画面間予測画像生成部の概略構成を示すブロック図である。
【図１３】第３実施形態で説明した符号化装置の概略構成を示すブロック図である。
【図１４】第３実施形態で説明した符号化装置の画面間予測画像生成部の概略構成を示すブロック図である。
【図１５】第３実施形態に係る相関判断処理を説明する説明図である。
【図１６】第３実施形態で説明した復号装置の概略構成を示すブロック図である。
【図１７】第３実施形態で説明した復号装置の画面間予測画像生成部の概略構成を示すブロック図である。
【図１８】グローバル動きベクトルを用いて外挿方向を決定する処理を簡単に説明する説明図である。
【図１９】フレーム画像内の動きベクトルが領域毎に大きく異なる状態を説明する説明図である。
【図２０】グローバル動きベクトルを用いずに、符号化ブロック又は復号ブロックに関する局所的な情報を用いて外挿方向を決定する処理を簡単に説明する説明図である。
【図２１】符号化装置をプログラムによって実現する態様におけるハードウェア構成の一例を示す概略ブロック図である。
【図２２】復号装置をプログラムによって実現する態様におけるハードウェア構成の一例を示す概略ブロック図である。
【図２３】サイドバイサイド方式のフレーム画像を説明する説明図である。
【図２４】H.264/MPEG-4 AVCのFrame packing arrangement SEIで用いられるヘッダ情報のシンタックスを示す図である。
【図２５】２つの画像の境界を超える動きベクトルによる参照状態を示す図である。
【図２６】参照ブロックが２つの画像の境界を跨ぐ状態を示す図である。
【発明を実施するための形態】
【００２５】
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。
【００２６】
〔第１実施形態〕
【００２７】
図１には、本実施形態に係る符号化装置１０が示されている。符号化装置１０は、予測誤差画像生成部１２、変換部１４、量子化部１６、逆量子化部１８、逆変換部２０、復号画像生成部２２、復号画像蓄積部２４、符号化ブロック予測画像生成部２６、切替スイッチ３２、及びエントロピー符号化部３４を備えている。
【００２８】
なお、符号化装置１０の各機能部は例えば電子回路等で実現することができ、符号化装置１０は、例えば半導体集積回路、より詳しくはＡＳＩＣ(Application Specific Integrated Circuit)等で実現してもよい。また符号化装置１０は、利用者による操作入力を受け付ける入力デバイスである操作部を更に備えていてもよい。
【００２９】
符号化装置１０の各機能部についての概略を以下に説明する。
【００３０】
予測誤差画像生成部１２には、動画像に含まれるフレーム画像を予め定められたサイズの複数のブロックに分割したときの各ブロックの画像を表す画像情報が符号化対象として供給される。ここで、ブロックとは複数画素を含む領域をいう。以下では、符号化対象のブロックを、符号化ブロックと呼称する。
【００３１】
ここで、フレーム画像は、２つの画像を並べて配置したフレーム画像とする。更に本実施形態では、該２つの画像を、互いに視点が異なる第１の画像及び第２の画像（例えば、視差に相当する距離を隔てた一対の撮影位置から同一被写体を各々撮影した画像）とする。配置方式は例えば、サイドバイサイド方式及びトップアンドボトム方式のいずれの方式でもよいが、本実施形態では、サイドバイサイド方式を例に挙げて説明する。また、以下では、第１の画像を左目用画像とし、第２の画像を右目用画像として説明する。なお、サイドバイサイド方式が採用されている動画像では、フレーム画像を左右に等分割する位置が左目用画像と右目用画像の境界となる（図２３も参照）。
【００３２】
また、予測誤差画像生成部１２には、符号化ブロック予測画像生成部２６から予測画像の画像情報がブロック単位で供給される。予測画像については後述する。予測誤差画像生成部１２は、符号化ブロックの画像情報と、予測画像の画像情報との差分を示す差分情報を演算し、この差分情報を予測誤差画像の情報として変換部１４に供給する。このように、予測誤差画像生成部１２において予測誤差画像が生成される。
【００３３】
変換部１４は、供給された予測誤差画像の情報に変換処理を施し、予測誤差画像を水平及び垂直方向の周波数成分に分離する。変換処理して得られた各周波数成分の情報は量子化部１６に入力される。
【００３４】
量子化部１６は、変換部１４から供給された情報を量子化する。量子化部１６は量子化することにより当該予測誤差画像の符号量を低減する。量子化部１６は、量子化後の情報をエントロピー符号化部３４及び逆量子化部１８に供給する。
【００３５】
逆量子化部１８は、量子化部１６から供給された情報を逆量子化して逆変換部２０に供給する。
【００３６】
逆変換部２０は、逆量子化部１８から供給された情報を逆変換処理する。ここで、逆変換処理とは、変換部１４で行われる変換処理とは逆方向に変換する処理をいう。
【００３７】
逆量子化部１８及び逆変換部２０によって復号処理が行われることにより、符号化前の予測誤差画像と同程度の画像の情報が得られる。これを再生予測誤差画像と呼称する。
【００３８】
復号画像生成部２２には、逆変換部２０で逆変換処理された再生予測誤差画像の画像情報が供給される。また、復号画像生成部２２は、符号化ブロック予測画像生成部２６で生成された予測画像の画像情報がブロック単位で供給される。復号画像生成部２２は、再生予測誤差画像の画像情報と予測画像の画像情報とを加算することにより、符号化ブロックの画像を復号した画像（ブロック復号画像）を生成し、復号画像蓄積部２４に渡す。
【００３９】
なお、符号化対象のフレーム画像に含まれるブロックの各々について上記各機能部での処理が行われることにより、符号化されたブロックの各々のブロック復号画像が生成され、フレーム画像全体を復号した画像が生成されることになる。以下、フレーム画像全体を復号した画像を、単に復号画像と呼称する。
【００４０】
復号画像蓄積部２４は、復号画像生成部２２から供給されたブロック復号画像の画像情報の各々を順次メモリに蓄積する。これにより、最終的に、符号化されたフレーム画像全体の復号画像が蓄積されることになる。蓄積された復号画像は、後述する画面間予測画像生成部３０に供給され、他のフレーム画像を符号化するときの動きベクトル検出や動き補償等で参照される。従って、蓄積された復号画像のうち、画面間予測画像生成部３０で予測画像の生成の際に参照される復号画像は、「参照画像」とも呼ばれる。どの復号画像が参照されるかは、符号化対象フレーム画像の予測モード等に応じて定まる。また、以下では、参照画像内の各ブロックを、参照ブロックと呼称する。
【００４１】
符号化ブロック予測画像生成部２６は、画面内予測画像生成部２８及び画面間予測画像生成部３０を有している。符号化ブロック予測画像生成部２６は、予測画像をブロック単位で生成して予測誤差画像生成部１２及び（切替スイッチ３２を介して）復号画像生成部２２に供給すると共に、予測画像の生成の際に得られたサイド情報をエントロピー符号化部３４に供給する。サイド情報には、例えば、動きベクトルの情報や予測モード等が含まれる。
【００４２】
画面内予測画像生成部２８は、画面内予測符号化方法で符号化を行うときの予測画像をブロック単位で生成する。画面内予測符号化方法は、他のフレーム画像を用いず、符号化対象となるフレーム画像の情報のみで画像を符号化・復号する方法であって、フレーム内予測符号化方法とも呼ばれる。より具体的には、１枚のフレーム画像内において、周辺のブロックの画像から、予め定められた方向に沿って近傍の画像の動きを推定して、符号化対象のブロックの画像を予測し、予測した予測画像と符号化ブロックの画像との差分を符号化する方法である。
【００４３】
画面間予測画像生成部３０は、画面間予測符号化方法で符号化を行うときの予測画像をブロック単位で生成する。画面間予測符号化方法は、異なる時刻のフレーム画像に基づいて予測画像を生成し、符号化対象の画像と予測画像の差分(誤差)画像を符号化する方式であって、フレーム間予測符号化方法とも呼ばれる。詳細は後述する。
【００４４】
切替スイッチ３２は、画面内予測画像生成部２８で生成された予測画像及び画面間予測画像生成部３０で生成された予測画像の一方を選択して予測誤差画像生成部１２及び復号画像生成部２２に供給するためのスイッチである。切替スイッチ３２は、不図示の制御部により制御され、切替えられる。
【００４５】
エントロピー符号化部３４は、量子化部１６から供給された量子化後の予測誤差画像の情報と、符号化ブロック予測画像生成部２６から供給されたサイド情報とをエントロピー符号化する。エントロピー符号化とは、シンボルの出現頻度に応じて、可変長の符号を割り当て符号化する処理をいう。エントロピー符号化により生成された符号化信号（ビットストリーム）は、予め定められた出力先に出力される。
【００４６】
次に、画面間予測画像生成部３０について、詳細に説明する。図２に示すように、画面間予測画像生成部３０は、視点境界判別部４０、判断部４２、置換部４４、切替スイッチ４６、動きベクトル検出部４８、及び動き補償部５８を有している。動きベクトル検出部４８は、符号化ブロックを符号化するときの動きベクトル（符号化ブロックについて動き補償により予測画像を生成するときに使用される動きベクトル）を検出する。また、動きベクトル検出部４８は、動きベクトル候補生成部５０、誤差計算部５２、探索結果蓄積部５４、及び動きベクトル選択部５６を備えている。各機能部についての概略を以下に説明する。
【００４７】
動きベクトル候補生成部５０には、復号画像蓄積部２４より供給され、符号化ブロックが属するフレーム画像に時間的に近い復号画像（参照画像）から、符号化ブロックに空間的に近い複数の参照ブロックを抽出する。復号画像における参照ブロックの抽出範囲は、符号化対象のフレーム内における符号化ブロックの位置に応じて定まる。従って、ここでは図示を省略したが、符号化ブロックの位置情報も動きベクトル候補生成部５０に入力される。動きベクトル候補生成部５０は、抽出した参照ブロックと符号化ブロックとの相対的な位置関係（ずれ量及びずれ方向）を示す動きベクトルを動きベクトル候補として生成する。これら候補の中から、後述する動きベクトル選択部５６により、符号化ブロックの動きベクトルが最終的に選択される。
【００４８】
視点境界判別部４０には、動きベクトル候補生成部５０で抽出された動きベクトル候補の情報が入力される。視点境界判別部４０は、動きベクトル候補に対応する参照ブロックの各々について、参照画像の右目用画像と左目用画像の境界を跨ぐか否かを判別する。
【００４９】
視点境界判別部４０は、動きベクトル候補に対応する参照ブロックが、上記境界を跨ぐ参照ブロックである場合には、置換部４４で置換処理が行われるように切替スイッチ４６を第１の状態に制御する。切替スイッチ４６が第１の状態になると、復号画像は、判断部４２及び置換部４４の双方に供給される。なお、以下では、上記境界を跨ぐ参照ブロックを、境界ブロックと呼称する。
【００５０】
また、視点境界判別部４０は、動きベクトル候補に対応する参照ブロックが、境界ブロックでない場合には、置換処理が行われないように切替スイッチ４６を第２の状態に制御する。これにより、復号画像は、判断部４２及び置換部４４には供給されず、動きベクトル検出部４８及び動き補償部５８に直接供給される。従って、境界ブロックではない参照ブロックに対しては、置換処理が行われない。
【００５１】
判断部４２は、動きベクトル候補に対応する境界ブロック内に含まれる左目用画像に対応する第１の領域の画像及び右目用画像に対応する第２の領域の画像の各々について、符号化ブロックの画像との相関の高さを判断する。この判断は、符号化ブロックに関連する局所的な情報に基づいて行われる。
【００５２】
置換部４４は、第１の領域の画像及び第２の領域の画像のうち、符号化ブロックの画像との相関が低いと判断された領域の画像を、符号化ブロックの画像との相関が高いと判断された領域の画素値を用いて生成された置換画像に置き換える置換処理を行う。なお、置換処理は、復号画像蓄積部２４によりメモリに蓄積されている元々の復号画像に対して行われるのではなく、例えば、所定の一時的な記憶部にコピーした復号画像に対して行われる。置換処理後の復号画像の画像情報は、動きベクトル検出部４８及び動き補償部５８に供給される。
【００５３】
なお、置換画像の生成方法は、特に限定されない。例えば、相関の高い一方の領域の画素値のうち、他方の領域に隣接する部分の画素値のみを使って置換画像を生成し、他方の領域の画像を該置換画像に置き換えてもよい。より具体的には、一方の領域の画素値のうち、他方の領域に隣接する画素列を他方の領域の水平方向の長さ分並べて生成した置換画像を、他方の領域の画像と置き換えてもよい。また、例えば、２つの領域のサイズが等しければ、相関の高い一方の領域の画像全体を置換画像として、他方の領域の画像と置き換えてもよい。２つの領域のサイズが異なる場合には、相関の高い一方の領域の画像を水平方向に拡大縮小した置換画像を作成して、他方の領域の画像と置き換えてもよい。
【００５４】
なお、置換処理は、言い換えれば、一方の領域の画素値を基にして、該一方の領域の範囲外の領域である他方の領域の画素値を求める外挿処理ということもできる。従って、以下では、置換処理を「外挿処理」という場合もある。
【００５５】
第１の領域の画像の方が第２の領域より相関が高いと判断された場合には、第２の領域の画像を第１の領域の画素値を用いた置換画像に置き換える置換処理が行われる。この場合の外挿方向は、第１の領域から第２の領域へ向かう方向である。
【００５６】
また、第２の領域の画像の方が第１の領域より相関が高いと判断された場合には、第１の領域の画像を第２の領域の画素値を用いた置換画像に置き換える置換処理が行われる。この場合の外挿方向は、第２の領域から第１の領域へ向かう方向である。
【００５７】
このように、置換部４４で行われる置換処理（外挿処理）の外挿方向は、判断部４２の判断結果に応じて定まる。
【００５８】
誤差計算部５２は、動きベクトル候補生成部５０で動きベクトル候補とされた参照ブロックの各々の画像の各々と、符号化ブロックの画像との誤差（コスト）を計算する。なお、参照ブロックが境界ブロックに対応する場合には、ここでの誤差の算出は、上記置換処理された画像が用いられることになる。
【００５９】
探索結果蓄積部５４は、計算された誤差（コスト）の情報と、該誤差に対応する動きベクトル候補の情報とを、対応付けてメモリに蓄積する。
【００６０】
動きベクトル選択部５６は、最も誤差が小さくなる動きベクトル候補を、現在処理中の符号化ブロックに対する動きベクトルとして選択する。この動きベクトルの情報は、動き補償部５８に供給されると共に、前述したように、サイド情報としてエントロピー符号化部３４に供給される。
【００６１】
動き補償部５８は、最終的に選択された動きベクトルにより動き補償することにより、予測画像を生成する。すなわち、動き補償部５８は、動きベクトル選択部５６より供給される動きベクトルに従って復号画像内の参照ブロックの画像を抽出し、その画像情報を予測画像の画像情報として出力する。なお、ここで抽出された参照ブロックが境界ブロックに対応する場合には、上記置換処理された画像が予測画像とされる。
【００６２】
ここで、本実施形態の判断部４２及び置換部４４の作用について、図３を用いて簡単に説明する。
【００６３】
判断部４２は、符号化ブロックに関連する局所的な情報に基づいて、第１の領域の画像及び第２の領域の画像の各々について符号化ブロックの画像との相関の高さを判断するが、本実施形態では、符号化ブロックに関連する局所的な情報として以下の情報を用いる。
【００６４】
１．符号化対象のフレーム画像内の、符号化ブロックより先に符号化され該符号化ブロックに対して予め定められた位置関係の周辺領域Ｎ１の復号後の画素値。
【００６５】
２．復号画像内の、境界ブロックに対する位置関係が上記符号化ブロックの周辺領域Ｎ１の符号化ブロックに対する位置関係に等しい周辺領域Ｎ２の画素値。
【００６６】
当然ながら、周辺領域Ｎ２の画素値は、復号された画素値である。なお、本実施形態では、周辺領域Ｎ１を符号化ブロックに隣接する領域としているが、符号化ブロック周辺の領域（例えば符号化ブロックから所定範囲内の領域）であって、符号化ブロックに対して予め定められた位置関係であれば隣接していなくてもよい。また、周辺領域Ｎ２も同様であり、境界ブロックに隣接していなくてもよい。
【００６７】
判断部４２は、まず、境界ブロックの周辺領域Ｎ２内の左目用画像に対応する領域Ｃの画素値と、符号化ブロックの周辺領域Ｎ１内の、上記領域Ｃに対応する領域ｃの復号後の画素値の類似度ｒ１を求める。
【００６８】
次に判断部４２は、境界ブロックの周辺領域Ｎ２内の右目用画像に対応する領域Ｄの画素値と、符号化ブロックの周辺領域Ｎ１内の、上記領域Ｄに対応する領域ｄの復号後の画素値の類似度ｒ２を求める。
【００６９】
そして、判断部４２は、類似度ｒ１が類似度ｒ２より高い場合には、境界ブロックの左目用画像に対応する領域Ａが、境界ブロックの右目用画像に対応する領域Ｂより、符号化ブロックの画素値との相関が高いと判断する（判断結果１）。
【００７０】
また、判断部４２は、類似度ｒ２が類似度ｒ１より高い場合には、境界ブロックの右目用画像に対応する領域Ｂが、境界ブロックの左目用画像に対応する領域Ａより、符号化ブロックの画素値との相関が高いと判断する（判断結果２）。
【００７１】
判断部４２の判断結果が判断結果１である場合には、置換部４４は、領域Ａから領域Ｂへ向かう外挿方向で外挿を行う。また、判断部４２の判断結果が判断結果２である場合には、置換部４４は、領域Ｂから領域Ａへ向かう外挿方向で外挿を行う。図３では、領域Ａから領域Ｂへ向かう外挿方向が例示されている。
【００７２】
次に、本実施形態の画面間予測画像生成部３０における作用の具体例について、図４のフローチャートを参照して詳細に説明する。
【００７３】
画面間予測画像生成部３０の動きベクトル検出部４８では、符号化ブロックについて最適な動きベクトルを検出するため、前述したように、予め複数の参照ブロックを抽出しておき複数の動きベクトル候補を求めておく。そして、複数の候補に対応する参照ブロックの各々と符号化ブロックとの差分を求め、一般的には差分が最も小さくなる動きベクトルを採用する。このときのサーチ方法としては、ダイヤモンドサーチやヘキサゴンサーチなどのアルゴリズムが知られている。
【００７４】
ここで、符号化ブロックの左上の位置を(x_tar、y_tar)、ブロックの幅をw_block、高さをh_blockとし、フレーム画像の幅をw_pic、高さをh_picとする。左目用画像と右目用画像のパッキング方式はサイドバイサイド方式とし、左目用画像と右目用画像との境界は、水平方向（フレーム画像の幅方向）のw_pic/2の位置であるとする。
【００７５】
図４に示すフローチャートでは、ステップ１００及びステップ１１４で示されるループ端に挟まれる処理が、動きベクトル候補の数だけ繰り返される。
【００７６】
まず、ステップ１０２において、動きベクトル候補生成部５０は、候補となる動きベクトル(mv_x、mv_y)を生成する。
【００７７】
ステップ１０４において、視点境界判別部４０は、生成された動きベクトルに対応する参照ブロックについて、視点境界の判別を行う。すなわち、視点境界判別部４０は、参照ブロックが、復号画像の左目用画像と右目用画像の境界を跨ぐかを判別する。境界を跨ぐ条件は、例えば、下記(１)式で表すことができる。
【００７８】
x_tar+mv_x < w_pic/2 < x_tar+mv_x+w_block …(１)
【００７９】
視点境界判別部４０により、境界を跨ぐと判別された参照ブロックは、外挿処理を行い、境界を跨がないと判別された参照ブロックは外挿処理を行わない。
【００８０】
従って、ステップ１０４において、参照ブロックが境界を跨ぐと判別された場合には、ステップ１０６において、判断部４２は、相関の判断を行って、該参照ブロック（境界ブロック）における外挿方向の選択を行う。ここでは、図３を用いて説明したように、符号化ブロックの周辺領域Ｎ１の復号後の画素値と、参照ブロックの周辺領域Ｎ２の復号後の画素値との間で、左目用画像に係る部分及び右目用画像に係る部分の各々の差分絶対値和を計算し、その大きさを比較する。
【００８１】
符号化ブロック周辺の、既に符号化され、参照のために復号されている領域の画素値は、境界ブロックの周辺領域のうち、境界ブロック内の符号化ブロックとの相関が高い領域に近い画素値との相関が高くなるものと考えられる。そこで、本実施形態では、図３における符号化ブロック周辺の領域ｃの画素値と境界ブロック周辺の領域Ｃの画素値との差分絶対値和と、符号化ブロック周辺の領域ｄの画素値と境界ブロック周辺の領域Ｄの画素値との差分絶対値和とを比較する。そして、領域Ｃと領域Ｄとで、差分絶対値和が小さい方の領域を含む画像の画素値を使用して他方の領域に外挿するよう、外挿方向を決定する。このように、本実施形態では、局所的かつ適応的に外挿方向が決定される。
【００８２】
ここで、周辺領域Ｎ１及び周辺領域Ｎ２の幅をw_periphとする。すると、符号化ブロックの周辺領域Ｎ１の動き予測後に復号された画像の左目用画像に係る領域S_tar_l（図３の領域ｃに相当）は、下記式(２)で表すことができ、右目用画像に係る領域S_tar_r（図３の領域ｄに相当）は、下記式(３)で表すことができる。
【００８３】
S_tar_l={x、y|(x_tar-w_periph < x < x_tar && y_tar-h_block< y < y_tar) || 
(x_tar-w_periph < x < x_tar+w_bound && y_tar < y < y_tar+w_periph)} …(２)
【００８４】
S_tar_r={x、y|(x_tar+w_bound < x < x_tar+x_block && y_tar < y < y_tar+w_periph)} …(３)
【００８５】
また、境界ブロック周辺領域Ｎ２の左目用画像に係る領域S_ref_l（図３の領域Ｃに相当）は、下記式(４)で表すことができ、右目用画像に係る領域S_ref_r（図３の領域Ｄに相当）は、下記式(５)で表すことができる。
【００８６】
S_ref_l={x、y|(x_tar+mv_x-w_periph < x < x_tar+mv_x && y_tar+mv_y-h_block < y < y_tar+mv_y) || (x_tar+mv_x-w_periph < x < w_pic/2 && y_tar+mv_y < y < y_tar+mv_y+w_periph)} …(４)
【００８７】
S_ref_r={x、y |(w_pic/2 < x < x_tar+mv_x+x_block && y_tar+mv_y < y < y_tar+mv_y+w_periph)} …(５)
【００８８】
なお、上記各式において、（ｘ、ｙ）は、画素位置を示している。また、&&は、ＡＮＤ(論理積)を表し、||は、ＯＲ(論理和)を表すものとする。
【００８９】
また、ここで、境界ブロックの左端から視点境界までの幅w_boundは、下記(６)式で表すことができる。
【００９０】
w_bound=w_pic/2-(x_tar+mv_x) …(６)
【００９１】
符号化ブロックの周辺領域Ｎ１の復号画素値をI_tar(x,y)とし、境界ブロックの周辺領域Ｎ２の画素値をI_ref(x、y)とする。そして、両者の左目用画像に係る部分の差分絶対値和diff_left、及び右目用画像に係る部分の差分絶対値和diff_rightは、下記式(７)、式(８)に示すように計算できる。
【００９２】
diff_left =(1/N_left){Σ_{y=0}^{y=h_block}Σ_{x=0}^{x=w_periph} |I_tar(x_tar-w_periph+x,y_tar-h_block+y)-I_ref(x_tar+mv_x-w_periph+x,y_tar+mv_y-h_block+y)| + Σ_{y=0}^{y=w_periph}Σ_{x=0}^{x=w_bound} |I_tar(x_tar-w_periph+x,y_tar+y)-I_ref(x_tar+mv_x-w_periph+x,y_tar+mv_y+y)|} …(７)
【００９３】
diff_right =(1/N_right){Σ_{y=0}^{y=w_periph}Σ_{x=0}^{x=w_block-w_bound} |I_tar(x_tar+w_bound+x, y_tar+y)-I_ref(x_tar+w_bound+mv_x+x, y_tar+mv_y+y)|} …(８)
【００９４】
なお、ここで、「Σ_{y=start}^{y=end}」のように表されるy=start及びy=endは、総和記号Σの上下の添え字を表しており、変数yの取り得る範囲がstartからendまでであることを示している。従って、例えば、Σ_{y=0}^{y=h_block}の場合、０からh_blockまでが、変数yの取り得る範囲となる。また、ここで、変数N_left、N_rightは、それぞれの領域の画素数であって、正規化のために用いられている。
【００９５】
左目用画像に係る部分の差分絶対値和diff_leftと左目用画像に係る部分の差分絶対値和diff_rightとを比較して符号化ブロックの画素値との相関を判断し、外挿方向を求めると以下のようになる。
【００９６】
例えば、diff_left<diff_rightである場合には、左目用画像に係る部分（図３の領域Ａ）の方が画素値の相関が高いと判断されるため、左目用画像の画素値を使って左から右に外挿を行うよう、外挿方向が決定される。逆に、diff_left>diff_rightである場合には、右目用画像に係る部分（図３の領域Ｂ）の方が画素値の相関が高いと判断されるため、右目用画像の画素値を使って右から左に外挿を行うよう、外挿方向が決定される。差分絶対和が小さいほど類似度が高く、類似度が高いほど相関が高いと判断できる。従って、ここでは、類似度が高い方の領域から類似度が低い方の領域に外挿するように外挿方向が決定される。
【００９７】
なお、領域Ａと領域Ｂとで一方の領域の画素数が極端に少ない場合には、差分絶対値の信頼度が小さくなるため、画素数の多い領域の方から少ない領域へ外挿されるように、判断部４２で、画素数の閾値を設定してもよい。
【００９８】
ステップ１０８において、置換部４４が、上記判断部４２の判断結果に従って、境界ブロックの外挿処理（置換処理）を行う。なお、判断部４２の判断結果により定まる外挿方向で外挿処理が行われればよいため、外挿方法は特に限定されない。従って、ここでは具体的な外挿方法に関しての説明は割愛する。以下、一例として、単純に相関の高い方の領域の、境界に隣接する画素値を相関の低い方の領域にコピーする場合を例に挙げる。また、外挿方向を左から右方向、外挿した境界ブロックの画素値をI_ref’(x、y)とすると、処理結果は、下記式(９)、及び式(10)で表すことができる。
【００９９】
I_ref’(x、y)=I_ref(x、y)          [mv_x+x_tar < x < w_pic/2] …(９)
【０１００】
I_ref’(x、y)=I_ref(w_pic/2-1、y)  [w_pic/2 < x < w_block+mv_x+x_tar] …(10)
【０１０１】
ステップ１１０においては、誤差計算部５２は、前述したように、符号化ブロックと、参照ブロック間の誤算計算を行う。なお、ステップ１０４において、参照ブロックが境界を跨がないと判別された場合には、ステップ１０６とステップ１０８の処理は行われずに、ステップ１１０の誤差計算が行われる。すなわち、ステップ１０４において、参照ブロックが境界を跨ぐと判別された場合には、誤差計算部５２は、外挿を行った状態の参照ブロックと符号化ブロックとの誤差計算を行う。また、ステップ１０４において、参照ブロックが境界を跨がないと判別された場合は、誤差計算部５２は、外挿を行わない参照ブロックと符号化ブロックとの誤差計算を行う。誤差をdiffは、下記(11)式で表される。
【０１０２】
diff = Σ_{y=0}^{y=h_block}Σ_{x=0}^{x=w_block}|I_tar(x_tar+x, y_tar+y)-I_ref’(x_tar+x+mv_x, y_tar+y+mv_y)| …(11)
【０１０３】
ステップ１１２において、探索結果蓄積部５４により、上記求められた誤差と動きベクトルを対応付けてメモリに保存する。
【０１０４】
ステップ１０２からステップ１１２間での処理は、各動きベクトル候補に対応する参照ブロックについて実施される。
【０１０５】
続いて、ステップ１１６において、動きベクトル選択部５６は、最適な動きベクトルの選択を行う。一般的には、最も小さい誤差を与えるベクトルを、最適な動きベクトルとして選択する。
【０１０６】
次に、ステップ１１８において、動き補償部５８が、上記選択された最適な動きベクトルに基づいて、参照される復号画像より動き補償を行って予測画像を生成する。このとき、動き補償部５８は、上記最適な動きベクトルが、ステップ１０４において境界を跨ぐと判別された参照ブロックの画像を指定している場合には、外挿を行った状態の参照ブロックの画像を予測画像として出力する。また、動き補償部５８は、上記最適な動きベクトルが、ステップ１０４において境界を跨がないと判別された参照ブロックの画像を指定している場合には、外挿を行わない状態の参照ブロックの画像を予測画像として出力する。
【０１０７】
なお、上記例では、類似度を計算する方法として、差分絶対値和を計算する例について説明したが、これに限るものではなく、相関係数を計算するなど、他の方法を用いてもよい。
【０１０８】
次に、上記符号化装置１０に対応する復号装置７０について具体例を挙げて説明する。復号装置７０も、符号化装置１０と同様に、ブロック単位で処理する。以下では、まだ全体が復号（再生）されていない復号対象のフレーム画像における復号対象のブロックを復号ブロックと呼称する。また、既に復号され再生されたフレーム画像は単に復号画像と呼称して、復号対象のフレーム画像と区別して説明する。
【０１０９】
図５には、本実施形態に係る復号装置７０が示されている。復号装置７０は、エントロピー復号部７２、逆量子化部７４、逆変換部７６、復号画像生成部７８、復号画像蓄積部８０、復号ブロック予測画像生成部８２、及び切替スイッチ８８を備えている。
【０１１０】
なお、復号装置７０の各機能部は例えば電子回路等で実現することができ、復号装置７０は、例えば半導体集積回路、より詳しくはＡＳＩＣ(Application Specific Integrated Circuit)等で実現してもよい。また復号装置７０は、利用者による操作入力を受け付ける入力デバイスである操作部を更に備えていてもよい。
【０１１１】
復号装置７０の各機能部についての概略を以下に説明する。
【０１１２】
エントロピー復号部７２は、符号化装置１０で符号化された符号化信号（ビットストリーム）をエントロピー復号（可変長復号）し、予測誤差画像の量子化係数と、サイド情報とを出力する。エントロピー復号とは、シンボルの出現頻度に応じて、可変長の符号を元の信号に戻す処理をいう。復号された量子化係数は逆量子化部７４に供給され、復号されたサイド情報は復号ブロック予測画像生成部８２に供給される。
【０１１３】
逆量子化部７４は、エントロピー復号部７２で復号された量子化係数を逆量子化（スケーリング）し、再生周波数係数を出力する。逆量子化部７４は、スケーリングすることによって、圧縮されていた周波数の量子化係数を元のスケールに戻した再生周波数係数を生成して、逆変換部７６に供給する。
【０１１４】
逆変換部７６は、逆量子化部７４から供給された再生周波数係数を逆変換処理する。逆変換部７６は、逆変換処理によって、再生周波数係数の周波数成分を元の予測誤差画像（再生予測誤差画像）へ戻す。そして、再生予測誤差画像を復号画像生成部７８に供給する。
【０１１５】
復号画像生成部７８は、復号ブロック予測画像生成部８２により生成された予測画像と、逆量子化部７４及び逆変換部７６により復号処理された再生予測誤差画像とを加算する。加算して復号（再生）された復号ブロックの画像（ブロック復号画像）は、復号画像蓄積部８０に供給される。
【０１１６】
復号画像蓄積部８０は、復号画像生成部７８から供給されたブロック復号画像の画像情報の各々を順次メモリに蓄積する。これにより、最終的に、復号され再生されたフレーム画像全体の復号画像が蓄積されることになる。蓄積された復号画像は、後述する画面間予測画像生成部８６に供給され、他のフレーム画像を復号するときの動き補償で参照される。従って、ここでも、蓄積された復号画像のうち、画面間予測画像生成部３０で予測画像の生成の際に参照される復号画像は、「参照画像」と呼ばれる。どの復号画像が参照されるかは、復号対象フレーム画像の予測モード等に応じて定まる。
【０１１７】
復号ブロック予測画像生成部８２は、画面内予測画像生成部８４及び画面間予測画像生成部８６を有している。復号ブロック予測画像生成部８２は、エントロピー復号部７２から供給されたサイド情報と、必要ならば復号画像とに基づいて、予測画像をブロック単位で生成し、切替スイッチ８８を介して復号画像生成部７８に供給する。
【０１１８】
画面内予測画像生成部８４は、サイド情報に基づいて、画面内予測符号化方法で符号化された符号化データを復号するときの予測画像をブロック単位で生成する。
【０１１９】
画面間予測画像生成部８６は、サイド情報と復号画像とに基づいて、画面間予測符号化方法で符号化された符号化データを復号するときの予測画像をブロック単位で生成する。具体的には、サイド情報に含まれる動きベクトルの情報で示された復号画像内の参照ブロックの画素値を参照して、予測画像を生成する。
【０１２０】
切替スイッチ８８は、画面内予測画像生成部８４で生成された予測画像及び画面間予測画像生成部８６で生成された予測画像の一方を選択して復号画像生成部７８に供給するためのスイッチである。切替スイッチ８８は、不図示の制御部により制御され、切替えられる。
【０１２１】
次に、画面間予測画像生成部８６について、詳細に説明する。図６に示すように、画面間予測画像生成部８６は、視点境界判別部９０、判断部９２、置換部９４、切替スイッチ９６、及び動き補償部９８を備えている。各機能部についての概略を以下に説明する。
【０１２２】
視点境界判別部９０には、エントロピー復号部７２で復号された動きベクトルの情報が入力される。視点境界判別部９０は、動きベクトルの情報が示す参照ブロックについて、参照画像の右目用画像と左目用画像の境界を跨ぐか否かを判別する。
【０１２３】
視点境界判別部９０は、動きベクトルの情報が示す参照ブロックが、上記境界を跨ぐ参照ブロック（境界ブロック）である場合には、置換部９４で置換処理が行われるように切替スイッチ９６を第１の状態に制御する。切替スイッチ９６が第１の状態になると、復号画像は、判断部９２及び置換部９４の双方に供給される。
【０１２４】
また、視点境界判別部９０は、動きベクトルの情報が示す参照ブロックが、境界ブロックでない場合には、置換処理が行われないように切替スイッチ９６を第２の状態に制御する。これにより、復号画像は、判断部９２及び置換部９４には供給されず、直接動き補償部９８に供給される。従って、境界ブロックではない参照ブロックに対しては、置換処理が行われない。
【０１２５】
判断部９２は、復号ブロックに関連する局所的な情報に基づいて、境界ブロック内に含まれる左目用画像に対応する第１の領域の画像及び右目用画像に対応する第２の領域の画像の各々について、復号ブロックの画像との相関の高さを判断する。判断部９２は、符号化装置１０の判断部４２による判断方法に対応する判断方法で相関の高さを判断する。
【０１２６】
このように、復号装置７０では、復号ブロックについての動きベクトルの情報が示す参照ブロックが境界ベクトルである場合に、該参照ブロックのみについて画素値の類似度が求められ、相関が判断される。
【０１２７】
置換部９４は、第１の領域の画像及び第２の領域の画像のうち、復号ブロックの画像との相関が低いと判断された領域の画像を、復号ブロックの画像との相関が高いと判断された領域の画素値を用いて生成された置換画像に置き換える置換処理を行う。なお、この置換処理を、符号化装置１０の場合と同様、外挿処理ともいう。置換部９４は、符号化装置１０の置換部４４で行われる置換処理と同じ方法で置換処理を行う。
【０１２８】
動き補償部９８は、エントロピー復号部７２により復号されたサイド情報に含まれる動きベクトルの情報及び供給された復号画像に基づいて動き補償することにより、予測画像を生成する。すなわち、動き補償部９８は、供給された動きベクトルに従って復号画像内の参照ブロックの画像を抽出し、それを予測画像として出力する。なお、ここで抽出された参照ブロックが境界ブロックに対応する場合には、上記置換処理された画像が予測画像とされる。
【０１２９】
ここで、本実施形態の判断部９２及び置換部９４の作用について、図３を用いて簡単に説明する。ただし、ここでは、図３に示す符号化対象のフレーム画像を、復号対象のフレーム画像に置き換え、符号化ブロックを復号ブロックに置き換えて説明する。図中の記号Ｎ１，Ｎ２、Ａ〜Ｄ、ｃ、及びｄは、そのまま用いることとする。
【０１３０】
そして、復号装置７０の判断部９２は、相関の判断の際には、復号ブロックに関連する局所的な情報として以下の画素値を用いる。
【０１３１】
１．復号対象のフレーム画像内の、復号ブロックより先に復号され該復号ブロックに対して予め定められた位置関係の周辺領域Ｎ１の復号後の画素値。
【０１３２】
２．復号ブロックを含むフレーム画像より先に復号され動き補償の際に参照される復号画像内の、境界ブロックに対する位置関係が上記復号ブロックの周辺領域Ｎ１の復号ブロックに対する位置関係に等しい周辺領域Ｎ２の画素値。
【０１３３】
判断部９２は、まず、境界ブロックの周辺領域Ｎ２内の左目用画像に対応する領域Ｃの画素値と、復号ブロックの周辺領域Ｎ１内の、上記領域Ｃに対応する領域ｃの復号後の画素値の類似度ｒ１を求める。
【０１３４】
次に判断部９２は、境界ブロックの周辺領域Ｎ２内の右目用画像に対応する領域Ｄの画素値と、復号ブロックの周辺領域Ｎ１内の、上記領域Ｄに対応する領域ｄの復号後の画素値の類似度ｒ２を求める。
【０１３５】
そして、判断部９２は、類似度ｒ１が類似度ｒ２より高い場合には、境界ブロックの左目用画像に対応する領域Ａが、境界ブロックの右目用画像に対応する領域Ｂより、復号ブロックの画素値との相関が高いと判断する（判断結果１）。
【０１３６】
また、判断部９２は、類似度ｒ２が類似度ｒ１より高い場合には、境界ブロックの右目用画像に対応する領域Ｂが、境界ブロックの左目用画像に対応する領域Ａより、復号ブロックの画素値との相関が高いと判断する（判断結果２）。
【０１３７】
判断部９２の判断結果が判断結果１である場合には、置換部９４は、境界ブロックの領域Ａから領域Ｂへ向かう外挿方向で外挿を行う。また、判断部９２の判断結果が判断結果２である場合には、置換部９４は、境界ブロックの領域Ｂから領域Ａへ向かう外挿方向で外挿を行う。
【０１３８】
次に、本実施形態の画面間予測画像生成部８６における作用の具体例について、図７のフローチャートを参照して詳細に説明する。
【０１３９】
ここで、復号ブロックの左上の位置を(x_tar、y_tar)、ブロックの幅をw_block、高さをh_blockとし、フレーム画像の幅をw_pic、高さをh_picとする。左目用画像と右目用画像のパッキング方式はサイドバイサイド方式とし、左目用画像と右目用画像との境界は、水平方向（フレーム画像の幅方向）のw_pic/2の位置であるとする。
【０１４０】
ステップ２００において、視点境界判別部９０は、復号対象である復号ブロックについて、エントロピー復号部７２で復号されたサイド情報に含まれる動きベクトルの情報(mv_x、mv_y)を取得する。
【０１４１】
ステップ２０２において、視点境界判別部９０は、取得した動きベクトルにより示される参照ブロックについて、視点境界の判別を行う。すなわち、視点境界判別部９０は、参照ブロックが、復号画像の左目用画像と右目用画像の境界を跨ぐか否かを判別する。境界を跨ぐ条件は、例えば、下記(12)式で表すことができる。
【０１４２】
x_tar+mv_x < w_pic/2 < x_tar+mv_x+w_block …(12)
【０１４３】
視点境界判別部９０により、境界を跨ぐと判別された参照ブロックは、外挿処理を行い、境界を跨がないと判別された参照ブロックは外挿処理を行わない。
【０１４４】
従って、ステップ２０２において、参照ブロックが境界を跨ぐと判別された場合には、ステップ２０４において、判断部９２は、相関の判断を行って、該参照ブロック（境界ブロック）における外挿方向の選択を行う。ここでは、図３を用いて説明したように、復号ブロックの周辺領域Ｎ１の復号後の画素値と、境界ブロックの周辺領域Ｎ２の復号後の画素値との間で、左目用画像に係る部分及び右目用画像に係る部分の各々の差分絶対値和を計算し、その大きさを比較する。
【０１４５】
より詳しくは、本実施形態では、図３における復号ブロック周辺の領域ｃの画素値と境界ブロック周辺の領域Ｃの画素値との差分絶対値和と、復号ブロック周辺の領域ｄの画素値と境界ブロック周辺の領域Ｄの画素値との差分絶対値和とを比較する。そして、領域Ｃと領域Ｄとで、差分絶対値和が小さい方の領域を含む画像の画素値を使用して他方の領域に外挿するよう、外挿方向を決定する。このように、本実施形態では、局所的かつ適応的に外挿方向が決定される。
【０１４６】
ここで、周辺領域Ｎ１及び周辺領域Ｎ２の幅をw_periphとする。すると、復号ブロックの周辺領域Ｎ１の動き補償後に復号された画像の左目用画像に係る領域S_tar_l（図３の領域ｃに相当）は、下記式(13)で表すことができ、右目用画像に係る領域S_tar_r（図３の領域ｄに相当）は、下記式(14)で表すことができる。
【０１４７】
S_tar_l={x、y|(x_tar-w_periph < x < x_tar && y_tar-h_block< y < y_tar) || (x_tar-w_periph < x < x_tar+w_bound && y_tar < y < y_tar+w_periph)} …(13)
【０１４８】
S_tar_r={x、y|(x_tar+w_bound < x < x_tar+x_block && y_tar < y < y_tar+w_periph)} …(14)
【０１４９】
また、復号画像内の境界ブロックの周辺領域Ｎ２の左目用画像に係る領域S_ref_l（図３の領域Ｃに相当）は、下記式(15)で表すことができ、右目用画像に係る領域S_ref_r（図３の領域Ｄに相当）は、下記式(16)で表すことができる。
【０１５０】
S_ref_l={x、y|(x_tar+mv_x-w_periph < x < x_tar+mv_x && y_tar+mv_y-h_block < y < y_tar+mv_y) || (x_tar+mv_x-w_periph < x < w_pic/2 && y_tar+mv_y < y < y_tar+mv_y+w_periph)} …(15)
【０１５１】
S_ref_r={x、y |(w_pic/2 < x < x_tar+mv_x+x_block && y_tar+mv_y < y < y_tar+mv_y+w_periph)} …(16)
【０１５２】
また、ここで、境界ブロックの左端から視点境界までの幅w_boundは、下記(17)式で表すことができる。
【０１５３】
w_bound=w_pic/2-(x_tar+mv_x) …(17)
【０１５４】
更にまた、復号ブロックの周辺領域Ｎ１の復号画素値をI_tar(x,y)とし、境界ブロックの周辺領域Ｎ２の画素値をI_ref(x、y)とする。そして、両者の左目用画像に係る部分の差分絶対値和diff_left、及び右目用画像に係る部分の差分絶対値和diff_rightは、下記式(18)、式(19)に示すように計算できる。
【０１５５】
diff_left =(1/N_left){Σ_{y=0}^{y=h_block}Σ_{x=0}^{x=w_periph} |I_tar(x_tar-w_periph+x,y_tar-h_block+y)-I_ref(x_tar+mv_x-w_periph+x,y_tar+mv_y-h_block+y)| + Σ_{y=0}^{y=w_periph}Σ_{x=0}^{x=w_bound} |I_tar(x_tar-w_periph+x,y_tar+y)-I_ref(x_tar+mv_x-w_periph+x,y_tar+mv_y+y)|} …(18)
【０１５６】
diff_right =(1/N_right){Σ_{y=0}^{y=w_periph}Σ_{x=0}^{x=w_block-w_bound} |I_tar(x_tar+w_bound+x, y_tar+y)-I_ref(x_tar+w_bound+mv_x+x, y_tar+mv_y+y)|} …(19)
【０１５７】
式(18)、(19)においても、上記式(７)、(８)と同様、変数N_left、N_right（それぞれの領域の画素数）を正規化のために用いている。
【０１５８】
左目用画像に係る部分の差分絶対値和diff_leftと左目用画像に係る部分の差分絶対値和diff_rightとを比較して復号ブロックの画素値との相関を判断し、外挿方向を求めると以下のようになる。
【０１５９】
例えば、diff_left<diff_rightである場合には、左目用画像に係る部分（図３の領域Ａ）の方が画素値の相関が高いと判断されるため、左目用画像の画素値を使って左から右に外挿を行うよう、外挿方向が決定される。逆に、diff_left>diff_rightである場合には、右目用画像に係る部分（図３の領域Ｂ）の方が画素値の相関が高いと判断されるため、右目用画像の画素値を使って右から左に外挿を行うよう、外挿方向が決定される。差分絶対和が小さいほど類似度が高く、類似度が高いほど相関が高いと判断できる。従って、ここでは、類似度が高い方の領域から類似度が低い方の領域に外挿するように外挿方向が決定される。
【０１６０】
なお、符号化装置１０の場合と同様、領域Ａと領域Ｂとで一方の領域の画素数が極端に少ない場合には、差分絶対値の信頼度が小さくなるため、画素数の多い方の領域から少ない方の領域へ外挿をするように、画素数の閾値を設定してもよい。
【０１６１】
次に、ステップ２０６において、置換部９４が、上記判断部９２の判断結果に従って、境界ブロックの外挿処理（置換処理）を行う。なお、判断部９２の判断結果により定まる外挿方向で外挿処理が行われればよいため、外挿方法は特に限定されない。従って、ここでは具体的な外挿方法に関しての説明は割愛する。以下、一例として、単純に相関の高い方の領域の、境界に隣接する画素値を相関の低い方の領域にコピーする場合を例に挙げる。また、外挿方向を左から右方向、外挿した境界ブロックの画素値をI_ref’(x、y)とすると、処理結果は、下記式(20)、及び式(21)で表すことができる。
【０１６２】
I_ref’(x、y)=I_ref(x、y)          [mv_x+x_tar < x < w_pic/2] …(20)
【０１６３】
I_ref’(x、y)=I_ref(w_pic/2-1、y)  [w_pic/2 < x < w_block+mv_x+x_tar] …(21)
【０１６４】
次に、ステップ２０８において、動き補償部９８が、エントロピー復号部７２で復号されて得られた動きベクトルの情報に基づいて、参照される復号画像より動き補償を行って予測画像を生成する。このとき、動き補償部９８は、動きベクトルが、ステップ２０２において境界を跨ぐと判別された参照ブロックの画像を指定している場合には、外挿を行った状態の参照ブロックの画像を予測画像として出力する。また、動き補償部９８は、動きベクトルが、ステップ２０２において境界を跨がないと判別された参照ブロックの画像を指定している場合には、外挿を行わない状態の参照ブロックの画像を予測画像として出力する。
【０１６５】
なお、上記例では、類似度を計算する方法として、差分絶対値和を計算する例について説明したが、これに限るものではなく、相関係数を計算するなど、他の方法を用いてもよい。
【０１６６】
〔第２実施形態〕
【０１６７】
次に開示の技術の第２実施形態を説明する。図８に、第２実施形態の符号化装置１１の概略構成を示す。図８に示す第２実施形態の符号化装置１１の画面間予測画像生成部３１は、第１実施形態の画面間予測画像生成部３０と異なり、境界ブロックの符号化ブロックに対する相関を判断するにあたり、画素値ではなく動きベクトルを用いる。従って、符号化装置１１には、図８に示すように、第１実施形態で説明した符号化装置１０の構成に加え、サイド情報を蓄積するためのサイド情報蓄積部３６が設けられている。それ以外の構成は第１実施形態と同一であるため、第１実施形態と同一部分には同一の符号を付して構成の説明を省略し、第１実施形態と異なる部分についてのみ説明する。
【０１６８】
サイド情報蓄積部３６は、画面間予測画像生成部３１において検出されたサイド情報としての動きベクトルの情報をメモリに蓄積する。
【０１６９】
図９に、第２実施形態に係る画面間予測画像生成部３１の構成図を示す。第２実施形態の画面間予測画像生成部３１には、第１実施形態の判断部４２とは異なる方法で相関を判断する判断部４３が設けられている。第２実施形態の判断部４３には、動きベクトル候補生成部５０から動きベクトル候補が供給され、サイド情報蓄積部３６から参照ブロックを符号化したときの動き補償に使用されたサイド情報（動きベクトル）が供給される。該供給される動きベクトルは、参照ブロックを符号化したときに動きベクトル検出部４８で検出された動きベクトルと言い換えることもできる。また、第２実施形態の動きベクトル選択部５６は、選択した動きベクトルを動き補償部５８に供給するだけでなく、サイド情報蓄積部３６にも供給し、メモリに蓄積させる。画面間予測画像生成部３１において、これ以外の構成要素は、第１実施形態と同様であるため、説明を省略する。
【０１７０】
ここで、本実施形態の判断部４３及び置換部４４の作用について、図１０を用いて簡単に説明する。図１０において、境界ブロックの左目用画像に対応する領域が領域Ａとして図示され、右目用画像に対応する領域は領域Ｂとして図示されている。
【０１７１】
判断部４３も、符号化ブロックに関連する局所的な情報に基づいて、領域Ａの画像及び領域Ｂの画像の各々について符号化ブロックの画像との相関の高さを判断するが、本実施形態では、符号化ブロックに関連する局所的な情報として以下の情報を用いる。
【０１７２】
１．境界ブロック内の領域Ａを符号化したときの動き補償に使用された動きベクトルＶ１
２．境界ブロック内の領域Ｂを符号化したときの動き補償に使用された動きベクトルＶ２
３．符号化ブロックの境界ブロックに対する動きベクトルＶ３
【０１７３】
なお、周知のように、参照ブロックの大きさは可変とすることができる。圧縮率を高めるため、復号画像の分割数を変更した場合には、参照ブロックと該復号画像を符号化したときのブロックとが一致せず、図１０に示すように参照ブロックが、復号画像を符号化したときの複数のブロック間を跨ぐ場合もある。
【０１７４】
そこで、境界ブロックの領域Ａの動きベクトルＶ１を、領域Ａと重なる複数のブロック（図１０ではブロックａ、ｃ）を符号化したときの動き補償に用いられた各動きベクトルＶａ、Ｖｃの平均としてもよい。また、動きベクトルＶ１を、境界ブロック内で最も大きな面積を占める（境界ブロックに重なる面積が最も大きい）ブロックｃのベクトルＶｃとしてもよい。動きベクトルＶ２についても同様に、領域Ｂと重なる複数のブロック（図１０ではブロックｂ、ｄ）を符号化したときの動き補償に用いられた動きベクトルＶｂ、Ｖｄの平均としてもよい。また、動きベクトルＶ２を、境界ブロック内で最も大きな面積を占めるブロックｄのベクトルＶｄとしてもよい。
【０１７５】
そして、判断部４３は、動きベクトルＶ１及び動きベクトルＶ３の類似度ｒ１と、動きベクトルＶ１及び動きベクトルＶ３の類似度ｒ２とを求める。なお、動きベクトルＶ３は、図１０においてＶｆで示されるベクトルである。また、類似度を計算する方法は特に限定されないが、例えば、動きベクトルＶ１と動きベクトルＶ３との内積を類似度ｒ１として求めても良い。動きベクトルＶ２と動きベクトルＶ３との類似度ｒ２についても同様である。なお、本実施形態では、判断部４３で相関の判断に用いられる動きベクトルＶ３は、動きベクトル候補生成部５０において、動きベクトル候補として生成されたベクトルに等しい。
【０１７６】
判断部４３は、類似度ｒ１が類似度ｒ２より高い場合には、境界ブロックの左目用画像に対応する領域Ａが、境界ブロックの右目用画像に対応する領域Ｂより、符号化ブロックの画素値との相関が高いと判断する（判断結果１）。
【０１７７】
また、判断部４３は、類似度ｒ２が類似度ｒ１より高い場合には、境界ブロックの右目用画像に対応する領域Ｂが、境界ブロックの左目用画像に対応する領域Ａより、符号化ブロックの画素値との相関が高いと判断する（判断結果２）。
【０１７８】
判断部４３の判断結果が判断結果１である場合には、置換部４４は、境界ブロックの領域Ａから領域Ｂへ向かう外挿方向で外挿を行う。また、判断部４３の判断結果が判断結果２である場合には、置換部４４は、境界ブロックの領域Ｂから領域Ａへ向かう外挿方向で外挿を行う。
【０１７９】
次に、第２実施形態の画面間予測画像生成部３１における作用の具体例について、第１実施形態で参照した図４のフローチャートを第２実施形態でも同様に参照して、詳細に説明する。
【０１８０】
画面間予測画像生成部３１の動きベクトル検出部４８では、符号化ブロックについて最適な動きベクトルを検出するため、第１実施形態で説明したように、予め複数の参照ブロックを抽出しておき複数の動きベクトル候補を求めておく。そして、複数の候補に対応する参照ブロックの各々と符号化ブロックとの差分を求め、一般的には差分が最も小さくなる動きベクトルを採用する。このときのサーチ方法としては、ダイヤモンドサーチやヘキサゴンサーチなどのアルゴリズムが知られている。
【０１８１】
ここで、符号化ブロックの左上の位置を(x_tar、y_tar)、ブロックの幅をw_block、高さをh_blockとし、フレーム画像の幅をw_pic、高さをh_picとする。左目用画像と右目用画像のパッキング方式はサイドバイサイド方式とし、左目用画像と右目用画像との境界は、水平方向（フレーム画像の幅方向）のw_pic/2の位置であるとする。
【０１８２】
図４に示すフローチャートでは、ステップ１００及びステップ１１４で示されるループ端に挟まれる処理が、動きベクトル候補の数だけ繰り返される。
【０１８３】
まず、ステップ１０２において、動きベクトル候補生成部５０は、候補となる動きベクトル(mv_x、mv_y)を生成する。
【０１８４】
ステップ１０４において、視点境界判別部４０は、生成された動きベクトルに対応する参照ブロックについて、視点境界の判別を行う。すなわち、視点境界判別部４０は、参照ブロックが、復号画像の左目用画像と右目用画像の境界を跨ぐかを判別する。境界を跨ぐ条件は、例えば、下記(22)式で表すことができる。
【０１８５】
x_tar+mv_x < w_pic/2 < x_tar+mv_x+w_block …(22)
【０１８６】
視点境界判別部４０により、境界を跨ぐと判別された参照ブロックは、外挿処理を行い、境界を跨がないと判別された参照ブロックは外挿処理を行わない。
【０１８７】
従って、ステップ１０４において、参照ブロックが境界を跨ぐと判別された場合には、ステップ１０６において、判断部４３は、相関の判断を行って、境界ブロックにおける外挿方向の選択を行う。ここでは、図１０を用いて説明したように、境界ブロックの動きベクトルＶ１、Ｖ２の各々と、符号化ブロックの動きベクトル（動きベクトル候補といってもよい）Ｖ３との類似度を求め、相関の高さを判断する。
【０１８８】
物体の動きの方向や大きさは連続している場合が多く、急激な動きの変化をすることが少ない。そのため、一般的に、符号化ブロックと参照ブロック（参照ブロックが境界ブロックである場合には、境界ブロック内の相関のある領域）とは、同じような動きベクトルが得られる。そこで、判断部４３は、左目用画像に係る領域Ａを符号化する際に使用された動きベクトルＶ１と動きベクトル候補Ｖ３の類似度と、境界ブロックの右目用画像に係る領域Ｂを符号化する際に使用された動きベクトルＶ２と動きベクトル候補Ｖ３の類似度を比較する。そして、類似度の高い方を相関が高い領域として、類似度の高い方の領域を含む画像の画素値を使用して他方の領域に外挿するよう、外挿方向を決定する。このように、本実施形態では、局所的かつ適応的に外挿方向が決定される。
【０１８９】
動きベクトル候補Ｖ３と、左目用画像に係る領域Ａを符号化する際に使用した動きベクトルＶ１との類似度と、動きベクトル候補Ｖ３と、右目用画像に係る領域を符号化する際に使用した動きベクトルＶ２との類似度とを比較する方法は、以下の通りである。
【０１９０】
ここで、動きベクトル候補を(mv_x、mv_y)と表すものとする。境界ブロックの左目用画像に係る領域S_ref_l（図１０の領域Ａに相当）は、下記式(23)で表すことができ、右目用画像に係る領域S_ref_r（図１０の領域Ｂに相当）は、下記式(24)で表すことができる。
【０１９１】
S_ref_l={x、y|(x_tar+mv_x < x < x_tar+w_bound+mv_x && y_tar+mv_y-h_block < y < y_tar+mv_y)} …(23)
【０１９２】
S_ref_r={x、y|(x_tar+mv_x+w_bound < x < x_tar+mv_x+x_block && y_tar-h_block+mv_y < y < y_tar+mv_y)} …(24)
【０１９３】
なお、符号化ブロックの動き予測後のブロック復号画像の、参照ブロックの領域S_ref_lに対応する領域S_tar_lは、下記式(25)で表すことができ、参照ブロックの領域S_ref_rに対応する領域S_tar_rは、下記式(26)で表すことができる。
【０１９４】
S_tar_l={x、y|(x_tar < x < x_tar+w_bound && y_tar-h_block < y < y_tar)}
…(25)
【０１９５】
S_tar_r={x、y|(x_tar+w_bound < x < x_tar+x_block && y_tar < y < y_tar-h_block)} …(26)
【０１９６】
また、ここで、境界ブロックの左端から視点境界までの幅w_boundは、下記(27)式で表すことができる。
【０１９７】
w_bound=w_pic/2-(x_tar+mv_x) …(27)
【０１９８】
復号画像において、境界ブロックの領域S_ref_l、或いは領域S_ref_rの各々について、符号化ブロックとの相関を求める。双方とも求め方は同じであるため、ここでは、一方の領域を例に挙げて説明する。ここで、一方の領域と重なる複数のブロックの各々を符号化したときの動き補償で使用された各動きベクトルをv_0〜v_nとする（図１０において、ブロックａ及びｃのベクトルＶａ及びＶｃに相当するか、又はブロックｂ及びｄのベクトルＶｂ及びＶｄに相当する）。
【０１９９】
これらの動きベクトルを用いて、前述した動きベクトルの類似度を計算する。類似度を計算する方法はいくつか考えられる。例えば、前述したように、v_0〜v_nの平均との内積を計算する方法や、境界ブロック内で最も大きな面積を占めるブロックを符号化したときの動き補償に使用されたベクトルとの内積を計算する方法が考えられる。ここでは、境界ブロック内で最も大きな面積を占めるブロックを符号化したときの動き補償に使用されたベクトルとの内積を計算する方法を示す。
【０２００】
それぞれの動きベクトルv_0〜v_nに対応するブロックをB_0〜B_nとする。このブロックの中で境界ブロック内の面積が最も大きいブロックのインデックスをi_largest、該ブロックの境界ブロック内の面積を求める関数をf(x)とすると、
i_largest = argmax(f(B_i))    [i=0〜n]
と表すことができる。なお、argmaxは、関数fにより求められた面積のうち、最も大きな面積を有するブロックのインデックスを導出する関数である。
【０２０１】
更に、v_{i_largest}=(mv_ref_x、mv_ref_y)とすると、その類似度ｒは、内積の計算より、以下の式(28)で表すことができる。
r=mv_x・mv_ref_x+mv_y・mv_ref_y …(28)
【０２０２】
上記計算方法で、動きベクトル候補Ｖ３と左目用画像に係る領域の符号化の際に動き補償で用いた動きベクトルＶ１との類似度r_l、及び動きベクトル候補Ｖ３と右目用画像に係る領域の符号化の際に動き補償で用いた動きベクトルＶ２との類似度r_rを計算する。
【０２０３】
そして、類似度r_lと、類似度r_rとを比較して相関を判断し、外挿方向を求めると以下のようになる。
【０２０４】
類似度が高いほど相関が高いと判断されるため、例えば、r_l>r_rである場合には、左目用画像に係る部分（図１０の領域Ａ）の方が画素値の相関が高いと判断され、左目用画像の画素値を使って左から右に外挿を行う外挿方向が決定される。逆に、r_l<r_rである場合には、右目用画像に係る部分（図１０の領域Ｂ）の方が画素値の相関が高いと判断されるため、右目用画像の画素値を使って右から左に外挿を行う外挿方向が決定される。従って、ここでは、類似度が高い方の領域から類似度が低い方の領域に外挿するように外挿方向が決定される。
【０２０５】
ステップ１０８以降の処理は、第１実施形態で説明した処理と同様に行えばよいため、ここでは、これ以上の説明は省略する。
【０２０６】
次に、上記符号化装置１１に対応する復号装置７１について具体例を挙げて説明する。図１１に、第２実施形態の復号装置７１の概略構成を示す。復号装置７１も、符号化装置１１と同様に、ブロック単位で処理する。以下では、まだ全体が復号（再生）されていない復号対象のフレーム画像における復号対象のブロックを復号ブロックと呼称する。また、既に復号され再生されたフレーム画像は単に復号画像と呼称して、復号対象のフレーム画像と区別して説明する。
【０２０７】
図１１に示す第２実施形態の復号装置７１の画面間予測画像生成部８７は、第１実施形態の画面間予測画像生成部８６と異なり、境界ブロックの符号化ブロックに対する相関を判断するにあたり、画素値ではなく動きベクトルを用いる。従って、復号装置７１には、図１１に示すように、第１実施形態で説明した復号装置７０の構成に加え、サイド情報を蓄積するためのサイド情報蓄積部８９が設けられている。それ以外の構成は第１実施形態と同一であるため、第１実施形態と同一部分には同一の符号を付して構成の説明を省略し、第１実施形態と異なる部分についてのみ説明する。
【０２０８】
サイド情報蓄積部８９は、エントロピー復号部７２において復号されたサイド情報としての動きベクトルの情報をメモリに蓄積する。蓄積されたサイド情報は復号ブロック予測画像生成部８２に供給される。
【０２０９】
次に、画面間予測画像生成部８７について、詳細に説明する。図１２に示すように、第２実施形態の画面間予測画像生成部８７には、第１実施形態の判断部９２とは異なる方法で相関を判断する判断部９３が設けられている。判断部９３は、符号化装置１１の判断部４３による判断方法に対応する判断方法で相関の高さを判断する。第２実施形態の判断部９３には、サイド情報蓄積部８９から、参照ブロックを符号化したときの動き補償に使用されたサイド情報（動きベクトル）が供給される。なお、視点境界判別部９０も、前述したように、復号ブロックのサイド情報が入力され、第１実施形態で説明したように、サイド情報に含まれる動きベクトルの情報が示す参照ブロックが境界ブロックか否かが判断される。なお、画面間予測画像生成部８７において、これ以外の構成要素は、第１実施形態と同様であるため、説明を省略する。
【０２１０】
ここで、第２実施形態の判断部９３及び置換部９４の作用について、図１０を用いて簡単に説明する。ただし、ここでは、図１０に示す符号化対象のフレーム画像を、復号対象のフレーム画像に置き換え、符号化ブロックを復号ブロックに置き換えて説明する。
【０２１１】
そして、第２実施形態の復号装置７１の判断部９３は、相関の判断の際には、復号ブロックに関連する局所的な情報として以下の画素値を用いて判断する。
【０２１２】
１．境界ブロック内の領域Ａを符号化したときの動き補償に使用された動きベクトルＶ１
２．境界ブロック内の領域Ｂを符号化したときの動き補償に使用された動きベクトルＶ２
３．復号ブロックの境界ブロックに対する動きベクトルＶ３
【０２１３】
動きベクトルＶ１と動きベクトルＶ２の求め方は、前述した通りである。判断部９３は、動きベクトルＶ１及び動きベクトルＶ３の類似度ｒ１と、動きベクトルＶ１及び動きベクトルＶ３の類似度ｒ２とを求める。類似度を計算する方法は符号化装置１１の判断部４３において計算した方法を用いることができる。
【０２１４】
判断部９３は、類似度ｒ１が類似度ｒ２より高い場合には、境界ブロックの左目用画像に対応する領域Ａが、境界ブロックの右目用画像に対応する領域Ｂより、復号ブロックの画素値との相関が高いと判断する（判断結果１）。
【０２１５】
また、判断部９３は、類似度ｒ２が類似度ｒ１より高い場合には、境界ブロックの右目用画像に対応する領域Ｂが、境界ブロックの左目用画像に対応する領域Ａより、復号ブロックの画素値との相関が高いと判断する（判断結果２）。
【０２１６】
判断部９３の判断結果が判断結果１である場合には、置換部９４は、境界ブロックの領域Ａから領域Ｂへ向かう外挿方向で外挿を行う。また、判断部９２の判断結果が判断結果２である場合には、置換部９４は、境界ブロックの領域Ｂから領域Ａへ向かう外挿方向で外挿を行う。なお、置換部９４は、符号化装置１１の置換部４４で行われる置換処理と同じ方法で置換処理を行うものとする。
【０２１７】
次に、第２実施形態の画面間予測画像生成部８７における作用の具体例について、第１実施形態で参照した図７のフローチャートを第２実施形態でも同様に参照して、詳細に説明する。
【０２１８】
ここで、復号ブロックの左上の位置を(x_tar、y_tar)、ブロックの幅をw_block、高さをh_blockとし、フレーム画像の幅をw_pic、高さをh_picとする。左目用画像と右目用画像のパッキング方式はサイドバイサイド方式とし、左目用画像と右目用画像との境界は、水平方向（フレーム画像の幅方向）のw_pic/2の位置であるとする。
【０２１９】
ステップ２００において、視点境界判別部９０は、復号対象である復号ブロックについて、エントロピー復号部７２で復号されたサイド情報に含まれる動きベクトルの情報(mv_x、mv_y)を、サイド情報蓄積部８９を介して取得する。
【０２２０】
ステップ２０２において、視点境界判別部９０は、取得した動きベクトルに対応する参照ブロックについて、視点境界の判別を行う。すなわち、視点境界判別部９０は、参照ブロックが、復号画像の左目用画像と右目用画像の境界を跨ぐか否かを判別する。境界を跨ぐ条件は、例えば、下記(29)式で表すことができる。
【０２２１】
x_tar+mv_x < w_pic/2 < x_tar+mv_x+w_block …(29)
【０２２２】
視点境界判別部９０により、境界を跨ぐと判別された参照ブロックは、外挿処理を行い、境界を跨がないと判別された参照ブロックは外挿処理を行わない。
【０２２３】
従って、ステップ２０２において、参照ブロックが境界を跨ぐと判別された場合には、ステップ２０４において、判断部９２は、相関の判断を行って、該参照ブロック（境界ブロック）における外挿方向の選択を行う。ここでは、図１０を用いて説明したように、動きベクトルＶ１及び動きベクトルＶ３の類似度ｒ１と、動きベクトルＶ１及び動きベクトルＶ３の類似度ｒ２とを求めて、相関の高さを判断する。類似度が高い方の領域が相関が高いと判断され、該領域の画素値を用いて置換画像が作成され、他方の領域の画像と置き換えられることになる。
【０２２４】
前述したように、物物体の動きの方向や大きさは連続している場合が多く、急激な動きの変化をすることが少ない。そのため、一般的に、復号ブロックと参照ブロック（参照ブロックが境界ブロックである場合には、境界ブロック内の相関のある領域）とは、同じような動きベクトルが得られる。そこで、境界ブロックの各領域の動きベクトルの各々と、復号ブロックの動きベクトルとの類似度を比較することで、どちらの領域が復号ブロックと相関があるか推し量ることができ、局所的かつ適応的に外挿方向を決定することができる。
【０２２５】
復号画像内の参照ブロックの左目用画像に係る領域S_ref_l（図１０の領域Ａに相当）は、下記式(30)で表すことができ、右目用画像に係る領域S_ref_r（図１０の領域Ｂに相当）は、下記式(31)で表すことができる。
【０２２６】
S_ref_l={x、y|(x_tar+mv_x < x < x_tar+w_bound+mv_x && y_tar+mv_y-h_block < y < y_tar+mv_y)} …(30)
【０２２７】
S_ref_r={x、y|(x_tar+mv_x+w_bound < x < x_tar+mv_x+x_block && y_tar-h_block+mv_y < y < y_tar+mv_y)} …(31)
【０２２８】
また、復号ブロックの動き予測後の復号画像のうち、参照ブロックの領域S_ref_lに対応する領域S_tar_lは、下記式(32)）で表すことができ、参照ブロックの領域S_ref_rに対応する領域S_tar_rは、下記式(33)で表すことができる。
【０２２９】
S_tar_l={x、y|(x_tar < x < x_tar+w_bound && y_tar-h_block < y < y_tar)}
…(32)
【０２３０】
S_tar_r={x、y|(x_tar+w_bound < x < x_tar+x_block && y_tar < y < y_tar-h_block)} …(33)
【０２３１】
また、ここで、境界ブロックの左端から視点境界までの幅w_boundは、下記(34)式で表すことができる。
【０２３２】
w_bound=w_pic/2-(x_tar+mv_x) …(34)
【０２３３】
境界ブロックの領域S_ref_l、或いは領域S_ref_rの各々について、復号ブロックとの相関を求める。双方とも求め方は同じであるため、ここでは、一方の領域を例に挙げて説明する。ここで、一方の領域と重なる複数のブロックの各々を符号化したときの動き補償で使用された各動きベクトルをv_0〜v_nとする（図１０において、ブロックａ及びｃのベクトルＶａ及びＶｃに相当するか、又はブロックｂ及びｄのベクトルＶｂ及びＶｄに相当する）。
【０２３４】
これらの動きベクトルを用いて、前述した動きベクトルの類似度を計算する。類似度を計算する方法はいくつか考えられる。例えば、前述したように、v_0〜v_nの平均との内積を計算する方法や、境界ブロック内で最も大きな面積を占めるブロックを符号化したときの動き補償に使用されたベクトルとの内積を計算する方法が考えられる。ここでは、境界ブロック内で最も大きな面積を占めるブロックを符号化したときの動き補償に使用されたベクトルとの内積を計算する方法を示す。
【０２３５】
それぞれの動きベクトルv_0〜v_nに対応するブロックをB_0〜B_nとする。このブロックの中で境界ブロック内の面積が最も大きいブロックのインデックスをi_largest、該ブロックの面積を求める関数をf(x)とすると、
i_largeest = argmax(f(B_i))    [i=0〜n]
と表すことができる。なお、argmaxは、関数fにより求められた面積のうち、最も大きな面積を有するブロックのインデックスを導出する関数である。
【０２３６】
更に、v_{i_largest}=(mv_ref_x、mv_ref_y)とすると、その類似度ｒは、内積の計算より、以下の式(35)で表すことができる。
r=mv_x・mv_ref_x+mv_y・mv_ref_y …(35)
【０２３７】
上記計算方法で、動きベクトルＶ３と左目用画像に係る領域の符号化の際に動き補償で用いた動きベクトルＶ１との類似度r_l、及び動きベクトルＶ３と右目用画像に係る領域の符号化の際に動き補償で用いた動きベクトルＶ２との類似度r_rを計算する。
【０２３８】
そして、類似度r_lと、類似度r_rとを比較して相関を判断し、外挿方向を求めると以下のようになる。
【０２３９】
例えば、r_l>r_rである場合には、左目用画像に係る部分（図１０の領域Ａ）の方が画素値の相関が高いと判断されるため、左目用画像の画素値を使って左から右に外挿を行うよう、外挿方向が決定される。逆に、r_l<r_rである場合には、右目用画像に係る部分（図１０の領域Ｂ）の方が画素値の相関が高いと判断されるため、右目用画像の画素値を使って右から左に外挿を行うよう、外挿方向が決定される。類似度が高いほど相関が高いと判断できる。従って、ここでは、類似度が高い方の領域から類似度が低い方の領域に外挿するように外挿方向が決定される。
【０２４０】
ステップ２０６以降の処理は、第１実施形態で説明した処理と同様に行えばよいため、ここでは、これ以上の説明は省略する。
〔第３実施形態〕
【０２４１】
次に開示の技術の第３実施形態を説明する。図１３に第３実施形態の符号化装置１３を示す。第１実施形態と異なる構成要素は、画面間予測画像生成部３３である。第３実施形態の画面間予測画像生成部３３は、図１４に示すように、第１実施形態の判断部４２とは異なる判断方法で相関を判断する判断部４１が設けられている。第３実施形態の判断部４１は、相関を判断するにあたり、符号化ブロックの位置情報を用いる。それ以外の構成は第１実施形態と同一であるため、第１実施形態と同一部分には同一の符号を付して構成の説明を省略し、第１実施形態と異なる部分についてのみ説明する。
【０２４２】
ここで、本実施形態の判断部４１及び置換部４４の作用について、図１５を用いて簡単に説明する。
【０２４３】
判断部４１は、第１実施形態と同様に、符号化ブロックに関連する局所的な情報に基づいて、境界ブロックの領域Ａの画像及び領域Ｂの画像の各々について、符号化ブロックの画像との相関の高さを判断する。ただし、本実施形態では、符号化ブロックに関連する局所的な情報として、符号化対象のフレーム画像における符号化ブロックの位置情報を用いる。
【０２４４】
判断部４１は、符号化ブロックに関連する局所的な情報として入力された符号化ブロックの位置情報に基づいて、符号化ブロックが、左目用画像と右目用画像との境界より左目用画像側に位置しているか、右目用画像側に位置しているかを判断する。
【０２４５】
判断部４１は、符号化ブロックが左目用画像側に位置していると判断した場合には、図１５の境界を跨ぐ参照ブロック（境界ブロック）の領域Ａの画素値の方が、領域Ｂの画素値よりも符号化ブロックの画素値との相関が高いと判断する（判断結果１）。
【０２４６】
判断部４１は、符号化ブロックが右目用画像側に位置していると判断した場合には、図１５の境界ブロックの領域Ｂの画素値の方が、領域Ａの画素値よりも符号化ブロックの画素値との相関が高いと判断する（判断結果２）。
【０２４７】
判断部４１の判断結果が判断結果１である場合には、置換部４４は、領域Ａから領域Ｂへ向かう外挿方向で外挿を行う。また、判断部４１の判断結果が判断結果２である場合には、置換部４４は、領域Ｂから領域Ａへ向かう外挿方向で外挿を行う。図１５では、領域Ａから領域Ｂへ向かう外挿方向が例示されている。
【０２４８】
これは、物体の動きの方向や大きさは連続している場合が多く、動きが急激に変化することは少ない。従って、境界ブロック内の、符号化ブロックの位置に対して空間的に近い領域の画素値の方が、空間的に遠い領域の画素値より符号化ブロックの画素値と相関が高いと判断できる。従って、上記のように外挿方向を決定して外挿（置換）することで、符号化効率の低下が抑制される。
【０２４９】
次に、第３実施形態の復号装置７３について説明する。図１６に第３実施形態の復号装置７３を示す。第１実施形態と異なる構成要素は、画面間予測画像生成部８５である。第３実施形態の画面間予測画像生成部８５は、図１７に示すように、第１実施形態の判断部９２とは異なる判断方法で相関を判断する判断部９１が設けられている。第３実施形態の判断部９１は、相関を判断するにあたり、復号ブロックの位置情報を用いる。それ以外の構成は第１実施形態と同様であるため、第１実施形態と同一部分には同一の符号を付して構成の説明を省略し、第１実施形態と異なる部分についてのみ説明する。
【０２５０】
ここで、本実施形態の判断部９１及び置換部９４の作用について、図１５を用いて簡単に説明する。ただし、ここでは、図１５に示す符号化対象のフレーム画像を、復号対象のフレーム画像に置き換え、符号化ブロックを復号ブロックに置き換えて説明する。図中の記号Ａ、Ｂは、そのまま用いることとする。
【０２５１】
判断部９１は、復号対象のフレーム画像内の復号ブロックの位置情報を、復号ブロックに関連する局所的な情報として用いて、境界ブロックの領域Ａの画像及び領域Ｂの画像の各々について、復号ブロックの画像との相関の高さを判断する。
【０２５２】
具体的には、判断部９１は、復号ブロックが左目用画像側に位置すると判断した場合には、図１５の境界を跨ぐ参照ブロック（境界ブロック）の領域Ａの画素値の方が、領域Ｂの画素値よりも符号化ブロックの画素値との相関が高いと判断する（判断結果１）。
【０２５３】
判断部９１は、復号ブロックが右目用画像側に位置すると判断した場合には、図１５の境界ブロックの領域Ｂの画素値の方が、領域Ａの画素値よりも符号化ブロックの画素値との相関が高いと判断する（判断結果２）。
【０２５４】
判断部９１の判断結果が判断結果１である場合には、置換部９４は、領域Ａから領域Ｂへ向かう外挿方向で外挿を行う。また、判断部９１の判断結果が判断結果２である場合には、置換部９４は、領域Ｂから領域Ａへ向かう外挿方向で外挿を行う。図１５では、領域Ａから領域Ｂへ向かう外挿方向が例示されている。
【０２５５】
以上説明したように、符号化装置１０、１１、１３においては動きベクトルを検出するときに、復号装置７０、７１、７３においては指定された動きベクトルに従って動き補償するときに、参照する参照ブロックが境界ブロックか否かが判別される。そして、境界ブロックである場合には、符号化ブロック又は復号ブロックに関連する局所的な情報に基づいて、上述したように相関が判断される。そして、その判断を基に、相関が高い方から低い方へ外挿方向が選択され、外挿処理（置換処理）が行われる。
【０２５６】
このように、境界ブロックにおいて、符号化ブロック又は復号ブロックの画素値との相関が低い画素値を、符号化ブロック又は復号ブロックの画素値との相関が高い画素値に変えて動き補償等を行うため、予測誤差を小さくできる。
【０２５７】
なお、図１８に示すように、フレーム画像を複数領域に分割し、各領域の動きベクトルの統計量から画像全体の動きベクトルであるグローバル動きベクトルを求め、該求めたグローバル動きベクトルにより外挿方向を決定して外挿（置換）する方式も考えられる。
【０２５８】
しかしながら、こうした方式では、図１９に示すように、フレーム画像内の物体の動きが多様な場合には、平均等により統計量を求めて生成したグローバル動きベクトルが、各領域の個々の動きベクトルとは大きく異なるものとなることがある。従って、このようなグローバル動きベクトルで外挿方向を求めて外挿しても、予測誤差が小さくならず、かえって符号化効率を低下させることにもなりかねない。
【０２５９】
これに対して上記各実施形態では、図２０に示すように、符号化ブロック又は復号ブロックに関連する局所的な情報に基づいて相関を判断して外挿を行うようにしたため、グローバル動きベクトルに基づいて判断する場合に比べて、予測誤差を小さくできる。
【０２６０】
ところで、第１実施形態の符号化装置１０の各機能は、例えば図２１に示すコンピュータ３００でも実現することができる。コンピュータ３００はＣＰＵ３０２、ディスプレイ３０４、操作部の一例としてのキーボード３０６、通信ＩＦ(Interface)３０８、不揮発性の記憶部３１０、及びメモリ３１２を備え、これらはバス３１４を介して互いに接続されている。
【０２６１】
記憶部３１０には、コンピュータ３００を符号化装置１０として機能させるための符号化プログラム４００が記憶されている。ＣＰＵ３０２は、符号化プログラム４００を記憶部３１０から読み出してメモリ３１２に展開し、符号化プログラム４００が有するプロセスを実行する。符号化プログラム４００は、予測誤差画像生成プロセス、変換プロセス、量子化プロセス、逆量子化プロセス、逆変換プロセス、復号画像生成プロセス、及び復号画像蓄積プロセスを含む。更にまた、符号化プログラム４００は、画面内予測画像生成プロセス、画面間予測画像生成プロセス、切替プロセス、及びエントロピー符号化プロセスを含む。
【０２６２】
ＣＰＵ３０２は、予測誤差画像生成プロセスを実行することで、図１に示す予測誤差画像生成部１２として動作する。ＣＰＵ３０２は、変換プロセスを実行することで、図１に示す変換部１４として動作する。ＣＰＵ３０２は、量子化プロセスを実行することで、図１に示す量子化部１６として動作する。ＣＰＵ３０２は、逆量子化プロセスを実行することで、図１に示す逆量子化部１８として動作する。ＣＰＵ３０２は、逆変換プロセスを実行することで、図１に示す逆変換部２０として動作する。ＣＰＵ３０２は、復号画像生成プロセスを実行することで、図１に示す復号画像生成部２２として動作する。ＣＰＵ３０２は、復号画像蓄積プロセスを実行することで、図１に示す復号画像蓄積部２４として動作する。ＣＰＵ３０２は、画面内予測画像生成プロセスを実行することで、図１に示す画面内予測画像生成部２８として動作する。ＣＰＵ３０２は、画面間予測画像生成プロセスを実行することで、図１に示す画面間予測画像生成部３０として動作する。ＣＰＵ３０２は、切替プロセスを実行することで、図１に示す切替スイッチ３２として動作する。ＣＰＵ３０２は、エントロピー符号化プロセスを実行することで、図１に示すエントロピー符号化部３４として動作する。
【０２６３】
なお、該画面間予測画像生成プロセスには、視点境界判別プロセス、判断プロセス、置換プロセス、切替プロセス、動きベクトル検出プロセス、及び動き補償プロセス等のサブプロセスが含まれる。
【０２６４】
ＣＰＵ３０２は、視点境界判別プロセスを実行することで、図２に示す視点境界判別部４０として動作する。ＣＰＵ３０２は、判断プロセスを実行することで、図２に示す判断部４２として動作する。ＣＰＵ３０２は、置換プロセスを実行することで、図２に示す置換部４４として動作する。ＣＰＵ３０２は、切替プロセスを実行することで、図１に示す切替スイッチ４６として動作する。ＣＰＵ３０２は、動きベクトル検出プロセスを実行することで、図２に示す動きベクトル検出部４８として動作する。ＣＰＵ３０２は、動き補償プロセスを実行することで、図２に示す動き補償部５８として動作する。
【０２６５】
これにより、符号化プログラム４００を実行したコンピュータ３００が、符号化装置１０として機能することになる。
【０２６６】
なお、第２実施形態の符号化装置１１も同様に、図２１に示すコンピュータ３００でも実現することができる。この場合には、符号化プログラム４００にサイド情報蓄積プロセスを追加し、符号化プログラム４００の画面間予測画像生成プロセスのサブプロセスである判断プロセスを、第２実施形態で説明した判断方法を実行する判断プロセスに置き換えて実現する。
【０２６７】
また、第３実施形態の符号化装置１３も同様に、図２１に示すコンピュータ３００でも実現することができる。この場合には、符号化プログラム４００の画面間予測画像生成プロセスのサブプロセスである判断プロセスを、第３実施形態で説明した判断方法を実行する判断プロセスに置き換えて実現する。
【０２６８】
また、第１実施形態の復号装置７０の各機能は、例えば図２２に示すコンピュータ５００でも実現することができる。コンピュータ５００はＣＰＵ５０２、ディスプレイ５０４、操作部の一例としてのキーボード５０６、通信ＩＦ(Interface)５０８、不揮発性の記憶部５１０、及びメモリ５１２を備え、これらはバス５１４を介して互いに接続されている。
【０２６９】
記憶部５１０には、コンピュータ５００を復号装置として機能させるための復号プログラム６００が記憶されている。ＣＰＵ５０２は、復号プログラム６００を記憶部５１０から読み出してメモリ５１２に展開し、復号プログラム６００が有するプロセスを実行する。復号プログラム６００は、エントロピー復号プロセス、逆量子化プロセス、逆変換プロセス、復号画像生成プロセス、復号画像蓄積プロセス、画面内予測画像生成プロセス、及び画面間予測画像生成プロセス、及び切替プロセスを含む。
【０２７０】
ＣＰＵ５０２は、エントロピー復号プロセスを実行することで、図５に示すエントロピー復号部７２として動作する。ＣＰＵ５０２は、逆量子化プロセスを実行することで、図５に示す逆量子化部７４として動作する。ＣＰＵ５０２は、逆変換プロセスを実行することで、図５に示す逆変換部７６として動作する。ＣＰＵ５０２は、復号画像生成プロセスを実行することで、図５に示す復号画像生成部７８として動作する。ＣＰＵ５０２は、復号画像蓄積プロセスを実行することで、図５に示す復号画像蓄積部８０として動作する。ＣＰＵ５０２は、画面内予測画像生成プロセスを実行することで、図５に示す画面内予測画像生成部８４として動作する。ＣＰＵ５０２は、画面間予測画像生成プロセスを実行することで、図５に示す画面間予測画像生成部８６として動作する。ＣＰＵ５０２は、切替プロセスを実行することで、図５に示す切替スイッチ８８として動作する。
【０２７１】
なお、該画面間予測画像生成プロセスには、視点境界判別プロセス、判断部プロセス、置換プロセス、及び動き補償プロセス等のサブプロセスが含まれる。
【０２７２】
ＣＰＵ５０２は、視点境界判別プロセスを実行することで、図６に示す視点境界判別部９０として動作する。ＣＰＵ５０２は、判断プロセスを実行することで、図６に示す判断部９２として動作する。ＣＰＵ５０２は、置換プロセスを実行することで、図６に示す置換部９４として動作する。ＣＰＵ５０２は、動き補償プロセスを実行することで、図６に示す動き補償部９８として動作する。
【０２７３】
これにより、復号プログラム６００を実行したコンピュータ５００が、復号装置７０として機能することになる。
【０２７４】
なお、第２実施形態の復号装置７１も同様に、図２２に示すコンピュータ５００でも実現することができる。この場合には、復号プログラム６００にサイド情報蓄積プロセスを追加し、復号プログラム６００の画面間予測画像生成プロセスのサブプロセスである判断プロセスを、第２実施形態で説明した判断方法を実行する判断プロセスに置き換えて実現する。
【０２７５】
また、第３実施形態の復号装置７３も同様に、図２２に示すコンピュータ５００でも実現することができる。この場合には、復号プログラム６００の画面間予測画像生成プロセスのサブプロセスである判断プロセスを、第３実施形態で説明した判断方法を実行する判断プロセスに置き換えて実現する。
【０２７６】
更に、上記では符号化プログラム４００が記憶部３１０に記憶されている態様を説明したが、符号化プログラム４００は、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ、ＵＳＢメモリ等の可搬型の記録媒体に記録されている形態で提供することも可能である。同様に、上記では復号プログラム６００が記憶部５１０に記憶されている態様を説明したが、復号プログラム６００は、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ、ＵＳＢメモリ等の可搬型の記録媒体に記録されている形態で提供することも可能である。
【０２７７】
また、上記各実施形態では、動画像の各フレーム画像が、サイドバイサイド方式で生成されたフレーム画像である場合について例示したが、これに限定されず、例えば、トップアンドボトム方式で生成されたフレーム画像であっても同様に処理可能である。上下に配置された２つの画像の境界を跨ぐ境界ブロックについて、上記と同様に処理すれば、同様に予測誤差を小さくすることができる。
【０２７８】
なお、上記各実施形態で説明した画面間予測符号化方法では、過去に符号化した１つのフレーム画像から予測するＰフレームと、過去に符号化した２つのフレーム画像から予測するＢフレームとがある。どちらのフレームであっても、符号化対象或いは復号対象のブロックを符号化或いは復号する際に参照されるフレーム画像の境界ブロックについては、上記説明したように、相関の判断及び置換処理を行って予測画像を生成することができる。これにより、予測誤差は小さくなる。
【０２７９】
また、上記各実施形態では、互いに視点が異なる２つの画像を配置したフレーム画像を例に挙げて説明したが、これに限られるものではない。例えば、任意の２つの画像を配置したフレーム画像にも適用可能である。
【０２８０】
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
【符号の説明】
【０２８１】
１０、１１、１３  符号化装置
１２  予測誤差画像生成部
１３  符号化装置
１４  変換部
１６  量子化部
１８  逆量子化部
２０  逆変換部
２２  復号画像生成部
２４  復号画像蓄積部
２６  符号化ブロック予測画像生成部
２８  画面内予測画像生成部
３０、３１、３３  画面間予測画像生成部
３２  切替スイッチ
３４  エントロピー符号化部
３６  サイド情報蓄積部
４０  視点境界判別部
４１、４２、４３  判断部
４４  置換部
４６  切替スイッチ
４８  ベクトル検出部
５０  ベクトル候補生成部
５２  誤差計算部
５４  探索結果蓄積部
５６  ベクトル選択部
５８  動き補償部
７０、７１、７３  復号装置
７２  エントロピー復号部
７４  逆量子化部
７６  逆変換部
７８  復号画像生成部
８０  復号画像蓄積部
８２  復号ブロック予測画像生成部
８４  画面内予測画像生成部
８５、８６、８７  画面間予測画像生成部
８９  サイド情報蓄積部
９０  視点境界判別部
９１、９２、９３  判断部
９４  置換部
９６  切替スイッチ
９８  補償部
３００      コンピュータ
３０２      ＣＰＵ
３１０      記憶部
３１２      メモリ
３１４      バス
４００      符号化プログラム
５００      コンピュータ
５０２      ＣＰＵ
５１０      記憶部
５１２      メモリ
５１４      バス
６００      復号プログラム
【図１】
0005849681.tif 000002
【図２】
0005849681.tif 000003
【図３】
0005849681.tif 000004
【図４】
0005849681.tif 000005
【図５】
0005849681.tif 000006
【図６】
0005849681.tif 000007
【図７】
0005849681.tif 000008
【図８】
0005849681.tif 000009
【図９】
0005849681.tif 000010
【図１０】
0005849681.tif 000011
【図１１】
0005849681.tif 000012
【図１２】
0005849681.tif 000013
【図１３】
0005849681.tif 000014
【図１４】
0005849681.tif 000015
【図１５】
0005849681.tif 000016
【図１６】
0005849681.tif 000017
【図１７】
0005849681.tif 000018
【図１８】
0005849681.tif 000019
【図１９】
0005849681.tif 000020
【図２０】
0005849681.tif 000021
【図２１】
0005849681.tif 000022
【図２２】
0005849681.tif 000023
【図２３】
0005849681.tif 000024
【図２４】
0005849681.tif 000025
【図２５】
0005849681.tif 000026
【図２６】
0005849681.tif 000027