(57)【特許請求の範囲】
【請求項１】
複数の視点のうちの少なくとも一つに対応するピクチャを符号化する画像符号化方法であって、
符号化対象のピクチャの視点と異なる第１の視点の第１のピクチャ 内の第１のブロック が、当該第１の視点と異なる第２の視点の第２のピクチャ内の第２のブロックを参照して符号化された場合に、前記第１のブロックから前記第２のブロックへの第１の視差ベクトルであって前記第１のブロックを符号化するのに用いられた第１の視差ベクトル を取得する取得工程と、
前記取得工程において取得された第１の視差ベクトルの方向が、前記符号化対象のピクチャの視点から前記第１のピクチャの第１の視点への方向と反対方向であるか否かを判定する判定工程 と、
前記判定工程において前記第１の視差ベクトルの方向が前記符号化対象のピクチャの視点から前記第１のピクチャの第１の視点への方向と反対方向であると判定された場合に、前記第１の視差ベクトルと、前記第２の視点と前記符号化対象のピクチャの視差との距離とに基づいて、前記符号化対象のピクチャから前記第１のピクチャへの第２の視差ベクトルと、前記符号化対象のピクチャから前記第２のピクチャへの第３の視差ベクトルとを算出し、当該第２の視差ベクトルと当該第３の視差ベクトルとを用いて前記符号化対象のピクチャ内の符号化対象のブロックを符号化する符号化工程 と、
を有することを特徴とする画像符号化方法。
【請求項２】
前記符号化工程は、前記第１のピクチャと前記第２のピクチャとの両方を参照画像として用いて、前記符号化対象のブロックを符号化することを特徴とする請求項１に記載の画像符号化方法。
【請求項３】
前記第１のピクチャは、前記符号化対象のピクチャと同じアクセスユニットの、前記符号化対象のピクチャの視点から最も近い視点のピクチャであることを特徴とする請求項１又は請求項２に記載の画像符号化方法。
【請求項４】
前記符号化工程は、前記判定工程において、前記第１の視差ベクトルの方向が、前記符号化対象のピクチャの視点から前記第１のピクチャの第１の視点への方向と反対方向でないと判定された場合 に、前記第１の視差ベクトルを用いて前記符号化対象のブロックを符号化することを特徴とする請求項１乃至請求項３のいずれか一項に記載の画像符号化方法。
【請求項５】
複数の視点のうちの少なくとも一つに対応するピクチャを符号化して生成されたビットストリームを復号する画像復号方法であって、
復号対象のピクチャの視点と異なる第１の視点の第１のピクチャ内の第１のブロックが、当該第１の視点と異なる第２の視点の第２のピクチャ内の第２のブロックを参照して予測符号化された場合に、前記第１のブロックから前記第２のブロックへの第１の視差ベクトルであって前記第１のブロックを符号化するのに用いられた第１の視差ベクトルを取得する取得工程と、
前記取得工程において取得された第１の視差ベクトルの方向が、前記復号対象のピクチャの視点から前記第１のピクチャの第１の視点への方向と反対方向であるか否かを判定する判定工程と、
前記判定工程において前記第１の視差ベクトルの方向が前記復号対象のピクチャの視点から前記第１のピクチャの第１の視点への方向と反対方向であると判定された場合に、前記第１の視差ベクトルと、前記第２の視点と前記復号対象のピクチャの視点との距離とに基づいて、前記復号対象のピクチャから前記第１のピクチャへの第２の視差ベクトルと、前記復号対象のピクチャから前記第２のピクチャへの第３の視差ベクトルとを算出し、当該第２の視差ベクトルと当該第３の視差ベクトルとを用いて前記復号対象のピクチャ内の復号対象のブロックを復号する復号工程と、
を有することを特徴とする画像復号方法。
【請求項６】
前記復号工程は、前記第１のピクチャと前記第２のピクチャとの両方を参照画像として用いて、前記復号対象のブロックを復号することを特徴とする請求項５に記載の画像復号方法。
【請求項７】
前記第１のピクチャは、前記復号対象のピクチャと同じアクセスユニットの、前記復号対象のピクチャの視点から最も近い視点のピクチャであることを特徴とする請求項５又は請求項６に記載の画像復号方法。
【請求項８】
前記復号工程は、前記判定工程において、前記第１の視差ベクトルの方向が、前記復号対象のピクチャの視点から前記第１のピクチャの第１の視点の方向と反対方向でないと判定された場合に、前記第１の視差ベクトルを用いて前記復号対象のブロックを復号することを特徴とする請求項５乃至請求項７のいずれか一項に記載の画像復号方法。
【請求項９】
複数の視点のうちの少なくとも一つに対応するピクチャを符号化する画像符号化装置であって、
符号化対象のピクチャの視点と異なる第１の視点の第１のピクチャ内の第１のブロックが、当該第１の視点と異なる第２の視点の第２のピクチャ内の第２のブロックを参照して符号化された場合に、前記第１のブロックから前記第２のブロックへの第１の視差ベクトルであって前記第１のブロックを符号化するのに用いられた第１の視差ベクトルを取得する取得手段と、
前記取得手段において取得された第１の視差ベクトルの方向が、前記符号化対象のピクチャの視点から前記第１のピクチャの第１の視点への方向と反対方向であるか否かを判定する判定手段と、
前記判定手段において前記第１の視差ベクトルの方向が前記符号化対象のピクチャの視点から前記第１のピクチャの第１の視点への方向と反対方向であると判定された場合に、前記第１の視差ベクトルと、前記第２の視差と前記符号化対象のピクチャの視差との距離とに基づいて、前記符号化対象のピクチャから前記第１のピクチャへの第２の視差ベクトルと、前記符号化対象のピクチャから前記第２のピクチャへの第３の視差ベクトルとを算出し、当該第２の視差ベクトルと当該第３の視差ベクトルとを用いて前記符号化対象のピクチャ内の符号化対象のブロックを符号化する符号化手段と、
を有することを特徴とする画像符号化装置。
【請求項１０】
複数の視点のうちの少なくとも一つに対応するピクチャを符号化して生成されたビットストリームを復号する画像復号装置であって、
復号対象のピクチャの視点と異なる第１の視点の第１のピクチャ内の第１のブロックが、当該第１の視点と異なる第２の視点の第２のピクチャ内の第２のブロックを参照して予測符号化された場合に、前記第１のブロックから前記第２のブロックへの第１の視差ベクトルであって前記第１のブロックを符号化するのに用いられた第１の視差ベクトルを取得する取得手段と、
前記取得手段によって取得された第１の視差ベクトルの方向が、前記復号対象のピクチャの視点から前記第１のピクチャの第１の視点への方向と反対方向であるか否かを判定する判定手段と、
前記判定手段において前記第１の視差ベクトルの方向が前記復号対象のピクチャの視点から前記第１のピクチャの第１の視点への方向と反対方向であると判定された場合に、前記第１の視差ベクトルと、前記第２の視差と前記復号対象のピクチャのしてとの距離に基づいて、前記復号対象のピクチャから前記第１のピクチャへの第３の視差ベクトルとを算出し、当該第２の視差ベクトルと当該第３の視差ベクトルとを用いて前記復号対象のピクチャ内の復号対象のブロックを復号する復号手段と、
を有することを特徴とする画像復号装置。
【請求項１１】
コンピュータを、請求項１乃至請求項４のいずれか一項に記載の画像符号化方法の各工程として機能させるためのプログラム。
【請求項１２】
コンピュータを、請求項５乃至請求項８のいずれか一項に記載の画像復号方法の各工程として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像の符号化・復号において、動きベクトルを用いて符号化する際の画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラムに関する。特にダイレクトモードを用いて符号化する画像の動き補償符号化・復号方法に関する。
【背景技術】
【０００２】
動画像の圧縮記録方法として、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ（以下Ｈ．２６４）が知られている（非特許文献１）。Ｈ．２６４は動き補償において、時間ダイレクト予測を行うことができる。動きベクトルを符号化済みのブロックから予測して生成する方法である。時間ダイレクト予測はＬ１予測で最も参照番号の小さい参照ピクチャ（アンカーピクチャと呼ぶ）内の符号化対象のブロックと同一位置のブロック（アンカーブロックと呼ぶ）の動きベクトルを参照して符号化する。アンカーピクチャとアンカーブロックが参照するフレームの間隔に対して、符号化対象のブロックを含むピクチャの位置から、アンカーブロックの動き情報を比例配分することで動きベクトルを予測生成する。これにより動きベクトルの符号化情報を送らずに動き補償を行うことができるため、符号化効率の向上に有用である。
【０００３】
一方、Ｈ．２６４においては、多視点の映像を符号化するＭＶＣ（Ｍｕｌｔｉｖｉｅｗ  ｖｉｄｅｏ  ｃｏｄｉｎｇの略）符号化方式が採用されている（非特許文献１参照）。ＭＶＣ符号化方式は複数のカメラ等から入力された複数の映像を、互いに参照しながら予測を行って符号化する。なお、Ｈ．２６４ではそれぞれの映像をビューと呼んでおり、以下の説明を容易にするためにこの呼称を使用する。ＭＶＣ符号化方式ではこのビュー間の相関性を使って予測を行っている。ＭＶＣ符号化方式では時間方向の予測であるインター予測での動きベクトルと同様に、ビュー間で視差ベクトルを算出して予測を行い、予測誤差を符号化する。また、同じ時刻に記録されたビューのピクチャをまとめて、アクセスユニットと呼んでいる。また、ビューの中に必ず、そのビューのみを参照して符号化するピクチャが存在する。このようなビューをベースビューと呼んでいる。それ以外のビューをノンベースビューと呼ぶ。
【０００４】
Ｈ．２６４のＭＶＣ符号化においては、参照ピクチャリストＲｅｆＰｉｃＬｉｓｔ１［０］が異なるビューのコンポーネントを指す場合、時間ダイレクト予測を行うことはできない。（非特許文献１Ｈ．７．４．３章参照）、また、ビュー間の相関を用いたビュー間でのダイレクトモードは行っていない。これに対して、特許文献１では、ビュー間でのダイレクト予測を提案している。これは同じビュー内にアンカーピクチャを設定し、アンカーブロックが参照する異なる時刻の異なるビューへの動きベクトルを時間間隔とカメラの位置情報で比例配分する方法である。
【０００５】
また、Ｈ．２６４の後継としてさらに高効率な符号化方式の国際標準化を行う活動が開始された。ＪＣＴ−ＶＣ（Ｊｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）がＩＳＯ／ＩＥＣとＩＴＵ−Ｔの間で設立された。この活動ではＨＥＶＣ（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）符号化方式（以下、ＨＥＶＣ）として標準化が進められている（非特許文献２）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２００８−５０９５９２号公報
【非特許文献】
【０００７】
【非特許文献１】ＩＳＯ／ＩＥＣ１４４９６−１０：２０１０  Ｉｎｆｏｒｍａｔｉｏｎ  ｔｅｃｈｎｏｌｏｇｙ−−Ｃｏｄｉｎｇ  ｏｆ  ａｕｄｉｏ−ｖｉｓｕａｌ  ｏｂｊｅｃｔｓ−−Ｐａｒｔ１０：Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ
【非特許文献２】ＪＣＴ−ＶＣ  寄書  ＪＣＴＶＣ−Ａ２０５．ｄｏｃ    インターネット＜  ｈｔｔｐ：／／ｗｆｔｐ３．ｉｔｕ．ｉｎｔ／ａｖ−ａｒｃｈ／ｊｃｔｖｃ−ｓｉｔｅ／２０１０＿０４＿Ａ＿Ｄｒｅｓｄｅｎ／＞
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１においては時間と空間の２軸を持つアンカーブロックの動き・視差ベクトルを、時間軸上の距離で内分して、ダイレクト予測のベクトルを求めている。このため、適切ではないベクトルが算出される可能性がある。特に、動き・視差ベクトルを時間軸上の距離で内分しているため、アンカーブロックのベクトルがビュー間予測を含まない場合の処理が定義できないといった問題がある。
よって本発明は上述の課題を解決するためになされたものであり、同一ビュー内にアンカーピクチャがある場合その視差ベクトルを用い予測を行うことで符号化ブロックの視差ベクトルを符号化せずにビュー間予測を行い符号化効率を向上させることを目的とする。
【課題を解決するための手段】
【０００９】
上述課題を解決するため、本発明の画像符号化方法は以下の構成を備える。複数の視点のうちの少なくとも一つに対応するピクチャを符号化する画像符号化方法であって、符号化対象のピクチャの視点と異なる第１の視点の第１のピクチャ内の第１のブロックが、当該第１の視点と異なる第２の視点の第２のピクチャ内の第２のブロックを参照して符号化された場合に、前記第１のブロックから前記第２のブロックへの第１の視差ベクトルであって前記第１のブロックを符号化するのに用いられた第１の視差ベクトルを取得する取得工程と、前記取得工程において取得された第１の視差ベクトルの方向が、前記符号化対象のピクチャの視点から前記第１のピクチャの第１の視点への方向と反対方向であるか否かを判定する判定工程と、前記判定工程において前記第１の視差ベクトルの方向が前記符号化対象のピクチャの視点から前記第１のピクチャの第１の視点への方向と反対方向であると判定された場合に、前記第１の視差ベクトルと、前記第２の視点と前記符号化対象のピクチャの視差との距離とに基づいて、前記符号化対象のピクチャから前記第１のピクチャへの第２の視差ベクトルと、前記符号化対象のピクチャから前記第２のピクチャへの第３の視差ベクトルとを算出し、当該第２の視差ベクトルと当該第３の視差ベクトルとを用いて前記符号化対象のピクチャ内の符号化対象のブロックを符号化する符号化工程と、を有することを特徴とする。
【００１０】
上述課題を解決するため、本発明の画像復号方法は以下の構成を備える。複数の視点のうちの少なくとも一つに対応するピクチャを符号化して生成されたビットストリームを復号する画像復号方法であって、復号対象のピクチャの視点と異なる第１の視点の第１のピクチャ内の第１のブロックが、当該第１の視点と異なる第２の視点の第２のピクチャ内の第２のブロックを参照して予測符号化された場合に、前記第１のブロックから前記第２のブロックへの第１の視差ベクトルであって前記第１のブロックを符号化するのに用いられた第１の視差ベクトルを取得する取得工程と、前記取得工程において取得された第１の視差ベクトルの方向が、前記復号対象のピクチャの視点から前記第１のピクチャの第１の視点への方向と反対方向であるか否かを判定する判定工程と、前記判定工程において前記第１の視差ベクトルの方向が前記復号対象のピクチャの視点から前記第１のピクチャの第１の視点への方向と反対方向であると判定された場合に、前記第１の視差ベクトルと、前記第２の視点と前記復号対象のピクチャの視点との距離とに基づいて、前記復号対象のピクチャから前記第１のピクチャへの第２の視差ベクトルと、前記復号対象のピクチャから前記第２のピクチャへの第３の視差ベクトルとを算出し、当該第２の視差ベクトルと当該第３の視差ベクトルとを用いて前記復号対象のピクチャ内の復号対象のブロックを復号する復号工程と、を有することを特徴とする。
【発明の効果】
【００１１】
本発明により、同一ビュー内にアンカーピクチャがある場合、その視差ベクトルを用いて予測を行うことで符号化ブロックの視差ベクトルを符号化せずにビュー間予測を行い、符号化効率の向上が行えるようになる。
本発明により、同一アクセスユニット内にアンカーピクチャがある場合、その視差ベクトルを用いて予測を行うことで符号化ブロックの動きベクトルを符号化せずにピクチャ間予測を行い、符号化効率の向上が行えるようになる。
本発明により、同一アクセスユニット内にアンカーピクチャがある場合、その視差ベクトルを用いて復号対象ブロックの視差ベクトルを算出して予測を行う。これにより符号化ブロックの視差ベクトルを符号化せずにビュー間予測を行い、符号化効率の向上が行えるようになる。
【図面の簡単な説明】
【００１２】
【図１】本発明の画像符号化装置を用いた画像符号化システムの構成を示すブロック図
【図２】実施形態１におけるベースビュー符号化部の構成を示すブロック図
【図３】実施形態１、２、３におけるノンベースビュー符号化部の構成を示すブロック図
【図４】実施形態１におけるビュー間予測部の構成を示すブロック図
【図５】実施形態１、２、３におけるベースビュー符号化処理を示すフローチャート
【図６】実施形態１におけるノンベースビュー符号化処理を示すフローチャート
【図７】実施形態１におけるビュー間符号化処理を示すフローチャート
【図８】実施形態１における各ビューの処理の様子を表す図
【図９】実施形態１における各ビューの別な処理の様子を表す図
【図１０】実施形態１における別なビュー間符号化処理を示すフローチャート
【図１１】実施形態１における別な画像符号化装置の構成を示すブロック図
【図１２】実施形態２におけるノンベースビュー符号化部の構成を示すブロック図
【図１３】実施形態２におけるビュー間予測部の構成を示すブロック図
【図１４】実施形態２におけるビュー間符号化処理を示すフローチャート
【図１５】実施形態２における各ビューの処理の様子を表す図
【図１６】実施形態３におけるノンベースビュー符号化部の構成を示すブロック図
【図１７】実施形態３におけるビュー間予測部の構成を示すブロック図
【図１８】実施形態３におけるビュー間符号化処理を示すフローチャート
【図１９】実施形態３における各ビューの処理の様子を表す図
【図２０】本発明の画像復号装置を用いた画像復号システムの構成を示すブロック図
【図２１】実施形態４、５、６におけるベースビュー復号部の構成を示すブロック図
【図２２】実施形態４、５、６におけるノンベースビュー復号部の構成を示すブロック図
【図２３】実施形態４におけるビュー間予測部の構成を表すブロック図
【図２４】実施形態４，５，６におけるベースビュー復号処理を示すフローチャート
【図２５】実施形態４，５，６におけるノンベースビュー復号処理を示すフローチャート
【図２６】実施形態４におけるビュー間復号処理を示すフローチャート
【図２７】実施形態４における別なビュー間復号処理を示すフローチャート
【図２８】実施形態５におけるビュー間復号処理を示すフローチャート
【図２９】実施形態６におけるビュー間予測部の構成を表すブロック図
【図３０】実施形態６におけるビュー間復号処理を示すフローチャート
【図３１】発明の画像符号化装置、復号装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図
【発明を実施するための形態】
【００１３】
以下、添付の図面を参照して、本願発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１４】
＜実施形態１＞
図１に本発明の画像符号化装置を用いた画像符号化システムのブロックを示す。１０１、１０２、１０３はカメラであり、同期をとって各ピクチャを撮像する。接続される台数は複数台であれば、特に数に制限は無い。１０４はベースビュー符号化を行うベースビュー符号化部であり、カメラ１０１で撮影されたピクチャを符号化する。１０５、１０６は他のビューを参照して符号化するノンベースビュー符号化を行うノンベースビュー符号化部であり、カメラ１０２、カメラ１０３で撮影されたピクチャをそれぞれ符号化する。１０７は各ビュー単位で符号化された符号化データを統合し、Ｈ．２６４のＭＶＣ符号化として必要なヘッダデータを付加するＭＶＣ符号化部である。但し、これに限定されず、他の多視点符号化方法を用いても構わない。１０８はインターフェースであり、生成されたビットストリームを外部に出力する。各カメラで撮像されたビューの画像データはそれぞれの符号化部で符号化され、ＭＶＣ符号化部１０７でビットストリームを生成し、インターフェース１０８から出力される。
【００１５】
また、図２０に本発明の画像復号装置を用いた画像復号システムのブロックを示す。２００１はインターフェースであり、復号する画像のビットストリームを入力する。２００２はビットストリームからＭＶＣ符号化に必要な符号データを復号し、各ビューの符号データを分離して出力するＭＶＣ復号部である。２００３はベースビューの復号を行うベースビュー復号部である。２００４、２００５は他のビューを参照して復号するノンベースビュー復号部である。２００６は画像合成装置であり、各ビューの画像データから不図示のユーザが見る画像データを合成する。２００７は合成された画像を立体的に表示することができるディスプレイである。インターフェース２００１から入力されたビットストリームはＭＶＣ復号部２００２で各ビューの符号データに分離される。分離された符号データはベースビュー復号部２００３、ノンベースビュー復号部２００４、２００５で復号され、各ビューの画像データを再生する。再生された各ビューの画像データは不図示のユーザが立体的に見ることができるように画像合成装置２００６で画像データを合成し、ディスプレイ２００７に表示する。
【００１６】
以下、本発明の画像符号化について、図面を用いて説明する。本実施形態において、３つのビューの符号化について説明するが、本発明はこれに限定されない。図２は図１に記載のベースビュー符号化部１０４の詳細を示すブロック図である。
【００１７】
図２において、２０１は端子であり、図１のカメラ１０１からピクチャの画像データを入力する。２０２はフレームメモリであり、１ピクチャ以上のピクチャの画像データを格納する。２０３は再生された画像データを格納するフレームメモリである。２０４は時間的に前または後のピクチャを参照して、動きベクトルを算出し、前記動きベクトルに基づいて予測を行うインター予測部である。インター予測部２０４は動きベクトルに合わせ、画像データの予測誤差も出力する。２０５はピクチャ内で予測を行うイントラ予測部である。２０６はインター予測部２０４で算出された動きベクトルや予測モードを保持しておく動きベクトル保持部である。２０７はインター予測部２０４とイントラ予測部２０５の予測誤差を比較し、予測誤差の小さい予測を選択する予測判定部である。予測判定部２０７は選択された予測誤差と選択結果を出力する。２０８は予測誤差に対して直交変換を行い、量子化を行い、量子化係数データを生成する変換量子化部である。２０９は変換量子化部２０８とは逆の動作を行い、量子化係数データから予測誤差を再生する逆量子化逆変換部である。２１０は前記予測モード、前記動きベクトル、再生された予測誤差、復号済みの画像データから画像データを再生する画像再構成部である。２１１は符号化部であり、得られた予測モード、動きベクトル、量子化係数データや量子化パラメータ等を符号化してブロック単位の符号化データを生成する。２１２は端子であり、生成されたビットストリームを外部に出力する。２１３は端子であり、図１に示したノンベースビュー符号化部１０５、１０６からフレームメモリ２０３の参照情報を入力する。ここで説明のため、参照情報は参照するビュー、ピクチャの番号等と参照する画素位置等の情報とするが、これに限定されない。このため、フレームメモリ２０３においては参照情報で指定された画像データを読み出す機能を備える。２１４は端子であり、参照情報に基づいたビューの復号画像の画像データを提供する。２１５は端子であり、図１に示したノンベースビュー符号化部１０５、１０６からピクチャやブロックの位置の情報を入力する。２１６は端子であり、これらの端子２１５から入力された情報に基づき、ビューの中のブロックの動きベクトルを提供する。
【００１８】
また、図３は図１に記載のノンベースビュー符号化部１０５の詳細を示すブロック図である。ノンベースビュー符号化部１０６も同じ構成をとる。図３において、図２に記載したブロックと同様な機能を果たすブロックについては同じ番号を付し、説明を省略する。３０１は端子であり、図１のカメラ１０２または３からピクチャの画像データを入力する。２０１も同様に端子であり、カメラ１０２からピクチャの画像データを入力する。３０２はフレームメモリであり、１ピクチャ以上のピクチャの画像データを格納する。
【００１９】
３０７は端子であり、図１のベースビュー符号化部１０４からベースビューの再生画像やノンベースビュー符号化部１０６から再生画像を入力する。３０８は端子であり、ノンベースビューのビューから視差ベクトルを入力する。本実施形態ではノンベースビュー符号化部１０６から視差ベクトルを入力する。３１０は端子３０１と端子３０７から入力されたピクチャに対して、他のビューを参照したり、他のビューの視差ベクトルを用いたりして視差ベクトルを算出し、ビュー間予測を行うビュー間予測部である。ビュー間予測部３１０は視差ベクトル、後述するビュー間予測モードと画像データの予測誤差を出力する。また、ビュー間予測部３１０は他のビューを参照するための参照情報（参照するビュー、ピクチャの番号等と参照する画素位置等の情報）を生成する。３０９は端子であり、前記の参照情報をベースビュー符号化部１０４、ノンベースビュー符号化部１０６に出力する。３１１はビュー間予測部３１０で算出された視差ベクトル保持しておく視差ベクトル保持部である。
【００２０】
３１２はインター予測部２０４、イントラ予測部２０５、ビュー間予測部３１０の予測誤差を比較し、予測誤差の小さい予測を選択する。選択された予測誤差と選択結果を予測モードとして出力する。３１３は端子であり、図１に示したノンベースビュー符号化部１０６からフレームメモリ２０３の参照情報を入力する。３１４は端子であり、参照情報に基づいたビューの復号画像の画像データを提供する。３１５は前記予測モード、前記動きベクトル、前記視差ベクトル、再生された予測誤差、再生された画像データから画像を再生する画像再構成部である。３１６はセレクタであり、予測判定部３１２が生成した予測モードに応じて入力を切り替えて出力する。３１７は符号化部であり、得られた予測モード、動きベクトル、視差ベクトル、後述するビュー間予測モード、予測誤差を符号化してブロック単位の符号化データを生成する。３１８は端子であり、生成されたビットストリームを外部に出力する。３１９は端子であり、図１に示したノンベースビュー符号化部１０６からピクチャやブロックの位置の情報を入力する。３２０は端子であり、端子３１９から入力されたこれらの情報に基づき、ビューの中のブロックの動きベクトルを提供する。
【００２１】
上記画像符号化装置における画像の符号化動作を以下に説明する。ノンベースビュー符号化についてはノンベースビュー符号化部１０５と１０６は同じ動作をするので、ここではノンベースビュー符号化部１０５の動作として説明する。
【００２２】
図２の端子２０１から入力された画像データはフレームメモリ２０２に入力され、格納される。また、同時に、図３の端子３０１から入力された画像データはフレームメモリ３０２に入力され、格納される。説明のために、ピクチャ内の全てのブロックに対してピクチャ内予測で符号化するイントラピクチャ符号化と時間的に前または後のピクチャを参照して動き補償を行い符号化するインターピクチャ符号化から構成されるものとする。但し、これに限定されず、例えば、双方向予測を行っても良い。図２のフレームメモリ２０２と図３のフレームメモリ３０２は必要なピクチャを保持するものとする。
【００２３】
まず、図２において、端子２０１から入力された画像データはフレームメモリ２０２を介してインター予測部２０４とイントラ予測部２０５に入力される。インター予測部２０４ではフレームメモリ２０３に格納されている再生画像データを参照して動き補償を行い、動きベクトルと予測誤差を算出する。算出された動きベクトルと予測モードは動きベクトル保持部２０６で保持される。イントラ予測部２０５ではフレームメモリ２０３に格納されている再生画像データを参照してイントラ予測を行い、イントラ予測モードと予測誤差を算出する。予測判定部２０７はインター予測部２０４とイントラ予測部２０５で算出された予測誤差を比較し、予測誤差の小さいものを選択する。すなわちインター予測部２０４から入力された予測誤差が小さければ、インター予測部２０４の予測誤差を変換量子化部２０８に出力し、インター予測符号化モードであることと動きベクトル等を符号化部２１１に出力する。逆に、イントラ予測部２０５から入力された予測誤差が小さければ、イントラ予測部２０５の予測誤差を変換量子化部２０８に出力し、イントラ予測符号化モードであることとイントラ予測モードを符号化部２１１に出力する。変換量子化部２０８は入力された予測誤差に対して直交変換を行い、その結果に対して量子化パラメータで量子化を行い、量子化係数データを算出する。量子化係数データは符号化部２１１と逆量子化逆変換部２０９に入力される。符号化部２１１は入力された符号化モード、各予測符号化モードの情報、量子化パラメータと量子化係数データを所定の符号化方式によって符号化する。本実施形態では符号化方式については特に限定しないが、Ｈ．２６４の算術符号化方式やハフマン符号などの符号化を行うことができる。
【００２４】
一方、逆量子化逆変換部２０９は変換量子化部２０８とは逆の動作を行い、予測誤差を算出する。画像再構成部２１０は算出された予測誤差と予測符号化モードを入力する。予測判定部２０７からインター予測符号化の場合はその予測誤差生成に用いた動きベクトルを、イントラ予測符号化の場合はイントラ予測モードを合わせて入力する。予測判定部２０７から得られたこれらの情報に基づいて、フレームメモリ２０３に格納されている再生画像データを参照して予測を行い、予測誤差と加算して再生画像データを生成する。生成された再生画像データはフレームメモリ２０３に格納される。
【００２５】
また、図３において、端子３０１から入力された画像データはフレームメモリ３０２を介してインター予測部２０４とイントラ予測部２０５とビュー間予測部３１０に入力される。ビュー間予測部３１０は図２のフレームメモリ２０３のベースビューの再生画像データを参照したり、ノンベースビュー符号化部１０６のフレームメモリ２０３を参照したりして視差ベクトルを算出する。これらの視差ベクトルに加えて視差ベクトル保持部３１１の視差ベクトルを用いてビュー間予測のモードと最終的な視差ベクトルを決定する。決定された視差ベクトルを用いてビュー間予測を行い、視差ベクトルや予測誤差を算出する。まず、Ｌ１予測で同じビューの最も参照番号の小さい参照ピクチャをアンカーピクチャに選定する。その後、当該アンカーピクチャで符号化対象ブロックと同じ位置のブロックをアンカーブロックとする。アンカーブロックが視差ベクトルを持ってビュー間予測を行っているか否かを判定する。視差ベクトルを持っている場合はアンカーブロックの視差ベクトルを符号化対象ブロックの視差ベクトルとする。このビュー間予測モードを特にビュー間ダイレクト予測モードと呼ぶ。
【００２６】
図８にビュー間ダイレクト予測モードの時の視差ベクトルの様子を示す。図８において、カメラ１０１〜カメラ１０３は、図１のカメラ１０１〜カメラ１０３と同じ機能を果たすため、説明を省略する。
【００２７】
カメラ１０１からはピクチャ７０１、７０４、７０７、７１０の順で入力される。それぞれの時間をｔ０、ｔ１、ｔ２、ｔ３とする。これと同期して、カメラ１０２からはピクチャ７０２、７０５、７０８、７１１の順で、カメラ１０３からはピクチャ７０３、７０６、７０９、７１２の順で入力される。符号化対象のピクチャの時間をｔ２とした時、Ｌ１予測で最小の参照ピクチャ番号を持つピクチャの時間がｔ１であった場合を例にとって説明する。但し、カメラの台数（ビューの数）、Ｌ１予測での最小の参照ピクチャ番号、時間の間隔はこれに限定されない。
【００２８】
符号化対象ピクチャ７０８に対して、アンカーピクチャはピクチャ７０５となる。符号化対象ブロック７１３に対して、アンカーブロック７１４が対応する。アンカーブロック７１４が視差ベクトル７１５及び視差ベクトル７１６を持ち、他のビューのブロック７１７、ブロック７１８を参照しているとする。この場合、符号化対象ブロック７１３の視差ベクトル７１９は視差ベクトル７１５と等しく、視差ベクトル７２０は視差ベクトル７１６と等しいように設定する。
【００２９】
図４にビュー間予測部３１０の詳細なブロック図を示す。４００は端子であり、図３のインター予測部２０４から動きベクトル算出のためのピクチャの参照情報を入力する端子である。ピクチャの参照情報としてはＬ１予測の情報等である。４０１は端子であり、図３のフレームメモリ３０２から符号化対象ブロックの画像データを入力する。４０２は端子であり、図３の端子３０８に接続されて、外部から参照画像データを入力する。４０３は端子であり、視差ベクトル保持部３１１に接続され、視差ベクトルを入力する。４０４はアンカーピクチャ決定部であり、同じビューのピクチャからアンカーピクチャを決定する。４０５はアンカーブロック決定部であり、アンカーブロックの位置を決定する。４０６はアンカーピクチャ内のアンカーブロックの位置を示す参照情報を生成するアンカー参照情報算出部である。４０７は端子であり、視差ベクトル保持部３１１に接続されており、アンカーブロックの位置を示す参照情報を出力する。４０８はセレクタであり、制御信号によって出力先を選択する。４０９は視差ベクトル算出部であり、符号化対象ブロックの画像データと参照するビューの画像データから視差ベクトルを算出する。４１０は端子４０３から入力された視差ベクトルを用いて参照ビューの画像データから予測誤差を算出する予測誤差算出部である。４１１は視差ベクトル算出部４０９と予測誤差算出部４１０が参照するための画像データを読み込むための参照情報の出力（セレクタ４１２の入力）、セレクタ４０８の入力を制御する参照情報出力制御部である。４１２はセレクタであり、参照情報出力制御部４１１の信号に基づいて入力を選択する。４１３は端子であり、図３の端子３０９に接続されており、他のビューの画像データを参照するための参照情報を外部に出力する。４１４はビュー間予測決定部であり、入力された予測誤差を用いてビュー間予測モードを決定し、視差ベクトル、予測誤差を選択して出力する。４１５は端子であり、ビュー間予測モードや視差ベクトルの情報を外部に出力する端子である。４１６は端子であり、予測誤差を外部に出力する。
【００３０】
図４の構成において、符号化対象ブロックの画像データはアンカーピクチャ決定部４０４、視差ベクトル算出部４０９、予測誤差算出部４１０に入力される。アンカーピクチャ決定部４０４は入力された符号化対象ブロックのピクチャの情報とインター予測のための参照情報からアンカーピクチャを決定する。端子４００から入力されたＬ１予測で同じビューの最も参照番号の小さい参照ピクチャをアンカーピクチャに選定する。アンカーブロック決定部４０５は符号化対象ブロックの位置情報からアンカーブロックの位置を決定する。これは対象ブロックと同一位置のブロックの位置情報をブロックの計数等で算出すればよい。アンカー参照情報算出部４０６はこれらのアンカーピクチャとアンカーブロックの情報から参照情報を算出し、端子４０７から視差ベクトル保持部３１１に出力する。これに適合するブロックの視差ベクトルを端子４０３から入力する。入力された視差ベクトルに基づいて視差ベクトルが指し示す画像データを入力するための参照情報を生成する。生成された参照情報は参照情報出力制御部４１１とセレクタ４１２に入力される。参照情報出力制御部４１１は入力された順に参照情報を出力するためにセレクタ４１２を制御する。参照情報はセレクタ４１２を介して端子４１３から出力され、図３の端子３０９を介して他のベースビュー符号化部やノンベースビュー符号化部に入力される。その結果は端子４０２から入力され、参照情報出力制御部４１１からの制御によってセレクタ４０８を介して予測誤差算出部４１０に入力される。予測誤差算出部４１０では符号化対象ブロックの画像データと入力された参照画像データとの差分から予測誤差を算出する。算出された予測誤差はビュー間予測決定部４１４に入力される。
【００３１】
視差ベクトル算出部４０９は入力された符号化対象ブロックの位置から他のビューに対して視差ベクトル算出のために参照する画像データを指定するための参照情報を生成する。生成された参照情報は参照情報出力制御部４１１とセレクタ４１２に入力される。参照情報出力制御部４１１は他に参照情報の入力がなければ、参照情報はセレクタ４１２を介して端子４１３から出力するように制御する。端子４１３を介して参照情報は図３の端子３０９を介して他のベースビュー符号化部やノンベースビュー符号化部に入力される。その結果は端子４０２から入力され、参照情報出力制御部４１１からの制御によってセレクタ４０８を介して視差ベクトル算出部４０９に入力される。視差ベクトル算出部４０９では符号化対象ブロックの画像データと比較を行い、視差ベクトルを算出する。算出された視差ベクトルと算出された視差ベクトルを用いた時の予測誤差はビュー間予測決定部４１４に入力される。
【００３２】
ビュー間予測決定部４１４は入力された予測誤差を比較し、視差ベクトル算出部４０９から入力された予測誤差が小さければ、端子４１６より視差ベクトル算出部４０９から出力された予測誤差を出力する。と同時に端子４１５から視差ベクトルとビュー間予測モードがビュー間参照予測モードであることを外部に出力する。このようにビュー間予測モードは視差ベクトルを持ち、符号化を行うモードである。また、視差ベクトル算出部４０９から入力された予測誤差が小さくなければ、端子４１６より予測誤差算出部４１０から出力された予測誤差を出力する。と同時に端子４１５よりビュー間予測モードがビュー間ダイレクト予測モードであることを外部に出力する。
【００３３】
ビュー間予測モードと視差ベクトルはセレクタ３１６と画像再生部３１５に入力される。予測誤差は予測判定部３１２に入力される。算出された視差ベクトルは視差ベクトル保持部３１１に入力され、保持される。
【００３４】
予測判定部３１２はインター予測部２０４、イントラ予測部２０５、ビュー間予測部３１０で算出された予測誤差を比較し、予測誤差の小さいものを選択する。すなわちインター予測部２０４から入力された予測誤差が小さければ、インター予測部２０４の予測誤差を変換量子化部２０８に出力し、インター予測符号化モードであることと動きベクトル等を符号化部３１７に出力する。また、イントラ予測部２０５から入力された予測誤差が小さければ、イントラ予測部２０５の予測誤差とイントラ予測モードを変換量子化部２０８に出力し、イントラ予測符号化モードであることとイントラ予測モードを符号化部３１７に出力する。さらに、ビュー間予測部３１０から入力された予測誤差が小さければ、ビュー間予測部３１０の予測誤差を変換量子化部２０８に出力し、ビュー間予測符号化モードであることを符号化部３１７に出力する。
【００３５】
また、セレクタ３１６は予測判定部３１２から選択された符号化対象の予測モードによって入力先を変更する。ビュー間予測符号化モードであればビュー間予測部３１０のビュー間予測モードと視差ベクトルを符号化部３１７に出力する。そうでなければインター予測部２０４の動きベクトルを出力する。
【００３６】
符号化部３１７は入力された符号化モード、ビュー間予測モードを含む各予測符号化モードの情報、量子化パラメータと量子化係数データを所定の符号化方式によって符号化する。本実施形態では符号化方式については特に限定しないが、Ｈ．２６４の算術符号やハフマン符号などの符号化を行うことができる。例えば、Ｈ．２６４の空間／時間ダイレクト予測の判定フラグであるｄｉｒｅｃｔ＿ｓｐａｔｉａｌ＿ｍｖ＿ｐｒｅｄ＿ｆｌａｇに続いて、ｄｉｒｅｃｔ＿ｖｉｅｗ＿ｍｖ＿ｐｒｅｄ＿ｆｌａｇを設定する。この値が０であれば、ビュー間参照予測モードを表し、１であればビュー間ダイレクト予測モードを表す構成にしても良い。またはｄｉｒｅｃｔ＿ｍｖ＿ｐｒｅｄ＿ｍｏｄｅのような２ビットで表される符号とする。符号が０であれば空間ダイレクト予測、１であれば時間ダイレクト予測、２であればビュー間ダイレクト予測、３であればビュー間参照予測の各モードを表すものとしてもよい。ビュー間予測モードがビュー間参照予測モードであれば、これに加えて視差ベクトルを符号化する。
【００３７】
一方、逆量子化逆変換部２１０では予測誤差を再生する。画像再構成部３１５は再生された予測誤差と予測符号化モードを入力する。インター予測符号化の場合はその予測誤差の生成に用いた動きベクトルを、イントラ予測符号化の場合はイントラ予測モードを、ビュー間予測符号化の場合はビュー間予測モードと視差ベクトルを合わせて入力する。予測判定部３１２から得られたこれらの情報に基づいて、フレームメモリ２０３に格納されている再生画像データを参照して予測を行い、予測誤差と加算して再生画像データを生成する。生成された再生画像データは図３のフレームメモリ２０３に格納される。
【００３８】
図５は、実施形態１に係る画像符号化装置におけるベースビュー画像符号化処理を示すフローチャートである。まず、ステップＳ５０１にて、符号化するピクチャの画像データを入力する。
【００３９】
ステップＳ５０２にて、符号化対象ピクチャのピクチャ符号化モードを決定する。すなわちイントラピクチャ符号化するか、インターピクチャ符号化するか、ビュー間予測符号化するかを決定する。ステップＳ５０３にて、ステップＳ５０２で決定したピクチャ符号化モードを含めてヘッダデータを符号化する。ステップＳ５０４にて、符号化対象ピクチャのピクチャ符号化モードを判定する。ピクチャ符号化モードがイントラピクチャ符号化であればステップＳ５０５に進み、インターピクチャ符号化であれば、ステップＳ５０６に進む。ステップＳ５０５にて、Ｈ．２６４のイントラピクチャの符号化方式に従って符号化し、ビットストリームを生成する。
【００４０】
ステップＳ５０６にて、Ｈ．２６４のインターピクチャの符号化方式に従って符号化し、ビットストリームを生成する。また、図６は実施形態１に係る画像符号化装置におけるノンベースビュー画像符号化処理を示すフローチャートである。同図において、図５と同じ機能を果たすステップについては同じ番号を付し、説明を省略する。ステップＳ６０２にて、符号化対象ピクチャのピクチャ符号化モードを決定する。すなわちイントラピクチャ符号化するか、インターピクチャ符号化するか、ビュー間予測符号化するかを決定する。
ステップＳ６０７にて、符号化対象ピクチャのピクチャ符号化モードを判定する。ピクチャ符号化モードがビュー間予測符号化であればステップＳ６０８に進み、インターピクチャ符号化であれば、ステップＳ５０６に進む。ステップＳ６０８にて、ビュー間予測符号化を行い、ビュー間予測符号化を行ってビットストリームを生成する。
【００４１】
図７にステップＳ６０８の詳細なフローチャートを示す。まずはステップＳ７０１にて、ピクチャの画像データから符号化対象のブロックを切り出す。ステップＳ７０２にて、符号化対象のブロックの符号化モードを決定する。符号化モードの決定については特に限定しないが、ブロック内の画像の特性、周囲のブロックとの相関等に基づいて決定することができる。ステップＳ７０３にて、ステップＳ７０２で決定されたブロックの符号化モードがイントラ予測符号化かどうかを判定する。イントラ予測符号化であればステップＳ７０４に進み、そうでなければステップＳ７０５に進む。
【００４２】
ステップＳ７０４にて、Ｈ．２６４のイントラ予測ブロック符号化を行い、ブロックの符号データを生成する。ステップＳ７０５にて、ステップＳ７０２で決定されたブロックの符号化モードがインター予測符号化かどうかを判定する。インター予測符号化であればステップＳ７０６に進み、そうでなければステップＳ７０７に進む。
【００４３】
ステップＳ７０６にて、Ｈ．２６４のインター予測ブロック符号化を行い、ブロックの符号データを生成する。ステップＳ７０７にて、同じビューのアンカーピクチャとしてＬ１予測で最も参照番号の小さい参照ピクチャを決定する。
【００４４】
ステップＳ７０８にて、ステップＳ６０７で決定されたアンカーピクチャで符号化対象ブロックと同じ位置のブロックをアンカーブロックとする。ステップＳ７０９にて、アンカーブロックが視差ベクトルを用いて予測を行ったか否かを判定する。アンカーブロックが視差ベクトルを用いてビュー間予測符号化を行っていればステップＳ７１０に進み、そうでなければステップＳ７１２に進む。ステップＳ７１０にて、符号化対象ブロックの符号化モードをビュー間ダイレクト予測モードとし、これを符号化する。
【００４５】
ステップＳ７１１にて、アンカーブロックの視差ベクトルを符号化対象ブロックの視差ベクトルとする。ステップＳ７１２にて、符号化対象ブロックの符号化モードをビュー間参照予測モードとし、これを符号化する。ステップＳ７１３にて、同じアクセスユニット内の別なビューの復号画像を参照して視差ベクトルを算出する。ステップＳ７１４にて、算出された視差ベクトルを符号化する。ステップＳ７１５にて、得られた視差ベクトルを用いて予測誤差の算出を行う。ステップＳ７１６にて、算出された予測誤差を変換・量子化して量子化係数データを算出し、符号化する。ステップＳ７１７にて、ピクチャ内の全てのブロックについて符号化を行ったか否かを判定する。全てのブロックの符号化処理が終了していない場合はステップＳ７０１に進み、次の符号化対象ブロックの処理を続けて行う。終了している場合にはビュー間予測符号化ピクチャの符号化処理を終了する。
【００４６】
以上の構成と動作により、ビュー間ダイレクト予測を行うことにより、符号化対象ブロックがアンカーブロックの視差ベクトルを使用するため、視差ベクトルデータの符号データを省略することができる。
【００４７】
なお、本実施形態ではＨ．２６４符号化方式を例にとって説明したが、これに限定されない。例えばＨＥＶＣ等の符号化方式であってももちろん構わない。また、動きベクトル、視差ベクトルの符号化方式についてはこれに限定されず、符号化済みの動きベクトル、視差ベクトルを参照して符号化してももちろん構わない。
【００４８】
なお、本実施形態では図８に示したように同じアクセスユニット内の他のビューに対する視差ベクトルを例にとって説明したが、これに限定されない。例えば、図９のように視差ベクトルとその参照ピクチャの組み合わせによって、他のビューの他のピクチャを参照してももちろん構わない。
【００４９】
さらに、本実施形態では図７のステップＳ７０９以降で視差ベクトルを用いたビュー間予測を行ったがこれに限定されない。例えば、アンカーブロックが時間ダイレクト予測であれば、符号化対象ブロックも時間ダイレクト予測で符号化してもよい。図１０に別なビュー間ピクチャの符号化処理を表すフローチャートを示す。同図において、図７と同じ機能を果たすステップについては同じ番号を付し、説明を省略する。
【００５０】
ステップＳ１００１にて、アンカーブロックの予測モードが時間ダイレクトであるか否かを判定する。アンカーブロックが時間ダイレクト予測であれば、ステップＳ１００２に進み時間ダイレクト予測によって符号化対象ブロックの動きベクトルを算出する。ステップＳ１００３にて、算出された動きベクトルを用いて動き補償を行い、予測誤差を算出する。時間ダイレクト予測でなければ、ステップＳ７０９に進み、図７と同様にビュー間参照予測モード乃至はビュー間ダイレクト予測モードで符号化を行う。
【００５１】
これによって、時間ダイレクト予測とビュー間ダイレクト予測の併用が可能になり、より一層の符号化効率の向上が望める。
【００５２】
図４でその構成を説明する。図４のアンカー参照情報算出部４０６から出力されるアンカー参照情報を端子４０７から出力して、端子３１９から入力して動きベクトル保持部２０６を参照する。動きベクトル保持部２０６では時間ダイレクト予測が行われたか否かの結果を端子３２０から出力する。これを図４の端子４０３から入力する。予測誤差算出部４１０はアンカーブロックが時間ダイレクト予測モードであったことをビュー間予測決定部４１４に出力する。ビュー間予測決定部４１４ではダイレクトモードであった場合、端子４１５から時間ダイレクト予測モードであったことを出力する。この際、予測誤差、視差ベクトルは出力されない。図３に戻り、予測判定部３１２はビュー間予測による予測誤差が出力されないため、ビュー間予測は選択しない。インター予測部２０４はアンカーブロックの予測モードを動きベクトル保持部２０６から読み出し、時間ダイレクト予測であれば、符号化対象ブロックも時間ダイレクト予測モードで動き補償を行う。
【００５３】
さらには、図１１に別なビュー間ピクチャの符号化処理を表すフローチャートを示す。同図において、図７と同じ機能を果たすステップについては同じ番号を付し、説明を省略する。
【００５４】
ステップＳ１１００にて、符号化対象ブロックを周囲のブロックの画素値からイントラ予測を行い、予測誤差Ｄｉを算出する。
【００５５】
ステップＳ１１０１にて、ビュー内の他のピクチャを参照して動きベクトルを算出し、インター予測を行って予測誤差を求め、例えば予測誤差の二乗総和によって、予測誤差コストＤｍを算出する。ステップＳ１１０２にて、他のビューのピクチャを参照して視差ベクトルを算出し、ビュー間予測を行って予測誤差を求め、予測誤差コストＤｖを算出する。ステップＳ１１０３にて、アンカーブロックの視差ベクトルを用いて、ビュー間予測を行って予測誤差を求め、予測誤差コストＤｄを算出する。ステップＳ１１０４にて、各予測誤差コストと予測誤差Ｄｉを比較し、予測誤差Ｄｉが最小であれば、ステップＳ７０４に進む。そうでなければ、ステップＳ１１０５に進む。
【００５６】
ステップＳ１１０５にて、その他の各予測誤差コストを比較し、予測誤差コストＤｍが最小であれば、ステップＳ１１０６に進む。同様に、予測誤差コストＤｖが最小であれば、ステップＳ７１２に進み、予測誤差コストＤｄが最小であれば、ステップＳ６１０に進む。ステップＳ１１０６にて、予測モードとしてインター予測モードを符号化する。ステップＳ１１０７にて、ステップＳ１１０１で算出した動きベクトルを符号化する。ステップＳ１１０８にて、前記動きベクトルを用いて動き補償を行い、予測誤差を算出する。
【００５７】
これによって、ピクチャ間予測、ビュー間参照予測、ビュー間ダイレクト予測の併用が可能になり、より一層の符号化効率の向上が望める。もちろん、ピクチャ間予測には時間ダイレクトモードを含めても構わない。また、予測モードの判定に予測誤差コストを算出したがこれに限定されず、実際の符号長や別な統計量を用いても構わない。
【００５８】
なお、本実施形態において、ノンベースビュー符号化でベースビュー符号化のビューから動きベクトルを読み出すことは無いので、端子２１５及び端子２１６は省略しても構わない。
【００５９】
本実施形態では説明を簡略化するためにピクチャ単位でイントラ予測符号化モードかインター予測符号化モードかビュー間予測符号化モードかを決定したが、これに限定されず、より細かなスライスやブロックの単位で切り替えてももちろん構わない。
【００６０】
＜実施形態２＞
以下、本発明の画像符号化について実施形態２を、図面を用いて説明する。本実施形態において、３つのビューの符号化について説明するが、これに限定されない。図１２は図２に記載のノンベースビュー符号化部１０５の詳細を示すブロック図である。図１２において、図３のブロックと同じ機能を果たすブロックについては同じ番号を付し、説明を省略する。
【００６１】
１２０１はアンカー設定部であり、アンカーピクチャとアンカーブロックを決定し、その参照情報を出力する。１２０２は端子であり、他のビューの動きベクトル保持部に接続されている。ノンベースビュー符号化部１０５においても端子３１９を介して参照情報を入力し、動きベクトル保持部３０６から参照情報が示すブロックの動きベクトルを端子３２０から出力する。アンカー設定部１２０１から出力されたアンカーブロックの参照情報を出力する。１２０９は端子であり、実施形態１の図２に示したベースビュー符号化部１０４の端子２１６に接続されており、ベースビュー符号化されたビューの参照情報を入力する。１２０４はインター予測部であり、インター予測を行う。実施形態１の図３に示したインター予測部３０４とは端子１２０９から入力された参照情報に基づいてインター予測を行うことが異なる。１２１０はアンカーブロックを決定してその参照情報を算出し、端子３０１と端子３０７から入力されたピクチャに対して、他のビューを参照して視差ベクトルを算出し、ビュー間予測を行うビュー間予測部である。１２１７は符号化部であり、実施形態１の図３に記載の符号化部３１７と同様に得られた予測モード、動きベクトル、視差ベクトル、予測モード、予測誤差を符号化してブロック単位の符号化データを生成する。１２１２はインター予測部１２０４、イントラ予測部２０５、ビュー間予測部１２１０の予測誤差を比較し、予測誤差の小さい予測を選択する。選択された予測誤差と選択結果を予測モードとして出力する。
【００６２】
上記画像符号化装置における画像の符号化動作を以下に説明する。端子３０１から入力された画像データはフレームメモリ３０２を介してインター予測部１２０４とイントラ予測部３０５とビュー間予測部３１０に入力される。ビュー間予測部１２１０は視差ベクトルを決定し、ビュー間予測を行い、予測誤差を算出する。
【００６３】
図１３にビュー間予測部１２１０の詳細なブロック図を示す。図１３において、図４のブロックと同じ機能を果たすブロックについては同じ番号を付し、説明を省略する。１３１３は端子であり、視差ベクトル算出部４０９が出力する視差ベクトル算出のために他のビューを参照する画像データを指定するための参照情報を出力する。
【００６４】
視差ベクトル算出部４０９は実施形態１と同様に視差ベクトル算出のために参照する画像データを指定するための参照情報を生成する。生成された参照情報は端子１３１３から出力される。端子１３１３を介して参照情報は図１２の端子３０９を介して他のベースビュー符号化部やノンベースビュー符号化部に入力される。その結果は端子４０２から入力され、視差ベクトル算出部４０９に入力される。視差ベクトル算出部４０９では実施形態１と同様に視差ベクトルと視差ベクトルを用いた時の予測誤差を出力する。端子４１６より予測誤差を、端子４１５から視差ベクトルとビュー間予測モードがビュー間参照予測モードであることを外部に出力する。
【００６５】
アンカー設定部１２０１は最も距離の近いビューの同じアクセスユニットの参照ピクチャをアンカーピクチャに選定する。その後、当該アンカーピクチャで符号化対象ブロックとピクチャ上で同じ位置のブロックをアンカーブロックとし、その参照情報を出力する。インター予測部１２０４はアンカー設定部１２０１で設定されたアンカーブロックが動きベクトルを持ってインター予測を行っているか否かを判定する。端子１２０９からアンカーブロックの動きベクトルが入力された時、アンカーブロックがインター予測されたと判断し、アンカーブロックの動きベクトルを符号化対象ブロックの動きベクトルとする。このインター予測モードを特にビュー間時間ダイレクト予測モードと呼ぶ。そうでなければ通常の動きベクトル探索を行い、動きベクトルとその予測誤差を求める。このインター予測モードをインター動き補償予測モードと呼ぶ。
【００６６】
図１５にビュー間時間ダイレクト予測モードの時の動きベクトルの様子を示す。図１５において、図８のブロックと同じ機能を果たすブロックについては同じ番号を付し、説明を省略する。
【００６７】
符号化対象のピクチャの時間をｔ２とした時、ビュー間予測で最も近い参照ビュー番号を持つビューがカメラ１０１のビューであった場合を例にとって説明する。但し、カメラの台数（ビューの数）、ビュー間予測での最も近い参照番号、時間の間隔はこれに限定されない。
【００６８】
符号化対象ピクチャ８０８に対して、アンカーピクチャはピクチャ８０７となる。符号化対象ブロック８１３に対して、アンカーブロック１５０１が対応する。アンカーブロック１５０１が動きベクトル１５０４及び動きベクトル１５０５を持ち、同じビュー内のピクチャのブロック１５０２、ブロック１５０３を参照しているとする。この場合、符号化対象ブロック８１３の動きベクトル１５０８は動きベクトル１５０４と等しく、動きベクトル１５０９は動きベクトル１５０５と等しく設定する。これを実現するため、図１２のインター予測部１２０４は端子１２０９からアンカーブロックの動きベクトルを入力する。この動きベクトルを用いて予測誤差を算出する。また、アンカーブロックが動きベクトルを持っていなければ、同じビュー内の再生画像を参照して、動きベクトル探索を行う。この場合はインター予測となる。
【００６９】
予測判定部１２１２はインター予測部１２０４、イントラ予測部２０５、ビュー間予測部１２１０で算出された予測誤差を比較し、予測誤差の小さいものを選択する。すなわちインター予測部１２０４でビュー間時間ダイレクト予測モードまたはインター予測モードで得られた予測誤差が小さければ、インター予測部１２０４の予測誤差を変換量子化部２０８に出力する。さらに、ビュー間時間ダイレクト予測モードまたはインター予測モードと動きベクトル等を符号化部１２１７に出力する。また、イントラ予測部２０５から入力された予測誤差が小さければ、イントラ予測部２０５の予測誤差とイントラ予測モードを変換量子化部２０８に出力し、イントラ予測符号化モードであることとイントラ予測モードを符号化部１２１７に出力する。さらに、ビュー間予測部１２１０から入力された予測誤差が小さければ、ビュー間予測部１２１０の予測誤差を変換量子化部２０８に出力し、ビュー間予測符号化モードであることを符号化部１２１７に出力する。
【００７０】
また、セレクタ３１６は予測判定部１２１２から選択された符号化対象の予測モードによって入力先を変更する。ビュー間予測符号化モードであればビュー間予測部１２１０のビュー間予測モードと視差ベクトルを符号化部１２１７に出力する。そうでなければインター予測部１２０４の符号化モードと動きベクトルを出力する。
【００７１】
符号化部１２１７は入力された符号化モード、ビュー間予測モードを含む各予測符号化モードの情報、量子化パラメータと量子化係数データを所定の符号化方式によって符号化する。本実施形態では符号化方式については特に限定しないが、Ｈ．２６４の算術符号化方式やハフマン符号などの符号化を行うことができる。例えば、Ｈ．２６４の空間／時間ダイレクト予測の判定フラグであるｄｉｒｅｃｔ＿ｓｐａｔｉａｌ＿ｍｖ＿ｐｒｅｄ＿ｆｌａｇに続いて、ｄｉｒｅｃｔ＿ｖｉｅｗ＿ｍｖ＿ｐｒｅｄ＿ｆｌａｇを設定する。この値が０であれば、インター動き補償予測モードを表し、１であればビュー間時間ダイレクト予測モードを表す構成にしても良い。またはｄｉｒｅｃｔ＿ｍｖ＿ｐｒｅｄ＿ｍｏｄｅのような２ビットで表される符号とする。符号が０であれば空間ダイレクト予測、１であれば時間ダイレクト予測、２であればビュー間時間ダイレクト予測の各モードを表すものとしてもよい。ビュー間予測モードがビュー間参照予測モードであれば、これに加えて視差ベクトルを符号化する。
【００７２】
図１４は、実施形態２に係る画像符号化装置におけるベースビュー画像符号化処理を示すフローチャートである。同図において、図１０と同じ機能を果たすステップについては同じ番号を付し、説明を省略する。
【００７３】
まず、ステップＳ１４０１にて、同じアクセスユニットのアンカーピクチャとしてビュー間予測で最も近い番号のビューを決定する。ステップＳ１４０２にて、ステップＳ１４０１で決定されたアンカーピクチャで符号化対象ブロックと同じ位置のブロックをアンカーブロックとする。ステップＳ１４０３にて、アンカーブロックの動きベクトルを用いて、インター予測を行って予測誤差を求め、予測誤差コストＤｄを算出する。
【００７４】
ステップＳ１４０４にて、各予測誤差コストを比較し、予測誤差コストＤｍが最小であれば、ステップＳ１１０５に進む。同様に、予測誤差コストＤｖが最小であれば、ステップＳ７１２に進み、予測誤差コストＤｄが最小であれば、ステップＳ１４１０に進む。ステップＳ１４１０にて、予測モードとしてビュー間時間ダイレクト予測モードを符号化する。ステップＳ１４１１にて、アンカーブロックの動きベクトルを符号化対象ブロックの動きベクトルとする。
【００７５】
以上の構成と動作により、ビュー間時間ダイレクト予測を行うことにより、符号化対象ブロックがアンカーブロックの動きベクトルを使用するため、動きベクトルデータの符号データを省略することができる。また、インター予測の時間ダイレクト予測モードも加えて、さらに動きベクトルデータの符号データを省略することができる。
【００７６】
なお、本実施形態ではＨ．２６４符号化方式を例にとって説明したが、これに限定されない。例えばＨＥＶＣ等の符号化方式であってももちろん構わない。また、動きベクトル、視差ベクトルの符号化方式についてはこれに限定されず、符号化済みの動きベクトル、視差ベクトルを参照して符号化してももちろん構わない。
【００７７】
また、本実施形態のビュー間時間ダイレクト予測とビュー間予測、ビュー間参照予測、インター予測を組み合わせて効率のよいものを選択してももちろん構わない。これらを識別する符号データを用意することで簡単に実現でき、より符号化効率の向上を行うことが可能になる。
【００７８】
また、アンカーブロックの位置をピクチャ上の符号化対象ブロックの位置と同じとしたが、これに限定されず、カメラの配置に基づいて、空間的に同じ位置を示すブロックとしても構わない。また、本実施形態において、最も近い距離のビューの同じアクセスユニットの参照ピクチャをアンカーピクチャとしたが、これに限定されない。例えば、参照する方向を一意に決めて決定しても良いし、アンカーピクチャを指定する識別情報を符号化してももちろん構わない。
【００７９】
＜実施形態３＞
以下、本発明の画像符号化について実施形態３を、図面を用いて説明する。本実施形態において、３つのビューの符号化について説明するが、これに限定されない。本実施形において、ベースビュー符号化部１０４は実施形態１と同じ構成をとり、実施形態１と同様の動作を行い、ビュー間予測を行わずにカメラ１０１から入力されたピクチャを符号化する。
【００８０】
図１６に図１のノンベースビュー符号化部１０５の詳細を示すブロック図である。図１６において、図３のブロックと同じ機能を果たすブロックについては同じ番号を付し、説明を省略する。１６０１は端子であり、他のノンベースビュー符号化部、本実施例ではノンベースビュー符号化部１０６からピクチャやブロックの位置の情報を入力する。１６０２は端子であり、端子１６０１から入力されたこれらの情報に基づき、ビューの中のブロックの視差ベクトルと参照ビュー番号を出力する。１６０９は端子であり、アンカーブロックに関する参照情報を出力する。１６１０はビュー間予測部であり、図３のビュー間予測部３１０とは端子１６０９から入力された視差ベクトルからビュー間予測に使用する視差ベクトルを算出する機能が異なる。１６１１は視差ベクトルとその視差ベクトルが参照する参照ビュー番号を格納する視差ベクトル保持部である。図３の視差ベクトル保持部とは、端子１６０１の要求に基づいて情報を読み出し、端子１６０２から出力する機能が異なる。１６１７は符号化部であり、得られた予測モード、動きベクトル、視差ベクトル、ビュー間予測モード、予測誤差を符号化してブロック単位の符号化データを生成する。
【００８１】
図１６に従ってノンベースビュー符号化部１０５の動作について説明する。端子３０１から入力された画像データはフレームメモリ３０２を介してインター予測部２０４とイントラ予測部２０５とビュー間予測部１６１０に入力される。
【００８２】
図１７にビュー間予測部１６１０の詳細なブロック図を示す。図１７において、図４のブロックと同じ機能を果たすブロックについては同じ番号を付し、説明を省略する。１７００は当該ノンビュー符号化部の他のビューとの位置関係を含むビュー間情報を保持していうビュー間情報保持部である。１７０１はビュー間視差ベクトル算出部であり、端子４０３から入力された視差ベクトルをビュー間情報保持部の位置関係の情報からビュー間予測に用いる視差ベクトルを算出する。１７０４はアンカーピクチャ決定部であり、符号化するピクチャとビュー間情報から参照ピクチャを決定する。１７０６はアンカーピクチャ内のアンカーブロックの位置を示す参照情報を生成するアンカー参照情報算出部である。１７０７は端子であり、他のビューの視差ベクトル保持部３１１、１６１１に接続されており、アンカーブロックの位置を示す参照情報を出力する。１７１０は入力された視差ベクトルを用いて参照ビューの画像データから予測誤差を算出する予測誤差算出部である。
【００８３】
視差ベクトル算出部４０９は実施形態１と同様に図２のベースビュー符号化部１０４のベースビューの再生画像データまたはノンベースビュー符号化部１０６の再生画像データを端子４０２、セレクタ４０８から入力して視差ベクトルを算出する。
【００８４】
アンカーピクチャ決定部１７０４はビュー間情報保持部１７００を参照してビュー間予測で最も近い参照番号を持つノンベースビューを選択する。選択されたビューで同じアクセスユニットのピクチャをアンカーピクチャに選定する。その後、アンカーブロック決定部４０５は当該アンカーピクチャで符号化対象ブロックと同じ位置のブロックをアンカーブロックとする。アンカー参照情報算出部１７０６はこれらのアンカーピクチャとアンカーブロックの情報から参照情報を算出し、端子１７０７から他のビューのノンベースビュー符号化部の視差ベクトル保持部１６１１に出力する。本実施形態では、ノンベースビュー符号化部１０６になる。図１６に戻って視差ベクトル保持部１６１１はこの参照情報を端子１６０１から受け取り、該当する視差ベクトルを端子１６０２から出力する。この視差ベクトルは図１７の端子４０３から入力される。ビュー間視差ベクトル算出部１７０１はこの視差ベクトルとビュー間情報保持部１７００に保持されているビュー間情報に基づいてビュー間予測に用いる視差ベクトルを算出する。
【００８５】
図１９にビュー間視差ベクトル算出部１７０１での視差ベクトルの算出の様子を示す。図１９において、図８のブロックと同じ機能を果たすブロックについては同じ番号を付し、説明を省略する。
【００８６】
符号化対象のピクチャの時間をｔ２とした時、ビュー間予測で最も近い参照番号を持つビューがカメラ１０３から入力されるビューであった場合を例にとって説明する。但し、カメラの台数（ビューの数）、ビュー間予測で最も近い参照ビュー番号、時間の間隔はこれに限定されない。
【００８７】
符号化対象ピクチャ８０８に対して、アンカーピクチャはピクチャ８０９となる。符号化対象ブロック８１３に対して、アンカーブロック１９０１が対応する。アンカーブロック１９０１が視差ベクトル１９０２を持っている。この時、視差ベクトル１９０２が指し示すビューが符号化対象のビューから見てアンカーピクチャを含むビューとは反対の位置に存在するか否かを判断する。反対の位置のビューのブロック１９０３を参照している場合、ビュー間視差ダイレクト予測モードを選択する。すなわち、視差ベクトル１９０２を用いて符号化対象ブロック８１３の視差ベクトルを算出する。この時、符号化対象ブロックが参照するビューはアンカーピクチャを含むビューとアンカーブロックが参照するブロックを含むビューとなる。視差ベクトル１９０２をカメラ１０１とカメラ１０３の距離をカメラ１０２の位置で内分する。例えば、視差ベクトル１９０２の成分が（ｘ、ｙ）とし、カメラ１０１とカメラ１０２の距離とカメラ１０２とカメラ１０３の距離の比がα：β（α＋β＝１）であったとする。この時、カメラ１０１のビューに対する視差ベクトル１９０５は（αｘ、αｙ）となり、カメラ１０３のビューに対する視差ベクトル１９０４は（−βｘ、−βｙ）となる。視差ベクトル１９０４に従ってカメラ１０３のビューのピクチャからブロック１９０６を、視差ベクトル１９０５に従ってカメラ１０１のビューのピクチャからブロック１９０７を得て予測ブロックを算出する。
【００８８】
このようにアンカーブロックの視差ベクトルから符号化対象ブロックの視差ベクトルを算出して予測するビュー間予測モードを特にビュー間視差ダイレクト予測モードと呼ぶ。
【００８９】
予測誤差算出部１７１０はこ内分された視差ベクトルに基づいて、他のビューの２つの参照情報を算出し、セレクタ４１２を介して端子４１３から出力される。図１９の場合では一つは視差ベクトル１９０４に基づいてノンベースビュー符号化部１０６の対応する位置の再生画像データを読み出す参照情報である。もう一つは視差ベクトル１９０５に基づいてベースビュー符号化部１０４の対応する位置の再生画像データを読み出す参照情報である。前者は図２の端子２１３から入力され、フレームメモリ２０３からブロック１６０７のデータを読み出し、端子２１４から出力する。後者は図１６の端子３１３から入力され、フレームメモリ２０３からブロック１９０６のデータを読み出し、端子３１４から出力する。予測誤差算出部１７１０はこれらブロック１６０６、ブロック１６０７と符号化対象ブロックから予測誤差を算出する。
【００９０】
ビュー間予測決定部１７１４は入力された予測誤差を用いてビュー間予測モードを決定し、視差ベクトル、予測誤差を選択して出力する。視差ベクトル算出部４０９から入力された予測誤差が小さければ、端子４１６より視差ベクトル算出部４０９から出力された予測誤差を出力する。と同時に端子４１５から視差ベクトルとビュー間予測モードがビュー間参照予測モードであることを外部に出力する。予測誤差が小さくなければ、端子４１６より予測誤差算出部１７１０から出力された予測誤差を出力する。と同時に端子４１５よりビュー間予測モードがビュー間ダイレクト予測モードであることを外部に出力する。また、アンカーブロックが視差ベクトルを持っていない場合、または視差ベクトルが指し示すビューが符号化対象のビューからみて同じ方向にある場合については視差ベクトル算出部４０９からの出力を選択する。さらに、ビュー間参照予測モードをビュー間参照予測モードとする。
【００９１】
図１６に戻り、ビュー間予測モードと視差ベクトルはセレクタ３１６、画像再構成部３１５に入力される。予測誤差は予測判定部３１２に入力される。算出された視差ベクトルは視差ベクトル保持部１６１１に入力され、保持される。
【００９２】
予測判定部３１２は実施形態１と同様に算出された予測誤差を比較し、予測誤差の小さいものを選択する。また、セレクタ３１６も実施形態１と同様に入力先を変更する。符号化部１６１７は入力された符号化モード、各予測符号化モードの情報、量子化パラメータと量子化係数データを所定の符号化方式によって符号化する。本実施形態では符号化方式については特に限定しないが、Ｈ．２６４の算術符号化方式やハフマン符号などの符号化を行うことができる。例えば、Ｈ．２６４の空間／時間ダイレクト予測の判定フラグであるｄｉｒｅｃｔ＿ｓｐａｔｉａｌ＿ｍｖ＿ｐｒｅｄ＿ｆｌａｇに続いて、ｄｉｒｅｃｔ＿ｖｉｅｗ＿ｍｖ＿ｐｒｅｄ＿ｆｌａｇを設定する。この値が０であれば、ビュー間参照予測モードを表し、１であればビュー間視差ダイレクト予測モードを表す構成にしても良い。またはｄｉｒｅｃｔ＿ｍｖ＿ｐｒｅｄ＿ｍｏｄｅのような２ビットで表される符号とする。符号が０であれば空間ダイレクト予測、１であれば時間ダイレクト予測、２であればビュー間視差ダイレクト予測、３であればビュー間参照予測の各モードを表すものとしてもよい。ビュー間予測モードがビュー間参照予測モードであれば、これに加えて視差ベクトルを符号化する。
【００９３】
図１８は、実施形態３に係る画像符号化装置におけるノンベースビュー画像符号化処理を示すフローチャートである。図１８において、図７と同じ機能を果たすステップについては同じ番号を付し、説明を省略する。なお、本実施形態ではベースビュー画像符号化処理は実施形態１の図５に示したフローチャートを同じである。
【００９４】
ステップＳ１８０１にて、ビュー間予測で最も近い参照ビュー番号の参照ビューを選択し、そのビューの同じアクセスユニットのピクチャをアンカーピクチャとして決定する。ステップＳ１８０２にて、ステップＳ１８０１で決定されたアンカーピクチャで符号化対象ブロックと同じ位置のブロックをアンカーブロックとする。ステップＳ１８０３にて、アンカーブロックの参照ビューが符号化対象ビューから見てアンカーピクチャのビューと反対側かどうかを判定する。反対側であればステップＳ１５０４に進み、そうでなければステップＳ６１２に進む。
【００９５】
ステップＳ１８０４にて、符号化対象ブロックの符号化モードをビュー間視差ダイレクト予測モードとし、これを符号化する。ステップＳ１８０５にて、アンカーブロックの視差ベクトルから符号化対象ブロックの視差ベクトルを内分によって算出する。ステップＳ１８１５にて、視差ベクトルが１つの場合は読み出された視差ベクトルに従って参照ピクチャの再生画像から画素値の予測値を算出する。視差ベクトルが複数の場合は読み出された視差ベクトルに従って参照ピクチャの再生画像から各画素値を読み出し、これを平均して予測値を算出する。但し、予測値の算出方法については平均に限定されず、カメラ間の距離を考慮した加重平均を行っても良い。
【００９６】
以上の構成と動作により、ビュー間視差ダイレクト予測を行うことにより、符号化対象ブロックがアンカーブロックの視差ベクトルを使用しカメラ間の距離情報等はシーケンスで共通となる。このため、視差ベクトルデータの符号データを省略することができる。
【００９７】
なお、本実施形態ではＨ．２６４符号化方式を例にとって説明したが、これに限定されない。例えばＨＥＶＣ等の符号化方式であってももちろん構わない。また、動きベクトル、視差ベクトルの符号化方式についてはこれに限定されず、符号化済みの動きベクトル、視差ベクトルを参照して符号化してももちろん構わない。
【００９８】
また、アンカーブロックの位置をピクチャ上の符号化対象ブロックの位置と同じとしたが、これに限定されず、カメラの配置に基づいて、空間的に同じ位置を示すブロックとしても構わない。また、本実施形態ではビュー間視差ダイレクトで符号化対象のビューから見てアンカーピクチャを含むビューとは反対の位置に存在するビューを例にとって、内分を行ったが、これに限定されない。例えば、反対ではない方向に存在するビューを用いる場合、外挿を行うことも可能である。
【００９９】
＜実施形態４＞
以下、本発明の画像復号について実施形態を、図面を用いて説明する。本実施形態において、３つのビューの復号について説明するが、これに限定されない。本実施形態では実施形態１で生成されたビットストリームの復号を行う。
【０１００】
図２１は図２０に記載のベースビュー復号部２００３の詳細を示すブロック図である。
【０１０１】
図２１において、２１０１は端子であり、外部、例えば図２０のＭＶＣ復号部２００２からベースビュー符号化されたビューのビットストリームを入力する。２１０２は復号部であり、図１のベースビュー符号化部１０４で生成した符号データを復号する。復号部２１０２は符号データをブロック単位で復号し、量子化パラメータ、予測モード、動きベクトル、量子化係数データを再生する。２１０３は図２の逆量子化逆変換部２０９と同様に動作し、量子化係数データから予測誤差を再生する。２１０４は復号された参照するビュー、ピクチャの番号等と参照する画素位置等の参照情報に基づいて同じビュー内のピクチャからインター予測を行い、ブロックの画素値の予測値を算出するインター予測部である。２１０５は復号された動きベクトルを保持しておく動きベクトル保持部である。２１０６は復号されたイントラ予測モード等から同じピクチャ内の再生画像の画像データを参照してイントラ予測を行い、ブロックの画素値の予測値を算出するイントラ予測部である。
【０１０２】
２１０７はセレクタであり、復号部２１０２で復号されたブロック符号化モードによって入力先を切り替える。ブロック符号化モードがインター予測符号化モードであれば、入力先をインター予測部２１０４とし、そうでなければイントラ予測部２１０６とする。２１０８は逆量子化逆変換部２１０３で再生された予測誤差、セレクタ２１０７から入力される画素値の予測値から画像データを再生する画像再構成部である。２１０９はフレームメモリであり、ピクチャの参照に必要なピクチャの再生された画像データを格納する。２１１０は端子であり、再生された画像データを外部に出力する。２１１１は端子であり、図２０に示したノンベースビュー復号部２００４、２００５からピクチャやブロックの位置の情報を入力する。２１１２は端子であり、これらの端子２１１１から入力された情報に基づき、ビューの中のブロックの動きベクトルを提供する。２１１３は端子であり、図２０に示したノンベースビュー復号部２００４、２００５からフレームメモリ２１０９の参照情報を入力する。２１１４は端子であり、参照情報に基づいたビューの復号画像の画像データを出力する。
【０１０３】
また、図２２は図２０に記載のノンベースビュー復号部２００４の詳細を示すブロック図である。ノンベースビュー復号部２００５も同じ構成をとる。図２２において、図２１に記載したブロックと同様な機能を果たすブロックについては同じ番号を付し、説明を省略する。２２０１は端子であり、外部、例えば図２０のＭＶＣ復号部２００２からノンベースビュー符号化されたビューのビットストリームを入力する。２２０２は復号部であり、図１のノンベースビュー符号化部１０５で生成した符号データを復号する。復号部２２０２は符号データをブロック単位で復号し、量子化パラメータ、予測モード、動きベクトル、視差ベクトル、ビュー間予測モード等、量子化係数データを再生する。ビュー間予測モードについては実施形態１で記載したｄｉｒｅｃｔ＿ｖｉｅｗ＿ｍｖ＿ｐｒｅｄ＿ｆｌａｇ符号データやｄｉｒｅｃｔ＿ｍｖ＿ｐｒｅｄ＿ｍｏｄｅ符号データ等を復号することで再生される。
【０１０４】
２２０６は端子であり、図２０のベースビュー復号部２００３乃至はノンベースビュー復号部２００５から再生された画像データを入力する。２２０７は端子であり、図２０のノンベースビュー復号部２００５から再生された視差ベクトルを入力する。２２０８は端子であり、図２０のベースビュー復号部２００３乃至はノンベースビュー復号部２００５から動きベクトルを入力する。２２１０は端子であり、図２０のベースビュー復号部２００３乃至はノンベースビュー復号部２００５に再生画像の参照情報（参照するビュー、ピクチャの番号等と参照する画素位置等の情報）を出力する。２２１１は端子であり、参照するアンカーブロックの動きベクトルを参照するために図２０のベースビュー復号部２００３乃至はノンベースビュー復号部２００５に参照するブロックのビューやピクチャの番号や位置情報等を出力する。
【０１０５】
２２０３はセレクタであり、復号部２２０２で復号されたブロック符号化モードとビュー間予測モードによって参照情報の入出力先を切り替える。
表１にその入出力の関係を示す。
【０１０６】
【表１】
0005979848.tif 000002
【０１０７】
表１において「−」は存在しない組み合わせを示し、何も出力しない。
【０１０８】
２２０５は再生された視差ベクトルを保持する視差ベクトル保持部である。２２０９はビュー間予測を行うビュー間予測部である。ビュー間予測部２２０９は復号部２２０２で復号されて再生されたビュー間予測モードや視差ベクトルや他のビューやピクチャの視差ベクトルを参照してビュー間予測を行い、画像データの予測値を算出する。２２１５はセレクタであり、ブロック符号化モードによって入力先を切り替えて出力する。ブロック符号化モードがビュー間予測符号化モードであれば、ビュー間予測部２２０９が生成した予測値を出力する。インター予測モードであれば、インター予測部２１０４が生成した予測値を出力する。イントラ予測モードであれば、イントラ予測部２１０６が生成した予測値を出力する。
【０１０９】
上記画像復号装置における画像の復号動作を以下に説明する。ノンベースビュー復号についてはノンベースビュー復号部２００４と２００５は同じ動作をするので、ここではノンベースビュー復号部２００４の動作として説明する。
【０１１０】
図２２の端子２２０１からベースビュー符号化されたブロック単位の符号データが復号部２２０２に入力される。また、同時に図２２の端子２２０１からノンベースビュー符号化されたブロック単位の符号データが復号部２２０２に入力される。
【０１１１】
まず図２２において、復号部２２０２に入力されたビットストリームはブロック単位の符号データに分割されて処理が行われる。復号部２２０２は量子化係数符号データを分離し、復号して量子化係数を算出する。算出された量子化係数は逆量子化逆変換部２１０３によって予測誤差を再生する。
【０１１２】
一方、復号部２２０２はブロック符号化モードを復号し、セレクタ２２０３、２２１５に出力する。復号部２２０２で復号するブロックが参照するピクチャや動きベクトルの参照情報を復号し、インター予測部２１０４と動きベクトル保持部２１０５に入力する。インター予測部２１０４はフレームメモリ２１０９から参照ピクチャと動きベクトルに従ってブロック単位で画素値の予測値を算出する。復号部２２０２で復号されたイントラ予測モードはイントラ予測部２１０６に入力され、イントラ予測モードに従ってフレームメモリ２１０９の再生済みの画素データから画素値の予測値を算出する。画像再構成部２１０８はインター予測部２１０４とイントラ予測部２１０６で算出された画素値の予測値を入力する。また、画像再構成部２１０８は逆量子化逆変換部２１０３から再生された予測誤差を入力し、これらから再生画像データを生成し、フレームメモリ２１０９に出力する。フレームメモリ２１０９は参照に必要なピクチャの分だけの再生画像データを保持する。出力された再生画像データは端子２１１０から出力される。
【０１１３】
また、図２２において、復号部２２０２に入力されたビットストリームはブロック単位の符号データに分割されて処理が行われる。復号部２２０２は量子化係数符号データを分離し、復号して量子化係数を算出する。また、復号部２２０２はブロック符号化モードを復号し、セレクタ２２０３に入力する。また、ビュー間予測符号化モードであれば、ビュー間予測モードを復号し、同様にセレクタ２２０３に入力する。ビュー間予測モードを復号はｄｉｒｅｃｔ＿ｖｉｅｗ＿ｍｖ＿ｐｒｅｄ＿ｆｌａｇ符号データを復号して、この値が０であればビュー間参照予測モードであり、１であればビュー間ダイレクト予測モードとなる。復号部２２０２はブロック符号化モードがイントラ予測符号化モードであればイントラ予測モードを復号し、イントラ予測部２１０６に入力する。ブロック符号化モードがインター予測符号化モードであれば参照ピクチャに関する情報や動きベクトルを復号し、セレクタ２２０３に入力する。また、ビュー間予測符号化モードであれば、ビュー間予測モード、参照ピクチャに関する情報や動きベクトルを復号し、セレクタ２２０３に入力する。セレクタ２２０３は入力の状態と表１を参照して入力と出力を決定する。
【０１１４】
セレクタ２２０３はイントラ予測符号化モードであれば、何も出力しない。インター予測符号化モードであれば参照ピクチャと動きベクトルからなる参照情報がインター予測部２１０４に入力される。また、ビュー間予測符号化モードであれば、ビュー間予測モード、参照ピクチャ、参照ビュー、視差ベクトル等の参照情報がビュー間予測部２２０９に入力される。
【０１１５】
図２３にビュー間予測部２２０９の詳細なブロック図を示す。２３００は端子であり、図２２の動きベクトル保持部２１０５に接続されており、予測モードや動きベクトル算出のためのピクチャの参照情報を入力する。２３０１は端子であり、セレクタ２２０３に接続されており、視差ベクトル、ビュー間予測モードを入力する。２３０２は端子であり、視差ベクトル保持部２２０５に接続されており、他のピクチャの視差ベクトルを入力する。２３０３は端子であり、図２２の端子２２０７に接続されており、他のビューの視差ベクトルを入力する。２３０４はアンカーピクチャ決定部であり、同じビューのピクチャからアンカーピクチャを決定する。２３０５はアンカーブロック決定部であり、アンカーブロックの位置を決定する。２３０６はアンカーピクチャ内のアンカーブロックの位置を示す参照情報を生成するアンカー参照情報算出部である。２３０７は端子であり、図２２の視差ベクトル保持部２２０５に接続されており、アンカーブロックの位置を示す参照情報を出力する。
【０１１６】
２３０８は分離部であり、視差ベクトル、ビュー間予測モードを分離する。端子２３０１から入力されたセレクタであり、分離部２３０８で分離されたビュー間予測モードに従って、入力を選択する。２３１０はビュー間予測選択部であり、分離部２３０８で分離されたビュー間予測モードに従って入力された視差ベクトルを選択して出力する。２３１１は参照情報算出部であり、選択された視差ベクトルが示す画像データを参照するための参照情報を生成する２３１２は端子であり、図２２の端子２２１０に接続されており、算出された参照情報を外部に出力する。２３１３は端子であり、図２２の端子２２０６に接続されており、参照情報算出部２３１１で算出された参照情報に基づく画像データを入力する。２３１４は予測値算出部であり、視差ベクトルに基づいて予測値を算出する。２３１５は端子であり、図２２のセレクタ２２１５に接続されており、予測値を外部に出力する。
【０１１７】
まず、ビュー間予測モードがビュー間参照予測モードである場合について説明する。ビュー間予測部２２０９はビュー間参照予測モードの場合、復号部２２０２で復号された視差ベクトルとビュー間予測モードを端子２３０１から入力する。分離部２３０８は入力された視差ベクトルとビュー間予測モードを分離し、それぞれをビュー間予測選択部２３１０に入力する。ビュー間予測選択部２３１０は入力されたビュー間予測モードがビュー間参照予測モードであることから、入力された視差ベクトルがそのまま視差ベクトルとなり、参照情報算出部２３１１と予測値算出部２３１４に入力される。参照情報算出部２３１１では入力された視差ベクトルから、参照するビュー、ピクチャ、画像データの位置を算出し、参照情報として端子２３１２から出力する。この参照情報は図２２の端子２２１０から参照するビュー番号に基づいて対応するベースビュー復号部またはノンベースビュー復号部に対して出力する。参照するビューがベースビュー符号化されたビューであれば図２１の端子２１１３から参照ピクチャ番号と視差ベクトルを入力し、該当する画像データを読み出し、端子２１１４から出力する。また、参照するビューが他のノンベースビューであれば、同様に当該ノンベースビュー復号部の端子２１１３から参照ピクチャ番号と視差ベクトルを入力し、該当する画像データを読み出し、端子２１１４から出力する。
【０１１８】
これらの画像データは図２２の端子２２０６を介して入力され、図２３の端子２３１３から予測値算出部２３１４に入力される。予測値算出部２３１４ではビュー間予測選択部２３１０で選択された視差ベクトルに基づいて予測値を算出する。例えばフィルタ演算等で小数点以下の視差ベクトルに対応した予測値を算出する。算出された予測値は端子２３１５を介して図２２のセレクタ２２１５に出力される。
【０１１９】
続いて、ビュー間予測モードがビュー間ダイレクト予測モードである場合について説明する。ビュー間予測部２２０９はビュー間ダイレクト予測モードの場合、視差ベクトルは復号されない。端子２３０１からはビュー間予測モードのみが入力され、分離部２３０８に入力される。また、アンカーピクチャ決定部２３０４は端子２３００を介して入力されたＬ１予測で同じビューの最も参照番号の小さい参照ピクチャをアンカーピクチャに選定する。アンカーブロック決定部２３０５は符号化対象ブロックの位置情報からアンカーブロックの位置を決定する。これは対象ブロックと同一位置のブロックの位置情報をブロックの計数等で算出すればよい。アンカー参照情報算出部２３０６はこれらのアンカーピクチャとアンカーブロックの情報から参照情報を算出し、端子２３０７から視差ベクトル保持部２２０５に出力する。アンカーブロックの参照情報に基づき、アンカーブロックの視差ベクトルを視差ベクトル保持部２２０５から読み出す。読みだされたアンカーブロックの視差ベクトルは端子２３０３を介してセレクタ２３０９に入力される。ビュー間予測モードがビュー間ダイレクト予測モードであるので、セレクタ２３０９は端子２３０３から入力されたアンカーブロックの視差ベクトルをビュー間予測選択部２３１０に出力する。
【０１２０】
ビュー間予測選択部２３１０は入力されたビュー間予測モードがビュー間参照予測モードであることから、入力されたアンカーブロックの視差ベクトルがそのまま視差ベクトルとなり、参照情報算出部２３１１と予測値算出部２３１４に入力される。ビュー間参照予測モードと同様に参照情報算出部２３１１は参照情報を算出し、端子２３１２から出力する。続いて、ビュー間参照予測モードと同様に、端子２３１３から入力された画像データから予測値算出部２３１４で予測値を算出し、端子２３１５から出力される。
【０１２１】
出力された予測値はセレクタ２２１５に入力される。セレクタ２２１５は復号部２２０２によって復号されたブロック符号化モードによって入力先を切り替えて出力する。すなわち、ブロック符号化モードがイントラ予測符号化モードであればイントラ予測部２１０６から、インター予測符号化モードであればインター予測部２１０４から、ビュー間予測符号化モードであればビュー間予測部２２０９から予測値を入力する。以後、画像再構成部２１０８、フレームメモリ２１０９はベースビュー復号部１０３の図２１と同様に動作し、再生画像を出力する。
【０１２２】
図８のビュー間ダイレクト予測モードの時の視差ベクトルの様子を用いて説明を加える。符号化対象ブロック８１３に対して、同じビューのアンカーブロック８１４を決定する。該当するアンカーピクチャ（ｔ１）のブロック８１４の視差ベクトル８１５と視差ベクトル８１６を用いて、符号化対象ブロックの視差ベクトル（視差ベクトル８１９と視差ベクトル８２０）とする。視差ベクトルとピクチャ番号（ｔ２）とを端子２２１１から出力する。ベースビュー復号部２００３では、ブロック８２１の画像データを図２１のフレームメモリ２１０９からピクチャ番号（ｔ２）と視差ベクトル８１９に従って端子２１１４から出力する。ノンベースビュー復号部１７０５では、ブロック８２２の画像データを図２２のフレームメモリ２１０９からピクチャ番号（ｔ２）と視差ベクトル８２０に従って端子２１１４から出力する。
【０１２３】
図２４は、実施形態４に係る画像復号装置におけるベースビュー画像復号処理を示すフローチャートである。まず、ステップＳ２４０１にて、復号するビットストリームを１ピクチャ分入力する。ステップＳ２４０２にて、ビットストリームから当該ピクチャのピクチャ符号化モードを復号する。ここで得られる符号化モードはイントラ予測符号化モードかインター予測符号化モードである。続いて、ステップＳ２４０３にて、その他のヘッダデータを復号する。
【０１２４】
ステップＳ２４０４にて、ステップＳ２３０２で復号したピクチャ符号化モードを判定する。ピクチャ符号化モードがイントラピクチャ符号化モードであればステップＳ２４０５に進み、インターピクチャ符号化モードであれば、ステップＳ２４０６に進む。ステップＳ２４０５にて、Ｈ．２６４のイントラピクチャの符号化方式に従って復号し、参照に必要な情報を保持しつつ再生画像を生成する。ステップＳ２４０６にて、Ｈ．２６４のインターピクチャの符号化方式に従って復号し、参照に必要な情報を保持しつつ再生画像を生成する。
【０１２５】
また、図２５は実施形態４に係る画像復号装置におけるノンベースビュー画像復号処理を示すフローチャートである。同図において、図２４と同じ機能を果たすステップについては同じ番号を付し、説明を省略する。
【０１２６】
ステップＳ２５０２にて、ビットストリームから当該ピクチャのピクチャ符号化モードを復号する。ここで得られる符号化モードはイントラ予測符号化モード、インター予測符号化モード、ビュー間予測符号化モードである。ステップＳ２５０４にて、ステップＳ２５０２で復号したピクチャ符号化モードを判定する。ピクチャ符号化モードがビュー間予測符号化モードであればステップＳ２５０５に進み、そうでなければステップステップＳ２４０４に進む。ステップＳ２５０５にて、ビュー間予測符号化を行ったピクチャの符号データの復号を行う。
【０１２７】
図２６にステップＳ２５０５の詳細なフローチャートを示す。まず、ステップＳ２６０１にて、ピクチャの符号化データから復号する対象のブロックの符号データを入力する。ステップＳ２６０２にて、復号対象ブロックのブロック符号化モードを復号する。ステップＳ２６０３にて、ステップＳ２６０２で復号されたブロックの符号化モードがイントラ予測符号化かどうかを判定する。イントラ予測符号化モードであればステップＳ２６０４に進み、そうでなければステップＳ２６０５に進む。
【０１２８】
ステップＳ２６０４にて、Ｈ．２６４のイントラ予測の手順に従いブロックの符号データを復号し、再生画像を生成する。ステップＳ２６０５にて、ステップＳ２６０２で復号されたブロックの符号化モードがインター予測符号化モードかどうかを判定する。インター予測符号化モードであればステップＳ２６０６に進み、そうでなければステップＳ２６０７に進む。ステップＳ２６０６にて、Ｈ．２６４のインター予測の手順に従いブロックの符号データを復号し、動きベクトル、予測誤差を再生し再生画像を生成する。動きベクトル等は以降の参照のためにこれを保持する。
【０１２９】
ステップＳ２６０７にて、復号するブロックが含まれるビュー内のアンカーピクチャを抽出する。さらにアンカーピクチャからアンカーブロックを抽出するステップＳ２６０８にて、ビュー間予測符号化モードを復号する。ステップＳ２６０９にて、ビュー間予測符号化モードを判定する。ビュー間予測符号化モードがビュー間ダイレクト予測モードであれば、ステップＳ２６１０に進み、そうでなければステップＳ２６１２に進む。
【０１３０】
ステップＳ２６１０にて、ビュー間予測符号化モードがビュー間ダイレクト予測モードであったので、視差ベクトルの復号が行われず、ステップＳ２６０７で抽出したアンカーブロックの視差ベクトルを復号対象ブロックの視差ベクトルとする。ステップＳ２６１１にて、ステップＳ２６１０で求められた視差ベクトルに基づいて他のビューの再生画像を参照して画素の予測値を算出する。
【０１３１】
ステップＳ２６１２にて、ビュー間予測符号化モードがビュー間参照予測モードであったので、視差ベクトルの符号データを復号する。ステップＳ２６１３にて、ステップＳ２６１２で求められた視差ベクトルに基づいて他のビューの再生画像を参照して画素の予測値を算出する。ステップＳ２６１４にて、予測誤差を復号して量子化係数を得て、これに逆量子化、逆変換を施し、予測誤差を再生する。再生された予測誤差とステップＳ２６１１乃至はステップＳ２６１３で生成された画素値の予測値から画像データを再生する。
ステップＳ２６１５にて、ピクチャ内の全てのブロックについて復号を行ったか否かを判定する。全てのブロックの復号処理が終了していない場合はステップＳ２６０１に進み、次の復号対象ブロックの処理を続けて行う。終了している場合にはビュー間予測符号化ピクチャの復号処理を終了する。
【０１３２】
以上の構成と動作により、ビュー間ダイレクト予測を行うことにより、符号化対象ブロックがアンカーブロックの視差ベクトルを使用するため、視差ベクトルデータの符号データを省略することができる。
【０１３３】
なお、本実施形態ではＨ．２６４符号化方式を例にとって説明したが、これに限定されない。例えばＨＥＶＣ等の符号化方式であってももちろん構わない。なお、本実施形態では説明を簡略化するためにピクチャ単位でイントラ予測符号化モードかインター予測符号化モードかビュー間予測符号化モードかを決定したが、これに限定されず、より細かなスライスやブロックの単位で切り替えてももちろん構わない。
【０１３４】
また、本実施形態ではブロック単位に符号データの処理を行ったがこれに限定されず、入力順に処理を行ってももちろん構わない。なお、本実施形態では図８に示したように同じアクセスユニット内の他のビューに対する視差ベクトルを例にとって説明したが、これに限定されない。例えば、図９のように視差ベクトルとその参照ピクチャの組み合わせによって、他のビューの他のピクチャを参照してももちろん構わない。
【０１３５】
さらに、本実施形態では図２６のステップＳ２６０９以降で視差ベクトルを用いたビュー間予測を行ったがこれに限定されない。例えば、アンカーブロックが時間ダイレクト予測であれば、符号化対象ブロックも時間ダイレクト予測で符号化してもよい。図２７に別なビュー間ピクチャの符号化処理を表すフローチャートを示す。同図において、図２６と同じ機能を果たすステップについては同じ番号を付し、説明を省略する。
【０１３６】
ステップＳ２７０１にて、アンカーブロックの予測モードが時間ダイレクトであるか否かを判定する。アンカーブロックが時間ダイレクト予測であれば、ステップＳ２７０２に進む。ステップＳ２７０２にて、時間ダイレクト予測によって復号対象ブロックの動きベクトルを算出する。ステップＳ２７０３にて、算出された動きベクトルを用いて再生画像の参照を行い、予測値を算出する。ステップＳ２７０１にて、時間ダイレクト予測でなければ、ステップＳ２６０９に進み、図２６と同様にビュー間参照予測モード乃至はビュー間ダイレクト予測モードで復号を行う。これによって、時間ダイレクト予測とビュー間ダイレクト予測の併用が可能になり、より少ないビットレートで符号化されたビットストリームの復号が可能になる。
【０１３７】
なお、本実施形態において、ノンベースビュー符号化でベースビュー符号化のビューから動きベクトルを読み出すことは無いので、端子２１１１及び端子２１１２は省略しても構わない。なお、本実施形態において、ステップＳ２６０７にてアンカーブロックの抽出を行ったが、ステップＳ２６０９でビュー間ダイレクト予測モードであることが判明してからステップＳ２６１０の前に抽出を行ってももちろん構わない。
【０１３８】
＜実施形態５＞
本実施形態では実施形態２で生成されたビットストリームの復号を行う。本実施形態において、３つのビューの復号について説明するが、これに限定されない。本実施形において、ベースビュー復号部２００３は実施形態４と同じ構成をとり、実施形態４と同様の動作を行い、ビュー間予測を行わずにカメラ１０１から入力されたピクチャを復号する。また、ノンベースビュー復号部２００４は実施形態４と同じ構成をとるため、図２２を用いて説明する。以下に、画像のノンベースビューの復号動作を以下に説明する。
【０１３９】
図２２の端子２２０１からノンベースビュー符号化されたブロック単位の符号データが復号部２２０２に入力される。復号部２２０２は量子化係数符号データの復号を行い、ブロック符号化モードを復号する。ブロック符号化モードがイントラ予測符号化モードであれば、実施形態４と同等にイントラ予測モードの復号、イントラ予測部２１０６での予測を行う。インター予測符号化モードであれば参照ピクチャに関する情報や動きベクトルの復号を行いインター予測部２１０４で動き補償による予測を行う。ビュー間予測符号化モードであれば、ビュー間予測モードを復号し、同様にセレクタ２２０３に入力する。ビュー間予測モードを復号はｄｉｒｅｃｔ＿ｖｉｅｗ＿ｍｖ＿ｐｒｅｄ＿ｆｌａｇ符号データを復号して、この値が０であればビュー間参照予測モードであり、１であればビュー間時間ダイレクト予測モードとなる。
【０１４０】
セレクタ２２０３は入力の状態と表２を参照して入力と出力を決定する。
【０１４１】
【表２】
0005979848.tif 000003
【０１４２】
表２において「−」は存在しない組み合わせを示し、何も出力しない。
【０１４３】
ビュー間予測符号化モードであれば、ビュー間予測モード、参照ピクチャ、参照ビュー、視差ベクトル等の参照情報がビュー間予測部２２０９に入力される。ビュー間予測モードがビュー間参照予測モードである場合については実施形態４と同様に処理が行われる。
【０１４４】
ビュー間予測モードがビュー間時間ダイレクト予測モードである場合について説明する。ビュー間時間ダイレクト予測モードの場合、他のビューの動きベクトルを用いるため、動きベクトルは復号されない。まず、同じアクセスユニット内でアンカーピクチャを決定し、アンカーピクチャのアンカーブロックの動きベクトルを動きベクトル保持部２１０５から読み出す。端子２１１１からアンカーピクチャの参照ピクチャ番号とアンカーブロックの位置が入力され、該当する動きベクトルが端子２１１２から読み出される。読みだされた動きベクトルは端子２２０８からセレクタ２２０３を介してインター予測部２１０４に入力される。インター予測部２１０４では入力された動きベクトルに基づいてビュー内の他のピクチャを参照して動き補償を行い、予測値を生成する。生成された予測値はセレクタ２２１５を介して画像再構成部２１０８に入力される。以後、画像再構成部２１０８、フレームメモリ２１０９はベースビュー復号部２００３の図２１と同様に動作し、再生画像を出力する。
【０１４５】
図１５のビュー間時間ダイレクト予測モードの時の動きベクトルの様子を用いて説明を加える。符号化対象ブロック８１３に対して、同じアクセスユニットのアンカーブロック１５０１を決定する。該当するアンカーピクチャ８０７のブロック１５０１の動きベクトル１５０４と動きベクトル１５０５を用いて、符号化対象ブロックの動きベクトル（動きベクトル１５０８と動きベクトル１５０９）とする。この動きベクトルとビュー番号と図２２の端子２１１２から出力する。ビュー番号で指定されたベースビュー復号部２００３またはノンベースビュー復号部２００５では、ブロック１５０６及び１５０７の画像データをフレームメモリ２１０９から動きベクトル１５０８及び１５０９に従って端子２１１４から出力する。
【０１４６】
実施形態５に係る画像復号装置におけるベースビュー画像復号処理を示すフローチャートは図２４と、ノンベースビュー画像復号処理を示すフローチャートは図２５と同じである。
【０１４７】
図２８は、実施形態５に係る画像復号装置におけるビュー間復号処理を示すフローチャートである。同図において、図２６と同じ機能を果たすステップについては同じ番号を付し、説明を省略する。ステップＳ２８０７にて、復号するピクチャが含まれるアクセスユニット内のアンカーピクチャを抽出する。さらにアンカーピクチャからアンカーブロックを抽出するステップＳ２８０８にて、ビュー間予測符号化モードを復号する。
【０１４８】
ステップＳ２８０９にて、ビュー間予測符号化モードを判定する。ビュー間予測符号化モードがビュー間時間ダイレクト予測モードであれば、ステップＳ２８１０に進み、そうでなければステップＳ２６１２に進む。ステップＳ２８１０にて、ビュー間予測符号化モードがビュー間時間ダイレクト予測モードであったので、動きベクトルの復号が行われず、ステップＳ２８０７で抽出したアンカーブロックの動きベクトルを復号対象ブロックの動きベクトルとする。ステップＳ２８１１にて、ステップＳ２８１０で求められた動きベクトルに基づいて同じビュー内のピクチャの再生画像を参照して画素の予測値を算出する。以後、ステップＳ２６１４で予測誤差から画像データを再生する。
【０１４９】
以上の構成と動作により、ビュー間時間ダイレクト予測を行うことにより、符号化対象ブロックがアンカーブロックの動きベクトルを使用するため、動きベクトルデータの符号データを省略することができる。
【０１５０】
なお、本実施形態ではＨ．２６４符号化方式を例にとって説明したが、これに限定されない。例えばＨＥＶＣ等の符号化方式であってももちろん構わない。なお、本実施形態では説明を簡略化するためにピクチャ単位でイントラ予測符号化モードかインター予測符号化モードかビュー間予測符号化モードかを決定したが、これに限定されず、より細かなスライスやブロックの単位で切り替えてももちろん構わない。また、本実施形態ではブロック単位に符号データの処理を行ったがこれに限定されず、入力順に処理を行ってももちろん構わない。なお、本実施形態において、ステップＳ２８０７にてアンカーブロックの抽出を行ったが、ステップＳ２８０９でビュー間時間ダイレクト予測モードであることが判明してからステップＳ２８１０の前に抽出を行ってももちろん構わない。
【０１５１】
＜実施形態６＞
本実施形態では実施形態３で生成されたビットストリームの復号を行う。本実施形態において、３つのビューの復号について説明するが、これに限定されない。本実施形において、ベースビュー復号部２００３は実施形態４と同じ構成をとり、実施形態４と同様の動作を行い、ビュー間予測を行わずにカメラ１０１から入力されたピクチャを復号する。また、ノンベースビュー復号部２００４は実施形態４と同じ構成をとるため、図２２を用いて説明する。以下に、画像のノンベースビューの復号動作を以下に説明する。
【０１５２】
実施形態５と同様に復号部２２０２はブロック符号化モードを復号し、其々のブロック符号化モードに従って符号データを復号する。ビュー間予測符号化モードであれば、ビュー間予測モードを復号し、同様にセレクタ２２０３に入力する。ビュー間予測モードを復号はｄｉｒｅｃｔ＿ｖｉｅｗ＿ｍｖ＿ｐｒｅｄ＿ｆｌａｇ符号データを復号して、この値が０であればビュー間参照予測モードであり、１であればビュー間視差ダイレクト予測モードとなる。
【０１５３】
セレクタ２２０３は入力の状態と表３を参照して入力と出力を決定する。
【０１５４】
【表３】
0005979848.tif 000004
【０１５５】
表３において「−」は存在しない組み合わせを示し、何も出力しない。
【０１５６】
ビュー間予測符号化モードであれば、ビュー間予測モード、参照ピクチャ、参照ビュー、視差ベクトル等の参照情報がビュー間予測部２２０９に入力される。
【０１５７】
図２９に実施形態６におけるビュー間予測部２２０９の詳細なブロック図を示す。図２９においては、図２３と同じ機能を果たすステップについては同じ番号を付し、説明を省略する。２９００は当該ノンビュー復号部の他のビューとの位置関係を含むビュー間情報を保持していうビュー間情報保持部である。ビュー間情報保持部２９００は図１７のビュー間情報保持部１７００と同様に動作する。２９０４はアンカーピクチャ決定部である。アンカーピクチャ決定部２９０４は図１７のアンカーピクチャ決定部１７０４と同様に動作する。２９０１はビュー間視差ベクトル算出部であり、実施形態３の図１７のビュー間視差ベクトル算出部１７０１と同様に動作する。ビュー間予測モードがビュー間参照予測モードである場合については実施形態４と同様に処理が行われる。また、実施形態４と異なり、端子２３０３は他のビューの視差ベクトルを入力するため、図２２の端子２２０７に接続される。また、端子２３０７は他のビューの視差ベクトルを参照するため、図２２の端子２２１１から他のベースビュー復号部やノンベースビュー復号部に出力される。
【０１５８】
ビュー間予測モードがビュー間視差ダイレクト予測モードである場合について説明する。ビュー間視差ダイレクト予測モードの場合、他のビューの視差ベクトルを用いるため、視差ベクトルは復号されない。
【０１５９】
まず、アンカーピクチャ決定部２３０４は同じアクセスユニット内でアンカーピクチャを決定する。実施形態４と同様にアンカーブロックの参照情報を生成し端子２３０７から他のベースビュー復号部やノンベースビュー復号部に出力される。端子２３０３はこのようにして得られた他のビューのアンカーピクチャに属するアンカーブロックの視差ベクトルを入力する。ビュー間視差ベクトル算出部２９０１は図１７のビュー間視差ベクトル算出部１７０１と同様に入力された視差ベクトルをビュー間情報保持部２９００に保持されたビュー間の距離に応じて内分し、セレクタ２３０９に出力する。分離部２３０８からビュー間視差ダイレクト予測モードがセレクタ２３０９に出力されるため、セレクタ２３０９はビュー間視差ベクトル算出部２９０１から視差ベクトルを入力し、ビュー間予測選択部２３１０に出力する。以下、実施形態４と同様に予測値を得て、端子２３１５から出力する。
【０１６０】
出力された予測値はセレクタ２２１５に入力される。セレクタ２２１５は実施形態４と同様にブロック符号化モードによって入力先を切り替えて出力する。以後、画像再構成部２１０８、フレームメモリ２１０９はベースビュー復号部２００３の図２１と同様に動作し、再生画像を出力する。
【０１６１】
図１９のビュー間視差ダイレクト予測モードの時の視差ベクトルの様子を用いて説明を加える。符号化対象ブロック８１３に対して、同じアクセスユニットのアンカーブロック１９０１を決定する。該当するアンカーピクチャ８０９のブロック１９０１の視差ベクトル１９０２を抽出する。これを内分して、符号化対象ブロックの視差ベクトル（視差ベクトル１９０４と視差ベクトル１９０５）とし、ビュー番号とともに端子２２１１から出力する。ビュー番号で指定されたベースビュー復号部２００３またはノンベースビュー復号部２００５では、ブロック１９０６及び１９０７の画像データをフレームメモリ２１０９から視差ベクトル１９０４と視差ベクトル１９０５に従って端子２１１４から出力する。
【０１６２】
実施形態６に係る画像復号装置におけるベースビュー画像復号処理を示すフローチャートは図２４と、ノンベースビュー画像復号処理を示すフローチャートは図２５と同じである。
【０１６３】
図３０は、実施形態６に係る画像復号装置におけるビュー間復号処理を示すフローチャートである。同図において、図２２と同じ機能を果たすステップについては同じ番号を付し、説明を省略する。
【０１６４】
ステップＳ３００７にて、復号するピクチャが含まれるアクセスユニット内のアンカーピクチャを抽出する。さらにアンカーピクチャからアンカーブロックを抽出するステップＳ３００８にて、ビュー間予測符号化モードを復号する。ステップＳ３００９にて、ビュー間予測符号化モードを判定する。ビュー間予測符号化モードがビュー間視差ダイレクト予測モードであれば、ステップＳ３０１０に進み、そうでなければステップＳ２６１２に進む。
【０１６５】
ステップＳ３０１０にて、ビュー間予測符号化モードがビュー間視差ダイレクト予測モードであったので、視差ベクトルの復号が行われず、ステップＳ３００７で抽出したアンカーブロックの視差ベクトルを内分し、復号対象儀ブロックの視差ベクトルを算出する。ステップＳ３０１１にて、ステップＳ３０１０で求められた２つの視差ベクトルに基づいて同じアクセスユニット内のピクチャの再生画像を参照して画素の予測値を読み出し、実施形態３に記載したように平均等の方法で画素値の予測値を算出する。以後、ステップＳ２６１４にてステップＳ３０１１で算出された画素値の予測値と予測誤差から画像データを再生する。
【０１６６】
以上の構成と動作により、ビュー間視差ダイレクト予測を行うことにより、符号化対象ブロックがアンカーブロックの視差ベクトルを使用するため、視差ベクトルデータの符号データを省略することができる。
【０１６７】
なお、本実施形態ではＨ．２６４符号化方式を例にとって説明したが、これに限定されない。例えばＨＥＶＣ等の符号化方式であってももちろん構わない。なお、本実施形態では説明を簡略化するためにピクチャ単位でイントラ予測符号化モードかインター予測符号化モードかビュー間予測符号化モードかを決定したが、これに限定されず、より細かなスライスやブロックの単位で切り替えてももちろん構わない。
【０１６８】
また、本実施形態ではブロック単位に符号データの処理を行ったがこれに限定されず、入力順に処理を行ってももちろん構わない。また、本実施形態ではアンカーブロックの視差ベクトルが同じアクセスユニット内のピクチャを参照する場合を説明したが、これに限定されない。例えば、アンカーブロックが他のアクセスユニットのピクチャを参照する場合、復号対象の視差ベクトルもアンカーブロックと同じアクセスユニットで参照するピクチャとすることで実現可能である。
【０１６９】
なお、本実施形態において、ステップＳ３００７にてアンカーブロックの抽出を行ったが、ステップＳ３００９でビュー間視差ダイレクト予測モードであることが判明してからステップＳ３０１０の前に抽出を行ってももちろん構わない。また、本実施形態ではビュー間視差ダイレクトで符号化対象のビューから見てアンカーピクチャを含むビューとは反対の位置に存在するビューを例にとって、内分を行ったが、これに限定されない。例えば、反対ではない方向に存在するビューを用いる場合、外挿を行うことも可能である。
【０１７０】
＜実施形態７＞
図２、図３、図４、図１２、図１３、図１６、図１７、図２１、図２２、図２３、図２９に示した各処理部はハードウェアでもって構成しているものとして上記実施形態では説明した。しかし、これらの図に示した各処理部で行なう処理をコンピュータプログラムでもって構成しても良い。
【０１７１】
図３１は、上記各実施形態に係る画像表示装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図である。
【０１７２】
ＣＰＵ３１０１は、ＲＡＭ３１０２やＲＯＭ３１０３に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上記各実施形態に係る画像処理装置が行うものとして上述した各処理を実行する。即ち、ＣＰＵ３１０１は、図２、図３、図４、図１２、図１３、図１６、図１７、図２１、図２２、図２３、図２９に示した各処理部として機能することになる。
【０１７３】
ＲＡＭ３１０２は、外部記憶装置３１０６からロードされたコンピュータプログラムやデータ、Ｉ／Ｆ（インターフェース）３１０９を介して外部から取得したデータなどを一時的に記憶するためのエリアを有する。更に、ＲＡＭ３１０２は、ＣＰＵ３１０１が各種の処理を実行する際に用いるワークエリアを有する。即ち、ＲＡＭ３１０２は、例えば、フレームメモリとして割当てたり、その他の各種のエリアを適宜提供したりすることができる。
【０１７４】
ＲＯＭ３１０３には、本コンピュータの設定データや、ブートプログラムなどが格納されている。操作部３１０４は、キーボードやマウスなどにより構成されており、本コンピュータのユーザが操作することで、各種の指示をＣＰＵ３１０１に対して入力することができる。表示部３１０５は、ＣＰＵ３１０１による処理結果を表示する。また表示部３１０５は例えば液晶ディスプレイのようなホールド型の表示装置や、フィールドエミッションタイプの表示装置のようなインパルス型の表示装置で構成される。
【０１７５】
外部記憶装置３１０６は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置３１０６には、ＯＳ（オペレーティングシステム）や、図２、図３、図４、図１２、図１３、図１６、図１７、図２１、図２２、図２３、図２９に示した各部の機能をＣＰＵ３１０１に実現させるためのコンピュータプログラムが保存されている。更には、外部記憶装置３１０６には、処理対象としての各画像データが保存されていても良い。
【０１７６】
外部記憶装置３１０６に保存されているコンピュータプログラムやデータは、ＣＰＵ３１０１による制御に従って適宜ＲＡＭ３１０２にロードされ、ＣＰＵ３１０１による処理対象となる。Ｉ／Ｆ３１０７には、ＬＡＮやインターネット等のネットワーク、投影装置や表示装置などの他の機器を接続することができ、本コンピュータはこのＩ／Ｆ３１０７を介して様々な情報を取得したり、送出したりすることができる。３１０８は上述の各部を繋ぐバスである。
【０１７７】
上述の構成からなる作動は前述のフローチャートで説明した作動をＣＰＵ３１０１が中心となってその制御を行う。
【０１７８】
＜その他の実施形態＞
前述の実施形態において、ビュー間ダイレクト予測モード、ビュー間時間ダイレクトモード、ビュー間視差ダイレクト予測モードとビュー間参照予測モードを其々説明した。これらを上述のように用いても構わないし、これらを組み合わせて使用してももちろん構わない。例えば、ブロック単位でｄｉｒｅｃｔ＿ｍｖ＿ｐｒｅｄ＿ｍｏｄｅ符号を設け、これらを識別する符号を割り当ててももちろん構わない。
【０１７９】
本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
【０１８０】
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
【０１８１】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。
【図１】
0005979848.tif 000005
【図２】
0005979848.tif 000006
【図３】
0005979848.tif 000007
【図４】
0005979848.tif 000008
【図５】
0005979848.tif 000009
【図６】
0005979848.tif 000010
【図７】
0005979848.tif 000011
【図８】
0005979848.tif 000012
【図９】
0005979848.tif 000013
【図１０】
0005979848.tif 000014
【図１１】
0005979848.tif 000015
【図１２】
0005979848.tif 000016
【図１３】
0005979848.tif 000017
【図１４】
0005979848.tif 000018
【図１５】
0005979848.tif 000019
【図１６】
0005979848.tif 000020
【図１７】
0005979848.tif 000021
【図１８】
0005979848.tif 000022
【図１９】
0005979848.tif 000023
【図２０】
0005979848.tif 000024
【図２１】
0005979848.tif 000025
【図２２】
0005979848.tif 000026
【図２３】
0005979848.tif 000027
【図２４】
0005979848.tif 000028
【図２５】
0005979848.tif 000029
【図２６】
0005979848.tif 000030
【図２７】
0005979848.tif 000031
【図２８】
0005979848.tif 000032
【図２９】
0005979848.tif 000033
【図３０】
0005979848.tif 000034
【図３１】
0005979848.tif 000035