(57)【要約】【課題】回転の編集をした後、３Ｄ画像と２Ｄ画像が混在している場合でも、最適な画像表示を行うことができるようにする。【解決手段】回転情報に対応した画像処理を行って３Ｄ画像を表示する画像表示装置において、回転情報があるかないかを判断する有無判断手段と、前記回転情報がある場合に画像が立体表示するための角度である状態から回転されているかを判断する状態判断手段と、前記画像が回転されていれば、回転されているどちらか一方の画像を表示し、前記画像が回転されていなければ２つの画像を使って表示部に立体表示する表示手段とを設け、３Ｄ画像を回転させる処理で、３Ｄ画像を２Ｄ画像にした際に、元の３Ｄ画像に戻すための情報を保存できるようにする。【選択図】図６
2012220840.tif 000002
【特許請求の範囲】
【請求項１】
回転情報に対応した画像処理を行って画像を表示する画像表示装置において、
回転情報があるかないかを判断する有無判断手段と、
前記回転情報がある場合に画像が立体表示するための角度である状態から回転されているかを判断する状態判断手段と、
前記画像が回転されていれば、回転されているどちらか一方の画像を表示し、前記画像が回転されていなければ２つの画像を使って表示部に立体表示する表示手段と、
各部の動作を制御する制御手段とを有することを特徴とする画像表示装置。
【請求項２】
前記回転情報とは、画像の回転角度や回転フラグの情報であって、操作者の回転操作によって追加、変更される情報であることを特徴とする請求項１に記載の画像表示装置。
【請求項３】
前記回転操作は、回転情報を追加、もしくは回転情報を変更する回転情報更新処理と、回転情報を保存する回転情報保存処理を含むことを特徴とする請求項２に記載の画像表示装置。
【請求項４】
前記回転情報更新処理とは、取得した回転情報で書き換えることであることを特徴とする請求項３に記載の画像表示装置。
【請求項５】
前記制御手段は、３Ｄ画像を回転することで２Ｄ画像として扱うと判断した場合に、３Ｄ画像を２Ｄ画像にして表示部に表示するように前記表示手段を制御することを特徴とする請求項１に記載の画像表示装置。
【請求項６】
前記制御手段は、前記回転情報更新処理において、３Ｄ画像を回転することで２Ｄ画像として扱うかどうかの判断は、画像の回転角度で判断するように状態判断手段を制御することを特徴とする請求項３〜５の何れか１項に記載の画像表示装置。
【請求項７】
前記制御手段は、前記回転情報更新処理において、３Ｄ画像を回転することで２Ｄ画像として扱うかどうかの判断は、３Ｄ表示フラグで判断するように状態判断手段を制御することを特徴とする請求項３〜５の何れか１項に記載の画像表示装置。
【請求項８】
前記３Ｄ表示フラグとは、回転した３Ｄ画像を３Ｄ画像として扱うか２Ｄ画像として扱うかどうかを切り替える判断に利用するフラグであることを特徴とする請求項７に記載の画像表示装置。
【請求項９】
前記回転情報保存処理とは、書き換えた回転情報で画像を保存する操作であることを特徴とする請求項３〜８の何れか１項に記載の画像表示装置。
【請求項１０】
前記回転情報保存処理とは、書き換えた回転情報で画像を実体回転して保存する操作であることを特徴とする請求項３〜８の何れか１項に記載の画像表示装置。
【請求項１１】
回転情報に対応した画像処理を行って画像を表示装置に表示する画像表示方法において、
回転情報があるかないかを判断する有無判断工程と、
前記回転情報がある場合に画像が立体表示するための角度である状態から回転されているかを判断する状態判断工程と、
前記画像が回転されていれば、回転されているどちらか一方の画像を表示し、前記画像が回転されていなければ２つの画像を使って前記表示装置に立体表示する表示工程と、
各部の動作を制御する制御工程とを有することを特徴とする画像表示方法。
【請求項１２】
回転情報に対応した画像処理を行って画像を表示装置に表示する画像表示方法の各工程をコンピュータに実行させるプログラムにおいて、
回転情報があるかないかを判断する有無判断工程と、
前記回転情報がある場合に画像が立体表示するための角度である状態から回転されているかを判断する状態判断工程と、
前記画像が回転されていれば、回転されているどちらか一方の画像を表示し、前記画像が回転されていなければ２つの画像を使って前記表示装置に立体表示する表示工程と、
各部の動作を制御する制御工程とをコンピュータに実行させることを特徴とするプログラム。
【請求項１３】
請求項１２に記載のプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像表示装置及び画像表示方法に関し、特に、回転の編集をした後、３Ｄ画像と２Ｄ画像が混在している場合に用いて好適な技術に関する。
【背景技術】
【０００２】
２枚の写真から立体視画像（３Ｄ画像）を作成する方法は、古くより知られている。また、近年、デジタルカメラ用の３Ｄ画像フォーマットが実用化され、３Ｄ画像を撮影することができるデジタルカメラも登場している。３Ｄ画像をブラウズする画像ブラウザも登場している。このような状況により、３Ｄ画像を簡単に回転編集することができる画像編集装置がある（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１５９７５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の画像処理装置では、３Ｄ画像で回転させる編集において立体視可能な状態を維持した編集を行うため、回転可能な角度が１８０度に限定されている。
【０００５】
また、一般的に、１８０度以外の回転を行うためには、立体視画像を左目画像と右目画像に分解し、どちらか一方の画像を回転させることを行っていた。したがって、回転後は３Ｄ画像ではなく、２Ｄ画像となってしまう問題点があった。また、３Ｄ画像を回転させると、その回転角度によって、３Ｄ画像か２Ｄ画像のどちらかに変更されてしまう問題点があった。そのため、３Ｄ画像と２Ｄ画像が混在していた場合に最適な画像表示方法が要望されていた。
本発明は前述の問題点に鑑み、回転の編集をした後、３Ｄ画像と２Ｄ画像が混在している場合でも、最適な画像表示を行うことができるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明の画像表示装置は、回転情報に対応した画像処理を行って画像を表示する画像表示装置において、回転情報があるかないかを判断する有無判断手段と、前記回転情報がある場合に画像が立体表示するための角度である状態から回転されているかを判断する状態判断手段と、前記画像が回転されていれば、回転されているどちらか一方の画像を表示し、前記画像が回転されていなければ２つの画像を使って表示部に立体表示する表示手段と、各部の動作を制御する制御手段とを有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、３Ｄ画像と回転編集後の２Ｄ画像とが混在している場合に、画像が立体視可能であれば３Ｄ表示を行い、立体視不可能であれば２Ｄ表示を行うことが可能となる。これにより、３Ｄ画像と２Ｄ画像とが混在していた場合にユーザに対して最適な画像表示を提供できる。
また、本発明の他の特徴によれば、３Ｄ画像を回転させる編集で２Ｄ画像になっても立体視可能な３Ｄ画像に戻すことができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態でのサムネイル一覧の表示の一例を示す図である。
【図２】本発明の実施形態に係る３Ｄ画像表示装置の構成例を示すブロック図である。
【図３】第１の実施形態のマルチピクチャーファイルのデータ構造を示す図である。
【図４】ＭＰステータスを設定する処理について判断するフローチャートである。
【図５】ＭＰステータスに応じて画像の表示処理を切り替えるフローチャートである。
【図６】立体視表示画面と３Ｄ画像を回転させた２Ｄ表示画面を示す図である。
【図７】任意の回転角度を入力した後の処理について説明するフローチャートである。
【図８】回転編集した３Ｄ画像を立体視可能な３Ｄに戻すフローチャートである。
【図９】第２の実施形態のマルチピクチャーファイルのデータ構造を示す図である。
【図１０】立体視表示画面と３Ｄ画像を回転させた２Ｄ表示画面を示す図である。
【図１１】ＭＰステータスを設定する処理について判断するフローチャートである。
【図１２】３Ｄフラグを切り替える処理を説明するフローチャートである。
【図１３】第３の実施形態のマルチピクチャーファイルのデータ構造を示す図である。
【図１４】ＭＰステータスを設定する処理について判断するフローチャートである。
【図１５】画像を回転させる処理について説明するフローチャートである。
【図１６】回転編集した３Ｄ画像を立体視可能な３Ｄに戻すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明にかかる実施形態を、図面を参照して詳細に説明する。
＜第１の実施形態＞
ここで、本実施形態で扱う画像について説明する。
３Ｄ画像とは、視差を持った２枚の画像を使用して立体視するための画像である。３Ｄ画像を回転させた２Ｄ画像とは、回転編集によって２Ｄ表示となっている画像である。２Ｄ画像とは、立体視を行わない画像である。
【００１０】
本実施形態では、立体視可能な３Ｄ画像の回転編集を行い、立体視ではない通常の画像として回転された画像を表示する動作例と回転編集を元に戻す動作例を示す。回転編集を元に戻す動作というのは、回転情報を立体表示するための角度（正位置）である状態にすることである。
【００１１】
本実施形態における画像の回転処理は、左目画像と右目画像の両方の画像が回転するものとして扱う。また、３Ｄ画像が回転して２Ｄ画像になったときに表示する画像は、常に左目画像を表示することを前提で扱う。さらに、本実施形態で扱う３Ｄ画像は、立体視表示が可能な３Ｄ画像が一回の撮影で作成できるカメラで撮影したマルチピクチャーファイルとする。
【００１２】
マルチピクチャーファイルとは、複数の画像を一つのファイルに入れたマルチピクチャーフォーマットのファイルのことである。作成された３Ｄ画像のマルチピクチャーファイルは、一回の撮影で作成できるため、左目画像と右目画像ともに回転していない。それゆえに、マルチピクチャーファイルに回転角度情報が設定されていない場合でも、回転角度が０°として設定されているものとして扱うことができる。
【００１３】
本実施形態の３Ｄ画像表示装置は、ＰＣ上で動作するアプリケーションで実現される。
図２は、本発明の実施形態に係る３Ｄ画像表示装置の構成例を示すブロック図である。
図２において、２０１はコンピュータ装置２００の全体を制御する制御部であり、例えばCentral Processing Unit（ＣＰＵ）で構成される。２０２は変更を必要としないプログラムやパラメータを格納するRead Only Memory（ＲＯＭ）である。２０３は外部装置などから供給されるプログラムやデータを一時記憶するRandom Access Memory（ＲＡＭ）である。
【００１４】
２０４はコンピュータ装置２００に固定して設置されたハードディスクやメモリカード、あるいはコンピュータ装置２００から着脱可能なフレキシブルディスク（ＦＤ）やＣＤ等の光ディスク、磁気や光カード、ＩＣカードなどを含む外部記憶装置である。
【００１５】
２０５はユーザの操作を受け、データを入力するポインティングデバイスやキーボードなどの入力デバイス２０８とのインターフェイスである。２０６はコンピュータ装置２００の保持するデータや供給されたデータを表示するためのディスプレイ２０９とのインターフェイスである。２０７はインターネット２１０などのネットワーク回線に接続するためのネットワークインタフェイスである。２１１は、制御部２０１〜ネットワークインタフェイス２０７の各ユニットを通信可能に接続するシステムバスである。
【００１６】
外部記憶装置２０４には、後述する３Ｄ画像表示プログラムが制御部２０１に読み取り可能なプログラムコードとして格納されており、このプログラムコードを制御部２０１が実行する構成になっている。外部記憶装置２０４の３Ｄ画像表示プログラムは、回転情報に対応した画像処理方法において、以下の第１のステップ〜第３のステップで構成されている。
【００１７】
すなわち、第１のステップとして、回転情報があるかないかの有無判断を行う有無判断ステップ。また、第２のステップとして、回転情報がある場合に、画像が立体表示するための角度である状態から回転されているかを判断する状態判断ステップ。さらに、第３のステップとして、画像が回転されていれば、回転されているどちらか一方の画像を表示、回転されていなければ２つの画像を使って立体表示する表示ステップである。
【００１８】
次に、前述のように構成された３Ｄ画像表示装置での動作例を説明する。
３Ｄ画像表示プログラムは、起動すると表示部として設けられている図２のディスプレイ２０９の画面上に、図１の画面を表示する。図１は、図２の外部記憶装置２０４の中にある画像のサムネイルが表示された状態となっている。
【００１９】
図１において、１００は、画像のサムネイルと画像の種類を表すアイコンを表示するエリアである。１０１は、プログラムの終了ボタンである。１０２は、画像が３Ｄ表示できることを表すアイコンである。１０３は、３Ｄ画像が回転処理によって２Ｄ表示されることを表すアイコンである。
【００２０】
１０４は、画像のサムネイルである。１０２のアイコンより３Ｄ画像であることが分かる。１０５は、画像のサムネイルである。１０３のアイコンより３Ｄ画像に回転処理が加わり２Ｄ表示されることが分かる。１０６は、画像のサムネイルである。１０２および１０３のアイコンが無いため、３Ｄとは関係ない２Ｄ画像であることが分かる。アイコン１０２、１０３、および画像１０６のアイコンなしを判断するための方法は、後述する。
【００２１】
本実施形態で扱う３Ｄ画像データが入っているマルチピクチャーファイルのデータ構造を図３に示す。
図３のデータ構造について詳細を説明する。
マルチピクチャーファイルの先頭にヘッダー、続いて個別画像１に関連する情報が入る。個別画像１のＥｘｉｆ情報、ＭＰフォーマット付属情報、個別画像１の画像データの順に入っている。
続いて、個別画像２に関連する情報が、個別画像２のＥｘｉｆ情報、ＭＰフォーマット付属情報、個別画像２の画像データの順に入っている。
【００２２】
本実施形態では、マルチピクチャーファイルの個別画像１に、左目画像をいれる。個別画像２には、右目画像をいれる。このように視差のある画像を入れたマルチピクチャーファイルを作成することで、立体視のマルチピクチャーファイルを作成する。
個別画像１のＥｘｉｆ情報には、ＭａｋｅｒＮｏｔｅに左目回転情報が入る。回転情報には、回転角度が入る。個別画像１のＭＰフォーマット付属情報には、ＭＰ種別と視点番号が入る。ＭＰ種別には、立体視、マルチビューなどがある。
【００２３】
個別画像２のＥｘｉｆ情報には、ＭａｋｅｒＮｏｔｅに右目回転情報が入る。回転情報には、回転角度が入る。個別画像２のＭＰフォーマット付属情報には、ＭＰ種別と視点番号が入る。本実施形態では、左目回転情報および、右目回転情報に、同じ回転角度が入る。
【００２４】
マルチピクチャーファイルの画像が、３Ｄ画像、３Ｄ画像を回転させた２Ｄ画像、その他のどの状態の画像なのかを区別するために、ＭＰステータスを定義する。ＭＰステータスには、マルチピクチャーファイルが『３Ｄ画像』か、『３Ｄ画像を回転させた２Ｄ画像』か、『その他』か、という状態が設定される。ＭＰステータスを取得することで、サムネイル画像に、３Ｄ画像か、３Ｄ画像を回転させた２Ｄ画像か、その他を表すアイコンを表示できる。また、画像を表示する際に３Ｄ表示を行うのか、２Ｄ表示を行うかの判断にも利用できる。
【００２５】
ＭＰステータスを設定する処理について、図４のフローチャートで説明する。
Ｓ４０１においては、制御部２０１が、ＭＰ種別を取得する。ＭＰ種別を取得することにより、マルチピクチャーファイルが作成されたときのデータが立体視用のデータかどうか取得することができる。
Ｓ４０２においては、制御部２０１が、Ｓ４０１で取得したＭＰ種別が立体視か判断する。立体視でない場合は、Ｓ４０３に移行する。立体視であった場合は、Ｓ４０４に移行する。
【００２６】
Ｓ４０３においては、ＭＰ種別が立体視ではなかったので、制御部２０１が、ＭＰステータスを、３Ｄ画像とは関係ない『その他』に設定する。
Ｓ４０４においては、制御部２０１が、左目画像および右目画像から回転情報があるかどうか判断する。回転情報があった場合は、Ｓ４０５に移行する。回転情報がなかった場合は、Ｓ４０８に移行する。
【００２７】
Ｓ４０５においては、制御部２０１が、左目画像、右目画像から回転情報を取得する。
Ｓ４０６においては、制御部２０１が、Ｓ４０５で取得した回転情報から左目画像、右目画像が正位置から回転されているか判断する。回転していると判断した場合は、Ｓ４０７に移行する。回転していないと判断した場合は、Ｓ４０８に移行する。
【００２８】
Ｓ４０７においては、制御部２０１が、画像が正位置から回転していたので、ＭＰステータスを『３Ｄ画像を回転させた２Ｄ画像』に設定する。
Ｓ４０８においては、制御部２０１が、画像が正位置から回転していなかったので、ＭＰステータスを『３Ｄ画像』に設定する。本実施形態では、画像が少しでも回転されていた場合、３Ｄ画像を回転させた２Ｄ画像として扱うが、すこし遊びをもたせたような判断でもよい。
【００２９】
前述したようなＭＰステータスを設定する処理が行なわれることにより、図１のサムネイル一覧表示において、ＭＰステータスから画像が３Ｄ表示できることを表すアイコン１０２、３Ｄ画像が回転処理によって２Ｄ表示されることを表すアイコン１０３を表示する。
【００３０】
操作者が入力デバイス２０８を操作し、図１の３Ｄ画像１０４を表示する操作をすることで立体視表示画面、図６（ａ）が表示される。操作者が入力デバイス２０８を操作し、図１の３Ｄ画像１０５を回転させた２Ｄ画像を表示する操作（回転操作と称する）をすることで、３Ｄ画像を回転させた２Ｄ表示画面、図６（ｂ）が表示される。ここで、前述の回転操作により、回転情報を追加、もしくは回転情報を変更する回転情報更新処理と、回転情報を保存する回転情報保存処理が行われる。また、回転情報とは、画像の回転角度や、画像の向きを検出して付与される回転フラグの情報である。
【００３１】
図４のフローチャートで説明した処理で設定したＭＰステータスから、個別画像１の表示、図６（ｂ）の２Ｄ画像表示、図６（ａ）の立体視表示を行う画像の表示処理について図５のフローチャートを参照しながら説明する。
【００３２】
個別画像１の表示は、ＭＰステータスがその他のときの表示で一般的な画像表示方法を行う。
Ｓ５０１においては、制御部２０１が、ＭＰステータスを取得する。ＭＰステータスは、図４のフローチャートで設定した値のことである。
Ｓ５０２においては、制御部２０１が、Ｓ５０２で取得したＭＰステータスが３Ｄ画像かどうかを判断する。ＭＰステータスが３Ｄ画像だった場合は、Ｓ５０８に移行する。ＭＰステータスが３Ｄ画像でなかった場合は、Ｓ５０３に移行する。
【００３３】
Ｓ５０３においては、制御部２０１が、Ｓ５０１で取得したＭＰステータスが３Ｄ画像を回転させた２Ｄ画像かどうかを判断する。ＭＰステータスが３Ｄ画像を回転させた２Ｄ画像だった場合は、Ｓ５０５に移行する。ＭＰステータスが３Ｄ画像を回転させた２Ｄ画像でなかった場合は、Ｓ５０４に移行する。
Ｓ５０４においては、制御部２０１が、ＭＰステータスが３Ｄ画像でも、３Ｄ画像を回転させた２Ｄ画像でもなかった場合の処理ステップで個別画像１を表示する。画像の表示は、一般的な画像の表示方法で行う。
【００３４】
Ｓ５０５〜Ｓ５０７の処理は、ＭＰステータスが３Ｄ画像を回転させた２Ｄ画像と判断した場合の処理で、３Ｄ画像を回転させて２Ｄ画像として左目画像を表示するまでの処理である。
Ｓ５０５においては、制御部２０１が、左目回転情報を取得する。Ｓ５０６においては、制御部２０１が、左目回転情報で左目画像を回転させる。Ｓ５０７においては、制御部２０１が、回転させた左目画像を２Ｄ画像として表示する。この処理で、図６（ｂ）が表示される。
Ｓ５０８は、ＭＰステータスが３Ｄ画像の場合の処理ステップであり、立体視表示する。この処理ステップで、図６（ａ）が表示される。
【００３５】
図６は、本実施形態での立体視表示画面と、３Ｄ画像を回転させた２Ｄ表示画面とを示した図である。
図６の詳細について説明する。図６（ａ）は、３Ｄ画像の立体視表示をした例である。図６（ａ）の６−ａ１０は、画像やボタンが表示される領域である。図６（ａ）の６−ａ２０は、表示中の画像を閉じるためのボタンである。図６（ａ）の６−ａ３０は、立体視の方法（平行法、交差法）にあわせて、左目画像と、右目画像のうちどちらかが、適切に配置される。図６（ａ）の６−ａ４０は、立体視の方法（平行法、交差法）にあわせて、左目画像と、右目画像のうちどちらかが、適切に配置される。
【００３６】
図６（ａ）の６−ａ５０は、画像を回転させる編集を開始する回転ボタンである。操作者が入力デバイス２０８を操作し、このボタン６−ａ５０を押すことにより、制御部２０１が回転させる角度を入力するダイアログを表示する。操作者が入力デバイス２０８を操作し、任意の回転角度を入力することにおいては、制御部２０１が画像を回転させる処理を行う。
【００３７】
図６（ａ）の６−ａ６０は、左目画像のみの表示に切り替えるボタンである。画像の表示は、一枚の画像を表示する一般的な表示方法で行う。図６（ａ）の６−ａ７０は、右目画像のみの表示に切り替えるボタンである。画像の表示は、一枚の画像を表示する一般的な表示方法で行う。
【００３８】
図６（ｂ）は、３Ｄ画像を回転させて２Ｄ表示をした例である。
図６（ｂ）の６−ｂ１０は、画像やボタンが表示される領域である。図６（ｂ）の６−ｂ２０は、表示中の画像を閉じるためのボタンである。図６（ｂ）の６−ｂ３０は、３Ｄ画像を回転させた画像のため、左目画像を回転した２Ｄ画像である。図６（ｂ）の６−ｂ４０は、画像を回転させる編集を開始する回転ボタンである。
【００３９】
操作者が入力デバイス２０８を操作し、このボタン６−ｂ４０を押すことにより、制御部２０１が回転させる角度を入力するダイアログを表示する。操作者が入力デバイス２０８を操作し、任意の回転角度を入力することにおいては、制御部２０１が画像を回転させる処理を行う。
【００４０】
図６（ｂ）の６−ｂ５０は、回転をする前の３Ｄ画像に戻して表示するための３Ｄ表示ボタンである。図６（ｂ）の６−ｂ６０は、表示されていない右目画像を左目画像と並べて表示するためのボタンである。このボタンを押すことで、表示されていない他方の画像を表示することができる。操作者が、入力デバイス２０８を操作し、回転ボタン６−ａ５０、回転ボタン６−ｂ４０角度を入力した後の処理と、３Ｄ表示ボタン図６（ｂ）の６−ｂ５０を押した後の処理は、後述する。
【００４１】
次に、図７のフローチャートを参照しながら、操作者が、入力デバイス２０８を操作し、回転ボタン６−ａ５０および回転ボタン６−ｂ４０で任意の回転角度を入力した後の処理について説明する。
【００４２】
Ｓ７０１においては、制御部２０１が、図６（ａ）の回転ボタン６−ａ５０および図６（ｂ）の回転ボタン６−ｂ４０を操作者が入力デバイス２０８を操作し押した後、入力された回転角度を取得する。
Ｓ７０２においては、制御部２０１が、画像にすでに回転情報があるかどうかを判断する。画像に回転情報があった場合は、Ｓ７０４に移行する。画像に回転情報がなかった場合は、Ｓ７０３に移行する。
【００４３】
Ｓ７０３においては、制御部２０１が、画像にＳ７０１で取得した回転情報を追加する。Ｓ７０４においては、制御部２０１が、画像にすでに設定されている回転情報を取得する。
Ｓ７０５においては、制御部２０１が、画像に設定されている回転情報からさらに、Ｓ７０１で取得した回転角度を加えた後の回転角度が何度になるか算出する。Ｓ７０６においては、制御部２０１が、Ｓ７０５で算出した回転角度で画像の回転情報更新処理を行う。ここで、Ｓ７０７においては、制御部２０１が、回転情報を編集した結果を保存する回転情報保存処理を行う。Ｓ７０８においては、制御部２０１が、編集した画像を再読み込みする。
【００４４】
前述のように、画像を再読み込みすることで、追加、更新した回転情報を画像から読み込むことができる。画像を再読み込み後、図４と図５のフローチャートで説明した処理を行うことで、画像を２Ｄ表示にするか３Ｄ表示にするか判断される。３Ｄ画像が正位置から回転されていれば２Ｄ表示、３Ｄ画像が正位置から回転されていなければ３Ｄ表示が行われる。
【００４５】
次に、図８のフローチャートを参照しながら、操作者が、入力デバイス２０８を操作し、図６（ｂ）の３Ｄ表示ボタン６−ｂ５０を押したときの処理について説明する。
Ｓ８０１においては、制御部２０１が、回転情報を３Ｄ可能な情報に更新する。本実施形態では、回転情報が無い状態もしくは、回転角度が０°で３Ｄになる画像を扱っているので、回転情報の削除、または、回転情報に０°を設定することである。
【００４６】
Ｓ８０２においては、制御部２０１が、回転情報を編集した結果を保存する処理である。
Ｓ８０３においては、制御部２０１が、編集した画像を再読み込みする。画像の再読み込み後、図４と図５のフローチャートで説明した処理を行うことで３Ｄ表示が行われる。
【００４７】
前述の処理によって、回転編集をした３Ｄ画像が混在した場合に、（イ）３Ｄ画像を３Ｄ表示、（ロ）３Ｄ画像を回転させた２Ｄ画像の２Ｄ表示、（ハ）３Ｄ画像を回転させた２Ｄ画像を３Ｄ画像に戻して表示、をすることができるようになる。
本実施形態では、画像の回転処理は、左目画像と右目画像の両方の画像が回転するものとして扱ったがどちらか一方のみ回転するようにして実施する構成でもよい。
【００４８】
本実施形態では、ＥｘｉｆのＭａｋｅｒＮｏｔｅに回転情報として回転角度を設定するように構成した。しかし、回転角度を９０°単位で限定すれば、左目回転情報、右目回転情報ではなく、左目画像のＥｘｉｆのOrientation、右目画像のＥｘｉｆのOrientationで実施する構成にしてもよい。
【００４９】
今回は、回転情報を用いる構成としたが、回転処理をすべて実体回転で実現する前提であれば、画像の回転時に、左目回転情報と右目回転情報の更新とともに左目画像、右目画像の実体回転を行う。元の３Ｄ画像に戻すときは、左目回転情報と右目回転情報から元に戻すための回転角度を算出し左目画像、右目画像の実体回転を行うことで実現できる。
【００５０】
画像の回転情報を左目画像、右目画像に追加・更新したが、どちらか一方の画像のみに追加するように実現してもよい。２Ｄ表示のときは、左目画像のみを使用したが右目画像のみを使用してもよいし、左目画像と右目画像の両方を表示するようにしてもよい。
また、複数の画像を一つのファイルとして扱えるマルチピクチャーフォーマットで説明したが、立体視できるファイルの組み合わせに関する関連情報を持たせたファイルで実現してもよい。関連情報ではなく、ファイル名で関連が分かるようにして実現してもよい。
【００５１】
＜第２の実施形態＞
第１の実施形態において、一回の撮影で３Ｄ画像が撮影できるカメラで撮影したマルチピクチャーファイルを回転して２Ｄ画像で表示後、元の３Ｄ画像に戻す例を示した。立体視をする方法が画像を左右に並べて立体視する表示例であったため、少しでも回転させると立体視できなくなる画像として扱った。
【００５２】
それに対して、本実施形態では、視差を持った２つの画像が立体で図２のディスプレイ２０９上に表示される３Ｄ画像表示装置の実施形態を説明する。
立体表示ができるディスプレイ２０９上で、回転編集を扱うので画像を回転させた角度によって、立体表示ができているかできていないかを操作者がディスプレイ２０９の表示をみて判断することが容易である。
【００５３】
少ない回転角度の場合に３Ｄ表示を行うことを可能とするために、３Ｄで表示を行うか行わないかを表す３Ｄ表示フラグを持たせる。この３Ｄ表示フラグを任意に設定することで、３Ｄ表示をできる画像、３Ｄ表示できない画像を切り替えることができる構成とする。
【００５４】
本実施形態で扱う３Ｄ画像データが入っているマルチピクチャーファイルのデータ構造を図９に示す。
図３で示したデータ構造に、個別画像１のＥｘｉｆ付属情報の、ＭａｋｅｒＮｏｔｅに３Ｄ表示フラグを追加した構造である。３Ｄ表示フラグ以外は、図３と同じである。
【００５５】
本実施形態での３Ｄ画像表示プログラムは、起動すると図２のディスプレイ２０９上に、図１の画面を表示する。図１は、図２の外部記憶装置２０４の中にある画像のサムネイルが表示された状態となっている。
【００５６】
操作者が入力デバイス２０８を操作し、図１の１０４の３Ｄ画像を表示する操作をすることで立体表示画面、図１０（ａ）が表示される。
操作者が入力デバイス２０８を操作し、図１の１０５の３Ｄ画像を回転させた２Ｄ画像を表示する操作をすることで３Ｄ画像を回転させた２Ｄ表示画面、図１０（ｂ）が表示される。
【００５７】
以下、立体表示画面である図１０（ａ）と、３Ｄ画像を回転させた２Ｄ表示画面である図１０（ｂ）について説明する。
図１０（ａ）は、３Ｄ画像を３Ｄ表示できるディスプレイ２０９上に立体表示をした例である。視差を持った２枚の画像から一つの３Ｄ画像としてディスプレイ２０９上に表示されている。
【００５８】
図１０（ａ）において１０−ａ１０は、画像やボタンが表示される領域である。図１０（ａ）の１０−ａ２０は、表示中の画像を閉じるためのボタンである。１０−ａ３０は、３Ｄ画像として表示されていることを示す３Ｄアイコンである。表示されているアイコンは、図１１のフローチャートで設定されたＭＰステータスにより変化する。ここでは、表示されている画像のＭＰステータスが、３Ｄ画像として判断されて３Ｄアイコンが表示されている。図１１のフローチャートの詳細は、後述する。
【００５９】
１０−ａ４０は、視差を持った２つの画像から作成された３Ｄ画像である。１０−ａ５０は、画像を回転させる編集を開始する回転ボタンである。このボタンの動作は、図６（ａ）の６−ａ５０の回転ボタンと同じ動作が行われる。回転処理は、図８のフローチャートによって処理される。１０−ａ６０は、画像を３Ｄとして表示するか、２Ｄ表示するかを切り替えるための３Ｄ-２Ｄ切り替えボタンである。
【００６０】
図１０（ｂ）は、３Ｄ画像を回転させて２Ｄ表示をした例を示す図である。
図１０（ｂ）において、１０−ｂ１０は、画像やボタンが表示される領域である。１０−ｂ２０は、表示中の画像を閉じるためのボタンである。１０−ｂ３０は、３Ｄ画像を回転させて２Ｄ表示となっていることを示すアイコンである。
【００６１】
表示されているアイコンは、図１１のフローチャートで取得されたＭＰステータスにより変化する。ここでは、表示されている画像のＭＰステータスが、３Ｄ画像を回転させた２Ｄ画像として判断されて３Ｄ画像を回転させた２Ｄ画像を示すアイコンが表示されている。図１１のフローチャートの詳細は、後述する。
【００６２】
１０−ｂ４０は、３Ｄ画像を回転させて２Ｄ画像として表示されている画像である。１０−ｂ５０は、画像を回転させる編集を開始する回転ボタンである。このボタンの動作は、図６（ａ）の６−ａ５０の回転ボタンと同じ動作が行われる。回転処理は、図８のフローチャートに示した手順によって処理される。１０−ｂ６０は、画像を３Ｄとして表示するか、２Ｄ表示するかを切り替えるための３Ｄ-２Ｄ切り替えボタンである。
【００６３】
以下、図１１のフローチャートを参照しながら、ＭＰステータスを取得する処理について説明する。すなわち、図１の画像が３Ｄ表示できることを表すアイコン１０２、３Ｄ画像が回転処理によって２Ｄ表示されることを表すアイコン１０３。図１０（ａ）の表示。図１０（ａ）の３Ｄ画像として表示されていることを示す３Ｄアイコン１０−ａ３０、図１０（ｂ）の表示、図１０（ｂ）の３Ｄ画像を回転させて２Ｄ表示となっていることを示すアイコン１０−ｂ３０の表示を判断するＭＰステータスを取得する処理を説明する。
【００６４】
Ｓ１１０１においては、制御部２０１が、ＭＰ種別を取得する。ＭＰ種別は、マルチピクチャーファイルが作成されたときのデータが立体視用のデータかどうか取得することができる。
Ｓ１１０２においては、制御部２０１が、Ｓ１１０１で取得したＭＰ種別が立体視か判断する。立体視でない場合は、Ｓ１１０３に移行する。立体視であった場合は、Ｓ１１０４に移行する。
【００６５】
Ｓ１１０３においては、制御部２０１が。ＭＰ種別が立体視ではなかったので、ＭＰステータスを、３Ｄ画像とは関係ない『その他』に設定する。
Ｓ１１０４においては、制御部２０１が、３Ｄ表示フラグがあるかどうかを判断する。３Ｄ表示フラグがあった場合は、Ｓ１１０５に移行する。３Ｄ表示フラグがなかった場合は、Ｓ１１０７に移行する。
【００６６】
Ｓ１１０５においては、制御部２０１が、３Ｄ表示フラグがＯｎかどうか判断する。３Ｄ表示フラグがＯｎであった場合Ｓ１１０８に移行する。３Ｄ表示フラグがＯｎでなかった場合（３Ｄ表示フラグがＯｆｆ）、Ｓ１１０６に移行する。
Ｓ１１０６においては、制御部２０１が、３Ｄ表示フラグがＯｆｆだったので、ＭＰステータスを『３Ｄ画像を回転させた２Ｄ画像』に設定する。
【００６７】
Ｓ１１０７においては、３Ｄ表示フラグが無かったので、制御部２０１が３Ｄ表示フラグをＯｎとして追加する。
Ｓ１１０８においては、３Ｄ表示フラグがＯｎだったので、制御部２０１がＭＰステータスを『３Ｄ画像』に設定する。
【００６８】
図１２のフローチャートは、図１０（ａ）の１０−ａ６０の３Ｄ-２Ｄ切り替えボタン、図１０（ｂ）の１０−ｂ６０の３Ｄ-２Ｄ切り替えボタンを押すことで行なわれる３Ｄ表示フラグを切り替える処理を説明するフローチャートである。
【００６９】
以下、図１２のフローチャートについて、その詳細を説明する。
Ｓ１２０１においては、制御部２０１が、現在の３Ｄ表示フラグを取得する処理である。
Ｓ１２０２においては、制御部２０１が、３Ｄ表示フラグがＯｎかどうかを判断する。３Ｄ表示フラグがＯｎであった場合は、Ｓ１２０３に移行する。３Ｄ表示フラグがＯｎでなかった場合は、Ｓ１２０４に移行する。
【００７０】
Ｓ１２０３においては、制御部２０１が、３Ｄ表示フラグをＯｎからＯｆｆに変更する。３Ｄ表示フラグをＯｆｆにすることで、３Ｄ画像を回転させたため２Ｄ表示する画像として扱うようになる。
Ｓ１２０４においては、制御部２０１が、３Ｄ表示フラグをＯｆｆからＯｎに変更する。３Ｄ表示フラグをＯｎにすることで、３Ｄ画像として扱うようになる。
【００７１】
Ｓ１２０５においては、制御部２０１が、３Ｄ表示フラグの編集内容を保存する。
Ｓ１２０６においては、制御部２０１が、編集した画像を再読み込みする。画像を再読み込みすることで、変更した３Ｄ表示フラグを画像から読み込むことができる。
【００７２】
画像を再読み込みした後、図１１のフローチャートの処理で判断したＭＰステータスから３Ｄ画像を回転させた２Ｄ表示にするか３Ｄ表示にするかを判断する。
次に、図５のフローチャートで説明した処理を実行し、図５のＳ５０７の処理ステップで、図１０（ｂ）の表示を行う。また、図５のＳ５０８の処理ステップで、図１０（ａ）の表示を行う。
【００７３】
前述の処理によって、回転編集をした３Ｄ画像が混在した場合に、（イ）３Ｄ画像を３Ｄ表示、３Ｄ画像の回転角度によって、（ロ）３Ｄで表示するかしないかを切り替えて表示、をすることができるようになる。
【００７４】
また、３Ｄ表示フラグを用意したことで、３Ｄ画像を回転させた場合にある程度の回転を許容して３Ｄ画像として表示できるようになる。
本実施形態では、操作者が、３Ｄ表示をするかどうかを表す３Ｄ表示フラグを切り替えることができる構成としたが、プログラム上で回転角度によって３Ｄ表示フラグを切り替える構成にしてもよい。
【００７５】
＜第３の実施形態＞
第１の実施形態において、１回の撮影で３Ｄ画像が撮影できるカメラで撮影したマルチピクチャーファイルを回転して表示する例を扱った。本実施形態では、２回の撮影で視差を持った２つの画像を撮影し、それを一つのマルチピクチャーファイルとして作成した画像を扱う。２回の撮影は、それぞれ縦位置で撮影されている。
【００７６】
それぞれの画像には次の回転情報が付加されている。左目回転情報に回転角度が９０°、右目用画像として回転情報に回転角度が２７０°で撮影されたとする。本実施形態では、左目画像、右目画像ともに同じ縦位置での撮影だが、構え方の違いで異なる回転角度になっているものとする。左目画像と右目画像に異なる回転角度が設定されているため、画像を回転処理すると正位置に戻せなくなるので、左目撮影時回転情報と右目撮影時回転情報を左目画像と右目画像のそれぞれのＥｘｉｆのＭａｋｅｒＮｏｔｅに追加する。左目撮影時回転情報と右目撮影時回転情報とは、３Ｄ撮影時に正位置をなすことができる角度を設定する。本実施形態では、左目撮影時回転情報に９０°と右目撮影時回転情報に２７０°が設定される。
【００７７】
本実施形態における画像の回転処理は、左目画像と右目画像の両方の画像が回転するものとして扱う。
図１３は、本実施形態で扱う３Ｄ画像データが入っているマルチピクチャーファイルのデータ構造を示している。図３で示したデータ構造に、図３から個別画像１のＥｘｉｆ情報付属情報のＭａｋｅｒＮｏｔｅに左目撮影時回転情報と、個別画像２のＥｘｉｆ情報付属情報のＭａｋｅｒＮｏｔｅに右目撮影時回転情報を追加した構造である。
左目撮影時回転情報と右目撮影時回転情報以外は、図３と同じである。
【００７８】
本実施形態での３Ｄ画像表示プログラムは、起動すると図２のディスプレイ２０９上に、図１の画面を表示する。図１は、図２の外部記憶装置２０４の中にある画像のサムネイルが表示された状態となっている。
【００７９】
操作者が入力デバイス２０８を操作し、図１の１０２の３Ｄ画像を表示する操作をすることで立体視表示画面、図６（ａ）が表示される。操作者が入力デバイス２０８を操作し、図１の１０３の３Ｄ画像を回転させた２Ｄ画像を表示する操作をすることで３Ｄ画像を回転させた２Ｄ表示画面、図６（ｂ）が表示される。立体視表示画面、図６（ａ）と、３Ｄ画像を回転させた２Ｄ表示画面、図６（ｂ）を表示のどちらかを判断するＭＰステータスを取得するまでの処理について図１４のフローチャートで説明する。
【００８０】
図１４のフローチャートは、ＭＰステータスを取得する手順を説明するフローチャートである。取得したＭＰステータスから、図５のフローチャートで説明した処理を実行する。これにより、図１の画像が３Ｄ表示できることを表すアイコン１０２、３Ｄ画像が回転処理によって２Ｄ表示されることを表すアイコン１０３、図６（ａ）の立体視表示、図６（ｂ）３Ｄ画像を回転させた２Ｄ表示を判断する。
【００８１】
以下、図１４のフローチャートについて、その詳細を説明する。
Ｓ１４０１においては、制御部２０１が、ＭＰ種別を取得する。ＭＰ種別は、マルチピクチャーファイルが作成されたときのデータが立体視用のデータかどうか取得することができる。
【００８２】
Ｓ１４０２においては、制御部２０１が、Ｓ１４０１で取得したＭＰ種別が立体視か判断する。立体視でない場合は、Ｓ１４０３に移行する。立体視であった場合は、Ｓ１４０４に移行する。
Ｓ１４０３においては、制御部２０１が、ＭＰ種別が立体視ではなかったので、ＭＰステータスを、３Ｄ画像とは関係ない『その他』に設定する。
Ｓ１４０４においては、制御部２０１が、左目画像から左目撮影時回転情報を取得する。
【００８３】
Ｓ１４０５においては、制御部２０１が、左目画像から左目回転情報を取得する。
Ｓ１４０６においては、制御部２０１が、Ｓ１４０４とＳ１４０５で取得した左目撮影時回転情報と左目回転情報を比較する。
Ｓ１４０７においては、制御部２０１が、Ｓ１４０６で比較した結果が同じかどうか判断する。同じと判断した場合は、Ｓ１４０８に移行する。同じでないと判断した場合は、Ｓ１４１３に移行する。
【００８４】
Ｓ１４０８においては、制御部２０１が、右目画像から右目撮影時回転情報を取得する。
Ｓ１４０９においては、制御部２０１が、右目画像から右目回転情報を取得する。
Ｓ１４１０においては、制御部２０１が、Ｓ１４０８とＳ１４０９で取得した右目撮影時回転情報と右目回転情報を比較する。
【００８５】
Ｓ１４１１においては、制御部２０１が、Ｓ１４１０で比較した結果が同じかどうか判断する。同じと判断した場合は、Ｓ１４１２に移行する。同じでないと判断した場合は、Ｓ１４１３に移行する。
Ｓ１４１２においては、制御部２０１が、画像が正位置から回転していなかったので、ＭＰステータスを『３Ｄ画像』に設定する。
Ｓ１４１３においては、制御部２０１が、画像が正位置から回転していたのでＭＰステータスを『３Ｄ画像を回転させた２Ｄ画像』に設定する。
【００８６】
次に、図１５のフローチャートを参照しながら、画像を回転させる処理について説明する。
Ｓ１５０１においては、制御部２０１が、図６（ａ）の回転ボタン６−ａ５０および図６（ｂ）の回転ボタン６−ｂ４０を操作者が押した後、入力した回転角度を取得する。
Ｓ１５０２においては、制御部２０１が、左目画像の左目回転情報を取得する。
【００８７】
Ｓ１５０３においては、制御部２０１が、Ｓ１５０２で取得した左目回転情報からＳ１５０１で取得した回転角度を回転させた場合何度の回転角度になるのか算出する。
Ｓ１５０４においては、制御部２０１が、Ｓ１５０３で算出した回転角度で左目回転情報を更新する。
Ｓ１５０５においては、制御部２０１が、右目画像の右目回転情報を取得する。
【００８８】
Ｓ１５０６においては、制御部２０１が、Ｓ１５０５で取得した右目回転情報からＳ１５０１で取得した回転角度を回転させた場合何度の回転角度になるのか算出する。
Ｓ１５０７においては、制御部２０１が、Ｓ１５０６で算出した回転角度で右目回転情報を更新する。
Ｓ１５０８においては、制御部２０１が、更新した左目回転情報と右目回転情報を保存する。
【００８９】
Ｓ１５０９においては、制御部２０１が、編集した画像を再読み込みする。画像を再読み込みすることで、追加、更新した回転情報を画像から読み込むことができる。画像を再読み込み後、図１４と図５のフローチャートの処理を行うことで画像を２Ｄ表示にするか３Ｄ表示にするか判断される。３Ｄ画像が正位置から回転されていれば２Ｄ表示、３Ｄ画像が正位置から回転されていなければ３Ｄ表示が行われる。
【００９０】
図６（ｂ）の６−ｂ５０で、操作者が入力デバイス２０８を操作して３Ｄ表示ボタンを押すことで３Ｄに戻すことができきる。回転させた画像を元の３Ｄに戻す処理について、図１６のフローチャートを用いて説明する。ここで行われる処理は、左目画像と右目画像を正位置にするための処理である。
【００９１】
Ｓ１６０１においては、制御部２０１が、左目撮影時回転情報を取得する。
Ｓ１６０２においては、制御部２０１が、左目回転情報を左目撮影時回転情報で更新して書き換える。
Ｓ１６０３においては、制御部２０１が、右目撮影時回転情報を取得する。
Ｓ１６０４においては、制御部２０１が、右目回転情報を右目撮影時回転情報で更新して書き換える。
【００９２】
Ｓ１６０５においては、制御部２０１が、更新した、左目回転情報と右目回転情報を保存するとともに、編集内容を保存する。
Ｓ１６０６においては、制御部２０１が、編集した画像を再読み込みする。画像を再読み込みすることで、更新した回転情報を画像から読み込むことができる。更新した回転情報は、Ｓ１６０１からＳ１６０５の処理で、左目撮影時回転情報と左目回転情報が同じ値になっている。同様に、右目撮影時回転情報と右目回転情報も同じ値になっている。画像を再読み込み後、図１４と図５のフローチャートで説明した処理を行うことで、３Ｄ表示されると判断される。
【００９３】
前述の処理によって、３Ｄ画像を撮影したときに、左目画像と右目画像で異なる回転角度となっている３Ｄ画像で回転編集をした３Ｄ画像が混在した場合に、以下のような表示を行うことができる。すなわち、（イ）３Ｄ画像を３Ｄ表示、（ロ）３Ｄ画像を回転させた２Ｄ画像の２Ｄ表示、（ハ）３Ｄ画像を回転させた２Ｄ画像を３Ｄ画像に戻して表示、をすることができるようになる。
【００９４】
本実施形態では、左目撮影時回転情報と右目撮影時回転情報が異なる例で説明した。しかし、左目撮影時回転情報と右目撮影時回転情報が同じ値であるならば、どちらか一方の撮影時回転情報を個別画像１および個別画像２のどちらかのＭａｋｅｒＮｏｔｅに入れて実現してもよい。
【００９５】
また、第１の実施形態と同様に回転角度を９０°単位で限定すれば、左目回転情報、右目回転情報ではなく、左目画像のＥｘｉｆのOrientation、右目画像のＥｘｉｆのOrientationで実施する構成にしてもよい。さらに、画像の回転処理は、左目画像と右目画像の両方の画像が回転するものとして扱ったが、どちらか一方のみ回転するようにして実施する構成でもよい。
【００９６】
また、第１の実施形態と同様に、回転処理をすべて実体回転で実現する前提であれば、画像の回転時に、左目回転情報と右目回転情報の更新とともに左目画像、右目画像の実体回転を行っても実現できる。
【００９７】
（その他の実施形態）
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
【００９８】
また、本発明は、以下の処理を実行することによっても実現される。即ち、前述した実施形態の機能を実現するソフトウェア（コンピュータプログラム）を、ネットワーク又は各種のコンピュータ読み取り可能な記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する。
【図１】
2012220840.tif 000003
【図２】
2012220840.tif 000004
【図３】
2012220840.tif 000005
【図４】
2012220840.tif 000006
【図５】
2012220840.tif 000007
【図６】
2012220840.tif 000008
【図７】
2012220840.tif 000009
【図８】
2012220840.tif 000010
【図９】
2012220840.tif 000011
【図１０】
2012220840.tif 000012
【図１１】
2012220840.tif 000013
【図１２】
2012220840.tif 000014
【図１３】
2012220840.tif 000015
【図１４】
2012220840.tif 000016
【図１５】
2012220840.tif 000017
【図１６】
2012220840.tif 000018