(57)【特許請求の範囲】
【請求項１】
各フレームが複数の光線空間情報を有する画像からなる動画を取得する取得手段と、
前記動画の各フレームに対して合焦距離を設定する設定手段とを有し、
前記設定手段は、前記動画のフレームごとに設定可能な合焦距離の範囲と時間軸とが表示される設定エリアを表示し、
前記設定エリアは、ユーザによる合焦距離の設定操作を受け付け可能であることを特徴とする情報処理装置。
【請求項２】
さらに、前記動画の各フレームの画像に対して前記設定手段により設定された合焦距離に変更した画像を生成する生成手段と、
前記生成手段により生成された画像を表示部に表示する表示制御手段とを有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記設定手段は、前記動画の各フレームに対して設定された合焦距離と、各フレームの画像が撮影されたときの合焦距離とを識別可能に前記設定エリアに表示することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記設定手段は、当該設定手段により設定可能な合焦距離の最大値および最小値を時間軸に沿って前記設定エリアに表示し、
前記動画の各フレームの画像が撮影されたときの合焦距離をフレームごとに時間軸に沿って前記設定エリアに表示することを特徴とする請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
前記設定手段は、前記動画の各フレームに対して少なくとも１点に合焦距離が設定可能であり、前記動画の各フレームの画像が撮影されたときの合焦距離と当該合焦距離に隣接する前記設定手段により設定された合焦距離とを繋いだ線を前記設定エリアに表示することを特徴とする請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
前記設定手段は、前記設定手段により設定可能な合焦距離の範囲内で前記合焦距離の最大値および最小値を変更可能であり、
前記設定手段は、変更された前記合焦距離の最大値および最小値を前記設定エリアに表示することを特徴とする請求項４または５に記載の情報処理装置。
【請求項７】
前記設定手段は、前記動画の各フレームに対して最大の奥行き距離と前記合焦距離の最大値とを比較し、前記合焦距離の最大値の方が大きい場合に合焦距離の設定を不可とする範囲を前記設定エリアに表示することを特徴とする請求項４から６のいずれか１項に記載の情報処理装置。
【請求項８】
前記動画の各フレームの画像から被写体を指定する指定手段をさらに有し、
前記設定手段は、前記動画の各フレームに対して前記指定手段により指定された被写体の合焦距離を前記設定エリアに表示することを特徴とする請求項１から７のいずれか１項に記載の情報処理装置。
【請求項９】
前記設定手段により合焦距離が変更された画像から前記取得手段が取得した動画とは異なる形式の画像を生成する生成手段をさらに有することを特徴とする請求項３から８のいずれか１項に記載の情報処理装置。
【請求項１０】
取得手段が、各フレームが複数の光線空間情報を有する画像からなる動画を取得するステップと、
設定手段が、前記動画の各フレームに対して合焦距離を設定するステップとを有し、
前記設定するステップでは、前記動画のフレームごとに設定可能な合焦距離の範囲と時間軸とが表示される設定エリアを表示し、
前記設定エリアは、ユーザによる合焦距離の設定操作を受け付け可能であることを特徴とする情報処理装置の制御方法。
【請求項１１】
コンピュータを、請求項１から９のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【請求項１２】
コンピュータを、請求項１から９のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラムを記憶したコンピュータによる読み取りが可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影後に合焦位置が任意に設定できる画像を編集する技術に関する。
【背景技術】
【０００２】
近年、ライトフィールドカメラと呼ばれる撮像装置が注目されている。このライトフィールドカメラには、撮像レンズの他に、マイクロレンズアレイが撮像素子の表面に配置され、撮像素子が受ける光の強度と共に、光の進行方向の光線空間情報（ライトフィールドデータ）が記録される。ライトフィールドカメラによって撮影された画像（ライトフィールド画像）は、そのライトフィールドデータに基づき任意の位置にフォーカスを合わせた画像を生成することができる。
【０００３】
特許文献１には、ライトフィールド画像をフレームとした動画（ライトフィールド動画）を生成すること、ユーザ操作によりライトフィールド動画の各フレームにおいて、フォーカスを合わせる位置（合焦距離）を決定することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−０１１５７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１では、ライトフィールド動画の各フレームに対する合焦距離の微調整が容易ではなく、また、動画の時間経過に対する合焦距離の変化を視覚的に確認することも困難であった。
【０００６】
本発明は、上記課題に鑑みてなされ、その目的は、撮影後に各フレームの合焦位置が任意に設定できる動画に対して、任意の時間でのフレームの合焦距離を容易に設定できる技術を実現することである。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の情報処理装置は、各フレームが複数の光線空間情報を有する画像からなる動画を取得する取得手段と、前記動画の各フレームに対して合焦距離を設定する設定手段とを有し、前記設定手段は、前記動画のフレームごとに設定可能な合焦距離の範囲と時間軸とが表示される設定エリアを表示し、前記設定エリアは、ユーザによる合焦距離の設定操作を受け付け可能である。
【発明の効果】
【０００８】
本発明によれば、撮影後に各フレームの合焦位置を任意に設定できる動画に対して、任意の時間でのフレームの合焦距離を容易に設定できる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態の情報処理装置の構成を示すブロック図。
【図２】本実施形態の動画編集アプリケーションの概要を説明する図。
【図３】本実施形態の編集対象であるライトフィールド動画のファイル構成図。
【図４】実施形態１の動画編集アプリケーションの処理を示すフローチャート。
【図５】実施形態１のアプリケーション画面の設定エリアの表示例を示す図。
【図６】実施形態１の動画編集アプリケーションによる合焦距離設定処理を示すフローチャート。
【図７】実施形態１の合焦距離を設定するときの設定エリアの表示例を示す図。
【図８】実施形態１の合焦距離を設定するときの設定エリアの表示例を示す図。
【図９】実施形態２の動画編集アプリケーションによる合焦距離設定処理を示すフローチャート。
【図１０】実施形態２のアプリケーション画面の設定エリアの表示例を示す図。
【図１１】実施形態２のアプリケーション画面の設定エリアの表示例を示す図。
【発明を実施するための形態】
【００１０】
以下に、添付図面を参照して本発明を実施するための形態について詳細に説明する。尚、以下に説明する実施の形態は、本発明を実現するための一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。また、後述する各実施形態の一部を適宜組み合わせて構成しても良い。
【００１１】
［実施形態１］以下、本発明の情報処理装置として、ライトフィールドカメラにより撮影された動画（ライトフィールド動画）を編集するパーソナルコンピュータ（以下、ＰＣ）に適用した実施形態について説明する。なお、本発明は、ライトフィールドカメラを搭載するスマートフォンタブレット端末などの電子機器にも適用可能である。
【００１２】
なお、ライトフィールド動画は、各フレームが複数の光線空間情報を有する多視点画像からなり、撮影後に各フレームの合焦位置を任意に設定できる。
【００１３】
本実施形態の動画編集アプリケーションによれば、上記ライトフィールド動画に対して、ＧＵＩ（グラフィックユーザインタフェース）上で任意の時間でのフレームの合焦距離を簡単に設定することが可能となる。
【００１４】
＜装置構成＞先ず、図１を参照して、本実施形態の情報処理装置の構成について説明する。
【００１５】
図１に示すように、ＰＣ１００は、ＣＰＵ１０１、ＲＡＭ１０２、ＶＲＡＭ１０３、ＲＯＭ１０４、ＨＤＤ１０５、メモリＩ／Ｆ１０６、入力Ｉ／Ｆ１０７、画像処理部１０８、表示制御部１０９、表示装置１１０、記録媒体１１１、操作部１１２、内部バス１１３を有する。なお、ＰＣ１００はさらに、画像を撮像する撮像部や、外部装置と通信する通信部を有していても良い。通信部は、外部装置との間で制御信号や映像信号などを送受信する機能を有し、例えば、無線ＬＡＮ、有線ＬＡＮ、ＵＳＢ、Ｂｌｕｅｔｏｏｔｈ（登録商標）など、通信方式を特に限定するものではない。ここで、外部装置は、ＰＣ１００と通信が可能な機器であれば、パーソナルコンピュータ、カメラ、携帯電話、スマートフォン、ハードディスクレコーダ、ゲーム機、リモコンなど、どのようなものであっても良い。
【００１６】
ＣＰＵ１０１は、ＰＣ１００の各動作ブロックを制御する。ＲＡＭ１０２は、データの格納を行うメインメモリである。ＲＡＭ１０２は、主に、ＣＰＵ１０１が実行するプログラムを格納または展開する領域、プログラム実行中のワーク領域など、様々なデータの格納領域として使用される。
【００１７】
ＶＲＡＭ１０３は、表示装置１１０に表示するための画像データが描画される。ＶＲＡＭ１０３に生成された画像データは、表示制御部１０９に転送され、表示装置１１０に画像が表示される。なお、ＲＡＭ１０２のデータ転送速度が十分高速であれば、ＶＲＡＭ１０３は、ＲＡＭ１０２と同じであっても良い。
【００１８】
ＲＯＭ１０４は、ブートプログラム、アプリケーションプログラム（本実施形態で説明する動画編集アプリケーションなど）、オペレーティングシステム（以下、ＯＳ）などの各種プログラムとデータを格納するために使用される。
【００１９】
ハードディスクドライブ（以下、ＨＤＤ）１０５は、上記アプリケーションやＯＳなどの制御プログラムや動画（後述するライトフィールド動画を含む）や静止画などのコンテンツデータを格納する大容量記憶装置である。
【００２０】
画像処理部１０８は、ＨＤＤ１０５に格納されている画像データや表示装置１１０に表示されている画像に対してエンコード処理やデコード処理を行う。
【００２１】
表示制御部１０９は、ＶＲＡＭ１０３に格納された画像データを読み出し、表示装置１１０に表示するよう制御を行う。
【００２２】
表示装置１１０は、液晶パネルや有機ＥＬパネルなどの表示部を有し、表示制御部１０９からの制御信号に基づき画像の表示を行う。また、表示装置１１０には、後述する動画編集アプリケーションに係る動画編集画面（図２参照）が表示される。
【００２３】
メモリＩ／Ｆ１０６は、メモリカード１５０や外付けハードディスク１６０などの記録媒体１１１に対するデータの読み出しや書き込み制御する。
【００２４】
記録媒体１１１は、ＰＣ１００内で実行される各制御プログラムやコンテンツ、データを格納する。
【００２５】
入力Ｉ／Ｆ１０７は、マウス１１３やキーボード１１４、表示装置１１０上に設けられたタッチパネルなどの操作部１１２に対するユーザ操作を受け付け、ＣＰＵ１０１に制御信号を送出する。ＣＰＵ１０１は、操作部１１２から入力された制御信号を受け付けて、ＰＣ１００の各動作ブロックを制御する。
【００２６】
ＰＣ１００では、タッチパネルはＬＣＤパネルと一体的に構成されており、表示装置１１０に対する接触を検知可能である。そして、タッチパネルにおける入力座標と、表示装置１１０上の表示座標とを対応付ける。これにより、あたかもユーザが表示装置１１０上に表示された画面を直接的に操作可能であるかのようなＧＵＩを構成することができる。
【００２７】
内部バス１１３は、上述した各動作ブロック間をデータ通信可能に接続し、各種データや制御情報などＰＣ１００の各動作ブロックに送出するための伝送路として機能する。
【００２８】
＜動画編集アプリケーションの概要＞次に、図２を参照して、本実施形態の動画編集アプリケーションについて説明する。
【００２９】
図２に示すように、ＰＣ１００上で動画編集アプリケーションが起動されると、表示装置１１０にアプリケーション画面２００が表示される。アプリケーション画面２００は、ＨＤＤ１０５や記録媒体１１１から読み込まれたライトフィールド動画や既存の圧縮符号化方式で生成された動画ファイルを一覧表示するファイル表示エリア２１０を含む。アイコン２１１は、複数の動画を、シーン単位や編集単位でまとめたグループごとに名称が付記されている。図２では、「ｓｃｅｎｅ＿０１」のグループは、４つの動画（ＡＡＡＡ、ＢＢＢＢ、ＣＣＣＣ、ＤＤＤＤは動画名称）を含んでいる。ユーザは上記グループ別に、カット編集を実施する。プレビューエリア２２０には、ユーザによって選択された動画が再生表示される。図では、プレビューエリア２２０には、手前、中央、奥にそれぞれ人物２２１、２２２、２２３が存在し、背景に壁２２４が存在するライトフィールド動画が表示されている。コントロールボタン２３０は、プレビューエリア２２０に表示中の動画の再生の開始、（一時）停止、早送り、巻き戻しなどの操作を行うためのＧＵＩである。タイムラインエリア２４０は、ＨＤＤ１０５や記録媒体１１１から読み込まれた動画のフレームの再生順序や再生区間などの再生タイミング２４１を表示するためのＧＵＩである。上記タイムライン２４０へ動画を追加するには、ファイル表示エリア２１０に表示中の動画アイコン２１１をタイムライン２４０にドラッグ＆ドロップすることで可能である。また、タイムラインエリア２４０へのドラッグ操作により、タイムラインエリア２４０へ動画を追加した後の再生タイミングの変更が可能である。設定エリア２５０には、動画の各フレームに対する合焦距離を設定、表示するためのＧＵＩが表示される。設定エリア２５０は、合焦位置（被写体）までの距離を縦軸、録画時間を横軸とする領域であり、タイムライン２４０に追加された動画の再生タイミングに対応づけて、動画の各フレームの合焦距離を設定し、表示することが可能である。なお、設定エリア２５０の縦軸には、タイムライン２４０に追加された動画中の被写体に対して合焦可能な最大距離（１０ｍ）２５１と最小距離（０．５ｍ）２５２が表示される。図２では、合焦可能な距離として０．５ｍから１０ｍまで合焦距離を設定することが可能である。設定エリア２５０における合焦距離の設定操作の詳細については後述する。バー２６０は、タイムラインエリア２４０において現在の再生位置を示す指標である。
【００３０】
＜ファイル構成＞次に、図３を参照いて、本実施形態の編集対象であるライトフィールド動画３００のファイル構成について説明する。
【００３１】
図３において、ライトフィールド動画ファイル３００は、ファイルに関する属性情報が記録されるヘッダ部３１０と、フレームに関する属性情報が記録されるヘッダ部３２０と、１フレーム分の画像データが記録される画像データ部３４０とを含む。ヘッダ部３１０には、動画ファイルの属性情報として、例えば、撮影日時情報、カメラ機種名、動画のファイルサイズ、動画の解像度、スタートタイムコード、エンドタイムコード、動画の継続時間、フレーム総数、フレームレート、その他の付加情報が記録される。ヘッダ部３２０には、１フレーム分（図３では１番目のフレーム１）に関する属性情報として、例えば、フレーム１に対するタイムコード、シャッタースピード、絞り値、ＩＳＯ感度、撮影モード、フォーカス情報、その他の付加情報が記録される。フォーカス情報３３０は、リフォーカス可能フラグ、合焦可能範囲、フォーカス情報を含む。リフォーカス可能フラグとは、後述する画像データ部３４０に記録された１フレーム分のデータが、ライトフィールドデータであるか否かを示すフラグである。合焦可能範囲とは、各フレームに対する、合焦可能な距離の最大値と最小値である。これら最大値および最小値はライトフィールド動画を撮影したビデオカメラのレンズの構成によって決定される。フォーカス情報には、合焦距離が記録される。なお、合焦可能な距離は、ライトフィールド動画が撮影可能なライトフィールドカメラではない通常のビデオカメラのオートフォーカス機能によって取得された合焦距離で代替されても良いし、ユーザが任意に設定した合焦距離であっても良い。また、フォーカス情報には、複数の合焦距離や、例えば、１ｍ〜２ｍのような合焦距離の範囲を記録するようにしても良い。さらに、フォーカス情報には、合焦距離以外の情報を記録するようにしても良い。例えば、フォーカス情報として画像データ上の座標のみを記録し、ヘッダ部の別の領域に、公知の方法で取得した深度マップを記録するようにしても良い。この場合、深度マップ上の座標を参照することで合焦距離が取得可能となる。画像データ部３４０には、１フレーム分のライトフィールドデータが記録され、図示のように、２番目のフレーム（フレーム２）以降についても１番目のフレーム（フレーム１）と同様にヘッダ部３１０、３２０と画像データ部３４０がそれぞれ記録される。
【００３２】
＜動画編集処理＞次に、図４から図８を参照して、本実施形態のＰＣ１００上で動作する動画編集アプリケーションによるライトフィールド動画の合焦距離設定処理について説明する。
【００３３】
図４は、図３のタイムライン２４０に追加されたライトフィールド動画に設定されたフォーカス情報を設定エリア２５０に表示するまでの動画編集アプリケーションの処理を示すフローチャートである。なお、本処理は、ＣＰＵ１０１がＲＯＭ１０４に格納されたプログラムをＲＡＭ１０２に展開して実行し、各部を制御することにより実現される。
【００３４】
ステップＳ４０１では、ＣＰＵ１０１は、ファイル表示エリア２１０の動画がタイムライン２４０に追加されたか否かを判定する。判定の結果、追加された場合にはステップＳ４０２へ進み、追加されていない場合にはステップＳ４０１へ戻り、動画がタイムラインに追加されるのを待つ。以下では、ＨＤＤ１０５や記録媒体１１１から読み込まれたライトフィールド動画が図３の動画編集アプリケーション画面２００のタイムライン２４０に追加されたものとする。
【００３５】
ステップＳ４０２では、ＣＰＵ１０１は、ステップＳ４０１で追加された動画の属性情報から、動画の継続時間やフレームレートなどの情報を取得し、現在のタイムライン２４０の設定に合わせて、タイムライン２４０上に動画の再生タイミングを描画する。
【００３６】
ステップＳ４０３では、ＣＰＵ１０１は、動画の属性情報から、動画のフレーム総数Ｆｍａｘを取得する。
【００３７】
ステップＳ４０４では、ＣＰＵ１０１は、フレーム数をカウントするための変数ｉに対し、ｉ＝１とする。
【００３８】
ステップＳ４０５では、ＣＰＵ１０１は、動画の属性情報におけるフォーカス情報から、ｉ番目のフレームの合焦距離を取得し、フレーム番号と合わせてＲＡＭ１０２に格納する。
【００３９】
ステップＳ４０６では、ＣＰＵ１０１は、ｉ番目のフレーム位置が、タイムライン２４０の現在の再生位置と一致しているか否かを判定する。判定の結果、一致している場合には、ステップＳ４０７へ進み、一致していない場合には、ステップＳ４１０へ進む。
【００４０】
ステップＳ４０７では、ＣＰＵ１０１は、動画の属性情報におけるフォーカス情報から、ｉ番目のフレームのリフォーカス可能フラグを参照し、ｉ番目のフレームがライトフィールドデータか否かを判定する。判定の結果、ｉ番目のフレームがライトフィールドデータである場合はステップＳ４０８へ進み、ライトフィールドデータでない場合はステップＳ４０９へ進む。
【００４１】
ステップＳ４０８では、ＣＰＵ１０１は、ｉ番目のフレームの画像データ部３４０に格納されているライトフィールドデータから、ステップＳ４０５で取得した合焦距離に合焦する画像を生成する。ライトフィールドデータから特定の距離に合焦する画像を生成する処理は様々な方法が存在するが、本発明の特徴ではないので詳細な説明は省略する。
【００４２】
ステップＳ４０９では、ＣＰＵ１０１は、ｉ番目のフレームにおける画像をプレビューエリア２２０に表示する。
【００４３】
ステップＳ４１０では、ＣＰＵ１０１は、ｉを１インクリメントする。
【００４４】
ステップＳ４１１では、ＣＰＵ１０１は、ｉがＦｍａｘより大きいか否かを判定する。判定の結果、ｉがＦｍａｘより大きい場合はステップＳ４１２へ進み、ｉがＦｍａｘ以下の場合はステップＳ４０５へ進む。
【００４５】
ステップＳ４１２では、ＣＰＵ１０１は、ＲＡＭ１０２に格納したＦｍａｘ個の合焦距離を、設定エリア２５０に描画して本処理を終了する。図５は、実際に動画のフレームの合焦距離を描画したときの設定エリア２５０の表示例である。ここでは、タイムライン２４０上に配置された動画の区間１、２、３に対応する各フレームは、それぞれ、図２の人物２２１、２２２、２２３に合焦して撮影したものとする。また、動画撮影時は、カメラおよび人物２２１、２２２、２２３はともに静止しているものとする。また、カメラのレンズ面から人物２２１、２２２、２２３までの距離をそれぞれＬ１ｍ、Ｌ２ｍ、Ｌ３ｍとする。区間１、２、３の各フレームの合焦距離はそれぞれ、Ｌ１ｍ、Ｌ２ｍ、Ｌ３ｍで固定であるため、設定エリア２５０では、区間１、２、３に対して、それぞれＬ１ｍ、Ｌ２ｍ、Ｌ３ｍの位置に時間軸に沿って線を描画する。図５における点線は説明を分かりやすくするための補助線であり、実際のアプリケーション画面２００の設定エリア２５０には表示されない。
【００４６】
なお、ライトフィールド動画以外の既存の圧縮符号化方式で生成された動画ファイルにも、本実施形態のライトフィールド動画と同様に、所定の領域に動画フレーム総数や各フレームの合焦距離を格納しているため、本処理を適用可能である。
【００４７】
図６（ａ）、（ｂ）は、図５の状態からユーザが合焦距離を設定するときの動画編集アプリケーションの処理を示している。
【００４８】
図６（ａ）において、ステップＳ６０１では、ＣＰＵ１０１は、設定エリア２５０の各フレームの区間で、ユーザがクリック操作を行ったか否かを判定する。判定の結果、クリック操作を行った場合はステップＳ６０２へ進み、クリック操作を行わなかった場合には、ステップＳ６０１へ戻り、設定エリア２５０でのユーザのクリック操作を待つ。以下、図５における区間１上で、ユーザがクリック操作を行ったものとする。
【００４９】
ステップＳ６０２では、ＣＰＵ１０１は、区間１の動画における、クリック操作を行った位置のフレーム番号Ｆおよび縦軸の値Ｌを取得する。縦軸の値Ｌは、Ｆ番目のフレームに対して設定される合焦距離となる。取得したフレーム番号と縦軸の値は関連付けられてＲＡＭ１０２に格納される。以下、設定エリア２５０においてユーザがクリック操作を行った位置を節点と呼び、節点位置にはドットを表示する。
【００５０】
ステップＳ６０３では、ＣＰＵ１０１は、区間１において、ステップＳ６０２で設定した節点に対し、横軸方向で隣接する節点の位置をＲＡＭ１０２から取得する。次に、取得した２つの節点に対し、左側の節点おける動画のフレーム番号Ｆａおよび当該フレームの合焦距離Ｌａと、右側の節点における動画のフレーム番号Ｆｂおよび当該フレームの合焦距離Ｌｂをそれぞれ取得する。図７（ａ）は、設定エリア２５０において、ステップＳ６０１でユーザがクリック操作を行った場合の表示例である。図７（ａ）において、７１０はステップＳ６０２で設定された節点である。節点７１０は、区間１のフレーム番号Ｆ、合焦距離Ｌ＝Ｌ２となる位置に存在している。図７（ａ）は、区間１において、ユーザが節点７１０のみを指定した状態を示している。この場合、節点７１０に隣接する節点は存在しないため、区間１の左端の点７２０、右端の点７３０を節点７１０に対する隣接する節点とする。図７（ａ）では、Ｆａ＝１、Ｌａ＝Ｌ１、Ｆｂ＝Ｆｍａｘ、Ｌｂ＝Ｌ１となる。なお、区間１の左端の位置でユーザがクリック操作を行った場合、設定した節点に対し左側に隣接する節点が存在しないため、設定した節点と左側に隣接する節点を同一のものとして扱う。すなわち、Ｆａ＝Ｆ、Ｌａ＝Ｌとする。区間１の右端の位置でユーザがクリック操作を行った場合も同様に、Ｆｂ＝Ｆ、Ｌｂ＝Ｌとする。既に節点が存在するフレーム位置でユーザがクリック操作を行った場合は、既存の節点を削除し、新たにクリック操作を行った位置に節点を表示する。
【００５１】
ステップＳ６０４では、ＣＰＵ１０１は、区間１の各フレームに対する合焦距離を算出し、フレーム番号と合わせてＲＡＭ１０２に格納する。算出した合焦距離は、ライトフィールド動画の属性情報における各フレームのフォーカス情報の領域に格納するようにしても良い。この処理の詳細は後述する。
【００５２】
ステップＳ６０５では、ＣＰＵ１０１は、ＲＡＭ１０２に格納したＦｍａｘ個の合焦距離を、設定エリア２５０に描画して本処理を終了する。
【００５３】
図６（ｂ）は、図６（ａ）のステップＳ６０４における合焦距離算出処理を示している。
【００５４】
図６（ｂ）において、ステップＳ６１１では、ＣＰＵ１０１は、フレーム数をカウントするための変数ｉに対し、ｉ＝Ｆａとする。
【００５５】
ステップＳ６１２では、ＣＰＵ１０１は、区間１の動画の属性情報におけるフォーカス情報から、ｉ番目のフレームの合焦距離Ｌｉを式１により算出する。
【００５６】
Ｌｉ＝（Ｌ−Ｌａ）／（Ｆ−Ｆａ）×（ｉ−Ｆａ）＋Ｌａ・・・（１）
取得した合焦距離は、フレーム番号と合わせてＲＡＭ１０２に格納する。
【００５７】
ステップＳ６１３では、ＣＰＵ１０１は、ｉ番目のフレーム位置が、タイムライン２４０の現在の再生位置と一致しているか否かを判定する。判定の結果、一致している場合には、ステップＳ６１４へ進み、一致していない場合には、ステップＳ６１６へ進む。
【００５８】
ステップＳ６１４では、ＣＰＵ１０１は、ｉ番目のフレームの画像データ部３４０に格納されているライトフィールドデータに対し、ステップＳ６１２で算出した合焦距離に合焦する画像を生成する。
【００５９】
ステップＳ６１５では、ＣＰＵ１０１は、ｉ番目のフレームにおける画像をプレビューエリア２２０に表示する。
【００６０】
ステップＳ６１６では、ＣＰＵ１０１は、ｉを１インクリメントする。
【００６１】
ステップＳ６１７では、ＣＰＵ１０１は、ｉがＦより大きいか否かを判定する。判定の結果、ｉがＦより大きい場合はステップＳ６１８へ進み、ｉがＦ以下の場合はステップＳ６１１へ進む。
【００６２】
ステップＳ６１８では、ＣＰＵ１０１は、区間１の動画の属性情報におけるフォーカス情報から、ｉ番目のフレームの合焦距離Ｌｉを式２により算出する。
【００６３】
Ｌｉ＝（Ｌｂ−Ｌ）／（Ｆｂ−Ｆ）×（ｉ−Ｆ）＋Ｌ・・・（２）
取得した合焦距離は、フレーム番号と合わせてＲＡＭ１０２に格納する。
【００６４】
ステップＳ６１９〜Ｓ６２２は、ステップＳ６１３〜Ｓ６１６と同様である。
【００６５】
ステップＳ６２３では、ＣＰＵ１０１は、ｉがＦｂより大きいか否かを判定する。判定の結果、ｉがＦｂより大きい場合は本処理を終了し、ｉがＦｂ以下の場合はステップＳ６１８へ進む。
【００６６】
図７（ｂ）は、ステップＳ６０５の処理後の設定エリア２５０の表示例である。アプリケーション画面２００で区間１を再生する場合、ＣＰＵ１０１は、再生位置におけるフレームのライトフィールドデータに対し、ＲＡＭ１０２から取得した当該フレームに対する合焦距離に合焦する画像を生成してプレビューエリア２２０に表示する。再生時に毎回画像を生成せず、再生前に各フレームに対する画像を生成しておき、画像データをＲＡＭ１０２やＨＤＤ１０５に格納するようにしても良い。図７（ｂ）の区間１を再生すると、人物２２１、人物２２２、人物２２１の順にフォーカスが移動する動画がプレビューエリア２２０に表示される。
【００６７】
なお、設定エリア２５０において描画された線や節点は、ユーザによるドラッグ操作を受け付けるものとする。線がドラッグされた場合には、線の形状を保持したまま設定エリア２５０上を線が移動するように表示制御を行い、ドラッグ操作が停止したとき、各フレームの縦軸の値を当該フレームの合焦距離として取得する。また、節点がドラッグされた場合は、ドラッグ対象の節点に接続している線が移動する節点に追従するように表示制御を行い、ドラッグ操作が停止したとき、各フレームの縦軸の値を当該フレームの合焦距離として取得する。図８（ａ）は、設定エリア２５０に描画された区間１の線を横軸に対して垂直方向にドラッグした場合の表示例である。また、図８（ｂ）は、設定エリア２５０に描画された節点７１０を横軸に対して垂直方向にドラッグした場合の表示例である。設定エリア２５０上の節点は、ユーザが操作しやすいよう、ある程度の大きさを持たせて表示するようにしても良い。
【００６８】
以上説明したように、本実施形態によれば、撮影後に各フレームの合焦位置を任意に設定できるライトフィールド動画に対して、任意の時間でのフレームの合焦距離を容易に設定することが可能となる。また、動画の時間経過に対する合焦位置の変化を視覚的に確認することが可能となる。
【００６９】
［実施形態２］次に、実施形態２の動画編集処理について説明する
実施形態１では、設定エリア２５０において、フレームごとに１点の合焦距離が設定可能であり、合焦位置の変化が１本の折れ線で描画されて、設定された合焦位置にフォーカスを合わせた画像が生成される構成であった。これに対して、本実施形態では、フレームごとに２点の合焦距離が設定でき、合焦距離に範囲を持たせることができるように構成している。
【００７０】
なお、実施形態１と同様の処理には同一の符号を付して説明は省略する。また、本実施形態のＰＣの構成、動画編集アプリケーションの概要、ライトフィールド動画のファイル構成はそれぞれ、実施形態１の図１、図２、図３と同様であるため説明を省略する。
【００７１】
図９は、本実施形態の動画編集アプリケーションの処理を示し、設定エリア２５０が図７（ｂ）ように表示されているものとする。
【００７２】
図９において、ステップＳ９０１では、ＣＰＵ１０１は、設定エリア２５０のフレームの区間で、ユーザがクリック操作を行ったか否かを判定する。判定の結果、クリック操作を行った場合はステップＳ９０２へ進み、クリック操作を行わなかった場合には、ステップＳ９０１へ戻り、設定エリア２５０でのユーザのクリック操作を待つ。以下、節点７１０と同一のフレーム位置かつ縦軸の値が異なる位置でユーザがクリック操作を行ったとする。
【００７３】
図１０（ａ）は、設定エリア２５０において、フレーム番号Ｆ、縦軸の値Ｌ３の位置でユーザがクリック操作を行った場合の表示例である。実施形態１では、既に節点が存在するフレーム位置でユーザがクリック操作を行った場合は、既存の節点を削除し、新たにクリック操作があった位置に節点を表示していた。これに対して、本実施形態は、同一フレーム位置に対して２点まで節点を表示可能とする。既に節点が２点存在するフレーム位置でユーザがクリック操作を行った場合は、クリック操作があった位置に近い節点を削除し、クリック操作があった位置に節点を表示する。図１０（ａ）は今回のユーザのクリック操作で新たに追加された節点１０１０を示している。
【００７４】
ステップＳ９０２では、ＣＰＵ１０１は、区間１のフレームにおけるクリックされた位置のフレーム番号Ｆおよび縦軸の値Ｌを取得し、ＲＡＭ１０２に格納する。
【００７５】
ステップＳ９０３では、ＣＰＵ１０１は、区間１において、ステップＳ９０２で設定された節点に対し、横軸方向で隣接する節点の位置をＲＡＭ１０２から取得する。次に、取得した２つの節点に対し、左側の節点おける動画のフレーム番号Ｆａと、右側の節点における動画のフレーム番号Ｆｂをそれぞれ取得する。図１０（ａ）の例では、Ｆａ＝１、Ｆｂ＝Ｆｍａｘとなる。
【００７６】
ステップＳ９０４では、ＣＰＵ１０１は、ステップＳ９０１でクリックされた位置と同一のフレーム位置に、他の節点が存在するか否かを判定する。判定の結果、存在する場合には、ステップＳ９０５へ進み、存在しない場合には、ステップＳ９０８へ進む。
【００７７】
ステップＳ９０５では、ＣＰＵ１０１は、同一フレーム位置に存在する他の節点の合焦距離Ｌｏと縦軸の値Ｌを比較する。比較の結果、値Ｌが合焦距離Ｌｏよりも大きい場合には、ステップＳ９０６へ進み、値Ｌが合焦距離Ｌｏ以下である場合には、ステップＳ９０７へ進む。
【００７８】
ステップＳ９０６では、ＣＰＵ１０１は、横軸方向で隣接する節点に関して、同一フレーム位置に複数の節点が存在する場合、より大きい方の合焦距離（以下、最大合焦距離）を有する節点における合焦距離を取得する。この処理の詳細は後述する。
【００７９】
ステップＳ９０７では、ＣＰＵ１０１は、横軸方向で隣接する節点に関して、同一フレーム位置に複数の節点が存在する場合、より小さい方の合焦距離（以下、最小合焦距離）を有する節点における合焦距離を取得する。この処理の詳細は後述する。
【００８０】
ステップＳ９０８では、ＣＰＵ１０１は、ステップＳ９０３で取得した２つの隣接する節点に対し、左側の節点おける合焦距離Ｌａと、右側の節点における合焦距離Ｌｂをそれぞれ取得する。
【００８１】
ステップＳ９０９では、ＣＰＵ１０１は、ステップＳ９０６〜Ｓ０９０８で取得した、横軸方向で隣接する節点におけるフレーム番号、合焦距離を用いて、区間１の動画の各フレームに対する合焦距離を算出する。合焦距離算出処理は、実施形態１の図６（ｂ）と同様である。
【００８２】
ステップＳ９１０では、ＣＰＵ１０１は、ＲＡＭ１０２に格納したＦｍａｘ個の合焦距離を、設定エリア２５０に描画して本処理を終了する。
【００８３】
図９（ｂ）は、図９（ａ）のステップＳ９０６における横軸方向で隣接する節点の最大合焦距離取得処理を示している。
【００８４】
図９（ｂ）において、ステップＳ９２１では、ＣＰＵ１０１は、左側に隣接する節点が複数存在するか否かを判定する。判定の結果、複数存在する場合には、ステップＳ９２２に進み、複数存在しない場合には、ステップＳ９２３に進む。
【００８５】
ステップＳ９２２では、ＣＰＵ１０１は、左側に隣接する節点の最大合焦距離Ｌａｈを取得する。
【００８６】
ステップＳ９２３では、ＣＰＵ１０１は、左側に隣接する節点の合焦距離Ｌａを取得する。
【００８７】
ステップＳ９２４では、ＣＰＵ１０１は、右側に隣接する節点が複数存在するか否かを判定する。判定の結果、複数存在する場合には、ステップＳ９２５に進み、複数存在しない場合には、ステップＳ９２６に進む。
【００８８】
ステップＳ９２５では、ＣＰＵ１０１は、右側に隣接する節点の最大合焦距離Ｌｂｈを取得して本処理を終了する。
【００８９】
ステップＳ９２６では、ＣＰＵ１０１は、右側に隣接する節点の合焦距離Ｌｂを取得して本処理を終了する。
【００９０】
図９（ｃ）は、図９（ａ）のステップＳ９０７における横軸方向で隣接する節点の最小合焦距離取得処理を示している。
【００９１】
図９（ｃ）において、ステップＳ９３１では、ＣＰＵ１０１は、左側に隣接する節点が複数存在するか否かを判定する。判定の結果、複数存在する場合には、ステップＳ９３２に進み、複数存在しない場合には、ステップＳ９３３に進む。
【００９２】
ステップＳ９３２では、ＣＰＵ１０１は、左側に隣接する節点の最小合焦距離Ｌａｌを取得する。
【００９３】
ステップＳ９３３では、ＣＰＵ１０１は、左側に隣接する節点の合焦距離Ｌａを取得する。
【００９４】
ステップＳ９３４では、ＣＰＵ１０１は、右側に隣接する節点が複数存在するか否かを判定する。判定の結果、複数存在する場合には、ステップＳ９３５に進み、複数存在しない場合には、ステップＳ９３６に進む。
【００９５】
ステップＳ９３５では、ＣＰＵ１０１は、右側に隣接する節点の最小合焦距離Ｌｂｌを取得して本処理を終了する。
【００９６】
ステップＳ９３６では、ＣＰＵ１０１は、右側に隣接する節点の合焦距離Ｌｂを取得して本処理を終了する。
【００９７】
図１０（ｂ）は、ステップＳ９１０の処理後の設定エリア２５０の表示例である。図示のように、設定エリア２５０において、２本の折れ線で各フレームの合焦距離の範囲を表すことが可能である。図１０（ｂ）では、再生位置を示すバー２６０がフレーム番号Ｆの位置にきたときには、人物２２２から人物２２３の間に合焦する画像がプレビューエリア２２０に表示される。以下、２本の線のうち、最大合焦距離を有する節点を繋いだ線を最大合焦距離線と呼び、最小合焦距離を有する節点を繋いだ線を最小合焦距離線と呼ぶ。
【００９８】
図１０（ｃ）のように、設定エリア２５０において、既に最大合焦距離線、最小合焦距離線が描画されている状態で、１０２０の位置でユーザがクリック操作を行った場合にも図９の処理が適用可能である。この場合、ステップＳ９０２において、節点１０２０が追加された場合に、節点１０２０のフレーム位置Ｆ１で、最小合焦距離線上に節点１０３０を設定することで図９の処理が適用可能となる。
【００９９】
なお、実施形態１と同様に、設定エリア２５０において描画された最大合焦距離線、最小合焦距離線は互いに独立してユーザのドラッグ操作を受け付ける。また、節点のドラッグ操作に関しては、同じフレーム位置に複数の節点が存在する場合、常に両者のフレーム位置が一致するように表示制御を行う。例えば、図１０（ｄ）において、節点１０４０を１０６０の位置にドラッグする場合、節点１０５０は、最小合焦距離線の形状に沿って、節点１０４０の移動に追従する。
【０１００】
以上説明したように、本実施形態によれば、撮影後に各フレームの合焦位置を任意に設定できるライトフィールド動画において、任意の時間でのフレームに対して複数の合焦距離を容易に設定でき、合焦位置に範囲を持たせることが可能となる。また、動画の時間経過に対する合焦位置の範囲の変化を視覚的に確認することが可能となる。
【０１０１】
なお、本実施形態では、設定エリア２５０において、折れ線を用いて合焦距離の範囲を表すようにしたが、折れ線以外にも、スプライン補間のような手段を用いて、合焦距離の範囲を曲線で表すようにしても良い。合焦距離の範囲の表示形態は、設定エリア２５０で合焦距離の範囲を視覚的に確認できる表示形態であればどのようなものでも良く、線による表示以外にも、合焦距離の範囲の色を変更したり、合焦距離の範囲に矢印などの所定の図形を識別可能に描画したりするようにしても良い。
【０１０２】
また、アプリケーション画面２００において、属性情報のフォーカス情報に合焦距離が格納されていないライトフィールド動画がタイムライン２４０に追加された場合には、プレビューエリア２２０に表示する画像を生成することができない。このような場合、初期表示として、各フレームのパンフォーカス画像を生成して表示するようにしても良い。その他に、例えば、予めアプリケーション画面２００で設定された距離に合焦した画像や、動画中の主被写体に合焦した画像を表示するようにしても良い。
【０１０３】
また、設定エリア２５０において、縦軸の最大値２５１および最小値２５２は、ライトフィールドデータが合焦可能な範囲内において変更可能としても良い。例えば、図２において、最大値２５１を１０ｍから５ｍに、最小値２５２を０．５ｍから１ｍとすれば、設定エリア２５０の縦軸の単位長さ当たりの合焦距離が大きくなるため、ユーザは合焦範囲をより細かく設定することが可能になる。
【０１０４】
また、ライトフィールド動画の属性情報にフレームごとの深度マップを格納しておき、プレビューエリア２２０で特定の被写体をクリック操作により指定した場合に、深度マップから当該被写体までの距離を取得し、設定エリア２５０に表示するようにしても良い。これにより、ユーザは合焦したい被写体までの合焦距離を設定エリア２５０で確認することが可能になる。
【０１０５】
また、深度マップにおいて、最大の奥行き距離と設定エリア２５０の縦軸の最大値２５１を比較し、最大値２５１の方が大きい場合には、画面のどこにも合焦していない画像が生成されてしまう可能性がある。例えば、図２において、カメラのレンズ面から壁２２４までの距離を９ｍとすると、９ｍから最大合焦可能距離１０ｍの範囲には合焦可能な被写体が存在しない。このため、設定エリア２５０において、９ｍから１０ｍの範囲に合焦範囲を設定すると、画面のどこにも合焦していない画像が生成されてしまう。この場合は、深度マップにおける最大の奥行き距離と設定エリア２５０の縦軸の最大値２５１を比較し、縦軸の最大値２５１の方が大きくなるフレームに対しては、図１１に示すようにユーザに注意を促すようにしても良い。図１１の網掛け領域１１１０では合焦範囲を設定不可とすることで画面のどこにも合焦していない画像の生成を防止できる。
【０１０６】
また、ライトフィールド動画の合焦距離が変更されたフレームの画像を生成する処理において、本実施形態の動画編集アプリケーションに対して、Ｈ．２６４などの既存の圧縮符号化方式を適用して異なる形式の動画ファイルを生成する機能を持たせても良い。このように生成された動画データは、合焦範囲の変更はできなくなるが、一般的な動画プレイヤーで閲覧することが可能となる。
【０１０７】
［他の実施形態］本発明は、以下の処理を実行することによっても実現される。即ち、上記実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【０１０８】
１００…ＰＣ、１０１…ＣＰＵ、１０２…ＲＡＭ、１０３…ＶＲＡＭ、１０４…ＲＯＭ、１０５…ＨＤＤ、１０６…メモリＩ／Ｆ、１０７…入力Ｉ／Ｆ、１０８…画像処理部、１０９…表示制御部、１１０…表示装置、１１１…記録媒体、１１２…操作部
【図１】
0006529267.tif 000002
【図２】
0006529267.tif 000003
【図３】
0006529267.tif 000004
【図４】
0006529267.tif 000005
【図５】
0006529267.tif 000006
【図６】
0006529267.tif 000007
【図７】
0006529267.tif 000008
【図８】
0006529267.tif 000009
【図９】
0006529267.tif 000010
【図１０】
0006529267.tif 000011
【図１１】
0006529267.tif 000012