(57)【要約】【課題】自然な立体感が得られる立体視用の画像を生成すること。【解決手段】記憶部１４が、被写体を撮影した撮影画像と、その撮影画像に対応する視差画像とを記憶し、処理対象領域抽出部１５ｃが、記憶部１４に記憶された視差画像内から被写体に対応する処理対象領域を抽出し、視差値変更部１５ｄが、処理対象領域抽出部１５ｃにより抽出された処理対象領域の視差値を変更し、大きさ調整部１５ｅが、視差値変更部１５ｄにより変更された視差値に基づいて、撮影画像における処理対象領域に対応する被写体の大きさを調整し、画像生成部１５ｆが、大きさ調節部１５ｅにより被写体の大きさが調整された撮影画像に基づいて、立体視用の画像を生成する。【選択図】図１
2012105172.tif 000002
【特許請求の範囲】
【請求項１】
立体視用の画像を生成する画像生成装置であって、
被写体を撮影した撮影画像と該撮影画像に対応する視差画像とを記憶する記憶部と、
前記記憶部に記憶された視差画像内から前記被写体に対応する処理対象領域を抽出する処理対象領域抽出部と、
前記処理対象領域抽出部により抽出された処理対象領域の視差値を変更する視差値変更部と、
前記視差値変更部により変更された視差値に基づいて、前記撮影画像における前記処理対象領域に対応する被写体の大きさを調整する大きさ調整部と、
前記大きさ調節部により前記被写体の大きさが調整された撮影画像に基づいて、前記立体視用の画像を生成する画像生成部と、
を備えることを特徴とする画像生成装置。
【請求項２】
前記処理対象領域抽出部は、前記視差画像の視差値分布に基づいて前記処理対象領域を抽出することを特徴とする請求項１に記載の画像生成装置。
【請求項３】
前記視差値分布は、前記視差画像の水平方向の各位置における視差値の分布であることを特徴とする請求項２に記載の画像生成装置。
【請求項４】
前記大きさ調整部は、前記被写体の重心位置を中心として、前記撮影画像における前記被写体の大きさを調整することを特徴とする請求項１〜３のいずれか１項に記載の画像生成装置。
【請求項５】
前記大きさ調整部は、前記被写体の重心位置に基づいて、前記撮影画像における前記被写体の大きさを調整する際の中心点の位置を変更することを特徴とする請求項１〜３のいずれか１項に記載の画像生成装置。
【請求項６】
前記処理対象領域抽出部は、前記視差画像の中心部にある前記被写体に対応する領域を前記処理対象領域として抽出することを特徴とする請求項１に記載の画像生成装置。
【請求項７】
前記処理対象領域を指定する入力をユーザから受け付ける入力部をさらに備え、前記処理対象領域抽出部は、前記入力部により受け付けられた前記入力に基づいて前記処理対象領域を抽出することを特徴とする請求項１に記載の画像生成装置。
【請求項８】
立体視用の画像を生成する画像生成方法であって、
被写体を撮影した撮影画像と該撮影画像に対応する視差画像とを記憶する記憶部に記憶された該視差画像内から前記被写体に対応する処理対象領域を抽出する処理対象領域抽出ステップと、
前記処理対象領域抽出ステップにおいて抽出された処理対象領域の視差値を変更する視差値変更ステップと、
前記視差値変更ステップにおいて変更された視差値に基づいて、前記撮影画像における前記処理対象領域に対応する被写体の大きさを調整する大きさ調整ステップと、
前記大きさ調節ステップにおいて前記被写体の大きさが調整された撮影画像に基づいて、前記立体視用の画像を生成する画像生成ステップと、
を含むことを特徴とする画像生成方法。
【請求項９】
請求項８に記載の画像生成方法をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項１０】
請求項９に記載のコンピュータプログラムを記録したことを特徴とするコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、立体視用の画像を生成する画像生成装置、画像生成方法、その画像生成方法をコンピュータに実行させることを特徴とするコンピュータプログラム、および、そのコンピュータプログラムを記録したことを特徴とするコンピュータが読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
従来、立体視用の画像を表示することのできる技術が広く知られている。この技術では、視差のある２つの画像が、人の左眼用の画像および右眼用の画像として表示装置に表示される。人がこの左眼用の画像を左眼で観察し、右眼用の画像を右眼で観察すると、２つの画像には視差があるので、脳の働きにより人は立体感を感じることになる。
【０００３】
視差がある２つの画像は、視点の位置が異なる２台のカメラで被写体を撮影することにより得ることができる。視差は、同じ被写体を異なる位置で異なる方向から見ることにより生じるものであり、カメラと被写体との間の距離に相関がある。
【０００４】
例えば、遠方にある被写体を撮影するため２台のカメラの光軸を平行にした場合、カメラと被写体との間の距離に比べて２つのカメラの視点の位置の違いは無視できるものとなり、視差は非常に小さくなる。一方、カメラに近い位置にある被写体を撮影する場合には、視点の位置により被写体が見える方向が変化する。この変化は被写体がカメラに近いほど大きくなり、それに応じて視差も大きくなる。
【０００５】
逆に、視差量を調整することにより、画像を立体視した際の飛び出し量を調整することも可能である。すなわち、視差量を大きくすれば飛び出し量を大きくでき、視差量を小さくすれば飛び出し量を小さくすることができる。特許文献１には、視差量の調整により立体画像の飛び出し量および沈み込み量の調整を行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−２０９８５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した特許文献１の技術では、被写体の飛び出し量、沈み込み量は調整されるものの、被写体の大きさ自体は変わらないので不自然な表示となり、強い立体感を感じさせるという効果が十分に得られないという問題がある。人が立体感を感じるのはさまざまな要因によるものであるが、単に視差量を調整しただけでは自然な立体感が得られない。
【０００８】
本発明は、上記課題に鑑み、自然な立体感が得られる画像を生成することができる画像生成装置、画像生成方法、その画像生成方法をコンピュータに実行させることを特徴とするコンピュータプログラム、および、そのコンピュータプログラムを記録したことを特徴とするコンピュータが読み取り可能な記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決する為に、本発明の第１の技術手段は、立体視用の画像を生成する画像生成装置であって、被写体を撮影した撮影画像と該撮影画像に対応する視差画像とを記憶する記憶部と、前記記憶部に記憶された視差画像内から前記被写体に対応する処理対象領域を抽出する処理対象領域抽出部と、前記処理対象領域抽出部により抽出された処理対象領域の視差値を変更する視差値変更部と、前記視差値変更部により変更された視差値に基づいて、前記撮影画像における前記処理対象領域に対応する被写体の大きさを調整する大きさ調整部と、前記大きさ調節部により前記被写体の大きさが調整された撮影画像に基づいて、前記立体視用の画像を生成する画像生成部と、を備えることを特徴としたものである。
【００１０】
本発明の第２の技術手段は、第１の技術手段において、前記処理対象領域抽出部は、前記視差画像の視差値分布に基づいて前記処理対象領域を抽出することを特徴としたものである。
【００１１】
本発明の第３の技術手段は、第２の技術手段において、前記視差値分布は、前記視差画像の水平方向の各位置における視差値の分布であることを特徴としたものである。
【００１２】
本発明の第４の技術手段は、第１〜第３のいずれか１つの技術手段において、前記大きさ調整部は、前記被写体の重心位置を中心として、前記撮影画像における前記被写体の大きさを調整することを特徴としたものである。
【００１３】
本発明の第５の技術手段は、第１〜第３のいずれか１つの技術手段において、前記大きさ調整部は、前記被写体の重心位置に基づいて、前記撮影画像における前記被写体の大きさを調整する際の中心点の位置を変更することを特徴としたものである。
【００１４】
本発明の第６の技術手段は、第１の技術手段において、前記処理対象領域抽出部は、前記視差画像の中心部にある前記被写体に対応する領域を前記処理対象領域として抽出することを特徴としたものである。
【００１５】
本発明の第７の技術手段は、第１の技術手段において、前記処理対象領域を指定する入力をユーザから受け付ける入力部をさらに備え、前記処理対象領域抽出部は、前記入力部により受け付けられた前記入力に基づいて前記処理対象領域を抽出することを特徴としたものである。
【００１６】
本発明の第８の技術手段は、立体視用の画像を生成する画像生成方法であって、被写体を撮影した撮影画像と該撮影画像に対応する視差画像とを記憶する記憶部に記憶された該視差画像内から前記被写体に対応する処理対象領域を抽出する処理対象領域抽出ステップと、前記処理対象領域抽出ステップにおいて抽出された処理対象領域の視差値を変更する視差値変更ステップと、前記視差値変更ステップにおいて変更された視差値に基づいて、前記撮影画像における前記処理対象領域に対応する被写体の大きさを調整する大きさ調整ステップと、前記大きさ調節ステップにおいて前記被写体の大きさが調整された撮影画像に基づいて、前記立体視用の画像を生成する画像生成ステップと、を含むことを特徴としたものである。
【００１７】
本発明の第９の技術手段は、上記画像生成方法をコンピュータに実行させることを特徴とするコンピュータプログラムである。
【００１８】
本発明の第１０の技術手段は、上記コンピュータプログラムを記録したことを特徴とするコンピュータが読み取り可能な記録媒体である。
【発明の効果】
【００１９】
本発明によれば、視差画像内の処理対象領域の視差値を変更するとともに、変更された視差値に基づいて、撮影画像内の被写体の大きさを調整することとしたので、自然な立体感が得られる立体視用の画像を生成することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施例１に係る画像生成装置の機能ブロック図である。
【図２】同一の被写体を異なる位置にあるカメラを用いて撮影する場合の一例を示す図である。
【図３】視差画像の生成方法の一例について説明する図である。
【図４】視差画像の視差値の変更方法の一例について説明する図である。
【図５】視差画像における処理対象領域の視差値の変更処理の一例について説明する図である。
【図６】被写体の大きさの調整について説明する図である。
【図７】撮影画像に対する大きさ調整処理について説明する図である。
【図８】視差画像に対する大きさ調整処理について説明する図である。
【図９】座標系の変換について説明する図である。
【図１０】本実施例に係る画像生成処理の処理手順を示すフローチャートである。
【図１１】飛び出し量および大きさの調整対象となる被写体の領域が中央にない撮影画像の一例を示す図である。
【図１２】視差画像の視差値分布の取得方法について説明する図である。
【図１３】重心位置を中心とした被写体の拡大処理について説明する図である。
【図１４】被写体が画像からはみ出す例を示した図である。
【図１５】被写体が画像からはみ出す例を示した図である。
【図１６】被写体の拡大の中心点を変更する処理について説明する図である。
【図１７】被写体の拡大の中心点を変更する処理について説明する図である。
【図１８】撮影画像における被写体の位置判定処理について説明する図である。
【発明を実施するための形態】
【００２１】
以下に、本発明の実施形態について図面を参照して詳細に説明する。なお、各図は説明のために簡略化したものであり、実際の寸法とは必ずしも一致するものではない。
【実施例１】
【００２２】
まず、本発明の実施例１に係る画像生成装置１０について説明する。図１は、本発明の実施例１に係る画像生成装置１０の機能ブロック図である。図１に示すように、この画像生成装置１０は、入力部１１、表示部１２、ネットワークインターフェース部１３、記憶部１４、制御部１５を備える。
【００２３】
入力部１１は、キーボードやポインティングデバイスなどの入力デバイスである。表示部１２は、ディスプレイ装置などの表示デバイスである。ネットワークインターフェース部１３は、外部装置との間でネットワークを介してデータの授受を行うインターフェースである。
【００２４】
記憶部１４は、メモリやハードディスク装置などの記憶デバイスである。この記憶部１４は、撮影画像１４ａ、視差画像１４ｂ、演算パラメータ１４ｃ、修正撮影画像１４ｄ、立体画像１４ｅなどの各種データを記憶する。
【００２５】
撮影画像１４ａは、異なる位置から撮影された同一の被写体の画像である。図２は、同一の被写体（被写体２１）を異なる位置にあるカメラ２０ａ、２０ｂを用いて撮影する場合の一例を示す図である。カメラ２０ａとカメラ２０ｂは、カメラ２０ａ、２０ｂの撮像面の水平方向に沿ってほぼ平行に設置される。カメラ２０ａの光軸とカメラ２０ｂの光軸との間の距離Ｂは、基線長と呼ばれる。カメラ２０ａとカメラ２０ｂによりそれぞれ撮影された２つの画像の組が、撮影画像１４ａとして記憶部１４に記憶される。
【００２６】
ここで、カメラ２０ａ、２０ｂは、３台以上のカメラから構成されるカメラ列から任意に選ばれた２つのカメラでもよい。また、２台のカメラを用意する代わりに、光学系および撮像系を１つの筺体内に２つ以上有し、さまざまな視点からの画像を同時に撮影することのできる複眼カメラを用いて撮影画像１４ａを撮影することとしてもよい。
【００２７】
視差画像１４ｂは、撮影画像１４ａとして記憶された２つの画像の組から得られる視差画像である。具体的には、視差画像１４ｂは、２つの画像の対応する点の水平方向のずれ量を画素値とする画像である。図３は、視差画像１４ｂの生成方法の一例について説明する図である。
【００２８】
図３（ａ）には、図２に示したカメラ２０ａにより撮影された撮影画像２４ａと、カメラ２０ｂにより撮影された撮影画像２４ｂとが示されている。撮影画像２４ａ、２４ｂには、被写体２１〜２３が撮影されている。図３（ｂ）に示すように、これらの撮影画像２４ａ、２４ｂを重ね合わせると、２つの画像の対応する画素間で水平方向の位置のずれが生じる。このずれ量を視差値と呼ぶ。そして、図３（ｃ）に示すように、撮影画像２４ａの各画素の視差値をその画素の位置における画素値として設定することにより、視差画像２８が生成される。図３（ｃ）では、色が白いほど視差値が大きくなっている。この視差画像２８には、飛び出し量の調整対象となる被写体２１の視差値を画素値として有する処理対象領域２５とともに、それ以外の被写体２２、２３の視差値を画素値として有する視差画像領域２６、２７が含まれる。
【００２９】
この視差値は、カメラ２０ａ、２０ｂと被写体２１〜２３との間の距離に相関する。すなわち、その距離が近いほど視差値が大きくなり、距離が遠いほど視差値が小さくなる。視差値を算出するためには、２つの撮影画像２４ａ、２４ｂにおいて、同一の被写体が撮影されている対応点を抽出する。この対応点の抽出には、例えば、ブロックマッチング法を用いることができる。ブロックマッチング法とは、画像をブロックに分割し、ブロック単位で画像間の照合を行い、２つの撮影画像間で最も類似するブロック同士を対応付ける手法である。
【００３０】
例えば、２つの撮影画像の視点位置が水平方向にずれている場合（カメラの撮影位置が水平方向にずれている場合）、ブロックマッチング法により対応付けられたブロック間の水平方向のずれ量（水平方向にずれている画素数）が２つの撮影画像の視差量として設定される。視差値が大きいほど、２つの撮影画像を用いて立体視をした場合の被写体の飛び出し量が大きくなる。視差値が０の場合は、たとえ立体視をしたとしても、被写体はディスプレイ面から飛び出して見えることはない。
【００３１】
なお、ブロックマッチング法によらず、視差画像２８を、２Ｄ画像を３Ｄ画像に変換する２Ｄ−３Ｄ変換技術により１つの撮影画像から生成することとしてもよい。また、レーザスキャナやＴＯＦ（Time of Flight）センサなどを用いて取得した距離画像から視差画像２８を生成することとしてもよい。
【００３２】
演算パラメータ１４ｃは、立体視が可能な最大視差値、立体視が可能な最小視差値、カメラ２０ａ、２０ｂの焦点距離、カメラ２０ａ、２０ｂの光軸間の基線長など、画像生成装置１０が画像を生成する際に必要とするパラメータの情報である。修正撮影画像１４ｄは、被写体の飛び出し量、および、被写体の大きさが修正された撮影画像のデータである。立体画像１４ｅは、撮影画像１４ａおよび修正撮影画像１４ｄを用いて生成された立体視用の画像データである。例えば、立体画像１４ｅには、アナグリフ画像やシャッター眼鏡用インターリーブ画像、視差バリア用画像などが含まれる。
【００３３】
制御部１５は、画像生成装置１０を制御する処理部である。制御部１５は、画像データ取得部１５ａ、パラメータ設定部１５ｂ、処理対象領域抽出部１５ｃ、視差値変更部１５ｄ、大きさ調整部１５ｅ、画像生成部１５ｆ、立体画像生成部１５ｇ、画像出力部１５ｈを備える。
【００３４】
画像データ取得部１５ａは、記憶部１４から撮影画像１４ａと視差画像１４ｂを読み出し、それらを画像データとして取得する処理部である。視差画像１４ｂは、画像データ取得部１５ａが、撮影画像１４ａから予め生成しておくこととしてもよい。あるいは、視差画像１４ｂは、ネットワークインターフェース部１３を介して接続された外部装置から取得され、記憶部１４に記憶されたものであってもよい。
【００３５】
パラメータ設定部１５ｂは、画像生成装置１０が画像を生成する際の演算に必要なパラメータを設定し、記憶部１４に演算パラメータ１４ｃとして記憶する処理部である。例えば、パラメータ設定部１５ｂは、被写体の大きさを調整する際に用いられるパラメータ（カメラ２０ａ、２０ｂの焦点距離、カメラ２０ａ、２０ｂの光軸間の基線長など）をユーザにより予め指定された所定の値に設定する。また、パラメータ設定部１５ｂは、視差画像１４ｂにおける視差値の範囲が所定の範囲となるよう視差値の最大値および最小値をそれぞれユーザにより予め指定された所定の値に設定する。
【００３６】
例えば、３Ｄコンソーシアムが発行している３ＤＣ安全ガイドラインでは、立体視が可能な視差角は、画像が表示される画面のサイズと画面と視聴者との間の距離から算出でき、その視差角は最大２度程度、快適に立体視を行うには１度以下が目安とされている。この基準に従うと、例えば、画面の対角線の長さが４０インチ、画質がＨＤ（High Definition、解像度が横１９２０画素×縦１０８０）画質である表示装置に表示される画像を視聴者が画面から１．６ｍ離れた位置で見る場合、立体視が可能な最小の視差値（２つの撮影画像のずれ量）は−６９画素となり、立体視が可能な最大の視差値は６９画素となる。よって、パラメータ設定部１５ｂは、視差画像１４ｂにおける視差値の最大値および最小値を、例えば６９および０にそれぞれ設定する。
【００３７】
処理対象領域抽出部１５ｃは、視差画像１４ｂの中心にある被写体領域を、立体視を行う場合の飛び出し量の調整を行う処理対象領域として視差画像１４ｂから抽出する処理部である。画像の中心にある被写体を飛び出し量の調整対象として抽出することにより、最も注目が集まる被写体の立体感を強調することができる。
【００３８】
具体的には、処理対象領域抽出部１５ｃは、視差画像１４ｂの中心点における視差値を検出する。そして、処理対象領域抽出部１５ｃは、検出された視差値と同じ値を有し、視差画像１４ｂの中心点を含む被写体領域を処理対象領域として抽出する。なお、視差画像１４ｂの中心にある被写体領域が無い場合は、飛び出し量の調整は行われない。
【００３９】
例えば、処理対象領域抽出部１５ｃは、処理対象領域の抽出にラベリング処理を用いることができる。このラベリング処理では、処理対象領域抽出部１５ｃは、視差画像１４ｂにおいて、視差値が同一で、かつ、連結している各画素に同一のラベルを付与する。そして、処理対象領域抽出部１５ｃは、視差画像１４ｂの中心点に対応する画素と同一のラベルが付与されたすべての画素を抽出し、それらの画素からなる領域を処理対象領域として抽出する。
【００４０】
なお、被写体に厚みがある場合は、同一の被写体であっても視差値がある程度変化することが想定される。そこで、処理対象領域抽出部１５ｃは、視差画像１４ｂの中心点の視差値に所定の幅を設け、その幅内に視差値があって、かつ、連結している各画素に同一のラベルを付与することにより、処理対象領域を抽出することとしてもよい。
【００４１】
また、処理対象領域抽出部１５ｃは、撮影画像１４ａの色やテクスチャの情報を用いて処理対象領域を抽出することとしてもよい。具体的には、処理対象領域抽出部１５ｃは、色やテクスチャが共通し、かつ、連結している各画素からなる画素領域を撮影画像１４ａから抽出し、抽出された画素領域に対応する位置にある視差画像領域を視差画像１４ｂから抽出することとしてもよい。
【００４２】
視差値変更部１５ｄは、視差画像１４ｂにおける視差値を変更する処理部である。具体的には、視差値変更部１５ｄは、パラメータ設定部１５ｂにより設定された範囲内となるよう視差画像１４ｂの視差値を変更する。
【００４３】
図４は、視差画像１４ｂの視差値の変更方法の一例について説明する図である。図４において、Ｄ（ｉ，ｊ）は、入力視差画像（視差値変更前の視差画像）の画素（ｉ，ｊ）における視差値であり、Ｄａ（ｉ，ｊ）は、出力視差画像（視差値変更後の視差画像）の画素（ｉ，ｊ）における視差値であり、ｄｉｎ＿ｍａｘは、入力視差画像の視差値の最大値であり、ｄｉｎ＿ｍｉｎは、入力視差画像の視差値の最小値であり、ｄｄｉｓｐ＿ｍａｘは、パラメータ設定部１５ｂにより設定された視差値の最大値であり、ｄｄｉｓｐ＿ｍｉｎは、パラメータ設定部１５ｂにより設定された視差値の最小値である。
【００４４】
この場合、視差値変更部１５ｄは、値ｄｉｎ＿ｍａｘが値ｄｄｉｓｐ＿ｍａｘと一致し、値ｄｉｎ＿ｍｉｎが値ｄｄｉｓｐ＿ｍｉｎと一致するように、出力視差画像の視差値Ｄａ（ｉ，ｊ）を、式（１）により変更する。
【数１】
2012105172.tif 000003
パラメータ設定部１５ｂは、値ｄｄｉｓｐ＿ｍａｘおよび値ｄｄｉｓｐ＿ｍｉｎを立体視が可能な範囲内で設定しているため、式（１）を用いて視差値Ｄａ（ｉ，ｊ）を変更することにより、入力視差画像のすべての視差値を立体視に有効に利用できるようになる。
【００４５】
また、視差値変更部１５ｄは、処理対象領域抽出部１５ｃにより抽出された処理対象領域の視差値を変更することにより、被写体の飛び出し量の調整を行う。図５は、視差画像２８における処理対象領域２５の視差値の変更処理の一例について説明する図である。なお、図５では、色が白いほど、視差値が大きくなっている。
【００４６】
図５（ａ）には、視差画像２８の中心点３０が示されている。視差値変更部１５ｄは、処理対象領域抽出部１５ｃにより抽出された処理対象領域２５の視差値を変更する。これにより、図５（ｂ）に示すように、視差値が修正された処理対象領域２９を含む視差画像３１が得られる。図５（ｂ）の例では、処理対象領域２９の視差値がもとの処理対象領域２５の視差値よりも大きい値に修正されている。
【００４７】
ここで、視差値変更部１５ｄは、処理対象領域２５の視差値を、図４で説明した最大値ｄｄｉｓｐ＿ｍａｘ以下、最小値ｄｄｉｓｐ＿ｍｉｎ以上の範囲で変更する。被写体の飛び出し量を大きくする場合、視差値変更部１５ｄは、処理対象領域２５の視差値をもとの視差値よりも大きい値に変更する。例えば、視差値変更部１５ｄは、処理対象領域２５の視差値を最大値ｄｄｉｓｐ＿ｍａｘに設定する。
【００４８】
あるいは、視差値変更部１５ｄは、ＧＵＩを介して処理対象領域２５の視差値の入力をユーザから受け付けることとしてもよい。例えば、視差値変更部１５ｄは、表示部１２に「立体感強」、「立体感中」、「立体感弱」を表すボタンを表示させ、入力部１１（例えば、ポインティングデバイスなど）の操作により、ユーザにいずれかのボタンを押下させ、押下されたボタンに応じて視差値を設定することとしてもよい。
【００４９】
例えば、視差値変更部１５ｄは、「立体感強」を表すボタンが押下された場合、処理対象領域２５の視差値を値ｄｄｉｓｐ＿ｍａｘに、「立体感中」を表すボタンが押下された場合、処理対象領域２５の視差値を値ｄｄｉｓｐ＿ｍａｘ／２に設定する。また、「立体感弱」を表すボタンが押下された場合は、視差値変更部１５ｄは、処理対象領域２５の視差値の変更は行わないこととする。
【００５０】
あるいは、視差値変更部１５ｄは、表示部１１に「立体感強」から「立体感弱」へ移動するトラックバーを表示させ、入力部１１（例えば、ポインティングデバイスなど）の操作により、ユーザに立体感の強弱を選択させることとしてもよい。
【００５１】
この場合、視差値変更部１５ｄは、「立体感強」が選択された場合、処理対象領域２５の視差値を値ｄｄｉｓｐ＿ｍａｘに設定する。「立体感弱」が選択された場合、視差値変更部１５ｄは、処理対象領域２５の視差値の変更を行わない。「立体感強」と「立体感弱」との間の位置がユーザにより選択された場合は、視差値変更部１５ｄは、「立体感強」の位置からの距離に応じて、値ｄｄｉｓｐ＿ｍａｘと処理対象領域２５のもとの視差値との間の値に処理対象領域２５の視差値を設定する。
【００５２】
また、表示部１２がタッチパネルディスプレイの場合は、処理対象領域２５がユーザにより指定された後、指で画面の上方に向けてドラッグすれば視差値を大きくし、下方に向けてドラッグすれば視差値を小さくするなどしてもよい。
【００５３】
図１の説明に戻ると、大きさ調整部１５ｅは、視差画像１４ｂにおける処理対象領域の大きさ、および、撮影画像１４ａにおける被写体の大きさが、変更後の視差値に対応する大きさとなるよう調整し、大きさを調整した撮影画像および視差画像を生成する処理部である。
【００５４】
図６は、被写体２１の大きさの調整について説明する図である。視差値を変更すると、図６に示すように、立体視を行った場合の被写体２１の飛び出し量が変化するが、被写体２１がカメラ２０に近づいた場合は被写体の大きさがより大きく見えるはずである。よって、被写体２１の飛び出し量が変化した場合に、大きさ調整部１５ｅが飛び出し量に応じて被写体２１の大きさを調整する。これにより、人は被写体２１の奥行き位置が自然なものと感じるようになる。
【００５５】
図７は、撮影画像２４ａに対する大きさ調整処理について説明する図であり、図８は、視差画像３１に対する大きさ調整処理について説明する図である。図８（ａ）に示す処理対象領域２５は、上述したように、処理対象領域抽出部１５ｃにより抽出される。大きさ調整部１５ｅは、図７（ａ）に示すように、この視差画像領域２５に対応する位置にある被写体２１の領域を撮影画像２４ａから抽出する。
【００５６】
そして、大きさ調整部１５ｅは、図７（ｂ）に示すように、撮影画像２４ａの中心点３２を中心にして被写体２１の領域を拡大し、拡大された被写体３３を含む撮影画像３４を生成する。また、大きさ調整部１５ｅは、図８（ｂ）に示すように、視差画像３１の中心点３０を中心にして処理対象領域２５を拡大し、拡大された処理対象領域３５を含む視差画像３６を生成する。
【００５７】
つぎに、視差画像３１における処理対象領域２５の大きさ、および、撮影画像２４ａにおける被写体２１の大きさの決定方法について説明する。まず、大きさ調整部１５ｅは、視差値を変更することにより被写体２１がカメラ２０に対してどれくらい移動したかを示す移動量を算出する。
【００５８】
そのために、被写体２１とカメラ２０との間の実際の距離Ｚａを式（２）により算出する。
【数２】
2012105172.tif 000004
式（２）において、Ｂは、図２で説明した基線長（単位は、例えば、ｍｍ）、Ｆはカメラの焦点距離（単位は、例えば、ピクセル。）、ｄａ＿ｏｂｊｅｃｔは、被写体に対応する処理対象領域のもとの視差値（変更前の視差値）である。なお、焦点距離Ｆ［ピクセル］は、カメラの焦点距離［ｍｍ］×イメージセンサのピクセルピッチ［ピクセル／ｍｍ］で算出される。
【００５９】
また、被写体とカメラとの間の仮想距離Ｚｂを式（３）により算出する。仮想距離Ｚｂとは、処理対象領域の視差値を変更した結果、視差値の変更に応じて被写体の位置が見かけ上変化した場合の被写体とカメラとの間の仮想的な距離である。
【数３】
2012105172.tif 000005
ここで、ｄｂ＿ｏｂｊｅｃｔは、被写体に対応する処理対象領域の変更後の視差値である。
【００６０】
以上から、視差値を変更することにより、カメラに対して被写体が移動した移動量ｍｖ＿ｚは式（４）により算出される。
【数４】
2012105172.tif 000006
【００６１】
大きさ調整部１５ｅは、この移動量ｍｖ＿ｚを算出し、以下に説明するように、この移動量ｍｖ＿ｚに応じて、視差画像１４ｂにおける処理対象領域の大きさ、および、撮影画像１４ａにおける被写体の大きさを調整する。
【００６２】
具体的には、大きさ調整部１５ｅは、移動量ｍｖ＿ｚを算出すると、入出力スクリーン画像系を、入出力画像座標系を介して、カメラ座標系に変換する処理を行う。図９は、座標系の変換について説明する図である。入出力スクリーン画像系とは、図９（ａ）に示すように、画像の左上隅を原点３７とし、原点３７を通る水平方向の直線をｉ軸とし、原点３７を通る垂直方向の直線をｊ軸とした座標系である。ｉ軸では右方向に向かって座標値が増加し、ｊ軸では下方向に向かって座標値が増加する。
【００６３】
入出力画像座標系とは、図９（ｂ）に示すように、画像の中心を原点３８とし、原点３８を通る画像の水平方向の直線をｕ軸とし、原点３８を通る画像の垂直方向の直線をｖ軸とした座標系である。ｕ軸では右方向に向かって座標値が増加し、ｖ軸では上方向に向かって座標値が増加する。入出力画像座標系における原点３８は、入出力スクリーン画像系における座標値（（ｗｉｄｔｈ−１）／２，（ｈｅｉｇｈｔ−１）／２）の点に対応する。ここで、ｗｉｄｔｈは入力画像の水平方向の画素数であり、ｈｅｉｇｈｔは画像の垂直方向の画素数である。
【００６４】
カメラ座標系とは、図９（ｃ）に示すように、カメラ２０の撮像面の中心を原点３９とし、原点３９を通り、地表面に対して水平方向の直線をＸ軸とし、原点３９を通り、地表面に対して垂直方向の直線をＹ軸とし、原点３９を通り、撮像面に対して垂直方向の直線をＺ軸とした左手座標系である。Ｘ軸では、右方向に向かって座標値が増加し、Ｙ軸では、上方向に向かって座標値が増加し、Ｚ軸では、被写体２１のある方向に向かって座標値が増加する。
【００６５】
ここで、入出力スクリーン画像系（ｉ，ｊ）における入力画像の座標値（ｉｉ，ｊｉ）と入出力画像座標系（ｕ，ｖ）における座標値（ｕｉ，ｖｉ）との間には式（５）、（６）のような関係がある。
【数５】
2012105172.tif 000007
【数６】
2012105172.tif 000008
【００６６】
また、入出力画像座標系（ｕ，ｖ）における座標値（ｕｉ，ｖｉ）とカメラ座標系（Ｘ，Ｙ，Ｚ）における入力画像の座標値Ｘｉ，Ｙｉとの間には、式（７）、（８）のような関係がある。
【数７】
2012105172.tif 000009
【数８】
2012105172.tif 000010
ここで、Ｄ（ｉ，ｊ）は、視差画像１４ｂの視差値である。
【００６７】
また、カメラ座標系（Ｘ，Ｙ，Ｚ）における入力画像の座標値Ｚｉは、式（９）で表される。
【数９】
2012105172.tif 000011
【００６８】
大きさ調整部１５ｅは、被写体２１の視差値を変更することにより被写体２１の飛び出し量が変化した画像を生成するため、さらにカメラ座標系（Ｘ，Ｙ，Ｚ）を仮想カメラ座標系の座標値（Ｘｏ，Ｙｏ，Ｚｏ）に変換する。具体的には、大きさ調整部１５ｅは、視差値を変更した被写体２１の領域について、式（１０）を用いて座標変換を行う。
【数１０】
2012105172.tif 000012
【００６９】
それ以外の領域については、大きさ調整部１５ｅは、カメラ座標系における座標値（Ｘｉ，Ｙｉ，Ｚｉ）と仮想カメラ座標系における座標値（Ｘｏ，Ｙｏ，Ｚｏ）とを、式（１１）のように同じ値に設定する。
【数１１】
2012105172.tif 000013
これにより、仮想カメラ座標系において、被写体２１のみ飛び出し量が調整されることになる。
【００７０】
その後、大きさ調整部１５ｅは、式（１２）、（１３）を用いることにより、仮想カメラ座標系における座標値Ｘｏ，Ｙｏを入出力画像座標系（ｕ，ｖ）における出力画像の座標値（ｕｏ，ｖｏ）に変換する。
【数１２】
2012105172.tif 000014
【数１３】
2012105172.tif 000015
【００７１】
さらに、大きさ調整部１５ｅは、式（１４）、（１５）を用いて、入出力画像座標系（ｕ，ｖ）における座標値（ｕｏ，ｖｏ）を入出力スクリーン画像系（ｉ，ｊ）における出力画像の座標値（ｉｏ，ｊｏ）に変換する。
【数１４】
2012105172.tif 000016
【数１５】
2012105172.tif 000017
これにより、図９（ｂ）に示した原点３８の位置が、図９（ａ）に示した原点３７の位置に移動する。
【００７２】
さらに、入力画像の画素値Ｉ（ｉ，ｊ）と出力画像の画素値Ｉｏ（ｉｏ，ｊｏ）との間には、式（１６）のような関係がある。
【数１６】
2012105172.tif 000018
また、入力視差画像の画素値Ｄｂ（ｉ，ｊ）と出力視差画像の画素値Ｄｏ（ｉｏ，ｊｏ）との間には、式（１７）のような関係がある。
【数１７】
2012105172.tif 000019
【００７３】
よって、大きさ調整部１５ｅは、出力画像の座標（ｉｏ，ｊｏ）における画素値Ｉｏ（ｉｏ，ｊｏ）として入力画像の画素値Ｉ（ｉ，ｊ）を設定し、出力視差画像の座標（ｉｏ，ｊｏ）における画素値Ｄｏ（ｉｏ，ｊｏ）として入力視差画像の画素値Ｄｂ（ｉ，ｊ）を設定する。これにより、被写体２１の飛び出し量および大きさが調整された出力画像および出力視差画像が得られる。
【００７４】
なお、被写体２１の大きさのみを大きくする場合、もとの画像の被写体２１以外の領域の画素と被写体２１の画素とが重複する。このような場合、大きさ調整部１５ｅは、重複する画素の視差値を比較し、視差値が大きい方の画素値（カメラ２０により近い位置にある被写体の画素値）を用いて出力画像および出力視差画像を生成する。
【００７５】
また、被写体２１の大きさを小さくする場合、もとの画像の被写体２１以外の領域の画素と被写体２１の画素との間に隙間ができる。このような場合、大きさ調整部１５ｅは、上下左右の画素の画素値を用いて画素値を補間することにより、出力画像および出力視差画像を生成する。
【００７６】
図１の説明に戻ると、画像生成部１５ｆは、大きさ調整部１５ｅにより生成された撮影画像および視差画像を用いて、撮影画像を視差値の分だけずらした修正画像を生成し、生成した修正画像を記憶部１４に修正撮影画像１４ｄとして記憶する処理部である。
【００７７】
具体的には、画像生成部１５ｆは、式（１８）を用いて、被写体の大きさが調整された撮影画像を視差値の分だけずらした修正撮影画像１４ｄを生成する。
【数１８】
2012105172.tif 000020
ここで、Ｉｏ（ｘ，ｙ）は、被写体の大きさが調整された撮影画像の座標（ｘ，ｙ）における画素値であり、Ｏ（ｘ＋Ｄｏ（ｘ，ｙ），ｙ）は、被写体の大きさが調整された撮影画像を視差値Ｄｏ（ｘ，ｙ）の分だけずらした修正撮影画像１４ｄの座標（ｘ＋Ｄｏ（ｘ，ｙ），ｙ）における画素値である。
【００７８】
すなわち、画像生成部１５ｆは、修正撮影画像１４ｄの座標（ｘ＋Ｄｏ（ｘ，ｙ），ｙ）における画素値として、被写体の大きさが調整された撮影画像の画素値Ｉｏ（ｘ，ｙ）を設定することにより、撮影画像を視差値の分だけずらした画像を生成することができる。
【００７９】
なお、撮影画像の画素を視差値Ｄｏ（ｘ，ｙ）の分だけずらした場合、もとの画像の画素とずらした画素とが重複する場合がある。このような場合、画像生成部１５ｆは、重複する画素の視差値を比較し、視差値が大きい方の画素値（カメラにより近い位置にある被写体の画素値）を用いて修正撮影画像１４ｄを生成する。また、もとの画像の画素とずらした画素との間に隙間ができる場合がある。このような場合、画像生成部１５ｆは、上下左右の画素の画素値を用いて画素値を補間する。これにより、修正撮影画像１４ｄのすべての画素の画素値が決定される。
【００８０】
このようにして画像生成部１５ｆにより生成された画像を右眼用の画像とし、大きさ調整部１５ｅにより被写体の大きさが調整された撮影画像を左眼用の画像として立体視を行うと、図４を用いて説明した処理によって視差値が立体視可能な範囲に調整されているので、容易に立体視が行える。また、大きさ調整部１５ｅにより被写体の大きさが飛び出し量に応じて調整されているので、違和感がない立体視が可能となる。
【００８１】
立体画像生成部１５ｇは、大きさ調整部１５ｅにより被写体の大きさが調整された撮影画像と、その撮影画像を用いて画像生成部１５ｆにより生成された修正撮影画像１４ｄとから、アナグリフ画像やシャッター眼鏡用インターリーブ画像、視差バリア用画像などの立体視に用いられる画像を生成し、生成した画像を記憶部１４に立体画像１４ｅとして記憶する処理部である。
【００８２】
画像出力部１５ｈは、表示部１２やネットワークインターフェース部１３を介して接続された外部表示装置に画像を出力する処理部である。具体的には、画像出力部１５ｈは、大きさ調整部１５ｅにより被写体の大きさが調整された撮影画像と、その撮影画像を用いて画像生成部１５ｆにより生成された修正撮影画像１４ｄを出力する。または、画像出力部１５ｈは、立体画像生成部１５ｇにより生成された立体画像１４ｅを出力する。
【００８３】
なお、画像出力部１５ｈは、単に表示部１２に左眼用の画像と右眼用の画像とを交互に表示させるだけでもよい。また、画像出力部１５ｈは、被写体の飛び出し量および大きさが段階的に異なる複数の撮影画像を、飛び出し量および大きさが小さい方から順に表示部１２に表示させることとしてもよい。このような複数の撮影画像は、視差値変更部１５ｄおよび大きさ調整部１５ｅにより生成される。上記のような処理を行うことにより、たとえ表示部１２が立体視を行う機能を有していない場合でも、ユーザに立体感を感じさせることができる。
【００８４】
次に、本実施例に係る画像生成処理の処理手順について説明する。図１０は、本実施例に係る画像生成処理の処理手順を示すフローチャートである。図１０に示すように、まず、画像生成装置１０の画像データ取得部１５ａは、撮影画像１４ａと視差画像１４ｂとを取得する（ステップＳ１）。
【００８５】
そして、パラメータ設定部１５ｂは、画像を生成する際の演算に必要なパラメータを設定する（ステップＳ２）。続いて、視差値変更部１５ｄは、視差画像１４ｂの視差値が立体視可能な視差値の範囲内となるよう視差画像１４ｂの各画素の視差値を調整する（ステップＳ３）。
【００８６】
その後、処理対象領域抽出部１５ｃは、視差値および大きさの調整対象となる処理対象領域を視差画像１４ｂから抽出する（ステップＳ４）。そして、視差値変更部１５ｄは、抽出された処理対象領域の視差値を変更することにより、立体視する際の被写体の飛び出し量を調整する（ステップＳ５）。
【００８７】
続いて、大きさ調整部１５ｅは、撮影画像における被写体、および、視差画像における処理対象領域の大きさを視差値の変更量に応じて調整する（ステップＳ６）。そして、画像生成部１５ｆは、大きさ調整部１５ｅにより大きさが調整された撮影画像および視差画像を用いて、その撮影画像を視差値の分だけずらした修正撮影画像１４ｄを生成する（ステップＳ７）。
【００８８】
その後、立体画像生成部１５ｇは、大きさ調整部１５ｅにより大きさが調整された撮影画像と、その撮影画像を用いて画像生成部１５ｆにより生成された修正撮影画像１４ｄとから、アナグリフ画像やシャッター眼鏡用インターリーブ画像、視差バリア用画像などの立体視に用いられる立体画像１４ｅを生成する（ステップＳ８）。
【００８９】
そして、画像出力部１５ｈは、大きさ調整部１５ｅにより被写体の大きさが調整された撮影画像と画像生成部１５ｆにより生成された修正撮影画像１４ｄ、あるいは、立体画像生成部１５ｇにより生成された立体画像１４ｅを表示部１２や外部表示装置に出力する（ステップＳ９）。その後、この画像生成処理は終了する。
【００９０】
このように、実施例１によれば、立体視する際の被写体の飛び出し量を立体視がしやすい範囲で変更できるとともに、変更後の飛び出し量に応じて被写体の大きさを調整することにより、違和感なく立体感を強調した立体画像を生成することができる。
【００９１】
なお、本実施例では、視差画像１４ｂの各画素の視差値が立体視可能な視差値の範囲内となるように、視差値変更部１５ｄが視差値を調整することとしたが、視差画像１４ｂの視差値の各画素の視差値が立体視可能な視差値の範囲内に収まっている場合には、この調整を行わないこととしてもよい。
【００９２】
また、本実施例では、被写体とカメラとの間の位置関係の情報を用いて撮影画像１４ａにおける被写体の大きさ、および、視差画像１４ｂにおける処理対象領域の大きさを算出することによりそれらの大きさを調整することとしたが、バイリニア法やバイキュービック法を用いて被写体および処理対象領域の大きさを調整することとしてもよい。
【００９３】
また、本実施例では、パラメータ設定部１５ｂが、視差値の最大値や最小値、カメラの焦点距離、カメラの光軸間の基線長などを設定することとしたが、視差画像１４ｂの視差値が立体視可能な視差値の範囲内となるよう各画素の視差値を調整する処理や、被写体とカメラとの間の位置関係の情報を用いて撮影画像１４ａおよび視差画像１４ｂにおける被写体領域の大きさを算出する処理を行わない場合は、それらのパラメータを設定しなくてもよい。
【００９４】
また、本実施例では、大きさ調整部１５ｅが、視差画像１４ｂにおける処理対象領域の大きさ、および、撮影画像１４ａにおける被写体の大きさを調整することとしたが、処理対象領域の大きさについては必ずしも調整する必要はない。画像生成部１５ｆは、被写体の大きさが調整された撮影画像を視差値の分だけずらした修正撮影画像１４ｄを生成するが、処理対象領域の大きさを調整しない場合、撮影画像において大きさが調整された被写体の領域については、例えば、大きさを調整していない処理対象領域の視差値を検出し、検出した視差値の分だけ大きさが調整された被写体の領域をずらすことにより修正撮影画像１４ｄを生成すればよい。
【００９５】
さらに、本実施例では、水平方向に離れた２つのカメラで撮影された撮影画像１４ｂに対する画像処理について説明したが、垂直方向に離れた２つのカメラで撮影された撮影画像に対しても本実施例で説明した画像処理を容易に適用することができる。
【実施例２】
【００９６】
実施例２では、被写体が撮影画像の中心以外にある場合に、飛び出し量および大きさの調整対象となる処理対象領域を抽出する処理について説明する。なお、実施例２における画像生成装置は、図１に示した画像生成装置１０と、処理対象領域抽出部１５ｃ、および、大きさ調整部１５ｅの処理内容が異なるだけであるので、以下では実施例１の画像生成装置１０と異なる点についてのみ説明することとする。
【００９７】
図１１は、飛び出し量および大きさの調整対象となる被写体４０の領域が中心４１にない撮影画像４２の一例を示す図である。このような場合、実施例２における処理対象領域抽出部１５ｃは、視差画像１４ｂの視差値分布を用いて処理対象領域を抽出する。図１２は、視差画像１４ｂの視差値分布の取得方法について説明する図である。
【００９８】
処理対象領域抽出部１５ｃは、入力部１１を用いてユーザから指定された被写体の視差値の情報を視差画像４３から取得する。この視差値は、ユーザが飛び出し量を調整しようとしている被写体４６の画像領域の視差値である。
【００９９】
ユーザが被写体４６を指定する方法としては、ＧＵＩ（Graphical User Interface）を用いる方法と、座標値を指定する方法などがある。ＧＵＩを用いる方法とは、表示部１２に表示された撮影画像の被写体４６の一部をユーザがポインティングデバイスなどで指定するものである。表示部１２がタッチパネルディスプレイである場合には、ユーザはタッチパネルディスプレイに表示された撮影画像の被写体４６の一部をタッチすることにより被写体４６が指定される。座標値を指定する方法とは、被写体４６の画像領域に含まれる画素の座標を指定するものである。
【０１００】
その後、処理対象領域抽出部１５ｃは、ユーザにより指定された被写体の視差値と同じ視差値を有する画素を抽出し、抽出した画素の数を視差画像４３の垂直方向に累積した累積値を、視差画像４３の各水平位置において算出する。例えば、ユーザにより指定された被写体の視差値が８０である場合、処理対象領域抽出部１５ｃは、視差値が８０である画素を抽出し、抽出した画素の数を視差画像４３の垂直方向に累積した累積値を算出する。これにより、処理対象領域抽出部１５ｃは、図１２に示すように、視差画像４３の水平方向に沿って累積値が変化するヒストグラム（射影ヒストグラム）を生成することができる。
【０１０１】
なお、射影ヒストグラムＳ（ｉ）は、式（１９）、（２０）で表される。
【数１９】
2012105172.tif 000021
【数２０】
2012105172.tif 000022
ここで、ｈｅｉｇｈｔは、視差画像４３の垂直方向の画素数であり、Ｄ（ｉ，ｊ）は、視差画像４３の座標（ｉ，ｊ）における視差値であり、ｄｕｓｅｒ＿ｏｂｊｅｃｔは、ユーザにより指定された被写体４６の視差値であり、ｄｏｆｆｓｅｔは、視差値ｄｕｓｅｒ＿ｏｂｊｅｃｔのオフセット値であり、Ｆ（ｉ，ｊ）は、Ｄ（ｉ，ｊ）が式（２０）の条件を満たすときに１、式（２０）の条件を満たさないときに０となる関数である。
【０１０２】
オフセット値ｄｏｆｆｓｅｔは、被写体に奥行きがあることを考慮して導入されるものである。すなわち、被写体の奥行きにより被写体領域の視差値が変化する場合にはオフセット値ｄｏｆｆｓｅｔとして所定の値が設定され、被写体に奥行きが無い場合、すなわち、ユーザにより指定された被写体領域の視差値が一様である場合にはオフセット値ｄｏｆｆｓｅｔは０でよい。
【０１０３】
射影ヒストグラムＳ（ｉ）が得られると、処理対象領域抽出部１５ｃは、累積値が所定の閾値ｒを超えた領域を抽出し、その領域内からユーザにより指定された被写体の視差値を有する画素群を、飛び出し量の調整対象とする処理対象領域として抽出する。閾値ｒは、ユーザにより指定された被写体の画像領域内の画素ではないが、その被写体の視差値と同一の視差値を有する画素の影響を除去するために設定されるものである。
【０１０４】
なお、累積値が所定の閾値ｒを超えた領域が複数ある場合には、処理対象領域抽出部１５ｃは、ユーザから指定された被写体の領域のみを処理対象領域として抽出する。図１２の例では、被写体領域４４がユーザにより指定されたものとすると、閾値ｒを超えた領域に含まれる被写体領域４４、４５のうち被写体領域４４だけが処理対象領域として抽出される。
【０１０５】
また、処理対象領域抽出部１５ｃは、表示部１２に表示された視差画像１４ｂにおいて、ポインティングデバイスなどで処理対象領域の輪郭線や、処理対象領域が含まれる領域の指定をユーザから直接受け付けることとしてもよい。そして、処理対象領域抽出部１５ｃは、指定された輪郭線あるいは領域内にあり、同一の視差値からなる連結した画素領域を処理対象領域として抽出する。
【０１０６】
以上の処理により、飛び出し量を変更したい被写体が画像の中心にない場合でも被写体を適切に抽出できる。また、飛び出し量の変更をユーザが望んでいない画像領域が処理対象領域として選択されてしまうことを防止することができる。さらに、視差画像１４ｂの水平方向の各位置における視差値の分布を用いて処理対象領域を抽出するので、例えば、水平方向の異なる位置に複数の人物がいるような場合に、飛び出し量を変更したい特定の人物の画像領域を処理対象領域として容易に抽出できる。
【０１０７】
処理対象領域が抽出されると、視差値変更部１５ｄは、実施例１で説明したようにして、処理対象領域の視差値を変更し、被写体の飛び出し量を調整する。そして、大きさ調整部１５ｅは、変更後の視差値に応じて、被写体および処理対象領域の大きさを調整する。
【０１０８】
実施例２の大きさ調整部１５ｅは、被写体を被写体の重心位置を中心として拡大し、処理対象領域を処理対象領域の重心位置を中心として拡大する。これにより、相似形のまま被写体および処理対象領域を拡大することができ、被写体の形状のゆがみを防止することができる。図１３は、重心位置を中心とした被写体の拡大処理について説明する図である。図１３（ａ）に示す撮影画像４８には、被写体４９の重心位置５０が示されている。
【０１０９】
図１３（ａ）に示すように、実施例２の大きさ調整部１５ｅは、被写体４９の重心位置５０を中心として被写体４９を拡大する。図１３（ｂ）に示す撮影画像５１には、このようにして拡大された被写体５２が示されている。なお、処理対象領域の拡大についても同様の処理が行われる。
【０１１０】
重心位置５０を中心として被写体４９を拡大する場合、実施例１における式（５）、（６）は、それぞれ式（２１）、（２２）で置き換えられる。
【数２１】
2012105172.tif 000023
【数２２】
2012105172.tif 000024
ここで、ｇｉは、入出力スクリーン画像系（ｉ，ｊ）における被写体４９の重心位置５０のｉ座標の値、ｇｊは、入出力スクリーン画像系（ｉ，ｊ）における被写体４９の重心位置５０のｊ座標の値である。
【０１１１】
また、実施例１における式（１４）、（１５）は、以下の式で置き換えられる。
【数２３】
2012105172.tif 000025
【数２４】
2012105172.tif 000026
【０１１２】
このような式を用いることにより、実施例１と同様、被写体の飛び出し量を調整し、飛び出し量に応じて撮影画像の被写体および視差画像の処理対象領域の大きさを変更することができる。これにより、立体視する際に違和感が生じることを防止できる。
【０１１３】
このように、実施例２によれば、飛び出し量を変更したい被写体が画像の中心にない場合でも被写体を適切に抽出でき、変更後の飛び出し量に応じて被写体の大きさを調整することにより、違和感なく立体感を強調した立体画像を生成することができる。
【実施例３】
【０１１４】
実施例３では、被写体および処理対象領域の大きさを調整する場合に、被写体および処理対象領域が画像からはみ出すことを防止する処理について説明する。なお、処理対象領域の検出処理は、例えば、実施例２で説明したような方法で行うことができる。実施例２とは、大きさ調整部１５ｅの処理内容が異なるだけであるので、以下では実施例２と異なる点についてのみ説明することとする。
【０１１５】
図１４および図１５は、被写体が画像からはみ出す例を示した図である。図１４（ａ）に示す撮影画像５３では、大きさが調整される被写体５４は撮影画像５３の下方にある。この場合、被写体５４の重心位置５５を中心として被写体５４が拡大されると、図１４（ｂ）に示すように、拡大された被写体５６が撮影画像５３の外にはみ出してしまう。
【０１１６】
また、図１５（ａ）に示す撮影画像５７では、大きさが調整される被写体５８は撮影画像５７の上方にある。この場合も、被写体５８の重心位置５９を中心として被写体５８が拡大されると、図１５（ｂ）に示すように、拡大された被写体６０が撮影画像５７の外にはみ出してしまう。
【０１１７】
そこで、実施例３の大きさ調整部１５ｅは、被写体の重心位置に応じて被写体を拡大する場合の中心点を変更する処理を行う。図１６および図１７は、被写体の拡大の中心点を変更する処理について説明する図である。
【０１１８】
図１６（ａ）に示すように、被写体５４が撮影画像５３の下方にある場合には、大きさ調整部１５ｅは、被写体５４の重心位置５５（図９（ａ）に示したような入出力スクリーン画像系における座標（ｇｉ，ｇｊ）の位置）を通る垂線と撮影画像５３の下辺との交点６１（入出力スクリーン画像系における座標値（ｇｉ，ｈｅｉｇｈｔ−１）の点。ここで、ｈｅｉｇｈｔは、撮影画像５３の縦方向の画素数）を中心として被写体５４を拡大する。その結果、図１６（ｂ）に示すように、被写体５６が撮影画像５３内に収まるようにすることができる。
【０１１９】
また、図１７（ａ）に示すように、被写体５８が撮影画像５７の上方にある場合には、大きさ調整部１５ｅは、被写体５８の重心位置５９（入出力スクリーン画像系における座標（ｇｉ，ｇｊ）の位置）を通る垂線と撮影画像５８の上辺との交点６２（入出力スクリーン画像系における座標値（ｇｉ，０）の点）を中心として被写体５８を拡大する。その結果、図１７（ｂ）に示すように、被写体６０が撮影画像５７内に収まるようにすることができる。なお、処理対象領域の拡大についても同様の処理が行われる。
【０１２０】
なお、被写体が撮影画像の上方にあるのか、下方にあるのかは被写体の重心位置に基づいて判定される。図１８は、撮影画像６３における被写体６４の位置判定処理について説明する図である。図１８に示すように、撮影画像６３は、上部領域６６、中部領域６７、下部領域６８の３つの領域に３等分にされる。
【０１２１】
大きさ調整部１５ｅは、被写体６４の重心位置６５が下部領域６８に位置する場合（入出力スクリーン画像系における重心位置６５のｊ座標の値ｇｊがｈｅｉｇｈｔ×２／３よりも大きい場合）には、被写体６４が撮影画像６３の下方にあると判定し、図１６で説明した拡大処理を行う。
【０１２２】
また、大きさ調整部１５ｅは、被写体６４の重心位置６５が上部領域６６に位置する場合（入出力スクリーン画像系における重心位置６５のｊ座標の値ｇｊがｈｅｉｇｈｔ／３よりも小さい場合）には、被写体６４が撮影画像６３の上方にあると判定し、図１７で説明した拡大処理を行う。
【０１２３】
また、大きさ調整部１５ｅは、被写体６４の重心位置６５が中部領域６７に位置する場合（入出力スクリーン画像系における重心位置６５のｊ座標の値ｇｊがｈｅｉｇｈｔ／３以上で、かつ、ｈｅｉｇｈｔ×２／３以下である場合）、被写体６４が撮影画像６３の中央部にあると判定し、被写体６４の重心位置６５を中心として被写体６４を拡大する処理を行う。
【０１２４】
被写体６４が撮影画像６３の下方にあると判定された場合、実施例１における式（５）、（６）は、式（２５）、（２６）で置き換えられる。
【数２５】
2012105172.tif 000027
【数２６】
2012105172.tif 000028
【０１２５】
また、実施例１における式（１４）、（１５）は、式（２７）、（２８）で置き換えられる。
【数２７】
2012105172.tif 000029
【数２８】
2012105172.tif 000030
【０１２６】
被写体６４が撮影画像６３の上方にあると判定された場合、実施例１における式（５）、（６）は、式（２９）、（３０）で置き換えられる。
【数２９】
2012105172.tif 000031
【数３０】
2012105172.tif 000032
【０１２７】
また、実施例１における式（１４）、（１５）は、式（３１）、（３２）で置き換えられる。
【数３１】
2012105172.tif 000033
【数３２】
2012105172.tif 000034
【０１２８】
さらに、被写体６４が撮影画像６３の中央部にあると判定された場合、実施例１における式（５）、（６）は、式（３３）、（３４）で置き換えられる。
【数３３】
2012105172.tif 000035
【数３４】
2012105172.tif 000036
【０１２９】
また、実施例１における式（１４）、（１５）は、式（３５）、（３６）で置き換えられる。
【数３５】
2012105172.tif 000037
【数３６】
2012105172.tif 000038
【０１３０】
このような式を用いることにより、実施例１と同様、被写体の飛び出し量を調整し、飛び出し量に応じて撮影画像の被写体および視差画像の処理対象領域の大きさを変更することができる。そして、これにより、立体視する際に違和感が生じることを防止できる。
【０１３１】
なお、ここでは、撮影画像６３を上部領域６６、中部領域６７、下部領域６８に３等分し、被写体６４の重心位置６５が含まれる領域を判定することとしたが、撮影画像６３を任意の割合で３つの領域に分割することとしてもよい。
【０１３２】
このように、実施例３によれば、被写体および処理対象領域の大きさを調整する場合に、被写体および処理対象領域が画像からはみ出すことを防止できるとともに、変更後の飛び出し量に応じて被写体および処理対象領域の大きさを調整することにより、違和感なく立体感を強調した立体画像を生成することができる。
【０１３３】
さて、これまで画像生成装置１０および画像生成方法の実施形態を中心に説明を行ったが、本発明はこれらの実施形態に限定されるものではなく、画像生成装置１０の機能を実現するためのコンピュータプログラムとしての形態、あるいは、当該コンピュータプログラムが記録されたコンピュータ読み取り可能な記録媒体の形態として本発明が実施されることとしてもよい。
【０１３４】
ここで、記録媒体としては、ディスク系（例えば、磁気ディスク、光ディスク等）、カード系（例えば、メモリカード、光カード等）、半導体メモリ系（例えば、ＲＯＭ、不揮発性メモリ等）、テープ系（例えば、磁気テープ、カセットテープ等）等、さまざまな形態のものを採用することができる。
【０１３５】
これら記録媒体に上述した本実施形態の画像生成装置１０の機能を実現させるコンピュータプログラム、または、画像生成方法をコンピュータに実行させるコンピュータプログラムを記録して流通させることにより、コストの低廉化、及び可搬性や汎用性を向上させることができる。
【０１３６】
そして、コンピュータに上記記録媒体を装着し、コンピュータにより記録媒体に記録されたコンピュータプログラムを読み出してメモリに格納し、コンピュータが備えるプロセッサ（CPU：Central Processing Unit、MPU：Micro Processing Unit）が当該コンピュータプログラムをメモリから読み出して実行することにより、本実施形態に係る画像生成装置１０の機能を実現し、画像生成方法を実行することができる。
【０１３７】
また、本発明は上述した実施形態に限定されず、本発明の要旨を逸脱しない範囲内で各種の変形、修正が可能である。
【符号の説明】
【０１３８】
１０…画像生成装置、１１…入力部、１２…表示部、１３…ネットワークインターフェース部、１４…記憶部、１４ａ、２４ａ、２４ｂ、２８、４２、４８、５３、５７、６３…撮影画像、１４ｂ、２８、３１、３６、４３…視差画像、１４ｃ…演算パラメータ、１４ｄ…修正撮影画像、１４ｅ…立体画像、１５…制御部、１５ａ…画像データ取得部、１５ｂ…パラメータ設定部、１５ｃ…処理対象領域抽出部、１５ｄ…視差値変更部、１５ｅ…大きさ調整部、１５ｆ…画像生成部、１５ｇ…立体画像生成部、１５ｈ…画像出力部、２０、２０ａ、２０ｂ…カメラ、２１〜２３、４６…被写体、２５、２９、３５、４９、５４、５６、５８、６０、６４…処理対象領域、２６、２７…視差画像領域、３０…視差画像の中心点、３２、４１…撮影画像の中心点、３７〜３９…原点、４４、４５…被写体領域、５０、５５、５９、６５…重心位置、６１、６２…交点、６６…上部領域、６７…中部領域、６８…下部領域。
【図１】
2012105172.tif 000039
【図２】
2012105172.tif 000040
【図３】
2012105172.tif 000041
【図４】
2012105172.tif 000042
【図５】
2012105172.tif 000043
【図６】
2012105172.tif 000044
【図７】
2012105172.tif 000045
【図８】
2012105172.tif 000046
【図９】
2012105172.tif 000047
【図１０】
2012105172.tif 000048
【図１１】
2012105172.tif 000049
【図１２】
2012105172.tif 000050
【図１３】
2012105172.tif 000051
【図１４】
2012105172.tif 000052
【図１５】
2012105172.tif 000053
【図１６】
2012105172.tif 000054
【図１７】
2012105172.tif 000055
【図１８】
2012105172.tif 000056