(57)【要約】  【課題】従来、ＡＶクリップのコピーを行う際、オーディオファイル、ビデオファイル、メタデータファイルを一括して高速にコピーする方法がなかった。  【解決手段】ＣＰＵ１０１によりファイルシステムドライバ１０３を動作させ、ファイルシステム１０３を介して記録媒体に対して入出力を行う映像編集装置１００において、転送元記録媒体１２１に記録されたオーディオファイル１５０、ビデオファイル１５１、メタデータファイル１５２などから成るＡＶクリップを転送先記録媒体１２２に転送する際、ファイルシステムドライバ１０３がクリップ情報１５５に基づいてファイルを記録する最小単位であるクラスタサイズ１４０より大きいブロックサイズ１４１の単位で複数のファイルを一括して転送する。  【選択図】  図１
2005122252.tif 000002
【特許請求の範囲】
【請求項１】
記録媒体を接続できる再生装置であって、
前記記録媒体に記録されたファイルを所定のサイズを持つ部分データに分割して読み出すリード用プログラムを有し、
前記リード用プログラムは、前記記録媒体から複数のファイルを読み出す際、前記記録媒体上に前記複数のファイルの部分データのいずれかが連続して存在する場合には、連続する部分データの全部または一部を一回の動作で前記記録媒体から読み出す再生装置。
【請求項２】
前記リード用プログラムは、前記記録媒体のアドレスを等間隔の区間に区切り、区間内に連続して存在する部分データを一回の動作でメモリ上に読み出す請求項１記載の再生装置。
【請求項３】
複数の記録媒体を接続できる再生記録装置であって、
第一の記録媒体に記録されたファイルを所定のサイズを持つ部分データに分割して読み出すリード用プログラムと、
ファイルを所定のサイズを持つ部分データに分割して第二の記録媒体に記録するライト用プログラムとを有し、
前記リード用プログラムは、前記第一の記録媒体から複数のファイルを読み出す際、前記第一の記録媒体上に前記複数のファイルの部分データのいずれかが連続して存在する場合には、連続する部分データの全部または一部を一回の動作で前記第一の記録媒体から読み出し、
前記ライト用プログラムは、読み出した部分データを連続したアドレスに記録するための空き領域を前記第二の記録媒体から検索し、前記読み出した部分データを一回の動作で前記第二の記録媒体上の前記空き領域に記録する再生記録装置。
【請求項４】
前記リード用プログラムは、前記第一の記録媒体のアドレスを等間隔の区間に区切り、区間内に連続して存在する部分データを一回の動作で読み出す請求項３記載の再生記録装置。
【請求項５】
前記第二の記録媒体は半導体フラッシュメモリであり、前記区間の長さは前記半導体フラッシュメモリの消去ブロックサイズである請求項４記載の再生記録装置。
【請求項６】
記録媒体を接続できる再生記録装置であって、
前記記録媒体に記録されたファイルを所定のサイズを持つ部分データに分割して読み出す機能と、ファイルを所定のサイズを持つ部分データに分割して前記記録媒体に記録する機能とを持つリード／ライト用プログラムを有し、
前記リード／ライト用プログラムは、前記記録媒体から複数のファイルを読み出す際、前記記録媒体上に前記複数のファイルの部分データのいずれかが連続して存在する場合には、連続する部分データの全部または一部を一回の動作で前記記録媒体から読み出し、
読み出した部分データを連続したアドレスに記録するための空き領域を前記記録媒体から検索し、前記読み出した部分データを一回の動作で前記記録媒体に記録する再生記録装置。
【請求項７】
前記リード／ライト用プログラムは、前記記録媒体のアドレスを等間隔の区間に区切り、区間内に連続して存在する部分データを一回の動作で読み出す請求項６記載の再生記録装置。
【請求項８】
前記記録媒体は半導体フラッシュメモリであり、前記区間の長さは前記半導体フラッシュメモリの消去ブロックサイズである請求項７記載の再生記録装置。
【請求項９】
前記複数のファイルは少なくともビデオファイルとオーディオファイルとを含むＡＶクリップであり、前記ＡＶクリップを構成する全てのファイルのディレクトリパスを含むクリップ情報により前記複数のファイルを特定する請求項３から８のいずれかに記載の再生記録装置を有する映像編集装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオファイル、オーディオファイルとメタデータファイルから成るＡＶクリップを編集する映像編集装置において、ＡＶクリップを構成する複数のファイルを半導体メモリ等の記録媒体間で転送する際、記録媒体の特性を利用して高速に転送できる映像編集装置に関する。
【背景技術】
【０００２】
近年、半導体メモリカードに映像を記録し、編集・再生できる機器が増加している。また、メモリカードの大容量化により、ＤＶ規格（ＩＥＣ  ６１８３４）のＮＴＳＣ信号といったデータ量の大きい高品質の映像を、充分な時間記録できるようになってきた。
【０００３】
半導体メモリカードは、一般に複数のフラッシュメモリで構成される。フラッシュメモリはメモリ・セルと呼ばれる最小単位でデータを保持する。一方、フラッシュメモリの特性により、データの記録は記録ブロックサイズ、消去は消去ブロックサイズと呼ばれるメモリ・セルより大きいブロック単位で行われる。フラッシュメモリはその特性上、オーバーライト動作ができないので、書き込みには消去動作が伴う。消去ブロックサイズは記録ブロックサイズより大きいため、消去ブロックサイズ単位で書き込むことで、高速な書き込み動作が行える。また、リード／ライト動作を連続して行う場合、光ディスクなど他の記録媒体と同様、連続アドレスに対するリード／ライト動作の方がランダムアドレスに対するリード／ライト動作より速くなる。
【０００４】
メモリカードやハードディスク、光ディスクなどの記録媒体は、ＰＣや機器からファイルとしてアクセス可能にするため、ＦＡＴ（Ｓｔａｎｄａｒｄ  ＥＣＭＡ−１０７：  Ｖｏｌｕｍｅ  ａｎｄ  Ｆｉｌｅ  Ｓｔｒｕｃｔｕｒｅ  ｏｆ  Ｄｉｓｋ  Ｃａｒｔｒｉｄｇｅｓ  ｆｏｒ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｉｎｔｅｒｃｈａｎｇｅ）やＵＤＦ（ＯＳＴＡ：  Ｕｎｉｖｅｒｓａｌ  Ｄｉｓｃ  Ｆｏｒｍａｔ）といったファイルシステムを用いてデータを読み書きすることが多い。図１０は、ファイルシステムを用いたＰＣや機器におけるソフトウェアモジュールの階層を示している。ＰＣや機器に組み込まれたアプリケーション５１３からメモリカード等の記録媒体５１０に読み込み／書き込みを行う場合、カーネル空間プログラムであるファイルシステムドライバ５１２がアプリケーション５１３からのＩ／Ｏ要求を処理する。ファイルシステムドライバ５１２はファイルシステムフォーマットに記録するための独自のＩ／Ｏ要求をデバイスドライバ５１１に発行し、デバイスドライバ５１１が記録媒体５１０上に最終的なＩ／Ｏ要求を送る。
【０００５】
ファイルシステムフォーマットの一例として、ＦＡＴフォーマットについて図１２を用いて説明する。図１２のように、メモリカードやハードディスク等の物理ドライブ６００は、領域の先頭に置かれるマスターブートレコード６０２と１個以上の論理ドライブ６０１から構成されるのが一般的である。１個の論理ドライブ６０１は、１種類のファイルシステムでフォーマットされる。ＦＡＴフォーマットの場合、領域の先頭からパーティションブートセクタ６０３、ＦＡＴ６０４、ＦＡＴのバックアップ６０４ｂ、ルートディレクトリエントリ６０５というシステム領域が配置され、システム領域の後ろにユーザデータ領域６０６が配置される。パーティションブートセクタ６０３には、パーティションのセクタ数やクラスタサイズといったパーティションを起動するのに必要な情報が記録される。ＦＡＴ６０４には、ファイルの記録情報が置かれる。図１２の右上図に示すように、ＦＡＴ６０４には１２ビットや１６ビットといった単位でファイルの次のデータが存在するクラスタ番号を記録する。この例では、クラスタ番号３の位置に４が記録されており、クラスタ番号４の位置に７が記録されている。クラスタ番号７の位置に終了マークが記録される。ルートディレクトリエントリ６０５には、ルートディレクトリに置かれているファイル又はフォルダの情報がエントリとして記録される。エントリの情報には、ファイルのデータが置かれる先頭のクラスタ番号が含まれる。ユーザデータ領域６０６には、ファイルのデータ自体が置かれる。図１２の右下図の例では、クラスタ３、４、７にファイルのデータを記録する。この記録状態は、右上図のＦＡＴ６０４と常に対応づけられている。
【０００６】
図１２のＦＡＴファイルシステムにおけるファイルの記録手順を図１３のフローチャートを用いて説明する。図１０のファイルシステムドライバ５１２におけるファイルの記録処理６５０が開始されると、まずファイルを構成する部分データを内部バッファに読み込むステップ６５１を行う。部分データの大きさは、ファイルシステムドライバの構造やファイルを記録する状況により異なる。次に、転送先の空き領域の検索ステップ６５２を行う。ファイルは、クラスタと呼ばれる単位（数ＫＢ〜数十ＫＢ程度）に分割して記録するため、空き領域はクラスタ単位で検索する。空き領域の検索は、クラスタを管理するＦＡＴ６０４にて行う。空き領域が検索されると、ＦＡＴとディレクトリエントリの更新ステップ６５３を行う。予めＦＡＴ領域とディレクトリエントリを確保しておくことにより、他のプロセスから同じ領域にアクセスされることによる危険を回避できる。クラスタ単位の記録処理の実行ステップ６５４では、クラスタ単位に分割されたデータを記録する。内部バッファに蓄積された部分データの記録が完了したかどうかをステップ６５５で判定する。以上の動作をファイルの記録が完了するまでステップ６５６で判定して繰り返すことにより、ファイルの記録が終了する。以上において、記録媒体に対するリード／ライト動作を行う際には、図１０のデバイスドライバ５１１を駆動してリード処理６６０とライト処理６６１を実行させる。
【０００７】
以上説明したように、ファイルシステムは、記録媒体の空き場所の検索やディレクトリエントリの作成、データの内部バッファへのキャッシュ処理、クラスタ単位やセクタ単位への分割書き込み処理といった複雑な処理を行う。特に、クラスタ単位のリード／ライト処理を行う場合、図１２の右上図及び右下図で示したクラスタのアドレスの連続性が大きくパフォーマンスに影響する。
【０００８】
ところで、データ量の大きい高品質の映像に対して記録やコピーなどのデータ転送処理を行う場合、半導体メモリカードの記録レートはまだ充分に速いとは言えない。例えば標準的なメモリカードの記録レートを１ＭＢ／Ｓ（＝８Ｍｂｐｓ）として、約２５ＭｂｐｓのＤＶ−ＮＴＳＣ信号をハードディスクからメモリカードにコピーするには、元の映像の記録時間に対して約３倍（＝２５／８）の時間を要する。一方、半導体メモリカードにアクセスするデバイスドライバやファイルシステムドライバといったソフトウェア側での処理によっては、さらにその２倍程度の時間を要してしまうことがあるという課題があった。
【０００９】
半導体メモリカードの記録レートをフラッシュメモリを用いるソフトウェア側で改善する技術として、例えば消去動作を記録時以外の時間に行うことで記録動作を高速に行う技術が知られている（例えば、特許文献１参照。）。
【特許文献１】特開平９−１８２０１０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
半導体メモリカードを、放送用の編集や制作用途に利用するには、記録レートの影響は一層大きくなる。これらの用途では、図１１の例に示すように、ビデオやオーディオをエッセンスファイルと呼ばれる独立したファイルとして記録する。一般的には、ビデオファイル５０２はＤＶと同等以上の品質のビデオであり、オーディオファイル５０３〜５０６は高品質かつマルチチャンネルのＰＣＭオーディオである。メタデータファイル５０７は、撮影現場で映像に付随して記録される、例えば撮影者、撮影場所、日時といった情報である。また、メモリカードにはエッセンスファイル以外に、各エッセンスファイルを関連付けるクリップ情報５０１を記録する。  
【００１１】
以上のように構成されるＡＶクリップ５００を、メモリカードなどの記録媒体間でコピー又は移動する際、ファイルシステムを通して各エッセンスファイルを独立に処理すると、クラスタサイズやセクタサイズといった小さい単位や、記録媒体の特性に関係ない単位でアクセスが行われるため、ファイルの転送に非常に時間を要するという課題があった。
【００１２】
このような課題に鑑み、本発明は、ＡＶクリップを構成する複数のファイルを半導体メモリ等の記録媒体間で転送する際、記録媒体の特性を利用して高速に転送できる映像編集装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、本発明の再生記録装置は、複数の記録媒体を接続できる再生記録装置であって、第一の記録媒体に記録されたファイルを所定のサイズを持つ部分データに分割して読み出すリード用プログラムと、ファイルを所定のサイズを持つ部分データに分割して第二の記録媒体に記録するライト用プログラムとを有し、前記リード用プログラムは、前記第一の記録媒体から複数のファイルを読み出す際、前記第一の記録媒体上に前記複数のファイルの部分データのいずれかが連続して存在する場合には、連続する部分データの全部または一部を一回の動作で前記第一の記録媒体から読み出し、前記ライト用プログラムは、読み出した部分データを連続したアドレスに記録するための空き領域を前記第二の記録媒体から検索し、前記読み出した部分データを一回の動作で前記第二の記録媒体上の前記空き領域に記録する構成としたものである。
【発明の効果】
【００１４】
本発明によって、複数ファイルを単一のファイルとして扱うことでクラスタのアドレスが連続する確率を高めると共に、入出力が高速に行えるブロック単位に複数ファイルを一括して転送するので、半導体メモリカードなどの記録媒体間でＡＶクリップを構成する複数ファイルを転送する際に、高速な転送処理を実現できる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態について、図１から図７を用いて説明する。
（実施の形態１）
図２は、本発明による映像編集装置の構成図である。図２において、映像編集装置１００は、少なくともＣＰＵ１０１、メモリ１０２、アドレスバス１１０、データバス１１１から構成される。加えて、ＯＳなどのプログラムやデータを格納するＨＤＤ１０５、入出力を接続するための入力コントローラ１１２、出力コントローラ１１３を有する。１６０はユーザからの入力手段である編集コントローラ、１６１はディスプレイ、１２０は着脱可能なメモリカードである。
【００１６】
メモリカード１２０に記録された映像データを編集する過程を、図２を用いて説明する。映像編集装置１００の電源を投入すると、ＨＤＤ１０５に格納されたＯＳプログラム１０６が起動し、ファイルシステムドライバのプログラム１０３、デバイスドライバのプログラム１０４がメモリ１０２上にロードされる。ファイルシステムドライバ１０３及びデバイスドライバ１０４は、メモリカード１２０に対してファイル入出力を行うのに必要な機能を有する。但しメモリカード１２０だけでなく、ハードディスクや光ディスクなどの記録媒体へのファイル入出力に用いても良い。
【００１７】
ユーザがメモリカード１２０を映像編集装置に接続すると、ＯＳ１０６はプラグアンドプレイ機能によりメモリカード１２０を認識し、デバイスドライバ１０４を駆動する。ファイルシステムドライバ１０３は、デバイスドライバ１０４を経由してメモリカード１２０上のファイルフォーマットを認識し、論理ドライブとしてマウントする。ユーザはＯＳ上で編集アプリケーション１８０を起動して、編集コントローラ１６０を操作することにより、メモリカード１２０上の映像データを編集・加工することができる。
【００１８】
以上のような映像データを編集する過程において、あるシーンのＡＶクリップをメモリカード１２０間でコピー又は移動したり、ＨＤＤ１０５上にあるＡＶクリップをメモリカード１２０にコピーする作業が必要となる。メモリカード間でＡＶクリップを高速にコピーする時の動作について、図１を用いて説明する。なお、既出の構成要素については同一の番号を振り、説明を省略する。図１において、１２１は転送元メモリカード、１２２は転送先メモリカードである。説明を簡明にするため、「転送元」と「転送先」という名前を付与している。１３０と１３１はメモリカード内部のフラッシュメモリへ入出力を行うためのコントローラ、１４０はファイルシステムのクラスタサイズ、１４１はクラスタサイズをＭ（Ｍは自然数）個集めたブロックサイズである。１５０はオーディオファイルの一部、１５１はビデオファイルの一部、１５２はメタデータファイルの一部、１５５はクリップ情報である。
【００１９】
転送元メモリカード１２１へのファイルの記録は、映像編集装置１００やメモリカードスロットを搭載したカメラレコーダで行うことができる。図１に示すようにオーディオファイル１５０、ビデオファイル１５１、メタデータファイル１５２といったエッセンスファイルはクラスタサイズ１４０の単位で同時並行的に記録されるため、それぞれのファイルが分散して記録されることになる。図１２のＦＡＴファイルシステムの場合、各エッセンスファイルはクラスタ６１０のサイズに分割されて、ユーザデータ領域６０６に記録される。各部分データの連結情報は、ＦＡＴ６０４に記録される。また、ファイル名とディレクトリパスの情報は、ルートディレクトリエントリ６０５を基点として、ユーザデータ領域６０６のディレクトリエントリ領域に記録される。
【００２０】
このように転送元メモリカード１２１上に記録されたＡＶクリップを、転送先メモリカード１２２にコピーするには、図１４のような階層構成のプログラムを用いる。この図における転送元記録媒体５１０ａと転送先記録媒体５１０ｂは、同じデバイスドライバ５１１で駆動できる記録媒体である。同じ種類のメモリカード間での転送や、ＵＳＢインターフェースに接続する記録媒体間での転送がこれに該当する。図１４の特殊な例として、転送元と転送先の記録媒体が同一の場合がある。この場合は、図１０の階層構成となる。
【００２１】
一般的なプログラム構成は、転送元記録媒体５１０ａと転送先記録媒体５１０ｂが異なる種類の記録媒体でかつ異なるファイルシステムを持つ図１５のような構成である。この場合は、デバイスドライバが５１１ａと５１１ｂ、ファイルシステムドライバが５１２ａと５１２ｂのように独立している。ＵＤＦフォーマットの光ディスクからＦＡＴフォーマットのメモリカードへの転送などが、この代表例である。先に説明した図１４と図１０の場合、及び図１６や図１７のようにファイルシステムドライバやデバイスドライバが共通の場合は全て、図１５の特殊なケースとして簡単に対応できる。よって、本実施の形態では、図１５の一般的なプログラム構成に対して、ＡＶクリップのコピー動作を説明する。
【００２２】
まず、アプリケーション５１３としては、例えば図３のようなファイル操作画面２００を利用する。ファイル操作画面２００は、編集アプリケーションプログラム１８０の一機能として提供することができる。図３では、画面左側と画面右側の２つの論理ドライブに含まれるＡＶクリップの一覧を表示している。表示するドライブやディレクトリパスをボックス２０１で切り替えることができる。ＡＶクリップ２０２は、クリップの代表フレームの静止画か動画で表示される。ＡＶクリップ２０２の下にはタイムコードやファイル名などの付加情報２０３が表示される。ＥドライブのＡＶクリップ２０２をカーソル２０５で選択してＦドライブの空きスペース２０４に動かすと、ＡＶクリップ２０２はＦドライブにコピーされる。
【００２３】
このように転送元メモリカード１２１上に記録されたＡＶクリップを、転送先メモリカード１２２にコピーする際のアプリケーションプログラム１８０の内部動作を、図４のフローチャートを用いて説明する。
【００２４】
アプリケーションにおけるＡＶクリップのコピー処理２１０は、最初にクリップ情報の読み込みステップ２１１を実行する。即ち、図１のクリップ情報１５５を読み込む。次に、クリップ情報を構成するファイルリストの作成ステップ２１２を行う。ファイルリストの例を、図１８に示す。ファイルリストは、図１１で示したエッセンスファイルのリストであり、少なくともファイルの個数と、個々のファイル名とディレクトリパスの情報を持っている。必要に応じて、ビデオ（Ｖ）、オーディオ（Ａ）、メタデータ（Ｍ）等を示すファイルタイプや、ファイルサイズやアドレスの存在範囲といった、コピーを円滑に行うための付加情報を持つこともできる。
【００２５】
ファイルリストを作成すると、部分処理単位の設定ステップ２１３を行う。これは、転送する複数ファイルのサイズなどの付加情報に応じて、一度に処理するデータ量を制限するための処理である。この制限により、例えばファイルシステムドライバの使用するメモリ量の節約やコピー時のタイムラグの低減が行える。逆に、連続アドレスからの読み出しや書き込みによる高速処理のため、この部分処理単位は、円滑な転送処理を妨げない程度の連続した単位とする必要がある。部分処理単位の設定方法として、例えば複数ファイルの存在するユーザデータ領域のクラスタアドレスの範囲をある一定数に分割し、個々の分割された範囲を部分処理単位とすることができる。
【００２６】
次に、基本転送サイズＲの決定ステップ２１４を行う。基本転送サイズＲとは、転送元と転送先の記録媒体の物理特性に基づいて、転送処理を高速に行うための一回の転送におけるデータサイズを定めるものである。転送元の対象となるデータがＲ個以上の連続したクラスタに存在すれば、この基本転送サイズＲで転送する。Ｔ個（Ｔ＜Ｒ）だけ連続していれば、サイズＴで転送するものである。このステップの処理例を図５（Ａ）に示す。この例は、上側の転送元の網掛けで示したデータを下側の転送先に転送する場合を示している。メモリカードの物理特性から、転送元メモリカードの読み出し速度が速くなるブロックサイズがＭ＝４、転送先メモリカードの書き込み速度が速くなるブロックサイズがＮ＝６であると仮定する。この時、ＲをＭとＮの公倍数とすれば、１回のアクセスが読み出し側と書き込み側のそれぞれの速くなるブロック境界を跨がないため良い。読み出し速度が書き込み速度より十分速い場合には、図５（Ｂ）のようにＲを書き込み側のブロックサイズＮとすることもできる。メモリカードの場合には、Ｎを消去ブロック単位とすることで、書き込み時の高速化を図ることができる。以上のようにして、記録媒体に適した基本転送サイズＲを決定する。
【００２７】
図５でＲを定義したが、実際の転送処理では、一回の転送サイズＲの内部でブロックの境界を跨がない条件を成り立たせる必要がある。図５（Ａ）のように一回の転送の開始位置が１クラスタだけ後方にずれると、最後方の１クラスタが次のブロックに跨るため、読み出す必要のあるブロック数が３から４に増え、転送速度が低下する。これを防ぐためには、媒体上における読み出しと書き込みのそれぞれの開始アドレスが、Ｒの倍数でなければならない。
【００２８】
部分処理単位と基本転送サイズが決定すると、最初の部分処理単位から順に、部分処理単位のコピー処理２２０を行う。この処理では、必要なファイルシステムドライバを駆動してステップ２２１からステップ２２３の処理を行う。まず、転送元の対象クラスタマップの作成ステップ２２１を行う。このステップの処理例を図６に示す。図中の小文字のアルファベットは、ファイルの種類を示している。図６（１）のように、転送元記録媒体のＦＡＴ領域において、転送の対象ファイルが記録されているクラスタを調べる。これはファイルａ、ｂ、ｃを転送する場合の例であり、該当するクラスタを網掛けで図示している。次に図６（２）のように、指定されたファイルリストのファイルが占有するクラスタを１に、それ以外のクラスタを０にしたマップ（以下、対象クラスタマップと称す）を作成する。対象クラスタマップは、複数ファイルを構成するファイルに関係なく、転送すべき全てのクラスタの位置情報を表している。
【００２９】
対象クラスタマップの作成ステップ２２１が完了すると、転送先の空き領域の検索ステップ２２２を行う。このステップの処理を図７に示す。ここでは基本転送サイズとしてＲ＝６を選択した例を示すが、Ｒ＝１２など他の値を選択した場合でも同様である。図７（１）は、ステップ２２１で作成した対象クラスタマップをＭ＝４毎からＮ＝６毎のブロックにまとめ直して示している。図７（１）の転送元のマップの先頭から順に１ブロック分毎、もしくは１連続データ毎に、図７（２）の転送先のＦＡＴに書き込める領域があるか検索する。ブロックＡ、Ｂ、Ｃは１ブロック分が全て対象クラスタで埋まっているので、転送先のＦＡＴから１ブロック分が連続して空いているクラスタを検索する。連続データＤ、Ｅ、Ｆ、Ｇは、１ブロックに満たないサイズのため、転送先のＦＡＴから該当するサイズの空きクラスタを検索する。この場合、連続データＤのように、転送元と転送先の連続データのブロック内における位置は、必ずしも一致する必要はない。この処理において、アプリケーションは、対象クラスタマップの各ブロック又は連続データの転送先アドレスをメモリ上に記憶しておく。
【００３０】
転送先の空き領域の検索ステップ２２２が完了すると、デバイスドライバを駆動してブロック単位のコピー処理の実行２２３を行う。このステップの処理を図８に示す。図８のように、対象クラスタマップと転送先アドレスを利用して、各ブロックを転送元メモリカードから転送先メモリカードへダイレクト転送する。
【００３１】
ダイレクト転送の動作を、図９（Ａ）に示す。基本転送サイズのデータが１個分格納できるバッファメモリをカーネル空間に確保する。転送動作は、図中の（１）から（８）までの順に行われる。即ち、転送元記録媒体のデバイスドライバａにメモリのアドレスを示すポインタを渡し、１ブロックのデータをメモリ内に読み出す。次に、転送先記録媒体のデバイスドライバｂにメモリのアドレスを示すポインタを渡し、１ブロックのデータを転送先記録媒体に書き込む。同じメモリ領域を利用して、この操作を１ブロック毎に繰り返すことで、ダイレクト転送が行われる。この時、カーネル空間のメモリへのデータコピーは一度しか行われない。メモリへのコピー処理を最小限にすることにより、高速な転送処理が可能となる。また、図９（Ｂ）のように複数のバッファメモリを用意して、それを巡回して利用することにより、連続する転送動作が時間的にオーバーラップすることを可能にし、一層の高速化を図ることができる。ダイレクト転送において、デバイスドライバａとｂを駆動する代わりに、ファイルシステムドライバａとｂを駆動しても良い。しかし、転送元と転送先のアドレス情報を記憶しておけば、アプリケーションから直接デバイスドライバを駆動する方がより高速に転送処理が行えることが多い。
【００３２】
図８の例では、ＡからＧまでの７回のダイレクト転送が実施される。一般的なファイル転送により図８のコピー処理を実施すると、ファイルａ、ｂ、ｃの順に連続するブロックをコピーすることになり、計１４回の転送動作が必要となる。本発明は、ブロック内に異なるファイルが混在するような状況であるほど、効果が大きくなる。カメラレコーダなどの機器でデータ量の大きい複数のファイルを同時にリアルタイムに記録する場合、複数のファイルを連続したアドレスに混在させて記録することで高い転送レートが確保できることが多いため、本発明は特に有効である。
【００３３】
以上説明したように本実施の形態によると、半導体メモリカードにおいて、連続リード／ライト処理と、ランダムリード／ライト処理で平均所要時間が大きく異なることに基づいて、複数ファイルを単一のファイルとみなす対象クラスタマップを作成することにより、記録媒体上で連続リード／ライト処理の実行できる確率を高め、高速な転送処理を実行することが可能となる。
【００３４】
本実施の形態では転送元及び転送先の記録媒体をメモリカードとして説明したが、片方又は両方がハードディスクや光ディスクなどの他の記録媒体の場合でも、本発明は効果的である。特にディスク状の媒体の場合、アドレスが連続していない場合はシーク時間が必要になるため、対象クラスタマップを作成して複数のファイルを一括して転送するのは非常に有効である。本実施例では転送元記録媒体と転送先記録媒体でブロックサイズが異なる例を示したが、同じブロックサイズでも適用できるのは明らかである。転送元記録媒体と転送先記録媒体のブロックサイズは任意の大きさが適用できる。ＦＡＴファイルシステムを例にとって説明したが、ファイルをクラスタのような一定のサイズに分割して記録するものであれば、他のファイルシステムにも適用できる。また、転送元記録媒体と転送先記録媒体のように２つの記録媒体間で転送を行わず、同じ記録媒体の異なるパーティション間や同じパーティション内の２つの領域間でも本発明が適用できることは明らかである。
【００３５】
本実施の形態では転送元と転送先でクラスタサイズが同じと仮定して説明したが、クラスタサイズが異なる場合でも適用できる。一般的には、クラスタサイズは２のべき乗の自然数である。例えば転送元のクラスタサイズが８ＫＢ、転送先のクラスタサイズが１６ＫＢの場合を考える。図６の対象クラスタマップを８ＫＢ単位で作成し、２個毎の隣接するクラスタをＯＲ演算でまとめ、１６ＫＢ単位のクラスタマップに変換する。図７の空き領域の検索は１６ＫＢ単位で行う。図８の実際の転送時には、転送元から転送する際に、８ＫＢの端数が残るブロックは、残りをゼロで埋めた１６ＫＢのデータとする。このようにして、大きいクラスタサイズの記録媒体への転送ができる。逆に、転送元のクラスタサイズが１６ＫＢ、転送先のクラスタサイズが８ＫＢの場合を考える。図６の対象クラスタマップを１６ＫＢ単位で作成し、各クラスタのマップデータを複製して２倍にする。図７の空き領域の検索は８ＫＢ単位で行うが、１６ＫＢにアライメントされた領域を検索するのが望ましい。図８の実際の転送時は、通常に転送すれば良い。以上のようにして、クラスタサイズが異なる場合にも、本実施例は適用できる。
【００３６】
本実施の形態は、図１０、及び図１４から図１７に示したプログラム構成に基づいているが、アプリケーションがファイルシステムドライバの処理やデバイスドライバの処理を包含する構成も可能なことは明らかである。また、ユーザ空間とカーネル空間の処理を区別しないＯＳ上でも、記録媒体間でメモリを介したコピーを行えるものであれば、本発明を実施できる。ファイルを転送するアプリケーションとして図３の例を用いて説明したが、ファイルを転送するという目的を達成するものであれば、この形式に限定するものではない。
【００３７】
本発明は、ファイルを読み出して書き込むという再生記録装置だけでなく、ファイルを読み出す再生装置にも適用できる。再生装置でＡＶクリップを再生する際は、ＡＶクリップを構成する複数ファイルを同時に開いて、クラスタマップにより一括してメモリ上にデータを読み込む。メモリ上のデータをファイル別に再生手段に供給すれば、ＡＶクリップの再生が行える。
【００３８】
本発明の利点は、転送元と転送先の記録媒体において、記録媒体の容量、記録媒体の種類、ファイルシステムの種類などが異なっても、適用できる点である。よって、単に記録媒体の絶対アドレスに基づいてデータの複製を行うＤＯＳのＤＩＳＫＣＯＰＹコマンドのような方法と比べ、汎用性が高い。また、記録媒体が最も高速に入出力できるブロックサイズに基づいてダイレクト転送を行うため、高速な転送を実現できる。
【産業上の利用可能性】
【００３９】
大容量の複数のファイルを記録媒体間で高速に転送する必要のある映像編集装置などの用途に適用できる。
【図面の簡単な説明】
【００４０】
【図１】本発明の実施の形態１におけるＡＶクリップと映像編集装置の構成図
【図２】同実施の形態１における映像編集装置の構成図
【図３】同実施の形態１におけるコピーアプリケーションの例を示す図
【図４】同実施の形態１におけるＡＶクリップのコピー処理を示すフローチャート
【図５】同実施の形態１における基本転送サイズＲの決定処理を示す図
【図６】同実施の形態１における転送元の対象クラスタマップの作成処理を示す図
【図７】同実施の形態１における転送先の空き領域の検索処理を示す図
【図８】同実施の形態１におけるブロック単位のコピー処理の実行処理を示す図
【図９】同実施の形態１におけるダイレクト転送を説明する図
【図１０】ファイルシステムを用いたＰＣや機器におけるソフトウェアモジュールの一般的な構成を示す図
【図１１】ＡＶクリップの構成例を示す図
【図１２】ＦＡＴファイルシステムの構成を説明する図
【図１３】ＦＡＴファイルシステムにおけるファイルの記録手順を示すフローチャート
【図１４】本発明の実施の形態１におけるプログラム構成の一例を示す図
【図１５】同実施の形態１における一般的なプログラム構成を示す図
【図１６】同実施の形態１におけるプログラム構成の一例を示す図
【図１７】同実施の形態１におけるプログラム構成の一例を示す図
【図１８】同実施の形態１におけるファイルリストの例を示す図
【符号の説明】
【００４１】
１００  映像編集装置
１０１  ＣＰＵ
１０２  メモリ
１０３  ファイルシステムドライバのプログラム
１０４  デバイスドライバのプログラム
１０５  ＨＤＤ
１０６  ＯＳのプログラム
１２０  メモリカード
１２１  転送元メモリカード
１２２  転送先メモリカード
１３０  コントローラ
１４０  クラスタサイズ
１４１  ブロックサイズ
１５０  オーディオファイルの一部
１５１  ビデオファイルの一部
１５２  メタデータファイルの一部
１５５  クリップ情報
１８０  編集アプリケーションのプログラム
２００  ファイル操作画面
２１０  ＡＶクリップのコピー処理
２１１  クリップ情報の読み込み処理
２１２  ファイルリストの作成処理
２１３  部分処理単位の設定処理
２１４  基本転送サイズＲの決定処理
２２０  部分処理単位のコピー処理
２２１  転送元の対象クラスタマップの作成処理
２２２  転送先の空き領域の検索処理
２２３  ブロック単位のコピー処理の実行処理
２３０  デバイスドライバａのリード処理
２３２  デバイスドライバｂのリード処理
２３３  デバイスドライバｂのライト処理
５００  ＡＶクリップ
６５０  ファイルの記録処理
６６０  デバイスドライバのリード処理
６６１  デバイスドライバのライト処理
【図１】
2005122252.tif 000003
【図２】
2005122252.tif 000004
【図３】
2005122252.tif 000005
【図４】
2005122252.tif 000006
【図５】
2005122252.tif 000007
【図６】
2005122252.tif 000008
【図７】
2005122252.tif 000009
【図８】
2005122252.tif 000010
【図９】
2005122252.tif 000011
【図１０】
2005122252.tif 000012
【図１１】
2005122252.tif 000013
【図１２】
2005122252.tif 000014
【図１３】
2005122252.tif 000015
【図１４】
2005122252.tif 000016
【図１５】
2005122252.tif 000017
【図１６】
2005122252.tif 000018
【図１７】
2005122252.tif 000019
【図１８】
2005122252.tif 000020