(57)【要約】【課題】  動画データ等を高速に記憶しつつ、インデックス情報を、動画データの高速記憶を損なうことなく同一の記憶媒体に、同時に記録する。【解決手段】  第一データを一時格納する第一バッファと、第一データから第二データを生成する第二データ生成手段と、第二データを一時格納する第二バッファと、第一および第二バッファのデータ格納量などに基づいて、第二ブロック内のデータを、１）第一データのみ２）第一、第二データの混在３）第二データのみのいずれかで書き込み動作を行う書き込み動作制御手段と、データ記憶領域内の個々の第二ブロック毎に１）〜３）のいずれの書き込みを行ったのかを記憶する管理情報記憶手段と、第一、第二データの全てをデータ記憶領域に書き込んだ後、管理情報記憶手段の記憶内容に基づいて、第一データと第二データとが異なるファイルとなるように、記憶媒体上に記憶されたファイル管理情報を更新する更新手段を有する。【選択図】  図１
2007028221.tif 000002
【特許請求の範囲】
【請求項１】
記憶媒体上のデータ記憶領域を所定サイズの第一ブロック、および当該第一ブロックが一定個数集まった第二ブロックで分割し、読み込み時は上記第一ブロック単位で、また書き込み時は上記第二ブロック単位でデータを記憶するデータ記憶装置であって、
入力される第一データを一時格納する第一バッファと、
上記第一データから所定の第二データを生成する第二データ生成手段と、
当該第二データを一時格納する第二バッファと、
上記第一および第二バッファのデータ格納量、第一データの入力状況、および第二データの生成状況に基づいて、上記第二ブロック内のデータを、
１）第一バッファに格納された第一データのみ
２）第一バッファと第二バッファに格納された第一、第二データの混在
３）第二バッファに格納された第二データのみ
のいずれかで書き込み動作を行う書き込み動作制御手段と、
上記データ記憶領域内の個々の第二ブロック毎に上記１）〜３）のいずれの書き込みを行ったのかを記憶する管理情報記憶手段と、
上記第一、第二データの全てを上記データ記憶領域に書き込んだ後、上記管理情報記憶手段の記憶内容に基づいて、上記第一データと第二データとが異なるファイルとなるように、上記記憶媒体上に記憶されたファイル管理情報を更新するファイル管理情報更新手段と
を有することを特徴とするデータ記憶装置。
【請求項２】
上記第一ブロックは、ファイル管理で使用するアクセス単位であって、上記書き込み動作制御手段が上記第一、第二データを混在させて書き込みを行う場合に、第二ブロック中の所定数の第一ブロックに上記第一データ、第二ブロック中の残余数の第一ブロックに上記第二データを書き込むことを特徴とする請求項１に記載のデータ記憶装置。
【請求項３】
上記第一データが動画データであり、上記第二データが当該動画データの代表画像データ、特徴データ、インデックス情報のいずれかであることを特徴とする請求項１に記載のデータ記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画データ等の大容量・高転送速度データと、当該動作データ等から生成されるサムネイル等のインデックス情報とを、同時かつ高速に記憶することが可能なデータ記憶装置に関するものである。
【背景技術】
【０００２】
近年、動画データや音声データなどを従来のテープメディアに代えて、ハードディスクドライブに記憶するデータ記憶装置が広く普及しつつある。ハードディスクドライブはランダムアクセス性に優れているため、所望のコンテンツを瞬時に再生したり、記録のための空き領域を速やかに探し出すことができるなど、従来のテープメディアにはない使い勝手の良さを有している。またパーソナルコンピュータ等の情報機器においても、チューナーやコーデック（ＣＯＤＥＣ）ＬＳＩを搭載して、動画データ等を内蔵／外付けハードディスクドライブに記憶する機能を備えた機種が多数市販されている。
【０００３】
ところで動画データ等は連続的なデータであり、単にデータが誤りなく記憶媒体上に記憶されるだけでは十分でなく、時間軸上の記録・再生速度、すなわちデータの転送速度が所定値以上に維持される必要がある。一方でハードディスクドライブは、記憶媒体上の物理的に連続した領域に対するアクセスでは高速のデータ転送を実現できるが、分散された領域に対するアクセスでは、ヘッドシーク時間や回転待ち時間といった実質的にはデータ転送に寄与しない動作期間が増大することから、低速のデータ転送しか得られないという特性を有している。
【０００４】
さて記憶したデータはファイルシステムによりファイル単位でのアクセスが可能となるわけだが、どのようなファイルシステムを採用しても記憶データの削除・更新を繰り返せば記憶領域の断片化（フラグメンテーション）が引き起こされ、一つのファイルを連続した領域に記憶することができなくなる。このことは結果として、ハードディスク記憶装置に対するデータ転送速度を低下させることとなり、動画データ等の記録・再生にとっては極めて都合が悪い。
【０００５】
高速なデータ転送を実現するための一つの方法は、特許文献１にも記載されているように、アクセスの単位であるブロック（クラスタ）のサイズを大きくすることである。ブロックサイズを大きくしても断片化が完全になくなるわけではないが、断片化はブロック単位でしか起こらないことから断片化の度合が相対的に小さく（少なく）なり、結果としてデータ転送速度の低下は低減される。
【０００６】
ところで動画データを記憶するデータ記憶装置においては、記憶メディアに当該動画データだけでなく、当該動画データから生成されるインデックス情報（例えばサムネイル画像データ等）を併せて記憶するデータ記憶装置が存在する。例えば特許文献２には動画データのシーン変化から最適のサムネイル動画を切出し、当該動画データとサムネイル動画とを同一の記憶媒体に格納する画像処理装置が、また特許文献３には動画データから検索用の静止画データを作成し、当該動画データと検索用静止画データとを同一の記憶媒体に記録する記録再生装置が開示されている。（特許文献１、特許文献２、特許文献３参照）。
【０００７】
【特許文献１】特開２０００−３３９８６８号公報
【特許文献２】特開２００４−１６６１３１号公報
【特許文献３】特開２００４−１９３６９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
特許文献２、特許文献３に開示されている例では、動画データと当該動画データから生成されるインデックス情報（それぞれの明細書中での呼称は、サムネイル動画、検索用静止画データ）は、同一の記憶媒体上の異なる記憶領域に記憶するようになっている。
【０００９】
しかしながら、この方法は動画データを一旦記憶した後に、当該記憶した動画データを改めて再生してインデックス情報を生成し記憶する場合にはさしたる問題にならないが、動画データを記憶しつつ、当該動画データからインデックス情報を自動生成して、動画データとインデックス情報とを同時に記憶する場合には、あまりより方法とは言えない。
【００１０】
先にも述べたようにハードディスクドライブは、記憶媒体上の物理的に連続した領域に対するアクセスでは高速のデータ転送を実現できるが、分散された領域に対するアクセスでは低速のデータ転送しか実現できない。つまり動画データの記憶中に当該動画データから自動生成されたインデックス情報を異なる記憶領域に記憶させようとすると、磁気ヘッドの移動処理が必要となってしまうためハードディスクドライブのデータ転送速度が著しく低下してしまうことになる。
【００１１】
ハードディスクドライブのデータ転送速度が、動画データで要求される転送速度よりも十分に高速なのであれば、上記データ転送速度の低下は無視することも可能であるが、動画データは高精細、大画面の要望により、ますます大容量化、高転送速度化する傾向にあり、今後のハードディスクドライブのデータ転送速度の進歩、向上を考慮したとしても余裕のある状態とは言いがたい。
【００１２】
ところで、生成したインデックス情報を一時的にメモリに保持しておき、動画データの記憶が終了した後に、メモリに保持しておいたインデックス情報を記憶媒体に記憶するという方法が考えられる。この方法であれば、ハードディスクドライブのデータ転送速度を低下させることはない。
【００１３】
しかしながら、サムネイル画像は静止画とは限らず動画の場合も考えられるし、静止画の場合もシーン変化毎などでサムネイルを生成するのであれば、多数枚の静止画データの記憶が必要となってくる。したがって一時的な保持に必要なメモリの総容量を考えると、一時保持用のメモリとして半導体メモリを使用するのであれ、第２の記憶媒体（ハードディスクドライブ等）を使用するのであれコスト的には著しく不利である。
【００１４】
特許文献２（４頁〜５頁）にも記載してあるように、インデックス情報は動画データを一旦記録した後にではなく、動画データの記憶と同時に生成・記憶するのが望ましいわけであるが、従来技術においてはハードディスクドライブのデータ転送速度に影響を与えずに、あるいは低コストにこのことを実現することが極めて困難であった。
【００１５】
本発明はこうした従来技術の欠点に鑑みてなされたものであり、その目的は  動画データ等の大容量データを高速に記憶しつつ、当該動画データから生成されるサムネイル画像等のインデックス情報を、上記動画データの高速記憶を損なうことなく同一の記憶媒体に、同時に記録することが可能なデータ記憶装置を提供することにある。
【課題を解決するための手段】
【００１６】
本発明のデータ記憶装置は、記憶媒体上のデータ記憶領域を所定サイズの第一ブロック、および当該第一ブロックが一定個数集まった第二ブロックで分割し、読み込み時は上記第一ブロック単位で、また書き込み時は上記第二ブロック単位でデータを記憶するデータ記憶装置であって、入力される第一データを一時格納する第一バッファと、上記第一データから所定の第二データを生成する第二データ生成手段と、当該第二データを一時格納する第二バッファと、上記第一および第二バッファのデータ格納量、第一データの入力状況、および第二データの生成状況に基づいて、上記第二ブロック内のデータを、
１）第一バッファに格納された第一データのみ
２）第一バッファと第二バッファに格納された第一、第二データの混在
３）第二バッファに格納された第二データのみ
のいずれかで書き込み動作を行う書き込み動作制御手段と、上記データ記憶領域内の個々の第二ブロック毎に上記１）〜３）のいずれの書き込みを行ったのかを記憶する管理情報記憶手段と、上記第一、第二データの全てを上記データ記憶領域に書き込んだ後、上記管理情報記憶手段の記憶内容に基づいて、上記第一データと第二データとが異なるファイルとなるように、上記記憶媒体上に記憶されたファイル管理情報を更新するファイル管理情報更新手段とを有する。
【００１７】
この際、上記第一ブロックはファイル管理で使用するアクセス単位であって、上記書き込み動作制御手段が上記第一、第二データを混在させて書き込みを行う場合に、第二ブロック中の所定数の第一ブロックに上記第一データ、第二ブロック中の残余数の第一ブロックに上記第二データを書き込むことが望ましい。
【００１８】
また、本発明のデータ記憶装置は、上記第一データが動画データであり、上記第二データが当該動画データの代表画像データ、特徴データ、インデックス情報のいずれかの場合に好適である。
【発明の効果】
【００１９】
本発明によれば、動画データ等の大容量データを高速に記憶しつつ、当該動画データから生成されるサムネイル画像等のインデックス情報を、上記動画データの高速記憶を損なうことなく同一の記憶媒体に、同時に記録することが可能である。
【００２０】
しかも本発明は、単一の記憶媒体を使用するだけであるので、極めて低コストに実現可能であるという利点も有する。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施形態を、図面を参照しながら説明する。
【００２２】
（第１の実施形態）
図１は本発明を実施したデータ記憶装置のブロック図である。図中１０は装置全体の制御を司るＣＰＵである。ＣＰＵ１０のバス（システムバス）上には、後述するＲＯＭ１１、ＲＡＭ１２、ＮＩＣ１３、外部機器接続インターフェース１４、デコーダ１５、サムネイル生成制御回路１６、ライトバッファメモリ１７、書き込みＤＭＡ要求制御回路１８、ＤＭＡＣ１９、ディスクコントローラ２０、グラフィック・サウンドコントローラ２２が接続されていて、全体としてデータ記憶装置３０を構成する。
【００２３】
１３はデータ記憶装置３０をＬＡＮに接続するためのネットワークコントローラ（ＮＩＣ）である。１４はデータ記憶装置３０を３１の映像機器（デジタルビデオカメラ等）と接続する外部機器接続インターフェース（ＵＳＢやＩＥＥＥ１３９４等）のコントローラである。
【００２４】
２０は、２１のハードディスクドライブ（ＨＤＤ）の動作を制御するディスクコントローラである。データ記憶装置３０では、ネットワークカメラや画像配信サーバなどからＬＡＮ経由で転送された動画・音声データ、あるいは外部機器接続インターフェース１４を介して接続された映像機器３１から出力された動画・音声データを、ＨＤＤ２１に記憶（すなわち録画・録音）する。
【００２５】
ＨＤＤ２１に記憶する動画・音声データは、通常ＭＰＥＧ、ＭｏｔｉｏｎＪＰＥＧ等、周知のフォーマットで圧縮（符号化）されている。１５はこの圧縮データを伸長するためのデコーダ回路である。データの再生時、デコーダ回路１５で伸長された動画・音声データは２２のグラフィック・サウンドコントローラを介して、外部に接続されたモニタ装置３２に出力される。またデータの記憶（記録）時には、伸長されたデータは１６のサムネイル生成制御回路にも送られ、当該伸長データからサムネイル用の静止画データがハードウェアにより自動的に生成されるようになっている。
【００２６】
１１はＲＯＭであり、ＣＰＵ１０の動作プログラムや各種テーブルデータ等が格納される。１２はＲＡＭでＣＰＵ１０の動作メモリとして使用されるほか、バス上の各ブロック間で行われるデータ転送のバッファメモリとしても使用される。１７はＨＤＤ２１への書き込みデータを一時的に蓄積するライトバッファメモリである。１８はライトバッファメモリに蓄積された書き込みデータを、所定のアルゴリズムに基づいてディスクコントローラ２０へＤＭＡ転送するためのＤＭＡ要求の生成を制御する書き込みＤＭＡ要求制御回路である。なお説明の都合上、ライトバッファメモリ１７はＲＡＭ１２と独立したブロックになっているが、実際にはＲＡＭ１２の一部をライトバッファメモリとして使用するのでも、もちろんよい。
【００２７】
１９は各ブロックからのＤＭＡ要求を受け付けて、所定の優先順位でＤＭＡが実施されるように制御を行うＤＭＡＣである。なお詳細な図示は省略するが、書き込みＤＭＡ要求制御回路１８以外にも、ＤＭＡ転送を必要とするブロックにはＤＭＡ要求制御回路が内包されている。
【００２８】
２３はＣＰＵ１０の入出力ポートに接続された操作パネルであり、ボタンスイッチ、ＬＣＤ等で構成される。ユーザーは操作パネル２３を操作することで、データ記憶装置３０に対する所望の動作指示を行うことができる。
【００２９】
以上の構成によりデータ記憶装置３０は、ＬＡＮ経由で転送された動画・音声データおよび映像機器３１から出力された動画・音声データをＨＤＤ２１に記憶して、当該記憶したデータをモニタ装置２２に出力する、録画・再生装置として機能する。この際インデックス情報として、サムネイル静止画が自動生成され、動画・音声データの記録と同時にサムネイル静止画の記録も行われるようになっている。
【００３０】
つぎに図２、３を用いて、ＨＤＤ２１の論理的な構成（領域の区分等）について説明する。図２はＨＤＤ２１のフォーマット状態を示す図である。ＨＤＤ２１の記憶領域は大きく二つに区分されており、記憶媒体上の外周側にシステム領域、内周側にデータ領域が割り当てられている。システム領域内のＦＡＴエントリはファイルを構成するクラスタのアロケーションテーブルであり、一つのファイルが構成される複数のクラスタのチェーン情報（次のクラスタ番号）が記憶される。なおＦＡＴの値にはチェーン情報のほかに、未使用クラスタ、欠陥クラスタ、ファイルの終端（ＥＯＦ）が定義される。
【００３１】
ディレクトリエントリにはファイル名（パス情報を含む）と、当該ファイルの最初のクラスタ番号が記憶される。ＦＡＴとディレクトリエントリにより、記憶データは「ファイル」という単位で取り扱うことが可能となる。なおブロック管理領域については後述する。
データ領域は外周側から順に０〜ｎの「ブロック」に分割されている。個々のブロックは所定数（本実施形態では１２８個）の連続したクラスタの集まりである。データ領域の大きさを７２Ｇバイト（７２Ｇバイト×１０２４×１０２４＝７５，４９７，４７２Ｋバイト）、クラスタの大きさを３２Ｋバイト、ブロックの大きさを４Ｍバイト（１２８×３２Ｋバイト＝４０９６Ｋバイト）とした場合には
ｎ＝１８４３２
となり、データ領域全体には２，３５９，２９６個のクラスタ、１８，４３２個のブロックが存在する。
【００３２】
本実施形態におけるデータ記憶装置は、基本的にはＦＡＴを用いてクラスタを単位としてＨＤＤ２１にアクセスを行うのであるが、書き込み時は図３に示すように、１２８個のクラスタをまとめてブロック単位でＨＤＤ２１にアクセスを行う。この際、書き込むべきデータが動画データだけである場合は、図４（ａ）に示すようにブロック全体を動画データとして書き込みを行うが、書き込むべきデータが動画データと静止画データである場合は、図４（ｂ）に示すようにブロックの一部のクラスタ（本実施形態では後端の２クラスタ）を静止画データとして書き込みを行う。なお書き込むべきデータが静止画データだけである場合は、図４（ｃ）に示すようにブロック全体を静止画データとして書き込みを行う。（ところで図４で示した「動画データ」の一部は、実際には音声データの場合もあるが、ここでは説明を解りやすくするため、一括して動画データと呼ぶこととする。）
【００３３】
ここで、ブロックには未使用（何のデータも記憶していない）のもの、動画データだけを記憶しているもの、静止画データだけを記憶しているもの、動画データと静止画データを混在して記憶しているもの、の四つの状態が存在することが容易に理解されよう。図２に戻り、図中のシステム領域内のブロック管理テーブルは、この四状態を識別するためのものである。ブロック管理テーブルはブロック数×２ビット（本実施形態では１８４３２×２ビット＝３６８６４ビット＝４６０８バイト）分の大きさを持っており、各ブロック毎に以下の状態情報を記憶しておく。
【００３４】
００ｂ：未使用のブロック
０１ｂ：動画データだけを記憶したブロック
１０ｂ：静止画データだけを記憶したブロック
１１ｂ：動画データと静止画データを混在して記憶したブロック
【００３５】
なお上記クラスタ、ブロックの具体的な大きさ（バイト数）、個数はあくまで一例であり、使用するＨＤＤの特性と、データ記憶装置として要求されるデータ転送速度の仕様を勘案して適宜変更可能であることは言うまでもない。
【００３６】
つぎに図５を用いてサムネイル生成制御回路１６の詳細な構成を説明する。ＬＡＮないしは映像機器３１から入力された入力データ（エンコードされたデータ）はＤＭＡ転送によりシーンチェンジ検出回路４０に入力される。シーンチェンジ検出回路４０では、隣接する２フレーム間のデータの異なり具合（ＭｏｔｉｏｎＪＰＥＧの場合）や、時間的に隣り合ったＩピクチャデータ間のデータの異なり具合、ないしはＰピクチャデータ（あるいはＢピクチャデータ）の大きさ（ＭＰＥＧの場合）からシーンの変わり目を検出し、そのフレームの情報を解像度変換回路４１に出力する。解像度変換回路４１にはデコーダ回路１５からの伸長されたデコード済みの動画データが常時入力されており、解像度変換回路４１はシーンチェンジ検出回路４０からのシーンチェンジフレーム情報出力に基づいて、シーンチェンジがあったときだけデコード済みの動画データから当該フレームの縮小静止画（サムネイル静止画）を生成するようになっている。解像度変換回路４１で生成された静止画データは、エンコーダ回路４２でＪＰＥＧ形式に圧縮（符号化）される。エンコーダ回路４２での圧縮が終了すると、その情報はＤＭＡ要求生成回路４３に出力され、ＤＭＡ要求生成回路（１）４３の生成するＤＭＡ要求に基づいて、ＪＰＥＧエンコード済みのサムネイル静止画データは図６で説明するライトバッファメモリ１７中の第一バッファ領域にＤＭＡ転送される。サムネイルはシーンの変化毎に生成されるため、一つの動画データに対して複数枚生成されることになる。そこでサムネイル生成制御回路１６からは、個々の静止画がＪＰＥＧで圧縮されたＴＩＦＦのマルチページ形式でデータが出力されるようになっている。
【００３７】
なお以上の説明では、入力データ、すなわちエンコードされたデータからシーンチェンジを検出する構成となっているが、デコード済みの動画データからシーンチェンジを検出するのでもよい。さらにシーンチェンジではなく、他の方法によって代表画像を抽出する構成としても、もちろんよい。
【００３８】
図６はライトバッファメモリ１７と書き込みＤＭＡ要求制御回路１８の詳細な構成である。ライトバッファメモリ１７には、第一バッファ４５と第二バッファ４６の二つの領域が設定される。第一バッファ４５、第二バッファ４６はいずれもリングバッファ（もしくはＦＩＦＯバッファ）として機能し、第一バッファ４５には、ＬＡＮないしは映像機器３１からの入力データがＤＭＡ転送により格納される。また第二バッファ４６には、図５で説明したようにサムネイル生成制御回路１６で生成されたサムネイル静止画データが格納される。なお第一バッファ４５、第二バッファ４６は、それぞれ少なくとも４Ｍバイトを越える容量、６４Ｋバイト越える容量を有している。
【００３９】
第一バッファ４５、第二バッファ４６のポインタ情報（入力ポインタ、出力ポインタ）およびベースアドレ情報は、それぞれＤＭＡ転送判定回路４７に出力される。ＤＭＡ転送判定回路４７では、第一バッファ４５と第二バッファ４６の使用量（格納してあるデータ数）に基づいて、異なったＤＭＡ転送を引き起こすよう判定がなされる。
ＤＭＡ転送判定回路４７の判定結果は、ＤＭＡ要求生成回路（２）４９に出力され、ＤＭＡ要求生成回路（２）４９の生成するＤＭＡ要求に基づいて、第一バッファ４５、第二バッファ４６に格納されたデータが、１ブロック分ディスクコントローラ２０にＤＭＡ転送されて、最終的にＨＤＤ２１に記憶される（書込まれる）。
【００４０】
書き込みＤＭＡ要求制御回路１８の詳細な動作は、後述の図９〜１１を用いて説明するが、基本的な動作は、
１）第一バッファ４５の使用量が４Ｍバイト以上で、第二バッファ４６の使用量が６４Ｋバイト未満であるときは、第一バッファ４５中の４ＭバイトのデータをＤＭＡ転送する、
２）第一バッファ４５の使用量が（４Ｍ−６４Ｋ）バイト以上で、第二バッファ４６の使用量が６４Ｋバイト以上であるときは、第一バッファ４５中の（４Ｍ−６４Ｋ）バイトのデータと、第二バッファ４６中の６４ＫバイトのデータをＤＭＡ転送する、
３）第一バッファ４５にデータが存在せず、第二バッファ４６にデータが存在する場合は、第二バッファ４６のデータをＤＭＡ転送する、
というものである。
【００４１】
この際、あるブロックに対して上記１）〜３）の、どのＤＭＡ転送を実行したのかが混在書き込み管理テーブル４８に記憶される。混在書き込み管理テーブル４８は、ブロック数×２ビット（本実施形態では１８４３２×２＝３６８６４ビット＝４６０８バイト）分の大きさを持つＲＡＭで、ＤＭＡ転送の度毎にＤＭＡ転送判定回路４７によって各ブロックに対応する位置に以下の情報が記憶される。
【００４２】
００ｂ：（未使用のコード）
０１ｂ：動画データだけを記憶したブロック
１０ｂ：静止画データだけを記憶したブロック
１１ｂ：動画データと静止画データを混在して記憶したブロック
【００４３】
なお、混在書き込み管理テーブル４８は、通常のメモリとしてシステムバス上にもマッピングされており、ＣＰＵ１０で読み取ること、またＣＰＵ１０から書き換えることができるようになっている。
【００４４】
つぎに図７〜１２のフローチャートを用いて、データ記憶装置３０の本発明の主旨に関る動作について詳細に説明する。図７はＨＤＤ２１の初期化時の動作フローである。本動作フローはＣＰＵ１０のプログラム動作により実行されるものである。
物理フォーマットが終了した後、まずステップ１００において、ＨＤＤ２１の総容量、クラスタサイズ、ブロックの大きさ（または個数）から、システム領域、データ領域、それぞれの大きさを計算する。
【００４５】
つぎにステップ１０１でシステム領域内にブロック管理テーブルを作成する。この際、全てのブロックについて「未使用のブロック」としておく。ついでステップ１０２でシステム領域内にＦＡＴ（ファイルアロケーションテーブル）を作成する。この際、個々のクラスタに対するＦＡＴ値については「未使用クラスタ」としておく。
【００４６】
つぎにステップ１０３で、ディレクトリエントリにルートディレクトリを作成する。ついでステップ１０４で、混在書き込み管理テーブル４８を初期化する。具体的には全てのブロックについて「０１ｂ」とする。この初期化ではデフォルト値として、全てのブロックを「動画データだけを記憶したブロック」としておく。
【００４７】
図８はデータを書き込むときの動作フローである。本動作フローはＣＰＵ１０のプログラム動作により実行されるものである。まずステップ２００で、記憶すべきデータの入力を待機する。ＬＡＮないしは映像機器３１からデータの入力がなされたら、そのデータのサイズを判定する。サイズが判定不能である場合、あるいはサイズを指定しないでデータの入力を行う場合には、例えば２Ｇバイトなどといった所定の大きさをデータサイズと看做して、またはデータ記憶領域の全空き容量をデータサイズと看做して以下の処理を行えばよい。なおトータルのデータ入力が上記所定の大きさを越える場合には、複数回に分けてデータの記憶を行うことで対処可能である。
【００４８】
つぎにステップ２０２でブロック管理テーブルをサーチして、上記サイズ分の空きブロックを検索する。空きブロックが有る場合には、ステップ２０３で上記検索したサイズ分の空きブロック全てについて、ブロック管理テーブルを「０１ｂ（動画データだけを記憶したブロック）」に更新する。ここではデフォルト値として全てのブロックを「動画データだけを記憶したブロック」としておく。そしてステップ２０４において、当該ブロックの使用順序（書き込みの順序）を設定するとともに、その設定結果を図１のＲＡＭ１２上に設定したワークエリアに記憶しておく。使用順序は単純にブロック番号の昇べき順（または降べき順）であってもよいし、なるべく平均的なデータ転送速度となるように、ＨＤＤ２１の記憶媒体上のより外周側に位置するブロックと、より内周側に位置するブロックとを交互に使用する順番としてもよい。
【００４９】
つぎにステップ２０５で、ディレクトリエントリにファイル情報を追記する。ここでファイル名は、データ入力がＬＡＮ経由であってファイル名を知り得る場合にはその名前を、映像機器３１がファイル名を指定する場合にはその名前を使用する。ファイル名が外部から指定されない場合には、英数字などを適宜組み合わせたファイル名とする。また操作パネル２３などを用いて使用者がファイル名やパス情報を指定した場合にはそれに従う。
【００５０】
つぎにステップ２０６で、上記使用することとしたブロック内の全てのクラスタが、ステップ２０４で設定した使用順序に沿って、一つのファイルとなるようにＦＡＴを更新する。なお一つのブロック内でのクラスタチェーンは、単純にクラスタ番号順とする。
【００５１】
ついでステップ２０７でＨＤＤ２１への書き込みのためのＤＭＡ転送の開始を指示する。書き込み動作は、ＣＰＵ１０の関与なくＤＭＡ転送によりハードウェア処理で行われる。基本的には、ライトバッファメモリ１７に格納されたデータが１ブロック単位毎に、ステップ２０４で設定した使用順序に沿ったブロックに書き込みが行われるよう、ライトバッファメモリ１７からディスクコントローラ２０にＤＭＡ転送される。なお、より詳細な動作フローは図９〜１１で説明する。
【００５２】
つぎにステップ２０８で書き込みの終了を待機する。書き込みが終了したか否かは、サムネイル生成制御回路１６での静止画データの生成が終了し、第一、第二バッファ（４５、４６）に格納されたデータが全てＤＭＡ転送されたか否かで判定することができる。
データサイズを指定しない（あるいは不明）でデータの入力を行う場合には、第一バッファ４５へのデータの格納が所定時間行われず、かつサムネイル生成制御回路１６での静止画データの生成が終了し、第二バッファ４６に格納されたデータが全てＤＭＡ転送されたか否かで判定することができる。この他、使用者の中断指示によっても書き込みの終了を判定することができる。
【００５３】
ステップ２０８で書き込みの終了を判定したら、ステップ２０９で混在書き込みテーブル４８をサーチして、動画データと静止画データを混在して記憶したブロックおよび静止画データのみを記憶したブロックを検索する。混在書き込みブロック（すなわちサムネイル静止画データを記憶したブロック）が存在する場合は、ステップ２１０において混在書き込みテーブル４８の記憶データに基づいて、ブロック管理テーブルを更新する。
【００５４】
混在書き込みテーブル４８の値が「１１ｂ」の場合は、ブロック管理テーブルの対応するブロックの値を「１１ｂ」に、混在書き込みテーブル４８の値が「１０ｂ」の場合は、ブロック管理テーブルの対応するブロックの値を「１０ｂ」に更新する。この処理を混在書き込み管理テーブル４８の値が「１１ｂ」か「１０ｂ」である全てのブロックについて実行する。そしてステップ２１１で、混在書き込み管理テーブル４８の値を全て「０１ｂ」にクリア（再初期化）する。
【００５５】
つぎにステップ２１２で、ディレクトリエントリにサムネイル静止画データのファイルの情報を追記する。ここでファイル名は、ステップ２０５で使用したファイル名に（またはファイル名の一部に）「.tif」の拡張子を追加したものとする。この他、英数字などを適宜組み合わせたファイル名としてもよい。
【００５６】
さてステップ２０４で設定・記憶しておいたブロックの使用順序、およびステップ２０９のサーチで取得した混在書き込み管理テーブル４８の記憶内容の二者を組み合わせることで、どのクラスタに静止画データを書き込んだのかを同定することが可能となる。そこで、その同定結果に基づきステップ２１３で、ＨＤＤ２１に記録した動画データとサムネイル静止画データが二つのファイルに分割されるようにＦＡＴの更新を行う。そして最後にステップ２１４において、ステップ２０４で記憶しておいたブロックの使用順序の記憶を破棄して処理を終了する。
【００５７】
なお、特に図示しないが、ステップ２０１で所定の大きさをデータサイズと看做して、またはＨＤＤ２１の全空き容量をデータサイズと看做していた場合で、実際にはそれ以下の大きさの記録しか行わなかったときは、未使用のブロックを開放するために、ステップ２１３に続いてブロック管理テーブルおよびＦＡＴの更新処理を実行する。
【００５８】
ステップ２０８に戻り、混在書き込みブロック（すなわちサムネイル静止画データを記憶したブロック）が存在しなかった場合は、そのまま処理を終了する。さらにステップ２０２に戻り、所定サイズ分の空きブロックが存在しなかった場合は、ステップ２１５でデータを書き込むことができない場合のエラー処理を実行して終了する。
図９〜１１はＤＭＡ転送によるＨＤＤ２１へのデータ書き込みの動作フローである。本動作フローはＣＰＵ１０の関与なくＤＭＡ転送によりハードウェア処理で実行されるものである。
【００５９】
まず、ステップ３００で第二バッファ４６の使用量を判定する。使用量が６４Ｋバイト未満である場合は、ステップ３０１、３０２で動画データの入力が終了するか、または第一バッファ４５の使用量が４Ｍバイト以上になるのを待機する。動画データの入力が終了したか否かは、図８のステップ２０１で判定したデータサイズ分の動画データを第一バッファ４５に格納し終えたか否かで判定することができる。データサイズを指定しない（あるいは不明）でデータの入力を行った場合には、第一バッファ４５へのデータの格納が所定時間行われないことで動画データの入力の終了を判定する。この他、使用者の中断指示によっても動画データの入力終了を判定することができる。
【００６０】
ステップ３０２で第一バッファ４５の使用量が４Ｍバイトを越えたら、ステップ３０３で第一バッファ４５から１ブロック分のデータ（第一バッファ４５の出力ポインタの位置から４Ｍバイト分のデータ）をディスクコントローラ２０にＤＭＡ転送し、ステップ３０４で転送されたデータをＨＤＤ２１に書き込む。
【００６１】
ステップ３００に戻り、第二バッファ４６の使用量が６４Ｋバイト以上である場合は、ステップ３０５、３０６で動画データの入力が終了するか、または第一バッファ４５の使用量が（４Ｍ−６４Ｋ）バイト以上になるのを待機する。
【００６２】
ステップ３０６で第一バッファ４５の使用量が（４Ｍ−６４Ｋ）バイトを越えたら、ステップ３０７で第一バッファ４５と第二バッファ４６から１ブロック分のデータをディスクコントローラ２０にＤＭＡ転送する。ここで第一バッファ４５からは出力ポインタの位置から（４Ｍ−６４Ｋ）バイト分のデータを、また第二バッファ４６からは出力ポインタから６４Ｋバイト分のデータを取り出し、それぞれをブロックの先頭の１２６クラスタと後端の２クラスタに配置してＤＭＡ転送する。
【００６３】
ついでステップ３０８で、混在書き込み管理テーブル４８の対応するブロックの位置の値を「１１ｂ」に更新し、ステップ３０９で転送されたデータをＨＤＤ２１に書き込む。以上の処理を動画データの入力が終了するまでステップ３００から繰り返し実行する。
【００６４】
ステップ３０１、３０５で動画データの入力が終了したと判定した場合は、図１０のステップ３１０で第一バッファ４５の使用量を判定する。使用量が１バイト以上、すなわち第一バッファ４５に動画データが格納されている場合には、ステップ３１１で第二バッファ４６の使用量を判定する。使用量が６４Ｋバイト未満である場合は、ステップ３１２でサムネイル生成制御回路１６でのサムネイル静止画の生成が終了するのを待機する。サムネイル静止画の生成が終了したことは、全ての静止画データが第二バッファ４６にＤＭＡ転送されたか否かで判定することができる。
【００６５】
サムネイル静止画の生成が未了の場合は、ステップ３１３で第一バッファ４５から１ブロック分のデータ（第一バッファ４５の出力ポインタの位置から４Ｍバイト分のデータ）をディスクコントローラ２０にＤＭＡ転送する。この際、第一バッファ４５に格納されているデータが４Ｍバイト未満のときは、４Ｍバイトに不足する部分にＮｕｌｌデータを充填してＤＭＡ転送を行う。そしてステップ３１４で転送されたデータをＨＤＤ２１に書き込む。
【００６６】
ステップ３１１、３１２に戻り、第二バッファ４６の使用量が６４Ｋバイト以上である場合、およびサムネイル静止画の生成が終了している場合は、ステップ３１５で第一バッファ４５と第二バッファ４６から１ブロック分のデータをディスクコントローラ２０にＤＭＡ転送する。ここで第一バッファ４５からは出力ポインタの位置から（４Ｍ−６４Ｋ）バイト分のデータを、また第二バッファ４６からは出力ポインタから６４Ｋバイト分のデータを取り出し、それぞれをブロックの先頭の１２６クラスタと後端の２クラスタに配置してＤＭＡ転送する。この際、第一バッファ４５に格納されているデータが（４Ｍ−６４Ｋ）バイト未満であるときは（４Ｍ−６４Ｋ）バイトに不足する部分に、またサムネイル静止画の生成が終了していて、第二バッファ４６に格納されているデータが６４Ｋバイト未満であるときは６４Ｋバイトに不足する部分に、それぞれＮｕｌｌデータを充填してＤＭＡ転送を行う。
【００６７】
ついでステップ３１６で、混在書き込み管理テーブル４８の対応するブロックの位置の値を「１１ｂ」に更新し、ステップ３１７で転送されたデータをＨＤＤ２１に書き込む。以上の処理を第一バッファ４５の使用量が０バイトになるまでステップ３１０から繰り返し実行する。
【００６８】
ステップ３１０で第一バッファ４５の使用量を０バイトと判定した場合は、図１１のステップ３１８でサムネイル静止画の生成が終了するのを待機する。
サムネイルの生成が終了したら（または終了していたら）、ステップ３１９で第二バッファ４６の使用量を判定する。使用量が１バイト以上、すなわち第二バッファ４６に静止画データが格納されている場合には、ステップ３２０で第二バッファ４６から１ブロック分のデータ（第二バッファ４６の出力ポインタの位置から４Ｍバイト分のデータ）をディスクコントローラ２０にＤＭＡ転送する。この際、第二バッファ４６に格納されているデータが４Ｍバイト未満のときは、４Ｍバイトに不足する部分にＮｕｌｌデータを充填してＤＭＡ転送を行う。
【００６９】
ついでステップ３２１で、混在書き込み管理テーブル４８の対応するブロックの位置の値を「１０ｂ」に更新し、ステップ３２２で転送されたデータをＨＤＤ２１に書き込む。以上の処理を第二バッファ４６の使用量が０バイトになるまでステップ３１９から繰り返し実行する。ステップ３１９で第二バッファ４６の使用量が０バイトと判定されたら、全ての書き込み動作が終了する。
【００７０】
なお、ファイルを読み込む場合についての動作フローは特に図示しないが、周知のとおり読み込みについてはＦＡＴを参照してチェーンクラスタを順次読み込めばよい。つまり本実施形態においては、読み込み時には「クラスタ」を、書き込み時には複数個（１２８個）のクラスタが集まった「ブロック」を単位にＨＤＤ２１へのアクセスを行うわけである。
【００７１】
図１２は、ファイルを削除するときの動作フローである。まずステップ４００で削除しようとしているファイルの種別、すなわち動画であるのかサムネイル静止画であるのかを判定する。どちらであるかは、ファイル名の拡張子から判定することができる。なお拡張子ではなく、データの内容（例えば、ヘッダ情報等）を確認してファイルの種別を判定してもよい。
【００７２】
動画である場合は、ステップ４０１で削除しようとするファイルの構成するクラスタが属するブロックの、ブロック管理テーブルの値を更新する。具体的には、値の１ビット目だけを０にする。すなわち（元の値 AND 10b）の操作を行う。ここで１ビット目だけを０にするのは、動画ファイルを削除しても当該ブロックには静止画ファイルが記憶されているかもしれないので、ブロック管理テーブルの値を単純に「００ｂ」としてしまうわけにはいかないからである。
【００７３】
一方、サムネイル静止画である場合は、ステップ４０２で削除しようとするファイルの構成するクラスタが属するブロックの、ブロック管理テーブルの値を更新する。具体的には、値の２ビット目だけを０にする。すなわち（元の値 AND 01b）の操作を行う。ステップ４０１の場合と同様に、静止画ファイルを削除しても当該ブロックには動画ファイルが記憶されているかもしれないので、ブロック管理テーブルの値を単純に「００ｂ」としてしまうわけにはいかない。
【００７４】
処理が異なるのはステップ４０１、４０２だけであり、以後はステップ４０３でディレクトリエントリに書き込んだファイル情報（ファイル名等）を削除し、ついでステップ４０４で当該ファイルを構成するクラスタのＦＡＴ値を「未使用クラスタ」に更新する。以上でファイルの削除処理が終了する。
【００７５】
以上説明してきたように、本実施形態では、
ａ）書き込み時に、複数個のクラスタ（１２８クラスタ）をまとめた「ブロック」を単位にＨＤＤにアクセスを行うことで、動画データの高速記憶を実現し、
ｂ）動画データから生成させるサムネイル静止画データが、所定サイズ（２クラスタ分）以上生成されて第二バッファに蓄積されている場合には、「ブロック」の一部のクラスタ（後端の２クラスタ）にサムネイル静止画データをインタリーブして書き込みを行うとともに、そのことを混在書き込み管理テーブルに記憶しておく。
ｃ）動画データとサムネイル静止画データの書き込みが終了した後、混在書き込み管理テーブルの記憶内容に基づいて、動画データとサムネイル静止画データが異なるファイルに分割されるよう、ＦＡＴの更新を行うことで、動画データの高速記憶を損なうことなくサムネイル静止画データを、同一の記憶媒体に同時に記録することを可能とした。
【００７６】
また、ファイルを読み込む場合は、従来技術と同様にＦＡＴを参照してチェーンクラスタを順次読み込めばよい。この際、動画データは少なくとも１ブロック内において、所定数（１２６クラスタ）以上の連続したクラスタに記憶されているので、動画データに必要とされるデータ転送速度は読み込み時においても維持される。
【００７７】
なお、上記の実施形態では、動画データから生成される「第二データ」をサムネイル静止画データとして説明を行ったが、本発明はこれに限定されるわけではなく、「第二データ」は、例えばサムネイル動画データや、画像内の文字を認識してコード化したテキストデータなどといった、動画データに対する代表画像データ、特徴データ、インデックス情報とすることができる。
【００７８】
（第２の実施形態）
上記第１の実施形態ではＴＩＦＦのマルチページ形式を用いることで、複数枚生成されるサムネイル静止画データを一つのファイルにまとめて記憶するようになっている。しかしながら、アプリケーションによっては１枚１枚のサムネイル静止画が、個別のファイルであるほうが望ましい場合も考えられる。本実施形態はこのことに対処したものである。
図１３に第２の実施形態におけるサムネイル生成制御回路１６の詳細な構成図を示す。図５で説明した構成に加えて、個別データ管理テーブル４４が追加されている。本実施形態におけるエンコーダ回路４２は、３２Ｋバイト、すなわちクラスタサイズを単位にデータを出力するようになっており、圧縮した結果が３２Ｋバイトの整数倍にならない場合でも、不足部分にＮｕｌｌデータが補填されるようになっている。
【００７９】
そこで、個々のサムネイル静止画データをＤＭＡ転送するごとに、何クラスタ分のデータであったのかを別途記憶しておけば、後にＨＤＤ２１に記憶したデータを複数のファイルに分割することが可能となる。４４はこのことを記憶しておく、３０７２バイト（３０７２×８＝２４５７６ビット）分の大きさのＲＡＭで構成された個別データ管理テーブルである。
【００８０】
個別データ管理テーブル４４は１２ビットずつのフィールドに別れており、各フィールドが、個々のサムネイル静止画データのデータサイズに対応している。ＤＭＡ転送判定回路４７は、１枚１枚のサムネイル静止画データをＤＭＡ転送する度に、そのデータサイズをクラスタの個数として個別管理テーブル４４に記憶していく。２４５７６ビット÷１２ビット＝２０４８個、２＾１２×３２Ｋバイト÷１０２４＝１２８Ｍバイト（「＾」はべき乗を表す記号）であるから、３０７２バイトのＲＡＭで、最大１２８Ｍバイトまでの静止画データを、都合２０４８枚分管理することができる。
【００８１】
なお、個別データ管理テーブル４４は、通常のメモリとしてシステムバス上にもマッピングされており、ＣＰＵ１０で読み取ること、またＣＰＵ１０から書き換えることができるようになっている。
【００８２】
図１４は第２の実施形態におけるＨＤＤ２１の初期化時の動作フローである。図７で説明したステップ１００〜１０４に加えて、ステップ１０４−１で個別データ管理テーブル４４を初期化（全てのフィールドの記憶内容を０に）する。
図１５は第２の実施形態におけるデータを書き込むときの動作フローである。図中のステップ２００〜２１１、２１４、２１５は図８で説明したときと全く同一である。以下、差異部分のみを説明する。
【００８３】
ステップ２１１に続き、ステップ２１１−１において個別データ管理テーブル４４の記憶内容を取得する。ステップ２０４で設定・記憶しておいたブロックの使用順序、ステップ２０９のサーチで取得した混在書き込み管理テーブル４８の記憶内容、ならびに本ステップで取得した個別データ管理テーブル４４の記憶内容の三者を組み合わせることで、どのクラスタにどれだけの大きさの静止画データを何枚書き込んだのかを同定することが可能となる。
【００８４】
そこで、その同定結果に基づきステップ２１２−１でディレクトリエントリにサムネイル静止画データのファイルの情報を書き込んだ枚数分だけ追記する。ここでファイル名は、ステップ２０５で使用したファイル名に（またはファイル名の一部に）「番号.jpg」の添え字および拡張子を追加したものとする。この他、英数字などを適宜組み合わせたファイル名としてもよい。
【００８５】
つぎにステップ２１３−１で、ＨＤＤ２１に記録した動画データと複数枚のサムネイル静止画データが所定の数のファイルに分割されるようにＦＡＴの更新を行う。そしてステップ２１３−２において、個別データ管理テーブル４４の記憶内容をクリア（最初期化）する。
【００８６】
以上説明してきたように、本実施形態では１枚１枚のサムネイル静止画データの大きさを記憶しておく、個別データ管理テーブル４４を備えたことで、個々のサムネイル静止画データを個別のファイルとしてＨＤＤ２１に記憶することができる。
【図面の簡単な説明】
【００８７】
【図１】本発明を実施したデータ記憶装置のブロック図である。
【図２】ＨＤＤ２１の論理的な構成を説明する図である。
【図３】ＨＤＤ２１の論理的な構成を説明する図である。
【図４】ＨＤＤ２１の論理的な構成を説明する図である。
【図５】サムネイル生成制御回路１６の詳細な構成図である。
【図６】ライトバッファメモリ１７と書き込みＤＭＡ要求制御回路１８の詳細な構成図である。
【図７】本発明の主旨に関る動作を説明するフローチャートである。
【図８】本発明の主旨に関る動作を説明するフローチャートである。
【図９】本発明の主旨に関る動作を説明するフローチャートである。
【図１０】本発明の主旨に関る動作を説明するフローチャートである。
【図１１】本発明の主旨に関る動作を説明するフローチャートである。
【図１２】本発明の主旨に関る動作を説明するフローチャートである。
【図１３】第２の実施形態におけるサムネイル生成制御回路１６の詳細な構成図である。
【図１４】第２の実施形態における動作を説明するフローチャートである。
【図１５】第２の実施形態における動作を説明するフローチャートである。
【符号の説明】
【００８８】
１０            ＣＰＵ
１１            ＲＯＭ
１２            ＲＡＭ
１３            ＮＩＣ（ネットワークコントローラ）
１４            外部機器接続インターフェース
１５            デコーダ回路
１６            サムネイル生成制御回路
１７            ライトバッファメモリ
１８            書き込みＤＭＡ要求制御回路
１９            ＤＭＡＣ
２０            ディスクコントローラ
２１            ＨＤＤ（ハードディスクドライブ）
２２            グラフィック・サウンドコントローラ
２３            操作パネル
３０            データ記憶装置
３１            映像機器
３２            モニタ装置
【図１】
2007028221.tif 000003
【図２】
2007028221.tif 000004
【図３】
2007028221.tif 000005
【図４】
2007028221.tif 000006
【図５】
2007028221.tif 000007
【図６】
2007028221.tif 000008
【図７】
2007028221.tif 000009
【図８】
2007028221.tif 000010
【図９】
2007028221.tif 000011
【図１０】
2007028221.tif 000012
【図１１】
2007028221.tif 000013
【図１２】
2007028221.tif 000014
【図１３】
2007028221.tif 000015
【図１４】
2007028221.tif 000016
【図１５】
2007028221.tif 000017