以下、図面を参照し、本発明の実施の形態を詳細に説明する。図1A及び図1Bは、本発明の第1実施形態の立体撮像装置の外観を表している。図1Aは立体撮像装置(複眼カメラ)10の正面を含む斜視図であり、図1Bは複眼カメラ10の背面を含む斜視図である。複眼カメラ10は、正面側に、複数のレンズ11(11A、11B)と、フラッシュ12と、レリーズ13とを有する。また、背面側に、表示モニタ14と操作ボタン15とを有する。なお、図1A及び図1Bでは図示を省略しているが、複眼カメラ10は、外部機器との間で通信を行うための通信インタフェース、及び記録媒体を収容する記録媒体スロットを有していてもよい。
複眼カメラ10は、多視点画像を撮影する。多視点画像は、互いに視差を有する第1視点画像から第n視点画像(nは2以上の整数)を含む。複眼カメラ10は、第1視点画像から第n視点画像を撮影するためのn個のレンズ11(nは2以上の整数)を有する。図1Aでは、レンズの個数は2個(n=2)としている。レンズ11A及び11Bは、それぞれ右目用画像及び左目用画像の撮影に用いられる。レンズ11Aとレンズ11Bとの間隔は、例えば人間の右目と左目との間隔と同じ程度の間隔に設定されている。
フラッシュ12は暗所での撮影などに用いられる。レリーズ13は、ユーザ(撮影者)が撮影を指示するために使用される。複眼カメラ10は、ユーザがレリーズ13を押すと、撮影された右目用画像及び左目用画像を、カメラ内の記録媒体又は記録媒体スロットに挿入された記録媒体に格納する。右目用画像及び左目用画像は、1つのファイルとして格納されてもよいし、別個のファイルとして格納されてもよい。操作ボタン15は、ユーザが各種設定などを行う際に使用される。
表示モニタ14は、撮影された画像や複眼カメラ10の各種設定を行うためのメニュー画面などを表示する。表示モニタ14は、右目用画像及び左目用画像に基づいて生成される立体視用画像を立体視可能に表示できる。立体視表示の方式は、例えば裸眼で立体視が可能なレンチキュラー方式とすることができる。立体視表示の方式は、これには限定されず、裸眼平行法やパララックスバリア方式、スキャンバックライト方式などでもよい。表示モニタ14における立体視表示の方式は任意でよく、必ずしも裸眼で立体視が可能な方式に限定されない。立体視表示の方式は、画像分離メガネが必要なアナグリフ方式、偏光フィルタ方式、或いは液晶シャッタ方式でもよい。
図2は、複眼カメラ10の内部機能を示している。複眼カメラ10は、センサ16、A/D変換器17、画像処理部18、操作入力部19、カメラ制御部20、通信インタフェース21、記録媒体記録部22、立体感制御部24、立体視用画像生成部25、調整値記録部26、表示処理部27、及び代表値算出部28を更に有する。操作入力部19は、ユーザの各種操作を入力する。図1Aに示すレリーズ13及び図1Bに示す操作ボタン15は、操作入力部19に含まれる。ユーザは、操作入力部19を用いて複眼カメラ10に対して指示を入力することで、画像の撮影、画像の表示、及び表示画像の立体感調整を行うことができる。
複眼カメラ10は、撮影を行って多視点画像を生成・記録する撮影装置と、ユーザが撮影した多視点画像を表示する表示装置とを兼ねる。また、複眼カメラ10は、立体視用画像の立体感の調整を行うための立体感調整装置も兼ねる。複眼カメラ10の構成(機能)は、画像撮影に関する部分(撮影部)と、表示モニタ14に立体視用画像を表示する部分(立体表示部)と、表示モニタ14に表示される画像の立体感の調整を行う部分(立体感調整部)とに大別できる。複眼カメラ10内の各部の機能は、コンピュータが所定のプログラムに従って処理を実行することでも実現可能である。
レンズ11、センサ16、A/D変換器17、画像処理部18、及びカメラ制御部20は、多視点画像の撮影を行い、撮影した画像を記録媒体23に記録する撮影部に相当する。センサ16は、レンズ11により結像された画像を光電変換する。A/D変換器17は、センサ16が出力するアナログ信号をデジタル変換する。画像処理部18は、デジタル変換された画像信号に対して所定の画像処理を行う。画像処理は、例えばホワイトバランスを調整する処理、階調補正、シャープネス補正、及び色補正などを含む。センサ16、A/D変換器17、及び画像処理部18は、複数のレンズ11のそれぞれに対応して設けられている。複眼カメラ10は、第1から第nまでのレンズ11のそれぞれ対して画像を生成する。すなわち、第1視点画像〜第n視点画像を生成する。
カメラ制御部20は、画像撮影に対する制御を行う。カメラ制御部20は、例えば撮影タイミングの決定や、撮影時のパラメータ制御などを行う。カメラ制御部20は、例えばユーザがズーム倍率を指示したときは、ユーザが指示したズーム倍率となるようにレンズ11を駆動する。ズームは光学的なズームだけでなく、画像処理で行うデジタルズームを含んでもよい。デジタルズームの場合、カメラ制御部20は画像処理部18に対してズーム倍率を指示し、画像処理部18は画像の一部を拡大する処理を行えばよい。
記録媒体記録部22は、記録媒体23に対する情報の記録、及び記録媒体23に記録された情報の読み出しを行う。カメラ制御部20は、記録媒体記録部22を介して、記録媒体23に第1視点画像〜第n視点画像を記録する。画像の記録形式は任意でよい。例えば複眼カメラ10が図示しない圧縮処理部を備えており、記録媒体記録部22が、その圧縮処理部で圧縮処理が施された画像(画像データ)を記録媒体23に記録してもよい。記録媒体23には、不揮発性の半導体記憶装置やハードディスクドライブなど任意の媒体を用いることができる。記録媒体23は、例えば複眼カメラ10に内蔵された内部メモリでもよいし、図示しないカードスロットに挿入されたカード型の記録媒体でもよい。
通信インタフェース21は、複眼カメラ10と外部の機器との間で通信を行う際のインタフェースである。複眼カメラ10と外部機器との間に通信には、例えば無線通信や赤外線通信などの非接触型の通信を用いることができる。或いは複眼カメラ10と外部との通信は、ケーブル接続による通信でもよい。複眼カメラ10は、記録媒体23に記録された多視点画像(第1視点画像〜第n視点画像)を、通信インタフェース21を介して外部の機器に出力することができる。或いは複眼カメラ10は、通信インタフェース21を介して多視点画像を入力し、入力された多視点画像を、記録媒体記録部22を介して記録媒体23に記録してもよい。
表示モニタ14、立体視用画像生成部25、及び表示処理部27は、画像の立体視表示を行う立体視表示部に相当する。立体視用画像生成部25は、第1視点画像〜第n視点画像に基づいて、画像を立体視表示するための立体視用画像を生成する。立体視用画像生成部25は、例えば記録媒体記録部22を介して記録媒体23から多視点画像を読み出し、読み出した多視点画像に基づいて立体視用画像を生成する。また、立体視用画像生成部25は、画像撮影時は、第1〜第nの画像処理部18が出力する、多視点画像の画角調整用の動画表示に用いられる画像(以下、スルー画とも呼ぶ)を入力し、入力した画像に基づいて立体視用画像(スルー画の立体視用画像)を生成してもよい。
立体視用画像生成部25は、表示モニタ14が採用する立体表示方式に適合する立体視用画像を生成する。例えば立体視表示方式がレンチキュラー方式で、表示モニタ14の表示領域の偶数列が右目用画像に対応し、奇数列が左目用画像に対応している場合、立体視用画像生成部25は、右目用画像の各列を表示モニタ14の表示領域の偶数列に配置し、左目用画像の各列を表示領域の奇数列に配置した立体視用画像を生成する。表示処理部27は、表示モニタ14に立体視用画像を出力し、画像を立体視可能に表示させる。
立体感制御部24及び調整値記録部26は、立体視用画像の立体感調整を行う立体感調整部に相当する。立体感制御部24は、立体視用画像生成部25に対して立体感調整値を設定し、立体視用画像を表示モニタ14に立体視可能に表示する際の立体感の調整を行う。立体感の調整は、多視点画像に含まれる画像間の視差量を調整することで行うものとする。立体感制御部24は、例えばユーザの指示に基づいて、画像の飛び出し量が多くなるように、或いは画像の飛び出し量が減少するように画像間の視差量を調整する。視差量の調整は、ユーザが任意に行う調整のほか、多視点画像に基づいて行う自動調整を含んでいてもよい。ユーザは、画像撮影時及び画像撮影後の任意の時点において、立体感調整を行うことができる。
調整値記録部26は、視差量調整値を、多視点画像に関連付けて記録媒体23に記録する。調整値記録部26は、画像撮影時に調整された視差量調整値をデフォルト値(既定値)として記録する。調整値記録部26は、画像撮影後の視差量調整において、調整対象の画像に対して既にデフォルトの調整値が関連付けて記録されているときは、デフォルト値とは別に、立体感制御部24で調整された視差量を追加で記録することができる。調整値記録部26は、1つの画像に対して、デフォルト値以外に複数の視差量調整値を記録することができる。
なお、画像撮影時に調整されたデフォルト値が既に存在する場合おいて、新たに立体感の調整を行ったときに、ユーザにデフォルト値の変更か、或いは調整値の追加かを選択させてもよい。ユーザがデフォルト値の変更を選択した場合、調整値記録部26は、視差量の調整値をデフォルト値として記録すればよい。ユーザが追加を選択した場合、デフォルト値は変更せずに、視差量の調整値を追加すればよい。デフォルト以外の視差量調整値が既に記録されているときは、ユーザに、記録済みの視差量調整値の上書きか、視差量調整値の追加かを選択させてもよい。
代表値算出部28は、記録媒体23において1以上の画像のそれぞれに関連付けて記録された視差量調整値の代表値を求める。代表値は、何らかの統計的手法で求められた視差量調整値を代表する値とする。以下では、代表値は視差量調整値の平均値とする。例えば代表値算出部28は視差量調整値の相加平均を求める。代表値算出部28は、画像に関連付けて記録された、デフォルト値を含む全ての視差量調整値から平均値を求めることができる。或いは代表値算出部28は、画像に関連付けて記録された視差量調整値のうちのデフォルト値のみを平均値算出の対象としてもよい。
代表値算出部28は、平均値の算出では、格納された全ての画像に関連付けられた視差量調整値の平均を求めることができる。或いは代表値算出部28は、記録媒体23に記録された多視点画像が1以上のグループに分かれているとき、グループごとに平均値を求めてもよい。多視点画像のグループ分けは代表値算出部28が行ってもよい。グループ分けは、例えば画像の保存フォルダや画像のカテゴリに基づいて行うことができる。カテゴリなどは、画像に付加された属性情報を参照することで特定できる。代表値算出部28は、例えば同じフォルダに格納された多視点画像をリストアップし、リストに含まれる各多視点画像に関連付けて記録された視差量調整値を調べ、それらの相加平均を求める。
立体感制御部24は、画像撮影時に代表値算出部28が求めた視差量調整値の代表値を立体視用画像生成部25に設定する。立体視用画像生成部25は、撮影部で撮影すべき多視点画像のスルー画に基づいて、立体感制御部24が設定した代表値で表わされる立体感で立体視用画像を生成する。表示処理部27は、立体視用画像生成部25が生成したスルー画の立体視用画像を表示モニタ14に表示させる。ユーザが立体感調整を行わずに多視点画像を撮影すると、調整値記録部26は、撮影された多視点画像に関連付けて、視差量調整値の平均値を、視差量調整値のデフォルト値として記録媒体23に記録することができる。
図3は、視差量の調整を示している。ここでは、表示領域の偶数列に右目用画像の各列を配置し、奇数列に左目用画像の各列を配置して重ね合わせることで立体視用画像を生成することを考える。紙面向って左下の点を原点と定義する。なお、図3では、画像等の重なりを明確に示すために、表示領域と各画像のy方向の大きさを変えて図示しているが、モニタ表示領域のy方向の画素数(y方向の画像サイズ)と、右目用画像及び左目用画像のy方向の画像サイズとはそれぞれ等しいものとする。x方向については、右目用画像と左目用画像とにおけるx方向の画像サイズは互いに等しく、立体視用画像のx方向の画像サイズは、右目用画像及び左目用画像におけるx方向の画像サイズの2倍であるとする。
立体感の調整を行わないとき、言い換えれば右目用画像と左目用画像とがもともと有している視差量で立体視表示を行う場合、立体視用画像生成部25は、右目用画像の0列目、1列目、2列目、・・・を表示領域の0列目、2列目、4列目、・・・にそれぞれ配置し、左目用画像の0列目、1列目、2列目、・・・を表示領域の1列目、3列目、5列目、・・・にそれぞれ配置すればよい。立体視用画像生成部25は、ユーザが立体感調整を行うと、右目用画像と左目用画像との相対的な位置をずらして重ねる。立体感制御部24は、例えばユーザが立体感を強くする旨を指示すると、右目用画像を紙面向って右側に平行移動させ、左目用画像を紙面向って左側に平行移動させる。逆に、ユーザが立体感を弱くする旨を指示した場合、立体感制御部24は、右目用画像を紙面向って左側に平行移動させ、左目用画像を紙面向って右側に平行移動させる。
本実施形態においては、立体感(視差量)の調整値は、立体感調整を行わないときの右目用画像及び左目用画像のx方向の位置と、調整後の右目用画像及び左目用画像のx方向の位置との差で表わすことする。例えば立体感の調整後、右目用画像が紙面向って右方向に立体視用画像のXR画素(XRは正の偶数)だけ移動し、右目用画像の0列目が立体視用画像(表示領域)のXR列目に配置されているとき、右目用画像の視差量調整値は「右にXR画素」とする。逆に、右目用画像が紙面向って左方向にXR画素だけ移動している場合を考えると、右目用画像の0列目は、実際には存在しない立体視用画像の−XR列目に配置されることになる。この場合、右目用画像は1列おきに配置されることから、立体視用画像の0列目には右目用画像のXR/2列目が配置される。このときの視差量の調整値を「左にXR画素」とする。左方向への移動をマイナスの符号で表わせば、視差調整値は−XRと表すことができる。
左目用画像が紙面向って左方向にXL画素(XLは正の偶数)だけ移動している場合を考えると、立体視用画像の1列目に配置されるべき左目用画像の0列目は、実際には存在しない立体視用画像の−XL+1列目に配置されることになる。この場合、左目用画像は1列おきに配置されることから、立体視用画像の1列目には左目用画像のXL/2列目が配置される。このときの視差量の調整値を「左にXL画素」(−XL)とする。逆に、左目用画像が紙面向って右方向に立体視用画像のXL画素だけ移動し、左目用画像の0列目が立体視用画像(表示領域)のXL+1列目に配置されているとき、左目用画像の視差量調整値は「右にXL画素」(+XL)とする。なお、右目用画像及び左目用画像は1列おきに交互に配置されるので、XR/2、XL/2を視差量調整値として定義してもよい。
図4は、撮影時の動作手順を示している。以下の動作手順の説明では、複眼カメラ10が備えるレンズの数は2つであるとする。すなわち、複眼カメラ10は、右目用画像の撮影に用いられるレンズ11A(図1A)と、左目用画像の撮影に用いられるレンズ11Bとを有しているとする。ユーザは、操作入力部19を操作して複眼カメラを撮影可能状態にする。
代表値算出部28は、記録媒体23に記録された視差量調整値に基づいて、視差量調整値の平均値を求める。平均値は、例えば記録媒体23に記録された全ての画像に対する視差調整値の平均値でもよく、或いは保存フォルダごとに求められた平均値でもよい。或いはユーザが、複眼カメラ10が備えるシーンセレクタの機能を用いて、人物、風景、スポーツ、夜景などの中から任意に撮影シーンを選択できるようになっている場合は、撮影シーンに基づいてグループ分けを行い、画像の撮影に用いられた撮影シーンごとに視差量調整値の平均値を求めてもよい。立体感制御部24は、視差量調整値の平均値を立体視用画像生成部25に設定する(ステップS101)。
立体視用画像生成部25は、右目用画像に対応するスルー画と左目用画像に対応するスルー画とに基づいて、視差量調整値の平均値で表わされる立体感で立体視用画像を生成する。表示処理部27は、立体視用画像生成部25が生成した立体視用画像(立体視用のスルー画)を表示モニタ14に立体視可能に表示する(ステップS102)。カメラ制御部20は、ユーザが撮影指示を行ったか否かを判断する(ステップS103)。ユーザが撮影指示を行わないとき、立体感制御部24は、ユーザが立体感調整を指示したか否かを判断する(ステップS104)。ユーザが立体感調整の指示を行わないときはステップS102に戻り、スルー画を表示しつつ撮影待機する。
立体感制御部24は、ユーザが立体感調整を指示すると、右目用画像と左目用画像との視差量の調整を行う(ステップS105)。この視差量の調整は、立体感制御部24がスルー画に基づいて自動で行ってもよく、或いはユーザに対して視差量の調整を促し、ユーザの指示に基づいて行ってもよい。視差量の調整は、立体視用画像生成部25が調整された視差量で立体視用画像の生成を行い、表示モニタ14に表示された画像を確認しながら行うことが好ましい。
例えば立体感制御部24は、表示モニタ14に立体感の強弱を表すバーと現在の立体感の強度を表すつまみ(スライダー)とを表示し、ユーザからの立体感の強弱に関する指示を受け付ける。ユーザは、例えば操作ボタン15(図1B)に含まれるカーソルキーの「右」「左」のキーを押してつまみを強又は弱の方向に移動させ、立体感の強弱を指示する。立体感制御部24は、ユーザの指示に従って視差量を変化させる。例えば立体感制御部24は、ユーザがつまみを強の方向へ進めると、右目用画像を図3の紙面向って右方向に移動させ、左目用画像を紙面向って左方向へ移動させる。逆に、ユーザがつまみを弱の方向へ進めると、立体感制御部24は右目用画像を紙面向って左側に移動させ、左目用画像を紙面向って右側に移動させる。視差量が変更された画像は表示モニタ14に表示される。ユーザは、表示モニタ14を観察しながら、好みの立体感が得られるまで調整を繰り返し行うことができる。立体感制御部24は、視差量調整値が調整範囲を超えるときには、表示モニタ14にその旨を表示させるとよい。
ユーザが立体感調整を終えると、ステップS102に戻る。表示処理部27は、ステップS102で、表示モニタ14にスルー画を立体視可能に表示する。表示モニタ14に表示されるスルー画の視差量は、立体感調整が行われるまでは視差量調整値の平均値であり、立体感調整が行われるとその調整で設定された視差量となる。
ユーザがレリーズ13(図1A)を操作すると、カメラ制御部20は撮影が指示されたと判断し、右目用画像及び左目用画像の取り込みを指示する。記録媒体記録部22は、右目用画像と左目用画像とを所定のフォーマットで記録媒体23に記録する。また、調整値記録部26は、代表値算出部28が求めた視差量調整値の平均値、又はステップS105で調整された視差量の調整値を、右目用画像及び左目用画像と関連付けて記録媒体23に記録する(ステップS106)。つまり、ユーザが視差量調整を行わずに撮影を行った場合、調整値記録部26は視差量調整値の平均値を画像に関連付けて記録媒体23に記録し、ユーザが視差量調整を行った場合は、その視差量調整において調整された視差量調整値を画像に関連付けて記録する。ステップS106で記録された視差量の調整値が、視差量調整値のデフォルト値となる。
本実施形態では、代表値算出部28は、記録媒体23に記録された、以前に行われた立体感調整の調整値の代表値を求める。画像撮影時、立体感制御部24は、スルー画表示に際して視差量調整値の平均値を立体視用画像生成部25に設定し、立体視用画像生成部25は視差量調整値の平均値で表わされる立体感でスルー画の立体視用画像を生成する。このようにすることで、ユーザは撮影時に自身で立体感調整を行わなくても、以前の立体感調整において調整された調整値が反映された立体感で表示モニタ14上に表示されるスルー画を観察しながら撮影を行うことができる。また、調整値記録部26は、撮影した画像に関連付けて、視差量調整値の平均値を立体感調整値のデフォルト値として記録媒体23に記録する。このような構成を採用する場合、ユーザは撮影時に明示的に立体感調整を行わなくても、視差量調整値の平均値をデフォルト値として撮影した画像に関連付けて記録することができる。
例えば記録媒体23に格納された画像を撮影時に選択された撮影シーンに基づいてグループ分けしておき、グループごとに視差量調整値の平均値を求める場合を考える。画像撮影時の情報は、例えば画像データと共に記録されるExif(Exchangeable Image File Format)情報を参照することで取得できる。ユーザが選択可能な撮影シーンのうちの何れかを選択すると、代表値算出部28は、選択された撮影シーンで過去に撮影された画像の視差量調整値の平均値を求め、立体感制御部24は、立体視用画像生成部25に対して視差量調整値の平均値を設定する。立体視用画像生成部25は、視差量を、視差量調整値の平均値に設定して立体視用画像を生成する。
例えばユーザが撮影シーン「風景」を選択して撮影を行う場合、今撮影しようとしている被写体と複眼カメラ10との間の距離などは、過去に「風景」を選択して撮影された画像のおける被写体と複眼カメラ10との間の距離などと似通っていることが考えられる。このため、「風景」で撮影された画像の視差量調整値の平均値だけ視差量を付加して表示モニタ14にスルー画を表示すると、ユーザは適切な立体感でスルー画を観察できるものと考えられる。また、ユーザが画像を撮影した際に「風景」を選択して撮影された画像の視差量調整値の平均値をデフォルト値として撮影画像と関連付けて記録することで、適切と思われる視差量調整値をデフォルト値として設定することができると考えられる。
図5は、画像を表示し立体感調整を行う際の動作手順を示している。ユーザは、記録媒体23に記録された画像の中から1つを選択する(ステップS201)。或いは複眼カメラ10が記録媒体23に記録された画像の中から任意の1つを選択してもよい。代表値算出部28は、視差量調整値の平均値を求める(ステップS202)。代表値算出部28は、例えばステップS201で選択された画像と同じ保存フォルダに格納された画像に関連付けて記録された視差量調整値の平均値を求める(ステップS202)。立体感制御部24は、求められた視差量調整値の平均値を立体視用画像生成部25に設定する。立体感制御部24は、選択された画像に関連付けて視差量調整値が記録されているときは、その視差量調整値を優先し、視差量調整値の平均値に代えて関連付けて記録された視差量調整値を設定してもよい。
立体視用画像生成部25は、ステップSS201で選択された画像のデータを記録媒体23から読み出す。立体視用画像生成部25は、読み出した画像のデータに基づいて、ステップS202で求められた視差量調整値の平均値で表わされる立体感で立体視用画像を生成する。表示処理部27は、ステップS201で選択された画像を、表示モニタ14に立体視表示する(ステップS203)。立体感制御部24は、ユーザが立体感調整を指示したか否かを判断する(ステップS204)。ユーザが立体感調整の指示を行わないときは処理を終了する。ユーザが視差量の調整を指示すると、立体感制御部24は視差量の調整を行う(ステップS205)。この視差量の調整は図4のステップS105における視差量の調整と同様な処理であり、立体感制御部24が自動で行ってもよく、或いはユーザが任意に行ってもよい。ユーザは、表示モニタ14に表示される画像を観察しながら、好みの立体感が得られるように視差量を調整することができる。
立体感制御部24は、ユーザがこれまでの調整を破棄し、初期状態に戻ることを選択したか否かを判断する(ステップS206)。立体感制御部24は、ユーザが初期状態に戻ることを選択したと判断すると、これまでの調整を破棄し、視差量を、ステップS202で求められた視差量調整値の平均値に設定する(ステップS207)。なお、ステップS201で選択された画像に関連付けて記録された視差量調整値が存在し、立体感制御部24がその視差量調整値を立体画像生成部25に対して設定していた場合、立体感制御部24は、ステップS207において、視差量調整値を、選択された画像に関連付けて記録された視差量調整値に設定してもよい。このとき設定する視差量調整値はデフォルト値でよい。立体視用画像生成部25は、ステップS207で設定された視差量で立体視用画像を生成する。表示処理部27は立体視用画像を表示する(ステップS208)。
ステップS206でユーザが初期状態に戻ることを選択していないと判断された場合、ステップS206からステップS208へ進み、表示処理部27が立体視用画像を表示する。このとき表示される立体視用画像は、ステップS205においてユーザが調整した視差量で生成される立体視用画像である。立体感制御部24は、ユーザが調整終了を指示したか否かを判断する(ステップS209)。調整終了でない場合はステップS205に戻り、立体感調整を継続する。調整終了の場合、調整値記録部26は、調整された視差量調整値をステップS201で選択された画像に関連付けて記録する(ステップS210)。
調整値記録部26は、ステップS210において、画像の撮影時に記録されたデフォルトの視差量調整値とは別に、ステップS201で選択された画像に関連付けて視差量調整値を記録する。調整値記録部26は、ステップS201で選択された画像に関連付けて記録されたデフォルトの視差量調整値が存在しないときは、ユーザの希望に応じて、調整された視差量をデフォルト値として記録してもよい。デフォルト値が存在する場合でも、ユーザの希望に応じて、調整された視差量調整値をデフォルト値として上書き記録してもよい。
本実施形態では、立体感制御部24は、画像の表示時に、代表値算出部28が求めた視差量調整値の平均値を立体視用画像生成部25に設定する。立体視用画像生成部25は、視差量調整値の平均値で表わされる立体感で画像表示を行う。このようにすることで、ユーザが立体感調整を行わず、或いは表示対象の画像に関連付けて記録された立体感調整値が存在しない場合でも、以前に行われた立体感調整の調整値を反映させた立体感で画像表示を行うことができる。また、立体感調整に際しては、視差量調整値の平均値で表わされる立体感から立体感調整を開始することができる。
上記の効果は、複眼カメラ10の構成から画像撮影に関する部分を除いた構成の装置、すなわち立体視用画像の表示装置でも同様に得ることができる。図6Aは表示装置の外観を示し、図6Bは内部構成を示している。表示装置50は、図6Aに示すように、表示モニタ51、操作ボタン52、及びカードスロット53を有する。表示モニタ51は、図1Bに示す複眼カメラ10の表示モニタ14に相当し、操作ボタン52は、図1Bに示す操作ボタン15に相当する。カードスロット53は、カード型の記録媒体57が挿入されるスロットである。
表示装置50は、図6Bに示すように、操作入力部54、通信インタフェース55、記録媒体記録部56、立体感制御部58、立体視用画像生成部59、調整値記録部60、表示処理部61、及び代表値算出部62を更に有する。操作入力部54は、図2に示す複眼カメラ10の操作入力部19に相当し、通信インタフェース55は通信インタフェース21に相当する。また、記録媒体記録部56、立体感制御部58、立体視用画像生成部59、調整値記録部60、表示処理部61、及び代表値算出部62は、それぞれ記録媒体記録部22、立体感制御部24、立体視用画像生成部25、調整値記録部26、表示処理部27、及び代表値算出部28に相当する。表示装置50の構成は、表示モニタ51に立体視用画像を表示する部分(立体表示部)と、立体視用画像の立体感の調整を行う部分(立体感調整部)とに大別できる。
ユーザは、例えば複眼カメラ10から記録媒体23(図2)を取り出し、これを表示装置50のカードスロット53へ挿入する。表示装置50は、カードスロット53に挿入された記録媒体57から多視点画像を読み出し、読み出した多視点画像に基づいて立体視用画像を生成する。或いは表示装置50は通信インタフェース55を介して複眼カメラ10との間で通信を行って多視点画像を受信し、受信した多視点画像に基づいて立体視用画像を生成してもよい。表示装置50は、生成した立体視用画像を立体表示モニタ51に視可能に表示する。
表示装置50の立体感調整時の動作手順は、図5に示す手順と同様である。ただし、表示装置50においては、調整値記録部60は、画像に関連付けて記録されたデフォルト値を上書きせずに、デフォルト値とは別に視差量調整値を記録するものとする。つまり、デフォルト値は、画像撮影を行う撮影装置側でのみ記録可能としておくものとする。表示装置50においても、ユーザが立体感調整を行わず、或いは表示対象の画像に関連付けて記録された立体感調整値が存在しない場合でも、以前に行われた立体感調整の調整値を反映させた立体感で画像表示を行うことができる。また、立体感調整に際しては、視差量調整値の平均値で表わされる立体感から立体感調整を開始することができる。
ところで、特願2009−84719では同一の画像に対して立体感の調整を複数回行うことまでは考慮されていない。例えば撮影者が撮影時に立体感調整を行ってその調整値を記録した後で、別のユーザが画像を観察して別の立体感調整値を上書き記録することもあり得る。特願2009−84719において、1つの画像に対して1つの調整値のみが記録されるとすれば、撮影者が調整した調整値は別のユーザが調整した調整値で上書きされることになり、撮影者が調整した立体感の調整値は失われる。特願2009−84719において、1つの画像に対して複数の調整値が記録可能であるとした場合でも、単に調整値が追加されていくだけであり、誰がどの装置で調整を行った調整値であるかは区別されない。
ユーザは任意に立体感を調整できるため、立体感調整値において最適な立体感を得るためには多数の調整値を試す必要がある。その際、調整値を様々に変化させていくと、一度調整を破棄して調整をやり直したくなることが考えられる。そのような場合、撮影者が調整した立体感調整値に戻れると、ユーザの利便性が向上する。しかし、特願2009−84719は撮影時に調整した立体感調整値に戻るための手段を持ち合わせておらず、撮影者の立体感調整値が上書きされると、その立体感調整値に戻ることはできない。
本実施形態において、例えば撮影時に複眼カメラ10で立体感調整を行ってデフォルト値を設定し、その後、表示装置50で画像を観察しているときに更に立体感調整を行う場合を考える。ユーザは、撮影後の立体感の調整では、試行錯誤して様々な視差量調整値を試し、好ましい立体感が得られる視差量調整値を探す。このとき、視差量調整値を変更して多数の立体感で立体視表示を行うと、ユーザは、撮影時のデフォルト値に対して立体感を強めているのか、或いは弱めているのかがわからなくなることが考えられる。このようなとき、一度調整を破棄して、初期状態に戻ることができると、ユーザの利便性を向上できる。
本実施形態では、画像に関連付けて視差量調整値のデフォルト値を記録しており、デフォルト値の記録後に行われた立体感調整の調整値はデフォルト値とは別に記録することが可能である。立体感制御部58は、図5のステップS207において、ユーザが調整やり直しを指示したときに、設定する視差量調整値を、表示画像に関連付けて記録された視差量調整値のデフォルト値に戻すことができる。その場合、ユーザは撮影時に調整した立体感から立体感調整をやり直すことができる。これにより、立体感の調整に際してユーザの使い勝手を向上できるという効果が得られる。
比較例として、ユーザが調整のやり直しを指示した際に、撮影時の立体感ではなく、表示装置側で調整された立体感に戻る場合を考える。多視点画像は、ファイル移動などで任意のモニタサイズの表示装置50に移動可能であり、移動先の表示装置50にて多視点画像に基づく立体視用画像の表示及び立体感の調整が可能である。あるモニタサイズの表示装置(表示装置A)を用いて立体感調整を行い、視差量調整値を画像に関連付けて記録したとする。その後、別のモニタサイズの表示装置(表示装置B)で立体感調整をしているとき、ユーザが調整のやり直しを指示したとする。このときに、立体感制御部58が、表示装置Aで調整された視差量調整値に戻したとすると、モニタサイズの違いに起因して、極端に立体感が強くなることや、逆に極端に立体感が弱くなる場合が存在する可能性がある。このため、他の表示装置で調整された視差量調整値は、調整のやり直しの際に戻る視差量調整値としてはふさわしくないと考えられる。
別の比較例として、ユーザが調整のやり直しを指示した際に、“視差量0”に戻る場合を考える。“視差量0”に戻す場合、撮影装置自身が持っている基線長・輻輳角で撮影・保存された状態に戻ることになり、被写体と撮影装置との距離関係に無関係な立体感に戻ることになる。このため、やはり極端に立体感が強い場合や極端に立体感が弱い場合が存在し、“視差量0”は調整のやり直しの際に戻る視差量調整値としてはふさわしくないと考えられる。これに対し、撮影装置側で調整された視差量調整値をデフォルト値とし、調整のやり直しの際にデフォルト値に戻す場合であれば、視差量調整値は、ユーザが見やすい立体感に調整した視差量調整値、或いは撮影装置が自動的に設定した視差量調整値に戻る。このため、表示装置側で調整された視差量調整値や視差量0に戻る場合に比して、見やすい状態に表示を戻すことができる。また、ユーザはその状態から再調整を行うことができ、その後の調整は微調整で済むため利便性が向上できる。
なお、複眼カメラ10における表示モニタ14のモニタサイズと、表示装置50における表示モニタ51のモニタサイズとは必ずしも同一でなくてよい。複眼カメラ10と表示装置50におけるモニタサイズが異なる場合、表示装置50は、画像に関連付けて記録されたデフォルト値や視差量調整値に対して何らかの補正を施して用いてもよい。例えば、表示装置50の立体感制御部58は、モニタサイズの違いに応じた係数を用意しておき、その係数をデフォルト値や複眼カメラ10において調整された視差量調整値に対して乗じて用いてもよい。係数を、ユーザが表示モニタを観察する際のユーザと表示モニタとの間の距離に応じて複数用意しておき、ユーザと表示モニタとの間の距離に応じて係数を使い分けてもよい。
また、画像と視差量調整値との関連付けには種々の方法が考えられる。図7A〜図7Eは、画像と、その画像に関連付けて記録される視差量調整値とを示している。関連付けの方式は、大きく分けて、画像ファイルのヘッダにデフォルト値及び視差調整値を記録する方式と、画像ファイルとは別に視差調整値を記録するファイルを用意し、そのファイルに記録する方式との2つがある。図7A及び図7Bは、それぞれ画像ファイルのヘッダ部分にデフォルト値及び視差量調整値を記録する例を示している。図7C〜図7Eは、それぞれ画像ファイルとは別個の視差調整記録用のファイルにデフォルト値及び視差調整値を記録する例を示している。
図7Aは、多視点画像を構成する各画像が1つのファイルにまとめて保存される場合を示している。この場合は、そのファイルのヘッダに、各画像のデフォルト値及び視差調整値を記録すればよい。具体的には、右目用画像と左目用画像とを含む1つのファイルのヘッダに、右目用画像のデフォルト値(+XRD)及び視差調整値(+XR)と、左目用画像のデフォルト値(−XLD)及び視差調整値(−XL)とを記録すればよい。
図7Bは、多視点画像を構成する画像ごとにファイルが分かれている場合を示している。この場合は、各画像のファイルのヘッダに、それぞれ各画像のデフォルト値及び視差調整値を記録すればよい。具体的には、右目用画像のデータを含むファイルのヘッダに右目用画像のデフォルト値(+XRD)及び視差調整値(+XR)を記録し、左目用画像のデータを含むファイルに左目用画像のデフォルト値(−XLD)及び視差調整値(−XL)を記録すればよい。
図7C及び図7Dは、画像データのファイルとは別に視差量調整値を記録するファイルを作成し、そのファイルにデフォルト値及び視差調整値を記録する例を示している。視差量調整値を記録するためのファイル(視差調整値記録ファイル)は、例えば多視点画像に対してグループ分けを行い、グループごとに作成することができる。視差量調整値記録ファイルは、例えばテキストファイルでよい。グループ分けの手法は任意である。例えば画像の保存場所に基づいてグループ分けを行ってもよく、或いは画像に関連付けて撮影日時や画像の分類などの属性情報を記録しておき、その属性情報に基づいてグループ分けを行ってもよい。図7C及び図7Dでは、保存フォルダごとに画像のグループ分けを行う場合を示している。
図7Cは、視差量調整値記録ファイルを画像の保存フォルダに作成する場合を示している。この場合、同じフォルダ内の画像に対するデフォルト値及び視差調整値は、同じ視差調整値記録ファイル(視差量調整値.txt)に記録される。具体的には、あるフォルダ内に多視点画像Aと多視点画像Bとが存在するとき、そのフォルダ内に作成した視差調整値記録ファイルに、多視点画像Aの左目用画像及び右目用画像のデフォルト値と視差量調整値とを記録すると共に、多視点画像Bの左目用画像及び右目用画像のデフォルト値と視差量調整値とを記録すればよい。
図7Dは、画像ファイルの保存場所(フォルダ)とは異なる場所に視差調整値記録ファイルを作成する場合を示している。視差量調整値記録ファイルが存在する場所が、画像データのファイルの保存フォルダと異なることを除けば、デフォルト値及び視差量調整値の記録方式は図7Cと同様である。例えば画像データのファイルの保存フォルダとは別に、視差量調整値記録ファイルを格納するためのフォルダを用意しておく。その視差量調整値記録ファイルを格納するためのフォルダには、画像データの複数の保存フォルダに対応して、複数の視差量調整値記録ファイルを格納することができる。
図7Eは、画像データのファイルとは別に視差量調整値を記録するファイルを作成し、そのファイルにデフォルト値及び視差調整値を記録する別例を示している。図7Eにおいては、立体感調整を行った際に画像ファイルに対応してフォルダを作成し、そのフォルダ内にオリジナルの画像ファイルのコピーと、視差量調整値記録ファイルとを格納している。例えば多視点画像Aに対して立体感調整を行った際に、多視点画像Aに対するフォルダを作成し、そのフォルダに多視点画像Aの画像ファイルをコピーする。また、視差量調整値記録ファイルを同じフォルダ内に作成し、そのファイル内に多視点画像Aを構成する各画像のデフォルト値及び視差量調整値を記録する。別の多視点画像Bに対して立体感調整を行ったときは、多視点画像Bに対するフォルダを作成し、そのフォルダに多視点画像Bの画像ファイルをコピーすると共に、視差量調整値記録ファイルを作成し、そのファイル内に多視点画像Bを構成する各画像のデフォルト値及び視差量調整値を記録すればよい。
画像データ、及び視差量調整値の記録方式は、ユーザが任意に選択できるようにしてもよい。ユーザは、画像の撮影に先立って、多視点画像を構成する第1〜第n視点画像を1つのファイルとして保存するか、或いはn個のファイルとして保存するかを選択することができる。記録媒体記録部22は、ユーザの選択に従って多視点画像を記録媒体23に格納すればよい。また、ユーザは、画像の撮影及び立体感調整に先立って、視差量調整値を画像データのファイルのヘッダ部分に記録するか、或いは画像データのファイルとは別の視差量調整値記録ファイルに記録するかを選択することができる。調整値記録部26は、ユーザの選択に従って視差量調整値を画像に関連付けて記録すればよい。
次いで、本発明の第2実施形態を説明する。本実施形態の複眼カメラは、図1A、図1B、及び図2に示す複眼カメラと同様な構成を有する。本実施形態は、代表値算出部28が求めた視差量調整値の平均値を画像に関連付けて記録媒体23に記録する点が、第1実施形態と相違する。その他の点は第1実施形態と同様である。本実施形態も、第1実施形態と同様に、複眼カメラ10の構成から画像撮影に関する部分を除いた構成の装置に適用することができる。すなわち、図6A及び図6Bに示す表示装置50にも適用できる。
図8は、画像と、その画像に関連付けて記録される視差量調整値とを示している。図8は、図7Cと同様に、視差量調整値記録ファイルを画像の保存フォルダに作成する例を示している。図7Cとの違いは、視差量調整値記録ファイル(視差量調整値.txt)に視差量平均値XRavg、XLavgが追加されている点である。視差量調整値の記録方法は上記には限定されず、ヘッダに視差量調整値を記録する方法(図7A、図7B)や、画像の保存フォルダとは別のフォルダに視差量調整値記録ファイルを作成する方法(図7D)、オリジナルの画像ファイルのコピーを作成する方法(図7E)でもよい。
図9は、撮影時の動作手順を示している。調整値記録部26は、過去の撮影時に又はその後の画像観察時に設定された視差量調整値を個別の画像に関連付けて記録媒体23に記録すると共に、その平均値を記録媒体23に記録している。平均値は、例えば記録媒体23に記録された全ての画像に対する視差調整値の平均値でもよく、或いは保存フォルダごとに求められた平均値でもよい。或いはユーザが、複眼カメラ10が備えるシーンセレクタの機能を用いて、人物、風景、スポーツ、夜景などの中から任意に撮影シーンを選択できるようになっている場合は、撮影シーンに基づいてグループ分けを行い、画像の撮影に用いられた撮影シーンごとに視差量調整値の平均値を求めてもよい。
立体感制御部24は、記録媒体23から視差量調整値の平均値を読み出す。立体感制御部24は、読み出した視差量調整値の平均値を立体視用画像生成部25に設定する(ステップS301)。立体視用画像生成部25は、右目用画像に対応するスルー画と左目用画像に対応するスルー画とに基づいて、視差量調整値の平均値で表わされる立体感で立体視用画像を生成する。表示処理部27は、立体視用画像生成部25が生成した立体視用画像(立体視用のスルー画)を表示モニタ14に立体視可能に表示する(ステップS302)。
カメラ制御部20は、ユーザが撮影指示を行ったか否かを判断する(ステップS303)。ユーザが撮影指示を行わないとき、立体感制御部24は、ユーザが立体感調整を指示したか否かを判断する(ステップS304)。ユーザが立体感調整の指示を行わないときはステップS302に戻り、スルー画を表示しつつ撮影待機する。立体感制御部24は、ユーザが立体感調整を指示すると、右目用画像と左目用画像との視差量の調整を行う(ステップS305)。ユーザが立体感調整を終えると、ステップS302に戻る。表示処理部27は、ステップS302で、表示モニタ14にスルー画を立体視可能に表示する。表示モニタ14に表示されるスルー画の視差量は、立体感調整が行われるまでは視差量調整値の平均値であり、立体感調整が行われるとその調整で設定された視差量となる。ステップS302からステップS305は、図4のステップS102からステップS105と同様でよい。
ユーザがレリーズ13(図1A)を操作すると、カメラ制御部20は撮影が指示されたと判断し、右目用画像及び左目用画像の取り込みを指示する。記録媒体記録部22は、右目用画像と左目用画像とを所定のフォーマットで記録媒体23に記録する。また、調整値記録部26は、ステップS305で調整された視差量の調整値を、右目用画像及び左目用画像と関連付けて記録媒体23に記録する(ステップS306)。代表値算出部28は視差量調整値の平均値を再計算する。調整値記録部26は、記録媒体23に記録された平均値を再計算された平均値で更新する(ステップS307)。
調整値記録部26は、例えば図7A及び図7Bの例と同様に画像ファイルのヘッダに視差量調整値が記録されている場合は、各画像のヘッダに記録された視差量調整値の平均値を更新する。調整値記録部26は、今回撮影された画像に対しては、更新ではなく視差量調整値の平均値を新たに記録する。調整値記録部26は、例えば図7C〜図7Eの例と同様に画像ファイルとは別に視差量調整値を記録するファイルが作成されている場合は、そのファイルに記録された視差量調整値の平均値を更新する。
図10は、画像を表示し立体感調整を行う際の動作手順を示している。ユーザは、記録媒体23に記録された画像の中から1つを選択する(ステップS401)。或いは複眼カメラ10が記録媒体23に記録された画像の中から任意の1つを選択してもよい。立体感制御部24は、選択された画像に関連付けて記録された視差量調整値の平均値を読み出し、立体視用画像生成部25に設定する(ステップS402)。立体感制御部24は、既にデフォルト値が存在する場合はデフォルト値を優先し、視差量調整値の平均値に代えてデフォルト値を読み出してもよい。
立体視用画像生成部25は、ステップS401で選択された画像のデータを記録媒体23から読み出す。立体視用画像生成部25は、読み出した画像のデータに基づいて、立体感制御部24が読み出した視差量で表わされる立体感で立体視用画像を生成する。表示処理部27は、ステップS401で選択された画像を、表示モニタ14に立体視表示する(ステップS403)。立体感制御部24は、ユーザが立体感調整を指示したか否かを判断する(ステップS404)。ユーザが立体感調整の指示を行わないときは処理を終了する。ユーザが視差量の調整を指示すると、立体感制御部24は視差量の調整を行う(ステップS405)。ユーザは、表示モニタ14に表示される画像を観察しながら、好みの立体感が得られるように視差量を調整することができる。
立体感制御部24は、ユーザがこれまでの調整を破棄し、初期状態に戻ることを選択したか否かを判断する(ステップS406)。立体感制御部24は、ユーザが初期状態に戻ることを選択したと判断すると、視差量を、ステップS401で選択された画像に関連付けて記録された視差量調整値の平均値に設定する(ステップS407)。ステップS402でデフォルト値が読み出されていた場合、立体感制御部24は、ステップS407において視差量をデフォルト値に設定してもよい。立体視用画像生成部25は、ステップS407で設定された視差量で立体視用画像を生成する。表示処理部27は立体視用画像を表示する(ステップS408)。
ステップS406でユーザが初期状態に戻ることを選択していないと判断された場合、ステップS406からステップS408へ進み、表示処理部27が立体視用画像を表示する。このとき表示される立体視用画像は、ステップS405においてユーザが調整した視差量で生成される立体視用画像である。立体感制御部24は、ユーザが調整終了を指示したか否かを判断する(ステップS409)。調整終了でない場合はステップS405に戻り、立体感調整を継続する。調整終了の場合、調整値記録部26は、調整された視差量調整値をステップS401で選択された画像に関連付けて記録する(ステップS410)。
調整値記録部26は、ステップS410において、ステップS401で選択された画像に関連付けて記録されたデフォルトの視差量調整値が存在しないときは、調整された視差量をデフォルト値として記録する。画像の撮影時、又はそれ以降に立体感調整が行われ、デフォルトの視差量調整値が既に存在する場合、調整値記録部26は、デフォルト値とは別に視差量調整値を画像に関連付けて記録する。デフォルト値が存在する場合でも、ユーザの希望に応じて、調整された視差量調整値をデフォルト値として上書き記録してもよい。ステップS401、及びステップS403からステップS410は、図5のステップS201、及びステップS203からステップS210と同様でよい。代表値算出部28は視差量調整値の平均値を再計算し、調整値記録部26は再計算された平均値で記録媒体23に記録された平均値を更新する(ステップS411)。
本実施形態では、調整値記録部26は、代表値算出部28が求めた視差量調整値の平均値を更に画像に関連付けて記録する。記録媒体23に記録された視差量調整値の平均値を読み出して使用することで、第1実施形態と同様な効果を得ることができる。本実施形態では、視差量調整値の平均値が記録媒体23に記録されているいため、その平均値の利用に際しては、記録媒体23から平均値を読み出せばよく、処理を簡略化できる。
次いで、本発明の第3実施形態を説明する。本実施形態の複眼カメラは、図1A、図1B、及び図2に示す複眼カメラと同様な構成を有する。本実施形態は、視差量調整値がデフォルト値に対する差分の形で記録される点が第1実施形態と相違する。その他の点は第1実施形態と同様である。本実施形態も、第1実施形態と同様に、複眼カメラ10の構成から画像撮影に関する部分を除いた構成の装置に適用することができる。すなわち、図6A及び図6Bに示す表示装置50にも適用できる。
調整値記録部26は、視差量調整値を記録する際に、記録すべき視差量調整値と、調整対象の画像に関連付けて記録されたデフォルト値との差分を求める。調整値記録部26は、視差量調整値そのものではなく、視差量調整値のデフォルト値との差分を画像に関連付けて記録する。調整値記録部26は、視差量調整値の記録後にデフォルト値が変更された場合は、視差量調整値の差分を再計算し、求め直した差分を画像に関連付けて記録すればよい。画像と視差量調整値(差分)との関連付け記録する方法には、図7A〜図7Eに示す方法の何れかを用いることができる。
図11Aは、表示領域とデフォルト値で立体感調整を行った右目用画像の位置と立体感調整後の右目用画像の位置との関係を示している。右目用画像に対するデフォルト値が+XRDであった場合、視差量をデフォルト値に設定して立体視用画像を生成すると、右目用画像は表示領域に対して本来の位置(視差量0の場合の位置)よりも紙面向って右方向にXRD画素だけずれる。立体感の調整後に視差量調整値が+XR1であった場合、その視差量で立体視用画像を生成すると、右目用画像は表示領域に対して本来の位置よりも紙面向って右方向にXR1だけずれる。視差調整値+XR1のデフォルト値+XRDに対する差分は、ΔXR1=XR1−XRDと表すことができる。
図11Bは、表示領域とデフォルト値で立体感調整を行った左目用画像の位置と立体感調整後の左目用画像の位置との関係を示している。左目用画像に対するデフォルト値が−XLDであった場合、視差量をデフォルト値に設定して立体視用画像を生成すると、左目用画像は表示領域に対して本来の位置(視差量0の場合の位置)よりも紙面向って左方向にXLD画素だけずれる。立体感の調整後に視差量調整値が−XL1であった場合、その視差量で立体視用画像を生成すると、左目用画像は表示領域に対して本来の位置よりも紙面向って左方向にXL1だけずれる。視差調整値−XL1のデフォルト値−XLDに対する差分は、ΔXL1=−XL1+XLDと表すことができる。
本実施形態では、上記のように求まる視差量調整値のデフォルト値との差分(ΔXR、ΔXL)を画像と関連付けて記録する。本実施形態のように、視差量調整値をデフォルト値との差分で記録する場合も、第1実施形態で得られる効果と同様な効果を得ることができる。また、視差量調整値をデフォルト値との差分で表わす場合、その差分を見ることで、ユーザの調整量の傾向を知ることができるという効果もある。
続いて本発明の第4実施形態を説明する。図12は、第4実施形態の複眼カメラの内部構成を示している。複眼カメラ10aの外観は図1A及び図1Bに示す第1実施形態の複眼カメラ10の外観と同様でよい。本実施形態の複眼カメラ10aは、図2に示す第1実施形態の複眼カメラ10の構成に加えて表示画像選択部29を有する。表示画像選択部29は、記録媒体23に記録された多視点画像から表示対象の多視点画像を選択する。
本実施形態では、立体感制御部24は、画像表示に際して、表示対象画像として選択された多視点画像に関連付けて記録された1以上の視差量調整値を記録媒体23から読み出し、立体視用画像生成部25に設定する。立体感制御部24が読み出す1以上の視差量調整値は、デフォルト値を含んでいてよい。立体視用画像生成部25は、選択された多視点画像に基づいて、立体感制御部24が読み出した1以上の視差量調整値のそれぞれで表わされる立体感で1以上の立体視用画像を生成する。
表示処理部27は、生成された1以上の立体視用画像を順次に表示モニタ14に表示させる。表示処理部27は、表示対象として選択された画像が複数あり、かつ、一の多視点画像に対して複数の視差量調整値が関連付けられているときは、複数の視差量調整値で生成された立体視用画像を順次に表示させた後に、次の多視点画像の立体視用画像に切り替えて表示させていく。
図13は、立体視用画像表示の動作手順を示している。表示画像選択部29は、記録媒体23に記録された画像の中から1以上の画像を表示画像として選択する(ステップS501)。表示画像選択部29は、例えば表示処理部27を介して記録媒体23に記録された画像の一覧を表示モニタ14に表示し、ユーザに表示対象画像を選択させてもよい。ユーザは、操作ボタン15(図1B)などを操作し、画像の一覧の中から画像を1つずつ選択することができる。或いはフォルダを選択単位とし、フォルダ内の1以上の画像を一括で選択してもよい。ユーザは、ステップS501では、例えばカテゴリや撮影日時などを指定して記録媒体23内を検索し、検索された画像を選択画像としてもよい。画像選択はユーザが行うほか、表示画像選択部29が自動で行ってもよい。例えば表示画像選択部29が記録媒体23に記録された画像の中から1以上の画像を自動的にランダムで選択してもよい。
立体感制御部24は、ステップS501で選択された1以上の画像の中から1つを選択する(ステップS502)。立体感制御部24は、ステップS502で選択した画像に関連付けて記録された1以上の視差量調整値を読み出す(ステップS503)。視差量調整値は、視差量0で表示すべき位置からの移動量で表わされていてもよく、或いはデフォルト値が存在するときにデフォルト値から差分で表わされていてもよい。
立体感制御部24は、例えば図7A及び図7Bに示す例のように画像ファイルのヘッダに視差量調整値が記録されているときは、ステップS502で選択された画像の画像ファイルのヘッダから視差量調整値を読み出す。また立体感制御部24は、例えば図7C〜図7Eに示す例のように画像ファイルとは異なるファイルに視差量調整値が記録されているときは、ステップS502で選択された画像の視差量調整値を記録する視差量調整値記録ファイルからその画像に関連付けられた視差量調整値を読み出す。立体感制御部24は、画像に関連付けてデフォルト値が記録されているときは、デフォルト値も視差量調整値の1つとして読み出す。また、立体感制御部24は、第2実施形態において説明したように、画像に関連付けて視差量調整値の平均値が更に記録されているときは、その平均値を視差量調整値のうちの1つとして読み出してもよい。
立体感制御部24は、読み出した視差量調整値のうちの1つを選択する(ステップS504)。立体感制御部24は、選択した視差量調整値を立体視用画像生成部25に設定する。立体視用画像生成部25は、選択された視差量調整値の視差量で立体視用画像を生成する(ステップS505)。表示処理部27は、立体視用画像生成部25が生成した立体視用画像を表示モニタ14に表示する(ステップS506)。
立体感制御部24は、読み出した視差量調整値に未処理の視差量調整値が存在するか否かを判断する(ステップS507)。立体感制御部24は、未処理の視差量調整値があると判断すると、ステップS504に戻り、未処理の視差量調整値の中から1つを選択する。その後、ステップS505で、立体視用画像生成部25が選択された視差量調整値の視差量で立体視用画像を生成し、ステップS506で、表示処理部27が立体視用画像を表示モニタ14に表示する。複眼カメラ10aは、読み出された視差量調整値の数だけステップS504〜S506を繰り返し実行し、読み出された視差量調整値のそれぞれで画像を表示モニタ14に表示する。
立体感制御部24は、ステップS507で未処理の視差量調整値が存在しないと判断すると、ステップS501で表示画像として選択された画像の中に未処理の画像が存在するか否かを判断する(ステップS508)。立体感制御部24は、未処理の画像が存在すると判断したときはステップS502に戻り、未処理の画像の中から1つを選択する。その後、選択された画像に対してステップS503〜S506が実行され、関連付けて記録された視差量調整値のそれぞれで画像表示が行われる。ステップS508で未処理に画像がないと判断されたときは処理を終了する。
図14A〜図14Cは、表示モニタ14に表示される画像を示している。ここでは、ある画像に関連付けて視差量調整値が3つ記録されている場合を考える。視差量調整値のうちの1つ目はデフォルト値であり、ユーザが画像撮影時にスルー画を観察しながら調整した視差量調整値であるとする。2つ目は、画像撮影後に立体感制御部24が右目用画像及び左目用画像に基づいて自動調整した視差量調整値であるとする。3つ目は、あるユーザが任意に調整した視差量調整値であるとする。デフォルト調整値を「調整値1」、自動調整値を「調整値2」、ユーザ調整値を「調整値3」と呼ぶこととする。「調整値3」の調整を行ったユーザと、図13に示す手順で画像を観察するユーザとは異なるユーザであるとする。
図14Aは、「調整値1」で画像表示を行う例を示している。立体感制御部24は、ステップS502で3つの調整値を読み出し、ステップS503で、まず「調整値1」を選択したとする。立体視用画像生成部25は、ステップS504で、視差量0で位置よりも、右目用画像は紙面向って右方向にXR1だけ移動し、左目用画像は紙面向って左方向にXL1だけ移動した立体視用画像を生成する。ステップS505では、表示モニタ14上に、図14Aに示すように右目用画像と左目用画像とがそれぞれの調整値分だけずれて重ねられた立体視用画像が表示される。
図14Bは、「調整値2」で画像表示を行う例を示している。立体感制御部24は、ステップS506で未処理の調整値があると判断してステップS503に戻り、「調整値2」を選択する。立体視用画像生成部25は、ステップS504で、視差量0で位置よりも、右目用画像は紙面向って右方向にXR2だけ移動し、左目用画像は紙面向って左方向にXL2だけ移動した立体視用画像を生成する。ステップS505では、表示モニタ14上に、図14Bに示すように右目用画像と左目用画像とがそれぞれの調整値分だけずれて重ねられた立体視用画像が表示される。
図14Cは、「調整値3」で画像表示を行う例を示している。立体感制御部24は、ステップS506で未処理の調整値があると判断してステップS503に戻り、「調整値3」を選択する。立体視用画像生成部25は、ステップS504で、視差量0で位置よりも、右目用画像は紙面向って右方向にXR3だけ移動し、左目用画像は紙面向って左方向にXL3だけ移動した立体視用画像を生成する。ステップS505では、表示モニタ14上に、図14Cに示すように右目用画像と左目用画像とがそれぞれの調整値分だけずれて重ねられた立体視用画像が表示される。「調整値3」で画像が表示された後、処理が終了する。
「調整値2(自動調整)」での視差(XR2+XL2)は、「調整値1(デフォルト)」での視差(XR1+XL1)よりも少し小さいとする。逆に、「調整値3(自動調整)」での視差(XR3+XL3)は、「調整値1(デフォルト)」での視差(XR1+XL1)よりも少し大きいとする。視差量調整値をデフォルト値との差分で表わすと、「調整値2」の右目用画像の視差量調整値は負の値(ΔXR2<0)となり、左目用画像の視差量調整値は正の値(ΔXL2>0)となる。一方、「調整値3」の右目用画像の視差量調整値は正の値(ΔXR3>0)となり、左目用画像の視差量調整値は負の値(ΔXL3<0)となる。立体感は、「調整値3」が最も強く、次いで「調整値1」、「調整値2」の順となる。
ユーザは、表示された画像を観察することで、自身が最も適切と感じる立体感となる調整値を任意に選択することができる。例えば立体感が強い表示が好みであれば「調整値3」を選択し、立体感が弱い表示が好みであれば「調整値2」を選択し、中くらいの立体感が好みであれば「調整値1」を選択すればよい。或いはユーザは、何れの調整値でも適切な立体感が得られないと感じたときは、自身で立体感調整を行って別の視差量調整値を記録することも可能である。
図15は、視差量調整値記録ファイルの具体例を示している。この視差量調整値記録ファイル(視差量調整値.txt)は、例えば図7Cに示す例のように、画像の保存フォルダに対応して、その保存フォルダ内に格納された画像に対する視差量調整値を記録しているものとする。画像の保存フォルダには画像A、画像B、及び画像Cの3つの画像が格納されており、視差量調整値記録ファイルには、画像Aに対してデフォルト値、調整値1−1、及び調整値1−2の3つの視差量調整値が記録され、画像Bに対してデフォルト値のみが視差量調整値として記録され、画像Cに対して調整値3−1及び調整値3−2の2つの視差量調整値が記録されているとする。
図16は、表示される画像の順序を示している。表示画像選択部29が、ステップS501で図15に示す視差量調整値ファイルが存在するフォルダ内の画像、すなわち画像A、画像B、及び画像Cを表示対象の画像として選択したとする。立体感制御部24は、ステップS502で画像Aを選択する。立体感制御部24は、ステップS503で、図15に示す視差量調整値記録ファイルから画像Aに対して記録された視差量調整値(デフォルト、調整値1−1、及び調整値1−2)を読み出す。
立体感制御部24は、ステップS504で、読み出した視差量調整値の中からデフォルトを選択する。立体視用画像生成部25は、ステップS505で視差量をデフォルト値として画像Aの立体視用画像を生成し、表示処理部27は、ステップS506で表示モニタ14にデフォルトの視差量の画像Aの立体視用画像を表示する。立体感制御部24は、画像Aの視差量調整値にはデフォルト以外の調整値があるので、ステップS507からステップS503に戻る。
立体感制御部24は、戻ったステップS503で調整値1−1を選択する。ステップS505及びS506を経て、調整値1−1の視差量の画像Aの立体視用画像が表示される。立体感制御部24は、画像Aの視差量調整値に未処理の視差量調整値が残っているか否かを調べると、調整値1−2が未処理なので、再びステップS507からステップS503に戻る。立体感制御部24は、戻ったステップS503で調整値1−2を選択する。ステップS505及びS506を経て、調整値1−2の視差量の画像Aの立体視用画像が表示される。
立体感制御部24は、調整値1−2での画像Aの立体視用画像が表示された後、ステップS506で画像Aに対して未処理の視差量調整値がないと判断する。立体感制御部24は、ステップS507で未処理の画像があると判断してステップS502に戻り、画像Bを選択する。立体感制御部24は、ステップS503で、図15に示す視差量調整値記録ファイルから画像Bに対して記録された視差量調整値(デフォルト)を読み出す。
立体感制御部24はステップS504でデフォルトを選択し、立体視用画像生成部25は、ステップS505で視差量をデフォルト値に設定して画像Bの立体視用画像を生成する。表示処理部27は、ステップS506で表示モニタ14にデフォルトの視差量の画像Bの立体視用画像を表示する。立体感制御部24は、画像Bに対しては視差量調整値がデフォルトしか存在しないので未処理の視差量調整値はないと判断する。立体感制御部24は、ステップS507で未処理の画像があると判断してステップS502に戻り、画像Cを選択する。
立体感制御部24は、ステップS503で、図15に示す視差量調整値記録ファイルから画像Cに対して記録された視差量調整値(調整値3−1及び調整値3−2)を読み出す。立体感制御部24は、ステップS504で、読み出した視差量調整値の中から調整値を選択する。ステップS505及びS506を経て、調整値3−1の視差量の画像Cの立体視用画像が表示される。立体感制御部24は、画像Cの視差量調整値には調整値3−1以外の調整値があるので、ステップS507からステップS503に戻る。
立体感制御部24は、戻ったステップS503で調整値3−2を選択する。ステップS505及びS506を経て、調整値3−2の視差量の画像Cの立体視用画像が表示される。立体感制御部24は、ステップS507で、未処理の視差量調整値はないと判断する。立体感制御部24は、ステップS507で未処理の画像がある否かを調べると、未処理の画像はないので処理を終了する。結果、表示モニタ14には、図16に示すように、画像A(デフォルト)、画像A(調整値1−1)、画像A(調整値1−2)、画像B(デフォルト)、画像C(調整値3−1)、画像C(調整値3−2)がこの順で表示される。
本実施形態では、表示画像として選択された画像に対して複数の視差量調整値が記録されているとき、立体視用画像生成部25は複数の視差量調整値のそれぞれを用いて立体視用画像を生成し、表示モニタ14上に順次に表示させる。このようにすることで、ユーザは、画像に関連付けて記録された複数の視差量調整値の中から自身の好みの立体感が得られる視差量調整値を選択できる。この効果は、図6に示す表示装置50の構成に表示画像選択部29を追加した表示装置が図13に示す動作手順に従って動作することでも同様に得ることができる。
続いて、本発明の第5実施形態を説明する。本実施形態の複眼カメラの内部構成は、図12に示す複眼カメラ10aの内部構成と同様である。本実施形態においても、第4実施形態と同様に、立体視用画像生成部25は、読み出された視差量調整値が複数あるとき、それら複数の視差量のそれぞれで立体視用画像を生成する。本実施形態は、複数の視差量で生成された立体視用画像を表示する順序が第4実施形態におけるそれと相違する。本実施形態では、表示処理部27は、各多視点画像のi番目(i:1から視差量調整値の数)の視差量調整値で生成された複数の立体視用画像を順次に表示させた後に、i+1番目の視差量調整値で生成された複数の立体視用画像を表示させていく。
図17は、立体視用画像表示の動作手順を示している。表示画像選択部29は、記録媒体23に記録された画像の中から1以上の画像を表示対象画像として選択する(ステップS601)。このステップS601は図13におけるステップS501と同じでよい。ステップS601では、ユーザが画像選択を行うのに代えて、表示画像選択部29が記録媒体23に記録された画像の中から1以上の画像をランダムで選択してもよい。
立体感制御部24は、ステップS601で選択された複数の画像のそれぞれに関連付けて記録された1以上の視差量調整値を読み出す(ステップS602)。視差量調整値は、視差量0で表示すべき位置からの移動量で表わされていてもよく、或いはデフォルト値が存在するときにデフォルト値から差分で表わされていてもよい。立体感制御部24は、画像に関連付けてデフォルト値が記録されているときは、デフォルト値も視差量調整値の1つとして読み出すことができる。また、立体感制御部24は、第2実施形態において説明したように、画像に関連付けて視差量調整値の平均値が更に記録されているときは、その平均値を視差量調整値のうちの1つとして読み出してもよい。
立体感制御部24は変数iをi=1に初期化する(ステップS603)。立体感制御部24は、ステップS601で選択された1以上の画像の中から1つを選択する(ステップS604)。立体感制御部24は、ステップS604で選択した画像に関連付けて記録されたi番目の視差量調整値を選択する(ステップS605)。立体感制御部24は、i番目の視差量調整値を立体視用画像生成部25に設定する。立体視用画像生成部25は、ステップS604で選択された多視点画像に基づいて、i番目の視差量調整値の視差量で立体視用画像を生成する(ステップS606)。表示処理部27は、立体視用画像生成部25が生成した立体視用画像を表示モニタ14に表示する(ステップS607)。
立体感制御部24は、ステップS601で表示画像として選択された画像の中に未処理の画像が存在するか否かを判断する(ステップS608)。立体感制御部24は、ステップS608で未処理の画像が存在すると判断するとステップS604に戻り、未処理の画像の中から1つを選択する。その後、ステップS605で、立体感制御部24が選択された画像のi番目の視差量調整値を選択し、ステップS606で、立体視用画像生成部25が選択された画像のi番目の視差量調整値の視差量で立体視用画像を生成し、ステップS607で、表示処理部27が立体視用画像を表示モニタ14に表示する。複眼カメラは未処理の画像がなくなるまでステップS604〜S607を繰り返し実行し、それぞれのi番目の視差量調整値で各立体視用画像を表示モニタ14に表示する。
立体感制御部24は、ステップS608で未処理の画像がないと判断すると、ステップS602で読み出した視差量調整値に未処理の視差量調整値が存在するか否かを判断する(ステップS609)。言い換えれば、立体感制御部24は、少なくとも1つの多視点画像にi+1番目以降の視差量調整値が存在するか否かを判断する。立体感制御部24は、未処理の視差量調整値が存在する場合は、変数iをインクリメントする(ステップS610)。その後、ステップS604に戻り、未処理の画像がなくなるまでステップS604〜S607を繰り返し実行し、それぞれのi番目の視差量調整値で各立体視用画像を表示モニタ14に表示する。複眼カメラ10aは、ステップS609で未処理の視差量調整値がないと判断されると処理を終了する。
図18は、表示される画像の順序を示している。表示画像選択部29が、ステップS601で図15に示す視差量調整値ファイルが存在するフォルダ内の画像、すなわち画像A、画像B、及び画像Cを表示対象の画像として選択したとする。立体感制御部24は、図15に示す視差量調整値ファイルから画像A、画像B、画像Cのそれぞれに対する視差量調整値、すなわち画像Aのデフォルト、調整値1−1、調整値1−2、画像Bのデフォルト、調整値3−1、及び調整値3−2を読み出す。
立体感制御部24は、読み出した調整値を画像ごとに番号を付けて管理する。例えば画像Aについて、デフォルトを1番目の視差量調整値、調整値1−1を2番目の視差量調整値、調整値1−2を3番目の視差量調整値とする。画像Bについては、デフォルトを1番目の視差量調整値とする。画像Cについては、調整値3−1を1番目の視差量調整値、調整値3−2を2番目の視差量調整値とする。立体感制御部24は、ステップS603で変数iをi=1に初期化する。
立体感制御部24は、ステップS604で画像Aを選択し、ステップS605で画像Aの1番目の視差量調整値(デフォルト)を選択する。立体視用画像生成部25は、立体視用画像生成部25は、ステップS606で視差量をデフォルト値に設定して画像Aの立体視用画像を生成し、表示処理部27は、ステップS607で表示モニタ14にデフォルトの視差量の画像Aの立体視用画像を表示する。立体感制御部24は、ステップS608で未処理の画像があると判断してステップS604に戻り、画像Bを選択する。
立体感制御部24は、ステップS605で画像Bの1番目の視差量調整値(デフォルト)を選択する。ステップS606及びS607を経て、デフォルトの視差量の画像Bの立体視用画像が表示モニタ14に表示される。立体感制御部24は、ステップS608で未処理の画像があるか否かを調べ、画像Cが未処理のためステップS604に戻る。立体感制御部24は、戻ったステップS604で画像Cを選択し、ステップS605で画像Cの1番目の視差量調整値(調整値3−1)を選択する。ステップS606及びS607を経て、調整値3−1の視差量の画像Cの立体視用画像が表示モニタ14に表示される。
立体感制御部24は、ステップS608で未処理の画像がないと判断して、ステップS609に進む。立体感制御部24は、ステップS609で未処理の視差量調整値があるか否かを調べる。立体感制御部24は、画像A及び画像Cに未処理に視差量調整値があるため、ステップS609からステップS610に進み、変数iの値を1つ増加させてi=2とする。その後、立体感制御部24は、ステップS604に戻り、画像Aを選択する。立体感制御部24は、変数iをインクリメントした後に、ステップS601で選択された画像のうちでi番目の視差量調整値を持つ画像をリストアップしておき、ステップS604において、そのリストアップした画像の中から1つを選択するようにしてもよい。
立体感制御部24は、ステップS605で画像Aの2番目の視差量調整値(調整値1−1)を選択する。ステップS606及びS607を経て、調整値1−1の視差量の画像Aの立体視用画像が表示モニタ14に表示される。立体感制御部24は、ステップS608で未処理の画像があるか否かを調べ、画像Cが未処理のためステップS604に戻る。立体感制御部24は、戻ったステップS604で画像Cを選択し、ステップS605で画像Cの2番目の視差量調整値(調整値3−2)を選択する。画像Bは2番目以降の視差量調整値を持たないため、ステップS604における選択対象から外れる。ステップS606及びS607を経て、調整値3−2の視差量の画像Cの立体視用画像が表示モニタ14に表示される。立体感制御部24は、ステップS608で未処理の画像があるか否かを調べ、未処理の画像がないためステップS609へ進む。
立体感制御部24は、ステップS609で未処理の視差量調整値があるか否かを調べる。立体感制御部24は、画像Aに未処理に視差量調整値があるため、ステップS609からステップS610に進み、変数iの値を1つ増加させてi=3とする。その後、立体感制御部24は、ステップS604に戻り、画像Aを選択する。立体感制御部24は、ステップS605で画像Aの3番目の視差量調整値(調整値1−2)を選択する。画像Cは3番目以降の視差量調整値を持たないため、ステップS604における選択対象から外れる。ステップS606及びS607を経て、調整値1−2の視差量の画像Aの立体視用画像が表示モニタ14に表示される。立体感制御部24は、ステップS608で未処理の画像があるか否かを調べ、未処理の画像がないと判断したステップS609へ進む。
立体感制御部24は、ステップS609で未処理の視差量調整値があるか否かを調べる。立体感制御部24は、ステップS602で読み出した視差量調整値を全て選択したため、未処理の視差量調整値はないと判断し処理を終了する。結果、表示モニタ14には、図18に示すように、画像A(デフォルト)、画像B(デフォルト)、画像C(調整値3−1)、画像A(調整値1−1)、画像C(調整値3−2)、画像A(調整値1−2)がこの順で表示される。
本実施形態においても、第4実施形態と同様に、ユーザは、画像に関連付けて記録された複数の視差量調整値の中から自身の好みの立体感が得られる視差量調整値を選択できる。の効果は、図6に示す表示装置50の構成に表示画像選択部29を追加した表示装置が図13に示す動作手順に従って動作することでも同様に得ることができる。
続いて、本発明の第6実施形態を説明する。図19は、第6実施形態の複眼カメラの内部構成を示している。本実施形態の複眼カメラ10bは、図2に示す第1実施形態の複眼カメラ10の構成に加えて、モニタサイズ取得部30を備える。複眼カメラ10bの外観は図1A及び図1Bに示す第1実施形態の複眼カメラ10の外観と同様でよい。本実施形態は、撮影部を持たない表示装置に適用することも可能である。すなわち、図6Bに示す表示装置50にモニタサイズ取得部を追加した構成とすることもできる。
本実施形態では、1つの多視点画像に対して、複数の複眼カメラ又は表示装置を用いて立体感調整を行うことを想定する。複眼カメラや表示装置における表示モニタのモニタサイズは、装置ごとに異なることが考えられる。本実施形態では、立体感調整で用いた表示モニタのモニタサイズを画像に関連付けて記録する。画像表示の際は、画像に関連付けて記録された1以上の視差量調整値の中から、画像表示を行う表示モニタのモニタサイズに応じて視差量調整値を選択する。
立体感制御部24は、表示モニタ14に立体視用画像が表示された状態で立体感調整を行う。モニタサイズ取得部30は、表示モニタ14のモニタサイズを取得する。モニタサイズは、例えば矩形形状の表示領域の対角線の長さで定義する。調整値記録部26は、視差量調整値を、モニタサイズ取得部30が取得したモニタサイズと共に画像に関連付けて記録する。言い換えれば、調整値記録部26は、視差量調整値を記録する際に、立体感調整が行われたときに立体視用画像が表示された表示モニタ14のモニタサイズを更に画像に関連付けて記録する。
立体感制御部24は、画像の表示時に、画像が表示されるべき表示モニタ14のモニタサイズをモニタサイズ取得部30から取得する。立体感制御部24は、表示すべき多視点画像に関連付けて記録された1以上の視差量調整値の中から、モニタサイズ取得部30から取得したモニタサイズに該当する視差量調整値を記録媒体23から読み出す。1以上の視差量調整値は、デフォルト値を含んでいてもよい。立体感制御部24は、読み出した視差量調整値を立体視用画像生成部25に設定する。
例えば、ある多視点画像に対して、モニタサイズAでの視差量調整値Aと、モニタサイズBでの視差量調整値Bとが記録されていたとする。立体感制御部24は、画像表示時に、モニタサイズ取得部30が取得したモニタサイズがモニタサイズAのときは記録媒体23から視差量調整値Aを読み出し、モニタサイズがモニタサイズBのときは記録媒体23から視差量調整値Bを読み出せばよい。立体感制御部24は、モニタサイズ取得部30が取得したモニタサイズに該当する視差量調整値が存在しないときは、そのモニタサイズに最も近いモニタサイズの視差量調整値を記録媒体から読み出せばよい。
図20は、立体感調整の際の動作手順を示している。ここでは複眼カメラ10bの動作手順として説明するが、表示装置でも動作手順は同様である。ユーザは、記録媒体23に記録された画像の中から1つを選択する(ステップS701)。或いは複眼カメラ10bが記録媒体23に記録された画像の中から任意の1つを選択してもよい。立体視用画像生成部25は、選択された画像に基づいて立体視用画像を生成し、表示処理部27は、立体視用画像を表示モニタ14に表示する。ステップS701で選択された画像に関連付けて既に視差量調整値が記録されているとき、立体感制御部24は、記録媒体23から視差量調整値を読み出し、立体視用画像生成部25に設定してもよい。
立体感制御部24は、ステップS701で選択された画像の立体感調整を行う(ステップS702)。立体視用画像生成部25は、立体感制御部24が調整した視差量で立体視用画像を生成する。表示処理部27は、立体視用画像を表示モニタ14に表示する(ステップS703)。立体感制御部24は、ユーザが調整のやり直しを指示したときは、それまでの調整を破棄して、視差量調整値を初期状態に戻してもよい。このとき戻る視差量調整値の初期状態は、視差量調整値のデフォルト値でよい。
立体感制御部24は、ユーザが調整終了を指示したか否かを判断する(ステップS704)。調整終了でない場合はステップS702に戻り、立体感調整を継続する。調整終了の場合、モニタサイズ取得部30は、表示モニタ14のモニタサイズを取得する(ステップS705)。調整値記録部26は、調整された視差量調整値及びステップS705で取得されたモニタサイズを、ステップS701で選択された画像に関連付けて記録する(ステップS706)。立体感調整を複眼カメラ10bで行う場合、調整値記録部26は、視差量調整値をデフォルト値として記録してもよい。
図21は、画像と、その画像に関連付けて記録される視差量調整値とを示している。ここでは、ある画像に対して、モニタサイズが異なる3つの装置(複眼カメラ又は表示装置)で立体感調整が行った場合を考える。各装置の立体感制御部は、表示モニタのモニタサイズと視差量調整値とを、多視点画像のファイルのヘッダ部分に記録する。ファイルのヘッダには、図21に示すように、3つの視差量調整値がモニタサイズと共に記録される。
なお、画像の保存形式は任意であり、例えば図7Bに示すように左目用画像と右目用画像とでファイルが分かれていてもよい。また、画像と視差量調整値との関連付けは任意であり、例えば図7C〜図7Eに示すように、視差量調整値を画像とを別のファイルで管理してもよい。視差量調整値のうちの一部は、デフォルト値などからの差分として表されていてもよい。例えば、図21において、調整値2及び3の視差量調整値は、調整値1からの差分として記録されていてもよい。視差量調整値に加えて、代表値算出部28が求めた視差量調整値の平均値を更に記録してもよい。
図22は、画像表示時の動作手順を示している。ここでも複眼カメラ10bの動作手順として説明するが、表示装置でも動作手順は同様である。ユーザは、記録媒体23に記録された画像の中から1つを選択する(ステップS801)。或いは複眼カメラ10bが記録媒体23に記録された画像の中から任意の1つを選択してもよい。モニタサイズ取得部30は、表示モニタ14のモニタサイズを取得する(ステップS802)。
立体感制御部24は、記録媒体23を参照し、ステップS801で選択された画像に対して、ステップS802で取得されたモニタサイズの視差量調整値が記録されているか否かを判断する(ステップS803)。立体感制御部24は、記録されていると判断すると、ステップS802で取得されたモニタサイズの視差量調整値を記録媒体23から読み出す(ステップS804)。一方、立体感制御部24は、ステップS803で記録されていないと判断すると、記録媒体23から、ステップS801で選択された画像に関連付けて記録された視差量調整値のうちで、ステップS802で取得されたモニタサイズに最も近いモニタサイズでの視差量調整値を読み出す(ステップS805)。
立体感制御部24は、ステップS804又はS805で読み出した視差量調整値を立体視用画像生成部25に設定する(ステップS806)。立体視用画像生成部25は、設定された視差量調整値で立体視用画像を生成する。表示処理部27は、立体視用画像を表示モニタ14に表示する(ステップS807)。
例えば、記録媒体23に図21に示す画像データ及び視差量調整値が記録されている場合を考える。複眼カメラ10bを用いて画像の表示を行う場合、表示モニタ14のモニタサイズが3インチであるとすれば、立体感制御部24は、ステップS804で「左目用画像−6,右目用画像+8」の視差量調整値を読み出す。この場合、立体視用画像生成部25は、左目用画像の各画素を本来の表示位置(視差量0の場合の表示位置)から左方向に6画素分だけずらし、右目用画像の各画素を本来の表示位置から右方向に8画素分だけずらした立体視用画像を生成する。
表示モニタ14のモニタサイズが7インチであった場合、記録媒体23には7インチの表示モニタ14を見ながら立体感調整を行ったときの視差量調整値が記録されていないので、記録された3つの視差量調整値のうちの1つを使用することとする。モニタサイズに応じてユーザが感じる立体感が異なるので、調整時にユーザが調整した立体感とできるだけ同じ立体感で表示を行うためには、記録媒体23に記録された視差量調整値のうち、7インチに最も近いモニタサイズの視差量調整値を使用することが好ましい。図21のケースでは、3つのモニタサイズのうち、モニタサイズ7インチに最も近いモニタサイズは5インチであるので、立体感制御部24は、ステップS805で、5インチでの視差量調整値「左目用画像−4,右目用画像+6」を読み出せばよい。
本実施形態では、調整値記録部26は、視差量調整値とモニタサイズとを画像に関連付けて記録する。このようにすることで、立体感調整を行ったときのモニタサイズと視差量調整値とに関連を持たせることができる。モニタサイズと視差量調整値とに関連を持たせることで、画像の表示時に、画像を表示すべき表示モニタのモニタサイズに適した視差量調整値を記録媒体から読み出すことが可能になる。
一般に、同じ視差量調整値で立体視用画像を生成した場合、モニタサイズが大きくなるに連れて、ユーザ(観察者)が感じる立体感強くなる傾向がある。従って、立体感調整を行ったときのモニタサイズよりも大きなサイズの表示モニタで画像表示を行う場合、小さなモニタサイズの表示モニタを観察しながら行った立体感調整の調整値をそのまま用いて画像表示を行うと、立体感が強くなり過ぎることが考えられる。本実施形態では、視差量調整値とモニタサイズとを画像に関連付けて記録するため、表示モニタのサイズに適した視差量調整値の選択が可能である。そのように選択した視差量調整値で画像表示を行うことで、ユーザが好ましいと感じる立体感で画像表示を行うことができる。
続いて、本発明の第7実施形態を説明する。本実施形態の複眼カメラの内部構成は、図19に示す第6実施形態の複眼カメラ10bの構成と同様である。本実施形態では、調整値記録部26は、立体感調整が行われたときに立体視用画像が表示された表示モニタ14のモニタサイズと、そのモニタサイズとは異なる1以上のモニタサイズに対する係数とを更に画像に関連付けて記録する。本実施形態も、第6実施形態と同様に、撮影部を持たない表示装置に適用することも可能である。
立体感制御部24は、表示モニタ14に立体視用画像が表示された状態で立体感調整を行う。モニタサイズ取得部30は、表示モニタ14のモニタサイズを取得する。調整値記録部26は、視差量調整値を、モニタサイズ取得部30が取得したモニタサイズと共に画像に関連付けて記録する。加えて、調整値記録部26は、モニタサイズ取得部30が取得したモニタサイズとは異なる1以上のモニタサイズに対して、視差量調整値と掛け合わせるための係数を更に画像に関連付けて記録する。係数は、ユーザと表示モニタ14との距離に応じて変化させることもできる。
立体感制御部24は、画像の表示時に、画像が表示される表示モニタ14のモニタサイズをモニタサイズ取得部30から取得する。立体感制御部24は、表示する多視点画像に関連付けて記録された、モニタサイズ取得部30から取得したモニタサイズに該当する視差量調整値を記録媒体23から読み出す。立体感制御部24は、モニタサイズ取得部30が取得したモニタサイズに該当する視差量調整値が存在しないときは、視差量調整値と係数とを記録媒体23から読み出し、読み出した立体感調整値に係数を乗じた値を立体感調整値とする。
例えば、ある多視点画像に対して、モニタサイズAでの視差量調整値Aと、モニタサイズBに対する係数kBとが記録されていたとする。立体感制御部24は、画像表示時に、モニタサイズ取得部30が取得したモニタサイズがモニタサイズAのときは記録媒体23から視差量調整値Aを読み出す。立体感制御部24は、モニタサイズがモニタサイズBのときは記録媒体23から視差量調整値Aと係数KBとを読み出し、視差量調整値A×kBをモニタサイズBに対する視差量調整値とする。立体感制御部24は、モニタサイズ取得部30が取得したモニタサイズに対応する係数が存在しないときは、そのモニタサイズに最も近いモニタサイズに対する係数を使用すればよい。
図23は、立体感調整の際の動作手順を示している。ここでは複眼カメラ10bの動作手順として説明するが、表示装置でも動作手順は同様である。ユーザは、記録媒体23に記録された画像の中から1つを選択する(ステップS901)。或いは複眼カメラ10bが記録媒体23に記録された画像の中から任意の1つを選択してもよい。立体視用画像生成部25は、選択された画像に基づいて立体視用画像を生成し、表示処理部27は、立体視用画像を表示モニタ14に表示する。ステップS901で選択された画像に関連付けて既に視差量調整値が記録されているとき、立体感制御部24は、記録媒体23から視差量調整値を読み出し、立体視用画像生成部25に設定してもよい。
立体感制御部24は、ステップS901で選択された画像の立体感調整を行う(ステップS902)。立体視用画像生成部25は、立体感制御部24が調整した視差量で立体視用画像を生成する。表示処理部27は、立体視用画像を表示モニタ14に表示する(ステップS903)。立体感制御部24は、ユーザが調整のやり直しを指示したときは、それまでの調整を破棄して、視差量調整値を初期状態に戻してもよい。このとき戻る視差量調整値の初期状態は、視差量調整値のデフォルト値でよい。
立体感制御部24は、ユーザが調整終了を指示したか否かを判断する(ステップS904)。調整終了でない場合はステップS902に戻り、立体感調整を継続する。調整終了の場合、モニタサイズ取得部30は、表示モニタ14のモニタサイズを取得する(ステップS905)。ここまでの各ステップは、図20におけるステップS701〜S705と同様でよい。
調整値記録部26は、調整された視差量調整値、ステップS905で取得されたモニタサイズ、及びステップS905で取得されたモニタサイズとは異なる1以上のモニタサイズに対する係数を、ステップS901で選択された画像に関連付けて記録する(ステップS906)。立体感調整を複眼カメラ10bで行う場合、調整値記録部26は、視差量調整値をデフォルト値として記録してもよい。
図24は、画像と、その画像に関連付けて記録される視差量調整値及び他のモニタサイズに対する係数とを示している。ここでは、表示モニタ14のモニタサイズが3インチであるとする。調整値記録部26は、モニタサイズ3インチと、ステップS902で調整された視差量調整値「左目用画像−6,右目用画像+8」とをファイルのヘッダに記録する。また、調整値記録部26は、3インチ以外のモニタサイズに対する係数をファイルのヘッダに記録する。
複眼カメラ10bには、自身の表示モニタ14のモニタサイズとは異なるモニタサイズに対する係数が事前に設定されているとする。例えば自身のモニタサイズが3インチのとき、5インチ、10インチ、15インチのそれぞれに対する係数が事前に設定されている。調整値記録部26は、その設定情報を参照して、各モニタサイズに対する係数を記録する。図24の例では、モニタサイズ5インチに対して係数0.75、10インチに対して係数0.5、15インチに対して係数0.25がそれぞれ設定されており、調整値記録部26は、3インチに対する視差量調整値と共に、各モニタサイズに対する係数をファイルのヘッダに記録する。
或いは上記に代えて、複眼カメラ10bに、モニタサイズの変化に対する係数を設定しておき、その設定情報を用いて各モニタサイズに対する係数を決定してもよい。例えば、複眼カメラ10bに、サイズ差が2インチであれば係数0.75、サイズ差が7インチであれば係数0.5、サイズ差が12インチであれば係数0.25という情報を設定しておく。この場合、自身のモニタサイズが3インチであるとすれば、調整値記録部26は、5インチに対する係数0.75、10インチに対する係数0.5、15インチに対する係数0.25を、3インチに対する視差量調整値と共にファイルのヘッダに記録すればよい。
なお、画像の保存形式は任意であり、例えば図7Bに示すように左目用画像と右目用画像とでファイルが分かれていてもよい。また、画像と視差量調整値との関連付けは任意であり、例えば図7C〜図7Eに示すように、視差量調整値を画像とは別のファイルで管理してもよい。画像に関連付けて複数の視差量調整値を記録する場合、視差量調整値のうちの一部は、デフォルト値などからの差分として表されていてもよい。視差量調整値に加えて、代表値算出部28が求めた視差量調整値の平均値を更に記録してもよい。
図25は、画像表示時の動作手順を示している。ここでも複眼カメラ10bの動作手順として説明するが、表示装置でも動作手順は同様である。ユーザは、記録媒体23に記録された画像の中から1つを選択する(ステップS1001)。或いは複眼カメラ10bが記録媒体23に記録された画像の中から任意の1つを選択してもよい。モニタサイズ取得部30は、表示モニタ14のモニタサイズを取得する(ステップS1002)。
立体感制御部24は、記録媒体23から、ステップS1001で選択された画像に関連付けて記録された視差量調整値を読み出す(ステップS1003)。立体感制御部24は、読み出した視差量調整値がステップS1002で取得されたモニタサイズでの調整値であるか否かを判断する(ステップS1004)。立体感制御部24は、取得されたモニタサイズでの調整値であると判断すると、立体視用画像生成部25に読み出した視差量調整値を設定する(ステップS1005)。立体視用画像生成部25は、設定された視差量調整値で立体視用画像を生成する。表示処理部27は、立体視用画像を表示モニタ14に表示する(ステップS1009)。
立体感制御部24は、ステップS1004において、取得されたモニタサイズでの調整値ではないと判断すると、視差量調整値と共に記録媒体23に記録された係数を読み出す(ステップS1006)。立体感制御部24は、ステップS1006では、視差量調整値と共に記録された係数のうち、ステップS1002で取得されたモニタサイズに対する係数を読み出す。立体感制御部24は、該当するモニタサイズに対する係数が存在しない場合は、最も近いモニタサイズに対する係数を読み出してもよい。
立体感制御部24は、ステップS1003で読み出した視差量調整値に、ステップS1005で読み出した係数を乗じる(ステップS1007)。視差量調整値に係数を乗じた値が小数を含む場合は、例えば視差五入や切り捨て、切り上げなどの適切な数学的処理で値を整数化すればよい。立体感制御部24は、係数を乗じた視差量調整値を立体視用画像生成部25に設定する(ステップS1008)。立体視用画像生成部25は、設定された視差量調整値で立体視用画像を生成する。その後、ステップS1009へ進み、表示処理部27は、立体視用画像を表示モニタ14に表示する。
例えば、記録媒体23に図24に示す画像ファイル及び視差量調整値が記録されている場合を考える。立体感制御部24は、ステップS1003において、「左目用画像−6,右目用画像+8」の視差量調整値を読み出す。この視差量調整値はモニタサイズ3インチでの調整値である。立体感制御部24は、ステップS1002でモニタサイズ取得部30が取得したモニタサイズが3インチであれば、ステップS1004からステップS1005へ進み、立体視用画像生成部25に読み出した視差量調整値を設定する。
仮に、ステップS1002でモニタサイズ取得部30が取得したモニタサイズが5インチであったとすると、立体感制御部24は、ステップS1004からステップS1006へ進んで、モニタサイズ5インチに対する係数0.75を読み出す。立体感制御部24は、ステップS1007で視差量調整値に係数を乗じ、ステップS1008でその値を視差量調整値として立体視用画像生成部25に設定する。この場合、モニタサイズ5インチに対する係数は1よりも小さな値であるため、ステップS1009ではモニタサイズ3インチでの視差量調整値よりも小さい視差量で、画像が表示されることになる。
具体的には、立体感制御部24は、左目用画像のモニタサイズ3インチでの視差量調整値は−6に、モニタサイズ5インチに対する係数は0.75を乗じ、その値を整数化した値(−4)を左目用画像の視差量調整値とする。また、立体感制御部24は、右目用画像のモニタサイズ3インチでの視差量調整値+8に、モニタサイズ5インチ対する係数0.75を乗じ、その値(+6)を右目用画像の視差量調整値とする。
本実施形態では、立体感調整時の表示モニタ14のモニタサイズと画像表示時のモニタサイズとが異なるときは、視差量調整値に係数を乗じた値を視差量調整値として使用する。例えば観察時のモニタサイズが立体感調整時のモニタサイズよりも大きいときは、1より小さな値の係数を視差量調整値に乗じることで、視差量調整値をそのまま使用する場合に比して立体感を弱めて画像を表示できる。逆に、観察時のモニタサイズが立体感調整時のモニタサイズよりも小さいときは、1より大きな値の係数を視差量調整値に乗じることで、視差量調整値をそのまま使用する場合に比して、立体感を強めて画像を表示することが可能である。本実施形態では、立体感調整時と表示時とモニタサイズが異なるときでも、立体感調整時にユーザが好ましいと感じる立体感で画像表示を行うことができる。
なお、本実施形態において、異なる2つのモニタサイズにて立体感調整を行った場合、画像に関連付けて2つの視差量調整値を記録すると共に、それぞれについて他のモニタサイズに対する係数を記録してもよい。例えば、モニタサイズ3インチの表示モニタ14で立体感調整を行ったときに、「調整値1(3インチ)、係数は5インチは0.75、10インチは0.5、15インチは0.25」という情報を画像に関連付けて記録する。その後、モニタサイズ10インチの表示モニタ14で立体感調整を行ったときは、上記のモニタサイズ3インチでの調整値及び係数に加えて、「調整値2(10インチ)、係数は3インチは2、5インチは1.5、15インチは0.5」という情報を画像に関連付けて記録してもよい。
上記のケースで、画像表示を行う際にモニタサイズが3インチであれば調整値1を視差量調整値とし、モニタサイズが10インチであれば調整値2を視差量調整値とすればよい。表示時のモニタサイズに該当する調整値が記録されていないときに、調整値1に係数を乗じた値を調整値とするか、或いは調整値2に係数を乗じた値を調整値とするかは任意に選択できる。
例えば、視差量の変化が少ない方の調整値を選択してもよい。具体的に、表示モニタ14のモニタサイズが5インチのとき、調整値1と調整値1×0.75との差と、調整値2と調整値2×1.5との差とを比較し、差が小さい方の調整値を選択してもよい。このような選択を行う理由は、劇的な視差量の変化は観察するユーザの目に良いとは限らないためである。変化が少ない方の調整値を選択することで、ユーザの目の負担を軽減できる効果がある。
上記で選択できないとき、或いは上記に代えて、視差量の値(絶対値)が小さい方を選択してもよい。具体的に、表示モニタ14のモニタサイズが5インチのとき、調整値1×0.75と、調整値2×1.5とを比較し、絶対値が小さい方の調整値を選択してもよい。これは、視差量が大きい方の調整値を選択すると、視差量が大きくなりすぎる可能性があるためである。視差量の値が小さい方を選択することで、視差量が大きくなりすぎることを回避できる。
続いて、本発明の第8実施形態を説明する。図26は、第8実施形態の複眼カメラの内部構成を示している。本実施形態の複眼カメラ10cは、図19に示す第6実施形態の複眼カメラ10bの構成に加えて、パラメータ算出部31を備える。複眼カメラ10cの外観は図1A及び図1Bに示す第1実施形態の複眼カメラ10の外観と同様でよい。本実施形態は、撮影部を持たない表示装置に適用することも可能である。すなわち、図6Bに示す表示装置50にパラメータ算出部を追加した構成とすることもできる。
パラメータ算出部31は、立体感調整が行われたときに立体視用画像が表示された表示モニタのモニタサイズと視差量感調整値とに基づいて、モニタサイズから視差量調整値を推定するための推定式のパラメータを求める。推定式には、例えばモニタサイズと視差量調整値との関係を表す一次式を用いることができる。本実施形態では、調整値記録部26は、パラメータ算出部31で求められたパラメータを画像に関連付けて記録する。
図27は、推定式の一例を示している。横軸(x)はモニタサイズを表し、縦軸(y)は視差量調整値を表す。モニタサイズと視差量調整値との関係(推定式)を、例えばy=ax+bで表わすとする。この場合、パラメータ算出部31が求めるパラメータは、傾きaと、切片bとになる。パラメータ算出部31は、例えば異なる2つのモニタサイズで調整された視差量調整値に基づいて傾きaと切片bとを計算する。推定式は一次式には限定されず、より高次の推定式を用いることも可能である。
立体感制御部24は、画像の表示時に、画像が表示される表示モニタ14のモニタサイズをモニタサイズ取得部30から取得する。立体感制御部24は、表示する多視点画像に関連付けて記録された推定式のパラメータを記録媒体23から読み出す。立体感制御部24は、読み出した推定式のパラメータとモニタサイズとに基づいて視差量調整値を決定する。
ここで、推定式のパラメータとモニタサイズとに基づいて計算上求まる視差量調整値が、立体感調整時の視差量調整値に対して逆視となることも考えられる。例えばユーザが立体感調整において視差量0に対して立体感が強くなるように視差量を調整したのに対し、計算上求まる視差量調整値が視差量0に対して立体感を弱くするものであることもあり得る。そのような場合は、計算上求まる視差量調整値に代えて、視差量0を視差量調整値としてもよい。
図28は、立体感調整の際の動作手順を示している。ここでは複眼カメラ10cの動作手順として説明するが、表示装置でも動作手順は同様である。ユーザは、記録媒体23に記録された画像の中から1つを選択する(ステップS1101)。或いは複眼カメラ10cが記録媒体23に記録された画像の中から任意の1つを選択してもよい。立体視用画像生成部25は、選択された画像に基づいて立体視用画像を生成し、表示処理部27は、立体視用画像を表示モニタ14に表示する。ステップS1101で選択された画像に関連付けて既に視差量調整値が記録されているとき、立体感制御部24は、記録媒体23から視差量調整値を読み出し、立体視用画像生成部25に設定してもよい。
立体感制御部24は、ステップS1101で選択された画像の立体感調整を行う(ステップS1102)。立体視用画像生成部25は、立体感制御部24が調整した視差量で立体視用画像を生成する。表示処理部27は、立体視用画像を表示モニタ14に表示する(ステップS1103)。立体感制御部24は、ユーザが調整のやり直しを指示したときは、それまでの調整を破棄して、視差量調整値を初期状態に戻してもよい。このとき戻る視差量調整値の初期状態は、視差量調整値のデフォルト値でよい。
立体感制御部24は、ユーザが調整終了を指示したか否かを判断する(ステップS1104)。調整終了でない場合はステップS1102に戻り、立体感調整を継続する。調整終了の場合、モニタサイズ取得部30は、表示モニタ14のモニタサイズを取得する(ステップS1105)。ここまでの各ステップは、図20におけるステップS701〜S705と同様でよい。
パラメータ算出部31は、調整された視差量調整値と、ステップS1105で取得されたモニタサイズとに基づいて、推定式のパラメータを計算する(ステップS1106)。パラメータ算出部31は、ステップS1106では、記録媒体23から以前の立体感調整における視差量調整値及びモニタサイズを読み出し、読み出した視差量調整値及びモニタサイズを利用して推定式のパラメータを計算してもよい。例えば、今回の立体感調整における視差量調整値がy1でモニタサイズがx1であり、以前の立体感調整における視差量調整値がy2でモニタサイズがx2であったとする。この場合、パラメータ算出部31は、点(x1,y2)と点(x2,y2)とを通る直線を求め、その直線の傾きとy切片とを推定式のパラメータとすればよい。
調整値記録部26は、ステップS1106で求められた推定式のパラメータを、ステップS1101で選択された画像に関連付けて記録する(ステップS1107)。このとき、調整値記録部26は、調整された視差量調整値とモニタサイズとを更に画像に関連付けて記録してもよい。立体感調整を複眼カメラ10cで行う場合、調整値記録部26は、視差量調整値をデフォルト値として記録してもよい。
ここで、推定式に一次式を用いる場合、傾きaと切片bとを求めるためには、少なくとも2つのモニタサイズで調整された視差量調整値が必要である。初回の立体感調整では、以前の立体感調整における視差量調整値が存在しないため、傾きaと切片bとを求めることができない。初回の調整では、ステップS1106をスキップし、ステップS1107において視差量調整値及びモニタサイズを画像に関連付けて記録してもよい。或いは、パラメータのうちの1つ、例えば傾きaの初期値を決めておき、ステップS1106において、視差量調整値とモニタサイズと傾きの初期値とから切片bを計算し、ステップS1107において、傾きa(初期値)と求めた切片bとを画像に関連付けて記録してもよい。
図29は、画像と、その画像に関連付けて記録されるパラメータとを示している。ここでは、調整値記録部26は、例えば推定式のパラメータとして傾きa及び切片bの値をファイルのヘッダに記録する。推定式のパラメータに対して初期値を与えておく場合、記録されるパラメータは、初期値からの差分として表されていてもよい。
なお、画像の保存形式は任意であり、例えば図7Bに示すように左目用画像と右目用画像とでファイルが分かれていてもよい。また、画像と視差量調整値との関連付けは任意であり、例えば図7C〜図7Eに示すように、視差量調整値を画像とは別のファイルで管理してもよい。画像に関連付けて複数の視差量調整値を記録する場合、視差量調整値のうちの一部は、デフォルト値などからの差分として表されていてもよい。視差量調整値に加えて、代表値算出部28が求めた視差量調整値の平均値を更に記録してもよい。
図30は、画像表示時の動作手順を示している。ここでも複眼カメラ10cの動作手順として説明するが、表示装置でも動作手順は同様である。ユーザは、記録媒体23に記録された画像の中から1つを選択する(ステップS1201)。或いは複眼カメラ10cが記録媒体23に記録された画像の中から任意の1つを選択してもよい。モニタサイズ取得部30は、表示モニタ14のモニタサイズを取得する(ステップS1202)。
立体感制御部24は、記録媒体23から、ステップS1201で選択された画像に関連付けて記録された推定式のパラメータを読み出す(ステップS1203)。立体感制御部24は、読み出したパラメータとステップS1202で取得されたモニタサイズとから視差量調整値を求める(ステップS1204)。例えば、立体感制御部24は、推定式のパラメータとして傾きaと切片bとを読み出し、取得されたモニタサイズをXとして、aX+bで計算される値を視差量調整値とする。
立体感制御部24は、ステップS1204で求めた視差量調整値を立体視用画像生成部25に設定する。立体視用画像生成部25は、設定された視差量調整値で立体視用画像を生成する。表示処理部27は、立体視用画像を表示モニタ14に表示する(ステップS1205)。
本実施形態では、立体感調整時に、モニタサイズから視差量調整値を推定するための推定式のパラメータを画像に関連付けて記録する。画像表示時は、推定式のパラメータを読み出し、読み出したパラメータとモニタサイズ取得部30が取得したモニタサイズとから、当該モニタサイズの視差量調整値を推定する。このような構成とすることで、未調整のモニタサイズについても、ユーザが好ましいと感じる立体感で画像表示を行うことができる。
なお、第4及び第5実施形態において、画像の表示順を立体感が弱い順にしてもよい。例えば第4実施形態において、図13のステップS503で読み出した1以上の視差量調整値を立体感が弱い順にソートし、ステップS504において立体感が弱い順に視差量調整値を選択し、同じ画像内で立体感が弱い順に画像が表示されるようにしてもよい。また、第5実施形態において、図17のステップS602で読み出した各画像の視差量調整値を画像ごとに立体感が弱い順にソートし、ステップS605において立体感が弱い順に視差量調整値が選択されるようにしてもよい。画像表示を立体感が弱い順で行うことで、画像を観察するユーザの目の負担を軽減できる効果がある。
第4実施形態では、上記に代えて、表示対象の全ての画像の視差量調整値を立体感が弱い順にソートし、画像の表示を行うことも可能である。例えば、表示対象の各画像の視差量調整値を立体感が弱い順にソートすると共に、各画像の立体感が最も弱い視差量調整値を求める。その視差量調整値を立体感最小視差量調整値と呼ぶ。求めた立体感最小視差量調整値を画像ごとに比較し、表示対象の画像を立体感が弱い順にソートする。具体的に図15において、画像Aの立体感最小視差量調整値が調整値1−1であり、画像Bの立体感最小視差量調整値がデフォルトであり、画像Cの立体感最小視差量調整値が調整値3−1であったとする。この場合、立体感の強さが調整値3−1<調整値1−1<デフォルト(画像B)であれば、画像C、画像A、画像Bの順にソートする。図13のステップS502においてこの順で画像を選択することで、立体感が弱い順に画像を表示することが可能になる。
図13に示すフローチャートでは、ある画像について各視差量調整値で表示を行った後に次の画像の表示に移っているがこれには限定されない。例えば、表示対象の全ての画像の視差量調整値を立体感が弱い順にソートし、立体感が弱い視差量調整値の順に画像を表示していってもよい。具体的に、図15において、立体感の強さが調整値3−1<調整値1−1<デフォルト(画像A)<調整値3−2<デフォルト(画像B)<調整値1−2であれば、図16に示すような画像ごとの表示に代えて、画像C(調整値3−1)、画像A(調整値1−1)、画像A(デフォルト)、画像C(調整値3−2)、画像B(デフォルト)、画像A(調整値1−2)の順で表示を行ってもよい。
上記各実施形態では、複眼カメラ10及び表示装置50が表示モニタ14、51を有している例について説明したが、複眼カメラ10及び表示装置50は必ずしも表示モニタを内蔵していなくてもよい。例えば複眼カメラ10又は表示装置50に接続ケーブルなどを用いて外部モニタを接続し、外部モニタにて画像の立体視表示及びその立体感の調整を行ってもよい。また、複眼カメラ10及び表示装置50が表示モニタ14、51を有する構成においても、複眼カメラ10又は表示装置50に接続ケーブルなどを用いて外部モニタを接続し、外部モニタにて画像の立体視表示及びその立体感の調整を行ってもよい。
以上、本発明をその好適な実施形態に基づいて説明したが、本発明の複眼カメラ、立体画像表示装置、及び立体感調整方法は、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。