【文献】
志水信哉(外3名),多視点デプスマップの情報を用いた高効率多視点映像符号化,映像情報メディア学会誌,日本,2009年 4月 1日,第63巻, 第4号,P.524-532
【文献】
Gerhard Tech(外3名),3D-HEVC Test Model 1,Joint Collaborative Team on 3D Video Coding Extension Development of ITU-T SG16 WP3 and ISO/IEC JTC1,米国,ITU-T,2012年 9月20日,p.12-21
【文献】
Yu-Lin Chang,Yi-Wen Chen,Jian-Liang Lin,Na Zhang,Jicheng An,Yu-Wen Huang,Shawmin Lei,3D-CE2.h related:Simplified DV derivation for DoNBDV and BVSP, Joint Collaborative Team on 3D Video Coding Extension Development of ITU-T SG16 WP3 and ISO/IEC JTC 1/SC 29/WG11 4th Meeting:Incheon,KR,20-26 Apr.2013,米国,2013年 4月13日,JCT3V-D0138,P.1-P.4
(58)【調査した分野】(Int.Cl.,DB名)
複数の異なる視点の映像からなる多視点映像の1フレームである符号化対象画像を符号化する際に、前記符号化対象画像の視点とは異なる参照視点に対する画像である参照視点画像と、前記多視点映像中の被写体に対するデプスマップとを用いて、前記符号化対象画像を分割した領域である符号化対象領域ごとに、異なる視点間で予測しながら符号化を行う映像符号化装置であって、
前記デプスマップから代表デプスを設定する代表デプス設定部と、
前記代表デプスに基づいて、前記符号化対象画像上の位置を前記参照視点画像上の位置との対応関係を与える変換行列を設定する変換行列設定部と、
前記符号化対象領域内の位置から代表位置を設定する代表位置設定部と、
前記代表位置と前記変換行列を用いて、前記符号化対象領域に対する前記符号化対象の前記視点と前記参照視点の視差情報を設定する視差情報設定部と、
前記視差情報を用いて、前記符号化対象領域に対する予測画像を生成する予測画像生成部と、
前記符号化対象領域に対して、前記デプスマップ上での対応領域であるデプス領域を設定するデプス領域設定部と、
前記符号化対象領域に対して、前記デプスマップに対する視差ベクトルであるデプス参照視差ベクトルを設定するデプス参照視差ベクトル設定部と
を有し、
前記代表デプス設定部は、前記デプス領域に対する前記デプスマップから前記代表デプスを設定し、
前記デプス領域設定部は、前記デプス参照視差ベクトルによって示される領域を前記デプス領域として設定する映像符号化装置。
前記デプス参照視差ベクトル設定部は、前記符号化対象領域に隣接する領域を符号化する際に使用した視差ベクトルを用いて、前記デプス参照視差ベクトルを設定する請求項1に記載の映像符号化装置。
前記代表デプス設定部は、前記符号化対象領域の4頂点の画素に対応する前記デプス領域内のデプスのうち、最も前記符号化対象画像の前記視点に近いことを示すデプスを前記代表デプスとして設定する請求項1または請求項2に記載の映像符号化装置。
複数の異なる視点の映像からなる多視点映像の符号データから、復号対象画像を復号する際に、前記復号対象画像の視点とは異なる参照視点に対する画像である参照視点画像と、前記多視点映像中の被写体に対するデプスマップとを用いて、前記復号対象画像を分割した領域である復号対象領域ごとに、異なる視点間で予測しながら復号を行う映像復号装置であって、
前記デプスマップから代表デプスを設定する代表デプス設定部と、
前記代表デプスに基づいて、前記復号対象画像上の位置を前記参照視点画像上の位置との対応関係を与える変換行列を設定する変換行列設定部と、
前記復号対象領域内の位置から代表位置を設定する代表位置設定部と、
前記代表位置と前記変換行列を用いて、前記復号対象領域に対する前記復号対象の前記視点と前記参照視点の視差情報を設定する視差情報設定部と、
前記視差情報を用いて、前記復号対象領域に対する予測画像を生成する予測画像生成部と、
前記復号対象領域に対して、前記デプスマップ上での対応領域であるデプス領域を設定するデプス領域設定部と、
前記復号対象領域に対して、前記デプスマップに対する視差ベクトルであるデプス参照視差ベクトルを設定するデプス参照視差ベクトル設定部と
を有し、
前記代表デプス設定部は、前記デプス領域に対する前記デプスマップから前記代表デプスを設定し、
前記デプス領域設定部は、前記デプス参照視差ベクトルによって示される領域を前記デプス領域として設定する映像復号装置。
前記代表デプス設定部は、前記復号対象領域の4頂点の画素に対応する前記デプス領域内のデプスのうち、最も前記復号対象画像の前記視点に近いことを示すデプスを前記代表デプスとして設定する請求項4または請求項5に記載の映像復号装置。
複数の異なる視点の映像からなる多視点映像の1フレームである符号化対象画像を符号化する際に、前記符号化対象画像の視点とは異なる参照視点に対する画像である参照視点画像と、前記多視点映像中の被写体に対するデプスマップとを用いて、前記符号化対象画像を分割した領域である符号化対象領域ごとに、異なる視点間で予測しながら符号化を行う映像符号化方法であって、
前記デプスマップから代表デプスを設定する代表デプス設定ステップと、
前記代表デプスに基づいて、前記符号化対象画像上の位置を前記参照視点画像上の位置との対応関係を与える変換行列を設定する変換行列設定ステップと、
前記符号化対象領域内の位置から代表位置を設定する代表位置設定ステップと、
前記代表位置と前記変換行列を用いて、前記符号化対象領域に対する前記符号化対象の前記視点と前記参照視点の視差情報を設定する視差情報設置ステップと、
前記視差情報を用いて、前記符号化対象領域に対する予測画像を生成する予測画像生成ステップと、
前記符号化対象領域に対して、前記デプスマップ上での対応領域であるデプス領域を設定するデプス領域設定ステップと、
前記符号化対象領域に対して、前記デプスマップに対する視差ベクトルであるデプス参照視差ベクトルを設定するデプス参照視差ベクトル設定ステップと
を有し、
前記代表デプス設定ステップは、前記デプス領域に対する前記デプスマップから前記代表デプスを設定し、
前記デプス領域設定ステップは、前記デプス参照視差ベクトルによって示される領域を前記デプス領域として設定する映像符号化方法。
複数の異なる視点の映像からなる多視点映像の符号データから、復号対象画像を復号する際に、前記復号対象画像の視点とは異なる参照視点に対する画像である参照視点画像と、前記多視点映像中の被写体に対するデプスマップとを用いて、前記復号対象画像を分割した領域である復号対象領域ごとに、異なる視点間で予測しながら復号を行う映像復号方法であって、
前記デプスマップから代表デプスを設定する代表デプス設定ステップと、
前記代表デプスに基づいて、前記復号対象画像上の位置を前記参照視点画像上の位置との対応関係を与える変換行列を設定する変換行列設定ステップと、
前記復号対象領域内の位置から代表位置を設定する代表位置設定ステップと、
前記代表位置と前記変換行列を用いて、前記復号対象領域に対する前記復号対象の前記視点と前記参照視点の視差情報を設定する視差情報設置ステップと、
前記視差情報を用いて、前記復号対象領域に対する予測画像を生成する予測画像生成ステップと、
前記復号対象領域に対して、前記デプスマップ上での対応領域であるデプス領域を設定するデプス領域設定ステップと、
前記復号対象領域に対して、前記デプスマップに対する視差ベクトルであるデプス参照視差ベクトルを設定するデプス参照視差ベクトル設定ステップと
を有し、
前記代表デプス設定ステップは、前記デプス領域に対する前記デプスマップから前記代表デプスを設定し、
前記デプス領域設定ステップは、前記デプス参照視差ベクトルによって示される領域を前記デプス領域として設定する映像復号方法。
複数の異なる視点の映像からなる多視点映像の1フレームである符号化対象画像を符号化する際に、前記符号化対象画像の視点とは異なる参照視点に対する画像である参照視点画像と、前記多視点映像中の被写体に対するデプスマップとを用いて、前記符号化対象画像を分割した領域である符号化対象領域ごとに、異なる視点間で予測しながら符号化を行う映像符号化装置であって、
前記デプスマップから代表デプスを設定する代表デプス設定部と、
前記代表デプスに基づいて、前記符号化対象画像上の位置を前記参照視点画像上の位置との対応関係を与える変換行列を設定する変換行列設定部と、
前記符号化対象領域内の位置から代表位置を設定する代表位置設定部と、
前記代表位置と前記変換行列を用いて、前記符号化対象領域に対する前記符号化対象の前記視点と前記参照視点の視差情報を設定する視差情報設定部と、
前記視差情報を用いて、前記符号化対象領域に対する予測画像を生成する予測画像生成部と
を有し、
前記変換行列設定部は、前記符号化対象画像の視点と前記参照視点との位置関係の変化が所定の値よりも大きいときに、前記変換行列を求め直す映像符号化装置。
複数の異なる視点の映像からなる多視点映像の符号データから、復号対象画像を復号する際に、前記復号対象画像の視点とは異なる参照視点に対する画像である参照視点画像と、前記多視点映像中の被写体に対するデプスマップとを用いて、前記復号対象画像を分割した領域である復号対象領域ごとに、異なる視点間で予測しながら復号を行う映像復号装置であって、
前記デプスマップから代表デプスを設定する代表デプス設定部と、
前記代表デプスに基づいて、前記復号対象画像上の位置を前記参照視点画像上の位置との対応関係を与える変換行列を設定する変換行列設定部と、
前記復号対象領域内の位置から代表位置を設定する代表位置設定部と、
前記代表位置と前記変換行列を用いて、前記復号対象領域に対する前記復号対象の前記視点と前記参照視点の視差情報を設定する視差情報設定部と、
前記視差情報を用いて、前記復号対象領域に対する予測画像を生成する予測画像生成部と
を有し、
前記変換行列設定部は、前記復号対象画像の視点と前記参照視点との位置関係の変化が所定の値よりも大きいときに、前記変換行列を求め直す映像復号装置。
複数の異なる視点の映像からなる多視点映像の1フレームである符号化対象画像を符号化する際に、前記符号化対象画像の視点とは異なる参照視点に対する画像である参照視点画像と、前記多視点映像中の被写体に対するデプスマップとを用いて、前記符号化対象画像を分割した領域である符号化対象領域ごとに、異なる視点間で予測しながら符号化を行う映像符号化方法であって、
前記デプスマップから代表デプスを設定する代表デプス設定ステップと、
前記代表デプスに基づいて、前記符号化対象画像上の位置を前記参照視点画像上の位置との対応関係を与える変換行列を設定する変換行列設定ステップと、
前記符号化対象領域内の位置から代表位置を設定する代表位置設定ステップと、
前記代表位置と前記変換行列を用いて、前記符号化対象領域に対する前記符号化対象の前記視点と前記参照視点の視差情報を設定する視差情報設置ステップと、
前記視差情報を用いて、前記符号化対象領域に対する予測画像を生成する予測画像生成ステップと
を有し、
前記変換行列設定ステップは、前記符号化対象画像の視点と前記参照視点との位置関係の変化が所定の値よりも大きいときに、前記変換行列を求め直す映像符号化方法。
複数の異なる視点の映像からなる多視点映像の符号データから、復号対象画像を復号する際に、前記復号対象画像の視点とは異なる参照視点に対する画像である参照視点画像と、前記多視点映像中の被写体に対するデプスマップとを用いて、前記復号対象画像を分割した領域である復号対象領域ごとに、異なる視点間で予測しながら復号を行う映像復号方法であって、
前記デプスマップから代表デプスを設定する代表デプス設定ステップと、
前記代表デプスに基づいて、前記復号対象画像上の位置を前記参照視点画像上の位置との対応関係を与える変換行列を設定する変換行列設定ステップと、
前記復号対象領域内の位置から代表位置を設定する代表位置設定ステップと、
前記代表位置と前記変換行列を用いて、前記復号対象領域に対する前記復号対象の前記視点と前記参照視点の視差情報を設定する視差情報設置ステップと、
前記視差情報を用いて、前記復号対象領域に対する予測画像を生成する予測画像生成ステップと
を有し、
前記変換行列設定ステップは、前記復号対象画像の視点と前記参照視点との位置関係の変化が所定の値よりも大きいときに、前記変換行列を求め直す映像復号方法。
【背景技術】
【0002】
自由視点映像とは、撮影空間内でのカメラの位置や向き(以下、「視点」という。)をユーザが自由に指定できる映像である。自由視点映像では、ユーザが視点を任意に指定するため、指定される可能性の有る全ての視点からの映像を保持することは不可能である。そのため、自由視点映像は、指定可能ないくつかの視点からの映像を生成するのに必要な情報群によって構成される。なお、自由視点映像は、自由視点テレビ、任意視点映像又は任意視点テレビなどと呼ばれることもある。
【0003】
自由視点映像は、様々なデータ形式を用いて表現されるが、最も一般的な形式として、映像とその映像のフレームに対応するデプスマップ(距離画像)とを用いる方式がある(例えば、非特許文献1参照)。デプスマップとは、カメラから被写体までのデプス(距離)を画素ごとに表現したものである。デプスマップは、被写体の三次元的な位置を表現している。
【0004】
デプスは、ある条件を満たす場合、二つのカメラ(カメラ対)の間の視差の逆数に比例している。このため、デプスは、ディスパリティマップ(視差画像)と呼ばれることもある。コンピュータグラフィックスの分野では、デプスは、Zバッファに蓄積された情報となるため、Z画像又はZマップと呼ばれることもある。なお、カメラから被写体までの距離の他に、表現対象空間上に張られた三次元座標系のZ軸の座標値(Z値)を、デプスとして用いることもある。
【0005】
撮影された画像に対して水平方向にX軸、垂直方向にY軸が定められた場合、Z軸はカメラの向きと一致する。しかし、複数のカメラに対して共通の座標系を用いる場合には、Z軸は、カメラの向きと一致しないこともある。以下では、距離及びZ値を区別せずに「デプス」という。また、デプスを画素値として表した画像を「デプスマップ」という。ただし、厳密には、ディスパリティマップでは、基準となるカメラ対を設定する必要がある。
【0006】
デプスを画素値として表す際に、物理量に対応する値をそのまま画素値とする方法と、最小値及び最大値の間が所定数の区間に量子化されるときにデプスの量子化によって得られる値を用いる方法と、デプスの最小値からの差を所定ステップ幅で量子化して得られる値を用いる方法とがある。表現したい範囲が限られている場合には、最小値などの付加情報を用いるほうが、デプスを高精度に表現することができる。
【0007】
また、物理量を等間隔に量子化する方法には、物理量をそのまま量子化する方法と、物理量の逆数を量子化する方法とがある。距離の逆数は視差に比例した値となるため、距離を高精度に表現する必要がある場合には、前者が使用され、視差を高精度に表現する必要がある場合には、後者が使用されることが多い。
【0008】
以下では、デプスの画素値化の方法や量子化の方法に関係なく、デプスが表現された画像を「デプスマップ」という。デプスマップは、画素ごとに一つの値を持つ画像として表現されるため、グレースケール画像とみなすことができる。被写体は、実空間上で連続的に存在し、離れた位置へ瞬間的に移動することができない。このため、デプスマップは、映像信号と同様に、空間的相関及び時間的相関を有すると言える。
【0009】
したがって、画像信号を符号化するために用いられる画像符号化方式、又は、映像信号を符号化するために用いられる映像符号化方式によって、デプスマップ、又は、連続するデプスマップで構成される映像を、空間的冗長性や時間的冗長性を取り除きながら、効率的に符号化することが可能である。以下では、デプスマップと、連続するデプスマップで構成される映像とを区別せずに、「デプスマップ」という。
【0010】
一般的な映像符号化について説明する。映像符号化では、被写体が空間的および時間的に連続しているという特徴を利用して効率的な符号化を実現するために、マクロブロックと呼ばれる処理単位ブロックに、映像の各フレームを分割する。映像符号化では、マクロブロックごとに、その映像信号を空間的及び時間的に予測し、その予測方法を示す予測情報と予測残差とを符号化する。
【0011】
映像信号を空間的に予測する場合は、例えば、空間的な予測の方向を示す情報が予測情報となる。映像信号を時間的に予測する場合は、例えば、参照するフレームを示す情報と、そのフレーム中の位置を示す情報とが予測情報となる。空間的に行う予測は、フレーム内の予測であることから、フレーム内予測、画面内予測又はイントラ予測と呼ばれる。
【0012】
時間的に行う予測は、フレーム間の予測であることから、フレーム間予測、画面間予測又はインター予測と呼ばれる。また、時間的に行う予測は、映像の時間的変化、すなわち、動きを補償して、映像信号の予測を行うことになることから、動き補償予測とも呼ばれる。
【0013】
同じシーンを複数の位置や向きから撮影した映像からなる多視点映像を符号化する際には、映像の視点間の変化、すなわち、視差を補償して、映像信号の予測を行うことになるため、視差補償予測が用いられる。
【0014】
複数の視点に基づく映像とデプスマップとで構成される自由視点映像の符号化においては、どちらも空間相関及び時間相関を有することから、通常の映像符号化方式を用いてそれぞれを符号化することで、データ量を削減できる。例えば、MPEG‐C Part.3を用いて、多視点映像とそれに対応するデプスマップとを表現する場合、既存の映像符号化方式を用いてそれぞれを符号化する。
【0015】
また、複数の視点に基づく映像とデプスマップとを一緒に符号化する場合、デプスマップから得られる視差情報を用いることで、視点間で存在する相関を利用して、効率的な符号化を実現する方法がある。例えば、非特許文献2には、処理対象の領域に対して、デプスマップから視差ベクトルを求め、その視差ベクトルを用いて、既に符号化済みの別の視点の映像上の対応領域を決定し、その対応領域における映像信号を、処理対象の領域における映像信号の予測値として用いることで、効率的な符号化を実現する方法が記載されている。
【発明の概要】
【発明が解決しようとする課題】
【0017】
非特許文献2に記載の方法によれば,デプスマップの値を変換することで、高精度な視差ベクトルを取得する。これにより、非特許文献2に記載の方法は、高効率な予測符号化を実現することが可能である。しかしながら、非特許文献2に記載の方法では、デプスを視差ベクトルへ変換する際に、視差がデプスの逆数に比例していると仮定されている。より具体的には、デプスの逆数と、カメラの焦点距離と、視点間の距離との積によって、視差が求められている。このような変換は、二つの視点が同じ焦点距離を持ち、視点の向き(カメラの光軸)が3次元的に平行である場合には正しい結果を与えるが、それ以外の状況では誤った結果を与えることになる。
【0018】
正確な変換を行うためには、非特許文献1に記載されているように、画像上の点をデプスに従って三次元空間へ逆投影することで三次元点を得た後、その三次元点を別の視点へ再投影することで、別の視点からの画像上での点を計算する必要がある。しかしながら、このような変換では複雑な演算が必要となり、演算量が増加してしまうという問題がある。つまり、映像符号化の効率が低いという問題があった。
【0019】
上記事情に鑑み、本発明は、複数の視点に対する映像とデプスマップとを構成要素に持つ自由視点映像データの符号化において、視点の向きが平行でない場合でも、デプスマップから計算する視差ベクトルの精度を向上させることで、映像符号化の効率を向上させることができる映像符号化方法、映像復号方法、映像符号化装置、映像復号装置、映像符号化プログラム及び映像復号プログラムを提供することを目的としている。
【課題を解決するための手段】
【0020】
本発明の一態様は、複数の異なる視点の映像からなる多視点映像の1フレームである符号化対象画像を符号化する際に、前記符号化対象画像の視点とは異なる参照視点に対する画像である参照視点画像と、前記多視点映像中の被写体に対するデプスマップとを用いて、前記符号化対象画像を分割した領域である符号化対象領域ごとに、異なる視点間で予測しながら符号化を行う映像符号化装置であって、前記デプスマップから代表デプスを設定する代表デプス設定部と、前記代表デプスに基づいて、前記符号化対象画像上の位置を前記参照視点画像上の位置へと変換する変換行列を設定する変換行列設定部と、前記符号化対象領域内の位置から代表位置を設定する代表位置設定部と、前記代表位置と前記変換行列を用いて、前記符号化対象領域に対する前記符号化対象の前記視点と前記参照視点の視差情報を設定する視差情報設定部と、前記視差情報を用いて、前記符号化対象領域に対する予測画像を生成する予測画像生成部と、前記符号化対象領域に対して、前記デプスマップ上での対応領域であるデプス領域を設定するデプス領域設定部と、前記符号化対象領域に対して、前記デプスマップに対する視差ベクトルであるデプス参照視差ベクトルを設定するデプス参照視差ベクトル設定部とを有し、前記代表デプス設定部は、前記デプス領域に対する前記デプスマップから前記代表デプスを設定し、前記デプス領域設定部は、前記デプス参照視差ベクトルによって示される領域を前記デプス領域として設定する。
【0023】
好ましくは、本発明の一態様において、前記デプス参照視差ベクトル設定部は、前記符号化対象領域に隣接する領域を符号化する際に使用した視差ベクトルを用いて、前記デプス参照視差ベクトルを設定する。
【0024】
好ましくは、本発明の一態様において、前記代表デプス設定部は、前記符号化対象領域の4頂点の画素に対応する前記デプス領域内のデプスのうち、最も前記符号化対象画像の前記視点に近いことを示すデプスを前記代表デプスとして設定する。
【0025】
本発明の一態様は、複数の異なる視点の映像からなる多視点映像の符号データから、復号対象画像を復号する際に、前記復号対象画像の視点とは異なる参照視点に対する画像である参照視点画像と、前記多視点映像中の被写体に対するデプスマップとを用いて、前記復号対象画像を分割した領域である復号対象領域ごとに、異なる視点間で予測しながら復号を行う映像復号装置であって、前記デプスマップから代表デプスを設定する代表デプス設定部と、前記代表デプスに基づいて、前記復号対象画像上の位置を前記参照視点画像上の位置へと変換する変換行列を設定する変換行列設定部と、前記復号対象領域内の位置から代表位置を設定する代表位置設定部と、前記代表位置と前記変換行列を用いて、前記復号対象領域に対する前記復号対象の前記視点と前記参照視点の視差情報を設定する視差情報設定部と、前記視差情報を用いて、前記復号対象領域に対する予測画像を生成する予測画像生成部と、前記復号対象領域に対して、前記デプスマップ上での対応領域であるデプス領域を設定するデプス領域設定部と、前記復号対象領域に対して、前記デプスマップに対する視差ベクトルであるデプス参照視差ベクトルを設定するデプス参照視差ベクトル設定部とを有し、前記代表デプス設定部は、前記デプス領域に対する前記デプスマップから前記代表デプスを設定し、前記デプス領域設定部は、前記デプス参照視差ベクトルによって示される領域を前記デプス領域として設定する。
【0028】
好ましくは、本発明の一態様において、前記デプス参照視差ベクトル設定部は、前記復号対象領域に隣接する領域を復号する際に使用した視差ベクトルを用いて、前記デプス参照視差ベクトルを設定する。
【0029】
好ましくは、本発明の一態様において、前記代表デプス設定部は、前記復号対象領域の4頂点の画素に対応する前記デプス領域内のデプスのうち、最も前記復号対象画像の前記視点に近いことを示すデプスを前記代表デプスとして設定する。
【0030】
本発明の一態様は、複数の異なる視点の映像からなる多視点映像の1フレームである符号化対象画像を符号化する際に、前記符号化対象画像の視点とは異なる参照視点に対する画像である参照視点画像と、前記多視点映像中の被写体に対するデプスマップとを用いて、前記符号化対象画像を分割した領域である符号化対象領域ごとに、異なる視点間で予測しながら符号化を行う映像符号化方法であって、前記デプスマップから代表デプスを設定する代表デプス設定ステップと、前記代表デプスに基づいて、前記符号化対象画像上の位置を前記参照視点画像上の位置へと変換する変換行列を設定する変換行列設定ステップと、前記符号化対象領域内の位置から代表位置を設定する代表位置設定ステップと、前記代表位置と前記変換行列を用いて、前記符号化対象領域に対する前記符号化対象の前記視点と前記参照視点の視差情報を設定する視差情報設置ステップと、前記視差情報を用いて、前記符号化対象領域に対する予測画像を生成する予測画像生成ステップと、前記符号化対象領域に対して、前記デプスマップ上での対応領域であるデプス領域を設定するデプス領域設定ステップと、前記符号化対象領域に対して、前記デプスマップに対する視差ベクトルであるデプス参照視差ベクトルを設定するデプス参照視差ベクトル設定ステップとを有し、前記代表デプス設定ステップは、前記デプス領域に対する前記デプスマップから前記代表デプスを設定し、前記デプス領域設定ステップは、前記デプス参照視差ベクトルによって示される領域を前記デプス領域として設定する。
【0031】
本発明の一態様は、複数の異なる視点の映像からなる多視点映像の符号データから、復号対象画像を復号する際に、前記復号対象画像の視点とは異なる参照視点に対する画像である参照視点画像と、前記多視点映像中の被写体に対するデプスマップとを用いて、前記復号対象画像を分割した領域である復号対象領域ごとに、異なる視点間で予測しながら復号を行う映像復号方法であって、前記デプスマップから代表デプスを設定する代表デプス設定ステップと、前記代表デプスに基づいて、前記復号対象画像上の位置を前記参照視点画像上の位置へと変換する変換行列を設定する変換行列設定ステップと、前記復号対象領域内の位置から代表位置を設定する代表位置設定ステップと、前記代表位置と前記変換行列を用いて、前記復号対象領域に対する前記復号対象の前記視点と前記参照視点の視差情報を設定する視差情報設置ステップと、前記視差情報を用いて、前記復号対象領域に対する予測画像を生成する予測画像生成ステップと、前記復号対象領域に対して、前記デプスマップ上での対応領域であるデプス領域を設定するデプス領域設定ステップと、前記復号対象領域に対して、前記デプスマップに対する視差ベクトルであるデプス参照視差ベクトルを設定するデプス参照視差ベクトル設定ステップとを有し、前記代表デプス設定ステップは、前記デプス領域に対する前記デプスマップから前記代表デプスを設定し、前記デプス領域設定ステップは、前記デプス参照視差ベクトルによって示される領域を前記デプス領域として設定する。
本発明の一態様は、複数の異なる視点の映像からなる多視点映像の1フレームである符号化対象画像を符号化する際に、前記符号化対象画像の視点とは異なる参照視点に対する画像である参照視点画像と、前記多視点映像中の被写体に対するデプスマップとを用いて、前記符号化対象画像を分割した領域である符号化対象領域ごとに、異なる視点間で予測しながら符号化を行う映像符号化装置であって、前記デプスマップから代表デプスを設定する代表デプス設定部と、前記代表デプスに基づいて、前記符号化対象画像上の位置を前記参照視点画像上の位置へと変換する変換行列を設定する変換行列設定部と、前記符号化対象領域内の位置から代表位置を設定する代表位置設定部と、前記代表位置と前記変換行列を用いて、前記符号化対象領域に対する前記符号化対象の前記視点と前記参照視点の視差情報を設定する視差情報設定部と、前記視差情報を用いて、前記符号化対象領域に対する予測画像を生成する予測画像生成部とを有し、前記変換行列設定部は、前記符号化対象画像の視点と前記参照視点との位置関係の変化が所定の値よりも大きいときに、前記変換行列を求め直す。
本発明の一態様は、複数の異なる視点の映像からなる多視点映像の符号データから、復号対象画像を復号する際に、前記復号対象画像の視点とは異なる参照視点に対する画像である参照視点画像と、前記多視点映像中の被写体に対するデプスマップとを用いて、前記復号対象画像を分割した領域である復号対象領域ごとに、異なる視点間で予測しながら復号を行う映像復号装置であって、前記デプスマップから代表デプスを設定する代表デプス設定部と、前記代表デプスに基づいて、前記復号対象画像上の位置を前記参照視点画像上の位置へと変換する変換行列を設定する変換行列設定部と、前記復号対象領域内の位置から代表位置を設定する代表位置設定部と、前記代表位置と前記変換行列を用いて、前記復号対象領域に対する前記復号対象の前記視点と前記参照視点の視差情報を設定する視差情報設定部と、前記視差情報を用いて、前記復号対象領域に対する予測画像を生成する予測画像生成部とを有し、前記変換行列設定部は、前記復号対象画像の視点と前記参照視点との位置関係の変化が所定の値よりも大きいときに、前記変換行列を求め直す。
本発明の一態様は、複数の異なる視点の映像からなる多視点映像の1フレームである符号化対象画像を符号化する際に、前記符号化対象画像の視点とは異なる参照視点に対する画像である参照視点画像と、前記多視点映像中の被写体に対するデプスマップとを用いて、前記符号化対象画像を分割した領域である符号化対象領域ごとに、異なる視点間で予測しながら符号化を行う映像符号化方法であって、前記デプスマップから代表デプスを設定する代表デプス設定ステップと、前記代表デプスに基づいて、前記符号化対象画像上の位置を前記参照視点画像上の位置へと変換する変換行列を設定する変換行列設定ステップと、前記符号化対象領域内の位置から代表位置を設定する代表位置設定ステップと、前記代表位置と前記変換行列を用いて、前記符号化対象領域に対する前記符号化対象の前記視点と前記参照視点の視差情報を設定する視差情報設置ステップと、前記視差情報を用いて、前記符号化対象領域に対する予測画像を生成する予測画像生成ステップとを有し、前記変換行列設定ステップは、前記符号化対象画像の視点と前記参照視点との位置関係の変化が所定の値よりも大きいときに、前記変換行列を求め直す。
本発明の一態様は、複数の異なる視点の映像からなる多視点映像の符号データから、復号対象画像を復号する際に、前記復号対象画像の視点とは異なる参照視点に対する画像である参照視点画像と、前記多視点映像中の被写体に対するデプスマップとを用いて、前記復号対象画像を分割した領域である復号対象領域ごとに、異なる視点間で予測しながら復号を行う映像復号方法であって、前記デプスマップから代表デプスを設定する代表デプス設定ステップと、前記代表デプスに基づいて、前記復号対象画像上の位置を前記参照視点画像上の位置へと変換する変換行列を設定する変換行列設定ステップと、前記復号対象領域内の位置から代表位置を設定する代表位置設定ステップと、前記代表位置と前記変換行列を用いて、前記復号対象領域に対する前記復号対象の前記視点と前記参照視点の視差情報を設定する視差情報設置ステップと、前記視差情報を用いて、前記復号対象領域に対する予測画像を生成する予測画像生成ステップとを有し、前記変換行列設定ステップは、前記復号対象画像の視点と前記参照視点との位置関係の変化が所定の値よりも大きいときに、前記変換行列を求め直す。
【0032】
本発明の一態様は、コンピュータに、映像符号化方法を実行させるための映像符号化プログラムである。
【0033】
本発明の一態様は、コンピュータに、映像復号方法を実行させるための映像復号プログラムである。
【発明の効果】
【0034】
本発明によれば、複数の視点に対する映像とデプスマップとを構成要素に持つ自由視点映像データの符号化において、視点の向きが平行でない場合でも、デプスマップから計算する視差ベクトルの精度を向上させ、映像符号化の効率を向上させることが可能となる。
【発明を実施するための形態】
【0036】
以下、本発明の一実施形態の映像符号化方法、映像復号方法、映像符号化装置、映像復号装置、映像符号化プログラム及び映像復号プログラムを、図面を参照して詳細に説明する。
【0037】
以下の説明では、2台のカメラ(カメラA及びカメラB)から撮影された多視点映像を符号化する場合を想定する。カメラAの視点は参照視点とする。また、カメラBが撮影した映像は、フレーム単位で符号化及び復号される。
【0038】
なお、デプスから視差を得るために必要となる情報は、別途与えられているものとする。具体的には、この情報は、カメラA及びカメラBの位置関係を表す外部パラメータ、又は、カメラによる画像平面への投影情報を表す内部パラメータなどである、これらと同じ意味をもつものであれば、別の形式で必要な情報が与えられていてもよい。これらのカメラパラメータに関する詳しい説明は、例えば、文献「Olivier Faugeras, “Three-Dimensional Computer Vision”, pp. 33-66, MIT Press; BCTC/UFF-006.37 F259 1993, ISBN:0-262-06158-9.」に記載されている。この文献には、複数のカメラの位置関係を示すパラメータや、カメラによる画像平面への投影情報を表すパラメータに関する説明が記載されている。
【0039】
以下の説明では、画像、映像フレーム(画像フレーム)、又はデプスマップに対して、位置を特定可能な情報(座標値、又は座標値に対応付け可能なインデックスなど)を付加することで、位置を特定可能な情報が付加された情報は、その位置の画素にサンプリングされた映像信号や、それに基づくデプスを示すものとする。また、座標値に対応付け可能なインデックス値と、ベクトルとの加算によって得られた値により、その座標をベクトルの分だけずらした位置の座標値を表すものとする。また、ブロックに対応付け可能なインデックス値と、ベクトルとの加算によって得られた値により、そのブロックをベクトルの分だけずらした位置のブロックを表すものとする。
【0040】
まず、符号化について説明する。
図1は、本発明の一実施形態における、映像符号化装置の構成を示すブロック図である。映像符号化装置100は、符号化対象画像入力部101と、符号化対象画像メモリ102と、参照視点画像入力部103と、参照視点画像メモリ104と、デプスマップ入力部105と、視差ベクトル生成部106(代表デプス設定部、変換行列設定部、代表位置設定部、視差情報設定部、デプス領域設定部、デプス参照視差ベクトル設定部)と、画像符号化部107(予測画像生成部)とを備える。
【0041】
符号化対象画像入力部101は、符号化対象となる映像を、符号化対象画像メモリ102にフレーム毎に入力する。以下、この符号化対象となる映像を「符号化対象画像群」という。入力されて符号化されるフレームを「符号化対象画像」という。符号化対象画像入力部101は、カメラBが撮影した符号化対象画像群から、フレームごとに符号化対象画像を入力する。以下、符号化対象画像を撮影した視点(カメラB)を「符号化対象視点」という。符号化対象画像メモリ102は、入力された符号化対象画像を記憶する。
【0042】
参照視点画像入力部103は、符号化対象画像とは異なる視点(カメラA)から撮影された映像を、参照視点画像メモリ104に入力する。符号化対象画像とは異なる視点(カメラA)から撮影された映像は、符号化対象画像を符号化する際に参照される画像である。以下、符号化対象画像を符号化する際に参照する画像の視点を、「参照視点」という。また、参照視点からの画像を「参照視点画像」という。参照視点画像メモリ104は、入力された参照視点画像を蓄積する。
【0043】
デプスマップ入力部105は、視点間の画素の対応関係に基づく視差ベクトル(視差を示す情報)を求める際に参照するデプスマップを、視差ベクトル生成部106に入力する。ここでは、符号化対象画像に対応するデプスマップを入力するものとするが、別の視点(参照視点など)におけるデプスマップでも構わない。
【0044】
なお、このデプスマップとは、符号化対象画像に写っている被写体の3次元位置を画素ごとに表すものである。デプスマップは、例えば、カメラから被写体までの距離、画像平面とは平行ではない軸の座標値、又は、別のカメラ(例えば、カメラA)に対する視差量を用いて表現することができる。ここでは、画像の形態でデプスマップが渡されるものとしているが、同様の情報が得られるのであれば、デプスマップは画像の形態で渡されなくても構わない。
【0045】
視差ベクトル生成部106は、符号化対象画像に含まれる領域と、その符号化対象画像に対応付けられた参照視点画像に含まれる領域との視差ベクトルを、デプスマップから生成する。画像符号化部107は、生成された視差ベクトルと参照視点画像とに基づいて、符号化対象画像を予測符号化する。
【0046】
次に、映像符号化装置100の動作を説明する。
図2は、本発明の一実施形態における、映像符号化装置100の動作を示すフローチャートである。
符号化対象画像入力部101は、符号化対象画像Orgを、符号化対象画像メモリ102に入力する。符号化対象画像メモリ102は、符号化対象画像Orgを記憶する。参照視点画像入力部103は、参照視点画像Refを、参照視点画像メモリ104に入力する。参照視点画像メモリ104は、参照視点画像Refを記憶する(ステップS101)。
【0047】
なお、ここで入力される参照視点画像は、既に符号化済みの参照視点画像を復号したものなど、復号側で得られる参照視点画像と同じものとする。これは、復号側で得られる参照視点画像と全く同じ情報を用いることで、ドリフト等の符号化ノイズの発生を抑えるためである。ただし、そのような符号化ノイズの発生を許容する場合には、符号化前の参照視点画像など、符号化側でしか得られない参照視点画像が入力されてもよい。
【0048】
符号化対象画像及び参照視点画像の入力が終了した場合、予め定められた大きさの領域に符号化対象画像を分割し、分割した領域ごとに、符号化対象画像の映像信号を符号化する。以下、符号化対象画像を分割した領域を「符号化対象領域」という。一般的な符号化では、16画素×16画素のマクロブロックと呼ばれる処理単位ブロックに分割するが、復号側と同じであれば、その他の大きさのブロックに分割しても構わない。また、符号化対象画像の全体を同じサイズで分割せず、領域ごとに異なるサイズのブロックに分割しても構わない(ステップS102〜S107)。
【0049】
図2では、符号化対象領域インデックスを「blk」と表す。符号化対象画像の1フレーム中の符号化対象領域の総数を「numBlks」と表す。blkは0で初期化される(ステップS102)。
符号化対象領域ごとに繰り返される処理では、まず、符号化対象領域blkに対応するデプスマップ(デプスマップ上の対応領域であるデプス領域)を設定する(ステップS103)。
【0050】
このデプスマップは、デプスマップ入力部105によって入力される。なお、入力されるデプスマップは、既に符号化済みのデプスマップを復号したものなど、復号側で得られるデプスマップと同じものとする。これは、復号側で得られるものと同じデプスマップを用いることで、ドリフト等の符号化ノイズの発生を抑えるためである。ただし、そのような符号化ノイズの発生を許容する場合には、符号化前のデプスマップなど、符号化側でしか得られないデプスマップが入力されても構わない。
【0051】
また、既に符号化済みのデプスマップを復号したもの以外に、複数のカメラに対して復号された多視点映像に対してステレオマッチング等を適用することで推定したデプスマップ、又は、復号された視差ベクトルや動きベクトルなどを用いて推定されるデプスマップなども、復号側で同じデプスマップが得られるものとして使用することができる。
【0052】
また、本実施形態では、符号化対象領域に対応するデプスマップを符号化対象領域ごとに入力するものとしたが、符号化対象画像の全体で用いるデプスマップを事前に入力及び蓄積しておき、蓄積されているデプスマップを符号化対象領域ごとに参照することで、符号化対象領域blkにおけるデプスマップを設定しても構わない。
【0053】
符号化対象領域blkのデプスマップは、どのように設定されても構わない。例えば、符号化対象画像に対応するデプスマップを用いる場合、符号化対象画像における符号化対象領域blkの位置と同じ位置のデプスマップを設定しても構わないし、予め定められた又は別途指定されたベクトル分だけズラした位置のデプスマップを設定しても構わない。
【0054】
なお、符号化対象画像と、符号化対象画像に対応するデプスマップとの解像度が異なる場合、解像度比に応じてスケーリングした領域を設定しても構わないし、解像度比に応じてスケーリングした領域を解像度比に応じてアップサンプルして生成したデプスマップを、設定しても構わない。また、符号化対象視点に対して過去に符号化された画像に対応するデプスマップの符号化対象領域と同じ位置のデプスマップを、設定しても構わない。
【0055】
なお、符号化対象視点とは異なる視点の一つをデプス視点とし、デプス視点におけるデプスマップを用いる場合は、符号化対象領域blkにおける符号化対象視点とデプス視点との推定視差PDV(デプス参照視差ベクトル)を求め、「blk+PDV」におけるデプスマップを設定する。なお、符号化対象画像とデプスマップとの解像度が異なる場合は、解像度比に応じて位置及び大きさのスケーリングを行っても構わない。
【0056】
符号化対象領域blkにおける、符号化対象視点とデプス視点との推定視差PDVは、復号側と同じ方法であれば、どのような方法を用いて求めても構わない。例えば、符号化対象領域blkの周辺領域を符号化する際に使用された視差ベクトル、符号化対象画像の全体や符号化対象領域を含む部分画像に対して設定されたグローバル視差ベクトル、又は、符号化対象領域ごとに別途設定され符号化された視差ベクトルなどを用いることが可能である。また、異なる符号化対象領域や過去に符号化された符号化対象画像で使用された視差ベクトルを蓄積して、その蓄積された視差ベクトルを用いても構わない。
【0057】
次に、視差ベクトル生成部106は、設定したデプスマップを用いて、符号化対象領域blkの視差ベクトルを生成する(ステップS104)。この処理の詳細については後述する。
【0058】
画像符号化部107は、符号化対象領域blkの視差ベクトルと、参照視点画像メモリ104に蓄積された参照視点画像とを用いて予測を行いながら、符号化対象領域blkにおける符号化対象画像の映像信号(画素値)を符号化する(ステップS105)。
【0059】
符号化の結果得られるビットストリームは、映像符号化装置100の出力となる。なお、符号化する方法には、どのような方法を用いても構わない。例えば、画像符号化部107は、MPEG‐2やH.264/AVCなどの一般的な符号化が用いられる場合、符号化対象領域blkの映像信号と予測画像との差分信号に対して、離散コサイン変換(DCT : Discrete Cosine Transform)などの周波数変換、量子化、2値化、エントロピー符号化を順に施すことで符号化を行う。
【0060】
画像符号化部107は、blkに1を加算する(ステップS106)。
画像符号化部107は、blkがnumBlks未満であるか否か、を判定する(ステップS107)。blkがnumBlks未満である場合(ステップS107:Yes)、画像符号化部107は、ステップS103に処理を戻す。一方、blkがnumBlks未満でない場合(ステップS107:No)、画像符号化部107は、処理を終了する。
【0061】
図3は、本発明の一実施形態における、視差ベクトル生成部106が視差ベクトルを生成する処理(ステップS104)を示すフローチャートである。
視差ベクトルを生成する処理では、まず、符号化対象領域blkのデプスマップから、代表画素位置pos及び代表デプスrepを設定する(ステップS1403)。代表画素位置pos及び代表デプスrepをどのような方法を用いて設定しても構わないが、復号側と同じ方法を用いる必要がある。
【0062】
代表画素位置posを設定する代表的な方法としては、符号化対象領域内の中央や左上など予め定められた位置を代表画素位置として設定する方法や、代表デプスを求めた後にその代表デプスと同じデプスを持つ符号化対象領域内の画素の位置を代表画素位置として設定する方法がある。また、別の方法として、予め定められた位置の画素に基づくデプスを比較して、予め定められた条件を満たすデプスを持つ画素の位置を設定する方法がある。具体的には、符号化対象領域内の中央に位置する四つの画素、符号化対象領域に定められた4頂点に位置する画素、若しくは、符号化対象領域に定められた4頂点に位置する画素と中央に位置する画素とを対象とし、最大のデプス、最小のデプス、又は、中央値のデプスなどを与える画素を選択する方法である。
【0063】
代表デプスrepを設定する代表的な方法としては、符号化対象領域blkのデプスマップの平均値、中央値、最大値又は最小値(デプスの定義によるが、符号化対象画像の視点に最も近いことを示すデプス又は符号化対象画像の視点から最も遠いことを示すデプス)などを用いる方法がある。また、符号化対象領域内の全ての画素ではなく、一部の画素に基づくデプス値の平均値、中央値、最大値又は最小値などを用いても構わない。一部の画素としては、符号化対象領域に定められた4頂点に位置する画素、又は、4頂点に位置する画素及び中央に位置する画素などを用いても構わない。更に、符号化対象領域に対して左上又は中央など予め定められた位置に基づくデプス値を用いる方法もある。
【0064】
代表画素位置pos及び代表デプスrepが得られた場合、変換行列H
repを求める(ステップS1404)。ここで、変換行列は、ホモグラフィ行列と呼ばれ、代表デプスで表現される平面に被写体が存在すると仮定したときに、視点間での画像平面上の点の対応関係を与えるものである。なお、変換行列H
repは、どのように求めても構わない。例えば、式(1)を用いて求めることが可能である。
【0066】
ここで、Rは、符号化対象視点と参照視点との間の3×3回転行列を示す。tは、符号化対象視点と参照視点との間の並進ベクトルを示す。D
repは代表デプスを示す。n(D
rep)は、符号化対象視点における代表デプスD
repに対応する三次元平面の法線ベクトルを示す。d(D
rep)は、その三次元平面と、符号化対象視点及び参照視点の視点中心間との距離を示す。また、右肩のTはベクトルの転置を示す。
【0067】
変換行列H
repの別の求め方としては、まず、符号化対象画像中の異なる4点p
i(i=1,2,3,4)に対して、式(2)に基づいて、参照視点の画像上の対応点q
iを求める。
【0069】
ここで、P
tおよびP
rは、それぞれ符号化対象視点および参照視点における3×4カメラ行列を示す。ここでのカメラ行列は、カメラの内部パラメータをA、世界座標系(カメラに依存しない任意の共通な座標系)からカメラ座標系への回転行列をR、世界座標系からカメラ座標系への並進を表す列ベクトルをtで表すと、A[R|t]で与えられる([R|t]はRとtを並べて作られる3×4行列であり、カメラの外部パラメータと呼ばれる)。なお、ここでのカメラ行列Pの逆行列P
−1は、カメラ行列Pによる変換の逆変換に対応する行列であるとし、R
-1[A
−1|−t]で表される。
d
t(p
i)は、符号化対象画像上の点p
iにおけるデプスが代表デプスであるとしたときの、符号化対象視点から点p
iにおける被写体までの光軸上の距離を示す。
sは任意の実数であるが、カメラパラメータの誤差がない場合、sは参照視点の画像上の点q
iにおける参照視点から点q
iにおける被写体までの光軸上の距離d
r(q
i)と等しい。
また、上記定義に従い式(2)を計算すると、次の式(3)となる。なお、内部パラメータA、回転行列R、並進ベクトルtの添え字はカメラを表し、tとrはそれぞれ符号化対象視点と参照視点を表す。
【数3】
【0070】
四つの対応点が求まった場合、式(4)に従って得られる同次方程式を解くことで、変換行列H
repを得る。ただし、変換行列H
repの(3,3)成分は、任意の実数(例えば1)である。
【0072】
変換行列H
repは、参照視点とデプスに依存することから、代表デプスを求める度に毎回求めても構わない。また、変換行列H
repは、符号化対象領域ごとの処理を開始する前に、参照視点及び代表デプスの組み合わせごとに求めておき、ここでは既に計算してある変換行列群のなかから、参照視点及び代表デプスに基づいて、一つの変換行列を選択及び設定しても構わない。
【0073】
代表デプスに基づく変換行列が得られた場合、式(5)に基づいて参照視点上の位置を求め、視差ベクトルを生成する(ステップS1405)。
【0075】
ここで、kは、任意の実数を示す。cposは、参照視点上の位置を示す。「cpos−pos」は、求める視差ベクトルを示す。なお、符号化対象視点の位置に対して視差ベクトルを加算することで得られた位置は、その符号化対象視点の位置に対応する参照視点上の対応位置を示す。符号化対象視点の位置から視差ベクトルを減算することで対応位置を表す場合、視差ベクトルは「pos−cpos」となる。上記の説明では、符号化対象領域blkの全体に対して視差ベクトルを生成したが、符号化対象領域blkを複数のサブ領域に分割して、サブ領域ごとに視差ベクトルを生成しても構わない。
【0076】
図4は、本発明の一実施形態において、符号化対象領域をサブ領域に分割して視差ベクトルを生成する処理を示すフローチャートである。
視差ベクトル生成部106は、符号化対象領域blkを分割する(ステップS1401)。
numSBlksは、符号化対象領域blk内のサブ領域数を示す。視差ベクトル生成部106は、サブ領域インデックス「sblk」を、0で初期化する(ステップS1402)。
【0077】
視差ベクトル生成部106は、代表画素位置及び代表デプス値を設定する(ステップS1403)。
視差ベクトル生成部106は、代表デプス値から変換行列を求める(ステップS1404)。
視差ベクトル生成部106は、参照視点に対する視差ベクトルを求める。つまり、視差ベクトル生成部106は、サブ領域sblkのデプスマップから、視差ベクトルを求める(ステップS1405)。
【0078】
視差ベクトル生成部106は、sblkに1を加算する(ステップS1406)。
視差ベクトル生成部106は、sblkがnumSBlks未満であるか否かを判定する(ステップS1407)。sblkがnumSBlks未満である場合(ステップS1407:Yes)、視差ベクトル生成部106は、ステップS1403に処理を戻す。つまり、視差ベクトル生成部106は、分割によって得られたサブ領域ごとに、デプスマップから視差ベクトルを求める「ステップS1403〜S1407」を繰り返す。一方、sblkがnumSBlks未満でない場合(ステップS1407:No)、視差ベクトル生成部106は、処理を終了する。
【0079】
なお、符号化対象領域blkの分割は、復号側と同じ方法であれば、どのような方法で分割しても構わない。例えば、予め定められた大きさ(4画素×4画素、又は、8画素×8画素など)に分割しても構わないし、符号化対象領域blkのデプスマップを解析することで分割しても構わない。例えば、デプスマップの値に基づいてクラスタリングすることで、分割をしても構わない。例えば、符号化対象領域blkのデプスマップの値の分散値、平均値、最大値又は最小値などを用いて、分割しても構わない。また、符号化対象領域blk内の全ての画素を考慮しても構わない。また、定められた複数の点や中央など特定の画素の集合のみを対象として、解析を行っても構わない。さらに、符号化対象領域ごとに同じ数のサブ領域へ分割しても構わないし、符号化対象領域ごとに異なる数のサブ領域へ分割しても構わない。
【0080】
次に、復号について説明する。
図5は、本発明の一実施形態における、映像復号装置200の構成を示すブロック図である。映像復号装置200は、ビットストリーム入力部201と、ビットストリームメモリ202と、参照視点画像入力部203と、参照視点画像メモリ204と、デプスマップ入力部205と、視差ベクトル生成部206(代表デプス設定部、変換行列設定部、代表位置設定部、視差情報設定部、デプス領域設定部、デプス参照視差ベクトル設定部)と、画像復号部207(予測画像生成部)とを備える。
【0081】
ビットストリーム入力部201は、映像符号化装置100が符号化したビットストリーム、すなわち、復号対象となる映像のビットストリームを、ビットストリームメモリ202に入力する。ビットストリームメモリ202は、復号対象となる映像のビットストリームを記憶する。以下では、この復号対象となる映像に含まれる画像を「復号対象画像」という。復号対象画像は、カメラBが撮影した映像(復号対象画像群)に含まれる画像である。また、以下では、復号対象画像を撮影したカメラBの視点を「復号対象視点」という。
【0082】
参照視点画像入力部203は、復号対象画像とは異なる視点(カメラA)から撮影された映像に含まれる画像を、参照視点画像メモリ204に入力する。復号対象画像とは異なる視点に基づく画像は、復号対象画像を復号する際に参照される画像である。以下では、復号対象画像を復号する際に参照される画像の視点を「参照視点」という。参照視点の画像を「参照視点画像」という。参照視点画像メモリ204は、入力された参照視点画像を蓄積する。
【0083】
デプスマップ入力部205は、視点間の画素の対応関係に基づく視差ベクトル(視差を示す情報)を求める際に参照するデプスマップを、視差ベクトル生成部206に入力する。ここでは、復号対象画像に対応するデプスマップを入力するものとするが、別の視点(参照視点など)におけるデプスマップでも構わない。
【0084】
なお、このデプスマップとは、復号対象画像に写っている被写体の3次元位置を画素ごとに表すものである。デプスマップは、例えば、カメラから被写体までの距離、画像平面とは平行ではない軸の座標値、又は、別のカメラ(例えばカメラA)に対する視差量を用いて表現することができる。ここでは、画像の形態でデプスマップが渡されるものとしているが、同様の情報が得られるのであれば、デプスマップは画像の形態で渡されなくても構わない。
【0085】
視差ベクトル生成部206は、復号対象画像に含まれる領域と、その復号対象画像に対応付けられた参照視点画像に含まれる領域との視差ベクトルを、デプスマップから生成する。画像復号部207は、生成された視差ベクトルと参照視点画像とに基づいて、ビットストリームから復号対象画像を復号する。
【0086】
次に、映像復号装置200の動作を説明する。
図6は、本発明の一実施形態における、映像復号装置200の動作を示すフローチャートである。
ビットストリーム入力部201は、復号対象画像を符号化したビットストリームを、ビットストリームメモリ202に入力する。ビットストリームメモリ202は、復号対象画像を符号化したビットストリームを記憶する。参照視点画像入力部203は、参照視点画像Refを、参照視点画像メモリ204に入力する。参照視点画像メモリ204は、参照視点画像Refを記憶する(ステップS201)。
【0087】
なお、ここで入力される参照視点画像は、符号化側で使用された参照視点画像と同じ参照視点画像とする。これは、符号化時に用いた参照視点画像と全く同じ情報を用いることで、ドリフト等の符号化ノイズの発生を抑えるためである。ただし、そのような符号化ノイズの発生を許容する場合には、符号化時に使用された参照視点画像とは異なる参照視点画像が入力されてもよい。
【0088】
ビットストリーム及び参照視点画像の入力が終了した場合、予め定められた大きさの領域に復号対象画像を分割し、分割した領域ごとに、復号対象画像の映像信号をビットストリームから復号する。以下、復号対象画像を分割した領域を「復号対象領域」という。一般的な復号では、16画素×16画素のマクロブロックと呼ばれる処理単位ブロックに分割するが、符号化側と同じであれば、その他の大きさのブロックに分割しても構わない。また、復号対象画像の全体を同じサイズで分割せず、領域ごとに異なるサイズのブロックに分割しても構わない(ステップS202〜S207)。
【0089】
図6では、復号対象領域インデックスを「blk」と表す。復号対象画像の1フレーム中の復号対象領域の総数を「numBlks」と表す。blkは、0で初期化される(ステップS202)。
復号対象領域ごとに繰り返される処理では、まず、復号対象領域blkのデプスマップを設定する(ステップS203)。
【0090】
このデプスマップは、デプスマップ入力部205によって入力される。なお、入力されるデプスマップは、符号化側で使用されたデプスマップと同じデプスマップとする。これは、符号化側で使用したデプスマップと同じデプスマップを用いることで、ドリフト等の符号化ノイズの発生を抑えるためである。ただし、そのような符号化ノイズの発生を許容する場合には、符号化側とは異なるデプスマップが入力されても構わない。
【0091】
符号化側で使用されたデプスマップと同じデプスマップとしては、ビットストリームから別途復号したデプスマップ以外に、複数のカメラについて復号された多視点映像に対してステレオマッチング等を適用することで推定したデプスマップ、又は、復号された視差ベクトルや動きベクトルなどを用いて推定されるデプスマップなどを使用することができる。
【0092】
また、本実施形態では、復号対象領域に対応するデプスマップを復号対象領域ごとに入力するものとしたが、復号対象画像の全体で用いるデプスマップを事前に入力及び蓄積しておき、蓄積されているデプスマップを復号対象領域ごとに参照することで、復号対象領域blkに対応するデプスマップを設定しても構わない。
【0093】
復号対象領域blkに対応するデプスマップは、どのように設定されても構わない。例えば、復号対象画像に対応するデプスマップを用いる場合、復号対象画像における復号対象領域blkの位置と同じ位置のデプスマップを設定しても構わないし、予め定められた又は別途指定されたベクトル分だけズラした位置のデプスマップを設定しても構わない。
【0094】
なお、復号対象画像と、復号対象画像に対応するデプスマップとの解像度が異なる場合は、解像度比に応じてスケーリングした領域を設定しても構わないし、解像度比に応じてスケーリングした領域を解像度比に応じてアップサンプルして生成したデプスマップを、設定しても構わない。また、復号対象視点に対して過去に復号された画像に対応するデプスマップの復号対象領域と同じ位置のデプスマップを、設定しても構わない。
【0095】
なお、復号対象視点とは異なる視点の一つをデプス視点とし、デプス視点におけるデプスマップを用いる場合は、復号対象領域blkにおける復号対象視点とデプス視点との推定視差PDVを求め、「blk+PDV」におけるデプスマップを設定する。なお、復号対象画像とデプスマップとの解像度が異なる場合は、解像度比に応じて位置及び大きさのスケーリングを行っても構わない。
【0096】
復号対象領域blkにおける、復号対象視点とデプス視点の推定視差PDVは、符号化側と同じ方法であれば、どのような方法を用いて求めても構わない。例えば、復号対象領域blkの周辺領域を復号する際に使用された視差ベクトル、復号対象画像の全体や復号対象領域を含む部分画像に対して設定されたグローバル視差ベクトル、又は、復号対象領域ごとに別途設定され符号化された視差ベクトルなどを用いることが可能である。また、異なる復号対象領域や過去に復号された復号対象画像で使用した視差ベクトルを蓄積して、その蓄積された視差ベクトルを用いても構わない。
【0097】
次に、視差ベクトル生成部206は、復号対象領域blkにおける視差ベクトルを生成する(ステップS204)。この処理は、符号化対象領域を復号対象領域に置き換えて読むだけで、前述したステップS104と同じである。
【0098】
画像復号部207は、復号対象領域blkの視差ベクトルと、参照視点画像メモリ204に蓄積された参照視点画像とを用いて予測を行いながら、復号対象領域blkにおける映像信号(画素値)を、ビットストリームから復号する(ステップS205)。
【0099】
得られた復号対象画像は、映像復号装置200の出力となる。なお、映像信号の復号には、符号化時に用いられた方法に対応する方法が用いられる。画像復号部207は、例えば、MPEG‐2やH.264/AVCなどの一般的な符号化が用いられた場合、ビットストリームに対して、エントロピー復号、逆2値化、逆量子化、逆離散コサイン変換(IDCT: Inverse Discrete Cosine Transform)などの周波数逆変換を順に施し、得られた2次元信号に対して予測画像を加え、最後に、得られた値を画素値の値域でクリッピングすることで、映像信号をビットストリームから復号する。
【0100】
画像復号部207は、blkに1を加算する(ステップS206)。
画像復号部207は、blkがnumBlks未満であるか否か、を判定する(ステップS207)。blkがnumBlks未満である場合(ステップS207:Yes)、画像復号部207は、ステップS203に処理を戻す。一方、blkがnumBlks未満でない場合(ステップS207:No)、画像復号部207は、処理を終了する。
【0101】
上述した実施形態では、符号化対象画像又は復号対象画像を分割した領域ごとに、視差ベクトルの生成を行ったが、符号化対象画像又は復号対象画像の全ての領域に対して、視差ベクトルを事前に生成及び蓄積しておき、蓄積された視差ベクトルを領域ごとに参照するようにしても構わない。
【0102】
上述した実施形態では、画像全体を符号化又は復号する処理として書かれているが、画像の一部分のみに処理を適用することも可能である。この場合、処理を適用するか否かを示すフラグを、符号化又は復号しても構わない。また、処理を適用するか否かを示すフラグを、なんらか別の手段で指定しても構わない。例えば、処理を適用するか否かは、領域ごとの予測画像を生成する手法を示すモードの一つとして、表現されても構わない。
【0103】
上述した実施形態では、変換行列を常に生成している。しかしながら、符号化対象視点又は復号対象視点と、参照視点との位置関係やデプスの定義(各デプスに対応する三次元平面)が変化しない限り、変換行列は変化しない。このため、変換行列の集合を予め求めておく場合、フレーム毎や領域ごとに変換行列を計算し直す必要はない。
【0104】
つまり、別途与えられるカメラパラメータによって表される符号化対象視点と参照視点との位置関係と、直前のフレームにおけるカメラパラメータによって表される符号化対象視点と参照視点との位置関係とは、符号化対象画像が変わるごとに比較される。位置関係の変化がないか又は小さいときには、直前のフレームで使用した変換行列の集合をそのまま用い、それ以外の場合にのみ、変換行列の集合を求めるようにしても構わない。
【0105】
また、別途与えられるカメラパラメータによって表される復号対象視点と参照視点との位置関係と、直前のフレームにおけるカメラパラメータによって表される復号対象視点と参照視点との位置関係とは、復号対象画像が変わるごとに比較される。位置関係の変化がないか又は小さいときには、直前のフレームで使用した変換行列の集合をそのまま用い、それ以外の場合にのみ変換行列の集合を求めるようにしても構わない。
【0106】
なお、変換行列の集合を求める際に、全ての変換行列を求め直すのではなく、直前のフレームと比較して位置関係の異なる参照視点に基づく変換行列と、定義の変化したデプスに基づく変換行列とを同定し、それらに対してだけ変換行列を求め直しても構わない。
【0107】
また、符号化側でのみ、変換行列の再計算が必要か否かをチェックし、その結果を符号化して伝送するようにしても構わない。この場合、復号側では、伝送されてきた情報をもとに、変換行列を再計算するか否かを決定するようにしても構わない。再計算が必要か否かを示す情報は、フレーム全体に対して一つだけ設定しても、参照視点ごとに設定しても、又は、デプスごとに設定しても構わない。
【0108】
さらに、上述した実施形態では、デプスごとに変換行列を生成しているが、別途定められたデプス値の区分ごとに一つのデプス値を量子化デプスとして設定し、その量子化デプスごとに変換行列を設定しても構わない。代表デプスはデプスの値域の任意のデプス値を取りえるため、全てのデプス値に対する変換行列が必要となることがあるが、このようにすることで、変換行列が必要となるデプス値は量子化デプスと同じデプス値だけに制限することができる。なお、代表デプスを求めた後に変換行列を求める際には、その代表デプスが含まれるデプス値の区分から量子化デプスを求め、その量子化デプスを用いて変換行列を求める。特に、デプスの値域全体に対して一つの量子化デプスを設定する場合、変換行列は参照視点に対して唯一となる。
【0109】
なお、復号側と同じ方法であれば、量子化の区間と量子化デプスは、どのように設定しても構わない。例えば、デプスの値域を均等に分割して、その中央値を量子化デプスとして設定しても構わない。また、デプスマップにおけるデプスの分布に従って、区間と量子化デプスを決定しても構わない。
【0110】
また、復号側で設定できない方法で量子化デプスを決定する場合、符号化側では決定した量子化方法(区間および量子化デプス)を符号化して伝送し、復号側ではビットストリームから量子化方法を復号して得るようにしても構わない。なお、特にデプスマップ全体に対して一つの量子化デプスを設定する場合などは、量子化方法の代わりに、量子化デプスの値を符号化又は復号するようにしても構わない。
【0111】
さらに、上述した実施形態では、カメラパラメータ等を用いて復号側でも変換行列を生成しているが、符号化側で計算して得られた変換行列を、符号化して伝送するようにしても構わない。その場合、復号側では、変換行列をカメラパラメータ等から生成せず、ビットストリームから復号することで変換行列を取得する。
【0112】
さらに、上述した実施形態では、常に変換行列を用いるものとしているが、カメラパラメータをチェックし、視点間で向きが平行であればルックアップテーブルを生成し、そのルックアップテーブルに従って、デプスと視差ベクトルの変換を行い、視点間で向きが平行でなければ本願発明の手法を用いるようにしても構わない。また、符号化側のみでチェックを行い、どちらの手法を用いるかを示す情報を符号化しても構わない。その場合、復号側では、その情報を復号し、どちらの手法を用いるかを決定する。
【0113】
さらに、上述した実施形態では、符号化対象画像または復号対象画像を分割した領域(符号化対象領域または復号対象領域、及びそれらのサブ領域)ごとに、一つの視差ベクトルを設定したが、二つ以上の視差ベクトルを設定しても構わない。例えば、一つの領域に対して、代表画素を複数選択したり、代表デプスを複数選択したりすることで、複数の視差ベクトルを生成しても構わない。特に最大値と最小値の二つの代表デプスを設定することで、前景と背景の両方の視差ベクトルを設定しても構わない。
【0114】
また、前述した説明では、変換行列としてホモグラフィ行列を用いたが、符号化対象画像または復号対象画像の画素位置を参照視点における対応画素位置へ変換することができるものであれば、別の行列を用いても構わない。例えば、厳密なホモグラフィ行列ではなく、簡略化させた行列を用いても構わない。また、アフィン変換行列、射影行列、複数の変換行列を組み合わせて生成される行列などを用いても構わない。別の変換行列を用いることで、変換の精度や演算量、変換行列の更新頻度、変換行列を伝送する場合の符号量などを制御することが可能である。なお、符号化ノイズの発生を防ぐためには、符号化時と復号時とで同じ変換行列を使用する。
【0115】
次に、映像符号化装置及び映像復号装置を、コンピュータとソフトウェアプログラムとによって構成する場合のハードウェア構成の例を説明する。
図7は、本発明の一実施形態における、映像符号化装置100をコンピュータとソフトウェアプログラムとによって構成する場合のハードウェア構成の例を示すブロック図である。システムは、CPU(Central Processing Unit)50と、メモリ51と、符号化対象画像入力部52と、参照視点画像入力部53と、デプスマップ入力部54と、プログラム記憶装置55と、ビットストリーム出力部56とを備える。各部は、バスを介して通信可能に接続されている。
【0116】
CPU50は、プログラムを実行する。メモリ51は、CPU50がアクセスするプログラムやデータが格納されるRAM(Random Access Memory)等である。符号化対象画像入力部52は、カメラB等からの符号化対象の映像信号を、CPU50に入力する。符号化対象画像入力部52は、映像信号を記憶するディスク装置等の記憶部でもよい。参照視点画像入力部53は、カメラA等の参照視点からの映像信号を、CPU50に入力する。参照視点画像入力部53は、映像信号を記憶するディスク装置等の記憶部でもよい。
【0117】
デプスマップ入力部54は、デプスカメラなどにより被写体を撮影した視点におけるデプスマップを、CPU50に入力する。デプスマップ入力部54は、デプスマップを記憶するディスク装置等の記憶部でもよい。プログラム記憶装置55は、映像像符号化処理をCPU50に実行させるソフトウェアプログラムである映像符号化プログラム551を格納する。
【0118】
ビットストリーム出力部56は、プログラム記憶装置55からメモリ51にロードされた映像符号化プログラム551をCPU50が実行することにより生成されたビットストリームを、例えば、ネットワークを介して出力する。ビットストリーム出力部56は、ビットストリームを記憶するディスク装置等の記憶部でもよい。
【0119】
符号化対象画像入力部101は、符号化対象画像入力部52に対応する。符号化対象画像メモリ102は、メモリ51に対応する。参照視点画像入力部103は、参照視点画像入力部53に対応する。参照視点画像メモリ104は、メモリ51に対応する。デプスマップ入力部105は、デプスマップ入力部54に対応する。視差ベクトル生成部106は、CPU50に対応する。画像符号化部107は、CPU50に対応する。
【0120】
図8は、本発明の一実施形態における、映像復号装置200をコンピュータとソフトウェアプログラムとによって構成する場合のハードウェア構成の例を示すブロック図である。システムは、CPU60と、メモリ61と、ビットストリーム入力部62と、参照視点画像入力部63と、デプスマップ入力部64と、プログラム記憶装置65と、復号対象画像出力部66とを備える。各部は、バスを介して通信可能に接続されている。
【0121】
CPU60は、プログラムを実行する。メモリ61は、CPU60がアクセスするプログラムやデータが格納されるRAM等である。ビットストリーム入力部62は、映像符号化装置100が符号化したビットストリームを、CPU60に入力する。ビットストリーム入力部62は、ビットストリームを記憶するディスク装置等の記憶部でもよい。参照視点画像入力部63は、カメラA等の参照視点からの映像信号を、CPU60に入力する。参照視点画像入力部63は、映像信号を記憶するディスク装置等の記憶部でもよい。
【0122】
デプスマップ入力部64は、デプスカメラなどにより被写体を撮影した視点におけるデプスマップを、CPU60に入力する。デプスマップ入力部64は、デプス情報を記憶するディスク装置等の記憶部でもよい。プログラム記憶装置65は、映像復号処理をCPU60に実行させるソフトウェアプログラムである映像復号プログラム651を格納する。復号対象画像出力部66は、メモリ61にロードされた映像復号プログラム651をCPU60が実行することによりビットストリームを復号して得られた復号対象画像を、再生装置などに出力する。復号対象画像出力部66は、映像信号を記憶するディスク装置等の記憶部でもよい。
【0123】
ビットストリーム入力部201は、ビットストリーム入力部62に対応する。ビットストリームメモリ202は、メモリ61に対応する。参照視点画像入力部203は、参照視点画像入力部63に対応する。参照視点画像メモリ204は、メモリ61に対応する。デプスマップ入力部205は、デプスマップ入力部64に対応する。視差ベクトル生成部206は、CPU60に対応する。画像復号部207は、CPU60に対応する。
【0124】
上述した実施形態における映像符号化装置100又は映像復号装置200をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD(Compact Disc)−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。また、映像符号化装置100及び映像復号装置200は、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【0125】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。