(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-26
(45)【発行日】2024-03-05
(54)【発明の名称】電子機器、電子機器の制御方法、プログラムおよび記憶媒体
(51)【国際特許分類】
G06T 13/20 20110101AFI20240227BHJP
G06T 19/00 20110101ALI20240227BHJP
【FI】
G06T13/20
G06T19/00 A
(21)【出願番号】P 2020040817
(22)【出願日】2020-03-10
【審査請求日】2023-03-07
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110002860
【氏名又は名称】弁理士法人秀和特許事務所
(72)【発明者】
【氏名】佐藤 歩
【審査官】益戸 宏
(56)【参考文献】
【文献】特開2018-139096(JP,A)
【文献】特開2012-160950(JP,A)
【文献】特開2018-151979(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 13/20
G06T 19/00
H04N 23/00
(57)【特許請求の範囲】
【請求項1】
第1の画像の少なくとも一部である第1の範囲を画面に表示するよう制御し、ユーザーの操作にしたがって、前記第1の範囲を変更して前記画面に順に表示するよう制御する表示制御手段と、
前記第1の範囲を示す位置情報、前記第1の範囲に含まれる被写体の種別および前記第1の範囲の順序を含むプリセット情報を、記憶手段に記憶するように制御する記憶制御手段と
を有し、
前記表示制御手段は、
前記記憶手段に記憶した前記プリセット情報を
前記第1の画像とは異なる第2の画像に対して適用し、
前記第2の画像のうち前記プリセット情報の前記位置情報と対応する第2の範囲を前記プリセット情報の前記順序にしたがって前記画面に順に表示するよう制御し、
前記プリセット情報の前記被写体の種別と対応する被写体が前記第2の範囲に含まれるかどうかにしたがって、前記画面に表示される前記第2の範囲を変更するように制御する
ことを特徴とする電子機器。
【請求項2】
前記
表示制御手段は、
前記プリセット情報の前記被写体の種別と対応する被写体が前記プリセット情報の前記位置情報と対応する前記第2の範囲に含まれていない場合であって、
前記第2の画像に当該被写体が含まれている場合には、当該被写体が含まれる
ように変更された第2の範囲
を前記画面に表示するよう制御する
ことを特徴とする請求項1に記載の電子機器。
【請求項3】
前記ユーザーの操作にしたがって、前記第1の範囲の座標および大きさのうち少なくとも一方が変更される
ことを特徴とする請求項1または2に記載の電子機器。
【請求項4】
前記位置情報は、
座標および大きさのうち少なくとも1つを含み、
前記
表示制御手段は、
前記座標および前記大きさのうち少なくとも1つを変更することにより前記第2の範囲を変更するように制御する
ことを特徴とする請求項
1乃至3のいずれか1項に記載の電子機器。
【請求項5】
前記プリセット情報は、前記種別の被写体が前記第1の範囲で占める面積の割合を示す情報をさらに含み、
前記
表示制御手段は、
前記プリセット情報の前記割合と、
前記第2の範囲で前記種別の被写体が占める面積の割合とが一致するように、
前記第2の範囲を前記画面に表示するよう制御する
ことを特徴とする請求項
1乃至4のいずれか1項に記載の電子機器。
【請求項6】
前記プリセット情報は、前記第1の範囲での前記種別の被写体の相対的な位置を示す情報をさらに含み、
前記
表示制御手段は、
前記プリセット情報の相対的な位置と、前記第2の
範囲における
前記種別の被写体の相対的な位置とが一致するように、
前記第2の範囲を前記画面に表示するよう制御する
ことを特徴とする請求項
1乃至5のいずれか1項に記載の電子機器。
【請求項7】
前記プリセット情報は、
さらに前記種別
の被写体の数の情
報を含み、
前記
表示制御手段は、
前記プリセット情報が示す数の前記種別の被写体が含まれるように変更された前記第2の範囲を前記画面に表示するよう制御する
ことを特徴とする請求項
1乃至6のいずれか1項に記載の電子機器。
【請求項8】
前記被写体の種
別は、人物、人物の部分、動物、乗り物
および文字列の
うち少なくとも1つ
を含む
ことを特徴とする請求項
1乃至7のいずれか1項に記載の電子機器。
【請求項9】
前記被写体の種別を示す情報は、前記第1の画像から抽出されたエッジの形状の情報であ
る
ことを特徴とする請求項
1乃至7のいずれか1項に記載の電子機器。
【請求項10】
前記第1の画像と前記第2の画像とは、全天球画像であ
る
ことを特徴とする請求項1乃至
9のいずれか1項に記載の電子機器。
【請求項11】
前記表示制御手段は、さらにユーザーによる選択にしたがって、前記画面に表示される前記第2の範囲を変更するように制御する
ことを特徴とする請求項1乃至10のいずれか1項に記載の電子機器。
【請求項12】
前記
表示制御手段は、
ユーザーによる選択にしたがって、前記記憶手段に記憶した前記プリセット情報を、前記第2の画像に対して適用す
る
ことを特徴とする請求項1乃至1
1のいずれか1項に記載の電子機器。
【請求項13】
前記
表示制御手段は、
さらに、
前記プリセット情報が示す種別の被写体を含む複数の第2の画像を一覧表示し、
前記複数の第2の画像それぞれについて、
ユーザーによる選択にしたがって、前記記憶手段に記憶した前記プリセット情報を適用す
る
ことを特徴とする請求項1
2に記載の電子機器。
【請求項14】
前記記憶制御手段は、前記第2の範囲が変更されたとき、前記変更された第2の範囲を示す位置情報に基づいて前記プリセット情報の位置情報を上書き保存するように制御することを特徴とする請求項1乃至13のいずれか1項に記載の電子機器。
【請求項15】
前記プリセット情報は、複数の
第1の範囲の間で
の遷移の情報をさらに含み、
前記
表示制御手段は、前記遷移の情報に基づき
、複数の
第2の範囲の間にアニメーション表示を行って、前記複数の第2の範囲を、前記
順序で表示するように表示手段を制御す
る
ことを特徴とする請求項1乃至1
4のいずれか1項に記載の電子機器。
【請求項16】
前記第2の画像は静止画であり、
前記第2の画像のうち複数の第2の範囲と対応する複数の部分画像を順に表示する動画ファイルを生成する生成手段をさらに有する
ことを特徴とする請求項1乃至15のいずれか1項に記載の電子機器。
【請求項17】
第1の画像の少なくとも一部である第1の範囲を画面に表示するよう制御し、ユーザーの操作にしたがって、前記第1の範囲を変更して前記画面に順に表示するよう制御する表示制御工程と、
前記第1の範囲を示す位置情報、前記第1の範囲に含まれる被写体の種別および前記第1の範囲の順序を含むプリセット情報を、記憶手段に記憶するように制御する記憶制御工程と
を有し、
前記表示制御工程では、
前記記憶手段に記憶した前記プリセット情報を
前記第1の画像とは異なる第2の画像に対して適用し、
前記第2の画像のうち前記プリセット情報の前記位置情報と対応する第2の範囲を前記プリセット情報の前記順序にしたがって前記画面に順に表示するよう制御し、
前記プリセット情報の前記被写体の種別と対応する被写体が前記第2の範囲に含まれるかどうかにしたがって、前記画面に表示される前記第2の範囲を変更するように制御する
ことを特徴とする電子機器の制御方法。
【請求項18】
コンピュータを、請求項1乃至1
6のいずれか1項に記載された電子機器の各手段として機能させるためのプログラム。
【請求項19】
コンピュータを、請求項1乃至1
6のいずれか1項に記載された電子機器の各手段として機能させるためのプログラムを格納したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子機器、電子機器の制御方法、ブログラムおよび記憶媒体に関する。
【背景技術】
【0002】
近年、全方位画像、全天球画像といった、人間の視野角より広い範囲の映像を持つ画像を撮影することが可能な撮像装置が普及している。また、このような広い範囲の映像を持つ画像の一部をディスプレイに表示し、撮像装置の姿勢の変化に追従してディスプレイに表示する映像の範囲(表示範囲)を変更することで、没入感や臨場感の高い表示を行う方法も知られている。
【0003】
特許文献1では、全天球画像に対する視点の動きや表示倍率などの視点情報をユーザーが設定することで、視点情報に応じて全天球画像をアニメーション表示する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1では、1つの全天球画像に対して適用した視点情報を他の全天球画像にも適用しようとした場合に、ユーザーの意図通りのアニメーション表示されないことがあった。
【0006】
そこで、本発明は、1つの画像に対してアニメーション表示するために適用させた情報を適切に、他の画像のアニメーション表示に用いることができる技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の1つの態様は、
第1の画像の少なくとも一部である第1の範囲を画面に表示するよう制御し、ユーザーの操作にしたがって、前記第1の範囲を変更して前記画面に順に表示するよう制御する表示制御手段と、
前記第1の範囲を示す位置情報、前記第1の範囲に含まれる被写体の種別および前記第1の範囲の順序を含むプリセット情報を、記憶手段に記憶するように制御する記憶制御手段と
を有し、
前記表示制御手段は、
前記記憶手段に記憶した前記プリセット情報を前記第1の画像とは異なる第2の画像
に対して適用し、前記第2の画像のうち前記プリセット情報の前記位置情報と対応する第2の範囲を前記プリセット情報の前記順序にしたがって前記画面に順に表示するよう制御し、
前記プリセット情報の前記被写体の種別と対応する被写体が前記第2の範囲に含まれるかどうかにしたがって、前記画面に表示される前記第2の範囲を変更するように制御する
ことを特徴とする電子機器である。
【発明の効果】
【0008】
1つの画像に対してアニメーション表示するために適用させた情報を適切に、他の画像のアニメーション表示に用いることができる。
【図面の簡単な説明】
【0009】
【
図6】画像再生処理および視点登録処理を示すフローチャートである。
【
図7】アニメーション表示処理を示すフローチャートである。
【
図8】メニューおよび管理テーブルを示す図である。
【発明を実施するための形態】
【0010】
以下、図面を参照して本発明の好適な実施形態を説明する。
図1(A)に電子機器であるデジタルカメラ100(撮像装置)の前面斜視図(外観図)を示す。
図1(B)にデジタルカメラ100の背面斜視図(外観図)を示す。デジタルカメラ100は、全方位カメラ(全天球カメラ)である。
【0011】
バリア102aはデジタルカメラ100の前方を撮影範囲としたカメラ部aのための撮影レンズ103aの保護窓である。撮影レンズ103a自体の外側の面であってもよい。カメラ部aはデジタルカメラ100の前側の上下左右180度以上の広範囲を撮影範囲とする広角カメラである。バリア102bはデジタルカメラの後方を撮影範囲としたカメラ部bのための撮影レンズ103bの保護窓である。撮影レンズ103b自体の外側の面であってもよい。カメラ部bはデジタルカメラ100の後ろ側の上下左右180度以上の広範囲を撮影範囲とする広角カメラである。
【0012】
表示部28は各種情報を表示する表示部である。シャッターボタン61は撮影指示を行うための操作部である。モード切替スイッチ60は各種モードを切り替えるための操作部である。接続I/F25は、スマートフォン、パーソナルコンピュータ、テレビなどの外部機器と接続するための接続ケーブルとデジタルカメラ100とのコネクタである。操作部70はユーザーからの各種操作を受け付ける各種スイッチ、ボタン、ダイヤル、タッチセンサ等の操作部材より成る操作部である。電源スイッチ72は、電源オン、電源オフを切り替えるための押しボタンである。
【0013】
発光部21は発光ダイオード(LED)などの発光部材であり、デジタルカメラ100の各種状態を発光パターンや発光色によってユーザーに通知する。固定部40は例えば三脚ネジ穴であり、三脚などの固定器具に固定して設置するための部材である。
【0014】
図2は、デジタルカメラ100の構成例を示すブロック図である。バリア102aは、デジタルカメラ100の、撮影レンズ103aを含むカメラ部aの撮像系を覆うことにより、撮影レンズ103a、シャッター101a、撮像部22aを含む撮像系の汚れや破損を防止する。撮影レンズ103aはズームレンズ、フォーカスレンズを含むレンズ群であり、広角レンズである。シャッター101aは、撮像部22aへの被写体光の入射量を調整する絞り機能を備えるシャッターである。撮像部22aは光学像を電気信号に変換するCCDやCMOS素子等で構成される撮像素子である。A/D変換器23aは、撮像部22aから出力されるアナログ信号をデジタル信号に変換する。
【0015】
バリア102bは、デジタルカメラ100の、撮影レンズ103bを含むカメラ部bの撮像系を覆うことにより、撮影レンズ103b、シャッター101b、撮像部22bを含む撮像系の汚れや破損を防止する。撮影レンズ103bはズームレンズ、フォーカスレンズを含むレンズ群であり、広角レンズである。シャッター101bは、撮像部22bへの被写体光の入射量を調整する絞り機能を備えるシャッターである。撮像部22bは光学像を電気信号に変換するCCDやCMOS素子等で構成される撮像素子である。A/D変換器23bは、撮像部22bから出力されるアナログ信号をデジタル信号に変換する。
【0016】
撮像部22a、撮像部22bにより、VR画像が撮像される。VR画像とは、VR表示
をすることのできる画像であるものとする。VR画像には、全方位カメラ(全天球カメラ)で撮像した全方位画像(全天球画像)や、表示手段に一度に表示できる表示範囲より広い映像範囲(有効映像範囲)を持つパノラマ画像などが含まれるものとする。VR画像には、静止画だけでなく、動画やライブビュー画像(カメラからほぼリアルタイムで取得した画像)も含まれる。VR画像は、最大で上下方向(垂直角度、天頂からの角度、仰角、俯角、高度角)360度、左右方向(水平角度、方位角度)360度の視野分の映像範囲(有効映像範囲)を持つ。また、VR画像は、上下360度未満、左右360度未満であっても、通常のカメラで撮影可能な画角よりも広い広範な画角(視野範囲)、あるいは、表示手段に一度に表示できる表示範囲より広い映像範囲(有効映像範囲)を持つ画像も含むものとする。例えば、左右方向(水平角度、方位角度)360度、天頂(zenith)を中心とした垂直角度210度の視野分(画角分)の被写体を撮影可能な全天球カメラで撮影された画像はVR画像の一種である。このVR画像をVR表示(表示モード:「VRビュー」で表示)すると、左右回転方向に表示装置の姿勢を変化させることで、左右方向(水平回転方向)には継ぎ目のない全方位の映像を視聴することができる。上下方向(垂直回転方向)には、真上(天頂)から見て±105度の範囲では継ぎ目のない全方位の映像を視聴することができるが、真上から105度を超える範囲は映像が存在しないブランク領域となる。また、例えば、左右方向(水平角度、方位角度)180度、水平方向を中心とした垂直角度180度の視野分(画角分)の被写体を撮影可能なカメラで撮影された画像はVR画像の一種である。すなわち、上下方向と左右方向にそれぞれ160度(±80度)以上の視野分の映像範囲を有しており、人間が一度に視認できる範囲よりも広い映像範囲を有している画像はVR画像の一種である。VR画像は、「映像範囲が仮想空間(VR空間)の少なくとも一部である画像」とも言える。
【0017】
VR表示(VRビュー)とは、VR画像のうち、表示装置の姿勢に応じた視野範囲の映像を表示する、表示範囲を変更可能な表示方法(表示モード)である。表示装置であるヘッドマウントディスプレイ(HMD)を装着して視聴する場合には、ユーザーの顔の向きに応じた視野範囲の映像を表示することになる。例えば、VR画像のうち、ある時点で左右方向に0度(特定の方位、例えば北)、上下方向に90度(天頂から90度、すなわち水平)を中心とした視野角(画角)の映像を表示しているものとする。この状態から、表示手段の姿勢を表裏反転させると(例えば、表示面を南向きから北向きに変更すると)、同じVR画像のうち、左右方向に180度(逆の方位、例えば南)、上下方向に90度(水平)を中心とした視野角の映像に、表示範囲が変更される。ユーザーがHMDを視聴している場合で言えば、ユーザーが顔を北から南に向ければ(すなわち後ろを向けば)、HMDに表示される映像も北の映像から南の映像に変わるということである。このようなVR表示によって、ユーザーに、視覚的にあたかもVR画像内(VR空間内)のその場にいるような感覚を提供することができる。VRゴーグル(ヘッドマウントアダプター)に装着されたスマートフォンは、HMDの一種と言える。なお、VR画像の表示方法は上記に限るものではなく、姿勢の変化ではなく、タッチパネルや方向ボタンなどに対するユーザー操作に応じて、表示範囲を移動(スクロール)させてもよい。VR表示(VRビューモード)での表示時にも、姿勢変化による表示範囲の変更に加え、タッチパネルへのタッチムーブ操作やマウスなどの操作部材に対するドラッグ操作に応じても表示範囲を変更できるようにしてもよい。
【0018】
画像処理部24は、A/D変換器23a,A/D変換器23bからのデータ、又は、メモリ制御部15からのデータに対し所定の画素補間、縮小といったリサイズ処理や色変換処理を行う。また、画像処理部24では、撮像した画像データを用いて所定の演算処理を行う。画像処理部24により得られた演算結果に基づいてシステム制御部50が露光制御、測距制御を行う。これにより、TTL(スルー・ザ・レンズ)方式のAF(オートフォーカス)処理、AE(自動露出)処理、EF(フラッシュプリ発光)処理が行われる。画像処理部24では更に、撮像した画像データを用いて所定の演算処理を行い、得られた演
算結果に基づいてTTL方式のAWB(オートホワイトバランス)処理を行う。また、画像処理部24は、A/D変換器23a,A/D変換器23bから得られた2つの画像(魚眼画像)に基本の画像処理を施した後、合成(繋ぎ画像処理)して単一のVR画像を生成する。2つの画像の繋ぎ画像処理では、画像処理部24は、2つの画像それぞれにおいて、パターンマッチング処理によりエリア毎に基準画像と比較画像のずれ量を算出し、繋ぎ位置を検出する。そして、検出した繋ぎ位置と各光学系レンズ特性を考慮して、画像処理部24は、2つの画像をそれぞれ幾何学変換により歪み補正し、全天球イメージ形式に変換する。この2つの全天球イメージ形式の画像をブレンドすることで、画像処理部24は、最終的に1つの全天球画像(VR画像)を生成する。生成された全天球画像(VR画像)は、例えば正距円筒図法を用いた画像となり、各画素の位置が球体の表面の座標と対応づけることが可能となる。また、ライブビューでのVR表示時、あるいは再生時には、VR画像をVR表示するための画像切り出し処理、拡大処理、歪み補正等を行いメモリ32のVRAMへ描画するレンダリングも行う。
【0019】
A/D変換器23からの出力データは、画像処理部24及びメモリ制御部15を介して、或いは、メモリ制御部15を介してメモリ32に書き込まれる。メモリ32は、撮像部22によって得られA/D変換器23によりデジタルデータに変換された画像データや、接続I/F25から外部のディスプレイに出力するための画像を格納する。メモリ32は、所定枚数の静止画像や所定時間の動画像および音声を格納するのに十分な記憶容量を備えている。
【0020】
また、メモリ32は画像表示用のメモリ(ビデオメモリ)を兼ねている。メモリ32に格納されている画像表示用のデータは、接続I/F25から外部のディスプレイに出力することが可能である。撮像部22a、22bで撮像され、画像処理部24で生成されたVR画像であって、メモリ32に蓄積されたVR画像を外部ディスプレイに逐次転送して表示することで、電子ビューファインダとして機能し、ライブビュー表示(LV表示)を行える。以下、ライブビューで表示される画像をLV画像と称する。また、メモリ32に蓄積されたVR画像を、通信部54を介して無線接続された外部機器(スマートフォンなど)に転送し、外部機器側で表示することでもライブビュー表示(リモートLV表示)を行える。
【0021】
不揮発性メモリ56は、電気的に消去・記録可能な記録媒体としてのメモリであり、例えばEEPROM等が用いられる。不揮発性メモリ56には、システム制御部50の動作用の定数、プログラム等が記憶される。ここでいう、プログラムとは、本実施形態にて後述する各種フローチャートを実行するためのコンピュータプログラムのことである。
【0022】
システム制御部50は、少なくとも1つのプロセッサまたは回路を有する制御部であり、デジタルカメラ100全体を制御する。前述した不揮発性メモリ56に記録されたプログラムを実行することで、後述する本実施形態の各処理を実現する。システムメモリ52には、例えばRAMが用いられる。システムメモリ52には、システム制御部50の動作用の定数、変数、不揮発性メモリ56から読み出したプログラム等が展開される。また、システム制御部50はメモリ32、画像処理部24、メモリ制御部15を制御することにより表示制御も行う。
【0023】
システムタイマー53は各種制御に用いる時間や、内蔵された時計の時間を計測する計時部である。
【0024】
モード切替スイッチ60、シャッターボタン61、操作部70はシステム制御部50に各種の動作指示を入力するための操作手段である。モード切替スイッチ60は、システム制御部50の動作モードを静止画記録モード、動画撮影モード、再生モード、通信接続モ
ード等のいずれかに切り替える。静止画記録モードに含まれるモードとして、オート撮影モード、オートシーン判別モード、マニュアルモード、絞り優先モード(Avモード)、シャッター速度優先モード(Tvモード)、プログラムAEモードがある。また、撮影シーン別の撮影設定となる各種シーンモード、カスタムモード等がある。モード切替スイッチ60より、ユーザーは、これらのモードのいずれかに直接切り替えることができる。あるいは、モード切替スイッチ60で撮影モードの一覧画面に一旦切り換えた後に、表示部28に表示された複数のモードのいずれかを選択し、他の操作部材を用いて切り替えるようにしてもよい。同様に、動画撮影モードにも複数のモードが含まれていてもよい。
【0025】
第1シャッタースイッチ62は、デジタルカメラ100に設けられたシャッターボタン61の操作途中、いわゆる半押し(撮影準備指示)でONとなり第1シャッタースイッチ信号SW1を発生する。第1シャッタースイッチ信号SW1により、AF(オートフォーカス)処理、AE(自動露出)処理、AWB(オートホワイトバランス)処理、EF(フラッシュプリ発光)処理等の撮影準備動作を開始する。
【0026】
第2シャッタースイッチ64は、シャッターボタン61の操作完了、いわゆる全押し(撮影指示)でONとなり、第2シャッタースイッチ信号SW2を発生する。システム制御部50は、第2シャッタースイッチ信号SW2により、撮像部22からの信号読み出しから記録媒体108に画像データを書き込むまでの一連の撮影処理の動作を開始する。
【0027】
なお、シャッターボタン61は全押しと半押しの2段階の操作ができるものに限るものではなく、1段階の押下だけができる操作部材であってもよい。その場合、1段階の押下によって撮影準備動作と撮影処理が連続して行われる。これは、半押しと全押しが可能なシャッターボタンをいわゆる全押しした場合と同じ動作(SW1とSW2がほぼ同時に発生した場合の動作)である。
【0028】
操作部70の各操作部材は、表示部28に表示される種々の機能アイコンや選択肢を選択操作することなどにより、場面ごとに適宜機能が割り当てられ、各種機能ボタンとして作用する。機能ボタンとしては、例えば終了ボタン、戻るボタン、画像送りボタン、ジャンプボタン、絞込みボタン、属性変更ボタン等がある。例えば、メニューボタンが押されると各種の設定可能なメニュー画面が表示部28に表示される。利用者は、表示部28に表示されたメニュー画面を見ながら操作部70を操作することで、直感的に各種設定を行うことができる。
【0029】
電源制御部80は、電池検出回路、DC-DCコンバータ、通電するブロックを切り替えるスイッチ回路等により構成され、電池の装着の有無、電池の種類、電池残量の検出を行う。また、電源制御部80は、その検出結果及びシステム制御部50の指示に基づいてDC-DCコンバータを制御し、必要な電圧を必要な期間、記録媒体108を含む各部へ供給する。電源部30は、アルカリ電池やリチウム電池等の一次電池やNiCd電池やNiMH電池、Li電池等の二次電池、ACアダプター等からなる。
【0030】
記録媒体I/F18は、メモリーカードやハードディスク等の記録媒体108とのインターフェースである。記録媒体108は、撮影された画像を記録するためのメモリーカード等の記録媒体であり、半導体メモリや光ディスク、磁気ディスク等から構成される。記録媒体108は、デジタルカメラ100に着脱可能な交換記録媒体でもよいし、内蔵の記録媒体であってもよい。
【0031】
通信部54は、無線または有線ケーブルによって接続し、映像信号や音声信号等の送受信を行う。通信部54は無線LAN(Local Area Network)やインターネットとも接続可能である。通信部54は撮像部22a,撮像部22bで撮像した画像
(LV画像を含む)や、記録媒体108に記録された画像を送信可能であり、また、外部機器から画像やその他の各種情報を受信することができる。
【0032】
姿勢検知部55は重力方向に対するデジタルカメラ100の姿勢を検知する。姿勢検知部55で検知された姿勢に基づいて、撮像部22で撮影された画像が、デジタルカメラ100を横に構えて撮影された画像であるか、縦に構えて撮影された画像であるかを判別可能である。また、ヨー、ピッチ、ローの3軸方向にどの程度傾けた姿勢で撮影された画像であるか判別可能である。システム制御部50は、姿勢検知部55で検知された姿勢に応じた向き情報を撮像部22a、22bで撮像されたVR画像の画像ファイルに付加したり、画像を回転(傾き補正するように画像の向きを調整)して記録したりすることが可能である。姿勢検知部55としては、加速度センサー、ジャイロセンサー、地磁気センサー、方位センサー、高度センサーなどを1つ以上組み合わせて用いることができる。姿勢検知部55である、加速度センサー、ジャイロセンサー、方位角センサーを用いて、デジタルカメラ100の動き(パン、チルト、持ち上げ、静止しているか否か等)を検知することも可能である。
【0033】
マイク20は、VR画像の動画の音声として記録されるデジタルカメラ100の周囲の音声を集音するマイクロフォンである。
【0034】
接続I/F25は、外部機器と接続して映像の送受信を行うための、HDMI(商標)ケーブルやUSBケーブルなどとの接続プラグである。
【0035】
図3(A)に、電子機器の一種である表示制御装置200の外観図の例を示す。ディスプレイ205は画像や各種情報を表示する表示部である。ディスプレイ205は後述するようにタッチパネル206aと一体的に構成されており、ディスプレイ205の表示面へのタッチ操作を検出できるようになっている。表示制御装置200は、VR画像(VRコンテンツ)をディスプレイ205においてVR表示することが可能である。操作部206には図示のようにタッチパネル206a、操作部206b、206c、206d、206eが含まれる。操作部206bは表示制御装置200の電源のオンとオフを切り替える操作を受け付ける電源ボタンである。操作部206cと操作部206dは音声出力部212から出力する音声のボリュームを増減するボリュームボタンである。操作部206eは、ディスプレイ205にホーム画面を表示させるためのホームボタンである。音声出力端子212aはイヤホンジャックであり、イヤホンや外部スピーカーなどに音声を出力する探知である。スピーカー212bは音声を発音する本体内蔵スピーカーである。
【0036】
図3(B)に、表示制御装置200の構成の一例を示す。表示制御装置200は、スマートフォンなどの表示装置を用いて構成可能なものである。内部バス250に対してCPU201、メモリ202、不揮発性メモリ203、画像処理部204、ディスプレイ205、操作部206、記憶媒体I/F207、外部I/F209、及び、通信I/F210が接続されている。また、内部バス250に対して音声出力部212と姿勢検出部213も接続されている。内部バス250に接続される各部は、内部バス250を介して互いにデータのやりとりを行うことができるようにされている。
【0037】
CPU201は、表示制御装置200の全体を制御する制御部であり、少なくとも1つのプロセッサまたは回路からなる。メモリ202は、例えばRAM(半導体素子を利用した揮発性のメモリなど)からなる。CPU201は、例えば不揮発性メモリ203に格納されるプログラムに従い、メモリ202をワークメモリとして用いて、表示制御装置200の各部を制御する。不揮発性メモリ203には、画像データや音声データ、その他のデータ、CPU201が動作するための各種プログラムなどが格納される。不揮発性メモリ203は例えばフラッシュメモリやROMなどで構成される記憶部である。
【0038】
画像処理部204は、CPU201の制御に基づいて、不揮発性メモリ203や記憶媒体208に格納された画像や、外部I/F209を介して取得した映像信号、通信I/F210を介して取得した画像などに対して各種画像処理を施す。画像処理部204が行う画像処理には、A/D変換処理、D/A変換処理、画像データの符号化処理、圧縮処理、デコード処理、拡大/縮小処理(リサイズ)、ノイズ低減処理、色変換処理などが含まれる。また、全方位画像あるいは全方位ではないにせよ広範囲のデータを有する広範囲画像であるVR画像のパノラマ展開やマッピング処理、変換などの各種画像処理も行う。画像処理部204は特定の画像処理を施すための専用の回路ブロックで構成してもよい。また、画像処理の種別によっては画像処理部204を用いずにCPU201がプログラムに従って画像処理を施すことも可能である。
【0039】
ディスプレイ205は、CPU201の制御に基づいて、画像やGUI(Graphical User Interface)を構成するGUI画面などを表示する。CPU201は、プログラムに従い表示制御信号を生成し、ディスプレイ205に表示するための映像信号を生成してディスプレイ205に出力するように表示制御装置200の各部を制御する。ディスプレイ205は出力された映像信号に基づいて映像を表示する。なお、表示制御装置200自体が備える構成としてはディスプレイ205に表示させるための映像信号を出力するためのインターフェースまでとし、ディスプレイ205は外付けのモニタ(テレビなど)で構成してもよい。
【0040】
操作部206は、キーボードなどの文字情報入力デバイスや、マウスやタッチパネルといったポインティングデバイス、ボタン、ダイヤル、ジョイスティック、タッチセンサ、タッチパッドなどを含む、ユーザー操作を受け付けるための入力デバイスである。なお、タッチパネルは、ディスプレイ205に重ね合わせて平面的に構成され、接触された位置に応じた座標情報が出力されるようにした入力デバイスである。
【0041】
記憶媒体I/F207は、メモリーカードやCD、DVDといった記憶媒体208が装着可能とされ、CPU201の制御に基づき、装着された記憶媒体208からのデータの読み出しや、当該記憶媒体208に対するデータの書き込みを行う。外部I/F209は、外部機器と有線ケーブルや無線によって接続し、映像信号や音声信号の入出力を行うためのインターフェースである。通信I/F210は、外部機器やインターネット211などと通信して、ファイルやコマンドなどの各種データの送受信を行うためのインターフェースである。
【0042】
音声出力部212は、動画や音楽データの音声や、操作音、着信音、各種通知音などを出力する。音声出力部212には、イヤホンなどを接続する音声出力端子212a、スピーカー212bが含まれるものとするが、無線通信などで音声出力を行ってもよい。
【0043】
姿勢検出部213は、重力方向に対する表示制御装置200の姿勢や、ヨー、ロール、ピッチの各軸に対する姿勢の傾きを検知する。姿勢検出部213で検知された姿勢に基づいて、表示制御装置200が横に保持されているか、縦に保持されているか、上に向けられたか、下に向けられたか、斜めの姿勢になったかなどを判別可能である。姿勢検出部213としては、加速度センサー、ジャイロセンサー、地磁気センサー、方位センサー、高度センサーなどのうち少なくとも1つを用いることができ、複数を組み合わせて用いることも可能である。
【0044】
なお操作部206には、タッチパネル206aが含まれる。CPU201はタッチパネル206aへの以下の操作、あるいは状態を検出できる。
・タッチパネル206aにタッチしていなかった指やペンが新たにタッチパネル206a
にタッチしたこと、すなわち、タッチの開始(以下、タッチダウン(Touch-Down)と称する。)
・タッチパネル206aを指やペンがタッチしている状態であること(以下、タッチオン(Touch-On)と称する)
・指やペンがタッチパネル206aをタッチしたまま移動していること(以下、タッチムーブ(Touch-Move)と称する)
・タッチパネル206aへタッチしていた指やペンがタッチパネル206aから離れたこと、すなわち、タッチの終了(以下、タッチアップ(Touch-Up)と称する)
・タッチパネル206aに何もタッチしていない状態(以下、タッチオフ(Touch-Off)と称する)
【0045】
タッチダウンが検出されると、同時にタッチオンも検出される。タッチダウンの後、タッチアップが検出されない限りは、通常はタッチオンが検出され続ける。タッチムーブが検出された場合も、同時にタッチオンが検出される。タッチオンが検出されていても、タッチ位置が移動していなければタッチムーブは検出されない。タッチしていた全ての指やペンがタッチアップしたことが検出されると、タッチオフが検出される。
【0046】
これらの操作・状態や、タッチパネル206a上に指やペンがタッチしている位置座標は内部バスを通じてCPU201に通知され、CPU201は通知された情報に基づいてタッチパネル206a上にどのような操作(タッチ操作)が行なわれたかを判定する。タッチムーブについてはタッチパネル206a上で移動する指やペンの移動方向についても、位置座標の変化に基づいて、タッチパネル106a上の垂直成分・水平成分毎に判定できる。所定距離以上をタッチムーブしたことが検出された場合にはスライド操作が行なわれたと判定するものとする。タッチパネル206a上に指をタッチしたままある程度の距離だけ素早く動かして、そのまま離すといった操作をフリックと呼ぶ。フリックは、言い換えればタッチパネル206a上を指ではじくように素早くなぞる操作である。所定距離以上を、所定速度以上でタッチムーブしたことが検出され、そのままタッチアップが検出されるとフリックが行なわれたと判定できる(スライド操作に続いてフリックがあったものと判定できる)。更に、複数箇所(例えば2点)を同時にタッチして、互いのタッチ位置を近づけるタッチ操作をピンチイン、互いのタッチ位置を遠ざけるタッチ操作をピンチアウトと称する。ピンチアウトとピンチインを総称してピンチ操作(あるいは単にピンチ)と称する。タッチパネル206aは、抵抗膜方式や静電容量方式、表面弾性波方式、赤外線方式、電磁誘導方式、画像認識方式、光センサー方式等、様々な方式のタッチパネルのうちいずれの方式のものを用いてもよい。タッチパネルに対する接触があったことでタッチがあったと検出する方式や、タッチパネルに対する指やペンの接近があったことでタッチがあったと検出する方式があるが、いずれの方式でもよい。
【0047】
図3(C)に、表示制御装置200を装着可能なVRゴーグル(ヘッドマウントアダプター)230の外観図を示す。表示制御装置200は、VRゴーグル230に装着することで、ヘッドマウントディスプレイとして使用することも可能である。挿入口231は、表示制御装置200を差し込むための挿入口である。ディスプレイ205の表示面を、VRゴーグル230をユーザーの頭部に固定するためのヘッドバンド232側(すなわちユーザー側)に向けて表示制御装置200の全体をVRゴーグル230差し込むことができる。こうして表示制御装置200が装着されたVRゴーグル230を装着することにより、ユーザーはVRゴーグル230を頭部に装着した状態で、ユーザーが手で表示制御装置200を保持することなく、表示制御装置200のディスプレイ205を視認できる。この場合、ユーザーが頭部または体全体を動かすと、表示制御装置200の姿勢も変化する。姿勢検出部213はこの時の表示制御装置200の姿勢の変化を検出し、この姿勢の変化に基づいてCPU201がVR表示処理を行う。この場合に姿勢検出部213が表示制御装置200の姿勢を検出することは、ユーザーの頭部の姿勢(ユーザーの視線が向いて
いる方向)を検出することと同等である。
【0048】
[アニメーション表示]
以下、視点情報を用いた全天球画像のアニメーション表示について説明する。本実施形態では、アニメーション表示とは、ディスプレイ205に表示される画像の範囲や位置が変化する表示である。アニメーション表示とは、例えば、
図4(A)が示すような全天球画像において、ディスプレイ205に表示する視点位置(位置情報;視点の範囲情報;視点の範囲)、順番、時間などの情報を含む視点情報に応じて変化するような表示をいう。具体的には、
図4(C)が示すように、一人の被写体(人物A)のみが表示された後に、他の被写体(人物B)が表示されて、最後に2人の被写体が表示されるようなものが、アニメーション表示に含まれる。
【0049】
また、
図4(C)が示すようなアニメーション表示を行うためには、上述した視点情報を、ユーザー操作によって事前に設定しておく必要がある。具体的には、
図4(B)が示すように、ユーザーは、1番目に表示する範囲を視点401に設定し、2番目に表示する範囲を視点402に設定し、3番目に表示する範囲を視点403に設定する。そして、この設定した情報が視点情報として、
図4(A)が示す全天球画像に適用されることによって、
図4(C)が示すようなアニメーション表示が実現される。
図4(C)において、画像411は静止画の全天球画像400から視点401に対応する視点情報に基づく範囲を切り出した画像である。画像412は、静止画の全天球画像400から視点402に対応する視点情報に基づく範囲を切り出した画像である。画像413は静止画の全天球画像400から視点403に対応する視点情報に基づく範囲を切り出した画像である。
図4(C)が示すアニメーションでは、1フレーム目として画像411を、Mフレーム目として画像412を、Nフレーム目として画像413を表示する動画として視認されるアニメーションを表している。なお、1<M<Nであるものとする。1フレーム目とMフレーム目の間のフレームでは、視点401に基づく範囲から視点402に基づく範囲に滑らかに変化するように(段階的に変化するように)画像400から切り出された範囲の画像が表示される。Mフレーム目とNフレーム目の間のフレームでは、視点402に基づく範囲から視点403に基づく範囲に滑らかに変化するように(段階的に変化するように)画像400から切り出された範囲の画像が表示される。ユーザーが
図4(C)のような視点情報を登録する際、人物Aから人物Bに表示範囲が変化し、続いて人物Aと人物Bの双方が含まれる範囲に映像が変化するようにフレーミングされるよう、ユーザーは被写体となる人物に着目して視点を設定した可能性がある。
【0050】
ここで、1つの全天球画像に設定した視点情報を他の全天球画像にも適用させて、容易にアニメーション表示を実現したいというニーズがある。しかし、他の全天球画像に、このような視点情報を適用させてしまうと、ユーザーが所望しないアニメーション表示がされてしまう可能性がある。
【0051】
例えば、
図4(A)が示すような全天球画像400に対して
図4(C)が示すようなアニメーション表示をするために設定した視点情報を、
図5(A)が示すような全天球画像500に対して適用する場合を想定する。この場合には、
図4(B)が示すように設定した視点401~403示す範囲にそれぞれ対応する全天球画像500の範囲がアニメーションとしてディスプレイ205に表示される。つまり、
図5(B)に示す視点401~403に対応する画像511~513が、
図5(C)に示すように、それぞれアニメーションにおける1、M、Nフレーム目として順に表示されることになる。従って、全天球画像400と全天球画像500とで写っている被写体の位置がやや異なることに起因して、画像512が示すように、アニメーション表示におけるMフレーム目に表示されるべき被写体(人物)が表示されないことになる。すなわち、画像400で視点を設定した際にユーザーが意図していたような人物に着目したフレーミングが行われないアニメーションとな
ってしまう。
【0052】
[画像再生処理]
以下では、1つの画像に対して適用した視点情報を、他の画像に適用しても適切にアニメーション表示をすることのできる画像再生処理(画像再生方法;表示制御装置200の制御方法)について説明する。ここでは、
図6(A)、
図6(B)、
図7のフローチャートを用いて画像再生処理を説明する。
【0053】
図6(A)は、本実施形態に係る表示制御装置200の画像再生処理を示すフローチャートである。操作部206b(電源ボタン)が操作され電源がオンに切り替わると、CPU201はフラグや制御変数等を初期化した後、
図6(A)のフローチャートが示す画像再生処理を開始する。なお、本フローチャートは、CPU201が不揮発性メモリ203に記憶されたプログラムを、メモリ202に展開して実行することによって実現される。
【0054】
S601において、CPU201は、記憶媒体208に格納されている画像(画像データ)を取得し、当該画像の表示をするようにディスプレイ205を制御する。なお、CPU201は、画像全体を表示してもよいし、画像のメタデータに含まれる基準方向に基づいた範囲を表示するようにしてもよい。
【0055】
例えば、CPU201は、
図4(A)が示すような全天球画像400の全体をディスプレイ205に表示してもよいし、
図4(B)が示すような視点401が示す画像(範囲)のみをディスプレイ205に表示してもよい。
【0056】
S602において、CPU201は、S601にて表示した画像に重畳するようにメニュー810を表示する。本実施形態では、
図8(A)が示すように、メニュー810は、ボタンアイコン(カスタムボタン811とプリセットボタン812~815)を含む。ここで、カスタムボタン811は、新たな視点情報を登録するためのボタンである。プリセットボタン812~815はそれぞれ、登録された視点情報(プリセット情報)を画像に対して適用するためのボタン(タッチボタン、ボタンアイコン、選択肢項目、メニュー項目)である。また、プリセットボタン812~815のそれぞれに対応する視点情報(プリセット情報)は、S601にて表示する画像が異なっていても共通な情報である。従って、1つの画像に対してプリセットボタン812を選択することによって当該画像に用いられる視点情報と、他の画像に対してプリセットボタン812を選択することによって当該他の画像に用いられる視点情報とは同一である。
【0057】
S603において、CPU201は、操作部206に対してアニメーションを指示するためのボタンアイコンの選択操作(カスタムボタン811とプリセットボタン812~815のいずれかへのタッチ)が行われたか否かを判定する。選択操作が行われていた場合にはS604に進み、そうでなければS607に進む。
【0058】
S604において、CPU201は、S603において選択されたボタンがカスタムボタン811であるか否かを判定する。カスタムボタン811が選択された場合にはS605に進み、そうでなければ(プリセットボタン812~815のいずれかが選択された場合には)S606に進む。
【0059】
S605において、CPU201は、視点情報を登録する処理である視点登録処理を行う。視点登録処理の詳細については、
図6(B)のフローチャートを用いて後述する。
【0060】
S606において、CPU201は、選択されたプリセットボタンに応じて、アニメーション表示処理を行う。アニメーション表示処理の詳細については、
図7のフローチャー
トを用いて後述する。
【0061】
ここで、プリセットボタン812~815のいずれをユーザーが選択したかによって、S601にて表示されている画像のアニメーション表示に用いられる視点情報のセットが変化する。例えば、プリセットボタン812が選択されれば、S601にて表示されている画像に対してS605にて登録された視点情報のセットが適用されることが考えられる。プリセットボタン813が選択されれば、他の画像に対して登録された視点情報のセットが適用されることが考えられる。従って、ユーザーがプリセットボタン812~815のいずれかを選択することによって、他の画像に対して適用した視点情報のセットを、S601にて表示した画像に対して適用するか否かを選択しているといえる。
【0062】
S607において、CPU201は、操作部206に対して、ボタンアイコンの選択操作以外の操作が行われたか否かを判定する。ボタンアイコンの選択操作以外の操作が行われていた場合にはS608に進み、そうでなければS609に進む。
【0063】
S608において、CPU201は、S607にて行われた操作に応じた処理を行う。CPU201は、例えば、S607にてタッチパネル206aに対してピンチインまたはピンチアウト操作が行われていれば、表示されている画像の拡大または縮小を行う。
【0064】
S609において、CPU201は、操作部206に対して終了操作が行われたか否かを判定する。終了操作が行われていた場合には本フローチャートの処理が終了し、そうでなければ、S603に進む。
【0065】
(視点登録処理;S605)
以下では、S605にて行われる処理である、視点情報を登録する視点登録処理の詳細について、
図6(B)のフローチャートを用いて説明する。なお、本フローチャートは、CPU201が不揮発性メモリ203に記憶されたプログラムを、メモリ202に展開して実行することによって実現される。
【0066】
S611において、CPU201は、ディスプレイ205に表示されているメニュー810を非表示にし、視点の番号を管理する視点番号nの値を0にするなどの初期化処理を行う。
【0067】
S612において、CPU201は、ディスプレイ205に表示されている全天球画像の表示範囲を変更する操作(表示範囲変更操作)があったか否かを判定する。表示範囲変更操作があった場合はS613に進み、そうでない場合はS621に進む。
【0068】
S613において、CPU201は、S612で受け付けた表示範囲変更操作に応じて、全天球画像のうち、ディスプレイ205に表示される表示範囲を変更する。例えば、表示範囲変更操作としてのタッチムーブが行われると、表示範囲の大きさ(表示倍率)を変更することなく、表示範囲の位置を変更する。これは、タッチムーブによるスクロール表示により行われる。また、表示範囲を変更する操作としてピンチイン/ピンチアウト操作が行われると、表示範囲の大きさ(表示倍率)を変更する。この際、ピンチを行う2か所のタッチ位置の中点を拡大/縮小の基準(中心)とするため、拡大/縮小の中心が表示範囲の中心でないこともある。この場合は、拡大/縮小に伴って全天球画像全体に対する表示範囲の中心位置も変化する。表示範囲が変更されると、変更された表示範囲を示す情報として、変更後の表示範囲の中心位置(全天球画像全体における座標)、表示倍率などの情報がメモリ202に記録される。
【0069】
S621において、CPU201は、操作部206に対して視点の登録操作が行われた
か否かを判定する。登録操作が行われた場合にはS622に進み、そうでなければS625に進む。
【0070】
S622において、CPU201は、視点番号nを1だけインクリメント(1だけ増加)させる。
【0071】
S623において、CPU201は、現時点でディスプレイ205に表示されているの表示範囲(以下、部分画像と呼ぶ)内の被写体情報を取得する。
【0072】
なお、本実施形態では、被写体情報とは、被写体の種別を示す情報である。例えば、被写体の種別を示す情報とは、人物の顔、人物の部分(上半身、手、全身、目)、動物(犬、猫、鳥)、乗り物(自転車、飛行機、電車)、文字列の少なくとも一つを示す情報であり、さらに当該被写体が含まれていたか否かを示す情報である。または、被写体の種別を示す情報とは、画像から抽出されたエッジの形状の情報であってもよい。画像から抽出されたエッジの形状の情報を用いて、例えば、料理が盛られた皿である、などの推定が可能である。さらに、被写体情報は、被写体の数や、部分画像における被写体の相対的な位置や、被写体の部分画像を占める面積の割合などの情報を含んでいてもよい。なお、CPU201は、被写体情報を、パターンマッチング等の検出を用いた判定結果から取得してもよいし、画像に紐づくメタデータ(情報)から取得してもよい。
【0073】
S624において、CPU201は、表示している画像(部分画像;視点に紐づく表示範囲)の視点位置と、S623で取得した被写体情報とを対応付けて、n番目の視点としてメモリ202に記憶させる。ここでの視点位置は、S613でメモリ202に記録された情報に基づく情報(位置情報)であり、座標(位置)と表示倍率(表示範囲の大きさ)とを含む。つまり、CPU201は、メモリ202が記憶する、
図8(B)が示すような管理テーブル(複数の視点の情報のセット)に視点情報を登録する。また、座標とは、部分画像(表示範囲)の中心点、全方位画像全体に対する座標であってもよいし、例えば、部分画像の位置が特定できれば表示範囲の右上や左下など任意の位置の全方位画像全体に対する座標であってよい。
図8(B)が示す管理テーブルでは、「顔の有無」が「被写体情報」である。なお、
図8(B)が示す「視点」の数値は、アニメーション表示する際の表示順でもあるので、視点の表示の順序(指定順)に相当する。
【0074】
S625において、CPU201は、管理テーブルに登録されている視点の数が2個以上か否か判定する。登録されている視点の数が2個以上であればS626に進み、そうでなければS630へ遷移する。
【0075】
S626において、CPU201は、操作部206に対してアニメーションの編集操作が行われたか否か判定する。編集操作が行われた場合にはS627に進み、そうでなければS628に進む。
【0076】
S627において、CPU201は、S626にて行われた編集操作に応じて、管理テーブルに、「視点間の動き」を登録する。ここで、「視点間の動き」とは、
図8(B)が示す管理テーブルにおける「次の視点への動き」に該当する。「次の視点への動き」は、視点間の移動のルートや、移動の速度、もしくは切替方法などの、視点間での部分画像(表示範囲)の遷移の情報であり得る。なお、全ての視点に対して、予め1つの「視点間の動き」が設定されている場合には、S626およびS627の処理が行われなくてもよい。
【0077】
S628において、CPU201は、操作部206に対して視点情報の保存操作が行われたか否かを判定する。保存操作が行われた場合にはS629に進み、そうでなければS
630に進む。
【0078】
S629において、CPU201は、管理テーブルの情報(視点情報のセット)を、プリセット情報として不揮発性メモリ203に登録する(記憶させるように制御(記憶制御)する)。なお、不揮発性メモリ203に登録するプリセット情報は、新規な情報として登録されてもよい。また、不揮発性メモリ203に登録するプリセット情報は、不揮発性メモリ203に既に登録されているプリセット情報に上書きされてもよい。S629では、
図8(A)が示すメニュー810におけるプリセットボタン812~815のいずれかに対応するように、プリセット情報が不揮発性メモリ203に登録される。
【0079】
S630において、CPU201は、操作部206に対して終了操作が行われたか否かを判定する。終了操作が行われた場合には、視点登録処理が終了し、そうでなければS612に進む。
【0080】
(アニメーション表示処理:S606)
以下では、S606にて行われる処理である、アニメーション表示処理の詳細について
図7のフローチャートを用いて説明する。本フローチャートは、CPU201が不揮発性メモリ203に記憶されたプログラムを、メモリ202に展開して実行することによって実現される。なお、以下では、被写体情報として「顔の有無」が登録されている場合を例にとって説明する。
【0081】
S701において、CPU201は、S603において選択されたプリセットボタン(プリセットボタン812~815のいずれか)に対応するプリセット情報(視点情報のセット)を不揮発性メモリ203から読み出す。また、CPU201は、メニュー810を非表示にすることや、処理対象の視点を管理するための変数iの値を0に設定することなどの初期化処理を行う。
【0082】
S702において、CPU201は、変数iが、プリセット情報が示す視点の数(視点総数)以下であるか否かを判定する。変数iが視点総数以下であればS703に進み、そうでなければS709に進む。例えば、
図8(B)が示すような管理テーブルに対応するプリセット情報の場合には、視点総数は3である。
【0083】
S703において、CPU201は、プリセット情報におけるi番目の視点位置(視点に紐づく表示範囲の座標と表示倍率)に基づいて、S601にて表示している画像から表示範囲となる部分画像を生成する。例えば、
図5(B)が示す全天球画像500から、視点401(
図8(B)の視点位置Aの情報によって特定される範囲)に基づいて部分画像を生成する場合には、全天球画像500から視点401に対応する範囲を切り出した部分画像511が生成される。
【0084】
S704において、CPU201は、プリセット情報におけるi番目の視点の被写体情報(顔の有無)を取得し、被写体情報として「顔がある」が登録されているか否かを判定する。「顔がある」が登録されている場合にはS705に進み、そうでなければS708に進む。例えば、
図8(B)が示すプリセット情報が登録されており、変数i=1であれば、被写体情報として「顔がある」が登録されていると判定できる。
【0085】
S705において、CPU201は、部分画像内に「顔」(被写体情報が示す被写体)があるか否かを判定する。部分画像内に「顔」があればS708に進み、そうでなければS706に進む。例えば、CPU201は、
図5(C)が示す、部分画像511内には「顔」があると判定し、部分画像512内には「顔」がないと判定する。
【0086】
S706において、CPU201は、部分画像を生成した視点位置が示す範囲より広い範囲(以下、拡大範囲と呼ぶ)に「顔」(被写体情報が示す被写体)があるか否かを判定する。拡大範囲に「顔」があれば、S707に進み、そうでなければS708に進む。例えば、CPU201は、
図9(A)が示すように、視点402(
図8(B)の視点位置Bの情報によって特定される範囲)から生成した部分画像に「顔」がない場合には、視点402の周辺の範囲である拡大範囲901において「顔」があるか否かを判定する。なお、拡大範囲901は、視点402が示す範囲を中心に、視点402の範囲を所定倍した範囲であってもよいし、視点402の範囲を縦横に所定値分だけ大きくした範囲であってもよい。また、CPU201は、顔が含まれる位置まで、視点402の範囲を拡大した範囲を拡大範囲としてもよい。
【0087】
S707において、CPU201は、S706で検出された顔(被写体)を含むように視点の位置(部分画像、表示範囲)を変更する(補正処理をする)。この変更により、プリセット情報に記録された視点位置の情報が示す変更前の表示範囲から変更後の表示範囲へと、座標、表示倍率のいずれかもしくは両方が変更される。例えば、
図9(B)が示すように、拡大範囲901には人の顔が存在しているため、当該顔を含むように、視点402を視点902に変更する。そして、
図9(C)が示すように、CPU201は、変更した後の視点902に基づき部分画像912を生成する。なお、ここでの「視点を変更する」とは、不揮発性メモリ203に記憶されたプリセット情報を更新(上書き)するのでなく、部分画像を生成するために一時的にメモリ202に記憶している視点の位置を変更することをいう。
【0088】
なお、CPU201は、視点の位置(部分画像)を変更するか否かを、ユーザーの選択によって決定してもよい。例えば、CPU201は、「視点情報を直接適用すると被写体を含まない画像が表示されてしまいますが、被写体を含むように変更しますか?」といった通知をする。そして、CPU201は、ユーザーがそれに対して、「はい」と「いいえ」のいずれの操作をしたかによって、視点の位置を変更するか否かを決定する。すなわち、「はい」を選択する操作(補正の実行指示操作)に応じて、視点の位置の変更(補正)を実行する。「いいえ」を選択する操作があった場合には、視点の位置の情報情報が示す表示範囲からの変更を行わない。
【0089】
さらには、CPU201は、視点の位置を変更した場合には、その際に用いているプリセット情報をディスプレイ205に表示するようにしてもよい。これによれば、ユーザーは、プリセット情報が示す表示範囲(部分画像)が変更されたことを容易に把握することができる。
【0090】
なお、CPU201は、部分画像を占める被写体の面積の割合や部分画像での被写体の相対的な位置が被写体情報に含まれている場合には、被写体情報が示す当該割合や当該位置に合わせる(一致する)ように、視点位置を変更してもよい。例えば、CPU201は、
図4(C)が示す部分画像404における被写体の占める面積と、
図9(C)が示す部分画像903における被写体の占める面積とが一致するような、部分画像903が生成されるように視点の位置を変更する。同様に、CPU201は、
図4(C)が示す部分画像404における被写体の相対的な位置と、
図9(C)が示す部分画像903における被写体の相対的な位置とが一致するような、部分画像903が生成されるように視点の位置を変更してもよい。
【0091】
なお、S707で視点の位置が変更された場合、その際に用いたプリセット情報におけるi番目の視点(位置が変更された視点)の視点位置が、変更された視点の位置を示すように、不揮発性メモリ203に記録されたプリセット情報を上書き保存しても良い。また、S707で視点の位置が変更された場合、その際に用いていたプリセット情報は書き換
えずに、その際に用いていたプリセット情報におけるi番目の視点の視点位置のみが変更された視点の位置を示す新たなプリセット情報(視点情報のセット)を不揮発性メモリ203に記録してもよい。CPU201は、不揮発性メモリ203に対して、変更した視点の位置を反映したプリセット情報を記憶させるか否かを、ユーザーによる操作によって決定してもよい。
【0092】
S708において、CPU201は、変数iを1だけインクリメントする。つまり、S703~S708の処理が、プリセット情報に登録されている視点の数だけ繰り返し実行される。つまり、視点ごとに、適切な被写体が部分画像に存在するか否かが判定されいる。そして、CPU201は、部分画像に被写体が存在しない場合には、その周囲に適切な被写体があれば、当該被写体を示すように視点位置を変更している。
【0093】
S709において、CPU201は、プリセット情報に基づき、S703~S707で生成した部分画像を登録順(指定順)に、視点間の動き(視点間での部分画像の遷移)の情報に従って、ディスプレイ205にアニメーション表示をする。これによって、
図9(C)を用いて説明したようなアニメーション表示(動画表示)が行われる。
【0094】
S710において、CPU201は、動画ファイルとしての書き出すことを指示する動画の書き出し指示(ユーザーによる書き出し指示操作)があったか否かを判定する。書き出し指示があった場合にはS711に進み、そうでない場合には処理を終了する。
【0095】
S711において、CPU201は、S709で表示した動画を一般的な動画ファイルとして不揮発性メモリ203または記録媒体208に記録する。こうして動画ファイルとして書きだすことで、生成したアニメーションを動画として他の機器などで再生できるように共有することが可能となる。
【0096】
本実施形態によれば、
図4(C)が示すように、1人の被写体、他の1人の被写体、2人の被写体が順に表示されるように或る画像に設定された視点情報を他の画像に用いても、
図9(C)が示すように同様の順に表示される。
図9(C)において、画像511は静止画の全天球画像500から視点401に対応する視点情報に基づく範囲を切り出した画像である。画像912は、静止画の全天球画像500から視点402を補正した視点902に対応する範囲を切り出した画像である。画像513は静止画の全天球画像500から視点403に対応する視点情報に基づく範囲を切り出した画像である。
図9(C)が示すアニメーションでは、1フレーム目として画像511を、Mフレーム目として画像912を、Nフレーム目として画像513を表示する動画として視認されるアニメーションを表している。1フレーム目とMフレーム目の間のフレームでは、視点401に基づく範囲から視点902に基づく範囲に滑らかに変化するように(段階的に変化するように)画像500から切り出された範囲の画像が表示される。Mフレーム目とNフレーム目の間のフレームでは、視点902に基づく範囲から視点403に基づく範囲に滑らかに変化するように(段階的に変化するように)画像500から切り出された範囲の画像が表示される。これにより、ユーザーが
図4(C)のような視点情報を登録する際、人物Aから人物Bに表示範囲が変化し、続いて人物Aと人物Bの双方が含まれる範囲に映像が変化するように人物に着目したフレーミングが実現される。つまり、
図5(C)が示すように、或るシーン(Mフレーム目)においてユーザーが所望する被写体が欠けてしまい、ユーザーが所望する構成のアニメーション表示にならないという可能性を低減することができる。
【0097】
なお、
図7(B)のフローチャートの処理では、被写体情報として顔(人の顔)の有無をプリセット情報が含んでいる場合について説明した。しかし、これに限らず、被写体情報として、人の有無、動物の有無、物の有無、人の所定の部分(パーツ)の有無などがプリセット情報に含まれていても同様に処理が可能である。
【0098】
また、被写体情報として、被写体および当該被写体の数を示す情報がプリセット情報に含まれている場合には、S704において対象の被写体情報が1以上の当該被写体があることを示していれば、S705に進み、そうでなければS708に進む。S705において、部分画像に、対象の被写体情報が示す被写体が、当該被写体情報が示す数(所定数)存在すればS708に進み、そうでなければS706に進む。S706において、拡大範囲に、対象の被写体情報が示す被写体が、当該被写体情報が示す数(所定数)存在すればS707に進み、そうでなければS708に進む。S707において、CPU201は、拡大範囲のうち、対象の被写体情報が示す被写体が、当該被写体情報が示す数(所定数)存在する範囲を示すように視点の位置を変更する。なお、他の処理は、被写体情報が「顔の有無」を示す場合と同じである。これによれば、例えば、或る画像の部分画像では3人の被写体が含まれている視点情報を用いて、他の画像の部分画像でも3人の被写体が含まれるようなアニメーション表示が可能になる。
【0099】
なお、上述の実施形態では、視点情報(プリセット情報)を適用する画像が静止画の全天球画像であるとして説明したが、これには限られず任意の画像であってよい。例えば、動画の全天球画像を適用し、動画の全天球画像からプリセット情報に含まれる複数の視点の情報に基づいて切り出した範囲をつなぎ合わせたアニメーション(動画)を作成するようにしてもよい。また、視点情報(プリセット情報)を適用する画像は一般的な矩形の撮像画像でもよいし、魚眼レンズによって撮像された画像などの360度未満の映像範囲を有するVR画像であってもよい。
【0100】
また、S601にて表示されている画像以外にも、アニメーション表示処理(プリセット情報の適用処理)を行う画像をユーザーがより容易に選択できるようにしてもよい。具体的には、S701において、CPU201は、プリセット情報の読み出しを行うと、プリセット情報の被写体情報が示す被写体を含む画像を不揮発性メモリ203から検索する。そして、CPU201は、不揮発性メモリ203に記憶されており、かつ、プリセット情報が示す被写体を含む1または複数の画像の全てに対して、プリセット情報を適用するか否かをユーザーの選択に応じて決定する。ここで、全ての画像に対してプリセット情報を適用するとユーザーが選択すれば、全ての画像に対して、S702~S709の処理が行われる。これによれば、プリセット情報が示す被写体を含む画像に対して、一括にプリセット情報の適用が可能になる。
【0101】
なお、CPU201は、不揮発性メモリ203に記憶されており、かつ、プリセット情報が示す被写体を含む1または複数の画像のそれぞれに対して、プリセット情報を適用するか否かをユーザーの選択に応じて決定してもよい。この場合には、CPU201は、不揮発性メモリに記憶されており、かつ、プリセット情報が示す被写体を含む1または複数の画像をディスプレイ205に一覧表示するとよい。そして、一覧表示を見たユーザーが適用する画像を選択し、選択された画像に対して、CPU201は、アニメーション表示(プリセット情報の適用処理;S702~S709)を行う。
【0102】
なお、CPU201が行うものとして説明した上述の各種制御は1つのハードウェアが行ってもよいし、複数のハードウェア(例えば、複数のプロセッサや回路)が処理を分担することで、装置全体の制御を行ってもよい。
【0103】
また、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。さらに、上述した各実施形態は本発明の一実施形態を示すものにすぎず、各実施形態を適宜組み合わせることも可能である。
【0104】
また、上述した実施形態においては、本発明を表示制御装置に適用した場合を例にして説明したが、これはこの例に限定されず、表示する画像を制御することができる電子機器であれば適用可能である。すなわち、本発明はパーソナルコンピュータやPDA、携帯電話端末や携帯型の画像ビューワ、ディスプレイを備えるプリンタ装置、デジタルフォトフレーム、音楽プレーヤー、ゲーム機、電子ブックリーダーなどに適用可能である。
【0105】
なお、上記の各実施形態の各機能部は、個別のハードウェアであってもよいし、そうでなくてもよい。2つ以上の機能部の機能が、共通のハードウェアによって実現されてもよい。1つの機能部の複数の機能のそれぞれが、個別のハードウェアによって実現されてもよい。1つの機能部の2つ以上の機能が、共通のハードウェアによって実現されてもよい。また、各機能部は、ASIC、FPGA、DSPなどのハードウェアによって実現されてもよいし、そうでなくてもよい。例えば、装置が、プロセッサと、制御プログラムが格納されたメモリ(記憶媒体)とを有していてもよい。そして、装置が有する少なくとも一部の機能部の機能が、プロセッサがメモリから制御プログラムを読み出して実行することにより実現されてもよい。
【0106】
(その他の実施形態)
本発明は、上記の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0107】
200:表示制御装置、201:CPU、203:不揮発性メモリ、
205:ディスプレイ