(57)【要約】【課題】  ファイル転送用コマンドを使用して、静止画のリモートキャプチャを行う。【解決手段】  ＣａｍｅｒａＳｔｏｒａｇｅサブユニットのＳＥＮＤＦＩＬＥコマンドを使用して、ｆｉｌｅ＿ｐａｔｈフィールドにあらかじめ定められた特定のデータがセットされている場合は、記録メディアからのファイル読み出しではなく、カメラで撮影されているライブ画像を送信する。【選択図】  図１
2007082115.tif 000002
【特許請求の範囲】
【請求項１】
画像入力装置とシリアルデータを送受信するためのデジタルインターフェースを備え、前記デジタルインターフェースを経由して制御信号及びデジタルデータの送受信を行う画像データ送信装置であって、記録媒体上に記録されているデータを指定するためのファイルのパス名を示す情報を含む制御信号を受信し、前記パス名を示す情報が前記記録媒体上のファイルを示す場合は記録媒体からデータを読み出して送信を行い、前記パス名を示す情報があらかじめ定められた内容であった場合は、前記画像入力装置から入力された画像データを送信することを特徴とする画像データ送信装置。
【請求項２】
前記パス名を示す情報に従って、前記画像入力装置から入力された画像のエンコード時のパラメータを設定することを特徴とする、［請求項１］記載の画像データ送信装置。
【請求項３】
前記パス名を示す情報に従って、前記画像入力装置から入力された画像の大きさを変更することを特徴とする、［請求項２］記載の画像データ送信装置。
【請求項４】
前記パス名を示す情報に従って、前記画像入力装置から入力された画像の画質を決定することを特徴とする、［請求項２］記載の画像データ送信装置。
【請求項５】
前記パス名を示す情報に従って、前記画像入力装置から入力された画像のフォーマットを決定することを特徴とする、［請求項２］記載の画像データ送信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御信号とデータを混在させて通信することが可能なデータ通信バスを用いて電子機器（以下、機器）間を接続して、機器間でデータ通信を行うシステムを所有する装置に関するものである。
【背景技術】
【０００２】
近年デジタルカメラが普及してきている。このデジタルカメラは着脱可能な記録媒体を使用してデジタル静止画データを記録、再生するシステムで、パソコンへのデータの移動は、直接記録媒体をパソコンに挿入する方法と、デジタルカメラが備えるデジタルインターフェースとパソコンが備えるデジタルインターフェースを接続して画像転送を行う方法の二通りの方法がある。
【０００３】
デジタルインターフェースを接続してデータ転送を行う場合、パソコンはデジタルカメラに対して記録媒体上に存在するデータのリストを要求し、受け取ったリストを元に各データに対して個別のアクセスを行う。前述のようなデジタルインターフェースを介して機器間でデータのやりとりを行うための規格として、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)が規定されており、［図 3］にCTSで用いるコマンドフレームのフォーマットを示す。ctypeフィールドはコマンドの種類を示す物であり、［図23］に示すコマンドタイプを指定する。subunit_type,subunit IDフィールドは、指定したノード内のどのユニットに対してのコマンドなのかを示すフィールドである。opcode,operandフィールドは実際のコマンドを内容を指定するフィールドである。［図 4］にＣＴＳで用いるレスポンスフレームのフォーマットを示す。responseフィールドはレスポンスの種類を示す物であり、［図24］に示すレスポンスタイプを指定する。subunit_type,subunit IDフィールドは、ノード内のどのユニットからのレスポンスなのかを示すフィールドである。opcode,operandフィールドはレスポンスデータを指定するフィールドである。
【０００５】
［図 5］に、コントローラと前記Camera Storageサブユニットとの間でIEEE1394を介して行われる基本的なトランザクションの手順を示す。コントローラは、IEEE1394バス上にCamera Storageサブユニットを検出し、前記検出したCamera Storage Subunitに対してVERSION statusコマンドを送信する。このコマンドは、Camera Storageサブユニットが実装している規格のバージョン情報を問い合わせるためのコマンドである。このコマンドを受信すると、Camera Storageサブユニットは、実装している規格のバージョンをセットしてレスポンスをコントローラに送信する。前記VERSION statusコマンドとレスポンスのフォーマットを［図 6］に示す。AV/C Camera Storage Subunit 1.0準拠の機能を実装している場合、［図 6］のレスポンスフレーム中のsubunit_version_informationフィールドには、0x10がセットされる。Camera Storageサブユニットは実装している機能によってカテゴリー分けがされており、Asynchronousトランザクションを用いて記録媒体上のファイルデータを送信する機能を持つ"asynchronous sender"、 Asynchronousトランザクションを用いてファイルデータを受信する機能を持つ"asynchronous receiver"、 Isochronousトランザクションを用いて記録媒体上のファイルデータを送信する機能を持つ"isochronous sender"、 Isochronousトランザクションを用いてファイルデータを受信する機能を持つ"isochronous receiver"の４つのプロファイルが定義されている。［図25］に前記プロファイルと各プロファイルに割り当てられている値を示す。Camera Storageサブユニットは、VERSION statusコマンドを受信すると、レスポンスフレームのsubunit_version_information_dependent_fieldには実装しているプロファイルの値がセットされる。
【０００６】
VERSION starusレスポンスフレームを受信したコントローラは、レスポンスフレームの各フィールド値によって、Camera Storageサブユニットの機能を判別する。
【０００７】
次に、コントローラはCamera Storageサブユニットの持つ記録媒体の情報を取得するためにMEDIA INFOコマンド及びVOLUME INFOコマンドを送信する。
【０００８】
［図 7］に、MEDIA INFO Controlコマンド及びレスポンスのフォーマットを示す。Camera Storageサブユニットでは物理ボリューム及び論理ボリュームが定義されており、物理ボリュームは物理的な記録媒体そのものを示し、論理ボリュームは物理ボリューム中に存在する論理的に区切られた領域を示す。コントロールコマンド中のsubfunctionフィールドは、サブユニットに対してどのような操作を要求しているかを示すフィールドである。［図26］にsubfunctionの意味と値を示す。コントローラはコマンドフレームのsubfunctionフィールドにコマンドを実行するための"execute"をセットしてCamera Storageサブユニットにコマンドを送信する。MEDIA INFOコントロールコマンドを受信すると、Camera Storageサブユニットはデバイスが持つ物理ボリュームの数(例えば記録メディアをセットすることができるスロットの数)をnumber_of_physical_volumeフィールドにセットし、各物理ボリューム上に存在する論理ボリュームの数(例えば各記録メディア上に存在するパーティションの数)をnumber_of_logical_volumeフィールドにセットする。
【０００９】
［図 8］に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フィールドは記録媒体の属性を示す。［図 9］にattributeフィールドのフォーマットを示す。Camera Storageサブユニットは指定されたボリュームの属性を調べて該当する属性ビットに"1"をセットする。maximum_capacityフィールドに指定されたボリュームのバイトサイズがセットされ、free_spaceフィールドには残りの記録可能なバイトサイズがセットされる。
【００１０】
ボリュームの情報を取得した後、コントローラはFILE LIST Controlコマンドを送信してCamera Storageサブユニットの記録媒体上に記録されているファイルのリストを取得する。［図 10］にFILE LIST Controlコマンド及びレスポンスのフォーマットを示す。コントローラはコントロールコマンドフレームのsubfunctionフィールドに"execute"を、physical_volume_number, logical_volume_numberに目的のボリューム番号をセットする。mediga_generation_countフィールドには前記VOLUME INFO controlレスポンスで取得した値をセットする。file_typeフィールド及びattributeフィールドは、取得するファイルリストに含まれるエントリーの種類を指定するフィールドである。［図27］にfile_typeフィールドの値を［図 11］にattributeフィールドのフォーマットを示す。start_numberフィールドは、該当するファイルリストのどのエントリーからリストを取得するかを指示し、コマンドフレームのnumber_of_entriesフィールドは取得する最大のエントリーの数を指定する。request_path_lengthフィールドは、それに続くrequest_pathのバイトサイズを指示し、request_pathフィールドは指定したボリューム中のどのパスに対するファイルリストを取得するのかを指示する。FILE LIST Controlコマンドを受信すると、Camera Storageサブユニットはレスポンスフレームに指定されたrequest_pathに対するファイルリストをセットしてコントローラに送信する。ファイルリストはファイル及びディレクトリのディレクトリエントリから構成される。［図 12］、［図 13］に前記ディレクトリエントリのフォーマットを示す。各ディレクトリエントリは２０バイトのデータで構成され、ファイル名またはディレクトリ名、アトリビュート、作成日時、ファイルサイズの情報を持つ。レスポンスフレームのeolフィールドは、そのレスポンスフレームで送信するリストの最後のディレクトリエントリが、コマンドフレームで指定されたリストの最後のディレクトリエントリであるか否かがセットされる。このフィールドが"0"の場合、レスポンスフレームで送信するリストの最後のディレクトリエントリが、コマンドフレームで指定されたリストの最後のディレクトリエントリではないことを示す。すなわち、リストには続きがあるため、リストの全体を取得するためにはコントローラは再度FILE LIST Controlコマンドを送信して続きのリストを取得する必要がある。レスポンスフレームのnumber_of_entriesフィールドには、file_listフィールドにセットされたディレクトリエントリの数がセットされる。file_listフィールドには、コマンドフレームで指定されたrequest_pathに対するfile_listがセットされる。
【００１１】
［図 14］、［図 15］、［図 16］を用いてFILE LIST Controlコマンドによってファイルリストを取得する手順を示す。
【００１２】
［図 14］はCamera Storageサブユニットの記録媒体上に存在するデータの例を示している。これらのデータは、physical_volume_number = 0, logical_volume_number = 0のボリューム上に存在しているものとする。［図 14］ではルートディレクトリの下に"DCIM"ディレクトリが、その下に"100ABCDE","101ABCDE","102ABCD"サブディレクトリが存在し、各サブディレクトリにJPEGファイルが存在している。［図 15］、［図 16］は［図 10］に示すFILE LIST Controlコマンドにセットするフィールドの値及び、レスポンスのfile_listにセットされるディレクトリエントリの一部を示す。
【００１３】
まず［図 15］ (A)に、"DCIM"ディレクトリに存在するサブディレクトリのリストを取得するためのデータを示す。start_numberには0x00をセットし、リストの先頭からデータを取得することを指定する。file_typeには0x00を、attributeには0x01をセットし、全てのディレクトリのレコードを取得することを指定する。request_pathフィールドには"\DCIM"をASCIIコードでセットし(最後に終端記号として0x00を付加)、その長さをrequest_path_lengthにセットする。
【００１４】
［図 15］ (B)は［図 15］ (A)で示したリスト要求のControlコマンドに従って作成されるファイルリストに含まれるディレクトリエントリの一部を抜粋した内容を示すものである。"\DCIM"ディレクトリ上には"100ABCDE","101ABCDE","102ABCDE"の３つのサブディレクトリが存在するため、リストは３つのディレクトリエントリで構成される。Camera Storageサブユニットはレスポンスフレームのfile_listフィールドにディレクトリエントリをセットする。レスポンスフレームのの最大サイズは512バイトであり、レコードは20バイトであるのでfile_listフィールドには最大24個のディレクトリエントリをセットすることが出来る。この例ではディレクトリエントリが3つしかないので、全てのディレクトリエントリをレスポンスフレームにセットすることができ、リストの最後のディレクトリエントリが含まれるのでeolフィールドに"1"をセットする。
【００１５】
［図 15］に示すデータをコマンドフレームにセットしてコマンドを送信し、そのレスポンスを受信することによってコントローラは、"\DCIM"ディレクトリの情報を取得し、次に、"\DCIM"ディレクトリ上の"100ABCDE"ディレクトリに存在する静止画ファイルのリスト取得するためのControlコマンドをCamera Storageサブユニットに送信する。［図 16］ (A)に"\DCIM\100ABCDE"ディレクトリのファイルリストを取得するためのデータ例を示す。start_numberには0x00をセットし、リストの先頭からデータを取得することを指定する。file_typeには0x01を、attributeには0x10をセットし、静止画ファイルのレコードを取得することを指定する。request_pathフィールドには"\DCIM\100ABCDE"をASCIIコードでセットし(最後に終端記号として0x00を付加)、その長さをrequest_path_lengthにセットする。
【００１６】
［図 16］ (B)は［図 16］ (A)で示したリスト要求のControlコマンドに従って作成されるファイルリストに含まれるディレクトリエントリの一部を抜粋した内容を示すものである。"\DCIM\100ABCDE"ディレクトリ上には"ABCD0001.JPG", "ABCD0002.JPG", "WXYZ0003.JPG"の３つ静止画ファイルと"Readme.txt"の１つのテキストファイルが存在するが、静止画のリスト要求のため、３つの静止画ファイルのディレクトリエントリからファイルリストは構成される。この３つのディレクトリエントリをレスポンスフレームのfile_listフィールドにセットし、eolフィールドに1をセットして、Camera Storageサブユニットはコントローラにレスポンスフレームを送信する。
【００１７】
前記FILE LIST Controlコマンドを使用してコントローラは、Camera Storageサブユニットの記録媒体上に存在するファイルのパスを取得し、［図 5］に示すSNED FILE Contorolコマンド各ファイルのパスをセットすることによって目的のファイルに対してアクセスを行うことができる。
【００１８】
前記SEND 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)で定められた手順を用いる。
【００１９】
［図 17］にコネクション設定及びSEND FILE Controlコマンドを使用したファイル転送の手順を示す。まずコントローラは、AV/C Asynchronous Serial Bus Connectionsで定められた手順に従って、ALLOCATE_ATTACHコマンドをCamera Storageサブユニットが実装されているAV/Cユニットに対して送信して、コントローラと前記AV/Cユニット間のコネクションを設定する。次に目的のファイルのパスをセットしたSEND FILE ControlコマンドをCamera Storageサブユニットに対して送信する。前記SEND FILE Controlコマンドを受信したCamera Storageサブユニットは、SEND FILEコマンドに対してINTERIMレスポンスを送信した後、前記コマンドで指定されたファイルを検索する。前記ファイルが見つかった場合、そのファイルのデータをAV/C Asynchronous Serial Bus Connectionsの手順に従って、consumerであるコントローラデバイスに対してwriteトランザクションを使用して書き込む。ファイルの全てのデータを書き込み終えると、Camera Storageサブユニットはコントローラに対してSEND FILEの最終レスポンスを送信する。前記最終レスポンスを受信した後、コントローラはDETACH_RELEASEコマンドをCamera Storageサブユニットが実装されているAV/Cユニットに対して送信して、コントローラと前記AV/Cユニット間のコネクションを解除する。
【００２０】
［図 18］にSEND FILE Controlコマンド及びレスポンスのフォーマットを示す。コントローラはsubfunctionフィールドには"execute"をセットし、physical_volume_number、logical_volume_number、media_generation_countの各フィールドに目的ファイルが記録されているボリュームの番号及びそのボリュームのgeneration count値をセットする。file_pathフィールドには目的のファイルのパス名をセットし、file_path_lengthフィールドにはその長さをセットする。source_plugフィールドには、Camera Storageサブユニットが持つどのsource plugから目的のファイルを出力するかを指定する。［図 19］にSEND FILE Controlコマンドでファイル転送を行う場合のコントローラとCamera Storageサブユニット間の論理的な接続経路の例を示す。コントローラは、データ入力用のAsynchronous Input Plugと出力用のAsynchronous Output Plugを一つづつ持つ。またCamera Storageサブユニットはデータ入力用のAsynchronous Input Plugと出力用のAsynchronous Output Plugを一つづつ持つAV/Cユニットの内部に実装されており、データ出力用のSubunit Source Plugと入力用のSubunit Destination Plugを一つづつ持つ。AV/CユニットのAsynchronous Output Plug[0]とCamera StorageサブユニットのSubunit Source Plug[0]及びAV/CユニットのAsynchronous Input Plug[0]とCamera StorageサブユニットのSubunit Destination Plug[0]はユニット内で内部的に接続されている。コントローラは、ALLOCATE_ATTACHコマンドで、コントローラのAsynchronous Input Plug[0]とAV/CユニットのAsynchronous Output Plug[0]を接続することによって、コントローラのAsynchronous Input Plug[0]とCamera StorageサブユニットのSubunit Source Plug[0]との接続を確立する。［図 19］に示す接続の場合、前記［図 18］のコマンドフレーム中のsource_plugフィールドには、0x00(Subunit Source Plug[0]を示す)をセットしてコントローラはSEND FILE ControlコマンドをCamera Storageサブユニットに送信する。前記Controlコマンドを受信したCamera Storageサブユニットは、コントローラに対してINTERIMレスポンスを送信した後、指定されたファイルを指定されたSubunit Source Plugから出力し、AV/CユニットはAsynchronous Serial Bus Connectionsの手順に従って、コントローラのAsynchronous Input Plug[0]にデータを送信し、すべてのファイルデータを送信するとCamera Storageサブユニットはコントローラに最終レスポンスを送信してSEND FILE Controlコマンドの動作を終了する。
【００２１】
又、従来例としては、例えば特許文献１と特許文献２をあげることが出来る。
【特許文献１】特開２０００−２９９７１０号公報
【特許文献２】特開２００１−２５７７０号公報
【発明の開示】
【発明が解決しようとする課題】
【００２２】
前述のSEND FILEコマンドを利用したデータ転送は、記録媒体に記録されているファイルに対してしか行うことができず、デジタルカメラのカメラで撮影しているライブ画像を送信するためには、別のコマンドをデジタルカメラ本体およびコントローラーに実装する必要がある。
【課題を解決するための手段】
【００２３】
前記課題を解決するために、本発明では画像入力装置を持つ画像データ送信装置が記録媒体上に記録されているデータを指定するためのファイルのパス名を示す情報を含む制御信号を受信し、前記パス名を示す情報が前記記録媒体上のファイルを示す場合は記録媒体からデータを読み出して送信を行い、前記パス名を示す情報があらかじめ定められた内容であった場合は、前記画像入力装置から入力された画像データを送信する。
【００２４】
また、前記パス名を示す情報に基づき、前記画像入力装置から入力された画像の大きさや、フォーマットを変更した後に画像データを送信する。
【発明の効果】
【００２５】
本発明によりSEND FILE Controlコマンドのファイルパスフィールドにセットされたデータが、あらかじめ定められたデータを含む場合、カメラから入力されたライブ画像を外部のデバイスに送信することが可能となり、デジタルカメラに新たな制御コマンドを実装することなく、記録媒体からのファイル送信と、カメラライブ画像の送信の機能を実装することができる。また、file_pathに、画像データのエンコードパラメータを含めることによって、送信する画像のサイズ、画質、フォーマット等をコントローラが指定することが可能となる。
【発明を実施するための最良の形態】
【００２６】
（第１の実施例）
以下に、本発明でのデジタルカメラの動作について説明する。［図 1］は本実施例におけるデジタルカメラの構成例を示すブロック図である。
【００２７】
まず、記録媒体上に記録されているファイルを送信する場合について説明する。106はIEEE1394端子であり、パソコン等のコントローラがIEEE1394ケーブルで接続されている。前記コントローラはAV/C Asynchronous Serial Bus Connectionsの手順に従って、前期コントローラとデジタルカメラの間のコネクションを設定する。次に前記コントローラからデジタルカメラ内のCamera Storage Subunitに対してCTSコマンドが送信される。IEEE1394端子106からCamera Storage Subunitに対してSEND FILE Controlコマンドが受信されると、Camera Storageコントローラ107は、受信したSEND FILE Controlコマンドのphysical_volume_number、 logical_volume_number、 file_pathが指定するパスがFile System105内の記録メディア上のファイルを示す場合、File System105を操作して指定されたファイルをオープンしてファイルを読み出し、前記設定されたAsynchronous Serial Bus Connectionsの手順に従って、読み出されたデータを前記コントローラに送信する。全てのデータの送信を終了すると、Camera Storageコントローラ107は前記コントローラに対してSEND FILE Controlコマンドのファイナルレスポンスを送信する。前記ファイナルレスポンスを受信したコントローラは、AV/C Asynchronous Serial Bus Connectionsの手順に従って、前期コントローラとデジタルカメラの間のコネクションを切断して、データ転送を終了する。
【００２８】
次に、カメラで撮影しているライブ画像を送信する場合について説明する。IEEE1394端子106に接続されたパソコン等のコントローラはAV/C Asynchronous Serial Bus Connectionsの手順に従って、前期コントローラとデジタルカメラの間のコネクションを設定する。次に前記コントローラからデジタルカメラ内のCamera Storage Subunitに対してCTSコマンドが送信される。このとき、コントローラはSEND FILE Controlコマンドのfile_pathフィールドに"\dev\camera"というデータをセットしてCTSコマンドを送信する。IEEE1394端子106からCamera Storage Subunitに対してSEND FILE Controlコマンドが受信されると、Camera Storageコントローラ107は、受信したSEND FILE Controlコマンドのphysical_volume_number、 logical_volume_number、 file_pathを検査して、file_pathフィールドにセットされた"\dev\camera"のデータを検出する。この"\dev\camera"のデータは、あらかじめカメラのライブ画像取得用のデータとして定義されており、このデータを検出した場合Camera Storageコントローラ107は記録媒体からデータを読み出さずに、カメラのライブ画像を前記コントローラに送信する。レンズ101を通して入力された画像は、CCD102によって光電変換された後、A/Dコンバータ103によってデジタルデータに変換される。JPEGエンコーダー104はA/Dコンバータ103から入力されたデジタル画像データをあらかじめ設置されたJPEGフォーマットにエンコードしてCamera Storageコントローラ107に出力する。Camera Storageコントローラ107はJPEGエンコーダ104から入力された画像データを、前記設定されたAsynchronous Serial Bus Connectionsの手順に従って、前記コントローラに送信する。全てのデータの送信を終了すると、Camera Storageコントローラ107は前記コントローラに対してSEND FILE Controlコマンドのファイナルレスポンスを送信する。前記ファイナルレスポンスを受信したコントローラは、AV/C Asynchronous Serial Bus Connectionsの手順に従って、前期コントローラとデジタルカメラの間のコネクションを切断して、データ転送を終了する。
【００２９】
（第２の実施例）
以下に、本発明でのデジタルカメラの動作について説明する。［図 2］は本実施例におけるデジタルカメラの構成例を示すブロック図である。
【００３０】
まず、記録媒体上に記録されているファイルを送信する場合について説明する。207はIEEE1394端子であり、パソコン等のコントローラがIEEE1394ケーブルで接続されている。前記コントローラはAV/C Asynchronous Serial Bus Connectionsの手順に従って、前期コントローラとデジタルカメラの間のコネクションを設定する。次に前記コントローラからデジタルカメラ内のCamera Storage Subunitに対してCTSコマンドが送信される。IEEE1394端子207からCamera Storage Subunitに対してSEND FILE Controlコマンドが受信されると、Camera Storageコントローラ208は、受信したSEND FILE Controlコマンドのphysical_volume_number、 logical_volume_number、 file_pathが指定するパスがFile System206内の記録メディア上のファイルを示す場合、File System206を操作して指定されたファイルをオープンしてファイルを読み出し、前記設定されたAsynchronous Serial Bus Connectionsの手順に従って、読み出されたデータを前記コントローラに送信する。全てのデータの送信を終了すると、Camera Storageコントローラ208は前記コントローラに対してSEND FILE Controlコマンドのファイナルレスポンスを送信する。前記ファイナルレスポンスを受信したコントローラは、AV/C Asynchronous Serial Bus Connectionsの手順に従って、前期コントローラとデジタルカメラの間のコネクションを切断して、データ転送を終了する。
【００３１】
次に、カメラで撮影しているライブ画像を送信する場合について説明する。IEEE1394端子207に接続されたパソコン等のコントローラはAV/C Asynchronous Serial Bus Connectionsの手順に従って、前期コントローラとデジタルカメラの間のコネクションを設定する。次に前記コントローラからデジタルカメラ内のCamera Storage Subunitに対してCTSコマンドが送信される。このとき、コントローラはSEND FILE Controlコマンドのfile_pathフィールドに"\dev\camera\vga\high\jpg"というデータをセットしてCTSコマンドを送信する。IEEE1394端子207からCamera Storage Subunitに対してSEND FILE Controlコマンドが受信されると、Camera Storageコントローラ208は、受信したSEND FILE Controlコマンドのphysical_volume_number、 logical_volume_number、 file_pathを検査して、file_pathフィールドにセットされた"\dev\camera"で始まるデータを検出する。この"\dev\camera"で始まるデータは、あらかじめカメラのライブ画像取得用のデータとして定義されており、このデータを検出した場合Camera Storageコントローラ206は記録媒体からデータを読み出さずに、カメラのライブ画像を前記コントローラに送信する。このデータは、画像サイズ、画質、画像フォーマットの３つのパラメータを持っており、それぞれのパラメータはデータ中に、"\dev\camera\[画像サイズ]\[画質]\[画像フォーマット]"の形でセットされている。
【００３２】
レンズ201を通して入力された画像は、Mega Pixel CCD202によって光電変換された後、A/Dコンバータ203によってデジタルデータに変換される。本実施例ではMega Pixel CCD202はSXGAサイズ(1280×960画素)のCCDであるとする。A/Dコンバータ103から出力されたデジタル画像データは、リサイズ回路204に入力される。
【００３３】
リサイズ回路204は、入力されたデジタル画像データのサイズを変更する回路であり、Camera Storageコントローラ208の指示に従ってサイズを変更する。Camera Storageコントローラ208は前記受信したSEND FILE Controlコマンドのfile pathフィールドにセットされた画像サイズのデータに従って、サイズを決定する。前述のSEND FILE Controlコマンドでは"vga"がセットされており、このデータに従ってリサイズ回路204を制御して、画像データをVGAサイズ(640x480画素)にサイズ変更する。［図20］に、画像サイズデータとしてセットされるデータの例を示す。
【００３４】
リサイズ回路204によってサイズを変更された画像データは、エンコーダー205に入力される。エンコーダー205は、Camera Storageコントローラー208によって制御され、指定された画質、フォーマットで画像データをエンコードする。前述のSEND FILE Controlコマンドでは画質データとして"high"、画像フォーマットデータとして"jpg"がセットされており、Camera Storageコントローラーは、高画質のJPEGデータのエンコードを行うようエンコーダ205を制御する。［図21］に画質データとしてセットされるデータの例を、［図22］に画像フォーマットデータとしてセットされるデータの例を示す。
【００３５】
エンコーダー205は指定の画質、フォーマットに従って入力された画像データをエンコードしてCamera Storageコントローラ208に出力する。Camera Storageコントローラ208はエンコーダー205から入力された画像データを、前記設定されたAsynchronous Serial Bus Connectionsの手順に従って、前記コントローラに送信する。全てのデータの送信を終了すると、Camera Storageコントローラ208は前記コントローラに対してSEND FILE Controlコマンドのファイナルレスポンスを送信する。前記ファイナルレスポンスを受信したコントローラは、AV/C Asynchronous Serial Bus Connectionsの手順に従って、前期コントローラとデジタルカメラの間のコネクションを切断して、データ転送を終了する。
【図面の簡単な説明】
【００３６】
【図１】本発明の第１の実施例のデジタルカメラの構成例を示すブロック図。
【図２】本発明の第２の実施例のデジタルカメラの構成例を示すブロック図。
【図３】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サブユニットからファイルデータを取得する場合のトランザクション手順を示す図。
【図１８】SEND FILE Controlコマンド及びレスポンスのフォーマットを示す図。
【図１９】Camera Storageサブユニットからファイルデータを取得する場合のコントローラとCamera Storageサブユニット間の論理的な接続例を示す図。
【図２０】本発明の第２の実施例における画像サイズデータとしてセットされるデータの例を示す表。
【図２１】本発明の第２の実施例における画質データとしてセットされるデータの例を示す表。
【図２２】本発明の第２の実施例における画像フォーマットデータとしてセットされるデータの例を示す表。
【図２３】CTSのコマンドフレームに設定するctypeフィールドの値を示す表。
【図２４】CTSのレスポンスフレームに設定するresponseフィールドの値を示す表。
【図２５】Camera Storageサブユニットのプロファイルの値を示す表。
【図２６】Camera StorageサブユニットのControlコマンド中のsubfunctionフィールドの値を示す表。
【図２７】FILE LIST Controlコマンドのfile_typeフィールド値を示す図。
【符号の説明】
【００３７】
101  レンズ
102  CCD
103  A/Dコンバータ
104  JPEGエンコーダー回路
105  記録媒体を含んだFile System
106  IEEE1394端子
107  Camera Storageコントローラ回路
201  レンズ
202  Mega Pixel CCD
203  A/Dコンバータ
204  リサイズ回路
205  エンコーダー回路
206  記録媒体を含んだFile System
207  IEEE1394端子
208  Camera Storageコントローラ回路
【図１】
2007082115.tif 000003
【図２】
2007082115.tif 000004
【図３】
2007082115.tif 000005
【図４】
2007082115.tif 000006
【図５】
2007082115.tif 000007
【図６】
2007082115.tif 000008
【図７】
2007082115.tif 000009
【図８】
2007082115.tif 000010
【図９】
2007082115.tif 000011
【図１０】
2007082115.tif 000012
【図１１】
2007082115.tif 000013
【図１２】
2007082115.tif 000014
【図１３】
2007082115.tif 000015
【図１４】
2007082115.tif 000016
【図１５】
2007082115.tif 000017
【図１６】
2007082115.tif 000018
【図１７】
2007082115.tif 000019
【図１８】
2007082115.tif 000020
【図１９】
2007082115.tif 000021
【図２０】
2007082115.tif 000022
【図２１】
2007082115.tif 000023
【図２２】
2007082115.tif 000024
【図２３】
2007082115.tif 000025
【図２４】
2007082115.tif 000026
【図２５】
2007082115.tif 000027
【図２６】
2007082115.tif 000028
【図２７】
2007082115.tif 000029