(57)【特許請求の範囲】
【請求項１】
記録メディアに対して撮影画像のデータを所定のディレクトリ構造でもって記録し、記録メディアから画像データを読み出すようにしたディジタルカメラにおいて、
撮影画像を処理する画像処理部と、
制御部に対して操作信号を出力する操作入力部と、
上記制御部によって制御され、上記ディレクトリ構造と無関係に上記記録メディア上の画像データをコンピュータに送るインターフェースとを備え、
上記操作入力部における設定された所定の撮影モードでは、撮影画像と対応するメインファイルに関連するサブファイルが生成され、
上記制御部によって、上記メインファイルおよび該メインファイルに関連する上記サブファイルが上記記録メディアに対して上記所定のディレクトリ構造でもって記録され、
上記記録メディアに格納されている上記メインファイルおよび該メインファイルに関連する上記サブファイルを上記インターフェースによって転送する時のみ、ファイルに対する識別子を操作することによって、上記メインファイルおよび該メインファイルに関連する上記サブファイルが同一のフォルダに存在しているものとコンピュータが認識できるように、上記コンピュータに対して転送されるデータ内に上記フォルダが作成されるようにしたディジタルカメラ。
【請求項２】
請求項１において、
上記フォルダに互いに関連するメインファイルおよびサブファイルが入るように上記コンピュータが認識するのに必要な属性データが上記メインファイルおよび上記サブファイルに対して付加されるようにしたディジタルカメラ。
【請求項３】
請求項１において、
上記サブファイルが上記メインファイルに比してより小さなサイズの画像データであるディジタルカメラ。
【請求項４】
請求項１において、
さらに、音声入力手段を備え、上記サブファイルとして、上記音声入力手段から入力された音声を処理した音声ファイルを作成するようにしたディジタルカメラ。
【請求項５】
請求項１において、
上記インターフェースがスチルイメージクラスインターフェースに基づいたＰＴＰであるディジタルカメラ。
【請求項６】
所定の撮影モードでは、撮影画像と対応するメインファイルに関連するサブファイルが生成され、上記メインファイルおよび該メインファイルに関連する上記サブファイルが記録メディアに対して所定のディレクトリ構造でもって記録され、上記記録メディアに格納されている上記メインファイルおよび該メインファイルに関連する上記サブファイルを上記ディレクトリ構造と無関係にインターフェースを介してコンピュータに転送するデータ転送方法であって、
上記メインファイルおよび該メインファイルに関連する上記サブファイルを上記インターフェースを介して転送する時のみ、ファイルに対する識別子を操作することによって、上記メインファイルおよび該メインファイルに関連する上記サブファイルが同一のフォルダに存在しているものとコンピュータが認識できるように、上記コンピュータに対して転送されるデータ内に上記フォルダが作成されるようにしたデータ転送方法。
【請求項７】
請求項６において、
上記フォルダに互いに関連するメインファイルおよびサブファイルが入るように上記コンピュータが認識するのに必要な属性データが上記メインファイルおよび上記サブファイルに対して付加されるようにしたデータ転送方法。
【請求項８】
請求項６において、
上記サブファイルが上記メインファイルに比してより小さなサイズの画像データであるデータ転送方法。
【請求項９】
請求項６において、
上記サブファイルとして、音声ファイルを作成するようにしたデータ転送方法。
【請求項１０】
請求項６において、
上記インターフェースがスチルイメージクラスインターフェースに基づいたＰＴＰであるデータ転送方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は複数のＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）接続を切り替えて使用できるディジタルカメラおよびディジタルカメラからパソコン等のホストへデータを転送するためのデータ転送方法に関する。
【０００２】
【従来の技術】
ＵＳＢは、パソコンに周辺機器を接続するのに使用されるインターフェースであり、既存のシリアルポート、パラレルポートに置き換わりつつある。ディジタルカメラで撮影したスチル画像、低ビットレートの動画等のディジタルデータをパーソナルコンピュータ（以下パソコンと略す）に転送する場合のインターフェースとしてＵＳＢが使用されつつある。一般的に、ディジタルカメラでは、撮影した画像データがリムーバブルな記憶媒体例えばメモリカードに記録される。
【０００３】
メモリカードに記録された画像ファイルをパソコンに転送する場合では、ディジタルカメラがＵＳＢポートを備えていれば、ディジタルカメラをＵＳＢケーブルによってパソコンに直接接続してメモリカードに記録されている画像ファイルをディジタルカメラからパソコンに転送することができる。
【０００４】
ＵＳＢインターフェースのディジタルカメラに関係する規格としては、マスストレージクラスインターフェースに基づいたものと、スチルイメージクラスインターフェースに基づいたものが存在する。マスストレージクラスインターフェースは、パソコンからディジタルカメラがリムーバブルメディアとして認識されるものである。スチルイメージクラスインターフェースは、スキャナとしてパソコンに認識されるものである。このように、パソコンからのデバイスの見え方が違う点で二つのクラスが相違する。マスストレージクラスインターフェースは、「Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ  Ｍａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｏｖｅｒｖｉｅｗ  （Ｒｅｖｉｓｉｏｎ
１．１  Ｊｕｎｅ２８，２０００）  」の仕様書に規定されている。
【０００５】
ディジタルカメラとして、複数の形式のファイルを同時に記録メディアに記録することができる機能を有するものがある。例えば撮影画像（主画像）とは別にＥ−メール用のサイズが縮小された画像を記録メディアに記録できる機能を有するディジタルカメラが提案されている。他の例として、主画像と、音声のメモ（ボイスメモと称される）を記録メディアに記録できる機能を有するものも提案されている。主画像を適宜メインファイルと称し、メインファイルに関連したこれらのファイルをサブファイルと称する。
【０００６】
【発明が解決しようとする課題】
ディジタルカメラ本体では、主画像とＥ−メール用のサブファイルとが別々のフォルダに格納されている。したがって、保存先のフォルダ、ファイル名、記録日時を比較することによって、主画像とサブファイルとを関連付けることができる。従来のマスストレージクラスのＵＳＢインターフェースを使ってパソコンに記録メディアに記録されているデータを転送する場合、ディジタルカメラにおけるディレクトリ構造がそのままパソコンに移されることになる。その場合、ユーザは、パソコン上で、フォルダ名、ファイル名、記録日時等から主画像ファイルと関連するサブファイルを探し出す必要があり、これらのファイルの関連を容易に判別することができなかった。
【０００７】
最近では、スチルイメージクラスインターフェースに基づいて作成され、より上位の層として、ＰＴＰ（Ｐｉｃｔｕｒｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）がＰＩＭＡ（Ｐｈｏｔｏｇｒａｐｈｉｃ  ａｎｄ  Ｉｍａｇｉｎｇ  Ｍａｎｕｆａｃｔｕｒｅｓ  Ａｓｓｏｃｉａｔｉｏｎ，ＩＮＣ．）  によって提案されている。この規格は、ディジタルカメラや、スキャナ等を対象としたデータ転送方式である。この方法は、ディレクトリ構造を意識しないでもユーザが簡単に画像ファイルをパソコンに取り込み、パソコン上で所望のファイルを選択する等の操作を簡単化することが可能となる。例えば画像ファイルのサムネール画像を表示する機能がＰＴＰにある。したがって、ディジタルカメラのＵＳＢインターフェースとしては、ユーザの操作性の向上のために、ＰＴＰを採用することが好ましい。
【０００８】
しかしながら、ＰＴＰは、記録メディアに記録されている時に存在していたフォルダ等のディレクトリ構造をパソコンに対して転送することができず、画像データは、同等なものとして転送される。したがって、ＰＴＰで転送されたデータを見ても、主画像ファイルとサブファイルとの関連付けが簡単には分からない問題があった。
【０００９】
したがって、この発明の目的は、ＰＴＰのように、記録メディア上のディレクトリ構造と無関係に画像データを送るＵＳＢインターフェースを使用しながら、関連する２以上のファイルをユーザが関連するものとしてパソコン上で容易に認識できることが可能とされたディジタルカメラおよびデータ転送方法を提供することにある。
【００１０】
【課題を解決するための手段】
上述した課題を達成するために、請求項１の発明は、記録メディアに対して撮影画像のデータを所定のディレクトリ構造でもって記録し、記録メディアから画像データを読み出すようにしたディジタルカメラにおいて、
撮影画像を処理する画像処理部と、
制御部に対して操作信号を出力する操作入力部と、
制御部によって制御され、ディレクトリ構造と無関係に記録メディア上の画像データをコンピュータに送るインターフェースとを備え、
操作入力部における設定された所定の撮影モードでは、撮影画像と対応するメインファイルに関連するサブファイルが生成され、
制御部によって、メインファイルおよび該メインファイルに関連するサブファイルが記録メディアに対して所定のディレクトリ構造でもって記録され、
記録メディアに格納されているメインファイルおよび該メインファイルに関連するサブファイルをインターフェースによって転送する時のみ、ファイルに対する識別子を操作することによって、メインファイルおよび該メインファイルに関連するサブファイルが同一のフォルダに存在しているものとコンピュータが認識できるように、コンピュータに対して転送されるデータ内にフォルダが作成されるようにしたディジタルカメラである。
【００１１】
請求項７の発明は、所定の撮影モードでは、撮影画像と対応するメインファイルに関連するサブファイルが生成され、メインファイルおよび該メインファイルに関連するサブファイルが記録メディアに対して所定のディレクトリ構造でもって記録され、記録メディアに格納されているメインファイルおよび該メインファイルに関連するサブファイルをディレクトリ構造と無関係にインターフェースを介してコンピュータに転送するデータ転送方法であって、
メインファイルおよび該メインファイルに関連するサブファイルをインターフェースを介して転送する時のみ、ファイルに対する識別子を操作することによって、メインファイルおよび該メインファイルに関連するサブファイルが同一のフォルダに存在しているものとコンピュータが認識できるように、コンピュータに対して転送されるデータ内にフォルダが作成されるようにしたデータ転送方法である。
【００１２】
ＵＳＢインターフェース例えばＰＴＰでもってデータをディジタルカメラからパソコンへ転送する時に、フォルダを作成できるので、パソコンに転送されたデータの関連付けが容易に分かる。
【００１３】
【発明の実施の形態】
以下、この発明の一実施形態について説明する。この一実施形態は、ディジタルカメラで記録された画像ファイルをディジタルカメラからパソコンに転送する場合にこの発明を適用したものである。すなわち、図１に示すように、ＵＳＢホスト（パソコン）１００とＵＳＢポートを備えたディジタルカメラ１０２とがＵＳＢケーブル１０１で直接接続され、ディジタルカメラ１０２内のリムーバブルな記録メディア例えばメモリカードに記録されている画像ファイルがディジタルカメラ１０２からパソコン１００に転送される。
【００１４】
一実施形態では、スチルイメージクラスインターフェースに基づいたＰＴＰによってディジタルカメラ１０２からパソコン１００に対してデータが転送される。このため、パソコン１００には、ＰＴＰとフォルダ構造に対応したアプリケーション（ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）に付属する場合を含む）がインストールされている。
【００１５】
図２は、ディジタルカメラ１０２のシステム構成を示し、１がＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）を示す。ＣＣＤ１の画素数（水平画素数×垂直画素数）は、例えば１８００  ×１２００とされている。撮影画像（カラー画像）の画素数に対して記録画像の画素数は、種々の画素数のものが選択可能とされている。ＣＣＤ１は、図示しないレンズ部を介された被写体像を撮像信号として出力する。ＣＣＤ１のレンズ部においては、自動絞り制御動作や自動焦点制御動作がなされる。撮像信号がカメラブロック２に供給される。
【００１６】
カメラブロック２は、クランプ回路、輝度信号処理回路、輪郭補正回路、欠陥補償回路、自動絞り制御回路、自動焦点制御回路、自動ホワイトバランス補正回路等が含まれる。カメラブロック２から例えばＲＧＢ信号から変換された輝度信号および色差信号からなるコンポーネント信号の形式でディジタル撮像信号が発生する。ディジタル撮像信号が画像処理ブロック３に供給される。
【００１７】
画像処理ブロック３は、信号切り換え部、表示用バッファメモリ、Ｄ／Ａ変換器、画像データのエンコーダ、デコーダ等を有する。画像ファイルの形式としては、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）  ，ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ），ＧＩＦ（Ｇｒａｐｈｉｃｓ  Ｉｎｔｅｒｃｈａｎｇｅ  Ｆｏｒｍａｔ），ＴＩＦＦ（ＴａｇｇｅｄＩｍａｇｅ  Ｆｉｌｅ  Ｆｏｒｍａｔ）、ＢＭＰ（Ｗｉｎｄｏｗｓ  ＢｉｔＭａｐ）等が選択的に可能とされている。画像処理ブロック３に表示装置４および画像メモリ５例えばＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）が接続される。画像処理ブロック３において、生成されたＲＧＢ信号がＤ／Ａ変換器を介して表示装置４に供給される。表示装置４は、カメラと一体に設けられたＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）  等の表示デバイスで構成されたものである。
【００１８】
カメラブロック２からの画像信号が表示装置４に供給されることによって、撮影中の画像が表示され、また、制御マイコン６を介して供給される記録メディア９の読み出し画像が表示される。さらに、モード設定用のメニュー画面が表示装置４に表示される。記録メディア９は、リムーバブルなメディアであって、メモリカード、フレキシブルディスク、ＣＤ−Ｒ等を使用できる。
【００１９】
制御マイコン６には、操作入力部７、バッファメモリ８、記録メディア９および単一のＵＳＢコントローラ１０が接続され、ＵＳＢコントローラ１０に対してＵＳＢコネクタ１１が接続されている。制御マイコン６は、ＰＴＰのＵＳＢインターフェースでもってＵＳＢコントローラ１０を制御する。制御マイコン６から制御情報が各部に供給されることによって、画像データの処理がなされ、画像メモリ５、バッファメモリ８へのデータの書込み、読み出しがなされ、記録メディア９への書込み、読み出しが実行される。
【００２０】
操作入力部７は、シャッターボタン、モード指定用のモードダイヤル、その他の撮影者が操作する各種のスイッチを有する。シャッターボタンが押されると、制御マイコン６がこれを検出し、カメラブロック２および画像処理ブロック３を制御して画像メモリ５に撮影した原画像を記憶し、そして、画像処理ブロック３によって原画像データを圧縮し、圧縮データを記録メディア９に記録する。この場合、選択的に設定された記録モードに応じて、主画像に加えて他の情報（サブファイルと称する）が同時に記録メディア９に記録される。
【００２１】
例えばＥ−メールモードが設定されていると、ＪＰＥＧで圧縮された主画像に比してサイズの小さなＥ−メール用のサブファイル（例えばＣＩＦ（Ｃｏｍｍｏｎ  Ｉｎｔｅｒｍｅｄｉａｔｅ  Ｆｏｒｍａｔ，３２０ｘ２４０  画素）形式の画像）が画像処理ブロック３で生成され、主画像と同時に且つ主画像と別ファイルとして記録メディア９に書き込まれる。さらに、ボイスメモモードでは、図示しないマイクロホンから入力された音声をＭＰＥＧ形式で圧縮したサブファイルが同時に記録メディア９に書き込まれる。
【００２２】
一実施形態では、Ｅ−メール用のサブファイルとボイスメモ用のサブファイルとの一方が一つの主画像に関連して作成可能とされている。Ｅ−メール用のサブファイルは、主画像と同一のファイル名のものであり、主画像およびボイスメモサブファイルとは別のフォルダに格納されている。ボイスメモサブファイルも同様に、主画像およびＥ−メール用サブファイルのフォルダとは別のフォルダに格納されている。カメラ本体は主画像に対してファイル番号を付けることによって主画像を管理し、サブファイルに対しては主画像との関連を、例えば保存先のフォルダや名前、記録日時などをもとに判別することができる。ファイル番号は、ファイル名とは関係なく付けられている。
【００２３】
ＵＳＢコネクタ１１に接続されたＵＳＢコントローラ１０は、制御マイコン６にバス接続され、制御マイコン６がＵＳＢコントローラ１０からのデータを送受信することによって、ＵＳＢコネクタ１１にケーブル１０１を介して接続されたパソコン１００との間でＰＴＰに基づいてデータ転送機能を実現する。
【００２４】
図３は、例えば記録メディア９に格納されているデータをパソコン１００に転送する場合の制御マイコン６が行う処理の概略を示す。ＵＳＢコネクタ１１にパソコンが接続されたことを制御マイコン６が検出すると、Ｓ１０１の処理が実行される。。そして、ステップＳ１０２において、制御マイコン６は、記録メディア９に存在するファイルのファイルテーブルをバッファメモリ８上に作成する。
【００２５】
ファイルテーブルは、主画像毎に保存先のフォルダや名前、記録日時などをもとに関連のあるサブファイルが存在するかどうか、また、存在する場合はその種類を記憶する。図４がファイルテーブルの一例を示す。図４において、ファイル番号は、記録メディア９に記録されている主画像を特定する番号である。ファイル番号で特定される主画像ファイル毎にファイル種別情報が生成される。ファイル種別情報は、０、１、２の３値をとりうるものである。０は、サブファイルが存在しない場合、１は、Ｅ−メールサブファイルが存在する場合、２は、ボイスメモサブファイルが存在する場合をそれぞれ表している。
【００２６】
常にこのファイルテーブルを保持せず、ＵＳＢ接続の際に作成するのは、ＵＳＢ接続時以外の時はバッファメモリ８を他の用途に効率的に使用し、バッファメモリ８の容量を増加させずに本機能を実現するためである。また、テーブル作成中は、パソコンからのファイルを対象とした要求に対して対応できない。これによる不具合を回避するために、パソコンへのＵＳＢ接続要求を出す前にステップＳ１０２のファイルテーブル作成処理を行う。
【００２７】
ステップＳ１０２のテーブル作成処理が終わると、ステップＳ１０３において、パソコンに対してＵＳＢ接続要求を出す。この時点でパソコンは、カメラをＵＳＢデバイスとして認識し、ＵＳＢコントローラ１０に対して転送要求を出す。
【００２８】
転送要求がＵＳＢコントローラ１０を介して制御マイコン６に伝わり、この要求を受けた制御マイコンは転送要求の種類に応じて、記録メディア９の情報やデータをバッファメモリ８に転送する。
【００２９】
この一実施形態では、サブファイルの存在する画像ファイルに関して、ＰＴＰのプロトコルに準拠してユーザから見える仮想的なフォルダを作成する。すなわち、同一のフォルダ内に、関連する二つのファイル（主画像ファイルとＥ−メール用サブファイル、主画像ファイルとボイスメモ等）が格納されているものとしてパソコンが認識できるように、各ファイルに対してそれぞれ属性データが付加される。フォルダを作成する時に、上述したファイルテーブルが参照される。
【００３０】
図５は、かかる処理を概略的に示す。ディジタルカメラでは、画像データをファイル番号で管理している。ＰＴＰでは、画像データをオブジェクトハンドルと称される番号で管理している。ファイル番号を０ｘ０００１，０ｘ０００２，・・・，０ｘ０００ｎ，・・・  ，０ｘ０００ｍと表す。０ｘは、１６進表記を表している。ファイル番号が２バイトで表されている。
【００３１】
ＰＴＰでもってデータをパソコンへ転送するために、ファイル番号をオブジェクトハンドルに変換する。その場合、図５Ａに示すように、サブファイルの存在する画像ファイルに関しては、フォルダを作成し、同一のフォルダ内に関連する二つのファイル、すなわち、メインファイルとサブファイルが格納されているようにパソコンが認識できるようにする。フォルダに対しては、オブジェクトハンドルの上位２バイトとして、「ｚ０００」が付加される。メインファイルに対しては、オブジェクトハンドルの上位２バイトとして、「００００」が付加される。サブファイルに対しては、オブジェクトハンドルの上位２バイトとして、「０００ｚ」が付加される。
【００３２】
ここで、ｚは、前述したように作成されたファイルテーブル中のファイル種別の値である。すなわち、ｚ＝１がＥ−メール用サブファイルを意味し、ｚ＝２がボイスメモサブファイルを意味する。ｚ＝０の場合には、サブファイルが存在しないことを意味するので、その場合では、フォルダが作成されない。
【００３３】
図５Ｂは、サブファイルが存在するメインファイルに関して、ファイル番号をメインファイル、サブファイルおよびフォルダのそれぞれのオブジェクトハンドルに変換した例を示している。オブジェクトハンドルは、フォルダ、メインファイル、サブファイルの順序で送られる。なお、オブジェクトハンドルと「０ｘ００００ＦＦＦＦ」との論理積をとるマスク処理によって、オブジェクトハンドルをファイル番号へ変換できる。
【００３４】
さらに、この発明の一実施形態についてより詳細に説明する。図６は、ディジタルカメラにおけるデータの保存のためのディレクトリ構造と、ＰＴＰ用のディレクトリおよびファイル名との関連を示している。一実施形態におけるディジタルカメラでは、「ＤＣＩＭ」のディレクトリの中に静止画の主画像が保存される「１００ＭＳＤＣＦ」のサブディレクトリが作成される。サブディレクトリの中に主画像ファイル（メインファイル）が格納される。
【００３５】
「ＭＳＳＯＮＹ」と示すローカルピクチャディレクトリに対して、Ｅ−メール用画像およびＴＩＦＦ画像用のサブディレクトリ「ＩＭＣＩＦ１００」、ボイスファイル用のサブディレクトリ「ＭＯＭＬＶ１００」および動画用サブディレクトリ「ＭＯＭＬ０００１」が作成される。各サブディレクトリに対して、それぞれサブファイルが格納される。さらに、「ＭＩＳＣ」のディレクトリが作成される。
【００３６】
ディレクトリおよびサブディレクトリは、それぞれフォルダおよびサブフォルダに対応する。例えばマスストレージクラスインターフェースであれば、図６に示すようなディレクトリ構造をパソコンに対して転送することができる。但し、その場合では、ディレクトリ構造をユーザが知らないと、所望のファイルを容易に検索したり、互いに関連するメインファイルおよびサブファイルを認識することが面倒な問題がある。
【００３７】
一例として、図６中で二重枠で囲んだファイルがＰＴＰによって選択的に転送される。全てのファイルを一括してパソコンに転送することも可能である。さらに、括弧内の数字がファイル番号を示す。ディジタルカメラでは、このファイル番号によってファイルを管理している。図６の例において、ＰＴＰで転送されるファイルの中で、同一のファイル番号を有する、メインファイル「ＤＳＣ００００２．ＪＰＧ」とサブファイル（Ｅ−メール用画像）「ＤＳＣ００００２．ＪＰＧ」が互いに関連するファイルであり、また、メインファイル「ＤＳＣ００００３．ＪＰＧ」とサブファイル（ボイスメモ）「ＤＳＣ００００３．ＭＰＧ」が互いに関連するファイルである。ディジタルカメラでは、別々のディレクトリ（フォルダ）にこれらのファイルが入っている。この発明を適用しないと、ＰＴＰでは、これらのファイルが対等な関係のものとして転送され、パソコン上では、これらのファイル名から関連する付けを探す必要が生じる。この発明を適用すれば、関連付けを示すことが可能なように仮想的なフォルダが作成される。
【００３８】
図７は、ＰＴＰで転送されるメインファイルおよびサブファイルのファイル名を示している。Ｒｅｃモードは、操作入力部７におけるユーザの操作で設定された撮影モードを表す。ノーマルモードでは、撮影された自然画等の主画像（メインファイル）のみが記録メディア９に記録される。Ｅ−メールモードでは、主画像と共に、縮小されたサイズのＥ−メール用画像（サブファイル）が記録メディア９に記録される。ボイスメモモードでは、主画像と共に、ＭＰＥＧで圧縮された音声データであるボイスメモ（サブファイル）が記録メディア９に記録される。さらに、保存形式をＴＩＦＦとするモード、文書を撮影するテキストモード等が選択可能とされている。
【００３９】
図８は、上述したＰＴＰで転送されるファイルの構造を示している。メインファイルおよびサブファイルが存在する場合には、ファイル名と対応する名前のフォルダが作成される。「ＤＳＣ００００２．ＪＰＧ」（メインファイルのファイル名）および「ＤＳＣＡ０００２．ＪＰＧ」（Ｅ−メール用サブファイルのファイル名）に対して、ファイル名から拡張子を除いた「ＤＳＣ００００２」がフォルダ名とされる。「ＤＳＣ００００３．ＪＰＧ」（メインファイルのファイル名）および「ＤＳＣＡ０００３．ＭＰＧ」（ボイスメモサブファイルのファイル名）に対して「ＤＳＣ００００３」のフォルダが作成される。
【００４０】
図９は、ＰＴＰの規格上で規定されているオペレーションの一部と、その意味を示すものである。オペレーションは、パソコンからディジタルカメラに対して与えられる一種のコマンドであり、２バイトのコードである。例えばオペレーション「ＧｅｔＯｂｊｅｃｔＨａｎｄｌｅｓ」は、オブジェクトハンドルの取得を指示する。ＰＴＰでは、ディジタルカメラからパソコンに対して実際に画像データを転送するのに先立って、デバイス情報の取得、オブジェクトハンドルの取得、オブジェクト情報の取得の処理が必要とされる。
【００４１】
図１０は、ディジタルカメラとパソコンとを接続した場合の動作例を示す。パソコンがＵＳＢホストであり、プロトコルを管理する。パソコンは、オペレーションをディジタルカメラに対して送信し、ディジタルカメラからのイベントに応答する。ディジタルカメラは、パソコンからのオペレーションに応答する。
【００４２】
パソコンに接続されたディジタルカメラは、ＰＴＰ初期化処理の後に接続をパソコンに対して通知する。接続を検出したパソコンは、ディジタルカメラに対してＵＳＢデバイスの認識処理を行い、ＰＴＰ処理に移行する。ここまでの処理は、図１０において、ＵＳＢ接続処理として表されている。
【００４３】
次に、パソコンからオペレーション「ＧｅｔＤｅｖｉｃｅＩｎｆｏ」がディジタルカメラに送信される。このオペレーションは、デバイス（カメラ）情報の取得のためのものである。ディジタルカメラは、デバイス情報をパソコンに対して送信する。デバイス情報は、対応しているオペレーション、対応しているイベント、対応している画像フォーマット等である。
【００４４】
そして、パソコンからオペレーション「ＯｐｅｎＳｅｓｓｉｏｎ」がディジタルカメラに送信される。このオペレーションは、セッションの開始のためのもので、セッションＩＤが発行される。その後に、パソコンからオペレーションがディジタルカメラに送信され、ディジタルカメラからは、受け取ったオペレーションに対応したデータおよびレスポンスがパソコンに送信される。ＰＴＰ処理が終了すると、パソコンからディジタルカメラに対してオペレーション「ＣｌｏｓｅＳｅｓｓｉｏｎ」が送信され、セッションが終了する。
【００４５】
図１１は、接続時の動作例を示すものである。パソコンからディジタルカメラに対してオペレーション「ＧｅｔＯｂｊｅｃｔＨａｎｄｌｅｓ」が送信される。これは、画像ファイル番号の取得のためのものである。ディジタルカメラは、記録メディア９上の全てのオブジェクトに関してオブジェクトハンドルをパソコンに送信する。オブジェクトとは、カメラで再生できる画像ファイルである。次にパソコンが各オブジェクトに対してオペレーション「ＧｅｔＯｂｊｅｃｔＩｎｆｏ」を発行する。ディジタルカメラは、要求のあったオブジェクトのファイル情報（ＯｂｊｅｃｔＩｎｆｏ）をパソコンに返す。
【００４６】
オブジェクトハンドルは、ディジタルカメラで扱うファイル番号に相当するが、ＰＴＰでは、サブファイルの観念が無いので、サブファイルのオブジェクトハンドルを生成する必要がある。このとき、サブファイルが存在する場合は同時にフォルダのオブジェクトハンドルも生成する。
【００４７】
ファイル番号が２バイトデータで、オブジェクトハンドルが４バイトデータである。そこで、図５を参照して説明したように、オブジェクトハンドルの下位側の２バイトをファイル番号として使用する。これにより、オブジェクトハンドルを０ｘ００００ＦＦＦＦでマスクすることにより容易にファイル番号に変換することが可能となる。フォルダとサブファイルについては、オブジェクトハンドルの上位側２バイトをその判別に使用する。例えば０ｘＦ０００００００でマスクされる桁が０以外の場合はフォルダ、０ｘ０００Ｆ００００でマスクされる桁が０以外の場合はサブファイルとして判別することができる。ファイル種別には、例えばＥ−メール用のサブファイルの場合は１、ボイスメモサブファイルの場合は２とすることにより、これを判別することができる。ファイルテーブルを参照しこれらのオブジェクトハンドルを生成し、フォルダ、主画像、サブファイルの順でパソコンに送る。
【００４８】
「ＧｅｔＯｂｊｅｃｔＩｎｆｏ」のオペレーションがディジタルカメラに送信されると、指定されたオブジェクトハンドルのファイル情報（ＯｂｊｅｃｔＩｎｆｏ）がパソコンに送信される。フォルダが指定された場合は、オブジェクトハンドルを０ｘＦ０００００００でマスクすることで判別できる。この場合、拡張子無しのファイル名（フォルダ名）と、ファイルの日時情報をパソコンに送る。
【００４９】
サブファイルが指定された場合は、オブジェクトハンドルを０ｘ０００Ｆ００００でマスクすることで判別できる。この場合は、親フォルダ（ペアレントオブジェクト）の指定をする。オブジェクト情報の中にペアレントオブジェクトを含ませることによって、親としてフォルダを指定することができ、パソコンは、そのフォルダの中にその画像が入っていると認識する。ペアレントオブジェクトが属性データである。主画像と区別が容易につくようにするため、サムネイル無しの扱いにするか、カメラ内部に持つアイコンなどと置き換える。ファイル名が主画像と同じ名前の場合は、ファイル名の一部を置き換え、主画像と違ったものにする。
【００５０】
上記以外の場合は主画像（メインファイル）が指定されたことになる。このとき、サブファイルが存在するかどうかを判別し、サブファイルが存在する場合は親フォルダ（ペアレントオブジェクト）の指定をする。
【００５１】
さらに、ＰＴＰに基づく処理を詳細に説明する。図１２は、ＰＴＰ初期化時処理についてのフローチャートである。ステップＳ１では、変数ｉが初期値（１）とされる。ステップＳ２では、ｉが最大のファイル番号かどうかが決定される。若し、最大のファイル番号より大であれば、処理が終了する。そうでなければ、ステップＳ３において、ファイル番号ｉのファイル情報が取得される。
【００５２】
ステップＳ４では、Ｅ−メール用のサブファイルかどうかが決定される。そうであれば、ステップＳ７において、配列［ｉ］＝１とされる。Ｅ−メール用のサブファイルでなければ、ステップＳ５において、ボイスメモサブファイルか否かが決定される。若し、そうであれば、ステップＳ８において、配列［ｉ］＝２とされる。さらに、ステップＳ５の結果が否定であれば、ファイル番号ｉのファイルは、Ｅ−メール用サブファイルおよびボイスメモサブファイルの何れでもないことが分かる。その場合では、ステップＳ６において、配列［ｉ］＝０とされる。
【００５３】
このような初期化処理は、図３および図４を参照して説明したファイルテーブルを作成する処理である。そして、ステップＳ９では、変数ｉがインクリメントされ、ステップＳ２に戻る。
【００５４】
図１３および図１４は、オペレーション「ＧｅｔＯｂｊｅｃｔＨａｎｄｌｅ」に基づく処理を示すフローチャートである。これらの図面は、本来、一連の処理であるが、作図スペースの制約から別図面に分けられている。図１３中のステップＳ１１で変数ｉが初期値（１）に設定され、ステップＳ１２でｉとファイル番号の最大値との比較がなされる。変数ｉが最大のファイル番号より大きい場合には、処理が終了する。変数ｉが最大ファイル番号以下の場合では、ステップＳ１３において、ｓｅｎｄＳｕｂＲｅｑが２であるかどうかが決定される。そうであれば、ステップＳ１４において、オブジェクトハンドル＝ｉとされ、ステップＳ１２に戻る。ｓｅｎｄＳｕｂＲｅｑは、同一のファイル番号に対するオブジェクトハンドルを順番に送るために内部で管理するための一時的な変数であり、この処理が実行される時の初期値は０である。
【００５５】
ステップＳ１３において、ｓｅｎｄＳｕｂＲｅｑが２でないと決定されると、ステップＳ１５において、ｓｅｎｄＳｕｂＲｅｑが１であるかどうかが決定される。そうであれば、ステップＳ１６において、配列［ｉ］が１かどうかが決定される。配列［ｉ］が１であれば、ステップＳ１８において、オブジェクトハンドル＝０ｘ０００１００００＋ｉとされ、［ｓｅｎｄＳｕｂＲｅｑ＝０］とされ、ステップＳ１２に戻る。このオブジェクトハンドルは、Ｅ−メール用サブファイルに対するものである。＋ｉは、オブジェクトハンドルに対してファイル番号を付加する操作を意味する。
【００５６】
ステップＳ１６で、配列［ｉ］が１でないと決定されると、ステップＳ１７において、配列［ｉ］が２であるかどうかが決定される。配列［ｉ］が２であれば、ステップＳ１９において、オブジェクトハンドル＝０ｘ０００２００００＋ｉとされ、［ｓｅｎｄＳｕｂＲｅｑ＝０］とされ、ステップＳ１２に戻る。このオブジェクトハンドルは、ボイスメモサブファイルに対するものである。ステップＳ１７において、配列［ｉ］が２でない場合でも、処理がステップＳ１２に戻る。
【００５７】
ステップＳ１５において、ｓｅｎｄＳｕｂＲｅｑが１でないと決定されると、図１４に示すステップＳ２０に処理が移る。ステップＳ２０において、配列［ｉ］が１かどうかが決定される。配列［ｉ］が１であれば、ステップＳ２３において、オブジェクトハンドル＝０ｘ１０００００００＋ｉとされ、［ｓｅｎｄＳｕｂＲｅｑ＝２］とされ、ステップＳ１２に戻る。このオブジェクトハンドルは、Ｅ−メール用フォルダに対するものである。
【００５８】
ステップＳ２０で、配列［ｉ］が１でないと決定されると、ステップＳ２１において、配列［ｉ］が２であるかどうかが決定される。配列［ｉ］が２であれば、ステップＳ２４において、オブジェクトハンドル＝０ｘ２０００００００＋ｉとされ、［ｓｅｎｄＳｕｂＲｅｑ＝２］とされ、ステップＳ１２に戻る。このオブジェクトハンドルは、ボイスメモ用フォルダに対するものである。ステップＳ２１において、配列［ｉ］が２でない場合には、ステップＳ２２において、オブジェクトハンドル＝ｉとされ、処理がステップＳ１２に戻る。
【００５９】
図１５および図１６は、オペレーション「ＧｅｔＯｂｊｅｃｔＩｎｆｏ」に基づく処理を示すフローチャートである。これらの図面は、本来、一連の処理であるが、作図スペースの制約から別図面に分けられている。図１５中のステップＳ３１でオブジェクトハンドルが０ｘ００００ＦＦＦＦでマスク（ＡＮＤ処理）されることによってファイル番号が指定される。次のステップＳ３２では、オブジェクトハンドルが０ｘ０００Ｆ００００でマスクされる。その結果が０以外の場合では、サブファイルである。
【００６０】
サブファイルと判定されると、ステップＳ３３において、サブファイル情報が取得される。ステップＳ３４では、オブジェクトハンドルが０ｘ０００１００００でマスクされる。その結果が１であれば、サブファイルがＥ−メール用サブファイルと決定される。その場合には、ステップＳ３６において、Ｅ−メールデータが設定される。すなわち、この場合は、主画像と区別が容易につくようにするため、サムネイル無しの扱いにし、親フォルダ（ペアレントオブジェクト）の指定をする。ペアレントオブジェクトは、０ｘ１０００００００＋ファイル番号で指定される。そして、処理が終了する。
【００６１】
ステップＳ３４でＥ−メール用サブファイルでないと決定されると、ステップＳ３５において、オブジェクトハンドルが０ｘ０００２００００でマスクされる。その結果が２であれば、サブファイルがボイスメモサブファイルと決定される。その場合には、ステップＳ３７において、ボイスメモデータが設定される。すなわち、この場合は、サムネイル無しの扱いにし、親フォルダ（ペアレントオブジェクト）の指定をする。ペアレントオブジェクトは、０ｘ２０００００００＋ファイル番号で指定される。そして、処理が終了する。ステップＳ３５において、ボイスメモサブファイルと決定されない場合も、処理終了する。
【００６２】
ステップＳ３２において、サブファイルとして決定されない場合では、ステップＳ３８において、オブジェクトハンドルが０ｘＦ０００００００でマスクされる。その結果が０以外の場合では、フォルダである。フォルダと決定されると、ステップＳ３９において、ファイル情報が取得される。ステップＳ４０では、フォルダデータが設定される。すなわち、この場合は、拡張子無しのファイル名（フォルダ名）と、ファイルの日時情報をパソコンに送る。ＯｂｊｅｃｔＦｏｒｍａｔ＝０ｘ３００１は、このオブジェクトがフォルダであることを示す。ａｓｓｏｃｉａｔｉｏｎＴｙｐｅ＝１は、一般のフォルダとして、ファイルを入れることができることを示す。
【００６３】
ステップＳ３８でフォルダと決定されない場合は、主画像（メインファイル）である。ステップＳ４１において、ファイル情報が取得される。ステップＳ４２において、主画像データが設定される。さらに、ステップＳ４３において、Ｅ−メール用サブファイルが存在するかどうかが調べられ、ステップＳ４４において、ボイスメモサブファイルが存在するかどうかが調べられる。若し、これらのサブファイルが存在する場合には、親フォルダ（ペアレントオブジェクト）が指定される（ステップＳ４５およびＳ４６）。
【００６４】
図１７は、ＰＴＰによってパソコンがディジタルカメラから画像データを取得する場合の接続例である。パソコンは、オブジェクトに対応するオブジェクトハンドルを引数とするオペレーション「ＧｅｔＯｂｊｅｃｔ」を発行する。ディジタルカメラは、要求のあったオブジェクトのデータ（画像）をパソコンに返す。
【００６５】
図１８は、画像取得動作を示すフローチャートである。ステップＳ５１において、オブジェクトハンドルが０ｘ００００ＦＦＦＦでマスク（ＡＮＤ処理）されることによってファイル番号が指定される。次のステップＳ５２において、オブジェクトハンドルが０ｘ０００Ｆ００００でマスクされる。その結果が０以外の場合では、サブファイルである。
【００６６】
サブファイルがある場合では、ステップＳ５４において、サブファイルの存在の有無を示すフラグを１にセットする。これは、一時的な変数である。一方、サブファイルが存在しない場合には、ステップＳ５３において、フラグが０にセットされる。そして、ステップＳ５５において、ファイル番号およびフラグを参照してファイルの取得がなされる。
【００６７】
図１９は、オペレーション「ＧｅｔＯｂｊｅｃｔＨａｎｄｌｅ」によって取得されるオブジェクトハンドルのデータ構成を示すものである。データの先頭から順に０，１，２，・・・とバイト番号が付されている。オブジェクトハンドルの総数等の情報が含まれている。オブジェクトハンドルの総数は、ディジタルカメラの記録メディアに記録されている画像ファイルおよび作成されたフォルダの合計数である。そして、バイト番号１６以降がオブジェクトハンドル（４バイトの数字）が並んでいるデータである。
【００６８】
図２０および図２１は、オペレーション「ＧｅｔＯｂｊｅｃｔＩｎｆｏ」によって取得される一つのオブジェクトハンドルに対応するオブジェクト情報のデータ構成を示すものである。これらの図面は、本来、１枚の図面であるが、作図スペースの制約から別図面に分けられている。オブジェクト情報には、ファイル名、撮影日時、ストレージＩＤ、画像サイズ、プロテクトの状態、サムネイルの有無、画像およびサムネイルの画素数等が含まれる。フォルダとして認識させるためには、ＯｂｊｅｃｔＦｏｒｍａｔ＝０ｘ３００１，ＴｈｕｍｂＦｏｒｍａｔ＝０ｘ００００，ＡｓｓｏｃｉａｔｉｏｎＴｙｐｅ＝０ｘ０００１  とされる。また、フォルダの中にあるファイルとして認識させるためには、ｐａｒｅｎｔＯｂｊｅｃｔ＝フォルダのオブジェクトハンドルとされる。
【００６９】
以上述べたＰＴＰによって、ディジタルカメラの記録メディア内のファイルがパソコンに転送される。パソコンでは、図２２に示すように、タイトルバー２２を有する画面２１ａ上に取り込んだ画像のサムネイルＰ１，Ｐ２，・・・の一覧を表示することができる。実際には、画面上には、画像の処理のメニュー等の表示が種々なされているが、簡単のために省略されている。この場合、メインファイルとサブファイルとが存在するフォルダは、サムネイルが表示されず、フォルダ名のみが表示される。この場合、フォルダを示す何らかのアイコンを表示しても良い。ユーザがこのフォルダ名またはその上の領域をクリックすることで、主画像のサムネイルＰ５とサブファイルとが表示画面２１ｂとして示すように、表示される。図２２の例では、サブファイルがボイスメモサブファイルであるので、画面上にはサムネイルが表示されず、ファイル名のみ表示される。
【００７０】
この発明は、上述したこの発明の一実施形態等に限定されるものでは無く、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。例えばサブファイルを種類別にフォルダに入れて表示する方法も実現可能である。また、ＵＳＢインターフェースとして２以上のものを備え、ユーザが一方を選択的に設定可能としても良い。この場合では、ハードウエアとしてのＵＳＢコントローラが単一インターフェース対応であっても、制御マイコンの処理によってバッファメモリからＵＳＢコントローラに対して２種類のＵＳＢインターフェースの何れか一方でデータを転送することができる。２種類のＵＳＢインターフェースは、例えばＰＴＰ（スチルイメージクラス）とマスストレージクラスインターフェースである。
【００７１】
【発明の効果】
この発明によれば、ＵＳＢインターフェース例えばＰＴＰとフォルダ構造に対応したアプリケーション（ＯＳに付属する場合を含む）のインストールされたパソコンにディジタルカメラを接続しファイルを転送するときに、パソコンから見えるフォルダを作成することにより、パソコンに転送されたファイルの関連付けが分かりやすくなる。例えばサブファイルを持つ画像の場合は画像が表示される位置にフォルダが表示される。このフォルダを開くと、関連した複数のファイルがその中に入っているように見えるため、容易にファイルの関連が分かる。
【図面の簡単な説明】
【図１】この発明によるディジタルカメラをパソコンに接続する構成を示す略線図である。
【図２】この発明によるディジタルカメラの一実施形態の構成を示すブロック図である。
【図３】この発明の一実施形態において、ファイルテーブルを作成する処理を説明するためのフローチャートである。
【図４】この発明の一実施形態におけるファイルテーブルの一例を示す略線図である。
【図５】この発明の一実施形態におけるファイル番号とオブジェクトハンドルの関係を示す略線図である。
【図６】この発明の一実施形態におけるディレクトリ構造を示す略線図である。
【図７】この発明の一実施形態における撮影モードと転送されるファイル名を示す略線図である。
【図８】この発明の一実施形態におけるＰＴＰで転送されるファイル構造を示す略線図である。
【図９】ＰＴＰで使用されるオペレーションを部分的に示す略線図である。
【図１０】パソコンとディジタルカメラを接続した時の動作を説明するための略線図である。
【図１１】ＧｅｔＯｂｊｅｃｔＨａｎｄｌｅ時の動作を説明するための略線図である。
【図１２】この発明の一実施形態において、接続時処理（ＰＴＰ初期化処理）を示すフローチャートである。
【図１３】この発明の一実施形態において、「ＧｅｔＯｂｊｅｃｔＨａｎｄｌｅ」処理（オペレーション処理）を示すフローチャートである。
【図１４】この発明の一実施形態において、「ＧｅｔＯｂｊｅｃｔＨａｎｄｌｅ」処理（オペレーション処理）を示すフローチャートである。
【図１５】この発明の一実施形態において、「ＧｅｔＯｂｊｅｃｔＩｎｆｏ」処理を示すフローチャートである。
【図１６】この発明の一実施形態において、「ＧｅｔＯｂｊｅｃｔＩｎｆｏ」処理を示すフローチャートである。
【図１７】ＧｅｔＯｂｊｅｃｔ時の動作を説明するための略線図である。
【図１８】この発明の一実施形態において、「ＧｅｔＯｂｊｅｃｔ」処理を示すフローチャートである。
【図１９】この発明の一実施形態において、オブジェクトハンドルのデータ構成を示す略線図である。
【図２０】この発明の一実施形態において、オブジェクト情報データのデータ構成を示す略線図である。
【図２１】この発明の一実施形態において、オブジェクト情報データのデータ構成を示す略線図である。
【図２２】この発明の一実施形態において、パソコンに転送されたデータの一覧表示を示す略線図である。
【符号の説明】
６・・・制御マイコン、７・・・操作入力部、８・・・バッファメモリ、９・・・記録メディア、１０・・・ＵＳＢコントローラ
【図１】
0003622691.tif 000002
【図２】
0003622691.tif 000003
【図３】
0003622691.tif 000004
【図４】
0003622691.tif 000005
【図５】
0003622691.tif 000006
【図６】
0003622691.tif 000007
【図７】
0003622691.tif 000008
【図８】
0003622691.tif 000009
【図９】
0003622691.tif 000010
【図１０】
0003622691.tif 000011
【図１１】
0003622691.tif 000012
【図１２】
0003622691.tif 000013
【図１３】
0003622691.tif 000014
【図１４】
0003622691.tif 000015
【図１５】
0003622691.tif 000016
【図１６】
0003622691.tif 000017
【図１７】
0003622691.tif 000018
【図１８】
0003622691.tif 000019
【図１９】
0003622691.tif 000020
【図２０】
0003622691.tif 000021
【図２１】
0003622691.tif 000022
【図２２】
0003622691.tif 000023