(57)【要約】【課題】  多視点から得られた画像を効率的にかつ精度よく予測することが可能な符号化方法及び復号化方法を提供する。【解決手段】  この発明に係る多視点画像の圧縮符号化方法は、以下のステップを備えている：（１）異なるカメラ（１１〜１ｎ）において取得された複数の画像（２１〜２ｎ）を、それぞれ、ブロックに分割するステップ；（２）前記複数の画像のうち、第１の画像（３１）における前記ブロックに対して、平行移動とブロック分割とを含む視差補償を施し、さらに、第２の画像（３１ａ）におけるブロックとの間での予測誤差が最小となる前記ブロックを、前記第１の画像（３１）において求めるというブロックマッチングを行うステップ；（３）前記予測誤差が最小となるブロックに基づいて、前記第２の画像（３２ａ）のブロックの視差補償予測符号化を行うステップ。【選択図】図１
2007166381.tif 000002
【特許請求の範囲】
【請求項１】
以下のステップを備える、多視点画像の圧縮符号化方法：
（１）異なる視点において取得された複数の画像を、それぞれ、ブロックに分割するステップ；
（２）前記複数の画像のうち、第１の画像における前記ブロックに対して、平行移動とブロック分割とを含む視差補償を施し、さらに、第２の画像におけるブロックとの間での予測誤差が最小となる前記ブロックを、前記第１の画像において求めるというブロックマッチングを行うステップ；
（３）前記予測誤差が最小となるブロックに基づいて、前記第２の画像のブロックの視差補償予測符号化を行うステップ。
【請求項２】
前記（２）のステップにおいては、
前記ブロックマッチングは、まず前記平行移動の視差補償を施した後に行われ、
前記ブロック分割は、前記平行移動の視差補償後のブロックマッチングにおける前記予測誤差が所定値より小さくならない場合に、前記ステップ（１）での分割によるブロックのサイズよりも小さいサイズのブロックを、前記第１の画像と前記第２の画像とから生成するものであり、
その後、前記小さいサイズのブロックを用いて再び前記ブロックマッチングを行う構成となっている、請求項１記載の圧縮符号化方法。
【請求項３】
前記（２）のステップにおいては、前記平行移動又は前記ブロック分割の視差補償後の前記ブロックマッチングにおける予測誤差が所定値より小さくならない場合は、前記第２の画像の視点を挟んで前記第１の画像の視点と反対側となる視点において取得された第３の画像との間で、再び前記視差補償を行い、その後、前記ブロックマッチングを行う、請求項１記載の圧縮符号化方法。
【請求項４】
前記（２）のステップにおいては、前記平行移動又は前記ブロック分割の視差補償後における前記ブロックマッチングにおいて、前記予測誤差が所定値より小さくならない場合は、参照先のブロックである参照ブロックの幅を変える視差補償を行い、その後、前記ブロックマッチングを行う、請求項１記載の圧縮符号化方法。
【請求項５】
前記（２）のステップにおいては、前記平行移動又はブロック分割の視差補償後における前記ブロックマッチングにおいて前記予測誤差が所定値より小さくならない場合は、参照ブロックにおいて対向する２辺の傾きを変える視差補償を行い、その後、前記ブロックマッチングを行う、請求項１記載の圧縮符号化方法。
【請求項６】
前記（２）のステップとは、
前記平行移動の視差補償後に、前記ブロックマッチングを行い、
そのときの前記予測誤差が所定値より大きい場合は、次に前記ブロック分割の視差補償を行い、得られた小さなブロックサイズを用いて前記ブロックマッチングを行い、
それでも予測誤差が所定値より大きい場合は、前記第２の画像の視点を挟んで前記第１の画像の視点と反対側となる視点において取得された第３の画像との間で前記ブロックマッチングを行い、
それでも予測誤差が所定値より大きい場合は、ブロックの幅を変更する視差補償の後に、前記ブロックマッチングを行うことで、予測誤差最小の幅を求め、
それでも予測誤差が所定値より大きい場合は、参照ブロックにおいて対向する２辺の傾きを変更し、予測誤差が最小になるブロックの傾きを求める
ものである、請求項１記載の圧縮符号化方法。
【請求項７】
前記（３）におけるブロックの視差補償予測符号化とは、前記予測誤差の最小値を与えるブロックのブロックサイズと、参照先のブロックである参照ブロックの位置情報とを用いて行うものである、請求項１記載の圧縮符号化方法。
【請求項８】
前記（３）におけるブロックの視差補償予測符号化は、さらに、予測符号化のためにどの画像を参照したかの情報を用いて行われる、請求項７記載の圧縮符号化方法。
【請求項９】
前記（３）におけるブロックの視差補償予測符号化は、さらに、ブロックの幅情報及び傾き情報とを用いて行われる、請求項７又は８記載の圧縮符号化方法。
【請求項１０】
前記（３）におけるブロックの視差補償予測符号化は、さらに、第４の画像の中で同じ被写体が写っているブロックの視差情報との間で、視差補償予測符号化を行うものである、請求項７〜９のいずれか１項に記載の圧縮符号化方法。
【請求項１１】
前記（３）におけるブロック間の視差補償予測符号化は、さらに第４の画像の視差情報を符号化する処理を含んでおり、
この処理は、
前記第２の画像の中で注目している注目ブロックから参照画像中の参照ブロックまでの移動距離が判明している場合、第４の画像とその参照画像との位置関係に応じて、前記の移動距離を、整数倍又は整数分の１倍した値を求め、
前記第４の画像の中で、前記第２の画像中の前記注目ブロックと同じ相対位置から前記求めた値の距離だけ移動した位置のブロックの視差情報の予測値を、前記第２の画像中の注目ブロックの視差情報を用いて算出し、この予測値を用いて、第４の画像における視差情報の予測符号化を行う
ことを含む、請求項１記載の圧縮符号化方法。
【請求項１２】
前記（３）におけるブロック間の視差補償予測符号化は、さらに第４の画像を符号化する処理を含んでおり、
この処理は、前記第２の画像の中で注目しているブロックから参照ブロックまでの移動距離が判明している場合、第４の画像とその参照画像との位置関係に応じて、前記移動距離を整数倍又は整数分の１倍した値を求め、これを、第４の画像の中の対応する位置にあるブロックから前記参照ブロックまでの移動距離として、予測符号化を行うものである、請求項１記載の圧縮符号化方法。
【請求項１３】
前記（３）におけるブロック間の視差補償予測符号化は、さらに第４の画像を符号化する処理を含んでおり、この処理は、第２の画像のブロックの幅と、その参照ブロックの幅との差がΔであった時に、第４の画像の対応する位置にあるブロックの幅と、その参照ブロックの幅との差を、第２及び第４の画像と、参照画像とのそれぞれの位置関係に応じて、Δを整数倍又は整数分の１倍した値で予測するものである、請求項４記載の圧縮符号化方法。
【請求項１４】
前記（３）におけるブロック間の視差補償予測符号化は、さらに第４の画像を符号化する処理を含んでおり、この処理は、第２と第４の画像の視差情報間で予測符号化を行う際に、第２の画像の参照ブロックの傾きが得られた場合、第２及び第４の画像と、参照画像とのそれぞれの位置関係に応じて、その値を整数倍又は整数分の１倍した値を求め、この値を第４の画像の参照ブロックの傾きとして予測に使用するものである、請求項５記載の圧縮符号化方法。
【請求項１５】
さらに、「第２の画像の中のブロックの視差情報と、第４の画像の中の対応する位置のブロックの視差情報との間で予測符号化を行って得られた視差情報間の予測誤差について、時間軸上で動き補償フレーム予測を行う」ものである、請求項１１〜１４のいずれか１項に記載の圧縮符号化方法。
【請求項１６】
視差補償予測部を備え、前記視差補償予測部は、下記の機能を備える、多視点画像の圧縮符号化装置：
（１）異なる視点において取得された複数の画像を、それぞれ、ブロックに分割する機能；
（２）前記複数の画像のうち、第１の画像における前記ブロックに対して、平行移動とブロック分割とを含む視差補償を施し、さらに、第２の画像におけるブロックとの間で予測誤差が最小となる前記ブロックを、前記第１の画像において求めるというブロックマッチングを行う機能；
（３）前記予測誤差が最小となるブロックに基づいて、前記画像又はブロック間の視差補償予測符号化を行う機能。
【請求項１７】
以下のステップを備える、多視点画像の復号化方法：
（１）圧縮符号化されたビットストリームを受け取るステップ； 
（２）視差補償予測符号化されたブロック毎に付随する視差情報として、ブロックのサイズと、参照されたブロックの位置情報とを含む視差情報を用いて、参照されたブロックに視差補償を行い、この視差補償によって、予測されたブロックの値を得ることにより、視差補償予測符号化されたブロック又はそれを含む画像の復号化を行うステップ。
【請求項１８】
前記復号化においては、前記ブロック毎に付随する視差情報に関するデータを、時間軸上での動き補償フレーム予測復号化を含む処理によって得る構成となっている、請求項１７記載の復号化方法。
【請求項１９】
前記復号化においては、前記第２の画像のブロックに付随する視差情報を用いて、第４の画像の中で第２の画像中のブロックに対応する位置にあるブロックの視差情報を復号化する処理を含んでいる、請求項１７又は１８に記載の復号化方法。
【請求項２０】
前記復号化においては、第２の画像の中の注目ブロックから参照画像中の参照ブロックの位置までの相対移動距離と方向が得られた場合、参照した画像と第２の画像との位置関係に応じて、前記距離の値を整数倍又は整数分の１倍した値を求め、第４の画像の中で、第２の画像中の注目ブロックの位置と同じ相対位置から、前記求めた値の距離だけ移動した位置におけるブロックの視差情報の予測値を、前記第２の画像の注目ブロックから参照画像の参照ブロックまでの相対移動距離と方向を用いて算出し、この予測値を用いて、第４の画像中のブロックの視差情報を復号化する処理を含んでいる、請求項１７又は１８に記載の復号化方法。
【請求項２１】
前記復号化においては、隣り合う画像の視差情報間で予測復号化を行う際に、第２の画像の中で注目しているブロックから参照ブロックの位置までの移動距離が判明した場合、第４の画像とそれが参照している画像との位置関係に応じて、前記移動距離を整数倍又は整数分の１倍した値を求め、この値を、第４の画像の中の対応する位置にあるブロックからその参照ブロックまでの移動距離の予測値とする構成となっている、請求項１７又は１８に記載の復号化方法。
【請求項２２】
前記復号化は、第２と第４の画像の視差情報間で予測復号化を行う際に、第２の画像のブロックの幅と、その参照ブロックの幅との差がΔである事が判明した場合に、第２と第４の画像が参照している画像の位置関係に応じて、Δを整数倍又は整数分の１倍した値を求め、この値を、第４の画像の対応する位置にあるブロックの幅と、その参照ブロックの幅との差の予測値とする処理を含む、請求項１７又は１８に記載の復号化方法。
【請求項２３】
前記復号化においては、第２と第４の画像の視差情報間で予測復号化を行う際に、第２の画像の参照ブロックの傾きが判明した場合、第２と第４の画像が参照している画像の位置関係に応じて、この傾きを整数倍又は整数分の１倍した値を求め、第４の画像の対応する位置のブロックが参照する参照ブロックの傾きの予測値とする構成となっている、請求項１７又は１８に記載の復号化方法。
【請求項２４】
視差補償射影予測復号化部を備え、前記視差補償射影予測復号化部は、下記の機能を備える、多視点画像の復号化装置：
（１）請求項１記載の圧縮符号化方法により得られたビットストリームを受け取る機能；
（２）視差補償予測符号化されたブロック毎に付随する視差情報として、ブロックのサイズと、参照されたブロックの位置情報とを含む視差情報を用いて、参照されたブロックに視差補償を行い、この視差補償によって、予測されたブロックの値を得ることにより、視差補償予測符号化されたブロック又はそれを含む画像の復号化を行う機能。
【請求項２５】
多視点画像の圧縮符号化により得られた圧縮符号化データであって、
このデータは、視差補償予測符号化されたブロック毎に付随する視差情報として、ブロックのサイズと、参照されたブロックの位置情報とを含む視差情報を含んでおり、
前記視差情報は、この視差情報を用いることによって、参照されたブロックの視差情報に視差補償を行い、この視差補償によって、予測されたブロックの視差情報を得ることができるものである
ことを特徴とする圧縮符号化データ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多視点（すなわち２以上の視点）から取得された画像を圧縮符号化する方法と、圧縮符号化されたデータを復号化する方法とに関するものである。
【背景技術】
【０００２】
下記特許文献１には、左目画像を参照画像として右目画像を予測する技術が記載されている。この技術では、参照画像単独で、動き補償フレーム予測符号化を行う。また、右目画像（つまり予測画像）については、左目画像である参照画像を用いて、視差補償予測を行う。視差補償予測の際に生じる予測誤差については、動き補償フレーム予測を行う。この文献の技術では、これらの視差補償予測と動き補償フレーム予測とにより、多視点画像の圧縮符号化を実現している。左目画像と右目画像とは、それぞれ、異なる位置と姿勢を持つカメラによって取得される。
【０００３】
この文献の技術を、図１２及び図１３によってさらに詳細に説明する。図１２に示される圧縮符号化装置は、左目画像用の動き補償予測符号化手段９１と、右目画像用の視差補償予測手段９２と、同じく右目画像用の動き補償予測符号化手段９３とを備えている。一般に、図１３に示す様に、右目画像９４と左目画像９５の中の対象物Ａの水平位置は、カメラから対象物（被写体）Ａまでの距離に応じてずれる。そこで、視差補償予測手段９２（図１２参照）では、参照画像を小さなブロックに分割する。その後、参照画像と予測画像との間において、「対応するブロック内の画素毎の差分の絶対値和が最小になるブロック位置を探す」というブロックマッチングを行う。このブロックマッチングによって、参照ブロック９４ａと予測ブロック９５ｂとの間の予測符号化（すなわち視差補償予測）を行う。得られた予測誤差については、更に、動き補償予測符号化手段９３（図１２参照）により、時間的に過去や未来のブロックの予測誤差との間で動き補償フレーム予測符号化する事によってデータ量を圧縮している。
【特許文献１】特開平１０−１９１３９３号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、前記従来の技術では、ブロックの大きさを固定としている。そして、このブロックの平行移動のみで左目画像と右目画像のブロックマッチングを行っている。このため、従来の技術では、カメラの光軸に対して垂直な面を持った壁の様な被写体の画像でブロック内が覆われた場合にしか、正確な視差補償予測が出来ない。
【０００５】
しかしながら、通常の映像では、次のような事態が生じうる（たとえば本願の図４〜図７参照）。
・ブロック内に複数の被写体が写り込んでいる場合；
・前景の物体で背景の物体が遮られた状態（いわゆるオクルージョン）が発生している場合；
・単一の被写体であったとしても、ビルの壁を斜め方向から見た場合の様に、ある面がカメラの光軸に対して垂直でない場合。
【０００６】
これらの場合においては、従来の技術では、予測誤差が小さくならない。このため、視差補償予測が有効に働かず、圧縮効率が上がらないという問題を生じる。これを避けるためには、視差補償予測と動き補償予測を複雑に切り替えたり、組み合わせて用いることも考え得るが、これでは、処理が煩雑になって符号化のための速度が遅くなる。しかも、従来のようにブロックの平行移動のみを想定していたのでは符号化効率もあまり上がらない。
【０００７】
本発明は、前記の課題を解決するもので、その一つの目的は、処理が容易で、正確な予測が可能な符号化方法を提供することである。本発明の他の目的は、生成された圧縮符号化データを復号化する方法を提供することである。また、本発明のさらに他の目的は、このような方法に用いられる圧縮符号化／復号化装置や、復号に用いられる圧縮符号化データを提供することである。
【課題を解決するための手段】
【０００８】
本発明に係る多視点画像の圧縮符号化方法は、以下のステップを備えている：
（１）異なる視点において取得された複数の画像を、それぞれ、ブロックに分割するステップ；
（２）前記複数の画像のうち、第１の画像における前記ブロックに対して、平行移動とブロック分割とを含む視差補償を施し、さらに、第２の画像におけるブロックとの間での予測誤差が最小となる前記ブロックを、前記第１の画像において求めるというブロックマッチングを行うステップ；
（３）前記予測誤差が最小となるブロックに基づいて、前記第２の画像のブロックの視差補償予測符号化を行うステップ。
【０００９】
本発明では、平行移動とブロック分割とを組み合わせた視差補償を行うので、正確な射影予測が可能となる。
【００１０】
本発明の前記（２）のステップにおいては、前記ブロックマッチングを、まず前記平行移動の視差補償を施した後に行うことができる。また、前記ブロック分割を、前記平行移動の視差補償後のブロックマッチングにおける前記予測誤差が所定値より小さくならない場合に行うことができる。この場合のブロック分割は、例えば、前記ステップ（１）での分割によるブロックのサイズよりも小さいサイズのブロックを、前記第１の画像と前記第２の画像とから生成するものである。その後、前記小さいサイズのブロックを用いて再び前記ブロックマッチングを行うことができる。このように、必要に応じて小さいブロックサイズでの視差補償ができるので、正確な射影予測が可能となる。
【００１１】
前記（２）のステップにおいては、前記平行移動又は前記ブロック分割の視差補償後の前記ブロックマッチングにおける予測誤差が所定値より小さくならない場合に、前記第２の画像の視点を挟んで前記第１の画像の視点と反対側となる視点において取得された第３の画像との間で、再び前記視差補償を行ってもよい。その後、前記ブロックマッチングを行うことができる。これにより、オクルージョン部の射影予測が可能となる。
【００１２】
前記（２）のステップにおいては、前記平行移動又は前記ブロック分割の視差補償後における前記ブロックマッチングにおいて、前記予測誤差が所定値より小さくならない場合は、参照先のブロックである参照ブロックの幅を変える視差補償を行い、その後、前記ブロックマッチングを行うこともできる。これにより、被写体の面が垂直軸周りに回転していても正確な射影予測が可能となる。
【００１３】
前記（２）のステップにおいては、前記平行移動又はブロック分割の視差補償後における前記ブロックマッチングにおいて前記予測誤差が所定値より小さくならない場合は、参照ブロックにおいて対向する２辺の傾きを変える視差補償を行い、その後、前記ブロックマッチングを行うこともできる。これにより、被写体の面が横軸中心に回転していても、正確な射影予測が可能となる。
【００１４】
前記（２）のステップとは、
前記平行移動の視差補償後に、前記ブロックマッチングを行い、
そのときの前記予測誤差が所定値より大きい場合は、次に前記ブロック分割の視差補償を行い、得られた小さなブロックサイズを用いて前記ブロックマッチングを行い、
それでも予測誤差が所定値より大きい場合は、前記第２の画像の視点を挟んで前記第１の画像の視点と反対側となる視点において取得された第３の画像との間で前記ブロックマッチングを行い、
それでも予測誤差が所定値より大きい場合は、ブロックの幅を変更する視差補償の後に、前記ブロックマッチングを行うことで、予測誤差最小の幅を求め、
それでも予測誤差が所定値より大きい場合は、参照ブロックにおいて対向する２辺の傾きを変更し、予測誤差が最小になるブロックの傾きを求める
ものであってもよい。このように構成すれば、画像において一般に生じやすい特徴に対応して、発生頻度順に視差補償を試行することができ、これにより、高速な射影予測が可能となる。
【００１５】
前記（３）におけるブロックの視差補償予測符号化とは、前記予測誤差の最小値を与えるブロックのブロックサイズと、参照先のブロックである参照ブロックの位置情報とを用いて行うものであってもよい。これにより、効率良く視差情報のデータ量を削減することが可能となる。
【００１６】
前記（３）におけるブロックの視差補償予測符号化は、さらに、予測符号化のためにどの画像を参照したかの情報を用いて行われてもよい。これにより、効率良く視差情報のデータ量を削減することが可能となる。
【００１７】
前記（３）におけるブロックの視差補償予測符号化は、さらに、ブロックの幅情報及び傾き情報とを用いて行われてもよい。これにより、効率良く視差情報のデータ量を削減することが可能となる。
【００１８】
前記（３）におけるブロックの視差補償予測符号化は、さらに、第４の画像の中で同じ被写体が写っているブロックの視差情報との間で、視差補償予測符号化を行うものであってもよい。これにより、効率良く視差情報のデータ量を削減することが可能となる。
【００１９】
前記（３）におけるブロック間の視差補償予測符号化は、さらに第４の画像の視差情報を符号化する処理を含んでいてもよい。この処理は、
前記第２の画像の中で注目している注目ブロックから参照画像中の参照ブロックまでの移動距離が判明している場合、第４の画像とその参照画像との位置関係に応じて、前記の移動距離を、整数倍又は整数分の１倍した値を求め、
前記第４の画像の中で、前記第２の画像中の前記注目ブロックと同じ相対位置から前記求めた値の距離だけ移動した位置のブロック（このブロックは注目ブロックと同じ対象物が写っているブロックである）の視差情報の予測値を、前記第２の画像中の注目ブロックの視差情報を用いて算出し、この予測値を用いて、第４の画像における視差情報の予測符号化を行う
ことを含むことができる。これにより、被写体の同じ部分が写ったブロックを使って視差情報予測を行うことができ、符号化効率の向上が可能となる。
【００２０】
前記（３）におけるブロック間の視差補償予測符号化は、さらに第４の画像を符号化する処理を含んでいてもよい。この処理は、前記第２の画像の中で注目しているブロックから参照ブロックまでの移動距離が判明している場合、第４の画像とその参照画像との位置関係に応じて、前記移動距離を整数倍又は整数分の１倍した値を求め、これを、第４の画像の中の対応する位置にあるブロック（このブロックは、第２の画像における注目ブロックと同じ対象物が写っているブロックである）から前記参照ブロックまでの移動距離として、予測符号化を行うものものであってもよい。これにより、隣接する画像の視差情報を高速に得ることができ、さらに、視差情報間の正確な予測符号化が可能となる。
【００２１】
前記（３）におけるブロック間の視差補償予測符号化は、さらに第４の画像を符号化する処理を含んでいてもよい。この処理は、第２の画像のブロックの幅と、その参照ブロックの幅との差がΔであった時に、第４の画像の対応する位置にあるブロックの幅と、その参照ブロックの幅との差を、第２及び第４の画像と、参照画像とのそれぞれの位置関係に応じて、Δを整数倍又は整数分の１倍した値で予測するものであってもよい。これにより、正確かつ高速に視差情報予測を行うことが可能となる。
【００２２】
前記（３）におけるブロック間の視差補償予測符号化は、さらに第４の画像を符号化する処理を含んでいてもよい。この処理は、第２と第４の画像の視差情報間で予測符号化を行う際に、第２の画像の参照ブロックの傾きが得られた場合、第２及び第４の画像と、参照画像とのそれぞれの位置関係に応じて、その値を整数倍又は整数分の１倍した値を求め、この値を第４の画像の参照ブロックの傾きとして予測に使用するものであってもよい。これにより、正確かつ高速に視差情報予測を行うことができる。
【００２３】
前記した本発明は、さらに、「第２の画像の中のブロックの視差情報と、第４の画像の中の対応する位置のブロックの視差情報との間で予測符号化を行って得られた視差情報間の予測誤差について、時間軸上で動き補償フレーム予測を行う」ものであってもよい。これによって、視差補償がうまく行かないオクルージョン部における、予測誤差のデータ量を削減することが可能となる。
【００２４】
本発明に係る多視点画像の圧縮符号化装置は、視差補償予測部を備えている。この視差補償予測部は、下記の機能を備えている：
（１）異なる視点において取得された複数の画像を、それぞれ、ブロックに分割する機能；
（２）前記複数の画像のうち、第１の画像における前記ブロックに対して、平行移動とブロック分割とを含む視差補償を施し、さらに、第２の画像におけるブロックとの間で予測誤差が最小となる前記ブロックを、前記第１の画像において求めるというブロックマッチングを行う機能；
（３）前記予測誤差が最小となるブロックに基づいて、前記画像又はブロック間の視差補償予測符号化を行う機能。
【００２５】
本発明に係る多視点画像の復号化方法は、以下のステップを備えている：
（１）圧縮符号化されたビットストリームを受け取るステップ； 
（２）視差補償予測符号化されたブロック毎に付随する視差情報として、ブロックのサイズと、参照されたブロックの位置情報とを含む視差情報を用いて、参照されたブロックに視差補償を行い、この視差補償によって、予測されたブロックの値を得ることにより、視差補償予測符号化されたブロック又はそれを含む画像の復号化を行うステップ。
【００２６】
これにより、画像の正確な復号化が可能となる。
【００２７】
前記復号化においては、前記ブロック毎に付随する視差情報に関するデータを、時間軸上での動き補償フレーム予測復号化を含む処理によって得てもよい。これにより、少ないデータ量から視差情報を得ることが可能となる。
【００２８】
前記復号化においては、前記第２の画像のブロックに付随する視差情報を用いて、第４の画像の中で第２の画像中のブロックに対応する位置にあるブロックの視差情報を復号化する処理を含んでいてもよい。これにより、少ない視差情報データから効率良く視差情報を得ることが可能となる。
【００２９】
前記復号化においては、第２の画像の中の注目ブロックから参照画像中の参照ブロックの位置までの相対移動距離と方向が得られた場合、参照した画像と第２の画像との位置関係に応じて、前記距離の値を整数倍又は整数分の１倍した値を求め、第４の画像の中で、第２の画像中の注目ブロックの位置と同じ相対位置から、前記求めた値の距離だけ移動した位置におけるブロックの視差情報の予測値を、前記第２の画像の注目ブロックから参照画像の参照ブロックまでの相対移動距離と方向を用いて算出し、この予測値を用いて、第４の画像中のブロックの視差情報を復号化する処理を含んでいてもよい。これにより、視差情報の正確かつ高速な復号化を行うことができる。
【００３０】
前記復号化においては、隣り合う画像の視差情報間で予測復号化を行う際に、第２の画像の中で注目しているブロックから参照ブロックの位置までの移動距離が判明した場合、第４の画像とそれが参照している画像との位置関係に応じて、前記移動距離を整数倍又は整数分の１倍した値を求め、この値を、第４の画像の中の対応する位置にあるブロックからその参照ブロックまでの移動距離の予測値とする構成としてもよい。これにより、正確かつ高速に視差情報予測復号化を行うことが可能となる。
【００３１】
前記復号化は、第２と第４の画像の視差情報間で予測復号化を行う際に、第２の画像のブロックの幅と、その参照ブロックの幅との差がΔである事が判明した場合に、第２と第４の画像が参照している画像の位置関係に応じて、Δを整数倍又は整数分の１倍した値を求め、この値を、第４の画像の対応する位置にあるブロックの幅と、その参照ブロックの幅との差の予測値とする処理を含んでいてもよい。これにより、正確かつ高速に視差情報予測復号化を行うことが可能となる。
【００３２】
前記復号化においては、第２と第４の画像の視差情報間で予測復号化を行う際に、第２の画像の参照ブロックの傾きが判明した場合、第２と第４の画像が参照している画像の位置関係に応じて、この傾きを整数倍又は整数分の１倍した値を求め、第４の画像の対応する位置のブロックが参照する参照ブロックの傾きの予測値とする構成となっていてもよい。これにより、正確かつ高速に視差情報予測復号化を行うことが可能となる。
【００３３】
本発明に係る多視点画像の復号化装置は、視差補償射影予測復号化部を備えている。前記視差補償射影予測復号化部は、下記の機能を備えている：
（１）請求項１記載の圧縮符号化方法により得られたビットストリームを受け取る機能；
（２）視差補償予測符号化されたブロック毎に付随する視差情報として、ブロックのサイズと、参照されたブロックの位置情報とを含む視差情報を用いて、参照されたブロックに視差補償を行い、この視差補償によって、予測されたブロックの値を得ることにより、視差補償予測符号化されたブロック又はそれを含む画像の復号化を行う機能。
【００３４】
本発明に係る圧縮符号化データは、多視点画像の圧縮符号化により得られたものであって、
このデータは、視差補償予測符号化されたブロック毎に付随する視差情報として、ブロックのサイズと、参照されたブロックの位置情報とを含む視差情報を含んでおり、
前記視差情報は、この視差情報を用いることによって、参照されたブロックの視差情報に視差補償を行い、この視差補償によって、予測されたブロックの視差情報を得ることができるものである。
【発明の効果】
【００３５】
本発明の圧縮符号化方法によれば、通常の映像で発生する様々な条件に適用しうる視差補償を、簡単な処理で行うことができる。このため、視差補償後の射影予測誤差を十分小さくする事ができる。すなわち、高画質で高効率な圧縮を容易に実現できる。
【００３６】
更に、得られた予測誤差を、動き補償フレーム予測符号化により更に圧縮するようにすれば、復号化に必要なデータ量をさらに小さくする事ができる。
【発明を実施するための最良の形態】
【００３７】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００３８】
［第１実施形態］
本発明の第１実施形態に係る圧縮符号化装置を用いた符号化システムの構成を、図１に基づいて説明する。
【００３９】
このシステムは、ｎ個のカメラ１１，１２，…，１ｎと、圧縮符号化装置４とを主な要素として備えている。
【００４０】
カメラ１１，１２，…，１ｎは、対象物Ａを撮影することにより、当該カメラの位置や姿勢に応じた画像を取得することができるものである。また、本実施形態においては、カメラの位置と姿勢は既知であるものとする。特に、本実施形態では、カメラ間の間隔Ｂを一定としている。
【００４１】
各カメラで取得された画像２１，２２，…，２ｎは、圧縮符号化装置４に入力される。なお、多視点画像を取得するためのカメラの最小構成個数は、一般的には２個であるが、本実施形態では、３個以上を前提として説明するが、一般的には、本発明は２個のカメラがあれば成立する（もちろん、１個のカメラによって、異なる位置からの２個の画像を取得できるなら１個でよいが、このような場合は２個のカメラがあると把握する）。ただし、３個以上のカメラを用いることにより、後述するように、参照ブロックの変更（取り替え）や、視差情報の予測を行うことが可能となる。
【００４２】
圧縮符号化装置４は、図２に示されるように、動き補償フレーム予測符号化部４１、４２、４５、４６、４８と視差補償射影予測部４３、４４、４７とを主な要素として備えている。動き補償フレーム予測符号化部４１、４２、４５、４６、４８からの出力は、マルチプレクサ（図示せず）によって多重化されて、ビットストリームとして、圧縮符号化装置４から出力されるようになっている。
【００４３】
圧縮符号化装置４の詳しい構成は、その動作とともに、以降において詳しく説明する。
【００４４】
（圧縮符号化装置の動作）
つぎに、本実施形態に係る圧縮符号化装置４の動作について説明する。この説明においては、次のように用語を使用する。
・カメラ１１で取得された画像２１：参照画像３１（第１の画像に相当）
・カメラ１２で取得された画像２２：予測画像３１ａ（第２の画像に相当）
・カメラ１３で取得された画像２３：予測画像３２ａ（第４の画像に相当）
・カメラ１４で取得された画像２４：参照画像３２（第３の画像に相当）
【００４５】
以降、同様に、カメラ１５で取得された画像２５は参照画像３３、カメラ１６及び１７で取得された画像は予測画像３３ａ及び３４ａ、カメラ１８で取得された画像２６は参照画像３４となり、以降同様の周期で参照画像と予測画像が繰り返される。ただし、本実施形態では、四つの画像２１〜２４を用いる例を説明する。
【００４６】
なお、以下においては、フレーム間予測を前提として説明するが、フレームを構成するフィールドやスライスを単位とした予測符号化、復号化を行うことも可能である。
【００４７】
（参照画像３１の処理）
カメラ１１の出力である画像２１（すなわち参照画像３１）は、動き補償フレーム予測符号化部４１に対して入力される（図２参照）。この符号化部４１は、従来の動き補償フレーム予測を用いて、参照画像３１を符号化する。従来の動き補償フレーム予測の詳細は、例えば、下記参考文献１に詳述されている。ここではその概要のみ説明する。
【００４８】
まず、時間的に連続するフレームで構成されている入力画像の前後のフレームに対して、そのフレームを小さなブロックに分割する処理を行う。ついで、予測符号化したい現在のフレームのブロックと一致する、時間的に過去のフレームのブロック、もしくは未来のフレームのブロックを探す。得られた参照ブロック（すなわち、探索の結果得られた、過去又は未来のフレーム中のブロック）の相対的な位置情報を動きベクトルとして符号化する。さらには、参照ブロックと予測されるブロック（すなわち現在のフレームのブロック）との差である予測誤差を、離散コサイン変換などで変換符号化し、得られた係数を量子化して、その値を可変長符号化する。これにより、参照画像３１のデータ量を圧縮する。参照画像３１の符号化においては、隣の画像のデータを符号化に用いないので、単独に復号可能である。したがって、本実施例の圧縮符号化により得られた圧縮符号化データから予測画像３１ａを復号する際に、参照画像３１を参照して復号化することができる。
［参考文献１］ISO／IEC  １４４９６−１０  MPEG-4  Advanced  Video  Coding
【００４９】
（予測画像３１ａの処理）
カメラ１１に隣接するカメラ１２の出力である画像２２は、カメラ１１の画像２１と近似性があると推測できる。そこで、以下に説明するように、単独には符号化せず、画像２１から予測する事によりデータ量を削減する。以下の説明は、図３に示すフローチャートを参照しながら行う。
【００５０】
（図３のステップ３−１）
予測画像３１ａとして扱われる画像２２は、視差補償射影予測部４３に入力される。ここでは、参照画像３１を予測の参照元として、視差補償射影予測を行う。この状況は、隣の画像を用いて当該の画像の予測を行うことに相当する。
【００５１】
カメラから被写体までに距離があり、さらに、カメラ位置が異なる場合、参照画像３１内での被写体Ａの位置は、一般には、予測画像３１ａ内での位置とは異なる。そこで、参照画像３１と予測画像３１ａとをブロックに分割（請求項１のステップ（１）における分割の一例に相当）し、参照画像３１内において、予測画像３１ａのブロックを平行移動（請求項１のステップ（２）における視差補償としての平行移動の一例に相当）するにより、予測ブロックとサイズが一致し、かつ、参照ブロックと予測ブロック内の全画素毎の差の絶対値和で表される予測誤差が最小となる参照ブロックを探す。
【００５２】
ここで、各カメラが水平線上にかつ互いに平行に並んでいると仮定すれば、各画像内に写った被写体の高さは一致する。この場合は、参照ブロックの探索は、参照画像内を横方向に行うのみで良い。
【００５３】
また、各カメラの位置と姿勢とを既知としたので、予測ブロックと同じ位置にある参照ブロックを参照画像３１内の出発点として、カメラ位置から予想される方向に向けて予測ブロックを探索することもできる。このようにすれば、探索の為の処理量を減少させることができる。
【００５４】
本実施形態では、前記した分割による初期のブロックサイズとして、最初は３２画素×３２画素の大きなサイズを用いる。なお、本明細書の説明では、予測誤差最小となるブロックを探索するための処理をブロックマッチングと呼ぶことがある。また、最初に用いるブロックのサイズを３２画素×３２画素より大きくしても小さくしてもよい。
【００５５】
探索するブロックのサイズを大きく取る事により、画像を分割するブロック数が少なくなり、高速に探索が行えるという利点がある。
【００５６】
探索の結果、予測誤差が所定値より小さい参照ブロックが得られれば、ブロックサイズと、探索出発点からそのブロックの位置までに移動した画素数（つまり参照ブロックの位置情報としての移動距離）とを視差情報とする。これにより、視差情報及び予測誤差を決定することができる（ステップ３−８）。つまり、これにより、予測画像３１ａの視差補償予測符号化を行うことができる。さらに、視差情報と予測誤差とを、ステップ３−９で示すように、動き補償フレーム予測符号化して、更にデータ量を減らす。この処理は動き補償フレーム予測符号化部４５で行われる。このような探索で参照ブロックが得られるということは、その参照ブロックについては、カメラの光軸に垂直な単一面を持つ対象物の画像で構成されていると判断しうる。
【００５７】
（図３のステップ３−２）
図４に示す様に、一つの画像の中に、カメラからの距離の異なる複数の被写体Ａ１，Ａ２がある場合であって、かつ、一つのブロック内に、これらの被写体Ａ１及びＡ２の画像が含まれる場合がある。この場合は、参照ブロック７１と予測ブロック８１との間で視差が大きく変化するので、参照画像３１の内部には、予測誤差が所定値より小さいブロックを探すことができないことがある。この様な状態は、予測誤差が所定値より小さくならない事を検出することでそれを知ることができる。
【００５８】
この場合は、参照画像３１及び予測画像３１ａにおける一つのブロックを縦横各２分割して、１６画素×１６画素のサブブロックを４つ作り、このサブブロック毎に、参照ブロックの再探索を行う。つまり、前回のブロック分割で得たブロックのサイズよりも小さいサイズのブロックを、参照画像３１及び予測画像３１ａから生成する（請求項１のステップ（２）におけるブロック分割の一例に相当）。そして、小さいサイズのブロックを用いて、再びブロックマッチングを行う。予測誤差最小でかつ所定値以下の参照ブロックが見つかれば、前記と同様に視差情報を取得して視差補償予測符号化し（ステップ３−８、請求項１のステップ（３）における視差補償予測符号化の一例に対応）、さらに、ステップ３−９の動き補償予測を行う。
【００５９】
（図３のステップ３−３）
前記のブロック分割を行っても予測誤差が所定値以下にならない場合は、再度ブロック分割（請求項１のステップ（２）におけるブロック分割の一例に相当）を行い、８画素×８画素のサブブロックで、前記同様に、予測誤差最小の参照サブブロックの位置を探す。一般に、各ブロックにおける単一の被写体が、カメラの光軸に垂直な面で覆われていれば、予測誤差は所定値より小さくなると想定される。そのようなサブブロックが検出できれば、探索を終え、前記と同様に視差情報等を取得すると共に（ステップ３−８）、ステップ３−９の動き補償予測を行う。
【００６０】
（図３のステップ３−４）
分割を繰り返しても予測誤差が所定値より小さくならない場合は、図５（ａ）及び（ｂ）に示す様に、予測ブロック８１に対応する参照ブロック７１は、前景（対象物Ａ１）の陰に隠れている（つまりオクルージョンが発生している）と考えられる。このような場合、参照画像３１の内部をこれ以上探索しても参照ブロック７１は見つからない。
【００６１】
本実施形態では、このような場合、予測画像３１ａから見て、参照画像３１とは反対側にある参照画像３２（図５（ｃ）参照）の中で、前記ステップ３−２と同様にして、最大のブロックサイズを用いて、新たなブロックマッチングを行う。つまり、「予測画像３１ａ（第２の画像）の視点を挟んで参照画像３１（第１の画像）の視点と反対側となる視点において取得された参照画像３２（第３の画像）」との間で、前記のような視差補償を行い、その後、参照ブロック８２（図５（ｃ）参照）との間でブロックマッチングを行う。その結果、得られた最小予測誤差が、第２の所定値より小さければ、探索を終了し、予測誤差最小となった参照ブロックまでの移動距離と、参照画像３２を用いた事の情報とを視差情報とする。ここで、第２の所定値とは、前記した所定値と同じ値であっても異なる値であってもよい。これにより、予測誤差を得て、視差補償予測符号化を行うことができる（ステップ３−８）。さらに、ステップ３−９において、そのブロックの予測誤差等を、動き補償フレーム予測を用いて符号化する。なお、参照画像３２は、参照画像３１と同様に、動き補償フレーム予測符号化部４２で単独に符号化される（図２参照）。また、ブロックのサイズを変えると誤差の総和が変動するが、１画素あたりの誤差に正規化すれば、前記した所定値あるいは第２の所定値を、ブロックのサイズに拘わらず不変とすることができる。
【００６２】
（図３のステップ３−５）
最大のブロックサイズで探索した結果、参照ブロックが見つからない場合は、前記したステップ３−３と同様に、ブロック分割をして探索を繰り返す。
【００６３】
（図３のステップ３−６）
ステップ３−５の結果得られた最小予測誤差が、第２の所定値より大きかった場合は、参照ブロック（参照画像３１及び３２のいずれか又は両方について）の横幅を変える視差補償を行って、予測ブロックとのブロックマッチングを行う。その理由は次の通りである。一般に、ビル壁を斜めから見た時の様に、ブロックに射影されている被写体の面が、垂直軸（Ｙ軸）周りに回転している場合には、面のサイズが変化する。そこで、ブロックサイズを変えてマッチングを行うことにより、面の回転角を推測できる。なお、本実施形態では、カメラは横に並んでいるので横幅を変えるが、縦に並んでいる場合は、縦幅を変える視差補償を行う。一般に、多視差画像を得る場合、カメラを横に並べ、横幅が変わっていることのほうが多いと推測できるので、横幅を変える視差補償のほうが利用率は高いと考えられる。
【００６４】
このステップでは、参照画像３１の参照ブロック７１は、予測ブロック８１と比べて、その高さは同じで、横幅のみ変わって見える。この状態を図６に示す（図６（ａ）の参照ブロック７１と、図６（ｂ）の予測ブロック８１を参照）。
【００６５】
本実施形態では、ブロックの幅の探索を高速に行う為に、以下のような２項探索を行う。まず、参照ブロックの横幅を半分にした時の予測誤差と、横幅を２倍にした時の予測誤差を、１倍のときの予測誤差と比較し、最小値を与えるブロック幅を次の探索中心とする。ここで、参照ブロック幅を半分としたときの予測誤差の計算においては、半分とされた参照ブロックの中間画素の値を両脇の画素から補間して作る。このようにして得られた参照ブロックの各画素と、予測ブロックの対応する各画素との差の絶対値和を計算し、予測誤差を得る。参照ブロック幅を２倍とした時は、参照ブロックの２画素毎の平均値を新たな画素の値として、予測ブロックの対応する各画素との差の絶対値和を計算し、予測誤差を得る。
【００６６】
誤差最小のブロック幅が、半分であった場合は、その幅を中心としてブロック幅が４分の１の場合と４分の３の場合の予測誤差を同様にして求め、ブロック幅２分の１の場合の予測誤差と比較して誤差最小のブロック幅を得る。ブロック幅４分の１の参照ブロックから比較用の対応画素を作るには、参照ブロックの連続する２画素の間を線形補間して中間の４画素を新たに作り、それを両側に延長して、両側の２画素づつを作ればよい。ブロック幅４分の３の参照ブロックから比較の対応画素を作るには、連続する３画素から新たな４画素を次の様に補間して作れば良い。両端の２画素はそのまま新たな画素として使用し、中間の２画素は、中央の画素に重み８分の５を掛けて、端の画素に重み８分の３を掛けて加えて作ることができる。
【００６７】
この様にして得られた新たな探索中心に対して、更にブロック幅を８分の１加減して同様の探索を行い、誤差最小のブロック幅を求める。ブロック幅を８分の１とした場合は、隣合う２画素の間を内分して新たな８画素を作り予測ブロックと比較する。ブロック幅が８分の３の場合は、最初の画素と２番目の画素に夫々重み３分の１と３分の２を掛けた和として新たな１画素目を作り、２番目の画素をコピーして新たな２画素目を作り、２番目と３番目の画素に夫々重み９分の５と９分の４を掛けた和として３画素目を作り、同じく１６分の３と１６分の１３の重みを掛けた和を４画素目とし、３番目と４番目の画素に夫々重み１６分の１３と１６分の３を掛けた和を５画素目とし、同じく９分の４と９分の５を掛けた和を６画素目とし、４番目の画素をコピーして７画素目とし、４番目と５番目の画素に夫々重み３分の２と３分の１を掛けた和として８画素目を作り、比較を行う。
【００６８】
ブロック幅が８分の５の場合は、最初の画素をコピーして新たな１画素目を作り、１番目と２番目の画素に夫々重み９分の４と９分の５を掛けた和として２画素目を作り、２番目の画素をコピーして３画素目を作り、２番目と３番目の画素に夫々重み１０分の３と１０分の７を掛けた和として４画素目を作り、３番目と４番目の画素に夫々重み１０分の７と１０分の３を掛けた和として５画素目を作り、４番目の画素をコピーして６画素目を作り、４番目と５番目の画素に夫々重み７分の３と７分の４を掛けた和として７画素目を作り、５番目の画素をコピーして８画素目を作り、比較を行う。
【００６９】
ブロック幅が８分の７の場合は、最初の画素をコピーして新たな１画素目を作り、１番目と２番目の画素に夫々重み１０分の３と１０分の７を掛けた和として２画素目を作り、２番目と３番目の画素に夫々重み１６分の５と１６分の１１を掛けた和として３画素目を作り、３番目と４番目の画素に夫々重み９分の４と９分の５を掛けた和として４画素目を作り、４番目と５番目の画素に夫々重み９分の５と９分の４を掛けた和として５画素目を作り、５番目と６番目の画素に夫々重み３分の２と３分の１を掛けた和として６画素目を作り、６番目と７番目の画素に夫々重み５分の４と５分の１を掛けた和として７画素目を作り、７番目の画素をコピーして８画素目を作り、比較を行う。
【００７０】
誤差最小のブロック幅が、２倍であった場合は、その幅を中心としてブロック幅が１．５倍の場合と４倍の場合の予測誤差を同様にして求め、ブロック幅２倍の場合の予測誤差と比較して誤差最小のブロック幅を得る。ブロック幅１．５倍の参照ブロックから、比較する画素を作るには、３画素毎に、最初の２画素の平均と３番目の画素を、予測ブロックの２画素とすれば良い。ブロック幅４倍の参照ブロックから、比較する画素を作るには、４画素毎に、中央の２画素に３倍の重みをつけた画素の重み付け平均値を求め、予測ブロックの１画素とすれば良い。
【００７１】
この様にして得られた新たな探索中心が、ブロック幅１．５倍の参照ブロックであった場合は、参照ブロック幅を１．２５倍と１．７５倍とした時の予測誤差を同様に調べ、誤差最小のブロック幅を求める。参照ブロック幅を１．２５倍とする場合には、先ず最初の１画素を新たな１画素とし、次に続く２画素に夫々重み４分の３と４分の１を掛けて足したものを２つ目の画素とし、３つ目の画素と４つ目の画素の平均を新たな３つ目の画素とし、４つ目の画素と５つ目の画素に夫々、重み４分の１と４分の３を掛けて足したものを新たな４つ目の画素とし、以降これを繰り返せば良い。
【００７２】
同様に、参照ブロック幅を１．７５倍とした時は、最初の２画素に、夫々重み８分の５と８分の３を掛けて足したものを、新たな１つ目の画素とし、次の２画素に、夫々重み８分の１と８分の７を掛けて足したものを新たな２つ目の画素とし、４つ目の画素に重み８分の１を掛け、５つ目の画素に重み８分の７を掛けて足したものを新たな３つ目の画素とし、次の２画素に、夫々重み８分の３と８分の５を掛けて足したものを、新たな４つ目の画素とし、以降これを繰り返せば良い。
【００７３】
新たな探索中心が、ブロック幅４倍の場合は、ブロック幅３倍と６倍に対して、同様の探索を行い、誤差最小のブロック幅を求める。ブロック幅３倍の時には、３画素毎に、中央の画素に２倍の重みを付けて加算平均したものを新たな画素とし、６倍の時は、６画素毎に、中央の２画素に重み１５を掛け、その両外側各１画素に重み５を掛け、最外側の各１画素に重み３を掛けて平均値を求めたものを新たな１画素とすれば良い。
【００７４】
以上より求まった誤差最小のブロック幅を横幅の画素数で表し、最適ブロック幅とする。この最適ブロック幅における予測誤差が、第２の所定値より小さい場合は、前記同様、視差情報等を取得して視差補償予測符号化（ステップ３−８）すると共に、ステップ３−９での動き補償予測を行う。
【００７５】
（ステップ３−７）
ステップ３−６で求めた最適ブロック幅の予測誤差が第２の所定値より大きい場合は、図７に示す様に、画像面が更に横軸（Ｘ軸）に対しても回転している場合が多い。そこで、参照ブロックの形状を、矩形から、平行四辺形となるように、対向する左右の辺を同じ方向に傾けるという視差補償を行う。このように変形したブロックの画素を使って、ブロックマッチングを行う。ブロックの高さは、一般には、矩形のものと同じにする（したがって、一つのブロックに含まれる画素数は矩形の場合と同じである）。なお、カメラが縦に並んでいる場合は、対向する上下辺を傾ける視差補償を行うが、左右辺を傾ける視差補償を用いるほうが一般には適用率を高めることができると考えられる。
【００７６】
本実施形態では、探索を高速に行う為に、ここでも２項探索を行う。先ず、参照ブロックの左右の辺を、４５度左に傾けた場合と、右に傾けた場合とを想定する。これらの場合のそれぞれにおいて、対応する位置で、参照ブロックの画素と予測ブロックの画素との差分の絶対値和を夫々計算する。そして、参照ブロックを傾けない場合（傾き角が零度）の予測誤差との間で最小誤差を与える傾きを次の探索中心とする。
【００７７】
ここで、ブロックを４５度傾けた場合、対応する画素位置は、ブロックの中心を原点として、画素の高さ位置が１画素変化する毎に、傾けた方向に１画素づつ余分に横にずれた位置となるので、この位置の参照画素と元の位置の予測画素との差分を取ればよい。予測誤差（つまり差分）が所定値以上であれば、参照ブロックの分割や幅の変更を、前記と同様にして行い、ブロックマッチングを行う。ここで、参照ブロックの幅が１倍でない場合は、先ず元の幅のままでブロックを傾け、その後、上記の補間により、幅に応じた新たな画素を求めてブロックマッチングを行えば良い。この処理の結果として、誤差最小値を与える傾きが、４５度左に傾けた場合と、右に傾けた場合とのどちらであるかが判る。
【００７８】
前記のようにして、誤差最小値を与える傾きが得られたら、次に、その傾きを中心に、２２．５度傾きを加減した時の予測誤差を同様に計算し、誤差最小の傾きを求める。例えば、傾き６７．５度の場合は、高さが１画素変わる毎に、０．５画素傾いた方向にずれた画素を参照画素として、予測画素との差分を取れば良い。０．５画素ずれた位置の画素は、両側の画素から補間して作ればよい。同様にして、傾き２２．５度の場合の画素位置は、高さが１画素変わる毎に、２画素傾いた方向にずれた画素を参照画素として、予測画素との差分を取れば良い。この様にして得られた予測誤差最小の傾きに対して、更に、傾きを１１．２５度加減して、上記と同様にして対応する画素位置を求め、予測誤差最小となる傾きとその方向を求めて、最適ブロック傾きとする。以上の傾き探索は、傾きを加減しても予測誤差が小さくならなくなった時点で終了する。これにより、更に高速に探索をする事ができる。
【００７９】
（ステップ３−８）
以上の様にして、予測画像３１ａにおけるブロック毎の視差情報を得ることができる。また、ブロックごとの予測誤差も決定することができる。つまり、視差補償予測符号化することができる（ステップ３−８）。得られた予測誤差は、前記と同様、ステップ３−９において動き補償予測される。
【００８０】
（予測画像３２ａの処理）
つぎに、予測画像３２ａの処理を、図８を参照しながら説明する。予測画像３２ａの処理においては、前記のようにして得られた予測画像３１ａの視差情報を用いることで、処理を簡略化及び高速化する。
【００８１】
予測画像３１ａと予測画像３２ａは、いずれも、互いに間隔Ｂだけ離れたカメラの画像である。これらの画像においては、カメラ位置の違いがあるために、同じ位置のブロックどうしでは対応しない。そこで、以下のようにして、同じ被写体部分の画像に対応するブロックの位置を求める。
【００８２】
（ステップ８−１）
視差補償予測部４４には、カメラ１３からの画像２３が、予測画像３２ａとして入力される。一方、この予測部４４には、視差補償射影予測部４３で得られた視差情報も入力される。
【００８３】
（ステップ８−２）
視差補償予測部４４は、まず、予測画像３１ａのブロック（予測ブロック）における視差情報を端から順に調べる。予測ブロックの位置から参照ブロックの位置までの相対移動画素数（つまり移動距離）がＶであるとする。一方、予測画像３２ａのカメラ１３は、参照画像３１のカメラ１１とは、カメラ１２を挟んで反対側にある。すると、予測画像３２ａにおいて対応する予測ブロックの位置は、今注目している参照ブロックの位置から、−Ｖ画素だけ横移動した位置となる。そこで、予測画像３２ａにおける予測ブロックの視差情報の予測値として、予測画像３１ａの現在注目しているブロックの視差情報の符号を反転してコピーする。
【００８４】
この様にして、予測画像３１ａの全てのブロックに対応する、予測画像３２ａのブロック位置を求め、視差情報を、予測画像３２ａの視差情報としてコピーして行く。
【００８５】
予測画像３１aの着目ブロックと、上記の様にして位置を求めた予測画像３２aのブロックは、同じ被写体が写っているブロック対である。この様に同じ被写体が写っているブロックどうしを、「対応するブロック」と称する。予測画像３１aのブロックが参照するのが参照画像３２の場合や、予測画像３２aのブロックが参照するのが参照画像３１の場合にも、前記と同様にして、下記の様に、対応するブロックを決定できる。
【００８６】
ここで、予測画像３１ａから視差補償により求めた予測画像３２aの対応するブロック位置は、視差V画素ずれた位置のブロックであるが、一般にVはブロックのサイズの整数倍にはならないので、予測画像３２ａを最初から分割して作ったブロック位置とは整合しないことがある。この場合は、予測画像３１ａから求めたブロックの中心位置をカバーするブロックであって、かつ、予測画像３２ａを最大のブロックサイズで分割して作ったブロックに、視差情報をコピーすることで、予測画像３１aのブロックの視差情報を、予測画像３２aの視差情報の予測値における初期値に使う事が出来る。
【００８７】
また、被写体までの距離によっては、同じ位置に複数のブロックが対応する事がある。その場合は、参照ブロックまでの移動距離の大きなブロックが前景の画像であるので、この視差情報を優先して、予測画像３２ａのブロックにコピーする。または、予測画像３１ａと予測画像３２ａとにおいて対応するブロックの画素同士の差分を調べ、その差分値が小さい方のブロックの視差情報を優先して、予測画像３２ａのブロックにコピーする。
【００８８】
本実施形態では、予測画像３２ａに隣接する予測画像３１ａの視差情報を利用しているので、予測画像３２ａの視差情報を改めて全探索で求める必要はなく、この視差情報を高速に求めることができる。以下、視差情報の利用方法の詳細を補足して説明する。
【００８９】
予測画像３１ａの中で、参照画像３２を参照しているブロックでは、参照ブロックまでの相対距離は、予測画像３２a内の対応するブロックに対する、参照画像３２内の参照ブロックまでの相対距離と比べて、符号が同じで大きさが２倍になっている。そこで、この場合は、予測画像３２ａの中で、符号が同じで距離を半分にした位置をカバーするブロックに、視差情報の値を半分にしてコピーする。
【００９０】
この様にして得られた予測値を、予測画像３２ａの視差情報探索の出発点として、予測画像３１ａの視差情報を求めたのと同じ手順で探索をすれば、出発点の近傍に誤差最小点があるので、高速に探索が行える。
【００９１】
以上から明らかなように、本実施形態におけるブロック間の視差補償予測符号化は、さらに、第４の画像である予測画像３２ａの視差情報を符号化する処理を含んでいる。この処理は、
・第２の画像である予測画像３１ａの中で注目している注目ブロックから参照画像（本実施形態では、第１又は第３の画像である、参照画像３１又は３２）中の参照ブロックまでの移動距離が判明している場合、第４の画像とその参照画像との位置関係に応じて、前記の移動距離を、整数倍又は整数分の１倍した値を求め、
・前記第４の画像の中で、前記第２の画像中の前記注目ブロックと同じ相対位置から前記求めた値の距離だけ移動した位置のブロック（このブロックは、第２の画像中の着目ブロックと同じ対象物が写っているブロックである）の視差情報の予測値を、前記第２の画像中の注目ブロックの視差情報を用いて算出し、
・この予測値を用いて、第４の画像における視差情報の予測符号化を行う
ことを含んでいる。
【００９２】
また、以上から明らかなように、本実施形態におけるブロック間の視差補償予測符号化における、第４の画像である予測画像３２ａの視差情報を符号化する処理は、
・前記第２の画像の中で注目しているブロックから参照ブロックまでの移動距離が判明している場合、第４の画像とその参照画像との位置関係に応じて、前記移動距離を整数倍又は整数分の１倍した値を求め、
・これを、第４の画像の中の対応する位置にあるブロック（このブロックは、第２の画像中の着目ブロックと同じ対象物が写っているブロックである）から前記参照ブロックまでの移動距離として、予測符号化を行う
ものとしても表現できる。
【００９３】
（ステップ８−３）
以上の処理において、視差情報がコピーされなかったブロックは、予測画像３１aの中に対応ブロックのなかったものである。このようなブロックについては、参照画像３１と３２とを探索の対象として、予測誤差が最小になる参照ブロックの位置と形状を探索して視差情報を得る。この探索方法は、既に図３を参照しながら説明した通りであるので説明を省略する。
【００９４】
（ステップ８−４）
ついで、動き補償フレーム予測符号化部４６によって、符号化部４５と同様に、動き補償フレーム予測を行う。
【００９５】
本実施形態では、前記したように、予測画像３２ａの視差情報を、理想的には、予測画像３１ａにおいて対応する位置のブロックの視差情報から計算で求めることができる。すなわち、参照画像の位置を考慮して、視差情報の符号と大きさを調整すれば、計算で得た視差情報と実際にブロックマッチングで求めた視差情報との差分はほぼ０となる。したがって、本実施形態によれば、視差情報を、非常に高能率で予測符号化することができる。なお、ブロックによっては、オクルージョンその他の影響で、差分は完全にはゼロとならない。しかしながら、この差分値に対して、後で述べる動き補償フレーム予測符号化を適用すれば、更にデータ量を減らす事が出来る。
【００９６】
（視差情報間の予測符号化）
次に、前記した視差情報間の予測符号化の処理について、図９を参照しながら説明する。
【００９７】
（ステップ９−１）
前記のようにして、視差補償射影予測部４３及び４４で得られた視差情報は、視差補償射影予測部４７に入力される。これらの視差情報を用いて、視差情報間の予測符号化を行うことができる。この処理は、予測画像３２ａの視差情報を予測画像３１ａの視差情報から予測する過程（視差補償射影予測部４４による）に組み込んで、あるいは並行して行うことができる。これにより、高速な処理が可能となる。視差情報間の予測符号化は、例えば以下のようにして実現できる。
【００９８】
（ステップ９−２）
予測画像３１ａと予測画像３２ａの両方に、対応ブロック（すなわち同じ被写体が写っているブロック）が存在する部分には、視差補償射影予測部４７は、次の処理を行う。すなわち、この予測部４７は、「視差補償射影予測部４４において、予測画像３２ａの視差情報を求める際に使った、予測画像３１ａの視差情報から作った探索の初期値」と、「予測画像３２ａで得られた視差情報」との間で、参照画像の位置を考慮して差分を取る。この差分を用いて、視差情報間の予測符号化を高速で行うことができる（ステップ９−３）。
【００９９】
（ステップ９−４）
上記の高速な予測符号化は、予測画像３１ａと予測画像３２ａの両方に、前記のような条件に当てはまる対応ブロックが存在する部分にしか行えない。そこで、それ以外の部分については、予測画像３２ａと参照画像３２又は参照画像３１との間で、予測誤差最小となる参照ブロックの探索を行って、視差情報を得る。その結果から、予測画像３１ａの中の対応するブロック位置を求めて、視差情報間の予測符号化を行う。
【０１００】
この場合の予測符号化の手順は以下の通りである。ここで、予測画像３２ａは、参照画像３２を視差情報の取得に使っていたとする。先ず、予測画像３２ａで注目しているブロックに対応するブロック位置を、予測画像３１ａの中に求める為に、予測画像３２ａのブロックの視差情報を調べる。その結果、参照ブロックの位置までの相対移動画素数がＶであったとする。この場合、予測画像３１ａが参照画像３２ａとは反対側にある事を考慮して、予測画像３１ａの中の対応するブロック位置を、今注目しているブロック位置から、−Ｖ画素だけ横移動した位置のブロックであるとする。このブロックの視差情報の内、参照ブロックの相対位置を示す画素数は同じであるが、参照画像の取得位置が互いに反対であるので、視差情報の符号（ベクトルないし方向の符号）のみ異なる。従って、これを考慮して両視差情報の差分を取る。対応するブロックが予測画像３１ａの中にない場合は、参照画像３２の視差情報をそのまま差分値とする。
【０１０１】
同様にして、予測画像３２ａが、参照画像３１を予測に用いていた場合、予測画像３２ａの予測ブロックから参照ブロックまでの相対距離が＋Ｖ画素であるとする。この場合、この距離は、予測画像３１ａの予測ブロックから同じ参照ブロックまでの距離の２倍になっている。そこで、予測画像３１ａの中で、現在注目しているブロック位置から＋Ｖ／２画素移動した位置の参照ブロックを対応するブロックとして、視差情報の予測に使うことができる。この場合、予測画像３１ａにおける対応ブロックの視差情報の内、参照ブロックまでの移動距離は、予測画像３２ａから参照ブロックまでの移動距離と、符号が同じで大きさが半分になっている。そこで、この移動距離の値を２倍したものによって、予測画像３２ａのブロックの視差情報を予測すれば、参照ブロックまでの移動距離を正確に求めることができ、予測誤差を減らす事が出来る。
【０１０２】
また、予測画像３１ａが参照画像３２を用い、予測画像３２ａも参照画像３２を用いていることがある。ここで、予測画像３２ａの注目ブロックから参照ブロックまでの移動距離が＋Ｖ画素であるとする。このとき、予測画像３１ａの中では、予測画像３２ａの注目ブロックの位置から−Ｖ画素移動した位置のブロックを、対応ブロックとして予測に用いることができる。この時、予測画像３１ａの対応ブロックの視差情報の内、参照ブロックまでの移動距離は、符号が同じで大きさが２倍になっているので、その値を半分にした値を、予測に使えば良い。
【０１０３】
予測画像３１ａが参照画像３２を用い、予測画像３２ａが参照画像３１を用いている場合もある。このときは、予測画像３２ａのブロックから参照ブロックまでの移動距離は、予測画像３２ａのブロックから予測画像３１の対応するブロック位置までの距離に対して、符号が同じで大きさが２倍になっている。そこで、予測画像３２ａの注目ブロックの参照ブロックまでの移動距離＋Ｖ画素に対して、予測画像３１ａの中で、注目ブロックの位置から＋Ｖ／２画素移動した位置のブロックを、対応ブロックとして予測に用いれば良い。このとき、予測画像３１ａの対応ブロックの視差情報の内、参照ブロックまでの移動距離は、符号が逆で大きさは同じになっているので、大きさそのままで符号を逆にした値を使って、予測画像３２ａのブロックの視差情報を予測すれば良い。
【０１０４】
また、以上からも明らかなように、本実施形態におけるブロック間の視差補償予測符号化における、第４の画像である予測画像３２ａの視差情報を符号化する処理は、
・前記第２の画像の中で注目しているブロックから参照ブロックまでの移動距離が判明している場合、第４の画像とその参照画像との位置関係に応じて、前記移動距離を整数倍又は整数分の１倍した値を求め、
・これを、第４の画像の中の対応する位置にあるブロック（このブロックは、第２の画像中の着目ブロックと同じ対象物が写っているブロックである）から前記参照ブロックまでの移動距離として、予測符号化を行う
ものとなっている。
【０１０５】
（ステップ９−５）
前記した視差情報の予測符号化において、予測画像３１ａと予測画像３２ａ内の対応する位置にあるブロックのサイズが合わない場合は、次のように処理する。予測画像３１ａのブロックサイズの方が大きい時は、そのまま大きいブロックの視差情報を使って、予測画像３２ａの視差情報を予測符号化する。逆に小さい場合は、対応する全てのサブブロックの視差情報を調べ、予測画像３２ａの視差情報の予測誤差が最も小さくなるサブブロックの視差情報を使い、どのサブブロックの視差情報を予測に使ったかの情報と共に、予測画像３２ａの視差情報を予測符号化する。
【０１０６】
予測画像３１ａと予測画像３２ａ内の対応する位置のブロックの視差情報の内、参照ブロックの幅情報と傾き情報も、カメラ位置が異なる為、視差補正してから予測符号化する必要がある。先ず、ブロックの幅情報に関しては、次のように処理する。前提として、本実施形態のカメラは、間隔Ｂを置いて、カメラ１１、カメラ１２、カメラ１３、カメラ１４の順序で横一直線に並んでいる。ここで、仮定として、被写体の面が、鉛直であり、かつカメラ群を結んだ直線に対して、一定角度で、鉛直軸を中心として回転しているビルの壁等であるとする。この場合、各カメラの画像の幅は、被写体までの距離と、被写体の回転角と、カメラ間距離の値とで決まる一定値Δだけ、隣のカメラにおける画像の幅とは異なっている。
【０１０７】
本実施形態では、前記の通り、カメラ１１から１４の出力を、順に、参照画像３１、予測画像３１ａ、予測画像３２ａ、参照画像３２としている。このため、参照画像３１と予測画像３１ａとのブロック幅の比、すなわち、予測画像３１ａに対する、参照画像３１の参照ブロックの幅係数ｋは、ｋ＝ｘ１／ｘ２＝ｘ／（ｘ＋Δ）となる。このとき、同じ被写体部分の、予測画像３２ａに対する参照画像３２の参照ブロックの幅係数ｋ２は、ｋ２＝ｘ４／ｘ３＝（ｘ＋３Δ）／（ｘ＋２Δ）となる。これより、予測画像３２ａの参照ブロックの幅係数は、ｋ２＝（３−２ｋ）／（２−ｋ）と予測出来る。ここでｘは、参照画像３１のブロックの幅である。
【０１０８】
予測画像３１ａの参照画像として参照画像３２を使っていた場合は、予測画像３２ａの参照ブロックの幅係数ｋ２は、予測画像３１ａの参照ブロックの幅係数をｋとすると、ｋ２＝２ｋ／（１＋ｋ）で与えられる。逆に、予測画像３２ａの参照画像に参照画像３１ａを使っていた場合は、同様にして、ｋ２＝ｋ／（２−ｋ）となり、予測画像３１ａが参照画像３２を使い、予測画像３２ａが参照画像３１を使っていた場合は、ｋ２＝（３−ｋ）／（１＋ｋ）と予測出来る。よって、これらの場合ごとに適切な予測値を使えば、参照ブロックの幅情報の予測誤差は０となり、効率の良い圧縮が可能になる。
【０１０９】
なお、参照ブロックの幅係数ｋから、参照ブロックと予測ブロックの幅の差Δ＝ｘ（１−ｋ）／ｋを求めれば、予測画像３２ａの対応する予測ブロックと参照ブロックとの幅の差は、参照している画像の位置関係に応じて、−Δ、＋Δ／２、又は２Δのいずれかになるので、これを用いれば、予測画像３２ａの対応するブロックの参照ブロックの幅係数ｋ２は、ｋ２＝ｘ−Δ、ｘ＋Δ／２、又はｘ＋２Δのいずれかとして求めることもできる。ここで、ｘは予測ブロックの幅である。つまり、第２の画像である予測画像３１ａのブロックの幅と、その参照画像３１における参照ブロックの幅との差がΔであったとする。このときに、「第４の画像である予測画像３２ａの対応する位置にあるブロックの幅と、その参照ブロックの幅との差」を、「予測画像３１ａ及び予測画像３２ａの画像と、それらの参照画像とのそれぞれの位置関係に応じて、Δを整数倍又は整数分の１倍した値」によって予測することができる。
【０１１０】
次に、ブロックの傾き情報に関しては、つぎのように処理する。前記したように、本実施形態では、カメラ１１〜１４の出力である画像２１〜２４が、この順に、参照画像３１、予測画像３１ａ、予測画像３２ａ、参照画像３２として用いられている。
【０１１１】
ここで、予測画像３１ａが参照画像３１を参照に使い、予測画像３２ａが参照画像３２を参照に使っている場合、予測画像３２ａの参照ブロックの傾き係数は、予測画像３１ａの対応する位置におけるブロックに対する参照ブロックの傾き係数に対して、符号が逆で大きさは同じになる。このため、予測画像３１ａに対する参照画像３１の参照ブロックにおける傾き係数の符号のみを逆にしたものによって、予測画像３２ａに対する参照画像３２の参照ブロックの傾き係数を予測する事が可能になる。これにより、予測誤差を０とすることができる。
【０１１２】
予測画像３１ａが参照画像３２を参照に使い、予測画像３２ａも参照画像３２を参照に使っている場合、予測画像３２ａの参照ブロックの傾き係数は、予測画像３１ａの対応する位置のブロックに対応する参照ブロックの傾き係数に対して、符号が同じで大きさは半分になる。そこで、予測画像３１ａに対する参照画像３２の参照ブロックにおける傾き係数の大きさを半分にしたものとして、予測画像３２ａに対する参照画像３２の参照ブロックの傾き係数を予測する事が可能になる。これにより、予測誤差を０とすることができる。
【０１１３】
予測画像３１ａが参照画像３１を参照に使い、予測画像３２ａも参照画像３１を参照に使っている場合、予測画像３２ａの参照ブロックの傾き係数は、予測画像３１ａの対応する位置のブロックに対応する参照ブロックの傾き係数に対して、符号が同じで大きさは倍になる。そこで、予測画像３１ａに対する参照画像３１の参照ブロックの傾き係数の大きさを２倍にしたものとして、予測画像３２ａに対する参照画像３２の参照ブロックの傾き係数を予測する事ができる。
【０１１４】
予測画像３１ａが参照画像３２を参照に使い、予測画像３２ａが参照画像３１を参照に使っている場合、予測画像３２ａの参照ブロックの傾き係数は、予測画像３１ａの対応する位置のブロックに対応する参照ブロックの傾き係数に対して、符号が逆で大きさは同じになる。そこで、予測画像３１ａに対する参照画像３２ａの参照ブロックにおける傾き係数の符号を逆にしたものとして、予測画像３２ａに対する参照画像３１の参照ブロックの傾き係数を予測する事ができる。
【０１１５】
以上説明した通り、予測される側のブロック（例えば予測画像３２ａのブロック）における視差情報として、参照ブロックのサイズと、どのサブブロックかの情報と、どちら側の参照画像が予測に用いられていたかの情報があれば、参照ブロックの相対位置と幅係数と傾き係数は、参照された側（例えば予測画像３１ａのブロック）の視差情報から計算出来る。よって、その予測ブロックにおける視差情報の予測誤差のみをビットストリーム（つまり圧縮符号化データ）に入れておけば、予測ブロックの視差情報は、復号化手段で復号化できる。予測画像３１ａ内に、対応するブロックが無い場合は、予測画像３２ａの参照ブロックの大きさと位置と傾きと幅情報をそのまま予測誤差としておき、これを圧縮符号化データに入れる。
【０１１６】
この様に、予測画像３２ａの参照ブロックの幅係数と傾き係数も、予測画像３１ａの対応する位置の参照ブロックの幅係数と傾き係数から計算出来るので、予測画像３２ａの視差情報は、この計算値を出発点として、その近傍のみを探索すれば得ることができ、視差情報の取得を高速に行うことができる。
【０１１７】
（ステップ９−６）
この様にして得られた視差情報の予測誤差を、動き補償フレーム予測符号化部４８（図２参照）によってさらに圧縮符号化することができる。例えば、カメラ位置は不変であるので、あるブロックが静止物体からの射影画像であれば、時間的に過去のフレームの同じ位置のブロックの視差情報の予測誤差は、現在時点でのそれと同じ値になっている。また、ブロックが、動く物体からの射影画像になっている場合は、時間的に過去又は未来のフレームの中で、近傍のブロックの探索を行い、最も近い視差情報の予測誤差値を持つブロックの位置までの移動画素数を動きベクトルとして、その位置のブロックの予測誤差で視差情報の予測誤差を予測することができる。このような動き補償フレーム予測によって、視差情報の予測誤差を更に大きく削減することができる。動き補償フレーム予測の方法自体はよく知られているので、本明細書ではこれ以上の説明は省略する。
【０１１８】
［第２実施形態］
次に、前記の圧縮符号化方法によって符号化された視差情報及び各画像を復号する方法について、第２実施形態として、図面を参照しながら以下において説明する。
【０１１９】
まず、本実施形態に係る復号化方法に用いる復号化装置の概略的な構成を、図１０に基づいて説明する。この復号化装置は、多視点画像復号化システムに組み込まれているものである。
【０１２０】
本実施形態の多視点画像復号化システムは、復号化装置５と、映像表示器６とを主要な構成要素として備えている。
【０１２１】
復号化装置５は、以下に詳述するとおり、圧縮符号化装置４から送られてきたビットストリームを復号し、元の画像２１，２２，…，２ｎとして出力できるようになっている。
【０１２２】
映像表示器６は、復号された画像２１，２２，…，２ｎを、選択的に又は複合的に、表示することができるものである。映像表示器６としては、例えば、ユーザが希望する視点からの画像を選択して表示する機能を有していることが好ましい。このようにすると、ユーザは、任意の視点からの画像を見る事ができる。また、映像表示器としては、復号された複数の画像を用いて立体的な画像を表示できる、いわゆる３Ｄディスプレイであってもよい。
【０１２３】
復号化装置５は、図１１に示すように、動き補償フレーム予測復号化部５１及び５２と、動き補償フレーム予測復号化部５３と、視差補償射影予測復号化部５４と、動き補償フレーム予測復号化部５５と、視差補償射影予測復号化部５６と、動き補償フレーム予測復号化部５７と、視差補償射影予測復号化部５８とを備えている。
【０１２４】
動き補償フレーム予測復号化部５１及び５２は、参照画像３１及び３２をそれぞれ再生するものである。動き補償フレーム予測復号化部５３及び視差補償射影予測復号化部５４は、予測画像３１ａを再生するものである。動き補償フレーム予測復号化部５５及び視差補償射影予測復号化部５６は、予測画像３１ａ及び３２ａの視差情報を再生するものである。動き補償フレーム予測復号化部５７及び視差補償射影予測復号化部５８は、予測画像３２aを再生するものである。復号化装置５のさらに詳細な構成は、その動作の説明において述べる。
【０１２５】
（復号化装置の動作）
つぎに、送信されてきたビットストリームを復号化装置５で復号する手順を説明する。なお、復号化装置５で復号するビットストリームは、電送媒体（例えばネットワーク）を介して送られても、記録媒体から直接送られてもよい。要するに、復号化装置５がビットストリームを取得する経路や手段は特に制約されない。
【０１２６】
この復号化装置５では、送られてきたビットストリームから、参照画像３１，３２や予測画像３１ａ，３２ａ等のストリームが分離される。この分離は、従来知られているようなデマルチプレクサによって行うことができる。
【０１２７】
ビットストリームから分離された、参照画像３１及び３２のストリームは、それぞれ、動き補償フレーム予測復号化部５１及び５２に入力されて復号化される。この復号化過程は、従来の、動き補償フレームの復号化と同じであるが、以下簡単に説明しておく。
【０１２８】
動き補償フレームの復号化においては、可変長符号の復号化テーブルを用いて、可変長符号化されたストリームを固定長のデータに戻し、逆量子化を行ってDCT等の変換符号化係数に戻し、逆変換符号化を行ってフレーム予測差分値に戻す。また、ストリームに多重化されている動きベクトルを取り出し、これを用いて、動き補償フレーム予測復号化部５１若しくは５２内のメモリに蓄えられているフレームデータ内で参照ブロックの位置を求め、その位置の画素に上記フレーム予測差分値を加える。このようにして、元の参照画像３１及び３２を得ることができる。
【０１２９】
ビットストリームから分離された、予測画像３１ａのストリームは、動き補償フレーム予測復号化部５３に入力され、前記と同様に復号化される。これにより、視差情報と、画像の視差補償射影予測の予測誤差とを得ることができる。
【０１３０】
得られた視差情報は、視差補償射影予測復号化部５４に入力される。この部５４においては、先に記載のように復号化した参照画像３１又は３２の中の参照ブロックの位置を求めて、そのブロックの幅と傾きを、夫々、視差情報に含まれる幅係数と傾き係数とで変形する。さらに、予測ブロックに対応する位置における参照ブロックの画素値に、予測誤差を加える。これにより、予測画像３１ａのブロックを再生することができる。
【０１３１】
ビットストリームから分離された、予測画像３２ａのストリームは、動き補償フレーム予測復号化部５７に入力され、前記と同様に復号化される。これにより、画像の視差補償射影予測の予測誤差を得ることができる。
【０１３２】
ここで、予測画像３２ａの視差情報は、圧縮符号化装置４において、予測画像３１ａの視差情報を元に視差補償射影予測符号化された後、動き補償フレーム予測されている。そこで、本実施形態では、このように圧縮符号化されたストリームをビットストリームから取り出して、動き補償フレーム予測復号化部５５にも送り、ここで同様に復号化する。これによって、視差情報の予測誤差を得ることができる。
【０１３３】
復号化部５５で得られた視差情報の予測誤差は、視差補償射影予測復号化部５６に送られる。この復号化部５６では、先に説明した復号化によって得られた予測画像３１ａの視差情報から、予測画像３２ａの対応するブロックの位置を求める。さらに、そのブロックが参照している画像の位置関係に応じて、予測画像３１ａの視差情報から求めた視差情報を、そのブロックの予測値とし、先程得た予測誤差に加える。このような処理によって、視差情報を再生することができる。
【０１３４】
ここで、既に再生が終わっているブロックの視差情報が重複して別の位置から得られた場合は、参照ブロック位置までの移動距離の大きい方の視差情報を採用する。対応するブロックが無い部分には、先程の動き補償フレーム予測復号化の結果、予測画像３２ａの視差情報がそのまま予測誤差として入っている。以上の処理によって全ての視差情報を得ることができる。
【０１３５】
視差補償射影予測復号化部５８では、前記の処理によって得られた視差情報を使って、参照画像３１又は３２において、予測ブロックに対応する参照ブロックの位置を求める。さらに、その参照ブロックの幅と傾きを、幅係数と傾き係数で変形した状態における、対応位置での参照ブロックの画素を求める。そして、先に説明した処理で得られた予測画像３２ａの予測誤差を参照ブロックの画素値に加える。このような処理によって、予測画像３２ａのブロックを再生することができる。
【０１３６】
なお、前記した実施形態１および２では、参照画像と予測画像を、参照画像３１、予測画像３１ａ、予測画像３２ａ、参照画像３２…の順に配置した。つまり、参照画像１本に対し予測画像２本となる比にした。しかしながら、オクルージョンが十分少ない場合は、別の配置、すなわち、参照画像１本に対し、予測画像ｎ本（ｎは３以上の整数）の様に構成しても良い。この場合は、例えば、予測影画像−ｎ、…、予測画像−２、予測画像−１、参照画像０、予測画像１、予測画像２、…、予測画像ｎの様になる。このようにすると、更にデータ量の削減が可能になる。ただし、画像間の距離が大きくなると、予測誤差が増えると予想される。
【０１３７】
前記第１・第２実施形態に係る圧縮符号化及び復号化方法によれば、今後普及する立体映像の構成に不可欠な多視点映像を、簡単な処理で高速かつ高精度に圧縮し、また復号化することができる。したがって、立体映像機器（撮像機側及び表示器側）の小型化、低コスト化及び高性能化に有用であるという利点がある。
【０１３８】
従来の圧縮符号化方法では、平行移動のみによる視差補償を行っているために、既に述べた通り、種々の欠点を有していた。これに対して、前記した実施形態の方法では、これらの欠点をほぼ全て解消することができ、高画質な多視点映像を高能率に送信することが可能となる。このため、本実施形態の方法は、ユーザが自由に視点を選べるフリービューＴＶの実現にも有用であるという利点がある。
【０１３９】
なお、ユーザが、再生された画像２１〜２ｎには含まれない位置からの映像を希望する場合は、例えばつぎのようにして対応できる。まず、その希望位置に最も近い２つの画像を取り出す。ついで、付随している視差情報から、希望位置での視差情報を、上記と同様にして求める。ついで、この視差情報の値を用いて、取り出した２つの画像を視差補償する。このようにして、希望位置からの射影画像を容易に作り出す事が出来る。
【０１４０】
本実施形態では、各画像２１〜２ｎに対する時間軸方向の拘束は、従来の動き補償フレーム予測符号化によるものだけである。よって、画像の復号時において、任意の時点のフレームから再生するような、ランダムアクセスに要する速さは、従来方法と同等に抑えることが可能である。
【図面の簡単な説明】
【０１４１】
【図１】本発明の第１実施形態に係る圧縮符号化装置を用いた多視点画像符号化システムの概略的な構成図である。
【図２】圧縮符号化装置の内部構造を説明するための概略的なブロック図である。
【図３】視差補償予測を説明するためのフローチャートである。
【図４】参照画像及び予測画像のそれぞれに複数の被写体が写っている例を示す説明図であって、図（ａ）は参照画像、図（ｂ）は予測画像を示している。
【図５】オクルージョンが生じている状態を説明するための説明図であって、図（ａ）は参照画像、図（ｂ）は予測画像、図（ｃ）は他の参照画像を示している。
【図６】画像内の被写体の面が縦軸（垂直軸）の周りに回転している状態を説明するための説明であって、図（ａ）は参照画像、図（ｂ）は予測画像を示している。
【図７】画像内の被写体の面が横軸（水平軸）の周りに回転している状態を説明するための説明であって、図（ａ）は参照画像、図（ｂ）は予測画像を示している。
【図８】視差補償予測を説明するためのフローチャートである。
【図９】視差補償予測を説明するためのフローチャートである。
【図１０】本発明の第２実施形態に係る復号化装置を用いた多視点画像復号化システムの概略的な構成図である。
【図１１】復号化装置の内部構造を説明するための概略的なブロック図である。
【図１２】従来の多視点画像符号化装置の概略的な構成図である。
【図１３】左目画像の参照ブロックから右目画像の予測ブロックを予測する処理を説明するための説明図であって、図（ａ）は左目画像、図（ｂ）は右目画像を示している。
【符号の説明】
【０１４２】
１１〜１４，…，１ｎ  カメラ
２１〜２４，…，２ｎ  画像
４  圧縮符号化装置
５  復号化装置
６  映像表示器
３１  参照画像（第１の画像）
３１ａ  予測画像（第２の画像）
３２  参照画像（第３の画像）
３２ａ  予測画像（第４の画像）
４１，４２，４５，４６，４８  動き補償フレーム予測符号化部
４３，４４，４７  視差補償画像予測部
５１，５２，５３，５５，５７  動き補償フレーム予測復号化部
５４，５６，５８  視差補償画像予測復号化部
７１  参照ブロック
８１  予測ブロック
Ａ，Ａ１，Ａ２  対象物
Ｂ  間隔
ｋ，ｋ２  幅係数
【図１】
2007166381.tif 000003
【図２】
2007166381.tif 000004
【図３】
2007166381.tif 000005
【図４】
2007166381.tif 000006
【図５】
2007166381.tif 000007
【図６】
2007166381.tif 000008
【図７】
2007166381.tif 000009
【図８】
2007166381.tif 000010
【図９】
2007166381.tif 000011
【図１０】
2007166381.tif 000012
【図１１】
2007166381.tif 000013
【図１２】
2007166381.tif 000014
【図１３】
2007166381.tif 000015