JP2003006198A - 画像処理装置およびその方法、並びに、サーバ装置 - Google Patents

画像処理装置およびその方法、並びに、サーバ装置

Info

Publication number
JP2003006198A
JP2003006198A JP2002091639A JP2002091639A JP2003006198A JP 2003006198 A JP2003006198 A JP 2003006198A JP 2002091639 A JP2002091639 A JP 2002091639A JP 2002091639 A JP2002091639 A JP 2002091639A JP 2003006198 A JP2003006198 A JP 2003006198A
Authority
JP
Japan
Prior art keywords
image
server
client
database
search
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.)
Pending
Application number
JP2002091639A
Other languages
English (en)
Inventor
Kunihiro Yamamoto
邦浩 山本
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 JP2002091639A priority Critical patent/JP2003006198A/ja
Priority to US10/125,506 priority patent/US7146382B2/en
Publication of JP2003006198A publication Critical patent/JP2003006198A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5846Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using extracted text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5838Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using colour
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image

Landscapes

  • Engineering & Computer Science (AREA)
  • Library & Information Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)

Abstract

(57)【要約】 【課題】 画像データを集中管理するクライアント/サ
ーバ型の画像データベースがあるが、サーバからクライ
アントへ検索結果の画像を送信する際は、ネットワーク
の帯域が足枷になってクライアントが画像を表示をする
のに時間がかかり、必ずしも効率的な画像検索を行うこ
とができない。 【解決手段】 クライアントプロセスは、検索すべき画
像から特徴量を抽出し(S1002)、抽出した特徴量をサー
バプロセスに送信する(S1003)。そして、特徴量に基づ
くサーバプロセスの検索結果、および、画像データベー
スを特定するGUIDをサーバプロセスから受信し(S1004お
よびS1007)、検索結果およびGUIDに基づき、クライアン
トにキャッシュされていない画像データをサーバプロセ
スに要求する(S1008およびS1009)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は画像処理装置および
その方法、並びに、サーバ装置に関し、例えば、複数の
画像が蓄積された画像データベースから画像を検索する
画像処理に関する。
【0002】
【従来の技術】多数の画像データが蓄積されたデータベ
ースから所望の画像を検索するための検索方法が種々考
案されている。これら検索方法は次の二方法に大別され
る。 (1) キーワードや撮影日時などの非画像情報を画像に関
連付け、それを基に検索を行う方法 (2) 画像自体の特徴量(輝度・色差情報、画像周波数、
ヒストグラムなど)を基に検索を行う方法
【0003】後者の方法は、データベースに対してある
画像を提示し、その画像の特徴量を検索キーとして画像
を検索するので「類似画検索」と呼ばれる。この方法
は、画像処理について特別な知識をもたないユーザに対
して、直感的で分かりやすい検索インタフェイスを提供
することができる。
【0004】
【発明が解決しようとする課題】巨大な画像データベー
スを複数のユーザが別々に保有するのは非効率である。
このため、画像データを集中管理するクライアント/サ
ーバ型の画像データベースが種々考案・実用化されてい
る。しかし、サーバからクライアントへ検索結果の画像
を送信する際は、ネットワークの帯域が足枷になってク
ライアントが画像を表示をするのに時間がかかり、必ず
しも効率的な画像検索を行うことができない。
【0005】本発明は、上述の問題を個々にまたはまと
めて解決するためのもので、クライアント/サーバシス
テムにおいて、効率的に、画像データベースから画像を
検索することを目的とする。
【0006】
【課題を解決するための手段】本発明は、前記の目的を
達成する一手段として、以下の構成を備える。
【0007】本発明にかかる画像処理方法は、サーバに
保持された、複数の画像が蓄積された画像データベース
から画像を検索する画像処理方法であって、検索すべき
画像から特徴量を抽出し、抽出した特徴量を前記サーバ
に送信し、前記特徴量に基づく前記サーバの検索結果、
および、前記画像データベースを特定するIDを前記サー
バから受信し、前記検索結果および前記IDに基づき前記
サーバに画像データを要求することを特徴とする。
【0008】また、複数の画像が蓄積された画像データ
ベースから画像を検索する画像処理方法であって、検索
すべき画像の特徴量をクライアントから受信し、受信し
た特徴量、および、前記画像データベースに格納された
各画像の特徴量に基づき画像を検索し、その検索結果お
よび前記画像データベースを特定するIDを前記クライア
ントへ送信し、画像データの要求を前記クライアントか
ら受信し、要求された画像データを前記画像データベー
スから読み出して前記クライアントへ送信することを特
徴とする。
【0009】本発明にかかる画像処理装置は、サーバに
保持された、複数の画像が蓄積された画像データベース
から画像を検索する画像処理装置であって、前記サーバ
と通信する通信手段と、検索すべき画像から特徴量を抽
出する抽出手段と、抽出された特徴量を前記サーバに送
信し、前記特徴量に基づく前記サーバの検索結果、およ
び、前記画像データベースを特定するIDを前記サーバか
ら受信し、前記検索結果および前記IDに基づき前記サー
バに画像データを要求する制御手段とを有することを特
徴とする。
【0010】本発明にかかるサーバ装置は、複数の画像
が蓄積された画像データベースを所有するサーバ装置で
あって、クライアントと通信する通信手段と、前記クラ
イアントの要求に従い、画像検索および画像データの供
給を行う制御手段とを有し、前記制御手段は、前記クラ
イアントから検索すべき画像の特徴量を受信した場合、
受信した特徴量、および、前記画像データベースに格納
された各画像の特徴量に基づき画像を検索し、その検索
結果および前記画像データベースを特定するIDを前記ク
ライアントへ送信する、また、前記クライアントから画
像データの要求を受信した場合、要求された画像データ
を前記画像データベースから読み出して前記クライアン
トへ送信することを特徴とする。
【0011】
【発明の実施の形態】以下、本発明にかかる一実施形態
の画像検索装置を図面を参照して説明する。
【0012】
【第1実施形態】[構成]図1は実施形態の画像検索装置
を実現するコンピュータシステムの構成例を示すブロッ
ク図である。
【0013】図1において、1a〜1dはクライアントコン
ピュータ(以下「クライアント」と呼ぶ)、11はサーバ
コンピュータ(以下「サーバ」と呼ぶ)である。これら
クライアントおよびサーバ11は、ネットワーク12によっ
て相互に接続され通信を行う。
【0014】図1にはクライアントが四台およびサーバ
が一台の例を示すが、任意数のクライアントおよびサー
バがネットワーク12に接続可能である。例えば、データ
ベースごとに異なるサーバが設置されたり、地理的に離
れているなどの理由から同じ内容のデータベースを提供
する複数のサーバが設置されることもある。
【0015】ネットワーク12の構成は公知であるから詳
細な説明は省略するが、ネットワーク12としてローカル
エリアネットワーク(LAN)、ワイドエリアネットワーク
(WAN)、イントラネットおよびインターネットを利用す
ることができる。
【0016】コンピュータ装置であるクライアントおよ
びサーバ11のハードウェアは同様の構成を有するから、
以下ではクライアント1aの構成を説明し、他のクライア
ントおよびサーバ11の構成の説明を省略する。
【0017】図1において、CPU101は、ROM104および/ま
たはハードディスクドライブ106に格納されたプログラ
ムに従い、RAM105をワークメモリに利用して、システム
全体を制御する。さらに、CPU101は、キーボード102や
マウス102aを介して入力されるユーザの指示に従い、ハ
ードディスクドライブ106に格納されたプログラムに基
づき、後述する画像検索処理を実行する。
【0018】ディスプレイインタフェイス103には、CRT
やLCDなどのディスプレイが接続され、CPU101が実行す
る処理の経過や結果などが表示される。リムーバブルメ
ディアドライブ107は、主に、リムーバブルメディアか
らハードディスクドライブ106へファイルを書き込んだ
り、ハードディスク106から読み出したファイルをリム
ーバブルメディアへ書き込む場合に利用される。リムー
バブルメディアとしては、フロッピディスク(FD)、CD-R
OM、CD-R、CD-R/W、DVD-ROM、DVD-R、DVD-R/W、DVD-RAM
やMO、あるいは、メモリカードなどが利用できる。
【0019】プリンタインタフェイス108には、レーザ
ビームプリンタやインクジェットプリンタなどのプリン
タが接続される。ネットワークインタフェイス109は、
コンピュータ装置をネットワーク12へ接続するためのイ
ンタフェイスである。
【0020】[検索処理]図2は検索処理の実行時にク
ライアントのディスプレイに表示される操作画面を示す
図で、21は描画領域、22は描画ツールのカーソル(図に
は鉛筆ツール用のアイコンを示す)、23は色指定用のス
ライダバー、24はクリアボタン、25は検索実行ボタンで
ある。また、26a〜26hは検索にヒットした画像のアイコ
ンまたは縮小画像、27は次候補を表示させるためのボタ
ン、28は処理を終了するためのボタンである。
【0021】ユーザは、ソフトウェアにより実現される
描画ツールを用いて、描画領域21に検索を望む画像に似
せたイラストを描画する。イラスト描画時の操作は、概
略、次のとおりである。ユーザは、必要なら、クリアボ
タン24を押して描画領域21全体を白く塗り潰した後、描
画色を指定するためのスライダバー23を用いてRGB値を
指定して、ポインティングデバイスを用いてカーソル22
を動かし、描画領域21に自由な曲線を描く。ユーザは、
必要に応じて、色の指定および曲線の描画を繰り返すこ
とでイラストを完成させる。
【0022】なお、ユーザは画像を詳細に観たい場合、
例えば画像アイコンまたは縮小画像26a〜26hの何れかを
ダブルクリックする。この指示により、ダブルクリック
された画像アイコンまたは縮小画像に対応する画像が、
指定サイズ、オリジナルサイズまたは画面サイズに合わ
せて表示される。勿論、詳細は省略するが、ユーザは画
像アイコンまたは縮小画像を選択し、それに対応する画
像データをクライアント上で稼動する他のプロセス(画
像処理や印刷処理)に渡すことができる。
【0023】図3は画像検索の概要を示すフローチャー
トで、クライアントおよびサーバ11のプロセスをそれぞ
れ示す。勿論、サーバプロセスはサーバ11上で、クライ
アントプロセスはクライアント上で実行される。
【0024】[クライアントプロセス]クライアントプ
ロセスは、ステップS1001で、ユーザが描画領域21に検
索を所望する画像に似せたイラストを描画し、検索実行
ボタン25を押すことで検索画像の指示を受け付け、ステ
ップS1002で、そのイラストから画像の特徴量を計算し
て、ステップS1003で、計算した特徴量に基づく検索を
サーバプロセスに要求する。
【0025】ステップS1003の処理は、具体的には、コ
ンピュータ間通信により、詳細を後述する特徴量d()を
サーバプロセスに送信するものである。検索キーである
イラスト画像を直接送信するのではなく、その特徴量を
抽出して送信することで、ネットワーク12上を流れるデ
ータ量を著しく削減でき、ネットワーク12のトラフィッ
クを抑えることができる。
【0026】次に、ステップS1004で、サーバプロセス
から詳細を後述する検索結果T()を受信したか否かを判
断し、検索結果T()を受信した場合はステップS1005で、
検索結果T()をハードディスクドライブ106に格納すると
ともに、図2に示す検索にヒットした画像のアイコンま
たは縮小画像26a〜26hを表示する。勿論、検索にヒット
した画像が少なければアイコンまたは縮小画像26a〜26h
の一部だけが表示される場合もある。そして、ステップ
S1006へ進み、データベースのグロバリユニーク識別子
(Globally Unique IDentifier: GUID)をサーバプロセス
に要求する。
【0027】GUIDは、周知のコンポーネントオブジェク
トモデル(Component Object Model:COM)で定義された12
8ビットの数値であり、時空間で一意であることが実用
範囲で保証されている。サーバ11はGUIDを保持し、必要
に応じてGUIDをクライアントに通知することで、クライ
アントは相手のデータベースを特定することができる。
【0028】次に、ステップS1007で、サーバプロセス
からGUIDを受信したか否かを判断し、GUIDを受信した場
合はステップS1008へ進み、GUIDに基づきサーバ11に要
求する画像データ、つまりユーザが選択した画像アイコ
ンまたは縮小画像に対応する画像データを決定し、ステ
ップS1009でその画像データをサーバプロセスに要求す
る。
【0029】続いて、ステップS1010で、サーバプロセ
スから画像データを受信したか否かを判断し、画像デー
タを受信した場合はステップS1011に進み、受信した画
像データをハードディスクドライブ106またはリムーバ
ブルメディアドライブ107にセットされたリムーバブル
メディアに格納するとともに、その画像をディスプレイ
に表示する。なお、リムーバブルメディアを利用すれば
GUIDごとにメディアを用意するなども可能である。
【0030】次に、ステップS1012で、ユーザの要求を
判断する。例えば、終了ボタン28が押された場合は処理
を終了し、次候補ボタン27が押された場合はステップS1
005へ、クリアボタン24が押された場合はステップS1001
へ戻る。
【0031】[サーバプロセス]サーバプロセスは、ス
テップS1101で、クライアントプロセスから検索要求を
受信したか否かを判断し、検索要求を受信した場合はス
テップS1102で、その要求に添付された特徴量に基づき
類似画像を検索し、ステップS1103で、その検索結果を
クライアントプロセスに返す。
【0032】次に、ステップS1104で、クライアントプ
ロセスからGUID要求を受信したか否かを判断し、GUID要
求を受信した場合はステップS1105で、データベースのG
UIDをクライアントプロセスに返す。
【0033】次に、ステップS1106で、画像データ要求
を受信したか否かを判断し、画像データ要求を受信した
場合はステップS1107で、要求された画像データをハー
ドディスクドライブ106などから読み出してクライアン
トプロセスに送信した後、ステップS1101へ戻る。
【0034】●検索画像の指示 図4は検索画像の指示(ステップS1001)の詳細を示すフ
ローチャートである。なお、x0およびy0は、描画カーソ
ル22の指示位置を記憶する変数である。また、x1および
y1は、描画カーソル22の現在位置を記憶する変数で、描
画カーソル22の移動に合わせて逐次更新される。
【0035】ステップS31で、クリアボタン24が押され
たか否かを判定し、押された場合はステップS32で描画
領域21全体を白く塗り潰す。続いて、ステップS32で検
索ボタン25が押されたか否かを判定し、押された場合は
ステップS34で、前述したステップS1002の処理へ進む。
また、ステップS35で、スライダバー23が操作されたか
否かを判定し、操作された場合はステップS36で描画色
をスライダバー23の設定状態に合わせる。
【0036】さらに、ステップS37で描画カーソル22が
アクティブか否かを判定し、アクティブであればステッ
プS38でマウスボタンが押されているか否かを判定す
る。なお、マウスカーソルが描画領域21内にある場合、
描画カーソル22がアクティブになる。
【0037】描画カーソル22がアクティブ、かつ、マウ
スボタンが押されている場合は、ステップS40の判定で
マウスボタンが離されたと判定されるまで、ステップS3
9で、(x0, y0)と(x1, y1)との間に描画色の線分を描画
する。マウスボタンが押されなかった場合、または、線
分の描画後、ステップS41でx0およびy0をx1およびy1で
更新する。
【0038】ステップS37からS41の処理により、マウス
ボタンが押されていれば、マウスボタンが押されたとき
の描画カーソル22の指示位置を起点として、描画カーソ
ル22が現在ある位置へ線分が描画される。そして、マウ
スボタンが離されるとそのときの線分が固定される。勿
論、ステップS38でマウスボタンが押されていなけれ
ば、描画カーソル22の現在位置x1およびy1がx0およびy0
に設定され、線分を描画せずに、単に描画カーソル22が
移動されることになる。
【0039】なお、検索ボタン25が押されなくても、描
画領域のイラストの描画に応じて、例えばイラストに線
分が追加される度に画像検索を行うようにすることもで
きる。その場合、クライアントプロセスは、画像検索を
明示的に行わずに、バックグラウンドでサーバプロセス
に画像検索を指示して、検索ボタン25が押されたら検索
結果を受け取るようにしてもよい。こうすれば、サーバ
11の処理能力が充分に高い場合、検索時間の短縮を図る
ことができる。
【0040】●画像特徴量 図5は描画領域21の分割例を示す図である。描画領域21
は水平方向にW画素、垂直方向にH画素を有する。この描
画領域21を水平方向に三分割し、垂直方向に二分割した
六領域を左上から順に領域(0, 0)、領域(1, 0)、…、領
域(2, 1)とラベリングする。そして、これら領域のRGB
値の平均値を算出し、計18個の数値をもってイラストの
画像特徴量とする。
【0041】図6は特徴量を算出する処理を説明するフ
ローチャートである。
【0042】ステップS51で変数kおよびjを零に初期化
し、ステップS52で変数iを零に初期化する。そして、ス
テップS53で、配列dのk番目の要素d(k)に領域(i, j)の
レッドRの平均値を、要素d(k+1)にグリーンGの平均値
を、要素d(k+2)にブルーBの平均値をそれぞれ代入す
る。
【0043】次に、ステップS54で変数kを3だけ増加
し、変数iを1だけ増加する。そして、ステップS55でi >
2を判定して、i > 2でなければステップS53へ戻り、i
> 2であればステップS56へ進み、変数jを1だけ増加す
る。そして、ステップS57でj >1を判定して、j > 1であ
れば特徴量の算出を終了し、j > 1でなければステップS
52へ戻る。
【0044】上記処理が完了すると、18個の要素をもつ
配列d()に、イラストの画像特徴量が格納される。ここ
では特徴量を算出するために、描画領域を六つの等面積
の矩形領域に分割する例を示したが、分割領域は等面積
や矩形に限らず、より複雑な形状でもよいし、分割数も
六つに限定されるものではない。もし、分割数を増減し
た場合、特徴量の要素数は18ではなく、分割数の増減に
応じて増減する。
【0045】図7は領域ごとにRGBの平均値を算出する処
理を説明するフローチャートである。ただし、画像デー
タは、R(X, Y)、G(X, Y)およびB(X, Y)の三つの配列に
格納されているものとする。ここで、0≦X<W、0≦Y<H
で、分割領域の左上隅を原点(0, 0)にする。
【0046】図7に示す処理は、X0≦X<X1およびY0≦Y
<Y1の部分領域の平均値を算出し、算出した平均値をそ
れぞれ変数DR、DGおよびDBに格納する。各分割領域(i,
j)の左上角の点(X0, Y0)および右下角の点(X1, Y1)は下
式のように表されるから、図7に示す処理を実行する前
に、定数X0、X1、Y0およびY1を下式で初期化する。 X0 = W×i/3、Y0 = H×j/2 X1 = W×(i + 1)/3 - 1、Y1 = H×(j + 1)/2 - 1
【0047】ステップS61で注目する分割領域の左上お
よび右下角の点を上式に従い設定し、ステップS62で変
数DR、DGおよびDBを零で初期化し、ステップS63で変数Y
をY0で初期化し、ステップS64で変数XをX0で初期化す
る。
【0048】次に、ステップS65で、DRにR(X, Y)を、DG
にG(X, Y)、DBにB(X, Y)をそれぞれ加える。そして、ス
テップS66で変数Xに1を加えて、ステップS67でX > X1を
判定し、X > X1であればステップS68へ進み、そうでな
ければS65へ戻る。
【0049】ステップS68では変数Yに1を加え、ステッ
プS69でY > Y1を判定し、Y > Y1であればステップS70へ
進み、そうでなければステップS64へ戻る。
【0050】ステップS70では変数DR、DGおよびDBをそ
れぞれ分割領域(i, j)の画素数C = (X1-X0+1)×(Y1-Y0+
1)で除算して、分割領域(i, j)の画素値の平均値を得
る。
【0051】●要求する画像データの決定 ステップS1008おいて、クライアントプロセスは、クラ
イアントのハードディスクドライブ106にキャッシュさ
れた画像データを参照して、サーバ11に画像データの送
信を要求するか否かを決定する。
【0052】図8はクライアントがキャッシュする画像
データファイルの構造例を示す図で、111はGUID、112a
および112b、113aおよび113b、…はキャッシュされた画
像のIDおよびそのIDの画像データである。この画像デー
タファイルは、クライアントがアクセスした画像データ
ベースごとに作成され、どの画像データベースに対応す
るキャッシュかは先頭のGUID111により識別可能であ
る。
【0053】従って、クライアントプロセスは、ステッ
プS1006で受信したGUIDと同じGUIDの画像データファイ
ルを探し、画像データファイルにキャッシュされたID
と、検索結果T()とを比較する。そして、検索結果T()に
含まれるIDと、画像データファイルにキャッシュされた
IDとが一致すれば、キャッシュされた画像データを用い
て画像を表示すればよいので、サーバ11に送信を要求す
る必要はないと判断する。従って、検索結果T()のう
ち、画像データファイルにキャッシュされたIDの何れと
も一致しない、すなわち画像データファイルにキャッシ
ュされていないIDの画像データの送信をサーバ11に要求
する。
【0054】●アイコン画像または縮小画像の表示 画像アイコンまたは縮小画像26a〜26hとして、上記の処
理によって検索された類似画像が縮小表示される。画像
アイコンまたは縮小画像26aは最も類似度の高い画像番
号T(0)の画像データに対応し、画像アイコンまたは縮小
画像26bには次に類似度が高い画像番号T(1)の画像デー
タに対応するのように、画像データの類似度順に画像ア
イコンが配列される。元の画像データから縮小データを
生成して画像アイコンを表示してもよいが、標準的な画
像フォーマットであるFlashPixのように、アイコン表示
用の低解像度の画像データをもつ場合はそのデータを利
用することもできる。
【0055】●類似画像の検索 画像特徴量d()に基づく類似画像の検索を説明する。
【0056】サーバ11のハードディスクドライブ106に
はN(≧0)枚分の画像の画像データが蓄積されていて、そ
れら画像の特徴量は上述した方法で事前に算出され、画
像データに関連付けられてハードディスクドライブ106
に格納されている。なお、画像データは周知のJPEGやFl
ashPixなどの標準的なファイル形式であってもよいし、
所謂RDBMS (Relational DataBase Management System)
独自のファイル形式であってもよい。
【0057】画像特徴量は、N×18の大きさをもつ二次
元配列D(n, i)(ただし、0≦n<N、0≦i<18)に格納さ
れているものとする。このとき、検索画像と第n番目の
画像との画像間距離S(n)を下式で定義し、画像間距離S
(n)が小さいほど画像の類似度は高いと判定する。 S(n) = Σi{D(n, i) - d(i)}2
【0058】まず、N枚すべての画像と、検索画像との
間の画像間距離S(n) (0≦n<N)を計算し、次に画像間距
離S(n)が小さいものから順にM個(0 > M > N)の画像を選
ぶことで、類似画像を検索する。
【0059】図9は画像間距離S(n)の計算を示すフロー
チャートである。
【0060】ステップS71で変数nを零に初期化し、ステ
ップS72で変数iおよび画像間距離S(n)を零に初期化す
る。そして、ステップS73でD(n, i)とd(i)の差分の二乗
をS(n)に加算し、ステップS74で変数iに1を加えて、ス
テップS75でi > 17を判定し、i> 17であればステップS7
6へ進み、そうでなければステップS73へ戻る。続いて、
ステップS76では変数nに1を加え、ステップS77でn > N-
1を判定し、n > N-1であれば処理を終了し、そうでなけ
ればステップS72へ戻る。
【0061】上記の処理により、配列S(n)には、検索画
像とハードディスクドライブ106に蓄積されたN枚分の画
像との間の画像間距離が格納される。
【0062】図10は画像間距離S(n)の小さいものから順
にM個の画像を選び、その画像番号(画像ID)を配列T()
に格納する処理を示すフローチャートである。
【0063】ステップS81で変数jを零に初期化し、ステ
ップS82で変数iおよび変数minを零に、変数Lを充分大き
な値(図10には∞記号で表す)にそれぞれ初期化する。
そして、ステップS83でS(i) < Lを判定し、S(i) < Lな
らばステップS84へ進み、そうでなければステップS85へ
進む。
【0064】ステップS84では変数minに変数iの値を、
変数LにS(i)の値をそれぞれ代入する。ステップS85では
変数iに1を加える。そして、ステップS86でi > N+1を判
定し、i > N+1であればステップS87へ進み、そうでなけ
ればステップS83へ戻る。
【0065】ステップS87ではT(j)に変数minの値を、S
(min)に充分大きな値(図10には∞記号で表す)をそれ
ぞれ代入し、ステップS88で変数jに1を加える。そし
て、ステップS89でj > M+1を判定し、j > M+1であれば
処理を完了し、そうでなければステップS82へ戻る。
【0066】上記の処理により、配列T(j) (0 < j < M)
には、検索画像に対する類似度が高い順に画像番号(画
像ID)が格納される。
【0067】図11はサーバ11の画像データベースの構成
例を示す図で、117はGUID、124a、124bおよび124c、125
a、125bおよび125c、…はデータベース中の画像ID、画
像特徴量および画像データ本体である。サーバ11は、ク
ライアントから要求された画像データを画像データベー
スから読み出し、コンピュータ間通信によりクライアン
トに送信する。
【0068】なお、図11には画像IDが「0」および「1」
の画像を蓄積している様子を示すが、画像IDは必ずしも
連番になっている必要はないし、小さいものから順に並
んでいる必要もない。
【0069】なお、上記のサーバプロセスの説明におい
ては、クライアントプロセスが一つの場合を説明した
が、複数クライアントがそれぞれクライアントプロセス
を実行するので、サーバプロセスは、すべてのクライア
ントからの通信要求を監視する必要がある。従って、複
数のサーバプロセスをサーバ11上で並列に実行し、複数
クライアントからの要求に応えられるようにすることが
望まし。
【0070】また、上記では、受信した画像データをGU
IDに基づいてキャッシュすることで、ネットワーク12の
トラフィックを抑える例を説明したが、他の方法も利用
できる。例えば、図11に示すサーバ11の画像データベー
スのファイルを書き込んだCD-ROMなどのメディアを各ク
ライアントに配布することで、同等の効果を実現するこ
とができる。CD-ROMを作成し配布した後にサーバ11の画
像データベースに画像が追加された場合は、クライアン
トのCD-ROMには対応する画像データが存在しないことに
なるが、上記のアルゴリズムに従い、クライアントに存
在しない画像データをサーバ11に要求すればよいので、
画像データベースが動的に更新される場合にも有効であ
る。
【0071】また、クライアントにおいては、各画像の
特徴量は必要としないので、サーバ11の画像データベー
スをそのままCD-ROMに書き込む必要はなく、特徴量を省
いて軽量化した画像データベースをCD-ROMに書き込めば
よい。
【0072】また、GUIDを画像データベース内に記録す
る例を説明したが、GUIDに基づいたファイル名を画像デ
ータベースのファイルに付けるようにしてもよい。例え
ば「63994E03-9B21-11D3-8B9D-00C04F6882F7.dat」のよ
うなファイル名を付けることで、画像データベースから
取得したGUID+画像IDに対応する画像データを特定する
ことができる。あるいは、画像データベースのファイル
が格納されたディレクトリ名や、CD-ROMのボリュームラ
ベルをGUIDに基づいて決めるようにしてもよい。
【0073】また、データベースを一意に特定するため
に、COMで定義されたGUIDを用いる例を説明したが、こ
れに限らず、他の方法で定義されたIDを用いてもよい。
【0074】このように、本実施形態によれば、検索画
像そのものではなく、検索画像の特徴量をサーバに送信
する、並びに、クライアントの画像キャッシュを有効に
利用する、などの処理により、画像検索時のクライアン
ト-サーバ間(ネットワーク上)の通信量を削減するこ
とができる。従って、クライアント/サーバシステムに
おいて、効率的に、画像データベースから画像を検索す
ることができる。
【0075】
【第2実施形態】以下、本発明にかかる第2実施形態の画
像処理装置を説明する。なお、本実施形態において、第
1実施形態と略同様の構成については、同一符号を付し
て、その詳細説明を省略する。
【0076】第1実施形態においては、検索サーバが、
画像データ自体のサーバ(画像サーバ)である例を説明
した。しかし、画像サーバを分散し、検索サーバは単に
画像へのインデックスを提供するようにしてもよい。例
えばWorld Wide Web (WWW)上の検索サイト(例えばYaho
oやAltaVista)は、文字データへのインデックスを提供
する。この検索サービスは、検索対象文字列と、ウェブ
(Web)サイトのHTMLデータ中の文字列との一致検索に基
づくものである。第2実施形態は、このような検索サー
ビスを類似画像検索に置き換えて、Webサイトの画像を
検索するための検索サーバを提供するものである。
【0077】図12はWebサーバ、検索サーバおよびクラ
イアントの相互関係を説明する図である。Webサーバ22
1、222および223は、画像を含むWebページをインターネ
ット226に対して公開している。検索サーバ224は、後述
するように、各Webページ上の画像データの特徴量と、
画像データへのリンクを関連付けて保持する。なお、ク
ライアント225からの画像検索要求や、画像検索を実行
する過程は、第1実施形態と同様であるから、その説明
を省略する。
【0078】図13は検索サーバ224の画像データベース
の構造を説明する図で、131はGUID、132aから132c、133
aから133c、…はそれぞれデータベース中の画像ID、画
像特徴量および画像データへのリンクを示す文字列であ
る。なお、図13には、画像IDが「0」および「1」の画像
を蓄積している様子を示すが、画像IDは必ずしも連番に
なっている必要はないし、小さいものから順に並んでい
る必要もない。
【0079】第1実施形態と異なり、検索サーバ224は、
クライアント225から画像データを要求された場合、画
像データベースから対応するリンク文字列(例えば、ht
tp://www.webserver.com/image1.jpgなどの文字情報)
を読み出し、画像データの要求をWebサーバ121などのWe
bサーバにリダイレクトする。従って、クライアント225
のモニタ画面には、画像検索要求にマッチする、Webサ
ーバが公開する画像が表示されることになる。
【0080】勿論、Webサーバが画像アイコンや縮小画
像を提供可能な場合、検索サーバ224が、その画像アイ
コンや縮小画像へのリンク文字列をクライアント225へ
供給することで、上述した画像アイコンや縮小画像の表
示をクライアント225のモニタ画面に行うこともでき
る。さらに、Java(米国Sun Microsytems社の商標)な
どのプログラムによって、検索サーバ224からクライア
ント225へ画像検索機能を提供すれば、図2と同等の画像
検索機能を提供することが可能である。
【0081】このように、Webサイトの画像を類似画像
検索するための画像検索サーバを提供することができ
る。
【0082】
【他の実施形態】なお、本発明は、複数の機器(例えば
ホストコンピュータ、インタフェイス機器、リーダ、プ
リンタなど)から構成されるシステムに適用しても、一
つの機器からなる装置(例えば、複写機、ファクシミリ
装置など)に適用してもよい。
【0083】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
録した記憶媒体(または記録媒体)を、システムあるい
は装置に供給し、そのシステムあるいは装置のコンピュ
ータ(またはCPUやMPU)が記憶媒体に格納されたプログ
ラムコードを読み出し実行することによっても、達成さ
れることは言うまでもない。この場合、記憶媒体から読
み出されたプログラムコード自体が前述した実施形態の
機能を実現することになり、そのプログラムコードを記
憶した記憶媒体は本発明を構成することになる。また、
コンピュータが読み出したプログラムコードを実行する
ことにより、前述した実施形態の機能が実現されるだけ
でなく、そのプログラムコードの指示に基づき、コンピ
ュータ上で稼働しているオペレーティングシステム(OS)
などが実際の処理の一部または全部を行い、その処理に
よって前述した実施形態の機能が実現される場合も含ま
れることは言うまでもない。
【0084】さらに、記憶媒体から読み出されたプログ
ラムコードが、コンピュータに挿入された機能拡張カー
ドやコンピュータに接続された機能拡張ユニットに備わ
るメモリに書込まれた後、そのプログラムコードの指示
に基づき、その機能拡張カードや機能拡張ユニットに備
わるCPUなどが実際の処理の一部または全部を行い、そ
の処理によって前述した実施形態の機能が実現される場
合も含まれることは言うまでもない。
【0085】本発明を上記記憶媒体に適用する場合、そ
の記憶媒体には、先に説明したフローチャートに対応す
るプログラムコードが格納されることになる。
【0086】
【発明の効果】以上説明したように、本発明によれば、
クライアント/サーバシステムにおいて、効率的に、画
像データベースから画像を検索することができる。
【図面の簡単な説明】
【図1】実施形態の画像検索装置を実現するコンピュー
タシステムの構成例を示すブロック図、
【図2】検索処理の実行時にクライアントのディスプレ
イに表示される操作画面を示す図、
【図3】画像検索の概要を示すフローチャート、
【図4】検索画像の指示の詳細を示すフローチャート、
【図5】描画領域の分割例を示す図、
【図6】特徴量を算出する処理を説明するフローチャー
ト、
【図7】領域ごとにRGBの平均値を算出する処理を説明
するフローチャート、
【図8】クライアントがキャッシュする画像データファ
イルの構造例を示す図、
【図9】画像間距離の計算を示すフローチャート、
【図10】画像間距離の小さいものから順にM個の画像
を選び、その画像番号(画像ID)を配列T()に格納する
処理を示すフローチャート、
【図11】サーバの画像データベースの構成例を示す
図、
【図12】Webサーバ、検索サーバおよびクライアント
の相互関係を説明する図、
【図13】検索サーバの画像データベースの構造を説明
する図である。

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 サーバに保持された、複数の画像が蓄積
    された画像データベースから画像を検索する画像処理方
    法であって、 検索すべき画像から特徴量を抽出し、 抽出した特徴量を前記サーバに送信し、 前記特徴量に基づく前記サーバの検索結果、および、前
    記画像データベースを特定するIDを前記サーバから受信
    し、 前記検索結果および前記IDに基づき前記サーバに画像デ
    ータを要求することを特徴とする画像処理方法。
  2. 【請求項2】 複数の画像が蓄積された画像データベー
    スから画像を検索する画像処理方法であって、 検索すべき画像の特徴量をクライアントから受信し、 受信した特徴量、および、前記画像データベースに格納
    された各画像の特徴量に基づき画像を検索し、 その検索結果および前記画像データベースを特定するID
    を前記クライアントへ送信し、 画像データの要求を前記クライアントから受信し、 要求された画像データを前記画像データベースから読み
    出して前記クライアントへ送信することを特徴とする画
    像処理方法。
  3. 【請求項3】 サーバに保持された、複数の画像が蓄積
    された画像データベースから画像を検索する画像処理装
    置であって、 前記サーバと通信する通信手段と、 検索すべき画像から特徴量を抽出する抽出手段と、 抽出された特徴量を前記サーバに送信し、前記特徴量に
    基づく前記サーバの検索結果、および、前記画像データ
    ベースを特定するIDを前記サーバから受信し、前記検索
    結果および前記IDに基づき前記サーバに画像データを要
    求する制御手段とを有することを特徴とする画像処理装
    置。
  4. 【請求項4】 さらに、前記サーバから受信した画像デ
    ータを前記IDに関連付けて記憶するメモリを有し、 前記制御手段は、前記検索結果および前記IDに基づき、
    前記メモリに記憶されていない画像データを要求するこ
    とを特徴とする請求項3に記載された画像処理装置。
  5. 【請求項5】 前記メモリはリムーバブルメディアであ
    ることを特徴とする請求項4に記載された画像処理装
    置。
  6. 【請求項6】 さらに、ユーザが対話的に検索画像を指
    示するための指示手段を有することを特徴とする請求項
    4に記載された画像処理装置。
  7. 【請求項7】 前記制御手段は、前記検索結果に基づき
    検索された画像を表示手段に一覧表示させることを特徴
    とする請求項4に記載された画像処理装置。
  8. 【請求項8】 前記IDは、コンポーネントオブジェクト
    モデル(Component Object Model)により定義されたグロ
    ーバリユニーク識別子(GUID)であることを特徴とする請
    求項4に記載された画像処理装置。
  9. 【請求項9】 前記IDは、前記メモリに記憶されること
    を特徴とする請求項4または請求項5に記載された画像処
    理装置。
  10. 【請求項10】 複数の画像が蓄積された画像データベ
    ースを所有するサーバ装置であって、 クライアントと通信する通信手段と、 前記クライアントの要求に従い、画像検索および画像デ
    ータの供給を行う制御手段とを有し、 前記制御手段は、前記クライアントから検索すべき画像
    の特徴量を受信した場合、受信した特徴量、および、前
    記画像データベースに格納された各画像の特徴量に基づ
    き画像を検索し、その検索結果および前記画像データベ
    ースを特定するIDを前記クライアントへ送信する、ま
    た、前記クライアントから画像データの要求を受信した
    場合、要求された画像データを前記画像データベースか
    ら読み出して前記クライアントへ送信することを特徴と
    するサーバ装置。
  11. 【請求項11】 画像処理装置を制御して、請求項1ま
    たは請求項2に記載された画像処理を実行することを特
    徴とするプログラム。
  12. 【請求項12】 請求項11に記載されたプログラムが記
    録されたことを特徴とする記録媒体。
JP2002091639A 2001-04-20 2002-03-28 画像処理装置およびその方法、並びに、サーバ装置 Pending JP2003006198A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002091639A JP2003006198A (ja) 2001-04-20 2002-03-28 画像処理装置およびその方法、並びに、サーバ装置
US10/125,506 US7146382B2 (en) 2001-04-20 2002-04-19 Image processing apparatus and its method and server apparatus

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001-122862 2001-04-20
JP2001122862 2001-04-20
JP2002091639A JP2003006198A (ja) 2001-04-20 2002-03-28 画像処理装置およびその方法、並びに、サーバ装置

Publications (1)

Publication Number Publication Date
JP2003006198A true JP2003006198A (ja) 2003-01-10

Family

ID=26613927

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002091639A Pending JP2003006198A (ja) 2001-04-20 2002-03-28 画像処理装置およびその方法、並びに、サーバ装置

Country Status (2)

Country Link
US (1) US7146382B2 (ja)
JP (1) JP2003006198A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007328406A (ja) * 2006-06-06 2007-12-20 Nec Corp 描画検索システム、描画検索方法及び描画検索端末
JP2008524688A (ja) * 2004-12-15 2008-07-10 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Blobを管理するためのシステム及び方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004030122A (ja) * 2002-06-25 2004-01-29 Fujitsu Ltd 図面検索支援装置および図面検索方法
JP4266870B2 (ja) * 2003-04-07 2009-05-20 キヤノン株式会社 画像出力システム、印刷装置、撮像装置、通信装置、情報処理装置、記憶装置と及びその方法
US7814101B2 (en) * 2003-10-30 2010-10-12 Microsoft Corporation Term database extension for label system
JP2005184430A (ja) * 2003-12-19 2005-07-07 Noritsu Koki Co Ltd 写真プリントシステム
JP2005202264A (ja) * 2004-01-19 2005-07-28 Noritsu Koki Co Ltd 写真プリントシステム
US20050223358A1 (en) * 2004-04-06 2005-10-06 Rothman Michael A Steering run time non-volatile storage access requests to run time inaccessible storage resources
EP2201480A1 (en) * 2007-08-28 2010-06-30 Hewlett-Packard Development Company, L.P. Method and apparatus for multimedia data management on mobile devices
JP2009253847A (ja) * 2008-04-09 2009-10-29 Canon Inc 情報処理装置およびその制御方法、プログラム、記憶媒体
US8875007B2 (en) 2010-11-08 2014-10-28 Microsoft Corporation Creating and modifying an image wiki page
US10198802B2 (en) * 2015-07-01 2019-02-05 Hitachi Kokusai Electric Inc. Monitoring system, photography-side device, and verification-side device
AU2016409676B2 (en) * 2016-06-08 2020-01-30 Huawei Technologies Co., Ltd. Processing method and terminal
CN106484769A (zh) * 2016-09-08 2017-03-08 深圳市彬讯科技有限公司 一种在线快速访问查询图片的方法
CN110325945A (zh) * 2016-12-16 2019-10-11 动力专家有限公司 用于设计可穿戴物品和配件的系统和处理

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141010A (en) * 1998-07-17 2000-10-31 B. E. Technology, Llc Computer interface method and apparatus with targeted advertising
US6704466B1 (en) 1998-08-31 2004-03-09 Canon Kabushiki Kaisha Image search system, image search apparatus, control method thereof, and computer readable memory
JP2000076270A (ja) 1998-08-31 2000-03-14 Canon Inc 画像検索システム及びその制御方法、画像検索装置及びその制御方法、コンピュータ可読メモリ
US6499137B1 (en) * 1998-10-02 2002-12-24 Microsoft Corporation Reversible load-time dynamic linking
JP2001014333A (ja) 1999-06-30 2001-01-19 Telecommunication Advancement Organization Of Japan 画像検索システムおよび画像データベース管理装置
US6601064B1 (en) * 1999-11-24 2003-07-29 Ncr Corporation Method and apparatus for fetching array based objects by direct delivery and batching
US6721741B1 (en) * 2000-01-24 2004-04-13 Friskit, Inc. Streaming media search system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008524688A (ja) * 2004-12-15 2008-07-10 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Blobを管理するためのシステム及び方法
JP2007328406A (ja) * 2006-06-06 2007-12-20 Nec Corp 描画検索システム、描画検索方法及び描画検索端末

Also Published As

Publication number Publication date
US7146382B2 (en) 2006-12-05
US20020156775A1 (en) 2002-10-24

Similar Documents

Publication Publication Date Title
US11004120B2 (en) Method for providing real-time service of huge and high quality digital image on internet
US11017018B2 (en) Systems and methods of building and using an image catalog
US20220400259A1 (en) Transferring system for huge and high quality images on network and method thereof
JP2003006198A (ja) 画像処理装置およびその方法、並びに、サーバ装置
US11200374B2 (en) Methods to create and use responsive forms with externalized configurations and artifacts
US6704466B1 (en) Image search system, image search apparatus, control method thereof, and computer readable memory
US7363311B2 (en) Method of, apparatus for, and computer program for mapping contents having meta-information
JP3445912B2 (ja) ハイパーテキスト自動取得装置
JP2000076270A (ja) 画像検索システム及びその制御方法、画像検索装置及びその制御方法、コンピュータ可読メモリ
Esperança et al. An overview of the SAND spatial database system
JP4111508B2 (ja) データ属性管理方法
JPH09330332A (ja) 文書検索方法及び装置
JP2000347923A (ja) データ管理システム及びデータ管理・検索システム、並びにコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060814

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061215