(57)【要約】【課題】  付加情報領域とデータ領域に分かれたディスクに１３９４のＣａｍｅｒａＳｔｏｒａｇｅ経由で入力されたファイルデータを付加情報領域とデータ領域に分けて記録する。【解決手段】  ＲＥＣＥＩＶＥＦＩＬＥＰＡＲＴＩＡＬコマンドにｆｉｌｅ＿ｔｙｐｅ，ｆｉｌｅ＿ｔｙｐｅ＿ｄｅｐｅｎｄｅｎｔ＿ｐａｒａｍｅｔｅｒフィールドを設け、コントローラが送信データの種類をターゲットに通知する。ターゲットは、データの種類に応じて、付加情報領域またはデータ領域のいずれかの領域に記録する。【選択図】  図１
2007080198.tif 000002
【特許請求の範囲】
【請求項１】
シリアルデータを送受信するためのデジタルインターフェースを備え、前記デジタルインターフェースを経由して制御信号及びデジタルデータの送受信を行い、ランダムアクセス可能な記録媒体を使用して前記記録媒体上のデジタルデータを取り扱うデジタル機器であって、データを入力するための経路情報と前記入力されるデータの種類を示す情報と、前記入力されるデータを記録する領域を指定するための情報と前記入力されるデータを記録するファイルを指定するためのパス名を示す情報と前記指定されたファイルの記録開始位置を指定するための情報を含む制御信号を受信して、前記指定された経路からAsynchronousトランザクションを用いて入力されたデータを記録することを特徴とするデジタル機器。
【請求項２】
前記制御信号内のデータの種類を示す情報を判別し、その判別結果に従って前記Asynchronousトランザクションを用いて入力されたデータを処理することを特徴とする、請求項１記載のデジタル機器。
【請求項３】
ランダムアクセス可能な記録媒体を使用してファイルデータの記録・再生を行い、前記記録媒体を複数の領域に分割して管理する機能と、単一のファイルを前記分割した複数の領域に分けて記録する分割記録手段を有し、前記受信した制御信号内のデータの種類を示す情報に従って、前記入力されるデータを前記分割された領域のいずれかの領域に記録することを特徴とする、請求項１記載のデジタル機器。
【請求項４】
前記複数の領域は、ファイルの付加情報を記録するための付加情報領域と、付加情報を除いたファイルデータを記録するためのデータ領域であることを特徴とする、請求項３記載のデジタル機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御信号とデータを混在させて通信することが可能なデータ通信バスを用いて電子機器（以下、機器）間を接続して、機器間でデータ通信を行うシステムを所有する装置に関するものである。
【背景技術】
【０００２】
光ディスク、磁気ディスク、光磁気ディスク等の記録媒体内に動画、静止画、音声等の情報を記録する場合、UDF(Universal Disk Format)やFAT(File Allocation Table)等のファイルシステムを通してディスク上にファイル単位で記録を行っている。ファイルを記録する際に、ファイル情報の管理や、データ再生を効率的に行うために記録媒体を付加情報領域及びデータ領域の２つの領域に分けて、付加情報領域にファイルのヘッダ・フッタ等の付加情報部分を、データ領域に動画像、静止画像、音声の圧縮/非圧縮データ等のデータ部を記録するシステムが存在する。図８に、上記２つの領域に分かれたディスク及び、ディスク上に記録されるファイルデータの例を示す。図８に示すディスクは、ディスク内周部が付加情報領域、外周部がデータ領域となっており、例えば前記ディスクを記録媒体として使用するデジタルビデオカメラが動画像データを記録する際にファイルヘッダ、フッタ部分を付加情報領域に、圧縮動画像データをデータ領域にそれぞれ記録する。最終的に記録されたデータは１つのファイルとしてディスク上に存在し、そのデータの並びは図８上の「ヘッダ」「圧縮画像データ」「フッタ」の順番となる。
【０００３】
図９（ａ）に示す従来のシステムではアプリケーションが直接ファイルシステムを利用して各ファイルにアクセスするような場合、ファイル数やグループ数が多くなると、それらを一括して管理することが困難になり、必要な情報を探すのに時間がかかるという問題や、ファイルシステムを通してファイルを特定する場合には、ファイルの種類は拡張子で判断するしかなく、映像や音声ファイル等で同じ種類の拡張子が付けられている場合は判別が行いづらく、検索効率の低下が起こるという問題があった。また、記録済みの複数のファイルを時系列に再生する場合は、すべてのファイルへアクセスして記録時間順に並べ替える必要があった。このような問題を解決するために、記録媒体上に記録されたファイルの管理方法として、ＣＭＦ(Contents Management File)を設ける手法が提案されている。前記ＣＭＦには、前記記録媒体上に記録されているファイルのファイル名、付加情報、ファイルの属するグループ情報等が記録されており、図９（ｂ）に示すように、必要な全ファイルと全グループを一括管理するファイルであるＣＭＦを設けることにより、アプリケーションはファイルシステムと直接やり取りせずに、ＣＭＦ を通してディスク上の大量のファイルを扱ったり、グループ化等の必要な処理を汎用的に行うことが可能となる。
【０００４】
前記ディスク媒体を使用したデジタルビデオカメラ、デジタルカメラをPC等に接続するデジタルインターフェースとして、IEEE1394が近年普及してきている。前記デジタルインターフェースを接続してデータ転送を行う場合、パソコンはデジタルビデオカメラやデジタルカメラに対して記録媒体上に存在するファイル・ディレクトリのリストを要求し、受け取ったリストを元にファイルデータの送受信要求を行う。前述のような送受信要求を行うためのプロトコルとしてIEEE1394インターフェース規格の標準化団体である1394Trade AssociationでCamera Storageサブユニットが規定されている(TA Document 1999036, AV/C Camera Storage Subunit 1.0)。このサブユニットとパソコン等のコントローラはIEEE1394を介して、トランザクションを行いコントローラがサブユニットを制御したり、サブユニットの保持する情報を取得したりすることができる。
【０００５】
このトランザクションはIEC-61883-1, Consumer audio/video equipment - Digital interface - Part 1: Generalの中でFCP(Function Control Protocol)として規定されており、コントローラがターゲットデバイスの特定アドレスに対してwriteトランザクションを用いてコマンドデータを書き込み、前記writeトランザクションのデータを受信したターゲットがコントローラの特定アドレスに対してwriteトランザクションでレスポンスデータを書き込むことで実現される。AV/Cプロトコルでは各AV/Cサブユニットに対してCTS(Command Transaction Set)が規定されている。図１０にCTSで用いるコマンドフレームのフォーマットを示す。ctypeフィールドはコマンドの種類を示す物であり、図３１に示すコマンドタイプを指定する。subunit_type,subunit IDフィールドは、指定したノード内のどのユニットに対してのコマンドなのかを示すフィールドである。opcode,operandフィールドは実際のコマンドを内容を指定するフィールドである。図１１にＣＴＳで用いるレスポンスフレームのフォーマットを示す。responseフィールドはレスポンスの種類を示す物であり、図３２に示すレスポンスタイプを指定する。subunit_type,subunit IDフィールドは、ノード内のどのユニットからのレスポンスなのかを示すフィールドである。opcode,operandフィールドはレスポンスデータを指定するフィールドである。
【０００６】
図１２に、コントローラと前記Camera Storageサブユニットとの間でIEEE1394を介して行われる基本的なトランザクションの手順を示す。図１２の例では、Camera Storageサブユニット上の記録媒体にファイルデータを書き込む手順を示している。コントローラは、IEEE1394バス上にCamera Storageサブユニットを検出し、前記検出したCamera Storage Subunitに対してVERSION statusコマンドを送信する。このコマンドは、Camera Storageサブユニットが実装している規格のバージョン情報を問い合わせるためのコマンドである。このコマンドを受信すると、Camera Storageサブユニットは、実装している規格のバージョンをセットしてレスポンスをコントローラに送信する。前記VERSION statusコマンドとレスポンスのフォーマットを図１３に示す。AV/C Camera Storage Subunit 1.0準拠の機能を実装している場合、図１３のレスポンスフレーム中のsubunit_version_informationフィールドには、0x10がセットされる。Camera Storageサブユニットは実装している機能によってカテゴリー分けがされており、Asynchronousトランザクションを用いて記録媒体上のファイルデータを送信する機能を持つ"asynchronous sender"、 Asynchronousトランザクションを用いてファイルデータを受信する機能を持つ"asynchronous receiver"、 Isochronousトランザクションを用いて記録媒体上のファイルデータを送信する機能を持つ"isochronous sender"、 Isochronousトランザクションを用いてファイルデータを受信する機能を持つ"isochronous receiver"の４つのプロファイルが定義されている。図３３に前記プロファイルと各プロファイルに割り当てられている値を示す。Camera Storageサブユニットは、VERSION statusコマンドを受信すると、レスポンスフレームのsubunit_version_information_dependent_fieldには実装しているプロファイルの値がセットされる。
【０００７】
VERSION starusレスポンスフレームを受信したコントローラは、レスポンスフレームの各フィールド値によって、Camera Storageサブユニットの機能を判別する。
【０００８】
次に、コントローラはCamera Storageサブユニットの持つ記録媒体の情報を取得するためにMEDIA INFOコマンド及びVOLUME INFOコマンドを送信する。
【０００９】
図１４に、MEDIA INFO Controlコマンド及びレスポンスのフォーマットを示す。Camera Storageサブユニットでは物理ボリューム及び論理ボリュームが定義されており、物理ボリュームは物理的な記録媒体そのものを示し、論理ボリュームは物理ボリューム中に存在する論理的に区切られた領域を示す。コントロールコマンド中のsubfunctionフィールドは、サブユニットに対してどのような操作を要求しているかを示すフィールドである。図３４にsubfunctionの意味と値を示す。コントローラはコマンドフレームのsubfunctionフィールドにコマンドを実行するための"execute"をセットしてCamera Storageサブユニットにコマンドを送信する。MEDIA INFOコントロールコマンドを受信すると、Camera Storageサブユニットはデバイスが持つ物理ボリュームの数(例えば記録メディアをセットすることができるスロットの数)をnumber_of_physical_volumeフィールドにセットし、各物理ボリューム上に存在する論理ボリュームの数(例えば各記録メディア上に存在するパーティションの数)をnumber_of_logical_volumeフィールドにセットする。
【００１０】
図１５にVOLUME INFO controlコマンド及びレスポンスのフォーマットを示す。このコマンドは、Camera Storageサブユニットの持つ各論理ボリュームの情報を取得するためのコマンドである。コントローラは、subfunctionフィールドに"execute"を、physical_volume_number, logical_volume_numberフィールドに情報を取得するボリューム番号をセットして、コマンドフレームをCamera Storage Subunitに送信する。VOLUME INFO Controlコマンドを受信すると、Camera Storageサブユニットは指定されたボリュームの情報をレスポンスフレームの各フィールドにセットしてコントローラに送信する。レスポンスフレーム中のｍedia_generation_countは記録媒体が挿入されたときにカウントアップするカウンタの値で、着脱可能な記録媒体が機器に挿入された場合に更新される。このカウント値は、例えば電源投入時には"０"に初期化され、更新される場合には１づつカウントアップされる。attributeフィールドは記録媒体の属性を示す。図１６にattributeフィールドのフォーマットを示す。Camera Storageサブユニットは指定されたボリュームの属性を調べて該当する属性ビットに"1"をセットする。maximum_capacityフィールドに指定されたボリュームのバイトサイズがセットされ、free_spaceフィールドには残りの記録可能なバイトサイズがセットされる。
【００１１】
ボリュームの情報を取得した後、コントローラはFILE LIST Controlコマンドを送信してCamera Storageサブユニットの記録媒体上に記録されているファイルのリストを取得する。図１７にFILE LIST Controlコマンド及びレスポンスのフォーマットを示す。コントローラはコントロールコマンドフレームのsubfunctionフィールドに"execute"を、physical_volume_number, logical_volume_numberに目的のボリューム番号をセットする。mediga_generation_countフィールドには前記VOLUME INFO controlレスポンスで取得した値をセットする。file_typeフィールド及びattributeフィールドは、取得するファイルリストに含まれるエントリーの種類を指定するフィールドである。図３５にfile_typeフィールドの値を図１８にattributeフィールドのフォーマットを示す。start_numberフィールドは、該当するファイルリストのどのエントリーからリストを取得するかを指示し、コマンドフレームのnumber_of_entriesフィールドは取得する最大のエントリーの数を指定する。request_path_lengthフィールドは、それに続くrequest_pathのバイトサイズを指示し、request_pathフィールドは指定したボリューム中のどのパスに対するファイルリストを取得するのかを指示する。FILE LIST Controlコマンドを受信すると、Camera Storageサブユニットはレスポンスフレームに指定されたrequest_pathに対するファイルリストをセットしてコントローラに送信する。ファイルリストはファイル及びディレクトリのディレクトリエントリから構成される。図１９、図２０に前記ディレクトリエントリのフォーマットを示す。各ディレクトリエントリは２０バイトのデータで構成され、ファイル名またはディレクトリ名、アトリビュート、作成日時、ファイルサイズの情報を持つ。レスポンスフレームのeolフィールドは、そのレスポンスフレームで送信するリストの最後のディレクトリエントリが、コマンドフレームで指定されたリストの最後のディレクトリエントリであるか否かがセットされる。このフィールドが"0"の場合、レスポンスフレームで送信するリストの最後のディレクトリエントリが、コマンドフレームで指定されたリストの最後のディレクトリエントリではないことを示す。すなわち、リストには続きがあるため、リストの全体を取得するためにはコントローラは再度FILE LIST Controlコマンドを送信して続きのリストを取得する必要がある。レスポンスフレームのnumber_of_entriesフィールドには、file_listフィールドにセットされたディレクトリエントリの数がセットされる。file_listフィールドには、コマンドフレームで指定されたrequest_pathに対するfile_listがセットされる。
【００１２】
図２１、図２２、図２３を用いてFILE LIST Controlコマンドによってファイルリストを取得する手順を示す。
【００１３】
図２１はCamera Storageサブユニットの記録媒体上に存在するデータの例を示している。これらのデータは、physical_volume_number = 0, logical_volume_number = 0のボリューム上に存在しているものとする。図２１ではルートディレクトリの下に"DCIM"ディレクトリが、その下に"100ABCDE","101ABCDE","102ABCD"サブディレクトリが存在し、各サブディレクトリにJPEGファイルが存在している。図２２、図２３は図１７に示すFILE LIST Controlコマンドにセットするフィールドの値及び、レスポンスのfile_listにセットされるディレクトリエントリの一部を示す。
【００１４】
まず図２２ (A)に、"DCIM"ディレクトリに存在するサブディレクトリのリストを取得するためのデータを示す。start_numberには0x00をセットし、リストの先頭からデータを取得することを指定する。file_typeには0x00を、attributeには0x01をセットし、全てのディレクトリのレコードを取得することを指定する。request_pathフィールドには"\DCIM"をASCIIコードでセットし(最後に終端記号として0x00を付加)、その長さをrequest_path_lengthにセットする。
【００１５】
図２２(B)は図２２(A)で示したリスト要求のControlコマンドに従って作成されるファイルリストに含まれるディレクトリエントリの一部を抜粋した内容を示すものである。"\DCIM"ディレクトリ上には"100ABCDE","101ABCDE","102ABCDE"の３つのサブディレクトリが存在するため、リストは３つのディレクトリエントリで構成される。Camera Storageサブユニットはレスポンスフレームのfile_listフィールドにディレクトリエントリをセットする。レスポンスフレームのの最大サイズは512バイトであり、レコードは20バイトであるのでfile_listフィールドには最大24個のディレクトリエントリをセットすることが出来る。この例ではディレクトリエントリが3つしかないので、全てのディレクトリエントリをレスポンスフレームにセットすることができ、リストの最後のディレクトリエントリが含まれるのでeolフィールドに"1"をセットする。
【００１６】
図２２に示すデータをコマンドフレームにセットしてコマンドを送信し、そのレスポンスを受信することによってコントローラは、"\DCIM"ディレクトリの情報を取得し、次に、"\DCIM"ディレクトリ上の"100ABCDE"ディレクトリに存在する静止画ファイルのリスト取得するためのControlコマンドをCamera Storageサブユニットに送信する。図２３(A)に"\DCIM\100ABCDE"ディレクトリのファイルリストを取得するためのデータ例を示す。start_numberには0x00をセットし、リストの先頭からデータを取得することを指定する。file_typeには0x01を、attributeには0x10をセットし、静止画ファイルのレコードを取得することを指定する。request_pathフィールドには"\DCIM\100ABCDE"をASCIIコードでセットし(最後に終端記号として0x00を付加)、その長さをrequest_path_lengthにセットする。
【００１７】
図２３(B)は図２３(A)で示したリスト要求のControlコマンドに従って作成されるファイルリストに含まれるディレクトリエントリの一部を抜粋した内容を示すものである。"\DCIM\100ABCDE"ディレクトリ上には"ABCD0001.JPG", "ABCD0002.JPG", "WXYZ0003.JPG"の３つ静止画ファイルと"Readme.txt"の１つのテキストファイルが存在するが、静止画のリスト要求のため、３つの静止画ファイルのディレクトリエントリからファイルリストは構成される。この３つのディレクトリエントリをレスポンスフレームのfile_listフィールドにセットし、eolフィールドに1をセットして、Camera Storageサブユニットはコントローラにレスポンスフレームを送信する。
【００１８】
前記FILE LIST Controlコマンドを使用してコントローラは、Camera Storageサブユニットの記録媒体上に存在するファイル及びディレクトリのパスを取得し、図１２に示すRECEIVE FILE Controlコマンドに各ファイルのパスをセットすることによって目的のディレクトリ上にファイルを記録することができる。
【００１９】
前記RECEIVE FILE ControlコマンドはCamera Storageサブユニットに対してファイルデータの入力を行って記録媒体上に記録をおこなうためのコマンドである。このファイル記録の動作をCamera Storageサブユニットに対して要求する場合、コントローラは入記録を行うためにCamera Storageサブユニットと外部のデバイスとのファイル転送用のコネクション設定を行う必要がある。Camera Storageサブユニットでは、このコネクションはAV/C Asynchronous Serial Bus Connections(TA Document 1998011, AV/C Commands for management of Asynchronous Serial Bus Connections, Ver.1.0及びTA Document 1998016, AV/C Compatible Asynchronous Serial Bus Connections 1.0)で定められた手順を用いる。
【００２０】
図２４にコネクション設定及びRECEIVE FILE Controlコマンドを使用したファイル転送の手順を示す。まずコントローラは、AV/C Asynchronous Serial Bus Connectionsで定められた手順に従って、ALLOCATE及びATTACHコマンドをCamera Storageサブユニットが実装されているAV/Cユニットに対して送信して、コントローラと前記AV/Cユニット間のコネクションを設定する。次にデータを記録するファイルのパスをセットしたRECEIVE FILE ControlコマンドをCamera Storageサブユニットに対して送信する。前記RECIEVE FILE Controlコマンドを受信したCamera Storageサブユニットは、RECEIVE FILEコマンドに対してINTERIMレスポンスを送信した後、AV/C Asynchronous Serial Bus Connectionsの手順に従って、producerであるコントローラデバイスにから受信し、指定されたファイルに記録する。ファイルの全てのデータ記録を終えると、Camera Storageサブユニットはコントローラに対してRECEIVE FILEの最終レスポンスを送信する。前記最終レスポンスを受信した後、コントローラはDETACH及びRELEASEコマンドをCamera Storageサブユニットが実装されているAV/Cユニットに対して送信して、コントローラと前記AV/Cユニット間のコネクションを解除する。
【００２１】
図２５にRECEIVE FILE Controlコマンド及びレスポンスのフォーマットを示す。コントローラはsubfunctionフィールドには"execute"をセットし、physical_volume_number、logical_volume_number、media_generation_countの各フィールドにデータを記録するボリュームの番号及びそのボリュームのgeneration count値をセットする。file_pathフィールドには記録するファイルのパス名をセットし、file_path_lengthフィールドにはその長さをセットする。receive_modeフィールドは、指定したファイルが既に指定したボリューム上に存在する場合の動作を指定する。図３６にreceive_modeの意味と値を示す。file_typeフィールドは、Camera Storageサブユニットに入力されるデータの種類を指示する。図３７にfile_typeの意味と値を示す。destination_plugフィールドには、Camera Storageサブユニットが持つどのdestination plugから記録するデータを入力するかを指定する。
【００２２】
図２６にRECEIVE FILE Controlコマンドでファイル転送を行う場合のコントローラとCamera Storageサブユニット間の論理的な接続経路の例を示す。コントローラは、ALLOCATE及びATTACHコマンドで、コントローラのAsynchronous Output Plug[0]とAV/CユニットのAsynchronous Input Plug[0]を接続することによって、コントローラのAsynchronous Output Plug[0]とCamera StorageサブユニットのSubunit Destination Plug[0]との接続を確立する。図２６に示す接続の場合、前記図２５のコマンドフレーム中のdestination_plugフィールドには、0x00(Subunit Destination Plug[0]を示す)をセットしてコントローラはRECEIVE FILE ControlコマンドをCamera Storageサブユニットに送信する。前記Controlコマンドを受信したCamera Storageサブユニットは、コントローラに対してINTERIMレスポンスを送信した後、AV/CユニットはAsynchronous Serial Bus Connectionsの手順に従って、コントローラのAsynchronous Output Plug[0]からデータを受信し、そのデータを指定されたSubunit Destination Plugに入力する。Cmaera Storageサブユニットは指定されたSubunit Destination Plugから入六されるデータを指定されたファイルに記録し、全てのデータを記録するとCamera Storageサブユニットはコントローラに最終レスポンスを送信してRECEIVE FILE Controlコマンドの動作を終了する。
【００２３】
図２７に、前述の機能を持つ従来のデジタルビデオカメラの構成例を示す。まず、カメラから入力された画像を記録する場合について説明する。レンズ101を通して入力された画像はCCD102で光電変換された後にA/Dコンバータ103によってアナログ信号からデジタル信号に変換される。デジタル変換されたデータはMPEG Codec 104によってMPEG圧縮された動画像データに変換される。
【００２４】
Formatter 105では記録開始時にMPEGファイルのヘッダデータを作成し、File System 106を通してDisc 107上にファイルを作成してヘッダ情報を付加情報領域に書き込む。またMPEG Codec 104から入力されるMPEG動画像データを順次File System 106を通してDisc 107のデータ領域に書き込む。記録終了時にはMPEGファイルのフッタデータを作成し、File System 106を通してDisc 107上にファイルを作成してヘッダ情報を付加情報領域に書き込む。またFormatter 105は作成されたMPEGファイルの情報をCMFファイルに追加する。
【００２５】
次にディスク上に記録されたデータを再生する場合について説明する。図示しないシステムコントローラがCMFを読み出して、記録されているファイルの情報等をMonitor Panel 109に表示し、ユーザは図示しない操作ボタン等のユーザインターフェースを用いて表示されているファイルの一つを選択して再生を開始する。前記指定されたファイルが順次File System 106を通してDisc 107より読み出され、Formatter 105に入力される。Formatter 105はヘッダデータ、フッタデータ等の付加データを解析し、MPEG Codec 104に圧縮動画像データのみをMPEG Codec 104に出力する。MPEG Codec 104は入力されたデータをデコードした後、D/Aコンバータ108にデコードしたデータを出力する。D/Aコンバータ108は入力されたデジタルデータをアナログ変換して、Monitor Panel 109及びアナログビデオ出力端子110に出力する。
【００２６】
次に、IEEE1394経由でMPEGファイルが記録される場合について説明する。IEEE1394端子111に接続されたPC等のコントローラによって、前述のCamera Storageサブユニットに対してアクセスが行われ、RECEIVE FILEコマンドによって記録動作が開始される。IEEE1394ブロック112はIEEE1394端子111より受信したRECEIVE FILEコマンドに従って、File System 106を通してDisc 107上にファイルを作成し受信したファイルデータをDisc 107上のデータ領域に順次書き込み、全てのファイルデータを受信して記録が終了するとファイルをクローズして処理を終了する。
【００２７】
又、従来例としては、例えば特許文献１と特許文献２をあげることが出来る。
【特許文献１】特開２０００−２９９７１０号公報
【特許文献２】特開２００１−１６７５５６号公報
【発明の開示】
【発明が解決しようとする課題】
【００２８】
前記ディスク媒体を使用したデジタルビデオカメラやデジタルカメラのようなデジタルデータを記録する機器は、ユーザによる本体操作によってカメラから入力された画像データを本体内のシステムによってファイル化して記録する際には、ヘッダ情報生成時、圧縮／非圧縮デジタル画像・音声データ生成時、フッタ情報生成時にそれぞれ生成されたデータを前記ディスク媒体上の付加情報領域、データ領域に分けて書き込むことができるが、前述のように外部デジタルインターフェイス経由で入力されるファイルデータを記録する際は、デジタルインターフェース処理ブロックがファイルシステムにアクセスして入力されたファイルデータを記録しているため、付加情報とデータ本体の境界位置等を判別することができず、付加情報領域とデータ領域に分けて書き込むことが不可能であった。
【課題を解決するための手段】
【００２９】
前記課題を解決するために、本発明ではデータを入力するための経路情報と前記入力されるデータの種類を示す情報と、前記入力されるデータを記録する領域を指定するための情報と前記入力されるデータを記録するファイルを指定するためのパス名を示す情報と前記指定されたファイルの記録開始位置を指定するための情報を含む制御信号を受信して、前記指定された経路からAsynchronousトランザクションを用いてファイルデータを入力し、前記入力されたファイルデータを前記制御信号内のデータの種類を示す情報に基づいて、複数の領域に分割された記録媒体上の特定の領域に記録する。
【発明の効果】
【００３０】
本発明により、RECEIVE FILE PARTIAL Controlコマンドを使用してファイルを3つの部分に分けて順次書き込むことによって、MPEG2ファイルを付加情報領域とデータ領域に分けて書き込むことができる。
【発明を実施するための最良の形態】
【００３１】
図１は本発明のファイルデータを分割して記録するためのRECEIVE FILE PARTIAL Controlコマンド及びレスポンスのフォーマットである。
【００３２】
コマンドフレーム中のstart_offset, receive_size, close_mode, file_type, file_type_dependent_parameterフィールドを除く各フィールドは、前述のRECEIVE FILE Controlコマンドフレーム中の同名のフィールドと同じ意味及び用途を持つ。
【００３３】
start_offsetフィールドは、指定したファイルのどの位置からデータを記録するかを指定するフィールドで、前記ファイルの先頭からのオフセットをバイト数で指定する。このフィールドにセットされた値がファイル上に存在しない位置を示している場合、Camera Storageサブユニットは前記コマンドに対してREJECTEDレスポンスを送信してコマンドを拒否する。例えば指定されたファイルのサイズが1024バイトであり、start_offsetに2048がセットされている場合はREJECTEDレスポンスを送信する。start_offsetフィールドにゼロがセットされており、指定されたファイルが存在しない場合、Camera Storageサブユニットは指定されたファイルを指定されたボリューム上に作成して、入力されるデータを記録しても良い。
【００３４】
receive_sizeフィールドは、指定したオフセット位置から何バイトのデータを記録するかを指定する。Camera Storageサブユニットは指定されたバイト数のデータ記録を終了すると実際に記録したデータのバイト数をレスポンスフレームのreceived_sizeフィールドにセットしてACCEPTEDレスポンスをコントローラに対して送信する。
【００３５】
close_modeフィールドは、このコマンドによるデータ記録が終了した場合にファイルをクローズする方法を指示するフィールドである。図２８に、前記close_modeフィールドにセットする値の例を示す。図２、図３は、close_modeとRECEIVE FILE PARTIALコマンド実行後のファイル構成の関係を示す図である。図２に示すように、記録媒体上に存在しているファイルの途中からファイル終端より前の位置までのデータをRECEIVE FILE PARTIALコマンドで上書きする場合、close_modeが"preserve"の場合は記録を行った最終オフセット以降のデータを保持したままファイルをクローズし、"terminate"の場合は最終オフセット以降のデータを消去してファイルをクローズする。図３に示すように、記録媒体上に存在しているファイルの終端を超えてデータを書き込む場合は、close_modeの値に関わらず、記録を行った最終オフセットをファイルの終端としてファイルをクローズする。
【００３６】
図１中のfile_type及びfile_type_dependent_parameterフィールドは、RECEIVE FILE PARTIALコマンドで記録するデータの種類を指定するためのフィールドである。図２９に、前記file_typeフィールドにセットする値の例を示す。前記file_typeフィールドは、RECEIVE FILE PARTIALコマンドを使用して入力されるデータのフォーマットを示す。図３０に、前記file_typeに"Exif 2.1"または、"MPEG2"がセットされた場合に前記file_type_dependent_fieldにセットする値の例を示す。例えば、RECEIVE FILE PARTIALコマンドを使用して、MPEG2ファイルのヘッダ部分のみを書き込む場合は、file_typeフィールドに"MPEG2"、file_type_dependent_fieldに"Header"をセットする。
【００３７】
次に、前記RECEIVE FILE PARTIALコマンドを用いて、MPEG2ファイルをデジタルビデオカメラ上のディスクに記録する手順について説明する。図４に、本実施例で記録を行うデータの例を示す。前記データは、MPEG2フォーマットの圧縮動画像データであり、10 K byte(1024バイト)のヘッダデータ、3 M byte(3145728バイト)のMPEG2圧縮動画像データ、2 K byte(2048バイト)のフッタデータから構成され、Camera Storageサブユニット上のphysical_volume_number = 0, logical_volume_number = 0のボリュームのルートディレクトリに"movie01.mpg"というファイル名で記録を行うものとする。また、前記Camera Storageサブユニット上のボリュームのルートディレクトリには"movie01.mpg"という名前のファイルは存在していないものとする。
【００３８】
まずコントローラは、IEEE1394で接続されたデジタルビデオカメラに対してALLOCATE及びATTACHコマンドを送信して図２６に示す接続を設定した後、前記デジタルビデオカメラ内のCamera Storage サブユニットに対して図５に示すRECIEVE FILE PARTIAL Controlコマンドを送信する。前記コマンドを受信したCamera Storageサブユニットは指定されたファイルが存在するかどうかを調べ、この場合は存在しないので指定されたファイルを新たに書き込み可能な状態で作成して、コントローラに対してINTERIMレスポンスを送信する。この際、前記受信したコマンドのfile_type及びfile_type_dependent_parameterの値から、Camera Storageサブユニットは、送信されてくるデータがMPEG2ファイルのヘッダデータであることを判別し、指定されたファイルを付加情報領域に作成する。前記INTERIMレスポンスを受信したコントローラは、AV/C Asynchronous Serial Bus Connectionsの手順に従って前記デジタルビデオカメラに対して図４中のヘッダ部分のデータを順次送信する。前記コントローラから送信されたデータをCamera Storageサブユニットは順次付加情報領域に作成されたファイルに記録していく。受信したデータの記録が終了すると、前記Camera Storageサブユニットはファイルをクローズしてコントローラに図５に示すレスポンスを送信する。
【００３９】
前記レスポンスを受信すると、コントローラは前記デジタルビデオカメラ内のCamera Storage サブユニットに対して図６に示すRECIEVE FILE PARTIAL Controlコマンドを送信する。前記図６に示すコマンドは、前記図５のコマンドで作成されたファイルに対してデータを追加記録するためのコマンドであり、前記作成されたファイルの終端位置から3 M byteのデータの記録を指示するものである。前記図６に示すコマンドを受信したCamera Storageサブユニットは指定されたファイルが存在するかどうかを調べ、この場合は既にメディア上に存在するため指定されたファイルを書き込み可能な状態でオープンし、コントローラに対してINTERIMレスポンスを送信する。この際、start_offsetフィールドの値がファイルサイズと同一であり、前記受信したコマンドのfile_type及びfile_type_dependent_parameterの値から、Camera Storageサブユニットは、送信されてくるデータがMPEG2ファイルの圧縮画像データであることを判別し、データの書き込み位置をディスク上のデータ領域上に移動する。前記INTERIMレスポンスを受信したコントローラは、AV/C Asynchronous Serial Bus Connectionsの手順に従って前記デジタルビデオカメラに対して図４中の圧縮動画像部分のデータを順次送信する。前記コントローラから送信されたデータをCamera Storageサブユニットは順次データ領域に追加記録し、受信したデータの記録が終了すると、前記Camera Storageサブユニットはファイルをクローズしてコントローラに図６に示すレスポンスを送信する。
【００４０】
前記レスポンスを受信すると、コントローラは前記デジタルビデオカメラ内のCamera Storage サブユニットに対して図７に示すRECIEVE FILE PARTIAL Controlコマンドを送信する。前記図７に示すコマンドは、前記図６のコマンドで追加記録されたファイルに対してさらにデータを追加記録するためのコマンドであり、前記追加記録されたファイルの終端位置から2 K byteのデータの記録を指示するものである。前記コマンドを受信したCamera Storageサブユニットは指定されたファイルが存在するかどうかを調べ、この場合は既にメディア上に存在するため指定されたファイルを書き込み可能な状態でオープンし、コントローラに対してINTERIMレスポンスを送信する。この際、start_offsetフィールドの値がファイルサイズと同一であり、前記受信したコマンドのfile_type及びfile_type_dependent_parameterの値から、Camera Storageサブユニットは、送信されてくるデータがMPEG2ファイルのフッタデータであることを判別し、データの書き込み位置をディスク上の付加情報領域上に移動する。前記INTERIMレスポンスを受信したコントローラは、AV/C Asynchronous Serial Bus Connectionsの手順に従って前記デジタルビデオカメラに対して図４中のフッタ部分のデータを順次送信する。前記コントローラから送信されたデータをCamera Storageサブユニットは順次付加情報領域に作成されたファイルに記録していく。受信したデータの記録が終了すると、前記Camera Storageサブユニットはファイルをクローズしてコントローラに図７に示すレスポンスを送信する。
【図面の簡単な説明】
【００４１】
【図１】本発明のRECEIVE FILE PARTIAL Controlコマンド及びレスポンスのフォーマットを示す図。
【図２】RECEIVE FILE PARTIAL Controlコマンドのclose_modeとコマンド実行後のファイルの関係を説明するための図。
【図３】RECEIVE FILE PARTIAL Controlコマンドのclose_modeとコマンド実行後のファイルの関係を説明するための図。
【図４】RECEIVE FILE PARTIAL Controlコマンドを用いて記録されるファイルの構成例を示す図。
【図５】MPEG2ファイルを分割して記録するためのRECEIVE FILE PARTIAL Controlコマンドとレスポンスの例を示す図。
【図６】MPEG2ファイルを分割して記録するためのRECEIVE FILE PARTIAL Controlコマンドとレスポンスの例を示す図。
【図７】MPEG2ファイルを分割して記録するためのRECEIVE FILE PARTIAL Controlコマンドとレスポンスの例を示す図。
【図８】付加情報領域とデータ領域に分けられたディスクの例を示す図。
【図９】従来のシステムと、CMFを使用したシステムの例を示す図。
【図１０】CTSで用いるコマンドフレームフォーマットを示す図。
【図１１】CTSで用いるレスポンスフレームフォーマットを示す図。
【図１２】コントローラとCamera Storageサブユニット間での基本的なトランザクション手順を示す図。
【図１３】VERSION Statusコマンド及びレスポンスのフォーマットを示す図。
【図１４】MEDIA INFO Controlコマンド及びレスポンスのフォーマットを示す図。
【図１５】VOLUME INFO Controlコマンド及びレスポンスのフォーマットを示す図。
【図１６】VOLUME INFO Controlレスポンスのattributeフィールドのフォーマットを示す図。
【図１７】FILE LIST Controlコマンド及びレスポンスのフォーマットを示す図。
【図１８】FILE LIST Controlレスポンスのattributeフィールドのフォーマットを示す図。
【図１９】ファイルリストを構成するディレクトリエントリのフォーマットを示す図。
【図２０】ディレクトリエントリのattribute_byteのフォーマットを示す図。
【図２１】Camera Storageサブユニットの記録媒体上に記録されたファイルデータの構成例を示す図。
【図２２】FILE LIST Controlコマンドフレームにセットするデータ例及び、ファイルリストに含まれるディレクトリエントリの一部を示す図。
【図２３】FILE LIST Controlコマンドフレームにセットするデータ例及び、ファイルリストに含まれるディレクトリエントリの一部を示す図。
【図２４】Camera Storageサブユニットへファイルデータを送信する場合のトランザクション手順を示す図。
【図２５】RECEIVE FILE Controlコマンド及びレスポンスのフォーマットを示す図。
【図２６】Camera Storageサブユニットへファイルデータを送信する場合のコントローラとCamera Storageサブユニット間の論理的な接続例を示す図。
【図２７】従来のデジタルビデオカメラの構成を示すブロック図。
【図２８】RECEIVE FILE PARTIALコマンドのclose_modeフィールドにセットする値を示す表。
【図２９】RECEIVE FILE PARTIALコマンドのfile_typeフィールドにセットする値を示す表。
【図３０】RECEIVE FILE PARTIALコマンドのfile_type_dependent_parameterフィールドにセットする値を示す表。
【図３１】CTSのコマンドフレームに設定するctypeフィールドの値を示す表。
【図３２】CTSのレスポンスフレームに設定するresponseフィールドの値を示す表。
【図３３】Camera Storageサブユニットのプロファイルの値を示す表。
【図３４】Camera StorageサブユニットのControlコマンド中のsubfunctionフィールドの値を示す表。
【図３５】FILE LIST Controlコマンドのfile_typeフィールド値を示す図。
【図３６】RECEIVE FILE Controlコマンドのreceive_modeの値を示す図。
【図３７】RECEIVE FILE Controlコマンドのfile_typeの値を示す図。
【図１】
2007080198.tif 000003
【図２】
2007080198.tif 000004
【図３】
2007080198.tif 000005
【図４】
2007080198.tif 000006
【図５】
2007080198.tif 000007
【図６】
2007080198.tif 000008
【図７】
2007080198.tif 000009
【図８】
2007080198.tif 000010
【図９】
2007080198.tif 000011
【図１０】
2007080198.tif 000012
【図１１】
2007080198.tif 000013
【図１２】
2007080198.tif 000014
【図１３】
2007080198.tif 000015
【図１４】
2007080198.tif 000016
【図１５】
2007080198.tif 000017
【図１６】
2007080198.tif 000018
【図１７】
2007080198.tif 000019
【図１８】
2007080198.tif 000020
【図１９】
2007080198.tif 000021
【図２０】
2007080198.tif 000022
【図２１】
2007080198.tif 000023
【図２２】
2007080198.tif 000024
【図２３】
2007080198.tif 000025
【図２４】
2007080198.tif 000026
【図２５】
2007080198.tif 000027
【図２６】
2007080198.tif 000028
【図２７】
2007080198.tif 000029
【図２８】
2007080198.tif 000030
【図２９】
2007080198.tif 000031
【図３０】
2007080198.tif 000032
【図３１】
2007080198.tif 000033
【図３２】
2007080198.tif 000034
【図３３】
2007080198.tif 000035
【図３４】
2007080198.tif 000036
【図３５】
2007080198.tif 000037
【図３６】
2007080198.tif 000038
【図３７】
2007080198.tif 000039