(57)【特許請求の範囲】
【請求項１】
少なくとも１つの視差のある多視点画像を入力する入力手段と、前記多視点画像のうち少なくとも１つの画像に対してフレームあるいはフィールド間の動き量を用いて動き補償予測を行う動き補償手段と、前記多視点画像のうち残りの画像に対してフレームあるいはフィールド間の視差量を用いて視差補償予測を行う視差補償手段と、視差ベクトル分割手段とを備える多視点符号化装置であって、前記視差ベクトル分割手段は、前記視差補償手段で求められた視差ベクトルのうちの１つをグローバル視差ベクトルとし、残りの視差ベクトルからグローバル視差ベクトルを引いたものをローカル視差ベクトルとして出力することを特徴とする多視点画像符号化装置。
【請求項２】
少なくとも１つの３視点以上の多視点画像を入力する入力手段と、前記多視点画像のうち少なくとも１つの画像に対してフレームあるいはフィールド間の動き量を用いて動き補償予測を行う動き補償手段と、前記多視点画像のうち残りの画像に対してフレームあるいはフィールド間の視差量を用いて視差補償予測を行う視差補償手段とを備えるとともに、視差ベクトル分割手段と少なくとも１つの差分器を備える多視点符号化装置であって、前記視差ベクトル分割手段は、特定の視点間において求められた視差ベクトルのうちの１つをグローバル視差ベクトルとし、残りの視差ベクトルからグローバル視差ベクトルを引いたものをローカル視差ベクトルとして出力するとともに、前記差分器は、他の視点間において求められたすべての視差ベクトルと前記グローバル視差ベクトルとの差分を出力することを特徴とする多視点画像符号化装置。
【請求項３】
請求項１または２記載の多視点画像は、立体部品画像であることを特徴とした多視点画像符号化装置。
【請求項４】
請求項３記載の立体部品画像は、背景画像を含むことを特徴とした多視点画像符号化装置。
【請求項５】
請求項１または２記載の視差ベクトル分割手段は、グローバル視差ベクトルとして多視点画像内の全ての視差ベクトルの平均を出力することを特徴とした多視点画像符号化装置。
【請求項６】
請求項１または２記載の視差ベクトル分割手段は、グローバル視差ベクトルとして多視点画像内で最初に求めた視差ベクトルを出力することを特徴とした多視点画像符号化装置。
【請求項７】
請求項１または２記載の視差ベクトル分割手段は、グローバル視差ベクトルとして多視点画像内の視差ベクトルの大きさをヒストグラムにして、最も発生頻度の多い視差ベクトルを出力することを特徴とした多視点画像符号化装置。
【請求項８】
請求項１または２記載の視差ベクトル分割手段は、現在視差補償を行っているフレームあるいはフィールドのグローバル視差ベクトルとして、現在視差補償を行っているフレームあるいはフィールドのグローバル視差ベクトルと直前に視差補償を行ったフレームあるいはフィールドのグローバル視差ベクトルの差分を出力することを特徴とした多視点画像符号化装置。
【請求項９】
請求項１または２記載の視差ベクトル分割手段は、ローカル視差ベクトルとして、直前に求めたローカル視差ベクトルとの差分を出力することを特徴とした多視点画像符号化装置。
【請求項１０】
多視点立体画像のフレームあるいはフィールド間の動き量及び視差量を用いて、動き補償を行う動き補償手段及び視差補償を行う視差補償手段とを備える多視点画像復号装置において、入力された特定の視点間の視差ベクトルであるグローバル視差ベクトルと、他の視点間の視差ベクトルから前記グローバル視差ベクトルを引いたものであるローカル視差ベクトルを用いて作成した視差ベクトルを視差補償手段に出力する視差ベクトル合成手段と、奥行き方向の移動パラメータを画像編集手段に出力するパラメータ入力手段と、入力されたパラメータを用いて立体部品画像の奥行きを変化させて画像合成手段に出力する画像編集手段と、入力された背景画像と立体部品画像を合成する画像合成手段を備えることを特徴とした多視点画像復号装置。
【請求項１１】
請求項１０記載の多視点画像復号装置において、前記画像編集手段は、前記グローバル視差ベクトルが小さい立体部品画像から順に出力し、前記画像合成手段は、背景画像が入力された後に順次入力される立体部品画像を背景画像上に上書きすることにより画像を合成することを特徴とした多視点画像復号装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像高能率符号化及び復号において、特に動き補償あるいは視差補償予測を用いた多視点画像の高能率符号化及び復号装置に関するものである。
【０００２】
【従来の技術】
多視点画像の符号化において、動画像符号化の際に一般的に用いられている動き補償と、視点の異る画像間に対し視差補償を組み合わせて符号化することにより、符号化効率を向上させる方式がよく知られている。例えば文献（Ｗ．Ａ．シュップ，安田，“視差補償および動き補償を用いたステレオ動画像のデータ圧縮”，PCSJ88(1988)，pp.63-64）によれば、図１１に示すように、右画像に対しては動き補償のみを行なう。左画像に対しては視差補償と動き補償のうち、予測誤差がより少ない方の補償方法を選択し、符号化するという方式である。
【０００３】
また、動画像の符号化においてブロックマッチングによる動き補償を行なう際に、ブロックの大きさを変えて動きベクトルを求める例が、特開平６−１１３２８３号公報に開示されている。この方式では、図１２に示すようにまず小ブロック７１を用いて動き補償を行ない、小ブロック７１に対する動きベクトル（以降、小ブロックベクトルと略す）を求める。それらの小ブロック７１を複数個集めて大ブロックとし、動き補償を行ない、大ブロックに対する動きベクトル（以降、大ブロックベクトルと略す）を求める。
【０００４】
大ブロック７０を４つの小ブロックにより構成したとすると、小ブロックベクトルが大ブロックベクトルに対して予め決められた範囲内に存在し、そこに存在する小ブロックベクトルの数が所定の閾値を越えた場合、大ブロックベクトルと、小ブロックベクトルと大ブロックベクトルの差分を伝送することにより動きベクトルの情報量を低減する。
【０００５】
【発明が解決しようとする課題】
しかしながら従来の方法では、視差補償を行う際に視差のある部分と視差のない部分全てに対して視差補償を行なうので、効率がよくない。しかも求まった視差ベクトルの大きさは通常、動き補償において求まる動きベクトルの大きさよりも大きくなることが多く、それをそのままの大きさで符号化するため、視差ベクトルの符号化効率がよくないという問題点がある。
【０００６】
またこの方式では、動き補償を用いるか視差補償を用いるかが選択的に決定されるので視差ベクトルが必ず伝送されるわけではない。従って、複数の物体が立体表示されるときに、一部の物体の奥行きだけを変える等の編集を行うことができない。
【０００７】
一方、動画像の符号化を大ブロックと小ブロックの２種類の動きベクトルにより符号化する方法では、画面全体にわたって２段階の探索をする必要があるため計算量が莫大になる。また、大ブロックは複数の小ブロックにより構成されているため、信頼度の異なる２種類のベクトル及びその差分を求めているに過ぎず、それらのベクトル間に物理的な意味の相違はない。さらに、この２種類の動きベクトルに異なる作用をもたせることができないため、部品画像編集に利用することは難しい。
【０００８】
本発明の目的は、多視点画像の符号化において動き補償及び視差補償予測を用いることにより高効率の符号化を実現しながら、視差ベクトルを２段階に分けることにより視差ベクトルの符号化効率を向上させるとともに、視差ベクトルを求める際の計算量を低減させ、２段階に分けた視差ベクトルを利用して立体部品画像の編集を簡単に行うことができる視差補償符号化及び復号装置を提供することにある。
【０００９】
【課題を解決するための手段】
本発明の符号化装置は上記目的を達成するために、多視点立体画像を少なくとも１つの視差のある部品画像と、少なくとも１つの視差のない背景画像に分けて入力する入力手段と、部品画像のフレームあるいはフィールド間の動き量を用いて動き補償予測を行う動き補償手段と、部品画像のフレームあるいはフィールド間の視差量を用いて視差補償予測を行う視差補償手段と、視差ベクトル分割手段とを各部品画像毎に備える多視点符号化装置であって、前記視差ベクトル分割手段は、前記視差補償手段で求められた視差ベクトルのうちの１つをグローバル視差ベクトルとし、残りの視差ベクトルからグローバル視差ベクトルを引いたものをローカル視差ベクトルとして出力することを特徴とする。
【００１０】
また本発明の符号化装置では、３視点以上の多視点立体画像を少なくとも１つの視差のある部品画像と、少なくとも１つの視差のない背景画像に分けて入力する入力手段と、部品画像のフレームあるいはフィールド間の動き量を用いて動き補償予測を行う動き補償手段と、部品画像のフレームあるいはフィールド間の視差量を用いて視差補償予測を行う視差補償手段とを各部品画像毎に備えるとともに、各部品画像毎に１つの視差ベクトル分割手段と少なくとも１つの差分器を備える多視点符号化装置であって、前記視差ベクトル分割手段は、特定の視点間において求められた視差ベクトルのうちの１つをグローバル視差ベクトルとし、残りの視差ベクトルからグローバル視差ベクトルを引いたものをローカル視差ベクトルとして出力するとともに、前記差分器は、他の視点間において求められたすべての視差ベクトルと前記グローバル視差ベクトルとの差分を出力することを特徴とする。
【００１１】
また本発明では、グローバル視差ベクトルとして立体部品画像内の全ての視差ベクトルの平均を用いてもよい。
【００１２】
また本発明では、グローバル視差ベクトルとして立体部品画像内で最初に求めた視差ベクトルを用いてもよい。
【００１３】
また本発明では、グローバル視差ベクトルとして立体部品画像内の視差ベクトルの大きさをヒストグラムにして、最も発生頻度の多い視差ベクトルを用いてもよい。
【００１４】
また本発明では、現フレームあるいはフィールドのグローバル視差ベクトルとして、現フレームあるいはフィールドのグローバル視差ベクトルと直前のフレームあるいはフィールドのグローバル視差ベクトルの差分を用いてもよい。
【００１５】
また本発明では、ローカル視差ベクトルとして、直前に求めたローカル視差ベクトルとの差分を用いてもよい。
【００１６】
また本発明の復号装置では、多視点立体画像のフレームあるいはフィールド間の動き量及び視差量を用いて、動き補償を行う動き補償手段及び視差補償を行う視差補償手段とを備える多視点画像復号装置において、入力されたグローバル視差ベクトルと前記ローカル視差ベクトルを用いて前記視差ベクトルを視差補償手段に出力する視差ベクトル合成手段と、奥行き方向の移動パラメータを画像編集手段に出力するパラメータ入力手段と、入力されたパラメータを用いて立体部品画像の奥行きを変化させて画像合成手段に出力する画像編集手段と、入力された背景画像と立体部品画像を合成する画像合成手段を備えることを特徴とする。
【００１７】
また本発明では、前記画像編集手段は、前記グローバル視差ベクトルが小さい立体部品画像から順に出力し、前記画像合成手段は、背景画像が入力された後に順次入力される立体部品画像を背景画像上に上書きすることにより画像を合成するようにしてもよい。
【００１８】
【発明の実施の形態】
以下、本発明の実施の形態について詳細に説明する。
【００１９】
図１に本発明の画像符号化装置の第１の実施の形態を示す。本実施の形態は２眼式の例であり、この画像符号化装置に入力する画像は、視差のない背景画像と視差のある立体部品画像とする。背景画像と立体部品画像はどちらも静止画像と動画像のいずれであってもよいが、ここでは両者とも動画像であるものとする。
【００２０】
ここで立体部品画像とは、例えば図２に示すように、２台のカメラを平行に配置して撮影したステレオ画像２を切り出し装置３に入力し、注視物体だけを切り出したものを示す。また、図２の画像入力部５におけるＶＯＰ(Video Object Plane)とは、複数の部品画像によって合成画像を形成する場合の１つ１つの構成要素を意味し、通常、形状データとテクスチャデータにより構成されるが、ここでは説明を簡単にするために任意形状の領域に分割された部品画像としてとり扱う。立体部品画像ｏｂｊn（ｎ＝１，２，…によって異なる部品を区別する）は視点数と同じ数のＶＯＰmn（ｍ＝１，２，…によって異なる視点を区別し、２眼式の場合はｍ＝１，２となる）に分離されており、ＶＯＰ0を背景画像１とする。このとき２台のカメラ間隔は人の目と同じとしてもよい。また２台のカメラは平行に配置されており、かつ上下方向のズレや歪みがないように調整されているので、切り出し装置から切り出された画像の視差は垂直成分はなく、水平成分のみをもつものとする。
【００２１】
まず、図１を用いて背景画像の符号化方法を説明する。動画像の符号化において、符号化の単位をブロック（例えば１６×１６画素で構成される）として符号化するブロックマッチングを用いた動き補償予測符号化という方法が一般的によく知られている。本実施の形態において、背景画像の符号化方法はこのブロックマッチングを用いた動き補償予測符号化の方法と同じである。例えば背景画像ＶＯＰ0は、動き補償部６により前フレームあるいはフィールドの復号画像を用いて動き補償され、検出された動きベクトルが可変長符号化部１０に伝送される。
【００２２】
その後減算器７で背景画像ＶＯＰ0と動き補償された画像の差分がとられ、その差分データが変換部８と量子化部９を通って、可変長符号化部１０に伝送される。またこの差分データは、可変長符号化部１０に入力されるとともに、逆量子化部１１と逆変換部１２を通り、加算器１３で動き補償された画像が加算され、背景画像ＶＯＰ0の復号画像がフレームメモリ１４に蓄えられる。これ以降は、次の入力に対して、この繰り返しで符号化される。
【００２３】
次に立体部品画像の符号化について説明する。立体部品画像ｏｂｊ1を符号化する順序を図３を用いて説明する。符号化は以下の（ａ）〜（ｄ）の手順で行なわれる。
【００２４】
（ａ）立体部品画像ｏｂｊ1の左目用の部品画像４３はフレームあるいはフィールド内で符号化を行なう。
【００２５】
（ｂ）部品画像４３の復号画像を用いた視差補償により、右目用の部品画像４４に対してフレームあるいはフィールド間符号化を行なう。
【００２６】
（ｃ）部品画像４５は部品画像４３の復号画像を用いた動き補償によりフレームあるいはフィールド間符号化を行なう。
【００２７】
（ｄ）部品画像４５の復号画像を用いた視差補償により、右目用の部品画像４６はフレームあるいはフィールド間符号化を行なう。
【００２８】
すなわち左目用画像は動き補償で符号化され、右目用画像は同時刻の左目用画像を用いた視差補償で符号化される。以降（ｃ）、（ｄ）の手順を繰り返して符号化は行なわれる。ただし（ｃ）、（ｄ）の手順を繰り返して符号化するとき、予測誤差の伝搬を防ぐために（ｃ）、（ｄ）の手順の代わりに（ａ）、（ｂ）の手順による符号化を、一定の周期で行なってもよい。
【００２９】
図１において、立体部品画像ｏｂｊ1を構成する左目用画像ＶＯＰ11は、背景画像の符号化のときと同様の方式で符号化を行なう。同じく立体部品画像ｏｂｊ1を構成する右目用画像ＶＯＰ21は、左目用画像ＶＯＰ11の復号画像を用いてブロックマッチングによる視差補償を行ない、符号化する。このとき、視差補償部１６に右目用画像ＶＯＰ21と、加算器１５からの左目用画像ＶＯＰ11の復号画像が入力され、視差ベクトルが求まる。
【００３０】
視差ベクトルの求め方は、図４に示すように左目用の部品画像３１と右目用の部品画像３２を画像３３のように同一平面上に重ねて、注目ブロックに対してマッチングを行なうことにより行う。従って１つのブロックに対して１つの視差ベクトルが求まる。求まった視差ベクトルは視差ベクトル分割器１７に入力され、１つのグローバル視差ベクトルと、それぞれの視差ベクトルからグローバル視差ベクトルを引いた、ローカル視差ベクトルに分けられる。
【００３１】
つまり立体部品画像内において、グローバル視差ベクトルは１個の所定のブロックの視差を表し、ローカル視差ベクトルはそれ以外のブロックの視差からグローバル視差ベクトルを引いたものとなる。例えば、図５のように視差ベクトルｖ1をグローバル視差ベクトルＧＶとすると、視差ベクトルｖ2からグローバル視差ベクトルＧＶ引いたものがローカル視差ベクトルＬＶ2となり、視差ベクトルｖ2はＧＶ＋ＬＶ2として表すことができる。
【００３２】
よって、ｋ（ｋ＝１，２，…）本の視差ベクトルは１本のグローバル視差ベクトルとｋ−１本のローカル視差ベクトルで表すことができる。このときグローバル視差ベクトルは３次元空間における立体部品画像の奥行き（存在位置）に対応し、ローカル視差ベクトルは立体部品画像内での局所的な奥行き分布（立体形状）に対応する。
【００３３】
このとき、全ての視差ベクトルの平均をグローバル視差ベクトルとすることによって、ローカル視差ベクトルの情報量を低減することができる。また最初に求めた視差ベクトルをグローバル視差ベクトルとしてもよく、これによりグローバル視差ベクトルを選択する際の計算量が低減される。さらに視差ベクトルの大きさをヒストグラムにして、最も発生頻度の多い視差ベクトルをグローバル視差ベクトルとすることによって、３次元空間における立体部品画像の存在位置を適切に表現することができる。
【００３４】
一般的に視差ベクトルをｋ本もつことに比べ、グローバル視差ベクトルを１本と、値の小さなｋ−１本のローカル視差ベクトルをもつ方が視差ベクトルの情報量を低減することができる。
【００３５】
また立体画像において、立体画像内の隣接ブロック間における視差量の変化は少ないが、立体画像内に複数の物体が存在し、それらの物体が部品化されていない場合、異なる物体が重なり合う部分における視差は急激に変化することがある。本発明では立体部品画像を用いて部品毎に符号化を行うため、１つの立体部品画像内においてはこのような視差の急激な変化は起こらない。よって隣合うブロックのローカル視差ベクトルで差分をとることにより、ローカル視差ベクトルの情報量をさらに削減することができる。
【００３６】
これらのベクトルは図１の可変長符号化部１０に伝送される。減算器１８で、右目用画像ＶＯＰ21と視差補償された画像との差分がとられ、変換部１９と量子化部２０を通り、可変長符号化部１０に伝送される。以下、次の入力に対して、この繰り返しで符号化される。他の立体部品画像についても同様の方式で符号化される。可変長符号化部１０に伝送されたデータはそこで可変長符号化され、多重化部２１で多重化される。
【００３７】
ここでは１つの背景画像とｎ個の立体部品画像を符号化したが、背景画像は１つに限らず複数でも構わない。また図３において、時間方向にはグローバル視差ベクトルはそれほど急激に変わらないので、現在のグローバル視差ベクトル（例えば左目用画像４５と右目用画像４６で求められたグローバル視差ベクトル）と１フレームあるいはフィールド前のグローバル視差ベクトル（例えば左目用画像４３と右目用画像４４で求められたグローバル視差ベクトル）の差分をとることによりグローバル視差ベクトルの情報量を削減することができる。
【００３８】
本実施の形態では２眼式の立体部品画像の符号化について述べたが、多視点立体部品画像においても同様に符号化できる。
【００３９】
次に本発明における第２の実施の形態について説明する。本実施の形態は第１の実施の形態の符号化装置を、多視点立体画像にも対応できるようにしたものである。このとき背景画像は、第１の実施の形態と同じ方法で符号化する。
【００４０】
図６に本発明の画像符号化装置の第２の実施の形態を示す。図６における入力画像は、多視点画像ＶＯＰmn（ｍ＝１，２，…、ｎ＝１，２，…）である。画像ＶＯＰ11と画像ＶＯＰ21は、図１の画像ＶＯＰ11と画像ＶＯＰ12のときと同じようにそれぞれ符号化する。復号された画像ＶＯＰ21は加算器５１から出力されて、視差補償部５３に入力される。さらに画像ＶＯＰ11と画像ＶＯＰ21を用いて求めたグローバル視差ベクトルが、視差補償部５３に入力される。
【００４１】
視差補償部５３では、ＶＯＰ21の復号画像を用いて入力画像ＶＯＰ31の視差補償を行ない、視差ベクトルを求める。求めた視差ベクトルと画像ＶＯＰ11と画像ＶＯＰ21を用いて求めたグローバル視差ベクトルが差分器５４に入力され、それらの差分がローカル視差ベクトルとして出力される。すなわち、ここでは新たにグローバル視差ベクトルを求める必要がない。
【００４２】
ここで多視点画像であってもグローバル視差を共通にできることについて説明する。説明を簡略化するために３視点をもつ立体部品画像について説明する。
【００４３】
例えば図７に示すように、原点をＯ1、ｘ軸を水平方向、ｚ軸を奥行き方向とした座標系をとる。この座標上にカメラ群Ｃm（ｍ＝１，２，３）をそれぞれａの間隔で光軸がｚ軸と平行になるように、点Ｏm（ｍ＝１，２，３）の位置に配置する。第１の実施の形態と同様に、カメラは上下方向のズレや歪みがないように調整されているものとする。
【００４４】
また点Ａ0を立体部品画像ｏｂｊ1の代表点とし、点Ａ0と点Ｏmを結び、カメラの仮想画像面（カメラにより撮影された画像面を示す）と交差する点をそれぞれＡm（ｍ＝１，２，３）とする。点Ｏmを通り、ｚ軸に平行に伸ばした直線がカメラの仮想画像面と交わる点をそれぞれＱm（ｍ＝１，２，３）とする。これらの点Ｑm は各カメラによる画像の中心点を表す。
【００４５】
ここでＡ1、Ａ2、Ａ3のｘ座標をそれぞれｘ1、ｘ2、ｘ3とする。カメラの仮想画像面とｘ軸は平行ゆえ、｜Ａ1Ａ2｜と｜Ａ2Ａ3｜は等しくなる。これとｘ1＜ｘ2＜ｘ3より、
ｘ1−ｘ2  ＝  ｘ2−ｘ3             （１）
となる。
【００４６】
また、カメラＣ1とＣ2における視差ベクトルｄ1は水平成分しかもたないことから、１次元ベクトルであり、ベクトルＱ1Ａ1からベクトルＱ2Ａ2を引いたものとなるので、
ｄ1  ＝  ｘ1  −  （ｘ2−ａ1）     （２）
となる。
【００４７】
次にカメラＣ2とＣ3における視差ベクトルｄ2は、ベクトルＱ3Ａ3からベクトルＱ1Ａ2を引いたものとなり、
ｄ2  ＝  ｘ2  −  （ｘ3−ａ）      （３）
となる。
【００４８】
よって式（１）〜式（３）より、
ｄ1  ＝  ｄ2                       （４）
となる。このように隣合うカメラ間の代表点における視差ベクトルは全て等しくなる。このことは３視点の立体画像に限らず、３以外の視点数の場合も同様である。
【００４９】
従って本方式では、グローバル視差ベクトルは代表点における視差ベクトルとみなすことができるので、視点数がいくつであってもグローバル視差ベクトルは１つもてばよく、多視点画像において視差ベクトルを求める際の計算量及び、視差ベクトル自体の情報量が削減できる。
【００５０】
ゆえに、図６において、差分器５４から出力される値は、視差補償部５３から出力された視差ベクトルからＶＯＰ11とＶＯＰ21の間で求めたグローバル視差ベクトルを引いたローカル視差ベクトルとすることができる。図６における他のＶＯＰについても同様に符号化される。
【００５１】
次に本発明における第３の実施の形態について説明する。
【００５２】
図８に本実施の形態の画像復号装置を示す。本実施の形態の復号装置は図１の符号化装置を用いて符号化されたデータを復号するためのものである。背景画像と立体部品画像ｏｂｊ1を構成する左目用画像ＶＯＰ11の復号方法は、一般的なブロックマッチングを用いた動き補償予測復号と同じ方法である。立体部品画像ｏｂｊ1を構成する右目用画像ＶＯＰ21に対しては、左目用画像ＶＯＰ11の復号画像を用いて視差補償を行ない、復号する。
【００５３】
グローバル視差ベクトルとローカル視差ベクトルは視差ベクトル合成器８１に入力され、通常の視差ベクトルが合成される。画像編集部８０には、パラメータ入力部８２より部品画像を画像面に対して平行に動かすときに用いる移動量と、部品画像を画像面に対して垂直に動かすときに用いるグローバル視差ベクトルの変化量が編集用の値として入力される。画像編集部８０には、復号された立体部品画像とグローバル視差ベクトル、及びグローバル視差ベクトルをもつ代表ブロックの位置情報も入力される。画像編集部８０は、これらの入力値を用いて立体部品画像の編集を行う。復号された背景画像と編集後の部品画像は画像合成部８３で１つの画像に合成される。
【００５４】
グローバル視差ベクトルは３次元空間における立体部品画像の奥行き（存在位置）に対応するため、より大きいグローバル視差ベクトルをもつ部品画像は奥行き方向に関してカメラにより近い位置に存在する。画像編集部８０では、そのグローバル視差ベクトルが、小さい立体部品画像から順に出力される。また、画像合成部８３には、まず背景画像が入力され、順次入力された立体部品画像を背景画像上に上書きする。これにより、最初に入力した左右の各画像の上に、複数の部品画像が重なる場合は、奥行き方向のより手前の部品画像が上に書かれることになる。このようにグローバル視差ベクトルを用いることにより、立体部品画像を合成する際に部品画像の重なりを正しく表現することができる。
【００５５】
まず、ｘ方向の移動パラメータを入力することにより、立体部品画像を水平方向に平行移動する場合について説明する。
【００５６】
図９において、原点をＯ1、水平方向をｘ軸、奥行き方向をｚ軸とする座標系をとる。この座標上にカメラＬとＲをそれぞれａの間隔で光軸がｚ軸と平行になるように、点Ｏm（ｍ＝１，２）の位置に配置する。また点Ａ0（ｘA，ｚA）を立体部品画像ｏｂｊ1の代表点とし、点Ａ0と点Ｏmを結び、カメラの仮想画像面と交差する点をそれぞれＡm（ｍ＝１，２）とする。
【００５７】
点Ｏmを通り、ｚ軸に平行に伸ばした直線がカメラの仮想画像面と交わる点をそれぞれＱm（ｍ＝１，２）とする。これらの点Ｑmは各カメラによる画像の中心点を表す。さらにカメラの仮想画像面からｘ軸までの距離をｗとし、ｚ＝ｚA平面がカメラＬの光軸と交わる点をＳ1、カメラＲの光軸と交わる点をＳ2（ａ，ｚa）とする。ここでＡ1、Ａ2の座標をそれぞれ（ｘa1，ｗ）、（ｘa2，ｗ）とすると、１次元ベクトルＱ1Ａ1、Ｑ2Ａ2はそれぞれｘa1、ｘa2−ａとなる。ここで、△Ｏ1Ａ0Ｓ1∽△Ｏ1Ａ1Ｑ1かつ△Ｏ2Ａ0Ｓ2∽△Ｏ2Ａ2Ｑ2より、
ｚA／ｗ  ＝  ｘA／ｘa1  ＝  （ｘA−ａ）／（ｘa2−ａ）      （５）
という関係があることから、点Ａ0のｘ座標ｘAは、
ｘA  ＝  ａ×ｘa1／（ｘa1−ｘa2＋ａ）  ＝  ａ×ｘa1／ｄA   （６）
と表される。ｄAは物体１００のもつグローバル視差ベクトルを表し、
ｄA  ＝  ｘa1 −（ｘa2−ａ）                               （７）
である。
【００５８】
ここで、左画像面上の立体部品画像のｘ方向移動量を、平行方向の移動パラメータＰxで表したとする。パラメータＰxを入力とすることにより、物体１００は物体１０１の位置に平行移動したとすると、物体１００の代表点Ａ0（ｘA，ｚA）は点Ｂ0（ｘB，ｚA）に、点Ａ1は点Ｂ1（ｘa1＋Ｐx，ｗ）に平行移動する。ここで物体１０１の代表点Ｂ0と点Ｏ2を結んだ線分がカメラの仮想画像面と交わる点を点Ｂ2（ｘb2，ｗ）とすると、△Ｏ1Ｏ2Ａ0∽△Ａ1Ａ2Ａ0かつ△Ｏ1Ｏ2Ｂ0∽△Ｂ1Ｂ2Ｂ0より、
ｚA／(ｚA−ｗ) ＝ ａ／(ｘa2−ｘa1) ＝ ａ／(ｘb2−ｘa1−Ｐx)  （８）
という関係があることから、物体１００の代表点Ａ0が物体１０１の代表点Ｂ0に移動したときの右画像面上における移動量ｘb2−ｘa2は、
ｘb2−ｘa2＝Ｐx                          （９）
となる。
【００５９】
よって、物体１００の代表点Ａ0 が物体１０１の代表点Ｂ0に移動したときの左右の両画像面上における移動量はＰxに等しい。このとき、式（６）、式（７）と同様にして、点Ｂ0のｘ座標ｘBは、
ｘB  ＝  ａ×（ｘa1＋Ｐx）／ｄB          （１０）
となる。
【００６０】
ｄBは物体１０１のもつグローバル視差ベクトルを表し、
ｄB  ＝  （ｘa1＋Ｐx）−（ｘb2−ａ）     （１１）
である。
【００６１】
式（７）、式（９）、式（１１）より、
ｄA  ＝  ｄB                             （１２）
となり、グローバル視差ベクトルｄAとｄBは等しくなる。
【００６２】
このとき式（６）、式（１０）、式（１２）より、
ｘB−ｘA  ＝  Ｐx／ｘa1×ｘA             （１３）
となる。よって物体を水平方向に移動する際は、以下の１）、２）の手順で行なえばよい。
【００６３】
１）ｘ方向の移動パラメータＰxを入力し、左画像上で物体１００の代表点Ａ0のｘ座標ｘa1を、左画像上の代表点Ｂ0のｘ座標ｘa1＋Ｐxの位置に平行に動かす。
【００６４】
２）右画像上で、物体１００の代表点Ａ0のｘ座標ｘa2を、左画像上の代表点Ｂ0のｘ座標ｘa2＋Ｐxの位置に平行に動かす。
【００６５】
この結果、物体１００は物体１０１の位置に移動し、このときの３次元空間内での移動量は式（１３）よりＰx／ｘa1×ｘAとなる。
【００６６】
次に、ｚ方向の移動パラメータを入力することにより、立体部品画像を奥行き方向（画像面に対して垂直方向）に移動する場合について図１０を用いて説明する。ただし、図１０で用いる座標系及び物体１００の配置は図９と同じである。ｚ方向の移動パラメータＰzによって、移動後のカメラと物体の距離が移動前の距離のＰz倍になるとする。図１０において、パラメータＰzを入力し、物体１００が点Ｏ1と点Ａ0を通る直線上にある物体１０２の位置に移動したとすると、物体１００の代表点Ａ0（ｘA，ｚA）は点Ｃ0（ｘC，ｚC）に移動するが、点Ａ1は動かない。このとき、
ｚC  ＝  Ｐz×ｚA                     （１４）
となる。点Ｏ2と点Ｃ0を結んだ線分がカメラの仮想画像面と交わる点をＣ2、ｚ＝ｚCの平面とｚ軸が交わる点をＴ1とする。Ｃ2の座標をそれぞれ（ｘc2，ｗ）とし、物体１００の点Ａ0を点Ｏ1と点Ａ0を通る直線上で移動した後の点Ｃ0のグローバル視差ベクトルをｄCとする。
【００６７】
またｘCは、式（６）を求めるときと同様にして、
ｘC  ＝  ａ×ｘa1／ｄC                （１５）
となる。ここに
ｄC  ＝  （ｘa1  −  ｘc2  ＋  ａ）   （１６）
である。△Ｏ1Ａ0Ｓ1∽△Ｏ1Ｃ0Ｔ1より、
ｘC／ｘA  ＝  ｚC／ｚA                （１７）
という関係があることから、式（１７）に式（６）と式（１５）を代入してｚCを求めると、
ｚC  ＝  （ｄA／ｄC）×ｚA            （１８）
となる。
【００６８】
よって式（１４）と式（１７）よりグローバル視差ベクトルｄC、点Ｃ0のｘ座標ｘC及び点Ｃ2の座標ｘc2は、
ｄC  ＝  ｄA／Ｐz                     （１９）
ｘC  ＝  Ｐz×ａ×ｘa1／ｄA           （２０）
ｘc2  ＝  ｘa1＋ａ  −  ｄA／Ｐz      （２１）
となる。よって物体１００を物体１０２に動かす場合、左画像上の物体１００の代表点Ａ1は動かさず、右画像上の点Ａ2はｘc2−ｘa2だけ動かせばよい。
【００６９】
ここで物体１０２を−（ｘC−ｘA）移動させ、それを物体１０３とする。物体１０２の代表点Ｃ0の移動した点を物体１０３の代表点Ｄ0とする。さらに点Ｄ0とＯ1を結んだ直線がカメラの仮想画像面と交わる点をＤ1（ｘd1，ｗ）とする。点Ｄ1のｘ座標ｘd1は、式（６）、式（１９）より
ｘd1  ＝  ｘa1／Ｐz                   （２２）
となる。よって物体１０２を物体１０３に動かす場合、左画像上では点Ｂ1を、右画像上では点Ｂ2をそれぞれｘa1−ｘd1だけ動かせばよい。従って、物体１００を奥行き方向（物体１０３の位置）に移動する場合、以下の３）、４）の手順で行なう。
【００７０】
３）ｚ方向の移動パラメータＰzを入力し、式（１９）によりグローバル視差ｄCを求め、立体部品画像の左画像上の点Ａ１を水平方向に（ｘd1−ｘa1）動かす。
【００７１】
４）式（２１）及び式（２２）より、ｘc2とｘd1の値を求め、立体部品画像の右画像上の点Ａ2を（ｘc2−ｘa2＋ｘa1−ｘd1）動かす。
【００７２】
ゆえに視差ベクトルをグローバル視差ベクトルとローカル視差ベクトルの２段階にしてもつことにより、ｚ方向の移動パラメータＰzを入力し、グローバル視差ベクトルを変化させて、個々の部品画像の奥行き方向の位置を簡単に変えることができる。また、水平方向の移動（手順１），２））と奥行き方向の移動（手順３），４））を組み合わせることにより、３次元空間内の任意の位置に物体を移動させることができる。
【００７３】
なお上下方向の移動に関しては視差は関係がないので、単に画面上で平行移動すればよい。
【００７４】
また本実施の形態では２眼式の立体部品画像を用いたが、多視点立体部品画像においても同様である。
【００７５】
【発明の効果】
以上説明したように本発明の符号化装置によれば、立体部品画像を符号化するときに用いるすべての視差ベクトルに対して、そのうちの１本の視差ベクトルをグローバル視差ベクトル（３次元空間における立体部品画像の奥行きに対応）とし、このグローバル視差ベクトルと他の視差ベクトルとの差分をとったものをローカル視差ベクトル（立体部品画像内での局所的な奥行き分布に対応）として、視差ベクトルを２つに分けてもつことによって、視差ベクトルの情報量を低減することができ、符号化効率を向上することができる。本発明においては、グローバル視差ベクトルとローカル視差ベクトルの２種類のベクトルを用いるが、これらを求める際の検索は１回でよいので、２回検索する場合と比べて計算量を削減することができる。
【００７６】
本発明の符号化装置によれば、立体画像を背景画像と立体部品画像に分けて符号化するとき、全ての視点の画像に対して視差のない部分を１つの背景画像として符号化することによって、背景画像の情報量が低減でき、符号化の効率を向上することができる。
【００７７】
本発明の符号化装置によれば、立体画像から切り出した立体部品画像と背景画像に分けて符号化を行なうことによって、立体画像内において急激な視差の変化が生じることがなく、マッチングするときの信頼度が向上し、また隣合う位置のローカル視差ベクトルの差分をとることによりローカル視差ベクトルの情報量を低減する場合でも、絶対量の大きいものが発生しない。
【００７８】
本発明の符号化装置によれば、立体部品画像内の全ての視差ベクトルの平均をグローバル視差ベクトルとすることによって、ローカル視差ベクトルの情報量を低減することができる。
【００７９】
本発明の符号化装置によれば、立体部品画像内において最初に求めた視差ベクトルをグローバル視差ベクトルとすることによって、グローバル視差ベクトルを選択する際の計算量が低減される。
【００８０】
本発明の符号化装置によれば、立体部品画像内における視差ベクトルの大きさをヒストグラムにして、最も発生頻度の多い視差ベクトルをグローバル視差ベクトルとすることによって、３次元空間における立体部品画像の奥行きを適切に表現することができる。
【００８１】
本発明の符号化装置によれば、現フレームあるいはフィールドのグローバル視差ベクトルと１つ前のフレームあるいはフィールドのグローバル視差ベクトルの差分をとることによって、グローバル視差ベクトルの情報量を減らすことができる。
【００８２】
本発明の符号化装置によれば、空間方向に関して、１つの多視点立体部品画像に対してグローバル視差ベクトルは１つもてばよいので、グローバル視差ベクトルの計算量及び情報量が低減でき、符号化の効率を向上することができる。
【００８３】
本発明の復号装置において、多視点の各画像を合成する際に複数の部品画像が重なる部分では、より大きいグローバル視差をもつ部品画像を上書きすることによって、重なりが正しく表現された多視点立体画像を復号することができる。
【００８４】
本発明の復号装置において、奥行き方向の移動パラメータを入力し、立体部品画像のグローバル視差ベクトルの値を変えることによって、簡単に任意の奥行きをもつ立体部品画像を復号することができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態であり、背景画像と複数の立体部品画像を符号化する符号化装置の構成図である。
【図２】  カメラによる入力画像から立体部品画像を切り出すことを説明する図である。
【図３】立体部品画像の符号化を行なう順序を説明する図である。
【図４】視差ベクトルの算出例を説明する図である。
【図５】視差ベクトルをグローバル視差ベクトルとローカル視差ベクトルで表すことを説明する図である。
【図６】本発明の別の一実施の形態であり、多視点立体部品画像を符号化するときの符号化装置の構成図である。
【図７】多視点立体部品画像を符号化する際に、空間方向に対しグローバル視差ベクトルを共通にもつことを説明する図である。
【図８】本発明の一実施の形態であり、背景画像と複数の立体部品画像を復号する復号装置の構成図である。
【図９】立体部品画像の平行移動を説明する図である。
【図１０】立体部品画像の奥行き方向の移動を説明する図である。
【図１１】多視点画像の圧縮に関する従来例の説明図である。
【図１２】２段階の動きベクトルを求める従来例の説明図である。
【符号の説明】
１  背景画像
２  原画像
３  切り出し装置
４３，４４，４５，４６  立体部品画像
５  画像入力部
６  動き補償部
７，１８  減算器
８，１９  変換部
９，２０  量子化部
１０  可変長符号化部
１１  逆量子化部
１２  逆変換部
１３，１５，５１  加算器
１４  フレームメモリ
１６，５３  視差補償部
１７，５２  視差ベクトル分割器
２１  多重化部
３１  左目用立体部品画像
３２  右目用立体部品画像
３３  合成画像
５４  差分器
６０  比較器
７０  大ブロック
７１  小ブロック
８０  編集部
８１  視差ベクトル合成器
８２  外部入力部
８３  画像合成部
１００，１０１，１０２，１０３  物体
【図１】
0003693407.tif 000002
【図２】
0003693407.tif 000003
【図３】
0003693407.tif 000004
【図４】
0003693407.tif 000005
【図５】
0003693407.tif 000006
【図６】
0003693407.tif 000007
【図７】
0003693407.tif 000008
【図８】
0003693407.tif 000009
【図９】
0003693407.tif 000010
【図１０】
0003693407.tif 000011
【図１１】
0003693407.tif 000012
【図１２】
0003693407.tif 000013