JP2018037905A - 情報処理装置 - Google Patents
情報処理装置 Download PDFInfo
- Publication number
- JP2018037905A JP2018037905A JP2016170279A JP2016170279A JP2018037905A JP 2018037905 A JP2018037905 A JP 2018037905A JP 2016170279 A JP2016170279 A JP 2016170279A JP 2016170279 A JP2016170279 A JP 2016170279A JP 2018037905 A JP2018037905 A JP 2018037905A
- Authority
- JP
- Japan
- Prior art keywords
- moving image
- file
- mvi
- image file
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Television Signal Processing For Recording (AREA)
- Studio Devices (AREA)
Abstract
【課題】連続的に撮影された複数の動画ファイルの中の一部の動画ファイルが変更又は削除された場合においても、複数の動画ファイルを撮影順に対応付ける技術を提供する。【解決手段】情報処理装置は、ポインタ情報によって第一の動画ファイルと第二の動画ファイルとが対応付けられているか否かに基づいて、連続的に撮影されたか否かを判定するポインタ判定部と、ポインタ情報によって第一の動画ファイルと第二の動画ファイルとが対応付けられていない場合に、グループ情報が一致するか否かに基づいて、連続的に撮影されたか否かを判定するグループ判定部と、を有することを特徴とする。【選択図】図3
Description
本発明は情報処理装置に関する。
一般的な撮像装置では、DCF規格に従ってファイルを記録するので、ファイル名の並び
から連続して撮影された動画群であるかを検索できる。例えば、MVI_0001.MP4が連続して撮影された動画の先頭であった場合、MVI_0002.MP4が存在すれば、MVI_0001.MP4とMVI_0002.MP4は連続して撮影された動画群である可能性がある。それを判断する方法として、動画ファイルの関連情報を読み込み、 MVI_0001.MP4とMVI_0002.MP4が連続する動画である
かを判定する方法がある(例えば、特許文献1参照)。また、連続して撮影された動画ファイルの一部を編集、削除した場合においても、動画ファイルの関連性を識別する関連情報を更新して連続性を保つ方法がある(例えば、特許文献2参照)。
から連続して撮影された動画群であるかを検索できる。例えば、MVI_0001.MP4が連続して撮影された動画の先頭であった場合、MVI_0002.MP4が存在すれば、MVI_0001.MP4とMVI_0002.MP4は連続して撮影された動画群である可能性がある。それを判断する方法として、動画ファイルの関連情報を読み込み、 MVI_0001.MP4とMVI_0002.MP4が連続する動画である
かを判定する方法がある(例えば、特許文献1参照)。また、連続して撮影された動画ファイルの一部を編集、削除した場合においても、動画ファイルの関連性を識別する関連情報を更新して連続性を保つ方法がある(例えば、特許文献2参照)。
しかし、特許文献1では、動画ファイルの一部が削除された場合、動画ファイルが連続していることを特定できない。また、特許文献2では、自ソフトウェアで動画ファイルの一部を編集、削除した場合は連続性を保てるが、他ソフトウェアで動画ファイルの一部が編集、削除された場合、連続性を特定できない。
本発明は、連続的に撮影された複数の動画ファイルの中の一部の動画ファイルが変更又は削除された場合においても、複数の動画ファイルを撮影順に対応付ける技術を提供することを目的とする。
本発明は、連続的に撮影された複数の動画ファイルの中の一部の動画ファイルが変更又は削除された場合においても、複数の動画ファイルを撮影順に対応付ける技術を提供することを目的とする。
本発明の第一態様は、連続的に撮影された複数の動画ファイルを処理する情報処理装置であって、前記複数の動画ファイルの各々から、動画ファイルに先行又は後続する動画ファイルを対応付けるポインタ情報と、連続的に撮影された各々の動画ファイルが同一グループの動画ファイルであることを表すグループ情報と、を取得する取得部と、前記複数の動画ファイルの中の第一の動画ファイルと第二の動画ファイルとがポインタ情報によって対応付けられているか否かに基づいて、前記第一の動画ファイルと前記第二の動画ファイルとが連続的に撮影されたか否かを判定するポインタ判定部と、前記ポインタ情報によって前記第一の動画ファイルと前記第二の動画ファイルとが対応付けられていない場合に、前記第一の動画ファイル及び前記第二の動画ファイルのそれぞれに付加されたグループ情報が一致するか否かに基づいて、前記第一の動画ファイルと前記第二の動画ファイルとが連続的に撮影されたか否かを判定するグループ判定部と、を有することを特徴とする情報処理装置を提供する。
本発明の第二態様は、コンピュータが、連続的に撮影された複数の動画ファイルの各々から、動画ファイルに先行又は後続する動画ファイルを対応付けるポインタ情報と、連続的に撮影された各々の動画ファイルが同一グループの動画ファイルであることを表すグループ情報と、を取得するステップと、コンピュータが、前記複数の動画ファイルの中の第一の動画ファイルと第二の動画ファイルとがポインタ情報によって対応付けられているか否かに基づいて、前記第一の動画ファイルと前記第二の動画ファイルとが連続的に撮影さ
れたか否かを判定するステップと、コンピュータが、前記ポインタ情報によって前記第一の動画ファイルと前記第二の動画ファイルとが対応付けられていない場合に、前記第一の動画ファイル及び前記第二の動画ファイルのそれぞれに付加されたグループ情報が一致するか否かに基づいて、前記第一の動画ファイルと前記第二の動画ファイルとが連続的に撮影されたか否かを判定するステップと、を実行することを特徴とする情報処理方法を提供する。
本発明の第三態様は、本発明の第二態様に記載の情報処理方法の各ステップをコンピュータに実行させるためのプログラムを提供する。
本発明の第二態様は、コンピュータが、連続的に撮影された複数の動画ファイルの各々から、動画ファイルに先行又は後続する動画ファイルを対応付けるポインタ情報と、連続的に撮影された各々の動画ファイルが同一グループの動画ファイルであることを表すグループ情報と、を取得するステップと、コンピュータが、前記複数の動画ファイルの中の第一の動画ファイルと第二の動画ファイルとがポインタ情報によって対応付けられているか否かに基づいて、前記第一の動画ファイルと前記第二の動画ファイルとが連続的に撮影さ
れたか否かを判定するステップと、コンピュータが、前記ポインタ情報によって前記第一の動画ファイルと前記第二の動画ファイルとが対応付けられていない場合に、前記第一の動画ファイル及び前記第二の動画ファイルのそれぞれに付加されたグループ情報が一致するか否かに基づいて、前記第一の動画ファイルと前記第二の動画ファイルとが連続的に撮影されたか否かを判定するステップと、を実行することを特徴とする情報処理方法を提供する。
本発明の第三態様は、本発明の第二態様に記載の情報処理方法の各ステップをコンピュータに実行させるためのプログラムを提供する。
本発明によれば、連続的に撮影された複数の動画ファイルの中の一部の動画ファイルが変更又は削除された場合においても、複数の動画ファイルを撮影順に対応付けることができる。
以下、本発明の好ましい実施例について、図面を参照しながら詳細に説明する。各図において、同一の構成については原則として同一の参照番号をふり、重複する説明は省略する。また、説明を具体化するために例示する数値等は、特に言及しない限りは、これに限定するものではない。
なお、以下に説明する実施形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施形態に限定されるものではない。
なお、以下に説明する実施形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施形態に限定されるものではない。
<実施例1>
図1は、実施例1に係る撮像装置100のハードウェア構成を示すブロック図である。撮像装置100は、光学系101、撮像素子102、CPU103、一次記憶装置104、二次記憶装置105、記憶媒体106、表示部107、操作部108及び通信装置109から構成されている。
光学系101は、レンズ、シャッター、絞りから構成されていて、被写体からの光を適切な量とタイミングで撮像素子102に結像させる。撮像素子102は、光学系101を
通って結像した光を画像に変換する。CPU103は、入力された信号やプログラムに従って、各種の演算や、撮像装置100を構成する各部分の制御を行う。一次記憶装置104は、一時的なデータを記憶し、CPU103の作業用に使われる。二次記憶装置105は、撮像装置100を制御するためのプログラム(ファームウェア)や各種の設定情報などを記憶する。記憶媒体106は、撮影した画像データなどを記憶する。なお、撮影後に記憶媒体106は取り外すことが可能であり、パーソナルコンピュータ(以下、PC)などに装着してデータを読み出すことが可能である。つまり、撮像装置100は記憶媒体106へのアクセス手段を有し、記憶媒体106へのデータの読み書きが行えればよい。表示部107は、撮影時のビューファインダー画像の表示、撮影した画像の表示、対話的な操作のための文字表示などを行う。操作部108は、使用者の操作を受け付けるためのものである。操作部108は例えばボタンやレバー、タッチパネルなどを用いることが可能である。通信装置109は、外部装置と接続し制御コマンドやデータの送受信を行う。接続を確立し、データ通信するためのプロトコルとしては、例えば、PTP(Picture Transfer Protocol)やMTP(Media Transfer Protocol)が用いられる。なお、前記通信装置109は、例えばUSB(Universal Serial Bus)ケーブルなどの有線接続により通信を行ってもよい。また、無線LANなどの無線接続により通信を行ってもよい。また、外部装置と直接接続してもよいし、サーバを経由したり、インターネットなどのネットワークを介して外部装置と接続してもよい。
図1は、実施例1に係る撮像装置100のハードウェア構成を示すブロック図である。撮像装置100は、光学系101、撮像素子102、CPU103、一次記憶装置104、二次記憶装置105、記憶媒体106、表示部107、操作部108及び通信装置109から構成されている。
光学系101は、レンズ、シャッター、絞りから構成されていて、被写体からの光を適切な量とタイミングで撮像素子102に結像させる。撮像素子102は、光学系101を
通って結像した光を画像に変換する。CPU103は、入力された信号やプログラムに従って、各種の演算や、撮像装置100を構成する各部分の制御を行う。一次記憶装置104は、一時的なデータを記憶し、CPU103の作業用に使われる。二次記憶装置105は、撮像装置100を制御するためのプログラム(ファームウェア)や各種の設定情報などを記憶する。記憶媒体106は、撮影した画像データなどを記憶する。なお、撮影後に記憶媒体106は取り外すことが可能であり、パーソナルコンピュータ(以下、PC)などに装着してデータを読み出すことが可能である。つまり、撮像装置100は記憶媒体106へのアクセス手段を有し、記憶媒体106へのデータの読み書きが行えればよい。表示部107は、撮影時のビューファインダー画像の表示、撮影した画像の表示、対話的な操作のための文字表示などを行う。操作部108は、使用者の操作を受け付けるためのものである。操作部108は例えばボタンやレバー、タッチパネルなどを用いることが可能である。通信装置109は、外部装置と接続し制御コマンドやデータの送受信を行う。接続を確立し、データ通信するためのプロトコルとしては、例えば、PTP(Picture Transfer Protocol)やMTP(Media Transfer Protocol)が用いられる。なお、前記通信装置109は、例えばUSB(Universal Serial Bus)ケーブルなどの有線接続により通信を行ってもよい。また、無線LANなどの無線接続により通信を行ってもよい。また、外部装置と直接接続してもよいし、サーバを経由したり、インターネットなどのネットワークを介して外部装置と接続してもよい。
撮像装置100は、一度の撮影で連続的に生成された複数の動画ファイルを記憶媒体106に記録する。各々の動画ファイルには、DCF規格に従ってファイル名に撮影順序を示
す番号が付されている。このため、ファイル名の番号順に各動画ファイルを読み出すことで一つの動画として再生することが可能である。例えば、撮像装置100は、一度の撮影でMVI_0001.MP4、MVI_0002.MP4及びMVI_0003.MP4を順番に生成する。MVI_0001.MP4、MVI_0002.MP4及びMVI_0003.MP4のファイル名の番号順に読み出すことで一つの動画として再生される。
また、撮像装置100は、各々の動画ファイルにヘッダ情報を記録する。一度の撮影により生成された各動画ファイルは、ヘッダ情報により関連付けられる。ヘッダ情報に関しては後述する。
す番号が付されている。このため、ファイル名の番号順に各動画ファイルを読み出すことで一つの動画として再生することが可能である。例えば、撮像装置100は、一度の撮影でMVI_0001.MP4、MVI_0002.MP4及びMVI_0003.MP4を順番に生成する。MVI_0001.MP4、MVI_0002.MP4及びMVI_0003.MP4のファイル名の番号順に読み出すことで一つの動画として再生される。
また、撮像装置100は、各々の動画ファイルにヘッダ情報を記録する。一度の撮影により生成された各動画ファイルは、ヘッダ情報により関連付けられる。ヘッダ情報に関しては後述する。
図2は、実施例1に係るPC200のハードウェア構成を示すブロック図である。PC200は、表示部201と、操作部202と、CPU203と、一次記憶装置204と、二次記憶装置205と、通信装置206とから構成されている。各構成の基本的な機能は撮像装置100と同様であるから、ここでは詳細な説明は省略する。なお、表示部201にはLCDなどのディスプレイ装置が用いられる。また表示部201はPC200が備える必要はなく、PC200は表示部201の表示を制御する表示制御機能を有していればよい。さらに、操作部202としては、キーボードやマウスなどを用いることが可能である。例えば、動画ファイルを選択、再生、分割、削除するために使用される。
PC200は、撮像装置100の記憶媒体106に記録されている動画ファイルを取得し、二次記憶装置205に記録する。動画ファイルを取得した際にPC200は、各々の動画ファイルのヘッダ情報をファイル名の番号順に読み出し、ヘッダ情報を用いて各々の動画ファイルを撮影順に対応付ける。動画再生時においてPC200は、対応付けられた各動画ファイルを表示部201で連続的に再生する。なお、実施例1においては、後述する動画処理アプリ10は、PC200において動作するものとして説明する。
なお、上述では、PC200がヘッダ情報に基づいて各動画ファイルを対応付け、各動画ファイルを撮影順に連続的に再生することを説明したが、これに限定されない。例えば、撮像装置100がヘッダ情報に基づいて各々の動画ファイルを対応付け、各動画ファイルを撮影順に連続的に再生してもよい。すなわち、撮像装置100及びPC200は、情
報処理装置の一例である。
なお、上述では、PC200がヘッダ情報に基づいて各動画ファイルを対応付け、各動画ファイルを撮影順に連続的に再生することを説明したが、これに限定されない。例えば、撮像装置100がヘッダ情報に基づいて各々の動画ファイルを対応付け、各動画ファイルを撮影順に連続的に再生してもよい。すなわち、撮像装置100及びPC200は、情
報処理装置の一例である。
図3は、実施例1に係る動画処理アプリ10のソフトウェア構成を示す図である。動画処理アプリ10は、取得部11、ポインタ判定部12、グループ判定部13、再生部14、分割部15、結合部16及び複製部17を有する。図3に示す各機能は、CPU203が、二次記憶装置205に格納されたプログラムを実行することにより実現される。
動画ファイルのヘッダ部には、先行又は後続する動画ファイルを示すポインタ情報と、連続的に撮影された複数の動画ファイルにそれぞれ付加されるグループ情報が含まれる。ポインタ情報は、先行又は後続する動画ファイルを指定する情報である。例えば、ポインタ情報は、先行又は後続する動画ファイルの識別情報である。ポインタ情報は、連続性のある二つの動画ファイルに対し、いずれか一方又は両方に付与される。すなわち、ポインタ情報は、先行する一方のファイルにのみ付されてもよいし、後続する他方のファイルにのみ付されてもよい。ここで、「連続性がある動画ファイル」とは、一回の撮影で連続的に生成された動画ファイルを示す。
また、グループ情報とは、連続的に撮影された動画ファイルが同一グループであることを示す情報である。例えば、連続的に撮影された動画ファイルのそれぞれに、グループ情報「A」が付加される。また、その後、連続的に撮影された動画ファイルのそれぞれに、
グループ情報「B」が付加される。
取得部11は、記憶媒体106に記録されている各動画ファイルのヘッダ部をファイル名の番号順に読み出し、各動画ファイルに含まれるポインタ情報及びグループ情報を取得する機能を有する。
また、グループ情報とは、連続的に撮影された動画ファイルが同一グループであることを示す情報である。例えば、連続的に撮影された動画ファイルのそれぞれに、グループ情報「A」が付加される。また、その後、連続的に撮影された動画ファイルのそれぞれに、
グループ情報「B」が付加される。
取得部11は、記憶媒体106に記録されている各動画ファイルのヘッダ部をファイル名の番号順に読み出し、各動画ファイルに含まれるポインタ情報及びグループ情報を取得する機能を有する。
ポインタ判定部12は、各々の動画ファイルから取得されたポインタ情報に基づいて、記憶媒体106に記録されているうちの二つの動画ファイルが連続的に撮影されたか否かを判定する機能を有する。
グループ判定部13は、各々の動画ファイルから取得されたグループ情報に基づいて、ポインタ情報によって対応付けられなかった二つの動画ファイルが連続的に撮影されたか否かを判定する機能を有する。
再生部14は、ポインタ判定部12及びグループ判定部13による判定結果に基づいて、記憶媒体106に記録されている各動画ファイルを撮影順に読み出し、表示部201において再生する機能を有する。
グループ判定部13は、各々の動画ファイルから取得されたグループ情報に基づいて、ポインタ情報によって対応付けられなかった二つの動画ファイルが連続的に撮影されたか否かを判定する機能を有する。
再生部14は、ポインタ判定部12及びグループ判定部13による判定結果に基づいて、記憶媒体106に記録されている各動画ファイルを撮影順に読み出し、表示部201において再生する機能を有する。
分割部15は、一の動画ファイルを二の動画ファイルに分割する機能を有する。分割部15は、動画ファイルを分割して生成した新しい動画ファイルのヘッダ部に、識別情報、ポインタ情報、グループ情報を記録する。さらに、分割部15は、分割して生成された新しいファイルの前後のファイルが有するポインタ情報を更新する。
結合部16は、ポインタ情報によって対応付けられた二つのファイル、又は、グループ情報が一致する二つのファイルを結合させて一つのファイルとする機能を有する。
複製部17は、連続的に撮影された複数の動画ファイルのそれぞれを複製し、複製された複数の動画ファイルを撮影順に連結して複製動画ファイルを生成する機能を有する。複製動画ファイルは、動画ファイルの一部が欠損した場合などに、当該欠損した動画ファイル代わりに部分的に再生される。
結合部16は、ポインタ情報によって対応付けられた二つのファイル、又は、グループ情報が一致する二つのファイルを結合させて一つのファイルとする機能を有する。
複製部17は、連続的に撮影された複数の動画ファイルのそれぞれを複製し、複製された複数の動画ファイルを撮影順に連結して複製動画ファイルを生成する機能を有する。複製動画ファイルは、動画ファイルの一部が欠損した場合などに、当該欠損した動画ファイル代わりに部分的に再生される。
<動画ファイルの連続性の判定>
以下では、具体例を挙げて動画処理アプリ10の各処理部の処理について説明する。
図4は、連続的に撮影された動画ファイルの連続性を判定する手順を示す図である。ステップS301において、取得部11は、全ての動画ファイルのヘッダ部を読み込み、ポインタ情報及びグループ情報等を取得する。
具体的には、取得部11は、ファイル名の番号順に動画ファイルを読み込み、各ファイ
ルの拡張子を参照することでカレントファイルが動画ファイルか否かを判定する。ファイルの拡張子が「mp4」などであった場合、動画ファイルと判定し、当該動画ファイルのヘ
ッダ部からポインタ情報及びグループ情報等を取得する。一方、取得部11は、ファイルの拡張子が「jpg」などの動画ファイル以外であった場合、当該ファイルをスキップし、
次のファイルの処理に移る。
以下では、具体例を挙げて動画処理アプリ10の各処理部の処理について説明する。
図4は、連続的に撮影された動画ファイルの連続性を判定する手順を示す図である。ステップS301において、取得部11は、全ての動画ファイルのヘッダ部を読み込み、ポインタ情報及びグループ情報等を取得する。
具体的には、取得部11は、ファイル名の番号順に動画ファイルを読み込み、各ファイ
ルの拡張子を参照することでカレントファイルが動画ファイルか否かを判定する。ファイルの拡張子が「mp4」などであった場合、動画ファイルと判定し、当該動画ファイルのヘ
ッダ部からポインタ情報及びグループ情報等を取得する。一方、取得部11は、ファイルの拡張子が「jpg」などの動画ファイル以外であった場合、当該ファイルをスキップし、
次のファイルの処理に移る。
なお、取得部11は、ほかの方法で動画ファイルか否かを判定してもよい。例えば、取得部11は、動画ファイルのメタデータを参照して動画ファイルであるか否かを判定してもよい。また、取得部11は、ライブラリを使用して動画ファイルであるか否かを判定してもよい。
なお、以下では、現在動画処理アプリ10の処理の対象となっているカレントファイルを「n」とし、その次の番号のファイルを「n+1」とし、その前の番号のファイルを「n-1
」と示す場合がある。また、動画ファイルのみをカウントする対象としている。例えば、カレントファイルの次の番号のファイルが静止画ファイルの場合、当該静止画ファイルを「n+1」としない。
また、以下では、取得部11により動画ファイルと判定されたファイルを「動画」という場合がある。
なお、以下では、現在動画処理アプリ10の処理の対象となっているカレントファイルを「n」とし、その次の番号のファイルを「n+1」とし、その前の番号のファイルを「n-1
」と示す場合がある。また、動画ファイルのみをカウントする対象としている。例えば、カレントファイルの次の番号のファイルが静止画ファイルの場合、当該静止画ファイルを「n+1」としない。
また、以下では、取得部11により動画ファイルと判定されたファイルを「動画」という場合がある。
ステップS302において、動画処理アプリ10は、動画ファイルの中でファイル名の番号が最初の動画ファイルをカレントファイル(動画n)とする。なお、この場合のカレント
ファイルは1番目の動画ファイルであるから、nには「1」が格納される。
ステップS303において、ポインタ判定部12は、動画n及び動画n+1に連続性があるか否かをポインタ情報NID、UIDにより判定する。この判定処理ならびにNID、UIDについては、後述する。ステップS304において、動画処理アプリ10は、動画n及び動画n+1に連続性があると判定した場合、ステップS305の処理に移行し、動画n及び動画n+1に連続性がないと判定した場合、ステップS307の処理に移行する。
ステップS304で連続性があると判定された場合、ステップS305において、動画処理アプリ10は、動画n+1をカレントファイル(動画n)とする。そして、ステップS306において、動画処理アプリ10は、動画n+1が存在するか否かを判定する。動画ファイルn+1が存在する場合、ポインタ判定部12は、動画n及び動画n+1に対してステップS303の判定処理を行う。動画n+1が存在しない場合、動画処理アプリ10は、ステップS311の処理に移行す
る。
ファイルは1番目の動画ファイルであるから、nには「1」が格納される。
ステップS303において、ポインタ判定部12は、動画n及び動画n+1に連続性があるか否かをポインタ情報NID、UIDにより判定する。この判定処理ならびにNID、UIDについては、後述する。ステップS304において、動画処理アプリ10は、動画n及び動画n+1に連続性があると判定した場合、ステップS305の処理に移行し、動画n及び動画n+1に連続性がないと判定した場合、ステップS307の処理に移行する。
ステップS304で連続性があると判定された場合、ステップS305において、動画処理アプリ10は、動画n+1をカレントファイル(動画n)とする。そして、ステップS306において、動画処理アプリ10は、動画n+1が存在するか否かを判定する。動画ファイルn+1が存在する場合、ポインタ判定部12は、動画n及び動画n+1に対してステップS303の判定処理を行う。動画n+1が存在しない場合、動画処理アプリ10は、ステップS311の処理に移行す
る。
ここで、ステップS306において動画ファイルが存在しない場合とは、例えば、全ての動画ファイルの処理が完了した場合である。なお、ステップS310においても同様である。
なお、S305及びS306において、動画処理アプリ10は、カレントファイル(動画n)の
次の動画n+1を示すポインタ情報NIDに値が格納されているか否かによって、カレントファイルが最終であるか否かを判定してもよい。
ステップS304において、動画n及び動画n+1に連続性が無いと判定された場合、ステップS307において、グループ判定部13は、動画n及び動画n+1に連続性があるかをGIDで判定
する。この判定処理ならびにGIDについては、後述する。
なお、S305及びS306において、動画処理アプリ10は、カレントファイル(動画n)の
次の動画n+1を示すポインタ情報NIDに値が格納されているか否かによって、カレントファイルが最終であるか否かを判定してもよい。
ステップS304において、動画n及び動画n+1に連続性が無いと判定された場合、ステップS307において、グループ判定部13は、動画n及び動画n+1に連続性があるかをGIDで判定
する。この判定処理ならびにGIDについては、後述する。
ステップS308において、連続性があると判定された場合、動画処理アプリ10は、ステップS309において、動画n+1をカレントファイル(動画n)とする。そして、ステップS310において、動画処理アプリ10は、動画n+1が存在するか否かを判定する。動画ファイ
ルが存在する場合、ポインタ判定部12は、動画n及び動画n+1に対し、ステップS303の判定処理を行う。動画ファイルが存在しない場合、動画処理アプリ10は、ステップS311の処理に移行する。
ステップS308で連続性が無いと判定された場合、動画処理アプリ10は、ステップS311において、ステップS303及びステップS307の処理で連続性があると判定された動画を連続
撮影されたひとまとまりの動画として設定する。
ステップS312において、動画処理アプリ10は、全動画を処理したか否かを判定する。全動画を処理した場合、動画処理アプリは処理を完了させる。また、処理していない動画がある場合、動画処理アプリ10は、次のグループの動画に対し、ステップS303以降の処理を実行する。
なお、ステップS303において、ポインタ判定部12は、動画n及び動画n+1に連続性があるか否かを判定したが、これに限定されない。例えば、ポインタ判定部12は、動画n-1
及び動画nに連続性があるかを判定してもよい。この場合、ステップS302において、最後
の番号の動画をカレントファイル(動画n)とする。また、ステップS305及びステップS309において、動画n-1をカレントファイル(動画n)とする。また、ステップS306及びステ
ップS310において、動画n+1が存在するか否かを判定する。
ルが存在する場合、ポインタ判定部12は、動画n及び動画n+1に対し、ステップS303の判定処理を行う。動画ファイルが存在しない場合、動画処理アプリ10は、ステップS311の処理に移行する。
ステップS308で連続性が無いと判定された場合、動画処理アプリ10は、ステップS311において、ステップS303及びステップS307の処理で連続性があると判定された動画を連続
撮影されたひとまとまりの動画として設定する。
ステップS312において、動画処理アプリ10は、全動画を処理したか否かを判定する。全動画を処理した場合、動画処理アプリは処理を完了させる。また、処理していない動画がある場合、動画処理アプリ10は、次のグループの動画に対し、ステップS303以降の処理を実行する。
なお、ステップS303において、ポインタ判定部12は、動画n及び動画n+1に連続性があるか否かを判定したが、これに限定されない。例えば、ポインタ判定部12は、動画n-1
及び動画nに連続性があるかを判定してもよい。この場合、ステップS302において、最後
の番号の動画をカレントファイル(動画n)とする。また、ステップS305及びステップS309において、動画n-1をカレントファイル(動画n)とする。また、ステップS306及びステ
ップS310において、動画n+1が存在するか否かを判定する。
次に、動画ファイルの構造に関して例示して説明する。
図5A〜図5Cは、ポインタ情報及びグループ情報を例示する図である。二次記憶装置205には、連続して撮影された動画ファイルが3ファイル記録されているものとする。
図5A右は、動画ファイルのヘッダ部に記録された情報を示す。動画ファイルのヘッダ部に記録された情報の項目としてUnique ID(UID)、Next ID(NID)、Previous ID(PID)、Group ID(GID)の4つのIDが存在する。UIDとは、ファイルを表す一意の情報である。NIDとは、ファイル番号がひとつ後の動画ファイル(動画n+1)のUIDを指すためのIDである。PID
とは、ファイル番号がひとつ前の動画ファイル(動画n-1)のUIDを指すためのIDである。GIDとは連続して撮影されたファイルが同じグループであることを示すためのIDである。
以下では、UID、NID、PID及びGIDをID群ということがある。なお、NID及びPIDは、ポインタ情報の一例である。また、GIDは、グループ情報の一例である。また、UIDは、識別情報の一例である。
図5A〜図5Cは、ポインタ情報及びグループ情報を例示する図である。二次記憶装置205には、連続して撮影された動画ファイルが3ファイル記録されているものとする。
図5A右は、動画ファイルのヘッダ部に記録された情報を示す。動画ファイルのヘッダ部に記録された情報の項目としてUnique ID(UID)、Next ID(NID)、Previous ID(PID)、Group ID(GID)の4つのIDが存在する。UIDとは、ファイルを表す一意の情報である。NIDとは、ファイル番号がひとつ後の動画ファイル(動画n+1)のUIDを指すためのIDである。PID
とは、ファイル番号がひとつ前の動画ファイル(動画n-1)のUIDを指すためのIDである。GIDとは連続して撮影されたファイルが同じグループであることを示すためのIDである。
以下では、UID、NID、PID及びGIDをID群ということがある。なお、NID及びPIDは、ポインタ情報の一例である。また、GIDは、グループ情報の一例である。また、UIDは、識別情報の一例である。
図5A〜図5Cを用いてポインタ情報及びグループ情報の具体例について説明する。図5A左の例のように、DCF規格に従って左から順に連番でMVI_0001.MP4、MVI_0002.MP4、MVI_0003.JPG、MVI_0004.MP4、MVI_0005.MP4及びMVI_0006.MP4が付与されている。
まず、取得部11は、ファイル名順で最初のファイルであるMVI_0001.MP4のID群を取得する。続いて、取得部11は、ファイル名順で次のファイルであるMVI_0002.MP4のID群を取得する。続いて、取得部11は、ファイル名順で次のファイルであるMVI_0003.JPGの拡張子が「JPG」であるため、スキップし、次のファイルの処理に移る。続いて、取得部1
1は、ファイル名順で次のファイルであるMVI_0004.MP4のID群を取得する。
このように、取得部11は、MVI_0001.MP4、MVI_0002.MP4及びMVI_0004.MP4のID群を取得する。このとき、取得部11により取得された情報は、図5A右に示される。
まず、取得部11は、ファイル名順で最初のファイルであるMVI_0001.MP4のID群を取得する。続いて、取得部11は、ファイル名順で次のファイルであるMVI_0002.MP4のID群を取得する。続いて、取得部11は、ファイル名順で次のファイルであるMVI_0003.JPGの拡張子が「JPG」であるため、スキップし、次のファイルの処理に移る。続いて、取得部1
1は、ファイル名順で次のファイルであるMVI_0004.MP4のID群を取得する。
このように、取得部11は、MVI_0001.MP4、MVI_0002.MP4及びMVI_0004.MP4のID群を取得する。このとき、取得部11により取得された情報は、図5A右に示される。
図5A右においてMVI_0001.MP4に関し、PIDは0000となっているため、ポインタ判定部
12は、一度の撮影で生成された複数の動画ファイルのうちの先頭の動画と判定する。すなわち、PIDにUIDが入っていない場合(PIDが0000の場合)、動画n(カレントファイル)が最初の動画と判定する。
また、MVI_0001.MP4に関し、NIDはA5ED7D43であるため、後続する動画n+1があると判定する。すなわち、ポインタ判定部12は、NIDにUIDが入っている場合(NIDが0000以外で
ある場合)、後続する動画n+1があると判定し、NIDにUIDが入っていない場合、動画n(カレントファイル)が最後の動画と判定する。
続いて、破線の矢印で示したように、MVI_0002.MP4のPIDとMVI_0001.MP4のUIDとが一致するので、ポインタ判定部12は、MVI_0001.MP4及びMVI_0002.MP4が連続して撮影されていると判定する。なお、ポインタ判定部12は、実線の矢印で示したMVI_0001.MP4のNID
及びMVI_0002.MP4のUIDとが一致しているか否かにより、MVI_0001.MP4及びMVI_0002.MP4
の連続性を判定しても良い。
続いて、MVI_0002.MP4のNIDがB7C89E1Bであるため、ポインタ判定部12は、この動画
ファイルMVI_0002.MP4の後続する動画n+1が存在することを判定する。
なお、ファイル名順で次にMVI_0003.JPGが存在するが、先述したようにMVI_0003.JPGは動画ファイルでないため、取得部11によってMVI_0003.JPGのID群は取得されていない。
12は、一度の撮影で生成された複数の動画ファイルのうちの先頭の動画と判定する。すなわち、PIDにUIDが入っていない場合(PIDが0000の場合)、動画n(カレントファイル)が最初の動画と判定する。
また、MVI_0001.MP4に関し、NIDはA5ED7D43であるため、後続する動画n+1があると判定する。すなわち、ポインタ判定部12は、NIDにUIDが入っている場合(NIDが0000以外で
ある場合)、後続する動画n+1があると判定し、NIDにUIDが入っていない場合、動画n(カレントファイル)が最後の動画と判定する。
続いて、破線の矢印で示したように、MVI_0002.MP4のPIDとMVI_0001.MP4のUIDとが一致するので、ポインタ判定部12は、MVI_0001.MP4及びMVI_0002.MP4が連続して撮影されていると判定する。なお、ポインタ判定部12は、実線の矢印で示したMVI_0001.MP4のNID
及びMVI_0002.MP4のUIDとが一致しているか否かにより、MVI_0001.MP4及びMVI_0002.MP4
の連続性を判定しても良い。
続いて、MVI_0002.MP4のNIDがB7C89E1Bであるため、ポインタ判定部12は、この動画
ファイルMVI_0002.MP4の後続する動画n+1が存在することを判定する。
なお、ファイル名順で次にMVI_0003.JPGが存在するが、先述したようにMVI_0003.JPGは動画ファイルでないため、取得部11によってMVI_0003.JPGのID群は取得されていない。
続いて、MVI_0004.MP4のPIDとMVI_0002.MP4のUIDとが一致するので、ポインタ判定部12は、MVI_0002.MP4とMVI_0004.MP4が連続して撮影されていると判定する。さらには、ポインタ判定部12は、MVI_0004.MP4のNIDが0000であるため、MVI_0004.MP4が最後の動画
であると判定する。このようにして、ポインタ判定部12の処理によって、MVI_0001.MP4、MVI_0002.MP4及びMVI_0004.MP4が連続して撮影された動画ファイルであることが分かる。
であると判定する。このようにして、ポインタ判定部12の処理によって、MVI_0001.MP4、MVI_0002.MP4及びMVI_0004.MP4が連続して撮影された動画ファイルであることが分かる。
次に、動画ファイルの一部が削除された場合に動画の連続性を特定する方法について説明する。図5Bは、2番目のMVI_0002.MP4が削除された場合の例を示す。
まず、ポインタ判定部12は、ファイル名の番号順でMVI_0001.MP4及びMVI_0004.MP4のUID、NID及びPIDを比較することで、MVI_0001.MP4及びMVI_0004.MP4の連続性を判定する
。この場合、MVI_0001.MP4のNIDは、MVI_0004.MP4のUIDと一致しない。また、MVI_0004.MP4のPIDは、MVI_0001.MP4のUIDと一致しない。このため、ポインタ判定部12は、MVI_0001.MP4及びMVI_0004.MP4に連続性はないと判定する。
続いて、図5Cのように、グループ判定部13は、MVI_0001.MP4及びMVI_0004.MP4のGIDを比較する。グループ判定部13は、MVI_0001.MP4及びMVI_0004.MP4のGIDが「A」で一
致しており、同じグループに属するため、MVI_0001.MP4及びMVI_0004.MP4に連続性があると判定する。
まず、ポインタ判定部12は、ファイル名の番号順でMVI_0001.MP4及びMVI_0004.MP4のUID、NID及びPIDを比較することで、MVI_0001.MP4及びMVI_0004.MP4の連続性を判定する
。この場合、MVI_0001.MP4のNIDは、MVI_0004.MP4のUIDと一致しない。また、MVI_0004.MP4のPIDは、MVI_0001.MP4のUIDと一致しない。このため、ポインタ判定部12は、MVI_0001.MP4及びMVI_0004.MP4に連続性はないと判定する。
続いて、図5Cのように、グループ判定部13は、MVI_0001.MP4及びMVI_0004.MP4のGIDを比較する。グループ判定部13は、MVI_0001.MP4及びMVI_0004.MP4のGIDが「A」で一
致しており、同じグループに属するため、MVI_0001.MP4及びMVI_0004.MP4に連続性があると判定する。
このように、ポインタ判定部12は、MVI_0001.MP4及びMVI_0004.MP4のID群により対応付けることができないため、MVI_0001.MP4及びMVI_0004.MP4が同じグループであることを判定できない。一方、MVI_0001.MP4及びMVI_0004.MP4は同じGID「A」が設定されているので、グループ判定部13は、MVI_0001.MP4及びMVI_0004.MP4を同じグループとして対応付けることができる。
これにより、例えば、連続する動画の中の一部の動画がExplorer/Finder等の他ソフト
ウェアで削除されたとしても、削除された動画の前後の動画を対応付けることができる。
なお、ここでは説明を省略したが、MVI_0005.MP4及びMVI_0006.MP4は、MVI_0001.MP4及び MVI_0004.MP4と別のタイミングで撮影された動画ファイルであるため、GIDは異なる。よって、グループ判定部13によってMVI_0005.MP4及びMVI_0006.MP4が、MVI_0001.MP4及びMVI_0004.MP4と同じグループと判定されることはない。
なお、図5A〜図5Cでは、DCF規格に従って各々の動画ファイルに付与されたファイ
ル名の並びから、取得部11が次の動画を取得する例を挙げたが、これに限定されない。例えば、取得部11は、各々のファイルの撮影順序を示す任意のライブラリを使用して次に見つかった動画ファイルからID群を取得してもよい。
なお、動画ファイルのNIDが0x00、かつ、PIDが0x00の場合、ポインタ判定部12は、当該動画ファイル(動画n)の前後に動画ファイル(動画n-1及び動画n+1)がないと判定す
る。すなわち、動画nは、独立した動画ファイルとして扱われる。
ウェアで削除されたとしても、削除された動画の前後の動画を対応付けることができる。
なお、ここでは説明を省略したが、MVI_0005.MP4及びMVI_0006.MP4は、MVI_0001.MP4及び MVI_0004.MP4と別のタイミングで撮影された動画ファイルであるため、GIDは異なる。よって、グループ判定部13によってMVI_0005.MP4及びMVI_0006.MP4が、MVI_0001.MP4及びMVI_0004.MP4と同じグループと判定されることはない。
なお、図5A〜図5Cでは、DCF規格に従って各々の動画ファイルに付与されたファイ
ル名の並びから、取得部11が次の動画を取得する例を挙げたが、これに限定されない。例えば、取得部11は、各々のファイルの撮影順序を示す任意のライブラリを使用して次に見つかった動画ファイルからID群を取得してもよい。
なお、動画ファイルのNIDが0x00、かつ、PIDが0x00の場合、ポインタ判定部12は、当該動画ファイル(動画n)の前後に動画ファイル(動画n-1及び動画n+1)がないと判定す
る。すなわち、動画nは、独立した動画ファイルとして扱われる。
図6は、NID、UIDによりファイルの連続性を判定する手順を示す図である。図6のフローは、図4のステップS303の処理に対応する。ステップS501において、ポインタ判定部12は、動画nのNIDが動画n+1のUIDと一致するか否かを判定する。なお、ポインタ判定部12は、動画nのUIDが動画n+1のPIDと一致するかを確認しても良いものとする。ポインタ判定部12は、一致する場合、ステップS502において、動画n及び動画n+1が連続していると判定する。
図7は、GIDによりファイルの連続性を判定する手順を示す図である。図7のフローは
、図4のステップS307の処理に対応する。ステップS601において、グループ判定部13は、動画nのGID及び動画n+1のGIDが一致するか否かを判定する。グループ判定部13は、一致する場合、ステップS602において、動画n及び動画n+1が連続していると判定する。
図7は、GIDによりファイルの連続性を判定する手順を示す図である。図7のフローは
、図4のステップS307の処理に対応する。ステップS601において、グループ判定部13は、動画nのGID及び動画n+1のGIDが一致するか否かを判定する。グループ判定部13は、一致する場合、ステップS602において、動画n及び動画n+1が連続していると判定する。
再生部14は、図4、図6及び図7のフローにより連続性があると判定された動画ファイルをファイル名の番号順に再生する。また、再生部14は、図5Bのように中間の動画ファイルが欠損している場合、中間の動画ファイルの部分を飛ばして動画を再生してもよい。
<ファイル分割>
一部の動画ファイルを分割する場合について説明する。上述したように、分割部15は、一の動画ファイルを二以上の動画ファイルに分割する機能を有する。分割部15は、分割されて生成された新規の動画ファイルに対し、識別情報(UID)、ポインタ情報(PID、NID)及びグループ情報(GID)を付加する。また、分割部15は、当該新規の動画ファイル(動画n)の前後の動画ファイル(動画n-1、動画n+1)のポインタ情報(PID、NID)を
更新する。
例えば、FATファイルシステムなどのファイルサイズの上限値が小さい環境においても
動画ファイルを使用できるように、分割部15により、あらかじめサイズが大きい動画ファイルを分割させてもよい。
一部の動画ファイルを分割する場合について説明する。上述したように、分割部15は、一の動画ファイルを二以上の動画ファイルに分割する機能を有する。分割部15は、分割されて生成された新規の動画ファイルに対し、識別情報(UID)、ポインタ情報(PID、NID)及びグループ情報(GID)を付加する。また、分割部15は、当該新規の動画ファイル(動画n)の前後の動画ファイル(動画n-1、動画n+1)のポインタ情報(PID、NID)を
更新する。
例えば、FATファイルシステムなどのファイルサイズの上限値が小さい環境においても
動画ファイルを使用できるように、分割部15により、あらかじめサイズが大きい動画ファイルを分割させてもよい。
次に、ファイル分割の手順について説明する。
図8は、動画ファイルの一部を分割する処理の手順を示す図である。ステップS701において、分割部23は、連続して撮影された動画A及びBを読み込む。ここでは、動画A及びBは、一回の撮影で連続して生成された動画で、動画A、Bの順番で撮像装置で生成されたものとする。すなわち、動画Aを動画nとしたとき、動画Bは動画n+1である。
ステップS702において、分割部23は、動画Aを動画A1とA2に分割する指示を生成する
。ステップS703において、分割部23は、動画Aを動画Aの前半部分に対応する動画A1に更新する。また、ステップS704において、分割部23は、動画Aの後半部分に対応する動画A2を別ファイルとして新規に作成する。すなわち、分割部23は、動画Aの後半部分を切り取ることで動画A2を作成する。ステップS705において、分割部23は、動画A1、A2及びB
のUID、NID、PID、GIDを更新する。なお、分割部23は、動画A1、Bに関してはNID及びPIDを更新する。このとき、動画A1、A2、Bは順番に動画n、動画n+1、動画n+2の関係となる
。なお、各動画ファイルのID群をどのように更新するかについては、後述する。
図8は、動画ファイルの一部を分割する処理の手順を示す図である。ステップS701において、分割部23は、連続して撮影された動画A及びBを読み込む。ここでは、動画A及びBは、一回の撮影で連続して生成された動画で、動画A、Bの順番で撮像装置で生成されたものとする。すなわち、動画Aを動画nとしたとき、動画Bは動画n+1である。
ステップS702において、分割部23は、動画Aを動画A1とA2に分割する指示を生成する
。ステップS703において、分割部23は、動画Aを動画Aの前半部分に対応する動画A1に更新する。また、ステップS704において、分割部23は、動画Aの後半部分に対応する動画A2を別ファイルとして新規に作成する。すなわち、分割部23は、動画Aの後半部分を切り取ることで動画A2を作成する。ステップS705において、分割部23は、動画A1、A2及びB
のUID、NID、PID、GIDを更新する。なお、分割部23は、動画A1、Bに関してはNID及びPIDを更新する。このとき、動画A1、A2、Bは順番に動画n、動画n+1、動画n+2の関係となる
。なお、各動画ファイルのID群をどのように更新するかについては、後述する。
なお、図8の例では動画ファイルを分割する場合、元の動画ファイルを残し、このファイルとは別に新規に動画ファイルを作成する場合について述べたが、これに限定されない。分割部23は、分割された動画A1及び動画A2ともに新規のファイルとして作成しても良い。また、分割部23は、上記処理を繰り返し行うことにより動画ファイルをN個に分割
することができる。また、動画ファイルを分割する以外に、不要な前後シーンをカットする中抜きという方法もあるが、この場合、動画ファイルの個数が増えるわけではないため、UID、NID、PID、GIDを更新しなくても残りの動画ファイルとの連続性を保持できる。
することができる。また、動画ファイルを分割する以外に、不要な前後シーンをカットする中抜きという方法もあるが、この場合、動画ファイルの個数が増えるわけではないため、UID、NID、PID、GIDを更新しなくても残りの動画ファイルとの連続性を保持できる。
図9は、動画ファイルの一部が分割された場合のID群の更新手順を示す図である。図9のフローは、図9のステップS705の処理に対応する。ステップS801において、分割部23は、動画A2のUIDを新規に設定する。ステップS802において、分割部23は、動画A2のNIDに動画BのUIDを設定する。ステップS803において、分割部23は、動画A2のPIDに動画A1
のUIDを設定する。ステップS804において、分割部23は、動画A2のGIDに分割前の動画A
のGIDを設定する。なお、分割部23は、ステップS804において、動画A2のPIDに動画A1又はBのGIDを設定してもよい。ステップS805において、分割部23は、動画A1のNIDに動画A2のUIDを設定する。ステップS806において、分割部23は、動画BのPIDに動画A2のUIDを
設定する。これにより、動画処理アプリ10は、動画A1、A2及びBの連続性を保持するこ
とができる。
のUIDを設定する。ステップS804において、分割部23は、動画A2のGIDに分割前の動画A
のGIDを設定する。なお、分割部23は、ステップS804において、動画A2のPIDに動画A1又はBのGIDを設定してもよい。ステップS805において、分割部23は、動画A1のNIDに動画A2のUIDを設定する。ステップS806において、分割部23は、動画BのPIDに動画A2のUIDを
設定する。これにより、動画処理アプリ10は、動画A1、A2及びBの連続性を保持するこ
とができる。
図10A及び図10Bは、動画ファイルの一部を分割する一例を示す図である。MVI_0001.MP4、MVI_0002.MP4及びMVI_0004.MP4が一回の撮影で連続して生成された動画ファイルであるとする。図10Aは、分割前の動画ファイルの例である。一方、図10Bは、分割部23により、2番目のMVI_0002.MP4が分割されて、MVI_0002_2.MP4が新規に作成された
場合の例である。
図10B左に示すように、分割部23は、MVI_0002.MP4を分割してMVI_0002_2.MP4を生成する。続いて、図10B右に示すように、分割部23は、UID「82E3E733」を新規に発
行し、MVI_0002_2.MP4に付与する。また、分割部23は、MVI_0002.MP4のGID「A」を複製し、MVI_0002_2.MP4のGIDとして付与する。また、分割部23は、MVI_0002_2.MP4のPIDにMVI_0002.MP4のUID「A5ED7D43」を設定する。また、分割部23は、MVI_0002_2.MP4のNIDにMVI_0004.MP4のUID「B7C89E1B」を設定する。
さらに、分割部23は、MVI_0002_2.MP4より前のMVI_0002.MP4のNIDをMVI_0002_2.MP4
のUID「82E3E733」に更新する。また、分割部23は、MVI_0002_2.MP4より後のMVI_0004.MP4のPIDをMVI_0002_2.MP4のUID「82E3E733」に更新する。
これにより、動画ファイルの一部が分割された場合もID群が適切に更新されるので、各動画ファイルの連続性を保つことができる。
場合の例である。
図10B左に示すように、分割部23は、MVI_0002.MP4を分割してMVI_0002_2.MP4を生成する。続いて、図10B右に示すように、分割部23は、UID「82E3E733」を新規に発
行し、MVI_0002_2.MP4に付与する。また、分割部23は、MVI_0002.MP4のGID「A」を複製し、MVI_0002_2.MP4のGIDとして付与する。また、分割部23は、MVI_0002_2.MP4のPIDにMVI_0002.MP4のUID「A5ED7D43」を設定する。また、分割部23は、MVI_0002_2.MP4のNIDにMVI_0004.MP4のUID「B7C89E1B」を設定する。
さらに、分割部23は、MVI_0002_2.MP4より前のMVI_0002.MP4のNIDをMVI_0002_2.MP4
のUID「82E3E733」に更新する。また、分割部23は、MVI_0002_2.MP4より後のMVI_0004.MP4のPIDをMVI_0002_2.MP4のUID「82E3E733」に更新する。
これにより、動画ファイルの一部が分割された場合もID群が適切に更新されるので、各動画ファイルの連続性を保つことができる。
<ファイル結合>
結合部16は、連続性のある二つのファイルのサイズの合計値が閾値以下の場合に、当該二つのファイルを結合する機能を有する。
例えば、撮像装置100がFATファイルシステムなどファイルサイズの上限値(4GB)が低い環境であり、PC200がNTFSファイルシステムなどファイルサイズの上限値が大きい環境であるとする。この場合、撮像装置100からPC200に動画ファイルが移行された際に、結合部16により、連続性のある動画ファイルを結合させてもよい。
図11は、動画ファイルを結合する手順を示す図である。ステップS1001において、結
合部16は、全ての動画ファイルのヘッダ部を読み込み、各動画ファイルのUID、NID、GID及びPID等を取得する。
ステップS1002において、動画処理アプリ10は、動画ファイルの中でファイル名の番
号が最初の動画ファイルをカレントファイル(動画n)とする。
ステップS1003において、ポインタ判定部12は、動画nと動画n+1に連続性があるか否
かをNID、UID及びGIDを用いて判定する。なお、この判定手順は、図6及び図7に示した
手順に対応する。
ステップS1004において、連続性があると判定された場合、ステップS1005において、結合部16は、動画nと動画n+1のファイルサイズの合計が閾値以下であるか否かを判定する。ステップS1006において、結合部16は、動画nと動画n+1を結合する。このときファイ
ル番号nが1つインクリメントされるものとする。
ステップS1007において、結合部16は、結合した動画をカレントファイル(動画n)とする。ステップS1007において、動画処理アプリ10は、動画n+1が存在するか否かを判定し、動画n+1が存在する場合、ステップS1001からステップS1007までの処理を再度行う。
上述したように動画ファイルが保存される装置の環境に応じてファイル分割及びファイル結合をすることにより、各々の動画ファイルを適切なサイズに変更することができる。
結合部16は、連続性のある二つのファイルのサイズの合計値が閾値以下の場合に、当該二つのファイルを結合する機能を有する。
例えば、撮像装置100がFATファイルシステムなどファイルサイズの上限値(4GB)が低い環境であり、PC200がNTFSファイルシステムなどファイルサイズの上限値が大きい環境であるとする。この場合、撮像装置100からPC200に動画ファイルが移行された際に、結合部16により、連続性のある動画ファイルを結合させてもよい。
図11は、動画ファイルを結合する手順を示す図である。ステップS1001において、結
合部16は、全ての動画ファイルのヘッダ部を読み込み、各動画ファイルのUID、NID、GID及びPID等を取得する。
ステップS1002において、動画処理アプリ10は、動画ファイルの中でファイル名の番
号が最初の動画ファイルをカレントファイル(動画n)とする。
ステップS1003において、ポインタ判定部12は、動画nと動画n+1に連続性があるか否
かをNID、UID及びGIDを用いて判定する。なお、この判定手順は、図6及び図7に示した
手順に対応する。
ステップS1004において、連続性があると判定された場合、ステップS1005において、結合部16は、動画nと動画n+1のファイルサイズの合計が閾値以下であるか否かを判定する。ステップS1006において、結合部16は、動画nと動画n+1を結合する。このときファイ
ル番号nが1つインクリメントされるものとする。
ステップS1007において、結合部16は、結合した動画をカレントファイル(動画n)とする。ステップS1007において、動画処理アプリ10は、動画n+1が存在するか否かを判定し、動画n+1が存在する場合、ステップS1001からステップS1007までの処理を再度行う。
上述したように動画ファイルが保存される装置の環境に応じてファイル分割及びファイル結合をすることにより、各々の動画ファイルを適切なサイズに変更することができる。
<複製動画(Proxy動画)の作成>
複製部17は、連続的に撮影された複数の動画ファイルのそれぞれを複製した動画ファイルを生成する機能を有する。複製部17は、各々の動画ファイルが有するポインタ情報及びグループ情報も複製し、複製された各々の動画ファイルのヘッダ部に格納する。
結合部16は、複製された各々の動画ファイルに格納されているポインタ情報及びグル
ープ情報を用いて、複製された各々の動画ファイルを撮影順に連結して複製動画ファイルを生成する。なお、以下では、連続的に撮影された動画ファイルを本体動画ということがある。また、複製動画ファイルをProxy動画ということがある。例えば、Proxy動画は、何らかの理由により本体動画が一部欠損した場合に予備の動画として再生される。
例えば、動画処理アプリ10は、撮像装置100からPC200に動画ファイルを移行させた際に、PC200の表示部201にポップアップを表示させ、ユーザにProxy動画
を生成するか否かを選択させてもよい。
複製部17は、連続的に撮影された複数の動画ファイルのそれぞれを複製した動画ファイルを生成する機能を有する。複製部17は、各々の動画ファイルが有するポインタ情報及びグループ情報も複製し、複製された各々の動画ファイルのヘッダ部に格納する。
結合部16は、複製された各々の動画ファイルに格納されているポインタ情報及びグル
ープ情報を用いて、複製された各々の動画ファイルを撮影順に連結して複製動画ファイルを生成する。なお、以下では、連続的に撮影された動画ファイルを本体動画ということがある。また、複製動画ファイルをProxy動画ということがある。例えば、Proxy動画は、何らかの理由により本体動画が一部欠損した場合に予備の動画として再生される。
例えば、動画処理アプリ10は、撮像装置100からPC200に動画ファイルを移行させた際に、PC200の表示部201にポップアップを表示させ、ユーザにProxy動画
を生成するか否かを選択させてもよい。
Proxy動画のファイル構造について具体例を挙げて説明する。
図12A〜図12Cは、本体動画とProxy動画のID群を例示する図である。図12Aに
示すように、MVI_0001.MP4、MVI_0002.MP4及びMVI_0003.MP4は、一度の撮影で連続して生成された動画ファイル(本体動画)である。
また、図12Bに示すように、PXY_0001.MP4、PXY_0002.MP4及びPXY_0003.MP4は、MVI_0001.MP4、MVI_0002.MP4及びMVI_0003.MP4のそれぞれを複製したProxy動画である。PXY_0001.MP4、PXY_0002.MP4及びPXY_0003.MP4のID群は、MVI_0001.MP4、MVI_0002.MP4及びMVI_0003.MP4と同一である。
また、各Proxy動画は、それぞれに対応する本体動画よりもファイルサイズが小さいも
のとする。例えば、本体動画の画像サイズが3840x2160に対して、1280x720の動画がProxy動画である。画像サイズだけでは無く、ファイルサイズ、圧縮率など
の違いで定義されても良いものとする。
図12A〜図12Cは、本体動画とProxy動画のID群を例示する図である。図12Aに
示すように、MVI_0001.MP4、MVI_0002.MP4及びMVI_0003.MP4は、一度の撮影で連続して生成された動画ファイル(本体動画)である。
また、図12Bに示すように、PXY_0001.MP4、PXY_0002.MP4及びPXY_0003.MP4は、MVI_0001.MP4、MVI_0002.MP4及びMVI_0003.MP4のそれぞれを複製したProxy動画である。PXY_0001.MP4、PXY_0002.MP4及びPXY_0003.MP4のID群は、MVI_0001.MP4、MVI_0002.MP4及びMVI_0003.MP4と同一である。
また、各Proxy動画は、それぞれに対応する本体動画よりもファイルサイズが小さいも
のとする。例えば、本体動画の画像サイズが3840x2160に対して、1280x720の動画がProxy動画である。画像サイズだけでは無く、ファイルサイズ、圧縮率など
の違いで定義されても良いものとする。
図12Cに示されるPXY_0001.MP4は、図12Bに示されるPXY_0001.MP4、PXY_0002.MP4、PXY_0003.MP4を順番に連結して生成されたProxy動画である。UIDは、図12Bの結合前のPXY_0001.MP4のUIDを援用したものとなっている。また、NID及びPIDは、いずれも「0」となっている。結合後のPXY_0001.MP4の前後に動画ファイルがなく、結合後のPXY_0001.MP4は独立した動画であることを示している。
また、図12Cに示されるPXY_0001.MP4は、結合前のPXY_0001.MP4と同じGID「A」が設定されている。これにより、MVI_0001.MP4、MVI_0002.MP4及びMVI_0003.MP4と、結合後のPXY_0001.MP4とが、同じグループであるものとして対応付けられる。
また、図12Cに示されるPXY_0001.MP4は、結合前のPXY_0001.MP4と同じGID「A」が設定されている。これにより、MVI_0001.MP4、MVI_0002.MP4及びMVI_0003.MP4と、結合後のPXY_0001.MP4とが、同じグループであるものとして対応付けられる。
また、PXY_0001.MP4、PXY_0002.MP4はPXY_0001.MP4として結合できて、PXY_0003.MP4だけが結合できなかった場合について説明する。この場合、複製部17は、PXY_0001.MP4及びPXY_0004.MP4が正しく対応付けられるようにNID及びPIDをそれぞれ設定する。さらに、複製部17は、PXY_0001.MP4及びPXY_0004.MP4が同じグループの動画となるようにPXY_0001.MP4のGIDを「A」に設定する。
また、本体動画とProxy動画を関連の無い動画として扱いたい場合について説明する。
複製部17は、各Proxy動画を生成した後、各Proxy動画のUID及びGIDを新規に発行する。この場合の各Proxy動画のUID及びGIDは、本体動画のUID及びGIDと異なるものとなる。続
いて、複製部17は、各Proxy動画が再生順に対応付けられるように、各Proxy動画にPID
及びNIDを設定すればよい。
また、本体動画とProxy動画を関連の無い動画として扱いたい場合について説明する。
複製部17は、各Proxy動画を生成した後、各Proxy動画のUID及びGIDを新規に発行する。この場合の各Proxy動画のUID及びGIDは、本体動画のUID及びGIDと異なるものとなる。続
いて、複製部17は、各Proxy動画が再生順に対応付けられるように、各Proxy動画にPID
及びNIDを設定すればよい。
図13は、本発明の一実施形態に係る本体動画からProxy動画を作成する手順である。
ステップS1201において、複製部17は、nに1を代入する。ステップS1202において、複
製部17は、本体動画nのヘッダ部及び動画データを読み込む。ステップS1203において、複製部17は、本体動画nを基にProxy動画nを生成する。具体的には、複製部17は、本
体動画nのID群をProxy動画nのID群に設定する。また、複製部17は、本体動画nの動画データを基にサイズを小さくした動画データを生成し、Proxy動画nの動画データとして設定する。
ステップS1204において、複製部17は、本体動画n+1が存在するか否かを判定する。本体動画n+1が存在する場合、ステップS1205において、複製部17は、nをインクリメント
する。続いて、複製部17は、ステップS1202〜S1204までの処理を再度実行する。
本体動画n+1が存在しない場合、ステップS1206において各々のProxy動画を再生順に結
合する。なお、複数のProxy動画を結合する手順については、後述する。
ステップS1201において、複製部17は、nに1を代入する。ステップS1202において、複
製部17は、本体動画nのヘッダ部及び動画データを読み込む。ステップS1203において、複製部17は、本体動画nを基にProxy動画nを生成する。具体的には、複製部17は、本
体動画nのID群をProxy動画nのID群に設定する。また、複製部17は、本体動画nの動画データを基にサイズを小さくした動画データを生成し、Proxy動画nの動画データとして設定する。
ステップS1204において、複製部17は、本体動画n+1が存在するか否かを判定する。本体動画n+1が存在する場合、ステップS1205において、複製部17は、nをインクリメント
する。続いて、複製部17は、ステップS1202〜S1204までの処理を再度実行する。
本体動画n+1が存在しない場合、ステップS1206において各々のProxy動画を再生順に結
合する。なお、複数のProxy動画を結合する手順については、後述する。
図14は、複数のProxy動画を結合する手順を示す図である。ステップS1301において、動画処理アプリ10は、全てのProxy動画のヘッダ部を読み込み、各Proxy動画のUID、NID及びPID等を取得する。
ステップS1302において、動画処理アプリ10は、Proxy動画の中でファイル名の番号が最初のProxy動画をカレントファイル(Proxy動画n)とする。
ステップS1303において、ポインタ判定部12は、Proxy動画nとProxy動画n+1に連続性
があるか否かをNID及びUIDを用いて判定する。この判定手順は、図6に示した手順に対応する。
ステップS1302において、動画処理アプリ10は、Proxy動画の中でファイル名の番号が最初のProxy動画をカレントファイル(Proxy動画n)とする。
ステップS1303において、ポインタ判定部12は、Proxy動画nとProxy動画n+1に連続性
があるか否かをNID及びUIDを用いて判定する。この判定手順は、図6に示した手順に対応する。
ステップS1304において、連続性があると判定された場合、ステップS1305において、結合部16は、Proxy動画nとProxy動画n+1を結合する。
ステップS1306において、本体動画nの終了時刻のタイムコードを、結合したProxy動画
にマーキングする。なお、本体動画n+1の開始時刻のタイムコードを、結合したProxy動画にマーキングしてもよい。
ステップS1307において、結合部16は、結合したProxy動画をカレントファイル(Proxy動画n)とする。なお、このときProxy動画nのファイル番号nがインクリメントされてい
るものとする。
ステップS1308において、動画処理アプリ10は、その次のProxy動画nが存在するか否
かを判定し、Proxy動画n+1が存在する場合、ステップS1301からステップS1307までの処理を再度行う。Proxy動画n+1が存在しない場合、動画処理アプリ10は処理を終了させる。
ステップS1306において、本体動画nの終了時刻のタイムコードを、結合したProxy動画
にマーキングする。なお、本体動画n+1の開始時刻のタイムコードを、結合したProxy動画にマーキングしてもよい。
ステップS1307において、結合部16は、結合したProxy動画をカレントファイル(Proxy動画n)とする。なお、このときProxy動画nのファイル番号nがインクリメントされてい
るものとする。
ステップS1308において、動画処理アプリ10は、その次のProxy動画nが存在するか否
かを判定し、Proxy動画n+1が存在する場合、ステップS1301からステップS1307までの処理を再度行う。Proxy動画n+1が存在しない場合、動画処理アプリ10は処理を終了させる。
図15A〜図15Cは、動画ファイルが一部欠損した場合の動画再生の例を示す図である。実施例1の動画処理アプリ10によって動画が再生される例である。ここでは、図15Aの本体動画MVI_0002.MP4が欠損していた場合について説明する。
図15Aにおいて、各動画を再生順に対応付ける場合、ポインタ判定部12は、MVI_0001.MP4を読み込んだ後、MVI_0001.MP4のNIDと一致するUIDの動画を検索する。この場合、MVI_0002.MP4が欠損しているため、ポインタ判定部12は、MVI_0001.MP4のNIDと一致す
るUIDの動画はないと判定する。
続いて、動画処理アプリ10は、MVI_0001.MP4のGIDと同じProxy動画が存在するかを検索する。グループ判定部13によって、図15BのPXY_0001.MP4がMVI_0001.MP4と同じグループのProxy動画と判定され、対応付けられる。続いて、グループ判定部13は、同一
グループのMVI_0003.MP4をMVI_0001.MP4に対応付ける。
動画再生時は、再生部14は、MVI_0001.MP4を再生後、MVI_0001.MP4の終了時刻及びMVI_0002.MP4の終了時刻のタイムコードに基づいてPXY_0001.MP4を部分的に再生する。すなわち、再生部14は、欠損したMVI_0002.MP4に相当する部分を再生する。続いて、再生部14は、MVI_0003.MP4を再生する。
図15Aにおいて、各動画を再生順に対応付ける場合、ポインタ判定部12は、MVI_0001.MP4を読み込んだ後、MVI_0001.MP4のNIDと一致するUIDの動画を検索する。この場合、MVI_0002.MP4が欠損しているため、ポインタ判定部12は、MVI_0001.MP4のNIDと一致す
るUIDの動画はないと判定する。
続いて、動画処理アプリ10は、MVI_0001.MP4のGIDと同じProxy動画が存在するかを検索する。グループ判定部13によって、図15BのPXY_0001.MP4がMVI_0001.MP4と同じグループのProxy動画と判定され、対応付けられる。続いて、グループ判定部13は、同一
グループのMVI_0003.MP4をMVI_0001.MP4に対応付ける。
動画再生時は、再生部14は、MVI_0001.MP4を再生後、MVI_0001.MP4の終了時刻及びMVI_0002.MP4の終了時刻のタイムコードに基づいてPXY_0001.MP4を部分的に再生する。すなわち、再生部14は、欠損したMVI_0002.MP4に相当する部分を再生する。続いて、再生部14は、MVI_0003.MP4を再生する。
図15Cは、本体動画とProxy動画とタイムコードとの関係を示す図である。図15C
のように、MVI_0001.MP4は、タイムコードt0〜t1までに対応する。続いて、欠損したMVI_0002.MP4は、タイムコードt1〜t2までに対応する。続いて、MVI_0003.MP4は、タイムコードt2〜t3までに対応する。
図14に示したように、複製部17は、例えばProxy動画(PXY_0001.MP4)が生成され
た際に、各本体動画の終了時刻(又は開始時刻)をPXY_0001.MP4のタイムコードにマーキングする。これによりProxy動画(PXY_0001.MP4)が各々の本体動画に対応付けられる。
例えば、複製部17は、PXY_0001.MP4に対し、MVI_0001.MP4の再生位置としてタイムコードt1を対応付ける。また、複製部17は、PXY_0001.MP4に対し、MVI_0002.MP4の再生位
置としてタイムコードt2を対応付ける。さらに、複製部17は、PXY_0001.MP4に対し、MVI_0003.MP4の再生位置としてタイムコードt3を対応付ける。
したがって、再生部14は、欠損したMVI_0002.MP4に対応するt1〜t2の部分を再生する際、タイムコードを参照してPXY_0001.MP4を部分的に使用して再生する。なお、再生部14は、同じGIDを持つProxy動画が見つからなかった場合、MVI_0002.MP4のシーンをスキップし、同じGIDを持つ本体動画MVI_0003.MP4を再生するとよい。
のように、MVI_0001.MP4は、タイムコードt0〜t1までに対応する。続いて、欠損したMVI_0002.MP4は、タイムコードt1〜t2までに対応する。続いて、MVI_0003.MP4は、タイムコードt2〜t3までに対応する。
図14に示したように、複製部17は、例えばProxy動画(PXY_0001.MP4)が生成され
た際に、各本体動画の終了時刻(又は開始時刻)をPXY_0001.MP4のタイムコードにマーキングする。これによりProxy動画(PXY_0001.MP4)が各々の本体動画に対応付けられる。
例えば、複製部17は、PXY_0001.MP4に対し、MVI_0001.MP4の再生位置としてタイムコードt1を対応付ける。また、複製部17は、PXY_0001.MP4に対し、MVI_0002.MP4の再生位
置としてタイムコードt2を対応付ける。さらに、複製部17は、PXY_0001.MP4に対し、MVI_0003.MP4の再生位置としてタイムコードt3を対応付ける。
したがって、再生部14は、欠損したMVI_0002.MP4に対応するt1〜t2の部分を再生する際、タイムコードを参照してPXY_0001.MP4を部分的に使用して再生する。なお、再生部14は、同じGIDを持つProxy動画が見つからなかった場合、MVI_0002.MP4のシーンをスキップし、同じGIDを持つ本体動画MVI_0003.MP4を再生するとよい。
図16A及び図16Bは、実施例1で表示されるUIの例を示す図である。図16AのS1502において、動画処理アプリ10は、動画を表示する。なお、当該UIにおいて停止、早
送り、早戻しなどの操作が可能である。
図16AのS1501において、動画処理アプリ10は、本体動画MVI_0001.MP4、MVI_0002.MP4及びMVI_0003.MP4のサムネイルを重ねてグルーピングして表示する。動画処理アプリ
10は、その右隣にMVI_0001.MP4、MVI_0002.MP4及びMVI_0003.MP4に対応するProxy動画PXY_0001.MP4を表示する。ここで、再生部14は、本体動画を再生する場合に、MVI_0002.MP4が欠損しており再生できなかったとする。その場合、動画処理アプリ10は、欠損し
たMVI_0002.MP4に該当するProxy動画の部分を、MVI_0001.MP4の終了時刻及びMVI_0002.MP4の終了時刻に対応するタイムコード(t1及びt2)により特定する。
再生部14は、MVI_0001.MP4の再生後、図16Bにおいて、PXY_0001.MP4のt1〜t2に係る部分を再生する。続いて、再生部14は、MVI_0003.MP4を再生する。
なお、図16Aにおいては、本体動画とProxy動画のサムネイルを分けて表示している
が、これに限定されない。動画処理アプリ10は、本体動画とProxy動画とをセットで表
示したり、本体動画またはProxy動画のみを表示しても良いものとする。
また、上記の例では、欠損した本体動画に相当するProxy動画の部分を部分的に再生す
る場合について説明したがこれに限定されない。例えば、再生部14は、本体動画が一部欠損している場合、Proxy動画全体を再生してもよい。
送り、早戻しなどの操作が可能である。
図16AのS1501において、動画処理アプリ10は、本体動画MVI_0001.MP4、MVI_0002.MP4及びMVI_0003.MP4のサムネイルを重ねてグルーピングして表示する。動画処理アプリ
10は、その右隣にMVI_0001.MP4、MVI_0002.MP4及びMVI_0003.MP4に対応するProxy動画PXY_0001.MP4を表示する。ここで、再生部14は、本体動画を再生する場合に、MVI_0002.MP4が欠損しており再生できなかったとする。その場合、動画処理アプリ10は、欠損し
たMVI_0002.MP4に該当するProxy動画の部分を、MVI_0001.MP4の終了時刻及びMVI_0002.MP4の終了時刻に対応するタイムコード(t1及びt2)により特定する。
再生部14は、MVI_0001.MP4の再生後、図16Bにおいて、PXY_0001.MP4のt1〜t2に係る部分を再生する。続いて、再生部14は、MVI_0003.MP4を再生する。
なお、図16Aにおいては、本体動画とProxy動画のサムネイルを分けて表示している
が、これに限定されない。動画処理アプリ10は、本体動画とProxy動画とをセットで表
示したり、本体動画またはProxy動画のみを表示しても良いものとする。
また、上記の例では、欠損した本体動画に相当するProxy動画の部分を部分的に再生す
る場合について説明したがこれに限定されない。例えば、再生部14は、本体動画が一部欠損している場合、Proxy動画全体を再生してもよい。
<実施例2>
図17は、実施例2に係る動画処理アプリ20のソフトウェア構成を示す図である。動画処理アプリ20は、取得部21、ポインタ判定部22、グループ判定部23、再生部24、分割部25、結合部26、複製部27及びインデクス付与部28を有する。取得部21、ポインタ判定部22、グループ判定部23、再生部24、分割部25、結合部26及び複製部27に関しては、実施例1の各処理部と同様の処理を行う。
インデクス付与部28は、連続的に撮影された複数の動画ファイル(本体動画)のそれぞれに対し、撮影順序を示すインデクス情報を付加する。
図17は、実施例2に係る動画処理アプリ20のソフトウェア構成を示す図である。動画処理アプリ20は、取得部21、ポインタ判定部22、グループ判定部23、再生部24、分割部25、結合部26、複製部27及びインデクス付与部28を有する。取得部21、ポインタ判定部22、グループ判定部23、再生部24、分割部25、結合部26及び複製部27に関しては、実施例1の各処理部と同様の処理を行う。
インデクス付与部28は、連続的に撮影された複数の動画ファイル(本体動画)のそれぞれに対し、撮影順序を示すインデクス情報を付加する。
図18A〜図18Cは、インデクス情報が付加された動画ファイルの例を示す図である。図18A右のように、各動画ファイルには、UID、NID、PID、GID及びIndexの5つのIDが存在する。このうちIndexとは、連続して撮影された動画ファイルの撮影順序を示すIDで
ある。例えば、図18A右のIndexの行に示すように、MVI_0001.MP4、MVI_0002.MP4、MVI_0004.MP4に対して撮影順序に応じてそれぞれIndexとして1001、1002、1003が付加される。なお、Indexは、インデクス情報の一例である。
図18B左のように、2番目のMVI_0002.MP4が削除されて、3番目のMVI_0004.MP4がリネイム(Movie.M)された後、動画処理アプリ20が動画を再生する場合について説明する
。図18B右に示すようにMVI_0001.MP4とMVI_0004.MP4は、UID、PID、NIDに関連性は無
い。このため、ポインタ判定部22は、これらのID群だけではMVI_0001.MP4及びMovie.MP4(MVI_0004.MP4)に連続性はないと判定する。一方、グループ判定部23は、MVI_0001.MP4及びMovie.MP4に同じGID「A」が設定されているので、MVI_0001.MP4及びMovie.MP4は
連続性がある判定する。
ある。例えば、図18A右のIndexの行に示すように、MVI_0001.MP4、MVI_0002.MP4、MVI_0004.MP4に対して撮影順序に応じてそれぞれIndexとして1001、1002、1003が付加される。なお、Indexは、インデクス情報の一例である。
図18B左のように、2番目のMVI_0002.MP4が削除されて、3番目のMVI_0004.MP4がリネイム(Movie.M)された後、動画処理アプリ20が動画を再生する場合について説明する
。図18B右に示すようにMVI_0001.MP4とMVI_0004.MP4は、UID、PID、NIDに関連性は無
い。このため、ポインタ判定部22は、これらのID群だけではMVI_0001.MP4及びMovie.MP4(MVI_0004.MP4)に連続性はないと判定する。一方、グループ判定部23は、MVI_0001.MP4及びMovie.MP4に同じGID「A」が設定されているので、MVI_0001.MP4及びMovie.MP4は
連続性がある判定する。
しかし、図18Bに示すように、MVI_0004.MP4がMovie.MP4にリネイムされたため、動
画処理アプリ20は、ファイル名の番号のみではMVI_0001.MP4とMovie.MP4のいずれが先
頭であるかを判別できない。そこで、図18Cに示すように、動画処理アプリ20は、インデクス付与部28によって付加された各々の動画ファイルのIndexを参照する。例えば
、MVI_0001.MP4のIndexが1001となっており、Movie.MP4のIndexが1003となっているので
、動画処理アプリ20は、MVI_0001.MP4が先の動画ファイルであると判定する。
画処理アプリ20は、ファイル名の番号のみではMVI_0001.MP4とMovie.MP4のいずれが先
頭であるかを判別できない。そこで、図18Cに示すように、動画処理アプリ20は、インデクス付与部28によって付加された各々の動画ファイルのIndexを参照する。例えば
、MVI_0001.MP4のIndexが1001となっており、Movie.MP4のIndexが1003となっているので
、動画処理アプリ20は、MVI_0001.MP4が先の動画ファイルであると判定する。
このように、図18Cに示すように動画処理アプリ20は、DCF規格に従って記録され
た動画ファイルのファイル名が事後的に変更され、さらに、一部ファイルが削除された場合、連続する動画ファイルを対応付けることができない場合がある。この場合には、グループ情報により同じグループの動画ファイルを対応付けることができたとしても、グループ内において動画ファイルの再生順序を特定できない場合がある。
例えば、Explorer/Finderなどの他ソフトウェアによって、一部の動画ファイルが削除
され、さらに、削除された動画ファイルの前後の動画ファイルがリネイムされた場合である。
このような場合においても、Indexを用いることにより、グループ内の動画ファイルの
再生順序を特定することができる。
た動画ファイルのファイル名が事後的に変更され、さらに、一部ファイルが削除された場合、連続する動画ファイルを対応付けることができない場合がある。この場合には、グループ情報により同じグループの動画ファイルを対応付けることができたとしても、グループ内において動画ファイルの再生順序を特定できない場合がある。
例えば、Explorer/Finderなどの他ソフトウェアによって、一部の動画ファイルが削除
され、さらに、削除された動画ファイルの前後の動画ファイルがリネイムされた場合である。
このような場合においても、Indexを用いることにより、グループ内の動画ファイルの
再生順序を特定することができる。
なお、ここでは説明を省略したが、MVI_0005.MP4及びMVI_0006.MP4は、MVI_0001.MP4及びMovie.MP4と別のタイミングで撮影された動画ファイルであるため、GIDが異なる。従って動画処理アプリ20によりMVI_0005.MP4及びMVI_0006.MP4は、MVI_0001.MP4及びMVI_0004.MP4と同じグループとは扱われない。
また、インデクス付与部56は、Indexを撮影の度にインクリメントする。例えば、イ
ンデクス付与部56は、MVI_0004.MP4(Movie.MP4)の後に撮影されたMVI_0005.MP4及びMVI_0006.MP4にIndexとして1004、1005をそれぞれ付加する。これにより、Indexによって
、動画処理アプリ20は、MVI_0001.MP4及びMovie.MP4のグループと、MVI_0005.MP4及びMVI_0006.MP4のグループのどちらが先に撮影された動画であるかを判別できる。すなわち
、動画処理アプリ20は、異なるグループ間で再生順序を特定することが可能となる。
ンデクス付与部56は、MVI_0004.MP4(Movie.MP4)の後に撮影されたMVI_0005.MP4及びMVI_0006.MP4にIndexとして1004、1005をそれぞれ付加する。これにより、Indexによって
、動画処理アプリ20は、MVI_0001.MP4及びMovie.MP4のグループと、MVI_0005.MP4及びMVI_0006.MP4のグループのどちらが先に撮影された動画であるかを判別できる。すなわち
、動画処理アプリ20は、異なるグループ間で再生順序を特定することが可能となる。
なお、実施例1及び2の装置の各機能部は、個別のハードウェアであってもよいし、そうでなくてもよい。2つ以上の機能部の機能が、共通のハードウェアによって実現されてもよい。1つの機能部の複数の機能のそれぞれが、個別のハードウェアによって実現されてもよい。1つの機能部の2つ以上の機能が、共通のハードウェアによって実現されてもよい。また、各機能部は、ハードウェアによって実現されてもよいし、そうでなくてもよい。例えば、装置が、プロセッサと、制御プログラムが格納されたメモリとを有していてもよい。そして、装置が有する少なくとも一部の機能部の機能が、プロセッサがメモリから制御プログラムを読み出して実行することにより実現されてもよい。
また、実施例1及び2では、動画ファイルのヘッダ部にID群を記録させたが、これに限定されない。例えば、動画ファイルとは、ライブラリに各動画ファイルのID群を記録してもよい。
1:動画処理アプリ10、2:ポインタ判定部12、3:グループ判定部13
Claims (8)
- 連続的に撮影された複数の動画ファイルを処理する情報処理装置であって、
前記複数の動画ファイルの各々から、動画ファイルに先行又は後続する動画ファイルを対応付けるポインタ情報と、連続的に撮影された各々の動画ファイルが同一グループの動画ファイルであることを表すグループ情報と、を取得する取得部と、
前記複数の動画ファイルの中の第一の動画ファイルと第二の動画ファイルとがポインタ情報によって対応付けられているか否かに基づいて、前記第一の動画ファイルと前記第二の動画ファイルとが連続的に撮影されたか否かを判定するポインタ判定部と、
前記ポインタ情報によって前記第一の動画ファイルと前記第二の動画ファイルとが対応付けられていない場合に、前記第一の動画ファイル及び前記第二の動画ファイルのそれぞれに付加されたグループ情報が一致するか否かに基づいて、前記第一の動画ファイルと前記第二の動画ファイルとが連続的に撮影されたか否かを判定するグループ判定部と、を有することを特徴とする情報処理装置。 - 前記ポインタ情報は、前記第一の動画ファイル及び前記第二の動画ファイルの一方又は両方に含まれ、一方の動画ファイルに先行又は後続する他方の動画ファイルの識別情報であることを特徴とする請求項1に記載の情報処理装置。
- 前記情報処理装置は、一の動画ファイルを二以上の動画ファイルに分割する分割部をさらに有し、
前記分割部は、分割された前記二以上の動画ファイルの一方又は両方に、先行又は後続する動画ファイルを対応付けるポインタ情報を付与し、分割された前記二以上の動画ファイルのそれぞれに、同一グループの動画ファイルであることを表すグループ情報を付加することを特徴とする請求項2に記載の情報処理装置。 - 前記情報処理装置は、ポインタ情報によって対応付けられた二つのファイル、又は、グループ情報が一致する二つのファイルのサイズの合計値が閾値以下の場合に、前記二つのファイルを結合させる結合部をさらに有することを特徴とする請求項1〜3のいずれか1項に記載の情報処理装置。
- 前記複数の動画ファイルのそれぞれを複製し、複製された複数の動画ファイルを撮影順に連結して複製動画ファイルを生成する複製部をさらに有し、
前記複製動画ファイルは、前記複数の動画ファイルのそれぞれに付加されたグループ情報と同じグループ情報と、前記複数の動画ファイルのそれぞれの開始時刻又は終了時刻に関する情報と、を含むことを特徴とする請求項1〜4のいずれか1項に記載の情報処理装置。 - 前記複数の動画ファイルのそれぞれに、撮影順序を示すインデクス情報を付加するインデクス付与部をさらに有することを特徴とする請求項1〜5のいずれか1項に記載の情報処理装置。
- コンピュータが、連続的に撮影された複数の動画ファイルの各々から、動画ファイルに先行又は後続する動画ファイルを対応付けるポインタ情報と、連続的に撮影された各々の動画ファイルが同一グループの動画ファイルであることを表すグループ情報と、を取得するステップと、
コンピュータが、前記複数の動画ファイルの中の第一の動画ファイルと第二の動画ファイルとがポインタ情報によって対応付けられているか否かに基づいて、前記第一の動画ファイルと前記第二の動画ファイルとが連続的に撮影されたか否かを判定するステップと、
コンピュータが、前記ポインタ情報によって前記第一の動画ファイルと前記第二の動画
ファイルとが対応付けられていない場合に、前記第一の動画ファイル及び前記第二の動画ファイルのそれぞれに付加されたグループ情報が一致するか否かに基づいて、前記第一の動画ファイルと前記第二の動画ファイルとが連続的に撮影されたか否かを判定するステップと、を実行することを特徴とする情報処理方法。 - 請求項7に記載の情報処理方法の各ステップをコンピュータに実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016170279A JP2018037905A (ja) | 2016-08-31 | 2016-08-31 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016170279A JP2018037905A (ja) | 2016-08-31 | 2016-08-31 | 情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018037905A true JP2018037905A (ja) | 2018-03-08 |
Family
ID=61566201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016170279A Pending JP2018037905A (ja) | 2016-08-31 | 2016-08-31 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018037905A (ja) |
-
2016
- 2016-08-31 JP JP2016170279A patent/JP2018037905A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3943880B2 (ja) | 動画データ処理装置及び方法 | |
JP4335492B2 (ja) | 動画像管理方法及び装置 | |
JP5371489B2 (ja) | 画像管理装置およびその制御方法、ならびに、プログラムおよび記憶媒体 | |
JP5289151B2 (ja) | データ管理装置、その制御方法及びプログラム | |
JP2005197913A (ja) | 画像処理装置及び画像処理方法 | |
JP2003298982A (ja) | 撮像装置 | |
US20190318764A1 (en) | Apparatus, method, and program for creating a video work | |
JP2014154891A (ja) | 情報処理装置およびその制御方法、プログラム、並びに記憶媒体 | |
US10902057B2 (en) | Image processing apparatus and method of controlling the same | |
KR20060100942A (ko) | 데이터 취득 장치, 데이터 취득 방법 및 프로그램 | |
JP2006338620A (ja) | 画像データ検索装置及び方法、並びにプログラム | |
US10902047B2 (en) | Information processing method for displaying a plurality of images extracted from a moving image | |
JP2018037905A (ja) | 情報処理装置 | |
JP4670809B2 (ja) | 記録装置、記録方法および記録プログラム | |
JP2018074337A (ja) | 動画処理装置、動画処理方法およびプログラム | |
JP4016424B2 (ja) | 動画像編集装置および動画像編集方法 | |
JP2001333352A (ja) | 画像ファイリング装置および画像ファイリング方法 | |
JP5746478B2 (ja) | データ処理装置およびデータ処理方法、プログラム | |
KR20140013878A (ko) | 선택패턴 기반의 사진관리 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체 | |
JP5938749B2 (ja) | 映像情報取込装置 | |
JP2005135554A (ja) | 再生装置及び方法 | |
JP4422543B2 (ja) | 画像表示装置及び画像表示方法 | |
JP2008077432A (ja) | ファイルの管理方法および情報処理装置 | |
JP4250662B2 (ja) | デジタルデータ編集装置 | |
JP5521514B2 (ja) | カメラ、および電子機器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20181116 |