(57)【要約】【課題】記録するデータ量を抑えつつ、後工程で画角編集を可能にするトリミング動画を生成する画像処理装置を提供する。【解決手段】動画データを切り出す区間の時間軸での開始点と終了点を設定し、動画データに対し、トリミングする領域を設定して、入力される動画データからトリミング編集した動画データを生成しファイルとして記録する画像処理装置にて、所定の条件に合致するフレームについてはトリミングする領域を示すトリミング情報とオリジナル画角での画像データとを記録し、残りのフレームについてはトリミングした画像データを記録するようにして、記録するデータ量を抑えつつ、トリミング編集後における画角編集を可能にする。【選択図】図１
2020178161.tif 000002
【特許請求の範囲】
【請求項１】
動画データを切り出す区間の時間軸での開始点と終了点を設定する区間設定手段と、
前記動画データに対し、トリミングする領域を設定する領域設定手段と、
入力される動画データから、前記領域設定手段による設定に基づいてトリミング編集した、前記区間設定手段により設定された前記区間に係る動画データを生成しファイルとして記録手段に記録する生成手段とを有し、
前記生成手段は、所定の条件に合致するフレームについてはトリミングする領域を示すトリミング情報とオリジナル画角での画像データとを前記記録手段に記録し、残りのフレームについてはトリミングした画像データを前記記録手段に記録することを特徴とする画像処理装置。
【請求項２】
前記生成手段は、設定された前記開始点から後の所定の数のフレーム及び前記終了点から前の所定の数のフレームの少なくとも一方のフレームについて、前記トリミング情報と前記オリジナル画角での画像データとを前記記録手段に記録することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記生成手段は、設定された前記開始点から前の所定の数のフレーム及び前記終了点から後の所定の数のフレームの少なくとも一方のフレームについて、前記トリミング情報と前記オリジナル画角での画像データとを前記記録手段に記録することを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
入力される前記動画データから撮影姿勢に係る情報を取得する情報取得手段を有し、
前記生成手段は、前記情報取得手段により取得した情報に基づいて、撮影姿勢に変化があるフレームについて、前記トリミング情報と前記オリジナル画角での画像データとを前記記録手段に記録することを特徴とする請求項１〜３の何れか１項に記載の画像処理装置。
【請求項５】
前記生成手段は、設定された前記開始点のフレームに撮影姿勢の変化がある場合には前記撮影姿勢の変化が開始するフレームを開始フレームにし、設定された前記終了点のフレームに撮影姿勢の変化がある場合には前記撮影姿勢の変化が終了するフレームを終了フレームにして、前記区間に係る動画データを生成することを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記生成手段は、音声の記録があるフレームについて、前記トリミング情報と前記オリジナル画角での画像データとを前記記録手段に記録することを特徴とする請求項１〜５の何れか１項に記載の画像処理装置。
【請求項７】
前記生成手段は、トリミングする領域内に動体が現れたフレームから前の所定の数のフレーム及びトリミングする領域から前記動体が外れたフレームから後の所定の数のフレームについて、前記トリミング情報と前記オリジナル画角での画像データとを前記記録手段に記録することを特徴とする請求項１〜６の何れか１項に記載の画像処理装置。
【請求項８】
前記生成手段は、前記所定の条件に合致するフレームについては、さらにトリミングした画像データを前記記録手段に記録することを特徴とする請求項１〜７の何れか１項に記載の画像処理装置。
【請求項９】
前記生成手段は、前記オリジナル画角での画像データを解像度を低下させて前記記録手段に記録することを特徴とする請求項１〜８の何れか１項に記載の画像処理装置。
【請求項１０】
動画データを切り出す区間の時間軸での開始点と終了点を設定する区間設定工程と、
前記動画データに対し、トリミングする領域を設定する領域設定工程と、
入力される動画データから、前記領域設定工程での設定に基づいてトリミング編集した、前記区間設定工程にて設定された前記区間に係る動画データを生成しファイルとして記録手段に記録する生成工程とを有し、
前記生成工程では、所定の条件に合致するフレームについてはトリミングする領域を示すトリミング情報とオリジナル画角での画像データとを前記記録手段に記録し、残りのフレームについてはトリミングした画像データを前記記録手段に記録することを特徴とする画像処理方法。
【請求項１１】
動画データを切り出す区間の時間軸での開始点と終了点を設定する区間設定ステップと、
前記動画データに対し、トリミングする領域を設定する領域設定ステップと、
入力される動画データから、前記領域設定ステップでの設定に基づいてトリミング編集した、前記区間設定ステップにて設定された前記区間に係る動画データを生成しファイルとして記録手段に記録する生成ステップとをコンピュータに実行させ、
かつ前記生成ステップでは、所定の条件に合致するフレームについてはトリミングする領域を示すトリミング情報とオリジナル画角での画像データとを前記記録手段に記録し、残りのフレームについてはトリミングした画像データを前記記録手段に記録する処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
動画撮影において高解像度化が進んでおり、撮影した動画をトリミングしても十分な解像度が得られるため、撮影後に動画をトリミングして所望の画角の動画を生成し、時間軸上で使う部分を切り出して、動画素材として利用することが増えてきている。動画素材として切り出した動画の再利用としては、新たにズームやパン等のエフェクトを設定し直す、あるいはズームやパン等のエフェクトが適用されている動画の切り出しの時間軸上での開始点や終了点を後から微調整する場合等が考えられる。このような場合、画角を再度変更するために、オリジナルデータの対応する箇所を探す必要がある。
【０００３】
例えば、特許文献１では、動画を構成するフレーム毎にトリミングの範囲情報を保持し、表示時に範囲情報に従って個別にトリミングするとともに、トリミング表示された後の各フレームデータに置き換えて再記録する。トリミング後の再記録時に、トリミング前のオリジナル動画を残して新たにトリミング動画を記録することによって、後から画角を調整することが可能となっている。しかし、全フレームにわたってトリミング前のオリジナル動画を保存すると、ファイルサイズが膨大になり、ハードディスク等の記憶容量を圧迫し、取扱いが困難となる。そこで従来技術では、メモリ容量に基づいて判断し、オリジナル画像又はトリミング画像のどちらかを保存することで改善している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２８７８２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１では、オリジナル画像を保存するかトリミング画像を保存するかをメモリ容量の残量によって判断しており、編集者が画角を編集したいフレームのオリジナル画像が保存されないことがある。本発明の目的は、記録するデータ量を抑えつつ、後工程で画角編集を可能にするトリミング動画を生成する画像処理装置を提供することである。
【課題を解決するための手段】
【０００６】
本発明に係る画像処理装置は、動画データを切り出す区間の時間軸での開始点と終了点を設定する区間設定手段と、前記動画データに対し、トリミングする領域を設定する領域設定手段と、入力される動画データから、前記領域設定手段による設定に基づいてトリミング編集した、前記区間設定手段により設定された前記区間に係る動画データを生成しファイルとして記録手段に記録する生成手段とを有し、前記生成手段は、所定の条件に合致するフレームについてはトリミングする領域を示すトリミング情報とオリジナル画角での画像データとを前記記録手段に記録し、残りのフレームについてはトリミングした画像データを前記記録手段に記録することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、トリミング編集した動画を記録する際、後から画角の編集を行う可能性のあるフレームについてはオリジナル画角での画像データを保存することで、記録するデータ量は抑えつつ、後工程での画角編集が可能となる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態における画像処理装置の構成例を示す図である。
【図２】本実施形態におけるアプリケーションのユーザインターフェースの構成例を示す図である。
【図３】本実施形態における入力動画データを説明する図である。
【図４】本実施形態におけるトリミング動画保存時のデータ構造例を示す図である。
【図５】本実施形態におけるトリミング動画保存時のデータ構造例を示す図である。
【図６】本実施形態における画像処理装置の動作例を示すフローチャートである。
【図７】本実施形態におけるオリジナル保存フレーム選択ダイアログの例を示す図である。
【図８】第１の実施形態における動画ファイルの生成処理の例を示すフローチャートである。
【図９】第２の実施形態における動画ファイルの生成処理の例を示すフローチャートである。
【図１０】第３の実施形態における動画ファイルの生成処理の例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態を図面に基づいて説明する。本発明の実施形態における画像処理装置は、動画のトリミング機能を有しており、入力される動画データから、設定に応じてトリミング編集して時間軸上の区間で切り出した動画データを生成し動画ファイルとして記録する。本実施形態における画像処理装置は、トリミング編集した動画データを生成する際、所定の条件に合致するフレームについてはトリミング情報とオリジナル画角での画像データとを記録し、残りのフレームについてはトリミングした画像データを記録する。これにより、例えば、記録した動画データの再利用において、新たにズームやパン等のエフェクトを設定し直す、あるいはズームやパン等のエフェクトが適用されている動画の時間軸上での切り出し区間を後から微調整する場合等に、画角の変更を可能とする。
【００１０】
（第１の実施形態）
本発明の第１の実施形態について説明する。図１は、本発明の実施形態における画像処理装置１００の構成例を示す図である。本実施形態における画像処理装置１００は、例えばＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）及びＧｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＧＰＵ）を有する。画像処理装置１００は、入力動画データに対してＧＰＵによって画像処理を施し、画像処理の結果である各出力フレーム画像を所定の時間間隔で連続して表示する動画再生機能を有する。なお、ユーザは動画の再生開始前又は一時停止時に画像処理の選択操作が可能とする。
【００１１】
画像処理装置１００は、ＣＰＵ１１０、ＧＰＵ１２０、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）１３０、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）１４０、記録媒体１５０、操作部１６０、及び表示部１７０を有する。ＣＰＵ１１０、ＧＰＵ１２０、ＲＡＭ１３０、ＲＯＭ１４０、記録媒体１５０、操作部１６０、及び表示部１７０は、バス１８０を介して通信可能に接続される。
【００１２】
ＣＰＵ１１０は、画像処理装置１００全体の制御を行う。ＣＰＵ１１０は、例えばＲＡＭ１３０をワークメモリとして用いて、ＲＯＭ１４０に格納されたプログラムを実行することで、画像処理装置１００の各機能部を制御する。例えば、ＣＰＵ１１０がＲＯＭ１４０に格納されたプログラムを実行することで、区間設定手段、領域設定手段、生成手段、及び情報取得手段等の機能が実現される。ＧＰＵ１２０は、ＣＰＵ１１０によって生成された画像処理コマンドを実行し、画像処理を行う。ＧＰＵ１２０は、内部にＶｉｄｅｏ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＶＲＡＭ）を有し、データ転送コマンドによってＲＡＭ１３０又は記録媒体１５０との間でデータの送受信を行う。
【００１３】
ＲＡＭ１３０は、外部から供給されるプログラムやデータを一時記憶するメモリである。ＲＡＭ１３０は、プログラムの実行に伴って出力されるデータの一時的な格納領域としても用いられる。ＲＯＭ１４０は、プログラムやパラメータを格納するメモリである。ＲＯＭ１４０は、例えばアプリケーション２００等のＣＰＵ１１０によって実行されるソフトウェアのプログラムコードや、アプリケーション２００の動作に係るパラメータ等を格納する。このプログラムコードをＣＰＵ１１０が実行する構成となっている。なお、本実施形態におけるＲＯＭ１４０はフラッシュＲＯＭであり、制御プログラム等を書き換え可能な構成となっている。
【００１４】
記録媒体１５０は、画像処理装置１００がデータを読み書き可能な記録媒体である。記録媒体１５０は、記録手段の一例である。記録媒体１５０は、例えば画像処理装置１００が備える内蔵メモリや、着脱可能に接続されるメモリカードやＨＤＤ、ＣＤ−ＲＯＭ、ＭＯディスク、光ディスク、光磁気ディスク等の電子データを記録可能な媒体である。記録媒体１５０には、動画データ等のデジタルデータがファイルとして格納される。
【００１５】
操作部１６０は、キーボード、マウス等で構成される。操作部１６０を介して入力される指示によって、入出力データの指定、プログラムの変更、画像処理の実行や中止等が可能である。表示部１７０は、液晶ディスプレイ等の表示部であり、例えばアプリケーション２００のＧｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ（ＧＵＩ）画面や、画像処理の結果等が表示される。バス１８０は、画像処理装置１００において、各要素間の制御信号やデータ信号の伝送路となる内部バスである。
【００１６】
図２は、本実施形態におけるアプリケーション２００が表示部１７０に表示するユーザインターフェース（ＵＩ）の構成例を示す図である。図２において、２１０は、記録媒体１５０から読み込まれた動画データの一覧を表示する動画データ一覧表示エリアである。動画データ一覧表示エリア２１０に表示されているアイコン２１１は、単一の動画データを示したものであり、例えばユーザはアイコン２１１をクリックすることによって、画像処理の対象となる入力動画データを選択することができる。
【００１７】
２２０は、ユーザによって選択された入力動画データに画像処理を施した結果を再生表示するプレビューエリアである。２３０は、ユーザが画像の再生制御を行うための再生コントロール部であり、例えばユーザは再生コントロール部２３０の再生／停止ボタンをクリックすることで、動画再生機能による画像処理の開始や中止を指示することができる。なお、再生コントロール部２３０の再生／停止ボタンは、動画を再生している状態では再生の一時停止を指示し、再生していない状態では再生開始を指示する機能を有する。また、再生コントロール部２３０は、再生／停止ボタンの他に、再生位置を１コマ前又は後へ移動するボタンや、再生開始位置や再生終了位置へ移動するボタン等を有する。
【００１８】
２４０は、入力動画データの時間軸上での位置を示すタイムラインである。２５０は、入力動画データにおける現在の再生位置を示すシークバー部である。２５１は、入力動画データにおける動画再生の開始点（イン点）を示すアイコンであり、２５２は、入力動画データにおける動画再生の終了点（アウト点）を示すアイコンである。ユーザは、例えばアイコン２５１、２５２をドラッグ＆ドロップすることによって、動画再生の開始点及び終了点をそれぞれ変更することができる。なお、アイコン２５１、２５２は、動画編集処理における入力動画データの切り出し区間の開始点と終了点をそれぞれ示すアイコンでもある。
【００１９】
２６０は、ユーザが動画をトリミングする際に使用するトリミング設定ＵＩである。トリミング設定ＵＩ２６０はテキストボックス等で構成され、本実施形態では、「Ｘ座標」
、「Ｙ座標」、「幅」、及び「高さ」の４つのテキストボックスで構成されるとする。アプリケーション２００の起動直後は、「Ｘ座標」と「Ｙ座標」は原点の０であるとし、「
幅」と「高さ」はオリジナル画像の「幅」と「高さ」が表示された状態であるとする。アプリケーション２００の起動直後に各テキストボックスに表示される値は一例であり、これに限定されるものではない。
【００２０】
２７０は、トリミング設定ＵＩ２６０で設定されたトリミングする領域を示すトリミング枠である。トリミング枠２７０は、ユーザが本枠をドラッグ＆ドロップ等を行い変更することによっても変更することが可能であり、変更した結果は、トリミング設定ＵＩ２６０に反映される。この他、アプリケーション２００は、動画再生に関する一般的な各機能を実行するための操作部を有しているが、ここでは図示しない。
【００２１】
図３（ａ）は、記録媒体１５０に格納されているオリジナル画角での（トリミング編集されていない）動画データ３００の例を示す図である。動画データ３００は、ヘッダ部３０１及びフレームデータ部３０２を有する。ヘッダ部３０１には、動画の属性情報が記録される。動画の属性情報は、例えば、クリップ名、撮影日時情報、タイムコード、動画を構成するフレーム画像の解像度、色深度、撮影フレームレート、再生フレームレート、カメラ機種名、色温度、絞り値、ＩＳＯ感度、及びその他の付加情報を含む。フレームデータ部３０２には、撮影された動画を構成するフレーム画像のデータが、フレームデータ１、フレームデータ２、・・・、フレームデータＮのように、撮影されたタイミングが早い順に記録されている。なお、Ｎは動画を構成するフレーム画像の数である。フレーム画像はＲＡＷ画像でも、ＪＰＥＧ形式等の一般的な形式に圧縮された画像等でもよい。
【００２２】
図３（ｂ）は、フレームデータ部３０２に格納されているフレームデータ３２０の構成例を示す図である。フレームデータ３２０には、動画のフレーム毎の属性情報と、入力動画データとしてのオリジナル画像データ３２１とが記録されている。フレーム毎の属性情報は、例えば、フレーム番号、タイムコード、焦点距離、シャッタースピード、被写体距離、及び撮影姿勢に係るズーム、チルト、ロールの情報を含む。
【００２３】
図４（ａ）は、本実施形態におけるトリミング編集後のフレームデータ部に格納されるフレームデータ、すなわちトリミング動画保存時のフレームデータ４００の構成例を示す図である。フレームデータ４００には、フレーム毎の属性情報と、設定されたトリミング設定に従ってトリミングして得られたトリミング画像データ４０１とが記録されている。
【００２４】
図４（ｂ）は、本実施形態におけるトリミング編集後のフレームデータ部に格納されるフレームデータ、すなわちトリミング動画保存時のフレームデータ４２０の構成例を示す図である。図４（ｂ）には、トリミング動画を保存した後に画角の編集を行う可能性のある所定の数フレームのオリジナル画像データを有するフレームデータの一例を示している。フレームデータ４２０には、フレーム毎の属性情報に加え、トリミング設定にて設定されたトリミングする領域を示すトリミング情報４２１と、オリジナル画角でのオリジナル画像データ４２２とが記録されている。
【００２５】
図５（ａ）は、本実施形態におけるトリミング編集後のフレームデータ部に格納されるフレームデータ、すなわちトリミング動画保存時のフレームデータ５００の構成例を示す図である。図５（ａ）には、トリミング動画を保存した後に画角の編集を行う可能性のある所定の数フレームのオリジナル画像データを有するフレームデータの他の例を示している。フレームデータ５００には、フレーム毎の属性情報に加え、トリミング設定にて設定されたトリミング情報５０１、その情報に従ってトリミングして得られたトリミング画像データ５０２、及びオリジナル画角でのオリジナル画像データ５０３が記録されている。
【００２６】
図５（ｂ）は、トリミング編集後に記録媒体１５０に格納される動画データ５２０の例を示す図である。動画データ５２０は、ヘッダ部５２１及びフレームデータ部５２２を有する。ヘッダ部５２１には、トリミング編集後における動画の属性情報が記録される。動画の属性情報は、基本的には図３（ａ）に示したヘッダ部３０１と同様であるが、トリミング編集後における動画の属性情報には、開始フレーム５２３及び終了フレーム５２４の情報を含む。フレームデータ部５２２は、図３（ａ）に示したフレームデータ部３０２と同様であり、図４（ａ）、図４（ｂ）、図５（ａ）等に一例を示したフレームデータが記録される。
【００２７】
次に、本実施形態における動画編集処理の動作について説明する。ＲＯＭ１４０に記録されているプログラムをＣＰＵ１１０が実行することにより、以下のフローチャートに示す動画編集処理が実現される。動画編集処理を実現するプログラムがＲＯＭ１４０に記録されているものとするが、これに限定されず、例えば、プログラムがメモリカード等の記録媒体１５０に記録されている形態でも良い。また、プログラムがネットワーク等を介して画像処理装置１００に供給される形態でも良い。
【００２８】
図６は、本実施形態における画像処理装置１００の動画編集処理の例を示すフローチャートである。図６に示す動画編集処理は、動画のトリミング機能とファイル切り出し保存機能とを有するアプリケーション２００の動作である。
【００２９】
動画編集処理を開始すると、ステップＳ６０１で、ＣＰＵ１１０は、ユーザによりトリミング設定ＵＩ２６０に対する操作が行われ、トリミングする領域を示すトリミング枠２７０が設定されたか否かを判定する。トリミング枠２７０が設定されたとＣＰＵ１１０が判定した場合（Ｙｅｓ）、処理はステップＳ６０２へ移行し、そうでない場合（Ｎｏ）、処理はステップＳ６０３へ移行する。
【００３０】
ステップＳ６０２で、ＣＰＵ１１０は、トリミング設定ＵＩ２６０に設定されたトリミング情報に基づいて、トリミング枠を動画のフレーム画像に重畳してプレビューエリア２２０に表示し、処理をステップＳ６０３に移行する。
【００３１】
ステップＳ６０３で、ＣＰＵ１１０は、ユーザによって動画再生の開始点を示すアイコン２５１に対する操作が行われて動画再生の開始点（イン点）の設定が行われた場合、動画再生の開始点を更新し、処理をステップＳ６０４に移行する。
【００３２】
ステップＳ６０４で、ＣＰＵ１１０は、ユーザによって動画再生の終了点を示すアイコン２５２に対する操作が行われて動画再生の終了点（アウト点）の設定が行われた場合、動画再生の終了点を更新し、処理をステップＳ６０５に移行する。なお、ステップＳ６０３、Ｓ６０４の処理を行う順序は、順不同である。
【００３３】
続いて、ステップＳ６０５で、ＣＰＵ１１０は、動画ファイルの生成処理を行う。動画ファイルの生成処理の詳細については、後述する。動画ファイルの生成処理が終了すると、図６に示した動画編集処理を終了する。
【００３４】
図７は、動画編集でのファイルの保存処理に関し、ユーザがオリジナル画角での画像データを保存するフレームを選択するためのオリジナル保存フレーム選択ダイアログ７１０の例を示す図である。ダイアログ７１０には、ユーザにオリジナル画角での画像データを保存するフレームの選択を促すメッセージ７１１が表示される。
【００３５】
また、ダイアログ７１０には、開始点及び終了点のそれぞれについてオリジナル画角での画像データが保存されるフレーム数をユーザが設定するためのシークバー７１２が表示される。ユーザが三角アイコン７１３をドラッグ＆ドロップすることにより、オリジナル画角での画像データを保存する、開始点から後のフレーム数及び終了点から前のフレーム数を設定することができ、設定されたフレーム数がテキストボックス７１４に表示される。また、ユーザがテキストボックス７１４にフレーム数をテキスト入力することにより、オリジナル画角での画像データを保存するフレーム数を設定することも可能である。
【００３６】
ダイアログ７１０が表示された際の初期状態は、シークバー７１２及びテキストボックス７１４の初期値として０が設定されているものとするが、初期値で所定のフレーム数が設定されていても良い。また、初期値として、前回の操作時に設定されたフレーム数と同じフレーム数を設定するようにしてもよい。ダイアログ７１０には、ＯＫボタン７１５及びキャンセルボタン７１６が表示される。ユーザがＯＫボタン７１５に対するクリック操作を行うことで、画像処理装置１００はファイルの保存処理を実行する。また、ユーザがキャンセルボタン７１６に対するクリック操作を行うことで、画像処理装置１００はファイルの保存処理をキャンセルして前の操作画面等に戻る。
【００３７】
次に、図８に示すフローチャートを用いて、第１の実施形態における図６に示したステップＳ６０５での動画ファイルの生成処理について説明する。図８は、第１の実施形態における動画ファイルの生成処理の例を示すフローチャートである。動画ファイルの生成処理では、ファイル保存を行う動画データ及びファイルに付帯するメタデータを決定し、動画ファイルを生成して保存する。なお、以下では、オリジナル画角での画像データをオリジナル画像データとも称し、トリミングした画像データをトリミング画像データとも称す。
【００３８】
ステップＳ８０１で、ＣＰＵ１１０は、入力される動画データにおける動作再生の開始点（イン点）を示す図２に示したアイコン２５１の位置に基づいて、動画データの切り出し区間の時間軸での開始点を取得し、処理をステップＳ８０２に移行する。
【００３９】
ステップＳ８０２で、ＣＰＵ１１０は、入力される動画データにおける動画再生の終了点（アウト点）を示す図２に示したアイコン２５２の位置に基づいて、動画データの切り出し区間の時間軸での終了点を取得し、処理をステップＳ８０３に移行する。ここで、ステップＳ８０１、Ｓ８０２の処理を行う順序は、順不同である。
【００４０】
ステップＳ８０３で、ＣＰＵ１１０は、図７に示したオリジナル保存フレーム選択ダイアログ７１０を起動して表示し、開始点及び終了点のそれぞれについてオリジナル画角でのオリジナル画像データを保存するフレーム数をユーザに設定させる。ユーザによる設定が終了した後、処理をステップＳ８０４に移行する。
【００４１】
以下に説明するステップＳ８０４〜Ｓ８０８の処理は、動画ファイルに保存するフレーム毎に実行される。ステップＳ８０４で、ＣＰＵ１１０は、保存する対象のフレームがオリジナル画像データを保存するフレームであるか否かを判定する。オリジナル画像データを保存するフレームであるとＣＰＵ１１０が判定した場合（Ｙｅｓ）、処理はステップＳ８０６に移行し、そうでない場合（Ｎｏ）、処理はステップＳ８０５に移行する。
【００４２】
ステップＳ８０５で、ＣＰＵ１１０は、トリミング設定ＵＩ２６０に設定されたトリミング情報に基づいて、保存対象のフレームに対するトリミング画像データを取得する。そして、ＣＰＵ１１０は、図４（ａ）に示したように、フレーム毎の属性情報とトリミング画像データで構成される動画のフレームデータ４００を生成し、処理をステップＳ８０７に移行する。
【００４３】
一方、ステップＳ８０６で、ＣＰＵ１１０は、トリミング設定ＵＩ２６０に設定されたトリミング情報と、保存対象のフレームに対するオリジナル画像データを取得する。そして、ＣＰＵ１１０は、図４（ｂ）に示したように、フレーム毎の属性情報に加え、トリミング情報とオリジナル画像データで構成される動画のフレームデータ４２０を生成し、処理をステップＳ８０７に移行する。
【００４４】
なお、ステップＳ８０６で、ＣＰＵ１１０は、設定されたトリミング情報に基づいて、保存対象のフレームに対するトリミング画像データも取得し、図５（ａ）に示したような動画のフレームデータ５００を生成するようにしてもよい。すなわち、ＣＰＵ１１０は、フレーム毎の属性情報に加え、トリミング情報、トリミング画像データ、及びオリジナル画像データで構成される動画のフレームデータ５００を生成するようにしてもよい。
【００４５】
ステップＳ８０７で、ＣＰＵ１１０は、ステップＳ８０５又はＳ８０６の処理で生成したフレームデータを、図５（ｂ）に示した動画データ５２０の形式で記録媒体１５０に保存し、処理をステップＳ８０８に移行する。
【００４６】
ステップＳ８０８で、ＣＰＵ１１０は、動画ファイルの保存が終了したか否か、言い換えれば動画ファイルに保存する保存対象のフレームのうち、保存していない（未処理の）フレームがあるか否かを判定する。動画ファイルの保存が終了していない、すなわち保存していない保存対象のフレームがあるとＣＰＵ１１０が判定した場合（Ｎｏ）、処理をステップＳ８０４に移行し、未処理のフレームに対しステップＳ８０４以降の処理を実行する。一方、動画ファイルの保存が終了した、すなわち未処理の保存対象のフレームがないとＣＰＵ１１０が判定した場合（Ｙｅｓ）、動画ファイルの生成処理を終了する。
【００４７】
第１の実施形態によれば、トリミング編集して動画データを記録する際、切り出し区間の開始点から後の所定の数のフレーム及び終了点から前の所定の数のフレームは、トリミング領域を示すトリミング情報とオリジナル画像データとが記録される。また、残りのフレームは、トリミング画像データが記録される。これにより、例えばトリミング編集した後に、動画の開始点や終了点において画角を変えるような効果を追加したい場合に、オリジナル画像データが保存されていることにより、オリジナルデータを探すことなく画角を変更することが可能となる。このように、後から画角の編集を行う可能性のあるフレームについてはオリジナル画像データを保存し、残りはトリミング画像データを保存することで、記録するデータ量は抑えつつ、後工程での画角編集が可能となる。
【００４８】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。第１の実施形態では、動画切り出し区間の開始点及び終了点における所定の数のフレームについてオリジナル画像データを保存することで、動画の開始点や終了点において後から画角を変更可能なトリミング動画の動画ファイルを生成する例を説明した。第２の実施形態では、動画ファイルの保存時にオリジナル画像データを保存するフレームを撮影時のメタデータに基づいて判断し、トリミング動画の動画ファイルを生成する例を説明する。
【００４９】
以下では、第２の実施形態における画像処理装置について、前述した第１の実施形態における画像処理装置と異なる点についてのみ説明する。第２の実施形態における画像処理装置と第１の実施形態における画像処理装置とは、図６に示したステップＳ６０５での動画ファイルの生成処理が異なる。
【００５０】
図９に示すフローチャートを用いて、第２の実施形態における、図６に示したステップＳ６０５での動画ファイルの生成処理のメタデータを利用した例について説明する。図９は、第２の実施形態における動画ファイルの生成処理の例を示すフローチャートである。動画ファイルの生成処理では、ファイル保存を行う動画データ及びファイルに付帯するメタデータを決定し、動画ファイルを生成して保存する。
【００５１】
ステップＳ９０１で、ＣＰＵ１１０は、入力される動画データにおける動作再生の開始点（イン点）を示す図２に示したアイコン２５１の位置に基づいて、動画データの切り出し区間の時間軸での開始点を取得し、処理をステップＳ９０２に移行する。
【００５２】
ステップＳ９０２で、ＣＰＵ１１０は、入力される動画データにおける動画再生の終了点（アウト点）を示す図２に示したアイコン２５２の位置に基づいて、動画データの切り出し区間の時間軸での終了点を取得し、処理をステップＳ９０３に移行する。ここで、ステップＳ９０１、Ｓ９０２の処理を行う順序は、順不同である。
【００５３】
ステップＳ９０３で、ＣＰＵ１１０は、入力される動画データからメタデータを取得し、処理をステップＳ９０４に移行する。このステップＳ９０３で取得するメタデータとは、入力される動画データの図３（ｂ）に示したフレームデータに含まれる、撮影姿勢に係るズーム、チルト、ロールの情報である。
【００５４】
以下に説明するステップＳ９０４〜Ｓ９０８の処理は、動画ファイルに保存するフレーム毎に実行される。ステップＳ９０４で、ＣＰＵ１１０は、取得したメタデータに基づいて、その保存対象のフレームが撮影姿勢に変化のあるフレームであるか否かを判定する。撮影姿勢に変化のあるフレームであるとＣＰＵ１１０が判定した場合（Ｙｅｓ）、処理はステップＳ９０６に移行し、そうでない場合（Ｎｏ）、処理はステップＳ９０５に移行する。
【００５５】
ステップＳ９０５で、ＣＰＵ１１０は、トリミング設定ＵＩ２６０に設定されたトリミング情報に基づいて、保存対象のフレームに対するトリミング画像データを取得する。そして、ＣＰＵ１１０は、図４（ａ）に示したように、フレーム毎の属性情報とトリミング画像データで構成される動画のフレームデータ４００を生成し、処理をステップＳ９０７に移行する。
【００５６】
一方、ステップＳ９０６で、ＣＰＵ１１０は、トリミング設定ＵＩ２６０に設定されたトリミング情報と、保存対象のフレームに対するオリジナル画像データを取得する。そして、ＣＰＵ１１０は、図４（ｂ）に示したように、フレーム毎の属性情報に加え、トリミング情報とオリジナル画像データで構成される動画のフレームデータ４２０を生成し、処理をステップＳ９０７に移行する。
【００５７】
なお、ステップＳ９０６で、ＣＰＵ１１０は、設定されたトリミング情報に基づいて、保存対象のフレームに対するトリミング画像データも取得し、図５（ａ）に示したような動画のフレームデータ５００を生成するようにしてもよい。すなわち、ＣＰＵ１１０は、フレーム毎の属性情報に加え、トリミング情報、トリミング画像データ、及びオリジナル画像データで構成される動画のフレームデータ５００を生成するようにしてもよい。
【００５８】
ステップＳ９０７で、ＣＰＵ１１０は、ステップＳ９０５又はＳ９０６の処理で生成したフレームデータを、図５（ｂ）に示した動画データ５２０の形式で記録媒体１５０に保存し、処理をステップＳ８０８に移行する。
【００５９】
ステップＳ９０８で、ＣＰＵ１１０は、動画ファイルの保存が終了したか否か、言い換えれば動画ファイルに保存する保存対象のフレームのうち、保存していない（未処理の）フレームがあるか否かを判定する。動画ファイルの保存が終了していないとＣＰＵ１１０が判定した場合（Ｎｏ）、処理をステップＳ９０４に移行し、未処理のフレームに対しステップＳ９０４以降の処理を実行する。一方、動画ファイルの保存が終了したとＣＰＵ１１０が判定した場合（Ｙｅｓ）、動画ファイルの生成処理を終了する。
【００６０】
なお、前述した第２の実施形態における例では、保存する動画ファイルにオリジナル画像データを記録するか、トリミング画像データを記録するかを、撮影姿勢に変化があるフレームであるか否かを基に決定している。これに限らず、例えば、音声の記録が有るフレームはオリジナル画像データを記録し、音声の記録が無いフレームはトリミング画像データを記録するようにしてもよい。また、トリミング領域内に動体が現れたフレームより前の所定の数のフレームとトリミング領域から動体が外れたフレームより後の所定の数のフレームはオリジナル画像データを記録し、その他のフレームはトリミング画像データを記録するようにしてもよい。また、これら撮影姿勢の変化、音声の記録の有無、動体の出現及び消失の判定を適宜組み合わせて、オリジナル画像データを記録するか、トリミング画像データを記録するかの決定を行うようにしてもよい。
【００６１】
第２の実施形態によれば、トリミング編集して動画データを記録する際、撮影姿勢に変化があるフレームはトリミング領域を示すトリミング情報とオリジナル画像データとが記録され、残りのフレームは、トリミング画像データが記録される。これにより、例えばトリミング編集した後に画角を変えるような効果を追加する可能性のより高いフレームについて、オリジナル画像データが保存されていることにより、オリジナルデータを探すことなく画角を変更することが可能となる。また、画角を変える可能性の低いフレームについてはトリミング画像データが保存されていることにより、記録するデータ量は抑えつつ、後工程での画角編集が可能となる。
【００６２】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。第１及び第２の実施形態では、時間軸上で切り出す区間内のフレームにおいて、オリジナル画像データを保存するか、トリミング画像データを保存するかを判断する例を説明した。第３の実施形態では、ユーザにより指定された時間軸上での切り出し区間に対して前の数フレームと後の数フレームのいずれか、又は両方において、オリジナル画像データを記録する例を説明する。このように動画を切り出す区間の前や後の所定の数のフレームについてオリジナル画像データを保存することで、切り出して保存したトリミング動画を再利用する際に、画角の変更を時間軸上の動画切り出し区間の前後でさらに追加することが可能となる。
【００６３】
以下では、第３の実施形態における画像処理装置について、前述した第１の実施形態における画像処理装置と異なる点についてのみ説明する。第３の実施形態における画像処理装置と第１の実施形態における画像処理装置とは、図６に示したステップＳ６０５での動画ファイルの生成処理が異なる。
【００６４】
図１０に示すフローチャートを用いて、第３の実施形態における、図６に示したステップＳ６０５での動画ファイルの生成処理の例について説明する。図１０は、第３の実施形態における動画ファイルの生成処理の例を示すフローチャートである。動画ファイルの生成処理では、切り出し区間より前及び後のフレームについてもオリジナル画像データを保存するフレームを設定可能にし、設定に従ってオリジナル画像データを保存し、動画ファイルを生成して保存する。
【００６５】
ステップＳ１００１で、ＣＰＵ１１０は、入力される動画データの各フレームデータから、撮影姿勢に係るメタデータ（ズーム、チルト、ロール）を取得し、処理をステップＳ１００２に移行する。
【００６６】
ステップＳ１００２で、ＣＰＵ１１０は、ステップＳ１００１において取得したメタデータのうち、切り出し区間の開始点付近におけるフレームのメタデータを参照し、開始点のフレームで撮影姿勢に変化があるか否かを判定する。開始点のフレームで撮影姿勢に変化があるとＣＰＵ１１０が判定した場合（Ｙｅｓ）、処理はステップＳ１００３に移行し、そうでない場合（Ｎｏ）、処理はステップＳ１００４に移行する。なお、切り出し区間の開始点は、前述した実施形態と同様にしてアイコン２５１の位置に基づいて予め取得されているものとする。
【００６７】
ステップＳ１００３で、ＣＰＵ１１０は、撮影姿勢の変化の開始位置を切り出しの開始フレームとして再設定し、処理をステップＳ１００４に移行する。ここで、ステップＳ１００３がスキップされる場合（ステップＳ１００２のＮｏ）、切り出しの開始フレームは、切り出し区間の開始点のフレームのままである。
【００６８】
ステップＳ１００４で、ＣＰＵ１１０は、ステップＳ１００１において取得したメタデータのうち、切り出し区間の終了点付近におけるフレームのメタデータを参照し、終了点のフレームで撮影姿勢に変化があるか否かを判定する。終了点のフレームで撮影姿勢に変化があるとＣＰＵ１１０が判定した場合（Ｙｅｓ）、処理はステップＳ１００５に移行し、そうでない場合（Ｎｏ）、処理はステップＳ１００６に移行する。なお、切り出し区間の終了点は、前述した実施形態と同様にしてアイコン２５２の位置に基づいて予め取得されているものとする。
【００６９】
ステップＳ１００５で、ＣＰＵ１１０は、撮影姿勢の変化の終了位置を切り出しの終了フレームとして再設定し、処理をステップＳ１００６に移行する。ここで、ステップＳ１００５がスキップされる場合（ステップＳ１００４のＮｏ）、切り出しの終了フレームは、切り出し区間の終了点のフレームのままである。
【００７０】
以下に説明するステップＳ１００６〜Ｓ１０１０の処理は、入力された動画ファイルから切り出して動画ファイルとして保存するフレーム毎に実行される。ステップＳ１００６で、ＣＰＵ１１０は、撮影姿勢に係るメタデータに基づいて、保存対象のフレームが撮影姿勢に変化のあるフレームであるか否かを判定する。撮影姿勢に変化のあるフレームであるとＣＰＵ１１０が判定した場合（Ｙｅｓ）、処理はステップＳ１００８に移行し、そうでない場合（Ｎｏ）、処理はステップＳ１００７に移行する。
【００７１】
ステップＳ１００７で、ＣＰＵ１１０は、トリミング設定ＵＩ２６０に設定されたトリミング情報に基づいて、保存対象のフレームに対するトリミング画像データを取得する。そして、ＣＰＵ１１０は、図４（ａ）に示したように、フレーム毎の属性情報とトリミング画像データで構成される動画のフレームデータ４００を生成し、処理をステップＳ１００９に移行する。
【００７２】
一方、ステップＳ１００８で、ＣＰＵ１１０は、トリミング設定ＵＩ２６０に設定されたトリミング情報と、保存対象のフレームに対するオリジナル画像データから解像度を落としたオリジナル画像データを取得する。そして、ＣＰＵ１１０は、図４（ｂ）に示したように、フレーム毎の属性情報に加え、トリミング情報と解像度を低下させたオリジナル画像データで構成される動画のフレームデータ４２０を生成し、処理をステップＳ１００９に移行する。
【００７３】
なお、ステップＳ１００８で、ＣＰＵ１１０は、設定されたトリミング情報に基づいて、保存対象のフレームに対するトリミング画像データも取得し、図５（ａ）に示したような動画のフレームデータ５００を生成するようにしてもよい。すなわち、ＣＰＵ１１０は、フレーム毎の属性情報に加え、トリミング情報、トリミング画像データ、及び解像度を低下させたオリジナル画像データで構成される動画のフレームデータ５００を生成するようにしてもよい。
【００７４】
ステップＳ１００９で、ＣＰＵ１１０は、ステップＳ１００７又はＳ１００８の処理で生成したフレームデータを、図５（ｂ）に示した動画データ５２０の形式で記録媒体１５０に保存し、処理をステップＳ１０１０に移行する。このとき、動画の切り出し区間については、ユーザが指定した動画再生の開始点を開始フレームとし、終了点を終了フレームとしてヘッダ部５２１に記録する。
【００７５】
ステップＳ１０１０で、ＣＰＵ１１０は、動画ファイルの保存が終了したか否か、言い換えれば動画ファイルに保存する保存対象のフレームのうち、保存していない（未処理の）フレームがあるか否かを判定する。動画ファイルの保存が終了していないとＣＰＵ１１０が判定した場合（Ｎｏ）、処理をステップＳ１００６に移行し、未処理のフレームに対しステップＳ１００６以降の処理を実行する。一方、動画ファイルの保存が終了したとＣＰＵ１１０が判定した場合（Ｙｅｓ）、動画ファイルの生成処理を終了する。
【００７６】
なお、前述した第３の実施形態における例では、時間軸上の切り出し区間の開始点及び終了点を、撮影姿勢の変化があるか否かによって再設定しているが、これに限らず、音声の記録があるか否かによって再設定するようにしてもよい。また、これら撮影姿勢の変化、音声の記録の有無の判定を組み合わせて、記録する開始点と終了点のフレームを決定するようにしてもよい。
【００７７】
第３の実施形態によれば、例えばトリミング編集した後に、動画の開始点より前のフレームや、動画の終了点より後のフレームについて画角を変える効果を追加したい場合に、オリジナルデータを探すことなく画角を変更することが可能である。このように、後から画角の編集を行う可能性のあるフレームについてはオリジナル画像データを保存し、残りはトリミング画像データを保存することで、記録するデータ量は抑えつつ、後工程での画角編集が可能となる。
【００７８】
前述した第１〜第３の実施形態では、動画ファイルの生成処理で生成される動画ファイルは、入力される動画ファイルとは別のファイルとして保存するものとする。なお、入力される動画ファイルに対して上書き保存を行うか、又は別のファイルとして保存するかを、ユーザが選択できるように構成してもよい。
【００７９】
なお、前述した第１及び第２の実施形態においても、第３の実施形態と同様に、ユーザにより指定された時間軸上での切り出し区間に対して前の数フレームと後の数フレームのいずれか、又は両方において、オリジナル画像データを記録するようにしてもよい。また、前述した第１〜第３の実施形態について、それぞれ独立したものに限らず、第１〜第３の実施形態を適宜組み合わせてもよい。
【００８０】
（本発明の他の実施形態）
本発明は、前述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００８１】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００８２】
１００：画像処理装置  １１０：ＣＰＵ  １２０：ＧＰＵ  １３０：ＲＡＭ  １４０：ＲＯＭ  １５０：記録媒体  １６０：操作部  １７０：表示部  １８０：バス
【図１】
2020178161.tif 000003
【図２】
2020178161.tif 000004
【図３】
2020178161.tif 000005
【図４】
2020178161.tif 000006
【図５】
2020178161.tif 000007
【図６】
2020178161.tif 000008
【図７】
2020178161.tif 000009
【図８】
2020178161.tif 000010
【図９】
2020178161.tif 000011
【図１０】
2020178161.tif 000012