以下、図面を参照して本発明の実施例を詳細に説明するが、この発明は以下の実施の形態に限定されない。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
なお、本実施例において説明される各機能ブロックは必ずしも個別のハードウェアである必要はない。すなわち、例えばいくつかの機能ブロックの機能は、1つのハードウェアにより実行されても良い。また、いくつかのハードウェアの連係動作により1つの機能ブロックの機能または、複数の機能ブロックの機能が実行されても良い。
(実施例1)
本実施例では、画像処理装置として撮像装置を例にとって説明する。
本実施例の撮像装置100は、通常の「動画撮影モード」においては、1回の動画撮影の開始から終了までに撮影された動画データを1つのファイルとして記録媒体に記録することができる。また、通常の「静止画撮影モード」においては、1回の撮影指示に応じて撮影された静止画データを1つのファイルとして記録媒体に記録することができる。さらに、本実施例の撮像装置は、「ダイジェストムービーモード」を有する。この「ダイジェストムービーモード」では、静止画撮影の指示に応じて、撮影された静止画データを記録媒体に記録するだけでなく、静止画撮影の指示が入力されるまでに撮影された所定時間分の動画データを動画ファイルとして記録媒体に記録することができる。動画データについては、撮像装置に備えられたメモリに、エンコードした状態で一時的に記憶しておく。
また、「ダイジェストムービーモード」においては、たとえば、同一日付に撮影された動画データをすべて連結した一つの動画データを作成し、記録媒体に記録することができる。この場合には、記録媒体に既に記録されている動画ファイルの動画データに対して、新規に撮影された動画データを静止画撮影の指示のあるごとに連結(追記)していく。また、連結されるたびに、各静止画撮影に対応する動画データを一つのチャプタに対応するものとして取り扱う。そのために、動画ファイルにはチャプタを示すためのチャプタデータが記録されることになる。また、チャプタデータには、静止画撮影の行われたタイミングを示す時間情報が記録されている。
撮像装置100は、「ダイジェストムービーモード」にモードが遷移すると、撮像部により得られた複数の画像を動画の各フレーム画像とした符号化動画データを作成し、メモリに順次記憶していく。所定時間以上過去の動画データについては、メモリ上で破棄または、上書きする。そして、静止画撮影の指示が入力されると、撮像部により得られた画像信号に基づいて、静止画データを作成し、記録媒体に記録する。このとき、それまでメモリに記憶していた所定時間分の動画データを動画ファイルとして記録媒体に記録するのである。記録媒体に既に記録されている動画ファイル(既存動画ファイル)の動画データに、この所定時間分の動画データを連結する場合には、メモリに一時的に記憶されている所定時間分の動画データを記録媒体に先に記録する。そして、その後、既存動画ファイルの動画データを解析し、連結位置を特定してから動画データの連結編集を行う。なお、本実施例の撮像装置100は、静止画撮影の指示に対応する動画をそれぞれ別々のチャプタとして区別するために、チャプタ情報を動画ファイルに格納する。このとき、チャプタデータには、静止画撮影の行われたタイミングを示す時間情報をテキストデータとして記載する。
また、本実施例の撮像装置100は、再生モードにおいて、「ダイジェストムービーモード」で記録された動画ファイルと静止画ファイルとを互いに関連づけることができる。しかも、静止画ファイルを再生しているときに、関連している動画ファイルを再生し、再生終了後に、再生していた静止画ファイルを再表示することができる。
以下、このような撮像装置について、説明する。
まず、図1を用いて本実施例の撮像装置100の全体構成を説明する。
本実施例の撮像装置100は、図1に示すように、CPU101と、RAM102と、ROM103と、操作部104とを有する。また、撮像装置100は、撮像部110と、画像処理部111と、マイクユニット120と、音声処理部121と、スピーカユニット122とを有する。また、撮像装置100は、符号化復号化処理部130と、表示部140と、表示制御部141と、記録再生部150と、記録媒体151と、通信部160とを有する。
なお、CPUは、Central Processing Unitの略称である。RAMは、Random Access Memoryの略称である。
本実施例の撮像装置100において、CPU101は、RAM102をワークメモリとしてROM103に記録された各種プログラムをRAM102に展開し、プログラムに応じて撮像装置100の各ブロックを制御する。操作部104は、例えば、電源ボタン、記録ボタン、ズーム調整ボタン、オートフォーカスボタン、メニュー表示ボタン、モード切替スイッチ、決定ボタン等の各種操作を入力するスイッチ類を有する。また、カーソルキー、ポインティングデバイス、タッチパネル、ダイヤル等のどのようなタイプの操作子であってもよい。操作部104は、ユーザによりこれらのキーやボタン、タッチパネルが操作されるとCPU101に操作信号を送信する。操作部104の各操作部材は、表示部に表示される種々の機能アイコンを選択操作することなどにより、場面ごとに適宜機能が割り当てられ、各種機能ボタンとして作用する。機能ボタンとしては、例えば終了ボタン、戻るボタン、画像送りボタン、ジャンプボタン、絞込みボタン、属性変更ボタン等がある。例えば、メニューボタンが押されると各種の設定可能なメニュー画面が表示部に表示される。利用者は、表示部に表示されたメニュー画面と、上下左右の4方向ボタンやSETボタンとを用いて直感的に各種設定を行うことができる。なお、操作部104は、表示部に対する接触を検知可能なタッチパネルであってもよい。タッチパネルは、抵抗膜方式や静電容量方式、表面弾性波方式、赤外線方式、電磁誘導方式、画像認識方式、光センサ方式等、様々な方式のタッチパネルのうちいずれの方式のものを用いても良い。
撮像部110は、レンズにより取り込まれた被写体の光学像を、絞りにより光量を制御して、CCDセンサやCMOSセンサ等の撮像素子により画像信号に変換し、得られたアナログ画像信号をデジタル画像信号に変換して一時的にRAM102に記憶する。RAM102に記憶されたデジタル画像信号は、その後、画像処理部111に送信される。画像処理部111は、デジタル画像信号のホワイトバランスや色、明るさなどをユーザに設定された設定値や画像の特性から自動的に判定した設定値に基づいて調整する画質調整処理を行い、処理をしたデジタル画像信号を再びRAM102に記憶する。また、画質調整処理済みまたは未処理のデジタル画像信号を、後述の表示制御部141に送信し、表示部140に撮像中の画像として表示することもできる。また、再生時においては、画像処理部111は、記録媒体151から記録再生部150によって読出され、符号化復号化処理部130において復号化された静止画ファイルや動画ファイルに含まれる画像データの画質調整等を行う。そして、画質調整済みまたは未処理のデジタル画像信号を、後述の表示制御部141に送信し、表示部140に画像として表示することもできる。
符号化復号化処理部130では、記録時においては、画像処理部111により処理されRAM102に記憶されたデジタル画像信号に対して、画像圧縮処理を行い、圧縮された動画データや静止画データを生成し、RAM102に一時的に記憶する処理を行う。また、再生時においては、記録媒体151から読出された画像ファイルの圧縮された動画データや静止画データを復号してデジタル画像信号を抽出し、RAM102に記憶していく処理を行う。
たとえば、動画データを生成する際は、動画データの各フレームをフレーム内符号化して圧縮符号化された動画データを生成する。また、動画データの複数のフレーム間での差分や動き予測などを利用して圧縮符号化された動画データを生成してもよい。たとえばMotionJPEG、MPEG、H.264(MPEG4−Part10 AVC)、H.265/HEVC等の様々な圧縮符号化方式の動画データを生成することができる。一般に、フレーム内符号化されたフレーム画像データをIピクチャと呼び、前方のフレームとの差分を用いてフレーム間符号化された画像データをPピクチャと呼び、前方後方のフレームとの差分を用いてフレーム間符号化された画像データをBピクチャと呼ぶ。これらの圧縮方式は、公知の方式を用いており、本発明の特徴とは関係ないので説明を省略する。また、静止画データを生成する際には、JPEG等の一般的な圧縮符号化方式を用いるが、これらの圧縮符号化方式は、公知の方式を用いており、本発明の特徴とは関係ないので説明を省略する。なお、静止画データについては、撮像部110により得られたデジタル画像信号をそのまま記録する、いわゆるRAW画像データとしてもよい。
マイクユニット120は、たとえば、撮像装置100のハウジング内に内蔵された無指向性のマイクとAD変換部を有する。マイクユニット120では、マイクにより周囲の音声を集音(収音)し、取得したアナログ音声信号をAD変換部で、デジタル信号に変換してRAM102に一時的に記憶させる。RAM102に記憶されたデジタル音声信号は、その後、音声処理部121に送信される。音声処理部121では、記録時においては、RAM102に記憶されたデジタル音声信号の、レベルの適正化処理や雑音低減処理等の処理を行い、処理をしたデジタル音声信号を再びRAM102に記憶する。また、必要に応じて、音声信号を圧縮する処理を行う。音声圧縮方式については、AC3、AAC等の一般的な音声圧縮方式を用いているため説明を省略する。また、再生時においては、記録媒体151から記録再生部150によって読出された音声ファイルや動画ファイルに含まれる圧縮音声データ復号する処理や音声レベルの適正化処理、なども行い、順次RAM102に記憶する処理も行う。スピーカユニット122は、スピーカとDA変換部とを有する。スピーカユニット122では、音声処理部121によりRAM102に記憶されたデジタル音声信号を読出してアナログ音声信号に変換し、アナログ音声信号によりスピーカから音声を出力する。
表示部140は、例えば、液晶パネルとバックライトとからなり、表示制御部141の制御により画像を表示する。表示部140は液晶表示装置に限られず、例えば有機ELディスプレイ、LEDディスプレイなど、ユーザに画像を提供することができればどのようなものであっても良い。表示制御部141では、画像処理部111により処理され、RAM102に記憶されたデジタル画像信号に基づいて、表示部140に画像を表示する。
記録再生部150では、動画記録時においては、RAM102に記憶されている、符号化復号化処理部130により生成された圧縮動画データ及び、音声処理部121で生成された音声データ、撮影日等の各種情報とともに、動画ファイルとして記録媒体151に書き込む。また静止画記録時においては、RAM102に記憶されている静止画データを撮影日等の各種情報とともに静止画ファイルとして記録媒体151に記録する。動画ファイルを記録媒体151に記録する際は、圧縮動画データと音声データとからなるデータストリームを形成し、順次記録媒体151に記録していき、ファイルヘッダ等を付加してFATやexFAT等のファイルフォーマットに適合した形で動画ファイルを記録媒体に記録する。また、再生時においては、記録媒体151に記録された動画ファイルや静止画ファイルを前述のファイルフォーマットに従って読出す。読出された動画ファイルや静止画ファイルは、CPU101によりヘッダが解析され、圧縮された動画データ、静止画データが抽出される。抽出された圧縮動画データ、静止画データは、RAM102に記憶されて、符号化復号化処理部130により復号される。
また、記録媒体151は、撮像装置に内蔵された記録媒体でも、取外し可能な記録媒体でもよい。例えば、ハードディスク、光ディスク、光磁気ディスク、CD−R、DVD−R、磁気テープ、不揮発性の半導体メモリ、フラッシュメモリ、などのあらゆる方式の記録媒体を含む。取り外し可能な記録媒体を用いる場合には、記録再生部150は、それらの取り外し可能な記録媒体を装着、排出するための機構を含む。
また、通信部160は、撮像装置100とは異なる外部装置との間で、制御信号や動画ファイル、静止画ファイル、各種データ等を送受信するものであり、有線接続、無線接続を問わず接続可能である。なお、通信方式はどのような方式であっても良い。
ここで、前述の画像処理部111、音声処理部121、符号化復号化処理部130、表示し制御部141、記録再生部150は、それぞれ、前述の各機能を実行するプログラムを搭載したマイクロコンピュータであってもよい。また、CPU101がROM103に記録された前述の処理を実行する為のプログラムをRAM102に展開して実行するようにしてもよい。
なお、本実施例の撮像装置100は、一例として、「QuickTime(登録商標)フォーマット」で動画ファイルを記録するものとするが、どのようなフォーマットであっても良い。
なお、本実施例では記録媒体151のファイル管理システムは組み込み機器で一般的に使用されているFATファイルシステムを使用するものとして説明をする。FATファイルシステムの技術自体は広く公知であるので、本実施例の特徴的な動作でのみその説明をする。また、FATファイルフォーマットであるNTFSフォーマットやexFATフォーマットなどを用いても良い。
次に、本実施例の撮像装置100の動作について説明する。
本実施例の撮像装置100は、ユーザによって操作部104を操作して電源を投入する指示が出されたことに応じて、不図示の電源供給部から、撮像装置の各ブロックに電源を供給する。
電源が供給されると、CPU101は、操作部104により設定されたカメラのモードが、再生モードであるか、「ダイジェストムービーモード」、静止画記録モード、動画記録モードであるかを判定する。なお、本実施例において、静止画記録モード、動画記録モードは、特徴的な構成に関わらないので説明を割愛する。
次に、「ダイジェストムービーモード」について、図2のフロー図を用いて説明する。図2のフロー図は、ダイジェストムービーモードに設定されたときをスタートとするフロー図であり、CPU101がRAM102に展開したプログラムに基づいて、撮像装置100の各部を制御することにより、実行される処理である。なお、本実施形態において、動画データを順次追記していくか否かは、静止画記録の指示があった後で、動画データを記録媒体151に記録する前に行うものとする。すなわち、CPU101が、記録再生部150より、最後にダイジェストムービーモードで撮影された動画ファイルを読み出して撮影された日付の情報を確認する。そして、読み出された動画ファイルが当日に撮影されたものであれば、追記するものとし、異なる日に撮影されたものであれば、追記しないものとする。ダイジェストムービーモードにおいて撮影された動画は、たとえばダイジェストムービーモードで撮影された動画であることを示すための識別子「MDG」に4桁の整数を順次数字をインクリメントしたファイル名とする。このようにすることで、記録媒体151に記録されている識別子MDGを含む数字のもっとも大きい動画が最後に撮影されたものであることが容易に識別可能である。追記するか否かの条件については後述するが、追記するか否かの確認は、撮像装置100の起動時または、ダイジェストムービーモードへの切り替え時等に行ってもよい。
また、本実施形態においては、サムネイル画像の生成は、静止画撮影の指示が入力される毎に生成されるものとして説明する。この場合、追記した動画ファイルには複数のサムネイル画像が関連づけられることになる。しかし、追記する場合にはサムネイル画像を生成せずに、新規に動画ファイルを生成する場合にのみ、サムネイル画像を生成するようにしても良い。
操作部104によりダイジェストムービーモードが設定されると、CPU101は、撮像装置100の各ブロックを制御し、以下の動作を実行させる。
まず、撮像部110は、得られたデジタル画像信号をRAM102に送信し、一時的に記憶させる。そうすると、表示制御部141は、RAM102に記憶されたデジタル画像信号を読み出して表示部140に表示させる。また、画像処理部111は、RAM102に記憶されたデジタル画像信号を順次読み出して、前述の各種画質調整処理を行い、処理をしたデジタル画像信号を再びRAM102に記憶する。画像処理部111は、撮像部110で画像が撮像される度にこの処理を繰り返す。
また、符号化復号化処理部130は、画像処理部111によって処理されたデジタル画像信号を動画データとして符号化するための符号化処理を行う(S201)。例えば、符号化処理としては、MotionJPEG、MPEG、H.264(MPEG4−Part10 AVC)、等の様々な公知の圧縮符号化方式処理がある。本実施例においては、例えば、H.264におけるフレーム内予測符号化画像を含む動画データとなるように符号化処理を行うものとする。
また、このときCPU101は音声処理部121に、マイクユニット入力されたデジタル音声信号に対して種々の調整処理を適用した後、予め設定された音声用の符号化方式に従って符号化処理を実行し、得られた符号化された音声信号をRAM102に記憶させる。
そして、符号化復号化処理部130、音声処理部121は、符号化された動画データと音声データをRAM102記憶していく(S202)。以後の説明では、音声データについては説明を省略するが、動画データとともに処理されるものとする。
本実施形態の撮像装置100においては、RAM102には、常に直前の予め定められた時間分の動画データが記憶されるようにRAM102に記憶されている動画データのうち、予め定められた時間より前に撮像された動画データを削除するようにしている。そのため、CPU101は、所定時間分以上の動画データがRAM102に記憶されたか否かを判定し(S203)、所定時間以上記憶されている場合(S203で、Yes)、所定時間よりも過去の時点で撮影された画像を示す動画データを破棄するようにしている。削除するデータのサイズは符号化単位で規定されるため、符号化方式によっては当該削除するデータのサイズをフレームまたは再生時間として決定することもできる。また、所定時間以上記憶されていない場合(S203で、No)、動画データの破棄を行わない。本実施例では所定時間は任意の時間であってよいが、例えば4秒、6秒、8秒など、ユーザが選択できるようにしても良い。そして、CPU101は、静止画撮影の指示が操作入力部112から入力されたか否かを判定し(S205)、静止画撮影の指示が入力されていない場合(S205でNo)、再びS201に戻り、動画データの生成処理、一時記憶を継続する。
なお、本実施形態では常に直前の予め定められた時間分の動画データがRAM102には記憶されるものとして説明するが、本発明の実施はこれに限らない。即ち、RAM102に記憶される動画データのサイズは定量可能なものであればよく、例えばフレーム数、GOP数(Group Of Pictures)、データサイズ等で規定される、予め定められた量であってよい。つまり、RAM102に記憶されている動画データは、当該動画データのサイズが予め定められたサイズ以上となった場合に、当該予め定められたサイズ未満のサイズとなるまで、動画データのフレームのうちの撮影時刻が古いフレームから順に削除されるようにしてもよい。
ここで、静止画撮影の指示が入力された場合(S205でYes)、CPU101は、記録媒体151の記録可能容量をチェックするように記録再生部150を制御し、RAM102に一時的に記憶されている動画データの記録が可能であるか否かを判定しても良い。この判定は、RAM102に一時的に記憶されている動画データのサイズと、記録する静止画データの見込みサイズとの和が、記録媒体151の記録可能容量よりも小さいか否かを比較することにより判定される。静止画データの見込みサイズはたとえば4MBとしても良いし、記録サイズや画質等に応じて変更してもよい。
この判定により、動画データと、静止画データとを記録媒体151に記録できない場合には、静止画撮影のみを行い、動画データを記録しないようにしても良い。
また、S205で静止画撮影の指示が入力されたときに、RAM102に例えば1秒未満や2秒未満等の短い時間分の動画データしか記憶されていない場合には、静止画撮影の指示を無効とするようにしても良い。この時間もユーザ画設定できるようにしても良い。
次に、静止画撮影の指示が入力された場合(S205でYes)、CPU101は、撮像部110に静止画データ用の撮影を実行させる(S210)。CPU101は、このとき並行して符号化復号化処理部130に、RAM102に記憶されている動画データの先頭フレームの画像を復号させ、サムネイル画像生成処理を実行させる(S211)。なお、本実施形態では記録される動画データのサムネイル画像は先頭フレームの画像から生成されるものとして説明するが、本発明の実施はこれに限らず、記録される動画データのフレームのうちのいずれかのフレームの画像から生成されればよい。すなわち、静止画撮影の指示があったときに、RAM102に記憶されている動画データのいずれかのフレームを用いたサムネイル画像が生成されればよい。このようにすることで、一度動画データの記録媒体へのファイル記録が終了してから、記録媒体から動画ファイルを読み出したりすることなく、動画データのサムネイルを生成することができるので、処理が早くなる。なお、静止画の撮影指示がなされたと判断した場合、CPU101は更なる静止画の撮影指示がなされても、指示を受け付けないよう制御する。
次に、CPU101は、符号化復号化処理部130によるサムネイル画像生成処理が完了したか否かを判定し(S212)、処理が完了している場合には、次に、S210で撮影されたデジタル画像信号を静止画データとするべく、画像処理部111に現像処理を、符号化復号化処理部130に符号化処理を順次実行させる(S220)。このとき、CPU101は並行して、サムネイル生成処理で生成されたサムネイル画像をRAM102に一時記憶されている符号化済みの動画データのヘッダ情報に含めて、記録媒体151に記録するように記録再生宇150を制御する(S221)。ここで、静止画の現像処理(S220)とは、撮影時に各画素に対してその周辺画素から足りない色情報を集め与えることで色情報を補完し、フルカラー画像を作り出す「デモザイク」処理等を含む処理で、このほかに、ガンマ補正、ホワイトバランス調整などの処理を含んでも良い。
CPU101は、前述した現像処理が終了すると、現像したデジタル画像データを再びRAM102に記憶させ、表示制御部141に読み出させて、表示部140に表示させる。これは、一般にデジタルカメラで撮影を行った直後に表示部140に、撮影画像を表示させる、所謂「レックレビュー」表示である。ちなみに、静止画撮影の指示がなされてから静止画の現像処理が終了するまでの間、表示部140には、何の画像も表示されておらず、黒画像が表示されている。また、代わりに「処理中」などの状態をユーザに提示するための表示をさせても良い。
また、現像処理が終了すると、CPU101は、予め設定された静止画記録用の符号化方式に従って符号化復号化処理部130に符号化処理を実行させる。次にCPU101は、静止画の現像処理、符号化処理が終了したか否かを判定する(S222)。静止画の符号化処理が終了したと判定すると、(S222でYes)、CPU101は、生成された静止画データを記録再生部150に送り、記録媒体151に記録させる(S223)。そして、ユーザが操作入力部102を操作してダイジェストムービーモードを抜ける指示をしていないかぎり(S224でNo)、CPU101は、静止画の記録と並行して、動画の撮影、符号化処理(S201)を開始する。このとき、CPU101は、表示制御部141に、RAM102に記憶されたデジタル画像信号を読み出させ、再びスルー画像を表示部140に表示させる。
以上のように、本実施例の撮像装置100は、「ダイジェストムービーモード」において、動画ファイルと、静止画ファイルを記録する。
ここで、本実施例の「ダイジェストムービーモード」において、記録媒体151に既に記録されている動画ファイル(既存動画ファイル)の動画データに対して、新たに撮影された動画データ(新規動画データ)を連結(追記)する場合の例について説明する。たとえば、既存動画ファイルの記録された日付と、新規動画データの取得した日付(撮影時点でのカメラの日付設定でも良い)とが同じ場合には、動画データを連結するものとすると、図3に示すように記録される。図3は、撮影タイミングと、動画ファイル、静止画ファイルの記録状態を示すものである。
同一の撮影日を有する静止画ファイルP1、P2、及びP3は記録媒体151の1つのフォルダ(同一フォルダ内)に記録され、各静止画の撮影直前にRAM102に記憶された動画データは同じフォルダに1つの連結された動画ファイルとして記録される。また、静止画ファイルP1からP3とは異なる撮影日を有するP4及びP5は、静止画ファイルP1が記録されたフォルダとは異なるフォルダに記録されるものとする。このとき、静止画ファイルP4の撮影直前にRAM102に記憶された動画データが、当該動画データの途中で撮影日が変更された場合であっても、静止画ファイルP4の撮影日と同一のフォルダに記録されるように制御するものとする。すなわち、撮影指示の入力されたタイミングの日付情報によって、動画データを連結するか新規に保存するかのいずれかを決定することにもなる。
また、本実施形態では、静止画撮影の指示が入力される毎に、動画データに対応するサムネイル画像を生成するものとして説明したが、たとえばP1の静止画データの撮影時に生成される動画データM1に対応するサムネイルは生成し、追記されるM2、M3の動画データのサムネイル画像を生成しないようにしても良い。このようにすると、動画ファイル1つについて、サムネイル画像を1つとすることができる。
次に、記録媒体151に記録される動画ファイルのファイルフォーマットについて説明する。図4は、本実施例の動画のファイルフォーマットを説明するための図である。
本実施例において、動画ファイルはMOVフォーマットで記録されている。なおMOVフォーマットでは、ファイルに記録されるデータは「アトム」と呼ばれるデータ構造の内部に記述され、アトムを単位としてファイルに記録される。各アトムはそれぞれ、「Sizeフィールド」、「Typeフィールド」を有する。「Sizeフィールド」は、Sizeフィールドを含む、アトム全体のデータサイズを表す4バイトのフィールドである。「Typeフィールド」は、アトムの種類を表す4バイトのタイプ識別子のフィールドである。なお、各アトムにおいて「Typeフィールド」以降のフィールドはアトムによってはオプションであるため、ここでは説明を省略する。また、アトム内に他のアトムを包含することが可能であり、それにより入れ子構造を実現している。MOVフォーマットで記録された動画ファイルは、図6に示すような構造で各アトムを格納している。
図4に示すように、MOVフォーマットの動画ファイルは、以下のアトムを有する。
ファイルの種別を表す、ftyp(ファイルタイプアトム)701。後述のmvhd(ムービーヘッダアトム)706やtrak(トラックアトム)707、708、709などを含む、音声や映像に関する情報を格納した、moov(ムービーアトム)702。音声や映像、テキストなどの実データが格納した、mdat(ムービーデータアトム)703。
また、moov(ムービーアトム)702には、以下のアトムが格納される。
任意のデータが格納された、udta(ユーザーデータアトム)704。撮像装置100のモデル名や通信部152で受信した撮像装置100の位置情報やUTC時刻などのメタデータが格納された、meta(メタデータアトム)705。動画の作成日時や修正日時、タイムスケール、Duraionなどが格納された、mvhd(ムービーヘッダアトム)706。映像用のtrak(トラックアトム)707。音声用のtrak(トラックアトム)708。テキスト用のtrak(トラックアトム)709。
さらに、各trak(トラックアトム)707〜709には、以下のアトムが格納される。
そのトラックの作成日時やDuration(後述のチャンク内の各サンプルの間の時間的間隔)、そしてIDなどが格納した、tkhd(トラックヘッダアトム)710。なお、本実施例では、映像トラックのIDは1、音声トラックのIDは2、テキストトラックのIDは3、とする。トラック間の参照情報を格納したtref711。本実施例では、映像トラックがテキストトラックをチャプタとして参照するため、映像用のtref711には、テキストトラックのIDである3が記載され、それをチャプタとして参照するため、識別子として‘chap’と記載されている。音声トラックにおいても、も同様である。本実施例では、テキストトラックにはtrefは存在しなくて良い。
また、各trak(トラックアトム)707〜709には、以下のアトムも格納される。
1チャンクがいくつのサンプル(映像の場合はフレーム)数で構成されているかを示すstsc(サンプルチャンクアトム)712。本実施例では全ての映像チャンクが1チャンク=1サンプル(フレーム)から構成されるものとする。サンプル数と各サンプル間の時間的間隔(Duration)を格納した、stts(同期サンプルアトム)713。各サンプルのデータサイズを格納した、stsz(サンプルサイズアトム)714。各チャンクのファイルオフセットを格納したstco(チャンクオフセット)715。
音声や映像、テキストなどの実データが格納した、mdat(ムービーデータアトム)703には、以下のアトムが格納される。
各チャプタのタイトルをテキストデータとして格納したテキストチャンク716、717。テキストチャンク716、717は、最初の領域には、後に続くテキストデータのデータサイズ(16進数)を示すデータが格納される。テキストデータ領域にはテキストデータがASCIIコードで格納される。本実施例では、「ダイジェストムービーモード」において静止画の撮影された撮影時刻をテキストデータとして記載する。すなわち、「ダイジェストムービーモード」で、12時34分56秒に静止画撮影の指示があった場合、記録媒体に記録される動画は、12時34分52秒〜12時34分56秒に対応する動画である。しかし、この動画のチャプタのタイトルを示すテキストチャンクのテキストデータとして、静止画撮影の指示があった12時34分56秒に対応するテキストデータが書き込まれる。
また、音声や映像、テキストなどの実データが格納した、mdat(ムービーデータアトム)703には、以下のアトムも格納される。
音声データチャンク718、719。映像データチャンク720、721、722等。図7において、アルファベットはピクチャの種類を示す。すなわち、フレーム内予測符号化されたIピクチャであるか、前方予測のフレーム間予測符号化されたPピクチャ、双方向予測のフレーム間予測符号化されたBピクチャのいずれかを示す。本実施例では、フレーム内予測符号化されたIピクチャであるためIが付されている。さらに、アルファベットの添え字の数字は先頭からのフレーム番号を表している。つまり、映像データチャンク720は、1番目のフレームがIピクチャ(フレーム内予測符号化ピクチャ)であることを表している。
ここで、mdatアトム703のデータの格納状態について説明する。
前述したようにmdatアトム703には、テキストチャンク、音声チャンク、映像チャンクが格納されている。なお、本実施例においては、音声チャンク1個と、映像チャンクを15個とを組として格納している。これは、音声データ0.5秒と、映像の15フレームが対応するようにするためにこのように記録している。しかし、格納方法この方式に限られない。さらに、本実施例のようにチャプタごとに、テキストチャンク716、717が格納される。これは、チャプタ1つにつき一つのテキストチャンクが対応する。すなわち、本実施例のように「ダイジェストムービーモード」で撮影を繰り返すと、撮影される度にテキストチャンクがmdatアトムに格納されることになる。テキストチャンクは、チャプタ一つに対応するものとなる。また、テキスト用のtrakアトムのテキスト用のsttsアトムにも、テキストチャンクのサンプルの再生間隔(Duration)が格納されている。
動画ファイルはこのようなフォーマットで記録されている。
そのため、たとえば、mdat内の任意の映像フレームや音声データ、またはチャプタにアクセスする場合には、moov702のstsz714およびstco715に格納されている情報を用いればよい。
ここで、静止画と動画のヘッダやチャプタに記録されている情報について説明する。
図5は、記録媒体151に記録された動画ファイル、静止画ファイルの内容を説明するためのものである。図5において、本実施例を説明するのに不要なヘッダ情報などは省略している。
図5に示すように、「ダイジェストムービーモード」で撮影された静止画ファイルのヘッダ領域には、撮影日時の情報と、「ダイジェストムービーモード」で撮影されたことを示す「MDGフラグ」が記載されている。また、「ダイジェストムービーモード」で撮影された動画ファイルのヘッダ領域には、動画ファイルの撮影日時の情報が記録されている。しかし、この撮影日時情報も、「ダイジェストムービーモード」で最初に撮影された静止画の撮影日時の情報と同じ日時が記載されている。また、本実施例の撮像装置100では、「ダイジェストムービーモード」で、静止画が撮影される度に動画を連結するが、連結される動画データは、それぞれ異なるチャプタとして取り扱う。そのために、「ダイジェストムービーモード」で撮影された動画ファイルのヘッダ領域には、各チャプタに対応する動画データのフレーム番号が記載されている。本実施例では、これらのチャプタ番号にさらに、静止画撮影のされた日時情報を関連づけて記載している。再生時には、指定されたチャプタ番号や撮影日時の情報に対応するフレーム番号を特定し、特定されたフレーム番号から再生を行うことができる。
また、動画データと共に記録されるテキストデータとしても、静止画撮影のされた日時を示す情報が記録されている。
次に、再生モードについて、説明する。
本実施例の撮像装置100は、再生モードにおいて、静止画ファイルや動画ファイルの一覧画面を表示部140に表示する。なお、一覧画面は、静止画ファイルのみの一覧画面、動画ファイルのみの一覧画面、静止画ファイルと動画ファイル乃混在した一覧画面などを表示する。そして、指定された静止画ファイルを再生して、静止画ファイルの画像を表示部140に表示する。このとき、「ダイジェストムービーモード」で撮影された静止画ファイルを再生している場合は、対応する「ダイジェストムービーモード」で撮影された動画ファイルの存在を示す情報を表示する。ユーザによって対応する動画ファイルの再生を指示されると、対応する動画ファイルの再生を開始して良いか確認する画面を表示し、ユーザによって許可されると、対応する動画ファイルの再生を開始する。対応する動画ファイルの再生が終了すると、動画ファイルの一覧画面を表示し、最後に表示された動画ファイルを選択した状態で、ユーザの指示を待つ。
操作部104により再生モードが指定されると、CPU101は、再生状態に移行させるように制御信号を撮像装置100の各ブロックに送信し、図6、図7に示す再生制御フローを開始する。なお、図6、図7のフロー図に示す処理は、CPU101がRAM102に展開したプログラムに基づいて、撮像装置100の各部を制御することにより、実行される処理である。
CPU101は、再生モードが指定されると、記録媒体151からファイルの一覧情報を読出すように記録再生部150を制御し、各ファイルを示す情報を表示部140に表示するように表示制御部141を制御する。各ファイルを示す情報としては、例えば、各ファイルに含まれる代表画像などである。また、CPU101は、各ファイルの選択状態を示す選択画像を表示部140に表示するように表示制御部141を制御する(S601)。
なお、本実施例においては、撮影モードにおいて撮影が行われた後に、再生モードに移行した場合は、最後に撮影された画像ファイルを選択した状態になるように選択画像を表示する。また、再生モードにおいて、再生が行われると、最後に再生していた画像を選択した状態になるように選択画像を表示する。
次に、CPU101は、操作部104からの操作信号に基づいて選択された静止画ファイルや動画ファイルの静止画データや動画データを記録媒体151から読出すように記録再生部150を制御する。そして、CPU101は、静止画データや動画データを復号するように符号化復号化処理部130を制御し、それらの画像を表示部140に表示するように表示制御部141を制御する(S602)。
このとき、CPU101は、読出したファイルが静止画ファイルである場合には、静止画ファイルのヘッダにMDGフラグが含まれているか否かを判定する。すなわち、選択した静止画ファイルが「ダイジェストムービーモード」で撮影された静止画であるか否かを判定する(S603)。
判定の結果、静止画ファイルのヘッダにMDGフラグが含まれていない場合(「ダイジェストムービーモード」で撮影された静止画でない場合)、CPU101は、他の指示があるまでは指定されたファイルの再生を継続する(S604でNo)。また、他の指示がある場合は、他の処理または、他の指定された画像ファイルに含まれる静止画データや動画データを示す画像を表示部140に表示するように表示制御部141を制御する(S604でYes)。
一方、判定の結果、静止画ファイルのヘッダにMDGフラグが含まれている場合(「ダイジェストムービーモード」で撮影された静止画である場合)、CPU101は、関連する動画ファイルが存在する旨を表示するように表示制御部141を制御する(S611)。
そして、CPU101は、操作部104から関連する動画ファイルを再生する指示が入力されているか否かを判定する(S612)。判定の結果、入力がなければS604に処理を移す。判定の結果、関連する動画ファイルを再生する指示が入力されている場合(S612でYes)、関連する動画ファイルを再生するか否かを問うための確認画面を表示するように表示制御部141を制御する(S613)。そして、CPU101は、S613で確認画面を表示しているときに、動画ファイルを再生することを許可する指示が操作部104から入力されるかを判定する(S614)。S614で動画ファイルを再生することを許可する指示が入力されない場合には、処理をS611に移行する(S614でNo)。また、S614で動画ファイルを再生することを許可する指示が入力された場合には、関連する動画ファイルを再生するように、記録再生部150を制御する(S621)。
このように、「ダイジェストムービーモード」で撮影された静止画を再生中に、関連する動画ファイルを再生するか否かを問い合わせるのは以下の理由がある。
例えば、「ダイジェストムービーモード」で、多回数の撮影を行った場合。本実施例の撮像装置は、動画ファイルの再生終了後に再生終了した動画ファイルを選択した状態で停止し、元の画像を選択した状態に戻らない。そのため、元の静止画ファイルを選択する状態に戻すには、再度画像を探し出すために多くの操作を行わなくてはならなくなるからである。そのため、関連する動画ファイルを再生する場合は、S613のように、確認画面を表示するのである。なお、確認画面において、さらに、「現在表示している静止画ファイルの再生が、動画ファイルの再生後、自動的に行われない」旨の通知をしても良い。
S621の処理が終了すると、CPU101は、再生モードが終了されたか否かを判定し(S622)、終了されていなければ、処理をS602から繰り返す。
次に、再生中の静止画ファイルに対応する動画を再生する場合の処理(S621)を図7のフロー図を用いて説明する。
再生中の静止画ファイルに対応する動画ファイルの再生の要求があると、CPU101は、静止画ファイルのヘッダに記録されている撮影日時情報を読出すように記録再生部150を制御する(S701)。次に、CPU101は、記録媒体151に記録されている動画ファイル(拡張子「MOV」のファイル)のうち、ファイル名に「MDG」が含まれる動画ファイルを特定する。次に、CPU101は、特定された動画ファイルの撮影日時情報を解析し、再生中の静止画ファイルの撮影日時情報と同じ日付の動画ファイルを特定する(S702)。
次に、CPU101は、特定された動画ファイルの動画データを読出すように記録再生部150を制御し、読出された動画データを先頭から順次復号するように符号化復号化処理部130を制御すると共に、復号された画像を表示するように表示制御部141を制御する(S703)。
次に、CPU101は、再生された動画ファイルの動画データの再生が最後まで終了したか、またはユーザの操作部104の指示により中断したかを判定する(S704)。中断または終了していない場合(S704でNo)、CPU101は、動画の再生を継続するように記録再生部150、符号化復号化処理部130、表示制御部141をそれぞれ制御する。中断または終了した場合、S601と同様に、CPU101は、記録媒体151からファイルの一覧情報を読出すように記録再生部150を制御し、各ファイルを示す情報を表示部140に表示するように表示制御部141を制御する。このとき、動画ファイルを再生した後であるため、本実施例においては、最後に再生していた動画ファイルを選択した状態になるように選択画像を表示する(S705)。
このように、本実施例の撮像装置100は、「ダイジェストムービーモード」で撮影された静止画ファイルを再生している時に、関連する動画ファイルを再生することができる。そして、再生していた画像ファイルの再生が終了すると、再生していた画像ファイルを選択した状態で画像選択画面に戻るため、関連する動画ファイルを再生する直前に、動画ファイルの再生を行うか否かの問合せ画面を表示する。このようにすることで、複数の静止画ファイルが動画ファイルと関連付いているときに、関連付いている動画ファイルの再生後に元々再生していた静止画ファイルを自動的に再生できない場合に、意図しないファイル選択が行われないようにすることができる。
なお、本実施例においては、常に関連する動画ファイルを再生する直前に、動画ファイルの再生を行うか否かの問合せ画面を表示するものとした。しかし、たとえば、動画ファイルに関連付けられた静止画ファイル数が所定の閾値よりも少ない場合や、関連付けられた動画ファイルのファイル名に付加された番号の差が所定の閾値よりも小さい場合には問い合わせが面を表示しなくても良い。
なお、本実施例において、「ダイジェストムービーモード」で撮影された静止画ファイルの再生中に、対応する動画ファイルを再生する例について説明した。しかし、例えば、複数の静止画ファイルが、一つの動画ファイルかくシーンに対応するような場合には、本実施例の再生方法を適用することができる。すなわち、実施例1、2の再生モードにおける画像処理は、「ダイジェストムービーモード」以外の記録方式で記録された、静止画ファイルと動画ファイルの画像処理についても適用することができる。
本実施例では、撮像装置を例にとって説明した。しかし、本実施例の再生処理を実行することができるものであれば、本発明を適用することができる。例えば、コンピュータ、タブレット型端末、スマートフォン、携帯電話、テレビ、等であっても良い。また、本実施例の削除処理をコンピュータに実行させる為のプログラムも本発明の思想に含まれる。
(実施例2)
本実施例においても、画像処理装置として、撮像装置を例に取って説明する。本実施例の撮像装置は、再生モードの動作以外は、実施例1の撮像装置100と同様の動作を行い、ブロック構成は図1と同様である。そのため、図1のブロック構成を用いて、説明を行う。
なお、ブロック構成の説明、「ダイジェストムービーモード」の説明は実施例1と同様であるため、説明を省略する。
次に、再生モードについて、説明する。
本実施例の撮像装置100は、再生モードにおいて、静止画ファイルや動画ファイルの一覧画面を表示部140に表示する。なお、一覧画面は、静止画ファイルのみの一覧画面、動画ファイルのみの一覧画面、静止画ファイルと動画ファイル乃混在した一覧画面などを表示する。そして、指定された静止画ファイルを再生して、静止画ファイルの画像を表示部140に表示する。このとき、「ダイジェストムービーモード」で撮影された静止画ファイルを再生している場合は、対応する「ダイジェストムービーモード」で撮影された動画ファイルの存在を示す情報を表示する。ユーザによって対応する動画ファイルの再生を指示されると、対応する動画ファイルの再生を開始する。
本実施例の撮像装置は、対応する動画ファイルの再生が終了すると、元々表示していた静止画ファイルを選択した状態または、再生した状態に戻る。また、動画ファイルの再生がユーザによる操作部104の操作により中断された場合には、中断された動画ファイル内のシーン(チャプタ)に対応する静止画ファイルを選択した状態または、再生した状態に戻る。
操作部104により再生モードが指定されると、CPU101は、再生状態に移行させるように制御信号を撮像装置100の各ブロックに送信し、図8、図9に示す再生制御フローを開始する。なお、図6、図7のフロー図に示す処理は、CPU101がRAM102に展開したプログラムに基づいて、撮像装置100の各部を制御することにより、実行される処理である。
CPU101は、再生モードが指定されると、記録媒体151からファイルの一覧情報を読出すように記録再生部150を制御し、各ファイルを示す情報を表示部140に表示するように表示制御部141を制御する。各ファイルを示す情報としては、例えば、各ファイルに含まれる代表画像などである。また、CPU101は、各ファイルの選択状態を示す選択画像を表示部140に表示するように表示制御部141を制御する(S801)。
なお、本実施例においては、撮影モードにおいて撮影が行われた後に、再生モードに移行した場合は、最後に撮影された画像ファイルを選択した状態になるように選択画像を表示する。なお、基本的に再生モードにおいて、再生が行われると、最後に再生していた画像を選択した状態になるように選択画像を表示する。しかし、「ダイジェストムービーモード」で撮影された動画ファイルの再生後は、再生中断のシーン(チャプタ)に対応する静止画ファイルまた、再生終了後は、元々再生していた静止画ファイルを選択した状態になるように選択画像を表示する。なお、選択した状態ではなく、静止画ファイルの静止画データを再生して表示部140に表示するようにしても良い。
次に、CPU101は、操作部104からの操作信号に基づいて選択された静止画ファイルや動画ファイルの静止画データや動画データを記録媒体151から読出すように記録再生部150を制御する。そして、CPU101は、静止画データや動画データを復号するように符号化復号化処理部130を制御し、それらの画像を表示部140に表示するように表示制御部141を制御する(S802)。
このとき、CPU101は、読出したファイルが静止画ファイルである場合には、静止画ファイルのヘッダにMDGフラグが含まれているか否かを判定する。すなわち、選択した静止画ファイルが「ダイジェストムービーモード」で撮影された静止画であるか否かを判定する(S803)。
判定の結果、静止画ファイルのヘッダにMDGフラグが含まれていない場合(「ダイジェストムービーモード」で撮影された静止画でない場合)、CPU101は、他の指示があるまでは指定されたファイルの再生を継続する(S804でNo)。また、他の指示がある場合は、他の処理または、他の指定された画像ファイルに含まれる静止画データや動画データを示す画像を表示部140に表示するように表示制御部141を制御する(S804でYes)。
一方、判定の結果、静止画ファイルのヘッダにMDGフラグが含まれている場合(「ダイジェストムービーモード」で撮影された静止画である場合)、CPU101は、関連する動画ファイルが存在する旨を表示するように表示制御部141を制御する(S811)。
そして、CPU101は、操作部104から関連する動画ファイルを再生する指示が入力されているか否かを判定する(S812)。判定の結果、入力がなければS804に処理を移す。判定の結果、関連する動画ファイルを再生する指示が入力されている場合(S812でYes)、関連する動画ファイルを再生するように、記録再生部150を制御する(S821)。本実施例においては、このとき、CPU101は、表示していた静止画ファイルを特定する情報をRAM102に一時的に記憶する。例えば、表示していた静止画ファイルを特定する情報としては、撮影日時情報であったり、ファイル名やファイルパスであったり、特定できる情報であればどのような情報であっても良い。
S821の処理が終了すると、CPU101は、再生モードが終了されたか否かを判定し(S822)、終了されていなければ、処理をS802から繰り返す。
次に、再生中の静止画ファイルに対応する動画を再生する場合の処理(S821)を図9のフロー図を用いて説明する。
再生中の静止画ファイルに対応する動画ファイルの再生の要求があると、CPU101は、静止画ファイルのヘッダに記録されている撮影日時情報を読出すように記録再生部150を制御する(S901)。次に、CPU101は、記録媒体151に記録されている動画ファイル(拡張子「MOV」のファイル)のうち、ファイル名に「MDG」が含まれる動画ファイルを特定する。次に、CPU101は、特定された動画ファイルの撮影日時情報を解析し、再生中の静止画ファイルの撮影日時情報と同じ日付の動画ファイルを特定する(S902)。
次に、CPU101は、特定された動画ファイルのヘッダを解析し、再生中の静止画ファイルの撮影日時情報と同じ時刻のシーン(チャプタ)を特定する。そして、特定されたシーン(チャプタ)の動画データを読出すように記録再生部150を制御し、読出された動画データを順次復号するように符号化復号化処理部130を制御すると共に、復号された画像を表示するように表示制御部141を制御する(S903)。なお、実施例1のように、特定された動画ファイルの動画データを先頭から順次復号するように符号化復号化処理部130を制御すると共に、復号された画像を表示するように表示制御部141を制御してもよい。
次に、CPU101は、再生された動画ファイルの動画データの再生がユーザの操作部104の指示により中断したかを判定する(S911)。中断した場合(S911でYes)、CPU101は、記録媒体151からファイルの一覧情報を読出すように記録再生部150を制御し、各ファイルを示す情報を表示部140に表示するように表示制御部141を制御する。このとき、CPU101は、動画ファイルの中断したシーン(チャプタ)に対応する静止画ファイルを選択した状態でファイル一覧を表示する(S912)。
そのために、CPU101は、動画ファイルの中断したシーン(チャプタ)に対応する撮影時刻の情報を動画ファイルのヘッダに記録された、フレーム番号とチャプタと静止画の撮影時刻の関連づけられた情報から読出す。そして、CPU101は、記録媒体151に記録されている静止画ファイル(拡張子「JPG」のファイル)を特定する。次に、CPU101は、特定された動画ファイルの撮影日時情報を解析し、中断したシーン(チャプタ)に関連づけられた記録時間の静止画ファイルを特定する。そして、CPU101は、特定された静止画ファイルを選択した状態になるように選択画像を表示するように表示制御部141を制御する。なお、選択した状態ではなく、静止画ファイルの静止画データを再生して表示部140に表示するように表示制御部141を制御しても良い。また、本実施例では、中断したシーンに対応する静止画ファイルを表示するものとしたが、中断したシーンの一つ前のシーンに対応する静止画ファイルを表示するようにしても良い。その場合には、一つ前のチャプタに対応する撮影時刻の情報を読出して、同様の処理を行えば良い。
一方、CPU101は、再生された動画ファイルの動画データの再生がユーザの操作部104の指示により中断されず、再生終了した場合(S921でYes)。CPU101は、記録媒体151からファイルの一覧情報を読出すように記録再生部150を制御し、各ファイルを示す情報を表示部140に表示するように表示制御部141を制御する。このとき、CPU101は、動画ファイルの再生前に表示していた静止画ファイルを選択した状態でファイル一覧を表示する(S922)。
そのために、CPU101は、S812の処理で、RAM102に一時的に記憶した、
表示していた静止画ファイルを特定するための情報を読出す。
そして、CPU101は、記録媒体151に記録されている静止画ファイル(拡張子「JPG」のファイル)のうち、RAMに記憶された、表示していた静止画ファイルを特定するための情報を特定する。そして、CPU101は、特定された静止画ファイルを選択した状態になるように選択画像を表示するように表示制御部141を制御する。なお、選択した状態ではなく、静止画ファイルの静止画データを再生して表示部140に表示するように表示制御部141を制御しても良い。
このように、本実施例の撮像装置は、「ダイジェストムービーモード」で撮影された静止画ファイルを再生している時に、関連する動画ファイルを再生することができる。そして、再生していた動画ファイルの再生の終了後に、元々再生していた静止画ファイルをすぐに表示することができる。また、動画ファイルの再生をユーザが中断した場合には、中断したシーンに対応する静止画ファイルをすぐに表示することができる。
なお、本実施例において、動画ファイルの再生をユーザが中断した場合には、中断したシーンに対応する静止画ファイルを選択した状態で一覧画面を表示するものとした。しかし、再生の終了後に、元々表示していた静止画ファイルを選択した状態で一覧画面を表示しても良い。
なお、本実施例においては、表示していた静止画ファイルに対応する動画ファイルを再生する場合には、動画データの先頭、または対応するチャプタから再生を行うものとした。しかし、例えば動画ファイルの対応するチャプタの動画データのみを再生して、その後、元々再生していた静止画ファイルの画像を表示するようにしても良い。
また、実施例1のように、画像ファイルの再生の終了または中断によって、再生の終わった画像ファイルを選択した状態に戻る第1のモードか、実施例2のように、対応する静止画ファイルを選択した状態に戻る第2のモードかをユーザが自由に設定できるようにしても良い。この場合、実施例1の設定(第1のモード)であれば、S613の確認画面を表示するが、実施例2の設定(第2のモード)であれば、確認画面を表示しない。このようにすることで、設定に応じたスムーズな操作画可能になる。
なお、本実施例において、「ダイジェストムービーモード」で撮影された静止画ファイルの再生中に、対応する動画ファイルを再生する例について説明した。しかし、例えば、複数の静止画ファイルが、一つの動画ファイルかくシーンに対応するような場合には、本実施例の再生方法を適用することができる。すなわち、実施例1、2の再生モードにおける画像処理は、「ダイジェストムービーモード」以外の記録方式で記録された、静止画ファイルと動画ファイルの画像処理についても適用することができる。
本実施例では、撮像装置を例にとって説明した。しかし、本実施例の再生処理を実行することができるものであれば、本発明を適用することができる。例えば、コンピュータ、タブレット型端末、スマートフォン、携帯電話、テレビ、等であっても良い。また、本実施例の削除処理をコンピュータに実行させる為のプログラムも本発明の思想に含まれる。
なお、実施例1、2の撮像装置100は、基本的に、既存動画ファイルの動画データに対して、新規動画データを追記するものとするが、以下のような条件を満たす場合には、追記しないようにしている。
・追記対象の既存動画ファイルがプロテクトされている場合
記録媒体151に記録されている特定の動画ファイル「MDG_000X.MOV」がプロテクトされている場合には、ユーザがファイルの改変を望まないファイルである可能性が高いので、追記不可能とする。
・追記撮影によりファイルサイズが所定のサイズを超える場合
記録媒体151は、前述したようにたとえばFATファイルシステムで管理されている。その場合、たとえば、FAT32では、1ファイルあたり4GB以上になると読み込めなくなってしまう。そのため、次の撮影により「追記動画ファイル」が4GBを超える場合には、追記不可能とする。
・追記対象の既存動画ファルの動画のGOP構造に異常がある場合
記録媒体151に記録されている追記対象である特定の動画ファイル「MDG_000X.MOV」のチェックの結果、GOP構造に異常がある場合には、追記する動画データにまで影響が出てしまう可能性があるので、追記不可能とする。
・追記対象のファイルが無い場合
ダイジェストムービーモードで撮影された動画には、ファイル名として、「MDG_000X.MOV」という、MDGという識別子と通し番号4桁が付加されるようになっている。しかし、ファイル名に「MDG」を含む識別子の動画がない場合には、ダイジェストムービーモードで撮影された動画ファイルが存在しないので、追記不可能とする。また、撮像装置100の不図示の不揮発性メモリに最後にダイジェストムービーモードで記録した動画ファイルのファイル名を記録させておき、そのファイルが存在しない場合にも、追記不可能とする。
・追記対象の動画ファイルの撮影日が撮像装置に設定された日と異なる場合
ダイジェストムービーモードで同一撮影日に撮影された動画データを順次追記する場合には、日付の変更に伴って、別の動画ファイルを記録することになるので、追記不可能とする。
・追記対象の動画ファイルに関連づけられた地域設定が撮像装置に設定された地域と異なる場合
ダイジェストムービーモードで同一地域で撮影された動画データを順次追記する場合には、地域の変更に伴って、別の動画ファイルを記録することになるので、追記不可能とする。たとえば地域情報は、GPSユニットを用いて、得られた位置情報を用いても良いし、撮像装置の時計の設定時に選択する、「国」の情報を用いても良い。
・追記対象の動画ファイルに関連づけられた撮像装置の情報が、新規動画データを撮影する撮像装置と異なる場合
同一の撮像装置で、ダイジェストムービーモードで撮影された動画データのみを追記する場合には、記録媒体に記録された追記対象の動画ファイルに関連づけられた撮像装置の識別情報が、撮影を行う撮像装置と一致するかを確認する。そして、異なる場合には追記不可とする。
・動画記録設定が追記元の既存動画ファイルと同一でない場合
本実施例のように、既存動画ファイルに新規動画データを追記する場合には、動画の途中で、フレームレートや画像サイズ、GOP構成、動画符号化方式が変更されてしまうと、シームレスに再生できなくなってしまう可能性がある。そのため、既存動画ファイルの動画データと、新規動画データの動画記録設定が同一でない場合には、追記不可能とする。フレームレートや画像サイズ、GOP構成、動画符号化方式等の情報は、既存動画ファイルのファイルヘッダ等に記録されている。
・音声記録設定が追記元の既存動画ファイルと同一でない場合
本実施例のように、既存動画ファイルに新規動画データを追記する場合には、動画の途中で、音声のサンプリングレート、チャンネル数、ビット深度や、音声符号化方式等が変更されてしまうと、再生できなくなってしまう可能性がある。そのため、既存動画ファイルの動画データと、新規動画データファイルの音声記録設定が同一でない場合には、追記不可能とする。音声のサンプリングレートや、音声符号化方式等の情報は、既存動画ファイルのファイルヘッダ等に記録されている。
・記録媒体151の挿抜履歴がある場合
撮像装置100の起動時に、CPU101は、最後に連続動画撮影モードにおいて撮影した後に、記録媒体151が挿抜された履歴が、不図示の不揮発性メモリに残っている場合には、追記不可能とする。これは、記録媒体151に記録されている「MDG_000X.MOV」がコンピュータなどにより編集されてしまい、画像サイズなどが変更され、追記により動画ファイル自体が壊れたりする可能性を低減するためである。そのためには、追記対象の「MDG_000X.MOV」のファイルヘッダに記録されている撮影日時情報と、不揮発性メモリに残っている挿抜履歴の時間情報とを比較する。追記動画ファイル「MDG_000X.MOV」は、その動画に記録されている複数のシーンの動画データのうち、最初に撮影された時間情報をファイルヘッダに記録されるようになっている。
・追記撮影により動画再生時間が所定時間を超える場合
撮像装置100においては、所定時間(たとえば、30分)を超える撮影を望まない場合を考慮し、連続動画撮影モードにおいて、新たな撮影をすることにより、「追記動画ファイル」の動画データの再生時間が30分を超える場合には、追記不可能とする。そのためには、たとえば、ファイルヘッダに記載されている「追記動画ファイル」の再生時間を読み出して、29分58秒等であれば、追記不可能とするのである。
・追記元の動画ファイルの記録されているフォルダ内のファイル数が所定数以上になる場合
撮像装置100においては、静止画ファイルや動画ファイルを記録媒体151に記録するファイル数をDCFという規格に基づいて記録している。このDCF規格では、1つのフォルダ内に最大9999個のファイルを記録可能としているが、本実施例のように撮影を行った際に、静止画ファイルが新たに生成されるため、静止画ファイルが追記元の動画ファイルの格納されているフォルダに記録できないことがある。その場合には、関連する静止画ファイルと、追記元の動画ファイルとが異なるフォルダに格納されてしまい、ユーザが後で閲覧するときに見づらくなってしまう。そこで、このような場合には、追記をせずに、動画を新規なファイルとして記録し、なおかつ新しいフォルダに格納するものとする。ここでは9999個のファイルを上限として説明したが、999個でも良いし、900個でも良いし、100個でも良い。
また、記録媒体151もしくは既存動画ファイルが壊れているなどの原因により、正常にチェックすることができなかった場合も、追記不可と判定する。
本実施例では、撮像装置について説明した。撮像装置としては、一般的なコンパクトデジタルカメラ、デジタル一眼カメラ、ビデオカメラ、携帯電話が含まれる。また、本発明の技術を適用可能な装置は、撮像装置に限らず、たとえば、コンピュータであっても良い。
(他の実施形態)
上述の実施形態は、システム或は装置のコンピュータ(或いはCPU、MPU等)によりソフトウェア的に実現することも可能である。従って、上述の実施形態をコンピュータで実現するために、該コンピュータに供給されるコンピュータプログラム自体も本発明を実現するものである。つまり、上述の実施形態の機能を実現するためのコンピュータプログラム自体も本発明の一つである。
なお、上述の実施形態を実現するためのコンピュータプログラムは、コンピュータで読み取り可能であれば、どのような形態であってもよい。例えば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等で構成することができるが、これらに限るものではない。上述の実施形態を実現するためのコンピュータプログラムは、記憶媒体又は有線/無線通信によりコンピュータに供給される。プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記憶媒体、MO、CD、DVD等の光/光磁気記憶媒体、不揮発性の半導体メモリなどがある。
有線/無線通信を用いたコンピュータプログラムの供給方法としては、コンピュータネットワーク上のサーバを利用する方法がある。この場合、本発明を形成するコンピュータプログラムとなりうるデータファイル(プログラムファイル)をサーバに記憶しておく。プログラムファイルとしては、実行形式のものであっても、ソースコードであっても良い。そして、このサーバにアクセスしたクライアントコンピュータに、プログラムファイルをダウンロードすることによって供給する。この場合、プログラムファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに分散して配置することも可能である。つまり、上述の実施形態を実現するためのプログラムファイルをクライアントコンピュータに提供するサーバ装置も本発明の一つである。
また、上述の実施形態を実現するためのコンピュータプログラムを暗号化して格納した記憶媒体を配布し、所定の条件を満たしたユーザに、暗号化を解く鍵情報を供給し、ユーザの有するコンピュータへのインストールを許可してもよい。鍵情報は、例えばインターネットを介してホームページからダウンロードさせることによって供給することができる。また、上述の実施形態を実現するためのコンピュータプログラムは、すでにコンピュータ上で稼働するOSの機能を利用するものであってもよい。さらに、上述の実施形態を実現するためのコンピュータプログラムは、その一部をコンピュータに装着される拡張ボード等のファームウェアで構成してもよいし、拡張ボード等が備えるCPUで実行するようにしてもよい。