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