(57)【要約】  既に符号化済みの参照カメラ画像と、その参照カメラ画像に対する符号化対象カメラ画像との視差情報とを用いて、カメラ間の映像予測を行うことで視差補償画像を作り、符号化対象カメラ画像とその視差補償画像との差分画像を符号化する映像符号化方法であって、差分画像の所定区分単位毎に、同じ位置の視差補償画像の有無の状態、すなわち視差補償画像の画素値が有効な値であるか否かに応じて、既に符号化済みのカメラ画像と視差補償画像との差分画像を復号した復号差分画像群か、既に符号化済みのカメラ画像を復号した復号カメラ画像群のどちらか一方を参照対象として設定する。
2008081810.tif 000002
【特許請求の範囲】
【請求項１】
視差補償を用いて多視点動画像を符号化する映像符号化方法において、
既に符号化済みのカメラ画像を復号した参照カメラ画像と、その参照カメラ画像に対する符号化対象カメラ画像との視差情報とから、上記符号化対象カメラ画像に対する視差補償画像を生成するステップと、
上記視差補償画像の状態によって、上記符号化対象カメラ画像の所定区分単位毎に参照対象とする参照画像群を示す参照対象情報を設定するステップと、
上記設定された参照対象情報に基づいて、上記符号化対象カメラ画像の前記所定区分単位毎に、既に符号化済みのカメラ画像と視差補償画像との差分画像を復号した復号差分画像群、および、既に符号化済みのカメラ画像を復号した復号カメラ画像群のいずれかを参照対象として選択するステップと、
上記参照対象として選択された画像群に含まれる参照画像を参照して、上記符号化対象カメラ画像と上記視差補償画像との差分画像を予測符号化するステップと、
上記符号化した差分画像を復号した復号差分画像を上記復号差分画像群の１つとして記憶するステップと、
上記復号差分画像をもとに既に符号化済みのカメラ画像を復号した復号カメラ画像を上記復号カメラ画像群の１つとして記憶するステップとを有する
ことを特徴とする映像符号化方法。
【請求項２】
請求項１に記載の映像符号化方法において、
上記差分画像を予測符号化するステップでは、上記差分画像における複数画素からなる各符号化処理ブロックに対して予め定められた複数の各予測方式を用いた場合の符号化のコストをそれぞれ算出し、１つの符号化処理ブロック内では符号化のコストが最小となる１つの予測方式を用いて映像予測を行う
ことを特徴とする映像符号化方法。
【請求項３】
請求項１に記載の映像符号化方法において、
上記差分画像を予測符号化するステップでは、上記差分画像における複数画素からなる各符号化処理ブロックに対して、参照画像が異なる画素群ごとに予め定められた複数の各予測方式を用いた場合の符号化のコストをそれぞれ算出し、１つの符号化処理ブロック内で１つの予測方式を用いて映像予測を行うか、１つの符号化処理ブロック内で複数の予測方式を用いて映像予測を行うかを、上記算出した符号化のコストに応じて選択しながら符号化を行う
ことを特徴とする映像符号化方法。
【請求項４】
請求項１に記載の映像符号化方法において、前記所定区分単位は画素である
ことを特徴とする映像符号化方法。
【請求項５】
視差補償を用いて多視点動画像を復号する映像復号方法において、
既に復号済みの参照カメラ画像と、その参照カメラ画像に対する復号対象カメラ画像との視差情報とから、上記復号対象カメラ画像に対する視差補償画像を生成するステップと、
上記視差補償画像の状態によって、上記復号対象カメラ画像の所定区分単位毎に参照対象とする参照画像群を示す参照対象情報を設定するステップと、
上記設定された参照対象情報に基づいて、上記復号対象カメラ画像の前記所定区分単位毎に、既に復号済みのカメラ画像と視差補償画像との復号差分画像群、および、既に復号済みの復号カメラ画像群のいずれかを参照対象として選択するステップと、
入力した符号化データを復号した各画素ごとの予測残差をもとに、上記参照対象として選択された画像群に含まれる参照画像を参照して、上記復号対象カメラ画像と上記視差補償画像との差分画像を復号するステップと、
上記復号した差分画像を上記復号差分画像群の１つとして記憶するステップと、
上記復号した差分画像と上記視差補償画像とを足し合わせて、多視点動画像の復号カメラ画像として出力するとともに、その復号カメラ画像を上記復号カメラ画像群の１つとして記憶するステップとを有する
ことを特徴とする映像復号方法。
【請求項６】
請求項５に記載の映像復号方法において、
上記差分画像を復号するステップでは、上記復号対象カメラ画像における複数画素からなる各復号処理ブロックに対して、１つの復号処理ブロック内では指定された１つの予測方式を用いて映像を復号する
ことを特徴とする映像復号方法。
【請求項７】
請求項５に記載の映像復号方法において、
上記差分画像を復号するステップでは、上記復号対象カメラ画像における複数画素からなる各復号処理ブロックに対して、１つの復号処理ブロック内では指定された１つの予測方式を用いるか、指定された複数の予測方式を用いるかを切り替えながら、映像を復号する
ことを特徴とする映像復号方法。
【請求項８】
請求項５に記載の映像復号方法において、前記所定区分単位は画素である
ことを特徴とする映像復号方法。
【請求項９】
視差補償を用いて多視点動画像を符号化する映像符号化装置において、
既に符号化済みのカメラ画像を復号した参照カメラ画像と、その参照カメラ画像に対する符号化対象カメラ画像との視差情報とから、上記符号化対象カメラ画像に対する視差補償画像を生成する手段と、
上記視差補償画像の状態によって、上記符号化対象カメラ画像の所定区分単位毎に参照対象とする参照画像群を示す参照対象情報を設定する手段と、
上記設定された参照対象情報に基づいて、上記符号化対象カメラ画像の前記所定区分単位毎に、既に符号化済みのカメラ画像と視差補償画像との差分画像を復号した復号差分画像群、および、既に符号化済みのカメラ画像を復号した復号カメラ画像群のいずれかを参照対象として選択する手段と、
上記参照対象として選択された画像群に含まれる参照画像を参照して、上記符号化対象カメラ画像と上記視差補償画像との差分画像を予測符号化する手段と、
上記符号化した差分画像を復号した復号差分画像を上記復号差分画像群の１つとして記憶する手段と、
上記復号差分画像をもとに既に符号化済みのカメラ画像を復号した復号カメラ画像を上記復号カメラ画像群の１つとして記憶する手段とを備える
ことを特徴とする映像符号化装置。
【請求項１０】
請求項９に記載の映像符号化装置において、前記所定区分単位は画素である
ことを特徴とする映像符号化装置。
【請求項１１】
視差補償を用いて多視点動画像を復号する映像復号装置において、
既に復号済みの参照カメラ画像と、その参照カメラ画像に対する復号対象カメラ画像との視差情報とから、上記復号対象カメラ画像に対する視差補償画像を生成する手段と、
上記視差補償画像の状態によって、上記復号対象カメラ画像の所定区分単位毎に参照対象とする参照画像群を示す参照対象情報を設定する手段と、
上記設定された参照対象情報に基づいて、上記復号対象カメラ画像の前記所定区分単位毎に、既に復号済みのカメラ画像と視差補償画像との復号差分画像群、および、既に復号済みの復号カメラ画像群のいずれかを参照対象として選択する手段と、
入力した符号化データを復号した各画素ごとの予測残差をもとに、上記参照対象として選択された画像群に含まれる参照画像を参照して、上記復号対象カメラ画像と上記視差補償画像との差分画像を復号する手段と、
上記復号した差分画像を上記復号差分画像群の１つとして記憶する手段と、
上記復号した差分画像と上記視差補償画像とを足し合わせて、多視点動画像の復号カメラ画像として出力するとともに、その復号カメラ画像を上記復号カメラ画像群の１つとして記憶する手段とを備える
ことを特徴とする映像復号装置。
【請求項１２】
請求項１１に記載の映像復号装置において、前記所定区分単位は画素である
ことを特徴とする映像復号装置。
【請求項１３】
請求項１に記載された映像符号化方法を、コンピュータに実行させるための映像符号化プログラム。
【請求項１４】
請求項５に記載された映像復号方法を、コンピュータに実行させるための映像復号プログラム。
【請求項１５】
請求項１に記載された映像符号化方法を、コンピュータに実行させるための映像符号化プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１６】
請求項５に記載された映像復号方法を、コンピュータに実行させるための映像復号プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多視点動画像の符号化および復号技術に関するものである。
本願は、２００６年１２月２８日に出願された特願２００６−３５３６２８号に基づき優先権を主張し、その内容をここに援用する。
【背景技術】
【０００２】
多視点動画像（多視点映像）とは、複数のカメラで同じ被写体と背景を撮影した複数の動画像のことである。以下では、１つのカメラで撮影された動画像を“２次元動画像”と呼び、同じ被写体と背景を撮影した２次元動画像群を多視点動画像と呼ぶ。【０００３】
多視点動画像に含まれる各カメラの２次元動画像は、時間方向に関して強い相関がある。一方、各カメラが同期されていた場合、同じ時間に対応した各カメラの映像は、全く同じ状態の被写体と背景を別の位置から撮影したものであるので、カメラ間で強い相関がある。動画像の符号化においては、これらの相関を利用することによって符号化効率を高めている。【０００４】
まず、２次元動画像の符号化技術に関する従来技術を述べる。
国際符号化標準であるＨ．２６４、ＭＰＥＧ−２、ＭＰＥＧ−４をはじめとした従来の多くの２次元動画像符号化方式では、動き補償、直交変換、量子化、エントロピー符号化という技術を利用して、高効率な符号化を行う。例えば、Ｈ．２６４では、過去あるいは未来の複数枚のフレームとの時間相関を利用した符号化が可能である。【０００５】
Ｈ．２６４で使われている動き補償技術の詳細については、下記の非特許文献１に記載されているが、以下で概要を説明する。
Ｈ．２６４の動き補償は、符号化対象フレームを様々なサイズのブロックに分割し、各ブロックで異なる動きベクトルを持つことを可能にし、局所的な映像変化に対しても高い符号化効率を達成している。
また、参照画像の候補として過去もしくは未来の既に符号化済みの複数枚のフレームを用意し、各ブロックで異なる参照フレームを持つことを可能にしている。これにより、時間変化によってオクルージョンが生じるような映像に対しても高い符号化効率を達成している。【０００６】
次に、従来の多視点動画像の符号化方式について説明する。多視点動画像の符号化については、動き補償を同じ時刻の異なるカメラの画像に適用した“視差補償”によって、高効率に多視点動画像を符号化する方式が従来から存在する。ここで、視差とは、異なる位置に配置されたカメラの画像平面上で、被写体上の同じ位置が投影される位置の差である。【０００７】
このカメラ間で生じる視差の概念図を図７に示す。この概念図では、光軸が平行なカメラＡ、Ｂの画像平面を垂直に見下ろしたものとなっている。このように、異なるカメラの画像平面上で被写体上の同じ位置が投影される位置は、一般的に対応点と呼ばれる。視差補償による符号化では、この対応関係に基づいて、符号化対象フレームの各画素値を参照フレームから予測して、その予測残差と、対応関係を示す視差情報とを符号化する。【０００８】
多視点動画像の各フレームには、時間方向の冗長性とカメラ間の冗長性が同時に存在することから、同時に両方の冗長性を取り除く方法として、下記に示す非特許文献２や特許文献１（多視点画像符号化装置）の手法がある。【０００９】
これらの手法では、原画像と視差補償画像の差分画像を時間方向で予測して、その差分画像の動き補償残差を符号化している。
この方法によると、カメラ間の冗長性を取り除く視差補償では取り除くことのできなかった時間方向の冗長性を、動き補償によって取り除くことができるため、最終的に符号化する予測残差が小さくなり、高い符号化効率を達成することが可能である。
【非特許文献１】ITU-T Rec.H.264/ISO/IEC 11496-10, “Editor's Proposed Draft Text Modifications for Joint Video Specification (ITU-T Rec. H.264 / ISO/IEC 14496-10 AVC), Draft 7”, Final Committee Draft, Document JVT-E022, pp. 10-13, and 62-68, September 2002.
【非特許文献２】Shinya SHIMIZU, Masaki KITAHARA, Kazuto KAMIKURA and Yoshiyuki YASHIMA, “Multi-view Video Coding based on 3-D Warping with Depth Map”, In Proceedings of Picture Coding Symposium 2006, SS3-6, April , 2006.
【特許文献１】特開平１０−１９１３９３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
差分画像を動き補償して符号化を行うような従来の多視点動画像の符号化手法によれば、時間方向とカメラ間の冗長性を同時に持つような部分の予測残差を小さくすることができるため、効率的に符号化することが可能である。【００１１】
しかしながら、図８のように被写体間でオクルージョンが生じる場合、同じ被写体であっても、カメラ間の冗長性が存在するかどうかが、時刻によって変化してしまう場合がある。
なお、図８は、時刻ａと時刻ｂにそれぞれカメラＡとカメラＢで撮影された画像における被写体間のオクルージョンの例を示している。【００１２】
図９は、オクルージョンがある場合の視差補償残差画像の例を示している。
非特許文献２の手法によると、視差補償の参照フレームの各画素に対して他のフレームとの対応点を示す視差情報が与えられることから、図８の場合にカメラＢの画像をカメラＡの映像から視差補償した場合の差分画像は、図９のようになる。【００１３】
図９において、色の濃さは差分信号の大きさを表しており、白に近いほど差分が少ないことを表している。
参照フレームつまりカメラＡの画像の各画素がカメラＢの画像のどこに対応するかを示す視差情報を用いるため、カメラＢの画像には存在するが、カメラＡの画像には存在しない部分では視差補償が行われない。したがって、対応点が取れる部分では画像が白っぽくなり、図９中の点線で囲まれたＲの対応点の取れない部分では、原画がそのまま差分信号として残っている。
ただし、カメラ感度の違いや反射などの影響により、対応点の取れる領域でも完全に差分信号がゼロになっているわけではない。図中のＲのような部分では、図中の時刻ａなどの別の時刻の差分画像から動き補償を行っても、予測残差を減らすことができないのは明らかである。【００１４】
この問題に対処するための単純な方法として、ブロックごとに異なるフレームを参照するという機能を用いる方法が挙げられる。つまり、参照フレームとして差分画像の復号画像だけでなく、その差分画像に視差補償画像を加えた最終的なカメラ画像の復号画像を利用可能にして、ブロックごとにどちらを参照するか切り替える方法である。
こうすることで、元のカメラ画像のままである図中のＲの領域でも、カメラ画像の復号画像から動き補償することで、予測残差を減らすことができる。【００１５】
しかしながら、この方法では、ブロックごとに参照フレームを示すための情報を符号化する必要があるため、符号量の増大を招く。
また、１つのブロックの中でオクルージョンがある部分と無い部分が混在する場合には対処できないという問題もある。【００１６】
一方、特許文献１の手法では、符号化対象フレームを符号化するのにあたり、差分画像を動き補償してフレーム全体を符号化するのではなく、ブロックごとに、差分画像を動き補償するか、視差補償のみを行うか、動き補償のみを行うかを選択可能にしている。
これにより、上記のようなカメラ間でオクルージョンが生じる部分でも、時間方向に冗長性があれば、予測残差を効率よく減らすことができる。【００１７】
しかしながら、この場合ブロックごとにどの予測方法を用いたかを示す情報を符号化する必要があるため、予測残差を減らすことはできても、大量の付加情報を符号化する必要が生じるため、高い符号化効率を達成することができない。
また、ブロックごとに１つの予測の方法しか選択できないため、１つのブロックの中で部分ごとにオクルージョンの有無が異なる場合には、対処することができない。【００１８】
本発明はかかる事情に鑑みてなされたものであって、予測のための付加情報の符号量を増やすことなく、適切な予測を実現することで、高い符号化効率を達成できるようにする新たな映像符号化および復号技術の提供を目的とする。
【課題を解決するための手段】
【００１９】
上記の課題を解決するために、本発明は、既に符号化済みの参照カメラ画像と、その参照カメラ画像に対する符号化対象カメラ画像との視差情報とを用いて、カメラ間の映像予測を行うことで視差補償画像を作り、符号化対象カメラ画像とその視差補償画像との差分画像を符号化する映像符号化方法であって、差分画像の所定区分単位（例えば画素）毎に、同じ位置の視差補償画像の有無の状態、すなわち視差補償画像の対応する画素値が有効な値であるか否かに応じて、
(i) 既に符号化済みのカメラ画像と視差補償画像との差分画像を復号した復号差分画像群（既に符号化された別の時刻の復号差分画像や、当該符号化対象カメラ画像に関する差分画像の既に符号化された部分の復号差分画像を含む復号差分画像の集合）か、
(ii) 既に符号化済みのカメラ画像を復号した復号カメラ画像群（各復号差分画像（別の時刻の復号差分画像を含む）と対応する視差補償画像の和で表される復号カメラ画像の集合）
のどちらか一方を参照対象として設定するステップを有する方法を提供する。【００２０】
これによれば、モードや参照画像の切り替えに関する新たな情報を付加することなく、所望の区分単位で適切な参照画像を用いた予測符号化を実現することができる。つまり、付加情報の符号量を増やすことなく、符号化すべき残差成分を減らすことができるため、高い符号化効率の達成が可能である。【００２１】
この手法は視差情報が、視差ベクトルの形式で与えられていても、カメラから被写体までの距離等の幾何情報を用いて表されていても、画像間の対応関係が得られるのであれば、どのような形式で与えられても構わない。【００２２】
差分画像を設定された参照対象を用いて符号化する際には、一つの符号化処理ブロックでは、１つの予測方式を用いて符号化を行っても良い。【００２３】
参照対象が異なる場合、通常の予測符号化では最適な予測方法が異なると考えられる。そのため、１つの符号化処理ブロック内に参照対象が異なる画素もしくはエリアが混在する場合、参照対象ごとに予測方式を選択して、複数の予測方式を示す付加情報が符号化されることになる。【００２４】
しかし、上記のように一つの符号化処理ブロックでは、１つの予測方式を用いて符号化を行うようにすれば、符号化処理ブロックごとに１つの予測方式を示す情報を符号化するだけで済むことになるため、全体として必要な符号量を削減することができる。この場合、予測効率の低下が懸念されるが、前掲図９のような場合を考えると、その境界部分でも同じ方法（この場合、同じ動きベクトルを用いた動き補償）で映像予測を行っても予測効率は大きくは低下しないと考えられる。【００２５】
また、予測効率と付加情報の符号量のバランスを鑑みてブロックごとに１つの予測方法を用いるのか、参照対象ごとに異なる予測方法を用いるのかを決めてもよい。このように予測効率と付加情報の符号量のバランスを鑑みることによって、より柔軟で高い符号化効率の符号化を達成できる。
その場合、復号側では符号化データから、予測方法を切り替えたのかどうかを知り、適切に映像を復号することができる。
【発明の効果】
【００２６】
本発明によれば、視差補償による差分画像を予測符号化する際に、新たな付加情報を用いることなく、適切な参照画像を画素単位で切り替えて用いることで、付加情報の符号量を増やすことなく、符号化対象の残差削減を実現し、多視点動画像全体としての高効率な映像符号化を実現することができる。
【図面の簡単な説明】
【００２７】
【図１】本発明の映像符号化装置の一実施形態を示す図である。
【図２】実施例における映像符号化フローチャートである。
【図３】実施例における予測モード決定に関する詳細フローチャートである。
【図４】本発明の映像復号装置の一実施形態を示す図である。
【図５】実施例における映像復号フローチャートである。
【図６】実施例における差分画像の符号化データ復号に関する詳細フローチャートである。
【図７】カメラ間で生じる視差の概念図である。
【図８】被写体間でオクルージョンが生じている例を示す図である。
【図９】オクルージョンが生じている場合の視差補償残差画像の例を示す図である。
【符号の説明】
【００２８】
１００  映像符号化装置
１０１  画像入力部
１０２  参照画像入力部
１０３  視差情報入力部
１０４  視差補償画像生成部
１０５  差分映像予測符号化部
１０６  参照画像設定部
１０７  復号カメラ画像メモリ
１０８  復号差分画像メモリ
１０９  参照切替スイッチ
１１０  差分映像復号部
２００  映像復号装置
２０１  符号化データ入力部
２０２  参照画像入力部
２０３  視差情報入力部
２０４  視差補償画像生成部
２０５  参照画像設定部
２０６  復号カメラ画像メモリ
２０７  復号差分画像メモリ
２０８  参照切替スイッチ
２０９  差分映像復号部
【発明を実施するための最良の形態】
【００２９】
本発明の実施の形態を説明するに先立ち、本発明の概要を説明する。
従来技術では、多視点符号化において、どの画像を選択したかを符号化して送る必要があったのに対し、本発明では、どの画像を選択したかを別の情報から復号することが可能となるという特徴がある。これによって、本発明は、従来技術の場合と同じ付加情報量であれば、予測画像の画質が向上することになる。【００３０】
多視点映像を符号化するにあたり、あるカメラの映像を他のカメラから視差補償合成された映像との差分を取り、その差分映像の時間相関を考慮しながら符号化する場合、従来技術では、図９のＲのようなオクルージョン部分を効率的に符号化できないという問題があった。【００３１】
本発明によると、図９のＲのような部分では、視差補償合成された映像との差分映像ではなく、元の映像のデコード画像を用いて予測符号化することで、効率的に符号化を行うことができるようになる。【００３２】
また、オクルージョン部分を効率的に符号化できないという問題を解決するために、容易に思いつく方法として、Ｈ．２６４に採用されているマルチフレーム参照技術を利用し、ブロック毎に異なる参照画像を用いて予測符号化を行う方法が考えられる。
しかし、その場合、ブロック毎に参照画像を指定する情報を符号化するために符号量の増大を招くだけでなく、ブロック単位でしか参照画像を切り替えることができないため、ブロック内でオクルージョンの有無がある場合に対処できないという問題がある。【００３３】
しかし、本発明では、視差補償合成した際の情報を用いて、参照画像を切り替えるため、新たな情報を符号化する必要がない。また、その情報からは画素単位でオクルージョンの有無が得られるため、画素単位で参照画像を切り替えることが可能となる。【００３４】
以上のことを実現するため、本発明では、別のカメラで撮影された画像から、符号化対象の視差補償画像Ｓｙｎを生成できるか否かを現すＲｅｆ情報を生成し、このＲｅｆ情報を利用して参照画像を切り替える。【００３５】
視差補償画像Ｓｙｎが生成できるということは、別のカメラでも同じ被写体が写っているということであるため、オクルージョンが発生していないことを示す。
また、視差補償画像Ｓｙｎが生成できないということは、別のカメラには同じ被写体が写っていないことになるため、オクルージョンが発生していることを示す。
つまり、視差補償画像Ｓｙｎが生成できるか否かという情報を用いて、参照画像を切り替えることで、図９のＲのようなオクルージョン部分で適切な予測を行うことができないという問題を解決することができる。【００３６】
複数の参照画像候補から符号化に使用する参照画像を選択する既存の方法として、Ｈ．２６４で使われているマルチフレーム参照技術がある。この従来手法では、どの画像を選択したかを示す情報を符号化して伝送する必要があった。【００３７】
しかし、本発明では、参照画像を選択する情報を、従来手法を用いる場合においても伝送する必要があった視差補償画像生成に使われる情報から生成することで、参照画像を切り替えるための情報を別途伝送する必要が生じず、符号量を削減することができる。【００３８】
なお、後述する実施の形態では、視差補償画像生成に使われる情報から生成する参照画像を選択する情報をＲｅｆ情報と表してあり、符号化側・復号側で同じものを生成することができる（例えば、符号化側は図２のステップＡ６で生成、復号側は図５のステップＣ４で生成）。【００３９】
さらに、Ｈ．２６４のマルチフレーム参照技術などの従来手法を用いた場合、画素単位で参照画像を選択すると、符号化する予測誤差信号に必要な符号量を小さくすることができるが、画素ごとに参照画像を切り替えるための情報を符号化する必要が生じ、結果として符号量増大を招いてしまっていた。つまり、全体の符号量を抑えるためには、ブロック単位でしか参照画像を切り替えることができなかった。【００４０】
しかし、本発明では、前述の通り参照画像を切り替えるための情報は別途伝送されるものでないため、この情報を画素に対応付けて生成することで、符号量を増やすことなく、参照画像を画素ごとに切り替えることが可能となる。その結果、予測誤差信号に必要な符号量を削減できる。【００４１】
以下、実施の形態に従って本発明を詳細に説明する。
ここで、以下に説明する実施形態では、２つのカメラで撮影された多視点動画像を符号化する場合を想定し、カメラＡの映像を参照画像として、カメラＢの映像を符号化する方法について説明を行う。【００４２】
図１に、本発明の映像符号化装置１００の一実施形態を示す。
この映像符号化装置１００は、符号化対象画像であるカメラＢのカメラ撮影画像を入力する画像入力部１０１と、参照映像であるカメラＡの復号画像を入力する参照画像入力部１０２と、参照画像上の各画素が符号化対象画像上でどの位置に対応するかを示す視差情報を入力する視差情報入力部１０３と、参照画像と視差情報とからカメラＢの位置の視差補償画像を生成する視差補償画像生成部１０４と、符号化対象画像と視差補償画像の差分画像を予測符号化する差分映像予測符号化部１０５と、視差補償画像の状態によって画素毎に参照画像群を設定する参照画像設定部１０６と、参照画像群の１つであるカメラＢによって撮影された画像の復号画像を格納する復号カメラ画像メモリ１０７と、もう１つの参照画像群である符号化された差分画像の復号画像を格納する復号差分画像メモリ１０８と、参照画像群の設定情報に基づいて参照画像メモリを切り替える参照切替スイッチ１０９と、符号化された差分画像を復号する差分映像復号部１１０とを備える。【００４３】
図２、図３に、このように構成される映像符号化装置１００の実行する処理フローを示す。これらの処理フローに従って、このように構成される本発明の映像符号化装置１００の実行する処理について詳細に説明する。【００４４】
映像符号化装置１００では、符号化処理全体の概要を示す図２の処理フローに示すように、画像入力部１０１によりカメラＢの画像が入力される［ステップＡ１］。
なお、ここで入力されたカメラＢの画像と表示時刻（即ち、撮影時刻）が同じであるカメラＡの復号画像が参照画像入力部１０２によって入力され、その時刻の画像間の視差情報が視差情報入力部１０３によって入力されるものとする。
以下では、この入力されたカメラＢの画像を符号化対象カメラ画像と、カメラＡの復号画像を参照カメラ画像と示す。【００４５】
参照画像入力部１０２によって入力された参照カメラ画像と、視差情報入力部１０３によって入力された視差情報とを用いて、視差補償画像が視差補償画像生成部１０４で生成される［ステップＡ２］。【００４６】
この視差補償画像生成は、参照カメラ画像の各画素の画素値を、視差補償画像上の対応画素における画素値とするように行われる。
その際に、参照カメラ画像上の複数の点が、視差補償画像上の同一点に対応する場合は、被写体の前後関係をカメラの位置関係と視差とから判断して、最もカメラに近い被写体の点の画素値を用いるようにする。例えば、カメラの光軸が平行であるならば、視差が大きいほどカメラに近い点と判断できる。
また、視差情報が、参照カメラ画像の各画素の符号化対象カメラ画像上での対応点を表すため、参照カメラ画像には映っていない部分については視差補償画像が存在しないことになる。【００４７】
このようにして求められた視差補償画像を用いて、符号化処理ブロックごとに符号化対象カメラ画像の符号化を行う［ステップＡ３−Ａ１３］。
このフローでは、ブロックのインデックスをｂｌｋと表し、一つの画像に対する総ブロック数をｍａｘＢｌｋと表す。つまり、インデックスｂｌｋを０に初期化した後［ステップＡ３］、以下の処理［ステップＡ４−Ａ１１］を、インデックスｂｌｋに１を加算しながら［ステップＡ１２］、インデックスｂｌｋが総ブロック数ｍａｘＢｌｋになるまで［ステップＡ１３］、繰り返し実行することになる。【００４８】
まず、ブロックｂｌｋの符号化対象カメラ画像をＯｒｇ、視差補償画像をＳｙｎとする［ステップＡ４］。そして、ブロックｂｌｋに含まれるピクセル毎に両者の差分Ｏｒｇ−Ｓｙｎを計算し、差分画像Ｓｕｂとする［ステップＡ５］。
なお、ここで視差補償画像がないピクセル部分についてはＳｙｎの画素値を０として、差分画像を算出する。
次に、参照画像設定部１０６で、ブロックｂｌｋのピクセル毎に差分画像を予測符号化する際の参照先を表す情報Ｒｅｆを、次のように設定する［ステップＡ６］。【００４９】
∀ｐｉｘ∈｛０、１、... 、ｍａｘＰｉｘ−１｝
Ｒｅｆ［ｐｉｘ］＝０  （Ｓｙｎ［ｐｉｘ］に視差補償画像がない場合）
Ｒｅｆ［ｐｉｘ］＝１  （Ｓｙｎ［ｐｉｘ］に視差補償画像がある場合）
ここで、ｐｉｘはブロックｂｌｋに含まれるピクセルのインデックス、ｍａｘＰｉｘはブロックｂｌｋに含まれる総ピクセル数を表す。また、ブロックの単位情報に［ｐｉｘ］を付加して表記することで、その情報のピクセルインデックスｐｉｘの位置の画素の情報を表す。【００５０】
なお、Ｓｙｎに視差補償画像があるかどうかを判定してＲｅｆを生成する方法には、任意の方法を用いても構わないが、例えば以下のような方法で実現してもよい。
まず、視差補償画像Ｓｙｎを生成する前に、各画素の画素値の初期値として絶対に取りえない値（例えば−１）を設定しておき、「参照カメラ画像の各画素の画素値」を「視差補償画像上の対応画素における画素値」として上書することで、視差補償画像Ｓｙｎを生成する。そして、画素に対応付けられたＳｙｎが「−１」ならＲｅｆを「０」とし、Ｓｙｎが「−１」以外ならＲｅｆを「１」としてＲｅｆを生成する。このようにすることで、目的のＲｅｆをＳｙｎから一意に生成することができる。【００５１】
この場合、上記ステップＡ５における差分画像Ｓｕｂの算出では、Ｓｙｎが「−１」の部分については画素値を０とみなして、Ｏｒｇの値をＳｕｂの値とする計算を行う。
または、差分画像Ｓｕｂを算出する前に、上記の方法などによりＲｅｆを生成し、Ｓｙｎが「−１」の部分を「０」に置き換えてから、Ｏｒｇ−Ｓｙｎを計算して差分画像Ｓｕｂを算出してもよい。
なお、ここでは説明の都合上、視差補償画像がないために画素値を０とみなした部分を含めたＳｙｎの全体を視差補償画像という。【００５２】
このＲｅｆを用いながら、差分画像Ｓｕｂを予測符号化する際に、レート歪みコストが最小となるような予測モードを求めＰＭＯＤＥとする［ステップＡ７］。
ここでレート歪みコストｃｏｓｔは、ある予測モードのときの予測誤差の絶対値和をｓａｄとし、その予測モードを表す情報を符号化するための符号量の予測量をｂｉｎと表した場合に、次の数式で求められる。ただし、λはラグランジュの未定乗数を表し、予め設定された値を用いるものとする。【００５３】
ｃｏｓｔ＝ｓａｄ＋λ・ｂｉｎ
こうして求められたＰＭＯＤＥを用いて、実際にブロックｂｌｋの差分画像Ｓｕｂを予測符号化する［ステップＡ８］。
これらの予測モードの決定や実際の符号化は、差分映像予測符号化部１０５で行われる。符号化結果には映像の符号化データのほかに、ＰＭＯＤＥなど符号化に必要な情報の符号化データも含まれる。【００５４】
符号化結果は映像符号化装置１００の出力となるとともに、差分映像復号部１１０で復号される［ステップＡ９］。
ここで復号されたブロックｂｌｋの差分画像Ｓｕｂの復号画像をＤｅｃとする。Ｄｅｃは他のブロックを符号化する際のフレーム内予測や、他の時刻のフレームを符号化する際のフレーム間予測のために、復号差分画像メモリ１０８に格納する［ステップＡ１０］。
また、ＤｅｃとＳｙｎの和によってブロックｂｌｋの復号カメラ画像を生成し、復号カメラ画像メモリ１０７に格納する［ステップＡ１１］。
以上がブロックごとに繰り返し行われる処理である。【００５５】
図３に、差分映像予測符号化部１０５で行われる予測モード決定処理［ステップＡ７］の詳細な処理フローを示す。
このフローでは、予測モードごとに次の数式で表されるレート歪みコストｃｏｓｔを計算し、その値が最小となるモードを決定する。【００５６】
ｃｏｓｔ＝ＳＡＤ＋λ・ｃｏｄｅ（ｐｍｏｄｅ）
ここで、ＳＡＤは予測画像と原画像の画素ごとの差分絶対値和を示し、ｐｍｏｄｅは予測モードインデックスを示し、ｃｏｄｅ（α）は与えられた予測モードαに対して、その情報を表すために必要な符号量の予測値を与える関数を示す。【００５７】
処理フローによって示される通り、予測モードインデックスｐｍｏｄｅを０で初期化した後［ステップＢ１］、ｐｍｏｄｅを１ずつ加算しながら［ステップＢ１７］、ｐｍｏｄｅがｍａｘＰｍｏｄｅで表される予測モード数になるまで［ステップＢ１８］、以下の処理［ステップＢ２−Ｂ１６］を繰り返すことで、ｃｏｓｔが最小になるような予測モードを求める。【００５８】
以下の処理で各予測モードに対して、レート歪みコストを用いて評価を行うのであるが、その評価値として絶対に取りえない最大値をｍａｘＣｏｓｔと表す。さらに繰り返し評価を行うために、下記に示す各条件において最も良かった評価値をｍｉｎＣｏｓｔ、ｍｉｎＣｏｓｔ１、ｍｉｎＣｏｓｔ２と表し、そのときの予測モードインデックスをｂｅｓｔ＿ｍｏｄｅ、ｂｅｓｔ＿ｍｏｄｅ１、ｂｅｓｔ＿ｍｏｄｅ２と表すこととする。【００５９】
ここで、変数のｍｉｎＣｏｓｔとｂｅｓｔ＿ｍｏｄｅは、ブロック内の全ての画素を予測した場合の最も良かった評価値と予測モードインデックスを表し、ｍｉｎＣｏｓｔ１とｂｅｓｔ＿ｍｏｄｅ１は、対応するＲｅｆの値が０の画素だけを予測した場合の最も良かった評価値と予測モードインデックスを表し、ｍｉｎＣｏｓｔ２とｂｅｓｔ＿ｍｏｄｅ２は、対応するＲｅｆの値が１の画素だけを予測した場合の最も良かった評価値と予測モードインデックスを表す。【００６０】
ｍｉｎＣｏｓｔ、ｍｉｎＣｏｓｔ１、ｍｉｎＣｏｓｔ２を全てｍａｘＣｏｓｔで初期化した後［ステップＢ１］、予測モードｐｍｏｄｅに対する予測画像を画素ごとに生成する［ステップＢ２−Ｂ８］。【００６１】
予測画像の生成は、ブロック内の画素のインデックスｐｉｘを０で初期化した後［ステップＢ２］、ｐｉｘを１ずつ加算しながら［ステップＢ７］、ｐｉｘがｍａｘＰｉｘで表されるブロック内のピクセル数になるまで［ステップＢ８］、次の処理［ステップＢ３−Ｂ６］を繰り返すことで行われる。【００６２】
まず、Ｒｅｆ［ｐｉｘ］に従って、対応画素において視差補償画像があるかどうかを判定する［ステップＢ３］。
視差補償画像が存在しない場合、参照切替スイッチ１０９を操作し、差分映像予測符号化部１０５が復号カメラ画像メモリ１０７を参照するようにセットする［ステップＢ４］。一方、視差補償画像が存在する場合には、復号差分画像メモリ１０８を参照するようにセットする［ステップＢ５］。
セットされた参照画像を用いて、予測モードｐｍｏｄｅでその画素に対する予測値Ｐｒｅｄ［ｐｉｘ］を計算する［ステップＢ６］。【００６３】
ブロック内の全画素に対して、予測画像の生成が完了した後、次の式に従って３種類の原画との差分絶対値和を計算する［ステップＢ９］。【００６４】
ＳＡＤ１＝
Σ｜Ｓｕｂ［ｐｉｘ］−Ｐｒｅｄ［ｐｉｘ］｜・（１−Ｒｅｆ［ｐｉｘ］）
ＳＡＤ２＝
Σ｜Ｓｕｂ［ｐｉｘ］−Ｐｒｅｄ［ｐｉｘ］｜・Ｒｅｆ［ｐｉｘ］
ＳＡＤ＝ＳＡＤ１＋ＳＡＤ２
ここで、ＳＡＤ１は視差補償画像のない画素の差分絶対値和を表し、ＳＡＤ２は視差補償画像のある画素の差分絶対値和を表し、ＳＡＤはブロック内の全画素の差分絶対値和を表す。Σは、ｐｉｘが０からｍａｘＰｉｘ−１までの総和を表している。上式では積演算を用いているが、ＳＡＤ１とＳＡＤ２の計算に用いられる画素は排他的なので、単純な条件分岐で上記差分絶対値和の計算を実現してもよい。【００６５】
このＳＡＤ、ＳＡＤ１、ＳＡＤ２とｐｍｏｄｅを用いて、前述の式に従いレート歪みコストｃｏｓｔ、ｃｏｓｔ１、ｃｏｓｔ２を計算する［ステップＢ１０］。
そして、これまでに計算された最も良いレート歪みコストと比較を行い［ステップＢ１１、Ｂ１３、Ｂ１５］、予測モードｐｍｏｄｅを用いた方がコストを減らすことができるのならば、最良予測モードを表す変数と最良コスト値を更新する［ステップＢ１２、Ｂ１４、Ｂ１６］。【００６６】
全ての予測モードに対して評価が終わった後で、視差補償がある画素とない画素で異なる予測モードを用いるか、同一の予測モードを用いるかを判定する［ステップＢ１９−Ｂ２１］。
まず、ｂｅｓｔ＿ｍｏｄｅ、ｂｅｓｔ＿ｍｏｄｅ１、ｂｅｓｔ＿ｍｏｄｅ２が全て同じであるかを調べる［ステップＢ１９］。【００６７】
もし、全てが同じ場合、ブロック内で一つのモードを使えばよいことを示しているため、予測符号化を行う際の予測モードＰＭＯＤＥとしてｂｅｓｔ＿ｍｏｄｅを格納して終了する［ステップＢ２２］。【００６８】
１つでも異なるモードを示している場合には、ｍｉｎＣｏｓｔ１とｍｉｎＣｏｓｔ２とＯＨＣｏｓｔとの和と、ｍｉｎＣｏｓｔとを比較する［ステップＢ２０］。
前者はブロック内で異なるモードを使う場合のコストを示す。ここで、ＯＨＣｏｓｔは、予測モードを２つ符号化することによるオーバヘッドコストを表す。
もし前者の方がよいコストになる場合には、ｂｅｓｔ＿ｍｏｄｅ１とｂｅｓｔ＿ｍｏｄｅ２の集合をＰＭＯＤＥに格納して終了する［ステップＢ２１］。
後者がよいコストの場合にはＰＭＯＤＥにｂｅｓｔ＿ｍｏｄｅを格納して終了する［ステップＢ２２］。【００６９】
本実施例では、ブロック内で１つの予測モードを用いるか、２つの予測モードを用いるかを選択している。
常に１つの予測モードを用いることにしてもよく、その場合にはステップＢ１０ではｃｏｓｔのみを計算し、ステップＢ１３−Ｂ１６とステップＢ１９−Ｂ２２の処理を省略し、ｂｅｓｔ＿ｍｏｄｅの代わりにＰＭＯＤＥを用いることができる。【００７０】
また、常に２つの予測モードを用いることも可能であり、その場合にはステップＢ９のＳＡＤの計算と、ステップＢ１０のＣｏｓｔの計算と、ステップＢ１１−Ｂ１２、Ｂ１９−Ｂ２０、Ｂ２２の処理とが不要であり、ステップＢ１８がＹＥＳの場合には、ステップＢ２１に進むことで実現される。【００７１】
本実施例における予測モードとは、どのように画素値を予測するかを示すものである。
予測の方法には、同じフレームの既に符号化・復号済みの周辺ブロックから画素値を予測するフレーム内予測と、既に符号化・復号済みの別のフレームから画素値を予測するフレーム間予測とが存在し、上記予測モードは両方の予測法を含む。フレーム間予測で必要な動きベクトルも予測モードに含まれる。また、既に符号化・復号済みのものから画素値を予測できる方法であれば、どのような方法でも予測モードに含めることができる。【００７２】
図４に、本発明の映像復号装置２００の一実施形態を示す。
この映像復号装置２００は、符号化データを入力する符号化データ入力部２０１と、カメラＡの復号画像を入力する参照画像入力部２０２と、カメラＡの復号画像上の各画素が復号対象となっている画像上でどの位置に対応するかを示す視差情報を入力する視差情報入力部２０３と、カメラＢの位置の視差補償画像を生成する視差補償画像生成部２０４と、視差補償画像の状態によって画素毎に参照画像群を設定する参照画像設定部２０５と、参照画像群の１つである、復号されたカメラＢによって撮影された画像を格納する復号カメラ画像メモリ２０６と、もう１つの参照画像群である、差分画像の復号画像を格納する復号差分画像メモリ２０７と、参照画像群の設定情報に基づいて参照画像メモリを切り替える参照切替スイッチ２０８と、入力された符号化データを復号する差分映像復号部２０９とを備える。【００７３】
図５、図６に、このように構成される映像復号装置２００の実行する処理フローを示す。これはカメラＢの符号化データを１フレーム復号するフローを示している。以下でフローを詳細に説明していく。
なお、復号するフレームと同時刻のカメラＡのフレームが先立って復号されており、さらに視差情報が得られているものとする。【００７４】
まず、符号化データ入力部２０１にカメラＢの符号化データが入力される［ステップＣ１］。また、ここで入力されたカメラＢの画像と表示時刻が同じであるカメラＡの復号画像が、参照画像入力部２０２によって入力されているものとする。【００７５】
次に、カメラＡの復号画像と視差情報とを用いて、視差補償画像生成部２０４で視差補償画像が生成される［ステップＣ２］。ここでの処理は、既に説明した図２のステップＡ２で行われる処理と同じである。【００７６】
この視差補償画像を用いながら、ブロックごとに入力された符号化データを復号し、カメラＢの復号画像を得る［ステップＣ３−Ｃ９］。
この処理では、ブロックのインデックスをｂｌｋと表し、一つの画像に対する総ブロック数をｍａｘＢｌｋと表すと、インデックスｂｌｋを０に初期化した後［ステップＣ３］、インデックスｂｌｋに１を加算しながら［ステップＣ８］、インデックスｂｌｋが総ブロック数ｍａｘＢｌｋになるまで［ステップＣ９］、以下の処理［ステップＣ４−Ｃ７］を繰り返し実行することになる。【００７７】
まず、参照画像設定部２０５で、ブロックｂｌｋのピクセル毎に、差分画像を予測符号化する際に使われた参照先を示す情報Ｒｅｆを、前述したステップＡ６の処理と同様の方法で生成する［ステップＣ４］。
そして、この情報を使いながら入力された符号化データを差分映像復号部２０９で復号して差分画像の復号値Ｄｅｃを得る［ステップＣ５］。【００７８】
復号値Ｄｅｃはそのまま、他の時刻のフレームや、他のブロックを復号する際に利用するため、復号差分画像メモリ２０７に格納される［ステップＣ６］。
また、ブロックｂｌｋにおける・BR>牛キ補償画像ＳｙｎとＤｅｃの和を画素ごとに求めることで、カメラＢで撮影された画像の復号画像を得る。
この復号画像は、映像復号装置２００の出力となるとともに、復号カメラ画像メモリ２０６に格納される［ステップＣ７］。【００７９】
図６に、差分映像復号部２０９で行われるブロック毎の差分画像の復号処理［ステップＣ５］の詳細な処理フローを示す。【００８０】
まず、符号化データから予測モード情報を復号してｐｍｏｄｅ［０］とする［ステップＤ１］。このとき、符号化データに別の予測モード情報が含まれているのならば［ステップＤ２］、それを復号してｐｍｏｄｅ［１］とする［ステップＤ３］。含まれていないのならば［ステップＤ２］、ｐｍｏｄｅ［１］にｐｍｏｄｅ［０］と同じ値を設定する［ステップＤ４］。【００８１】
次に、符号化データに含まれている画素ごとの予測残差を復号してＤｒｅｓとする［ステップＤ５］。
以降の処理はブロックに含まれる画素ごとに行われる。つまり、ピクセルインデックスｐｉｘを０で初期化した後［ステップＤ６］、ｐｉｘに１を加算しながら［ステップＤ１２］、ｐｉｘがブロック内のピクセル数ｍａｘＰｉｘになるまで［ステップＤ１３］、以下の処理［ステップＤ７−Ｄ１１］を繰り返し実行する。【００８２】
画素ごとに行われる処理では、まず、Ｒｅｆ［ｐｉｘ］の値に応じて［ステップＤ７］、参照切替スイッチ２０８を操作して、復号カメラ画像メモリ２０６を参照バッファにセットするか［ステップＤ８］、復号差分画像メモリ２０７を参照バッファにセットする［ステップＤ９］。
次に、画素ｐｉｘの値Ｐｒｅｄを予測モードｐｍｏｄｅ［Ｒｅｆ［ｐｉｘ］］で予測する［ステップＤ１０］。
そして、差分画像の復号値Ｄｅｃ［ｐｉｘ］を、Ｄｒｅｓ［ｐｉｘ］とＰｒｅｄの和から得る［ステップＤ１１］。【００８３】
本実施例では、参照カメラ画像上の各画素が同時刻のカメラＢの画像上でどの位置に対応するかを示す視差情報が、映像符号化装置１００や映像復号装置２００の外部で求められ、符号化／伝送／復号されるとしている。
しかし、映像符号化装置１００の内部で視差情報を求め、符号化し、差分画像の符号化データとともに出力しても構わない。同様に、映像復号装置２００の内部で視差情報の符号化データを受け取り、復号して用いても構わない。【００８４】
また、直接、参照カメラ画像上の各画素が同時刻のカメラＢの画像上でどの位置に対応するかを示す情報ではないが、何らかの変換を施すことによって上記対応関係が得られるようなものが入力され、映像符号化装置１００と映像復号装置２００の内部で、入力された情報を、上記対応関係を表す視差情報へと変換しても構わない。
そのような情報の一例として、被写体の三次元情報とカメラパラメータとで構成される情報がある。三次元情報は、被写体の各部分の三次元座標であったり、被写体からカメラまでの距離を表すものであったりする。【００８５】
また、実施形態においては参照対象としての画像群の切替を符号化対象カメラ画像の各画素毎に可能としているが、複数画素を含む所定の区分単位毎に行うようにしても良い。例えば所定サイズのブロック毎に切替可能とする場合、ブロック内の多数の画素に対して適切な参照対象を選択したり、視差補償画像の画素値が無効な画素が１つでも含まれる場合には復号カメラ画像群を選択するようにしたりできる。適切な区分単位での選択を行うことにより、処理時間を短縮できるという効果がある。【００８６】
以上の映像符号化および映像復号の処理は、ハードウェアやファームウェアによって実現することができるとともに、コンピュータとソフトウェアプログラムとによっても実現することができ、そのプログラムをコンピュータ読み取り可能な記録媒体に記録して提供することも、ネットワークを通して提供することも可能である。
【産業上の利用可能性】
【００８７】
本発明によれば、視差補償による差分画像を予測符号化する際に、新たな付加情報を用いることなく、適切な参照画像を画素単位で切り替えて用いることで、付加情報の符号量を増やすことなく、符号化対象の残差削減を実現し、多視点動画像全体としての高効率な映像符号化を実現することができる。
【図１】
2008081810.tif 000003
【図２】
2008081810.tif 000004
【図３】
2008081810.tif 000005
【図４】
2008081810.tif 000006
【図５】
2008081810.tif 000007
【図６】
2008081810.tif 000008
【図７】
2008081810.tif 000009
【図８】
2008081810.tif 000010
【図９】
2008081810.tif 000011
【国際調査報告】
2008081810.tif 000012
2008081810.tif 000013
2008081810.tif 000014
2008081810.tif 000015