以下に、各発明を実施するための最良の形態を、図を参照しながら実施形態として説明する。なお、本発明は以下の実施形態に何ら限定されるものではなく、その要旨を逸脱しない範囲において、種々なる態様で実施しうる。
また、以下に記載する各機能ブロックで示される装置、システムは、ハードウェア、またはメモリ上に展開しハードウェアを制御することでその作用が得られるソフトウェア、またはハードウェア及びソフトウェアの両方により実現されうる。具体的には、コンピュータを利用するものであれば、CPU、メモリ、ハードディスクドライブ、CD−ROM/DVD−ROMなどの読み取りドライブ、各種通信用の送受信ポート・インターフェイス・その他の周辺装置などのハードウェア構成部、それらハードウェアを制御するためのドライバプログラム、その他アプリケーションプログラムなどが挙げられる。
さらに、この発明は装置またはシステムとして実現できるのみでなく、方法としても実現可能である。またこのような発明の一部をソフトウェアとして構成することもできる。さらにそのようなソフトウェアをコンピュータに実行させるために用いるソフトウェア製品、及び同製品を固定した記録媒体も、当然にこの発明の技術的な範囲に含まれ得る(本明細書の全体を通じて同様である。)。
<<実施形態>>
<概要> 本実施形態の概要について説明する。本実施形態は、撮像装置と、一以上の蓄積装置と、からなる画像蓄積システムである。撮像装置は、撮像により取得した画像情報を撮像履歴情報に基づいて蓄積装置に転送する。このとき撮像装置は、転送に応じて、転送先の蓄積装置の蓄積装置識別情報にて識別される撮像履歴情報を管理することなどに特徴を有する。
図1は、本実施形態の画像蓄積システムの一例を示すものである。ここでは撮像装置としてデジタルカメラを、蓄積装置としてHDDレコーダを図で示したが、これに限定されない。例えば、デジタルカメラの代わりにカメラ付きの携帯電話などを用いることができる。また、HDDレコーダの代わりに、DVDレコーダなどを用いることができる。DVDレコーダなどを用いることにより、例えば大画面の液晶テレビなどに画像情報を表示することができる。本実施形態では、まず、撮像装置にて撮像を行い、画像情報を取得する。この画像情報を蓄積装置に転送する際には、撮像履歴情報に基づいて行う。撮像履歴情報は、画像情報の新規取得や削除の履歴を管理する情報(ログファイル)のことなどをいい、画像装置蓄積装置を識別するための蓄積装置識別情報と関連付けて、撮像装置内に保持される。撮像履歴情報は、画像情報の転送などに応じて更新等が行われる。例えば、転送された画像情報とそうでない画像情報とが区別可能となる。撮像履歴情報に基づいた転送が行われることで、2回目以降の画像情報転送処理においては、撮像装置に蓄積されている全ての画像ファイルではなく、前回の転送以降に新たに撮像された画像情報である差分の画像情報のみを転送することにより、効率的な動作が可能となる。
<構成1> 図2は、本実施形態の機能ブロックの一例を示したものである。 図2に示す本実施形態の「画像蓄積システム」(0200)は、「撮像装置」(0210)と、「蓄積装置」(0220)と、からなる。撮像装置(0210)は、「撮像部」(0211)と、「保持部」(0212)と、「転送部」(0213)と、「管理部」(0214)と、を有する。また、蓄積装置(0220)は、「蓄積装置識別情報保持部」(0221)と、「蓄積部」(0222)と、を有する。また、図3に示すように管理部に「消去手段」を有する構成もある。これについては後述する。
(画像蓄積システム 0200) 「画像蓄積システム」は、後述する撮像装置と、一以上の蓄積装置と、からなる。図2、図3では、一の蓄積装置のみが存在する場合を図示したが、このような場合に限定されることはなく、画像蓄積システムに複数の蓄積装置が含まれる場合がある。
(撮像装置 0210) 「撮像装置」(0210)は、被写体を撮像することにより、主に静止画の画像情報を取得することのできる装置一般を広く含み、具体的には、デジタルカメラ、カメラ付携帯電話などが該当する。また、撮像装置は、リムーバブルメディア(xdピクチャーカード、コンパクトフラッシュ(登録商標)、スマートメディア、マイクロドライブ、SDメモリカード、マルチメディアカード、メモリスティック、メモリスティックDUOなど)をストレージデバイスとして利用することができ、撮像などされた画像情報などを、装着されたリムーバブルメディアに格納するようになっていてもよい。
(撮像部 0211) 「撮像部」(0211)は、撮像により画像情報を取得する。「画像情報」とは、画像を構成する情報をいう。画像情報は、主にDCF(Design for Camera File system)規格におけるDCF基本ファイル(EXIF:EXchangeable Image File format形式で、かつ、JPEG圧縮されたもの)を対象とすることができる。ただし、本実施形態では、画像情報という単語を用いるが、JPEG圧縮された静止画に限定されるものではなく、動画(音声が付いていてもよい)であってもよい。また、視覚に訴えるための情報に限定はされず、画像情報の代わりに音声情報が取得されてもよい。また、種々のデジタル情報、例えば、テキストファイルやプログラムが取得されるようになってもよい。以降では、静止画情報を例として説明を行なう。
(保持部 0212) 「保持部」(0212)は、撮像部(0211)での撮像履歴情報を、蓄積装置識別情報と関連付けて一以上保持する。
「撮像履歴情報」とは、画像情報の新規取得や削除の履歴を管理するための情報(ログファイル)のことなどをいい、画像情報の転送をナビゲートする働きを有する。ログファイルは、画像情報の転送先の蓄積装置の識別情報(例えば、蓄積装置の製造番号や、画像装置と蓄積装置とがUSB(Universal Serial Bus)などで接続される場合において蓄積装置を識別するための番号)などを含むファイル名とすることができる(例えば、蓄積装置の識別番号が、ABCDEFGである場合には、拡張子をFALとした、ABCDEFG.FALなどを用いることができる)。図4にログファイルの構造の一例を、図5にログファイルの内容の一例を示した。
図4に示すようにログファイルは、「fal要素」と、「adevice要素」と、「addedfile要素」と、「apath要素」と、「aname要素」と、「asize要素」と、構成され得る。「fal要素」は、ログファイルの実体を記述するための部分である。また、「adevice要素」は、撮像装置ごとの追加ファイルを記述するための部分である。adevice要素は、複数(1以上)のaddedfile要素を内包する場合があるが、addedfile要素を全く含まない場合もある。「addedfile要素」は、追加されるファイルについて記述するための部分であり、例えば、「apath要素」と、「aname要素」と、「asize要素」とを有する。
図5で示したログファイルでは、fal要素の「devnum」により、ログファイルに記載されている情報が、2つの撮像装置により生成されたことが示されている。これは、ログファイルがリムーバブルメディアに作成された場合、そのリムーバブルメディアが装着されたことのある撮像装置の個数が2であることを示す。また、「adevice」の「id」属性にて、撮像装置の識別情報(例えばシリアル番号)を示し、「addfilenum」属性にて、その撮像装置のadevice要素に内包されるaddedfile要素の数を示している。例えば、01234567で識別される撮像装置のaddedfile要素数は2である。これは、01234567で識別される撮像装置によって撮像され、蓄積装置へ転送されるべき画像情報のファイルが2つ存在することを示す。このとき、それぞれの追加ファイルを特定するために、apath要素として、追加撮像した画像情報の存在するディレクトリ名(例えば、DCFディレクトリ名)を示し、aname要素として、追加撮像した画像情報のファイル名(例えば、DCFファイル名)を示し、asize要素として、追加撮像した画像情報のファイルのサイズを示す。なお、76543210で識別される撮像装置のaddedfile要素数は0であり、すなわち、76543210で識別される撮像装置で識別される撮像装置によって撮像が行なわれたかもしれないが、たとえ行なわれたとしても蓄積装置へ転送されるべき画像情報のファイルが存在しないことを示す。撮像履歴情報(ログファイル)の管理、生成の手法については、後述の「管理部」(0214)の項目にて説明する。なお、図5において、「…」から行末まではコメントであり、必須のものではない(図9、図10などにおいても同じである)。
「蓄積装置識別情報」とは、蓄積装置を一意に識別するための情報をいう。例えば、蓄積装置がネットワーク接続される場合には、例えば蓄積装置を識別するMAC(Media Access Control)アドレスが利用可能である。蓄積装置の蓄積装置識別情報保持部(0221)にて保持されていた蓄積装置識別情報が、撮像装置と蓄積装置とを接続した際に撮像装置へ送信されるために保持されることが主に想定される。
(転送部 0213) 「転送部」(0213)は、前記撮像履歴情報に基づいて画像情報を蓄積装置に転送する。「前記撮像履歴情報に基づいて」とは、前記撮像履歴情報を参照して、という意味である。具体的には、撮像履歴情報のうち、蓄積装置識別情報を名前として有するログファイルをオープンして読出し、そのログファイルにaddedfile要素として記述されている未転送の画像情報を転送する。撮像履歴情報に基づいた転送を行うことで、差分の画像情報(未だ蓄積装置にて蓄積されていない新規の画像情報)のみの転送が可能となる。基本的には、蓄積装置が撮像装置に対して要求を発行し、これに撮像装置が応える形で転送処理が実現される。あるいは、撮像装置が蓄積装置に対して転送を行ないたい旨の要求を発し、蓄積装置がそれに応えることで、撮像装置が画像情報を転送するようになっていてもよい。図6〜8に具体的な転送処理の一例のフローチャートを示す。
まず、現在画像情報の転送を行っている蓄積装置の識別情報に相当する(例えば、蓄積装置の識別情報をファイル名の一部又は全体として有する)ログファイルが、撮像装置(及び、撮像装置の保持するリムーバブルメディア)内に存在するかを判断する(S0601)。次に、本発明には必須ではないが、S0601の条件に合致するログファイルが存在する場合には、それが正当であるかどうかをハッシュ値にて確認する(S0602)。その結果、正当なログファイルが存在すると判断できた場合には、図7で示すフローへ進み、それ以外の場合には画像情報の転送処理を中断し、ファイルの同期処理に遷移する。この「ファイルの同期処理」については後述する。ステップS0602の処理は、ユーザがログファイルを改変などして不整合が発生するのを防止するためである。ハッシュ値は、例えば、リムーバブルメディアの領域であって、ユーザからは不可視な領域に保持されることが好ましい。ファイルシステムとして、FATファイルシステムが採用されている場合の不可視な領域の例としては、MBRとBPB(DPB)の間の未使用領域などを用いることができる。論理パーティションが存在せず、物理セクタ番号0が直接BPB(DPB)になっているような構成のリムーバブルメディアの場合は、BPB(DPB)やFSINFO(FAT32時)〜第1FATの間に存在する未使用領域を利用することができる。
続いて、蓄積装置の動作モードを確認する(S0701)。動作モードとしては、転送を実施した撮像装置の単位でフォルダやパーティションなどを構成するモードである「デバイス優先モード」と、撮像装置には関係なく、画像情報を保持するリムーバブルメディア単位でフォルダやパーティションなどを構成するモードである「メディア優先モード」とがある。メディア優先モードは、例えば、撮像装置からリムーバブルメディアを取り外し、そのリムーバブルメディアを蓄積装置に装着して、画像情報を転送するなどの時に用いることができるモードである。ただし、撮像装置にリムーバブルメディアが装着され、蓄積装置にリムーバブルメディアが直接装着されていない場合であっても、「メディア優先モード」を用いることは可能である。デバイス優先モードの場合には、まず、ログファイル中に現在転送を行っている撮像装置の識別情報に相当するadevice要素が存在するかどうか(例えば、撮像装置の識別情報をID属性として持つadevice要素が存在するかどうか)を確認する(S0702)。存在しない場合には、ログファイルによる転送は行なわれたことがない、あるいは無効と判断されるので、ファイル転送モードを抜け、ファイル同期処理に遷移する(S0703)。これにより、撮像装置(あるいはリムーバブルメディア)に存在する画像情報と同じ情報を有するファイルが蓄積装置にも存在するようになる。ログファイル中に現在転送を行っている撮像装置の識別情報に相当するadevice要素が存在する場合には、当該adevice要素が包含するaddedfile要素で特定される画像情報の全てを転送対象とする(S0705)。また、メディア優先モードの場合には、ログファイル中のaddedfile要素で示される画像情報の全てを転送対象とする(S0704)。いずれのモードの場合も転送対象となるaddedfile要素の数だけ、個別転送処理を繰り返して行うことで、ファイル転送全体の処理が完了する(S0706、S0707)。
さらに、個別ファイルの転送処理は例えば図8に示したフローチャートに沿って実現される。まずは、転送対象の画像情報のパス名、ファイル名をapath要素、aname要素から取得する(S0801)。次に、画像情報転送時に、蓄積装置上の同一パスに、すでに同一名称のファイルが存在した場合(これを「コンフリクトが発生する場合」という。)における動作モードを確認する(S0802)。「上書きモード」の場合には、コンフリクトの発生の有無にかかわらず、そのまま撮像装置と蓄積装置との通信路から画像情報を蓄積装置が取得し、蓄積装置側で上書き保存し、処理を終了する(S0804)。このとき、蓄積装置に転送されて作られるファイルの名前の一部として拡張番号として0000など特定の文字列を有するファイルに上書き保存を行うようにしてもよい。
一方、「追加モード」の場合には、コンフリクトの発生の確認を行い(S0803)、コンフリクトが発生しなかった場合には、通信路から画像情報を取得、保存し、処理を終了する(S0805)。コンフリクトが発生した場合には、転送対象の画像情報と、蓄積装置内にすでに存在する同一名称のファイルの内容の同一性確認を行う。同一内容のファイルが存在した場合には転送処理を行う必要がないため、処理を終了する。この同一性確認処理は例えば2段階で行うのが効率的である。すなわち第一段階としては、asize要素より撮像装置(あるいはリムーバブルメディア)内のファイルのサイズを取得して、蓄積装置に格納されてコンフリクトの発生の原因となっているファイルである対象画像情報のファイルサイズとの比較を行う(S0807)。サイズが異なる場合(「NO」へ分岐する場合)には、次のコンフリクトの原因となっている対象画像情報との同一性確認へ進む。なお、もし、次のコンフリクトの発生の原因となっている対称画像情報が存在しなければ、S0810へ処理を移行させる。サイズが同じであった場合には、ハッシュ比較を行う。蓄積装置内の画像情報のハッシュ値は蓄積装置のロジックで算出して求めることができる。また、撮像装置内画像情報(転送対象の画像情報)のハッシュ値は撮像装置のロジックで算出して求めることができる。もちろん、蓄積装置が、撮像装置から撮像装置内画像情報を通信路から読み出してハッシュ値を求めることができるが、ファイルの読み出しによる通信路を経由する少量ではない情報の転送が発生する点で好ましくないが、撮像装置にハッシュ値の算出のロジックが備わっていないならば、このようにしてもよい。撮像装置内で算出したハッシュ値は、通信路を経由して蓄積装置へ転送され(S0808)、同じかどうかの比較処理が実行される(S0809)。その結果、同一性が確認された場合には、すでに同一ファイルが蓄積装置に存在することから転送は行わずに処理を終了する(S0811)。同一ファイル数分の同一性確認を行い、同じ画像情報がない場合には、同一ファイル名の新規ファイルとして追加転送する(S0810)。このとき、拡張サフィックス番号をインクリメントした形のファイル名で保存するなど、異なったファイル名として保存する。
ファイル転送が終了した後は、後述の「管理部」(0214)にて撮像履歴情報(ログファイル)の更新を行う。
(管理部 0214) 「管理部」(0214)は、転送に応じて、転送先の蓄積装置の蓄積装置識別情報を用いることなどにより識別される撮像履歴蓄積情報であり、保持部(0212)に保持されている撮像履歴情報を管理する。まず、撮像装置と、蓄積装置とが最初に画像情報の転送を行った時点で撮像履歴情報の生成を行う。このときすでに蓄積装置に、撮像装置が保持している画像情報は全て取り込まれたため、追加ファイル(addedfile)は存在しないことになる。したがって、adevice要素中のaddedfile要素は0となる。また、撮像履歴情報の生成と同時にログファイルのハッシュ値を生成し、必要に応じて、これを隠蔽管理する。
なお、撮像履歴情報は蓄積装置への転送処理を行った後に作成されるため、単一のログファイルを用いるのでは、複数の蓄積装置が存在する場合には、不都合が生ずる可能性がある。なぜならば、図4、図5に例示したように、ログファイルの中には、蓄積装置を識別する情報が含まれていないからである。もちろん、ログファイルの中に、蓄積装置を識別する情報を含ませてもよいが、処理が煩雑となる可能性がある。そこで、複数の蓄積装置との転送処理を実現するためには、蓄積装置ごとに一つのログファイルを対応させ、複数のログファイルを用いることが望ましいと考えられる。さらに、ログファイルの内容が改竄などされ整合性が保てなくなった場合に、全画像情報の同一性のチェックを行い、再び新たなログファイルを生成できるように、自動的に画像情報の転送処理が行われることを「同期」というが、後述するようにログファイルの存在そのものを蓄積装置との同期を行ったか否かの証左として利用することからも、単独ログファイルに複数の蓄積装置との履歴を記載することはしないのが好ましい。
次に、撮像履歴情報の更新について説明する。撮像時においては、撮像装置が保持しているメディアにログファイルが存在し、かつ、ログファイル中のadevice要素の識別情報が、撮像装置の識別情報と一致している場合(撮像装置の記述がすでにログファイルにあることが前提となる。)、画像情報の取得ごとにaddedfile要素を追加記述する。すなわち、ログファイル中において、id属性が撮像装置と一致するadevice要素に、画像情報を特定するapaht、aname、asizeなどの要素を追加する。ログファイルが複数存在する場合には、ログファイルの個数回、この作業を繰り返す。ログファイルが完成した段階でそれぞれのログファイルのハッシュ値を算出し、これを隠蔽管理する。なお、なお、撮像装置で、画像情報の削除処理を行なった場合には、ログファイルからその画像情報を特定するapaht、aname、asizeなどの要素を削除するようになっていてもよい。あるいは、削除された旨の属性を付加してもよい。
また、管理部に「消去手段」を有する構成もある。
<構成2> 図3は、本実施形態の機能ブロックの別の例を示したものである。 図3に示す本実施形態の「画像蓄積システム」(0300)は、「撮像装置」(0310)と、「蓄積装置」(0320)と、からなる。撮像装置(0310)は、「撮像部」(0311)と、「保持部」(0312)と、「転送部」(0313)と、「管理部」(0314)と、を有し、さらに、管理部(0314)は「消去手段」(0315)を有する。また、蓄積装置(0320)は、「蓄積装置識別情報保持部」(0321)と、「蓄積部」(0322)と、を有する。
(消去手段 0315) 「消去手段」(0315)は、転送済みの画像情報に対応する撮像履歴情報を消去する。画像情報の転送処理実行によって、撮像装置では、撮像履歴情報が消去される。これにより、2回目以降の画像情報転送処理においては、全ての画像ファイルではなく、新たに撮像された差分のみを効率的に転送することができる。消去手段は必須の要素ではなく、例えば、転送された画像情報を特定するaddedfile要素に、転送された旨の属性などを付加するようになっており、転送のときには、転送された旨の属性が付加されたものをさらに転送しないようになっていてもよい。
消去手段が備わっている場合には、転送時における撮像履歴情報の更新について対象となるのは、転送先の蓄積装置の識別情報に合致する撮像履歴情報のみである。画像情報の転送処理完了後は、addedfileをNULL化、すなわち、addefile要素の削除を行ない、adeviceのaddfilenum属性の値を0とする。このときのログファイルの一例を図9に示す。まず、転送を実施した撮像装置単位でフォルダを構成するモードであるデバイス優先モード(図9(a))においては、転送を実施した撮像装置に該当するadevice要素中のaddedfile要素を全てNULL化する。つまり、識別情報01234567で識別される対象デバイスにおいて、当該撮像装置管理下のaddfile要素のみが消失し、その他については変化しない。また、撮像装置には関係なく、画像情報を保持するメディア単位でフォルダを構成するモードであるメディア優先モード(図9(b))においては、全adevice要素中のaddedfile要素を全てNULL化する。つまり、既出のログファイルは図のように初期化され、全管理デバイスのaddfile要素がNULL化される。更新が完了した後、ハッシュを生成し、これを隠蔽管理するようにしてもよい。
さらに、ファイル同期について説明する。撮像履歴情報が存在しなかったり、ログファイルから算出されるハッシュ値と隠蔽処理などされたハッシュ値とが異なるなどの場合のように、ログファイルを用いることができないときや、初回の画像情報の転送のときには、ファイル同期処理を行う。このファイル同期処理では追加された画像情報が、どの撮像装置で撮像されたものか判断できないため、メディア優先モードと同様の結果が得られる。ファイル同期は、擬似ログファイル生成要求を受けた撮像装置が擬似ログファイルを生成することから始める。一旦、擬似ログファイルが生成されれば、後の処理はファイル転送モードと同じ処理となる。ただし、画像情報の転送を行っている撮像装置以外で撮像、生成された画像情報についても、その撮像装置にて作成されたものとして処理される。「擬似ログファイル」は、対象撮像装置が保持するメディア内に含まれるファイルが、全て現在の撮像装置で生成されたファイルであると仮定して、これらを全て列挙した形式になる。
図10には、現在使用している撮像装置が01234567で識別される場合において、既出のログファイルを擬似ログファイル化した一例を示した。すなわち、擬似ログファイルにて3つのファイルを追加する態様を示しており、01234567で識別される撮像装置が初めて蓄積装置に接続される場合において、3つのファイルが撮像装置に格納されているときの例を示している。すなわち、<fal version=“1.0” devnum=“1”>により、この擬似ログファイルに記載されているデバイスの数は、1であることが示される。次の、<adevice id=“01234567” addfilenum=“3”>により、01234567で識別される撮像装置には、追加するべきファイルが3つあることが示される。<addedfile>から次の</addedfile>までが、追加するべき1つのファイルのパス名、名前、サイズを示している。すなわち、<apath>から次の</apaht>が追加するべきファイルのパス名を示し、<aname>から次の</aname>が追加するべきファイルの名前を示し、<asize>から次の</asize>が追加するべきファイルのサイズ(例えば、バイト数)を示す。なお、第1、第2、第3などとあるのは区別をするために用いたのであり、ファイルの撮影された順序やファイルを追加するべき順序を示しているとは限らない。
なお、図11にファイル同期処理のフローチャートを示した。撮像装置は、擬似ログファイル生成要求を受け(S1101)、擬似ログファイルを生成する(S1102)。その後は、ファイル転送処理に戻る。なお、蓄積装置が、撮像装置より、撮像装置が格納するファイルのリストを受け取り、また、ログファイルの転送を受け、擬似ログファイルを生成して、撮像装置に格納させてもよい。
最後に、撮像履歴情報をハッシュ関数などに入力し、ハッシュ値を算出する。ハッシュ関数としては、例えばMD5などのアルゴリズムを使用する関数を用い、128ビットのハッシュ値を生成する(生成されるハッシュ値のビット長は、アルゴリズムに依存する)。得られたハッシュ値は、ログファイルごとにメディア内のユーザ不可視領域に保持する。例えば、デバイスドライバレベルのセクタリード、セクタライトは可能だが、ファイルシステムとしては管理していない領域に保持する。ただし、どのような形でハッシュ値を保持するかは撮像装置あるいはリムーバブルメディアに依存し得る。さらに、管理可能なログファイル数(画像情報の転送を行う蓄積装置数)、ならびに管理可能なログファイル数を超えての蓄積装置との画像情報の転送処理実行における発生エラー管理も撮像装置に依存し得る。次回のログファイル利用時に、利用開始時点でハッシュ値を生成し、これと隠蔽管理のために保持したハッシュ値を比較することで、ログファイルの改ざんが行われていないかどうかの確認、また、何らかの理由による破損の検出ができる。
(蓄積装置 0220) 「蓄積装置」(0220)は、ハードディスクなどの記憶手段を搭載し、静止画などの情報の蓄積保存が可能な装置一般を広く含み、具体的には、HDDレコーダなどが該当する。
(蓄積装置識別情報保持部 0221) 「蓄積装置識別情報保持部」(0221)は、自身を識別する蓄積装置識別情報を保持する。
(蓄積部 0222) 「蓄積部」(0222)は、撮像装置の転送部(0213)から転送される画像情報を蓄積する。図12は、画像情報が蓄積されるディレクトリ構成の一例を示したものである。まず、最上位に画像情報を蓄積するファイルシステムの部分のルートディレクトリが存在する(図で示した例では「ANY」という名前となっている)。これは蓄積装置が静止画の画像情報を管理するルートとなる。名称やパスの構造については、蓄積装置に依存し得る。
次に、デバイスディレクトリが存在する(図で示した例では「8ECAB423」などの名前で示される)。ディレクトリ名は接続された撮像装置の識別番号(シリアル番号)に相当しており、少なくとも、画像情報の転送を行う目的で蓄積装置に接続した撮像装置の数だけ存在する。図ではカメラA、B、Cの3種類の撮像装置を接続したことを示している。デバイス優先モードの場合には、デバイスディレクトリ以下のファイル群で一のアルバムを構成する。ここに「アルバム」とは、蓄積装置に構成される一連の画像情報の基本構成単位である。一方、メディア優先モードの場合、アルバムは画像情報の転送を行ったリムーバブルメディアなど(撮像装置の容易に取り外せない内蔵メモリを含む)の数だけ存在する。この場合には、複数のデバイスディレクトリ間に存在する複数のメディアディレクトリを水平方向に結合し、アルバムとして管理する必要がある。この方法については蓄積装置に依存し得る。水平方向に結合する処理のためには、例えば蓄積装置内でデータベース管理システムを動作させてディレクトリ、画像情報のファイルを管理するのが好ましい。また、あるデバイスディレクトリ以下に格納されている画像情報の操作(表示、削除、複写、名前の変更など)を行なうには、パスワードの入力などの認証が求められるようになっていてもよい。
デバイスディレクトリの下には、さらに、メディアディレクトリが存在する(図で示した例では「DEADBEAF01231234」など)。ディレクトリを構成する16桁の数値は、例えば、図13に示した8バイトの数値の16進数による表示である。すなわち、8バイトのバイト列のうち、1バイト目は、リムーバブルメディアの製造社を識別するコードである。2バイト目と3バイト目は、その製造社の中での製品を識別するコードである。4バイト目は、その製品のなかでの製品のリビジョンを識別するコードである。5バイト目から8バイト目は、その製品の中で、製品毎にユニークとなるシリアル番号である。なお、この8バイトのバイト列の内、1バイト目から4バイト目までが、例えば、00000001となることはないようにするのが好ましい。00000001は、内蔵メモリを示す予約番号として用いるためである。したがって、図12において、「000000018ECAB423」のメディアディレクトリは、8ECAB423により識別されるカメラAの内蔵メモリから転送された画像情報を保持するディレクトリとなる。図14(a)に(1)シリアル番号を求めることができないリムーバブルメディア、(2)シリアル番号を求めることができる通常のリムーバブルメディア、(3)撮像装置が有する内蔵メモリ、のメディアディレクトリの名前の構造を示した。なお、上述したように、あるメディアディレクトリ以下に格納されている画像情報の操作を行なうには、パスワードの入力などの認証が求められるようになっていてもよい。
さらに、DCFディレクトリが存在する(図で示した例では「100ABCDE」など)。DCFの規格では、ディレクトリ名は100〜999までのディレクトリ番号と、自由文字5文字から構成される。DCFディレクトリの下に画像情報(拡張子はJPG)が蓄積される。図14(b)は、画像情報のファイル名の変換ルールを示したものである。先頭の4桁は英数字(大文字)であり、一般的には撮像装置(リムーバブルメディア)から転送されたものを用いる。次の4桁は0001〜9999までの10進4桁の数字(DCF番号)であり、一般的には撮像装置(リムーバブルメディア)から転送されたものを用いる。また、次の4桁は蓄積装置の使用として保存時に拡張する部分であり、ファイル名を12文字に拡張して管理する。「0」〜「F」までの16種類を用いて最大65536種類の拡張が実現できる。初期値は「0000」で、コンフリクトが発生しない限り、その他の文字が使われることはない。また、上書きモードでは拡張サフィックスは、例えば「0000」に固定してもよい。
<ハードウェア構成> 図15は、本実施形態の撮像装置のハードウェア構成の一例を示す概略図である。この図を利用して、画像蓄積システムの撮像装置の処理実行におけるそれぞれのハードウェア構成部の働きについて説明する。この図にあるように、撮像装置は、管理部(0214)における処理を実現するために「CPU(中央演算装置)」(1501)と、「メインメモリ」(1502)と、「記憶装置(又は記憶媒体)」(1503)と、を備える。また、保持部(0212)における処理は「記憶装置(又は記憶媒体)」(1503)にて実現可能である。さらに、これらハードウェア構成部に加え、撮像部(0211)における処理を実現するためには「入力インターフェイス」(1504)を、転送部(0213)における処理を実現するためには「出力インターフェイス」(1505)を備える。これらは、「システムバス」(1505)などのデータ通信経路によって相互に接続され、情報の送受信や処理を行う。
記憶装置はCPUにて実行される各種プログラム(例えば、画像情報の取得用プログラム(撮像部)、転送処理実行用プログラム(転送部)、撮像履歴情報の管理用プログラム(管理部)など)や、蓄積装置識別情報と関連付けられた撮像履歴情報などを記憶している。また、メインメモリは記憶装置に記憶されているプログラムを実行するために、そのプログラムを読み出して展開する領域であるワーク領域を提供する。さらに、このメインメモリや記憶装置にはそれぞれ複数のメモリアドレスが割り当てられており、CPUで実行されるプログラムは、そのメモリアドレスを特定しアクセスすることで相互にデータのやり取りを行い、処理することが可能となっている。以上が各ハードウェア構成の機能である。
情報処理装置の電源を入れると、記憶装置に記憶されている画像情報の取得用プログラム(アドレス01)、転送用プログラム(アドレス02)、管理用プログラム(アドレス03)がメインメモリのワーク領域(アドレス11、12、13)にそれぞれ展開される。
まず、シャッターの押下などがトリガとなり、メインメモリのワーク領域に展開された画像情報の取得用プログラムがCPUによって実行される。撮像の実行によって、画像情報が入力インターフェイスを介して取得でき、メインメモリのデータ領域などに一旦保持される。
次に、転送用プログラムは、メインメモリのデータ領域などに一旦保持されている画像情報を、出力インターフェイスを介して蓄積装置に転送する。転送処理の実行は、撮像装置と蓄積装置との接続(例えば、ネットワーク接続や、USB接続)などがトリガとなる。転送は、記憶装置に記憶されている撮像履歴情報に基づいて行われる。記憶装置から撮像履歴情報を読み出して、一旦メインメモリのデータ領域などに保持しておいて、CPUにて撮像履歴情報の解析を行う。その結果、転送先の蓄積装置や、転送すべき画像情報などが定まる。画像情報は出力インターフェイスを介して蓄積装置に対して転送される。
最後に、管理用プログラムは、転送に応じて撮像履歴情報を管理する。転送先の蓄積装置の蓄積装置識別情報にて識別される撮像履歴情報について、更新、削除等を行う。例えば、転送済みの画像情報に対応する撮像履歴情報については消去することができる。
なお、以上の説明においては、撮像部と、転送部と、管理部はソフトウェアで構成されているものとして説明したが論理回路や順序回路などのハードウェアで構成されていてもよい。
<処理の流れ> 図16は、本実施形態の画像蓄積システムにおける処理の流れの一例を示したものである。なお、以下に示す処理の流れは、方法、計算機に実行させるためのプログラムで実行することができ、またこのプログラムを計算機によって読取り可能な記録媒体に記録することができる。(本明細書のその他の処理の流れについても同様である。)
まず、撮像装置において、撮像により画像情報を取得する(撮像ステップ S1601)。次に、撮像ステップ(S1601)での撮像履歴情報に基づいて画像情報を蓄積装置に転送する(転送ステップ S1602)。さらに、転送ステップ(S1602)での転送に応じて、転送先の蓄積装置の蓄積装置識別情報と関連付けられる撮像履歴情報を管理する(管理ステップ S1603)。このとき、転送済みの画像情報に対応する撮像履歴情報を消去する処理などが実行される。
他方、蓄積装置においては、転送ステップ(S1602)にて転送される画像情報を取得し、蓄積する(蓄積ステップ S1604)。
<効果> 本実施形態では、撮像装置と、一以上の蓄積装置と、また、それらからなる画像蓄積システムなどを開示した。撮像装置は、撮像により取得した画像情報を撮像履歴情報に基づいて蓄積装置に転送する。このとき撮像装置は、転送に応じて、転送先の蓄積装置の蓄積装置識別情報にて識別される撮像履歴情報を管理することなどに特徴を有する。撮像履歴情報に基づいて、画像情報を転送することで、2回目以降は全ての画像ファイルではなく、新たに撮像された差分のみ転送することで、効率的な転送の実行ができる。
また、蓄積装置へ転送された画像情報は、撮像装置ごとに固有のディレクトリに割り当てられて蓄積されるため、画像情報へ迅速にアクセスできるようになる。さらに、ハッシュ値を用いて同一性の確認を行うことにより、画像情報の改ざんを防ぐ効果を有する。