(57)【特許請求の範囲】
【請求項１】
改ページや改行位置が確定しているドキュメント内の一部領域を検索クエリとして、該領域が出現するドキュメント及び該ドキュメント内における位置を取得し、取得した位置に関連付けられたコンテンツを提示するコンテンツ検索装置であって、
インデックス作成対象のドキュメントの入力を受け付けるドキュメント入力手段と、
入力された前記ドキュメントの全体または一部領域から、1文字以上の文字の組み合わせからなる文字ブロックを抽出する文字ブロック抽出手段と、
前記文字ブロックと該文字ブロックが出現するドキュメントにおけるページ識別子とページ内座標を関連付けてインデックスDBに出力するインデックス出力手段と、
あるドキュメント内の一部領域を検索クエリとして受け付けるクエリ入力手段と、
前記検索クエリから、1文字以上の文字の組み合わせからなるクエリ文字ブロックを抽出するクエリ文字ブロック抽出手段と、
前記クエリ文字ブロックに基づいて、前記インデックスDBを検索し、その検索結果を出力する検索手段と、
前記検索結果をページ毎に集計し、最も多くの文字ブロックが検索されたページをヒットページとし、ヒットページ内で検索された文字ブロックのページ内座標の重心を算出し、ページ内ヒット位置とする文字ブロック重心算出手段と、
ページ識別子とページ内位置と、その位置に関連付けられるコンテンツとの関係を格納したコンテンツDBと、
前記文字ブロック重心算出手段によって算出された前記ヒットページと前記ページ内ヒット位置をクエリとして、該ヒットページと一致するページ識別子で、該ページ内ヒット位置の近傍のページ位置が関連付けられたコンテンツを前記コンテンツDBから検索するコンテンツ検索手段と、
を有することを特徴とするコンテンツ検索装置。
【請求項２】
前記文字ブロック重心算出手段は、
前記文字ブロックのページ内座標の重心を算出する際に、mean shift法を用いる
請求項１記載のコンテンツ検索装置。
【請求項３】
改ページや改行位置が確定しているドキュメント内の一部領域を検索クエリとして、該領域が出現するドキュメント及び該ドキュメント内における位置を取得し、取得した位置に関連付けられたコンテンツを提示するコンテンツ検索方法であって、
記憶手段として、
インデックスＤＢと、
ページ識別子とページ内位置と、その位置に関連付けられるコンテンツとの関係を格納したコンテンツDBと、を有する装置において、
ドキュメント入力手段が、インデックス作成対象のドキュメントの入力を受け付けるドキュメント入力ステップと、
文字ブロック抽出手段が、入力された前記ドキュメントの全体または一部領域から、1文字以上の文字の組み合わせからなる文字ブロックを抽出する文字ブロック抽出ステップと、
インデックス出力手段が、前記文字ブロックと該文字ブロックが出現するドキュメントにおけるページ識別子とページ内座標を関連付けて前記インデックスDBに出力するインデックス出力ステップと、
クエリ入力手段が、あるドキュメント内の一部領域を検索クエリとして受け付けるクエリ入力ステップと、
クエリ文字ブロック抽出手段が、前記検索クエリから、1文字以上の文字の組み合わせからなるクエリ文字ブロックを抽出するクエリ文字ブロック抽出ステップと、
検索手段が、前記クエリ文字ブロックに基づいて、前記インデックスDBを検索し、その検索結果を出力する検索ステップと、
文字ブロック重心算出手段が、前記検索結果をページ毎に集計し、最も多くの文字ブロックが検索されたページをヒットページとし、ヒットページ内で検索された文字ブロックのページ内座標の重心を算出し、ページ内ヒット位置とする文字ブロック重心算出ステップと、
コンテンツ検索手段が、前記文字ブロック重心算出ステップにおいて算出された前記ヒットページと前記ページ内ヒット位置をクエリとして、該ヒットページと一致するページ識別子で、該ページ内ヒット位置の近傍のページ位置が関連付けられたコンテンツを前記コンテンツDBから検索するコンテンツ検索ステップと、
を行うことを特徴とするコンテンツ検索方法。
【請求項４】
前記文字ブロック重心算出ステップにおいて、
前記文字ブロックのページ内座標の重心を算出する際に、mean shift法を用いる
請求項３記載のコンテンツ検索方法。
【請求項５】
請求項１または２に記載のコンテンツ検索装置を構成する各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ検索装置及び方法及びプログラムに係り、特に、改ページや改行位置が確定しているドキュメント内の部分領域の撮影画像を検索クエリとして、該領域が出現するドキュメント及び該ドキュメント内における位置を特定し、その位置に関連するコンテンツを提示するための、ドキュメント内の位置とコンテンツを関連付けるコンテンツ検索装置及び方法及びプログラムに関する。
【背景技術】
【０００２】
本発明は、書籍等のドキュメントの部分領域から、該領域がどのドキュメントのどの位置に含まれているか一意に特定し、その位置に関連づけられたコンテンツを提示する装置および方法に関わるものであり、これは様々な分野で応用可能である。例えば、ユーザが理科の教科書の一部をカメラ付き携帯電話等で撮影することで、その撮影領域がどの教科書のどこの位置かを特定し、その教科書の該当位置に関連した実験映像や、関連した問題等のコンテンツを提示することができるようになり、これにより、ユーザの理解の促進に役立てることができる。
【０００３】
上記の事例は、ドキュメントの一部領域をクエリとし、膨大な量のドキュメント群の中から該領域を含むドキュメント名、あるいはドキュメント名及びドキュメントにおける位置を特定し、その位置に関連付けられたコンテンツを提示するコンテンツ検索装置と捉えることができる。
【０００４】
そして、ドキュメント群の中から位置情報を取得するシステムを構築するためには、ドキュメント群を事前に分析してインデックスを作成すると共に、関連したコンテンツを登録しておく必要がある。
【０００５】
このような問題は、近年盛んに研究されており、現在でも多くの手法が提案されている。
【０００６】
例えば、日本語の場合は形態素解析等の技術を用いて、ドキュメント内の文書を単語単位に分割した後、単語をインデックスのキーとし、該単語を含むドキュメント名、あるいは、ドキュメント名及びドキュメント中において該単語が登場する位置をインデックスの値とする方式が挙げられる。
【０００７】
また、Ｎ文字（あるいはＮ単語）の連なりをインデックスのキーとし、その文字（あるいは単語）の連なりを含むドキュメント名、あるいは、ドキュメント名及びドキュメント中においてその文字（あるいは単語）の連なりが登場する位置をインデックスの値とする方式（文字のN-gram方式、単語のN-gram方式）もある。N-gram方式は幅広い場面で有用性が認められており、現在でも多くの拡張手法が提案されている。また、通常のN-gram方式に加え、状況に応じてＮの値を変動させる方式も実施されている（例えば、非特許文献１参照）。
【０００８】
ドキュメント群の中から特定ドキュメントの特定位置を取得し、特定された位置とその位置にコンテンツを関連付ける最も単純な方法としては、章、節、パラグラフ等の文書構造の単位、もしくは手動でコンテンツを関連付ける対象領域をコンテンツ単位あるいはコンテンツ群単位に指定してＤＢに登録しておき、部分領域をクエリとして与えられたとき、その部分領域がどのコンテンツを関連付ける対象領域に含まれるかどうかで、部分領域とコンテンツとの関連付ける方法がある。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】「Unicodeを用いたN-gram索引の一実現方式とその評価」情報処理学会研究会報告、2000-NL-136-17,pp.135-142.
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記従来方式では、コンテンツを関連付ける対象領域を人手で指定することが必要であり、この作業に多大な労力を必要とするという問題がある。特に、対象ドキュメントが紙媒体のみであり、印刷の元となる電子媒体が存在しない場合には、その紙媒体をスキャナで読み取り、読み取った画像を光学文字読取装置（ＯＣＲ）で文字に変換することとなるが、この場合には、章、節、パラグラフ等のドキュメントの構造に関する情報が失われてしまう。このため、上記のような対象領域が存在することを前提とする手法では、手動での領域指定が避けられない。これではインデキシング対象のドキュメントが数万から数百万冊存在した場合、この作業には膨大な労力、費用がかかるという問題があった。
【００１１】
本発明は、上記の点に鑑みなされたもので、コンテンツを関連付ける対象領域を設定することなく、低コストでドキュメントの特定位置とコンテンツとを関連付けることが可能なコンテンツ検索装置及び方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記の課題を解決するために、本発明（請求項１）は、改ページや改行位置が確定しているドキュメント内の一部領域を検索クエリとして、該領域が出現するドキュメント及び該ドキュメント内における位置を取得し、取得した位置に関連付けられたコンテンツを提示するコンテンツ検索装置であって、
インデックス作成対象のドキュメントの入力を受け付けるドキュメント入力手段と、
入力された前記ドキュメントの全体または一部領域から、1文字以上の文字の組み合わせからなる文字ブロックを抽出する文字ブロック抽出手段と、
前記文字ブロックと該文字ブロックが出現するドキュメントにおけるページ識別子とページ内座標を関連付けてインデックスDBに出力するインデックス出力手段と、
あるドキュメント内の一部領域を検索クエリとして受け付けるクエリ入力手段と、
前記検索クエリから、1文字以上の文字の組み合わせからなるクエリ文字ブロックを抽出するクエリ文字ブロック抽出手段と、
前記クエリ文字ブロックに基づいて、前記インデックスDBを検索し、その検索結果を出力する検索手段と、
前記検索結果をページ毎に集計し、最も多くの文字ブロックが検索されたページをヒットページとし、ヒットページ内で検索された文字ブロックのページ内座標の重心を算出し、ページ内ヒット位置とする文字ブロック重心算出手段と、
ページ識別子とページ内位置と、その位置に関連付けられるコンテンツとの関係を格納したコンテンツDBと、
前記文字ブロック重心算出手段によって算出された前記ヒットページと前記ページ内ヒット位置をクエリとして、該ヒットページと一致するページ識別子で、該ページ内ヒット位置の近傍のページ位置が関連付けられたコンテンツを前記コンテンツDBから検索するコンテンツ検索手段と、を有する。
【００１３】
また、本発明（請求項２）は、文字ブロック重心算出において、前記文字ブロックのページ内座標の重心を算出する際に、mean shift法を用いる。
【００１４】
また、本発明（請求項３）は、改ページや改行位置が確定しているドキュメント内の一部領域を検索クエリとして、該領域が出現するドキュメント及び該ドキュメント内における位置を取得し、取得した位置に関連付けられたコンテンツを提示するコンテンツ検索方法であって、
記憶手段として、
インデックスＤＢと、
ページ識別子とページ内位置と、その位置に関連付けられるコンテンツとの関係を格納したコンテンツDBと、を有する装置において、
ドキュメント入力手段が、インデックス作成対象のドキュメントの入力を受け付けるドキュメント入力ステップと、
文字ブロック抽出手段が、入力された前記ドキュメントの全体または一部領域から、1文字以上の文字の組み合わせからなる文字ブロックを抽出する文字ブロック抽出ステップと、
インデックス出力手段が、前記文字ブロックと該文字ブロックが出現するドキュメントにおけるページ識別子とページ内座標を関連付けて前記インデックスDBに出力するインデックス出力ステップと、
クエリ入力手段が、あるドキュメント内の一部領域を検索クエリとして受け付けるクエリ入力ステップと、
クエリ文字ブロック抽出手段が、前記検索クエリから、1文字以上の文字の組み合わせからなるクエリ文字ブロックを抽出するクエリ文字ブロック抽出ステップと、
検索手段が、前記クエリ文字ブロックに基づいて、前記インデックスDBを検索し、その検索結果を出力する検索ステップと、
文字ブロック重心算出手段が、前記検索結果をページ毎に集計し、最も多くの文字ブロックが検索されたページをヒットページとし、ヒットページ内で検索された文字ブロックのページ内座標の重心を算出し、ページ内ヒット位置とする文字ブロック重心算出ステップと、
コンテンツ検索手段が、前記文字ブロック重心算出ステップにおいて算出された前記ヒットページと前記ページ内ヒット位置をクエリとして、該ヒットページと一致するページ識別子で、該ページ内ヒット位置の近傍のページ位置が関連付けられたコンテンツを前記コンテンツDBから検索するコンテンツ検索ステップと、を行う。
【００１５】
また、本発明（請求項４）は、前記文字ブロック重心算出ステップにおいて、
前記文字ブロックのページ内座標の重心を算出する際に、mean shift法を用いる。
【００１６】
また、本発明（請求項５）は、請求項１または２に記載のコンテンツ検索装置を構成する各手段としてコンピュータを機能させるためのプログラムである。
【発明の効果】
【００１７】
本発明により、ドキュメント群の中からカメラ付携帯等のクライアント端末で撮影されたドキュメントの部分画像から特定ドキュメントの特定位置を特定するとともに、その特定位置に関連づけられたコンテンツを選択し、クライアント端末でそのコンテンツを表示することができる。
特に、コンテンツを関連づける対象のドキュメントに、章、節、パラグラフ等のドキュメントの構造に関する情報がない、もしくは失われている場合において、ドキュメント上の物理的な位置を指定するだけで、コンテンツを関連づけることが可能になるので、手作業で章、節、パラグラフ等のドキュメントの構造に関するデータを付与する作業が不要になるという効果がある。これは、インデキシング対象のドキュメントが数万から数百万冊存在した場合には特に有効である。
【００１８】
従来方式でも、コンテンツが関連付ける必要がある箇所のみインデックスを作成する必要があるアプリケーションの場合には、コンテンツが関連付ける箇所のみの領域指定の作業で済むが、例えば、一般ユーザが携帯電話で撮影した任意の箇所に対してコンテンツを関連付けることを許すサービスに適用する場合には、ドキュメントのすべての箇所を予めインデキシングしておく必要があり、手作業で章、節、パラグラフ等の領域を指定し、ドキュメント構造を復活させる作業が不可欠であった。したがって、本発明はこのようなサービスに適用する場合に特に優れた効果を奏する。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施の形態における検索システムの構成図である。
【図２】本発明の一実施の形態におけるドキュメントページの例である。
【図３】本発明の一実施の形態におけるインデックス作成処理のフローチャートである。
【図４】本発明の一実施の形態におけるテキストファイルをリスト化した例である。
【図５】本発明の一実施の形態におけるインデックス作成処理時の文字ブロックの抽出例である。
【図６】本発明の一実施の形態におけるインデックス作成処理時の文字ブロック抽出ルールを適用した例である。
【図７】本発明の一実施の形態におけるインデックス作成処理時の文字ブロック抽出部の処理結果（インデックスＤＢ）である。
【図８】本発明の一実施の形態におけるコンテンツＤＢの例である。
【図９】格納用アプリケーションを説明するための図である。
【図１０】本発明の一実施の形態におけるクライアント部からサーバ部へ問い合わせる処理のフローチャートである。
【図１１】本発明の一実施の形態における生成された画像ファイルの例である。
【図１２】本発明の一実施の形態における光学文字認識装置を利用して得られたテキストデータの例である。
【図１３】本発明の一実施の形態における問い合わせ処理時の文字ブロック抽出の例である。
【図１４】本発明の一実施の形態における問い合わせ処理時の文字ブロック抽出ルールを適用した例である。
【図１５】本発明の一実施の形態における問い合わせ処理時の文字ブロック抽出部の処理結果の例である。
【図１６】本発明の一実施の形態における問い合わせ結果の例である。
【図１７】本発明の一実施の形態における検索結果（コンテンツ）の例である。
【図１８】本発明の一実施の形態におけるコンテンツ表示手段の例である。
【発明を実施するための形態】
【００２０】
以下図面と共に、本発明の実施の形態を説明する。
【００２１】
図1は、本発明の一実施の形態における検索システムの構成図を示す。同図に示すシステムは、大きく分けてサーバ部３００、クライアント部４００、外部装置（ドキュメント読み取り装置１００、光学文字認識装置１１０）からなる。
【００２２】
サーバ部３００は、データ入力部３１０、文字ブロック抽出部３２０、インデックス出力部３３０、インデックスDB３４０、コンテンツDB３９０、サーバ側データ送受信部３５０、DB問い合わせ部３６０、文字ブロック重心算出部３７０、コンテンツ検索部３８０からなる。
【００２３】
クライアント部４００は、クライアント側デバイス４１０、クライアント側デバイス４１０を構成するドキュメント撮影部４１１、クライアント側デバイスを構成するコンテンツ表示部４１２、クライアント側データ送受信部４２０からなる。
【００２４】
外部装置は、ドキュメント読み取り装置１００、光学文字認識装置１１０からなる。
【００２５】
本実施の形態におけるドキュメント２００，２１０は、文字を含むページの集合から成る紙媒体の書籍、もしくは改行により文字の配置情報を含む電子媒体とする。紙媒体の場合には、ドキュメント読み取り装置１００に入力することで、電子媒体に変換される。
【００２６】
入力されるドキュメント群２００を構成している各ページ及びクライアント部に入力されるドキュメントページ２１０の例を図２に示す。
【００２７】
ドキュメント読み取り装置１００は、サーバ部３００のデータ入力部３１０に接続されている。光学文字認識装置１１０はサーバ側データ送受信部３５０に接続されている。
【００２８】
本実施の形態では、（１）サーバ部３００においてインデックスを作成する作業、（２）クライアント部４００からサーバ部３００に問い合わせる作業を行う。
【００２９】
（１）サーバ部においてインデックスを作成する作業：
図３は、本発明の一実施の形態におけるインデックス作成処理のフローチャートである。
【００３０】
●入力ステップ：インデックス作成対象となるドキュメントを入力する。
【００３１】
ステップ３１０）  ドキュメント群の各ドキュメントの各ページを、ドキュメント読み取り装置１００で読み取り、データ入力部３１０に渡す。
【００３２】
ここで、ドキュメント読み取り装置１００は、紙媒体に印刷されたテキストを読み取ってテキストファイルに変換する一般装置であり、OCR機能付きスキャナ等がこれに該当する。ここでは、各ページ中のテキストは紙媒体に印刷された状態における改ページ位置、改行位置が保持されたままテキストファイルに変換されるものとする。ただし、入力されたドキュメント群が改行コード等のドキュメント中の文字の配置情報を含む電子媒体として与えられた場合には、この処理は省略可能である。
【００３３】
ステップ３２０）  データ入力部３１０は、ドキュメント読み取り装置から渡されたテキストファイル群を読み込み、図４に示すデータ構造でリスト化して、サーバ部３００の文字ブロック抽出部３２０に渡す。なお、説明の便宜上、ここでは各ページに対してファイル名を割り当てているが必ずしもページ毎にファイルを保持する必要はない。ページ識別子は、乱数、UUID、書籍のISBN番号とページ番号をSHA-1等のハッシュ関数でIDに変換した等、ページを一意に識別できる情報とし、具体的には、どのような情報を利用しても構わない。
【００３４】
●文字ブロック抽出ステップ：各ドキュメントの各ページ内から文字ブロックを抽出する。
【００３５】
ステップ３３０）サーバ部３００の文字ブロック抽出部３２０は、データ入力部３１０から渡されたリストに記載されている各ページを読み込み、各ページから文字ブロック群を文字ブロック抽出ルールに則って抽出し、各文字ブロックと各文字ブロックの抽出元ページのファイル名と該ページにおける該文字ブロックの出現位置を関連付けて、インデックス出力部３３０に渡す。
【００３６】
ここで、「文字ブロック」 とは、ページ内に並んでいる文字列から、規定の形状で抽出した1文字以上の文字群のことである。ここでは、図５のように、規定の形状を箱型として抽出する。
【００３７】
また、「文字ブロック抽出ルール」とは、ドキュメントからどのように文字ブロックを抽出するか規定するルールであり、サーバ部３００のメモリ（図示せず）等に格納され、文字ブロック抽出部３２０により参照されるものとする。ここでは、図６のように、左上隅から右下隅方向へ２文字ずつずらしながら抽出することとする。
【００３８】
また、「文字ブロックの出現位置」とは、文字ブロックがドキュメントのどの位置に出現しているか、システムの目的に応じて任意の粒度で示す位置情報である。
【００３９】
図７は、本発明の一実施の形態における文字ブロック抽出部の処理結果を示す。同図は 、文字ブロック抽出部３２０で上記のステップ３３０の処理を行った結果を示しており、このデータがインデックス出力部３３０に渡される。なお、ここでは、文字ブロックを、文字ブロックを構成する文字を上方、左方から順番に並べて表現している。
【００４０】
本実施の形態では、各文字ブロックの出現位置を、行や列で表現するのではなく、ページ内位置と呼ぶそのページ内における位置座標として表現する。具体的には、そのページの左上の座標を（０，０）、右下の座標を(１，１)とする[０，１]を値域とする実数で表現する。
【００４１】
●出力ステップ：検索を実行するためのインデックスを出力する。
【００４２】
ステップ３４０）インデックス出力部３３０は、文字ブロック抽出部３２０から渡された各文字ブロックを、図７のデータ構造でインデックスDB３４０に格納する。これにより、文字ブロックを問い合わせキーとし、ファイル名及び出現位置を問い合わせ結果として返すインデックスDBを実現する。
【００４３】
（２）クライアント部からサーバ部に問い合わせる作業
サーバ部３００のコンテンツDB３９０には、書籍出版社、あるいは、一般ユーザが作成した、各書籍のページ識別子と、ページ内位置に関係したコンテンツ及び該コンテンツに関する情報を格納しておく。コンテンツの例としては、観光名所案内であれば各地を訪れた旅行者の体験談、化学教科書であれば化学実験映像等が挙げられる。ここでは、サーバ部３００上のデータ格納領域にコンテンツの実体を格納し、図８に示すようなデータ構造でコンテンツとページ識別子とページ内位置の関係を格納する。コンテンツ及び該コンテンツに関する情報をコンテンツDB３９０に格納するためには、別途、格納作業専用端末を用意してもよいし、図９のような格納作業用Webアプリケーションを用意して不特定多数のユーザがWebブラウザを通じて自由にコンテンツ及び該コンテンツに関する情報を格納できるようにしてもよい。図９において、画面右に表示されたドキュメント画像の位置をマウスでポイントすることでコンテンツを関連づける位置を指定する。関連づける対象のコンテンツは、右側のフォームを入力することで行う。このような構成により、コンテンツの位置を指定するにあたり、従来技術のように、手動で章、節、パラグラフなどの領域で指定するのではなく、コンテンツを設定する位置をマウスで指定された点を指定するだけでよく、章、節、パラグラフなどの領域データを、予め手作業で割り当てる作業が不要になる。
【００４４】
図９は、本発明の一実施の形態におけるクライアント部からサーバ部に問い合わせる処理の流れを示す。
【００４５】
●入力ステップ：インデックス作成対象となるページの一部を入力する。
【００４６】
ステップ９１０）ドキュメント撮影部４１１は、ドキュメントのページの全体、または一部分を光学的に撮影して、撮影内容を画像ファイルとしてメモリ（図示せず）に保存し、クライアント側データ送受信部４２０に渡す。クライアント側データ送受信４２０部は、ドキュメント撮影部４１１から渡された画像ファイルをネットワークを介してサーバ部３００のデータ送受信部３５０に渡す。
【００４７】
ドキュメントページ２１０は、ドキュメント群に含まれる1件の書籍の1ページである。ドキュメントページ２１０には、既に述べたように一意のページ識別子が付与されている。ここでは、図５に示すページの一部分が撮影され、図１１に示す画像ファイルが作成されたとする。
【００４８】
ステップ９２０）サーバ側データ送受信部３５０は、光学文字認識装置１１０を利用して、クライアント側データ送受信部４２０から渡された画像ファイルから図１２に示すテキストデータを抽出し、文字ブロック抽出部３２０に渡す。なお、光学文字認識装置１１０は、一般的なOCRソフトウェア等であり、文字が撮影されたが画像から文字情報を抽出し、テキストデータとしてコンピュータが利用できる形式に変換する一般装置である。
尚、このOCRの処理では、図１２に示すように、「科」を「料」に、「ピザ」を「ビザ」に、「パス」を「ハス」などに誤認識する可能性があるが、小さいブロックに分割されているので、誤認識されないブロックも多く残るので、これらのブロックが一定数以上残るかどうかで位置を特定することができる。
【００４９】
●文字ブロック抽出ステップ：入力されたページの一部から文字ブロックを抽出する。
【００５０】
ステップ９３０）文字ブロック抽出部３２０は、サーバ側データ送受信部３５０から渡されたテキストデータを読み込み、該テキストデータから文字ブロック群を文字ブロック抽出ルールに則って抽出し、DB問い合わせ部３６０に渡す。
【００５１】
ここで、「文字ブロック」 は、ステップ３３０と同じく箱型の形状で図１３のように抽出する。ブロックの形状は、箱形である必要はなく、L型や十字型等任意の形状が考えられる。
【００５２】
また、「文字ブロック抽出ルール」は、図１４のように、左上隅から右下隅方向へ1文字ずつずらしながら抽出することとする。図１５は、文字ブロック抽出部３２０でステップ９３０の処理を行った結果を示しており、このデータがDB問い合わせ部３６０に渡される。なお、ここでは、文字ブロックを、文字ブロックを構成する文字を上方、左方から順番に並べて表現している。
【００５３】
●問い合わせステップ：インデックスに問い合わせを行い、入力されたページの一部に関連付けられているコンテンツを特定する。
【００５４】
ステップ９４０）DB問い合わせ部３６０は、図１５のリストを用いてインデックスDB３４０に問い合わせを行う。前述のとおり、インデックスDB３４０には、図７に示す構造でデータが格納されている。DB問い合わせ部３６０は、図１５の各文字ブロックに対応するページ識別子とページ内位置を問い合わせ、問い合わせ結果を図１６で示す形式で取得する。
【００５５】
ステップ９５０）文字ブロック重心算出部３７０は、図１６で得られたページ識別子の重複数を集計し、最も頻度が高いページ識別子をヒットページとする。この例では、「5440566ca69690a43d15fd89943316cf」となる。
【００５６】
ヒットページの選択にあたっては、単純にページ識別子の重複数が最も大きいものとした場合には、そもそも撮影した対象がインデックスされていない場合には、偶然同一のブロックがヒットしたケースに誤ってヒットページとして認識されてしまうケースがある。これを防ぐ為に、最低限ヒット数を閾値kとして設定し、k以下の場合には、ヒットページとするのではなく、位置が特定できなかったことをメッセージとしてサーバ側データ送受信部３５０を介してクライアント部４００に送信してもよい。さらに別の実施例としては、単純に閾値で設定するのではなく、クエリ画像から抽出された文字ブロックの数Nqとページから抽出された文字ブロック数の数Npに応じて変化するような値、例えば、
【００５７】
【数１】
0005410372.tif 000002
を閾値してもよい。ただし、k0，kp，kqは定数である。これは、クエリ画像またはページから抽出された文字ブロックの数が多ければ多い程、偶然ヒットする数が多くなるからである。
【００５８】
ステップ９６０）文字ブロック重心算出部３７０は、ヒットページに含まれるすべてのページ内位置の集合Hを基に、重心座標を
【００５９】
【数２】
0005410372.tif 000003
により算出し、その座標をページ内ヒット位置と呼ぶ。具体的には、図１６のようにヒットしたページ内位置の集合Hが、
{(0.2123, 0.4542), (0.2614, 0.4542), (0.2123, 0.4921), (0.2614, 0.4921)}
の４カ所であるケースにおいては、ページ内ヒット位置はその重心により計算し、(0.2368, 0.4732)となる。
【００６０】
クライアント部４００での一回の撮影で異なるページのブロックが撮影されることは、システム構成上ほとんどあり得ないことから、最も頻度が高いページ識別子ではないページ識別子を有するブロックは、偶然の一致でヒットしたブロックであり、ノイズとみなせる。このように、ヒットページに含まれるブロックのページ内位置の重心を算出する処理によりこれらのノイズが除去できる。
【００６１】
重心座標の算出においては、上記のように単純に同一ページ識別子を有する文字ブロックのページ内位置座標の重心を算出してもよいが、例えば、文献１「Y. Cheng. Mean shift, mode seeking, and clustering. IEEE Transactions on Pattern Analysis and Machine Intelligence, 17(8), pp. 790-799 (1995)」に記載されるmean shift法により、撮影されたクエリ画像に対応した矩形領域を前提としてその領域をずらしながら、最も中心的な座標位置を見つけることで、クエリ画像から離れた位置にあり、ヒットページ内で偶然ヒットした文字ブロックにより座標が大きくずれてしまう問題を低減することができる。
【００６２】
mean shift法を適用する場合、矩形領域のサイズを指定する必要があるが、クエリ画像の撮影領域に応じたサイズを設定することが望ましい。しかし、撮影された画像の解像度によって、大きなクエリ画像であるからといって必ずしも撮影された領域が広いとは限らない。そこで本実施の形態においては、クエリ画像から抽出した文字ブロックの数Nqがクエリ画像の面積に応じて変化するという性質を利用して、Nqの平方根に比例した長さを一辺とする正方形の矩形領域もしくは一般的なカメラ画像の４：３の縦横比とする矩形領域を用いてmean shift法を適用する。
【００６３】
●出力ステップ：問い合わせた結果得られたコンテンツをクライアント部で表示する。
【００６４】
ステップ９７０）コンテンツ検索部３８０は、上述の問い合わせ結果の中で、一定条件を満たすものを検索結果としてサーバ側データ送受信部３５０に渡す。
【００６５】
本実施の形態においては、上記で述べたヒットページのページ内ヒット位置に最も近いコンテンツを指定された数だけ抽出する。本実施の形態では、ヒットページが5440566ca69690a43d15fd89943316cf、ページ内ヒット位置が(0.2368, 0.4732)であるので、コンテンツDB３９０の中から最も近傍にあるコンテンツから検索し、その結果を図１７に示す。このように「tomato_1.mp4」と「tomato_2.mp4」の２件が抽出される。これらをファイルタイプと共に検索結果としてサーバ側データ送受信部３５０に渡す。サーバ側データ送受信部３５０は、コンテンツ検索部３８０から渡された検索結果をネットワークを介してクライアント側データ送受信部４２０に渡す。
【００６６】
ステップ９８０）クライアント側データ送受信部４２０は、サーバ側データ送受信部３５０から渡された検索結果をコンテンツ表示部４１２に渡す。コンテンツ表示部４１２は、クライアント側データ送受信部４２０から渡された検索結果を、コンテンツ表示部４１２内部で予め設定されたコンテンツ表示手段（図９）を用いて表示する。
【００６７】
上記のように、コンテンツとドキュメントを関連づける際に、ドキュメントの章、節、パラグラフ等のドキュメント構造を無視し、単純に物理的なドキュメント上の位置にコンテンツを関連付けて、クライアント部（クライアント端末）で撮影した画像から取得したブロック群の重心座標とコンテンツとの物理的な距離に基づき、コンテンツを選択するコンテンツ検索装置にしたことで、ドキュメント構造を手動で登録する手間を省くことが可能にした。
【００６８】
なお、上記の実施の形態における図３に示すサーバ部３００の各構成要素の動作をプログラムとして構築し、サーバ部（コンテンツ検索装置）として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【００６９】
また、構築されたプログラムをハードディスク、フレキシブルディスクやＣＤ−ＲＯＭ等の可搬記憶媒体に格納し、コンピュータにインストールする、または、配布することが可能である。
【００７０】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【００７１】
１００  ドキュメント読み取り装置
１１０  光学文字認識装置
２００  ドキュメント群
２１０  ドキュメントページ
３００  サーバ部
３１０  データ入力部
３２０  文字ブロック抽出部
３３０  インデックス出力部
３４０  インデックスＤＢ
３５０  サーバ側データ送受信部
３６０  ＤＢ問い合わせ部
３７０  文字ブロック重心算出部
３８０  コンテンツ検索部
３９０  コンテンツＤＢ
４００  クライアント部
４１０  クライアント側デバイス
４１１  ドキュメント撮影部
４１２  コンテンツ表示部
４２０  クライアント側データ送受信部
【図１】
0005410372.tif 000004
【図２】
0005410372.tif 000005
【図３】
0005410372.tif 000006
【図４】
0005410372.tif 000007
【図５】
0005410372.tif 000008
【図６】
0005410372.tif 000009
【図７】
0005410372.tif 000010
【図８】
0005410372.tif 000011
【図９】
0005410372.tif 000012
【図１０】
0005410372.tif 000013
【図１１】
0005410372.tif 000014
【図１２】
0005410372.tif 000015
【図１３】
0005410372.tif 000016
【図１４】
0005410372.tif 000017
【図１５】
0005410372.tif 000018
【図１６】
0005410372.tif 000019
【図１７】
0005410372.tif 000020
【図１８】
0005410372.tif 000021