(57)【要約】【課題】コンテンツ上の文字画像に対するテキスト操作を可能とするコンテンツ処理方法、コンテンツ処理プログラム及びコンテンツ処理装置を提供することを目的とする。【解決手段】コンピュータ１が実行するコンテンツ処理方法であって、コンテンツに含まれるイメージデータからテキストデータを抽出し、コンテンツを表示するとき、抽出したテキストデータを、該テキストデータを抽出したイメージデータ上に重ねて表示することで上記課題を解決する。【選択図】  図７
2012073772.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが実行するコンテンツ処理方法であって、
コンテンツに含まれるイメージデータからテキストデータを抽出し、
前記コンテンツを表示するとき、抽出した前記テキストデータを、該テキストデータを抽出した前記イメージデータ上に重ねて表示する
ことを特徴とするコンテンツ処理方法。
【請求項２】
抽出した前記テキストデータを、該テキストデータを抽出した前記イメージデータ上に重ねて透明に表示する
ことを特徴とする請求項１記載のコンテンツ処理方法。
【請求項３】
前記コンテンツに含まれるイメージデータに光学文字認識を行い、前記イメージデータから前記光学文字認識の結果として前記テキストデータを抽出する
ことを特徴とする請求項２記載のコンテンツ処理方法。
【請求項４】
コンピュータに、
コンテンツに含まれるイメージデータからテキストデータを抽出し、
前記コンテンツを表示するとき、抽出した前記テキストデータを、該テキストデータを抽出した前記イメージデータ上に重ねて表示する
処理を実行させるコンテンツ処理プログラム。
【請求項５】
コンテンツに含まれるイメージデータからテキストデータを抽出する抽出手段と、
前記コンテンツを表示するとき、抽出した前記テキストデータを、該テキストデータを抽出した前記イメージデータ上に重ねて表示する表示制御手段と
を有することを特徴とするコンテンツ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンテンツを処理するコンテンツ処理方法、コンテンツ処理プログラム及びコンテンツ処理装置に関する。
【背景技術】
【０００２】
Ｗｅｂブラウザで表示されるＷｅｂサイトでは、文字（テキスト）の表現方法としてテキストデータが用いられている。通常、テキストデータはＡＳＣＩＩやＵＴＦ−８のような標準化された文字符号化（文字コード）により表現される。基本的に、文字コードはバイトの並びと文字とのマッピングにより１セットの文字が定義されている。
【０００３】
例えばテキストに関係する、コピーアンドペースト、検索、テキストを音声に変換する音声合成、スペルチェック、機械翻訳などの処理を行うソフトウェアは、文字コードにより表現されたテキストデータを要求する。このように、テキストに関係する処理を行うソフトウェアが要求する文書は、文字コードにより表現されたテキストデータである。
【０００４】
近年、Ｗｅｂサイトでは文字の表現方法としてテキストデータの他、イメージデータが用いられるようになった。イメージデータで表現されるＷｅｂサイト上の文字（以下、文字画像という）は、テキストに関係する、コピーアンドペースト、検索、テキストを音声に変換する音声合成、スペルチェック、機械翻訳などを行うことができない。
【０００５】
従来、イメージデータから例えばＯＣＲ（Optical Character Recognition：光学文字認識）等でテキストデータを取得し、翻訳やカット＆ペーストをできるようにする技術は知られている（例えば特許文献１参照）。
【０００６】
また、スキャナから取得した複数の文字画像から情報を抽出し、それを元に構造化文書を作成する技術は知られている（例えば特許文献２参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】米国特許第７４９６２３０号明細書
【特許文献２】特開２００５−４３９９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、イメージデータからＯＣＲ等でテキストデータを取得し、翻訳やカット＆ペーストをできるようにする技術は、例えば取得したテキストデータをブラウザと別のクリップボードやウインドウに配置するため、使い勝手が悪いという問題があった。
【０００９】
また、スキャナから取得した複数の文字画像から情報を抽出し、それを元に構造化文書を作成する技術は、例えばウェブデザイナが設計した文字画像のレイアウトやサイズが新たに作成したＷｅｂサイトにおいて変化してしまうという問題があった。
【００１０】
本発明の一実施形態は、コンテンツ上の文字画像に対するテキスト操作を可能とするコンテンツ処理方法、コンテンツ処理プログラム及びコンテンツ処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するため、本発明の一実施形態は、コンピュータが実行するコンテンツ処理方法であって、コンテンツに含まれるイメージデータからテキストデータを抽出し、前記コンテンツを表示するとき、抽出した前記テキストデータを、該テキストデータを抽出した前記イメージデータ上に重ねて表示することを特徴とする。
【００１２】
なお、本発明の一実施形態の構成要素、表現又は構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
【発明の効果】
【００１３】
本発明の一実施形態によれば、コンテンツ上の文字画像に対するテキスト操作を可能とするコンテンツ処理方法、コンテンツ処理プログラム及びコンテンツ処理装置を提供できる。
【図面の簡単な説明】
【００１４】
【図１】Ｗｅｂサイト上の文字画像の一例のイメージ図である。
【図２】テキストデータがオーバーレイ表示された文字画像の一例のイメージ図である。
【図３】辞書検索などのブラウザ拡張機能の出力を表した一例のイメージ図である。
【図４】テキストデータがオーバーレイ表示された文字画像の他の例のイメージ図である。
【図５】本実施例のコンテンツ処理システムの一実施例の構成図である。
【図６】コンピュータの一例のハードウェア構成図である。
【図７】本実施例のコンテンツ処理システムの一実施例のソフトウェア構成図である。
【図８】本実施例のコンテンツ処理システムの動作の一例を表した説明図である。
【図９】ＤＯＭインスペクタの処理手順の一例を表したフローチャートである。
【図１０】ステップＳ１３の処理の詳細を表した一例のフローチャートである。
【図１１】ステップＳ２２の処理の詳細を表した一例のフローチャートである。
【図１２】ＯＣＲサービスから出力されるＯＣＲ結果の一例の説明図である。
【図１３】ステップＳ２４の処理の詳細を表した一例のフローチャートである。
【図１４】ブラウザが表示しているＷｅｂサイトの一例のイメージ図である。
【図１５】図１４のＷｅｂサイトのＤＯＭツリーの一例を表したイメージ図である。
【図１６】オーバーレイ表示が追加されたＷｅｂサイトのＤＯＭツリーの一例を表したイメージ図である。
【図１７】ブラウザが表示しているＷｅｂサイトの他の例のイメージ図である。
【図１８】オーバーレイ表示が追加されたＷｅｂサイトのＤＯＭツリーの一部分を表した一例のイメージ図である。
【発明を実施するための形態】
【００１５】
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明していく。本実施例はコンテンツ上の画像に埋め込まれた文字（文字画像）を抽出し、その文字画像に対するテキスト操作を可能とする。なお、テキスト操作とは例えばコピーアンドペースト、検索、テキストを音声に変換する音声合成、スペルチェック、機械翻訳などのテキストデータを扱う操作である。
【００１６】
本実施例は特にテキストデータ及びイメージデータが結合されたコンテンツ（資源）であるワールドワイドウェブ（ＷＷＷ）又は他のハイパーメディアデータベースなどに適用される。以下ではコンテンツの一例であるＷｅｂサイトを例として説明する。本実施例ではＷｅｂサイト上のテキストデータであるかのように、Ｗｅｂサイト上の文字画像をテキスト操作できるようにする。
【００１７】
本実施例はＷｅｂサイト上の文字画像からテキストデータを例えばＯＣＲなどを利用して抽出し、抽出したテキストデータを文字画像上にオーバーレイ（重ね合わせ）表示することで、Ｗｅｂサイト上の文字画像に対するテキスト操作を可能とするものである。ＯＣＲは光学文字認識（Optical Character Recognition）又は光学式文字読取装置（Optical Character Reader）等と呼ばれる。
【００１８】
図１はＷｅｂサイト上の文字画像の一例のイメージ図である。図１の文字画像はテキスト操作を行うことができない。図２はテキストデータがオーバーレイ表示された文字画像の一例のイメージ図である。図２は、図１の文字画像から抽出したテキストデータ「Ｈｏｌｉｄａｙ  Ｓａｌｅ  ホリデーセール  おすすめ商品」を、図１に示した文字画像上にオーバーレイ表示している。図２はオーバーレイ表示しているテキストデータ「おすすめ商品」が選択されている状態を表している。このように、図２では文字画像上にテキストデータをオーバーレイ表示することにより、文字画像から抽出したテキストデータを選択等、テキスト操作できるようになる。
【００１９】
図３は辞書検索などのブラウザ拡張機能の出力を表した一例のイメージ図である。図３では文字画像上にテキストデータをオーバーレイ表示することにより、文字画像から抽出したテキストデータで辞書検索を行い、検索結果（翻訳結果）を出力している。
【００２０】
また、図４はテキストデータがオーバーレイ表示された文字画像の他の例のイメージ図である。図４は、図２と同様、図１の文字画像から抽出したテキストデータ「Ｈｏｌｉｄａｙ  Ｓａｌｅ  ホリデーセール  おすすめ商品」を、図１に示した文字画像上に透明又は半透明でオーバーレイ表示している。
【００２１】
図４はオーバーレイ表示しているテキストデータ「Ｈｏｌｉｄａｙ」が選択されている状態を表している。このように、図４では文字画像上にテキストデータを透明又は半透明でオーバーレイ表示することにより、文字画像の見易さを保ったまま、文字画像から抽出したテキストデータを選択等、テキスト操作できるようになる。
【実施例１】
【００２２】
図５は本実施例のコンテンツ処理システムの一実施例の構成図である。コンテンツ処理システムはクライアント１、ＷＷＷサーバ２、ネットワーク３を有する。クライアント１はネットワーク３を介してＷＷＷサーバ２とデータ通信可能に接続されている。
【００２３】
クライアント１は使用者が操作する端末である。使用者は所望するコンテンツの格納位置をクライアント１に入力する。コンテンツの格納位置はＵＲＬ（Uniform Resource Locator）などで表される。クライアント１は例えばＵＲＬを指定して、ネットワーク３経由でＷＷＷサーバ２にコンテンツを要求する。
【００２４】
ＷＷＷサーバ２はコンテンツを格納している。ＷＷＷサーバ２はクライアント１からの要求があると、コンテンツをネットワーク３経由でクライアント１に送信する。クライアント１は受信したコンテンツを表示する。例えばコンテンツがＷｅｂサイトである場合はＷｅｂブラウザ（以下、単にブラウザという）を利用してコンテンツが表示される。以下ではコンテンツがＷｅｂサイトである例を説明する。
【００２５】
クライアント１及びＷＷＷサーバ２は、例えばサーバコンピュータやクライアントコンピュータなどのコンピュータ１０により実現される。コンテンツ処理プログラムがインストールされたコンピュータ１０はコンテンツ処理装置の一例である。
【００２６】
図６はコンピュータの一例のハードウェア構成図である。ここでは、コンテンツ処理プログラムがインストールされているコンピュータ１０のハードウェア構成を説明する。コンピュータ１０は、コンテンツ処理装置と同様の機能を有しているコンテンツ処理プログラムを実行する。
【００２７】
図６のコンピュータ１０は、入力装置２１、表示装置２２、コンピュータ本体２３を有している。コンピュータ本体２３はバス３７で相互に接続された主記憶装置３１、演算処理装置３２、インターフェース装置３３、記録媒体読取装置３４及び補助記憶装置３５を有する。また、バス３７には入力装置２１及び表示装置２２が接続されている。
【００２８】
バス３７で相互に接続されている入力装置２１、表示装置２２、主記憶装置３１、演算処理装置３２、インターフェース装置３３、記録媒体読取装置３４及び補助記憶装置３５は、演算処理装置３２による管理下で相互にデータの送受を行うことができる。演算処理装置３２は、コンピュータ１０全体の動作制御を司る中央処理装置である。
【００２９】
インターフェース装置３３はネットワーク３等からのデータを受信し、データの内容を演算処理装置３２に渡す。インターフェース装置３３は演算処理装置３２からの指示に応じてネットワーク３等にデータを送信する。
【００３０】
補助記憶装置３５にはコンテンツ処理装置と同様の機能をコンピュータ１０に発揮させるプログラムの一部として、少なくともコンテンツ処理装置における処理をコンピュータ１０に実行させるコンテンツ処理プログラムが記憶されている。そして、演算処理装置３２がコンテンツ処理プログラムを補助記憶装置３５から読み出して実行することで、コンピュータ１０はコンテンツ処理装置として機能するようになる。コンテンツ処理プログラムは、演算処理装置３２とアクセス可能な主記憶装置３１に格納されていても良い。
【００３１】
入力装置２１は演算処理装置３２の管理下でデータの入力を受付ける。コンテンツ処理プログラムは、コンピュータ１０が読み取り可能な記録媒体３６に記録しておくことができる。
【００３２】
記録媒体３６には、磁気記録媒体、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録媒体には、ＨＤＤ、フレキシブルディスク（ＦＤ）、磁気テープ（ＭＴ）などがある。光ディスクには、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、ＤＶＤ−ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  −  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−Ｒ（Ｒｅｃｏｒｄａｂｌｅ）／ＲＷ（ＲｅＷｒｉｔａｂｌｅ）などがある。また、光磁気記録媒体には、ＭＯ（Ｍａｇｎｅｔｏ  −  Ｏｐｔｉｃａｌ  ｄｉｓｋ）などがある。
【００３３】
コンテンツ処理プログラムを流通させる場合には、例えば、コンテンツ処理プログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型の記録媒体３６を販売することが考えられる。コンテンツ処理プログラムを実行するコンピュータ１０は、例えば記録媒体読取装置３４がコンテンツ処理プログラムを記録した記録媒体３６から、コンテンツ処理プログラムを読み出す。演算処理装置３２は、読み出されたコンテンツ処理プログラムを主記憶装置３１若しくは補助記憶装置３５に格納する。そして、コンピュータ１０は自己の記憶装置である主記憶装置３１若しくは補助記憶装置３５からコンテンツ処理プログラムを読み取り、コンテンツ処理プログラムに従った処理を実行する。つまり、演算処理装置３２はコンテンツ処理プログラムに従って、後述するような各種処理を実現している。
【００３４】
図７は本実施例のコンテンツ処理システムの一実施例のソフトウェア構成図である。図７のクライアント１は、ブラウザ４０、プラグイン４１、ＯＣＲキャッシュサービス４２及びＯＣＲサービス４３がインストールされている。プラグイン４１は本実施例のコンテンツ処理プログラムの一例である。また、プラグイン４１がインストールされたブラウザ４０は本実施例のコンテンツ処理プログラムの一例である。
【００３５】
ブラウザ４０は、例えばＷＷＷサーバ２に格納されているＷｅｂサイトを閲覧する為のプログラムである。プラグイン４１は、ブラウザ４０に機能を追加する為のプログラムである。ＯＣＲサービス４３はプラグイン４１から呼び出され、渡されたイメージデータからＯＣＲによりテキストデータを取得する。
【００３６】
ＯＣＲサービス４３は、ＯＣＲによりイメージデータから取得したテキストデータをＯＣＲ結果として出力する。ＯＣＲキャッシュサービス４２は、ＯＣＲサービス４３によるＯＣＲ結果をキャッシュしている。
【００３７】
プラグイン４１は、ＤＯＭ（Document Object Model）インスペクタ５１、イメージデータリーダ５２、ＯＣＲディスパッチャ５３を有する。ＤＯＭインスペクタ５１はシステムのエンジンである。ＤＯＭインスペクタ５１はブラウザ４０が表示しているイメージデータをＤＯＭツリーから見つける。また、ＤＯＭインスペクタ５１はイメージデータから抽出されたテキストデータを、イメージデータ上にオーバーレイ表示されるようにＤＯＭツリーに挿入する。
【００３８】
イメージデータリーダ５２はＤＯＭインスペクタ５１が見つけたイメージデータをＤＯＭツリーから読み込む。ＯＣＲディスパッチャ５３はイメージデータリーダ５２が読み込んだイメージデータのＯＣＲ結果をＯＣＲキャッシュサービス４２又はＯＣＲサービス４３から取得する。
【００３９】
図８は本実施例のコンテンツ処理システムの動作の一例を表した説明図である。ブラウザ４０はステップＳ１に進み、Ｗｅｂサイト（Ｗｅｂドキュメント）を格納しているＷＷＷサーバ２からＷｅｂサイトを受信する。
【００４０】
ステップＳ２に進み、ＤＯＭインスペクタ５１はブラウザ４０が表示しているイメージデータ（イメージ要素）をＤＯＭツリーから見つける。ステップＳ３に進み、ＤＯＭインスペクタ５１はＤＯＭツリーから見つけたイメージデータの読み込みを、イメージデータリーダ５２に要求する。
【００４１】
ステップＳ４に進み、イメージデータリーダ５２はＤＯＭインスペクタ５１が見つけたイメージデータをブラウザ４０から読み込む。イメージデータリーダ５２はステップＳ５に進み、読み込んだイメージデータをＤＯＭインスペクタ５１に渡す。
【００４２】
ステップＳ６に進み、ＤＯＭインスペクタ５１はイメージデータリーダ５２から渡されたイメージデータをＯＣＲディスパッチャ５３に渡し、イメージデータに対するＯＣＲを要求する。ステップＳ７に進み、ＯＣＲディスパッチャ５３は渡されたイメージデータをＯＣＲサービス４３に渡して、イメージデータに対するＯＣＲを要求する。ＯＣＲサービス４３は、渡されたイメージデータからＯＣＲによりテキストデータを取得する。ＯＣＲサービス４３は、取得したテキストデータをＯＣＲ結果としてＯＣＲディスパッチャ５３に渡す。
【００４３】
ＯＣＲディスパッチャ５３はＯＣＲ結果をＯＣＲサービス４３から取得する。もし可能であれば、ＯＣＲディスパッチャ５３はＯＣＲ結果をＯＣＲキャッシュサービス４２から取得する。
【００４４】
ステップＳ８に進み、ＤＯＭインスペクタ５１はＯＣＲキャッシュサービス４２又はＯＣＲサービス４３から取得したＯＣＲ結果であるテキストデータを、イメージデータ上に透明又は半透明でオーバーレイ表示されるようにＤＯＭツリーに挿入する。つまり、ＯＣＲ結果であるテキストデータはイメージデータ上に目に付かないか、ほとんど目に付かない形態でオーバーレイ表示される。
【００４５】
ブラウザ４０がＷｅｂサイトを受信し終えたあと、ＤＯＭインスペクタ５１は例えば図９のフローチャートに示す処理を実行する。図９はＤＯＭインスペクタの処理手順の一例を表したフローチャートである。
【００４６】
ステップＳ１１に進み、ＤＯＭインスペクタ５１はオーバーレイ表示のベースとなる入れ物（コンテナ）であるＤＩＶ要素を初期化し、そのＤＩＶ要素をＤＯＭツリーのＢＯＤＹ要素の兄弟として挿入する。
【００４７】
ステップＳ１２に進み、ＤＯＭインスペクタ５１は、ブラウザ４０によって表示されるＷｅｂサイトのＤＯＭツリーに含まれている全てのイメージデータを参照して、イメージデータの配列を得る。
【００４８】
ステップＳ１３に進み、ＤＯＭインスペクタ５１はステップＳ１２で参照した全てのイメージデータｉｍｇに対して、後述のイメージデータに対する処理「ＰｒｏｃｅｓｓＩｍａｇｅ（ｉｍｇ）」を実行する。ステップＳ１３のイメージデータに対する処理が終了すると、ＤＯＭインスペクタ５１はステップＳ１４に進み、ｎ秒の間、スリープしたあとでステップＳ１２に戻る。
【００４９】
図１０はステップＳ１３の処理の詳細を表した一例のフローチャートである。図１０に示した処理は、ＯＣＲ結果からイメージデータのテキスト情報を得て、そのテキスト情報からオーバーレイ表示を作り、ＤＯＭツリーに挿入するものである。
【００５０】
ステップＳ２１に進み、ＤＯＭインスペクタ５１はイメージデータのＯＣＲ結果を表す「ｉｍｇ．ｏｃｒＲｅｓｕｌｔ」が存在しており、且つ、イメージデータのＳＲＣ属性とＯＣＲ結果のあるイメージデータのＳＲＣ属性を表す「ｉｍｇ．ｏｃｒＳｒｃ」とが等しいか否かを判定する。ＳＲＣ属性は、イメージデータ等の外部参照先の所在を指定するものである。ステップＳ２１の処理は、ＯＣＲ結果のあるイメージデータか否かを確認するものである。
【００５１】
ＤＯＭインスペクタ５１は、イメージデータのＯＣＲ結果を表す「ｉｍｇ．ｏｃｒＲｅｓｕｌｔ」が存在し、且つ、イメージデータのＳＲＣ属性と、ＯＣＲ結果のあるイメージデータのＳＲＣ属性を表す「ｉｍｇ．ｏｃｒＳｒｃ」とが等しければ、ＯＣＲ結果のあるイメージデータと判定する。それ以外であれば、ＤＯＭインスペクタ５１はＯＣＲ結果のないイメージデータと判定する。
【００５２】
ＯＣＲ結果のないイメージデータと判定すると（Ｓ２１においてＮｏ）、ＤＯＭインスペクタ５１はステップＳ２２に進み、後述のＯＣＲ結果を得る処理「ＧｅｔＯＣＲＲｅｓｕｌｔ（ｉｍｇ）」を実行したあと、ステップＳ２３に進む。一方、ＯＣＲ結果のあるイメージデータであると判定すると（Ｓ２１においてＹｅｓ）、ＤＯＭインスペクタ５１はステップＳ２３に進む。
【００５３】
ステップＳ２３では、ＤＯＭインスペクタ５１が、現在のイメージデータのポジション及び大きさと、記録しておいたイメージデータのポジション及び大きさとが等しいか否かを判定する。
【００５４】
現在のイメージデータのポジション及び大きさと、記録しておいたイメージデータのポジション及び大きさとが等しければ（ステップＳ２３においてＹｅｓ）、ＤＯＭインスペクタ５１は図１０に示す処理を終了する。
【００５５】
現在のイメージデータのポジション及び大きさと、記録しておいたイメージデータのポジション及び大きさとが等しくなければ（ステップＳ２３においてＮｏ）、ＤＯＭインスペクタ５１はステップＳ２４に進み、オーバーレイ表示を作り、ＤＯＭツリーに挿入する後述の処理「ＳｅｔＯｖｅｒｌａｙｓ（ｉｍｇ）」を実行したあと、図１０に示す処理を終了する。
【００５６】
図１１はステップＳ２２の処理の詳細を表した一例のフローチャートである。ステップＳ３１に進み、ＤＯＭインスペクタ５１はイメージデータを得る。ここではステップＳ３１の処理について詳細に説明する。
【００５７】
一般的に、ＤＯＭインスペクタ５１はＩＭＧ要素を表すＤＯＭノードオブジェクトへアクセスする。しかし、このＤＯＭノードオブジェクトにイメージデータは含まれない。ＩＭＧ要素を表すＤＯＭノードオブジェクトには、例えばイメージデータの外部参照先の所在を指定する情報が含まれる。なお、イメージデータの実際の内容はバイナリデータである。
【００５８】
したがって、ＯＣＲ結果を得る処理「ＧｅｔＯＣＲＲｅｓｕｌｔ（ｉｍｇ）」の第一段階はイメージデータを読み込むことである。イメージデータを読み込む作業は、イメージデータリーダ５２により遂行される。ＤＯＭインスペクタ５１はＤＯＭツリーから見つけたイメージデータの読み込みを、イメージデータリーダ５２に要求する。
【００５９】
イメージデータリーダ５２は、ＵＲLを指定してＸＨＲ（XMLHttpRequest）を実行することで、イメージデータをブラウザ４０のキャッシュから自動的に読み込める。代わりの技術及びより効率的な技術としては、例えばＨＴＭＬ５のキャンバスの上で使用しているネイティブコード又は翻訳も、合理的である。
【００６０】
イメージデータリーダ５２は読み込んだイメージデータをＤＯＭインスペクタ５１に渡す。ＤＯＭインスペクタ５１はイメージデータリーダ５２から渡されたイメージデータをＯＣＲディスパッチャ５３に渡し、イメージデータに対するＯＣＲを要求する。
【００６１】
ＤＯＭインスペクタ５１からイメージデータが渡されると、ＯＣＲディスパッチャ５３は以下の処理を開始する。ＯＣＲディスパッチャ５３は、まず、ＯＣＲ結果をＯＣＲキャッシュサービス４２に要求する。ＯＣＲキャッシュサービス４２は、ＯＣＲサービス４３によるＯＣＲ結果をキャッシュとして格納している。ステップＳ３２に進み、ＯＣＲディスパッチャ５３はＭＤ５などのハッシュ関数により例えばイメージファイルの衝突耐性ハッシュ（以下、ハッシュという）を計算する。
【００６２】
ステップＳ３３に進み、ＯＣＲキャッシュサービス４２はステップＳ３２で計算したイメージファイルのハッシュを、キャッシュに対する検索キーとして使用し、キャッシュにハッシュがマッチするエントリ（ＯＣＲ結果）が存在するか否かを判定する。
【００６３】
キャッシュにハッシュがマッチするＯＣＲ結果が存在すれば、ＯＣＲキャッシュサービス４２はステップＳ３４に進み、ハッシュがマッチしたＯＣＲ結果「ｒｅｓｕｌｔ」としてＯＣＲディスパッチャ５３に出力する。キャッシュにハッシュがマッチするＯＣＲ結果が存在しなければ、ＯＣＲディスパッチャ５３はステップＳ３５に進む。
【００６４】
ＯＣＲディスパッチャ５３は、イメージデータをＯＣＲサービス４３に渡し、イメージデータに対するＯＣＲを要求する。ＯＣＲサービス４３は渡されたイメージデータからＯＣＲによりテキストデータを取得する。具体的に、ＯＣＲサービス４３はイメージデータからテキストの領域を認識し、このテキストデータと共に、テキストデータに含まれる文字列のイメージデータにおける位置情報を取得する。
【００６５】
この位置情報は、例えばブラウザ４０をリサイズすることによって、イメージデータが後でリサイズされる場合に、オーバーレイ表示を容易に作り直すための相対的なパーセンテージの形式である。位置情報は、加えて、フォント、イタリック、テキスト方向などのフォーマット情報を含む。この技術は例えば上記した特許文献１などに記載されているように公知技術である。
【００６６】
そして、ＯＣＲサービス４３はイメージデータからのＯＣＲにより取得したテキストデータ及び位置情報を、ＯＣＲ結果「ｒｅｓｕｌｔ」としてＯＣＲディスパッチャ５３に出力する。ステップＳ３６に進み、ＯＣＲキャッシュサービス４２は、ＯＣＲサービス４３が出力したＯＣＲ結果「ｒｅｓｕｌｔ」をキャッシュに格納する。
【００６７】
そして、ステップＳ３４又はＳ３６に続いてステップＳ３７に進み、ＤＯＭインスペクタ５１は「ｒｅｓｕｌｔ」をイメージデータのＯＣＲ結果を表す「ｉｍｇ．ｏｃｒＲｅｓｕｌｔ」とし、イメージデータのＳＲＣ属性をＯＣＲ結果のあるイメージデータのＳＲＣ属性を表す「ｉｍｇ．ｏｃｒＳｒｃ」とした後、図１１に示す処理を終了する。なお、ＯＣＲサービス４３は、クライアント１の外にあってもよい。
【００６８】
図１２はＯＣＲサービスから出力されるＯＣＲ結果の一例の説明図である。図１２に示すＯＣＲ結果は、テキストセグメントの情報とイメージデータの情報とに分かれる。テキストセグメントの情報は、イメージデータからＯＣＲにより取得したテキストデータ、テキストデータの位置情報を含む。また、イメージデータの情報はイメージデータの大きさを含む。
【００６９】
図１３はステップＳ２４の処理の詳細を表した一例のフローチャートである。ステップＳ４１に進み、ＤＯＭインスペクタ５１はＤＯＭツリーから「ｉｍｇ．ｏｃｒＯｖｅｒｌａｙｓ」にある全てのオーバーレイ表示を取り去り、オーバーレイ表示をクリアする。
【００７０】
ステップＳ４２に進み、ＤＯＭインスペクタ５１は「ｉｍｇ．ｏｃｒＲｅｓｕｌｔ」に含まれる「ｓｅｇｍｅｎｔＲｅｓｕｌｔ」をそれぞれのテキストセグメントのためのものとする。ＤＯＭインスペクタ５１はＯＣＲ結果のテキストセグメントごとにオーバーレイ表示を作成する。
【００７１】
ステップＳ４３に進み、ＤＯＭインスペクタ５１は「ｓｅｇｍｅｎｔＲｅｓｕｌｔ」からテキストを含んでいるＤＩＶ要素を作成する。ＤＯＭインスペクタ５１は透明又は半透明なＤＩＶ要素としてセットする。
【００７２】
ステップＳ４４に進み、ＤＯＭインスペクタ５１は「ｓｅｇｍｅｎｔＲｅｓｕｌｔ」に指定されたイタリック、アンダーライン、テキスト方向、フォントと一致するようにＤＩＶ要素のｓｔｙｌｅにセットする。
【００７３】
ステップＳ４５に進み、ＤＯＭインスペクタ５１はイメージデータの幅がｉｍｇＩｎｓｔｒｉｎｓｉｃＷｉｄｔｈとし、ブラウザ４０が表示しているＷｅｂサイトの幅がｉｍｇＷｉｄｔｈとし、ｉｍｇＩｎｓｔｒｉｎｓｉｃＷｉｄｔｈ／ｉｍｇＷｉｄｔｈをｓｃａｌｅとする。
【００７４】
ステップＳ４６に進み、ＤＯＭインスペクタ５１は「ｓｅｇｍｅｎｔＲｅｓｕｌｔ」に指定されたＰｔＳｉｚｅ（フォントサイズ）×ｓｃａｌｅをフォントポイントサイズとしてＤＩＶ要素にセットする。
【００７５】
ステップＳ４７に進み、ＤＯＭインスペクタ５１は「ｓｅｇｍｅｎｔＲｅｓｕｌｔ」に指定されたｗｉｄｔｈ×ｓｃａｌｅを幅としてＤＩＶ要素にセットする。また、ＤＯＭインスペクタ５１は「ｓｅｇｍｅｎｔＲｅｓｕｌｔ」に指定されたｈｅｉｇｈｔ×ｓｃａｌｅを高さとしてＤＩＶ要素にセットする。
【００７６】
ステップＳ４８に進み、ＤＯＭインスペクタ５１は「ｓｅｇｍｅｎｔＲｅｓｕｌｔ」に指定されたＹ×ｓｃａｌｅにｔｏｐＯｆｆｓｅｔを加算した値をｔｏｐとしてＤＩＶ要素にセットする。なお、ＤＯＭインスペクタ５１はｔｏｐＯｆｆｓｅｔをブラウザ４０が表示しているＷｅｂサイトの絶対オフセットとする。また、ＤＯＭインスペクタ５１は「ｓｅｇｍｅｎｔＲｅｓｕｌｔ」に指定されたＸ×ｓｃａｌｅにｌｅｆｔＯｆｆｓｅｔを加算した値をｌｅｆｔとしてＤＩＶ要素にセットする。なお、ＤＯＭインスペクタ５１はｌｅｆｔＯｆｆｓｅｔをブラウザ４０が表示しているＷｅｂサイトの絶対オフセットとする。
【００７７】
ステップＳ４９に進み、ＤＯＭインスペクタ５１はＤＯＭツリーの「ｉｍｇ．ｏｃｒＯｖｅｒｌａｙｓ」にＤＩＶ要素を追加することで、オーバーレイ表示を追加する。ＤＯＭインスペクタ５１はステップＳ５０に進み、オーバーレイ表示のベースとなる入れ物（コンテナ）であるＤＩＶ要素をＤＯＭツリーに追加する。
【００７８】
図１４はブラウザが表示しているＷｅｂサイトの一例のイメージ図である。図１４のＷｅｂサイトは右上に文字画像を含んでいる。また、図１５は図１４のＷｅｂサイトのＤＯＭツリーの一例を表したイメージ図である。図１５において、図１４の右上に含まれる文字画像はＳＲＣ属性により「ｈｏｌｉｄａｙ．ｇｉｆ」で指定されている。
【００７９】
また、図１６はオーバーレイ表示が追加されたＷｅｂサイトのＤＯＭツリーの一例を表したイメージ図である。図１６のＤＯＭツリーは、図１４の右上に含まれる文字画像から抽出されたテキストデータ「Ｈｏｌｉｄａｙ  Ｓａｌｅ」「ホリデーセール」「おすすめ商品」を文字画像上にオーバーレイ表示する例を表している。
【００８０】
図１７はブラウザが表示しているＷｅｂサイトの他の例のイメージ図である。図１７のＷｅｂサイトは図１４と同じであるが、ブラウザ４０のウインドウがリサイズされているために、右上の文字画像の位置が変化している。リサイズなどにより文字画像の位置が変化してもオーバーレイ表示を追随させるために、図９ではＳ１４からＳ１２へのループがある。
【００８１】
図１８はオーバーレイ表示が追加されたＷｅｂサイトのＤＯＭツリーの一部分を表した一例のイメージ図である。図１８は上側が図１６のＤＯＭツリーの一部を表し、下側がリサイズ後のＤＯＭツリーの一部を表している。図１８はブラウザ４０のウインドウがリサイズされたことにより、図１７の右上の文字画像の位置が１００ピクセル右側に移動していることを表している。
【００８２】
上記の実施例では、本実施例のコンテンツ処理プログラムの処理をプラグイン４１に行わせる例を説明したが、例えばプラグイン４１と同様な処理を行うＪａｖａＳｃｒｉｐｔ（登録商標）をＷｅｂサイトに挿入するプロキシサーバを利用することも考えられる。この場合はクライアント１におけるプラグイン４１の追加が省けるという効果がある。
【００８３】
以上、本実施例によれば、使用者が文字画像上を例えばマウス等を用いてドラッグすることにより、オーバーレイ表示されているテキストデータをドラッグすることができるようになる。
【００８４】
したがって、本実施例によれば、イメージデータである文字画像であっても、使用者が意識することなく通常のテキストデータと同じように、例えばコピーアンドペースト、検索、テキストを音声に変換する音声合成、スペルチェック、機械翻訳等のテキストデータを扱うテキスト操作が可能となる。
【００８５】
本発明は、以下に記載する付記のような構成が考えられる。
（付記１）
コンピュータが実行するコンテンツ処理方法であって、
コンテンツに含まれるイメージデータからテキストデータを抽出し、
前記コンテンツを表示するとき、抽出した前記テキストデータを、該テキストデータを抽出した前記イメージデータ上に重ねて表示する
ことを特徴とするコンテンツ処理方法。
（付記２）
抽出した前記テキストデータを、該テキストデータを抽出した前記イメージデータ上に重ねて透明に表示する
ことを特徴とする付記１記載のコンテンツ処理方法。
（付記３）
前記コンテンツに含まれるイメージデータに光学文字認識を行い、前記イメージデータから前記光学文字認識の結果として前記テキストデータを抽出する
ことを特徴とする付記２記載のコンテンツ処理方法。
（付記４）
前記抽出した前記テキストデータを、該テキストデータを抽出した前記イメージデータ上に重ねて表示するように、前記コンテンツを修正する
ことを特徴とする付記３記載のコンテンツ処理方法。
（付記５）
表示されている前記コンテンツのサイズを変更したあと、前記イメージデータ上に重ねて表示されている前記テキストデータを取り除き、改めて、抽出した前記テキストデータを、該テキストデータを抽出した前記イメージデータ上に重ねて表示する
ことを特徴とする付記１乃至４何れか一項記載のコンテンツ処理方法。
（付記６）
コンピュータに、
コンテンツに含まれるイメージデータからテキストデータを抽出し、
前記コンテンツを表示するとき、抽出した前記テキストデータを、該テキストデータを抽出した前記イメージデータ上に重ねて表示する
処理を実行させるコンテンツ処理プログラム。
（付記７）
コンテンツに含まれるイメージデータからテキストデータを抽出する抽出手段と、
前記コンテンツを表示するとき、抽出した前記テキストデータを、該テキストデータを抽出した前記イメージデータ上に重ねて表示する表示制御手段と
を有することを特徴とするコンテンツ処理装置。
【００８６】
なお、本実施例におけるコンテンツ処理プログラムは、パッケージソフトの他、ＷＥＢサービス等によっても提供可能である。なお、特許請求の範囲に記載した抽出手段はＯＣＲディスパッチャ５３に相当し、表示制御手段はＤＯＭインスペクタ５１に相当する。
【符号の説明】
【００８７】
１    クライアント
２    ＷＷＷサーバ
３    ネットワーク
１０    コンピュータ
２１    入力装置
２２    表示装置
２３    コンピュータ本体
３１    主記憶装置
３２    演算処理装置
３３    インターフェース装置
３４    記録媒体読取装置
３５    補助記憶装置
３６    記録媒体
３７    バス
４０    ブラウザ
４１    プラグイン
４２    ＯＣＲキャッシュサービス
４３    ＯＣＲサービス
５１    ＤＯＭ（Document Object Model）インスペクタ
５２    イメージデータリーダ
５３    ＯＣＲディスパッチャ
【図１】
2012073772.tif 000003
【図５】
2012073772.tif 000004
【図６】
2012073772.tif 000005
【図７】
2012073772.tif 000006
【図８】
2012073772.tif 000007
【図９】
2012073772.tif 000008
【図１０】
2012073772.tif 000009
【図１１】
2012073772.tif 000010
【図１２】
2012073772.tif 000011
【図１３】
2012073772.tif 000012
【図１４】
2012073772.tif 000013
【図１５】
2012073772.tif 000014
【図１６】
2012073772.tif 000015
【図１７】
2012073772.tif 000016
【図１８】
2012073772.tif 000017
【図２】
2012073772.tif 000018
【図３】
2012073772.tif 000019
【図４】
2012073772.tif 000020