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