(57)【要約】【課題】  ＣａｍｅｒａＳｔｏｒａｇｅＳｕｂｕｎｉｔのメディア入れ替え時に、同一のメディアを挿入したことを検出してｍｅｄｉａ＿ｇｅｎｅｒａｔｉｏｎ＿ｃｏｕｎｔを更新しないことで、コントローラが不要なトランザクションを行うことを防ぐ。【解決手段】  メディア上にカウント値と識別データが記録されているかを検出し、記録されていない場合または記録されているデータが内部メモリに保持しているデータと一致しなかった場合、ｍｅｄｉａ＿ｇｅｎｅｒａｔｉｏｎ＿ｃｏｕｎｔを更新して識別データを生成し、内部メモリ及び記録メディアに書き込む。一致していた場合はｍｅｄｉａ＿ｇｅｎｅｒａｔｉｏｎ＿ｃｏｕｎｔを更新せずに内部メモリと同じ値を使用する。【選択図】図１
2007080462.tif 000002
【特許請求の範囲】
【請求項１】
シリアルデータを送受信するためのデジタルインターフェースを備え、前記デジタルインターフェースを経由して制御信号及びデジタルデータの送受信を行い、着脱可能な記録媒体を使用して前記記録媒体上のデジタルデータを取り扱うデジタル機器であって、カウンタと、識別データを作成する識別データ作成機能と、前記記憶媒体の挿抜を検出する機能と、前記記憶媒体の挿抜を検出した場合に前記カウンタの値を更新する機能と、前記カウンタの値及び前記識別データ作成機能により作成された識別データを記憶する内部メモリと、前記記録媒体の所定の場所に前記内部メモリに記憶されたカウンタの値及び識別データを記録する機能を有することを特徴とするデジタル機器。
【請求項２】
前記内部メモリは、電源を切断しても内容が消去されないことを特徴とする、請求項１記載のデジタル機器。
【請求項３】
前記着脱可能な記録媒体の所定の場所に前記記憶されたカウンタの値及び識別データが記録されているか否かを検出する検出手段を有することを特徴とする、請求項１記載のデジタル機器。
【請求項４】
着脱可能な記録媒体が挿入された場合に前記記録されたカウンタの値及び識別データの検出手段を用いることを特徴とする、請求項３記載のデジタル機器。
【請求項５】
着脱可能な記録媒体が挿入されているか否かを検出する機能を有し、電源が投入された時に前記記録媒体の検出を行い、記録媒体が検出された場合に前記記録されたカウンタ値及び識別データの検出手段を用いることを特徴とする、請求項３記載のデジタル機器。
【請求項６】
前記記録されたカウンタ値及び識別データの検出手段によってカウンタの値及び識別データが検出された場合、前記内部メモリに記憶されているカウンタの値及び識別データと比較する事を特徴とする、請求項３記載のデジタル機器。
【請求項７】
前記比較した値が一致している場合、カウンタの値を保持することを特徴とする、請求項６記載のデジタル機器。
【請求項８】
前記比較した値が一致していない場合、カウンタの値を更新し、前記識別データ作成機能によって識別データを制作し、前記更新したカウンタの値及び前記識別データを前記内部メモリに記憶し、前記記録媒体の所定の場所に前記メモリに記憶されたカウンタの値及び前記識別データを記録することを特徴とする、請求項６記載のデジタル機器。
【請求項９】
前記識別データ作成機能によって作成される識別データは、日付情報を含むことを特徴とする、請求項１記載のデジタル機器。
【請求項１０】
前記識別データ作成機能によって作成される識別データは、時刻情報を含むことを特徴とする、請求項１記載のデジタル機器。
【請求項１１】
前記識別データ作成機能によって作成される識別データは、機器の有する固有の識別番号を含むことを特徴とする、請求項１記載のデジタル機器。
【請求項１２】
前記記録媒体の所定の場所は、記録媒体の管理情報の領域であることを特徴とする、請求項１記載のデジタル機器。
【請求項１３】
前記記録媒体の所定の場所は、記録媒体のデータ領域の特定のファイル名を持つファイルであることを特徴とする、請求項１記載のデジタル機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御信号とデータを混在させて通信することが可能なデータ通信バスを用いて電子機器（以下、機器）間を接続して、機器間でデータ通信を行うシステムを所有する装置に関するものである。
【背景技術】
【０００２】
近年デジタルカメラが普及してきている。このデジタルカメラは着脱可能な記録媒体を使用してデジタル静止画データを記録、再生するシステムで、パソコンへのデータの移動は、直接記録媒体をパソコンに挿入する方法と、デジタルカメラが備えるデジタルインターフェースとパソコンが備えるデジタルインターフェースを接続して画像転送を行う方法の二通りの方法がある。
【０００３】
デジタルインターフェースを接続してデータ転送を行う場合、パソコンはデジタルカメラに対して記録媒体上に存在するデータのリストを要求し、受け取ったリストを元に各データに対して個別のアクセスを行う。前記デジタルインターフェイスとしてIEEE1394を使用したAV/C Camera Storage Subunitという規格が標準化団体である1394Trade Associationで定義されている。前記Camera Storage Subunitではコマンドセットが定義されており、コントローラが送信した制御コマンドをIEEE1394を介して受信し、前記制御コマンドに従ってデータのリストをコントローラに送信したり、指定されたデータを転送することができる。前記制御コマンドの送受信に関してはIEC61883の中で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 Subunitに対してファイルリストを要求するコマンドフレームと、前記コマンドを受理した場合のレスポンスフレームは図５に示すデータとなる。subfunctionはコントロールコマンドの動作の種別を示し、図１３に示すデータのいずれかをセットする。ファイルリストの要求時には“execute”を指定する。physical_volume_number及びlogical_volume_numberはCamera Storage Subunitにセットされた記憶媒体のアクセスする領域を指定する。physical_volumeは例えばデジタルカメラが持つ記録媒体のスロットの番号を示し、logical_volumeは記録媒体上のパーティションの番号を示す。例えば記録媒体をセットするスロットが一つしかないデジタルカメラにパーティションが１つしか存在しない記録媒体セットした場合、両フィールドともに0をセットすることでアクセス領域を指定することが出来る。ｍedia_generation_countは記録媒体が挿入されたときにカウントアップするカウンタの値で、着脱可能な記録媒体が機器に挿入された場合に更新される。このカウント値は、例えば電源投入時には“０”に初期化され、更新される場合には１づつカウントアップされる。コントローラはCamera Storageの保持するmedia_generation_countの値をコマンドフレームにセットする。もしCamera Storageの保持する値とコマンドフレームにセットされた値が異なる場合、Camera Storageにセットされている記録媒体が交換されているため、コマンドは拒否される。このmedia_generation_countは、コントローラが例えばファイルを削除しようとしたときに交換された記録媒体上にあるファイルを誤って削除しないために用いられる。responseフレームのmedia_generation_countは、デジタルカメラが保持するカウント値がセットされ、コマンドが拒否された場合はこのフィールドの値からデジタルカメラが保持するカウント値をコントローラは知ることができる。file_type及びattributeは、取得するファイルリストに含まれるファイルの種類を指定する。start_numberは指定されたディレクトリのファイルリストの何番目のエントリーからリストを返すかを指定する。number_of_entriesはファイルリストに含まれるエントリーの数を指定する。request_pathは、どのディレクトリのファイルリストを返すかを指定し、request_path_lengthはrequest_pathのバイトサイズを指定する。responseフレームのnumber_of_entriesは、後述のfile_listに含まれるファイルエントリの個数がセットされる。file_listはcommandフレームで指定されたディレクトリに存在するファイルのリストであり複数のファイルエントリがセットされる。セットされるファイルエントリは図６に示されるフォーマットであり、ファイル名、ファイルの更新日時、ファイルサイズ等がセットされる。eolはfile_list中の最後のファイルエントリが指定したディレクトリのファイルリストの一番最後のエントリであるかどうかを示している。このビットが0である場合、指定したディレクトリのファイルリストには続きがある事を示している。前記FILE LISTコントロールコマンドをコントローラはCamera Storage Subunitに送信することで、ファイルのリストを取得することが出来る。
【０００６】
前記FILE LISTコマンド中にセットするmedia_generation_countの値は、図７に示すVOLUME INFOコントロールコマンドを使用して取得することが出来る。subfunction, physical_volume_number, logical_volume_numberは前記FILE LISTコントロールコマンドで説明したフィールドと同一のフィールドである。Responseフレームのattributeはセットされている記録媒体の属性情報を示すものであり、図８に示すフォーマットのデータである。maximum_capacity, free_spaceはそれぞれ記録媒体の最大容量、空き容量を示す。responseのmedia_generation_countは、コントロールコマンドフレームのphysical_volume_numberで指定されたスロットに対するmedia_generation_countの値がセットされる。
【０００７】
図14は、前記media_generation_countの更新を行う条件を示した表である。デジタルカメラは記録媒体が挿入されたときにmedia_generation_countを更新する。このカウント値は、例えば電源投入時には"０"に初期化され、更新される場合には１づつカウントアップされる。
【０００８】
コントローラがデジタルカメラに接続して、ファイルリストを取得し、ファイルを消去する手順を図１０を用いて説明する。図１０はコントローラと、ターゲットであるデジタルカメラとの制御信号/応答信号のフロー、デジタルカメラ側のイベントに対するmedia_generation_countの値の変化、およびコントローラが保持するmedia_generation_countの値の変化を示している。まず、デジタルカメラの電源を入れると、デジタルカメラ側ではmedia_generation_countを“０”に初期化する。コントローラはデジタルカメラにVOLUME INFOコマンドを送信して、そのレスポンスデータからデジタルカメラの保持するmedia_generation_count値を取得する。その後、FILE LISTコマンドでファイルリストを取得し、図９に示すERASE FILEコマンドで特定のファイルを指定して削除する。この２つのコマンドではmedia_generation_countに“０”をセットして送信し、デジタルカメラ側ではmedia_generation_countの更新を行っていないので、コマンドは正常に実行される。その後、デジタルカメラ側で記録媒体の入れ替えが行われると、media_generation_conntが更新されて“１”になる。しかしコントローラは、記録媒体の入れ替えを認識しておらず、引き続いてmedia_generation_countに“０”をセットしてERASE FILEコマンドを送信する。この時、デジタルカメラの保持するmedia_generation_countの値と異なるため、コマンドは拒否され、resultフィールドにエラーコードが、media_generation_countフィールドに更新されたカウンタの値がセットされてコントローラに送信される。コントローラはレスポンスのデータから、エラーの原因と新しいmedia_generation_countの値を取得し、コントローラ内部で保持するmedia_generation_countの値を更新して“１”にする。その後、FILE LISTコマンドを発行してリストの再取得を行い、以下順次必要な処理を行う。
【０００９】
又、従来例としては、例えば特許文献１と特許文献２をあげることが出来る。
【特許文献１】特開２００１−１６７５１５号公報
【特許文献２】特開２０００−１４９４０７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
前述のmedia_generation_countの管理においては、記録媒体の入れ替えが行われた時にカウント値を更新するが、一旦記録媒体をデジタルカメラから取り外して、同じ記録媒体を再度挿入した場合もカウント値を更新するため、コントローラは再度同じファイルリストを取得する必要があった。また、電源のON/OFFによってもカウント値が変更されるため、記録媒体の入れ替えが行われなかった場合も電源がONになった場合、コントローラはファイルリストを再取得する必要があった。
【課題を解決するための手段】
【００１１】
前記課題を解決するために、本発明ではデジタルカメラが保持するカウント値を記録媒体の所定の場所に記録し、記録媒体が挿入された場合に前記所定の場所を検索して、デジタルカメラが保持するカウント値と比較し、一致した場合はカウント値を更新しない。またデジタルカメラが保持するカウント値を電源が切断されても内容を保持するメモリに記憶しておき、電源が投入された時に記録媒体に記録してあるカウント値と比較して、一致した場合はカウント値を初期化しない。
【発明の効果】
【００１２】
以上、説明したようにデジタルカメラが識別データとmedia_generation_countの値を内部メモリに記憶し、前記メモリに記憶した内容を記録メディアに書き込むことによって、電源投入時または、メディアの入れ替えが行われたときに、挿入されているメディアが以前挿入されていたメディアと同一のメディアかどうかを判別することができ、同一のメディアの場合はmedia_generation_countを更新しないことによって、コントローラは不要なトランザクションを抑えることが出来る。
【発明を実施するための最良の形態】
【００１３】
図１のフローチャート図を用いて、本発明のデジタルカメラの動作を説明する。電源を投入するとデジタルカメラは本体内に記録メディアが存在するかどうかを検出する。メディアが検出されなかった場合は、media_generation_countの値を初期化する。
【００１４】
メディアが検出された場合、メディア上にカウント値と識別データが記録されているかどうかを検出する。このカウント値と識別データはあらかじめ決められた特定のファイル名を持つファイルとして記録されているか、またはメディアの管理情報の領域に記録されている。検出の結果、カウント値及び識別データが検出されなかった場合は、media_generation_countの値を初期化し、識別データを作成した後、デジタルカメラが有する内部メモリ及び記録メディアにmedia_generatation_countの値と識別データを書き込む。前記識別データのフォーマット例を図２に示す。EUI64はデジタルカメラの持つIEEE1394固有の識別番号である。Year,Month,Day,Hour,Minute,Secondはデジタルカメラの有するカレンダー及び時計から得られる、識別データを作成した時点の日付及び時刻のデータである。識別データを機器固有のEUI64、日付、時刻を用いて作成することにより、重複のない一意の識別データを作成することが出来る。前記検出の結果、カウント値及び識別データが検出されたが、デジタルカメラが保持しているデータと一致しなかった場合も同様にmedia_generation_countの値を初期化し、識別データを作成した後、デジタルカメラが有する内部メモリ及び記録メディアにmedia_generatation_countの値と識別データを書き込む。前記検出の結果、カウント値及び識別データが検出され、デジタルカメラが保持しているデータと一致した場合、デジタルカメラ内部にセットされている記録メディアは電源切断前にセットされていたメディアと同一なので、media_generation_countはデジタルカメラが有する内部メモリに保持されていた値をセットする。
【００１５】
次に、メディアの挿入を検出した場合、挿入されたメディア上にカウント値と識別データが記録されているかどうかを検出する。検出の結果、カウント値及び識別データが検出されなかった場合は、media_generation_countの値を更新し、識別データを作成した後、デジタルカメラが有する内部メモリ及び記録メディアにmedia_generatation_countの値と識別データを書き込む。前記検出の結果、カウント値及び識別データが検出されたが、デジタルカメラが保持しているデータと一致しなかった場合も同様にmedia_generation_countの値を更新し、識別データを作成した後、デジタルカメラが有する内部メモリ及び記録メディアにmedia_generatation_countの値と識別データを書き込む。前記検出の結果、カウント値及び識別データが検出され、デジタルカメラが保持しているデータと一致した場合、デジタルカメラ内部にセットされている記録メディアは同一のメディアが再度セットされているので、media_generation_countはデジタルカメラが有する内部メモリに保持されていた値をセットする。
【図面の簡単な説明】
【００１６】
【図１】本発明の動作を示すフローチャート図。
【図２】識別データのフォーマット例を示す図。
【図３】CTSで用いるコマンドフレームフォーマットを示す図。
【図４】CTSで用いるレスポンスフレームフォーマットを示す図。
【図５】FILE LISTコントロールコマンドのコマンドフレームとレスポンスフレームのデータを示す図。
【図６】FILE LIST responseフレームのfile_listフィールドにセットされるファイルエントリのフォーマットを示す図。
【図７】VOLUME INFOコントロールコマンドのコマンドフレームとレスポンスフレームのデータを示す図。
【図８】VOLUME INFO responseフレームのattributeフィールドのフォーマットを示す図。
【図９】ERASE FILEコントロールコマンドのコマンドフレームとレスポンスフレームのデータを示す図。
【図１０】コントローラがデジタルカメラのファイルを削除する手順を示す図。
【図１１】CTSのコマンドフレームに設定するctypeフィールドの値を示す表。
【図１２】CTSのレスポンスフレームに設定するresponseフィールドの値を示す表。
【図１３】subfunctionフィールドにセットする値を示す表。
【図１４】media_generation_countの更新方法を示す表。
【図１】
2007080462.tif 000003
【図２】
2007080462.tif 000004
【図３】
2007080462.tif 000005
【図４】
2007080462.tif 000006
【図５】
2007080462.tif 000007
【図６】
2007080462.tif 000008
【図７】
2007080462.tif 000009
【図８】
2007080462.tif 000010
【図９】
2007080462.tif 000011
【図１０】
2007080462.tif 000012
【図１１】
2007080462.tif 000013
【図１２】
2007080462.tif 000014
【図１３】
2007080462.tif 000015
【図１４】
2007080462.tif 000016