[go: up one dir, main page]

JP5142939B2 - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP5142939B2
JP5142939B2 JP2008268002A JP2008268002A JP5142939B2 JP 5142939 B2 JP5142939 B2 JP 5142939B2 JP 2008268002 A JP2008268002 A JP 2008268002A JP 2008268002 A JP2008268002 A JP 2008268002A JP 5142939 B2 JP5142939 B2 JP 5142939B2
Authority
JP
Japan
Prior art keywords
metadata
property
array
property information
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008268002A
Other languages
English (en)
Other versions
JP2010097441A5 (ja
JP2010097441A (ja
Inventor
拓馬 三河
洋子 内田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2008268002A priority Critical patent/JP5142939B2/ja
Publication of JP2010097441A publication Critical patent/JP2010097441A/ja
Publication of JP2010097441A5 publication Critical patent/JP2010097441A5/ja
Application granted granted Critical
Publication of JP5142939B2 publication Critical patent/JP5142939B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Description

本発明は、画像データに関連付けて記憶されているメタデータを処理する情報処理装置、情報処理方法及びプログラムに関するものである。
近年、デジタルカメラを使用して画像を撮影することが多くなっている。このようなデジタルカメラの多くは、撮影した画像をJPEGファイルとして保存した場合、画像データと共に、画像情報を記述するためのExifメタデータを自動的に付加する。
また、Exifメタデータの規格に加えて、写真画像配信等で利用されている、キャプション、キーワード、撮影者情報等のプロパティを備えたIIM、IPCTメタデータ規格のメタデータを有する画像ファイルも普及している。更には、ファイルフォーマットを問わないXMPメタデータ規格のメタデータを有する画像ファイルも多くなっている。このXMPメタデータ規格内には、Exifメタデータ規格及びIPCTメタデータ規格が備える全てのプロパティを保持できる上に、アプリケーション固有のプロパティを備えることが可能である。
一方、画像データを処理するアプリケーションでは、Exifメタデータ、IPCTメタデータ及びXMPメタデータの何れか一つにしか対応できない等、メタデータ規格の取り扱いが異なっている。例えば、いくつかのアプリケーションでは、画像ファイルに存在する1つのメタデータ規格しか対応していない。
通常、画像ファイルは、単一のメタデータ規格を有している。しかし、一つの画像ファイルを複数のアプリケーションで、画像編集を繰り返すと、一つの画像ファイル内にExifメタデータ、IPCTメタデータ及びXMPメタデータの複数のメタデータ規格を有する画像ファイルが存在することがある。これらのメタデータ規格内には、相互に重複しているプロパティが存在するため、単一のメタデータ規格を更新するときに、不整合が生じる可能性がある。
メタデータ規格内の同一項目のプロパティの不整合は、複数のメタデータ規格を利用することができるアプリケーションを用いた場合、問題になる。すなわち、アプリケーションでは、異なるメタデータ規格において、同一項目のプロパティの不整合が存在した場合に、どちらのプロパティを参照すればよいかを判断することができないという問題が生じる。
この問題に対して、例えばメタデータ規格内のプロパティを一覧表示し、異なるメタデータ規格内の同一項目のプロパティが不整合の場合、ユーザに通知するようなアプリケーションがある。また、特許文献1には、同一項目のメタデータの競合を調停する画像処理技術が開示されている。
特開2006−211686号公報
しかし、上述したアプリケーションでは、複数の異なるメタデータ規格の同一項目のプロパティに不整合が生じた場合に、メタデータ規格内に登録されている数多くのプロパティを一覧表示するため、画面上に表示しきれない。したがって、ユーザは、スクロールして目的とするプロパティを探さなければならない。このため、異なるメタデータ規格内に同一項目のプロパティが存在する場合にも、ユーザが同一のプロパティに同期が取れているのかを確認するのに、時間がかかるという問題が生じる。また、特許文献1でも、メタデータとしてのプロパティを容易に比較するための解決が図られていない。
本発明は、上述したような問題点に鑑みてなされたものであり、異なるメタデータ規格内におけるプロパティを、ユーザが容易に比較することができるようにすることを目的とする。
本発明の情報処理装置は、複数のメタデータ規格のメタデータが記憶されている画像データから、前記メタデータ規格ごとに前記メタデータとしてのプロパティ情報を取得する取得手段と、前記取得された複数のメタデータ規格のプロパティ情報を項目の種類ごとに分類する分類手段と、前記取得手段により取得された複数のメタデータ規格のプロパティ情報を、前記メタデータ規格ごとに区別して前記プロパティ情報の項目に対応付けて同一画面上で表示する表示処理手段と、前記複数のメタデータ規格のプロパティ情報が同一項目間で相違するか否かを判定する相違判定手段とを有し、前記表示処理手段は、前記相違判定手段により前記項目と対応する少なくとも1つ以上のプロパティ情報が他のプロパティ情報と相違すると判定された場合、相違しているプロパティ情報を優先して表示することを特徴とする。
本発明によれば、異なるメタデータ規格が複数登録されている画像データにおいて、プロパティを容易に比較することができる。
以下、本発明を実施するための最良の形態を図面に基づいて、説明する。
(第1の実施形態)
本実施形態は、Exifメタデータ、IPCTメタデータ、XMPメタデータの3つの異なるメタデータ規格が登録されているJPEG画像ファイル(画像データ)を例に説明する。以下では、画像ファイルから、各メタデータ規格内のプロパティ(プロパティデータ)を読み込み、画像ファイルに記憶されている全プロパティを表示する情報処理装置について説明する。
ここで、Exifメタデータには、デジタル写真に対して、デジタル写真を撮影したカメラ、写真が撮影された日付等に関する情報を備える。
また、IPCTメタデータには、出版で使用される画像に対して、出版に関連するキャプション、キーワード、お気に入り度等に関する情報を備える。
また、XMPメタデータには、タイトル、検索可能なキーワード、メタデータ作成者及び著作権情報等に関する情報を備える。また、XMPメタデータは、Exifメタデータ及びIPCTメタデータ内の全てのプロパティと他のメタデータに含まれない固有のプロパティとを含む複数のプロパティとを備えるXML形式のメタデータ規格である。
本実施形態では、起動時に指定されたフォルダ内の画像ファイルの一覧を表示し、ユーザ操作によって選択された画像ファイルを処理対象画像とする。なお、本実施形態では、起動時にフォルダが選択されている構成とするが、起動中にユーザがフォルダを選択するように構成してもよい。また、本実施形態では、起動中にユーザ選択によって、処理対象画像を設定しているが、起動時に、処理対象画像が設定されているような構成であってもよい。
図1は、第1の実施形態に係る情報処理装置の構成を概略的に示すブロック図である。なお、本実施形態では、情報処理装置として画像処理装置を取り上げて説明する。
図1に示すように、画像処理装置20は、演算処理装置(CPU)10、ハードディスク(HD)11、メモリ12、ネットワーク接続部13、ディスプレイ14、スピーカ15、操作部16、記録媒体ドライブ17を含んで構成されている。また、各構成は、内部バス19により相互に接続されている。
CPU10は、画像処理装置20全体を制御する。ハードディスク11は、プログラムや画像ファイル等のデジタルデータを記録する。本実施形態のハードディスク11には、画像処理プログラムがCPU10に読み取り可能なプログラムコードとして記録されている。CPU10は、このプログラムコードを実行することにより、後述するフローチャートの処理を実現する。
メモリ12は、プログラムコード等を記憶する記憶部である。ネットワーク接続部13は、ネットワークを介して画像処理装置20を外部装置に接続する。ディスプレイ14は、CRTディスプレイや液晶パネル等の表示部である。スピーカ15は、オーディオ出力用である。操作部16は、キーボードやマウス等であり、ユーザ操作によりCPU10に対して指示を行う機器である。記録媒体ドライブ17は、外部記録媒体18を読み込むためのドライブである。外部記録媒体18は、例えばCD−ROMやDVD等である。
なお、本実施形態では、ハードディスク11に画像ファイル及びプログラムが記録されている場合について説明する。しかし、CD−ROMやDVD等の外部記録媒体18に画像ファイルやプログラムを記録させて、記録媒体ドライブ17を介してCPU10に実行させる形態であってもよい。また、ネットワーク上に画像ファイル及びプログラムが記録されていて、ネットワーク接続部13を介してCPU10に実行させる形態であってもよい。
次に、画像処理装置20が処理対象画像のメタデータを処理する動作について、図2を参照して説明する。図2は、画像処理装置20の動作処理を示すフローチャートである。図2に示すフローチャートは、画像処理装置20のCPU10が画像処理プログラムを実行することにより実現する。
ここで、本実施形態に係る画像処理装置20は、起動時に画像ファイルの存在するフォルダパスを引数として実行する。
なお、画像処理装置20は、図2に示すフローチャートの動作処理において、図3に示すメタデータテーブル30を使用する。メタデータテーブル30は、複数のメタデータ規格ごとにプロパティ(プロパティデータ)の示す項目、詳しくはプロパティ識別子が記憶されたテーブルである。メタデータテーブル30には、プロパティを認識する“ID”31、プロパティの種別を認識する“種類”32、プロパティの項目名を認識する“項目名”33、プロパティを表示する際に使用する“表示フォーマット”34を有している。また、メタデータテーブル30には、メタデータ規格の識別子が設定されている。具体的には、メタデータ規格1の識別子として“JPEGExif”メタデータ35、メタデータ規格2の識別子として“IPCT”メタデータ36、メタデータ規格3の識別子として“XMP”メタデータ37の3つのメタデータ規格が設定されている。また、各メタデータ規格の各項目には、プロパティ識別子が設定されている。
“ID”31は、プロパティIDである。プロパティIDは、識別情報であり、複数のメタデータ規格のプロパティ1項目ごとに数字が付されている。“種類”32は、多数のプロパティを分類するための欄である。この“種類”32の欄内に同じ文字列を設定した場合、欄内は、同類プロパティと判断される。
“項目名”33は、同類プロパティ内において、複数の関連度合いを設定したい場合に、“種類”32を複数に分けたものである。また、“表示フォーマット”34は、表示フォーマット情報の一例であり、表示するプロパティの表示形式を示すものである。表示形式を揃えたい場合、“表示フォーマット”34欄を同一にすることにより実現できる。このように、メタデータテーブル30には、“ID”31に“表示フォーマット”34及び複数のメタデータ規格間におけるプロパティ識別子が関連付けて記憶されている。
図2に示すフローチャートにおいて、ステップS10では、CPU10は、ディスプレイ14に初期画面である画像選択画面を表示して、ユーザの入力を待つ。ここで、画像選択画面の一例について図4を参照して説明する。図4に示すように、画像選択画面100は、終了ボタン110、画像選択領域120、メタデータ表示領域130から構成されている。画像選択領域120には、CPU10によりメタデータとしてのプロパティデータを取得する対象となる画像形式の画像ファイルの一覧が表示される。ユーザは、操作部16を介して画像選択領域120の中から対象の画像ファイルを決定する。メタデータ表示領域130は、現在処理中の画像ファイルに登録されているメタデータとしての全プロパティを表示する領域である。
次に、ステップS20において、CPU10は、画像選択画面100から画像選択領域120内の画像ファイルがクリック(選択)されたか否かを判定する。クリックされた場合、ステップS30に処理を進める。クリックされない場合、ステップS130に処理を進める。ステップS130では、CPU10は、終了ボタン110がクリックされたか否かを判定し、終了ボタン110がクリックされた場合、画像処理プログラムを終了する。終了ボタン110がクリックされない場合、ステップS20に処理を戻す。なお、ステップS20において、ユーザ操作により画像選択領域120内の何れかの画像ファイルがクリックされた場合、CPU10は、クリックされた画像ファイルを選択状態にする。
次に、ステップS30では、CPU10は、“ファイルデータ規格Number”に「0」を代入する。次に、ステップS40では、CPU10は、“ファイルデータ規格Number”に「1」を加算する。次に、ステップS50では、CPU10は、選択された画像ファイルから“ファイルデータ規格Number”番目に位置するデータ規格を判定する。更に、CPU10は、“ファイルデータ規格”に判定したデータ規格の識別子を代入する。
次に、ステップS60において、CPU10は、“ファイルデータ規格”が存在するか否かを判定する。ここで、“ファイルデータ規格”が存在する場合、ステップS80に処理を進める。
ステップS80では、CPU10は、図3に示すメタデータテーブル30内から1つ目の「規格1」に該当するメタデータ規格の識別子を取得し、“テーブルメタデータ規格”に代入する。次に、ステップS100では、CPU10は、ステップS50で判定した“ファイルデータ規格”識別子とステップS80でメタデータテーブル30から取得した“テーブルメタデータ規格”識別子とが同一であるか否かを判定する。両方の識別子が同一の場合、同一のメタデータ規格であると判定して、ステップS90に処理を進める。
ステップS90では、CPU10は、後述する図7のフローチャートに示す[メタデータテーブルとの照合]処理に移行する。次に、ステップS40に戻り、CPU10は、“ファイルデータ規格Number”に「1」を加算する。また、ステップS50及びステップS60において、CPU10は、画像ファイル内の“ファイルデータ規格Number”に位置するデータ規格が存在するか否かを判定する。ステップS60にて、データ規格が存在する間、CPU10は、画像ファイル内に登録されているデータ規格の“ファイルデータ規格”識別子とメタデータテーブル30内に登録されている“テーブルメタデータ規格”識別子との同一判定を繰り返す。
ステップS100において、CPU10は、“ファイルデータ規格”と“テーブルメタデータ規格”とが異なると判定した場合、ステップS110に処理を進める。ステップS110では、CPU10は、“テーブルメタデータ規格”識別子が、図3に示すメタデータテーブル30に登録されているメタデータ規格の最終項目の識別子か否かを判定する。最終項目ではない場合、ステップS120に処理を進める。ステップS120では、CPU10は、次の“テーブルメタデータ規格”識別子を取得し、ステップS100に処理を戻す。ステップS100では、CPU10は、“ファイルデータ規格”識別子と次の“テーブルメタデータ規格”識別子とが同一であるか否かを判定する。
ステップS110において、“テーブルメタデータ規格”が最終項目の場合、CPU10は、“ファイルデータ規格”と一致するものがないと判断し、ステップS40において、次の画像ファイル内のデータ規格を判定する処理に進める。
また、ステップS60において、画像ファイル内の全データ規格の処理が終了するか、画像ファイル内にデータ規格が存在しないと判定した場合、ステップS70に処理を進める。ステップS70では、CPU10は、後述する図9のフローチャートに示す[メタデータ表示]処理に移行する。[メタデータ表示]処理が終了した後、ステップS130において、CPU10は、終了ボタン110がクリックされたか否かを判定する。終了ボタン110がクリックされた場合、画像処理プログラムを終了する。
次に、ユーザ操作により、図4に示す画像選択画面100の画像選択領域120内の上から2つ目のJPEG画像ファイルがクリックされた場合の図2に示すフローチャートの動作処理について具体的に説明する。ここで、画像選択領域120内の上から2つ目のJPEG画像ファイルは、図5に示すように、複数のデータ規格を有している。
図5に示す画像ファイル140は、選択された画像ファイル内のメタデータ規格の構成を示すものである。画像ファイル140は、Exifメタデータ規格の保存部分150と、画像ファイルの実データの保存部分160と、XMPメタデータ規格の保存部分170と、IPCTメタデータ規格の保存部分180とから構成されている。
Exifメタデータ規格の保存部分150には、「DataTime」「DataTimeOriginal」「Artist」「Copyright」の4つのプロパティ識別子を保持している。また、「DataTime」のプロパティ識別子には、「2006/12/24 12:00:00」のプロパティデータが記憶されている。同様に他のプロパティ識別子にも、プロパティデータが記憶されている。
また、XMPメタデータ規格の保存部分170には、「XMP:ModifyDate」「tiff:DataTimeOriginal」「XMP:MetadataDate」「IPCT:Creator」「XMPRights:Owner」の5つのプロパティ識別子を保持している。また、「XMP:ModifyDate」のプロパティ識別子には、「2007/11/24T09:15:00+09:00」のプロパティデータが記憶されている。同様に他のプロパティ識別子にも、プロパティデータが記憶されている。
また、IPCTメタデータ規格の保存部分180には、「DateCreated」「Title」「Creater」「CopyrightNotice」の4つのプロパティ識別子を保持している。また、「DateCreated」のプロパティ識別子には、「2006/12/24 12:00:00」のプロパティデータが記憶されている。同様に他のプロパティ識別子にも、プロパティデータが記憶されている。なお、上述したプロパティデータは、プロパティ情報の一例に対応する。
以下、図2に示すフローチャートの処理について具体的に説明する。なお、図2に示すフローチャートの主体は、画像処理装置20のCPU10であり、以下では省略して説明する。
まず、ステップS20において、図5に示すメタデータ規格を有する画像ファイルが選択されたと判定すると、ステップS30に処理を進める。その後、ステップS40において、“ファイルデータ規格Number”に「1」を加算する。
次に、ステップS50において、画像ファイル内の“ファイルデータ規格Number”「1」に位置するデータ規格として、「JPEGExif」を判定し、“ファイルデータ規格”に「JPEGExif」識別子を代入する。
次に、ステップS60において、“ファイルデータ規格”が存在するので、ステップS80に処理を進める。ステップS80において、図3に示すメタデータテーブル30の1つ目の「規格1」に該当するメタデータ規格の識別子「JPEGExif」を“テーブルメタデータ規格”に代入する。
次に、ステップS100において、“ファイルデータ規格”の「JPEGExif」と“テーブルメタデータ規格”の「JPEGExif」とを比較して、メタデータ規格が同一であるので、ステップS90に処理を進める。ステップS90において、[メタデータテーブルとの照合]処理が終了した後、ステップS40において、“ファイルデータ規格Number”に「1」を加算する。
次に、ステップS50において、ファイル内の“ファイルデータ規格Number”「2」に位置するデータ規格として、「JPEG画像データ」を判定し、“ファイルデータ規格”に「JPEG画像データ」識別子を代入する。
次に、ステップS60において、“ファイルデータ規格”が存在するので、ステップS80に処理を進める。ステップS80において、図3に示すメタデータテーブル30の1つ目の「規格1」に該当するメタデータ規格の識別子「JPEGExif」を取得し、“テーブルメタデータ規格”に代入する。
次に、ステップS100において、“ファイルデータ規格”の「JPEG画像データ」と“テーブルメタデータ規格”の「JPEGExif」とを比較して、メタデータ規格が異なるので、ステップS110に処理を進める。ステップS110において、図3に示すメタデータテーブル30から“テーブルメタデータ規格”の「JPEGExif」が、最終のメタデータ規格の識別子ではないので、ステップS120に処理を進める。
ステップS120において、メタデータテーブル30の2つ目の「規格2」に該当するメタデータ規格の識別子「IPCT」を取得し、“テーブルメタデータ規格”に代入する。
次に、ステップS100において、“ファイルデータ規格”の「JPEG画像データ」と“テーブルメタデータ規格”の「IPCT」とを比較して、メタデータ規格が異なるので、ステップS110に処理を進める。ステップS110において、図3に示すメタデータテーブル30から“テーブルメタデータ規格”の「IPCT」が、最終のメタデータ規格の識別子ではないので、ステップS120に処理を進める。
ステップS120において、メタデータテーブル30の3つ目の「規格3」に該当するメタデータ規格の識別子「XMP」を取得し、“テーブルメタデータ規格”に代入する。
次に、ステップS100において、“ファイルデータ規格”の「JPEG画像データ」と“テーブルメタデータ規格”の「XMP」とを比較して、メタデータ規格が異なるので、ステップS110に処理を進める。ステップS110において、図3に示すメタデータテーブル30から“テーブルメタデータ規格”の「XMP」が、最終のメタデータ規格の識別子と判定する。したがって、“ファイルデータ規格”「JPEG画像データ」と“テーブルメタデータ規格”との判定処理を終了し、ステップS40に処理を戻す。
その後、ステップS60において、画像ファイル内のデータ規格が存在しなくなるまで上述した処理を繰り返す。その後、ステップS90において、図7のフローチャートに示す[メタデータテーブルとの照合]処理を実行した“ファイルデータ規格”識別子は、「JPEGExif」「IPCT」「XMP」となる。その後、ステップS70において、図9のフローチャートに示す[メタデータ表示]処理が終了すると、図6に示すようなUI画面をディスプレイ14に表示する。
ここで、図6に示す画像処理画面300は、終了ボタン310、画像選択領域320、メタデータ表示領域330から構成される。画像選択領域320には、ユーザ操作によって選択された画像ファイル340が表示される。メタデータ表示領域330には、選択された画像ファイル340に登録されているメタデータの全プロパティが表示される。図6の画像処理画面300において、黒塗りのセルは該当項目が設定不可または読取不可であることを示し、白塗りのセルは該当項目が設定可能または読取可能であるが値が未入力であることを示す。後述の図15および図17に示す画面においても同様である。
なお、図6に示す画面表示後の入力待ち中に、ユーザ操作により画像選択領域320内の何れかの画像ファイルがクリックされた場合、図2に示すフローチャートのステップS20においてYESに進む。そして、CPU10は、クリックされた画像ファイルを選択状態にし、メタデータ表示領域330にメタデータの表示処理を行う。また、終了ボタン310がクリックされた場合、図2に示すフローチャートのステップS130においてYESに進み、画像処理プログラムを終了する。
次に、図2に示すフローチャートのステップS90において呼び出される[メタデータテーブルとの照合]処理について図7に示すフローチャートを参照して説明する。図7に示すフローチャートは、画像処理装置20のCPU10が画像処理プログラムを実行することにより実現する。
この処理では、CPU10が画像ファイル内の1つのメタデータ規格に対応する複数のプロパティ識別子と図3に示すメタデータテーブル内のプロパティ識別子とを照合し、プロパティの項目を示すテーブルプロパティIDとプロパティデータとを取得する。また、CPU10は、取得したプロパティデータから、図8に示すような“メタデータ配列”200を作成する。“メタデータ配列”200は、画像ファイル内の“ファイルプロパティ”と図3に示すメタデータテーブル30内の“テーブルプロパティ”との照合に成功した場合に作成される。また、“メタデータ配列”200は、図2のステップS100において、画像ファイルに登録されている“ファイルデータ規格”と図3のメタデータテーブル30内の“テーブルメタデータ規格”とが同一と判定したメタデータ規格ごとに作成する。作成された“メタデータ配列”200は、例えばハードディスク11、メモリ12等に記憶される。
まず、ステップS300では、CPU10は、図2に示すフローチャートのステップS100で判定した“ファイルデータ規格”識別子に対して、図8に示す“メタデータ配列”200を作成し、初期化をする。次に、ステップS310では、CPU10は、“ファイルプロパティID”に「0」を代入する。次に、ステップS320では、CPU10は、“ファイルプロパティID”に「1」を加算する。
次に、ステップS330では、CPU10は、画像ファイル内の“ファイルデータ規格”から“ファイルプロパティID”番目に位置するプロパティ識別子を判定し、“ファイルプロパティ”にプロパティ識別子を代入する。次に、ステップS340では、CPU10は、“ファイルプロパティ”識別子が存在するか否かを判定する。存在する場合、ステップS350に処理を進める。
ステップS350では、CPU10は、“テーブルプロパティID”に「1」を代入する。次に、ステップS360では、CPU10は、図3に示すメタデータテーブル30から、“テーブルプロパティID”行に位置する“ファイルデータ規格”識別子と一致した“テーブルメタデータ規格”識別子と同一列の“テーブルプロパティ”識別子を取得する。
ステップS370では、CPU10は、取得した“テーブルプロパティ”識別子とステップS330において取得した“ファイルプロパティ”識別子とが同一プロパティ識別子であるか否かを判定する。“テーブルプロパティ”識別子と“ファイルプロパティ”識別子とが異なる場合、ステップS380に処理を進める。
ステップS380では、CPU10は、“テーブルプロパティID”が図3に示すメタデータテーブル30に登録されている最終のプロパティであるか否かを判定する。最終のプロパティではない場合、ステップS390に処理を進める。
ステップS390では、CPU10は、“テーブルプロパティID”に「1」を加算する。次に、ステップS360において、CPU10は、次の“テーブルプロパティID”に位置する“テーブルプロパティ”識別子を取得する。
ステップS370では、CPU10は、“テーブルプロパティID”が図3に示すメタデータテーブル30に登録されている最終のプロパティでない間、“テーブルプロパティ”と“ファイルプロパティ”とが同一プロパティ識別子であるか否かの判定を繰り返す。
ステップS380において、“テーブルプロパティID”が図3に示すメタデータテーブル30に登録されている最終のプロパティの場合、“テーブルプロパティ”識別子と“ファイルプロパティ”識別子との判定処理を終了する。また、ステップS370において、“テーブルプロパティ”識別子と“ファイルプロパティ”識別子とが同一と判定する場合、ステップS400に処理を進める。
ステップS400では、CPU10は、“ファイルデータ規格”に登録されている“ファイルプロパティ”識別子に相当するプロパティデータを取得し、“プロパティ値”に代入する。この処理は、取得手段の一例に対応する。
次に、ステップS410では、CPU10は、図3に示すメタデータテーブル30から、“テーブルプロパティID”に位置する“表示フォーマット”を取得する。この処理はフォーマット情報取得手段の一例に対応する。
次に、ステップS420では、CPU10は、プロパティデータが代入された“プロパティ値”をステップS410で取得した“表示フォーマット”に基づいて変換する。この処理は、フォーマット変換手段の一例に対応する。
次に、ステップS430では、ステップS300で作成した“メタデータ配列”に“テーブルプロパティID”とステップS420で“プロパティ値”を“表示フォーマット”に変換したプロパティデータとを追加する。このように、ステップS430では、テーブルプロパティIDとプロパティデータとを関連付けて、メタデータ配列に保持する。この処理は、保持手段の一例に対応する。
次に、ステップS320に処理を戻し、CPU10は、“ファイルプロパティID”に「1」を加算する。その後、ステップS340において、CPU10は、画像ファイル内の“ファイルプロパティ”が存在する間、ステップS370において、“ファイルプロパティ”識別子と“テーブルプロパティ”識別子との比較処理を繰り返す。画像ファイル内における“ファイルデータ規格”識別子に相当する“テーブルプロパティ”識別子が存在しない場合、又は認識可能な全てのプロパティ識別子の照合処理が終了した場合、[メタデータテーブルとの照合]処理を終了する。その後、図2に示すフローチャートのステップS90に処理を戻し、ステップS40の処理に移行する。
以下、図7に示すフローチャートの処理について具体的に説明する。なお、図7に示すフローチャートの主体は、画像処理装置20のCPU10であり、以下では省略して説明する。ここでは、図5に示す画像ファイル140のうち、「JPEGExif」150を例にして説明する。すなわち、“ファイルデータ規格”識別子が「JPEGExif」であると判定した状態において、図2に示すフローチャートのステップS90で、図7に示す[メタデータテーブルとの照合]処理が呼び出された場合の処理について説明する。
まず、ステップS300において、“ファイルデータ規格”識別子である「JPEGExif」に対応する“メタデータ配列”を作成し、初期化する。具体的には、図8に示すようなメタデータ配列「配列0[JPEGExif]」210を作成する。
その後、図5に示す画像ファイル140の“ファイルデータ規格”識別子の「JPEGExif」に相当するJPEGExifメタデータ規格150のデータを読み込む。ステップS330において、JPEGExifメタデータ規格150内の“ファイルプロパティID”「1」番目に位置するプロパティ識別子を判定し、“ファイルプロパティ”に「DataTime」識別子を代入する。
その後、ステップS360において、図3に示すメタデータテーブル30から、“テーブルプロパティID”「1」行に対応する“テーブルメタデータ規格”「JPEGExif」識別子の列から「DataTime」識別子を取得する。また、取得した「DataTime」識別子を、“テーブルプロパティ”に代入する。
次に、ステップS370において、ステップS330で取得した“ファイルプロパティ”識別子の「DataTime」とステップS360で取得した“テーブルプロパティ”識別子の「DataTime」とが同一であると判定する。したがって、ステップS400に処理を進める。
次に、ステップS400において、図5に示すJPEGExifメタデータ規格150内の“ファイルプロパティ”識別子の「DataTime」に相当するプロパティデータ「2006/12/24 12:00:00」を取得し、“プロパティ値”に代入する。
次に、ステップS410において、図3に示すメタデータテーブル30から“テーブルプロパティID”「1」に対応する“表示フォーマット”「YYYY/MM/DD HH:MM:SS」を取得する。次に、ステップS420において、ステップS400で取得した“プロパティ値”「2006/12/24 12:00:00」を、ステップS410で取得した“表示フォーマット”「YYYY/MM/DD HH:MM:SS」にしたがい、表示形式を変換する。次に、ステップS430において、ステップS300で作成した“メタデータ配列”「配列0[JPEGExif]」に“テーブルプロパティID”「1」と“プロパティ値”「2006/12/24 12:00:00」とを追加する。
次に、ステップS320において、“ファイルプロパティID”に「1」を加算する。次に、ステップS330において、図5に示すJPEGExifメタデータ規格150内の“ファイルプロパティID”「2」番目に位置するプロパティ識別子を判定し、“ファイルプロパティ”に「DataTimeOriginal」識別子を代入する。
その後、ステップS360において、図3に示すメタデータテーブル30から、“テーブルプロパティID”「1」行に対応する“テーブルメタデータ規格”「JPEGExif」識別子の列から「DataTime」を取得し、“テーブルプロパティ”に代入する。
次に、ステップS370において、ステップS330で取得した“ファイルプロパティ”識別子の「DataTimeOriginal」とステップS360で取得した“テーブルプロパティ”識別子の「DataTime」とが異なると判定する。したがって、ステップS380に処理を進める。
その後、ステップS390において、“テーブルプロパティID”に「1」を加算する。次に、ステップS360において、図3に示すメタデータテーブル30から、“テーブルプロパティID”「2」行に対応する“テーブルメタデータ規格”「JPEGExif」識別子の列から「」を取得し、“テーブルプロパティ”に代入する。
次に、ステップS370では、“ファイルプロパティ”識別子の「DataTimeOriginal」と“テーブルプロパティ”識別子の「」とが異なると判定する。したがって、ステップS380及びステップS390に処理を進める。
このように、“ファイルプロパティ”識別子の「DataTimeOriginal」と次の“テーブルプロパティ”識別子との照合処理を繰り返す。
その後、“テーブルプロパティID”が「4」の場合、“テーブルプロパティ”識別子が「DataTimeOriginal」になる。したがって、ステップS370において“ファイルプロパティ”識別子の「DataTimeOriginal」と“テーブルプロパティ”識別子の「DataTimeOriginal」とが同一であると判定する。したがって、ステップS400に処理を進める。
その後、ステップS430において、ステップS300で作成した“メタデータ配列”「配列0[JPEGExif]」に“テーブルプロパティID”「4」と“プロパティ値”「2006/12/24 12:00:00」とを追加する。
また、図5に示す画像ファイル140内の「JPEGExif」150内の4つのプロパティ識別子の照合処理が終了すると、図8に示すような、「配列0[JPEGExif]」210が作成される。すなわち、「配列0[JPEGExif]」210には、「DataTime」、「DataTimeOriginal」「Artist」及び「Copyright」の“テーブルプロパティ”識別子に対応したプロパティデータが追加される。
また、図2に示すフローチャートのステップS90では、図5に示す画像ファイル140内の「XMP」170及び「IPCT」180のメタデータ規格についても同様に[テーブルメタデータとの照合]処理が行われる。3つのメタデータ規格それぞれに対して[テーブルメタデータとの照合]処理が終了すると、図8に示すように、「配列0[JPEGExif]」210、「配列1[XMP]」220及び「配列2[IPCT]」230の3つのメタデータ配列が作成される。
次に、図2に示すフローチャートのステップS70において呼び出される[メタデータ表示]処理について図9に示すフローチャートを参照して説明する。図9に示すフローチャートは、画像処理装置20のCPU10が画像処理プログラムを実行することにより実現する。
この処理では、CPU10が作成した図8に示すメタデータ配列内の“テーブルプロパティID”に基づき、図3に示すメタデータテーブル30を参照し、画像ファイルに登録されているメタデータ規格内のプロパティデータを同一画面上に表示する。なお、本実施形態では、図3に示すメタデータテーブル30に従い、“表示フォーマット”にUNICODE文字が設定されている場合について説明するが、言語等の環境に応じて、文字コードを変換してもよい。
まず、ステップS500では、CPU10は、各メタデータ配列に対応する“メタデータ規格”名を画面に並べて表示する。次に、ステップS510では、CPU10は、“プロパティID”に「1」を代入する。次に、ステップS520では、CPU10は、“メタデータ配列番号”に「0」を代入する。
次に、ステップS530では、CPU10は、“メタデータ配列番号”と“メタデータ配列総数”とを比較する。ここで、“メタデータ配列総数”が“メタデータ配列番号”より大きい場合、ステップS540に処理を進める。
ステップS540では、CPU10は、“配列ID”に「0」を代入する。
次に、ステップS550では、CPU10は、“メタデータ配列番号”に位置する“メタデータ配列”から“配列ID”に位置する“テーブルプロパティID”を取得する。
次に、ステップS560では、CPU10は、“テーブルプロパティID”と“プロパティID”とが同一か否かを判定する。同一の場合、ステップS570に処理を進める。
ステップS570では、CPU10は、“メタデータ配列番号”に位置する“メタデータ配列”から“配列ID”番目の“プロパティ値”を取得する。次に、ステップS580では、CPU10は、“メタデータ配列番号”と“プロパティ値”とをメモリ12等に保持する。次に、ステップS590では、CPU10は、“配列ID”がメタデータ配列内の最終項目か否かを判定する。最終項目でない場合、ステップS600に処理を進める。
ステップS600では、CPU10は、“配列ID”に「1」を加算する。
次に、ステップS550において、CPU10は、次の“配列ID”に位置する“テーブルプロパティID”を取得する。次に、ステップS560において、CPU10は、取得した“テーブルプロパティID”と“プロパティID”とを比較する。
なお、ステップS590において、“配列ID”がメタデータ配列内の最終項目の場合、ステップS610に処理を進める。ステップS610では、CPU10は、“メタデータ配列番号”に「1」を加算する。
次に、ステップS530において、CPU10は、“メタデータ配列番号”と“メタデータ配列総数”とを比較する。ここで、“メタデータ配列総数”と“メタデータ配列番号”とが同一の場合、ステップS620に処理を進める。
ステップS620では、CPU10は、図3に示すメタデータテーブル30から“プロパティID”と同値の“テーブルプロパティID”に位置する“種類”31、“項目名”32の文字列を取得する。
次に、ステップS630では、CPU10は、ステップS620で取得した文字列を“プロパティID”に対応する画面の表示欄に表示する。次に、ステップS640では、CPU10は、“プロパティID”に対応する、ステップS580で保持した“メタデータ配列番号”と対応する“メタデータ規格”名の位置に“プロパティ値”をそれぞれ並べて表示する。
次に、ステップS650において、CPU10は、図3に示すメタデータテーブル30に基づいて“プロパティID”と同値の“テーブルプロパティID”が最終項目か否かを判定する。最終項目ではない場合、ステップS660に処理を進める。ステップS660において、CPU10は、“プロパティID”に「1」を加算する。このようにして、全メタデータ配列に対して、“プロパティID”に対応する“テーブルプロパティID”があるか否かを判定して、存在する場合、CPU10は、“プロパティ値”の表示を繰り返す。
以下、図9に示すフローチャートの処理について具体的に説明する。なお、図9に示すフローチャートの主体は、画像処理装置20のCPU10であり、以下では省略して説明する。ここでは、図8に示す「配列0[JPEGExif]」210、「配列1[XMP]」220、「配列2[IPCT]」230の3つのメタデータ配列を例にして説明する。すなわち、図2に示すフローチャートにおいて、図8に示すメタデータ配列が作成された状態において、ステップS70で、図9に示す[メタデータ表示]処理が呼び出された場合の処理について説明する。
まず、ステップS500において、メタデータ配列の“メタデータ規格”名である「JPEGExif」、「XMP」及び「IPCT」を3つ並べて表示する。その後、図8に示す全メタデータ配列内に“プロパティID”「1」に対応する”テーブルプロパティID”が登録されているかを確認する処理に移行する。ステップS550において、図8に示す“メタデータ配列番号”「0」であるメタデータ配列「配列0[JPEGExif]」210から“配列ID”「0」に位置する“テーブルプロパティID”「1」を取得する。
次に、ステップS560において、“テーブルプロパティID”「1」と“プロパティID”「1」とが同一であると判定するので、ステップS570に処理を進める。
ステップS570において、“配列ID”「0」に位置する“プロパティ値”「2006/12/24 12:00:00」を取得する。次に、ステップS580において、“メタデータ配列番号”「0」と“プロパティ値”「2006/12/24 12:00:00」とを保持する。その後、ステップS600において、“配列ID”に「1」を加算する。
なお、ステップS590において、メタデータ配列内の全プロパティについて、確認が終了した場合、ステップS610に処理を進める。ステップS610において、“メタデータ配列番号”に「1」を加算する。したがって、ステップS530以降では、図8に示す“メタデータ配列番号”「1」である「配列1[XMP]」220内について“プロパティID”と同値の“テーブルプロパティID”の“プロパティ値”を取得する処理を行う。ここで、“プロパティID”「1」に対応する図8に示す全メタデータ配列について上述した処理が終了した場合に保持されているプロパティ値は以下の3項目である。
第1に“メタデータ配列番号”「0」番目に位置する“プロパティ値”は「2006/12/24 12:00:00」である。
第2に“メタデータ配列番号”「1」番目に位置する“プロパティ値”は「2007/11/24 09:15:00」である。
第3に、“メタデータ配列番号”「2」番目に位置する“プロパティ値”は「2006/12/24 12:00:00」である。
その後、ステップS530において、“メタデータ配列番号”と“メタデータ配列総数”とが同一値であると判定するので、ステップS620に処理を進める。
ステップS620において、図3に示すメタデータテーブル30より、“プロパティID”「1」に基づいて“種類”として文字列「日時」及び“項目名”として文字列「更新日時」を取得する。次に、ステップS630において、取得した文字列「日時」及び「更新日時」を並べて表示する。更に、ステップS640において、上述した3項目の“プロパティ値”を並べて表示する。
次に、ステップS650において、“プロパティID”「1」がメタデータテーブル30内における最終項目ではないと判定するので、ステップS660に処理を進める。
ステップS660において、“プロパティID”に「1」を加算して、図8に示すメタデータ配列内から“プロパティID”「2」に該当する“プロパティ値”を検索する。
その後、全ての“プロパティ値”を表示すると、ステップS650からYESに進み、[メタデータ表示]処理を終了する。ここで、[メタデータ表示]処理が終了したときに表示される画像選択時のUI画面について図6を参照して説明する。図6に示すように、メタデータ表示領域330には、種類表示欄350、項目名表示欄360、各メタデータ規格のプロパティデータの表示欄370、380、390が表示されている。プロパティ表示欄370には、“ファイルメタデータ規格”としての「JPEGExif」のプロパティデータが表示されている。また、プロパティ表示欄380には、“ファイルメタデータ規格”としての「XMP」のプロパティデータが表示されている。また、プロパティ表示欄390には、“ファイルメタデータ規格”としての「IPCT」のプロパティデータが表示されている。また、メタデータ表示領域330では、各“種類”及び各“項目名”に対応付けられて、それぞれメタデータ規格の各プロパティデータが同一画面上に並べて表示されている。
なお、メタデータテーブル30には、プロパティ識別子の項目のうち、関連度合いの高い項目ごとに“種類”に分けて記憶されている。すなわち、メタデータテーブル30には、例えば、図3に示す“種類”32の「日時」には、“項目名”として、関連度合いの高い「更新日時」「更新日時」及び「メタデータ作成日時」に分かれ、互いに近接したプロパティIDが設定されて、記憶されている。したがって、図6に示すように、プロパティデータをUI画面に表示するときには、関連度合いの高いプロパティデータが近接して表示される。
このように、本実施形態によれば、1つの画像ファイル内に複数のメタデータ規格が存在する場合であっても、メタデータ規格内に存在するプロパティを各メタデータ規格ごとに同一画面上に並べて表示する。したがって、ユーザは、メタデータ規格内に登録されている多数のプロパティについて、同一項目のプロパティの重複登録や同期が取れているかを容易に確認することができる。
また、本実施形態の画像処理装置は、多数のプロパティを分類するためにメタデータテーブル30を有している。メタデータテーブル30には、多数のプロパティを分類するための“種類”32を有している。そして、CPU10は、“種類”32内に同じ文字列を設定した場合、同類プロパティと判断した。同類プロパティ内に複数の関連度合いを設定したい場合、“種類”32を複数に分けるようにしてもよい。また、関連度合いに優先度を設定し、優先度の高いものを集合させるように表示させてもよい。
また、本実施形態の画像処理装置は、プロパティの表示フォーマットを統一するために、メタデータテーブル30内に“表示フォーマット”34を有し、プロパティ表示をするときには、“表示フォーマット”に基づいて変換したプロパティを表示している。したがって、表示形式を揃えたいプロパティの“表示フォーマット”34を同一にすることにより、プロパティの表示形式を統一することができる。また、文字列の表示形式を“表示フォーマット”34にUNICODEを指定することにより、文字コードを指定している。しかしながら、言語等の環境に応じて、文字コードを変換してもよい。
また、縮小画像上で、表現することができるような画像エリア等に関するプロパティは、メタデータテーブル30の“表示フォーマット”34に縮小画像を設定してもよい。このように設定することで、図6に示すUI画面には、プロパティを縮小画像で表示することができる。
(第2の実施形態)
次に、第2の実施形態に係る画像処理装置について説明する。本実施形態に係る画像処理装置は、図1に示すブロック図の構成と同様であり、その説明は省略する。
本実施形態に係る画像処理装置は、図2に示すフローチャートのステップS70における[メタデータ表示]処理が第1の実施形態と異なるものである。なお、ステップS70における[メタデータ表示]処理以外は、第1の実施形態と同様であり、その詳細な説明は省略する。ここで、図2に示すフローチャートのステップS70において実行される本実施形態に係る[メタデータ表示]処理について、図10に示すフローチャートを参照して説明する。
なお、以下では、複数のメタデータ規格ごとにプロパティ(プロパティデータ)の示す項目、詳しくはプロパティ識別子が記憶されたメタデータテーブルとして、図3に示すメタデータテーブル30を用いる。図3に示すメタデータテーブル30は、第1の実施形態と同様であり、詳細は省略する。
また、以下では、メタデータ規格に対応する画像ファイル内の“ファイルプロパティ”と、図3に示すメタデータテーブル30内の“テーブルプロパティ”の照合に成功した場合に作成される「メタデータ配列」として、図8に示す「メタデータ配列」を用いる。図8に示す「メタデータ配列」は第1の実施形態と同様であり、詳細は省略する。
まず、図10に示すフローチャートにおいて、ステップS200では、CPU10は、後述する図11のフローチャートに示す[相違フラグ設定]処理を実行する。
次に、ステップS205では、CPU10は、“プロパティ表示切替”に「全表示」を設定する。次に、ステップS210では、CPU10は、“プロパティ切替表示”の設定が「全表示」であるか「相違表示」であるかを判定する。“プロパティ切替表示”の設定が「全表示」の場合、ステップS215に処理を進める。ステップS215では、CPU10は、後述する図14のフローチャートに示す[プロパティ全表示]処理を実行する。また、ステップS210において、“プロパティ切替表示”の設定が「相違表示」の場合、ステップS220に処理を進める。ステップS220では、CPU10は、図16のフローチャートに示す[相違プロパティ表示]処理を実行する。その後、CPU10は、“プロパティ表示切替”に応じて、プロパティ表示を切り替える。
次に、ステップS225では、CPU10は、プロパティ表示切替ボタンを表示して、ユーザの入力を待機する。次に、ステップS230では、CPU10は、ユーザ入力待ち中に“プロパティ表示切替”ボタンが押されたか否かを判定する。すなわち、CPU10は、ユーザ操作により表示切替操作を検出したか否か判定する。この処理は、検出手段の一例に対応する。“プロパティ表示切替”ボタンが押された場合、ステップS235に処理を進める。ステップS235では、CPU10は、“プロパティ表示切替”に表示切替情報を代入する。次に、ステップS210に処理を進める。ステップS210では、CPU10は、“プロパティ表示切替”の設定を判定する。
次に、図10に示すフローチャートのステップS200において呼び出される[相違フラグ設定]処理について図11に示すフローチャートを参照して説明する。図11に示すフローチャートは、画像処理装置20のCPU10が画像処理プログラムを実行することにより実現する。
この処理では、CPU10が図8に示すメタデータ配列に登録されている全てのメタデータ配列を確認し、所定の条件に基づいて相違フラグを設定する。また、CPU10は、図11に示すフローチャートの処理を実行すると、図13に示すような相違フラグが設定されたメタデータ配列400を作成する。
まず、ステップS900では、CPU10は、“プロパティID”に「1」を代入する。次に、ステップS910では、CPU10は、“相違フラグ”に「OFF」を代入すると共に、“比較プロパティ値”に「」(未設定)を代入する。次に、ステップS920では、CPU10は、“メタデータ配列番号”に「0」を代入する。
次に、ステップS930では、CPU10は、“メタデータ配列番号”と“メタデータ配列総数”とを比較する。ここで、“メタデータ配列総数”が“メタデータ配列番号”より大きい場合、ステップS940に処理を進める。
ステップS940では、CPU10は、“配列ID”に「0」を代入する。
次に、ステップS950では、CPU10は、“メタデータ配列番号”に位置する“メタデータ配列”から、“配列ID”に位置する“テーブルプロパティID”と“プロパティ値”とを取得する。
次に、ステップS960では、CPU10は、“テーブルプロパティID”と“プロパティID”とが同一か否かを判定する。同一の場合、ステップS970に処理を進める。
次に、ステップS980では、CPU10は、“比較プロパティ値”が設定済みか否かを判定する。具体的には、“比較プロパティ値”が「」(未設定)であるか否かを判定する。“比較プロパティ値”が設定されていない場合、すなわち“比較プロパティ値”が「」(未設定)である場合、ステップS990に処理を進める。ステップS990では、CPU10は、“比較プロパティ値”にステップS950で取得した“プロパティ値”を代入する。
なお、ステップS970において、“比較プロパティ値”が設定されている場合、すなわち“比較プロパティ値”が「」(未設定)でない場合、ステップS980に処理を進める。ステップS980では、CPU10は、S950で取得した“プロパティ値”と“比較プロパティ値”とが同じ値であるか否かを判定する。このステップS980の処理は、複数のメタデータ規格のプロパティデータが同一項目間で相違するか否かを判定する処理である。この処理は、相違判定手段の一例に対応する。“比較プロパティ値”と“プロパティ値”とが同じ値である場合、ステップS1000に処理を進める。
ステップS1000では、CPU10は、“配列ID”がメタデータ配列内の最終項目であるか否かを判定する。最終項目でない場合、ステップS1020に処理を進める。ステップS1020では、CPU10は、“配列ID”に「1」を加算する。
次に、ステップS950では、次の“配列ID”に位置する“テーブルプロパティID”を取得する。次に、ステップS960では、CPU10は、取得した“テーブルプロパティID”と“プロパティID”とを比較する。
なお、ステップS1000において、“配列ID”がメタデータ配列内の最終項目の場合、ステップS1010に処理を進める。ステップS1010では、CPU10は、“メタデータ配列番号”に「1」を加算する。次に、ステップS930以降で、CPU10は、次のメタデータ配列内についての“テーブルプロパティID”と“プロパティID”とを判定する処理に移行する。
また、ステップS930において、“メタデータ配列番号”と“メタデータ配列総数”とが同一の場合、ステップS1040に処理を進める。ステップS1040では、CPU10は、後述する図12のフローチャートに示す[相違フラグ登録]処理に移行する。
また、ステップS980において、“比較プロパティ値”と“プロパティ値”とが異なると判定した場合、ステップS1030に処理を進める。ステップS1030では、CPU10は、“相違フラグ”を「ON」に設定して、後述する図12のフローチャートに示す[相違フラグ登録]処理に移行する。
また、ステップS1050では、CPU10は、図3に示すメタデータテーブル30に基づいて、“プロパティID”が最終項目か否かを判定する。最終項目でない場合、ステップS1060に処理を進める。ステップS1060では、CPU10は、“プロパティID”に「1」を加算する。その後、CPU10は、全メタデータ配列に対して、“プロパティID”に対応する“プロパティ値”が相違するかを確認し、“相違フラグ”の登録を繰り返す。
次に、図11に示すフローチャートのステップS1040において呼び出される[相違フラグ登録]処理について図12に示すフローチャートを参照して説明する。図12に示すフローチャートは、画像処理装置20のCPU10が画像処理プログラムを実行することにより実現する。
この処理では、CPU10が、指定された“プロパティID”(以下では“指定プロパティID”)が登録されているメタデータ配列を検索し、図11に示すフローチャートのステップS1040の呼び出し時に指定された“相違フラグ”を登録する。
まず、ステップS1100では、CPU10は、“メタデータ配列番号”に「0」を代入する。ステップS1110では、CPU10は、“メタデータ配列番号”と“メタデータ配列総数”とを比較する。ここで、“メタデータ配列総数”が“メタデータ配列番号”より大きい場合、ステップS1120に処理を進める。ステップS1120では、CPU10は、“配列ID”に「0」を代入する。
次に、ステップS1130では、CPUは、“メタデータ配列番号”に位置する“メタデータ配列”から、“配列ID”に位置する“テーブルプロパティID”を取得する。
次に、ステップS1140では、CPU10は、“テーブルプロパティID”と“指定プロパティID”とが同一か否かを判定する。同一の場合、ステップS1150に処理を進める。
ステップS1150では、CPU10は、“相違フラグ”を追加して登録する。次に、ステップS1160では、CPU10は、“配列ID”がメタデータ配列内の最終項目か否かを判定する。最終項目でない場合、ステップS1170に処理を進める。ステップS1170では、CPU10は、“配列ID”に「1」を加算する。次に、ステップS1130において、CPU10は、次の“配列ID”に位置する“テーブルプロパティID”を取得する。ステップS1140では、CPU10は、取得した“テーブルプロパティID”と“指定プロパティID”とが同一か否かを判定する。
なお、ステップS1160において、“配列ID”がメタデータ配列内の最終項目である場合、ステップS1180に処理を進める。ステップS1180では、CPU10は、“メタデータ配列番号”に「1」を加算する。その後、CPU10は、次のメタデータ配列内に“指定プロパティID”と同一の“テーブルプロパティID”が存在するかの処理を行う。
また、ステップS1110において、“メタデータ配列番号”と“メタデータ配列総数”とが同一の場合、[相違フラグ登録]処理を終了して、図11に示すフローチャートのステップS1040に処理を戻す。
以下、図11のフローチャートに示す[相違フラグ設定]処理について具体的に説明する。なお、図11に示すフローチャートの主体は、画像処理装置20のCPU10であり、以下では省略して説明する。ここでは、図8に示すメタデータ配列を例にして説明する。
まず、ステップS900において、“プロパティID”に「1」を代入する。以降の処理は、図8に示す全メタデータ配列内に“プロパティID”「1」に対応するプロパティ値が登録されているかを確認する処理である。
ステップS910において、“相違フラグ”に「OFF」を代入すると共に、“比較プロパティ値”に「」(未設定)を代入する。次に、ステップS920では、“メタデータ配列番号”に「0」を代入することで、図8に示すメタデータ配列のうち、“メタデータ配列番号”「0」である「配列0[JPEGExif]」210に対して処理を実行する。
その後、ステップS950において、“配列ID”「0」に位置する“テーブルプロパティID”「1」と“プロパティ値”「2006/12/24 12:00:00」とを取得する。次に、ステップS960において、“テーブルプロパティID”「1」と“プロパティID”「1」とが一致するので、ステップS970に処理を進める。
ステップS970において、“比較プロパティ値”が未設定であるので、ステップS990に処理を進める。ステップS990では、取得した“プロパティ値”「2006/12/24 12:00:00」を“比較プロパティ値”に代入する。
ステップS1000において、“配列ID”「0」がメタデータ配列「配列0[JPEGExif]」210の最終ではないので、ステップS1020に処理を進める。
ステップS1020では、“配列ID”に「1」を加算する。
その後、“プロパティID”「1」について、上述した処理を繰り返して行った後、ステップS1000において、“配列ID”がメタデータ配列内の最終と判定されるので、ステップS1010に処理を進める。ステップS1010では、“メタデータ配列番号”に「1」を加算する。したがって、次に、“メタデータ配列番号”「1」である図8に示すメタデータ配列「配列1[XMP]」220に対して処理を実行する。
ステップS950において、“配列ID”「0」に位置する“テーブルプロパティID”「1」と“プロパティ値”「2007/11/24 09:15:00」を取得する。次に、ステップS960において、“テーブルプロパティID”「1」と“プロパティID”「1」とが一致するので、ステップS970に処理を進める。
ステップS970において、“比較プロパティ値”が設定済みなので、ステップS980に処理を進める。ステップS980において、ステップS950で取得した“プロパティ値”「2007/11/24 09:15:00」と“比較プロパティ値”「2006/12/24 12:00:00」とが同一ではないと判定するので、ステップS1030に処理を進める。
ステップS1030において、 “相違フラグ”に「ON」を代入する。
次に、ステップS1040において、“プロパティID”「1」、“相違フラグ”「ON」に設定された状態で、図12のフローチャートに示す[相違フラグ登録]処理を呼び出す。[相違フラグ登録]処理が終了した後、ステップS1050において、“プロパティID”が図3に示すメタデータテーブル30内の最終項目か否かを判定する。ここでは、最終項目ではないので、“プロパティID”に「1」を加算して、図8に示すメタデータ配列から“プロパティID”「2」に該当する“プロパティ値”を検索する。
その後、ステップS950において、図8に示すメタデータ配列「配列0[JPEGExif]」210から“配列ID”「0」に位置する“テーブルプロパティID”「1」と“プロパティ値”「2006/12/24 12:00:00」とを取得する。ステップS960において、“テーブルプロパティID”「1」と“プロパティID”「2」とが異なるので、ステップS1000に処理を進める。その後、ステップS1020において、“配列ID”に「1」を加算して、“プロパティID”「2」の確認を繰り返す。
メタデータ配列内の全プロパティの確認を終了すると、ステップS1000において、“配列ID”がメタデータ配列内の最終であると判定し、ステップS1010に処理を進める。ステップS1010において、“メタデータ配列番号”に「1」を加算する。
次に、図8に示す“メタデータ配列番号”「1」のメタデータ配列「配列1[XMP]」220を検索する。その後、ステップS950において、図8に示すメタデータ配列「配列1[XMP]」220から“配列ID”「0」に位置する“テーブルプロパティID”「1」と“プロパティ値”「2007/11/24 09:15:00」とを取得する。その後、ステップS1000において、“配列ID”「0」がメタデータ配列「配列1[XMP]」220の最終でないと判定するので、ステップS1020に処理を進める。ステップS1020において、“配列ID”に「1」を加算する。
その後、ステップS950において、“配列ID”「1」に位置する“テーブルプロパティID”「2」と“プロパティ値”「2006/12/24 12:00:00」とを取得する。その後、ステップS970において、“比較プロパティ値”が未設定であるので、ステップS990に処理を進める。ステップS990において、ステップS950で取得した“プロパティ値”「2006/12/24 12:00:00」を“比較プロパティ値”に代入する。
ステップS1000において、“配列ID”「1」がメタデータ配列「配列1[XMP]」220の最終ではないと判定するので、ステップS1020に処理を進める。ステップS1020において、“配列ID”に「1」を加算する。
その後、“プロパティID”「2」の確認を繰り返す。メタデータ配列内の全プロパティ値の確認を終了した後、ステップS1010において、“メタデータ配列番号”に「1」を加算する。
その後、図8に示す“メタデータ配列番号”「2」のメタデータ配列「配列2[IPCT]」230を検索する。その後、全メタデータ配列の検索が終了すると、ステップS930において“メタデータ配列番号”「3」と“メタデータ配列総数”「3」とが同一と判定するので、ステップS1040に処理を進める。
ステップS1040において、“プロパティID”「2」、“相違フラグ”「OFF」に設定された状態で、図12のフローチャートに示す[相違フラグ登録]処理を呼び出す。[相違フラグ登録]処理が終了した後、ステップS1050において、“プロパティID”が図3に示すメタデータテーブル30内の最終項目か否かを判定する。ここでは、最終項目ではないので、“プロパティID”に「1」を加算して、図8に示すメタデータ配列から“プロパティID”「3」に該当する“プロパティ値”の検索と相違フラグ設定とを実行する。
図3に示すメタデータテーブル30内の“プロパティID”の検索と相違フラグ設定とが終了すると、ステップS1050において“プロパティID”の最終項目と判定するので、[相違フラグ設定]処理を終了する。そして、図13に示す相違フラグを有するメタデータ配列400を作成する。
ここで、図13に示すメタデータ配列400には、図8に示すメタデータ配列に相違フラグが追加して登録されている。例えば、メタデータ配列のうち、メタデータ配列「配列0[JPEGExif]」410では、“テーブルプロパティID”「1」に“相違フラグ”として「ON」が設定されている。なお、上述した図10及び図11に示す処理では、複数のメタデータ規格間において、同一項目間で少なくとも1つ以上のプロパティ値が他のプロパティ値と相違する場合、全てのメタデータ配列の“相違フラグ”に「ON」が設定される。具体的には、図13に示すメタデータ配列400のうち、“テーブルプロパティID”「1」に対応する「配列0[JPEGExif]」410と「配列2[IPTC]」430とのプロパティ値は同一である。しかしながら、各メタデータ配列の全ての“テーブルプロパティID”「1」に“相違フラグ”として「ON」が設定される。
次に、図10に示すフローチャートのステップS215において呼び出される[プロパティ全表示]処理について図14に示すフローチャートを参照して説明する。
まず、ステップS700では、CPU10は、メタデータ配列に対応する“メタデータ規格”名を画面に並べて表示する。次に、ステップS705では、CPU10は、“プロパティID”に「1」を代入する。次に、ステップS710では、“メタデータ配列番号”に「0」を代入する。
次に、ステップS715では、CPU10は、“メタデータ配列番号”と“メタデータ配列総数”とを比較する。ここで、“メタデータ配列総数”が“メタデータ配列番号”より大きい場合、ステップS720に処理を進める。
ステップS720では、CPU10は、“配列ID”に「0」を代入する。
次に、ステップS725では、CPU10は、“メタデータ配列番号”に位置する“メタデータ配列”から“配列ID”に位置する“テーブルプロパティID”を取得する。
次に、ステップS730では、CPU10は、“テーブルプロパティID”と“プロパティID”とが同一か否かを判定する。同一の場合、ステップS735に処理を進める。
ステップS735では、CPU10は、“メタデータ配列番号”に位置する“メタデータ配列”から、“配列ID”番目の“プロパティ値”と“相違フラグ”とを取得する。次に、ステップS740では、CPU10は、“メタデータ配列番号”と“プロパティ値”と“相違フラグ”とをメモリ12等に保持する。次に、ステップS745では、CPU10は、“配列ID”がメタデータ配列内の最終項目か否かを判定する。最終項目でない場合、ステップS755に処理を進める。
ステップS755では、CPU10は、“配列ID”に「1」を加算する。
次に、ステップS725において、CPU10は、次の“配列ID”に位置する“テーブルプロパティID”を取得する。次に、ステップS730において、CPU10は、取得した“テーブルプロパティID”と“プロパティID”とを比較する。
なお、ステップS745において、“配列ID”がメタデータ配列内の最終項目の場合、ステップS750に処理を進める。ステップS750では、CPU10は、“メタデータ配列番号”に「1」を加算する。
また、ステップS715において、CPU10は、“メタデータ配列番号”と“メタデータ配列総数”とが同一の場合、ステップS760に処理を進める。
ステップS760では、CPU10は、図3に示すメタデータテーブル30から“プロパティID”と同値の“テーブルプロパティID”に位置する“種類”及び“項目名”の文字列を取得する。
次に、ステップS765では、CPU10は、ステップS760で取得した文字列を“プロパティID”に対応する画面の表示欄に表示する。次に、ステップS770では、CPU10は、“プロパティID”に対応するメタデータ規格の位置に、ステップS740で保持した“メタデータ配列番号”に対応する“メタデータ規格”の位置に“プロパティ値”をそれぞれ並べて表示する。
次に、ステップS775では、CPU10は、ステップS740で保持した“相違フラグ”が「ON」であるか否かを判定する。“相違フラグ”が「ON」の場合、ステップS780に処理を進める。ステップS780では、CPU10は、ステップS770で表示した“プロパティ値”に“相違フラグ”がONで設定されていることを示す識別表示を行う。具体的には、CPU10は、“プロパティ値”の背景をハイライトで表示する。次に、ステップS785では、CPU10は、図3に示すメタデータテーブル30に基づいて、“プロパティID”が最終項目か否かを判定する。最終項目ではない場合、ステップS790に処理を進める。ステップS790において、CPU10は、“プロパティID”に「1」を加算する。このようにして、全メタデータ配列に対して、“プロパティID”に対応する“テーブルプロパティID”があるか否かを判定して、存在する場合、CPU10は、“プロパティ値”の表示を繰り返す。
以下、図14に示すフローチャートの処理について具体的に説明する。なお、図14に示すフローチャートの主体は、画像処理装置20のCPU10であり、以下では省略して説明する。ここでは、図13に示す「配列0[JPEGExif]」410、「配列1[XMP]」420、「配列2[IPCT]」430の3つのメタデータ配列を例にして説明する。すなわち、図10に示すフローチャートにおいて、図13に示すメタデータ配列が作成された状態において、ステップS215で、[プロパティ全表示]処理が呼び出された場合の処理について説明する。
まず、ステップS700において、図13に示すメタデータ配列の“メタデータ規格”名である「JPEGExif」、「XMP」及び「IPCT」を3つ並べて表示する。その後、図13に示す全メタデータ配列内に“プロパティID”「1」に対応する“プロパティ値”が登録されているかを確認する処理に移行する。ステップS725において、図13に示す“メタデータ配列番号”「0」であるメタデータ「配列0[JPEGExif]」410から“配列ID”「0」に位置する“テーブルプロパティID”「1」を取得する。
次に、ステップS730において、“テーブルプロパティID”「1」と“プロパティID”「1」とが同一であると判定するので、ステップS735に処理を進める。
ステップS735において、“配列ID”「0」に位置する“プロパティ値”「2006/12/24 12:00:00」と“相違フラグ”「ON」とを取得する。次に、ステップS740において、“メタデータ配列番号”「0」と“プロパティ値”「2006/12/24 12:00:00」と“相違フラグ”「ON」とを保持する。その後、ステップS755において、“配列ID”に「1」を加算する。
なお、メタデータ配列「配列0[JPEGExif]」410内の全プロパティについて確認を終了すると、ステップS745において、“配列ID”がメタデータ配列内の最終項目であると判定し、ステップS750に処理を進める。ステップS750において、“メタデータ配列番号”に「1」を加算する。したがって、ステップS725以降では、図13に示す“メタデータ配列番号”「1」のメタデータ配列「配列1[XMP]」420内について“プロパティID”と同値の“テーブルプロパティID”の“プロパティ値”と“相違フラグ”とを取得する処理を行う。ここで、“プロパティID”「1」に対応する図13に示す全メタデータ配列について上述した処理が終了した場合に保持されているプロパティ値は以下、3つである。
第1に、“メタデータ配列番号”「0」番目に位置する“プロパティ値”は「2006/12/24 12:00:00」、“相違フラグ”「ON」である。
第2に、“メタデータ配列番号”「1」番目に位置する“プロパティ値”は「2007/11/24 09:15:00」、“相違フラグ”「ON」である。
第3に、“メタデータ配列番号”「2」番目に位置する“プロパティ値”は「2006/12/24 12:00:00」、“相違フラグ”「ON」である。
その後、ステップS715において、“メタデータ配列番号”と“メタデータ配列総数”とが同一であると判定するので、ステップS760に処理を進める。
ステップS760において、図3に示すメタデータテーブル30より、“プロパティID”「1」に基づいて、“種類”として文字列「日時」及び“項目名”として文字列「更新日時」を取得する。次に、ステップS765において、取得した文字列「日時」及び「更新日時」を並べて表示する。更に、ステップS770において、上述した3つの“プロパティ値”を並べて表示する。
次に、ステップS775において、“相違フラグ”が「ON」であると判定するので、ステップS780に処理を進める。ステップS780において、ステップS770で表示した“プロパティ値”の背景をハイライト表示する。
次に、ステップS785において、“プロパティID”「1」がメタデータテーブル30内における最終プロパティではないと判定するので、ステップS790に処理を進める。
ステップS790において、“プロパティID”に「1」を加算して、図13に示すメタデータ配列内から“プロパティID”「2」に該当する“プロパティ値”を検索する。
その後、ステップS725において、図13に示す“メタデータ配列番号”「0」であるメタデータ配列「配列0[JPEGExif]」410から“配列ID”「0」に位置する“テーブルプロパティID”「1」を取得する。次に、ステップS730において、“テーブルプロパティID”「1」と“プロパティID”「2」とが異なると判定するので、ステップS745に処理を進める。その後、ステップS755において、“配列ID”に「1」を加算して、“プロパティID”「2」の確認を繰り返す。
なお、ステップS745において、メタデータ配列「配列0[JPEGExif]」410内の全プロパティの確認を終了した後、ステップS750に処理を進める。ステップS750において、“メタデータ配列番号”に「1」を加算する。その後、図13に示す“メタデータ配列番号”「1」のメタデータ配列「配列1[XMP]」420内を検索する。その後、ステップS725において、メタデータ配列「配列1[XMP]」420から“配列ID”「0」に位置する“テーブルプロパティID”「1」を取得する。その後、ステップS745において、“配列ID”「0」がメタデータ配列内の最終でないと判定するので、ステップS755に処理を進める。ステップS755において、“配列ID”に「1」を加算する。ステップS725において、“配列ID”「1」に位置する“テーブルプロパティID”「2」を取得する。
ステップS730において、“テーブルプロパティID”「2」と“プロパティID”「2」とが同一であると判定するので、ステップS735に処理を進める。ステップS735において、“配列ID”「1」に位置する“プロパティ値”「2006/12/24 12:00:00」と“相違フラグ”「OFF」とを取得する。次に、ステップS740において、“メタデータ配列番号”「1」と“プロパティ値”「2006/12/24 12:00:00」と“相違フラグ”「OFF」とを保持する。その後、ステップS755において、“配列ID”に「1」を加算する。
ステップS745において、メタデータ配列「配列1[XMP]」420内の全プロパティについて確認を終了した後、ステップS750に処理を進める。ステップS750において、“メタデータ配列番号”に「1」を加算する。したがって、ステップS725以降では、メタデータ配列「配列2[IPTC]」430内における“プロパティID”と同値の“テーブルプロパティID”の“プロパティ値”と“相違フラグ”とを取得する処理を行う。上述する処理を経て、“プロパティID”「2」に対応する“プロパティ値”として、“メタデータ配列番号”「1」番目に位置する“プロパティ値”「2006/12/24 12:00:00」、“相違フラグ”「OFF」を取得する。
その後、ステップS760において、図3に示すメタデータテーブル30より、“プロパティID”「2」に基づいて“種類”として文字列「日時」及び“項目名”として文字列「更新日時」を取得する。次に、ステップS765において、取得した「日時」及び「更新日時」を並べて表示する。更に、ステップS770において、上述した1つの“プロパティ値”を表示する。
次に、ステップS775において、“相違フラグ”が「OFF」であると判定するので、ステップS785に処理を進める。
次に、ステップS785において、“プロパティID”「2」がメタデータテーブル30内における最終項目ではないと判定するので、ステップS790に処理を進める。
ステップS790において、“プロパティID”に「1」を加算して、図13に示すメタデータ配列内から“プロパティID”「3」に該当する“プロパティ値”を検索する。
その後、図3に示すメタデータテーブル30内の“プロパティID”の検索と表示とを終了すると、図15に示す相違するプロパティデータにハイライト表示が付加されたUI画面500を表示する。
ここで、図15に示すUI画面500は、終了ボタン510、画像選択領域520、メタデータ表示領域530から構成される。画像選択領域520には、ユーザ操作により選択された画像ファイル540が表示される。メタデータ表示領域530には、画像ファイル540に登録されている複数のメタデータ規格の全プロパティデータが表示される。また、メタデータ表示領域530において相違するプロパティデータの背景には、ユーザがすぐに視認できるように、ハイライト表示が付加されている。また、メタデータ表示領域530には、上述したプロパティ表示切替ボタン570が表示されている。プロパティ表示切替ボタン570には、「全表示」が表示されている。したがって、ユーザは、全プロパティが表示されていることを視認することができる。
なお、本実施形態では、プロパティデータの相違箇所をユーザに通知するために、プロパティデータの背景をハイライト表示する場合について説明したが、この場合に限られない。例えば、表示フォントを変更したり、アイコンを付加したりするような方法であってもよい。また、本実施形態では、プロパティデータに相違を確認した場合に、相違箇所をハイライト表示する場合について説明したが、この場合に限られない。例えば、CPU10が画像ファイルからプロパティデータを読み込むことができない場合、読み込めない箇所をユーザに通知するためのアイコンやマーク等、読み込むことができないことを示す表示をしてもよい。
次に、図10に示すフローチャートのステップS220において呼び出される[相違プロパティ表示]処理について図16に示すフローチャートを参照して説明する。
まず、ステップS800では、CPU10は、メタデータ配列に対応する“メタデータ規格”名を画面に並べて表示する。次に、ステップS805では、CPU10は、“プロパティID”に「1」を代入する。次に、ステップS810では、CPU10は、“メタデータ配列番号”に「0」を代入する。
次に、ステップS815では、CPU10は、“メタデータ配列番号”と“メタデータ配列総数”とを比較する。ここで、“メタデータ配列総数”が“メタデータ配列番号”より大きい場合、ステップS820に処理を進める。
ステップS820では、CPU10は、“配列ID”に「0」を代入する。
次に、ステップS825では、CPU10は、“メタデータ配列番号”に位置する“メタデータ配列”から、“配列ID”に位置する“テーブルプロパティID”を取得する。
次に、ステップS830では、CPU10は、“テーブルプロパティID”と“プロパティID”とが同一か否かを判定する。同一の場合、ステップS835に処理を進める。
ステップS835では、CPU10は、“メタデータ配列番号”に位置する“メタデータ配列”から、“配列ID”番目の“プロパティ値”と“相違フラグ”とを取得する。次に、ステップS840では、CPU10は、“メタデータ配列番号”と“プロパティ値”と“相違フラグ”とをメモリ12等に保持する。次に、ステップS845では、CPU10は、“配列ID”がメタデータ配列内の最終項目か否かを判定する。最終項目でない場合、ステップS855に処理を進める。
ステップS855では、CPU10は、“配列ID”に「1」を加算する。
次に、ステップS825において,CPU10は、次の“配列ID”に位置する“テーブルプロパティID”を取得する。次に、ステップS830において、CPU10は、取得した“テーブルプロパティID”と“プロパティID”とを比較する。
なお、ステップS845において、“配列ID”がメタデータ配列内の最終項目の場合、ステップS850に処理を進める。ステップS850では、CPU10は、“メタデータ配列番号”に「1」を加算する。
また、ステップS815において、CPU10は、“メタデータ配列番号”と“メタデータ配列総数”とが同一の場合、ステップS860に処理を進める。
ステップS860では、CPU10は、ステップS840で保持した“相違フラグ”が「ON」であるか否かを判定する。“相違フラグ”が「ON」の場合、ステップS865に処理を進める。
ステップS865では、CPU10は、図3に示すメタデータテーブル30から“プロパティID”と同値の“テーブルプロパティID”に位置する“種類”及び“項目名”の文字列を取得する。
次に、ステップS870では、CPU10は、ステップS865で取得した文字列を“テーブルプロパティID”に対応する画面の表示欄に表示する。次に、ステップS875では、CPU10は、“プロパティID”に対応するメタデータ規格の位置に、ステップS840で保持した“メタデータ配列番号”に対応する“メタデータ規格”の位置に“プロパティ値”をそれぞれ並べて表示する。
次に、ステップS880では、CPU10は、図3に示すメタデータテーブル30に基づいて、“プロパティID”が最終項目か否かを判定する。最終項目でない場合、ステップS885に処理を進める。ステップS885では、CPU10は、“プロパティID”に「1」を加算する。なお、本実施形態ではステップS840において保持した“相違フラグ”が「OFF」の場合、ステップS860からステップS880に処理を進め、すぐに次の「プロパティID」について確認する処理に移行する。このようにして、全メタデータ配列に対して、“プロパティID”に対応する“テーブルプロパティID”が登録されているかを確認して、“プロパティID”が存在し、“相違フラグ”が「ON」に設定されている場合、“プロパティ値”の表示を繰り返す。
以下、図16に示すフローチャートの処理について具体的に説明する。なお、図16に示すフローチャートの主体は、画像処理装置20のCPU10であり、以下では省略して説明する。ここでは、図13に示す「配列0[JPEGExif]」410、「配列1[XMP]」420、「配列2[IPCT]」430の3つのメタデータ配列を例にして説明する。すなわち、図10に示すフローチャートにおいて、図13に示すメタデータ配列が作成された状態において、ステップS220で、[相違プロパティ表示] 処理が呼び出された場合の処理について説明する。
まず、ステップS800において、図13に示すメタデータ配列の“メタデータ規格”名である「JPEGExif」、「XMP」及び「IPCT」を3つ並べて表示する。その後、図13に示す全メタデータ配列内に“プロパティID”「1」に対応する“プロパティ値”が登録されているかを確認する処理に移行する。ステップS825において、図13に示す“メタデータ配列番号”「0」であるメタデータ「配列0[JPEGExif]」410から“配列ID”「0」に位置する“テーブルプロパティID”「1」を取得する。
次に、ステップS830において、“テーブルプロパティID”「1」と“プロパティID”「1」とが同一であると判定するので、ステップS835に処理を進める。
ステップS835において、“配列ID”「0」に位置する“プロパティ値”「2006/12/24 12:00:00」と“相違フラグ”「ON」とを取得する。次に、ステップS840において、“メタデータ配列番号”「0」と“プロパティ値”「2006/12/24 12:00:00」と“相違フラグ”「ON」とを保持する。その後、ステップS855において、“配列ID”に「1」を加算する。
なお、メタデータ配列「配列0[JPEGExif]」410内の全プロパティについて確認を終了すると、ステップS845において、“配列ID”がメタデータ配列内の最終項目であると判定し、ステップS850に処理を進める。ステップS850において、“メタデータ配列番号”に「1」を加算する。したがって、ステップS825では、図13に示す“メタデータ配列番号”「1」であるメタデータ配列「配列1[XMP]」420内について“プロパティID”と同値の“テーブルプロパティID”の“プロパティ値”と“相違フラグ”とを取得する処理を行う。ここで、“プロパティID”「1」に対応する図13に示す全メタデータ配列について上述した処理が終了した場合に保持されているプロパティ値は以下、3つである。
第1に、“メタデータ配列番号”「0」番目に位置する“プロパティ値”は「2006/12/24 12:00:00」、“相違フラグ”「ON」である。
第2に、“メタデータ配列番号”「1」番目に位置する“プロパティ値”は「2007/11/24 09:15:00」、“相違フラグ”「ON」である。
第3に、“メタデータ配列番号”「2」番目に位置する“プロパティ値”は「2006/12/24 12:00:00」、“相違フラグ”「ON」である。
その後、ステップS815において、“メタデータ配列番号”と“メタデータ配列総数”とが同一であると判定するので、ステップS860に処理を進める。
ステップS860において、ステップS840で保持した“相違フラグ”は、「ON」であるので、ステップS865以降のプロパティデータの表示処理に移行する。
ステップS865では、図3に示すメタデータテーブル30より、“プロパティID”「1」に基づいて、“種類”として「日時」及び“項目名”として文字列「更新日時」を取得する。次に、ステップS870において、取得した文字列「日時」及び「更新日時」を並べて表示する。更に、ステップS875において、上述した3つの“プロパティ値”を並べて表示する。
次に、ステップS880において、 “プロパティID”「1」がメタデータテーブル30内における最終プロパティではないと判定するので、ステップS885に処理を進める。
ステップS885において、“プロパティID”に「1」を加算して、図13に示すメタデータ配列内から“プロパティID”「2」に該当する“プロパティ値”を検索する。
その後、ステップS825において、図13に示す“メタデータ配列番号”「0」であるメタデータ配列「配列0[JPEGExif]」410から“配列ID”「0」に位置する“テーブルプロパティID”「1」を取得する。次に、ステップS830において、“テーブルプロパティID”「1」と“プロパティID”「2」とが異なると判定するので、ステップS845に処理を進める。その後、ステップS855において、“配列ID”に「1」を加算して、“プロパティID”「2」の確認を繰り返す。
なお、ステップS845において、メタデータ配列「配列0[JPEGExif]」410内の全プロパティの確認を終了した後、ステップS850に処理を進める。ステップS850において、“メタデータ配列番号”に「1」を加算する。その後、図13に示す“メタデータ配列番号”「1」のメタデータ配列「配列1[XMP]」420内を検索する。その後、ステップS825において、メタデータ配列「配列1[XMP]」420から“配列ID”「0」に位置する“テーブルプロパティID”「1」を取得する。ステップS845において、“配列ID”「0」がメタデータ配列内の最終でないと判定するので、ステップS855に処理を進める。ステップS855において、“配列ID”に「1」を加算する。ステップS825において、“配列ID”「1」に位置する“テーブルプロパティID”「2」を取得する。
ステップS830において、“テーブルプロパティID”「2」と“プロパティID”「2」とが同一であると判定するので、ステップS835に処理を進める。ステップS835において、“配列ID”「1」に位置する“プロパティ値”「2006/12/24 12:00:00」と“相違フラグ”「OFF」とを取得する。次に、ステップS840において、“メタデータ配列番号”「1」と“プロパティ値”「2006/12/24 12:00:00」と“相違フラグ”「OFF」とを保持する。その後、ステップS855において、“配列ID”に「1」を加算する。
ステップS845において、メタデータ配列「配列1[XMP]」420内の全プロパティについて確認を終了した後、ステップS850に処理を進める。ステップS850において、“メタデータ配列番号”に「1」を加算する。したがって、ステップS825以降では、メタデータ配列「配列2[IPTC]」430内における“プロパティID”と同値の“テーブルプロパティID”の“プロパティ値”と“相違フラグ”とを取得する処理を行う。上述する処理を経て、“プロパティID”「2」に対応する“プロパティ値”として、“メタデータ配列番号”「1」に位置する“プロパティ値”「2006/12/24 12:00:00」、“相違フラグ”「OFF」を取得する。
その後、ステップS860において、ステップS840で保持した“相違フラグ”が「OFF」であり、「ON」ではないと判定するので、ステップS880に処理を進める。ステップS880において、“プロパティID”「2」がメタデータテーブル30内における最終項目ではないと判定するので、ステップS885に処理を進める。
ステップS885において、“プロパティID”に「1」を加算して、図13に示すメタデータ配列内から“プロパティID”「3」に該当する“プロパティ値”を検索する。
その後、図3に示すメタデータテーブル30内の“プロパティID”の検索と表示とを終了すると、図17に示す相違プロパティのUI画面700を表示する。
ここで、図17に示すUI画面700は、終了ボタン710、画像選択領域720、メタデータ表示領域730から構成される。画像選択領域720には、ユーザ操作により選択された画像ファイル740が表示される。メタデータ表示領域730には、画像ファイル740に登録されているプロパティデータの相違プロパティが優先して表示される。図17に示すUI画面700では、相違しているプロパティデータのみが表示される。また、メタデータ表示領域730には、上述したプロパティ表示切替ボタン770が表示されている。プロパティ表示切替ボタン770には、「相違箇所」が表示されている。したがって、ユーザは、相違プロパティのみが表示されていることを視認することができる。また、プロパティ表示切替ボタン770をクリックすることにより、ユーザは「全表示」を選択することができ、上述した図15に示すプロパティ表示に切り替えることができる。なお、図17に示すUI画面700には、図15に示すプロパティ表示と異なり、メタデータ規格の「IPTC」と「XMP」とを入れ替えて表示されている。これは、メタデータ規格のうち「JPEGExif」と「IPTC」とのプロパティデータは同一であるために、両者を近接して表示したものである。このように、同一のプロパティデータが設定されたメタデータ規格間を近接して表示することにより、ユーザは相違するプロパティデータを容易に識別することができる。
このように、本実施形態によれば、1つの画像ファイルに内に複数のメタデータ規格が存在する場合、メタデータ規格内に存在するプロパティ(プロパティデータ)を並べて表示し、同一項目の間で、プロパティに相違がある場合には、ハイライト表示を行った。したがって、メタデータ規格内に登録されている多くのプロパティの間で、プロパティの同期が取れていない場合、ユーザは同期が取れていないプロパティを容易に確認することができる。
また、相違しているプロパティのみを表示することで、ユーザは簡単にプロパティを比較することができる。更に、プロパティを全表示する場合と、相違プロパティのみを表示する場合とで表示を切り替えることができるので、ユーザの目的に合った表示にすることができる。
なお、本実施形態では、同期の取れていないプロパティをユーザに通知するために、“プロパティ値”の背景をハイライト表示にする場合についてのみ説明したが、この場合に限られない。例えば、相違するプロパティの表示フォントを変更したり、アイコンを付加したりして、ユーザが識別できるようにすれば、どのような方法であってもよい。また、本実施形態では、プロパティに相違を確認した場合に、相違箇所をハイライト表示した。しかし、画像ファイルからプロパティデータを読み込みときに、読み込めない箇所を発見した場合、読み込めない箇所をユーザに通知するためにアイコンやマークを表示するような方法であってもよい。
本実施形態では、プロパティ表示切替ボタンによるプロパティ表示の切り替えにより、プロパティの相違箇所のみを表示したり、相違するプロパティをハイライト表示したりする場合について説明した。しかしながら、例えば、相違するプロパティを上方に表示したり、表示プロパティに優先順位を付加したり、優先順位の高い相違プロパティを表示したりするように構成してもよい。
また、第1の実施形態及び第2の実施形態では、プロパティを閲覧する場合についてのみ説明したが、この場合に限られない。例えば、メタデータ規格間で、相違しているプロパティをユーザに入力させるように構成してもよい。この場合、ユーザが操作部16を介してプロパティの表示欄をクリックして、文字列を入力することで、CPU10は、文字列の入力を検出する。この処理は、入力検出手段の一例に対応する。そして、入力の決定を検出することにより、CPU10は、図6に示すプロパティ表示欄を変更すると共に、画像ファイルのメタデータ規格に対応するプロパティデータを書き換える処理を行い、各メタデータ規格間のプロパティデータを同期させてもよい。この処理は、書換手段の一例に対応する。また、プロパティデータを直接入力する以外に、設定済みの同一プロパティの一覧を表示し、その複数のプロパティから、ユーザに選択させるように構成してもよい。
また、第1の実施形態及び第2の実施形態では、JPEG画像に対して、複数メタデータ規格内に登録されたプロパティを処理する場合について説明したが、この場合に限られない。例えば、RAW画像、TIFF画像等の一般のメタデータ規格を有するファイルに対して、メタデータ規格処理を実行する場合でも、本発明は適応される。
上述した本発明の実施形態における情報処理装置を構成する各手段、並びに情報処理方法の各ステップは、コンピュータのRAMやROM等に記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施形態も可能であり、具体的には、複数の機器からなるシステムに適用してもよい。
なお、本発明は、上述した実施形態の機能を実現するソフトウェアのプログラムを、システム又は装置に直接、又は遠隔から供給する。そして、そのシステム又は装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
従って、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。更に、そのプログラムの指示に基づき、コンピュータ上で稼動しているOS等が、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
更に、その他の方法として、まず記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
画像処理装置の概略を示すブロック図である。 画像処理装置の動作処理を示すフローチャートである。 メタデータテーブルの構成を示す図である。 画像選択画面の一例を示す図である。 画像ファイルのメタデータ規格の構成を示す図である。 第1の実施形態に係る対象画像選択直後のUI画面を示す図である。 第1の実施形態に係るメタデータテーブルとの照合処理を示すフローチャートである。 第1の実施形態に係るメタデータ配列の構成を示す図である。 第1の実施形態に係るメタデータ表示処理を示すフローチャートである。 第2の実施形態に係るメタデータ表示処理を示すフローチャートである。 第2の実施形態に係る相違フラグ設定処理を示すフローチャートである。 第2の実施形態に係る相違フラグ登録処理を示すフローチャートである。 第2の実施形態に係るメタデータ配列の構成を示す図である。 第2の実施形態に係るプロパティ全表示処理を示すフローチャートである。 第2の実施形態に係るプロパティ全表示のUI画面を示す図である。 第2の実施形態に係る相違プロパティ表示処理を示すフローチャートである。 第2の実施形態に係る相違プロパティ表示のUI画面を示す図である。
符号の説明
100 CPU
110 ハードディスク
120 記憶部
130 ネットワーク接続部
140 ディスプレイ
150 スピーカ
160 操作部(マウス、キーボード)
170 記録媒体ドライブ
180 外部記憶装置
190 内部バス

Claims (12)

  1. 複数のメタデータ規格のメタデータが記憶されている画像データから、前記メタデータ規格ごとに前記メタデータとしてのプロパティ情報を取得する取得手段と、
    前記取得された複数のメタデータ規格のプロパティ情報を項目の種類ごとに分類する分類手段と、
    前記取得手段により取得された複数のメタデータ規格のプロパティ情報を、前記メタデータ規格ごとに区別して前記プロパティ情報の項目に対応付けて同一画面上で表示する表示処理手段と、
    前記複数のメタデータ規格のプロパティ情報が同一項目間で相違するか否かを判定する相違判定手段とを有し、
    前記表示処理手段は、前記相違判定手段により前記項目と対応する少なくとも1つ以上のプロパティ情報が他のプロパティ情報と相違すると判定された場合、相違しているプロパティ情報を優先して表示することを特徴とする情報処理装置。
  2. 複数のメタデータ規格におけるプロパティ情報の項目と前記プロパティ情報の項目に対応する識別情報とが関連付けて記憶されたメタデータテーブルに基づいて、前記取得手段により取得されたプロパティ情報の項目に対応する識別情報を判定する判定手段と、
    前記判定手段により判定された識別情報と前記取得手段により取得されたプロパティ情報とを関連付けて、前記複数のメタデータ規格ごとに保持する保持手段とを更に有することを特徴とする請求項1に記載の情報処理装置。
  3. 前記メタデータテーブルには、前記識別情報と表示フォーマット情報とが更に関連付けて記憶され、
    前記メタデータテーブルに基づいて、前記識別情報に対応する表示フォーマット情報を取得するフォーマット情報取得手段を更に有し、
    前記保持手段は、前記フォーマット情報取得手段により取得された表示フォーマット情報に基づいて、前記プロパティ情報の表示フォーマットを変換して保持することを特徴とする請求項2に記載の情報処理装置。
  4. 前記メタデータテーブルには、前記プロパティ情報の項目が関連度合いの高い項目ごと、種類に分けて記憶され、
    前記表示処理手段は、前記複数のメタデータ規格のプロパティ情報を前記種類ごとに、互いに近接して表示することを特徴とする請求項2又は3に記載の情報処理装置。
  5. 前記表示処理手段は、前記相違判定手段により少なくとも1つ以上のプロパティ情報が他のプロパティ情報と相違すると判定された場合、プロパティ情報が相違していることを示す識別表示を行うことを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
  6. ユーザによる切り替え操作を検出する検出手段を更に有し、
    前記検出手段により切り替え操作を検出した場合、
    前記表示処理手段は、プロパティ情報が相違していることを示す識別表示を行う画面と相違しているプロパティ情報を優先して表示する画面とを相互に切り替えて表示することを特徴とする請求項5に記載の情報処理装置。
  7. 前記表示処理手段は、プロパティ情報が文字コードである場合に、前記文字コードを文字列に変換して表示することを特徴とする請求項1乃至6の何れか1項に記載の情報処理装置。
  8. 前記表示処理手段は、前記プロパティ情報の項目が画像エリアに関する場合、前記プロパティ情報として縮小画像を表示することを特徴とする請求項1乃至6の何れか1項に記載の情報処理装置。
  9. 前記取得手段によりプロパティ情報を取得することができなかった場合、
    前記表示処理手段は、プロパティ情報を取得することができなかったことを示す表示を行うことを特徴とする請求項1乃至8の何れか1項に記載の情報処理装置。
  10. 前記表示処理手段において表示されたプロパティ情報に対するユーザ入力を検出する入力検出手段と、
    前記入力検出手段により入力された情報に基づいて、前記画像データのプロパティ情報を書き換える書換手段とを更に有することを特徴とする請求項1乃至9の何れか1項に記載の情報処理装置。
  11. 取得手段が、複数のメタデータ規格のメタデータが記憶されている画像データから、前記メタデータ規格ごとに前記メタデータとしてのプロパティ情報を取得する取得ステップと、
    分類手段が、前記取得された複数のメタデータ規格のプロパティ情報を項目の種類ごとに分類する分類ステップと、
    表示処理手段が、前記取得ステップにより取得された複数のメタデータ規格のプロパティ情報を、前記メタデータ規格ごとに区別して前記プロパティ情報の項目に対応付けて同一画面上で表示する表示処理ステップと、
    相違判定手段が、前記複数のメタデータ規格のプロパティ情報が同一項目間で相違するか否かを判定する相違判定ステップとを有し、
    前記表示処理ステップでは、前記相違判定ステップにより前記項目と対応する少なくとも1つ以上のプロパティ情報が他のプロパティ情報と相違すると判定された場合、相違しているプロパティ情報を優先して表示することを特徴とする情報処理方法。
  12. 複数のメタデータ規格のメタデータが記憶されている画像データから、前記メタデータ規格ごとに前記メタデータとしてのプロパティ情報を取得する取得ステップと、
    前記取得された複数のメタデータ規格のプロパティ情報を項目の種類ごとに分類する分類ステップと、
    前記取得ステップにより取得された複数のメタデータ規格のプロパティ情報を、前記メタデータ規格ごとに区別して前記プロパティ情報の項目に対応付けて同一画面上で表示する表示処理ステップと、
    前記複数のメタデータ規格のプロパティ情報が同一項目間で相違するか否かを判定する相違判定ステップとをコンピュータに実行させるためのプログラムであって、
    前記表示処理ステップでは、前記相違判定ステップにより前記項目と対応する少なくとも1つ以上のプロパティ情報が他のプロパティ情報と相違すると判定された場合、相違しているプロパティ情報を優先して表示することを特徴とするプログラム。
JP2008268002A 2008-10-16 2008-10-16 情報処理装置、情報処理方法及びプログラム Expired - Fee Related JP5142939B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008268002A JP5142939B2 (ja) 2008-10-16 2008-10-16 情報処理装置、情報処理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008268002A JP5142939B2 (ja) 2008-10-16 2008-10-16 情報処理装置、情報処理方法及びプログラム

Publications (3)

Publication Number Publication Date
JP2010097441A JP2010097441A (ja) 2010-04-30
JP2010097441A5 JP2010097441A5 (ja) 2011-12-01
JP5142939B2 true JP5142939B2 (ja) 2013-02-13

Family

ID=42259069

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008268002A Expired - Fee Related JP5142939B2 (ja) 2008-10-16 2008-10-16 情報処理装置、情報処理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5142939B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112010005645T5 (de) * 2010-06-08 2013-03-21 Mitsubishi Electric Corp. Bildschirmerzeugungssystem einer programmierbaren Anzeige und Bildschirmerzeugungsprogramm davon
JP5723588B2 (ja) * 2010-12-21 2015-05-27 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 情報処理装置、表示処理方法、プログラムおよび記録媒体
JP7415376B2 (ja) * 2019-08-29 2024-01-17 ソニーグループ株式会社 情報処理装置、情報処理方法、プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000057143A (ja) * 1998-08-10 2000-02-25 Seiko Epson Corp 文章構造解析方法及び文章構造解析装置並びに文章構造解析処理プログラムを記録した記録媒体
US20060173864A1 (en) * 2005-01-28 2006-08-03 Microsoft Corporation Systems and methods for reconciling image metadata
JP2006251430A (ja) * 2005-03-11 2006-09-21 Seiko Epson Corp 表示処理装置、印刷装置、表示処理方法及びそのプログラム

Also Published As

Publication number Publication date
JP2010097441A (ja) 2010-04-30

Similar Documents

Publication Publication Date Title
CN101488145B (zh) 文档搜索装置及文档搜索方法
JP5028858B2 (ja) 画像管理装置
US20070230778A1 (en) Image forming apparatus, electronic mail delivery server, and information processing apparatus
US20020059215A1 (en) Data search apparatus and method
JP2004234228A (ja) 画像検索装置、画像検索装置におけるキーワード付与方法、及びプログラム
US7610274B2 (en) Method, apparatus, and program for retrieving data
JP2007286864A (ja) 画像処理装置、画像処理方法、プログラムおよび記録媒体
JP2000067065A (ja) 文書画像識別方法および記録媒体
CN100403311C (zh) 图像显示方法和装置
JP4890212B2 (ja) スキャン画像管理装置
US20120041946A1 (en) Data search apparatus, control method thereof and computer readable storage medium
JP5284030B2 (ja) 検索条件指定装置、検索条件指定方法及びプログラム
JPH1011343A (ja) 情報処理装置及び方法
JP2009200699A (ja) 画像処理装置および画像処理方法
US7974980B2 (en) Data processing device capable of performing data transmission in a predetermined access method
JP5142939B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP2008108200A (ja) 情報抽出装置及び方法、並びにプログラム及び記憶媒体
US8218876B2 (en) Information processing apparatus and control method
US7451090B2 (en) Information processing device and information processing method
JP5208540B2 (ja) 画像ファイル振分方法、画像ファイル振分装置、および、プログラム
JP4964080B2 (ja) 画像処理システム、画像処理方法、画像処理プログラム
JP6700705B2 (ja) 振り分けシステム、情報処理方法、及びプログラム
JP2008234078A (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理プログラムを記録した記録媒体
JP5312310B2 (ja) 検索装置及び方法及びプログラム
JP2003157263A (ja) 情報収集方法、情報収集装置及び検索対象文字情報蓄積プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111014

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111014

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120801

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120807

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121005

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121023

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121120

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151130

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 5142939

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees