(57)【要約】      （修正有）【課題】データ記録の途中で行われる記録先のファイルを切り替える処理の間に書き込みエラー等が発生する可能性を低減する。【解決手段】記録媒体に対してクロック信号を出力し、前記記録媒体にデータを書き込むために前記クロック信号に応じて前記記録媒体に対して書き込みコマンドと書き込まれるデータとを出力し、タイミング信号に応じて前記記録媒体からデータを受け取り、前記クロック信号を遅延させることにより前記タイミング信号を生成し、前記入出力手段を用いて前記記録媒体の所定のファイルにデータを繰り返し記録し、前記所定のファイルに記録済みのデータ量が閾値以上となった場合は記録先を前記所定のファイルから新たなファイルに変更し、前記所定のファイルに記録済みのデータ量と前記繰り返しの記録における１回の記録に対応するデータ量以上であるデータ量との合計が前記閾値以上となった場合は前記タイミング信号の遅延量の調整を行う。【選択図】図３
2018164171.tif 000002
【特許請求の範囲】
【請求項１】
記録媒体に対してクロック信号を出力する出力手段と、
前記記録媒体にデータを書き込むために前記クロック信号に応じて前記記録媒体に対して書き込みコマンドと書き込まれるデータとを出力し、タイミング信号に応じて前記記録媒体からのデータを受け取る入出力手段と、
前記クロック信号を遅延させることにより、前記タイミング信号を生成する生成手段と、
前記入出力手段を用いて前記記録媒体の所定のファイルにデータを繰り返し記録する記録制御を行う制御手段であって、前記所定のファイルに記録済みのデータ量が閾値以上となったことに応じて、記録先を前記所定のファイルから新たなファイルに変更する制御を行う、制御手段と、
前記所定のファイルに記録済みのデータ量と、前記繰り返しの記録における１回の記録に対応するデータ量以上である第１のデータ量との合計が、前記閾値以上となったことに応じて、前記タイミング信号の遅延量の調整処理を行う調整手段と、
を備えることを特徴とする記録装置。
【請求項２】
前記第１のデータ量は、前記繰り返しの記録における１回の記録に対応するデータ量に等しい
ことを特徴とする請求項１に記載の記録装置。
【請求項３】
前記記録制御による記録対象のデータが連続的に入力されるバッファメモリと、
前記調整処理に要する処理時間を取得する取得手段と、
を更に備え、
前記第１のデータ量は、前記繰り返しの記録における１回の記録に対応するデータ量と、前記処理時間に前記バッファメモリに入力されるデータ量との合計以上である
ことを特徴とする請求項１に記載の記録装置。
【請求項４】
前記取得手段は、前記バッファメモリへの前記記録対象のデータの入力が開始する前に前記調整手段に前記調整処理を実行させることにより、前記処理時間を取得する
ことを特徴とする請求項３に記載の記録装置。
【請求項５】
前記第１のデータ量は、前記繰り返しの記録における１回の記録に対応するデータ量と、前記処理時間に前記バッファメモリに入力されるデータ量との合計に等しい
ことを特徴とする請求項３又は４に記載の記録装置。
【請求項６】
前記閾値は、所定のビット数又はバイト数である
ことを特徴とする請求項１から５のいずれか１項に記載の記録装置。
【請求項７】
前記記録制御による記録対象のデータは、動画データであり、
前記閾値は、所定のフレーム数である
ことを特徴とする請求項１から５のいずれか１項に記載の記録装置。
【請求項８】
撮像手段を更に備え、
前記制御手段は、前記撮像手段により取得される動画データを記録する
ことを特徴とする請求項１から７のいずれか１項に記載の記録装置。
【請求項９】
記録媒体に対してクロック信号を出力する出力手段と、
前記記録媒体にデータを書き込むために前記クロック信号に応じて前記記録媒体に対して書き込みコマンドと書き込まれるデータとを出力し、タイミング信号に応じて前記記録媒体からのデータを受け取る入出力手段と、
前記クロック信号を遅延させることにより、前記タイミング信号を生成する生成手段と、
を備える記録装置の制御方法であって、
前記入出力手段を用いて前記記録媒体の所定のファイルにデータを繰り返し記録する記録制御を行う制御工程であって、前記所定のファイルに記録済みのデータ量が閾値以上となったことに応じて、記録先を前記所定のファイルから新たなファイルに変更する制御を行う、制御工程と、
前記所定のファイルに記録済みのデータ量と、前記繰り返しの記録における１回の記録に対応するデータ量以上である第１のデータ量との合計が、前記閾値以上となったことに応じて、前記タイミング信号の遅延量の調整処理を行う調整工程と、
を備えることを特徴とする制御方法。
【請求項１０】
コンピュータを、請求項１から８のいずれか１項に記載の記録装置の制御手段及び調整手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録装置、制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、メモリカード等の記録媒体に画像データや音声データ等を書き込み、或いは記録媒体に記録されたデータを読み出して再生する装置が存在する。記録媒体が接続される装置（ホスト装置）と記録媒体との間におけるデータの読み書きは、ホスト装置で発生されるクロック信号に合わせて行われる。ホスト装置がクロック信号の１つのクロックパルスを送信した後、書き込み又は読み出しの対象となるデータの送受信、或いはコマンドに対するレスポンスの受信が行われる。このため、クロックパルスとデータやレスポンスとは、完全に同期したタイミングで送受信される訳ではない。例えば、ホスト装置がＳＤメモリカードのような記録媒体からデータの読み出しを行う場合、ホスト装置から記録媒体にクロックパルスが与えられてからデータ送信が行われるまでは、規格化された固定値分だけ遅延が存在することになる。このため、ホスト装置は、クロックパルスの送信から固定値分だけ遅延したタイミングで、記録媒体から送信されたデータをラッチすることにより、記録媒体から送信されたデータを取得している。
【０００３】
一方で、近年このような記録媒体に対する読み書きデータレートの向上に伴い、クロックパルスの周波数を高速化する必要があり、データ取得のためのクロックパルスからの遅延量は、固定値で規定することが困難になっている。これに対し、ＳＤメモリカードの高速規格であるＵＨＳ−Ｉ(Ultra High Speed I)では、高速クロックを使用してデータの読み出しを行う場合、カードごとにデータラッチのタイミングを調整した上でデータ読み出しを行うことが規定されている。このようなラッチタイミングの調整作業はチューニングと呼ばれる（例えば、特許文献１参照）。
【０００４】
また、メモリカードに記録された動画データは、所定のファイルシステムによりファイルとして管理される。このようなファイルシステムのうち、例えば、ＦＡＴ３２ファイルシステムでは、１つのファイルのサイズの上限が４ギガバイト（ＧＢ）と規定されている。動画データのようにデータサイズが大きいデータを記録する場合、１つの動画の記録中に、記録先のファイルのデータサイズがファイルシステムにて規定された上限のサイズに達してしまうことがある。このような場合に、現在のファイルをクローズし、新たな動画ファイルを作成して動画の記録を続ける撮像装置もある。このように記録先のファイルを切り替えて動画を記録する機能（処理）を、以下ではファイルブレイク機能（処理）と呼ぶ。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−５４７１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ファイルブレイク処理では、動画データだけではなく、動画データの付加情報やディレクトリエントリなどの管理情報をファイルに書き込む必要がある。そのため、メモリカードに対して一時的に動画データの書き込みができなくなる。その結果、ファイルブレイク処理中は、撮影済みで未記録の動画データが増加し、未記録の動画データを一時的に記憶するバッファメモリの空き容量が少なくなることがある。従って、ファイルブレイク処理中にメモリカードからのレスポンスを受信するタイミングのずれに起因して書き込みエラーやリトライが発生し、ファイルブレイク処理が長期化すると、バッファメモリがオーバーフローして動画記録が停止してしまう可能性がある。また、チューニングを行えばタイミングのずれを修正することができるが、チューニング中はデータの書き込みや読み出しを行うことができない。そのため、ファイルブレイク処理中にチューニングを行ってしまうと、バッファメモリがオーバーフローする可能性が上昇してしまう。事前に（例えば動画の記録開始前に）チューニングを行っても、適切なラッチタイミングは温度等により変化する。動画記録中に撮像装置或いはメモリカードの温度が変化すると、受信のためのクロックの位相が変化するため、ファイルブレイク処理中に書き込みエラー等が発生する可能性を十分に低減することはできない。
【０００７】
本発明はこのような状況に鑑みてなされたものであり、データ記録の途中で行われる記録先のファイルを切り替える処理の間に書き込みエラー等が発生する可能性を低減する技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明は、記録媒体に対してクロック信号を出力する出力手段と、前記記録媒体にデータを書き込むために前記クロック信号に応じて前記記録媒体に対して書き込みコマンドと書き込まれるデータとを出力し、タイミング信号に応じて前記記録媒体からのデータを受け取る入出力手段と、前記クロック信号を遅延させることにより、前記タイミング信号を生成する生成手段と、前記入出力手段を用いて前記記録媒体の所定のファイルにデータを繰り返し記録する記録制御を行う制御手段であって、前記所定のファイルに記録済みのデータ量が閾値以上となったことに応じて、記録先を前記所定のファイルから新たなファイルに変更する制御を行う、制御手段と、前記所定のファイルに記録済みのデータ量と、前記繰り返しの記録における１回の記録に対応するデータ量以上である第１のデータ量との合計が、前記閾値以上となったことに応じて、前記タイミング信号の遅延量の調整処理を行う調整手段と、を備えることを特徴とする記録装置を提供する。
【０００９】
なお、その他の本発明の特徴は、添付図面及び以下の発明を実施するための形態における記載によって更に明らかになるものである。
【発明の効果】
【００１０】
本発明によれば、データ記録の途中で行われる記録先のファイルを切り替える処理の間に書き込みエラー等が発生する可能性を低減することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】デジタルカメラ１００の構成例を示すブロック図。
【図２】メモリカードコントローラ１１３の詳細を示すブロック図。
【図３】第１の実施形態に係る、デジタルカメラ１００が画像データの記録中にチューニングの実行を制御する処理のフローチャート。
【図４】図３のフローチャートにおける一連の動作を説明する図。
【図５】デジタルカメラ１００が実行する初期処理のフローチャート。
【図６】第２の実施形態に係る、デジタルカメラ１００が画像データの記録中にチューニングの実行を制御する処理のフローチャート。
【図７】図６のフローチャートにおける一連の動作を説明する図。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して、本発明の実施形態を説明する。なお、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。また、実施形態の中で説明されている特徴の組み合わせすべてが、本発明に必須とは限らない。また、別々の実施形態の中で説明されている特徴を適宜組み合せることも可能である。
【００１３】
［第１の実施形態］
本発明の記録装置をデジタルカメラのような撮像装置に適用した実施形態について説明する。図１は、第１の実施形態に係るデジタルカメラ１００の構成例を示すブロック図である。図１において、撮影レンズ１０１は、被写体像をとらえ、絞り１０２によって光量が所定量に制限された後、撮像素子１０３上に被写体像を結像させる。結像した被写体像は、Ａ／Ｄ変換器１０４でデジタル化される。デジタル化された画像データは、画像処理部１０５でガンマ補正、ホワイトバランス補正、及びノイズリダクション処理等が行われた後、データバス１０７に非圧縮画像データとして出力される。
【００１４】
ＪＰＥＧ符号化部１０８は、非圧縮画像データを静止画として圧縮符号化し、ＪＰＥＧ静止画データを生成する。ＭＰＥＧ符号化部１０９は、非圧縮画像データを動画として圧縮符号化し、ＭＰＥＧ動画データを生成する。
【００１５】
液晶パネル１１１は、画像や各種情報を表示する表示部である。液晶ドライバ１１２は、ＤＲＡＭ１１６に格納されている画像表示用のデータを液晶表示信号に変換して液晶パネル１１１に供給する。こうして、ＤＲＡＭ１１６に書き込まれた表示用の画像データは、液晶ドライバ１１２を介して液晶パネル１１１により表示される。液晶パネル１１１は、電子ビューファインダとして機能し、スルー画像表示を行うこともできる。液晶パネル１１１を電子ビューファインダとして機能させる場合、液晶ドライバ１１２は、Ａ／Ｄ変換器１０４によって一度Ａ／Ｄ変換されＤＲＡＭ１１６に蓄積されたデジタル信号の解像度を液晶パネル１１１のドット数に合わせて削減する。その後、液晶ドライバ１１２は、デジタル信号を液晶表示信号に変換し、液晶パネル１１１に逐次転送する。
【００１６】
ＤＲＡＭ１１６は、ＪＰＥＧ符号化部１０８で生成されるＪＰＥＧ静止画データ又はＭＰＥＧ符号化部１０９で生成されるＭＰＥＧ動画データなどの、フラッシュメモリカード１１５に記録されるデータを一時的に記憶する、バッファメモリとしても使用される。ＤＲＡＭ１１６のバッファメモリ空間に記憶されたデータは、メモリカードコントローラ１１３により読み出されてフラッシュメモリカード１１５（記録媒体）に書き込まれる。バッファメモリ空間に対するデータの書き込み及び読み出しは、メインマイコン１１８により制御される。また、ＤＲＡＭ１１６は、撮影された画像から再生時のインデックス表示で使用するサムネイル画像を生成する画素数変換部１１０のための作業メモリ空間の提供も行う。更に、ＤＲＡＭ１１６は、前述の通り、液晶パネル１１１で表示を行うためのビデオメモリとしての空間も提供する。
【００１７】
フラッシュメモリカード１１５は、カードスロット／検出ＳＷ１１４を介してデジタルカメラ１００に対して着脱が可能な、例えばＮＡＮＤ型フラッシュメモリで構成されているメモリカードである。メインマイコン１１８は、フラッシュメモリカード１１５に記録したデータを、ＦＡＴ(File Allocation Table)ファイルシステム等の所定のファイルシステムに従い、ファイルとして管理する。
【００１８】
メモリカードコントローラ１１３は、フラッシュメモリカード１１５を制御し、ＤＲＡＭ１１６からのデータをフラッシュメモリカード１１５に記録する。また、メモリカードコントローラ１１３は、フラッシュメモリカード１１５からデータを読み出し、ＤＲＡＭ１１６へのデータ転送を行う。カードスロット／検出ＳＷ１１４は、フラッシュメモリカード１１５を装着するスロットであり、スロットへの装着の有無を検出する検出ＳＷ（スイッチ）を含む。
【００１９】
操作キー１１７は、ユーザからの各種操作を受け付ける各種スイッチであり、静止画の撮影操作を行うシャッターボタンや、動画の撮影開始及び撮影停止を指示するトリガーボタン、カメラ撮影モードと再生モードとを切り替えるモードスイッチを含む。
【００２０】
ＲＯＭ１１９は、電気的に消去・記録可能な不揮発性メモリであって、メインマイコン１１８の動作用の定数、プログラム等が格納される。ここでいうプログラムとは、本実施形態にて後述する各種シーケンスを実行するためのプログラムのことであり、後述する本実施形態の各動作を実現する。
【００２１】
メインマイコン１１８は、ＣＰＵを有し、ＲＯＭ１１９に記憶された動作プログラムに従って動作して、デジタルカメラ１００の各部を制御する。メインマイコン１１８は、液晶ドライバ１１２等を制御することにより表示制御を行う。また、本実施形態では、メインマイコン１１８は、フラッシュメモリカード１１５が記憶するものと同じパターンのチューニングパターン信号を利用して、後述するテストパターンの成否判定、及び最適ラッチタイミングの決定動作を行う。
【００２２】
図２は、メモリカードコントローラ１１３の詳細を示すブロック図である。メモリカードコントローラ１１３は、フラッシュメモリカード１１５へのデータの書き込み及び読み出しにおいて、ＣＬＫライン、ＣＭＤライン、及びＤＡＴラインを介して信号及びデータの送受信を行う。具体的には、クロック源２０１は、読み書きのタイミング制御に利用される、クロックパルスで構成されたクロック信号（ＣＬＫ信号）を、ＣＬＫラインを介してフラッシュメモリカード１１５に出力する。
【００２３】
ホストコントローラ２０２は、読み書きに係るコマンド信号の出力、及びコマンドに対するフラッシュメモリカード１１５からのレスポンス信号の受信を、ＣＭＤラインを介して行う。またホストコントローラ２０２は、フラッシュメモリカード１１５に書き込むデータ、或いはフラッシュメモリカード１１５から読み出したデータを、ＤＡＴラインを介して送受信する制御を行う。ホストコントローラ２０２は、クロック源２０１からのクロック信号に同期して、ＤＲＡＭ１１６のバッファメモリ空間から読み出した動画データや静止画データ、或いは、その他のデータを、ＤＡＴラインを介してフラッシュメモリカード１１５に送信する。
【００２４】
データの読み書きにおいて、上述したようにクロックパルスとデータの送受信のタイミングは異なる。このため、遅延素子２０３は、例えばフラッシュメモリカード１１５からのデータの読み出し時にクロック信号の位相をメインマイコン１１８の制御に従って遅延させ、フラッシュメモリカード１１５から出力されたデータを受信するためのタイミング信号を生成する。そして、フリップフロップ２０４は、遅延素子２０３から出力されたタイミング信号に従って、フラッシュメモリカード１１５から出力されたデータをラッチする。即ち、タイミング信号は、データをラッチするタイミングを規定する。また、フリップフロップ２０６は、クロック源２０１からのタイミングに従って、ホストコントローラ２０２からの書き込み用のデータをラッチする。なお、コマンドの入出力、及びデータの送受信に応じたＣＭＤラインとＤＡＴラインとの間の切り替えは、信号分岐部２０５により行われる。フリップフロップ２０４から出力された、フラッシュメモリカード１１５からのレスポンス及びデータは、ホストコントローラ２０２に送られる。
【００２５】
次に、図１及び図２を参照して、本実施形態のチューニング動作について説明する。メモリカードコントローラ１１３がフラッシュメモリカード１１５にテストデータ送信コマンドを発行する。これに応えて、フラッシュメモリカード１１５は、クロック源２０１から送られてくるクロック信号に同期して、予め決められているパターンの６４バイトのデータ列（テストデータ）を送信する。メモリカードコントローラ１１３は、クロック源２０１から生成されたクロック信号を遅延素子２０３により遅延させることにより得られるタイミング信号に従い、テストデータを受信する。ここで、遅延素子２０３に設定される遅延段数の値を変化させることで、タイミング信号の位相を変化させることができる。メインマイコン１１８は、クロック信号とタイミング信号との位相関係を変化させながら、即ちフリップフロップ２０４によるラッチタイミングを変えながら、テストデータの受信の成否を判定する。
【００２６】
具体的には、メインマイコン１１８は、遅延素子２０３の遅延量を第１の遅延量に設定した状態で、フラッシュメモリカード１１５に対してテストデータの送信コマンドを送る。そして、フラッシュメモリカード１１５から送られたテストデータを、第１の遅延量を持つタイミング信号に従ってフリップフロップ２０４により受信する。メインマイコン１１８は、受信されたテストデータを、予め保持しているテストデータと比較して、正しく受信できたか否かを判別する。
【００２７】
第１の遅延量のタイミング信号によるテストデータの受信処理が終わると、メインマイコン１１８は、次に、遅延素子２０３の遅延量を第２の遅延量に設定し、再度、テストデータの送信コマンドをフラッシュメモリカード１１５に送信させる。そして、第２の遅延量を持つタイミング信号に従って受信されたテストデータが、正しく受信できたかどうかを判別する。
【００２８】
このように、メインマイコン１１８は、遅延素子２０３による遅延量を変えながら、各遅延量においてテストデータが正しく受信できたかどうかを判別する処理を繰り返す。なお、１回に変更する遅延量は、クロック信号の１周期の数十分の１程度とする。そして、メインマイコン１１８は、全ての遅延量のタイミング信号によるテストデータの受信が完了すると、最も安定してテストデータの受信に成功する遅延量を選択し、これをタイミング信号の遅延量として遅延素子２０３に設定する。
【００２９】
以上のような一連の処理を、ラッチタイミングのチューニング処理（即ち、タイミング信号の遅延の量の調整処理）という。このように、チューニング処理を行っている間、フラッシュメモリカード１１５に対する画像データの書き込みと読み出しを行うことができない。
【００３０】
次に、図３を参照して、デジタルカメラ１００が画像データの記録中にチューニングの実行を制御する処理について説明する。本フローチャートの各ステップの処理は、特に断らない限り、メインマイコン１１８がＲＯＭ１１９に記憶された動作プログラムを実行してデジタルカメラ１００の各部を制御することにより実行される。
【００３１】
図３では、特に、フレーム間予測符号化を伴うＭＰＥＧ符号化方式により符号化されたＭＰＥＧ動画データを記録する動画撮影モードを例に説明を行う。しかしながら、本実施形態は、フレーム間予測符号化やＭＰＥＧ符号化方式に限定されず、いかなる動画データを記録する場合に対しても適用可能である。また、記録対象のデータは動画データに限定されず、本実施形態は、任意のデータを繰り返し記録する場合に対しても適用可能である。
【００３２】
記録時においても、メインマイコン１１８は、フラッシュメモリカード１１５に対して出力した書き込みコマンドに対するレスポンスを、フラッシュメモリカード１１５から受ける必要がある。そのため、記録中であっても、メモリカードコントローラ１１３は、フラッシュメモリカード１１５から送信されたデータを適切なラッチタイミングで受信することが望ましい。一方、動画撮影により生成される画像は、一般的にデータサイズが大きいため、チューニング処理によりデータの書き込みが妨げられると、内部の動画データバッファの空き容量が減少し、バッファオーバーフローに起因する記録停止につながる可能性がある。ファイルブレイク処理とチューニング処理とが同時に行われると、バッファオーバーフローの可能性が更に上昇する。従って、メインマイコン１１８は、以下に詳述する通り、ファイルブレイク処理が行われる前にチューニング処理を実行する。
【００３３】
ユーザが操作キー１１７を操作して記録開始を指示すると、図３のフローチャートの処理が開始する。最初に、Ｓ３０１で、メインマイコン１１８は、ＭＰＥＧ符号化部１０９を制御して動画データを符号化し、符号化された動画データを動画データ用に割り当てたＤＲＡＭ１１６の動画データバッファに蓄積（入力）していく。
【００３４】
本実施形態では、フラッシュメモリカード１１５に対するデータの書き込み速度は、符号化された動画データのデータレートよりも高い。そのため、動画データを記録する場合、メインマイコン１１８は、符号化された動画データを一旦ＤＲＡＭ１１６のバッファメモリ空間に記憶する。そして、バッファメモリに記憶された、未記録の動画データのデータ量が所定のデータ量に達すると、メインマイコン１１８は、バッファメモリから動画データを読み出してフラッシュメモリカード１１５に記録する。フラッシュメモリカード１１５の記録速度は動画データのデータレートよりも大きいので、フラッシュメモリカード１１５への動画データの書き込みを行っている間は、バッファメモリに記憶される動画データのデータ量が減っていく。そして、フラッシュメモリカード１１５への所定サイズの動画データの書き込みが完了すると、書き込みが停止する。このように、本実施形態では、動画の記録開始から記録停止までの間、フラッシュメモリカード１１５に対して間欠的に（繰り返し）動画データを記録する記録制御が行われる。
【００３５】
次に、Ｓ３０２で、メインマイコン１１８は、ＤＲＡＭ１１６の動画データバッファに蓄積した動画データの合計サイズα（メガバイト（ＭＢ））が、ライトサイズβ（ＭＢ）に達したか否かを判定する。ここで、ライトサイズβは、前述した動画データの間欠的な（繰り返しの）記録における、１回の書き込み処理においてフラッシュメモリカード１１５に書き込まれるデータサイズである。動画データバッファに蓄積した動画データの合計サイズαがライトサイズβに達した場合、処理はＳ３０３に進み、そうでない場合、処理はＳ３０８に進む。
【００３６】
Ｓ３０３で、メインマイコン１１８は、メモリカードコントローラ１１３を制御してフラッシュメモリカード１１５に対してライトコマンドを発行する。そして、メインマイコン１１８は、ＤＲＡＭ１１６の動画データバッファに蓄積した、ライトサイズβ分の動画データを、フラッシュメモリカード１１５に書き込む。
【００３７】
Ｓ３０４で、メインマイコン１１８は、記録開始から現在までに動画ファイルに対して書き込み済みの動画データの合計サイズγ（ＭＢ）が、ファイルブレイクサイズδ（ギガバイト（ＧＢ））に達したか否かを判定する。書き込み済みの動画データの合計サイズγがファイルブレイクサイズδに達した場合、処理はＳ３０５に進み、そうでない場合、処理はＳ３０６に進む。
【００３８】
ここで、ファイルブレイクサイズδとは、動画データの記録中に現在記録中の動画ファイルへの記録を停止して動画ファイルをクローズし、新たに動画ファイルを生成する、ファイルブレイク処理を行うか否かを判別するための閾値である。本実施形態では、ファイルブレイクサイズδを、所定のファイルシステムに規定されたファイルサイズの上限に基づいて決める。例えば、ＦＡＴ３２ファイルシステムにおいては、ファイルサイズの上限が４ＧＢである。そのため、本実施形態では、ファイルブレイクサイズδを、４ＧＢよりも所定量少ない値に設定する。
【００３９】
Ｓ３０５で、メインマイコン１１８は、ファイルブレイク処理を行う。即ち、メインマイコン１１８は、メモリカードコントローラ１１３を制御してフラッシュメモリカード１１５に対してライトコマンドを発行する。そして、メインマイコン１１８は、現在記録中の動画ファイルをクローズするため、ＤＲＡＭ１１６の動画データバッファに蓄積した動画データや管理情報を、フラッシュメモリカード１１５に書き込む。また、メインマイコン１１８は、新たに動画ファイルをオープンするために、ＤＲＡＭ１１６の動画データバッファに蓄積した動画データや管理情報を、フラッシュメモリカード１１５に書き込む。
【００４０】
Ｓ３０６で、メインマイコン１１８は、次の書き込み処理により書き込み済みのサイズγがファイルブレイクサイズδに達するか否かを判定するために、書き込み済みのサイズγとライトサイズβとの合計がファイルブレイクサイズδに達したか否かを判定する。書き込み済みのサイズγとライトサイズβとの合計がファイルブレイクサイズδに達した場合、処理はＳ３０７に進み、そうでない場合、処理はＳ３０８に進む。
【００４１】
なお、Ｓ３０６においては、ライトサイズβの代わりに、βよりも大きい所定のデータサイズを用いてもよい。一般化すると、メインマイコン１１８は、記録済み（書き込み済み）のデータ量（γ）と、繰り返しの記録における１回の記録に対応するデータ量以上（β以上）である第１のデータ量との合計が、閾値以上（δ以上）である場合に、処理をＳ３０７へ進める。
【００４２】
Ｓ３０７で、メインマイコン１１８は、メモリカードコントローラ１１３を制御して、フラッシュメモリカード１１５のチューニング処理を行う。このように、本実施形態では、メインマイコン１１８は、次回の動画データの書き込み後にファイルブレイク処理が行われると予測される場合に、ファイルブレイク処理に先立ってチューニング処理を行う。
【００４３】
Ｓ３０８で、メインマイコン１１８は、動画記録を停止するか否かを判定する。例えば、フラッシュメモリカード１１５の容量がフルになった場合や、操作キー１１７を介した記録停止指示が行われた場合に、動画記録を停止すると判定される。動画記録を停止しない場合、処理はＳ３０１に戻り、メインマイコン１１８は、動画記録を継続する。動画記録を停止する場合、処理はＳ３０９に進む。
【００４４】
Ｓ３０９で、メインマイコン１１８は、現在記録中の動画ファイルをクローズするため、ＤＲＡＭ１１６の動画データバッファに蓄積した動画データや管理情報を、フラッシュメモリカード１１５に書き込む。そして、動画ファイルをクローズして動画の記録を停止する。
【００４５】
図４は、図３のフローチャートにおける一連の動作を、動画記録時の動画データバッファの蓄積状態の推移と、書き込み処理及びチューニング処理の時間とを用いて時系列で示す図である。図４において、縦軸は動画データバッファに蓄積された動画データ量であり、横軸は時刻ｔである。なお、動画データバッファは、ＤＲＡＭ１１６に割り当てられている。
【００４６】
符号４０１は、動画データバッファに蓄積された動画データをＳ３０３にてフラッシュメモリカード１１５に書き込む期間を示す。符号４０２は、Ｓ３０７にてフラッシュメモリカード１１５のチューニング処理を行う期間を示す。符号４０３は、Ｓ３０５にてファイルブレイク処理に伴って動画データや管理情報をフラッシュメモリカード１１５に書き込む期間を示す。
【００４７】
メインマイコン１１８は、動画データの書き込みタイミング４０４では、書き込み済みの動画データの合計サイズγとライトサイズβとの合計が、ファイルブレイクサイズδに達していないと判断する。
【００４８】
メインマイコン１１８は、動画データの書き込みタイミング４０５で、書き込み済みの動画データの合計サイズγとライトサイズβとの合計が、ファイルブレイクサイズδに達したと判断し、期間４０２においてチューニング処理を行う。このように、本実施形態では、メインマイコン１１８は、次回の動画データの書き込み後にファイルブレイク処理が行われると予測される場合に、ファイルブレイク処理に先立ってチューニング処理を行う。このチューニング処理は、動画データがフラッシュメモリカード１１５に書き込まれず、ＤＲＡＭ１１６の動画データバッファに蓄積されている間に実行される。
【００４９】
メインマイコン１１８は、チューニング処理後、動画データの書き込みタイミング４０６で、フラッシュメモリカード１１５に書き込み済みの動画データの合計サイズγが、ファイルブレイクサイズδに達したと判断する。そして、メインマイコン１１８は、ファイルブレイク処理のためのデータの書き込み処理を行う。メインマイコン１１８は、ファイルブレイク処理の後は、動画データバッファに蓄積されている動画データのサイズがライトサイズβよりも少なくなるまで、フラッシュメモリカード１１５に対して連続的にライトコマンドを発行する。このとき、１回のライトコマンドによりライトサイズβ分の動画データが書き込まれると、フラッシュメモリカード１１５からレスポンスが送られる。メインマイコン１１８は、フラッシュメモリカード１１５からレスポンスを受信すると、次のライトコマンドを発行する。
【００５０】
以上説明したように、第１の実施形態によれば、デジタルカメラ１００は、次回の動画データの書き込み後にファイルブレイク処理を行われると予測される場合に、ファイルブレイク処理に先立ってチューニング処理を行う。これにより、データ記録の途中で行われる記録先のファイルを切り替える処理の間に書き込みエラー等が発生する可能性を低減することが可能となる。
【００５１】
［第２の実施形態］
第１の実施形態では、１つのファイルのデータサイズ（ビット数又はバイト数）に上限が設けられていることが原因で記録先のファイルを切り替える処理が行われる場合について説明した。しかしながら、記録先のファイルを切り替える処理が行われる原因は、データサイズ（ビット数又はバイト数）の上限に限定されない。例えば、動画ファイルのフォーマットによっては、記録開始からの１つのクリップに記録可能なフレーム数に上限が設けられている場合がある。このような場合、動画の記録中に、１つのクリップの記録開始からの合計のフレーム数が、動画ファイルのフォーマットにて規定されたフレーム数の上限に達した場合、クリップを分割する処理（クリップブレイク処理）が行われる。クリップブレイク処理では、ファイルブレイク処理と同様、現在のファイルをクローズし、新たな動画ファイルを作成して動画の記録を続ける処理が行われる。第２の実施形態では、クリップブレイク処理の場合を例に、記録先のファイルを切り替える処理の間に書き込みエラー等が発生する可能性を低減する構成について説明する。
【００５２】
また、第１の実施形態では、次回の動画データの書き込み後にファイルブレイク処理が行われると予測される場合に、ファイルブレイク処理に先立ってチューニング処理を行う構成について説明した。しかしながら、チューニング処理に要する時間が長い場合、チューニング処理中に動画データバッファに蓄積されるデータ量が多くなる。従って、ファイルブレイク処理（又はクリップブレイク処理）の直前にチューニング処理を実行した場合、動画データバッファの空き容量が少ないタイミングでファイルブレイク処理が開始してしまい、バッファオーバーフローの可能性が上昇する。そこで、第２の実施形態では、チューニング処理時間に応じてチューニング実行タイミングを変動させる構成について説明する。
【００５３】
本実施形態において、デジタルカメラ１００及びメモリカードコントローラ１１３の基本的な構成は、第１の実施形態と同様である（図１及び図２参照）。以下、第１の実施形態と異なる点について主に説明する。
【００５４】
図５は、デジタルカメラ１００が実行する初期処理のフローチャートである。本フローチャートの各ステップの処理は、特に断らない限り、メインマイコン１１８がＲＯＭ１１９に記憶された動作プログラムを実行してデジタルカメラ１００の各部を制御することにより実行される。ユーザがフラッシュメモリカード１１５をデジタルカメラ１００に装着し、カードスロット／検出ＳＷ１１４がフラッシュメモリカード１１５の装着を検出すると、本フローチャートの処理が開始する。図５の処理は、ユーザがフラッシュメモリカード１１５をデジタルカメラ１００に装着した後、ユーザの指示によりフラッシュメモリカード１１５に対する動画データの記録、或いは、再生が開始される前に実行される。
【００５５】
最初に、Ｓ５０１で、メインマイコン１１８は、メモリカードコントローラ１１３を介して、フラッシュメモリカード１１５のイニシャルシーケンスを実行する。次に、Ｓ５０２で、メインマイコン１１８は、メモリカードコントローラ１１３を制御して、フラッシュメモリカード１１５のチューニング処理を行う。その際に、メインマイコン１１８は、チューニング処理に要した時間（チューニング処理時間）を計測する。Ｓ５０３で、メインマイコン１１８は、Ｓ５０２の計測により取得されたチューニング処理時間をＤＲＡＭ１１６に記憶する。
【００５６】
図６は、デジタルカメラ１００が画像データの記録中にチューニングの実行を制御する処理のフローチャートである。本フローチャートの各ステップの処理は、特に断らない限り、メインマイコン１１８がＲＯＭ１１９に記憶された動作プログラムを実行してデジタルカメラ１００の各部を制御することにより実行される。図６において、図３と同一又は同様の処理が行われるステップには同一の符号を付し、その説明を省略する。なお、図６では、メインマイコン１１８はクリップブレイク処理を行うが、クリップブレイク処理に加えて、第１の実施形態で説明したファイルブレイク処理も行ってもよい。
【００５７】
ユーザが操作キー１１７を操作して記録開始を指示すると、図６のフローチャートの処理が開始する。最初に、Ｓ６００で、メインマイコン１１８は、ＤＲＡＭ１１６に記憶されているチューニング処理時間と、設定された記録フレームレートとに基づき、チューニング処理時間あたりのフレーム数α１を算出する。
【００５８】
Ｓ６０４で、メインマイコン１１８は、記録開始から現在までに動画ファイルに対して書き込み済みの動画データの総フレーム数γ１が、クリップブレイクフレーム数δ１に達したか否かを判定する。クリップブレイクフレーム数δ１は、本実施形態における動画ファイルのフォーマットにおいて規定された上限のフレーム数、或いはそれよりも所定フレーム数少ない値とする。本実施形態では、クリップあたりの上限のフレーム数を６時間分とする。そのため、上限のフレーム数は、６（時間）×６０（分）×６０（秒）×ｎ（フレーム毎秒）となる。ｎは、記録される動画データのフレームレートである。書き込み済みの動画データの総フレーム数γ１がクリップブレイクフレーム数δ１に達した場合、処理はＳ６０５に進み、そうでない場合、処理はＳ６０６に進む。
【００５９】
Ｓ６０５で、メインマイコン１１８は、クリップブレイク処理を行う。即ち、メインマイコン１１８は、メモリカードコントローラ１１３を制御してフラッシュメモリカード１１５に対してライトコマンドを発行する。そして、メインマイコン１１８は、現在記録中の動画ファイルをクローズするため、ＤＲＡＭ１１６の動画データバッファに蓄積した動画データや管理情報を、フラッシュメモリカード１１５に書き込む。また、メインマイコン１１８は、新たに動画ファイルをオープンするために、ＤＲＡＭ１１６の動画データバッファに蓄積した動画データや管理情報を、フラッシュメモリカード１１５に書き込む。
【００６０】
Ｓ６０６で、メインマイコン１１８は、書き込み済みの動画データの総フレーム数γ１、チューニング処理時間あたりのフレーム数α１、及びライトサイズあたりのフレーム数β１の合計が、クリップブレイクフレーム数δ１に達したか否かを判定する。γ１、α１、及びβ１の合計がδ１に達していた場合、処理はＳ３０７に進み、そうでない場合、処理はＳ３０８に進む。
【００６１】
なお、Ｓ６０６の判定は、γ１に対してα１及びβ１の合計を加算して得られる値をδ１と比較することを意味するが、γ１に対してα１及びβ１の合計以上の値を加算してもよい。γ１に対して加算される値が大きいほど、クリップブレイク処理の実行タイミングまでにより確実に動画データバッファの空き容量を増やすことができる。
【００６２】
このように、第２の実施形態においては、メインマイコン１１８は、チューニング処理時間に応じてチューニング実行タイミングを変動させる。
【００６３】
図７は、図６のフローチャートにおける一連の動作を、動画記録時の動画データバッファの蓄積状態の推移と、書き込み処理及びチューニング処理の時間とを用いて時系列で示す図である。図７において、縦軸は動画データバッファに蓄積された動画データ量であり、横軸は時刻ｔである。なお、動画データバッファは、ＤＲＡＭ１１６に割り当てられている。
【００６４】
符号７０１は、動画データバッファに蓄積された動画データをＳ３０３にてフラッシュメモリカード１１５に書き込む期間を示す。符号７０２は、Ｓ３０７にてフラッシュメモリカード１１５のチューニング処理を行う期間を示す。符号７０３は、Ｓ６０５にてクリップブレイク処理に伴って動画データや管理情報をフラッシュメモリカード１１５に書き込む期間を示す。
【００６５】
メインマイコン１１８は、動画データの書き込みタイミング７１１では、書き込み済みの動画データの総フレーム数γ１とチューニング処理時間あたりのフレーム数α１とライトサイズβあたりのフレーム数β１との合計が、クリップブレイクフレーム数δ１に達していないと判断する。
【００６６】
メインマイコン１１８は、動画データの書き込みタイミング７１２で、書き込み済みの動画データの総フレーム数γ１とチューニング処理時間あたりのフレーム数α１とライトサイズβあたりのフレーム数β１との合計が、クリップブレイクフレーム数δ１に達したと判断し、期間７０２においてチューニング処理を行う。このように、第２の実施形態においては、メインマイコン１１８は、チューニング処理時間に応じてチューニング実行タイミングを変動させる。
【００６７】
メインマイコン１１８は、動画データの書き込みタイミング７１３で、フラッシュメモリカード１１５に書き込み済みの動画データの総フレーム数γ１が、クリップブレイクフレーム数δ１に達したと判断する。そして、メインマイコン１１８は、期間７０３において、クリップブレイク処理のためのデータの書き込み処理を行う。
【００６８】
図７においては、チューニング処理時間に対応する期間７０２は、動画データの１回の書き込み（ライトサイズβの書き込み）に対応する期間よりも長い。そのため、総フレーム数γ１がクリップブレイクフレーム数δ１に達する書き込みタイミング７１３よりも４回前の書き込みが行われたタイミングでチューニング処理が行われる。
【００６９】
以上説明したように、第１の実施形態によれば、デジタルカメラ１００は、チューニング処理時間に応じてチューニング実行タイミングを変動させる。これにより、動画データバッファの空き容量が少ないタイミングでクリップブレイク処理（又はファイルブレイク処理）が開始する可能性を低減することができる。
【００７０】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７１】
１００…デジタルカメラ、１０９…ＭＰＥＧ符号化部、１１３…メモリカードコントローラ、１１５…フラッシュメモリカード、１１６…ＤＲＡＭ、１１７…操作キー、１１８…メインマイコン、１１９…ＲＯＭ
【図１】
2018164171.tif 000003
【図２】
2018164171.tif 000004
【図３】
2018164171.tif 000005
【図４】
2018164171.tif 000006
【図５】
2018164171.tif 000007
【図６】
2018164171.tif 000008
【図７】
2018164171.tif 000009