説明

ディジタルカメラおよびデータ転送方法

【課題】 ディジタルカメラのデータをパソコンにUSBによって転送する時に、パソコンが関連するファイルを認識することを可能とする。
【解決手段】 USBとしてPTPが使用される。PTPでもってデータをパソコンへ転送するために、ファイル番号をオブジェクトハンドルに変換する。サブファイルの存在するファイルに関しては、パソコンが認識できるフォルダを作成し、同一のフォルダ内に関連するメインおよびサブファイルが格納される。フォルダに対しては、オブジェクトハンドルに「z000」が付加されたファイル番号を使う。zは、ファイル種別の値である。z=1がE−メール用サブファイル、z=2がボイスメモサブファイル、z=0がサブファイルが存在しないことを表す。サブファイルに対しては、「000z」がオブジェクトハンドルに付加されたファイル番号を使う。メインファイルはファイル番号をそのまま使う。

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は複数のUSB(Universal Serial Bus)接続を切り替えて使用できるディジタルカメラおよびディジタルカメラからパソコン等のホストへデータを転送するためのデータ転送方法に関する。
【0002】
【従来の技術】USBは、パソコンに周辺機器を接続するのに使用されるインターフェースであり、既存のシリアルポート、パラレルポートに置き換わりつつある。ディジタルカメラで撮影したスチル画像、低ビットレートの動画等のディジタルデータをパーソナルコンピュータ(以下パソコンと略す)に転送する場合のインターフェースとしてUSBが使用されつつある。一般的に、ディジタルカメラでは、撮影した画像データがリムーバブルな記憶媒体例えばメモリカードに記録される。
【0003】メモリカードに記録された画像ファイルをパソコンに転送する場合では、ディジタルカメラがUSBポートを備えていれば、ディジタルカメラをUSBケーブルによってパソコンに直接接続してメモリカードに記録されている画像ファイルをディジタルカメラからパソコンに転送することができる。
【0004】USBインターフェースのディジタルカメラに関係する規格としては、マスストレージクラスインターフェースに基づいたものと、スチルイメージクラスインターフェースに基づいたものが存在する。マスストレージクラスインターフェースは、パソコンからディジタルカメラがリムーバブルメディアとして認識されるものである。スチルイメージクラスインターフェースは、スキャナとしてパソコンに認識されるものである。このように、パソコンからのデバイスの見え方が違う点で二つのクラスが相違する。マスストレージクラスインターフェースは、「Universal Serial Bus Mass Storage Class Specification Overview (Revision1.1 June28,2000) 」の仕様書に規定されている。
【0005】ディジタルカメラとして、複数の形式のファイルを同時に記録メディアに記録することができる機能を有するものがある。例えば撮影画像(主画像)とは別にE−メール用のサイズが縮小された画像を記録メディアに記録できる機能を有するディジタルカメラが提案されている。他の例として、主画像と、音声のメモ(ボイスメモと称される)を記録メディアに記録できる機能を有するものも提案されている。主画像を適宜メインファイルと称し、メインファイルに関連したこれらのファイルをサブファイルと称する。
【0006】
【発明が解決しようとする課題】ディジタルカメラ本体では、主画像とE−メール用のサブファイルとが別々のフォルダに格納されている。したがって、保存先のフォルダ、ファイル名、記録日時を比較することによって、主画像とサブファイルとを関連付けることができる。従来のマスストレージクラスのUSBインターフェースを使ってパソコンに記録メディアに記録されているデータを転送する場合、ディジタルカメラにおけるディレクトリ構造がそのままパソコンに移されることになる。その場合、ユーザは、パソコン上で、フォルダ名、ファイル名、記録日時等から主画像ファイルと関連するサブファイルを探し出す必要があり、これらのファイルの関連を容易に判別することができなかった。
【0007】最近では、スチルイメージクラスインターフェースに基づいて作成され、より上位の層として、PTP(Picture Transfer Protocol)がPIMA(Photographicand Imaging Manufactures Association,INC.) によって提案されている。この規格は、ディジタルカメラや、スキャナ等を対象としたデータ転送方式である。この方法は、ディレクトリ構造を意識しないでもユーザが簡単に画像ファイルをパソコンに取り込み、パソコン上で所望のファイルを選択する等の操作を簡単化することが可能となる。例えば画像ファイルのサムネール画像を表示する機能がPTPにある。したがって、ディジタルカメラのUSBインターフェースとしては、ユーザの操作性の向上のために、PTPを採用することが好ましい。
【0008】しかしながら、PTPは、記録メディアに記録されている時に存在していたフォルダ等のディレクトリ構造をパソコンに対して転送することができず、画像データは、同等なものとして転送される。したがって、PTPで転送されたデータを見ても、主画像ファイルとサブファイルとの関連付けが簡単には分からない問題があった。
【0009】したがって、この発明の目的は、PTPのように、記録メディア上のディレクトリ構造と無関係に画像データを送るUSBインターフェースを使用しながら、関連する2以上のファイルをユーザが関連するものとしてパソコン上で容易に認識できることが可能とされたディジタルカメラおよびデータ転送方法を提供することにある。
【0010】
【課題を解決するための手段】上述した課題を達成するために、請求項1の発明は、記録メディアに対して撮影画像のデータを記録し、記録メディアから画像データを読み出すようにしたディジタルカメラにおいて、撮影画像を処理する画像処理部と、制御部と、制御部に対して操作信号を出力する操作入力部と、制御部によって制御され、USBインターフェースを構成するUSBコントローラとを備え、操作入力部における設定された所定の撮影モードでは、撮影画像と対応するメインファイルに関連するサブファイルが生成され、制御部によって、メインファイルおよびサブファイルが記録メディアに対して記録され、記録メディアに格納されているメインファイルおよびサブファイルをUSBインターフェースによって転送する時に、転送されるデータ内にフォルダが作成されるようにしたディジタルカメラである。
【0011】請求項7の発明は、所定の撮影モードでは、撮影画像と対応するメインファイルに関連するサブファイルが生成され、メインファイルおよびサブファイルが記録メディアに対して記録され、記録メディアに格納されているメインファイルおよびサブファイルをUSBインターフェースによってホスト側へ転送するデータ転送方法であって、転送されるデータ内にフォルダが作成されるようにしたデータ転送方法である。
【0012】USBインターフェース例えばPTPでもってデータをディジタルカメラからパソコンへ転送する時に、フォルダを作成できるので、パソコンに転送されたデータの関連付けが容易に分かる。
【0013】
【発明の実施の形態】以下、この発明の一実施形態について説明する。この一実施形態は、ディジタルカメラで記録された画像ファイルをディジタルカメラからパソコンに転送する場合にこの発明を適用したものである。すなわち、図1に示すように、USBホスト(パソコン)100とUSBポートを備えたディジタルカメラ102とがUSBケーブル101で直接接続され、ディジタルカメラ102内のリムーバブルな記録メディア例えばメモリカードに記録されている画像ファイルがディジタルカメラ102からパソコン100に転送される。
【0014】一実施形態では、スチルイメージクラスインターフェースに基づいたPTPによってディジタルカメラ102からパソコン100に対してデータが転送される。このため、パソコン100には、PTPとフォルダ構造に対応したアプリケーション(OS(Operating System)に付属する場合を含む)がインストールされている。
【0015】図2は、ディジタルカメラ102のシステム構成を示し、1がCCD(ChargeCoupled Device)を示す。CCD1の画素数(水平画素数×垂直画素数)は、例えば1800 ×1200とされている。撮影画像(カラー画像)の画素数に対して記録画像の画素数は、種々の画素数のものが選択可能とされている。CCD1は、図示しないレンズ部を介された被写体像を撮像信号として出力する。CCD1のレンズ部においては、自動絞り制御動作や自動焦点制御動作がなされる。撮像信号がカメラブロック2に供給される。
【0016】カメラブロック2は、クランプ回路、輝度信号処理回路、輪郭補正回路、欠陥補償回路、自動絞り制御回路、自動焦点制御回路、自動ホワイトバランス補正回路等が含まれる。カメラブロック2から例えばRGB信号から変換された輝度信号および色差信号からなるコンポーネント信号の形式でディジタル撮像信号が発生する。ディジタル撮像信号が画像処理ブロック3に供給される。
【0017】画像処理ブロック3は、信号切り換え部、表示用バッファメモリ、D/A変換器、画像データのエンコーダ、デコーダ等を有する。画像ファイルの形式としては、JPEG(Joint Photographic Experts Group) ,MPEG(Moving Picture Experts Group),GIF(Graphics Interchange Format),TIFF(TaggedImage File Format)、BMP(Windows(登録商標) BitMap)等が選択的に可能とされている。画像処理ブロック3に表示装置4および画像メモリ5例えばDRAM(Dynamic Random Access Memory)が接続される。画像処理ブロック3において、生成されたRGB信号がD/A変換器を介して表示装置4に供給される。表示装置4は、カメラと一体に設けられたLCD(Liquid Crystal Display) 等の表示デバイスで構成されたものである。
【0018】カメラブロック2からの画像信号が表示装置4に供給されることによって、撮影中の画像が表示され、また、制御マイコン6を介して供給される記録メディア9の読み出し画像が表示される。さらに、モード設定用のメニュー画面が表示装置4に表示される。記録メディア9は、リムーバブルなメディアであって、メモリカード、フレキシブルディスク、CD−R等を使用できる。
【0019】制御マイコン6には、操作入力部7、バッファメモリ8、記録メディア9および単一のUSBコントローラ10が接続され、USBコントローラ10に対してUSBコネクタ11が接続されている。制御マイコン6は、PTPのUSBインターフェースでもってUSBコントローラ10を制御する。制御マイコン6から制御情報が各部に供給されることによって、画像データの処理がなされ、画像メモリ5、バッファメモリ8へのデータの書込み、読み出しがなされ、記録メディア9への書込み、読み出しが実行される。
【0020】操作入力部7は、シャッターボタン、モード指定用のモードダイヤル、その他の撮影者が操作する各種のスイッチを有する。シャッターボタンが押されると、制御マイコン6がこれを検出し、カメラブロック2および画像処理ブロック3を制御して画像メモリ5に撮影した原画像を記憶し、そして、画像処理ブロック3によって原画像データを圧縮し、圧縮データを記録メディア9に記録する。この場合、選択的に設定された記録モードに応じて、主画像に加えて他の情報(サブファイルと称する)が同時に記録メディア9に記録される。
【0021】例えばE−メールモードが設定されていると、JPEGで圧縮された主画像に比してサイズの小さなE−メール用のサブファイル(例えばCIF(Common Intermediate Format,320x240 画素)形式の画像)が画像処理ブロック3で生成され、主画像と同時に且つ主画像と別ファイルとして記録メディア9に書き込まれる。さらに、ボイスメモモードでは、図示しないマイクロホンから入力された音声をMPEG形式で圧縮したサブファイルが同時に記録メディア9に書き込まれる。
【0022】一実施形態では、E−メール用のサブファイルとボイスメモ用のサブファイルとの一方が一つの主画像に関連して作成可能とされている。E−メール用のサブファイルは、主画像と同一のファイル名のものであり、主画像およびボイスメモサブファイルとは別のフォルダに格納されている。ボイスメモサブファイルも同様に、主画像およびE−メール用サブファイルのフォルダとは別のフォルダに格納されている。カメラ本体は主画像に対してファイル番号を付けることによって主画像を管理し、サブファイルに対しては主画像との関連を、例えば保存先のフォルダや名前、記録日時などをもとに判別することができる。ファイル番号は、ファイル名とは関係なく付けられている。
【0023】USBコネクタ11に接続されたUSBコントローラ10は、制御マイコン6にバス接続され、制御マイコン6がUSBコントローラ10からのデータを送受信することによって、USBコネクタ11にケーブル101を介して接続されたパソコン100との間でPTPに基づいてデータ転送機能を実現する。
【0024】図3は、例えば記録メディア9に格納されているデータをパソコン100に転送する場合の制御マイコン6が行う処理の概略を示す。USBコネクタ11にパソコンが接続されたことを制御マイコン6が検出すると、S101の処理が実行される。。そして、ステップS102において、制御マイコン6は、記録メディア9に存在するファイルのファイルテーブルをバッファメモリ8上に作成する。
【0025】ファイルテーブルは、主画像毎に保存先のフォルダや名前、記録日時などをもとに関連のあるサブファイルが存在するかどうか、また、存在する場合はその種類を記憶する。図4がファイルテーブルの一例を示す。図4において、ファイル番号は、記録メディア9に記録されている主画像を特定する番号である。ファイル番号で特定される主画像ファイル毎にファイル種別情報が生成される。ファイル種別情報は、0、1、2の3値をとりうるものである。0は、サブファイルが存在しない場合、1は、E−メールサブファイルが存在する場合、2は、ボイスメモサブファイルが存在する場合をそれぞれ表している。
【0026】常にこのファイルテーブルを保持せず、USB接続の際に作成するのは、USB接続時以外の時はバッファメモリ8を他の用途に効率的に使用し、バッファメモリ8の容量を増加させずに本機能を実現するためである。また、テーブル作成中は、パソコンからのファイルを対象とした要求に対して対応できない。これによる不具合を回避するために、パソコンへのUSB接続要求を出す前にステップS102のファイルテーブル作成処理を行う。
【0027】ステップS102のテーブル作成処理が終わると、ステップS103において、パソコンに対してUSB接続要求を出す。この時点でパソコンは、カメラをUSBデバイスとして認識し、USBコントローラ10に対して転送要求を出す。
【0028】転送要求がUSBコントローラ10を介して制御マイコン6に伝わり、この要求を受けた制御マイコンは転送要求の種類に応じて、記録メディア9の情報やデータをバッファメモリ8に転送する。
【0029】この一実施形態では、サブファイルの存在する画像ファイルに関して、PTPのプロトコルに準拠してユーザから見える仮想的なフォルダを作成する。すなわち、同一のフォルダ内に、関連する二つのファイル(主画像ファイルとE−メール用サブファイル、主画像ファイルとボイスメモ等)が格納されているものとしてパソコンが認識できるように、各ファイルに対してそれぞれ属性データが付加される。フォルダを作成する時に、上述したファイルテーブルが参照される。
【0030】図5は、かかる処理を概略的に示す。ディジタルカメラでは、画像データをファイル番号で管理している。PTPでは、画像データをオブジェクトハンドルと称される番号で管理している。ファイル番号を0x0001,0x0002,・・・,0x000n,・・・ ,0x000mと表す。0xは、16進表記を表している。ファイル番号が2バイトで表されている。
【0031】PTPでもってデータをパソコンへ転送するために、ファイル番号をオブジェクトハンドルに変換する。その場合、図5Aに示すように、サブファイルの存在する画像ファイルに関しては、フォルダを作成し、同一のフォルダ内に関連する二つのファイル、すなわち、メインファイルとサブファイルが格納されているようにパソコンが認識できるようにする。フォルダに対しては、オブジェクトハンドルの上位2バイトとして、「z000」が付加される。メインファイルに対しては、オブジェクトハンドルの上位2バイトとして、「0000」が付加される。サブファイルに対しては、オブジェクトハンドルの上位2バイトとして、「000z」が付加される。
【0032】ここで、zは、前述したように作成されたファイルテーブル中のファイル種別の値である。すなわち、z=1がE−メール用サブファイルを意味し、z=2がボイスメモサブファイルを意味する。z=0の場合には、サブファイルが存在しないことを意味するので、その場合では、フォルダが作成されない。
【0033】図5Bは、サブファイルが存在するメインファイルに関して、ファイル番号をメインファイル、サブファイルおよびフォルダのそれぞれのオブジェクトハンドルに変換した例を示している。オブジェクトハンドルは、フォルダ、メインファイル、サブファイルの順序で送られる。なお、オブジェクトハンドルと「0x0000FFFF」との論理積をとるマスク処理によって、オブジェクトハンドルをファイル番号へ変換できる。
【0034】さらに、この発明の一実施形態についてより詳細に説明する。図6は、ディジタルカメラにおけるデータの保存のためのディレクトリ構造と、PTP用のディレクトリおよびファイル名との関連を示している。一実施形態におけるディジタルカメラでは、「DCIM」のディレクトリの中に静止画の主画像が保存される「100MSDCF」のサブディレクトリが作成される。サブディレクトリの中に主画像ファイル(メインファイル)が格納される。
【0035】「MSSONY」と示すローカルピクチャディレクトリに対して、E−メール用画像およびTIFF画像用のサブディレクトリ「IMCIF100」、ボイスファイル用のサブディレクトリ「MOMLV100」および動画用サブディレクトリ「MOML0001」が作成される。各サブディレクトリに対して、それぞれサブファイルが格納される。さらに、「MISC」のディレクトリが作成される。
【0036】ディレクトリおよびサブディレクトリは、それぞれフォルダおよびサブフォルダに対応する。例えばマスストレージクラスインターフェースであれば、図6に示すようなディレクトリ構造をパソコンに対して転送することができる。但し、その場合では、ディレクトリ構造をユーザが知らないと、所望のファイルを容易に検索したり、互いに関連するメインファイルおよびサブファイルを認識することが面倒な問題がある。
【0037】一例として、図6中で二重枠で囲んだファイルがPTPによって選択的に転送される。全てのファイルを一括してパソコンに転送することも可能である。さらに、括弧内の数字がファイル番号を示す。ディジタルカメラでは、このファイル番号によってファイルを管理している。図6の例において、PTPで転送されるファイルの中で、同一のファイル番号を有する、メインファイル「DSC00002.JPG」とサブファイル(E−メール用画像)「DSC00002.JPG」が互いに関連するファイルであり、また、メインファイル「DSC00003.JPG」とサブファイル(ボイスメモ)「DSC00003.MPG」が互いに関連するファイルである。ディジタルカメラでは、別々のディレクトリ(フォルダ)にこれらのファイルが入っている。この発明を適用しないと、PTPでは、これらのファイルが対等な関係のものとして転送され、パソコン上では、これらのファイル名から関連する付けを探す必要が生じる。この発明を適用すれば、関連付けを示すことが可能なように仮想的なフォルダが作成される。
【0038】図7は、PTPで転送されるメインファイルおよびサブファイルのファイル名を示している。Recモードは、操作入力部7におけるユーザの操作で設定された撮影モードを表す。ノーマルモードでは、撮影された自然画等の主画像(メインファイル)のみが記録メディア9に記録される。E−メールモードでは、主画像と共に、縮小されたサイズのE−メール用画像(サブファイル)が記録メディア9に記録される。ボイスメモモードでは、主画像と共に、MPEGで圧縮された音声データであるボイスメモ(サブファイル)が記録メディア9に記録される。さらに、保存形式をTIFFとするモード、文書を撮影するテキストモード等が選択可能とされている。
【0039】図8は、上述したPTPで転送されるファイルの構造を示している。メインファイルおよびサブファイルが存在する場合には、ファイル名と対応する名前のフォルダが作成される。「DSC00002.JPG」(メインファイルのファイル名)および「DSCA0002.JPG」(E−メール用サブファイルのファイル名)に対して、ファイル名から拡張子を除いた「DSC00002」がフォルダ名とされる。「DSC00003.JPG」(メインファイルのファイル名)および「DSCA0003.MPG」(ボイスメモサブファイルのファイル名)に対して「DSC00003」のフォルダが作成される。
【0040】図9は、PTPの規格上で規定されているオペレーションの一部と、その意味を示すものである。オペレーションは、パソコンからディジタルカメラに対して与えられる一種のコマンドであり、2バイトのコードである。例えばオペレーション「GetObjectHandles」は、オブジェクトハンドルの取得を指示する。PTPでは、ディジタルカメラからパソコンに対して実際に画像データを転送するのに先立って、デバイス情報の取得、オブジェクトハンドルの取得、オブジェクト情報の取得の処理が必要とされる。
【0041】図10は、ディジタルカメラとパソコンとを接続した場合の動作例を示す。パソコンがUSBホストであり、プロトコルを管理する。パソコンは、オペレーションをディジタルカメラに対して送信し、ディジタルカメラからのイベントに応答する。ディジタルカメラは、パソコンからのオペレーションに応答する。
【0042】パソコンに接続されたディジタルカメラは、PTP初期化処理の後に接続をパソコンに対して通知する。接続を検出したパソコンは、ディジタルカメラに対してUSBデバイスの認識処理を行い、PTP処理に移行する。ここまでの処理は、図10において、USB接続処理として表されている。
【0043】次に、パソコンからオペレーション「GetDeviceInfo」がディジタルカメラに送信される。このオペレーションは、デバイス(カメラ)情報の取得のためのものである。ディジタルカメラは、デバイス情報をパソコンに対して送信する。デバイス情報は、対応しているオペレーション、対応しているイベント、対応している画像フォーマット等である。
【0044】そして、パソコンからオペレーション「OpenSession」がディジタルカメラに送信される。このオペレーションは、セッションの開始のためのもので、セッションIDが発行される。その後に、パソコンからオペレーションがディジタルカメラに送信され、ディジタルカメラからは、受け取ったオペレーションに対応したデータおよびレスポンスがパソコンに送信される。PTP処理が終了すると、パソコンからディジタルカメラに対してオペレーション「CloseSession」が送信され、セッションが終了する。
【0045】図11は、接続時の動作例を示すものである。パソコンからディジタルカメラに対してオペレーション「GetObjectHandles」が送信される。これは、画像ファイル番号の取得のためのものである。ディジタルカメラは、記録メディア9上の全てのオブジェクトに関してオブジェクトハンドルをパソコンに送信する。オブジェクトとは、カメラで再生できる画像ファイルである。次にパソコンが各オブジェクトに対してオペレーション「GetObjectInfo」を発行する。ディジタルカメラは、要求のあったオブジェクトのファイル情報(ObjectInfo)をパソコンに返す。
【0046】オブジェクトハンドルは、ディジタルカメラで扱うファイル番号に相当するが、PTPでは、サブファイルの観念が無いので、サブファイルのオブジェクトハンドルを生成する必要がある。このとき、サブファイルが存在する場合は同時にフォルダのオブジェクトハンドルも生成する。
【0047】ファイル番号が2バイトデータで、オブジェクトハンドルが4バイトデータである。そこで、図5を参照して説明したように、オブジェクトハンドルの下位側の2バイトをファイル番号として使用する。これにより、オブジェクトハンドルを0x0000FFFFでマスクすることにより容易にファイル番号に変換することが可能となる。フォルダとサブファイルについては、オブジェクトハンドルの上位側2バイトをその判別に使用する。例えば0xF0000000でマスクされる桁が0以外の場合はフォルダ、0x000F0000でマスクされる桁が0以外の場合はサブファイルとして判別することができる。ファイル種別には、例えばE−メール用のサブファイルの場合は1、ボイスメモサブファイルの場合は2とすることにより、これを判別することができる。ファイルテーブルを参照しこれらのオブジェクトハンドルを生成し、フォルダ、主画像、サブファイルの順でパソコンに送る。
【0048】「GetObjectInfo」のオペレーションがディジタルカメラに送信されると、指定されたオブジェクトハンドルのファイル情報(ObjectInfo)がパソコンに送信される。フォルダが指定された場合は、オブジェクトハンドルを0xF0000000でマスクすることで判別できる。この場合、拡張子無しのファイル名(フォルダ名)と、ファイルの日時情報をパソコンに送る。
【0049】サブファイルが指定された場合は、オブジェクトハンドルを0x000F0000でマスクすることで判別できる。この場合は、親フォルダ(ペアレントオブジェクト)の指定をする。オブジェクト情報の中にペアレントオブジェクトを含ませることによって、親としてフォルダを指定することができ、パソコンは、そのフォルダの中にその画像が入っていると認識する。ペアレントオブジェクトが属性データである。主画像と区別が容易につくようにするため、サムネイル無しの扱いにするか、カメラ内部に持つアイコンなどと置き換える。ファイル名が主画像と同じ名前の場合は、ファイル名の一部を置き換え、主画像と違ったものにする。
【0050】上記以外の場合は主画像(メインファイル)が指定されたことになる。このとき、サブファイルが存在するかどうかを判別し、サブファイルが存在する場合は親フォルダ(ペアレントオブジェクト)の指定をする。
【0051】さらに、PTPに基づく処理を詳細に説明する。図12は、PTP初期化時処理についてのフローチャートである。ステップS1では、変数iが初期値(1)とされる。ステップS2では、iが最大のファイル番号かどうかが決定される。若し、最大のファイル番号より大であれば、処理が終了する。そうでなければ、ステップS3において、ファイル番号iのファイル情報が取得される。
【0052】ステップS4では、E−メール用のサブファイルかどうかが決定される。そうであれば、ステップS7において、配列[i]=1とされる。E−メール用のサブファイルでなければ、ステップS5において、ボイスメモサブファイルか否かが決定される。若し、そうであれば、ステップS8において、配列[i]=2とされる。さらに、ステップS5の結果が否定であれば、ファイル番号iのファイルは、E−メール用サブファイルおよびボイスメモサブファイルの何れでもないことが分かる。その場合では、ステップS6において、配列[i]=0とされる。
【0053】このような初期化処理は、図3および図4を参照して説明したファイルテーブルを作成する処理である。そして、ステップS9では、変数iがインクリメントされ、ステップS2に戻る。
【0054】図13および図14は、オペレーション「GetObjectHandle」に基づく処理を示すフローチャートである。これらの図面は、本来、一連の処理であるが、作図スペースの制約から別図面に分けられている。図13中のステップS11で変数iが初期値(1)に設定され、ステップS12でiとファイル番号の最大値との比較がなされる。変数iが最大のファイル番号より大きい場合には、処理が終了する。変数iが最大ファイル番号以下の場合では、ステップS13において、sendSubReqが2であるかどうかが決定される。そうであれば、ステップS14において、オブジェクトハンドル=iとされ、ステップS12に戻る。sendSubReqは、同一のファイル番号に対するオブジェクトハンドルを順番に送るために内部で管理するための一時的な変数であり、この処理が実行される時の初期値は0である。
【0055】ステップS13において、sendSubReqが2でないと決定されると、ステップS15において、sendSubReqが1であるかどうかが決定される。そうであれば、ステップS16において、配列[i]が1かどうかが決定される。配列[i]が1であれば、ステップS18において、オブジェクトハンドル=0x00010000+iとされ、[sendSubReq=0]とされ、ステップS12に戻る。このオブジェクトハンドルは、E−メール用サブファイルに対するものである。+iは、オブジェクトハンドルに対してファイル番号を付加する操作を意味する。
【0056】ステップS16で、配列[i]が1でないと決定されると、ステップS17において、配列[i]が2であるかどうかが決定される。配列[i]が2であれば、ステップS19において、オブジェクトハンドル=0x00020000+iとされ、[sendSubReq=0]とされ、ステップS12に戻る。このオブジェクトハンドルは、ボイスメモサブファイルに対するものである。ステップS17において、配列[i]が2でない場合でも、処理がステップS12に戻る。
【0057】ステップS15において、sendSubReqが1でないと決定されると、図14に示すステップS20に処理が移る。ステップS20において、配列[i]が1かどうかが決定される。配列[i]が1であれば、ステップS23において、オブジェクトハンドル=0x10000000+iとされ、[sendSubReq=2]とされ、ステップS12に戻る。このオブジェクトハンドルは、E−メール用フォルダに対するものである。
【0058】ステップS20で、配列[i]が1でないと決定されると、ステップS21において、配列[i]が2であるかどうかが決定される。配列[i]が2であれば、ステップS24において、オブジェクトハンドル=0x20000000+iとされ、[sendSubReq=2]とされ、ステップS12に戻る。このオブジェクトハンドルは、ボイスメモ用フォルダに対するものである。ステップS21において、配列[i]が2でない場合には、ステップS22において、オブジェクトハンドル=iとされ、処理がステップS12に戻る。
【0059】図15および図16は、オペレーション「GetObjectInfo」に基づく処理を示すフローチャートである。これらの図面は、本来、一連の処理であるが、作図スペースの制約から別図面に分けられている。図15中のステップS31でオブジェクトハンドルが0x0000FFFFでマスク(AND処理)されることによってファイル番号が指定される。次のステップS32では、オブジェクトハンドルが0x000F0000でマスクされる。その結果が0以外の場合では、サブファイルである。
【0060】サブファイルと判定されると、ステップS33において、サブファイル情報が取得される。ステップS34では、オブジェクトハンドルが0x00010000でマスクされる。その結果が1であれば、サブファイルがE−メール用サブファイルと決定される。その場合には、ステップS36において、E−メールデータが設定される。すなわち、この場合は、主画像と区別が容易につくようにするため、サムネイル無しの扱いにし、親フォルダ(ペアレントオブジェクト)の指定をする。ペアレントオブジェクトは、0x10000000+ファイル番号で指定される。そして、処理が終了する。
【0061】ステップS34でE−メール用サブファイルでないと決定されると、ステップS35において、オブジェクトハンドルが0x00020000でマスクされる。その結果が2であれば、サブファイルがボイスメモサブファイルと決定される。その場合には、ステップS37において、ボイスメモデータが設定される。すなわち、この場合は、サムネイル無しの扱いにし、親フォルダ(ペアレントオブジェクト)の指定をする。ペアレントオブジェクトは、0x20000000+ファイル番号で指定される。そして、処理が終了する。ステップS35において、ボイスメモサブファイルと決定されない場合も、処理終了する。
【0062】ステップS32において、サブファイルとして決定されない場合では、ステップS38において、オブジェクトハンドルが0xF0000000でマスクされる。その結果が0以外の場合では、フォルダである。フォルダと決定されると、ステップS39において、ファイル情報が取得される。ステップS40では、フォルダデータが設定される。すなわち、この場合は、拡張子無しのファイル名(フォルダ名)と、ファイルの日時情報をパソコンに送る。ObjectFormat=0x3001は、このオブジェクトがフォルダであることを示す。associationType=1は、一般のフォルダとして、ファイルを入れることができることを示す。
【0063】ステップS38でフォルダと決定されない場合は、主画像(メインファイル)である。ステップS41において、ファイル情報が取得される。ステップS42において、主画像データが設定される。さらに、ステップS43において、E−メール用サブファイルが存在するかどうかが調べられ、ステップS44において、ボイスメモサブファイルが存在するかどうかが調べられる。若し、これらのサブファイルが存在する場合には、親フォルダ(ペアレントオブジェクト)が指定される(ステップS45およびS46)。
【0064】図17は、PTPによってパソコンがディジタルカメラから画像データを取得する場合の接続例である。パソコンは、オブジェクトに対応するオブジェクトハンドルを引数とするオペレーション「GetObject」を発行する。ディジタルカメラは、要求のあったオブジェクトのデータ(画像)をパソコンに返す。
【0065】図18は、画像取得動作を示すフローチャートである。ステップS51において、オブジェクトハンドルが0x0000FFFFでマスク(AND処理)されることによってファイル番号が指定される。次のステップS52において、オブジェクトハンドルが0x000F0000でマスクされる。その結果が0以外の場合では、サブファイルである。
【0066】サブファイルがある場合では、ステップS54において、サブファイルの存在の有無を示すフラグを1にセットする。これは、一時的な変数である。一方、サブファイルが存在しない場合には、ステップS53において、フラグが0にセットされる。そして、ステップS55において、ファイル番号およびフラグを参照してファイルの取得がなされる。
【0067】図19は、オペレーション「GetObjectHandle」によって取得されるオブジェクトハンドルのデータ構成を示すものである。データの先頭から順に0,1,2,・・・とバイト番号が付されている。オブジェクトハンドルの総数等の情報が含まれている。オブジェクトハンドルの総数は、ディジタルカメラの記録メディアに記録されている画像ファイルおよび作成されたフォルダの合計数である。そして、バイト番号16以降がオブジェクトハンドル(4バイトの数字)が並んでいるデータである。
【0068】図20および図21は、オペレーション「GetObjectInfo」によって取得される一つのオブジェクトハンドルに対応するオブジェクト情報のデータ構成を示すものである。これらの図面は、本来、1枚の図面であるが、作図スペースの制約から別図面に分けられている。オブジェクト情報には、ファイル名、撮影日時、ストレージID、画像サイズ、プロテクトの状態、サムネイルの有無、画像およびサムネイルの画素数等が含まれる。フォルダとして認識させるためには、ObjectFormat=0x3001,ThumbFormat=0x0000,AssociationType=0x0001 とされる。また、フォルダの中にあるファイルとして認識させるためには、parentObject=フォルダのオブジェクトハンドルとされる。
【0069】以上述べたPTPによって、ディジタルカメラの記録メディア内のファイルがパソコンに転送される。パソコンでは、図22に示すように、タイトルバー22を有する画面21a上に取り込んだ画像のサムネイルP1,P2,・・・の一覧を表示することができる。実際には、画面上には、画像の処理のメニュー等の表示が種々なされているが、簡単のために省略されている。この場合、メインファイルとサブファイルとが存在するフォルダは、サムネイルが表示されず、フォルダ名のみが表示される。この場合、フォルダを示す何らかのアイコンを表示しても良い。ユーザがこのフォルダ名またはその上の領域をクリックすることで、主画像のサムネイルP5とサブファイルとが表示画面21bとして示すように、表示される。図22の例では、サブファイルがボイスメモサブファイルであるので、画面上にはサムネイルが表示されず、ファイル名のみ表示される。
【0070】この発明は、上述したこの発明の一実施形態等に限定されるものでは無く、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。例えばサブファイルを種類別にフォルダに入れて表示する方法も実現可能である。また、USBインターフェースとして2以上のものを備え、ユーザが一方を選択的に設定可能としても良い。この場合では、ハードウエアとしてのUSBコントローラが単一インターフェース対応であっても、制御マイコンの処理によってバッファメモリからUSBコントローラに対して2種類のUSBインターフェースの何れか一方でデータを転送することができる。2種類のUSBインターフェースは、例えばPTP(スチルイメージクラス)とマスストレージクラスインターフェースである。
【0071】
【発明の効果】この発明によれば、USBインターフェース例えばPTPとフォルダ構造に対応したアプリケーション(OSに付属する場合を含む)のインストールされたパソコンにディジタルカメラを接続しファイルを転送するときに、パソコンから見えるフォルダを作成することにより、パソコンに転送されたファイルの関連付けが分かりやすくなる。例えばサブファイルを持つ画像の場合は画像が表示される位置にフォルダが表示される。このフォルダを開くと、関連した複数のファイルがその中に入っているように見えるため、容易にファイルの関連が分かる。
【図面の簡単な説明】
【図1】この発明によるディジタルカメラをパソコンに接続する構成を示す略線図である。
【図2】この発明によるディジタルカメラの一実施形態の構成を示すブロック図である。
【図3】この発明の一実施形態において、ファイルテーブルを作成する処理を説明するためのフローチャートである。
【図4】この発明の一実施形態におけるファイルテーブルの一例を示す略線図である。
【図5】この発明の一実施形態におけるファイル番号とオブジェクトハンドルの関係を示す略線図である。
【図6】この発明の一実施形態におけるディレクトリ構造を示す略線図である。
【図7】この発明の一実施形態における撮影モードと転送されるファイル名を示す略線図である。
【図8】この発明の一実施形態におけるPTPで転送されるファイル構造を示す略線図である。
【図9】PTPで使用されるオペレーションを部分的に示す略線図である。
【図10】パソコンとディジタルカメラを接続した時の動作を説明するための略線図である。
【図11】GetObjectHandle時の動作を説明するための略線図である。
【図12】この発明の一実施形態において、接続時処理(PTP初期化処理)を示すフローチャートである。
【図13】この発明の一実施形態において、「GetObjectHandle」処理(オペレーション処理)を示すフローチャートである。
【図14】この発明の一実施形態において、「GetObjectHandle」処理(オペレーション処理)を示すフローチャートである。
【図15】この発明の一実施形態において、「GetObjectInfo」処理を示すフローチャートである。
【図16】この発明の一実施形態において、「GetObjectInfo」処理を示すフローチャートである。
【図17】GetObject時の動作を説明するための略線図である。
【図18】この発明の一実施形態において、「GetObject」処理を示すフローチャートである。
【図19】この発明の一実施形態において、オブジェクトハンドルのデータ構成を示す略線図である。
【図20】この発明の一実施形態において、オブジェクト情報データのデータ構成を示す略線図である。
【図21】この発明の一実施形態において、オブジェクト情報データのデータ構成を示す略線図である。
【図22】この発明の一実施形態において、パソコンに転送されたデータの一覧表示を示す略線図である。
【符号の説明】
6・・・制御マイコン、7・・・操作入力部、8・・・バッファメモリ、9・・・記録メディア、10・・・USBコントローラ

