(57)【要約】【課題】  動画編集処理を高速に行うことができる画像処理装置を提供する【解決手段】  ファイルアロケーションテーブルを使用してファイルを管理するファイルフォーマットで記録媒体に記録された動画ファイルを再生する再生手段と、前記再生手段によって再生された動画ファイルの削除対象のチャプタに属する動画データを削除する編集を行う編集手段とを有し、前記編集手段は、前記削除対象のチャプタに対応する動画データの記録媒体上での記録位置を特定し、前記所定のチャプタに対応する動画データの少なくとも一部を読まないようにファイルアロケーションテーブルを編集する。【選択図】  図８
2014060498.tif 000002
【特許請求の範囲】
【請求項１】
ファイルアロケーションテーブルを使用してファイルを管理するファイルフォーマットで記録媒体に記録された動画ファイルを再生する再生手段と、
前記再生手段によって再生された動画ファイルの削除対象のチャプタに属する動画データを削除する編集を行う編集手段とを有し、
前記編集手段は、前記削除対象のチャプタに対応する動画データの記録媒体上での記録位置を特定し、前記所定のチャプタに対応する動画データの少なくとも一部を読まないようにファイルアロケーションテーブルを編集することを特徴とする画像処理装置。
【請求項２】
前記編集手段は、前記削除対象のチャプタに属する動画データの記録媒体上での記録されているクラスタを、前記記録媒体のクラスタサイズに基づいて特定することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記編集手段は、前記削除対象のチャプタに属する動画データの記録媒体上での記録されているクラスタのうち、先頭クラスタと末尾クラスタ以外のクラスタを読まないようにファイルアロケーションテーブルを編集することを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記編集手段は、前記削除対象のチャプタに属する動画データの記録媒体上での記録位置を、前記動画ファイルのヘッダに記載された情報に基づいて、特定することを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項５】
ファイルアロケーションテーブルを使用してファイルを管理するファイルフォーマットで記録媒体に記録された動画ファイルを再生する再生手段を有する画像処理装置の制御方法であって、
前記再生手段によって再生された動画ファイルの削除対象のチャプタに属する動画データを削除する場合に、前記削除対象のチャプタに対応する動画データの記録媒体上での記録位置を特定し、前記所定のチャプタに対応する動画データの少なくとも一部を読まないようにファイルアロケーションテーブルを編集することを特徴とする画像処理装置の制御方法。
【請求項６】
前記削除対象のチャプタに属する動画データの記録媒体上での記録されているクラスタを、前記記録媒体のクラスタサイズに基づいて特定することを特徴とする請求項５記載の画像処理装置の制御方法。
【請求項７】
前記削除対象のチャプタに属する動画データの記録媒体上での記録されているクラスタのうち、先頭クラスタと最終クラスタ以外のクラスタを読まないようにファイルアロケーションテーブルを編集することを特徴とする請求項６記載の画像処理装置の制御方法。
【請求項８】
前記削除対象のチャプタに属する動画データの記録媒体上での記録位置を、前記動画ファイルのヘッダに記載された情報に基づいて、特定することを特徴とする請求項４から７のいずれか１項に記載の画像処理装置の制御方法。
【請求項９】
請求項１から８のいずれか１項に記載の画像処理装置の各手段としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、プログラムに関する。
【背景技術】
【０００２】
従来、動画記録装置として、動画の記録や再生、編集等が可能な撮像装置が知られている。これらの撮像装置には、たとえば特許文献１のように、動画の任意のシーンを削除するなどの編集を行う場合、動画の全フレームを一度デコードし、編集結果を反映したフレームの順番になるように再エンコードして記録する方式が一般的であった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−１６５８０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１のように、再エンコードを行うと、長い処理時間が発生したり、あるいは高性能のマイコンを用いなければならなくなったりすることがあった。
【０００５】
そこで、本発明は、動画編集処理を高速に行うことができる画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
このような目的を達成するために、本発明の画像処理装置は、ファイルアロケーションテーブルを使用してファイルを管理するファイルフォーマットで記録媒体に記録された動画ファイルを再生する再生手段と、前記再生手段によって再生された動画ファイルの削除対象のチャプタに属する動画データを削除する編集を行う編集手段とを有し、前記編集手段は、前記削除対象のチャプタに対応する動画データの記録媒体上での記録位置を特定し、前記所定のチャプタに対応する動画データの少なくとも一部を読まないようにファイルアロケーションテーブルを編集することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、動画編集処理を高速に行うことができる。
【図面の簡単な説明】
【０００８】
【図１】本実施例の撮像装置の構成を示す図である。
【図２】ダイジェストムービーモードの撮像装置の制御を示すフロー図である。
【図３】ダイジェストムービーモードで記録される静止画ファイル、動画ファイルの状態を説明するための図である。
【図４】動画データを連結（追記）する処理の制御を示すフロー図である。
【図５】動画データの連結（追記）による動画ファイルの状態変化を示す図である。
【図６】本実施例の動画のファイルフォーマットを説明するための図である。
【図７】本実施例の編集処理の動作を説明するためのフロー図である。
【図８】動画ファイルの状態を示すものである。
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明の実施例を詳細に説明するが、この発明は以下の実施の形態に限定されない。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１０】
なお、本実施例において説明される各機能ブロックは必ずしも個別のハードウェアである必要はない。すなわち、例えばいくつかの機能ブロックの機能は、１つのハードウェアにより実行されても良い。また、いくつかのハードウェアの連係動作により１つの機能ブロックの機能または、複数の機能ブロックの機能が実行されても良い。
【実施例１】
【００１１】
本実施例では、画像処理装置として撮像装置を例にとって説明する。
【００１２】
本実施例の撮像装置１００は、通常の「動画撮影モード」においては、１回の動画撮影の開始から終了までに撮影された動画データを１つのファイルとして記録媒体に記録することができる。また、通常の「静止画撮影モード」においては、１回の撮影指示に応じて撮影された静止画データを１つのファイルとして記録媒体に記録することができる。さらに、本実施例の撮像装置は、「ダイジェストムービーモード」を有する。この「ダイジェストムービーモード」では、静止画撮影の指示に応じて、撮影された静止画データを記録媒体に記録するだけでなく、静止画撮影の指示が入力されるまでに撮影された所定時間分の動画データを動画ファイルとして記録媒体に記録することができる。動画データについては、撮像装置に備えられたメモリに、エンコードした状態で一時的に記憶しておく。
【００１３】
また、「ダイジェストムービーモード」においては、たとえば、同一日付に撮影された動画データをすべて連結した一つの動画データを作成し、記録媒体に記録することができる。この場合には、記録媒体に既に記録されている動画ファイルの動画データに対して、新規に撮影された動画データを静止画撮影の指示のあるごとに連結（追記）していく。また、連結されるたびに、各静止画撮影に対応する動画データを一つのチャプタに対応するものとして取り扱う。そのために、動画ファイルにはチャプタを示すためのチャプタデータが記録されることになる。
【００１４】
撮像装置１００は、「ダイジェストムービーモード」にモードが遷移すると、撮像部により得られた複数の画像を動画の各フレーム画像とした符号化動画データを作成し、メモリに順次記憶していく。所定時間以上過去の動画データについては、メモリ上で破棄または、上書きする。そして、静止画撮影の指示が入力されると、撮像部により得られた画像信号に基づいて、静止画データを作成し、記録媒体に記録する。このとき、それまでメモリに記憶していた所定時間分の動画データを動画ファイルとして記録媒体に記録するのである。記録媒体に既に記録されている動画ファイル（既存動画ファイル）の動画データに、この所定時間分の動画データを連結する場合には、メモリに一時的に記憶されている所定時間分の動画データを記録媒体に先に記録する。そして、その後、既存動画ファイルの動画データを解析し、連結位置を特定してから動画データの連結編集を行う。なお、本実施例の撮像装置１００は、静止画撮影の指示に対応する動画をそれぞれ別々のチャプタとして区別するために、チャプタ情報を動画ファイルに格納する。このとき、チャプタのタイトルとしては、静止画の撮影された撮影時刻をテキストデータとして記載するものとする。
【００１５】
チャプタに対応する任意のシーンを削除する際には、削除対象のチャプタの記録媒体上での記録位置を特定し、削除対象のチャプタの動画データの少なくとも一部を読まないようにファイルアロケーションテーブルのクラスタチェーン書換える。具体的には、削除対象のチャプタの動画データの記録されているクラスタのうち、先頭クラスタと末尾クラスタ以外のクラスタ読まないように、ファイルアロケーションテーブルのクラスタチェーンを書き換える。そして、動画ファイルのヘッダ情報を書き換えることで、削除対象のチャプタのデータを無効化すると共にデータの削減を行う。
【００１６】
このようにすることにより、動画の各シーンをデコードしてから削除シーンを含まないように再エンコードする必要がなくなるため高速に任意のシーンを削除する編集を行うことができるのである。
【００１７】
本実施例においては、ファイルアロケーションテーブルを用いた記録を行うファイルシステムに対応したフォーマット（本実施例ではファイルシステムとしてＦＡＴ３２等を例とする）がなされた記録媒体を使用する。そして、前述した動画データの連結を行う際は、ファイルアロケーションテーブル（ＦＡＴ）を編集している。従って、動画の追記や分離が容易に行えるのである。
【００１８】
以下、このような撮像装置について、説明する。
【００１９】
まず、図１を用いて本実施例の撮像装置１００の全体構成を説明する。
【００２０】
本実施例の撮像装置１００は、図１に示すように、ＣＰＵ１０１と、ＲＡＭ１０２と、ＲＯＭ１０３と、操作部１０４とを有する。また、撮像装置１００は、撮像部１１０と、画像処理部１１１と、マイクユニット１２０と、音声処理部１２１と、スピーカユニット１２２とを有する。また、撮像装置１００は、符号化復号化処理部１３０と、表示部１４０と、表示制御部１４１と、記録再生部１５０と、記録媒体１５１と、通信部１６０とを有する。
【００２１】
なお、ＣＰＵは、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略称である。ＲＡＭは、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略称である。
【００２２】
本実施例の撮像装置１００において、ＣＰＵ１０１は、ＲＡＭ１０２をワークメモリとしてＲＯＭ１０３に記録された各種プログラムをＲＡＭ１０２に展開し、プログラムに応じて撮像装置１００の各ブロックを制御する。操作部１０４は、例えば、電源ボタン、記録ボタン、ズーム調整ボタン、オートフォーカスボタン、メニュー表示ボタン、モード切替スイッチ、決定ボタン等の各種操作を入力するスイッチ類を有する。また、カーソルキー、ポインティングデバイス、タッチパネル、ダイヤル等のどのようなタイプの操作子であってもよい。操作部１０４は、ユーザによりこれらのキーやボタン、タッチパネルが操作されるとＣＰＵ１０１に操作信号を送信する。操作部１０４の各操作部材は、表示部に表示される種々の機能アイコンを選択操作することなどにより、場面ごとに適宜機能が割り当てられ、各種機能ボタンとして作用する。機能ボタンとしては、例えば終了ボタン、戻るボタン、画像送りボタン、ジャンプボタン、絞込みボタン、属性変更ボタン等がある。例えば、メニューボタンが押されると各種の設定可能なメニュー画面が表示部に表示される。利用者は、表示部に表示されたメニュー画面と、上下左右の４方向ボタンやＳＥＴボタンとを用いて直感的に各種設定を行うことができる。なお、操作部１０４は、表示部に対する接触を検知可能なタッチパネルであってもよい。タッチパネルは、抵抗膜方式や静電容量方式、表面弾性波方式、赤外線方式、電磁誘導方式、画像認識方式、光センサ方式等、様々な方式のタッチパネルのうちいずれの方式のものを用いても良い。
【００２３】
撮像部１１０は、レンズにより取り込まれた被写体の光学像を、絞りにより光量を制御して、ＣＣＤセンサやＣＭＯＳセンサ等の撮像素子により画像信号に変換し、得られたアナログ画像信号をデジタル画像信号に変換して一時的にＲＡＭ１０２に記憶する。ＲＡＭ１０２に記憶されたデジタル画像信号は、その後、画像処理部１１１に送信される。画像処理部１１１は、デジタル画像信号のホワイトバランスや色、明るさなどをユーザに設定された設定値や画像の特性から自動的に判定した設定値に基づいて調整する画質調整処理を行い、処理をしたデジタル画像信号を再びＲＡＭ１０２に記憶する。また、画質調整処理済みまたは未処理のデジタル画像信号を、後述の表示制御部１４１に送信し、表示部１４０に撮像中の画像として表示することもできる。また、再生時においては、画像処理部１１１は、記録媒体１５１から記録再生部１５０によって読出され、符号化復号化処理部１３０において復号化された静止画ファイルや動画ファイルに含まれる画像データの画質調整等を行う。そして、画質調整済みまたは未処理のデジタル画像信号を、後述の表示制御部１４１に送信し、表示部１４０に画像として表示することもできる。
【００２４】
符号化復号化処理部１３０では、記録時においては、画像処理部１１１により処理されＲＡＭ１０２に記憶されたデジタル画像信号に対して、画像圧縮処理を行い、圧縮された動画データや静止画データを生成し、ＲＡＭ１０２に一時的に記憶する処理を行う。また、再生時においては、記録媒体１５１から読出された画像ファイルの圧縮された動画データや静止画データを復号してデジタル画像信号を抽出し、ＲＡＭ１０２に記憶していく処理を行う。
【００２５】
たとえば、動画データを生成する際は、動画データの各フレームをフレーム内符号化して圧縮符号化された動画データを生成する。また、動画データの複数のフレーム間での差分や動き予測などを利用して圧縮符号化された動画データを生成してもよい。たとえばＭｏｔｉｏｎＪＰＥＧ、ＭＰＥＧ、Ｈ．２６４（ＭＰＥＧ４−Ｐａｒｔ１０  ＡＶＣ）、等の様々な公知の圧縮符号化方式の動画データを生成することができる。一般に、フレーム内符号化されたフレーム画像データをＩピクチャと呼び、前方のフレームとの差分を用いてフレーム間符号化された画像データをＰピクチャと呼び、前方後方のフレームとの差分を用いてフレーム間符号化された画像データをＢピクチャと呼ぶ。これらの圧縮方式は、公知の方式を用いており、本発明の特徴とは関係ないので説明を省略する。また、静止画データを生成する際には、ＪＰＥＧ等の一般的な圧縮符号化方式を用いるが、これらの圧縮符号化方式は、公知の方式を用いており、本発明の特徴とは関係ないので説明を省略する。なお、静止画データについては、撮像部１１０により得られたデジタル画像信号をそのまま記録する、いわゆるＲＡＷ画像データとしてもよい。
【００２６】
マイクユニット１２０は、たとえば、撮像装置１００のハウジング内に内蔵された無指向性のマイクとＡＤ変換部を有する。マイクユニット１２０では、マイクにより周囲の音声を集音（収音）し、取得したアナログ音声信号をＡＤ変換部で、デジタル信号に変換してＲＡＭ１０２に一時的に記憶させる。ＲＡＭ１０２に記憶されたデジタル音声信号は、その後、音声処理部１２１に送信される。音声処理部１２１では、記録時においては、ＲＡＭ１０２に記憶されたデジタル音声信号の、レベルの適正化処理や雑音低減処理等の処理を行い、処理をしたデジタル音声信号を再びＲＡＭ１０２に記憶する。また、必要に応じて、音声信号を圧縮する処理を行う。音声圧縮方式については、ＡＣ３、ＡＡＣ等の公知の一般的な音声圧縮方式を用いているため説明を省略する。また、再生時においては、記録媒体１５１から記録再生部１５０によって読出された音声ファイルや動画ファイルに含まれる圧縮音声データ復号する処理や音声レベルの適正化処理、なども行い、順次ＲＡＭ１０２に記憶する処理も行う。スピーカユニット１２２は、スピーカとＤＡ変換部とを有する。スピーカユニット１２２では、音声処理部１２１によりＲＡＭ１０２に記憶されたデジタル音声信号を読出してアナログ音声信号に変換し、アナログ音声信号によりスピーカから音声を出力する。
【００２７】
表示部１４０は、例えば、液晶パネルとバックライトとからなり、表示制御部１４１の制御により画像を表示する。表示部１４０は液晶表示装置に限られず、例えば有機ＥＬディスプレイ、ＬＥＤディスプレイなど、ユーザに画像を提供することができればどのようなものであっても良い。表示制御部１４１では、画像処理部１１１により処理され、ＲＡＭ１０２に記憶されたデジタル画像信号に基づいて、表示部１４０に画像を表示する。
【００２８】
記録再生部１５０では、動画記録時においては、ＲＡＭ１０２に記憶されている、符号化復号化処理部１３０により生成された圧縮動画データ及び、音声処理部１２１で生成された音声データ、撮影日等の各種情報とともに、動画ファイルとして記録媒体１５１に書き込む。また静止画記録時においては、ＲＡＭ１０２に記憶されている静止画データを撮影日等の各種情報とともに静止画ファイルとして記録媒体１５１に記録する。動画ファイルを記録媒体１５１に記録する際は、圧縮動画データと音声データとからなるデータストリームを形成し、順次記録媒体１５１に記録していき、ファイルヘッダ等を付加してＦＡＴやｅｘＦＡＴ等のファイルフォーマットに適合した形で動画ファイルを記録媒体に記録する。また、再生時においては、記録媒体１５１に記録された動画ファイルや静止画ファイルを前述のファイルフォーマットに従って読出す。読出された動画ファイルや静止画ファイルは、ＣＰＵ１０１によりヘッダが解析され、圧縮された動画データ、静止画データが抽出される。抽出された圧縮動画データ、静止画データは、ＲＡＭ１０２に記憶されて、符号化復号化処理部１３０により復号される。
【００２９】
また、記録媒体１５１は、撮像装置に内蔵された記録媒体でも、取外し可能な記録媒体でもよい。例えば、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−Ｒ、ＤＶＤ−Ｒ、磁気テープ、不揮発性の半導体メモリ、フラッシュメモリ、などのあらゆる方式の記録媒体を含む。取り外し可能な記録媒体を用いる場合には、記録再生部１５０は、それらの取り外し可能な記録媒体を装着、排出するための機構を含む。
【００３０】
また、通信部１６０は、撮像装置１００とは異なる外部装置との間で、制御信号や動画ファイル、静止画ファイル、各種データ等を送受信するものであり、有線接続、無線接続を問わず接続可能である。なお、通信方式はどのような方式であっても良い。
【００３１】
ここで、前述の画像処理部１１１、音声処理部１２１、符号化復号化処理部１３０、表示し制御部１４１、記録再生部１５０は、それぞれ、前述の各機能を実行するプログラムを搭載したマイクロコンピュータであってもよい。また、ＣＰＵ１０１がＲＯＭ１０３に記録された前述の処理を実行する為のプログラムをＲＡＭ１０２に展開して実行するようにしてもよい。
【００３２】
なお、本実施例の撮像装置１００は、一例として、「ＱｕｉｃｋＴｉｍｅ（登録商標）フォーマット」で動画ファイルを記録するものとするが、どのようなフォーマットであっても良い。
【００３３】
なお、本実施例では記録媒体１５１のファイル管理システムは組み込み機器で一般的に使用されているＦＡＴファイルシステムを使用するものとして説明をする。ＦＡＴファイルシステムの技術自体は広く公知であるので、本実施例の特徴的な動作でのみその説明をする。また、ＦＡＴファイルフォーマットであるＮＴＦＳフォーマットやｅｘＦＡＴフォーマットなどを用いても良い。
【００３４】
次に、本実施例の撮像装置１００の動作について説明する。
【００３５】
本実施例の撮像装置１００は、ユーザによって操作部１０４を操作して電源を投入する指示が出されたことに応じて、不図示の電源供給部から、撮像装置の各ブロックに電源を供給する。
【００３６】
電源が供給されると、ＣＰＵ１０１は、操作部１０４により設定されたカメラのモードが、再生モードであるか、「ダイジェストムービーモード」、静止画記録モード、動画記録モードであるかを判定する。なお、本実施例において、静止画記録モード、動画記録モードは、特徴的な構成に関わらないので説明を割愛する。
【００３７】
次に、再生モードについて、説明する。
【００３８】
操作部１０４により再生モードが設定されると、ＣＰＵ１０１は、再生状態に移行させるように制御信号を撮像装置１００の各ブロックに送信し、以下のような動作をさせる。
【００３９】
記録再生部１５０は、記録媒体１５１に記録された、符号化された動画データと符号化された音声データとからなる動画ファイルを読み出す。ＣＰＵ１０１は読み出された符号化された動画データと符号化された音声データとを、ＲＡＭ１０２にバッファする。そして、ＣＰＵ１０１は、符号化された動画データを復号するように符号化復号化処理部１３０を制御する。また、ＣＰＵ１０１は、符号化された音声データを復号するように音声処理部１２１を制御する。
【００４０】
そして、ＣＰＵ１０１は、符号化復号化処理部１３０によって復号された動画データの各フレームデータを表示制御部１４１に送り、表示部１４０に各フレームの画像を表示させる。また、音声処理部１２１で、復号された音声データをスピーカユニット１２２に送信し、音声データに対応する音声を出力させる。
【００４１】
また、再生モードにおいては、指定されたチャプタにジャンプして、そのチャプタの先頭のシーンから再生を開始させたり、指定されたチャプタの動画を削除したりする処理を実行することもできる。削除処理については後述する。
【００４２】
次に、「ダイジェストムービーモード」について、図２のフロー図を用いて説明する。図２のフロー図は、ダイジェストムービーモードに設定されたときをスタートとするフロー図であり、ＣＰＵ１０１がＲＡＭ１０２に展開したプログラムに基づいて、撮像装置１００の各部を制御することにより、実行される処理である。なお、本実施形態において、動画データを順次追記していくか否かは、静止画記録の指示があった後で、動画データを記録媒体１５１に記録する前に行うものとする。すなわち、ＣＰＵ１０１が、記録再生部１５０より、最後にダイジェストムービーモードで撮影された動画ファイルを読み出して撮影された日付の情報を確認する。そして、読み出された動画ファイルが当日に撮影されたものであれば、追記するものとし、異なる日に撮影されたものであれば、追記しないものとする。ダイジェストムービーモードにおいて撮影された動画は、たとえばダイジェストムービーモードで撮影された動画であることを示すための識別子「ＭＤＧ」に４桁の整数を順次数字をインクリメントしたファイル名とする。このようにすることで、記録媒体１５１に記録されている識別子ＭＤＧを含む数字のもっとも大きい動画が最後に撮影されたものであることが容易に識別可能である。追記するか否かの条件については後述するが、追記するか否かの確認は、撮像装置１００の起動時または、ダイジェストムービーモードへの切り替え時等に行ってもよい。
【００４３】
また、本実施形態においては、サムネイル画像の生成は、静止画撮影の指示が入力される毎に生成されるものとして説明する。この場合、追記した動画ファイルには複数のサムネイル画像が関連づけられることになる。しかし、追記する場合にはサムネイル画像を生成せずに、新規に動画ファイルを生成する場合にのみ、サムネイル画像を生成するようにしても良い。
【００４４】
操作部１０４によりダイジェストムービーモードが設定されると、ＣＰＵ１０１は、撮像装置１００の各ブロックを制御し、以下の動作を実行させる。
【００４５】
まず、撮像部１１０は、得られたデジタル画像信号をＲＡＭ１０２に送信し、一時的に記憶させる。そうすると、表示制御部１４１は、ＲＡＭ１０２に記憶されたデジタル画像信号を読み出して表示部１４０に表示させる。また、画像処理部１１１は、ＲＡＭ１０２に記憶されたデジタル画像信号を順次読み出して、前述の各種画質調整処理を行い、処理をしたデジタル画像信号を再びＲＡＭ１０２に記憶する。画像処理部１１１は、撮像部１１０で画像が撮像される度にこの処理を繰り返す。
【００４６】
また、符号化復号化処理部１３０は、画像処理部１１１によって処理されたデジタル画像信号を動画データとして符号化するための符号化処理を行う（Ｓ２０１）。例えば、符号化処理としては、ＭｏｔｉｏｎＪＰＥＧ、ＭＰＥＧ、Ｈ．２６４（ＭＰＥＧ４−Ｐａｒｔ１０  ＡＶＣ）、等の様々な公知の圧縮符号化方式処理がある。本実施例においては、例えば、Ｈ．２６４におけるフレーム内予測符号化画像を含む動画データとなるように符号化処理を行うものとする。なお、フレーム内予測符号化画像は、ＩＤＲフレームと呼ばれるフレーム間予測符号化画像の飛び越し参照を禁止するフレームとして符号化する。各ＩＤＲフレームには、ｉｄｒ＿ｐｉｃ＿ｉｄが付加されている。
【００４７】
また、このときＣＰＵ１０１は音声処理部１２１に、マイクユニット入力されたデジタル音声信号に対して種々の調整処理を適用した後、予め設定された音声用の符号化方式に従って符号化処理を実行し、得られた符号化された音声信号をＲＡＭ１０２に記憶させる。
【００４８】
そして、符号化復号化処理部１３０、音声処理部１２１は、符号化された動画データと音声データをＲＡＭ１０２記憶していく（Ｓ２０２）。以後の説明では、音声データについては説明を省略するが、動画データとともに処理されるものとする。
【００４９】
本実施形態の撮像装置１００においては、ＲＡＭ１０２には、常に直前の予め定められた時間分の動画データが記憶されるようにＲＡＭ１０２に記憶されている動画データのうち、予め定められた時間より前に撮像された動画データを削除するようにしている。そのため、ＣＰＵ１０１は、所定時間分以上の動画データがＲＡＭ１０２に記憶されたか否かを判定し（Ｓ２０３）、所定時間以上記憶されている場合（Ｓ２０３で、Ｙｅｓ）、所定時間よりも過去の時点で撮影された画像を示す動画データを破棄するようにしている。削除するデータのサイズは符号化単位で規定されるため、符号化方式によっては当該削除するデータのサイズをフレームまたは再生時間として決定することもできる。また、所定時間以上記憶されていない場合（Ｓ２０３で、Ｎｏ）、動画データの破棄を行わない。本実施例では所定時間は任意の時間であってよいが、例えば４秒、６秒、８秒など、ユーザが選択できるようにしても良い。そして、ＣＰＵ１０１は、静止画撮影の指示が操作入力部１１２から入力されたか否かを判定し（Ｓ２０５）、静止画撮影の指示が入力されていない場合（Ｓ２０５でＮｏ）、再びＳ２０１に戻り、動画データの生成処理、一時記憶を継続する。
【００５０】
なお、本実施形態では常に直前の予め定められた時間分の動画データがＲＡＭ１０２には記憶されるものとして説明するが、本発明の実施はこれに限らない。即ち、ＲＡＭ１０２に記憶される動画データのサイズは定量可能なものであればよく、例えばフレーム数、ＧＯＰ数（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅｓ）、データサイズ等で規定される、予め定められた量であってよい。つまり、ＲＡＭ１０２に記憶されている動画データは、当該動画データのサイズが予め定められたサイズ以上となった場合に、当該予め定められたサイズ未満のサイズとなるまで、動画データのフレームのうちの撮影時刻が古いフレームから順に削除されるようにしてもよい。
【００５１】
ここで、静止画撮影の指示が入力された場合（Ｓ２０５でＹｅｓ）、ＣＰＵ１０１は、記録媒体１５１の記録可能容量をチェックするように記録再生部１５０を制御し、ＲＡＭ１０２に一時的に記憶されている動画データの記録が可能であるか否かを判定しても良い。この判定は、ＲＡＭ１０２に一時的に記憶されている動画データのサイズと、記録する静止画データの見込みサイズとの和が、記録媒体１５１の記録可能容量よりも小さいか否かを比較することにより判定される。静止画データの見込みサイズはたとえば４ＭＢとしても良いし、記録サイズや画質等に応じて変更してもよい。
【００５２】
この判定により、動画データと、静止画データとを記録媒体１５１に記録できない場合には、静止画撮影のみを行い、動画データを記録しないようにしても良い。
【００５３】
また、Ｓ２０５で静止画撮影の指示が入力されたときに、ＲＡＭ１０２に例えば１秒未満や２秒未満等の短い時間分の動画データしか記憶されていない場合には、静止画撮影の指示を無効とするようにしても良い。この時間もユーザ画設定できるようにしても良い。
【００５４】
次に、静止画撮影の指示が入力された場合（Ｓ２０５でＹｅｓ）、ＣＰＵ１０１は、撮像部１１０に静止画データ用の撮影を実行させる（Ｓ２１０）。ＣＰＵ１０１は、このとき並行して符号化復号化処理部１３０に、ＲＡＭ１０２に記憶されている動画データの先頭フレームの画像を復号させ、サムネイル画像生成処理を実行させる（Ｓ２１１）。なお、本実施形態では記録される動画データのサムネイル画像は先頭フレームの画像から生成されるものとして説明するが、本発明の実施はこれに限らず、記録される動画データのフレームのうちのいずれかのフレームの画像から生成されればよい。すなわち、静止画撮影の指示があったときに、ＲＡＭ１０２に記憶されている動画データのいずれかのフレームを用いたサムネイル画像が生成されればよい。このようにすることで、一度動画データの記録媒体へのファイル記録が終了してから、記録媒体から動画ファイルを読み出したりすることなく、動画データのサムネイルを生成することができるので、処理が早くなる。なお、静止画の撮影指示がなされたと判断した場合、ＣＰＵ１０１は更なる静止画の撮影指示がなされても、指示を受け付けないよう制御する。
【００５５】
次に、ＣＰＵ１０１は、符号化復号化処理部１３０によるサムネイル画像生成処理が完了したか否かを判定し（Ｓ２１２）、処理が完了している場合には、次に、Ｓ２１０で撮影されたデジタル画像信号を静止画データとするべく、画像処理部１１１に現像処理を、符号化復号化処理部１３０に符号化処理を順次実行させる（Ｓ２２０）。このとき、ＣＰＵ１０１は並行して、サムネイル生成処理で生成されたサムネイル画像をＲＡＭ１０２に一時記憶されている符号化済みの動画データのヘッダ情報に含めて、記録媒体１５１に記録するように記録再生宇１５０を制御する（Ｓ２２１）。ここで、静止画の現像処理（Ｓ２２０）とは、撮影時に各画素に対してその周辺画素から足りない色情報を集め与えることで色情報を補完し、フルカラー画像を作り出す「デモザイク」処理等を含む処理で、このほかに、ガンマ補正、ホワイトバランス調整などの処理を含んでも良い。
【００５６】
ＣＰＵ１０１は、前述した現像処理が終了すると、現像したデジタル画像データを再びＲＡＭ１０２に記憶させ、表示制御部１４１に読み出させて、表示部１４０に表示させる。これは、一般にデジタルカメラで撮影を行った直後に表示部１４０に、撮影画像を表示させる、所謂「レックレビュー」表示である。ちなみに、静止画撮影の指示がなされてから静止画の現像処理が終了するまでの間、表示部１４０には、何の画像も表示されておらず、黒画像が表示されている。また、代わりに「処理中」などの状態をユーザに提示するための表示をさせても良い。
【００５７】
また、現像処理が終了すると、ＣＰＵ１０１は、予め設定された静止画記録用の符号化方式に従って符号化復号化処理部１３０に符号化処理を実行させる。次にＣＰＵ１０１は、静止画の現像処理、符号化処理が終了したか否かを判定する（Ｓ２２２）。静止画の符号化処理が終了したと判定すると、（Ｓ２２２でＹｅｓ）、ＣＰＵ１０１は、生成された静止画データを記録再生部１５０に送り、記録媒体１５１に記録させる（Ｓ２２３）。そして、ユーザが操作入力部１０２を操作してダイジェストムービーモードを抜ける指示をしていないかぎり（Ｓ２２４でＮｏ）、ＣＰＵ１０１は、静止画の記録と並行して、動画の撮影、符号化処理（Ｓ２０１）を開始する。このとき、ＣＰＵ１０１は、表示制御部１４１に、ＲＡＭ１０２に記憶されたデジタル画像信号を読み出させ、再びスルー画像を表示部１４０に表示させる。
【００５８】
以上のように、本実施例の撮像装置１００は、「ダイジェストムービーモード」において、動画ファイルと、静止画ファイルを記録する。
【００５９】
ここで、本実施例の「ダイジェストムービーモード」において、記録媒体１５１に既に記録されている動画ファイル（既存動画ファイル）の動画データに対して、新たに撮影された動画データ（新規動画データ）を連結（追記）する場合の例について説明する。たとえば、既存動画ファイルの記録された日付と、新規動画データの取得した日付（撮影時点でのカメラの日付設定でも良い）とが同じ場合には、動画データを連結するものとすると、図３に示すように記録される。図３は、撮影タイミングと、動画ファイル、静止画ファイルの記録状態を示すものである。
【００６０】
同一の撮影日を有する静止画ファイルＰ１、Ｐ２、及びＰ３は記録媒体１５１の１つのフォルダ（同一フォルダ内）に記録され、各静止画の撮影直前にＲＡＭ１０２に記憶された動画データは同じフォルダに１つの連結された動画ファイルとして記録される。また、静止画ファイルＰ１からＰ３とは異なる撮影日を有するＰ４及びＰ５は、静止画ファイルＰ１が記録されたフォルダとは異なるフォルダに記録されるものとする。このとき、静止画ファイルＰ４の撮影直前にＲＡＭ１０２に記憶された動画データが、当該動画データの途中で撮影日が変更された場合であっても、静止画ファイルＰ４の撮影日と同一のフォルダに記録されるように制御するものとする。すなわち、撮影指示の入力されたタイミングの日付情報によって、動画データを連結するか新規に保存するかのいずれかを決定することにもなる。
【００６１】
また、本実施形態では、静止画撮影の指示が入力される毎に、動画データに対応するサムネイル画像を生成するものとして説明したが、たとえばＰ１の静止画データの撮影時に生成される動画データＭ１に対応するサムネイルは生成し、追記されるＭ２、Ｍ３の動画データのサムネイル画像を生成しないようにしても良い。このようにすると、動画ファイル１つについて、サムネイル画像を１つとすることができる。
【００６２】
次に、「ダイジェストムービーモード」において、記録媒体１５１に既に記録されている動画ファイル（既存動画ファイル）の動画データに対して、新たに撮影された動画データ（新規動画データ）を連結（追記）する編集を行う場合の動作について詳しく説明する。前述したように、連結（追記）するか否かの判定は、撮像装置１００の起動時または、ダイジェストムービーモード選択時、または、静止画記録の指示が入力された後に行う。
【００６３】
この動画データの連結処理は、図２のＳ２２１において実行される処理であるが、後述するように、一部の処理は、Ｓ２２２、Ｓ２２３、Ｓ２０１からＳ２０４と並行に処理されても良い。
【００６４】
図４は、動画データの連結（追記）をする編集を行う場合の撮像装置の制御動作を示す図であり、図５は、図４の各ステップに対応し、記録媒体１５１内の動画ファイルの状態を示す図である。図４の動作は、ＣＰＵ１０１が、撮像装置１００の各ブロックを制御することにより実行される処理である。
【００６５】
まず、ＣＰＵ１０１は、Ｓ２０２で、ＲＡＭ１０２に記憶させた所定時間分の動画データを記録媒体１５１の空き領域に記録するように記録再生部１５０を制御する（Ｓ４１０）。このとき、ファイルシステムとしては、ＦＡＴを用いているため、基本的なルールに則り、空いているクラスタに動画データを記録する。
【００６６】
図５（ａ）は、ＲＡＭ１０２の動画データを記録媒体１５１に記録する前の特定の動画ファイルの記録状態を示す図である。図５（ａ）においては、クラスタ１から２にかけて、特定の動画ファイルの動画データが記録されており、クラスタ３に特定の動画ファイルのヘッダが記録されている。動画ファイルは、このように、クラスタ１から３に記録されている。そして、ＦＡＴ領域には、クラスタ番号３→１→２の順でファイルが記録されていることを示すようにＦＡＴエントリーにクラスタ番号が記録されている。すなわち、クラスタ番号３のＦＡＴエントリーには「１」が記録されており、クラスタ番号１のＦＡＴエントリーには「２」が記録されており、クラスタ番号２のＦＡＴエントリーには、ファイル終端を示す「ＦＦ」が記録されている。そのため、特定の動画ファイルは、クラスタ番号３→１→２の順で記録媒体からデータを読み出せばよいのである。
【００６７】
そして、Ｓ４１０で、ＲＡＭ１０２に記憶された所定時間分の動画データを記録媒体１５１に記録した状態を示す図が、図５（ｂ）である。図５（ｂ）では、クラスタ４、５に、所定時間分の動画データが記録された状態を示している。この状態では、ＦＡＴ領域のＦＡＴエントリーを確認してもわかるように、所定時間分の動画データは、クラスタ１から３に記録された特定の動画ファイルとは、別のクラスタ４、５に記録されたデータとなっている。
【００６８】
次に、Ｓ４２０の処理を説明する。ここで、Ｓ４１０の処理が開始していれば、Ｓ４１０の処理が終了していなくても、Ｓ４２０の処理を開始しても良い。
【００６９】
ＣＰＵ１０１は、ＲＡＭ１０２に記憶された所定時間分の動画データの記録が開始した後に、記録媒体１５１に記録された特定の動画ファイルの動画データを解析し、連結位置を特定する。連結位置は、本実施例では、特定の動画ファイルの動画データの後とする。この処理は、特定の動画ファイルのサイズが大きいほど、ファイルの読み出しや解析に時間がかかるので、連結位置の特定までにも時間がかかることがある。
【００７０】
次に、ＣＰＵ１０１は、記録媒体１５１に記録された、所定時間分の動画データを特定の動画ファイルに連結（追記）するために、ＦＡＴエントリーを書き換えるように、記録再生部１５０を制御する（Ｓ４３０）。すなわち、図５（ｃ）に示す要に、特定の動画ファイルの終端がクラスタ番号２である状態を変更し、クラスタ２の後、続けて、クラスタ４、５を読むように修正する。具体的には、ＦＡＴのクラスタ番号２のＦＡＴエントリーをファイル終端を示す「ＦＦ」から、新規動画データの記録されているクラスタの先頭であるクラスタ４を読むように、「４」に書き換えるのである。
【００７１】
そして、ＣＰＵ１０１は、特定の動画ファイルのファイルヘッダを読み出して、新規動画データのデータを管理する情報を追記するように、ファイルヘッダを編集し、記録媒体１５１に記録する（Ｓ４４０）。ファイルヘッダにはたとえば、動画の特定のフレーム、または特定のＧＯＰの開始位置が動画ファイルのどの位置のデータであるかを示すような管理情報が記録されることになる。このような処理により、図５（ｃ）に示すように、連結編集後の動画ファイルは、クラスタ１から５からなり、クラスタ番号３→１→２→４→５の順で記録された状態になる。
【００７２】
そして、ＣＰＵ１０１は、処理をＳ２２２へ移す。
【００７３】
なお、Ｓ４２０からＳ４４０の処理は、Ｓ２２２、Ｓ２２３の処理と並行して実行されてもよく、さらには、次の撮影による動画データの一時記憶Ｓ２０１からＳ２０４の処理と並行して実行されても良い。なぜなら、Ｓ４１０の処理により、ＲＡＭ１０２に記憶されていた動画データは、記録媒体１５１に既に記録されているため、動画データを一時的に記憶するためのＲＡＭ１０２の領域は開放されるからである。ＲＡＭ１０２の動画データを一時記憶するための記憶領域が開放されれば、Ｓ２０１により得られた動画データをＲＡＭ１０２に記憶しはじめても良いのである。
【００７４】
このように、本実施例の撮像装置１００のＣＰＵ１０１は、撮影の指示が入力されると、撮影の指示が入力されるまでに、ＲＡＭ１０２に記憶された所定時間分の動画データを記録媒体１５１に記録するように記録再生部１５０を制御する（Ｓ４１０）。そして、ＲＡＭ１０２に記憶された所定時間分の動画データの記録が開始した後に、ＣＰＵ１０１は、記録媒体１５１に記録された特定の動画ファイルの動画データを解析し、連結位置を特定する（Ｓ４２０）。その後、連結位置に続けて前記所定時間分の動画データが再生されるように前記特定の動画ファイルを編集するようにＦＡＴやヘッダを編集している。
【００７５】
これにより、本実施例の撮像装置は、記録媒体１５１に記録された既存の動画ファイルの動画データに新規に撮影された動画データを連結する場合。既存動画ファイルの連結位置を解析する前に、ＲＡＭに一時的に記憶されている新規動画データを記録媒体に記録するようにし、ＲＡＭ１０２の動画データ記憶領域を解放することができるようにしている。そのため、既存動画ファイルの連結位置を特定する前に、ＲＡＭ１０２の動画データ記憶領域に、次の動画データを記憶できるようにすることができ、次に動画データを撮影するまでの時間が長くならないようにすることができる。
【００７６】
次に、記録媒体１５１に記録される動画ファイルのファイルフォーマットについて説明する。図６は、本実施例の動画のファイルフォーマットを説明するための図である。
【００７７】
本実施例において、動画ファイルはＭＯＶフォーマットで記録されている。なおＭＯＶフォーマットでは、ファイルに記録されるデータは「アトム」と呼ばれるデータ構造の内部に記述され、アトムを単位としてファイルに記録される。各アトムはそれぞれ、「Ｓｉｚｅフィールド」、「Ｔｙｐｅフィールド」を有する。「Ｓｉｚｅフィールド」は、Ｓｉｚｅフィールドを含む、アトム全体のデータサイズを表す４バイトのフィールドである。「Ｔｙｐｅフィールド」は、アトムの種類を表す４バイトのタイプ識別子のフィールドである。なお、各アトムにおいて「Ｔｙｐｅフィールド」以降のフィールドはアトムによってはオプションであるため、ここでは説明を省略する。また、アトム内に他のアトムを包含することが可能であり、それにより入れ子構造を実現している。ＭＯＶフォーマットで記録された動画ファイルは、図６に示すような構造で各アトムを格納している。
【００７８】
図６に示すように、ＭＯＶフォーマットの動画ファイルは、以下のアトムを有する。
ファイルの種別を表す、ｆｔｙｐ（ファイルタイプアトム）７０１。後述のｍｖｈｄ（ムービーヘッダアトム）７０６やｔｒａｋ（トラックアトム）７０７、７０８、７０９などを含む、音声や映像に関する情報を格納した、ｍｏｏｖ（ムービーアトム）７０２。音声や映像、テキストなどの実データが格納した、ｍｄａｔ（ムービーデータアトム）７０３。
【００７９】
また、ｍｏｏｖ（ムービーアトム）７０２には、以下のアトムが格納される。
任意のデータが格納された、ｕｄｔａ（ユーザーデータアトム）７０４。撮像装置１００のモデル名や通信部１５２で受信した撮像装置１００の位置情報やＵＴＣ時刻などのメタデータが格納された、ｍｅｔａ（メタデータアトム）７０５。動画の作成日時や修正日時、タイムスケール、Ｄｕｒａｉｏｎなどが格納された、ｍｖｈｄ（ムービーヘッダアトム）７０６。映像用のｔｒａｋ（トラックアトム）７０７。音声用のｔｒａｋ（トラックアトム）７０８。テキスト用のｔｒａｋ（トラックアトム）７０９。
【００８０】
さらに、各ｔｒａｋ（トラックアトム）７０７〜７０９には、以下のアトムが格納される。
そのトラックの作成日時やＤｕｒａｔｉｏｎ（後述のチャンク内の各サンプルの間の時間的間隔）、そしてＩＤなどが格納した、ｔｋｈｄ（トラックヘッダアトム）７１０。なお、本実施例では、映像トラックのＩＤは１、音声トラックのＩＤは２、テキストトラックのＩＤは３、とする。トラック間の参照情報を格納したｔｒｅｆ７１１。本実施例では、映像トラックがテキストトラックをチャプタとして参照するため、映像用のｔｒｅｆ７１１には、テキストトラックのＩＤである３が記載され、それをチャプタとして参照するため、識別子として‘ｃｈａｐ’と記載されている。音声トラックにおいても、も同様である。本実施例では、テキストトラックにはｔｒｅｆは存在しなくて良い。
【００８１】
また、各ｔｒａｋ（トラックアトム）７０７〜７０９には、以下のアトムも格納される。
１チャンクがいくつのサンプル（映像の場合はフレーム）数で構成されているかを示すｓｔｓｃ（サンプルチャンクアトム）７１２。本実施例では全ての映像チャンクが１チャンク＝１サンプル（フレーム）から構成されるものとする。
【００８２】
各サンプル間の時間的間隔（Ｄｕｒａｔｉｏｎ）を格納した、ｓｔｔｓ（同期サンプルアトム）７１３。なお、映像用のトラックの場合は、１つの動画ファイル内でフレーム間隔が変わらないので、たとえば、３０フレーム毎秒であれば、「０．０３３秒」に対応するデータが記載される。また、テキスト用のトラックの場合は、各チャプタが異なる時間間隔を持つため、先頭から順に、例えば「４秒」、「３秒」、「４秒」、「２秒」と、各チャプタの長さに対応するデータが記載される。１サンプルあたり各サンプルのデータサイズを格納した、ｓｔｓｚ（サンプルサイズアトム）７１４。各チャンクのファイルオフセットを格納したｓｔｃｏ（チャンクオフセット）７１５。
【００８３】
音声や映像、テキストなどの実データが格納した、ｍｄａｔ（ムービーデータアトム）７０３には、以下のアトムが格納される。
各チャプタのタイトルをテキストデータとして格納したテキストチャンク７１６、７１７。テキストチャンク７１６、７１７は、最初の領域には、後に続くテキストデータのデータサイズ（１６進数）を示すデータが格納される。テキストデータ領域にはテキストデータがＡＳＣＩＩコードで格納される。本実施例では、「ダイジェストムービーモード」において静止画の撮影された撮影時刻をテキストデータとして記載するものとする。すなわち、「ダイジェストムービーモード」で、１２時３４分５６秒に静止画撮影の指示があった場合、記録媒体に記録される動画は、１２時３４分５２秒〜１２時３４分５６秒に対応する動画である。しかし、この動画のチャプタのタイトルとしては、静止画撮影の指示があった１２時３４分５６秒に対応するテキストデータが書き込まれる。
【００８４】
また、音声や映像、テキストなどの実データが格納した、ｍｄａｔ（ムービーデータアトム）７０３には、以下のアトムも格納される。
音声データチャンク７１８、７１９。映像データチャンク７２０、７２１、７２２等。図７において、アルファベットはピクチャの種類を示す。すなわち、フレーム内予測符号化されたＩピクチャであるか、前方予測のフレーム間予測符号化されたＰピクチャ、双方向予測のフレーム間予測符号化されたＢピクチャのいずれかを示す。本実施例では、フレーム内予測符号化されたＩピクチャであるためＩが付されている。さらに、アルファベットの添え字の数字は先頭からのフレーム番号を表している。つまり、映像データチャンク７２０は、１番目のフレームがＩピクチャ（フレーム内予測符号化ピクチャ）であることを表している。
【００８５】
ここで、ｍｄａｔアトム７０３のデータの格納状態について説明する。
【００８６】
前述したようにｍｄａｔアトム７０３には、テキストチャンク、音声チャンク、映像チャンクが格納されている。なお、本実施例においては、音声チャンク１個と、映像チャンクを１５個とを組として格納している。これは、音声データ０．５秒と、映像の１５フレームが対応するようにするためにこのように記録している。しかし、格納方法この方式に限られない。さらに、本実施例のようにチャプタごとに、テキストチャンク７１６、７１７が格納される。これは、チャプタ１つにつき一つのテキストチャンクが対応する。すなわち、本実施例のように「ダイジェストムービーモード」で撮影を繰り返すと、撮影される度にテキストチャンクがｍｄａｔアトムに格納されることになる。テキストチャンクは、チャプタ一つに対応するものとなる。なお、前述したように、テキスト用のｔｒａｋアトムのテキスト用のｓｔｔｓアトムにも、テキストチャンクのサンプルの再生間隔（Ｄｕｒａｔｉｏｎ）が格納されている。
【００８７】
動画ファイルはこのようなフォーマットで記録されている。
【００８８】
そのため、たとえば、ｍｄａｔ内の任意の映像フレームや音声データ、またはチャプタにアクセスする場合には、ｍｏｏｖ７０２のｓｔｓｚ７１４およびｓｔｃｏ７１５に格納されている情報を用いればよい。
【００８９】
ここで、本実施例の撮像装置１００の特徴的な動作である、記録媒体１５１に記録された動画ファイルの指定されたチャプタに対応する動画データを削除する編集処理について説明する。
【００９０】
削除対象のチャプタを選択する方法としては、動画ファイルのｍｏｏｖアトムのたとえばテキスト用のｔｒａｋアトムを解析することで、チャプタの一覧画面を表示して、対象となるチャプタを選択させる方法がある。また、再生モードにおいて表示部１４０に表示しているフレームの含まれるチャプタを削除対象のチャプタとして選択しても良い。
【００９１】
本実施例においては、指定されたフレームの属するチャプタの動画データを削除するものとして説明を行う。
【００９２】
図７は、本実施例の編集処理の動作を説明するためのフロー図であって、ＣＰＵ１０１がＲＡＭ１０２に展開したプログラムに基づいて、撮像装置１００の各部を制御することにより、実行される処理である。また、図８は、動画ファイルの状態を示すものであって、図８（ａ）が編集前の動画ファイル、図８（ｂ）が編集後の動画ファイルそれぞれの状態を示している。
【００９３】
ＣＰＵ１０１は、表示中のフレーム等の指定されたフレームの属するチャプタの動画データを削除する指示が、操作部１０４より入力されたことに応じて図７のフロー図で示される処理を開始する。
【００９４】
まずＣＰＵ１０１は、指定されたフレームの番号（ｎ）を取得する（Ｓ８０１）。次に、ＣＰＵ１０１は、映像用のｓｔｔｓ７１３を解析し、映像サンプルあたりの再生時間（前述のＤｕｒａｉｔａｉｏｎ）Ｄｖを取得する（Ｓ８０２）。そして、ＣＰＵ１０１は、フレームの番号（ｎ）と、映像サンプルあたりの再生時間Ｄｕｒａｔｉｏｎ（Ｄｖ）とから、フレーム番号（ｎ）までの時間（Ｄ）を算出する（Ｓ８０３）。
【００９５】
次にＣＰＵ１０１は、テキスト用ｓｔｔｓを解析し、動画ファイルの各チャプタに対応する各テキストチャンクの再生時間を取得し（Ｓ８０４）、指定されたフレーム番号（ｎ）のフレームの再生時間（Ｄ）と比較する（Ｓ８０５）。
【００９６】
ここで、再生時間（Ｄ）が、ｃ−１番目のテキストチャンクの再生時間と、ｃ番目のテキストチャンクの再生時間の間である場合、指定されたフレーム番号（ｎ）のフレームは、ｃ番目のチャプタに属することになる。たとえば、フレーム番号（ｎ）までの時間（Ｄ）が１９秒であったとする。ｃ−１番目のテキストチャンクの再生時間が１８秒である場合、ｃ−１番目のテキストチャンクに対応するチャプタは、１８秒までで終了し、その後はｃ番目のテキストチャンクに対応するチャプタとなる。次にｃ番目のテキストチャンクの再生時間を加えると２２秒になったとすると、フレーム番号（ｎ）までの時間（Ｄ）は２２秒より小さいので、指定されたフレーム番号（ｎ）のフレームは、ｃ番目のチャプタに属することになる。ＣＰＵ１０１は、このように、再生時間（Ｄ）が、ｃ−１番目のテキストチャンクの再生時間と、ｃ番目のテキストチャンクの再生時間の間であるかを判定する。この判定により、指定されたフレームの属するチャプタがｃ番目のチャプタであることを特定する（Ｓ８０６）。
【００９７】
次に、ＣＰＵ１０１は、指定されたフレームの属するｃ番目チャプタの再生時間を、映像サンプルあたりのＤｕｒａｉｔａｉｏｎ（Ｄｖ）で除算する。これにより、ｃ番目のチャプタの最後のフレーム番号を特定することができる（Ｓ８０７）。
【００９８】
次に、ＣＰＵ１０１は、以下の処理によりｃ番目のチャプタの動画データの動画ファイル上における終端ＣｕｔｏｆｆｓｅｔＥを特定する（Ｓ８０８）。ＣＰＵ１０１は、映像用のｓｔｓｚアトムより、ｃ番目のチャプタの最後のフレームのデータサイズを、そして、映像用のｓｔｃｏアトムより、ｃ番目のチャプタの最後のフレームのファイルオフセットを取得する。そして、ｃ番目のチャプタの最後のフレームのファイルオフセットにｃ番目のチャプタの最後のフレームのデータサイズを加算して、ｃ番目のチャプタの最後のフレームのデータ上の終端を算出し、これを終端ＣｕｔｏｆｆｓｅｔＥとして特定する。
【００９９】
次に、ＣＰＵ１０１は、以下の処理によりｃ番目のチャプタの動画データの動画ファイル上における先頭ＣｕｔｏｆｆｓｅｔＳを特定する（Ｓ８０９）。ＣＰＵ１０１は、テキスト用のｓｔｃｏアトムより読み出して、指定されたフレームの属するｃ番目のチャプタのデータ上の先頭を算出し、これを先頭ＣｕｔｏｆｆｓｅｔＳとして特定する。
【０１００】
図６で説明したように、ｍｄａｔアトムには、各チャプタごとにテキストチャンクが生成され、テキストチャンクは、各チャプタに属する音声チャンク、映像チャンクの先頭に配置され、また、音声チャンクは、対応する映像チャンクよりも前に配置される。そのため、Ｓ８０８、Ｓ８０９の処理により、ｃ番目のチャプタの先頭と終端を特定することができる。なお、Ｓ８０８とＳ８０９の処理はどちらの処理を先に行っても良い。
【０１０１】
ここで、図８（ａ）に示すように動画ファイルが記録されているものとして説明をする。
【０１０２】
次に、ＣＰＵ１０１は、ＣｕｔｏｆｆｓｅｔＳをクラスタサイズのサイズで切り上げた計算を行い、クラスタ境界ＣｕｔｏｆｆｓｅｔＳ’を特定する（Ｓ８１１）。また、ＣＰＵ１０１は、ＣｕｔｏｆｆｓｅｔＥをクラスタサイズのサイズで切り下げた計算を行い、クラスタ境界ＣｕｔｏｆｆｓｅｔＥ’を特定する（Ｓ８１２）。
【０１０３】
ここで、動画ファイルにおけるｃ番目のチャプタの動画データの先頭と終端のファイルオフセットがわかると、ＣＰＵ１０１は、記録媒体上での動画ファイルにおけるｃ番目のチャプタの動画データの記録位置が特定する。これは、記録媒体１５１において、クラスタサイズが所定のサイズに決まっているため、ファイルの先頭から数えて何バイト目が何クラスタ目であるかをＣＰＵ１０１が算出する。そして、Ｓ８１１、Ｓ８１２の処理により、ファイルアロケーションテーブルを解析して、どのクラスタが、ｃ番目のチャプタの動画データの記録先頭クラスタであるか、末尾クラスタであるかを特定する。
【０１０４】
図８（ａ）に示すように、ｃ番目のチャプタのデータは、クラスタ番号８からクラスタ番号１１番に記録されている。すなわち、クラスタ境界ＣｕｔｏｆｆｓｅｔＳ’は、ｃ番目のチャプタのデータの先頭クラスタの先頭を示す。また、クラスタ境界ＣｕｔｏｆｆｓｅｔＥ’は、ｃ番目のチャプタのデータの末尾クラスタの先頭を示す。本実施例においては、ｃ番目のチャプタのデータの先頭クラスタと末尾クラスタは、他のデータが記録されている可能性があるため、データ上削除は行わず、ｍｏｏｖのアトムを変更することでｃ番目のチャプタのデータを無効とする。
【０１０５】
次に、ＣＰＵ１０１は、ｃ番目のチャプタのデータを無効とするために、ｍｏｏｖアトム内の映像用、音声用、テキスト用の各ｔｒａｋアトム内のｓｔｃｏアトム、ｓｔｓｚアトム、ｓｔｔｓアトムを書き換える。すなわち、各サンプルのファイルオフセット、各サンプルのデータサイズ、再生時間（Ｄｕｒａｔｉｏｎ）を書き換える（Ｓ８１３）。
【０１０６】
次にＣＰＵ１０１は、動画ファイルのファイルアロケーションテーブル（ＦＡＴ）を書き換える（Ｓ８１４）。すなわち、図８（ｂ）に示すように、ｃ番目のチャプタの先頭クラスタと最終クラスタを除くクラスタについては、空きクラスタを示す「０」を書き込む。そして、ｃ番目のクラスタの先頭の次に最終クラスタを読むようにファイルアロケーションテーブル（ＦＡＴ）のクラスタチェーンを書き換える。また、削除を行った動画ファイルを示すディレクトリエントリのデータサイズや作成日時等の情報も書き換える。
【０１０７】
このように、Ｓ８１３の処理により、ｃ番目のクラスタの動画データを無効とすると共に、Ｓ８１４の処理により動画ファイルのｃ番目のクラスタの動画データの削除によるファイルサイズの削減を行う。
【０１０８】
本実施例の撮像装置１００は、このような方法で、動画ファイルの所定のチャプタに属する動画データを削除するため、動画のデコード、再エンコード処理を実行することなく、動画の編集を実行することができる。そのため、動画編集処理を高速に行うことができる。
【０１０９】
なお、クラスタ境界ＣｕｔｏｆｆｓｅｔＳ’とクラスタ境界ＣｕｔｏｆｆｓｅｔＥ’とが同じ位置である場合。あるいは、クラスタ境界ＣｕｔｏｆｆｓｅｔＥ’の方がクラスタ境界ＣｕｔｏｆｆｓｅｔＳ’よりも前になる場合。これらの場合には、Ｓ８１３の処理のみ行い、Ｓ８１４の処理を行わない。
【０１１０】
本実施例では、撮像装置１００を例にとって説明した。しかし、本実施例の削除処理を実行することができるものであれば、本発明を適用することができる。例えば、コンピュータ、タブレット型端末、スマートフォン、携帯電話、テレビ、等であっても良い。また、本実施例の削除処理をコンピュータに実行させる為のプログラムも本発明のしそうに含まれる。
【０１１１】
なお、本実施例の撮像装置１００は、基本的に、既存動画ファイルの動画データに対して、新規動画データを追記するものとするが、以下のような条件を満たす場合には、追記しないようにしている。
・追記対象の既存動画ファイルがプロテクトされている場合
記録媒体１５１に記録されている特定の動画ファイル「ＭＤＧ＿０００Ｘ．ＭＯＶ」がプロテクトされている場合には、ユーザがファイルの改変を望まないファイルである可能性が高いので、追記不可能とする。
・追記撮影によりファイルサイズが所定のサイズを超える場合
記録媒体１５１は、前述したようにたとえばＦＡＴファイルシステムで管理されている。その場合、たとえば、ＦＡＴ３２では、１ファイルあたり４ＧＢ以上になると読み込めなくなってしまう。そのため、次の撮影により「追記動画ファイル」が４ＧＢを超える場合には、追記不可能とする。
・追記対象の既存動画ファルの動画のＧＯＰ構造に異常がある場合
記録媒体１５１に記録されている追記対象である特定の動画ファイル「ＭＤＧ＿０００Ｘ．ＭＯＶ」のチェックの結果、ＧＯＰ構造に異常がある場合には、追記する動画データにまで影響が出てしまう可能性があるので、追記不可能とする。
・追記対象のファイルが無い場合
ダイジェストムービーモードで撮影された動画には、ファイル名として、「ＭＤＧ＿０００Ｘ．ＭＯＶ」という、ＭＤＧという識別子と通し番号４桁が付加されるようになっている。しかし、ファイル名に「ＭＤＧ」を含む識別子の動画がない場合には、ダイジェストムービーモードで撮影された動画ファイルが存在しないので、追記不可能とする。また、撮像装置１００の不図示の不揮発性メモリに最後にダイジェストムービーモードで記録した動画ファイルのファイル名を記録させておき、そのファイルが存在しない場合にも、追記不可能とする。
・追記対象の動画ファイルの撮影日が撮像装置に設定された日と異なる場合
ダイジェストムービーモードで同一撮影日に撮影された動画データを順次追記する場合には、日付の変更に伴って、別の動画ファイルを記録することになるので、追記不可能とする。
・追記対象の動画ファイルに関連づけられた地域設定が撮像装置に設定された地域と異なる場合
ダイジェストムービーモードで同一地域で撮影された動画データを順次追記する場合には、地域の変更に伴って、別の動画ファイルを記録することになるので、追記不可能とする。たとえば地域情報は、ＧＰＳユニットを用いて、得られた位置情報を用いても良いし、撮像装置の時計の設定時に選択する、「国」の情報を用いても良い。
・追記対象の動画ファイルに関連づけられた撮像装置の情報が、新規動画データを撮影する撮像装置と異なる場合
同一の撮像装置で、ダイジェストムービーモードで撮影された動画データのみを追記する場合には、記録媒体に記録された追記対象の動画ファイルに関連づけられた撮像装置の識別情報が、撮影を行う撮像装置と一致するかを確認する。そして、異なる場合には追記不可とする。
・動画記録設定が追記元の既存動画ファイルと同一でない場合
本実施例のように、既存動画ファイルに新規動画データを追記する場合には、動画の途中で、フレームレートや画像サイズ、ＧＯＰ構成、動画符号化方式が変更されてしまうと、シームレスに再生できなくなってしまう可能性がある。そのため、既存動画ファイルの動画データと、新規動画データの動画記録設定が同一でない場合には、追記不可能とする。フレームレートや画像サイズ、ＧＯＰ構成、動画符号化方式等の情報は、既存動画ファイルのファイルヘッダ等に記録されている。
・音声記録設定が追記元の既存動画ファイルと同一でない場合
本実施例のように、既存動画ファイルに新規動画データを追記する場合には、動画の途中で、音声のサンプリングレート、チャンネル数、ビット深度や、音声符号化方式等が変更されてしまうと、再生できなくなってしまう可能性がある。そのため、既存動画ファイルの動画データと、新規動画データファイルの音声記録設定が同一でない場合には、追記不可能とする。音声のサンプリングレートや、音声符号化方式等の情報は、既存動画ファイルのファイルヘッダ等に記録されている。
・記録媒体１５１の挿抜履歴がある場合
撮像装置１００の起動時に、ＣＰＵ１０１は、最後に連続動画撮影モードにおいて撮影した後に、記録媒体１５１が挿抜された履歴が、不図示の不揮発性メモリに残っている場合には、追記不可能とする。これは、記録媒体１５１に記録されている「ＭＤＧ＿０００Ｘ．ＭＯＶ」がコンピュータなどにより編集されてしまい、画像サイズなどが変更され、追記により動画ファイル自体が壊れたりする可能性を低減するためである。そのためには、追記対象の「ＭＤＧ＿０００Ｘ．ＭＯＶ」のファイルヘッダに記録されている撮影日時情報と、不揮発性メモリに残っている挿抜履歴の時間情報とを比較する。追記動画ファイル「ＭＤＧ＿０００Ｘ．ＭＯＶ」は、その動画に記録されている複数のシーンの動画データのうち、最初に撮影された時間情報をファイルヘッダに記録されるようになっている。
・追記撮影により動画再生時間が所定時間を超える場合
撮像装置１００においては、所定時間（たとえば、３０分）を超える撮影を望まない場合を考慮し、連続動画撮影モードにおいて、新たな撮影をすることにより、「追記動画ファイル」の動画データの再生時間が３０分を超える場合には、追記不可能とする。そのためには、たとえば、ファイルヘッダに記載されている「追記動画ファイル」の再生時間を読み出して、２９分５８秒等であれば、追記不可能とするのである。
・追記元の動画ファイルの記録されているフォルダ内のファイル数が所定数以上になる場合
撮像装置１００においては、静止画ファイルや動画ファイルを記録媒体１５１に記録するファイル数をＤＣＦという規格に基づいて記録している。このＤＣＦ規格では、１つのフォルダ内に最大９９９９個のファイルを記録可能としているが、本実施例のように撮影を行った際に、静止画ファイルが新たに生成されるため、静止画ファイルが追記元の動画ファイルの格納されているフォルダに記録できないことがある。その場合には、関連する静止画ファイルと、追記元の動画ファイルとが異なるフォルダに格納されてしまい、ユーザが後で閲覧するときに見づらくなってしまう。そこで、このような場合には、追記をせずに、動画を新規なファイルとして記録し、なおかつ新しいフォルダに格納するものとする。ここでは９９９９個のファイルを上限として説明したが、９９９個でも良いし、９００個でも良いし、１００個でも良い。
【０１１２】
また、記録媒体１５１もしくは既存動画ファイルが壊れているなどの原因により、正常にチェックすることができなかった場合も、追記不可と判定する。
【０１１３】
本実施例では、撮像装置について説明した。撮像装置としては、一般的なコンパクトデジタルカメラ、デジタル一眼カメラ、ビデオカメラ、携帯電話が含まれる。また、本発明の技術を適用可能な装置は、撮像装置に限らず、たとえば、カメラを接続したパーソナルコンピュータであっても良い。
【０１１４】
（他の実施形態）
上述の実施形態は、システム或は装置のコンピュータ（或いはＣＰＵ、ＭＰＵ等）によりソフトウェア的に実現することも可能である。従って、上述の実施形態をコンピュータで実現するために、該コンピュータに供給されるコンピュータプログラム自体も本発明を実現するものである。つまり、上述の実施形態の機能を実現するためのコンピュータプログラム自体も本発明の一つである。
【０１１５】
なお、上述の実施形態を実現するためのコンピュータプログラムは、コンピュータで読み取り可能であれば、どのような形態であってもよい。例えば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等で構成することができるが、これらに限るものではない。上述の実施形態を実現するためのコンピュータプログラムは、記憶媒体又は有線／無線通信によりコンピュータに供給される。プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記憶媒体、ＭＯ、ＣＤ、ＤＶＤ等の光／光磁気記憶媒体、不揮発性の半導体メモリなどがある。
【０１１６】
有線／無線通信を用いたコンピュータプログラムの供給方法としては、コンピュータネットワーク上のサーバを利用する方法がある。この場合、本発明を形成するコンピュータプログラムとなりうるデータファイル（プログラムファイル）をサーバに記憶しておく。プログラムファイルとしては、実行形式のものであっても、ソースコードであっても良い。そして、このサーバにアクセスしたクライアントコンピュータに、プログラムファイルをダウンロードすることによって供給する。この場合、プログラムファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに分散して配置することも可能である。つまり、上述の実施形態を実現するためのプログラムファイルをクライアントコンピュータに提供するサーバ装置も本発明の一つである。
【０１１７】
また、上述の実施形態を実現するためのコンピュータプログラムを暗号化して格納した記憶媒体を配布し、所定の条件を満たしたユーザに、暗号化を解く鍵情報を供給し、ユーザの有するコンピュータへのインストールを許可してもよい。鍵情報は、例えばインターネットを介してホームページからダウンロードさせることによって供給することができる。また、上述の実施形態を実現するためのコンピュータプログラムは、すでにコンピュータ上で稼働するＯＳの機能を利用するものであってもよい。さらに、上述の実施形態を実現するためのコンピュータプログラムは、その一部をコンピュータに装着される拡張ボード等のファームウェアで構成してもよいし、拡張ボード等が備えるＣＰＵで実行するようにしてもよい。
【図１】
2014060498.tif 000003
【図２】
2014060498.tif 000004
【図３】
2014060498.tif 000005
【図４】
2014060498.tif 000006
【図５】
2014060498.tif 000007
【図６】
2014060498.tif 000008
【図７】
2014060498.tif 000009
【図８】
2014060498.tif 000010