JP4657130B2 - コンテンツ記録装置 - Google Patents

コンテンツ記録装置 Download PDF

Info

Publication number
JP4657130B2
JP4657130B2 JP2006084396A JP2006084396A JP4657130B2 JP 4657130 B2 JP4657130 B2 JP 4657130B2 JP 2006084396 A JP2006084396 A JP 2006084396A JP 2006084396 A JP2006084396 A JP 2006084396A JP 4657130 B2 JP4657130 B2 JP 4657130B2
Authority
JP
Japan
Prior art keywords
recording
content
capturing
empty
unit
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.)
Expired - Fee Related
Application number
JP2006084396A
Other languages
English (en)
Other versions
JP2007259364A (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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co Ltd
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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2006084396A priority Critical patent/JP4657130B2/ja
Publication of JP2007259364A publication Critical patent/JP2007259364A/ja
Application granted granted Critical
Publication of JP4657130B2 publication Critical patent/JP4657130B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Television Signal Processing For Recording (AREA)

Description

この発明は、コンテンツ記録装置に関し、特にたとえば互いに性質の異なる複数のコンテンツを記録媒体に記録する、コンテンツ記録装置に関する。
従来のこの種の装置の一例が、特許文献1に開示されている。この従来技術によれば、ハードディスクは、ZCAV(Zone Constant Angular Velocity)方式を採用する。データをいずれのゾーンに記録するかは、データの属性に基づいて決定される。このため、たとえば動画像データはゾーン1に記録され、静止画像データはゾーン2に記録され、そして音声データはゾーン3に記録される。これによって、ハードディスク上でのフラグメントの増大が回避される。
特開2005−86737号公報[H04N 5/91, G11B 20/10, 20/12, H04N 5/225]
しかし、従来技術では、データの記録先がゾーン単位で振り分けられるため、ハードディスクの容量の利用効率が低下するという問題がある。
それゆえに、この発明の主たる目的は、記録媒体内でのフラグメントの増大と記録媒体の利用効率の低下とを回避することができる、コンテンツ記録装置を提供することである。
請求項1の発明に従うコンテンツ記録装置(10)は、N個(N:2以上の整数)のコンテンツを並列的に取り込む取り込み手段(S71, S77)、記録媒体(38)に分散的に形成され得る空き領域がN個以上であるか否かを取り込み手段の取り込み処理に関連して判別する判別手段(S153)、判別手段の判別結果が否定的であるとき記録媒体に形成されたN個未満の空き領域をN個以上の空き領域に分割する分割手段(S155, S163, S167)、および取り込み手段によって取り込まれたN個のコンテンツを記録媒体に形成されたN個の空き領域にそれぞれ記録する記録手段(S91, S127)を備える。
N個(N:2以上の整数)のコンテンツは、取り込み手段によって並列的に取り込まれる。判別手段は、記録媒体に分散的に形成され得る空き領域がN個以上であるか否かを、取り込み手段の取り込み処理に関連して判別する。判別手段の判別結果が否定的であれば、記録媒体に形成されたN個未満の空き領域が、分割手段によってN個以上の空き領域に分割される。記録手段は、取り込み手段によって取り込まれたN個のコンテンツを記録媒体に形成されたN個の空き領域にそれぞれ記録する。
したがって、記録媒体に形成された空き領域がN個以上であれば、N個のコンテンツはN個の空き領域にそれぞれ記録される。一方、記録媒体に形成された空き領域がN個未満であれば、領域分割処理によってN個以上の空き領域が記録媒体に形成される。N個のコンテンツは、領域分割処理によって得られたN個の空き領域にそれぞれ記録される。
N個のコンテンツはN個の空き領域にそれぞれ記録されるため、記録媒体内でのフラグメントの増大が回避される。また、領域分割処理はN個のコンテンツを並列的に取り込むときに必要に応じて実行されるため、記録媒体の利用効率の低下が回避される。
請求項2の発明に従うコンテンツ記録装置は、請求項1に従属し、取り込み手段によって取り込まれるN個のコンテンツの1つをN個の空き領域の1つに記録する第1記録手段(S91)、および取り込み手段によって取り込まれるN個のコンテンツの他の1つをN個の空き領域の他の1つに記録する第2記録手段(S127)を含み、判別手段は第1記録手段による記録処理の実行中に第2記録指示を受け付けたとき判別処理を実行する。これによって、領域分割処理は必要なタイミングで実行される。
請求項3の発明に従うコンテンツ記録装置は、請求項2に従属し、分割手段は第1記録手段によって記録される空き領域を分割する。
請求項4の発明に従うコンテンツ記録装置は、請求項1ないし3のいずれかに従属し、記録媒体は各々が単位サイズを有する複数の単位領域によって形成され、1つの空き領域は連続して空き状態にある1または2以上の単位領域によって形成される。
請求項5の発明に従うコンテンツ記録装置は、請求項4に従属し、分割手段は、N個未満の空き領域の中から2以上の単位領域によって形成される1つの空き領域を特定する特定手段(S155)、および特定手段によって特定された空き領域を分割する分割実行手段(S163, S167)を含む。これによって、領域分割処理が的確に実行される。
請求項6の発明に従うコンテンツ記録装置は、請求項1ないし5のいずれかに従属し、取り込み手段によって取り込まれるN個のコンテンツは動画像コンテンツおよび静止画像コンテンツを含む。
請求項7の発明に従うコンテンツ記録装置は、請求項1ないし6のいずれかに従属し、取り込み手段によって取り込まれるN個のコンテンツの少なくとも1つは取り込み手段による取り込みが開始された時点でサイズが不定のコンテンツである。
請求項8の発明に従うビデオカメラは、請求項1ないし7のいずれかに記載のコンテンツ記録装置を備える。
請求項9の発明に従う記録制御プログラムは、コンテンツ記録装置(10)のプロセサ(40)に、N個(N:2以上の整数)のコンテンツを並列的に取り込む取り込みステップ(S71, S77)、記録媒体(38)に分散的に形成され得る空き領域がN個以上であるか否かを取り込みステップの取り込み処理に関連して判別する判別ステップ(S153)、判別ステップの判別結果が否定的であるとき記録媒体に形成されたN個未満の空き領域をN個以上の空き領域に分割する分割ステップ(S155, S163, S167)、および取り込みステップによって取り込まれたN個のコンテンツを記録媒体に形成されたN個の空き領域にそれぞれ記録する記録ステップ(S91, S127)を実行させるための記録制御プログラムである。
請求項10の発明に従う記録制御方法は、コンテンツ記録装置(10)によって実行される記録制御方法であって、N個(N:2以上の整数)のコンテンツを並列的に取り込む取り込みステップ(S71, S77)、記録媒体(38)に分散的に形成され得る空き領域がN個以上であるか否かを取り込みステップの取り込み処理に関連して判別する判別ステップ(S153)、判別ステップの判別結果が否定的であるとき記録媒体に形成されたN個未満の空き領域をN個以上の空き領域に分割する分割ステップ(S155, S163, S167)、および取り込みステップによって取り込まれたN個のコンテンツを記録媒体に形成されたN個の空き領域にそれぞれ記録する記録ステップ(S91, S127)を備える。
この発明によれば、N個のコンテンツはN個の空き領域にそれぞれ記録されるため、記録媒体内でのフラグメントの増大が回避される。また、領域分割処理はN個のコンテンツを並列的に取り込むときに必要に応じて実行されるため、記録媒体の利用効率の低下が回避される。
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
図1を参照して、この実施例のディジタルビデオカメラ10は、フォーカスレンズ12を含む。被写界の光学像は、フォーカスレンズ12を通してイメージセンサ14の撮像面に照射される。撮像面では、光電変換によって被写界の光学像に対応する電荷つまり生画像信号が生成される。
キー入力装置42によってカメラモードが選択されると、スルー画像処理つまり被写界のリアルタイム動画像をLCDモニタ26に表示する処理が実行される。CPU40はまず、露光および間引き読み出しの繰り返しをドライバ18に命令する。ドライバ18は、イメージセンサ14の露光とこれによって生成された生画像信号の間引き読み出しとを繰り返し実行する。露光および間引き読み出しは、1/30秒毎に発生する垂直同期信号に応答して実行される。これによって、被写界の光学像に対応する低解像度の生画像信号が、30fpsのフレームレートでイメージセンサ14から出力される。
出力された各フレームの生画像信号は、CDS/AGC/AD回路20によってノイズ除去,レベル調整およびA/D変換の一連の処理を施され、これによってディジタル信号である生画像データが得られる。信号処理回路22は、CDS/AGC/AD回路20から出力された生画像データに白バランス調整,色分離,YUV変換などの処理を施し、YUV形式の画像データを生成する。生成された各フレームの画像データはメモリ制御回路24によってSDRAM26に書き込まれ、その後同じメモリ制御回路24によって読み出される。
ビデオエンコーダ28は、メモリ制御回路24によって読み出された画像データをNTSCフォーマットに従うコンポジットビデオ信号に変換し、変換されたコンポジットビデオ信号をLCDモニタ30に与える。この結果、被写界のスルー画像がモニタ画面に表示される。なお、以下では説明を適宜省略するが、SDRAM26へのアクセスは必ずメモリ制御回路24を通して行われる。
キー入力装置42によって動画記録開始操作が実行されると、CPU40は、動画記録処理を実行するべく、MPEG4コーデック34およびカードドライバ36を起動する。
MPEG4コーデック34は、SDRAM26に格納された画像データを1/30秒毎に読み出し、読み出された各フレームの画像データにMPEG4フォーマットに従う圧縮処理を施し、そして圧縮画像データつまりMPEGデータをSDRAM26に書き込む。
カードドライバ36は、動画ファイルをメモリカード38に新規に作成しかつオープンし、SDRAM26に蓄積されたMPEGデータをオープン状態の動画ファイルに所定量ずつ書き込んでいく。
キー入力装置42によって動画記録終了操作が行われると、動画記録終了処理が実行される。オープン状態にある動画ファイルはクローズされ、これによって動画ファイルが完成する。
キー入力装置42によって静止画記録操作が実行されると、CPU40はまず、ドライバ16を制御してフォーカスレンズ12を合焦点に設定し、ドライバ18に最適露光時間を設定する。撮影条件の調整が完了すると、静止画読み出し処理および静止画記録処理が実行される。
静止画読み出し処理では、CPU40は、1回の本露光と1回の全画素読み出しとをドライバ18に命令する。ドライバ18は、イメージセンサ14の本露光とこれによって生成された生画像信号の全画素読み出しとを1回ずつ実行する。これによって、被写界の光学像に対応する高解像度の生画像信号がイメージセンサ14から出力される。出力された生画像信号は上述と同様の処理によってYUV形式の静止画像データに変換され、変換された静止画像データはSDRAM26に書き込まれる。
静止画記録処理では、CPU40は、JPEGコーデック32およびカードドライバ36を起動する。JPEGコーデック32は、SDRAM26から静止画像データを読み出し、読み出された静止画像データにJPEG圧縮を施し、そして圧縮静止画像データつまりJPEGデータをSDRAM26に書き込む。カードドライバ36は、静止画ファイルをメモリカード38に新規に作成しかつオープンし、SDRAM26に格納されたJPEGデータをオープン状態の静止画ファイルに書き込む。オープン状態の静止画ファイルは、JPEGデータの書き込みが完了した後にクローズされる。
キー入力装置42によって再生モードが選択され、かつメモリカード38から所望の動画ファイルが選択されると、CPU40は、動画再生処理を実行するべく、カードドライバ36,MPEG4コーデック34およびビデオエンコーダ28を起動する。
カードドライバ36は、所望の動画ファイルに格納されたMPEGデータを所定量ずつSDRAM26に転送する。MPEG4コーデック34は、SDRAM26に格納されたMPEGデータを1/30秒に1フレームの割合で読み出し、読み出されたMPEGデータにMPEG4方式に従う伸長処理を施し、そして伸長画像データをSDRAM26に書き込む。
ビデオエンコーダ28は、SDRAM26に格納された画像データを1/30秒に1フレームの割合で読み出し、読み出された画像データをNTSCフォーマットに従うコンポジットビデオ信号に変換し、変換されたコンポジットビデオ信号をLCDモニタ30に与える。この結果、被写界の再生動画像がモニタ画面に表示される。
再生モードが選択された状態でメモリカード38から所望の静止画ファイルが選択されると、CPU40は、静止画再生処理を実行するべく、カードドライバ36,JPEGコーデック32およびビデオエンコーダ28を起動する。
カードドライバ36は、所望の静止画ファイルに格納されたJPEGデータを転送する。JPEGコーデック32は、SDRAM26に格納されたJPEGデータを読み出し、読み出されたJPEGデータをJPEG方式で伸長し、そして伸長画像データをSDRAM26に書き込む。
ビデオエンコーダ28は、SDRAM26に格納された画像データを1/30秒に1フレームの割合で読み出し、読み出された画像データをNTSCフォーマットに従うコンポジットビデオ信号に変換し、変換されたコンポジットビデオ信号をLCDモニタ30に与える。この結果、被写界の再生静止画像がモニタ画面に表示される。
所望の動画ファイルまたは静止画ファイルが選択された状態でキー入力装置42によってファイル削除操作が行われると、CPU40は、選択されたファイルの削除をカードドライバ36に要求する。選択されたファイルは、メモリカード38から削除される。
図2を参照して、メモリカード38は、MS−DOSフォーマットを採用し、リザーブ領域38aおよびデータ領域38bを有する。リザーブ領域38aは、MBR(Master Boot Area),PBR(Partition Boot Area),FAT(File Allocation Table)1,FAT1の複製であるFAT2およびルートディレクトリを有する。データ領域38bは複数のクラスタによって形成され、各々のクラスタは32個のセクタによって形成される。また、“2”から始まる識別番号(クラスタ番号)が、各々のクラスタに割り当てられる。ここで、各々のセクタのサイズは512バイトであり、各々のクラスタのサイズは16384バイトである。
データ領域38bには、たとえば図3に示すように記録済み領域および空き領域が形成される。図3によれば、1番目の空き領域は6番目のクラスタから始まる85個のクラスタによって形成され、2番目の空き領域は121番目のクラスタから始まる32個のクラスタによって形成され、そして3番目の空き領域は178番目のクラスタから始まる48個のクラスタによって形成される。
データ領域38bに形成された空き領域は、図4に示すフリーリスト(空き領域リスト)40tによって管理される。図4によれば、3つの空き領域にそれぞれ対応して、カラムL(0)〜L(2)が作成される。カラムL(0)〜L(2)のいずれも、“head”,“size”および“next”の項目を有する。“head”には、注目する空き領域を形成する先頭クラスタの識別番号が記述される。“size”には、注目する空き領域を形成するクラスタの数が記述される。“next”には、次の空き領域に対応するカラム番号が記述される。
動画記録開始操作が行われると、フリーリスト40tを参照して空き領域が検出される。MPEGデータは、検出された空き領域に記録される。記録先の空き領域を管理するカラムの“head”および“size”は、記録とともに更新される。
静止画記録操作が行われたときも、上述と同様、フリーリスト40tを参照して空き領域が検出される。JPEGデータは、検出された空き領域に記録される。記録先の空き領域を管理するカラムの“head”および“size”は、記録とともに更新される。
動画記録処理の途中で静止画記録操作が行われた場合、JPEGデータの記録のために検出される空き領域は、MPEGデータの記録先の空き領域と異なる。MPEGデータの記録先がカラムL(0)によって管理される空き領域であれば、JPEGデータはカラムL(1)によって管理される空き領域に記録される。これによって、互いに性質の異なるコンテンツの記録処理が並行することに起因するフラグメントの増大が抑制される。
データ領域38bに1つの空き領域しか存在せず、この唯一の空き領域への動画記録処理が実行されている途中で静止画記録操作が行われた場合は、JPEGデータの記録に先立って領域分割処理が実行される。つまり、図5(A)に示すように1番目および2番目の空き領域が満杯となり、3番目の空き領域にMPEGデータが記録されているときに静止画記録操作が行われると、3番目の空き領域が図5(B)に示す要領で2分割される。
静止画記録操作が行われた時点のフリーリスト40tのカラムL(2)の記述が図6(A)に示す状態である場合、図6(B)に示す要領でカラムL(2)の記述が更新されかつカラムL(3)が新規に作成される。図6(A)および図6(B)によれば、カラムL(2)の“size”が“44”から“22”に更新され、カラムL(2)の“next”に“3”が書き込まれる。さらに、カラムL(3)の“head”および“size”に“204”および“22”が書き込まれる。このように、領域分割処理は必要に応じて実行される。この結果、データ領域38tの利用効率の低下が回避される。
再生モードにおいて削除処理が実行されると、データ領域38tに空き領域が形成され、これに応じてフリーリスト40tが更新される。図7(A)(図3と同じ)に示すように空き領域が形成されている状態で153番目〜172番目のクラスタのデータが削除されると、図7(B)に示すように2番目の空き領域のサイズが拡大される。フリーリスト40tのカラムL(1)の記述は、図8(A)から図8(B)に更新される。
また、図8(A)(図3と同じ)に示すように空き領域が形成されている状態で173番目〜177番目のクラスタのデータが削除されると、図8(B)に示すように2番目の空き領域と3番目の空き領域との間に新規の空き領域が作成される。これに応じて、図10(A)〜図10(B)から分かるように、カラムL(2)の“next”に“3”が書き込まれ、カラムL(3)が新規に作成される。
CPU40は、図12〜図15に示すメインタスク,図16に示す撮像制御タスク,図17〜図18に示す動画記録制御タスク,図19〜図21に示す静止画記録制御タスク,および図22〜図23に示す再生タスクを含む複数のタスクを並列的に実行する。なお、これらのタスクに対応する制御プログラムは、フラッシュメモリ44に記憶される。
まず図7を参照して、ステップS1では初期化処理を実行する。フラグFerrは、初期化処理に成功したとき“0”に設定され、初期化処理に失敗したとき“1”に設定される。ステップS3では、このようなフラグFerrの状態を判別する。フラグFerrが“0”であればステップS5以降の処理に進む一方、フラグFerrが“1”であればエラー処理に進む。
ステップS5ではフリーリスト作成処理を実行し、ステップS7では現在のモードがカメラモードおよび再生モードのいずれであるかを判別する。カメラモードであれば、ステップS9で撮像制御タスク,動画記録制御タスクおよび静止画記録制御タスクを起動する。再生モードであれば、ステップS11で再生タスクを起動する。ステップS9またはS11の処理が完了すると、モード切換操作が行われたか否かをステップS13で判別する。ここでYESであれば、ステップS9またはS11で起動されたタスクをステップS15で停止し、ステップS7に戻る。
ステップS1の初期化処理は、図13に示すサブルーチンに従って実行される。まずステップS21でカードドライバ36の初期化を試みる。ステップS23では、カードドライバ36から返送された通知が“OK”および“NG”のいずれであるかを判別する。通知が“NG”であれば、カードドライバ36の初期化に失敗したとみなして、ステップS31でフラグFerrを“1”に設定する。通知が“OK”であれば、カードドライバ36の初期化に成功したとみなし、ステップS25以降の処理を実行する。
ステップS25ではメモリカード38のリザーブ領域38a(図2参照)に形成されたMBRおよびPBRの正当性をチェックし、ステップS27ではチェック結果が“正当”であるか否かを判別する。YESであればステップS29でフラグFerrを“0”に設定する一方、NOであればステップS31でフラグFerrを“1”に設定する。ステップS29またはS31の処理が完了すると、上階層のルーチンに復帰する。
図12に示すステップS5のフリーリスト作成処理は、図14〜図15に示すサブルーチンに従って実行される。まずステップS41で、PBRを参照してデータエリア38bに形成されたクラスタの総数を検出する。ステップS43では変数kを“1”に設定し、ステップS45ではカラムL(k)をフリーリスト40tに作成する。作成されたカラムL(k)の“head”,“size”および“next”はいずれも“0”を示す。
ステップS47では、先頭カラムを指向するポインタLtopおよび末尾カラムを指向するポインタLlastの各々にカラムL(k)を設定する。ステップS49ではクラスタ番号を識別する変数nを“2”に設定し、ステップS51ではn番目のクラスタが末尾クラスタであるか否かをステップS41で検出された総数に基づいて判別する。ここでYESであれば上階層のルーチンに復帰する一方、NOであればステップS53に進む。
ステップS53では、n番目のクラスタが空き状態であるか否かを判別する。ステップS55では、ポインタLlastによって指向されるカラムの“head”が“0”を示すか否かを判別する。ステップS59では、ポインタLlastによって指向されるカラムの“head”および“size”によってそれぞれ示される2つの数値の総和が変数nに等しいか否かを判別する。
ステップS53およびS55の各々でYESであれば、注目するクラスタは1番目の空き領域を形成する先頭クラスタであるとみなし、ステップS57に進む。ステップS57では、ポインタLlastによって指向されるカラムの“head”および“size”に“n”および“1”を書き込む。ステップS57の処理が完了すると、ステップS69で変数nをインクリメントしてステップS51に戻る。
ステップS53でYESであり、ステップS55でNOであり、そしてステップS59でYESであれば、注目するクラスタは空き領域を形成するクラスタのうち先頭クラスタおよび末尾クラスタと異なるクラスタであるとみなし、ステップS61に進む。ステップS61では、ポインタLlastによって指向されるカラムの“size”が示す数値をインクリメントする。ステップS61の処理が完了すると、ステップS69を経てステップS51に戻る。
ステップS53でYESでありかつステップS55およびS59の各々でNOであれば、注目するクラスタは2番目以降の空き領域を形成する先頭クラスタであるとみなし、ステップS63に進む。ステップS63では変数kをインクリメントし、ステップS65ではフリーリスト40tの末尾にカラムL(k)を新規作成する。作成されたカラムL(k)の“head”および“size”には、“n”および“1”がそれぞれ書き込まれる。また、ポインタLlastによって指向されるカラムの“next”には“k”が書き込まれる。ステップS67ではポインタLlastにカラムL(k)を設定し、その後にステップS69を経てステップS51に戻る。
なお、ステップS53でNOであれば、ステップS69で変数nをインクリメントしてからステップS51に戻る。
図16を参照して、ステップS71ではスルー画像処理を実行する。これによって、被写界のスルー画像がLCDモニタ30から出力される。ステップS73では静止画記録操作が行われたか否かを判別し、YESであればステップS75でフォーカスや露光量などの撮像条件を調整する。調整が完了すると、静止画読み出し処理を実行する。これによって、静止画記録操作が行われた時点の被写界像を表す静止画像データがSDRAM26に確保される。ステップS77の処理が完了すると、ステップS71に戻る。
図17を参照して、ステップS81では、フラグFmovを“0”に設定する。フラグFmovは動画記録処理が中断状態および実行状態のいずれであるかを識別するためのフラグであり、“0”が中断状態を示す一方、“1”が実行状態を示す。
ステップS83では、動画記録開始操作が行われたか否かを判別する。ここでYESであれば、ステップS85でフラグFmovを“1”に設定し、ステップS87でMPEG4コーデック34を起動し、そしてステップS89でカラム取得処理1を実行する。ステップS89の処理によって、空き領域を定義するカラムL(i)がフリーリスト40tから検出される。ステップS91では、SDRAM26に蓄積されたMPEGデータの一部を、データ領域38b(図2)を形成する複数のクラスタのうちカラムL(i)の“head”によって示されるクラスタに書き込む。
ステップS93では、動画記録終了操作が行われたか否かを判別する。YESであれば、ステップS95でMPEG4コーデック34を停止し、ステップS97で動画記録終了処理を行ってからステップS81に戻る。ステップS93でNOであれば、ステップS91の処理のために注目されるクラスタが満杯になったか否かをステップS99で判別する。注目するクラスタが満杯でなれればステップS91に戻り、注目するクラスタが満杯であればステップS101に進む。
ステップS101では、カラムL(i)の“head”に記述された数値をインクリメントする一方、カラムL(i)の“size”に記述された数値をディクリメントする。カラムL(i)の記述は、注目する空き領域の最新の状態(位置およびサイズ)を定義する。ステップS103では、カラムL(i)の“size”に記述された数値が“0”を示すか否かを判別し、NOであればステップS91に戻る一方、YESであればステップS89に戻る。
ステップS95のカラム取得処理1は、図18に示すサブルーチンに従って実行される。まずステップS111で変数iを“0”に設定し、ステップS113でカラムL(i)がフリーリスト40tに存在するか否かを判別する。ここでNOであればエラー処理に進み、YESであればカラムL(i)の“size”に記述された数値が“0”を上回るか否かをステップS115で判別する。数値が“0”であれば、ステップS117で変数iをインクリメントしてステップS113に戻る。数値が“1”以上であれば、上階層のルーチンに復帰する。こうして、空き領域を定義するカラムL(i)が検出される。
図19を参照して、ステップS121では、静止画記録操作が行われたか否かを判別する。ここでYESであれば、ステップS123でJPEGコーデック32を起動し、ステップS125でカラム取得処理2を実行する。ステップS125の処理によって、空き領域を定義する先頭のカラムL(j)がフリーリスト40tから検出される。ステップS127では、SDRAM26に蓄積されたJPEGデータの一部を、カラムL(j)の“head”によって示されるクラスタに書き込む。
ステップS129では、JPEGデータの書き込みが完了したか否かを判別し、YESであればステップS121に戻る。NOであれば、ステップS127の処理のために注目されるクラスタが満杯になったか否かをステップS131で判別する。注目するクラスタが満杯でなければステップS127に戻り、注目するクラスタが満杯であればステップS133に進む。
ステップS133では、カラムL(j)の“head”に記述された数値をインクリメントする一方、カラムL(j)の“size”に記述された数値をディクリメントする。カラムL(j)の記述は、注目する空き領域の最新の状態を定義する。ステップS135では、カラムL(j)の“size”に記述された数値が“0”を示すか否かを判別し、NOであればステップS127に戻る一方、YESであればステップS125に戻る。
ステップS125のカラム取得処理2は、図20に示すサブルーチンに従って実行される。まずステップS141でフラグFmovが“0”であるか否かを判別する。YESであれば動画記録処理は中断状態にあるとみなしてステップS143に進む一方、NOであれば動画記録処理が実行状態にあるとみなしてステップS151に進む。
ステップS143では変数jを“0”に設定し、ステップS145ではフリーリスト40t上にカラムL(j)が存在するか否かを判別する。カラムL(j)が存在しなければエラー処理に進む一方、カラムL(j)が存在すればカラムL(j)の“size”に記述された数値が“0”を上回るか否かをステップS147で判別する。数値が“0”であれば、ステップS117で変数jをインクリメントしてステップS145に戻る。数値が“1”以上であれば、上階層のルーチンに復帰する。こうして、空き領域を定義するカラムL(j)が検出される。
ステップS151では変数jを変数iと一致させ、ステップS153ではカラムL(j)がポインタLlastによって指向されるカラムと一致するか否かを判別する。ここでNOであれば、少なくとも2つの空き領域がデータ領域38tに存在するとみなし、ステップS157で変数jをインクリメントする。変数jがインクリメントされた結果、JPEGデータの記録先の空き領域は、MPEGデータの記録先の空き領域と相違する。
ステップS159ではカラムL(j)の“size”に記述された数値が“0”を上回るか否かを判別し、ステップS161ではカラムL(j)がポインタLlastによって指向されるカラムと一致するか否かを判別する。ステップS159でYESであれば上階層のルーチンに復帰し、ステップS161でYESであればエラー処理に進み、ステップS159およびS161のいずれにおいてもNOであればステップS157に戻る。こうして、空き領域を定義するカラムL(j)が検出される。
ステップS153でYESであれば、カラムL(j)の“size”に記述された数値が“2”以上であるか否かを判別する。ここでNOであればエラー処理に進む一方、YESであればフリーリスト40tの末尾にカラム(j+1)を新規に作成する。作成されたカラムL(j+1)の“head”には、カラムL(j)の“head”に記述された数値とカラムL(j)の“size”に記述された数値の1/2との総和が書き込まれる。カラムL(j+1)の“size”には、カラムL(j)の“size”に記述された数値からカラムL(j)の“size”に記述された数値の1/2を減算して求められた数値が書き込まれる。また、カラムL(j)の“next”には“j+1”が書き込まれる。
ステップS165では、ポインタLlastをカラムL(j+1)に設定する。ステップS167では、カラムL(j)の“size”に記述された数値をその1/2の数値に更新する。こうして、最後の空き領域が2分割され、JPEGデータおよびMPEGデータは互いに異なる空き領域に記録される。
ステップS167の処理が完了すると、ステップS169で変数jおよびkの各々をインクリメントしてから上階層のルーチンに復帰する。こうして、空き領域を定義するカラムL(j)が検出される。
なお、分割される空き領域を形成するクラスタ数が奇数である場合、分割された一方の空き領域を形成するクラスタ数は、分割された他方の空き領域を形成するクラスタ数よりも“1”大きい。
図22を参照して、ステップS171では所望のファイル(動画ファイルまたは静止画ファイル)を指定するファイル指定処理を実行し、ステップS173では指定されたファイルを再生するファイル再生処理を実行する。ステップS175ではファイル更新操作が実行されたか否かを判別し、ステップS177ではファイル削除操作が実行されたか否かを判別する。ステップS175でYESであれば、ステップS171に戻る。ステップS177でYESであれば、ステップS179でファイル削除処理を実行してからステップS179に戻る。
ステップS179のファイル削除処理は、図23に示すサブルーチンに従って実行される。ステップS181では、指定された動画ファイルまたは静止画ファイルを格納する1または2以上のクラスタの中から先頭クラスタを特定し、特定された先頭クラスタの識別番号を変数Mに設定する。ステップS183ではM番目のクラスタに隣接するクラスタを管理するカラムをフリーリスト40tからサーチし、ステップS185ではサーチに成功したか否かを判別する。
ステップS185でYESであればステップS187に進み、カラムL(x)の“head”に記述された数値から“1”を引き算して得られた数値が変数Mと一致するか否かを判別する。ステップS187でYESであれば、M番目のクラスタとカラムL(x)によって管理されるクラスタとは図11(A)に示す位置関係にあるとみなして、ステップS189を経てステップS191に進む。ステップS189でNOであれば、M番目のクラスタとカラムL(x)によって管理されるクラスタとは図11(B)に示す位置関係にあるとみなして、そのままステップS191に進む。ステップS189では、カラムL(x)の“head”に記述された数値をディクリメントする。ステップS191では、カラムL(x)の“size”に記述された数値をインクリメントする。
ステップS185でNOであれば、ステップS193で変数kをインクリメントし、ステップS195でカラムL(k)をフリーリスト40tに作成する。作成されたカラムL(k)の“head”,“size”および“next”はそれぞれ“M”,“1”および“0”を示す。ステップS197ではポインタLlastによって指向されるカラムの“next”に“k”を記述し、ステップS199ではポインタLlastにカラムL(k)を設定する。ステップS199の処理が完了すると、ステップS201に進む。
ステップS201では、M番目のクラスタが指定された動画ファイルまたは静止画ファイルを格納する末尾クラスタであるか否かを判別する。ここでNOであればステップS203に進み、M番目のクラスタが空き状態となるようにFATを更新する。FATの更新が完了すると、ステップS205で変数MをインクリメントしてからステップS183に戻る。ステップS201でYESであれば、ステップS207でステップS203と同様の処理を実行し、上階層のルーチンに復帰する。
以上の説明から分かるように、イメージセンサ14によって捉えられた被写界を表す動画像コンテンツおよび静止画像コンテンツ(N個のコンテンツ)は、CPU40の処理によって並列的に取り込まれる(S71, S77)。メモリカード38に分散的に形成され得る空き領域の数が2(=N)以上であるか否かは、動画像コンテンツおよび静止画像コンテンツの取り込み処理に関連して判別される(S153)。この判別結果が否定的であれば、メモリカード38に形成された空き領域が、2分割される(S155, S163, S167)。CPU40は、取り込まれた動画像コンテンツおよび静止画像コンテンツをメモリカード38に形成された2つの空き領域にそれぞれ記録する。
したがって、メモリカード38に形成された空き領域が2つ以上であれば、動画像コンテンツおよび静止画像コンテンツは2つの空き領域にそれぞれ記録される。一方、メモリカード38に形成された空き領域が1つであれば、領域分割処理によって2つの空き領域がメモリカード38に形成される。動画像コンテンツおよび静止画像コンテンツは、領域分割処理によって得られた2つの空き領域にそれぞれ記録される。
2つのコンテンツは2つの空き領域にそれぞれ記録されるため、メモリカード38内でのフラグメントの増大が回避される。また、領域分割処理は2つのコンテンツを並列的に取り込むときに必要に応じて実行されるため、メモリカード38の利用効率の低下が回避される。
なお、この実施例では、2つのコンテンツを並列的に取り込むことを想定しているが、並列的に取り込むコンテンツは3つ以上(N≧3)でもよい。また、この実施例では、取り込むコンテンツとして動画像コンテンツおよび静止画像コンテンツを想定しているが、これらに代えてまたはこれらとともに音声コンテンツを取り込むようにしてもよい。さらに、この実施例では、ディジタルビデオカメラを想定しているが、この発明は据置型のビデオレコーダやオーディオレコーダなどの他の装置にも適用できる。
この発明の一実施例の構成を示すブロック図である。 図1実施例に適用されるメモリカードのマッピング状態の一例を示す図解図である。 メモリカードに分散的に形成された空き領域の分布状態の一例を示す図解図である。 図1実施例で参照されるフリーリスト(空き領域リスト)の一例を示す図解図である。 (A)は領域分割を施される前のメモリカードのマッピング状態の一例を示す図解図であり、(B)は領域分割を施された後のメモリカードのマッピング状態の一例を示す図解図である。 (A)は領域分割を施される前のフリーリストの一部を示す図解図であり、(B)は領域分割を施された後のフリーリストの一部を示す図解図である。 (A)は削除処理を施される前のメモリカードのマッピング状態の一例を示す図解図であり、(B)は削除処理を施された後のメモリカードのマッピング状態の一例を示す図解図である。 (A)は削除処理を施される前のフリーリストの一部を示す図解図であり、(B)は削除処理を施された後のフリーリストの一部を示す図解図である。 (A)は削除処理を施される前のメモリカードのマッピング状態の一例を示す図解図であり、(B)は削除処理を施された後のメモリカードのマッピング状態の他の一例を示す図解図である。 (A)は削除処理を施される前のフリーリストの他の一部を示す図解図であり、(B)は削除処理を施された後のフリーリストの他の一部を示す図解図である。 (A)は削除処理動作の一例を示す図解図であり、(B)は削除処理動作の他の一例を示す図解図である。 図1実施例に適用されるCPUの動作の一部を示すフロー図である。 図1実施例に適用されるCPUの動作の他の一部を示すフロー図である。 図1実施例に適用されるCPUの動作のその他の一部を示すフロー図である。 図1実施例に適用されるCPUの動作のさらにその他の一部を示すフロー図である。 図1実施例に適用されるCPUの動作の他の一部を示すフロー図である。 図1実施例に適用されるCPUの動作のその他の一部を示すフロー図である。 図1実施例に適用されるCPUの動作のさらにその他の一部を示すフロー図である。 図1実施例に適用されるCPUの動作の他の一部を示すフロー図である。 図1実施例に適用されるCPUの動作のその他の一部を示すフロー図である。 図1実施例に適用されるCPUの動作のさらにその他の一部を示すフロー図である。 図1実施例に適用されるCPUの動作の他の一部を示すフロー図である。 図1実施例に適用されるCPUの動作のその他の一部を示すフロー図である。
符号の説明
10 …ディジタルビデオカメラ
14 …イメージセンサ
22 …信号処理回路
26 …SDRAM
32 …JPEGコーデック
34 …MPEG4コーデック
36 …カードドライバ
38 …メモリカード
40 …CPU

Claims (10)

  1. N個(N:2以上の整数)のコンテンツを並列的に取り込む取り込み手段、
    記録媒体に分散的に形成され得る空き領域がN個以上であるか否かを前記取り込み手段の取り込み処理に関連して判別する判別手段、
    前記判別手段の判別結果が否定的であるとき前記記録媒体に形成されたN個未満の空き領域をN個以上の空き領域に分割する分割手段、および
    前記取り込み手段によって取り込まれたN個のコンテンツを前記記録媒体に形成されたN個の空き領域にそれぞれ記録する記録手段を備える、コンテンツ記録装置。
  2. 前記取り込み手段によって取り込まれるN個のコンテンツの1つを前記N個の空き領域の1つに記録する第1記録手段、および前記取り込み手段によって取り込まれるN個のコンテンツの他の1つを前記N個の空き領域の他の1つに記録する第2記録手段を含み、
    前記判別手段は前記第1記録手段による記録処理の実行中に前記第2記録指示を受け付けたとき判別処理を実行する、請求項1記載のコンテンツ記録装置。
  3. 前記分割手段は前記第1記録手段によって記録される空き領域を分割する、請求項2記載のコンテンツ記録装置。
  4. 前記記録媒体は各々が単位サイズを有する複数の単位領域によって形成され、
    1つの空き領域は連続して空き状態にある1または2以上の単位領域によって形成される、請求項1ないし3のいずれかに記載のコンテンツ記録装置。
  5. 前記分割手段は、前記N個未満の空き領域の中から2以上の単位領域によって形成される1つの空き領域を特定する特定手段、および前記特定手段によって特定された空き領域を分割する分割実行手段を含む、請求項4記載のコンテンツ記録装置。
  6. 前記取り込み手段によって取り込まれるN個のコンテンツは動画像コンテンツおよび静止画像コンテンツを含む、請求項1ないし5のいずれかに記載のコンテンツ記録装置。
  7. 前記取り込み手段によって取り込まれるN個のコンテンツの少なくとも1つは前記取り込み手段による取り込みが開始された時点でサイズが不定のコンテンツである、請求項1ないし6のいずれかに記載のコンテンツ記録装置。
  8. 請求項1ないし7のいずれかに記載のコンテンツ記録装置を備える、ビデオカメラ。
  9. コンテンツ記録装置のプロセサに、
    N個(N:2以上の整数)のコンテンツを並列的に取り込む取り込みステップ、
    記録媒体に分散的に形成され得る空き領域がN個以上であるか否かを前記取り込みステップの取り込み処理に関連して判別する判別ステップ、
    前記判別ステップの判別結果が否定的であるとき前記記録媒体に形成されたN個未満の空き領域をN個以上の空き領域に分割する分割ステップ、および
    前記取り込みステップによって取り込まれたN個のコンテンツを前記記録媒体に形成されたN個の空き領域にそれぞれ記録する記録ステップを実行させるための、
    記録制御プログラム。
  10. コンテンツ記録装置によって実行される記録制御方法であって、
    N個(N:2以上の整数)のコンテンツを並列的に取り込む取り込みステップ、
    記録媒体に分散的に形成され得る空き領域がN個以上であるか否かを前記取り込みステップの取り込み処理に関連して判別する判別ステップ、
    前記判別ステップの判別結果が否定的であるとき前記記録媒体に形成されたN個未満の空き領域をN個以上の空き領域に分割する分割ステップ、および
    前記取り込みステップによって取り込まれたN個のコンテンツを前記記録媒体に形成されたN個の空き領域にそれぞれ記録する記録ステップを備える、記録制御方法。
JP2006084396A 2006-03-27 2006-03-27 コンテンツ記録装置 Expired - Fee Related JP4657130B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006084396A JP4657130B2 (ja) 2006-03-27 2006-03-27 コンテンツ記録装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006084396A JP4657130B2 (ja) 2006-03-27 2006-03-27 コンテンツ記録装置

Publications (2)

Publication Number Publication Date
JP2007259364A JP2007259364A (ja) 2007-10-04
JP4657130B2 true JP4657130B2 (ja) 2011-03-23

Family

ID=38633081

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006084396A Expired - Fee Related JP4657130B2 (ja) 2006-03-27 2006-03-27 コンテンツ記録装置

Country Status (1)

Country Link
JP (1) JP4657130B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5704943B2 (ja) * 2011-02-02 2015-04-22 キヤノン株式会社 撮像装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001320700A (ja) * 2000-05-08 2001-11-16 Matsushita Electric Ind Co Ltd 監視システム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7917005B2 (en) * 2004-09-03 2011-03-29 Panasonic Corporation Information recording device, information recording method, information recording program and recording medium

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001320700A (ja) * 2000-05-08 2001-11-16 Matsushita Electric Ind Co Ltd 監視システム

Also Published As

Publication number Publication date
JP2007259364A (ja) 2007-10-04

Similar Documents

Publication Publication Date Title
US20100026842A1 (en) Image processing device, imaging apparatus, image-processing method, and program
US8471919B2 (en) Image pickup apparatus, method, and program with improved moving and still image handling
KR101812103B1 (ko) 썸네일이미지 설정방법 및 설정프로그램
JP3495709B2 (ja) データ記録装置
JP3754320B2 (ja) 画像信号処理装置
JPH09135412A (ja) 記録再生装置
JP5634057B2 (ja) 記録装置及び記録方法
JP2010161562A (ja) 画像処理装置、その制御方法、プログラム及び記録媒体
JP4657130B2 (ja) コンテンツ記録装置
JP4204445B2 (ja) コンテンツ記録装置
US20070186162A1 (en) File access apparatus
JP2008311847A (ja) 表示制御装置、表示制御方法、プログラム
JP5762014B2 (ja) 再生装置及び再生装置の制御方法
JP3889577B2 (ja) 画像記録装置
JP2007141124A (ja) リスト作成装置
JP4152183B2 (ja) 画像処理装置
JP2005276016A (ja) ファイル管理装置
US20050207344A1 (en) Data transfer apparatus and image server
JP5473517B2 (ja) 画像処理装置
JPH09307851A (ja) 画像及び音声の記録管理装置及び方法
JP4318040B2 (ja) 情報編集装置、撮像装置および情報編集方法
JP4767201B2 (ja) 画像再生装置
JP2005135554A (ja) 再生装置及び方法
JP2006065903A (ja) 記憶再生装置及び撮像装置
JP2010027100A (ja) 情報記録装置および情報記録方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090312

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100914

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: 20101124

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: 20101221

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

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees