(57)【要約】【課題】  遠隔操作にて簡単な操作により所望のカットを検索可能とする。【解決手段】  取外し可能記録媒体３０にはインデックス画像とそのインデックス画像が取り出されたカットのビデオ映像のテープ上の位置情報とが記録されており、ユーザインターフェイスからインデックス画像が選択されると、該インデックス画像と共に記録されているテープ位置情報を読み出し、制御部１３は読み出したテープ位置情報に基づいてテープ１１を走行させて、該当のテープ位置から再生動作を開始させる。【選択図】  図１
2005167709.tif 000002
【特許請求の範囲】
【請求項１】
第１の記録媒体に対して記録を行う記録装置であって、
上記第１の記録媒体に記録を行う第１の記録手段と、
少なくとも上記第１の記録媒体上のデータの記録位置を示す情報を記録するための第２の記録媒体に記録を行う第２の記録手段と、
通信手段とを具備し、
上記通信手段は上記第２の記録媒体に記録する情報を送信することを特徴とする記録装置。
【請求項２】
個々の第１の記録媒体を識別するための識別手段を具備したことを特徴とする請求項１に記載の記録装置。
【請求項３】
上記第２の記録手段は上記識別手段の出力する情報を記録することを特徴とする請求項２に記載の記録装置。
【請求項４】
上記通信手段は上記識別手段の出力情報を他の装置に送信することを特徴とする請求項２又は３に記載の記録装置。
【請求項５】
上記第１の記録手段は少なくとも画像情報を記録する記録手段であって、第１の記録手段が記録する画像情報から、当該画像情報を識別するためのデータを抽出するための抽出手段を具備することを特徴とする請求項１〜４のいずれか１項に記載の記録装置。
【請求項６】
上記第２の記録手段は上記抽出手段の出力を記録することを特徴とする請求項５に記載の記録装置。
【請求項７】
上記通信手段は上記抽出手段の出力を他の装置に送信することを特徴とする請求項４又は５に記載の記録装置。
【請求項８】
第１の記録媒体に対して記録を行う記録装置であって、
上記第１の記録媒体に記録を行うとともに上記第１の記録媒体に該記録媒体を識別するための識別情報を記録する第１の記録手段と、
少なくとも上記第１の記録媒体上のデータの記録位置を示す情報と上記識別情報とを関連付けて記録するための第２の記録媒体に記録を行う第２の記録手段と、
通信手段とを具備し、
上記通信手段は上記第２の記録媒体に記録する情報を送信することを特徴とする記録装置。
【請求項９】
上記第１の記録手段は少なくとも画像情報を記録する記録手段であって、第１の記録手段が記録する画像情報から、当該画像情報を識別するためのデータを抽出するための抽出手段を具備することを特徴とする請求項８に記載の記録装置。
【請求項１０】
上記第２の記録手段は上記抽出手段の出力と上記第１の記録媒体の記録位置情報と上記第１の記録媒体の識別情報とを関連つけて記録することを特徴とする請求項９に記載の記録装置。
【請求項１１】
上記通信手段は上記抽出手段の出力を他の装置に送信することを特徴とする請求項９又は１０に記載の記録装置。
【請求項１２】
上記通信手段により他の装置と接続されたことを検出する検出手段を具備することを特徴とする請求項１〜１１のいずれか１項に記載の記録装置。
【請求項１３】
上記通信手段は上記検出手段の出力に基づいて送信を行うことを特徴とする請求項１２に記載の記録装置。
【請求項１４】
上記通信手段は上記第１の記録手段が記録する絶対トラック番号を送信することを特徴とする請求項１〜１３のいずれか１項に記載の記録装置。
【請求項１５】
上記通信手段は上記第１の記録手段が記録するタイムコードを送信することを特徴とする請求項１〜１４のいずれか１項に記載の記録装置。
【請求項１６】
上記通信手段は上記第１の記録手段が記録する記録時刻情報を送信することを特徴とする請求項１〜１５のいずれか１項に記載の記録装置。
【請求項１７】
上記第１の記録媒体は取外し可能な記録媒体であることを特徴とする請求項１〜１６のいずれか１項に記載の記録装置。
【請求項１８】
上記第２の記録媒体は取外し可能な記録媒体であることを特徴とする請求項１〜１７のいずれか１項に記載の記録装置。
【請求項１９】
上記通信手段は、IEEE1394に準拠したディジタルインターフェイスに基づく通信手段、USBに基づく通信手段、IEEE802に基づく通信手段、Bluetoothに基づく通信手段、UWB（Ultra Wide Band）に基づく通信手段のいずれかであることを特徴とする請求項１〜１８のいずれか１項に記載の記録装置。
【請求項２０】
請求項１〜１９のいずれか１項に記載の記録装置の各手段を備え、更に上記第１の記録媒体からデータを再生するための第１の再生手段と、上記第２の記録媒体に記録されたデータを再生するための第２の再生手段と、上記第２の再生手段の出力を他の装置に送信する通信手段とを具備することを特徴とする記録再生装置。
【請求項２１】
上記第１の再生手段は上記第２の再生手段の出力に基づいて、上記第１の記録媒体からデータを再生することを特徴とする請求項２０に記載の記録再生装置。
【請求項２２】
通信路を介して他機器と通信するための通信手段と、
上記通信手段を通して通信路上に接続された他機器を制御するための制御手段と、
上記通信手段が上記通信路に接続されたことを検出する検出手段とを具備し、
上記通信手段は上記検出手段の出力に基づいて上記他機器からデータを読み出すことを特徴とする通信装置。
【請求項２３】
上記他機器は少なくとも記録手段を具備し、上記通信手段が読み出すデータとは上記記録手段が記録する記録媒体の位置情報と該位置情報に対応した画像情報とであることを特徴とする請求項２２に記載の通信装置。
【請求項２４】
選択手段を具備し、
上記他機器とは記録装置であって、上記通信手段は上記記録装置が記録する記録媒体の位置情報と該位置情報に対応した画像情報とを受信し、上記選択手段は上記画像情報を選択し、上記制御手段は選択された画像に対応する上記記録媒体の位置情報から上記記録装置を制御することを特徴とする請求項２２に記載の通信装置。
【請求項２５】
選択手段を具備し、
上記他機器とは再生装置であって、上記通信手段は上記再生装置が再生する記録媒体の位置情報と該位置情報に対応した画像情報とを受信し、上記選択手段は上記画像情報を選択し、上記制御手段は選択された画像に対応する上記記録媒体の位置情報から上記再生装置を制御することを特徴とする請求項２２に記載の通信装置。
【請求項２６】
選択手段を具備し、
上記他機器とは記録再生装置であって、上記通信手段は上記記録再生装置が記録する記録媒体の位置情報と該位置情報に対応した画像情報とを受信し、上記選択手段は上記画像情報を選択し、上記制御手段は選択された画像に対応する上記記録媒体の位置情報から上記記録再生装置を制御することを特徴とする請求項２２に記載の通信装置。
【請求項２７】
上記他機器は少なくとも記録手段を具備し、上記通信手段が読み出すデータとは上記記録手段が記録する記録媒体の位置情報と該位置情報に対応した画像情報と記録媒体の識別情報とであることを特徴とする請求項２２に記載の通信装置。
【請求項２８】
選択手段を具備し、
上記他機器とは記録装置であって、上記通信手段は上記記録装置が記録する記録媒体の位置情報と該位置情報に対応した画像情報と記録媒体の識別情報とを受信し、上記選択手段は上記画像情報を選択し、上記制御手段は選択された画像に対応する上記記録媒体の位置情報から上記記録装置を制御することを特徴とする請求項２２に記載の通信装置。
【請求項２９】
選択手段を具備し、
上記他機器とは再生装置であって、上記通信手段は上記再生装置が再生する記録媒体の位置情報と該位置情報に対応した画像情報と記録媒体の識別情報とを受信し、上記選択手段は上記画像情報を選択し、上記制御手段は選択された画像に対応する上記記録媒体の位置情報から上記再生装置を制御することを特徴とする請求項２２に記載の通信装置。
【請求項３０】
選択手段を具備し、
上記他機器とは記録再生装置であって、上記通信手段は上記記録再生装置が記録する記録媒体の位置情報と該位置情報に対応した画像情報と記録媒体の識別情報とを受信し、上記選択手段は上記画像情報を選択し、上記制御手段は選択された画像に対応する上記記録媒体の位置情報から上記記録再生装置を制御することを特徴とする請求項２２に記載の通信装置。
【請求項３１】
上記通信手段は、IEEE1394に準拠したディジタルインターフェイスに基づく通信手段、USBに基づく通信手段、IEEE802に基づく通信手段、Bluetoothに基づく通信手段、UWB（Ultra Wide Band）に基づく通信手段のいずれかであることを特徴とする請求項２２〜３０のいずれか１項に記載の通信装置。
【請求項３２】
少なくとも記録再生装置と該記録再生装置を制御する制御装置とからなる通信システムであって、
上記記録再生装置は、少なくとも第１の記録媒体に動画像、音声、及び、第１の記録媒体の識別情報を記録する第１の記録手段と、取外し可能な第２の記録媒体に少なくとも静止画像、及び、上記第１の記録媒体の位置情報とを記録する第２の記録手段と、第１の通信手段とを具備し、
上記制御装置は、第２の通信手段と、上記第２の通信手段の出力を記録する第３の記録手段とを具備することを特徴とする通信システム。
【請求項３３】
上記第１の通信手段と上記第２の通信手段との間にて少なくとも上記第１の記録媒体の識別情報を授受することを特徴とする請求項３２に記載の通信システム。
【請求項３４】
上記第１の通信手段と上記第２の通信手段との間にて上記静止画像情報と上記第１の記録媒体の位置情報とを授受し、上記第３の記録手段は上記第１の記録媒体の識別情報、上記静止画像、及び、上記第１の記録媒体の位置情報とを関連させて記録することを特徴とする請求項３３に記載の通信システム。
【請求項３５】
上記記録再生装置は上記第１の通信手段が接続されたことを検出する検出手段を具備することを特徴とする請求項３２〜３４のいずれか１項に記載の通信システム。
【請求項３６】
上記記録再生手段は上記検出手段の出力に基づいて通信を開始することを特徴とする請求項３５に記載の通信システム。
【請求項３７】
上記制御装置は上記第２の通信手段が接続されたことを検出する検出手段を具備することを特徴とする請求項３２〜３４のいずれか１項に記載の通信システム。
【請求項３８】
上記制御装置は上記検出手段の出力に基づいて通信を開始することを特徴とする請求項３７に記載の通信システム。
【請求項３９】
上記制御装置は、上記第２の通信手段の出力に基づいて上記第３の記録手段が記録した情報を選択する選択手段を具備することを特徴とする請求項３２〜３８のいずれか１項に記載の通信システム。
【請求項４０】
第１の記録媒体に対して記録を行う記録方法であって、
上記第１の記録媒体に記録を行う手順と、
少なくとも上記第１の記録媒体上のデータの記録位置を示す情報を記録するための第２の記録媒体に記録を行う手順と、
上記第２の記録媒体に記録する情報を送信する手順とを有することを特徴とする記録方法。
【請求項４１】
第１の記録媒体に対して記録を行う記録方法であって、
上記第１の記録媒体に記録を行うとともに上記第１の記録媒体に該記録媒体を識別するための識別情報を記録する手順と、
少なくとも上記第１の記録媒体上のデータの記録位置を示す情報と上記識別情報とを関連付けて記録するための第２の記録媒体に記録を行う手順と、
上記第２の記録媒体に記録する情報を送信する手順とを有することを特徴とする記録方法。
【請求項４２】
通信手段により通信路を介して他機器と通信するための通信方法であって、
上記通信手段が上記通信路に接続されたことを検出する手順と、
上記検出手段の出力に基づいて上記通信手段により上記他機器からデータを読み出す手順とを有することを特徴とする通信方法。
【請求項４３】
第１の記録媒体に対して記録を行う処理をコンピュータに実行させるコンピュータプログラムであって、
上記第１の記録媒体に記録を行う処理と、
少なくとも上記第１の記録媒体上のデータの記録位置を示す情報を記録するための第２の記録媒体に記録を行う処理と、
上記第２の記録媒体に記録する情報を送信する処理とをコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項４４】
第１の記録媒体に対して記録を行う処理をコンピュータに実行させるコンピュータプログラムであって、
上記第１の記録媒体に記録を行うとともに上記第１の記録媒体に該記録媒体を識別するための識別情報を記録する処理と、
少なくとも上記第１の記録媒体上のデータの記録位置を示す情報と上記識別情報とを関連付けて記録するための第２の記録媒体に記録を行う処理と、
上記第２の記録媒体に記録する情報を送信する処理とをコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項４５】
通信手段により通信路を介して他機器と通信する処理をコンピュータに実行させるコンピュータプログラム通信方法であって、
上記通信手段が上記通信路に接続されたことを検出する処理と、
上記検出手段の出力に基づいて上記通信手段により上記他機器からデータを読み出す処理とをコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項４６】
請求項４３〜４５のいずれか１項に記載のコンピュータプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像の記録装置、記録再生装置、通信装置、通信システム、記録方法、通信方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
従来、カムコーダ等の動画撮影装置によって撮影され、ビデオテープ等の記録媒体に記録されたビデオデータは、連続して撮影された一連の映像であるところのいわゆるカットが連続している場合が大半である。また、上記カットは、カムコーダの場合、時間的に比較的短い場合が多い。このため、撮影後内容の確認や編集作業等を行う場合には、所望のカットを検索することを要する。
【０００３】
上記のごときカットの検索を行う方法として、特許文献１〜３等に開示されているものがある。例えば、特許文献１、２では、撮影した映像、及び、音声データを記録媒体に記録する際に、それらのインデックスを作成し、該インデックスを画像を記録する媒体とは別の記録媒体に記録したり、画像を記録する媒体と同一の記録媒体上の画像領域に連続した領域に記録したりする方法が開示されている。
【０００４】
また、特許文献３では、ビデオテープを収容するカセットにフラッシュメモリ等の半導体メモリ素子を組み込んでおき、記録時間、記録内容、タイトル等の情報を記録する方法が開示されている。また、特許文献３では、各カット毎のインデックス画像をテープ記録媒体にまとめて記録し、各カットのビデオテープ上の記録領域と、該インデックス画像の記録領域とを示す情報をビデオテープを収容するカセット内の半導体メモリに記録する方法が開示されている。
【０００５】
また、従来、上記のごときカムコーダをパーソナルコンピュータ（以下、ＰＣと称する）等にディジタルインターフェイスを用いて接続し、編集作業を行うことのできるソフトウェアも増えている。この場合にも、上記と同様に所望のカットを検索することを要するようになっている。
【０００６】
【特許文献１】特開平７−１５４７３１号公報
【特許文献２】特開平７−１５４７４０号公報
【特許文献３】特開平９−２００６７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来例においては、上記のようにディジタルインターフェイスを用いて、遠隔操作で所望のカットを検索することができないといった問題点があった。上記従来例では、ディジタルインターフェイスを用いて他の装置と接続されている場合でも、本体上で所望カットを検索するか、或いは、操作者が手動で遠隔操作にてFF、リワインド等のテープ動作を繰り返すようにして、所望のカットを探す作業が必要となる問題点があった。
【０００８】
本発明は、上記のような点に鑑みてなされたものであり、遠隔操作にて簡単な操作により所望のカットを検索可能とすることを目的とする、
【課題を解決するための手段】
【０００９】
本発明の記録装置は、第１の記録媒体に対して記録を行う記録装置であって、上記第１の記録媒体に記録を行う第１の記録手段と、少なくとも上記第１の記録媒体上のデータの記録位置を示す情報を記録するための第２の記録媒体に記録を行う第２の記録手段と、通信手段とを具備し、上記通信手段は上記第２の記録媒体に記録する情報を送信する点に特徴を有する。
本発明の別の記録装置は、第１の記録媒体に対して記録を行う記録装置であって、上記第１の記録媒体に記録を行うとともに上記第１の記録媒体に該記録媒体を識別するための識別情報を記録する第１の記録手段と、少なくとも上記第１の記録媒体上のデータの記録位置を示す情報と上記識別情報とを関連付けて記録するための第２の記録媒体に記録を行う第２の記録手段と、通信手段とを具備し、上記通信手段は上記第２の記録媒体に記録する情報を送信する点に特徴を有する。
本発明の記録再生装置は、本発明の記録装置の各手段を備え、更に上記第１の記録媒体からデータを再生するための第１の再生手段と、上記第２の記録媒体に記録されたデータを再生するための第２の再生手段と、上記第２の再生手段の出力を他の装置に送信する通信手段とを具備する点に特徴を有する。
本発明の通信装置は、通信路を介して他機器と通信するための通信手段と、上記通信手段を通して通信路上に接続された他機器を制御するための制御手段と、上記通信手段が上記通信路に接続されたことを検出する検出手段とを具備し、上記通信手段は上記検出手段の出力に基づいて上記他機器からデータを読み出す点に特徴を有する。
本発明の通信システムは、少なくとも記録再生装置と該記録再生装置を制御する制御装置とからなる通信システムであって、
上記記録再生装置は、少なくとも第１の記録媒体に動画像、音声、及び、第１の記録媒体の識別情報を記録する第１の記録手段と、取外し可能な第２の記録媒体に少なくとも静止画像、及び、上記第１の記録媒体の位置情報とを記録する第２の記録手段と、第１の通信手段とを具備し、上記制御装置は、第２の通信手段と、上記第２の通信手段の出力を記録する第３の記録手段とを具備する点に特徴を有する。
本発明の記録方法は、第１の記録媒体に対して記録を行う記録方法であって、上記第１の記録媒体に記録を行う手順と、少なくとも上記第１の記録媒体上のデータの記録位置を示す情報を記録するための第２の記録媒体に記録を行う手順と、上記第２の記録媒体に記録する情報を送信する手順とを有する点に特徴を有する。
本発明の別の記録方法は、第１の記録媒体に対して記録を行う記録方法であって、上記第１の記録媒体に記録を行うとともに上記第１の記録媒体に該記録媒体を識別するための識別情報を記録する手順と、少なくとも上記第１の記録媒体上のデータの記録位置を示す情報と上記識別情報とを関連付けて記録するための第２の記録媒体に記録を行う手順と、上記第２の記録媒体に記録する情報を送信する手順とを有する点に特徴を有する。
本発明の通信方法は、通信手段により通信路を介して他機器と通信するための通信方法であって、上記通信手段が上記通信路に接続されたことを検出する手順と、上記検出手段の出力に基づいて上記通信手段により上記他機器からデータを読み出す手順とを有する点に特徴を有する。
本発明のコンピュータプログラムは、第１の記録媒体に対して記録を行う処理をコンピュータに実行させるコンピュータプログラムであって、上記第１の記録媒体に記録を行う処理と、少なくとも上記第１の記録媒体上のデータの記録位置を示す情報を記録するための第２の記録媒体に記録を行う処理と、上記第２の記録媒体に記録する情報を送信する処理とをコンピュータに実行させる点に特徴を有する。
本発明の別のコンピュータプログラムは、第１の記録媒体に対して記録を行う処理をコンピュータに実行させるコンピュータプログラムであって、上記第１の記録媒体に記録を行うとともに上記第１の記録媒体に該記録媒体を識別するための識別情報を記録する処理と、少なくとも上記第１の記録媒体上のデータの記録位置を示す情報と上記識別情報とを関連付けて記録するための第２の記録媒体に記録を行う処理と、上記第２の記録媒体に記録する情報を送信する処理とをコンピュータに実行させる点に特徴を有する。
本発明の別のコンピュータプログラムは、通信手段により通信路を介して他機器と通信する処理をコンピュータに実行させるコンピュータプログラム通信方法であって、上記通信手段が上記通信路に接続されたことを検出する処理と、上記検出手段の出力に基づいて上記通信手段により上記他機器からデータを読み出す処理とをコンピュータに実行させる点に特徴を有する。
本発明のコンピュータ読み取り可能な記録媒体は、本発明のコンピュータプログラムを記録した点に特徴を有する。
【発明の効果】
【００１０】
本発明によれば、データの記録位置を示す情報を通信により利用することができるので、遠隔操作にて簡単な操作により所望のカットを検索することができる。特に、記録媒体を識別するための識別情報を記録する場合には、複数の記録媒体からも容易に所望のカットを検索することができる。
【発明を実施するための最良の形態】
【００１１】
以下、添付図面を参照して、本発明の好適な実施形態について説明する。なお、本実施形態において、IEEE1394はIEEE Std 1394-1995及びIEEE Std 1394a-2000を含むものとする。図１は本発明を適用したカムコーダの構成例を示す図である。同図において、１はマイク、２は音声処理部、３は音声圧縮部、４はカメラ部、５は画像圧縮部、６はフォーマット処理部、７は誤り訂正符号化部、８は記録処理部、９はセレクタ、１０は磁気記録ヘッド、１１は磁気テープ等の記録媒体、１２はインデックス生成部、１３は制御部、１４はアブソリュートトラックナンバ（以下、ＡＴＮと称する）を生成するＡＴＮ発生部、１５はタイムコード発生部、１６はサブコード生成部、１７はテープの走行を制御するテープ走行制御部、１８はテープを走行させるためのテープ走行メカニズム、１９はIEEE1394に準拠したディジタルインターフェイス部（以下、Ｄ-Ｉ／Ｆと称する）、２０は再生処理部、２１は誤り訂正復号部、２２はデータ分離部、２３再生音声処理部、２４は音声出力部、２５は再生画像処理部、２６は画像出力部、２７はＡＴＮ検出部、２８はタイムコード検出部、２９は記録インターフェイス部（以下、記録Ｉ／Ｆ部と称する）、３０はメモリカード等の取外し可能記録媒体である。
【００１２】
次に、記録時の動作を説明する。マイク１によって入力された音声信号は、音声処理部２によってアナログ-ディジタル変換、フィルタリング等の処理が施される。ディジタル化された当該音声信号は、音声圧縮部３によって圧縮符号化処理が施され、フォーマット処理部６に入力される。
【００１３】
カメラ部４は、ＣＣＤ、フィルタ部、カメラ処理部を有し、制御部１３からの制御信号に基づいて、ＣＣＤにより撮像した信号をテレビジョン信号に変換してフィルタ部に出力する。フィルタ部は、カメラ部４より入力されたビデオ信号を４：２：２方式から４：１：１方式に変換する等の処理を行うものであり、変換されたビデオ信号は画像圧縮部５に出力される。
【００１４】
画像圧縮部５は、ブロック分割部、ＤＣＴ部、動き検出部、並べ替え部、量子化部、符号量推定部、及び、可変長符号化部を有する。ブロック分割部は、上述のフィルタ部より入力されたビデオ信号の各フレームを８×８のマクロブロックに分割する。画像圧縮部５は、ブロック分割されたビデオ信号をＤＣＴ符号化し、さらに量子化して可変長符号化する。また、画像圧縮部５は、ブロック分割部より入力された８×８のマクロブロック毎のビデオ信号に対して、動き検出部で動き検出を行い、ＤＣＴ部でＤＣＴ変換を行い、並べ替え部でそのＤＣ成分が所定の位置になるように得られた要素を周波数順に並べ替える。そして、その結果に基づいて、符号量推定部において符号量を推定し、その推定値に基づいて量子化レベルを決定して量子化部において適応量子化を行う。可変長符号化部は、量子化されたビデオ信号を可変長符号化して生成した符号データをフォーマット処理部に出力する。本実施形態では、可変長符号化部において例えば２次元ハフマン符号化を行う。
【００１５】
ＡＴＮ発生部１４は、磁気テープ１１の始点から記録される各トラックの絶対番号であるＡＴＮを発生させる。また、タイムコード発生部１５は、信号の記録位置等を示す指標となるタイムコードを生成し、フォーマット処理部６に出力する計時手段である。なお、出力される時間は、絶対時刻か、記録媒体１１が格納されるカセットの着脱や使用者のリセットボタンの押下等によりリセットされる相対的な時間であり、その選択は任意である。上記ＡＴＮ信号、及び、タイムコード信号は、それぞれサブコード生成部１６に入力される。サブコード生成部１６では、上記タイムコードやＡＴＮを含む、有用な情報をサブコードとして発生させ、フォーマット処理部６に出力する。
【００１６】
フォーマット処理部６は、音声圧縮部３、画像圧縮部５、及び、サブコード生成部１６からの各信号から記録フォーマットに適合したビットストリームに変換するとともに、再生時の動作クロック発生に用いるITI（Insert Track Information）データを付加して、誤り訂正符号化部７に出力する。また、フォーマット処理部６は、上記フォーマットへの変換過程において、制御部１３からの指示によってカセットの識別情報（ＩＤ）を上記ビットストリーム内に付加する。この場合、カセットのＩＤ情報は、例えば１６バイト長のUUID（Universal Unique Identifier）であり、既に開示されている様々なアルゴリズムを用いて発生させることができる。
【００１７】
誤り訂正符号化部７は、フォーマット処理部６より入力される符号データに対して、パリティを付加して記録データを生成し、記録処理部８に出力する。本実施形態において、誤り訂正符号化部７は、誤り訂正ブロックを２次元構成にしたリード・ソロモン積符号を用いる。具体的には、誤り訂正符号化部７は、シャッフリング部及びエラー訂正符号付与部を有し、入力された符号データに対してまず誤り訂正符号付与部において外符号パリティを付加し、シャッフリング部でシャッフリングをした後同期信号及びＩＤ符号を付加して、再び誤り訂正符号化部においてさらに内符号パリティを付加する。
【００１８】
記録処理部８は、不図示のチャネルコーディング部、記録アンプを有し、誤り訂正符号化部７より入力された記録データを、チャネルコーディング部で磁気テープ等の記録媒体１１の磁気記録特性に適合したデジタルビット系列に変換し、記録アンプで増幅して、セレクタ９を介して記録ヘッド１０に印加し、磁気テープ１１の所定の位置に記録する。この際、制御部１３は、上記の記録モードに応じた速度で磁気テープ１１を走行させるように、テープ走行制御部１７に制御信号を出力して、テープ走行メカニズム１８を制御する。また、制御部１３は、不図示の操作部からの出力される各操作信号に応じて、各記録モード、再生モードに応じた速度で磁気テープ１１を走行させる。
【００１９】
不図示の操作部より、制御部１３に記録開始信号が入力されると、磁気テープ１１への記録が開始されるとともに、インデックス生成部１２によって記録されるビデオ信号のカットに応じたインデックス画像が生成される。該インデックス画像は、上記カットを代表する画像として記録Ｉ／Ｆ部２９に入力され取外し可能な記録媒体３０に記録されるとともに、上述したタイムコードやＡＴＮ等の上記カットの磁気テープ上の位置を示す情報が制御部１３を介して記録Ｉ／Ｆ部２９に入力され取外し可能な記録媒体３０に記録される。また、取外し記録媒体３０には、上記テープ１１が格納されるビデオカセットを一意に識別するための識別情報（ＩＤ）や、上記のカットが記録された日時を示す情報が併せて記録される。
【００２０】
以下に、上述したインデックス画像の作成手順について説明する。インデックス生成部１２は、カメラ部４より入力されるビデオ信号に基づいて、各カットの内容を検索するのに適した画像を抽出し、さらに複数のカットについて抽出されたその画像を用いてインデックス画像（インデックス画像、インデックスピクチャ等という場合もある）を生成し、取外し可能な記録媒体３０に記録されるように、所定のタイミングで記録Ｉ／Ｆ部２９に出力する。インデックス生成部１２は、図２に示すように、インデックス生成制御部７１、サブサンプリング部７２、タイミングパルス生成部７３、サブサンプルメモリ７４、ＳＲＡＭ７５、ＳＲＡＭアドレスコントローラ７６、フレームメモリ７７、及び、フレームメモリアドレスコントローラ７８を有する。
【００２１】
インデックス生成制御部７１は、制御部１３からの制御信号に基づいてインデックス生成部１２を構成する各部を制御する。インデックス生成制御部７１の具体的制御内容については、後述する各部の説明時に同時に説明する。サブサンプリング部７２とサブサンプルメモリ７４とは、タイミングパルス生成部７３から入力されるパルスに基づいて所定のタイミングで、カメラ部４から入力される画像データを読み込み、そのＤＣ成分を算出してＳＲＡＭ７５に出力する。タイミングパルス生成部７３は、各カットの最初の映像データよりインデックス画像に用いる画像を抽出するために、サブサンプリング部７２に対してパルスを生成する。サブサンプルメモリ７４は、サブサンプリング部７２から入力される８ライン分の画像データを記憶し、サブサンプリング部７２からのアドレス入力にしたがって、８×８画素ブロック分の画像データを出力する。サブサンプリング部７２は、８×８の該画像データブロックからＤＣ成分を算出する。
【００２２】
ＳＲＡＭ７５は、ＳＲＡＭアドレスコントローラ７６によりそのアドレスが制御され、さらにインデックス生成制御部７１によりデータの書き込み／読み出しタイミングが制御されており、サブサンプルメモリ７４から入力される各マクロブロック当り１つのデータを順次記憶し、最終的に各カットの最初の映像データに対応する画像を格納する。上述したように、サブサンプリング部７２においては、８×８の画像ブロック毎に１つのＤＣ成分をその代表値として順次出力するので、ＳＲＡＭ７５に最終的に格納される上記画像は、元の映像データを縦横各々個１／８に縮小した画像となる。ＳＲＡＭアドレスコントローラ７６は、制御部７１からの制御信号に基づいて、サブサンプルメモリ７４よりＳＲＡＭ７５に順次入力される画素データが、ＳＲＡＭ７５において１枚の画像を形成するようにＳＲＡＭ７５に記憶されるように、ＳＲＡＭ７５のアドレスを制御する。
【００２３】
フレームメモリ７７は、映像データのフレームに対応してデータを記憶可能なメモリであり、本実施形態のフレームメモリ７７は、例えば７フレーム分の映像データ記憶できる容量を有する。フレームメモリ７７は、フレームメモリアドレスコントローラ７８よりそのアドレスが制御され、インデックス生成制御部７１から入力される制御信号に基づいて、ＳＲＡＭ７５内に順次形成される各カット毎の画像を順次記憶する。なお、本実施形態においては、フレームメモリ７７はフラッシュメモリにより構成されており、デジタルカムコーダ１の電源を切っても記録内容は保持される。また、記録内容の消去は、制御部１３からの指示に基づいてインデックス生成制御部７１を介して入力される制御信号に基づいて行われる。また、ＳＲＡＭ７５に記憶される画像は、例えば元の映像データを縦横各々１／８、即ち、面積を１／６４に縮小した画像なので、フレームメモリ７７の１枚のフレームメモリに６４個の画像を格納することができる。これにより、操作者は、任意のカットを録画した場合のインデックスを、録画終了後に上記６４×７個の画像の中から選択して、取外し可能記録媒体３０へ記録することができるようになっている。このため、本実施形態では、操作者が、任意のカットを最もよく示すインデックス画像を選択できるという効果がある。フレームメモリアドレスコントローラ７８は、インデックス生成制御部７１からの制御信号に基づいて、ＳＲＡＭ７５からフレームメモリ７７に入力される画像データが前述したような位置に適切に格納されるように、フレームメモリ７７のアドレスを制御する。
【００２４】
操作者によって不図示のユーザインターフェイスを通して再生動作が指示されると、制御部１３は再生動作を開始すべく、テープ走行制御部１７を介してテープ走行メカニズム１８を制御し磁気テープ１１を走行させる。磁気ヘッド１０は該磁気テープ１１上に記録されたデータを読み出して、セレクタ９を介して再生処理部２０にて増幅その他の再生処理が行われる。該処理によりディジタルデータに戻された再生信号は誤り訂正部２１に送出される。誤り訂正部２１においてエラー訂正処理がなされた再生データは、データ分離部２２にて、音声データ、画像データ、及び、タイムコード、ＡＴＮを含むサブコードデータに分離される。また、カセットの識別情報（ＩＤ）が付加されている場合は、同様に分離され、制御部１３に入力される。
【００２５】
音声データ、及び、画像データはそれぞれ、再生音声処理部２３、及び、再生画像処理部２５にて伸張等の音声処理、及び、画像処理が施され、それぞれ、音声出力部２４、及び、画像出力部２６から出力される。サブコード内のタイムコード、及び、ＡＴＮは、それぞれ、タイムコード検出部２８、及び、ＡＴＮ検出部２７にて検出され、制御部１３に入力される。
【００２６】
上述したように、本実施形態の取外し可能記録媒体３０には上記インデックス画像とそのインデックス画像が取り出されたカットのビデオ映像のテープ上の位置情報とが記録されている。不図示のユーザインターフェイスから上記インデックス画像が選択されると、本実施形態のカムコーダは、該インデックス画像と共に記録されている上述のテープ位置情報を読み出す。該テープ位置情報は、上述したように例えばタイムコードやＡＴＮである。制御部１３は読み出した上記タイムコード及びＡＴＮ等に基づいてテープ１１を走行させ、該当のテープ位置から再生動作を開始させる。上記動作により、インデックス画像が抽出されたカット位置の再生が自動的に行われるようになっている。
【００２７】
また、上記取外し可能記録媒体３０上には、上記インデックス画像と該インデックス画像に関連付けられたカセットの識別情報（ＩＤ）が記録されているとともに、磁気テープ１１上にも該磁気テープが格納されるカセットの識別情報（ＩＤ）が記録されているので、上記取外し可能記録媒体３０のカセット識別情報（ＩＤ）と磁気テープ１１のカセット識別情報（ＩＤ）とが異なっている場合には、警告を出したり、正しい取外し可能記録媒体３０の挿入を促したりすることができる。
【００２８】
[カセット識別情報（ＩＤ）の構成]
本実施形態では、例えば、IEC-61834 Helical-scan digital video cassette recording system using 6,35 mm magnetic tape for consumer use （525-60, 625-50, 1125-60 and 1250-50 systems）規格に基づいて、上記磁気テープ１１に上述したビデオカセットの識別情報を記録する。上記規格によれば、テープ上に付随的情報を記録する領域として、オーディオエリアのオーディオ補助データ（AAUX）領域、ビデオエリアのビデオ補助データ（VAUX）領域、及び、サブコードエリアのAUXデータ記録領域が使用可能になっている。該付随情報の記録領域は５バイトの固定長をもつパックと称するデータ単位にて構成される。
【００２９】
上記パックは、図３に示される５バイトの基本構造を有する。該パックの第一バイト（PC0）は該パック内のデータの内容を示すパックヘッダである。また、該パックヘッダの後に続く４バイト（PC1〜PC4）は、上記パックヘッダによってそのデータ構造が定められる任意のデータである。
【００３０】
上記パックヘッダは、上位４ビット、及び、下位４ビットに分割される。上記パックヘッダの上位ニブル、即ち上位４ビットは、該パックヘッダに後続するデータの用途を示すデータである。また、パックヘッダの下位ニブル、即ち下位４ビットは、該パックヘッダの後続するデータの具体的内容を示すデータである。上記上位ニブルは最大１６通り設けることができ、該上位ニブルに対して下位ニブルはそれぞれ最大１６通り設けることができる。上記のIEC-61834 Helical-scan digital video cassette recording system using 6,35 mm magnetic tape for consumer use （525-60, 625-50, 1125-60 and 1250-50 systems）規格においては、上記パックヘッダの上位ニブルについて、コントロール「00002」、タイトル「00012」、チャプタ「00102」、パート「00112」、プログラム「00102」、AAUX「01012」、VAUX「01102」、カメラ「01112」、ライン「10002」、MPEG「10012」、ソフト「11112」等のグループが定義されている。上記の各グループはそれぞれ下位ニブルによって１６個のパックに展開されている。
【００３１】
上記のIEC-61834 Helical-scan digital video cassette recording system using 6,35 mm magnetic tape for consumer use （525-60, 625-50, 1125-60 and 1250-50 systems）規格においては、上記パックヘッダの上位ニブルの値が10102から11102のデータは定義されていない。本実施形態では、例えばパックヘッダの上位ニブルの値が「10102」のパックデータを用いて上記カセット識別情報を記録する。
【００３２】
上述したように、本実施形態で用いられるカセット識別情報は、例えば１６バイト長のUUIDである。本実施形態では、図４に示すように、該１６バイトのUUIDを４個のパックに分割してテープ上に記録する。さらに具体的には、例えば図４に示すように、パックヘッダの値が「10100002」、「101000012」、「101000102」、及び、「101000112」の４個のパックを用いてテープ上に記録する。勿論、上記以外のパックヘッダの値を用いてテープ上に記録しても良いことは言うまでもない。
【００３３】
［Ｄ-Ｉ／Ｆ接続時の動作］
不図示のＤ-Ｉ／ＦケーブルによってＤ-Ｉ／Ｆ１９が接続されるとバスリセットが発生する。該バスリセットからの設定動作が終了した後、本実施形態のカムコーダは接続されている不図示のコントローラからの信号を待機する。上記コントローラが本実施形態のカムコーダ制御をする旨の情報を含んだ信号を出力すると、該信号を受信したカムコーダは取外し可能な記録媒体３０から上記インデックス画像と該画像に対応したタイムコード、ＡＴＮ等のデータを読み出し、Ｄ-Ｉ／Ｆ１９を介して上記インデックス画像と該画像に対応したタイムコード、ＡＴＮ等のデータをコントローラに送信する。また、この際に上記のビデオカセットの識別情報（ＩＤ）や日時情報も併せて送信するよう構成してもよい。
【００３４】
以下、図５を参照して、上述したデータの転送動作を説明する。１０１は本発明を適用したカムコーダ、１０２はIEEE1394に準拠したケーブル（以下、IEEE1394ケーブルと称する）、１０３はパーソナルコンピュータ（以下、ＰＣと称する）、１０４はモニタディスプレイ（以下、モニタと称する）である。
【００３５】
IEEE1394ケーブル１０２を用いて、カムコーダ１０１とＰＣ１０３とを接続すると、上述のようにバスリセットが発生する。該バスリセットをトリガとして、ＰＣ１０３では内部のハードディスク装置（以下、ＨＤと称する）からデバイスドライバソフトウェア（以下、デバイスドライバと称する）が、該ＰＣ１０３内のメモリ上にロードされる。該デバイスドライバは、ＰＣ１０３に接続されるIEEE1394のハードウェアを制御するためのソフトウェアである。該バスリセットをトリガとして、上記デバイスドライバは上記IEEE1394のハードウェアに関する初期設定動作を行うようになっている。また、同様にカムコーダ１０１も、該バスリセットをトリガとして、IEEE1394に関する初期設定動作を行うようになっている。
【００３６】
上記したカムコーダ１０１の動作を、図６のフローチャートを参照して説明する。ステップＳ４０１で該処理が開始されると、ステップＳ４０２で上記バスリセットが検出される。バスリセットが発生していなかった場合、該バスリセット検出動作を継続する。バスリセットが発生した場合、ステップＳ４０３にてバスリセット後の初期設定動作が行われる。
【００３７】
該初期設定動作後、ステップＳ４１０でカセット識別情報の検出が行われる。上述したように、磁気テープ１１上のパック領域の一部にはカセット識別情報が記録されている。ステップＳ４１０が実行された時点で該カセット識別情報が読み出されていた場合には、ステップＳ４１１が実行され、該カセット識別情報がＤ-Ｉ／Ｆ１９を介してカムコーダ１０１からＰＣ１０３へ送信される。ステップＳ４１０が実行された時点で該カセット識別情報が読み出されていなかった場合には、該カセット識別情報を読み出すまで待機した後、ステップＳ４１１が実行され、識別情報がＤ-Ｉ／Ｆ１９を介してカムコーダ１０１からＰＣ１０３へ送信される。
【００３８】
次に、ステップＳ４０４では、カムコーダ１０１からＰＣ１０３へインデックスの受信要求が行われる。ステップＳ４０５では、該インデックス送信が終了したかどうかの検出を行う。インデックス送信が終了していない場合、インデックス送信を継続し、インデックス送信が終了するとステップＳ４０６に処理が移る。ステップＳ４０６では、上記インデックスに対応したテープ上の位置データの受信要求を、該カムコーダ１０１からＰＣ１０３に送信する。その後、ステップＳ４０７で該テープ上の位置データが送信完了したかを検出する。送信完了していなければ送信を継続し、該送信が完了していればステップＳ４０８に処理が移る。
【００３９】
ステップＳ４０８では、全てのインデックスに関し上記処理が終了したかどうかを検出する。ステップＳ４０５からステップＳ４０８では処理ループが形成されており、全てのインデックスに関して処理が終了していなければ、上記インデックス送信及び該インデックスに関するテープ位置データの送信とが繰り返される。全インデックスに対して、上記処理が終了していれば、ステップＳ４０９で該処理を終了する。
【００４０】
該バスリセットに続く一連の初期設定動作が終了すると、カムコーダは、例えばAsynchronous Connectionと呼ばれる通信プロトコルを用いて、上述したインデックス画像と該画像に対応したタイムコード、ＡＴＮ等のデータをＰＣ１０３に送信する。なお、Asynchronous Connectionについては、AV/C Compatible Asynchronous Serial Bus Connections（1394 Trade Association発行）及びAV/C commands for management of Asynchronous Serial Bus Connections（1394 Trade Association発行）に詳細に説明されている。
【００４１】
［Asynchronous Connectionの説明］
次に、本実施形態において使用するAsynchronous Connectionについて説明する。まず、図７を参照して、Asynchronous Connectionの基本構成について説明する。同図において、データを転送する機能を有する送信側のノードをPRODUCERノード（以下、PRODUCER４６０２）、そのデータを受信する機能を有する受信側のノードをCONSUMERノード（以下、CONSUMER４６０３）、PRODUCER４６０２とCONSUMER４６０３との間に設定される論理的な接続関係（即ち、コネクション）を管理する機能を有するノードをCONTROLLERノード（以下、CONTROLLER４６０１）と呼ぶ。Asynchronous Connectionでは、CONTROLLER４６０１、PRODUCER４６０２、CONSUMER４６０３の三者によってデータ転送を制御する。
【００４２】
PRODUCER４６０２、CONSUMER４６０３は、データを送受信のためのAsynchronous plugをそれぞれ所有する。図８にAsynchronous plugの構成を示す。Asynchronous plugは、ひとつのiAPR（input Asynchronous Port Register）、複数のoAPR（output Asynchronous Port Register）、データ受信用のSegment＿Bufferで構成され、IEEE1394に準拠したアドレススペースに割り当てられる。該Asynchronous plugは、１つのコネクションを設定する毎に必要となる。複数のAsynchronous plugを有する場合、各Asynchronous plug は、Plug IDで識別される。
【００４３】
例えば、PRODUCER４６０２の機能のみを有するノードは、oAPRだけからなるAsynchronous plugを有する。また、CONSUMER４６０３の機能のみを有するノードは、iAPRとデータ受信用のSegment＿BufferとからなるAsynchronous plugを有する。また、PRODUCER４６０２、CONSUMER４６０３の両方の機能を有するノードは、iAPR、oAPR、Segment＿BufferからなるAsynchronous plugを有する。また、oAPRの数は、PRODUCER４６０２の能力に応じて異なる。例えば、１つのコネクションを用いてＮ（Ｎは１以上の整数）個のCONSUMER４６０３に対してデータを送信することができる場合、PRODUCER４６０２はＮ個以上のoAPRを有する。また、１つのCONSUMER４６０３にしかデータを送信できない場合、PRODUCER４６０２はoAPRを１つだけ有する。また、複数のコネクションを同時に張ることができる場合、PRODUCER４６０２は、図８に示すAsynchronous plugを複数個有する。
【００４４】
次に、図９を参照して、Asynchronous Connectionを制御するために必要なCTSコマンドとそれに対応するレスポンスのフォーマットについて説明する。CTS（Command/Transaction Set）とはFCPコンポーネントの一つであり、FCPを用いたコマンドセット、コマンドフィールド、レスポンスフィールドの構造、制御コマンドと該制御コマンドに対するレスポンスデータとを送出する際のトランザクション規則等を規定するものである。また、FCP（Function Control Protocol）とはIEEE1394シリアルバス上に接続された各ノードを制御するためのプロトコルであり、FCP上では予め設定された種々のコマンド及びコマンドトランザクションとの利用が可能となっている。FCPに基づいて送受信されるコマンド及びレスポンスデータは、IEEE1394にて規定されているAsynchronous（非同期）パケットを用いて送受信される。
【００４５】
Asynchronous Connectionにおいて、CONTROLLER４６０１からPRODUCER４６０２或いはCONSUMER４６０３に送信されるコマンドフレームのopcode、operandフィールドと、PRODUCER４６０２或いはCONSUMER４６０３からCONTROLLER４６０１に送信されるレスポンスフレームのopcode、operandフィールドとは同じフォーマットである。
【００４６】
図９において、opcodeフィールドは、CTSコマンドの種類を示し、Asynchronous Connections用のコマンドであることを示すコードがセットされる。subfunctionフィールド（operand[0]）は、PRODUCER４６０２或いはCONSUMER４６０３が行う動作を指定するコードがセットされる。例えば、プラグリソースの確保、コネクションの設定/解除等を指定する。
【００４７】
statusフィールド（operand[1]）は、コマンド実行結果の状態を表すフィールドで、レスポンスフレームにおいて所定のコードがセットされ、CONTROLLER４６０１に状態が通知される。plug idフィールド（operand[2]）は、コネクションで使用するAsynchronous plugの番号を指定する。plug idフィールドにセットされるコードの一例を表１に示す。
【００４８】
【表１】
2005167709.tif 000003
【００４９】
plug offsetフィールド（operand[3]〜[8]）は、４２ビットのフィールドで、Asynchronous plugの先頭アドレス（即ち、図８示すiAPRを指定するアドレス）がセットされる。
【００５０】
port idフィールド（operand[8]）は、Asynchronous plug内のどのポートが選択されているかを示すフィールドである。port idフィールドにセットされるコードの一例を表２に示す。表２において、CONSUMER portは、図８に示すiAPRに対応し、PRODUCER port[1]〜PRODUCER port[14]は、図８示すoAPR[1]〜oAPR[14]に対応する。
【００５１】
【表２】
2005167709.tif 000004
【００５２】
port ビットフィールド（operand[8]）は、選択されているポートの能力を示す。port ビットフィールドにセットされるコードの一例を表３に示す。
【００５３】
【表３】
2005167709.tif 000005
【００５４】
connected node idフィールド（operand[9]〜[10]）は、コネクションを設定する相手（即ち、接続ノード）である。PRODUCER４６０２の場合はCONSUMER４６０３を、CONSUMER４６０３の場合はproducer４６０２を示す。）のノードＩＤを示す。CONSUMER４６０３に対しては、producer４６０２のノードＩＤを、PRODUCER４６０２に対してはCONSUMER４６０３のノードＩＤをCONTROLLER４６０１がセットし、通知する。
【００５５】
connected plug offsetフィールド（operand[11]〜[16]）には、接続ノードが持つAsynchronous plugを指定するオフセットアドレスがセットされる。connected port idフィールド（operand[16]）には、コネクションに使用する接続ノードのポート番号がセットされる。
【００５６】
connected port ビットフィールド（operand[16]）には、接続ノードのポートの能力を示すコードがセットされる。connected plug idフィールド（operand[17]）には、コネクションに使用される接続ノードのプラグ番号を示すコードがセットされる。
【００５７】
ex（exclusive）ビット（operand[18]）は、コネクションに使用するポートを他のCONTROLLER４６０１がアクセスできるかどうかを指定するためのビットである。例えば、このビットを「１」にセットしたコマンドフレームを受信した場合、PRODUCER４６０３、CONSUMER４６０３は、そのポートへアクセスするコマンドフレームを受信すると、コマンド送信元のノードＩＤを調べて、コネクションを設定したCONTROLLER４６０１のノードＩＤと異なる場合、そのコマンドに対してRejectedを指定したレスポンスフレームを送信する。
【００５８】
connection countフィールド（operand[18]）は、CONSUMER portがいくつのproducer portに接続されているかを示す。write intervalフィールド（operand[19]）には、PRODUCER４６０２がCONSUMER４６０３のセグメントバッファに対して順次writeトランザクションを行う際の最小間隔を示すコードがセットされる。retry countフィールド（operand[19]）には、シリアルバストランザクションに失敗したときに必要となるretry count値がセットされる。これは、CONSUMER４６０３からのレスポンスフレームでセットされる。
【００５９】
［Asynchronous Connectionによるコネクション設定手順］
次に、図１０を参照して、CONTROLLER４６０１がPRODUCER４６０２、CONSUMER４６０３の持つ０番目のAsynchronous plug間に、１つのコネクションを設定するまでの手順について説明する。ここで、CONSUMER４６０３、PRODUCER４６０２共に０番目のAsynchronous plugを指定するオフセットアドレスは、「ＦＦＦＦＦ０００１８００16」であり、producer４６０２は、CONSUMER４６０３が持つSegment＿Bufferの先頭アドレスから転送データを順次書き込む機能を有し、マルチキャストコネクション機能をサポートしていないものとする。
【００６０】
また、PRODUCER４６０２は、CONSUMER４６０３のSegment＿Bufferが固定サイズで変化しないものにしか対応していないとする。ここでは、それぞれのノードＩＤが、CONTROLLER＝０、PRODUCER＝１、CONSUMER＝２になっているとする。
【００６１】
図１０において、実線で示す矢印は、コマンドフレーム１ａ，２ａ，３ａの流れを示し、波線で示す矢印は、レスポンスフレーム１ｂ，２ｂ，３ｂの流れを示す。ここで、コマンドフレーム１ａ，２ａ，３ａとレスポンスフレーム１ｂ，２ｂ，３ｂの構成は、ＦＣＰフレームと同様に構成され、Asynchronousパケットのdata fieldにセットされる。
【００６２】
コマンドフレーム１ａ，２ａ，３ａを含むAsynchronousパケットは、CONTROLLER４６０１からCONSUMER４６０３或いはPRODUCER４６０２へwriteトランザクションされ、レスポンスフレーム１ｂ，２ｂ，３ｂを含むパケットは、CONSUMER４６０３或いはPRODUCER４６０２からCONTROLLER４６０１へwriteトランザクションされる。
【００６３】
コマンドフレーム１ａ，２ａ，３ａのctypeフィールドには、「Control」を示すコードがセットされ、subunit＿type、subunit＿IDフィールドには、ターゲットであるCONSUMER４６０３或いはPRODUCER４６０２内の所定のサブユニットを指定するコードをセットする。
【００６４】
また、レスポンスフレーム１ｂ，２ｂ，３ｂのresponseフィールドには、コマンドを受け付けたかどうかを示すコードがセットされる。ここでは、受け付けられたものとして「Accepted」がセットされる場合について説明を行う。レスポンスフレーム１ｂ，２ｂ，３ｂのsubunit＿type、subunit ＿IDフィールドには、コマンドフレームのsubunit＿type、subunit＿IDフィールドと同一のコードがセットされる。
【００６５】
図１０において、CONTROLLER４６０１はまず、CONSUMER４６０３に対して、ALLOCATEコマンドを送信する（図１０の１ａ）。このALLOCATEコマンドに含まれるコマンドフレームのopcode、operandフィールドにセットされるコードの一例を以下に説明する。
【００６６】
ALLOCATEコマンドにおいては、opcodeフィールドには、Asynchronous Connection用のコマンドであることを示すコード「２６16」がセットされる。subfunctionフィールド（operand[0]）には、リソースの確保を指示するためのALLOCATEコマンドのコード「０１16」がセットされる。
【００６７】
plug idフィールド（operand[2]）には、０番目のAsynchronous plugを確保することを示すコード「Ａ０16」がセットされる。port idフィールド（operand[8]）には、iAPRを示すポート番号「０」がセットされる。ex（exclusive）フィールド（operand[18]）には、他のCONTROLLER４６０１からのアクセスも許可することを示すコード「０」がセットされる。その他のフィールドには、ダミーデータとして全てのビットに「１」がセットされる。ALLOCATEコマンドのコマンドフレームは、Asynchronousパケットのdata fieldにセットされ、CONTROLLER４６０１からCONSUMER４６０３のコマンドレジスタにwriteトランザクションで書き込まれる。これにより、ALLOCATEコマンドの発行が行われる。
【００６８】
上記ALLOCATEコマンドを受信したCONSUMER４６０３は、CONTROLLER４６０１に対して、このコマンドを受け付けたことを示すAcceptedレスポンスを送信する（図１０の１ｂ）。このAcceptedレスポンスに含まれるレスポンスフレームのopcode、operandフィールドにセットされるコードの一例を以下に説明する。
【００６９】
該Acceptedレスポンスにおいて、opcodeフィールドには、Asynchronous Connection用のコマンドに対応するレスポンスであることを示すコード「２６16」がセットされる。subfunctionフィールドには（operand[0]）、ALLOCATEコマンドに対応するレスポンスであることを示すコード「０１16」がセットされる。statusフィールド（operand[1]）には、リソースの確保ができた状態であることを示すFIXEDのコード「０２16」がセットされる。plug idフィールド（operand[2]）には、０番目のAsynchronous plugが確保されたことを示すコード「Ａ０16」がセットされる。plug offsetフィールド（operand[3]〜[8]）には、CONSUMER４６０３が持つ０番目のAsynchronous plugのオフセットアドレスを示すコードがセットされる。port idフィールド（operand[8]）には、iAPRを示すポート番号「０」がセットされる。
【００７０】
port ビットフィールド（operand[8]）には、CONSUMER４６０３が持つSegment＿Bufferに対して先頭アドレスからの順次書き込みにしか対応しておらず、マルチキャストコネクションがサポートされていないことを示すコード「００16」がセットされる。connection countフィールド（operand[18]）には、まだproducer portに接続されていないことを示すコード「００16」がセットされる。write interval、retry countフィールド（operand[19]）には、共にダミーデータの「Ｆ16」がセットされる。その他のフィールドには、ALLOCATEコマンドのコマンドフレームと同一の値がセットされる。
【００７１】
上記レスポンスフレームは、Asynchronousパケットのdata fieldにセットされ、CONSUMER４６０３からCONTROLLER４６０１のレスポンスレジスタにwriteトランザクションで書き込まれる。これにより、ALLOCATEコマンドに対応するレスポンスの発行が行われる。
【００７２】
CONSUMER４６０３からALLOCATEコマンドに対するAcceptedレスポンスを受け取ると、CONTROLLER４６０１は、PRODUCER４６０２に対して、ALLOCATE＿ATTACHコマンドを送信する（図１０の２ａ）。このALLOCATE＿ATTACHコマンドに含まれるコマンドフレームのopcode、operandフィールドにセットされるコードの一例を以下に説明する。
【００７３】
該ALLOCATE＿ATTACHコマンドにおいて、opcodeフィールドには、Asynchronous Connection用のコマンドであることを示すコード「２６16」がセットされる。subfunctionフィールド（operand[0]）には、リソースの確保とCONSUMERへの接続を指示するためのALLOCATE＿ATTACHコマンドのコード「０３16」がセットされる。
【００７４】
plug idフィールド（operand[2]）には、０番目のAsynchronous plugを確保することを示すコード「Ａ０16」がセットされる。port idフィールド（operand[8]）には、oAPR[1]を示すポート番号「１」がセットされる。connected node idフィールドには（operand[9],[10]）、CONSUMER４６０３のノードＩＤである「０００２16」がセットされる。connected plug offsetフィールド（operand[11]〜[16]）には、CONSUMER４６０３から通知されたCONSUMERが持つ０番目のplugのオフセットアドレスを示すコードがセットされる。
【００７５】
connected port idフィールド（operand[16]）には、iAPRを示すポート番号「０」がセットされる。connected port ビットフィールド（operand[16]）には、CONSUMER４６０３から通知された受信能力を示すコード「００16」がセットされる。connected plug idフィールド（operand[17]）には、CONSUMERの０番目のAsynchronous plugと接続することを示すコード「Ａ０16」がセットされる。ex（exclusive）フィールドには、他のCONTROLLERからのアクセスも許可することを示すコード「０」がセットされる。その他のフィールドには、ダミーデータとして全てのビットに「１」がセットされる。
【００７６】
上記コマンドフレームは、Asynchronousパケットのdata fieldにセットされ、CONTROLLER４６０１からPRODUCER４６０２のコマンドレジスタにwriteトランザクションで書き込まれる。これにより、ALLOCATE＿ATTACHコマンドの発行が行われる。
【００７７】
上記ALLOCATE＿ATTACHコマンドを受信したPRODUCER４６０２は、CONTROLLER４６０１に対して、このコマンドを受け付けたことを示すAcceptedレスポンスを送信する（図１０の２ｂ）。このAcceptedレスポンスに含まれるレスポンスフレームのopcode、operandフィールドにセットされるコードの一例を以下に説明する。
【００７８】
opcodeフィールドには、Asynchronous Connection用のコマンドに対応するレスポンスであることを示すコード「２６16」がセットされる。subfunctionフィールド（operand[0]）には、ALLOCATE＿ATTACHコマンドに対応するレスポンスであることを示すコード「０３16」がセットされる。
【００７９】
statusフィールド（operand[1]）には、指定されたポートが使用可能状態であることを示すACTIVEのコード「０３16」がセットされる。plug idフィールド（operand[2]）には、０番目のAsynchronous plugが確保されたことを示すコード「Ａ０16」がセットされる。plug offsetフィールド（operand[0]〜[8]）には、PRODUCER４６０２が持つ０番目のAsynchronous plugのオフセットアドレスを示すコードがセットされる。port idフィールド（operand[8]）には、oAPR[1]を示すポート番号「１」がセットされる。
【００８０】
port ビットフィールド（operand[8]）には、指定されたPRODUCER４６０２のportは固定サイズのSegment＿Bufferに対するデータ転送にしか対応していないことを示すコード「００2」がセットされる。その他のフィールドには、ALLOCATE＿ATTACHコマンドのコマンドフレームと同一の値がセットされる。
【００８１】
上記レスポンスフレームは、Asynchronousパケットのdata fieldにセットされ、PRODUCER４６０２からCONTROLLER４６０１のレスポンスレジスタにwriteトランザクションで書き込まれる。これにより、ALLOCATE＿ATTACHコマンドに対応するレスポンスの発行が行われる。
【００８２】
PRODUCER４６０２からALLOCATE＿ATTACHコマンドに対するAcceptedレスポンスを受け取ると、CONTROLLER４６０１は、CONSUMER４６０３に対して、ATTACHコマンドを送信する（図１０の３ａ）。このATTACHコマンドに含まれるコマンドフレームのopcode、operandフィールドにセットされるコードの一例を以下に説明する。
【００８３】
上記コマンドフレームにおいて、opcodeフィールドにはAsynchronous Connection用のコマンドであることを示すコード「２６16」がセットされる。subfunctionフィールド（operand[0]）にはPRODUCER４６０２への接続を指示するためのATTACHコマンドのコード「０２16」がセットされる。plug idフィールド（operand[2]）には、ALLOCATEコマンドの発行時と同じ０番目のAsynchronous plugを示すコード「Ａ０16」がセットされる。plug offsetフィールド（operand[3]〜[8]）には、ALLOCATEコマンドのレスポンスで通知された、CONSUMERのplug offsetを示すコードがセットされる。
【００８４】
port idフィールド（operand[8]）には、ALLOCATEコマンドの発行時と同じiAPRを示すポート番号「０」がセットされる。port ビットフィールド（operand[8]）には、ALLOCATEコマンドのレスポンスで通知された、CONSUMER４６０３の送信能力を示すコード「００2」がセットされる。
【００８５】
connected node idフィールド（operand[9],[10]）には、PRODUCER４６０２のノードＩＤである「０００１16」がセットされる。connected plug offsetフィールド（operand[11]〜[16]）には、PRODUCER４６０２から通知されたPRODUCERが持つ０番目のAsynchronous plugのオフセットアドレスを示すコードがセットされる。
【００８６】
connected port idフィールド（operand[16]）には、oAPR[1]を示すポート番号「１」がセットされる。connected port ビットフィールド（operand[16]）には、PRODUCER４６０２から通知された送信能力を示すコード「００16」がセットされる。connected plug idフィールド（operand[17]）には、PRODUCER４６０２の０番目のAsynchronous plugと接続することを示すコード「Ａ０16」がセットされる。
【００８７】
ex（exclusive）フィールド（operand[18]）には、他のCONTROLLER４６０１からのアクセスも許可することを示すコード「０」がセットされる。その他のフィールドには、ダミーデータとして全てのビットに「１」がセットされる。上記コマンドフレームは、Asynchronousパケットのdata fieldにセットされ、CONTROLLER４６０１からCONSUMER４６０３のコマンドレジスタにwriteトランザクションで書き込まれる。これにより、ATTACHコマンドの発行が行われる。
【００８８】
上記ATTACHコマンドを受信したCONSUMER４６０３は、CONTROLLER４６０１に対して、このコマンドを受け付けたことを示すAcceptedレスポンスを送信する（図１０の３ｂ）。このAcceptedレスポンスに含まれるレスポンスフレームのopcode、operandフィールドにセットされるコードの一例を以下に説明する。
【００８９】
上記レスポンスフレームにおいて、opcodeフィールドには、Asynchronous Connectionコマンドに対応するレスポンスであることを示すコード「２６16」がセットされる。subfunctionフィールド（operand[0]）には、ATTACHコマンドに対応するレスポンスであることを示すコード「０２16」がセットされる。
【００９０】
statusフィールド（operand[1]）には、指定されたポートが使用可能状態であることを示すACTIVEのコード「０３16」がセットされる。plug id、plug offset、port id、port ビットフィールド（operand[2]〜[8]）は、ATTACHコマンド内の各フィールド値が、先のALLOCATEレスポンスでCONTROLLER４６０１に通知した値と一致していることを確認した後、ATTACHコマンドと同じ値がセットされる。その他のフィールドには、ATTACHコマンドのコマンドフレームと同一の値がセットされる。
【００９１】
上記レスポンスフレームは、Asynchronousパケットのdata fieldにセットされ、CONSUMER４６０３からCONTROLLER４６０１のレスポンスレジスタにwriteトランザクションで書き込まれる。これにより、ATTACHコマンドに対応するレスポンスの発行が行われる。
【００９２】
以上、説明したコマンドフレーム、レスポンスフレームをCONSUMER４６０３或いはPRODUCER４６０２に送信することによって、consumer４６０３、PRODUCER４６０２それぞれに接続ノードのnode id、plug id、plug offset、port idが通知され、CONSUMERとPRODUCERの間に１つのコネクションが設定される。
【００９３】
［Asynchronous Connectionによるデータ転送手順］
次に、コネクションが設定された後のPRODUCER４６０２とCONSUMER４６０３との間のデータ転送手順について説明する。上述の手順によりコネクションが設定されると、CONSUMER４６０３は、Lockトランザクションを用いて、PRODUCER４６０２が持つoAPRに対してCONSUMER４６０３が持つSegment＿Bufferのサイズを通知し、データ転送の開始を指示する。
【００９４】
転送開始を指示されたPRODUCER４６０２は、PRODUCER４６０２が保持するフレーム（例えば、所定のデータファイル或いはファイルリストからなる）をCONSUMER４６０３が持つSegment＿Bufferにwriteトランザクションで書き込んでいく。フレームのデータサイズがSegment＿Bufferのサイズよりも大きい場合、フレームはSegment＿Bufferのサイズのセグメントに分割されて転送される。フレームの最終データ、又はセグメントの最終データを転送すると、PRODUCER４６０２は、Lockトランザクションを用いて、CONSUMER４６０３の持つiAPRに対して転送したデータのサイズと次のセグメントデータが存在するか否か、或いはフレームの転送が終了したか否かを通知する。
【００９５】
PRODUCER４６０２からの通知を受けたCONSUMER４６０３は、Segment＿Bufferに書き込まれたデータの処理を開始し、処理が終了するとPRODUCER４６０２のoAPRに最初と同様、Segment＿Bufferのサイズを通知して、次のセグメントデータの送信開始を指示する。これを１つのフレームの転送が終了するまで繰り返し実行する。
【００９６】
図１１は、CONSUMER４６０３が持つiAPRのフォーマットである。PRODUCER４６０２は、セグメントデータの送信後、送信終了を通知するためにLockトランザクションを用いてこのレジスタを更新する。図１１において、r（reserved）フィールドは、将来の拡張用のフィールドである。hb（heartbeat）フィールドは、規定時間以上データ通信が行われない場合にタイムアウトを起こさないためにハンドシェイクを行うためのフィールドである。modeフィールドは、送信したデータの状態やコネクションの状態を通知するためのフィールドである。このフィールドにセットされるコードの一例を表４に示す。sc（segment count）フィールドは、データ転送を正しく行うためのチェック用フィールドである。countフィールドは、送信したセグメントデータのバイトサイズを通知するためのフィールドである。
【００９７】
【表４】
2005167709.tif 000006
【００９８】
図１２は、PRODUCER４６０２が持つoAPRのフォーマットである。CONSUMER４６０３は、データ受信用のSegment＿Bufferの準備が終了すると、Lockトランザクションを用いてこのレジスタを更新して、セグメントデータの送信要求を行う。図１２において、r（reserved）フィールドは、将来の拡張用のフィールドである。hb（heartbeat）フィールドは、規定時間以上データ通信が行われない場合にタイムアウトを起こさないためにハンドシェイクを行うためのフィールドである。modeフィールドは、送信要求やコネクションの状態を通知するためのフィールドである。このフィールドに格納されるコードの一例を表５に示す。
【００９９】
【表５】
2005167709.tif 000007
【０１００】
sc（segment count）フィールドは、データ転送が正確に行われたかどうかをチェックするためのフィールドである。sc（segment count）フィールドは、データ転送を正しく行うためのチェック用フィールドである。countHiフィールドは、Segment＿Bufferのバイトサイズを通知するためのフィールドである。この１８ビットのフィールド値の下位に６ビットの０を付加した２４ビットの値が実際のSegment＿Bufferのサイズである。
【０１０１】
runフィールドはPRODUCER４６０２からのCONSUMER４６０３に対するアクセスを制御するためのフィールドである。この値が「０」の場合、PRODUCER４６０２は、CONSUMER４６０２の持つiAPRへのLockトランザクション及びSegment＿BufferへのWriteトランザクションを行うことができない。maxLoadフィールドは、CONSUMERが一回のWriteトランザクションで受信できる最大のペイロードサイズを示すフィールドである。そのバイトサイズは、以下の式によって求められる。
payloadSize = 2（maxLoad+1）
【０１０２】
次に、PRODUCER４６０２とCONSUMER４６０３との間のデータ転送の手順について詳細に説明する。CONSUMER４６０３は、３２ｋｂのSegment＿Bufferを持ち、受信できる最大のペイロードサイズは１ｋｂとする。また、PRODUCER４６０２は、５０ｋｂのフレーム（例えば、所定のデータファイル或いはファイルリストからなる）をCONSUMER４６０３に転送する。ここで、上述のiAPRもoAPRも初期値は全てのビットが「０」となっている。
【０１０３】
まずCONSUMER４６０３が、PRODUCER４６０２のoAPRを、Lockトランザクションを用いて更新する。このとき、oAPRのmodeを「SEND」にセットすることによって、PRODUCER４６０２に対しての転送開始要求となる。oAPRのcountHiは、CONSUMER４６０３のセグメントバッファが３２ｋｂのサイズを持つことを示し、maxLoadは、最大ペイロードサイズが１ｋｂであることを示している。また、runは１に更新され、PRODUCER４６０２は、CONSUMER４６０３に対してトランザクションを行うことが許可される。
【０１０４】
oAPRを更新されたPRODUCER４６０２は、CONSUMER４６０３のSegment＿Bufferに対して、writeトランザクションを用いてセグメントデータの送信を開始する。producer４６０２は、保有する５０ｋｂのフレームを、writeトランザクションを用いてCONSUMER４６０３のSegment＿Bufferの先頭アドレスから順番に１ｋｂずつ書き込みを行う。writeパケットを送信する毎に、writeトランザクションに使用されるオフセットアドレスは１ｋｂずつインクリメントされる。３２ｋｂのセグメントデータを送信した後、PRODUCER４６０２は、CONSUMER４６０３のiAPRを更新してセグメントデータの転送が終了したことを通知する。このとき、iAPRのmodeを「MORE」にセットすることによって、このセグメントデータに続いて次のセグメントデータが送信されることを通知する。また、scには、CONSUMER４６０３によって更新されたoAPRのscと同一の値がセットされる。countには、３２ｋｂのデータを送信したことを通知するデータがセットされる。
【０１０５】
iAPRの更新が行われるとCONSUMER４６０３は、前回更新したoAPRのscの値と更新されたiAPRのscの値を比較する。この結果、同一の値である場合、正しくデータが送信されたとみなしてセグメントデータの処理を開始する。セグメントデータの処理が終わり、Segment＿Bufferが使用可能な状態になった後、CONSUMER４６０３は、再びPRODUCER４６０２のoAPRを更新する。このときscの値を反転させることによって、新しいセグメントの送信要求となる。その他のフィールドは先にセットされた値と同様である。
【０１０６】
oAPRを更新されたPRODUCER４６０２は、CONSUMER４６０３のSegment＿Bufferに対して、writeトランザクションを用いて次のセグメントデータの送信を開始する。PRODUCER４６０２は、送信済みの３２ｋｂ以降のデータから開始し、writeトランザクションを用いてCONSUMER４６０３のSegment＿Bufferの先頭アドレスから順番に１ｋｂずつ書き込みを行う。
【０１０７】
writeパケットを送信する毎に、writeトランザクションに使用されるオフセットアドレスは１ｋｂずつインクリメントされる。１８ｋｂ（＝５０ｋｂ−３２ｋｂ）のセグメントデータを送信した後、PRODUCER４６０２は、CONSUMER４６０３のiAPRを更新してセグメントデータの送信が終了したことを通知する。
【０１０８】
このとき、iAPRのmodeを「LAST」にセットすることによって、このフレームの全データの送信が終了したことを通知する。また、scには、CONSUMER４６０３によって更新されたoAPRのscと同一の値がセットされる。countには、１８ｋｂのデータを送信したことを通知するデータがセットされる。iAPRを更新されたCONSUMER４６０３は、前回と同様、scの値を調べた後にセグメントデータの処理を行い、処理が終了するとPRODUCER４６０２のoAPRを更新する。
【０１０９】
以上のシーケンスによってPRODUCER４６０２からCONSUMER４６０３に１フレーム分のデータが転送される。なお、PRODUCER４６０２が、他にも転送するフレームを持っていれば、同様の手順で転送を繰り返し行う。全てのフレームの転送が終了すると、CONTROLLER４６０１は、必要に応じてPRODUCER４６０２とCONSUMER４６０３の間に設定されたコネクションを切断する。
【０１１０】
［Asynchronous Connectionによるコネクション切断手順］
次に、図１３を参照して、コネクションを切断するための処理について説明する。図１３において、実線で示す矢印は、コマンドフレーム１ａ，２ａ，３ａの流れを示し、波線で示す矢印は、レスポンスフレーム１ｂ，２ｂ，３ｂの流れを示す。図１３において、CONTROLLER４６０１はまず、CONSUMER４６０３に対して、DETACHコマンドを送信する（図１３の１ａ）。このDETACHコマンドに含まれるコマンドフレームのopcode、operandフィールドにセットされるコードの一例を以下に説明する。
【０１１１】
上記DETACHコマンドにおいて、opcodeフィールドには、Asynchronous Connection用のコマンドであることを示すコード「２６16」がセットされる。subfunctionフィールド（operand[0]）には、コネクションの切断を指示するためのDETACHコマンドのコード「０６16」がセットされる。plug idフィールド（operand[2]）には、ATTACHコマンドの発行時と同じ０番目のAsynchronous plugを示すコード「Ａ０16」がセットされる。port idフィールド（operand[8]）には、ATTACHコマンドの発行時と同じiAPRを示すポート番号「０」がセットされる。ex（exclusive）フィールド（operand[18]）には、他のCONTROLLERからのアクセスも許可することを示すコード「０」がセットされる。その他のフィールドには、ダミーデータとして全てのビットに「１」がセットされる。
【０１１２】
上記コマンドフレームは、Asynchronousパケットのdata fieldセットされ、CONTROLLER４６０１からCONSUMER４６０３のコマンドレジスタにwriteトランザクションで書き込まれる。これにより、DETACHコマンドの発行が行われる。
【０１１３】
上記DETACHコマンドを受信したCONSUMER４６０３は、CONTROLLER４６０１に対して、このコマンドを受け付けたことを示すAcceptedレスポンスを送信する（図１３の１ｂ）。このAcceptedレスポンスに含まれるレスポンスフレームのopcode、operandフィールドにセットされるコードの一例を以下に説明する。
【０１１４】
上記レスポンスフレームにおいて、opcodeフィールドには、Asynchronous Connectionコマンドに対応するレスポンスであることを示すコード「２６16」がセットされる。subfunctionフィールド（operand[0]）には、DETACHコマンドに対応するレスポンスであることを示すコード「０６16」がセットされる。statusフィールド（operand[1]）には、指定されたポートが停止状態（即ち、INACTIVE）であることを示すコード「０４16」がセットされる。plug idフィールド（operand[2]）には、コマンドフレームで指定されたplug番号がセットされる。plug offsetフィールド（operand[2]〜[8]）には、コマンドフレームで指定されたAsynchronous plugのオフセットアドレスを示すコードがセットされる。
【０１１５】
port idフィールド（operand[8]）には、コマンドフレームで指定されたport番号がセットされる。port ビットフィールド（operand[8]）には、コマンドフレームで指定されたportの能力を示すコードがセットされる。connected node id、connected plug offset、connected port id、connected port ビット、connected plug idフィールド（operand[9]〜[17]）には、コネクションを設定していたPRODUCER４６０２のノードＩＤ、Asynchronous plugのオフセットアドレス、port番号、portの能力、plug番号がセットされる。connection countフィールド（operand[18]）には、DETACHコマンドを受け取る前のconnection countの値から「１」を引いた値である「０」がセットされる。その他のフィールドには、DETACHコマンドのコマンドフレームと同一の値がセットされる。
【０１１６】
上記レスポンスフレームは、Asynchronousパケットのdata fieldにセットされ、CONSUMER４６０３からCONTROLLER４６０１のレスポンスレジスタにwriteトランザクションで書き込まれる。これにより、DETACHコマンドに対するレスポンスの発行が行われる。
【０１１７】
CONSUMER４６０３からDETACHコマンドのレスポンスを受信したCONTROLLER４６０１は、PRODUCER４６０２に対して、DETACH＿RELEASE コマンドを送信する。このDETACH＿RELEASE コマンドに含まれるコマンドフレームのopcode、operandフィールドにセットされるコードの一例を以下に説明する。
【０１１８】
上記コマンドフレームにおいて、opcodeフィールドには、Asynchronous Connectionのコマンドであることを示すコード「２６16」がセットされる。subfunctionフィールド（operand[0]）には、コネクションの切断とリソースの解放を指示するためのDETACH＿RELEASE コマンドのコード「０７16」がセットされる。plug idフィールド（operand[2]）には、ALLOCATE＿ATTACHコマンドの発行時と同じ０番目のAsynchronous plugを示すコード「Ａ０16」がセットされる。
【０１１９】
上記DETACH＿RELEASE コマンドを受信したPRODUCER４６０２は、CONTROLLER４６０１に対して、このコマンドを受け付けたことを示すAcceptedレスポンスを送信する。このAcceptedレスポンスに含まれるレスポンスフレームのopcode、operandフィールドにセットされるコードの一例を以下に説明する。
【０１２０】
上記レスポンスフレームにおいて、opcodeフィールドには、Asynchronous Connection用のコマンドに対応するレスポンスであることを示すコード「２６16」がセットされる。subfunctionフィールド（operand[0]）には、DETACH＿RELEASE コマンドに対応するレスポンスであることを示すコード「０７16」がセットされる。statusフィールド（operand[1]）には、指定されたポートが使用されていない状態であることを示すFREEのコード「０１16」がセットされる。その他のフィールドには、DETACH＿RELEASE コマンドのコマンドフレームと同一の値がセットされる。
【０１２１】
上記レスポンスフレームは、Asynchronousパケットのdata fieldにセットされ、PRODUCER４６０２からCONTROLLER４６０１のレスポンスレジスタにwriteトランザクションで書き込まれる。これにより、DETACH＿RELEASE コマンドに対するレスポンスの発行が行われる。
【０１２２】
PRODUCER４６０２からDETACH＿RELEASE コマンドのレスポンスを受信したCONTROLLER４６０１は、CONSUMER４６０３に対して、RELEASEコマンドを送信する。このRELEASEコマンドに含まれるコマンドフレームのopcode、operandフィールドにセットされるコードの一例を以下に説明する。
【０１２３】
上記コマンドフレームにおいて、opcodeフィールドには、Asynchronous Connection用のコマンドであることを示すコード「２６16」がセットされる。subfunctionフィールド（operand[0]）には、リソースの解放を指示するためのRELEASEコマンドのコード「０５16」がセットされる。plug idフィールド（operand[2]）には、ALLOCATEコマンドの発行時と同じ０番目のAsynchronous plugを示すコード「Ａ０16」がセットされる。
port idフィールド（operand[8]）には、ALLOCATEコマンドの発行時と同じiAPRを示すポート番号「０」がセットされる。ex（exclusive）フィールド（operand[18]）には、他のCONTROLLERからのアクセスも許可することを示すコード「０」がセットされる。その他のフィールドには、ダミーデータとして全てのビットに「１」がセットされる。
【０１２４】
上記コマンドフレームは、Asynchronousパケットのdata fieldにセットされ、CONTROLLER４６０１からCONSUMER４６０３のコマンドレジスタにwriteトランザクションで書き込まれる。これにより、RELEASEコマンドの発行が行われる。
【０１２５】
上記RELEASEコマンドを受信したCONSUMER４６０３は、CONTROLLER４６０１に対して、このコマンドを受け付けたことを示すAcceptedレスポンスを送信する（図１３の３ｂ）。このAcceptedレスポンスに含まれるレスポンスフレームのopcode、operandフィールドにセットされるコードの一例を以下に説明する。
【０１２６】
上記レスポンスフレームにおいて、opcodeフィールドには、Asynchronous Connection用のコマンドに対応するレスポンスであることを示すコード「２６16」がセットされる。subfunctionフィールド（operand[0]）には、RELEASEコマンドに対応するレスポンスであることを示すコード「０５16」がセットされる。statusフィールド（operand[1]）には、指定されたポートが使用されていない状態（FREE）であることを示すコード「０１16」がセットされる。その他のフィールドには、RELEASEコマンドのコマンドフレームと同一の値がセットされる。
【０１２７】
上記レスポンスフレームは、Asynchronousパケットのdata fieldにセットされ、CONSUMER４６０３からCONTROLLER４６０１のレスポンスレジスタにwriteトランザクションで書き込まれる。これにより、RELEASEコマンドに対応するレスポンスの発行が行われる。
【０１２８】
上述のコマンドフレーム、レスポンスフレームをCONSUMER４６０３、或いはPRODUCER４６０２に送信することによって、CONSUMER４６０３とPRODUCER４６０２の間に設定されたコネクションの一つを解除することができる。
【０１２９】
「テープ位置データ転送方法」
上述したように、バスリセットに続く一連の初期設定動作が終了すると、カムコーダ１０１は、例えば上述のAsynchronous Connectionを用いて、上述したインデックス画像と該画像に対応したタイムコード、ＡＴＮ等のデータをＰＣ１０３に送信する。この際、例えばカムコーダ１０１は、上述のAsynchronous ConnectionにおけるCONTROLLERノード及びPRODUCERノードを兼用して、上述したインデックス画像と該画像に対応したタイムコード、ＡＴＮ等のデータを送信する。この場合には、ＰＣ１０３はCONSUMERノードとなって、上記のインデックス画像と該画像に対応したタイムコード、ＡＴＮ等のデータを受信する。また、この際に、カムコーダ１０１は上記のビデオカセットの識別情報や日時情報も併せて送信するよう構成してもよいことは言うまでもない。
【０１３０】
また、バスリセットに続く一連の初期設定動作が終了した後、ＰＣ１０３が、上述のAsynchronous ConnectionにおけるCONTROLLERノード及びCONSUMERノードを兼用しても良い。この場合には、カムコーダ１０１はPRODUCERノードとなるので、上記ＰＣ１０３の制御に従って、上述したインデックス画像と該画像に対応したタイムコード、ＡＴＮ等のデータを送信する。ＰＣ１０３はCONSUMERノードとなって、上記のインデックス画像と該画像に対応したタイムコード、ＡＴＮ等のデータを受信する。また、この際に、カムコーダ１０１は上記のビデオカセットの識別情報や日時情報も併せて送信するよう構成してもよいことは言うまでもない。
【０１３１】
ＰＣ１０３は、上記受信したインデックス画像と該画像に対応したタイムコード、ＡＴＮ等のデータをＰＣ１０３内に格納しているＨＤに記録する。また、このとき、ビデオカセットの識別情報や日時情報も併せて受信する場合には、上記インデックスとビデオカセットの識別情報と日時情報との対応付けを行って上記ＨＤに記録する。
【０１３２】
上述したように本実施形態ではAsynchronous Connectionを用いて、インデックス画像の転送及び該インデックス画像に関連したテープ位置情報の転送、或いは、該インデックス情報に関連したカセットの識別情報、撮影日時情報の転送を行っているが、IPv4 over IEEE 1394規格（RFC2734,IETF）を用いて上記情報の転送を行っても良い。この場合、上位層のプロトコルとしては、例えばFTP、HTTP等ファイル転送を行うプロトコルが用いられる。
【０１３３】
上記のようにIPv4 over IEEE 1394規格を用いる場合の動作を図５を参照して説明する。バスリセットが発生すると、カムコーダ１０１及びＰＣ１０３は初期リセット動作に入る。該初期リセット動作が終了すると、例えば、ＰＣ１０３上にFTPサーバが立ち上がる。カムコーダ１０１は該FTPサーバにログイン処理を行う。該ログイン処理に係るパスワードは例えば、ワンタイムパスワードが用いられる。ログイン処理を行ったカムコーダ１０１はPUTコマンドを用いて、上記インデックス画像ファイル、及び、該インデックス画像に関連したテープ位置情報、或いは、該インデックス情報に関連したカセットの識別情報、撮影日時情報等を転送する。該転送処理が上記インデックス画像ファイルの数だけ行われると、カムコーダはQUITコマンドを用いてログアウト処理を行うようになっている。
【０１３４】
上述した手順では、ＰＣ１０３にFTPサーバが立ち上がるとしているが、例えばカムコーダ１０１にFTPサーバが立ち上がる様に構成してもよい。この場合の手順を上記と同様に図５を参照して説明する。バスリセットが発生すると、カムコーダ１０１及びＰＣ１０３は初期リセット動作に入る。該初期リセット動作が終了すると、カムコーダ１０１上にFTPサーバが立ち上がる。ＰＣ１０３上ではFTPアプリケーション（FTPクライアント）が該ＰＣ１０３のメモリ上にロードされ、カムコーダ１０１のFTPサーバにログイン処理を行う。該ログイン処理に係るパスワードは例えば、ワンタイムパスワードが用いられる。ログイン処理を行ったＰＣ１０３はGETコマンドを用いて、上記インデックス画像ファイル、及び、該インデックス画像に関連したテープ位置情報、或いは、該インデックス情報に関連したカセットの識別情報、撮影日時情報等を転送する。該転送処理が上記インデックス画像ファイルの数だけ行われると、カムコーダはQUITコマンドを用いてログアウト処理を行うようになっている。
【０１３５】
上述の実施形態では、IPv4 over IEEE 1394規格の上位層プロトコルとしてFTPを用いているが、例えばTFTP、HTTP、SMTP等、データ転送が可能であればどんなプロトコルでも用いることができるのは言うまでもない。また、IEEE1394上の上位プロトコルとしては、SBP-2、SBP-3、DPP等、Asynchronousモードを用いてデータ転送可能なプロトコルであれば、どんなプロトコルでも使用できる。また、上記実施形態では、ネットワークアクセス層等下位層のプロトコルとしてIEEE1394を用いているが、論理的にネットワークに接続されたか否かを検出できる下位層のプロトコルであればなんでも使用することができる。例えば、下位層プロトコルとして、Ethernet（Ｒ）、IEEE 803.3、IEEE 802.4、IEEE 802.5、IEEE 802.11、USB、Bluetooth、UWB（Ultra Wide Band）等を用いることができる。
【０１３６】
「インデックスファイルの構成」
上記インデックス画像は、例えば、JEIDAディジタルスチルカメラ用画像ファイルフォーマット規格（以下、Exif規格と称する）に則った形式にて、取外し可能記録媒体３０に記録される。Exif規格では非圧縮データファイルと圧縮データファイルとの二種類のファイル形式が定められている。非圧縮データ形式ではTIFF Rev.6.0との互換性を有し、圧縮データはJPEGフォーマットに準拠する形式である。
【０１３７】
例えば、非圧縮データを用いる場合のファイルフォーマットを図１４を参照して説明する。画像データ（主画像データ）はRGB又はYCrCbのいずれかの形式で記録される。ファイル内にはサムネイル画像を記録することが推奨されており、サムネイル画像は、上記主画像データとは独立に、RGB又はYCrCbのいずれかの形式で記録される。単一のファイルには二つのImage File Directory （IFD）が記述可能である。該ファイルの最初に記述されるIDFは「0th IDF」と呼ばれる。該0th IDFには主画像、即ちPrimary Imageに関する情報が記述される。該0th IFDに続くIDFは「1st IDF」と呼ばれ、サムネイル（Thumbnail）画像に関する情報が記述される。
【０１３８】
ヘッダ１２３０の後に「0th IFD ポインタ」１２３１が記載され、このポインタにより0th IFD の先頭アドレスが示される。「0th IFD ポインタ」１２３１に続き、エントリーカウントコード１２３２を先頭にして、以下、主画像に関するIFD（「0th IFD for Primary Data」１２３３） が記載される。「0th IFD for Primary Data」１２３３には、画像の幅、画像の高さ、及びExif IFDポインタ等が含まれる。
【０１３９】
「0th IFD for Primary Data」１２３３に続いて「1st IFD のポインタ」１２３４が記載され、その下に0th IFD の具体的なデータ（「Value of 0th IFD」１２３５）が記載される。なお、ファイル中に「1st IFD 」が存在しない場合には、「1st IFDポインタ」１２３４に代えて終端コード（ターミナル）が記載される。
【０１４０】
「Value of 0th IFD」１２３５の後は、エントリーカウントコード１２３６を先頭にして、以下、「Exif Private Tag」１２３７が記述される。「Exif Private Tag」１２３７には、Exifのバージョン情報、メーカーノート等が含まれる。メーカーノートエリアは、ベンダー固有の記述が可能な領域である。該メーカーノートエリアには、上記した該インデックス画像に関連したＡＴＮ、タイムコード、カセットのＩＤ、撮影日時等の情報を格納してもよい。
【０１４１】
「Exif Private Tag」１２３７の末尾にターミナル１２３８が記載され、このターミナル１２３８に続いて、Exifデータの値１２３９及びメーカーノートデータ１２４０が記載される。そして、その下に、エントリーカウントコード１２４１を先頭にして、以下、サムネイル画像に関するIFD（「1st IFD for Thumbnail Data 」１２４２）が記載される。「1st IFD for Thumbnail Data 」１２４２には、画像の幅、画像の高さが含まれる。ターミナル１２４３に続いて1st IFD のvalue （「Value of 1st IFD」）１２４４及びサムネイル画像のデータ１２４５が記載され、その後に主画像データ１２４６が記載される。
【０１４２】
図１５は圧縮データファイルの構造を示す図である。圧縮データファイルは、ファイルの始まりを示すＳＯＩ（Start of Image） マーカーの直後に、アプリケーションマーカーセグメント（ＡＰＰ１） が記載され、これに続いて、量子化テーブル（ＤＱＴ）、ハフマンテーブル（ＤＨＴ）、フレームヘッダ（ＳＯＦ）、スキャンヘッダ（ＳＯＳ）、エントロピー符号化データ、及びエントロピー符号化データ終了コード（ＥＯＩ）が順に記載されている。ＡＰＰ１の内部は、ＡＰＰ１マーカー、Exifの識別コード、及び付属情報本体から構成される。付属情報はヘッダを含むTIFFの構造を有し、２つのIFD（0th IFD及び1st IFD）を記録できる。
【０１４３】
図１６にＡＰＰ１内部のJPEG圧縮データファイルの基本構造を示しておく。同図に示すように、ＡＰＰ１部は、上述の図１４で説明した非圧縮データファイルの構造（TIFF構造）を内包している。
【０１４４】
次に、表６を用いて、上記メーカーノートエリアに、上述したような該インデックス画像に関連したＡＴＮ、タイムコード、カセットのＩＤ、撮影日時等の情報を格納する場合のファイル内部形式について説明する。
【０１４５】
【表６】
2005167709.tif 000008
【０１４６】
表６は上記インデックス画像ファイルに関連したテープ上の情報に示すTagの一例である。表６においてTag名称TimeCodeはテープ上のタイムコードを示す項目であり、ＡＴＮはテープ上のＡＴＮを示す個目であり、UUIDは該テープが収容されているカセットをするための識別番号を示す項目であり、RecordingDateは該インデックス画像に関連するカットが撮影された日付を示す項目であり、RecordingTimeは該インデックス画像に関連するカットが撮影された時刻を示す項目である。また、Tag番号は該Tagを識別するための番号、Typeは該Tagのデータ型であり、BYTEは8ビット符号無し整数、LONGは32ビット（４バイト）符号無し整数を示す。カウントは該Tag一つあたり上記したTypeの型のデータがいくつ必要かを示すデータであり、個数は該メーカーノートエリアに該Tagが何個含まれるかを示すデータである。また、レベルは該Tagの必要性を示し、この値がM（Mandatory）のものはハードウェアの制限が無い限り必ず該メーカーノートエリア内に記録されなければならないことを示し、O（Optional）のものは有っても無くてもよいことを示す。
【０１４７】
本実施形態では、上述のようにインデックス画像内に、上記した該インデックス画像に関連したＡＴＮ、タイムコード、カセットのＩＤ、撮影日時等の情報を格納する場合には、該インデックス画像のみをカムコーダ１０１からＰＣ１０３に対して転送すればよいので、転送時間が短くなり操作者の待ち時間が少なくなり、操作性が向上するといった効果がある。
【０１４８】
また、本実施形態ではExifファイルの主画像を転送するよう構成しているが、Exifファイル内のサムネイル画像のみを転送し、後にＡＴＮ、タイムコード、カセットのＩＤ、撮影日時等の情報を転送するように構成しても良い。この場合にも、サムネイル画像は容量が小さいので転送時間が短くなり操作者の待ち時間が少なくなり、操作性が向上するといった効果がある。
【０１４９】
「ＰＣのカセット識別動作」
本実施形態では、上述のインデックス画像、該インデックス画像に関連付けられたテープ位置情報（即ち、ＡＴＮ、タイムコード等）、カセットの識別情報、撮影日時情報等は、Ｄ-Ｉ／Ｆ１９を介してカムコーダ１０１からＰＣ１０３に転送された後、ＰＣ１０３に内蔵されたハードディスク装置に記録される。上記のような場合に、一旦カムコーダ１０１とＰＣ１０３との間の接続が切断され、再び接続された場合の動作を以下に説明する。
【０１５０】
図１７はＰＣ１０３上のアプリケーションにおける上記動作を示すフローチャートである。まず、ステップＳ８０１で該動作が開始されると、ステップＳ８０２でバスリセットが検出され、ステップＳ８０３でバスリセットの初期設定動作が行われる。ステップＳ８０４ではカムコーダ１０１に装填されているカセットのカセット識別情報（CID）が、該カムコーダ１０１から転送され、検出される。
【０１５１】
ステップＳ８０５では、ＰＣ１０３に内蔵されているＨＤ装置から、過去にカムコーダ１０１が該ＰＣアプリケーションと接続されたことが有るかどうかを示すデータが検出される。もし、一度も接続されたことがない場合には、ステップＳ８０７にて、全てのインデックス画像、及び、該インデックス画像に関するテープ位置データ、撮影日時データ等の転送要求がカムコーダ１０１に送出され、上記データが転送される。
【０１５２】
一方、ステップＳ８０５にて過去に接続されたことがある場合には、ステップＳ８０９でカセット識別情報（CID）に関する履歴情報がＰＣ１０３のＨＤ装置に記録されているかどうかが検出される。もし、ステップＳ８０９で該履歴情報が記録されていないと判断された場合には、上記同様にステップＳ８０７にて全てのインデックス画像、及び、該インデックス画像に関するテープ位置データ、撮影日時データ等の転送要求がカムコーダ１０１に送出され、上記データが転送される。
【０１５３】
上記ステップＳ８０９で上記カセット識別情報（CID）に関する履歴情報がＰＣ１０３のＨＤ装置に記録されていると判断された場合には、ステップＳ８１０で該CIDに関する履歴情報であるHIDが、ＰＣ１０３のＨＤ装置から読み出される。次にステップＳ８１１でカムコーダ１０１に装填されている取外し可能な記録媒体３０からインデックス画像のリスト情報LIが読み出される。本実施形態では、例えば上記HIDとLIとは同様の記録形式にて記録されている。
【０１５４】
ステップＳ８１２では上記HIDとLIとの差分情報Sが算出され、該算出結果Sに基づいて上記履歴情報にないインデックス画像情報の転送要求がステップＳ８１３でなされ、差分のインデックス画像と、該インデックス画像に関するテープ位置データ、撮影日時データ等とがカムコーダ１０１から読み出される。
【０１５５】
ステップＳ８１４ではCIDの履歴情報が新たに作成される。該履歴情報は、該ステップＳ８１４の前にステップＳ８０７が実行されている場合には、全てのインデックス画像情報から履歴情報が作成される。また、該ステップＳ８１４の前にステップＳ８１３が実行されている場合には、以前の履歴情報とカムコーダ１０１から読み出された差分のインデックス画像情報とから上記CIDの履歴情報が作成される。該動作により、該履歴情報は常に最新の情報に保たれる。
【０１５６】
ステップＳ８１５では、上記動作によって作成されたCIDに関する履歴情報がＰＣ１０３のＨＤ装置に記録され、ステップＳ８１７で該動作が終了する。上記動作により、本実施形態では、ＰＣ１０３は内蔵するＨＤ装置に記録されているインデックス画像情報と該インデックス画像に関するテープ位置データ、撮影日時データ等の情報とを自動的に選択することが可能となっている。これにより、必要なインデックス画像だけを転送させることができるので、転送に要する時間が短縮されるので操作者の操作性が向上するといった効果がある。
【０１５７】
［ＰＣからの操作］
次に、図１８を参照して、本発明に好適なＰＣ１０３上のアプリケーションの動作について説明する。同図において、１５０１はモニタ画面、１５０２はアプリケーションウィンドウ、１５０３〜１５１１はインデックス画像表示領域、１５１２はポインタカーソル、１５１３はサーチ開始ボタン、１５１４及び１５１５はインデックス画像スクロールボタン、１５１６及び１５１７はジャンプボタンである。
【０１５８】
本実施形態のアプリケーションにおいては、カセット識別情報により、カムコーダに装填されるカセットに関連するインデックス画像情報が自動的に選択されて表示される。
【０１５９】
操作者がマウス等の不図示のポインティングデバイスを操作してポインタカーソル１５１２を移動させ、インデックス画像表示領域１５０３〜１５１１のいずれかを選択すると、選択されたインデックス画像がハイライト表示される。例えば図１８の場合、インデックス画像１５０７が選択されている。この状態において、さらにポインタカーソル１５１２を移動させ、サーチ開始ボタン１５１３を選択すると上記インデックス画像１５０７に関連したテープ位置情報がＰＣ１０３内部のＨＤ装置から読み出される。
【０１６０】
該テープ位置情報は、例えば、ＡＴＮ及びタイムコードである。本実施形態のＰＣアプリケーションは該情報を使用して、テープ位置の探索動作を行う。本実施形態では、ＰＣアプリケーションは最初に例えばＡＴＮコマンドを発行する。該コマンドは、周知のAV/C Tape Recorder/Player subunit command set規格（IEEE 1394 Trade Association）に即したコマンドである。該コマンドセットは上述したCTSコマンドの集合である。該コマンドを受信したカムコーダ１０１はINTERIMレスポンスをＰＣ１０３に送信して、ＡＴＮサーチ動作を開始する。上記ＡＴＮコマンドにセットされているＡＴＮ値付近にテープを移動させたカムコーダ１０１はテープ移動動作を一旦終了させ、PLAY FORWARD PAUSE状態になり、上記ＡＴＮコマンドに対するACCEPTEDレスポンスをＰＣ１０３に返す。
【０１６１】
上記ACCEPTEDレスポンスを受信したＰＣアプリケーションは、次にタイムコードコマンドを発行する。カムコーダ１０１は該タイムコードコマンドに対して、現在読み出されているタイムコードをレスポンスフレームに格納してＰＣ１０３に返す。該タイムコードコマンドによって、ＰＣアプリケーションはカムコーダ１０１の現在のテープ位置におけるタイムコードを読み出すことができる。
【０１６２】
ＰＣアプリケーションは次に、カムコーダ１０１から受信したタイムコード値と上述のＨＤから読み出された（目標）タイムコード値とを比較して、テープ位置送りの方向を決定する。即ち、ＰＣアプリケーションは、ＨＤから読みだされたタイムコード値がカムコーダ１０１から受信したタイムコード値よりも大きい場合にはPLAY NEXT FRAMEコマンドを、ＨＤから読みだされたタイムコード値がカムコーダ１０１から受信したタイムコード値よりも小さい場合にはPLAY PREVIOUS FRAMEコマンドを発行する。もし、ＨＤから読みだされたタイムコード値とカムコーダ１０１から受信したタイムコード値とが同じ値だった場合には処理を終了する。
【０１６３】
上記動作を図１９に示すフローチャートを参照して説明する。ステップＳ１６０１にて該処理が開始される。ステップＳ１６０２で操作者によりインデックス画像が選択される。ステップＳ１６０３にて該選択されたインデックス画像に関してサーチ動作が開始される。該サーチ動作の開始は、上記したようなＰＣアプリケーション上での操作者の操作によるものである。ステップＳ１６０４で上記選択されたインデックスに関連するＡＴＮが読み出される。ステップＳ１６０５で上記選択されたインデックスに関連するタイムコードが読み出され該値が変数Trに格納される。次のステップＳ１６０６でATN control コマンドが、カムコーダ１０１へ発行される。STEP 1607では上記ATN controlコマンドに関する第一回目のレスポンスが検査される。該レスポンスがINTERIM以外の値であった場合には、上記のATN controlコマンドに不正な値がセットされたか、或いは、カムコーダ１０１がＡＴＮを検出できない状態であるので、ステップＳ１６０８で処理を終了させる。
【０１６４】
上記ステップＳ１６０７でINTERIMレスポンスを受信した場合には、ステップＳ１６０９にてACCEPTEDレスポンスを待機する。該ステップＳ１６０９でACCEPTEDレスポンスを検出すると、ステップＳ１６１０でタイムコードstatusコマンドをカムコーダ１０１に発行する。ステップＳ１６１１では上記タイムコードstatusコマンド対するレスポンスを検査する。該レスポンスがSTABLEレスポンス以外の場合には、上記のタイムコードstatusコマンドに不正な値がセットされたか、或いは、カムコーダ１０１がタイムコードを選出できない状態にあるので、ステップＳ１６０８で処理を終了させる。ステップＳ１６１１でSTABLEレスポンスが返された場合には、次のステップＳ１６１２で検出されたタイムコード値を変数Tcに格納する。
【０１６５】
ステップＳ１６１３では上記変数Tr及び変数Tcの値が比較される。ステップＳ１６１３でTrとTcとの差分値が一定の閾値より小さかった場合、目標のテープ位置であるとしてステップＳ１６０８で処理を終了させる。また、ステップＳ１６１３でTrとTcとの差分値が一定の閾値以上でかつTrがTcよりも大きい場合にはステップＳ１６１４に処理が移り、PLAY NEXT FRAME controlコマンドをカムコーダ１０１に発行する。該PLAY NEXT FRAME controlコマンドに対しカムコーダ１０１はテープ位置を１フレーム分進ませる。また、ステップＳ１６１３でTrとTcとの差分値が一定の閾値以上でかつTrがTcよりも小さい場合にはステップＳ１６１５に処理が移りPLAY PREVIOUS FRAME controlコマンドをカムコーダ１０１に発行する。該PLAY PREVIOUS FRAME controlコマンドに対しカムコーダ１０１はテープ位置を１フレーム分戻す。上記ステップＳ１６１０〜ステップＳ１６１５は処理ループを構成して、カムコーダ１０１のテープ位置を、目標の位置から一定の誤差範囲に停止させることができる。
【０１６６】
上記説明したように、本実施形態のＰＣアプリケーションでは、操作者がインデックス画像を見ながら該インデックス画像の一つを選択するだけで、カムコーダ１０１のテープを該インデックス画像が示すテープ位置へ移動させることができるので、操作性が著しく向上する。また、操作者は所望のテープ位置を、インデックス画像を見ながら検索できるので、操作性が非常に向上するといった効果がある。さらに、本実施形態では、上記カムコーダ１０１に装填されるメモリカード上のデータがＰＣ１０３のＨＤに記録されバックアップされるので、操作者の錯誤や上書き処理等によって上記のメモリカード上のデータが消去されてしまった場合にもデータを保護できるという効果がある。
【０１６７】
（他の実施形態）
本発明は、ディジタルテレビやセットトップボックス等に関しても同様に適用できる。次に本発明をディジタルテレビに適用した実施形態について図２０を参照して説明する。同図において図５と同一の符号は同一機能の構成要素を示す。同図においてにおいて、１７０３はディジタルテレビであり、Ｄ-Ｉ／Ｆを装備していて、IEEE1394ケーブル１０２によってカムコーダ１０１と接続される。
【０１６８】
IEEE1394ケーブル１０２を用いて、カムコーダ１０１とディジタルテレビ１７０３とを接続すると、バスリセットが発生する。該バスリセットをトリガとして、上記ディジタルテレビ１７０３は上記IEEE1394のハードウェアに関する初期設定動作を行うようになっている。また、同様にカムコーダ１０１も、該バスリセットをトリガとして、IEEE1394に関する初期設定動作を行うようになっている。
【０１６９】
上記したカムコーダ１０１の動作を、図６のフローチャートを参照して説明する。ステップＳ４０１で該処理が開始されると、ステップＳ４０２で上記バスリセットが検出される。バスリセットが発生していなかった場合、該バスリセット検出動作を継続する。バスリセットが発生した場合、ステップＳ４０３にてバスリセット後の初期設定動作が行われる。
【０１７０】
該初期設定動作後、ステップＳ４１０でカセット識別情報の検出が行われる。上述したように、磁気テープ１１上のパック領域の一部にはカセット識別情報が記録されている。ステップＳ４１０が実行された時点で該カセット識別情報が読み出されていた場合には、ステップＳ４１１が実行され、該カセット識別情報がＤ-Ｉ／Ｆ１９を介してカムコーダ１０１からディジタルテレビ１７０３へ送信される。ステップＳ４１０が実行された時点で該カセット識別情報が読み出されていなかった場合には、該カセット識別情報を読み出すまで待機した後、ステップＳ４１１が実行され、識別情報がＤ-Ｉ／Ｆ１９を介してカムコーダ１０１からディジタルテレビ１７０３へ送信される。
【０１７１】
次に、ステップＳ４０４では、カムコーダ１０１からディジタルテレビ１７０３へインデックスの受信要求が行われる。ステップＳ４０５では、該インデックス送信が終了したかどうかの検出を行う。インデックス送信が終了していない場合、インデックス送信を継続し、インデックス送信が終了するとステップＳ４０６に処理が移る。ステップＳ４０６では、上記インデックスに対応したテープ上の位置データの受信要求を、該カムコーダ１０１からディジタルテレビ１７０３に送信する。その後、ステップＳ４０７で該テープ上の位置データが送信完了したかを検出する。送信完了していなければ送信を継続し、該送信が完了していればステップＳ４０８に処理が移る。
【０１７２】
ステップＳ４０８では、全てのインデックスに関し上記処理が終了したかどうかを検出する。ステップＳ４０５からステップＳ４０８では処理ループが形成されており、全てのインデックスに関して処理が終了していなければ、上記インデックス送信及び該インデックスに関するテープ位置データの送信とが繰り返される。全インデックスに対して、上記処理が終了していれば、ステップＳ４０９で該処理を終了する。
【０１７３】
該バスリセットに続く一連の初期設定動作が終了すると、カムコーダは、例えばAsynchronous Connectionと呼ばれる通信プロトコルを用いて、上述したインデックス画像と該画像に対応したタイムコード、ＡＴＮ等のデータをディジタルテレビ１７０３に送信する。ディジタルテレビ１７０３は該タイムコード、ＡＴＮ等のデータを内部のフラッシュメモリ等に記録する。
【０１７４】
「ディジタルテレビのカセット識別動作」
本実施形態では、上述のインデックス画像、該インデックス画像に関連付けられたテープ位置情報（即ち、ＡＴＮ、タイムコード等）、カセットの識別情報、撮影日時情報等は、Ｄ-Ｉ／Ｆ１９を介してカムコーダ１０１からディジタルテレビ１７０３に転送された後、ディジタルテレビ１７０３内部のフラッシュメモリに記録される。上記のような場合に、一旦カムコーダ１０１とディジタルテレビ１７０３との間の接続が切断され、再び接続された場合の動作を以下に説明する。
【０１７５】
図１７はディジタルテレビ１７０３上のアプリケーションにおける上記動作を示すフローチャートである。まず、ステップＳ８０１で該動作が開始されると、ステップＳ８０２でバスリセットが検出され、ステップＳ８０３でバスリセットの初期設定動作が行われる。ステップＳ８０４ではカムコーダ１０１に装填されているカセットのカセット識別情報（CID）が、該カムコーダ１０１から転送され、検出される。
【０１７６】
ステップＳ８０５では、ディジタルテレビ１７０３に内蔵されているフラッシュメモリから、過去にカムコーダ１０１が該ディジタルテレビアプリケーションと接続されたことが有るかどうかを示すデータが検出される。もし、一度も接続されたことがない場合には、ステップＳ８０７にて、全てのインデックス画像、及び、該インデックス画像に関するテープ位置データ、撮影日時データ等の転送要求がカムコーダ１０１に送出され、上記データが転送される。
【０１７７】
一方、ステップＳ８０５にて過去に接続されたことがある場合には、ステップＳ８０９でカセット識別情報（CID）に関する履歴情報がディジタルテレビ１７０３のフラッシュメモリに記録されているかどうかが検出される。もし、ステップＳ８０９で該履歴情報が記録されていないと判断された場合には、上記同様にステップＳ８０７にて全てのインデックス画像、及び、該インデックス画像に関するテープ位置データ、撮影日時データ等の転送要求がカムコーダ１０１に送出され、上記データが転送される。
【０１７８】
上記ステップＳ８０９で上記カセット識別情報（CID）に関する履歴情報がディジタルテレビ１７０３のＨＤ装置に記録されていると判断された場合には、ステップＳ８１０で該CIDに関する履歴情報であるHIDが、ディジタルテレビ１７０３のＨＤ装置から読み出される。次にステップＳ８１１でカムコーダ１０１に装填されている取外し可能な記録媒体３０からインデックス画像のリスト情報LIが読み出される。本実施形態では、例えば上記HIDとLIとは同様の記録形式にて記録されている。
【０１７９】
ステップＳ８１２では上記HIDとLIとの差分情報Sが算出され、該算出結果Sに基づいて上記履歴情報にないインデックス画像情報の転送要求がステップＳ８１３でなされ、差分のインデックス画像と、該インデックス画像に関するテープ位置データ、撮影日時データ等とがカムコーダ１０１から読み出される。
【０１８０】
ステップＳ８１４ではCIDの履歴情報が新たに作成される。該履歴情報は、該ステップＳ８１４の前にステップＳ８０７が実行されている場合には、全てのインデックス画像情報から履歴情報が作成される。また、該ステップＳ８１４の前にステップＳ８１３が実行されている場合には、以前の履歴情報とカムコーダ１０１から読み出された差分のインデックス画像情報とから上記CIDの履歴情報が作成される。該動作により、該履歴情報は常に最新の情報に保たれる。
【０１８１】
ステップＳ８１５では、上記動作によって作成されたCIDに関する履歴情報がディジタルテレビ１７０３のフラッシュメモリに記録され、ステップＳ８１７で該動作が終了する。上記動作により、本実施形態では、ディジタルテレビ１７０３内部のフラッシュメモリに記録されているインデックス画像情報と該インデックス画像に関するテープ位置データ、撮影日時データ等の情報とを自動的に選択することが可能となっている。これにより、必要なインデックス画像だけを転送させることができるので、転送に要する時間が短縮されるので操作者の操作性が向上するといった効果がある。
【０１８２】
［ディジタルテレビからの操作］
次に、図２１を参照して、本発明に好適なディジタルテレビ１７０３上のアプリケーションの動作について説明する。図２１（ａ）において、１８０１はディジタルテレビ画面、１８０２は主画面、１８０３〜１８１１はインデックス画像を表示するインデックス画面である。また、図２１（ｂ）において、１８２０はディジタルテレビを操作するための赤外線リモートコントローラ（以下、リモコンと称する）、１８２１は電源ボタン、１８２２はチャンネル選択ボタン群、１８２３は音量調節ボタン群、１８２４及び１８２５はインデックスを選択するインデックス選択ボタン、１８２６は検索開始ボタンである。
【０１８３】
本実施形態のアプリケーションにおいては、カセット識別情報により、カムコーダに装填されるカセットに関連するインデックス画像情報が自動的に選択されて表示される。
【０１８４】
操作者がインデックス選択ボタン１８２４、１８２５を操作してインデックス画像１８０３〜１８１１のいずれかを選択すると、選択されたインデックス画像がハイライト表示される。例えば図２１の場合、インデックス画像１８０７が選択されている。この状態において、リモコン１８２０上の検索開始ボタン１８２６を押下すると、上記インデックス画像１８０７に関連したテープ位置情報がディジタルテレビ１７０３内部のフラッシュメモリから読み出される。
【０１８５】
該テープ位置情報は、例えば、ＡＴＮ及びタイムコードである。本実施形態のディジタルテレビアプリケーションは該情報を使用して、テープ位置の探索動作を行う。本実施形態では、ディジタルテレビアプリケーションは最初に例えばＡＴＮコマンドを発行する。該コマンドは、周知のAV/C Tape Recorder/Player subunit command set規格（IEEE 1394 Trade Association）に即したコマンドである。該コマンドセットは上述したCTSコマンドの集合である。該コマンドを受信したカムコーダ１０１はINTERIMレスポンスをディジタルテレビ１７０３に送信して、ＡＴＮサーチ動作を開始する。上記ＡＴＮコマンドにセットされているＡＴＮ値付近にテープを移動させたカムコーダ１０１はテープ移動動作を一旦終了させ、PLAY FORWARD PAUSE状態になり、上記ＡＴＮコマンドに対するACCEPTEDレスポンスをディジタルテレビ１７０３に返す。
【０１８６】
上記ACCEPTEDレスポンスを受信したディジタルテレビアプリケーションは、次にタイムコードコマンドを発行する。カムコーダ１０１は該タイムコードコマンドに対して、現在読み出されているタイムコードをレスポンスフレームに格納してディジタルテレビ１７０３に返す。該タイムコードコマンドによって、ディジタルテレビアプリケーションはカムコーダ１０１の現在のテープ位置におけるタイムコードを読み出すことができる。
【０１８７】
ディジタルテレビアプリケーションは次に、カムコーダ１０１から受信したタイムコード値と上述のフラッシュメモリから読み出された（目標）タイムコード値とを比較して、テープ位置送りの方向を決定する。即ち、ディジタルテレビアプリケーションは、フラッシュメモリから読みだされたタイムコード値がカムコーダ１０１から受信したタイムコード値よりも大きい場合にはPLAY NEXT FRAMEコマンドを、フラッシュメモリから読みだされたタイムコード値がカムコーダ１０１から受信したタイムコード値よりも小さい場合にはPLAY PREVIOUS FRAMEコマンドを発行する。もし、フラッシュメモリから読みだされたタイムコード値とカムコーダ１０１から受信したタイムコード値とが同じ値だった場合には処理を終了する。
【０１８８】
上記動作を図１９に示すフローチャートを参照して説明する。ステップＳ１６０１にて該処理が開始される。ステップＳ１６０２で操作者によりインデックス画像が選択される。ステップＳ１６０３にて該選択されたインデックス画像に関してサーチ動作が開始される。該サーチ動作の開始は、上記したようなディジタルテレビアプリケーション上での操作者の操作によるものである。ステップＳ１６０４で上記選択されたインデックスに関連するＡＴＮが読み出される。ステップＳ１６０５で上記選択されたインデックスに関連するタイムコードが読み出され該値が変数Trに格納される。次のステップＳ１６０６でATN control コマンドが、カムコーダ１０１へ発行される。STEP 1607では上記ATN controlコマンドに関する第一回目のレスポンスが検査される。該レスポンスがINTERIM以外の値であった場合には、上記のATN controlコマンドに不正な値がセットされたか、或いは、カムコーダ１０１がＡＴＮを検出できない状態であるので、ステップＳ１６０８で処理を終了させる。
【０１８９】
上記ステップＳ１６０７でINTERIMレスポンスを受信した場合には、ステップＳ１６０９にてACCEPTEDレスポンスを待機する。該ステップＳ１６０９でACCEPTEDレスポンスを検出すると、ステップＳ１６１０でタイムコードstatusコマンドをカムコーダ１０１に発行する。ステップＳ１６１１では上記タイムコードstatusコマンド対するレスポンスを検査する。該レスポンスがSTABLEレスポンス以外の場合には、上記のタイムコードstatusコマンドに不正な値がセットされたか、或いは、カムコーダ１０１がタイムコードを選出できない状態にあるので、ステップＳ１６０８で処理を終了させる。ステップＳ１６１１でSTABLEレスポンスが返された場合には、次のステップＳ１６１２で検出されたタイムコード値を変数Tcに格納する。
【０１９０】
ステップＳ１６１３では上記変数Tr及び変数Tcの値が比較される。ステップＳ１６１３でTrとTcとの差分値が一定の閾値より小さかった場合、目標のテープ位置であるとしてステップＳ１６０８で処理を終了させる。また、ステップＳ１６１３でTrとTcとの差分値が一定の閾値以上でかつTrがTcよりも大きい場合にはステップＳ１６１４に処理が移り、PLAY NEXT FRAME controlコマンドをカムコーダ１０１に発行する。該PLAY NEXT FRAME controlコマンドに対しカムコーダ１０１はテープ位置を１フレーム分進ませる。また、ステップＳ１６１３でTrとTcとの差分値が一定の閾値以上でかつTrがTcよりも小さい場合にはステップＳ１６１５に処理が移りPLAY PREVIOUS FRAME controlコマンドをカムコーダ１０１に発行する。該PLAY PREVIOUS FRAME controlコマンドに対しカムコーダ１０１はテープ位置を１フレーム分戻す。上記ステップＳ１６１０〜ステップＳ１６１５は処理ループを構成して、カムコーダ１０１のテープ位置を、目標の位置から一定の誤差範囲に停止させることができる。
【０１９１】
上記説明したように、本実施形態のディジタルテレビアプリケーションでは、操作者がインデックス画像を見ながら該インデックス画像の一つを選択するだけで、カムコーダ１０１のテープを該インデックス画像が示すテープ位置へ移動させることができるので、操作性が著しく向上する。また、操作者は所望のテープ位置を、インデックス画像を見ながら検索できるので、操作性が非常に向上するといった効果がある。さらに、本実施形態では、上記カムコーダ１０１に装填されるメモリカード上のデータがディジタルテレビ１７０３のフラッシュメモリに記録されバックアップされるので、操作者の錯誤や上書き処理等によって上記のメモリカード上のデータが消去されてしまった場合にもデータを保護できるという効果がある。
【０１９２】
なお、本発明の目的は、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【０１９３】
この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１９４】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【０１９５】
また、コンピュータが読み出したプログラムコードを実行することにより、上述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（基本システム或いはオペレーティングシステム）等が実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１９６】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【０１９７】
【図１】本発明を適用したカムコーダの構成例を示す図である。
【図２】インデックス生成部の構成を示す図である。
【図３】オアックの構造を示す図である。
【図４】カセット識別情報の記録形式を示す図である。
【図５】システムの構成例を示す図である。
【図６】カムコーダの動作を説明するためのフローチャートである。
【図７】Asynchronous Connectionの基本構成を示す図である。
【図８】Asynchronous plugの構成を示す図である。
【図９】Asynchronous Connectionを制御するために必要なCTSコマンドとそれに対応するレスポンスのフォーマットについて説明するための図である。
【図１０】Asynchronous Connectionで用いられるコネクションの設定手順を説明するための図である。
【図１１】Asynchronous ConnectionにおけるCONSUMERが持つiAPRの構成を示す図である。
【図１２】Asynchronous ConnectionにおけるPRODUCERが持つoAPRの構成を示す図である。
【図１３】Asynchronous Connectionで用いられるコネクションの開放手順を説明するための図である。
【図１４】Exif規格形式による非圧縮データファイルの構造を示す図である。
【図１５】Exif規格形式による圧縮データファイルの構造を示す図である。
【図１６】ＡＰＰ１内部のJPEG圧縮データファイルの基本構造を示す図である。
【図１７】ＰＣ上のアプリケーションにおける動作を説明するためのフローチャートである。
【図１８】ＰＣアプリケーションを説明するための図である。
【図１９】ＰＣアプリケーションの動作を説明するためのフローチャートである。
【図２０】システムの他の構成例を示す図である。
【図２１】ディジタルテレビアプリケーションを説明するための図である。
【符号の説明】
【０１９８】
１１      磁気テープ等の記録媒体
１３      制御部
１４      アブソリュートトラックナンバ発生部
１５      タイムコード発生部
１９      ディジタルインターフェイス部
２７      アブソリュートトラックナンバ検出部
２８      タイムコード検出部
３０      メモリカード等の取外し可能な記録媒体
１０１    カムコーダ
１０２    IEEE1394ケーブル
１０３    パーソナルコンピュータ
１７０３  ディジタルテレビ
４６０１  CONTROLLERノード
４６０２  PRODUCERノード
４６０３  CONSUMERノード
【図１】
2005167709.tif 000009
【図２】
2005167709.tif 000010
【図３】
2005167709.tif 000011
【図４】
2005167709.tif 000012
【図５】
2005167709.tif 000013
【図６】
2005167709.tif 000014
【図７】
2005167709.tif 000015
【図８】
2005167709.tif 000016
【図９】
2005167709.tif 000017
【図１０】
2005167709.tif 000018
【図１１】
2005167709.tif 000019
【図１２】
2005167709.tif 000020
【図１３】
2005167709.tif 000021
【図１４】
2005167709.tif 000022
【図１５】
2005167709.tif 000023
【図１６】
2005167709.tif 000024
【図１７】
2005167709.tif 000025
【図１８】
2005167709.tif 000026
【図１９】
2005167709.tif 000027
【図２０】
2005167709.tif 000028
【図２１】
2005167709.tif 000029