JP4537266B2 - 記録装置及び再生装置 - Google Patents

記録装置及び再生装置 Download PDF

Info

Publication number
JP4537266B2
JP4537266B2 JP2005176872A JP2005176872A JP4537266B2 JP 4537266 B2 JP4537266 B2 JP 4537266B2 JP 2005176872 A JP2005176872 A JP 2005176872A JP 2005176872 A JP2005176872 A JP 2005176872A JP 4537266 B2 JP4537266 B2 JP 4537266B2
Authority
JP
Japan
Prior art keywords
stream
moving image
chunk
recording
data
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.)
Active
Application number
JP2005176872A
Other languages
English (en)
Other versions
JP2006352581A (ja
JP2006352581A5 (ja
Inventor
陽次郎 田川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2005176872A priority Critical patent/JP4537266B2/ja
Priority to US11/423,211 priority patent/US7920775B2/en
Publication of JP2006352581A publication Critical patent/JP2006352581A/ja
Publication of JP2006352581A5 publication Critical patent/JP2006352581A5/ja
Application granted granted Critical
Publication of JP4537266B2 publication Critical patent/JP4537266B2/ja
Priority to US13/032,702 priority patent/US8938150B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape
    • H04N5/783Adaptations for reproducing at a rate different from the recording rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • H04N5/772Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera the recording apparatus and the television camera being placed in the same enclosure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • H04N9/8211Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal the additional signal being a sound signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Studio Devices (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

本発明は、記録装置及び再生装置に関し、より具体的には、記録途中に映像フレームレートを切り替え可能な記録装置と、映像フレームレートを切り替えて記録された映像を再生する再生装置に関する。
デジタルカメラの撮像素子には、CCDセンサ又はCMOSセンサが使用される。CMOSセンサはCCDセンサに比べて、消費電流が少ないこと、データの読み出しが高速であることなどの利点がある。この利点を利用して、CMOSセンサを高速に駆動し、高速なフレームレートで動画をキャプチャすることが可能となってきた。
特許文献1には、撮像素子、A/D変換手段、信号処理手段及び画像信号圧縮手段からなる撮像系においてフレームレートを可変にする動画撮像システムが記載されている。
一方、デジタルカメラでの動画撮影は、撮影した動画ストリームデータをAVI(Audio Video Interleaved)ファイル形式などに加工して記録メディアに書き込む。撮影された動画データのレートは、通常、記録メディアへの書込みデータレートよりも高速である。その差を補償するために、種々の画像圧縮技術が採用され、且つ、記録メディアの前段に大容量のバッファが配置される。
特開平07−298112号公報
近年の動画撮影では、長時間撮影を行いたいという要求と、高速フレームレートで撮影を行いたいという要求がある。バッファへのデータ書込み速度がバッファから記録メディアへのデータ読み出し速度を上回るような高速フレームレートの撮影では、バッファにデータを書き込みしきれないことがあるので、1回の撮影継続時間は、バッファの容量により制限され、一般に極めて短くなる。他方、バッファが溢れない程の低速フレームレートの撮影では、1回の撮影継続時間は、記録メディアの容量で制限される。従って、長時間撮影と高速フレームレート撮影を両立することは、困難である。
撮影中の特定のシーンにおいて高速フレームレートの撮影を希望することがある。しかし、動画データの既存のファイルフォーマットは、記録途中でのフレームレートの変更をサポートしていない。仮に、記録途中でフレームレートを変更して記録したとしても、再生時には、何れか1つのフレームレートで再生されてしまう。例えば、低速のフレームレートで記録されている区間は通常のスピードで再生され、高速のフレームレートで記録されている区間はスローモーションで再生されることになる
従って、従来、記録途中にフレームレートを変更することは、希望通りに再生できないという意味で、実質的に不可能であった。
そこで、本発明は、記録途中のフレームレートの変更を実質的に可能にする記録装置及び再生装置を提示することを目的とする。
上記の目的を達成するために、本発明に係る記録装置は、像信号を入力する画像入力手段と、マイクにより得られた音声信号を入力する音声入力手段と、前記画像入力手段により入力された画像信号を用いて、第1のフレームレートの第1の動画像信号または、前記第1のフレームレートよりも高い第2のフレームレートの第2の動画像信号を生成するとともに、生成した前記第1の動画像信号または前記第2の動画像信号と、音声信号とからなるストリームを成するストリーム生成手段と、前記ストリーム生成手段により生成されストリームを記録媒体に記録する記録手段と、前記第2の動画像信号の生成を指示する指示手段とを備え、前記ストリーム生成手段は、前記第1の動画像信号と前記音声入力手段により入力された前記音声信号とからなる第1のストリームを生成しているときに、前記指示手段により指示がされたことに応じて、前記第1のストリームに代えて、前記第2の動画像信号と無音を示す音声信号とからなる第2のストリームを生成することを特徴とする。
本発明に係る再生装置は,上述の記録装置で記録した動画ファイルを再生する再生装置であって、前記第1のインデックス情報と前記第2のインデックス情報とに基づいて、前記動画ファイルにおける前記第1の動画像信号の期間と前記第2の動画信号の期間を区別して表示装置に表示することを特徴とする。
本発明によれば、長時間の動画撮影中に高速なフレームレートで撮影することができ、高速フレームレート区間を容易に検索することができる。すなわち、簡便な方法でフレームレートの切り替え期間を指定することができる。
さらに、フレームレートを切り替えて動画記録した場合は、再生時のビデオデータと音声データの同期がずれないように管理することができる。
以下、図面を参照して、本発明の好ましい実施例を詳細に説明する。
図1は、本発明の第1実施例に係るデジタルカメラの概略構成ブロック図である。図1において、デジタルカメラ10は、レンズユニット12、絞り・シャッタ機構14、CCD撮像素子16、A/Dコンバータ18、SSGユニット20、信号処理ユニット22、DMAコントローラ24、DRAM26、フラッシュROM28、マイクロフォン30、A/Dコンバータ32、絞り制御装置34、レンズ制御装置36、CPU38、表示制御装置40、通信制御装置42、記録媒体制御装置44、電源となる電池46、電源制御装置48、DC/DCコンバータ50、入力装置52、表示装置54、通信コネクタ56、記録媒体58及びシステムバス60等を具備する。
CCD撮像素子16は、レンズユニット12及び絞り・シャッタ機構14による光学像を電気信号に変換する。A/Dコンバータ18は、CCD撮像素子16から出力されるアナログ電気信号をデジタル信号に変換する。SSGユニット20は、CCD撮像素子16とA/Dコンバータ18に同期信号を供給する。信号処理ユニット22は、圧縮及び伸長などの画像処理をする。DMAコントローラ24は、システムバス60を介した所定ブロック間の高速なデータ転送を実現する。DRAM26は、デジタルカメラ10の主記憶であり、撮影時にバッファメモリとしても使用される。フラッシュROM28は、ファームウエアプログラムを格納する。
マイクロフォン30は、デジタルカメラ10の外部音声を電気信号に変換する。A/Dコンバータ32は、マイクロフォン30のアナログ音声信号をデジタル信号に変換する。絞り制御装置34は、絞り・シャッタ機構14を制御する。レンズ制御装置36は、レンズユニット12に対してAF(オートフォーカス)とズーム等のレンズ駆動を行う。CPU38は、フラッシュROM28からロードしたファームウエアプログラムに従い、デジタルカメラ10の全体を制御する。
表示制御装置40は、TFT液晶等で構成される表示装置54を制御する。通信制御装置42は、USBプロトコルを用いた通信を制御する。通信コネクタ56は、USBケーブルを介して、外部のPCまたはプリンタ等と接続する。記録媒体制御装置44は、固体メモリカード、ハードディスク又は光ディスク等からなる記録媒体58に対して、データを読み出し、書き込む。
電源制御装置48は、DC/DCコンバータ50を制御し、電池46の残量を検出する。DC/DCコンバータ50は、電池46からの電力をデジタルカメラ10の各部に、適切な電圧に変換して供給する。
入力装置52は、表示装置54上に表示されるメニュー画面に従い、ユーザが種々の指示又は選択を入力するのに使用される。入力装置52は、キーパッド、ズームレバー、電源スイッチ及びレリーズスイッチ等で構成されている。システムバス60は、各回路ブロック間の高速なデータ転送を実現する。
<AVI、RIFFの説明>
ここで、本実施例で使用するファイルフォーマットを説明する。
AVIファイルは、RIFF(Resource Interchange File Format)と呼ばれるファイル形式で構成されている。RIFF形式とは、様々なリソースを一つのファイルにまとめて扱うためのファイル形式である。すなわち、RIFF形式は、新しいフォーマットが追加されても、基本的な構造を変えることなく、様々なタイプのファイルを扱うことができるという特徴を持つ。
RIFF形式のファイルフォーマットは、チャンク(chunk)と呼ばれるブロックを1つの単位として構成されている。チャンクは、4バイトの識別子、4バイトのサイズ情報及び任意長のデータ部からなる。識別子は、3文字以下の場合には、右詰めで余りにスペースが補充される。データ部の構造は、チャンクのタイプにより異なる。
特定のチャンクは、チャンクを含むことができる。この場合、チャンクはいわば親子の関係になり、チャンクを含むチャンクを親チャンクと呼び、含まれるチャンクをサブチャンクと呼ぶ。一つのチャンクに複数のサブチャンクを含ませることも可能である。
識別子RIFFで示されるRIFFチャンクは、RIFFファイルの先頭に配置される特別のチャンクである。識別子LISTで示されるLISTチャンクは、サブチャンクをリスト化したものである。図2(a)は、RIFFチャンクの構成を示し、図2(b)は、LISTチャンクの構成を示し、図2(c)は、一般のチャンクの一例としてstrhチャンクの構成を示す。
RIFFチャンクでは、図2(a)に示すように、最初の4バイト(A1)にチャンクID(識別子)として文字列”RIFF”が格納される。次の4バイト(A2)に、後続のデータ部(A4)のバイト長を示すチャンクサイズが格納される。データ部(A4)の先頭の4バイト(A3)には、このRIFFファイルに格納されるデータのファイル形式を示すフォームタイプが格納される。例えば、AVIデータの場合、フォームタイプA3に文字列”AVI ”が格納される。
LISTチャンクでは、図2(b)に示すように、最初の4バイト(A5)にチャンクIDとして文字列”LIST”が格納される。次の4バイト(A6)に、後続のデータ部(A8)のバイト長を示すチャンクサイズが格納される。データ部(A8)の先頭の4バイト(A7)には、このLISTチャンクの意味又はタイプを示すリストタイプが格納される。図2(b)に示す例では、リストタイプとして、文字列”movi”が格納されている。LISTチャンクのリストタイプが、例えば”INFO”である場合、リストチャンクは、データ部A8に、著作権を示すICOPチャンクと、作成日を示すICRDチャンクを含むことができる。
一般のチャンクは、図2(c)に示すように、最初の4バイト(A9)にチャンクID(図示例では、文字列”strh”)が格納される。次の4バイト(A10)に、後続のデータ部(A11)のバイト長を示すチャンクサイズが格納される。
<RIFF形式のAVIファイル>
図3は、RIFF形式のAVIファイルの構造図を示す。ヘッダ部B1には、AVIファイルの属性情報に関わるデータが格納される。データ部B2には、AVIファイルの実際の音声データと画像データが格納される。インデックス部B3には、データ部B2に記録されている音声データと画像データの各ファイル上でのオフセット位置及びサイズが格納される。
RIFFチャンクB4のフォームタイプは”AVI ”である。RIFFチャンクB4のチャンクデータ領域は、LISTチャンクB5、LISTチャンクB6、サブチャンクB7、LISTチャンクB8、及びサブチャンクB9から構成されている。LISTチャンクB5のリストタイプは”hdrl”であり、LISTチャンクB6のリストタイプは”INFO”である。サブチャンクB7のチャンクIDは”JUNK”であり、チャンクデータ領域にダミーデータを持つ。LISTチャンクB8のリストタイプは”movi”であり、サブチャンクB9のチャンクIDは”idx1”である。
サブチャンクB7は、チャンクデータ領域にダミーデータを詰めることにより、ヘッダ領域B1のサイズを調整することができる。換言すると、適当な量のダミーデータを収容するJUNKチャンクを使用することで、ヘッダ部B1の長さ又はサイズを調整できる。
LISTチャンクB5のチャンクデータ領域は、サブチャンクB10、LISTチャンクB11、LISTチャンクB12、及びサブチャンクB13から構成されている。サブチャンクB10のチャンクIDは”avih”であり、LISTチャンクB11のリストタイプは”strl”である。LISTチャンクB12のリストタイプも”strl”であり、サブチャンクB13のチャンクIDは”IDIT”である。サブチャンクB13は、チャンクデータ領域に作成日時情報を収容する。
LISTチャンクB6のチャンクデータ領域は、チャンクIDが”ISFT”であり、ソフトウエア情報を持つサブチャンクB14から構成されている。LISTチャンクB8のチャンクデータ領域は、サブチャンクB15及びサブチャンクB16等から構成されている。サブチャンクB15のチャンクIDは”01wb”であり、チャンクデータ領域に音声データを持つ。サブチャンクB16のチャンクIDは”00db’であり、チャンクデータ領域に画像データを持つ。サブチャンクB15及びサブチャンクB16は、録画されたフレーム数に応じて繰り返し存在する。
LISTチャンクB11のチャンクデータ領域は、サブチャンクB17及びサブチャンクB18から構成されている。サブチャンクB17のチャンクIDは”strh”であり、チャンクデータ領域にAviStreamHeader構造体を持つ。サブチャンクB18のチャンクIDは”strf”であり、チャンクデータ領域にBITMAPINFO構造体を持つ。
LISTチャンクB12のチャンクデータ領域は、サブチャンクB19及びサブチャンク20から構成されている。サブチャンクB19のチャンクIDは”strh”であり、チャンクデータ領域にAviStreamHeader構造体を持つ。サブチャンクB20のチャンクIDは”strf”であり、チャンクデータ領域にWAVEFORMAT構造体を持つ。
LISTチャンクB8のチャンクデータ領域に含まれるサブチャンクB15,B16・・・の音声データ及び画像データを順番に読み込みことにより、動画を再生できる。すなわち、AVIファイルの再生開始により、音声データを含むサブチャンクB15と画像データを含むサブチャンクB16が先ず読み込まれる。
<データ部とインデックス部>
図4は、図3のデータ部B2とインデックス部B3をより詳細に示す。すなわち、図4は、LISTチャンクB8及びサブチャンクB9のより詳細な構成図を示す。
サブチャンクC1は、音声データを格納する。サブチャンクC2は、画像データを格納する。サブチャンクC3は、サブチャンクC2に続く画像データを格納する。サブチャンクC1のチャンクID(C4)は、”01wb”であり、続く4バイト(C5)に、サブチャンクC1のチャンクデータ部(C6)のバイト長が格納される。チャンクデータ部(C6)には、音声データが格納される。サブチャンクC2のチャンクID(C7)は”00db”であり、続く4バイト(C8)に、サブチャンクC2のチャンクデータ部(C9)のバイト長が格納される。チャンクデータ部(C9)には、画像データが格納される。
idx1サブチャンクB9のチャンクデータ領域には、AVIINDEXENTRY構造体の配列データが格納されている。C10は1番目のエントリを示し、C11は2番目のエントリを示し、C12は3番目のエントリを示す。LISTチャンクB8のサブチャンクC1,C2,C3は、それぞれ、エントリC10,C11,C12と1対1で対応する。
AVIINDEXENTRY構造体の各エントリは、ID、フラグ、LISTチャンクのチャンクデータの先頭からのオフセット及びサブチャンクデータのサイズから構成されている。エントリC10,C11,C12は、それぞれ、サブチャンクC1、サブチャンクC2及びサブチャンクC3の各種情報を保持しており、AVIファイルの再生時に利用される。
サブチャンクC1に対応するエントリC10は、領域C13にサブチャンクC1のチャンクID(C4)と同じ文字列”01wb”をIDとして保持し、領域C14には、音声データであることを示す”0x00000000”をフラグとして保持している。領域C15には、サブチャンクC1のチャンクデータの先頭からのオフセットを保持し、領域C16には、サブチャンクC1のバイト長を保持している。
同様に、サブチャンクC2に対応するエントリC11は、領域C17にサブチャンクC2のチャンクID(C7)と同じ文字列”00dc”をIDとして保持し、領域C18には、画像データであることを示す”0x00000010”をフラグとして保持している。領域C19には、サブチャンクC2のLISTのチャンクデータの先頭からのオフセットを保持し、領域C20には、サブチャンクC2のバイト長を保持している。
AVIファイルの再生にエントリC10〜C12等のAVIIDEXENTRY構造体を利用することにより、LISTチャンクB8領域の音声データと画像データへのスムーズなアクセスを提供でき、効率的に再生できる。
<ファイル構造例>
図5は、本実施例により、記録途中でフレームレートを変更した場合のRIFF形式のAVIファイルの構造例を示す。図3に示す構成とは異なる部分を、重点的に説明する。
通常フレームレートで撮影した画像と音声を記録する区間D1の後に、高速フレームレートで撮影した画像と音声を記録する区間D2,D3が続いている。
区間D2,D3内のサブチャンクD4,D5は、高速フレームレートで撮影した画像データを保持する。通常フレームレートの画像データと区別するために、サブチャンクD4のチャンクIDは”02db”という特別の値をとり、通常のAVIファイルとして再生する場合は無視される。サブチャンクD5は、この例では、通常のAVIファイルとして再生する場合にも使用されるチャンクであり、そのチャンクIDには、通常フレームレートの画像データと同じID(=”00db”)が付与される。サブチャンクD5は、通常フレームレートの再生時にも再生される。
図5に示すように、本実施例では、1ファイル中に、高速フレームレートで撮影した画像データを収容する区間D2,D3を複数、保持できる。
idxHサブチャンクD6は、高速フレームレートで撮影した区間D2のフレームデータのインデックス情報を格納する。同様に、idxHサブチャンクD7は、高速フレームレートで撮影した区間D3のフレームデータのインデックス情報を格納する。idxHサブチャンクD7のチャンクデータ領域は、通常のAVIファイルで使用されるidx1インデックスチャンクのインデックスエントリと同様に、AVIINDEXENTRY構造体の配列データで構成されている。
idxSサブチャンクD8は、idxHサブチャンクの属性情報を管理する。idxSサブチャンクD9は、SuperH_INDEXENTRY構造体の配列データを保持する。SuperH_INDEXENTRY構造体の例を図6に示す。変数addressは、本エントリが指すidxHインデックスのファイル上の開始アドレスを示す。変数sizeは、本エントリが指すidxHインデックスのサイズを示す。変数framePerSecは、本エントリが指すidxHインデックスの示す区間のフレームレートを示す。変数StartFrameは、本エントリが指すidxHインデックスの示す区間の先頭フレームのフレーム番号を示す。変数nFrameは、本エントリが指すidxHインデックスの示す区間のフレーム数を示す。例えば、図5に示す例は、idxHサブチャンクを2つ保持するので、idxSサブチャンクのデータ部は、図7に示すように、idxHサブチャンクD6,D7の属性情報をそれぞれ保持する2つのSUPER_INDEXENTRY構造体を保持する。
<動画シーケンス>
次に、図8乃至図10を参照して、本実施例の記録動作の説明をする。本実施例では、所定フレームレートで動画記録中に特定のキー操作、例えば、ターボボタンの押下により、その時点から一定期間までを当該所定フレームレートよりも高速なフレームレートで記録する。図8は、ターボボタンが押下された場合に起こる動画記録のフレームレートの時間変化を示す模式図である。
ターボボタンが押下された時点(E1)から後の、FastPeriodにより秒数で指定される期間(E2)が、高速フレームレートで記録される期間であることを示している。本実施例における一連の動画撮影処理は、CPU38上で動作するリアルタイムOS上で動作する複数のタスクの協調動作によって実現される。
<タスク構成図>
図9は、本実施例における一連の動画撮影処理を行うソフトウエアのモジュール概略構成図である。
キードライバ100は、入力装置52上の不図示のスイッチ、ボタン等の操作部材を操作すると、キーイベントを発生する。動画撮影シーケンスタスク102は、キードライバ100からのキーイベントに応じて、動画撮影の開始、停止及び高速フレームレート記録期間の設定等を実行する。
キャプチャコントローラ104は、動画撮影のために、CCD撮像素子16、A/Dコンバータ18、SSGユニット20、信号処理ユニット22、DMAコントローラ24、マイクロフォン30及びA/Dコンバータ32等の回路ブロックを制御する。この制御により、キャプチャコントローラ104は、フレーム単位のビデオデータ及び単位時間毎のオーディオデータからなる動画ストリームデータを生成する。
バッファ106はキャプチャコントローラ104が生成した動画ストリームデータとその管理情報を一時記憶する。具体的には、バッファ106は、フレーム単位のビデオデータを一時記憶するビデオバッファ、単位時間毎のオーディオデータを一時記憶するオーディオバッファ、オーディオチャンクにオーディオデータを書き込むために使用されるオーディオチャンクバッファ、並びに、インデックス情報を格納するidx1インデックスバッファ、idxHインデックスバッファ及びidxSインデックスバッファを具備する。DRAM26の一部がバッファ106として用いられる。また、キャプチャコントローラ104からバッファ106へのデータ転送には、DMAコントローラ24による信号処理装置22からシステムバス60を介したDRAM26へのDMA転送が使用される。
ストリーム生成タスク108は、キャプチャコントローラ104の動画ストリームデータ生成イベント及び動画ストリーム停止イベントを監視する。ストリーム書き込みタスク110は、記録媒体58上のファイルシステム112に対し、AVIファイルのオープン、クローズ、ファイルへのAVIヘッダの書き込み、ストリームデータの書き込み、及びインデックスの書き込みを実行する。
<動画撮影シーケンスタスク>
次に、動画撮影シーケンスタスクの動作を説明する。図10は、動画撮影シーケンスタスクのフローチャートを示す。
動画撮影シーケンスタスク102は、アイドル状態(A)、動画撮影開始待ち状態(B)、動画撮影中状態(C)、ストリーム生成終了待ち状態(D)の4つの状態を持つ。
アイドル状態(A)では、キードライバ100からSW1オンイベントを受け付けると(S10)、動画ファイルの生成場所である記録媒体58のストレージ空き容量を検査する(S11)。ストレージの空き容量が十分確保できたら、AF(オートフォーカス)処理を行う(S12)。AF処理が行われたら、動画撮影開始待ち状態(B)に遷移する。ここで、動画撮影開始待ち状態(B)は、SW2オンイベント(S13)とSW1オフイベント(S18)を受け付ける。
動画撮影開始待ち状態(B)では、キードライバ100からSW2オンイベントを受け付けると(S13)、バッファ106を初期化し(S14)、ストリーム書込みタスク110に初期化要求イベントを送信する(S15)。ストリーム生成タスク108に初期化要求イベントを送信する(S16)。また、キャプチャコントローラ104に対して動画キャプチャ開始を指示し(S17)、動画撮影中状態(C)に遷移する。他方、動画撮影開始待ち状態(B)でSW1オフイベントを受け付けると(S18)、動画撮影を開始することなくアイドル状態(A)に遷移する。
動画撮影中状態(C)は、SW2オンイベント(S19)とターボボタン押下イベント(S24)を受け付ける。動画撮影中状態(C)で、キードライバ100からSW2オンイベントを受け付けると(S19)、キャプチャコントローラ104に動画キャプチャ停止を指示する(S20)。動画キャプチャ停止が完了したら、ストリーム生成終了待ち状態(D)に遷移する。
ストリーム生成終了待ち状態(D)は、ストリーム生成終了イベント(S21)のみを受け付ける。ストリーム生成終了待ち状態(D)で、ストリーム生成タスク108からストリーム生成終了イベントを受け付けると(S21)、ストリーム書込みタスク110にバッファフラッシュ指示イベントを送信し(S22)、ストリーム書込みタスク110にストリーム書込みタスク終了イベントを送信する(S23)。動画撮影シーケンスタスクはアイドル状態(A)に遷移し、一連の動画撮影シーケンスを終了する。
他方、動画撮影中状態(C)でターボボタン押下イベントを受け付けると(S24)、現在のフレーム番号を取得し、変数Cur_Frameにセットする(S25)。変数Fast_fps_beginに変数Cur_Frameの値をセットする(S26)。変数Fast_fps_endに、変数Cur_Frameと変数nFrameFastPeriodの和をセットする(S27)。以上の処理が終わったら、動画撮影中状態(C)に遷移する。
ただし、変数nFrameFastPeriodの値は、変数CaptureFPSと変数FastPeriodの積である。変数CaptureFPSはキャプチャ時の1秒当たりのフレーム数であり、変数FastPeriodは高速フレームレートによる記録時間(秒)である。例えば、毎秒90フレームでキャプチャする場合で、2秒間の高速記録を行うときには、nFrameFastPeriod=90×2=180となる。
<ストリーム生成タスク>
図11は、ストリーム生成タスクのフローチャートである。ストリーム生成タスク108は、アイドル状態(A)とストリーム生成待ち状態(B)の2つの状態を持つ。
アイドル状態(A)では、動画撮影シーケンスタスク102からのストリーム生成タスク初期化イベントを受け付ける(S30)。ストリーム生成タスク初期化イベントを受け付けると(S30)、ストリーム生成待ち状態(D)に遷移する。
ストリーム生成待ち状態(D)は、ビデオフレームデータ生成完了イベント(S31)、オーディオデータ生成完了イベント(S32)及びストリーム停止イベント(S33)を受け付ける。ビデオフレームデータ生成完了イベント(S31)は、キャプチャコントローラ104により、ビデオフレームデータが1フレーム生成されるたびに発行される。オーディオデータ生成完了イベントは、キャプチャコントローラ104により、オーディオWAVEデータが所定単位時間分生成されるたびに発行される。
ストリーム生成待ち状態(D)でビデオフレームデータ生成完了イベントを受け付けると(S31)、ビデオバッファへの書込み処理を実行する(S32)。ストリーム書込みタスク110にストリーム生成イベントを送信し(S33)、ストリーム生成待ち状態(D)に遷移する。
ストリーム生成待ち状態(D)でオーディオデータ生成完了イベントを受け付けると(S34)、オーディオバッファへの書込み処理を実行する(S35)。ストリーム書込みタスク110にストリーム生成イベントを送信し(S33)、ストリーム生成待ち状態(D)に遷移する。
ストリーム生成待ち状態(D)でストリーム停止イベントを受け付けると(S36)、オーディオバッファへの書込み処理(S37)と、ビデオバッファへの書込み処理(S38)を実行する。そのあと、ストリーム書込みタスク110にストリーム生成終了イベントを送信し(S39)、アイドル状態(A)に遷移する。
ビデオバッファ及びオーディオバッファのデータ転送は、キャプチャコントローラ104からのDMA転送により実現される。また、ビデオバッファへの書込み処理(S32、S38)及びオーディオバッファへの書込み処理(S34、S37)では、DMA転送された実データの属性情報を管理する処理も実行される。図12は、ビデオバッファに格納される各フレームの属性情報の一例を示す。
<ストリーム書込みタスク>
図13は、ストリーム書き込みタスクのフローチャートを示す。ストリーム書込みタスク110は、アイドル状態(A)と書込み待ち状態(E)の2つの状態を持つ。
アイドル状態(A)では、動画撮影シーケンスタスク102からのストリーム書込みタスク初期化イベントを受け付ける(S40)。ストリーム書込みタスク初期化イベントを受け付けると(S40)、ファイルシステム112に対して、新たに作成するAVIファイルを新規オープンする(S41)。新規ファイルがオープンされたら、AVIファイルのヘッダを生成し、当該ファイルに書き込む(S42)。チャンクヘッダの書き込み後、動画データ部に相当するmoviチャンクをオープンする(S43)。moviチャンクがオープンされたら、書込み待ち状態(E)に遷移する。
書込み待ち状態(E)では、ストリーム生成タスク108からのストリーム生成イベント(S44)、並びに、動画撮影シーケンスタスク102からのバッファフラッシュ指示イベント(S47)及びストリーム書込みタスク終了イベント(S49)の各処理を受け付ける。
書込み待ち状態(E)でストリーム生成イベントを受け付けると(S44)、ビデオバッファ上に溜まっているビデオフレーム数を取得し、書込み最小単位(フレーム数)と遡りバッファリング数の和と比較する(S45)。書込み最小単位とは、ファイルシステム112に一度に書き込む最小フレーム数であり、ファイルシステム112にストリーミングデータを効率的に書き込むために予め規定される。例えば、秒90フレームで書込みを1秒単位とする場合、書込み最小単位は、90(=1(秒)×90(フレーム))である。遡りバッファリング数とは、高速フレームレート期間を遅延して、数秒前までさかのぼって設定するためのバッファリングのフレーム数である。例えば、遡る期間を4秒と想定すると、高速フレームレートが秒90フレームの場合で、遡りバッファリング数は360(=4(秒)×90(フレーム))である。
所定のフレームレートでの動画記録中にターボボタンが押された時点から一定期間を所定のフレームレートよりも高速なフレームレートで記録する場合には、遡りバッファリング数はゼロでよい。また、ターボボタンが押された場合で、その一定時間前から高速なフレームレートで記録するときには、遡りバッファリング数に遡る時間に相当する所定値を設定すればよい。
ビデオバッファのフレーム数が書込最小単位と遡りバッファリング数の和以上の場合(S45)、バッファ106上のフレーム数から遡りバッファリング数を引いた値を書込み指定フレーム数としてセットし、バッファデータ書込み処理を実行する(S46)。バッファデータ書込み処理(S46)が完了したら、書込み待ち状態(E)に遷移する。バッファ106上のフレーム数が書込最小単位と遡りバッファリング数の和より小さい場合(S45)、書込みを実行せずに、書込み待ち状態(E)に遷移する。
書込み待ち状態(E)で動画撮影シーケンスタスク102からのバッファフラッシュ指示イベントを受け付けると(S47)、バッファデータフラッシュ処理を実行する(S48)。バッファデータフラッシュ処理(S48)が完了すると、書込み待ち状態(E)に遷移する。
書込み待ち状態(E)で動画撮影シーケンスタスク102からのストリーム書込みタスク終了イベントを受け付けと(S49)、AVIファイルの動画データ部に相当するmoviチャンクのチャンクサイズを書き込み、チャンクをクローズする(S50)。インデックスidx1,idxSを書込むインデックス書き込み処理を実行する(S51)。S41でオープンしたAVIファイルのファイルハンドルをクローズする(S52)。以上の処理が完了したら、アイドル状態(A)に遷移して、動画ストリームファイルの一連の書込み処理を完了する。
<バッファデータ書込み処理>
図14は、バッファデータ書き込み処理(S46)の詳細なフローチャートを示す。バッファデータ書込み処理は、呼び出されると、先ず、ループカウンタiをゼロにクリアする(S54)。フレーム書込み処理(S55)が実行され(S55)、ループカウンタiがインクリメントされる(S56)。フレーム書込み処理の詳細は後述する。書込み指定フレーム数がループカウンタiを越えたか否かが判定される(S57)。書込み指定フレーム数は、バッファデータ書込み処理が呼び出されるときに、引数として渡される。ループカウンタiが書込み指定フレーム数未満の間(S57)、フレーム書込み処理(S55)が繰り返され、ループカウンタiが書込み指定フレーム数以上になると(S57)、バッファデータ書込み処理を終了する。
<バッファデータフラッシュ処理>
図15は、バッファデータフラッシュ処理(S48)の詳細なフローチャートを示す。バッファデータフラッシュ処理は、呼び出されると、バッファ106に残っているフレーム数をチェックする(S60)。残りフレーム数がゼロの場合(S60)、バッファデータフラッシュ処理を終了する。残りフレーム数がゼロで無い場合(S60)、1フレームのフレーム書込み処理を実行して(S61)、S60に戻る。このようにして、バッファ106に残る全フレームが、1フレームずつ掃き出される。
<フレーム書き込み処理>
図16は、フレーム書き込み処理S55,S61の詳細なフローチャートを示す。
バッファ106上に構成されるビデオバッファから1フレーム分のデータを取得する(S70)。取得したフレームのフレーム番号nFrameを、Fast_fps_begin及びFast_fps_endと比較し、nFrameが、Fast_fps_begin以上で且つFast_fps_end未満であるかどうかを判別する(S71)。ただし、Fast_fps_begin及びFast_fps_endは、ターボボタン押下イベント受信(S24)時にそのときのフレーム番号を基準にステップS26及びS27でそれぞれ設定される値である。すなわち、Fast_fps_begin及びFast_fps_endの値は、撮影者が通常のフレームレートよりも高速のフレームレートで記録したい特定期間を指定したことによって設定される。
nFrameの値がFast_fps_begin以上で、Fast_fps_end未満である場合(S71)、高速のフレームレートで記録したい特定期間であることを意味する。nFrameの値がFast_fps_begin未満、又は、Fast_fps_end以上の場合、高速のフレームレートで記録したい特定期間ではないことを意味し、低速(通常)のフレームレートで記録する期間であることを意味する。
低速で記録する期間の場合(S71)、取得したデータのフレーム番号nFrameをFPS_FAST/FPS_SLOWで割った余りを求め、その余りがゼロか否かを調べる(S72)。余りがゼロ以外の場合は、記録する必要の無いフレームであると判断して、このフレームに対する処理を終了する。余りがゼロの場合(S72)、記録する必要があるフレームと判断して、オーディオバッファから(1/FPS_SLOW)秒分のオーディオデータを取得する(S73)。
FPS_FASTは、単位時間(通常は1秒間)当たりの高速時のフレーム数を示し、FPS_SLOWとは、単位時間(通常は1秒間)当たりの低速(通常)時のフレーム数を示す。例えば、FPS_FAST=90で、FPS_SLOW=30である。
高速で記録する場合も(S71)、取得したデータのフレーム番号nFrameをFPS_FAST/FPS_SLOWで割った余りを求め、その余りがゼロか否かを調べる(S74)。余りが非ゼロの場合(S74)、高速時においてのみ記録するフレームであると判定して、(1/FPS_SLOW)秒分のダミーのオーディオデータ(例えば無音データ)を用意する(S76)。他方、余りがゼロの場合(S74)、高速時及び低速時のどちらでも記録する必要があるフレームと判断して、S75に遷移し、オーディオバッファから(1/FPS_SLOW)秒分のオーディオデータを取得する。但し、このオーディオデータは、オーディオチャンクバッファにセットされること無しに破棄される(S76)。これにより、高速時のフレームレートで記録された期間を再生するときにスローモーションで再生されると同時に、ビデオフレームとオーディオデータの同期がずれることを防ぐことを可能とする。
ステップS76で用意されたダミーオーディオデータ、又は、ステップS73で取得されたオーディオデータをオーディオチャンクバッファにセットする(S77)。これにより、高速時のフレームレートで記録された期間を再生するときにスローモーションで再生されると同時にダミーオーディオ(無音)で音声が再生され、低速時のフレームレートで記録された期間を再生するときには通常スピードでビデオ及びオーディオが再生される動画ファイルを生成することが可能となる。
S78では、S70で取得したフレームデータを図4の画像データC9に相当する位置に書き込むことにより、ビデオチャンクをファイルに書き込む。図4のインデックスエントリC11に相当するビデオフレームデータ用のインデックスエントリのデータを生成して、インデックスバッファに書き込む(S79)。
オーディオデータが1秒分格納されたか否かを判別する(S80)オーディオデータが格納された場合(S80)、オーディオチャンクバッファに溜まった1秒分のオーディオデータを図4の音声データC4に相当する位置に書き込むことによってオーディオチャンクをファイルへ書き込む(S81)。図4のインデックスエントリC10に相当するオーディオデータ用のインデックスエントリのデータを生成して、インデックスバッファへ書き込む(S82)。
以上の一連の処理により、フレーム書込み処理が完了する。
図17は、以上の処理によるビデオバッファ及びオーディオバッファからAVIファイルへのデータ移動の模式図を示し、図18は、生成されるidx1インデックスの構成例を示す。
ビデオバッファには、高速フレームレートでキャプチャして生成したフレームデータが一旦格納される。図17に示す例では、フレームvideo10乃至video16が、高速フレームレートで記録されるべきフレームである。高速フレームレート期間以外の期間では、3フレームにつき2フレームが間引きされ、1フレームだけがAVIファイルに記録される。例えば、フレームvideo0,video3,video6,video9は、AVIファイルに格納されるが、それらのフレームの間に位置するフレームvideo1,video2,video4,video5,...は破棄される。これらの間引きの結果、残ったフレームのインデックスエントリが、図18に示すように、idx1インデックスバッファに保持される。高速フレームレート期間の各フレームvideo10乃至video18はすべて、AVIファイルに格納される。
オーディオバッファには、オーディオデータが随時格納される。オーディオバッファから随時、AVIファイルのオーディオチャンクのサイズ分のオーディオデータがオーディオチャンクバッファに読み出され、AVIファイルのオーディオチャンクに書き込まれる。ただし、高速フレームレート期間では、ダミーのオーディオデータdummy10乃至dummy16が、AVIファイルに格納される。
図8では、所定操作(ターボボタンの押下)以後の一定期間を、高速フレームレートの記録期間とした。しかし、図19に示すように、所定操作(インパクトボタンの押下)に応じて、当該所定操作の時点を時間軸上の中心とする一定期間を高速フレームレートの記録期間としてもよい。例えば、インパクトボタンの押下前のFastPeriod/2秒間と、インパクトボタン押下後のFastPeriod/2秒間を併せた期間を、高速フレームレートの記録期間とする。
この場合の撮影映像シーケンスタスクのフローチャートを図20に示す。図20は、主要部分で図10に示す撮影映像シーケンスタスクと同じであり、変更部分に符号aを付記してある。即ち、ターボボタンの代わりにインパクトボタンの押下イベントを受け付けるようにし(S24a)、ステップS26aでは、Fast_fps_beginにCur_Frame−nFrameFastPeriod/2をセットし、ステップS27aでは、Fast_fps_endに、Cur_Frame+nFrameFastPeriod/2をセットする。そして、図13に示すストリーム書込みタスクのステップS45では、遡りバッファリング数を、CaptureFPS×FastPeriod/2より大きな値に設定する必要がある。
更には、図21に示すように、所定操作(ロールバックボタンの押下)に応じて、当該所定操作から過去に遡る一定時間を高速フレームレートの記録期間としてもよい。
この場合の撮影映像シーケンスタスクのフローチャートを図22に示す。図20は、主要部分で図10に示す撮影映像シーケンスタスクと同じであり、変更部分に符号bを付記してある。即ち、ターボボタンの代わりにロールバックボタンの押下イベントを受け付けるようにし(S24b)、ステップS26bでは、Fast_fps_beginにCur_Frame−nFrameFastPeriodをセットし、ステップS27bでは、Fast_fps_endに、Cur_Frameをセットする。そして、図13に示すストリーム書込みタスクのステップS45では、遡りバッファリング数を、CaptureFPS×FastPeriodより大きな値に設定する必要がある。
動画の記録形式は、各画像を独立に圧縮符号化するMotion JPEG方式でもよいし、一連の画像を必要により相互に利用するMPEG方式でもよいし、その他の圧縮方式でもよい。
上記実施例では、記録媒体58として着脱自在なメモリカードを例示したが、デジタルカメラに内蔵される内部メモリを記録媒体58と想定しても良い。有線又は無線の通信プロトコルを用いて、通信制御42を介して接続可能な外部のストレージを記録媒体58とすることも可能である。
上記実施例では、高速フレームレートで撮影する期間を一定時間としたが、これに限るものではない。例えば、ビデオバッファの空き状況に応じて高速フレームレートで撮影する期間を増減させても良い。この場合、バッファの空きが所定量を下回った時点で高速フレームレートの期間を終了して、低速フレームレートの撮影に切り替えればよい。
上記実施例では、ダミーのオーディオデータに無音データを用いたが、実時間のオーディオデータを伸長して、スロー再生に同期するようなスローの音声に変換したものを、ダミーオーディオデータとして用いることも出来る。
図23は、フレーム書き込み処理S55,S61の別の詳細なフローチャートを示す。
バッファ106上に構成されるビデオバッファから1フレーム分のデータを取得する(S170)。取得したフレームのフレーム番号nFrameを、Fast_fps_begin及びFast_fps_endと比較し、nFrameが、Fast_fps_begin以上で且つFast_fps_end以下であるかどうかを判別する(S171)。ただし、Fast_fps_begin及びFast_fps_endは、ターボボタン押下イベント受信(S24)時にそのときのフレーム番号を基準にステップS26及びS27でそれぞれ設定される値である。すなわち、Fast_fps_begin及びFast_fps_endの値は、撮影者が通常のフレームレートよりも高速のフレームレートで記録したい特定期間を指定したことによって設定される。
nFrameの値がFast_fps_begin以上で、Fast_fps_end以下である場合(S171)、高速のフレームレートで記録したい特定期間であることを意味する。nFrameの値がFast_fps_begin未満、又は、Fast_fps_endを越える場合、高速のフレームレートで記録したい特定期間ではないことを意味し、低速(通常)のフレームレートで記録する期間であることを意味する。
低速で記録する期間の場合(S171)、取得したデータのフレーム番号nFrameをFPS_FAST/FPS_SLOWで割った余りを求め、その余りがゼロか否かを調べる(S172)。余りがゼロ以外の場合(S172)は、記録する必要の無いフレームであると判断して、このフレームに対する処理を終了する。余りがゼロの場合(S172)、記録する必要があるフレームと判断して、S175に遷移する。
FPS_FASTは、単位時間(通常は1秒間)当たりの高速時のフレーム数を示し、FPS_SLOWとは、単位時間(通常は1秒間)当たりの低速(通常)時のフレーム数を示す。例えば、FPS_FAST=90で、FPS_SLOW=30である。
高速で記録する場合、即ち、nFrameの値がFast_fps_begin以上で、Fast_fps_end以下である場合(S171)、高速フレームレート区間のためのインデックスであるidxHインデックスバッファにインデックスエントリを生成する(S173)。取得したデータのフレーム番号nFrameをFPS_FAST/FPS_SLOWで割った余りを求め、その余りがゼロか否かを調べる(S174)。余りがゼロの場合(S74)、高速時及び低速時のどちらでも記録する必要があるフレームと判断して、S182に遷移する。余りがゼロ以外の場合(S174)、高速時においてのみ記録すべきフレームであると判断してS175に遷移する。
S175では、S170で取得したフレームデータを図4の画像データC9に相当する位置に書き込むことにより、ビデオチャンクをファイルに書き込む。図4のインデックスエントリC11に相当するビデオフレームデータ用のインデックスエントリのデータを生成して、idx1インデックスバッファに書き込む(S176)。オーディオバッファから(1/FPS_SLOW)秒分のオーディオデータ(例えば、1/30秒分)を取得する(S177)。取得したオーディオデータをオーディオチャンクバッファにセットする(S178)。
オーディオデータが1秒分格納されたか否かを判別する(S179)。オーディオデータが1秒分以上、格納されている場合(S179)、オーディオチャンクバッファに溜まった1秒分のオーディオデータを図4の音声データC4に相当する位置に書き込むことによってオーディオチャンクをファイルに書き込む(S180)。図4のidx1インデックスのインデックスエントリC10に相当するオーディオデータ用のインデックスエントリのデータを生成して、idx1インデックスバッファへ書き込む(S181)。オーディオデータが1秒分以上、格納されていない場合(S179)、ステップS180,S181を迂回する。
nFrameとFast_fps_endの値が等しいか否かを判別する(S183)。nFrameとFast_fps_endが等しければ(S183)、高速フレームレート撮影区間が終了したと判断し、idxHインデックスバッファの内容を図5のidxHインデックスにD5,D6相当するファイルの位置に書き込む(S184)。idxHのインデックスであるidxSのインデックスバッファにエントリを生成する(S85)。
以上、説明した一連の処理によって、フレーム書き込み処理が完了する。
図24は、以上の処理によるビデオバッファ及びオーディオバッファからAVIファイルへのデータ移動の模式図を示し、図25は、生成されるidx1インデックスの構成例を示す。
ビデオバッファには、高速フレームレートでキャプチャして生成したフレームデータが一旦格納される。図24に示す例では、フレームvideo10乃至video18が、高速フレームレートで記録されるべきフレームである。高速フレームレート期間以外の期間では、3フレームにつき2フレームが間引きされ、1フレームだけがAVIファイルに記録される。例えば、フレームvideo0,video3,video6,video9は、AVIファイルに格納されるが、それらのフレームの間に位置するフレームvideo1,video2,video4,video5,...は破棄される。これらの間引きの結果、残ったフレームのインデックスエントリが、図25に示すように、idx1インデックスバッファに保持される。高速フレームレート期間の各フレームvideo10乃至video18はすべて、AVIファイルに格納される。
ひとつの高速フレームレート期間の各フレームvideo10乃至video18のインデックスエントリがidxHインデックスバッファに保持される。高速フレームレート区間の記録が終わったら、AVIファイル上の直後のファイル位置に、idxHインデックスバッファの内容がidxHインデックスとして記録される。idxHのエントリはidxSインデックスバッファに保持される。
<インデックス書き込み処理>
図26は、インデックス書込み処理のフローチャートを示す。idx1インデックスバッファのデータをファイルに書き込み(S90)、idxSインデックスバッファのデータをファイルに書き込む(S91)。idx1及びidxHのインデックスデータは、図5に示すファイルのD7、D8にそれぞれ対応する位置に書込まれる。
<再生時の表示>
図27は、再生モードで起動した時の一覧表示である。図28は、再生画面例である。図27では、9つの画像オブジェクトG1〜G9のサムネイル画像が表示されている。その中で、オブジェクトG2〜G4のサムネイル画像の左側に表示されるパーフォレーションマークは、動画ファイルであることを示している。さらに、オブジェクトG2、G3サムネイル画像には、複数のフレームレートで記録されていることを示す“Dual Speed”アイコンが付与されている。
図27に示す画面を表示した状態で、ユーザは十字キー(不図示)等を用いて、任意のオブジェクトを選択して再生を指示することができる。例えば、オブジェクトG2又はG4を選択し、エンターキー(不図示)を押下すると、図28に示すようなオブジェクトG2又はG4の再生画面が表示される。
再生画面H1には、種々の操作ボタンH2〜H10と情報を表示するアイコンH11〜H15がGUI(Graphical User Interface)上に表示される。
操作ボタンH2〜H10は、十字キー等で選択される。停止状態で再生ボタンH2を押すことにより動画再生が開始される。ジャンプボタンH3、H4は、それぞれ先頭・末尾へのジャンプを指示する。高速再生ジャンプボタンH5、H6は、動画ファイル内に複数存在する高速フレームレート区間へのジャンプを指示する。コマ送りボタンH7、H8は、前後へのコマ送りを指示する。スロー再生ボタンH9は、動画のスロー再生を指示する。再生スピード選択ボタンH10は、スロー再生ボタンH9が押下されて、スロー再生状態になった場合に、スロー再生の再生スピードを選択するのに使用される。すなわち、再生スピード選択ボタンH10は、スロー再生中に十字キーを左右に選択することにより、スロー再生スピードの増減を指示する。
デュアルスピードアイコンH11は、現在再生中の動画ファイルが複数のフレームレート区間を含む動画ファイルであることを表す。プログレスバーH12は、現在の動画再生位置を表示する。プログレスバーH12の斜線部は、高速フレームレート区間H13、H14である。すなわち、現在再生中の動画ファイルにおける高速フレームレート区間の位置を示す。idxSに格納されているSUPER_INDEXENTRY(図6参照)の各エントリのStartFrameとnFrameの値を参照することで、高速フレームレート区間の開始フレーム及びフレーム数を取得できる。これらの情報から、ファイルにおける全動画フレームのなかでの高速フレームレート区間H13、H14の相対位置が求まる。
高速フレームレート区間H13、H14の先頭位置は、idxSに格納されているSUPER_INDEXENTRYの各エントリのaddress値を参照して、高速フレームレート区間を示すidxHインデックスを参照し、当該idxHインデックスの先頭フレームのアドレスを取得することにより、決定できる。
このようにして、容易に高速フレームレート区間のみを選択して再生することができ、検索の手間を省くことができる。また、高速フレームレート区間H13、H14を備えたので、使用者にフレームレートの切り替え期間を表示することでき、使用者が高速なフレームレートで記録された期間を容易に選択することができる。
本発明の一実施例に係るデジタルカメラの概略構成ブロック図である。 各チャンクの模式図である。 RIFF形式のAVIファイルの模式図である。 データ部とインデックス部を詳細に記す模式図である。 記録途中でフレームレートを変更した場合のRIFF形式のAVIファイルの構造例を示す模式図である。 SUPER_INDEXENTRY構造体の構成図である。 SUPER_INDEXENTRY型のデータの配置例である。 動画記録のフレームレートの変化例を示す模式図である。 ソフトウエアモジュールの概略構成図である。 第1実施例の動画撮影シーケンスタスクのフローチャートである。 ストリーム生成タスクのフローチャートである。 ビデオバッファのフレーム毎に持つ属性情報を示す図である。 ストリーム書き込みタスクの状態遷移図である。 バッファデータ書き込み処理のフローチャートである。 バッファデータフラッシュ処理のフローチャートである。 フレーム書き込み処理のフローチャートである。 バッファからAVIファイルへのデータ移動を示す概念図である。 図17に示すデータ移動に対するidx1インデックスの例である。 高速フレームレートの記録指示に対してその前後を高速フレームレート記録期間とする場合のフレームレート変化を示す模式図である。 図19に対する撮影映像シーケンスタスクのフローチャートである。 高速フレームレートの記録指示の直前の一定期間を高速フレームレート記録期間とする場合のフレームレート変化を示す模式図である。 図21に対する撮影映像シーケンスタスクのフローチャートである。 フレーム書き込み処理の別のフローチャートである。 図23に示すフレーム書込み処理に対する、バッファからAVIファイルへのデータ移動例である。 図24に示すデータ移動に対するインデックス例である。 インデックス書込み処理のフローチャートである。 再生モードでの一覧表示画面である。 動画ファイルの再生画面例である。
符号の説明
10 デジタルカメラ
12 レンズユニット
14 絞り・シャッタ機構
16 CCD撮像素子
18 A/Dコンバータ
20 SSGユニット
22 信号処理ユニット
24 DMAコントローラ
26 DRAM
28 フラッシュROM
30 マイクロフォン
32 A/Dコンバータ
34 絞り制御
36 レンズ制御
38 CPU
40 表示制御
42 通信制御
44 記録媒体制御
46 電池
48 電源制御
50 DC/DCコンバータ
52 入力装置
54 表示装置
56 通信コネクタ
58 記録媒体
60 システムバス
100 キードライバ
102 動画撮影シーケンスタスク
104 キャプチャコントローラ
106 バッファ
108 ストリーム生成タスク
110 ストリーム書込みタスク
112 ファイルシステム

Claims (8)

  1. 像信号を入力する画像入力手段と、
    マイクにより得られた音声信号を入力する音声入力手段と、
    前記画像入力手段により入力された画像信号を用いて、第1のフレームレートの第1の動画像信号または、前記第1のフレームレートよりも高い第2のフレームレートの第2の動画像信号を生成するとともに、生成した前記第1の動画像信号または前記第2の動画像信号と、音声信号とからなるストリームを成するストリーム生成手段と、
    前記ストリーム生成手段により生成されストリームを記録媒体に記録する記録手段と、
    前記第2の動画像信号の生成を指示する指示手段
    とを備え、
    前記ストリーム生成手段は、前記第1の動画像信号と前記音声入力手段により入力された前記音声信号とからなる第1のストリームを生成しているときに、前記指示手段により指示がされたことに応じて、前記第1のストリームに代えて、前記第2の動画像信号と無音を示す音声信号とからなる第2のストリームを生成することを特徴とする記録装置。
  2. 前記ストリーム生成手段は、前記指示手段の指示がなされてから所定期間だけ、前記第1のストリームに代えて第2のストリームを生成することを特徴とする請求項1に記載の記録装置。
  3. 前記ストリーム生成手段は、前記指示手段の指示があった時点から第1の期間前の時点より所定期間だけ、前記第1のストリームに代えて第2のストリームを生成することを特徴とする請求項1に記載の記録装置。
  4. 前記ストリーム生成手段は、前記指示手段の指示があった時点から所定期間前までの間だけ、前記第1のストリームに代えて第2のストリームを生成することを特徴とする請求項1に記載の記録装置。
  5. 前記画像入力手段は撮像手段を含むことを特徴とする請求項1から4のいずれか1項に記載の記録装置。
  6. 前記記録手段は、記録開始の指示から記録停止の指示までの間に記録した前記第1のストリームと第2のストリームとを一つの動画ファイルとして管理することを特徴とする請求項1から5のいずれか1項に記載の記録装置。
  7. 前記記録手段は記録開始の指示から記録停止の指示までの間に記録した前記第1のストリームと第2のストリームとを一つの動画ファイルとして管理し、前記第1の動画像信号の記録位置を示す第1のインデックス情報と、前記第2の動画像信号の記録位置を示す第2のインデックス情報とを記録すること特徴とする請求項1から5のいずれか1項に記載の記録装置。
  8. 請求項に記載の記録装置で記録した動画ファイルを再生する再生装置であって、
    前記第1のインデックス情報と前記第2のインデックス情報とに基づいて、前記動画ファイルにおける前記第1の動画像信号の期間と前記第2の動画信号の期間を区別して表示装置に表示することを特徴とする再生装置。
JP2005176872A 2005-06-16 2005-06-16 記録装置及び再生装置 Active JP4537266B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005176872A JP4537266B2 (ja) 2005-06-16 2005-06-16 記録装置及び再生装置
US11/423,211 US7920775B2 (en) 2005-06-16 2006-06-09 Recording apparatus
US13/032,702 US8938150B2 (en) 2005-06-16 2011-02-23 Recording apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005176872A JP4537266B2 (ja) 2005-06-16 2005-06-16 記録装置及び再生装置

Publications (3)

Publication Number Publication Date
JP2006352581A JP2006352581A (ja) 2006-12-28
JP2006352581A5 JP2006352581A5 (ja) 2008-07-24
JP4537266B2 true JP4537266B2 (ja) 2010-09-01

Family

ID=37647928

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005176872A Active JP4537266B2 (ja) 2005-06-16 2005-06-16 記録装置及び再生装置

Country Status (2)

Country Link
US (2) US7920775B2 (ja)
JP (1) JP4537266B2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4770581B2 (ja) * 2006-05-17 2011-09-14 ソニー株式会社 動画像データ処理装置、ストリーム生成装置、撮像装置、および動画像データ処理方法
US8511901B2 (en) * 2007-02-06 2013-08-20 Canon Kabushiki Kaisha Image recording apparatus and method
JP4810485B2 (ja) * 2007-03-29 2011-11-09 キヤノン株式会社 画像処理装置、画像処理方法、及びコンピュータプログラム
JP5018332B2 (ja) 2007-08-17 2012-09-05 ソニー株式会社 画像処理装置、撮像装置、画像処理方法、およびプログラム
US8077222B2 (en) * 2007-11-06 2011-12-13 Canon Kabushiki Kaisha Image processing apparatus to transmit moving image data
JP5234831B2 (ja) * 2008-02-20 2013-07-10 Necカシオモバイルコミュニケーションズ株式会社 撮像装置、撮像方法及びプログラム
JP2010087778A (ja) * 2008-09-30 2010-04-15 Casio Computer Co Ltd 撮像装置、変速撮像方法、及びプログラム
WO2010128640A1 (ja) * 2009-05-07 2010-11-11 コニカミノルタホールディングス株式会社 ステレオ画像取得装置
US8736702B2 (en) * 2009-12-22 2014-05-27 Samsung Electronics Co., Ltd. Apparatus and method of calculating a shooting frequency based on the obtained sound information
JP2011139306A (ja) * 2009-12-28 2011-07-14 Sanyo Electric Co Ltd 撮像装置及び再生装置
JP2011193424A (ja) * 2010-02-16 2011-09-29 Casio Computer Co Ltd 撮像装置及び方法、並びにプログラム
JP5902928B2 (ja) * 2011-11-25 2016-04-13 キヤノン株式会社 再生装置、その制御方法、及びプログラム
JP2014027560A (ja) * 2012-07-27 2014-02-06 Xacti Corp 画像処理装置
JP6012384B2 (ja) * 2012-10-04 2016-10-25 キヤノン株式会社 動画再生装置、表示制御方法、プログラム及び記憶媒体
JP2015122731A (ja) * 2013-11-19 2015-07-02 パナソニックIpマネジメント株式会社 動画再生装置及び動画再生方法
JP2015186235A (ja) * 2014-03-26 2015-10-22 ソニー株式会社 イメージセンサ、および電子装置
KR102449872B1 (ko) * 2015-12-18 2022-09-30 삼성전자주식회사 촬영 디바이스 및 그 제어 방법
KR102657050B1 (ko) * 2017-01-25 2024-04-15 삼성전자주식회사 전자 장치 및 전자 장치에서의 영상을 촬영하기 위한 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004129217A (ja) * 2002-08-01 2004-04-22 Canon Inc 画像処理装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
JP2004221999A (ja) * 2003-01-15 2004-08-05 Canon Inc 画像処理方法
JP2005136754A (ja) * 2003-10-31 2005-05-26 Matsushita Electric Ind Co Ltd 撮像装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5640202A (en) * 1994-04-26 1997-06-17 Canon Kabushiki Kaisha Imaging system which changes the frame rate of the image signal
JP3129599B2 (ja) 1994-04-26 2001-01-31 キヤノン株式会社 動画撮像システム
US7110025B1 (en) * 1997-05-28 2006-09-19 Eastman Kodak Company Digital camera for capturing a sequence of full and reduced resolution digital images and storing motion and still digital image data
US6192188B1 (en) * 1997-10-20 2001-02-20 Lsi Logic Corporation Programmable audio/video encoding system capable of downloading compression software from DVD disk
JP3276596B2 (ja) * 1997-11-04 2002-04-22 松下電器産業株式会社 動画像編集装置
ID22996A (id) * 1998-03-13 1999-12-23 Matsushita Electric Ind Co Ltd Media penyimpan data, alat dan metode untuk memproduksi kembali data dari media penyimpan data tersebut
JP2003219412A (ja) * 2002-01-22 2003-07-31 Fuji Photo Film Co Ltd 車載カメラの撮像画像記録装置
JP4228271B2 (ja) * 2002-07-09 2009-02-25 日本電気株式会社 動画データ圧縮装置,及び動画データ圧縮方法
JP2005027159A (ja) * 2003-07-04 2005-01-27 Canon Inc 記録装置及び方法
JP2005086499A (ja) * 2003-09-09 2005-03-31 Minolta Co Ltd 撮像装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004129217A (ja) * 2002-08-01 2004-04-22 Canon Inc 画像処理装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
JP2004221999A (ja) * 2003-01-15 2004-08-05 Canon Inc 画像処理方法
JP2005136754A (ja) * 2003-10-31 2005-05-26 Matsushita Electric Ind Co Ltd 撮像装置

Also Published As

Publication number Publication date
JP2006352581A (ja) 2006-12-28
US20070013808A1 (en) 2007-01-18
US8938150B2 (en) 2015-01-20
US7920775B2 (en) 2011-04-05
US20110142412A1 (en) 2011-06-16

Similar Documents

Publication Publication Date Title
JP4537266B2 (ja) 記録装置及び再生装置
JPWO2006028172A1 (ja) 記録装置および方法、再生装置および方法、並びにプログラム
JP2012161048A (ja) 撮像装置
JP2009225361A (ja) 記録装置および記録方法、ならびに、編集装置および編集方法
JP4665793B2 (ja) 動画像ファイル生成プログラムおよび電子カメラ
JP5818599B2 (ja) 動画記録装置
JP2012156587A (ja) 動画記録装置
JP5683301B2 (ja) 画像記録装置
US8379109B2 (en) Image processing apparatus
JP2005260749A (ja) 電子カメラ、及び電子カメラの制御プログラム
JP5076457B2 (ja) 映像信号処理装置、映像信号処理方法
JP4761544B2 (ja) 再生装置及びその制御方法
JP5713701B2 (ja) 動画記録装置
JP4698961B2 (ja) 電子カメラ、及び電子カメラの制御プログラム
JP5773855B2 (ja) 画像処理装置
JP2006080723A (ja) 記録装置および記録方法、再生装置および再生方法、並びにプログラム
JP2009055618A (ja) 電子カメラ、及び電子カメラの制御プログラム
JP2011146847A (ja) 画像再生制御装置、画像再生制御方法および撮像装置
JP5645096B2 (ja) 動画処理装置、動画再生方法、動画録画方法、及びプログラム
JP2010183370A (ja) 画像再生装置
JP6463967B2 (ja) 撮像装置及びその制御方法
JP2015159484A (ja) 記録装置、記録方法、プログラム、ならびに撮像装置
JP4298583B2 (ja) 撮像装置および携帯電話
JP5889459B2 (ja) 記録装置
JP5383073B2 (ja) 編集装置および編集方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080611

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080611

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100122

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100615

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100617

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130625

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4537266

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D03