【特許請求の範囲】
【請求項1】 記録メディアに対して撮影画像のデータを記録し、記録メディアから画像データを読み出すようにしたディジタルカメラにおいて、撮影画像を処理する画像処理部と、制御部と、上記制御部に対して操作信号を出力する操作入力部と、上記制御部によって制御され、USBインターフェースを構成するUSBコントローラとを備え、上記操作入力部における設定された所定の撮影モードでは、撮影画像と対応するメインファイルに関連するサブファイルが生成され、上記制御部によって、上記メインファイルおよび上記サブファイルが上記記録メディアに対して記録され、上記記録メディアに格納されている上記メインファイルおよび上記サブファイルを上記USBインターフェースによって転送する時に、転送されるデータ内にフォルダが作成されるようにしたディジタルカメラ。
【請求項2】 請求項1において、上記フォルダに互いに関連するメインファイルおよびサブファイルが入るようにホスト側が認識するのに必要な属性データが上記メインファイルおよび上記サブファイルに対して付加されるようにしたディジタルカメラ。
【請求項3】 請求項1において、上記フォルダが上記サブファイルの種類毎に作成されるようにしたディジタルカメラ。
【請求項4】 請求項1において、上記サブファイルが上記メインファイルに比してより小さなサイズの画像データであるディジタルカメラ。
【請求項5】 請求項1において、さらに、音声入力手段を備え、上記サブファイルとして、上記音声入力手段から入力された音声を処理した音声ファイルを作成するようにしたディジタルカメラ。
【請求項6】 請求項1において、上記USBインターフェースがスチルイメージクラスインターフェースに基づいたPTPであるディジタルカメラ。
【請求項7】 所定の撮影モードでは、撮影画像と対応するメインファイルに関連するサブファイルが生成され、上記メインファイルおよび上記サブファイルが上記記録メディアに対して記録され、上記記録メディアに格納されている上記メインファイルおよび上記サブファイルをUSBインターフェースによってホスト側へ転送するデータ転送方法であって、転送されるデータ内にフォルダが作成されるようにしたデータ転送方法。
【請求項8】 請求項7において、上記フォルダに互いに関連するメインファイルおよびサブファイルが入るようにホスト側が認識するのに必要な属性データが上記メインファイルおよび上記サブファイルに対して付加されるようにしたデータ転送方法。
【請求項9】 請求項7において、上記フォルダが上記メインファイルとサブファイルを持つ画像毎に作成されるようにしたデータ転送方法。
【請求項10】 請求項7において、上記サブファイルが上記メインファイルに比してより小さなサイズの画像データであるデータ転送方法。
【請求項11】 請求項7において、上記サブファイルとして、音声ファイルを作成するようにしたデータ転送方法。
【請求項12】 請求項7において、上記USBインターフェースがスチルイメージクラスインターフェースに基づいたPTPであるデータ転送方法。

【図1】
image rotate


【図2】
image rotate


【図3】
image rotate


【図4】
image rotate


【図5】
image rotate


【図8】
image rotate


【図6】
image rotate


【図7】
image rotate


【図9】
image rotate


【図18】
image rotate


【図10】
image rotate


【図11】
image rotate


【図12】
image rotate


【図19】
image rotate


【図13】
image rotate


【図14】
image rotate


【図17】
image rotate


【図15】
image rotate


【図16】
image rotate


【図20】
image rotate


【図21】
image rotate


【図22】
image rotate


【公開番号】特開2002−369106(P2002−369106A)
【公開日】平成14年12月20日(2002.12.20)
【国際特許分類】
【出願番号】特願2001−141702(P2001−141702)
【出願日】平成13年5月11日(2001.5.11)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】