本願で説明される特徴及び利点は、全てを網羅するものではなく、特に、多くの追加的な特徴及び利点が以下の説明及び図面を理解することで当業者に明白になるであろう。更に、本明細書で使用される特定の言語は、主に理解及び説明の観点から選択されているに過ぎず、本発明の範囲を限定しようとするものでないことに留意すべきである。
以下、添付図面と共に非限定的な実施例により本発明が説明され、図中同様な番号が同様な要素を指すために使用される。
本発明を実施するベストモード
混合メディアリアリティ(MMR)システム及び関連する方法が開示される。MMRシステムは少なくとも2種類のメディアを含む混合メディア書類を作成する仕組みをもたらし、例えば第1媒体として印刷用紙を使用し、第2媒体としてディジタル写真、ディジタル映画、ディジタルオーディオファイル、ディジタルテキストファイル又はウェブリンク等を使用してもよい。更に、MMRシステム及び/又は技術は、様々なビジネスモデルを促すように使用することもでき、携帯用電子装置(例えば、PDA又はカメラ付きセルラ電話)と紙の書類を組み合わせて混合メディア書類を用意することを考えてもよい。
ある特定の実施例では、MMRシステムはコンテンツベースの検索データベースを含み、そのデータベースは、テキストベースのインデックスを利用して検索を可能にする方法で、印刷書類から抽出されたオブジェクト間の幾何学的な2次元的位置関係を表す。証拠蓄積技術(evidence accumulation)は、特徴の出現頻度と2次元領域内での場所の尤度とを結合する。そのような一実施例では、MMRデータベースシステムはインデックステーブルを含み、MMR特徴抽出アルゴリズムで算出された記述を受信する。インデックステーブルは、特徴の各々が出現するページ内でのx−y座標、ページ及び書類を特定する。証拠蓄積アルゴリズムは、インデックステーブルからのデータの元での仮定的な位置、ページ及び書類のランキングされた群を計算する。関連データベース(又は他の適切なストレージ装置)は、書類、ページ及び場所の各々について追加的な特徴を必要に応じて格納するよう使用することができる。
MMRデータベースシステムは他のコンポーネントを含んでもよく、例えば、MMRプロセッサ、キャプチャー装置、通信手段及びメモリ(MMRソフトウエアを含む)等をふくんでもよい。MMRプロセッサは、メディアタイプのストレージ又はソースに、入力装置に及び出力装置に結合されてもよい。そのような一実施例では、MMRソフトウエアはMMRプロセッサで実行可能なルーチンを含み、追加的なディジタルコンテンツとともにMMRドキュメントにアクセスし、MMRドキュメントを作成又は修正し、その書類を用いて他の処理(業務処理、データ検索、報告等)を実行する。
MMRシステムの概要
図1Aを参照するに、本発明の一実施例による混合メディアリアリティ(MMR)システム100aが示されている。MMRシステム100aは、MMRプロセッサ102、通信手段104、携帯入力装置168及び携帯出力装置170を有するキャプチャー装置106、MMRソフトウエア108を含むメモリ、ベースメディアストレージ160、MMRメディアストレージ162、出力装置164及び入力装置166を有する。MMRシステム100aは、既存の印刷書類(第1メディアタイプ)からの情報を、第2メディアタイプ(例えば、オーディオ、ビデオ、テキスト、更新情報及びサービス等)のインデックスとして利用する方法を提供することで、混合メディア環境を作り出す。
キャプチャー装置106は、印刷書類の表現(例えば、画像、図形その他の表現)を生成することができ、その表現は、MMRプロセッサ102に送信される。MMRシステム100aはその表現をMMRドキュメント及び他の第2メディアタイプと照合する。MMRシステム100aは、入力に応答する動作及び表現の認識に関する責務を負う。MMRシステム100aにより行われる動作は、如何なるタイプのものでもよく、例えば、情報を抽出すること、ある順序に並べること、ビデオ又は音を検索すること、情報を格納すること、新たな書類を作成すること、書類を印刷すること、書類や画像を表示すること等を含んでもよい。上記のコンテンツベースの検索データベース技術を利用することで、MMRシステム100aは印刷されたテキストをダイナミックなメディアに変える仕組みをもたらし、関心のあるサービスの電子コンテンツや値に対する入力点をユーザにもたらす。
MMRプロセッサ102は、データ信号を処理し、様々な演算アーキテクチャを含んでもよく、演算アーキテクチャは、複合命令セットコンピュータ(CISC)アーキテクチャ、縮小命令セットコンピュータ(RISC)アーキテクチャ、又は組み合わせによる命令セットを実行するアーキテクチャ等を含む。ある特定の実施例では、MMRプロセッサ102は、演算論理部、マイクロプロセッサ、汎用コンピュータ、その他の情報機器等の本発明による動作を実行するように備えられたものである。他の実施例では、MMRプロセッサ102はグラフィカルユーザインターフェースを有する汎用コンピュータを構成し、例えば、ウインドウズ(登録商標)やユニックス(登録商標)ベースのオペレーティングシステム等のようなオペレーティングシステム上で動作するジャバ(Java(登録商標))で書かれたプログラムによって生成されてもよい。図1Aでは1つのプロセッサしか描かれていないが、複数のプロセッサが含められてもよい。プロセッサはMMR108に結合され、そこに格納されている命令を実行する。
通信手段104は、キャプチャー装置106をMMRプロセッサ102に結合する何らかの装置又はシステムである。例えば、通信手段104は、ネットワーク(例えば、WAN及び/又はLAN)、有線リンク(例えば、USB、RS232又はイーサーネット)、無線リンク(例えば、赤外線、ブルートゥース又は802.11)、移動体通信リンク(例えば、GPRS又はGSM)、公衆交換電話網(PSTN)リンク又はこれらの何らかの組み合わせを用いて実現されてもよい。様々な通信アーキテクチャ及びプロトコルがここで使用可能である。
キャプチャー装置106は、通信手段104とインターフェースをとるトランシーバのような手段を含み、入力装置168を介して画像又はデータをディジタル的に捕捉することが可能な如何なる装置でもよい。キャプチャー装置106は出力装置170を場合によっては含んでもよく、或いは携帯可能でもよい。例えば、キャプチャー装置106は、標準的なカメラ付きセルラ電話、PDA装置、ディジタルカメラ、バーコードリーダ、無線ICタグ(RFID)リーダ、標準的なウェブカム(standard webcam)のようなコンピュータ周辺機器、又はPCのビデオカードのような組込型装置等でもよい。キャプチャー装置106のいくつかの具体例は図2A-2Dを参照しながらそれぞれ詳細に説明される。更に、キャプチャー装置106はソフトウエアアプリケーションでもよく、ソフトウエアアプリケーションは、コンテンツベースの検索を可能にし、MMRシステム100a/100bのインフラストラクチャとキャプチャー装置106とを結び付ける。キャプチャー装置106の更に詳細な機能は、図2Eを参照しながら説明される。一般的な及びカスタマイズされた様々なキャプチャー装置106、及びそれらの機能やアーキテクチャは、本願により明らかになるであろう。
メモリ108は、プロセッサ102で実行される命令及び/又はデータを格納する。命令及び/又はデータは、上記の技術の何れか及び/又は全てを実行するコードで構成される。メモリ108はダイナミックランダムアクセスメモリ(DRAM)装置、スタティックランダムアクセスメモリ(SRAM)装置でもよいし、或いは適切な如何なる他のメモリ装置でもよい。メモリ108は図4を参照しながら以下で更に詳細に説明される。ある特定の実施例では、メモリ108はMMRソフトウエア一式、オペレーティングシステム及び他のアプリケーションプログラム(例えば、ワードプロセシングアプリケーション、電子メールアプリケーション、財務アプリケーション及びウェブブラウザアプリケーション)を含む。
ベースメディアストレージ160は、第2メディアタイプをそれら当初の形式で格納するためのものであり、MMRメディアストレージ162はMMRドキュメントを、データベースを及び他の情報(MMR環境を作り出すための詳細な情報)を格納するためのものである。図中、別々に示されているが、他の実施例では、ベースメディアストレージ160及びMMRメディアストレージ162は、同じストレージ装置の一部でもよいし、或いは統合されてもよい。データストレージ160,162は、MMRプロセッサ102の命令及びデータを格納し、(ハードディスクドライブ、フロッピディスクドライブ、CD-ROM装置、DVD-ROM装置、DVD-RAM装置、DVD-RW装置、フラッシュメモリ装置又は適切な他の何らかの大容量記憶装置等のような)1つ以上の装置を含んでもよい。
出力装置164は、MMRプロセッサ102に動作可能に結合され、データを出力するように装備された何らかの装置(表示する、音を出す、或いはコンテンツを提示する装置)を表現する。例えば、出力装置164は、プリンタ、表示装置及び/又はスピーカ等のような様々なタイプの内のどれでもよい。例示的な表示出力装置164は、陰極線管(CRT)、液晶表示装置(LCD)、同様に備わる何らかの表示装置、スクリーン又はモニタ等を含む。一実施例では、出力装置164はタッチスクリーンに備わり、そのタッチスクリーンでは、接触感知方式の透明パネルが出力装置164の画面を覆っている。
入力装置166はMMRプロセッサ102に動作可能に結合され、キーボード、カーソルコントローラ、スキャナ、複合機、スチルカメラ、ビデオカメラ、キーパッド、タッチスクリーン、ディテクタ、RFIDタグリーダ、スイッチその他の何らかの手段等のような様々なタイプの内のどれでもよい(何らかの手段は、ユーザがシステム100aとやり取りすることを可能にするものである。)。一実施例では、入力装置166はキーパッド及びカーソルコントローラである。カーソルコントローラは、例えば、マウス、トラックボール、スタイラス、ペン、タッチスクリーン、パッド、カーソル方向キー、又はカーソルを動かす他の手段を含む。他の実施例では、入力装置166は、マクロフォン、オーディオ挿入/拡張カードであり、汎用コンピュータシステム、アナログディジタル変換器及びディジタル信号プロセッサ内で音声認識及び/又はオーディオ処理を促す余に使用するよう設計されたものである。
図1Bは、本発明の別の実施例により構築されたMMRシステム100bの機能ブロック図を示す。この実施例では、MMRシステム100bは、MMRコンピュータ112(ユーザ110により操作される)、ネットワークメディアサーバ114及び印刷書類118を生成するプリンタ116を含む。更にMMRシステム100bは、オフィスポータル120、サービスプロバイダサーバ122、電子ディスプレイ124を含み、電子ディスプレイはセットトップボックス126及び書類スキャナ127に電子的に接続されている。MMRコンピュータ112、ネットワークメディアサーバ114、プリンタ116、オフィスポータル120、サービスプロバイダサーバ122、セットトップボックス126及び書類スキャナ127の間の通信リンクは、ネットワーク128により用意され、ネットワークは、LAN(例えば、オフィス又はホームネットワーク)、WAN(例えば、インターネット、企業ネットワーク)、LAN/WANの組み合わせ他の適切な何らかのデータパスであってよく、それらを介して複数の演算装置が通信してよい。
更にMMRシステム100bはキャプチャー装置106を含み、キャプチャー装置は、ネットワークメディアサーバ114、ユーザプリンタ116、オフィスポータル120、サービスプロバイダサーバ122、電子ディスプレイ124、セットトップボックス126及び書類スキャナ127の1つ以上と、セルラインフラスクトラクチャ132、ワイヤレスフィデリティ(Wi-Fi)技術134、ブルートゥース技術136及び/又は赤外線(IR)技術138等を介して無線で通信することができる。代替的に又は追加的に、キャプチャー装置106は、MMRコンピュータ112、ネットワークメディアサーバ114、プリンタ116、オフィスポータル120、サービスプロバイダサーバ122、セットトップボックス126及び書類スキャナ127と有線技術140を介して有線形式で通信することができる。Wi-Fi技術134、ブルートゥース技術136、IR技術138及び有線技術140は、図1Bでは別々の要素のように示されているが、そのような技術は、(例えば、MMRコンピュータ112、ネットワークメディアサーバ114、キャプチャー装置106等のような)処理環境内で統合されてもよい。更に、MMR100bは更にジオ(Geo)ロケーション手段142を含み、無線で又は有線でサービスプロバイダサーバ122又はネットワーク128と通信する。これはキャプチャー装置106に統合されてもよい。
MMRユーザ110は、MMRシステム100bを利用している何らかの個人である。MMRコンピュータ112は何らかのデスクトップ、ラップトップ、ネットワークコンピュータその他の処理環境である。ユーザプリンタ116は印刷書類を作成可能な何らかのホーム、オフィス又は業務用プリンタであり、印刷書類は、1以上の印刷ページで構成される書類である。
ネットワークメディアサーバ114はネットワークコンピュータであり、ネットワーク128を介してMMRシステム100bのユーザによりアクセスされる情報及び/又はアプリケーションを有する。ある特定の実施例では、ネットワークメディアサーバ114は、セントラル化されたコンピュータであり、そのコンピュータ上で、テキストソースファイル、ウェブページ、オーディオ及び/又はビデオファイル、画像ファイル(例えば、静止画写真)等のような様々なメディアファイルが格納されている。ネットワークメディアサーバ114は、例えば、コムキャスト社のコムキャストビデオオンデマンドサービス、リコーイノベーションズインコーポレーテッドのリコードキュメントモール又はグーグルインコーポレーテッドのビデオサーバである。概して、ネットワークメディアサーバ114は、アタッチされた、統合された或いはキャプチャー装置106により印刷書類118に関連付けられた何らかのデータへのアクセス権を提供する。
オフィスポータル120は、MMRユーザ110の環境の中で生じるイベントを捕捉するためのオプション的な手段であり、例えばMMRユーザ110のオフィスで生じるイベント等を捕捉する。例えばオフィスポータル120はMMRコンピュータ112とは別個のコンピュータでもよい。その場合、オフィスポータル120は、MMRコンピュータ112に直接的に接続されてもよいし、ネットワーク128を介してMMRコンピュータ112に接続されてもよい。或いは、オフィスポータル120はMMRコンピュータ112内に組み込まれてもよい。例えば、オフィスポータル120が通常のパーソナルコンピュータ(PC)で構成され、そして、何らかの関連する捕捉装置106をサポートする適切なハードウエアとともに拡張されてもよい。オフィスポータル120はビデオカメラ及びオーディオレコーダのような捕捉装置を含んでもよい。更に、オフィスポータル120はMMRコンピュータ112からのデータを捕捉及び格納してもよい。例えば、オフィスポータル120はMMRコンピュータ112で生じるイベント及び機能を監視及び受信することができる。その結果、オフィスポータル120はMMRユーザ110の物理的な環境の中でオーディオ及びビデオの全てを記録し、MMRコンピュータ112で生じる全てのイベントを記録することができる。ある特定の実施例では、オフィスポータル120はイベントを捕捉する−例えば、書類が編集されている最中にMMRコンピュータ112から映像スクリーン捕捉を行う。その際、オフィスポータル120は、閲覧したウェブサイト、及び所与の書類が作成された際に作成された他の書類を捕捉する。その情報は、彼/彼女のMMRコンピュータ112又は捕捉装置106を介して後にMMRユーザ110にとって利用できるようにしてもよい。更に、オフィスポータル120は、ユーザが彼らの書類に付けるクリップに備えてマルチメディアサーバとして使用されてもよい。更に、書類が机の上にある間に生じた会話(例えば、電話やオフィス内の会話)、電話での話し合い及びオフィス内の小規模なミーティング等のような他のオフィスイベントをオフィスポータル120は捕捉してもよい。オフィスポータル120のビデオカメラ(図示せず)は、捕捉装置106用に開発された同じコンテンツベースの検索技術を利用することで、MMRユーザ110の物理的なデスクトップ上の書類を確認してもよい。
サービスプロバイダサーバ122は情報又はアプリケーションを保持する何らかの商用サーバであり、その情報等はネットワーク128を介してMMRシステム100bのMMRユーザ110によってアクセス可能である。特に、サービスプロバイダサーバ122は、MMRシステム100bに関連する如何なるサービスプロバイダをも表現する。サービスプロバイダサーバ122は、限定ではないが例えば、コムキャストコーポレーション等のようなケーブルTVプロバイダの商用サーバ、ベリゾンワイヤレス等のようなセルラ電話サービスプロバイダ、アデルフィアコミュニケーションズ等のようなインターネットサービスプロバイダ、ソニーコーポレーション等のようなオンライン音楽サービスプロバイダ等である。
電子ディスプレイ124は何らかの表示装置であり、限定ではないが例えば、標準的なアナログ又はディジタルテレビジョン(TV)、フラットスクリーンTV、フラットパネルディスプレイ又は投影システム等である。セットトップボックス126は、衛星アンテナ、空中線、ケーブル、ネットワーク又は電話回線等から到来する信号を処理する受信装置である。セットトップボックスの製造者は例えばアドバンストディジタルブロードキャストである。セットトップボックス126は電子ディスプレイ124のビデオ入力に電子的に接続される。
書類スキャナ127は、パナソニックコーポレーションのKV-S2026Cフルカラースキャナ等のような市販の書類スキャナ装置である。書類スキャナ127は、既存の印刷された書類をMMR用書類に変換する際に使用される。
セルラインフラストラクチャ132は、複数のセルタワー及び他のセルラネットワーク相互接続を表す。特に、セルラインフラストラクチャ132を利用することで、双方向の音声及びデータ通信が、捕捉装置106等のような装置に組み込まれた無線モデムを介して、手持ちの、携帯可能な及び車載の電話で行われる。
Wi-Fi技術134、ブルートゥース技術136及びIR技術138は、電子装置間の無線通信を行うための技術を表す。Wi-Fi技術134は、802.11規格等に基づく無線ローカルエリアネットワーク(WLAN)に関連する技術である。ブルートゥース技術136は電気通信工業規格仕様で規定され、その規格はセルラ電話、コンピュータ及びPDAが短距離無線接続等によりどのように相互接続されるかを記述している。IR技術138は短距離無線信号を通じて電子装置が通信できるようにする。例えば、IR技術138はテレビジョンのリモートコントローラ、ラップトップコンピュータ、PDAその他の装置で使用される見通し線無線通信媒体でもよい。IR技術138は可視光線より下のミッドマイクロ波帯(mid-microwave)のスペクトルを使用する。更に、1つ以上の他の実施例では、IEEE802.15(UWB)及び/又は802.16(WiMAX)規格を用いて無線通信がサポートされてもよい。
有線技術140は標準的なイーサーネット接続又はユニバーサルシリアルバス(USB)接続等のような何らかの有線通信手段である。セルラインフラストラクチャ132、Wi-Fi技術134、ブルートゥース技術136、IR技術138及び/又は有線技術140を利用することで、捕捉装置106はMMRシステム100bの電子装置の何れか又は全てと双方向に通信できる。
ジオロケーション手段142は地理的な位置を確認する適切な何らかの手段である。ジオロケーション手段142は、例えば周知のような、地上のGPS受信装置に位置データを提供するGPS衛星である。図1Bに示される具体例では、位置データはサービスプロバイダサーバ122を介してMMRシステム100bのユーザに与えられ、そのサービスプロバイダサーバはGPS受信機(図示せず)と結合するネットワーク128に接続されている。或いは、ジオロケーション手段142は一群のセルタワー(例えば、セルラインフラストラクチャ132の一部分)であり、三角測量手段、セルタワー身元確認(ID)手段及び/又は(地理的な位置を確認する手段のような)エンハンストサービス911を用意する。或いは、ジオロケーション手段142は、WiFiアクセスポイント又はブルートゥース装置の既知の場所からの信号強度測定により与えられてもよい。
動作の際、捕捉装置106はMMRユーザ110の所有するクライアントとして機能する。そこにはソフトウエアアプリケーションがあり、コンテンツベースの検索処理を実行可能にし、そして、セルラインフラストラクチャ132、Wi-Fi技術134、ブルートゥース技術136、IR技術138及び/又は有線技術140を介して捕捉装置106をMMRシステム100bのインフラストラクチャに結合する。更に、いくつもの動作を可能にするソフトウエアアプリケーションはMMRコンピュータ112にも存在し、限定ではないが例えば、印刷捕捉処理、イベント捕捉処理(例えば、書類の編集履歴を保存する)、サーバ処理(例えば、他社に対する後のサービスに備えてデータ及びイベントを保存する)、又は印刷管理処理(例えば、プリンタ116は、書類のレイアウト及びマルチメディアクリップ等のようなMMRに必要なデータをキュー(queue)に並べるよう設定されてもよい)等を可能にする。
ネットワーク化されたメディアサーバ114は、印刷書類118のような印刷書類に添付されたデータへのアクセス権を与え、印刷書類118はMMRユーザ110に属するMMRコンピュータ112を介して印刷される。その際、ビデオ又はオーディオのような第2の媒体が、書類のような第1の媒体に関連付けられる。第1の媒体に第2の媒体を関連付けるソフトウエアアプリケーション及び/又は手段の更なる詳細は、図2E,3,4及び5を参照しながら以下で説明される。
捕捉装置
図2A,2B,2C及び2Dは、本発明の一実施例による捕捉装置106を例示する。より具体的には、図2Aはセルラ電話である捕捉装置106aを示す。図2BはPDA装置である捕捉装置106bを示す。図2Cはコンピュータ周辺装置である捕捉装置106cを示す。コンピュータ周辺装置の一例は何らかの標準的なウェブカムである。図2Dはコンピュータ装置(例えば、MMRコンピュータ112等)に組み込まれている捕捉装置106dを示す。例えば、捕捉装置106dはコンピュータグラフィックスカードである。捕捉装置106の具体的な詳細は、図2Eを参照しながら説明される。
捕捉装置106a,106bの場合、捕捉装置106はMMRユーザ110の所有に係るものでもよい。それらの物理的な場所はジオロケーション手段142により又はセルラインフラストラクチャ132内の各セルタワーのID番号により追跡されてもよい。
図2Eを参照するに、本発明の一実施例による捕捉装置例106の機能ブロック図が示されている。捕捉装置106は、プロセッサ210、ディスプレイ212、キーパッド214、ストレージデバイス216、無線通信リンク218、有線通信リンク220、MMRソフトエア群222、捕捉装置ユーザインターフェース(UI)224、書類フィンガープリント照合モジュール226、第三者ソフトウエアモジュール228、及び様々な捕捉手段230の内の少なくとも1つを含む。捕捉手段の具体例は、限定ではないが例えば、ビデオカメラ232、スチルカメラ234、ボイスレコーダ236、電子ハイライター238、レーザ240、GPS装置242及びRFIDリーダ244等を含む。
プロセッサ210は中央処理装置(CPU)であり、限定ではないが例えば、インテルコーポレーションにより製造されているペンティアム(登録商標)マイクロプロセッサである。ディスプレイ212は、手持ち式の電子装置で使用されるような何らかの標準的なビデオディスプレイ手段である。より具体的には、ディスプレイ212は例えば何らかのディジタルディスプレイ(液晶ディスプレイ(LCD)又は有機発光ダイオード(OLED)ディスプレイ等)である。キーパッド214は何らかの標準的な英数字入力手段であり、例えば、標準的なコンピュータ装置及び携帯式の電子装置(例えば、セルラ電話)で使用されるキーパッドである。ストレージデバイス216は揮発性又は不揮発性の何らかのメモリ装置であり、例えば、周知のハードディスクドライブやランダムアクセスメモリ(RAM)装置である。
無線通信リンク218は無線データ通信手段であり、アクセスポイント(図示せず)を介して及びLAN(例えば、IEEE802.11Wi-Fi又はブルートゥース技術)を介して良く知られているように直接的な1対1通信又は無線通信を行う。有線通信リンク220は有線データ通信手段であり、例えば、標準的なイーサーネット及び/又はUSB接続を介して直接的な通信を行う。
MMRソフトエア群222は全体的な管理ソフトウエアであり、あるタイプのメディアを第2のタイプに併合するようなMMR処理を実行する。MMRソフトエア群222の更なる詳細は、図4を参照しながら説明される。
捕捉装置ユーザインターフェース(UI)224は、捕捉装置106を操作するためのユーザインターフェースである。捕捉装置UE224を利用することで、機能の選択肢に関する様々なメニューがMMRユーザ110に提示される。より具体的には、捕捉装置ユーザインターフェース(UI)224のメニューはMMRユーザ110がタスクを管理することを可能にし、限定ではないが例えば、書類と相互作用すること、既存の書類からデータを読み取ること、既存の書類にデータを書き込むこと、それらの書類に関連する拡張されたリアリティとともに閲覧及び相互作用すること、彼/彼女のMMRコンピュータ112に表示された書類に関連する拡張されたリアリティとともに閲覧及び相互作用すること等を可能にする。
書類フィンガープリント照合モジュール226は、捕捉装置106の少なくとも1つの捕捉手段230を介して、捕捉したテキスト画像から特徴を抽出するソフトウエアモジュールである。書類フィンガープリント照合モジュール226は、捕捉した画像及び書類データベースの間でパターン照合を実行することもできる。最も基本的なレベルでの一実施例によれば、書類フィンガープリント照合モジュール226は大きなページ画像中の画像パッチの一部(小区画)を決定し、その大きなページ画像は書類の多くの集合から選択されたものである。捕捉したデータを受信すること、捕捉したデータから画像の表現を抽出すること、書類中のパッチ判定及びモーション分析を実行すること、判定の合成を実行すること、入力画像が位置付けられるx−y座標のリストを出力すること等のルーチン又はプログラムを書類フィンガープリント照合モジュール226は含む。例えば、書類フィンガープリント照合モジュール226は、テキストのフィンガープリント(指紋)の画像から抽出された水平方向の及び垂直方向の(縦横の)特徴を結合し、その特徴の抽出元の書類及び書類中のセクションを確認するアルゴリズムでもよい。いったん特徴が抽出されると、例えばMMRコンピュータ112又はネットワークメディアサーバ114にある印刷書類インデックス(図示せず)が問い合わせられ、シンボリック(symbolic)書類を確認する。捕捉装置ユーザインターフェース(UI)224の制御の基で、書類フィンガープリント照合モジュール226は印刷書類インデックスへのアクセス権を有する。印刷書類インデックス図3のMMRコンピュータ112を参照しながら更に詳細に説明される。代替実施例では、書類フィンガープリント照合モジュール226はMMRコンピュータ112の一部であり且つ捕捉装置106内に設けられないようにしてもよいことに留意を要する。そのような例では、捕捉装置106は未処理の捕捉データをMMRコンピュータ112へ、画像抽出、パターン照合、書類及び位置判定に備えて送信する。更に別の実施例では、書類フィンガープリント照合モジュール226は特徴抽出のみを実行し、抽出された特徴がパターン照合及び認証に備えてMMRコンピュータ112に送信される。
第三者ソフトウエアモジュール228は、捕捉装置106で生じる何らかの処理を支援する何らかの第三者ソフトウエアモジュールを表す。ダイダン社ソフトウエアの具体例は、セキュリティソフトウエア、画像検出ソフトウエア、画像処理ソフトウエア及びMMRデータベースソフトウエアを含む。
上述したように、捕捉装置106は捕捉手段230をいくつでも含んでよく、それらの具体例が以下に説明される。
ビデオカメラ232はディジタルビデオ記録装置であり、標準的なディジタルカメラやセルラ電話で見受けられるものでもよい。
スチルカメラ234は、ディジタル画像を捕捉することができる何らかの標準的なディジタルカメラ装置である。
ボイスレコーダ236は、何らかの標準的な記録装置(マイクロフォン及び関連するハードウエア)であり、その記録装置は、オーディオ信号を捕捉し、それをディジタル形式で出力することができる。
電子ハイライター238は、印刷されたテキスト、バーコード及び小さな画像をPC、ラップトップコンピュータ又はPDA装置に対して走査、格納及び転送することができる電子ハイライターである。電子ハイライター238は、例えば、ウィズコムテクノロジーズのクイックリンクペンハンドヘルドスキャナ(Quicklink Pen Handheld Scanner)であり、シリアルポート、赤外線通信又はUSBアダプタを介して情報をペンに格納することや情報をコンピュータぷりケーションに直接的に転送することを可能にする。
レーザ240は良く知られているように誘導放出、コヒーレント、準単色光により光を生成する光源である。例えばレーザ240は標準的なレーザダイオードであり、順方向にバイアスされた場合にコヒーレント光を放出する半導体素子である。レーザ240に関連するもの及び包含されるものは、レーザ240が向けられている画像で反射された光量を測定するディテクタである。
GPS装置242は、例えば緯度及び経度のディジタルデータのような位置データを用意する何らかのポータブルGPS受信装置である。ポータブルGPS受信装置242の具体例は、ソニーコーポレーションのUV-U70ポータブル衛星ナビゲーションシステム、タレスノースアメリカ(Thales North America)コーポレーションのマゼランブランドロードメートシリーズGPS装置、メリディアンシリーズ(Meridian Series)GPS装置及びイクスプロリストシリーズ(eXplorist Series)GPS装置等である。GPS装置242は、リアルタイムで、或る程度、三角測量により、捕捉装置106の位置を決定する方法を複数のジオロケーション手段142に良く知られているようにもたらす。
RFIDリーダ244は、テキサスインスツルメントで製造されているTI-RFIDシステムのような市販のRFIDタグリーダシステムである。RFIDタグは無線波を利用することで固有の事項(アイテム)を確認するための無線装置である。周知のように、RFIDタグはアンテナに取り付けられたマイクロチップで形成され、そのマイクロチップに固有のディジタル識別番号が格納されている。
ある特定の実施例では、捕捉装置106は、プロセッサ210、ディスプレイ212、キーパッド214、ストレージデバイス216、無線通信リンク218、有線通信リンク220、MMRソフトエア群222、捕捉装置ユーザインターフェース(UI)224、書類フィンガープリント照合モジュール226、第三者ソフトウエアモジュール228、及び様々な捕捉手段230の内の少なくとも1つを含む。その場合、捕捉装置106は全機能搭載型装置である。或いは、捕捉装置106はより少ない機能しか備えてなくてもよいし、機能コンポーネントの限定された組しか含んでなくてもよい。例えば、MMRソフトエア群222及び書類フィンガープリント照合モジュール226は遠隔的に存在し、例えば、MMRシステム100bのMMRコンピュータ112又はネットワークメディアサーバ114は、無線通信リンク218又は有線通信リンク220を介して捕捉装置106からアクセスされてもよい。
MMRコンピュータ
図3を参照するに、本発明の一実施例により構築されたMMRコンピュータ112が示されている。図示されているように、1つ以上のマルチメディア(MM)ファイル336を含むネットワークメディアサーバ114に、印刷書類118を生成するユーザプリンタ116に、書類スキャナ127に及び捕捉装置106にMMRコンピュータ112は接続されており、捕捉装置は書類フィンガープリント照合モジュール226の第1インスタンス及び捕捉装置ユーザインターフェース(UI)224を含む。これらのコンポーネント間の通信リンクは、直接的なリンクでもよいし、或いはネットワークを介してもよい。更に、書類スキャナ127は書類フィンガープリント照合モジュール226’の第2インスタンスを含む。
本実施例のMMRコンピュータ112は、1つ以上のソースファイル310、第1ソース書類(SD)ブラウザ312、第2SDブラウザ314、プリンタ装置316、印刷書類(PD)捕捉モジュール318、PDインデックス322を格納するドキュメントイベントデータベース320、イベント捕捉モジュール324、書類分析モジュール326、マルチメディア(MM)クリップブラウザ/エディタモジュール328、MMのプリンタドライバ330、書類ビデオ分析(DVP: Document-to-Video Parser)印刷システム332及びビデオペーパー334を含む。
ソースファイル310は、書類(又はその一部分)の電子表現である何らかのソースファイルを表す。ソースファイル310の具体例は、ハイパーテキストマークアップ言語(HTML)ファイル、マイクロソフトワードファイル、マイクロソフトパワーポイントファイル、シンプルテキストファイル、ポータブルドキュメントフォーマット(PDF)ファイル等であり、これらはMMRコンピュータ112のハードドライブ(又は他の適切なストレージ)に格納される。
第1SDブラウザ312及び第2SDブラウザ314は、スタンドアローンPCアプリケーション又は既存のPCアプリケーション用のプラグイン(plug-in)であり、ソースファイル310に関連付けられているデータへのアクセスを可能にする。第1及び第2SDブラウザ312,314はオリジナルのHTMLファイル又はMMクリップをMMRコンピュータ112で表示するために抽出する。
プリンタ装置316はプリンタドライバソフトウエアであり、アプリケーションと(何らかの特定のプリンタで使用されている)ページ記述言語又はプリンタ制御言語との間の通信リンクを周知のように制御する。特に、印刷書類118のような書類が印刷されるときはいつでも、印刷装置用にリコーコーポレーションで用意されているもののように、プリンタドライバ316は制御コマンドを正すデータをプリンタ116に供給する。一実施例では、印刷装置316は通常の印刷装置とは異なり、印刷される全ページの全キャラクタのx−y座標、フォント及びポイントサイズの表現物を自動的に捕捉する。言い換えれば、印刷装置は印刷される書類全体の内容についての情報を捕捉し、そのデータをPD捕捉モジュール318にフィードバックする。
印刷書類(PD)捕捉モジュール318は書類の印刷表現を捕捉するソフトウエアアプリケーションであり、キャラクタ及び図形の印刷ページでのレイアウトが取り出せるようにする。更に、PD捕捉モジュール318を利用することで、書類の印刷表現は、自動的に、リアルタイムで及び/又は印刷時に捕捉される。より具体的には、PD捕捉モジュール318はあるソフトウエアルーチンであり、印刷ページ上での文字の2次元配置を捕捉し、その情報をPDインデックス322に伝送する。一実施例では、PD捕捉モジュール318は、印刷ページ上の全キャラクタのウインドウズテキストレイアウトコマンドを取得することで処理を行う。そのテキストレイアウトコマンドは、フォントやポイントサイズ等だけでなく印刷ページ上の全キャラクタのx−y座標をオペレーティングシステム(OS)に示す。実際には、PD捕捉モジュール318はプリンタ116に伝送された印刷データを傍受する。図示の例では、PD捕捉モジュール318はデータを捕捉するために第1SDブラウザ312の出力に結合される。代替的に、PD捕捉モジュール318の機能はプリンタドライバ316内で直接的に実行されてもよい。様々なコンフィギュレーションが可能なことが本願の開示により明らかになるであろう。
ドキュメントイベントデータベース320は、本発明の一実施例により、印刷書類及びイベント間の関係を格納するように修正された何らかの標準的なデータベースである。(ドキュメントイベントデータベース320は図34Aを参照しながらMMRデータベースとして更に後述される。)例えば、ドキュメントイベントデータベース320は、ソースファイル310(例えば、ワードファイル、HTMLファイル、PDFファイル)から、印刷書類118に関連するイベントへの双方向のリンクを格納する。イベントの例は、ワード書類が印刷された直後に捕捉装置106でマルチメディアクリップを捕捉すること、捕捉装置106のクライアントアプリケーションとともにマルチメディアを書類に加えること、又はマルチメディアクリップに対する注釈等である。更に、ドキュメントイベントデータベース320に格納されてもよいソースファイル310に関連する他のイベントは、所与のソースファイル310が開かれた、閉じられた又は削除されたときのロギング、所与のソースファイル310がMMRコンピュータ112のデスクトップ上でアクティブアプリケーション内にあった場合のロギング、書類「コピー」及び「移動」操作の回数及び宛先のロギング、所与のソースファイル310の編集履歴のロギング等を含む。そのようなイベントは、イベント捕捉モジュール324で捕捉され、ドキュメントイベントデータベース320に格納される。ドキュメントイベントデータベース320は、ソースファイル310の出力を、イベント捕捉モジュール324、PD捕捉モジュール318及びスキャナ127の出力を受信するように結合され、クエリ及びデータを受けるように捕捉装置106にも結合され、出力を用意する。
ドキュメントイベントデータベース320は、PDインデックス322も格納する。PDインデックスはソフトウエアアプリケーションであり、印刷書類の画像から取り出した特徴をそれらのシンボリックフォームに(例えば、スキャンされた画像をワードに)マッピングする。一実施例では、PD捕捉モジュール318は、フォントやポイントサイズ等だけでなく、印刷ページ上の全キャラクタのx−y座標をPDインデックス322に与える。PDインデックス322は所与の書類が印刷された時点で作成される。しかしながら、全ての印刷データは、後の時点で取得される方法で捕捉されPDインデックス322に保存されてもよい。例えば、印刷書類118が、言葉「薔薇」の1行前のページに物理的に位置する言葉「庭」を含んでいた場合、PDインデックス322はそのようなクエリ機能をサポートする(即ち、言葉「薔薇」に先行して言葉「庭」がある)。PDインデックス322はどの書類のどのページのどの場所で(そのページ中のどの場所で)、言葉「庭」が言葉「薔薇」の前に現れているかの記録を含む。従って、PDインデックス322は特徴ベースの又はテキストベースのクエリをサポートするよう組織される。PDDインデックス322の内容は、印刷書類の電子表現であり、印刷処理中にPD捕捉モジュール318を利用することで及び/又はスキャン処理中に書類スキャナ127の書類フィンガープリント照合モジュール226’を利用することで生成される。更なるデータベース320及びPDインデックス322のアーキテクチャ及び機能は、図34A−C、35及び36を参照しながら後述される。
イベント捕捉モジュール324は、MMRコンピュータ112でイベントを捕捉するソフトウエアアプリケーションであり、所与の印刷書類118及び/又はソースファイル310に関連付けられる。これらのイベントは所与のソースファイル310のライフサイクルの中で捕捉され、ドキュメントイベントデータベース320に保存される。特定の実施例では、イベント捕捉モジュール324を用いることで、第1SDブラウザ312のようなコンピュータ112のブラウザの中でアクティブなHTMLファイルに関するイベントが捕捉される。これらのイベントは、HTMLファイルがMMRコンピュータ112に表示された時点、又はそのHTMLファイルが表示若しくは印刷されている際に同時に開かれていた他の書類のファイル名等を含んでもよい。このイベント情報は、例えば、HTMLファイルが表示又は印刷されている際に彼/彼女が閲覧又は作業していた書類が何であるかを、MMRユーザ110が(後の時点で)知ることを希望した場合に特に有用である。イベント捕捉モジュール324により捕捉されるイベントの具体例は、書類編集履歴、所与のソースファイル310がデスクトップ上にあった近辺の時点でなされたオフィスミーティングの映像、及び所与のソースファイル310が開かれた時点で起こった電話呼出(オフィスポータル120で捕捉されてもよい)等を含む。
イベント捕捉モジュール324の具体的な機能は:1)トラッキング−アクティブなファイル及びアプリケーションを追跡すること、2)キーストロークキャプチャリング−キーストローク捕捉及びアクティブアプリケーションとの関連付け、3)フレームバッファキャプチャリング及びインデキシング−各フレームバッファ画像はフレームバッファデータの光文字認識(OCR)の結果と索引付けされることを含み、印刷書類の一部が画面に表示された場合に照合できるようにする。或いは、グラフィカルディスプレイインターフェース(GDI)シャドーdllとともにテキストが捕捉可能であり、PCオペレーティングシステムにより発行されたPCデスクトップについて文字を描くコマンドを追跡する。MMRユーザ110は捕捉装置106をある書類で指示し、それがMMRコンピュータ112のデスクトップでアクティブであった時点を確認してもよい;上記の機能は、4)履歴捕捉読取−フレームバッファキャプチャリング及びインデキシング処理のデータは、彼/彼女のMMRコンピュータ112のデスクトップで書類がアクティブであった時点の分析とリンクされ、どの程度長いか、及び特定の書類のどの部分かを追跡するように、MMRユーザ110に表示可能にすることを含む。その際、MMRユーザ110が書類を読んでいたか否かを推察するために、キーストロークやマウスの動きのような他のイベントとの関連性が考慮されてもよい。
ドキュメントイベントデータベース320、PDインデックス322及びイベント捕捉モジュール324の組み合わせは、MMRコンピュータ112でローカルに実現されてもよいし、或いは共用データベースとして実現されてもよい。ローカルに実現する場合、共用形式で実現することに比べてセキュリティレベルの低いことが必要とされる。
書類分析モジュール326は、印刷される書類118各自に関連するソースファイル310を分析するソフトウエアアプリケーションであり、そこでの有用なオブジェクト(例えば、ユニフォームリソースロケータ(URL)、アドレス、タイトル、著者、時間又は場所を表すフレーズ(例えば、ハリーディービルディング))を特定する。その際、ソースファイル310の印刷バージョンにおけるこれらのオブジェクトの場所が特定される。書類分析モジュール326の出力は、受信装置により使用可能であり、書類118の提示を追加的な情報とともに拡張し、パターン照合の精度を改善する。更に、受信装置は、例えばURLの場合そのロケーションを使用して、URLに関連するウェブページを取り出す。書類分析モジュール326は、ソースファイル310を受信するよう結合され、書類フィンガープリント照合モジュール226に出力を提供する。捕捉装置の書類フィンガープリント照合モジュール226に結合されるようにしか示されていないが、書類分析モジュール326の出力は、書類フィンガープリント照合モジュール226の全部に又はいくつにでもそれらが位置する何処にでも結合可能である。更に、書類分析モジュール326の出力は、後の利用に備えてドキュメントイベントデータベース320に格納されてもよい。
MMクリップブラウザ/エディタモジュール328は、オーサリング(著作)機能を提供するソフトウエアアプリケーションである。MMクリップブラウザ/エディタモジュール328は、スタンドアローンアプリケーションでもよいし、或いは書類ブラウザ上で動作するプラグインでもよい(第2SDブラウザ314に対して波線で表現されている)。MMクリップブラウザ/アプリケーション328はマルチメディアファイルをユーザに表示し、マルチメディアファイル336を受けるようにネットワークメディアサーバに結合される。更に、MMRユーザ110が書類を作成する際(例えば、マルチメディアクリップを書類に付ける際)、MMクリップブラウザ/アプリケーション328はその機能に関するサポートツールになる。MMクリップブラウザ/アプリケーション328は、マルチメディア書類が作成された頃に印刷された書類から分析された情報のようなメタデータを示すアプリケーションである。
MMのプリンタドライバ330はMMRドキュメントを作成する機能を用意する。例えば、MMRユーザ110は、MMのプリンタドライバ330により生成されたテキストをユーザインターフェース(UI)で強調し、マルチメディアデータを取り出すこと又はネットワーク128で若しくはMMRコンピュータ112で他の何らかのプロセスを実行することを含むアクションをそのテキストに付け加えてもよい。MMのプリンタドライバ330及びDVP印刷システム332の組み合わせは、バーコードを利用する代替的な出力をもたらす。このフォーマットは必ずしもコンテンツベースの検索技術を必要としない。MMのプリンタドライバ330は、ビデオペーパーテクノロジ−即ち、ビデオペーパー334をサポートするプリンタドライバである。MMのプリンタドライバ330は、バーコードを含む紙の表現物をマルチメディアにアクセスする手段として作成する。これに対して、プリンタドライバ316は、MMR対応技術を含む紙の表現物をマルチメディアにアクセスする手段として作成する。MMクリップブラウザ/アプリケーション328及びSDブラウザ314の組み合わせに含まれるオーサリング機能は、ソナ時出力フォーマットをSDブラウザ312として作成し、コンテンツベースの検索に備えて、MMRドキュメントの作成を可能にする。DVP印刷システム332は、書類に関連するドキュメントイベントデータベース320中の何らかのデータの処理を、その印刷表現に明示的な又は黙示的なバーコードとともに結合する。黙示的なバーコードは、バーコードに使用されるもののようなテキスト属性のパターンに関連する。
ビデオペーパー334は、紙のような印刷可能な媒体でオーディオビジュアル情報を表す技術である。ビデオペーパーでは、コンピュータ内に格納された又はコンピュータないでアクセス可能な電子コンテンツに対する指標としてバーコードが使用される。ユーザはバーコードをスキャンすると、そのテキストに関連するビデオクリップその他のマルチメディアコンテンツがシステムから出力される。オーディオ又はビデオペーパーを印刷するシステムは存在し、これらのシステムは本質的にはマルチメディア情報について紙ベースのインターフェースをもたらす。
ネットワークメディアサーバ114のMMファイル336は、様々なファイルタイプ及びファイルフォーマットの内のどの集合をも表す。例えば、MMファイル336はテキストソースファイル、ウェブページ、オーディオファイル、ビデオファイル、オーディオ/ビデオファイル及びイメージファイル(例えば、静止画写真)である。
図1Bで述べたように、書類スキャナ127は既存の印刷書類をMMR仕様書類に変換する際に使用される。しかしながら、更に図3を参照するに、書類スキャナ127は、書類フィンガープリント照合モジュール226’の特徴抽出処理を、走査される書類の全ページに適用することで、既存の書類に対してMMR処理を行うことを可能にするために使用される。その後、PDインデックス322には走査及び特徴抽出結果が投入され、走査された書類の電子表現がドキュメントイベントデータベース320に格納される。PDインデックス322の情報は、MMRドキュメントを作成するのに使用可能である。
図3を更に参照するに、MMRコンピュータ112のソフトウエア機能は、MMRコンピュータ112だけに限定されないことに留意を要する。或いは、MMRコンピュータ112、ネットワークメディアサーバ114、サービスプロバイダサーバ122及び捕捉装置106のMMRシステム100bの中でユーザが決めた何らかのコンフィギュレーションの中で図3に示されるソフトウエア機能が分散されてもよい。例えば、ソースファイル310、SDブラウザ312、SDブラウザ314、プリンタ装置316、PD捕捉モジュール318、ドキュメントイベントデータベース320、PDインデックス322、イベント捕捉モジュール324、書類分析モジュール326、MMクリップブラウザ/エディタモジュール328、MMのプリンタドライバ330及びDVP印刷システム332は、捕捉装置106内に完全に備わっていてもよく、それにより、捕捉装置106にとって強化された機能をしてもよい。
MMRソフトウエア群
図4は、本発明の一実施例によるMMRソフトウエア群222に含まれるソフトウエアコンポーネント群を示す。MMRソフトウエア群222の全部又はいくつかは、MMRコンピュータ112、捕捉装置106、ネットワークメディアサーバ114及び他のサーバに含まれてもよいことに留意すべきである。更に、MMRソフトウエア群222の他の例は、図示のコンポーネントを1つ乃至全部に至るまでいくつでも所有してよい。本実施例のMMRソフトウエア群222は、マルチメディア注釈ソフトウエア410(テキストコンテンツベースの抽出部412、画像コンテンツベースの抽出部414及びステガノグラフィック修正部416を含む)と、ペーパー読み取り履歴ログ418と、オンライン読み取り履歴ログ420と、協同的書類確認部422と、リアルタイム通知部424と、マルチメディア取得部426と、デスクトップビデオリマインダ部428と、ウェブページリマインダ部430と、物理履歴ログ432と、記入済書類確認部434と、伝搬時間部436と、位置確認部438と、PCオーサリング部440と、書類オーサリング部442と、捕捉装置オーサリング部444と、無意識的アップロード部446と、書類バージョン取得部448と、PC書類メタデータ部450と、捕捉装置ユーザインターフェース(UI)部452と、ドメイン固有コンポーネント454とを含む。
ドキュメントイベントデータベース320の組織とともに結合したマルチメディア注釈ソフトウエア410は、ある特定の実施例によるMMRシステム100bの基礎的な技術をなす。より具体的には、マルチメディア注釈ソフトウエア410は、紙の書類についてのマルチメディア注釈を管理するためのものである。例えば、MMRユーザ110は、紙書類の何らかの部分で捕捉装置を指示し、捕捉装置106の少なくとも1つの捕捉手段230を用いてその部分に注釈を付ける。特定の例では、契約書のある部分について法律家が注釈を指図する(オーディオファイルを作成する)。そのマルチメディアデータ(オーディオファイル)は、その書類のオリジナルの電子バージョンに自動的に添付される。その書類の以後の印刷は、選択的に、それらの注釈の存在の指標を含む。
テキストコンテンツベースの抽出部412は、コンテンツベースの情報をテキストから取り出すソフトウエアアプリケーションである。例えば、テキストコンテンツベースの抽出部412を用いることで、テキストのパッチ(一部)からコンテンツが取得され、オリジナルの書類及び書類中のセクションが確認される、或いはそのパッチにリンクした他の情報が確認される。テキストコンテンツベースの抽出部412はOCRベースの技術を利用してもよい。或いは、テキストからコンテンツベースの抽出を実行するために非OCRベースの技術は、テキストのパッチ内でのワード長の2次元配列を含む。テキストコンテンツベースの抽出部412の一例はあるアルゴリズムであり、そのアルゴリズムは、テキストの一部の画像から抽出された水平方向の及び垂直方向の(縦横の)特徴を結合し、書類及びその書類中の抽出されたセクションを確認する。水平方向の及び垂直方向の特徴は、連続的に、並列的に或いは同時に使用されてもよい。そのような非OCRベースの特徴群を使用すると、高速な実現手段をもたらし、ノイズのある環境でのロバスト性をもたらす。
画像コンテンツベースの抽出部414は、コンテンツベースの情報を画像から取り出すソフトウエアである。画像コンテンツベースの抽出部414は、捕捉した画像及びデータベース320中の画像間の画像比較を実行し、可能な画像照合のリスト及び関連する信頼度を生成する。更に、一致画像の各々は、ユーザ入力に応じて実行される関連動作及び関連データを有してもよい。一例では、画像コンテンツベースの抽出部414は、例えば、画像をベクトル表現に変換することで、ラスタ画像(例えば、マップ)に基づいてコンテンツを抽出し、そのベクトル表現は、特徴の配列の同じ画像を求めて画像データベースに問い合わせるのに使用可能である。代替実施例は、カラーコンテンツの画像又は画像内のオブジェクトの幾何学的配置を利用して、データベースの中で一致する画像を探す。
ステガノグラフィック(steganographic)修正部416は、印刷に先立ってステガノグラフィック的な修正を実行するソフトウエアアプリケーションである。MMRアプリケーションをより良好にイネーブルにするため、テキスト及びイメージが印刷される前にテキスト及びイメージにディジタル情報が加えられる。代替実施例では、ステガノグラフィック修正部416はMMRドキュメントを生成及び格納し、MMRドキュメントは、1)テキスト、オーディオ又はビデオ情報のようなオリジナルベースのコンテンツ、2)テキスト、オーディオ、ビデオ、アプレット、ハイパーテキストリンク等のような何らかの形式の追加的なコンテンツを含む。ステガノグラフィック修正は、カラーの又はグレースケールの画像中にウォーターマークを、書類の背景にドットパターンの印刷を、印刷されたキャラクタの輪郭の僅かな修正を埋め込み、ディジタル情報をエンコードすることを含む。
ペーパー読み取り履歴ログ418は、紙書類の読み取り履歴ログである。ペーパー読み取り履歴ログ418は、例えば、ドキュメントイベントデータベース320の中にある。ペーパー読み取り履歴ログ418は、リコーイノベーションズにより開発された、ビデオによる書類認証技術(document identification-from-video technology)に基づいてもよい。ペーパー読み取り履歴ログ418は、例えば、MMRユーザ110に書類を読み取ることを及び/又は何らかの関連するイベントをリマインドする際に特に有用である。
オンライン読み取り履歴ログ420は、オンライン書類の読み取り履歴ログである。オンライン読み取り履歴ログ420は、オペレーティングシステムイベントの分析に基づき、ドキュメントイベントデータベース320の中にある。オンライン読み取り履歴ログ420は、MMRユーザ110により読み取られたオンライン書類の記録であり、その書類の一部分が読み取られる。オンライン読み取り履歴ログ420のエントリは、多くの方法で以後の如何なるプリントアウトで印刷されてもよく、例えば、各部分を読み取るのに費やした時間に基づいて、各ページの下にメモを用意することで又は異なる色でテキストを強調することで印刷されてよい。更に、マルチメディア注釈ソフトウエア410はPDインデックス322でこのデータを指示してもよい。或いは、オンライン読み取り履歴ログ420は、MMRコンピュータ112をモニタする顔検出システムのような装置に備わるMMRコンピュータ112により支援されてもよい。
協同的書類確認部422はあるソフトウエアアプリケーションであり、同じ紙書類の異なるバージョンの1以上のリーダが、他のリーダにより適用されたコメントを、(彼/彼女の捕捉装置106を書類の何らかのセクションの場所で指示することによって)確認できるようにする。例えば、書類サムネイルのトップにおけるオーバーレイとして、注釈が捕捉装置106で表示されてもよい。協同的書類確認部422は、既存の如何なるタイプの協同的なソフトウエアとともに実現される又は協同してもよいもよい。
リアルタイム通知部424は、読み取られる書類のリアルタイムの通知を実行するソフトウエアアプリケーションである。例えば、MMRユーザ110は書類を読み取るがその一方で、彼/彼女の読み取った跡(トレース)は、ブログに又はオンライン掲示板に掲示される。その結果、同じ話題に興味のある他の人々が、その書類について集まってチャットを行ってもよい。
マルチメディア取得部426は、代替的な紙書類からマルチメディアを取り出すソフトウエアアプリケーションである。例えば、MMRユーザ110は行われる会話全てを取り出す一方、捕捉装置106をその書類位置で指示することで、代替的な紙書類がMMRユーザ110の机に提示される。これは、マルチメディアデータを捕捉するMMRユーザ110のオフィスの中でオフィスポータル120が(又は他の適切な手段が)存在することを想定している。
デスクトップビデオリマインダ部428は、MMRコンピュータ112で起こるイベントをMMRユーザ110に知らせるソフトウエアアプリケーションである。例えば、紙書類のあるセクションで捕捉装置106を指図することで、MMRユーザ110は、そのセクションが現れた場合に、MMRコンピュータ112のデスクトップにおける変化を示すビデオクリップを見てもよい。更に、デスクトップビデオリマインダ部428は、MMRコンピュータ112により記録された他のマルチメディア(例えば、MMRコンピュータ112の近辺での音響)を取り出すように使用されてもよい。
ウェブページリマインダ部430は、MMRユーザ110に彼/彼女のMMRコンピュータ112で見えるウェブページを思い出させるソフトウエアアプリケーションである。例えば、紙書類上で捕捉装置106をパン撮り(panning)することで、MMRユーザ110は表示されたウェブページのトレースを眺める一方、書類の関連するセクションがMMRコンピュータ112のデスクトップに示される。ウェブページは、SDブラウザ312,314のようなブラウザに示されてもよいし、捕捉装置106のディスプレイ212に示されてもよい。或いは、ウェブページは捕捉装置106のディスプレイ212に又はMMRコンピュータ112にURLそのものとして表示されてもよい。
物理履歴ログ432は、例えばドキュメントイベントデータベース320の中にある。物理履歴ログ432は紙書類の物理履歴ログである。例えば、MMRユーザ110は彼/彼女の捕捉装置106を或る紙書類の所で指し、物理履歴ログ432に格納されている情報を利用することで、何らかの過去の時点で関心を寄せた書類に隣接する他の書類が決定される。この処理は、RFIDのようなトラッキングシステムによって支援される。その場合、捕捉装置106はRFIDリーダ244を含む。
記入済書類確認部434は、あるフォーム(定型様式)を記入するのに使用した過去に取得した情報を抽出するソフトウエアアプリケーションである。例えば、MMRユーザ110は彼/彼女の捕捉装置106を或るブランクフォーム(例えば、ウェブサイトから印刷された請求様式)の所で指示し、過去に入力した情報の履歴を用意する。その後に、記入済書類確認部434により、そのフォームは過去に入力した情報で自動的に記入される。
伝搬時間部436は、書類の過去の及び将来のバージョンに備えてソースファイルを取り出し、それらのバージョンに関連するイベントのリストを取得及び表示するソフトウエアアプリケーションである。この処理は、最も重要な外的なイベント(例えば、話し合いやミーティング)の後にそれらに関連する書類が何ヶ月かたって作成されたバージョンから、手持ちの印刷書類が生成されていることを埋め合わせる。
位置確認部438は、位置認識(location-aware)書類を管理するソフトウエアアプリケーションである。位置認識書類の管理は、例えば、RFID的なトラッキングシステムによって支援される。例えば、捕捉装置106は、日中のMMRユーザ110の地理的な位置のトレースを捕捉し、書類又は書類を含むフォルダに付いたRFIDタグをスキャンする。RFIDスキャン処理は、捕捉装置106のRFIDリーダ244により実行され、その範囲内で何らかのRFIDを検出する。MMRユーザ110の地理的な位置は、セルラインフラストラクチャ132内の各セルタワーの識別番号によって、或いは捕捉装置106のGPS装置242によって、又はジオロケーション手段142との組み合わせによって追跡されてもよい。或いは、書類の確認は、捕捉装置106のビデオカメラ232又は「オールウェイズオンビデオ(always-on-video)」とともに達成されてもよい。ロケーションデータは、「ジオリファレンス(geo-referenced)」書類を用意し、一日中、書類が位置する場所を示すマップベースのインターフェースを可能にする。1つのアプリケーションは、遠く離れたクライアントを訪問する、ファイルを持ち運ぶ法律家である。代替例では、書類118はそれらに取り付けられた検出手段を含み、書類が動かされた場合にそれを検知でき、ある基本的な顔検出処理を実行する。この検知機能は、書類に付けられたジャイロスコープ又は同様な装置一式を介してなされてもよい。位置情報に基づいて、MMRシステム100bは、所有者のセルラ電話を「呼び出す」際に、書類が動いていることを彼/彼女に知らせる。セルラ電話は、その書類を仮想的なブリーフケースに加える。更に、これは「不可視」のバーコードの概念であり、それは、捕捉装置106のビデオカメラ232又はスチルカメラ234には見えるマシン読み取り可能なマーキングであるが、人間にとっては見えない又は非常に微妙である。様々なインク及びステガノグラフィ又は印刷された画像ウォーターマーキング技術(捕捉装置106でデコードされてもよい)は、位置を確認するのに考慮されてもよい。
PCオーサリング部440は、MMRコンピュータ112のようなPCでのオーサリング処理を実行するソフトウエアアプリケーションである。PCオーサリング部440は、マイクロソフトワード、パワーポイント及びウェブページオーサリングパッケージ等のような既存のオーサリングアプリケーションのプラグインとして与えられる。PCオーサリング部440は、MMRユーザ110が紙書類を準備することを可能にし、その紙書類は、彼/彼女のMMRコンピュータ112からのイベントに対するリンク又は彼/彼女の環境の中でのイベントに対するリンクを含む。或いはPCオーサリング部440は、リンクを有する紙書類を自動的に生成することを可能にし、印刷される書類が、該書類の生成元のワードファイルに自動的にリンクされるようにする。或いはPCオーサリング部440は、MMRユーザ110がワードファイルを検索可能にし、他の誰かにそれを付与できるようにする。リンクを含む紙書類は、MMRドキュメントとして言及される。MMRドキュメントの更なる詳細は、図5に関連して更に説明される。
書類オーサリング部442は、既存の書類に関するオーサリング処理を実行するソフトウエアアプリケーションである。書類オーサリング部442は、例えば個人用エディションとして又は業務用エディションとして実現可能である。個人用エディションの場合、MMRユーザ110は書類をスキャンし、それらをMMRドキュメントデータベースに加える(例えば、ドキュメントイベントデータベース320に加える)。業務用エディションの場合、発行者(又は第三者)がオリジナルの電子ソース(又は、電子ゲラ刷り)からMMRドキュメントを作成する。この機能は、ハイエンド出版パッケージ(例えば、アドビリーダー)に組み込まれ、他のエンティティにより提供されるバックエンドユーザとともにリンクされてもよい。
捕捉装置オーサリング部444は、捕捉装置106で直接的にオーサリング処理を実行するソフトウエアアプリケーションである。捕捉装置オーサリング部444を利用することで、MMRユーザ110は、彼/彼女が手に持っている紙書類からキーフレーズを取り出し、その場で捕捉した追加的なコンテンツとともにそのキーフレーズを格納し、仮のMMRドキュメントを作成する。更に、捕捉装置オーサリング部440を利用することで、MMRユーザ110は、彼/彼女のMMRコンピュータ112に戻り、彼/彼女が作成した仮のMMRドキュメントを既存の書類アプリケーション(例えば、パワーポイント)にダウンロードし、それをMMR書類の最終バージョンに編集する又は他のアプリケーション用の他の標準的な形式の書類に編集してもよい。その際、イメージ及びテキストが既存の書類のページ中に自動的に挿入される(例えば、パワーポイント書類のページ中に挿入される。)。
無意識的アップロード部446は、印刷書類を無意識的に(自動的に、ユーザの介在なしに)捕捉装置106にアップロードするソフトウエアアプリケーションである。MMRユーザ110が彼/彼女のMMRコンピュータ112の所に居る場合も含めて、捕捉装置106はほとんどの時点でMMRユーザ110に所有されているので、書類をプリンタ116に送信することに加えてプリンタドライバ316は、それらの同じ書類を捕捉装置106のストレージ装置216へ、捕捉装置106の無線通信リンク218を介して、Wi-Fi技術134又はブルートゥース技術136とともに又は捕捉装置106がMMRコンピュータ112に結合されているならば有線接続により、送り出してもよい。その場合、MMRユーザ110は書類が印刷された後書類を取ることを決して忘れない。なぜなら書類は捕捉装置106に自動的にアップロードされるからである。
書類バージョン取得部448は、所与のソースファイル310の過去及び将来的なバージョンを取得するソフトウエアアプリケーションである。例えば、MMRユーザ110は印刷書類の場所に捕捉装置106を指示し、そして書類バージョン取得部448が現在のソースファイル310(例えば、ワードファイル)、ソースファイル310の他の過去及び将来のバージョンを特定する。特定の実施例では、この動作はウインドウズファイルトラッキングソフトウエアを利用し、ソースファイル310が複製され及び動かされた場所を追跡する。他のそのようなファイルトラッキングソフトウエアも使用可能である。例えば、グーグルデスクトップサーチやマイクロソフトウインドウズサーチコンパリゾンは、ソースファイル310から選択されたワードで構成されるクエリとともにファイルの現在のバージョンを見つけることができる。
PC書類メタデータ部450は、書類のメタデータを取得するソフトウエアアプリケーションである。例えば、MMRユーザ110は捕捉装置106を印刷書類の所に指示し、そしてPC書類メタデータ部450は、誰がその書類を印刷したか、いつその書類が印刷されたか、どこでその書類が印刷されたか及び印刷時の所与のソースファイルのファイルパス等を確認する。
捕捉装置ユーザインターフェース(UI)部452は、捕捉装置106のユーザインターフェース(UI)の動作を管理するソフトウエアアプリケーションであり、MMRユーザ110が紙書類とともに相互作用できるようにする。捕捉装置ユーザインターフェース(UI)部452及び捕捉装置ユーザインターフェース(UI)224を組み合わせることで、既存の書類からデータを読み取ること及びデータを既存の書類に書き込むこと、その書類に関連する拡張されたリアリティとともに閲覧及び相互作用すること(即ち、捕捉装置106を介して、何が起こったか、何時書類が作成されたか又は何時書類が編集されたかをMMRユーザ110は知ることができる。)、並びに彼/彼女の捕捉装置106に表示される書類に関連する拡張されたリアリティとともに閲覧及び相互作用することをMMRユーザ110に許可する。
ドメイン固有コンポーネント454は、ドメイン固有の機能を管理するソフトウエアアプリケーションである。例えば、音楽アプリケーションの場合、ドメイン固有コンポーネント454は、例えば、捕捉装置106のボイスレコーダ236を介して検出された音楽をタイトル、アーティスト又は作曲家と照合するソフトウエアアプリケーションである。このように、検出された音楽に関する音楽CDや楽譜等のような関心のあるアイテムが、MMRユーザ110に提示される。同様に、ドメイン固有コンポーネント454は、ビデオコンテンツ、ビデオゲーム及び何らかの娯楽情報についても同様な方法で動作するよう適合させられている。デバイス固有コンポーネント454は何らかの大容量メディアコンテンツの電子バージョンに適合していてもよい。
図3及び図4を更に参照するに、MMRソフトウエア群222のソフトウエアコンポーネントは、1つ以上のMMRコンピュータ112、ネットワークメディアサーバ114、サービスプロバイダサーバ122及び捕捉装置106のMMRシステム100b内に完全に又は部分的に存在してよいことに留意すべきである。言い換えれば、MMRソフトウエア群222で実行されるようなMMRシステム100bの処理は、MMRコンピュータ112、ネットワークメディアサーバ114、サービスプロバイダサーバ122及び捕捉装置106の間のユーザの決めた何らかのコンフィギュレーションの中で分散されてもよい(又はシステム100bに含まれるそのような他の処理環境の中で分散されてもよい)。
MMRシステム100a/100bの基本的な機能は、MMRソフトウエア群222のソフトウエアコンポーネントの或る組み合わせとともに実行可能であることは、本開示により明らかになるであろう。例えば、MMRシステム100a/100bの一例による基本機能は、以下を含む:
●第1メディア部分及び第2メディア部分を含むMMRドキュメントを作成及び付加すること。
●MMRドキュメントの第1メディア部分(例えば、紙書類)を利用して、第2メディア部分の情報にアクセスすること。
●MMRドキュメントの第1メディア部分(例えば、紙書類)を利用して、電子ドメインでの処理を引き起こす(トリガをかける)又は開始すること。
●MMRドキュメントの第1メディア部分(例えば、紙書類)を利用して、第2メディア部分を作成又は付加すること。
●MMRドキュメントの第2メディア部分を利用して、第1メディア部分を作成又は付加すること。
●MMRドキュメントの第2メディア部分を利用して、電子ドメイン内での処理を引き起こす若しくは開始する又は第1メディア部分に関連付けること。
MMRドキュメント
図5は、本発明の一実施例によるMMRドキュメント500を示す。より具体的には、図5のMMRドキュメント500は、印刷書類118の一部の表現502、アクション又は第2メディア504、インデックス又はホットスポット506、及び書類118全体の電子表現508を含む。MMRドキュメント500は典型的にはドキュメントイベントデータベース320に格納されているが、捕捉装置に又はネットワーク128に結合された何らかの他の装置に格納されてもよい。一実施例では、複数のMMRドキュメント500が1つの印刷書類に対応してもよい。別の実施例では、図5に示される構造が複製され、1つの印刷書類の中に複数のホットスポット506を作成してもよい。ある特定の実施例では、MMRドキュメント500は、ページに関する表現502及びホットスポット506並びにページ内の場所を含み、第2メディア504及び電子表現508は選択的であり、波線で示されるように線引きされている。第2メディア504及び電子表現508は、望まれるならば、MMRドキュメントが作成された後に後で付加されてもよいことに留意を要する。この基礎的な実施例は、その表現に関連する書類を見つける又は書類中の特定の場所を見つけるために使用されてもよい。
印刷書類118の一部の表現502は、パターンを照合し、書類中の少なくとも1つのロケーションを特定するのに利用可能な如何なる形式(画像、ベクトル、画素、文字、コード等)でもよい。表現502は印刷書類の中で或る場所を一意に特定することが好ましい。一実施例では、表現502は図5に示されるようなテキストフィンガープリントである。テキストフィンガープリントは、PD捕捉モジュール318を介して自動的に捕捉され、印刷処理中にPDインデックス322に格納される。或いは、テキストフィンガープリント502は、書類スキャナ127の書類フィンガープリント照合モジュール226’を介して自動的に捕捉され、スキャン処理中にPDインデックス322に格納されてもよい。代替的に表現502は書類全体、テキストの一部、1つのワード(そのワードが書類中の固有のインスタンスであるならば)、イメージの一部分、固有の属性又は書類の照合可能な部分の他の如何なる表現でもよい。
アクション又は第2メディア504は、ディジタルファイル又は何らかのタイプのデータ構造であることが好ましい。ほとんどの基本的な実施例における第2メディア504は、提示されるテキスト又は実行される1以上のコマンドかもしれない。第2メディアタイプ504はより一般的にはテキストファイル、オーディオファイル又はビデオファイルであり、それらは表現502により特定される書類の一部分に関連するものである。第2メディアタイプ504は、複数の異なるメディアタイプや、同一タイプの複数のファイルを参照又は包含するデータ構造又はファイルでもよい。例えば、第2メディア504は、テキスト、コマンド、イメージ、PDFファイル、ビデオファイル、オーディオファイル、アプリケーションファイル(例えば、スプレッドシートやワードプロセシング書類)等にすることができる。
インデックス又はホットスポット506は、表現502とアクション又は台2メディア04との間のリンクである。ホットスポット506は、表現502及び第2メディア504を関連付ける。一実施例では、インデックス又はホットスポット506は、書類中のx及びy座標のような位置情報を含む。ホットスポット506は或る点(ポイント)でもよいし、或る領域でもよいし、書類全体でさえよい。一実施例では、ホットスポットは表現502を指すポインタ、第2メディア504を指すポインタ及び書類中のロケーションを備えたデータ構造である。MMRドキュメント500は複数のホットスポット506を含むことができ、その場合、データ構造は、複数の表現、複数の第2メディアファイル、及び印刷書類118内の複数のロケーションの間のリンクを作成することが理解されるべきである。
代替実施例では、MMRドキュメント500は書類全体118の電子表現508を含む。この電子表現は、ホットスポット506の位置を特定すること、ユーザインターフェースを用いて捕捉装置106又はMMRコンピュータ112に書類を表示することに使用可能である。
MMRドキュメント500の利用例は、以下のとおりである。テキストフィンガープリント又は表現502を分析することで、捕捉されたテキストフラグメントが、捕捉装置106のドキュメントフィンガープリント照合モジュール226’により確認される。例えば、MMRユーザ110は、彼/彼女の捕捉装置106のビデオカメラ232又はスチルカメラ234を印刷書類118の所に指示し、イメージを捕捉する。次に、ドキュメントフィンガープリント照合モジュール226は、捕捉したイメージについて分析を実行し、PDインデックス322内に関連するエントリが有るか否かを確認する。合致した場合、ホットスポット506の存在が、彼/彼女の捕捉装置106のディスプレイ212上でMMRユーザ110に対して強調される。例えば、図5に示されるようなワード又はフレーズが強調される。印刷書類118内の各ホットスポット506は、他のユーザの決めた又は所定のデータ(例えば、ネットワークメディアサーバ114にあるMMファイル336の1つ)に対するリンクとして機能する。PDインデックス322内に格納されたテキストフィンガープリント又は表現502にアクセスすることは、書類中の如何なるMMRドキュメント500にも又は如何なるホットスポット506にも電子データを付加することを可能にする。図4を参照しながら説明したように、少なくとも1つのホットスポット506(例えば、リンク)を含む紙書類は、MMRドキュメント500として参照される。
図1B、2A乃至2D、3、4及び5に関するMMRシステム100bの動作例が以下に説明される。MMRユーザ110又は他の何らかのエンティティ(例えば、出版会社)は、所与のソースファイル310を開き、印刷処理を開始し、印刷書類118のような紙書類を作成する。印刷処理中に、次のような(1)〜(6)の動作が自動的に実行される。(1)印刷時にPD捕捉モジュール318を介して印刷フォーマットを自動的に捕捉し、それを捕捉装置106に転送すること。書類の電子表現508は、例えばSDブラウザ312の出力でPD捕捉モジュール318を利用することで、印刷時に自動的に捕捉される。例えば、MMRユーザ110はブラウザ312からコンテンツを印刷し、そのコンテンツはPD捕捉モジュール318により選別(フィルタリング)される。上述したように、ページ上の文字の2次元配列は、その書類が印刷用にレイアウトされた時点で決定可能である。(2)印刷時に書類のソースファイル310をPD捕捉モジュール318により自動的に捕捉すること。(3)書類分析モジュール326を介して印刷されたフォーマット及び/又はソースファイル310を分析し、捕捉装置106のマルチメディア注釈インターフェースに入力された「指名されたエンティティ」又は他の関心のある情報を発見すること。指名されたエンティティは、例えば、マルチメディアを後で付与するための「いかり(anchor)」であり、自動的にホットスポット506が生成される。書類分析モジュール326は、所与の印刷書類118に関連する入力ソースファイル310を受信する。書類分析モジュール326は、書類118におけるホットスポット506とともに使用する表現502(例えば、タイトル、作者、時間又はロケーション)を確認し、情報を捕捉装置106で受けることを促すアプリケーションである。(4)コンテンツベースの検索に備えて、印刷されたフォーマット及び/又はソースファイル310に自動的に索引付けを行うこと(PDインデックス322を構築する)。(5)書類に関するドキュメントイベントデータベース320におけるエントリを作成し、例えば履歴及び現在位置のようなソースファイル310に関連するイベントを作成すること。(6)プリンタドライバ316内でインタラクティブな対話を実行すること。これは、MMRユーザ110が、書類の印刷される前にホットスポット506を書類に付けることを可能にし、MMRドキュメント500が作成される。関連するデータがMMRコンピュータ112に格納される、或いはネットワークメディアサーバ114にアップロードされる。
代替実施例
MMRシステム100(100a又は100b)は、図1A−1B、2A−2D及び3−5に示されるコンフィギュレーションに限定されない。MMRソフトウエアは、捕捉装置106及びMMRコンピュータ112の間の全体にわたって又は一部分に分散されてもよいし、図3,4に関して説明したモジュール全てよりもかなり少ないものしか要しない。可能な複数のコンフィギュレーションは、以下の代替例を含む。
第1の代替例によるMMRシステム100は、捕捉装置106及び捕捉装置ソフトウエアを含む。捕捉装置ソフトウエアは、捕捉装置ユーザインターフェース(UI)224及びドキュメントフィンガープリント照合モジュール226(例えば、図3に示されるようなもの)である。捕捉装置ソフトウエアは捕捉装置106で実行されてもよいし、或いは、捕捉装置106にとってアクセス可能なネットワークメディアサーバ114やサービスプロバイダサーバ122のような外部サーバで実行されてもよい。この代替例では、刊行物にリンクされたデータを供給するネットワークサービスが利用可能である。ある階層判定法が使用されてもよい。その方法では、刊行物が先ず確認され、その刊行物内のページ及びセクションが確認される。
第2の代替例によるMMRシステム100は、捕捉装置106、捕捉装置ソフトウエア及びドキュメント利用ソフトウエアを含む。第2の代替例は、図4を参照しながら図示及び説明されたようなソフトウエアを含み、印刷書類を捕捉及び索引付けし、書類の編集履歴のような基本的な書類イベントを結び付ける。これはMMRユーザ110が彼/彼女の捕捉装置106を何らかの印刷書類の所に指示し、印刷の時間及び場所に加えて、書類を生成したソースファイルの名称及び場所も確認することを可能にする。
第3の代替例によるMMRシステム100は、捕捉装置106、捕捉装置ソフトウエア、ドキュメント利用ソフトウエア及びイベント捕捉モジュール324を含む。イベント捕捉モジュール324が、イベントを捕捉するMMRコンピュータ112に加えられ、そのイベントは、書類がMMRコンピュータ112のデスクトップ上で見えるようになった時間(GDIキャラクタジェネレータを監視することで確認される)、書類が開かれた際にアクセスされたURL、又は書類が開かれた際にキーボードにタイプされたキャラクタ等のような、書類に関連するイベントである。
第4の代替例によるMMRシステム100は、捕捉装置106、捕捉装置ソフトウエア及びプリンタ116を含む。第4の代替例では、プリンタ116がブルートゥーストランシーバ又は同様な通信リンクとともに装備され、近接している何らかのMMRユーザ110の捕捉装置106と通信する。何らかのMMRユーザ110がプリンタ116から書類を取り出すときはいつでも、プリンタ116はMMRデータ(ドキュメントレイアウト及びマルチメディアクリップ)をそのユーザの捕捉装置106に押し出す。ユーザプリンタ116はキーパッドを含み、そのキーパッドによりユーザはログインしてコードを入力し、特定の書類に関連するマルチメディアデータを取得する。書類のフッターに、プリンタドライバ316により挿入されたコードの印刷表現が含まれていてもよい。
第5の代替例によるMMRシステム100は、捕捉装置106、捕捉装置ソフトウエア及びオフィスポータル120を含む。オフィスポータル120は好ましくは個人仕様のオフィスポータル120である。オフィスポータル120は、会話、会議/電話及びミーティング等のようなオフィス内のイベントを捕捉する。オフィスポータル120は物理的なデスクトップ上で特定の紙書類を確認及び追跡する。更にオフィスポータル120は書類確認ソフトウエア(即ち、ドキュメントフィンガープリント照合モジュール226及びホストドキュメントイベントデータベース320)を実行する。第5の代替例は、MMRコンピュータ112から演算負担を分散するように機能し、顧客装置のようなMMRシステム100bをパッケージする便利な方法をもたらす(例えば、MMRシステム100bは、アップルコンピュータインコーポレーテッドのマックミニコンピュータで実行されるハードウエア及びソフトウエアプロダクトとして販売される。)。
第6の代替例によるMMRシステム100は、捕捉装置106、捕捉装置ソフトウエア及びネットワークメディアサーバ114を含む。この代替例では、マルチメディアデータは、例えばカムキャストビデオオンデマンドサーバのようなネットワークメディアサーバ114にある。MMRユーザ110が彼/彼女の捕捉装置106のユーザにより書類テキストの一部をスキャンする場合、その結果のルックアップコマンドは、(無線で、インターネットを介して、或いは電話回線でセットトップボックス126を呼び出すことで)MMRユーザ110のケーブルTVに関連するセットトップボックス126に、又はコムキャストサーバに伝えられる。何れの場合にも、マルチメディアはコムキャストサーバからセットトップボックス126へストリーム伝送される。システム100はデータを送る場所を知っている。なぜなら、MMRユーザ110は彼/彼女の電話を過去に登録しているからである。従って、捕捉装置106はセットトップボックス126に対するアクセス及び制御に使用可能になる。
第7の代替例によるMMRシステム100は、捕捉装置106、捕捉装置ソフトウエア、ネットワークメディアサーバ114及びロケーションサービスを含む。この代替例では、ロケーション認識サービスが、コムキャストシステム(又は適切な他の通信システム)からの出力に関する複数の宛先を識別する。この機能は、セルラ電話タワーIDを自動的に識別することにより、又はデータが表示されるロケーションをMMRユーザ110に選択させるキーパッドインターフェースにより実行される。従って、他のロケーションがケーブルアクセスを有する限り、他のロケーションを訪れている際に、ケーブルオペレータにより提供されるケーブルTV上映作品及び番組にユーザはアクセスできる。
ドキュメントフィンガープリント照合(イメージベースのパッチ判定)
上述したように、ドキュメントフィンガープリント照合は、MMRドキュメントの一部分、即ち「パッチ」を固有に確認することを含む。図6を参照するに、書類のフィンガープリント照合モジュール/システム610は、捕捉したイメージ612を受信する。ドキュメントフィンガープリント照合システム610は、書類データベース3400のページの集合に問い合わせを行い(例えば図34を参照しながら後述される)、捕捉イメージ612が含まれているページ及び書類のリストを返す。結果の各々は、捕捉された入力画像612が現れるx−yロケーションである。(例えば、図6に示されるように)データベース3400はドキュメントフィンガープリント照合モジュール610の外にあるが、ドキュメントフィンガープリント照合モジュールの中にあってもよいことを当業者は理解するであろう(例えば、図7,11,12,14,20,24,26,28及び30−32に示されるように、ドキュメントフィンガープリント照合モジュール610はデータベース3400を含む。)。
図7は、本発明の一実施例によるドキュメントフィンガープリント照合システム610のブロック図を示す。捕捉装置106はイメージを捕捉する。捕捉されたイメージは品質評価モジュール712に伝送され、ダウンストリーム処理の必要性及び能力に基づいて、捕捉したイメージの内容について予備的な判定を効果的に行う。例えば、捕捉されたイメージが、ドキュメントフィンガープリント照合システム610でダウンストリーム処理できない程度の品質であった場合、品質評価モジュール712は、捕捉装置106が、より高い解像度でイメージを取得し直すようにする。更に、品質評価モジュール712は捕捉イメージの他の多くの関連属性を検出してもよい−例えば、捕捉画像に含まれているテキストの鮮明さ(sharpness)を検出してもよい(鮮明さは捕捉イメージに照準が合っているか否かの指標になる。)。更に、品質評価モジュール712は、捕捉イメージがその書類の一部になり得る何かを含んでいるか否かを確認してもよい。例えば、書類画像でないもの(例えば、机、外の情景)を含む画像パッチは、ユーザが捕捉装置106の視界を新たな書類に移しつつあることを示す。
更に、1つ以上の実施例では、品質評価モジュール712はテキスト/非テキスト判定を実行し、認識可能なテキストを含めるようにイメージのみを通過させる。図8は、1つ以上の実施例によるテキスト/非テキストを区別するフローチャートを示す。ステップ810では、ピクセル(画素)の列数が入力イメージパッチから取り出される。一般に、入力イメージはグレースケールであり、列(カラム)の各値は(8ビット画素の場合)ゼロから255までの整数である。ステップ812では、各カラム内のローカルピクセルが検出される。これは一般に理解されている「スライディングウインドウ」法で行うことができ、その方法では、固定長のウインドウ(例えば、Nピクセル)が列に沿って一度にMピクセルずつスライドされる(ここで、M<Nである。)。各ステップにおいて、グレーレベル値の顕著な相違(例えば、40より大きいもの)を探すことで、ピークの存否が判定される。ウインドウの或る場所でピークが特定された場合、そのスライディングウインドウがその場所と重なっているときはいつでも、他のピークの検出は控えられる。ステップ812では、一連のピークの間のギャップも検出される。ステップ812は、イメージパッチ内のカラム番号Cに適用され、ステップ814でそのギャップ値がヒストグラムに蓄積される。
ギャップヒストグラムは、データベース818に格納されている既知の分類(ステップ816)とともにトレーニングデータから導出された他のヒストグラムと比較され、パッチのカテゴリに関する判定(テキストであるか否か)が、その判定の信頼度指標とともに出力される。ステップ816でのヒストグラム分類は、テキストのイメージから導出されるヒストグラムの一般的な出現度を考慮し、それは2つの密接なピークと、1つ又は2つの他の十分に小さなピークとともに行間の距離に集中したもの(それらのピークから離れたヒストグラムで整数倍高い)を含む。分類は、統計的なばらつきの指標とともにヒストグラムの形状を決定し、或いは、ヒストグラムを距離指標とともに格納済みのプロトタイプと1つ1つ比較してもよい(距離指標は、例えば、ハミング距離やユークリッド距離である。)。
図9を参照するに、テキスト/非テキストの判定例が示されている。入力イメージ910は、カラム数をサンプルするように処理され、そのサブセットが波線で示される。代表的なカラム912のグレースケールレベルが914に示される。Yの値は910でのグレースケールレベルであり、Xの値は910の行である。ヒストグラム中のピーク間で検出されるギャップが、916に示される。サンプルしたカラム全てからのギャップ値のヒストグラムが、918に示される。この例は、テキストを含むパッチから導出されたヒストグラムの形状を示す。
図10には、イメージパッチ中のテキストのポイントサイズを推定するフローチャートが示されている。このフローチャートは、イメージの不鮮明さ(blur)が、ページからの捕捉装置の距離に反比例することを考慮している。不鮮明度を推定することで、距離が推定され、その距離を使用して、イメージのオブジェクトのサイズを既知の「規格化された」大きさにスケーリングしてもよい。この振る舞いは、新たなイメージ中のテキストのピントサイズを推定するのに使用されてもよい。
トレーニング段階1010では、既知のフォント及びポイントサイズのテキストのパッチのイメージ(「校正」イメージとして言及される)が、ステップ1012で既知の距離で画像捕捉装置により取得される。そのイメージ内のテキストキャラクタの大きさ(画素数で表現される)が、ステップ1014で測定される。これは例えばマイクロソフトフォトエディタのような画像注釈ツールとともにマニュアルで実行してもよい。校正イメージの不鮮明さがステップ1016で推定される。これは例えば2次元高速フーリエ変換のスペクトルカットオフの既知の指標とともに実行されてもよい。これは多数の画素数を単位として表現されてもよい。
ステップ1024で「新たな」イメージがMMR認識システムにランタイムに与えられると、そのイメージはステップ1026で処理され、ライン分割及びキャラクタ分割の一般に知られている方法でテキストを特定し、その方法は、各キャラクタ周囲を包囲するボックスを生成する。これらのボックスの高さは画素数で表現されてもよい。新たな画像の不鮮明さは、ステップ1016でのものと同様な方法でステップ1028で推定される。これらの推定値はステップ1030で結合され、各キャラクタの(又は、等価的に各ラインの)ポイントサイズの第1推定値1032を生成する。これは、次の数式を計算することでなされてもよい:
(校正画像不鮮明サイズ/新規画像不鮮明サイズ)×
(新規画像テキスト高さ/構成画像テキスト高さ)×
(校正画像フォントサイズポイント数)
これは、校正画像中のテキストのポイントサイズをスケーリングし、入力画像パッチ中のテキストの推定されたポイントサイズを生成する。同じスケーリング機能が、キャラクタの包囲ボックス全ての高さに適用されてもよい。これは、パッチ中のキャラクタ全てについての判定をもたらす。例えば、パッチが50個のキャラクタを含んでいた場合、これはパッチ中のフォントのポイントサイズについて50票をもたらす。ポイントサイズについて1つの推定値が、票のメジアン(中央値)とともに導出されてもよい。
更に、図7を更に具体的に参照するに、1つ以上の実施例では、捕捉装置106への品質評価モジュール712のフィードバックが、捕捉装置106のユーザインターフェース(UI)に指示されていてもよい。例えば、そのフィードバックは、音又は振動の形式の指示を含み、その指示は、捕捉したイメージがテキストに見える何かを含んでいるが、それは不鮮明であること、そしてユーザは捕捉装置106を設置すべきであることを指示してもよい。フィードバックは或るコマンドを含み、そのコマンドは、捕捉装置106の光学パラメータを変更して捕捉画像の品質を改善してもよい。例えば、焦点、Fストップ、及び/又は露出時間調整され、捕捉画像の品質が改善されるようにしてもよい。
更に、捕捉装置106への品質評価モジュール712のフィードバックは、使用される特手の特徴抽出アルゴリズムのニーズに応じて特化されてもよい。後述されるように、特徴抽出はイメージをシンボリックな表現に変換する。ワード長を計算する認識システムでは、捕捉装置106の光学特性について、捕捉画像を不鮮明にすることが望ましいかもしれない。そのような調整は或る画像を形成するが、人又は光学文字認識(OCR)プロセスではおそらく認識されず、特徴抽出技法に十分相応しいことを当業者は留意するであろう。品質評価モジュール712は捕捉装置106に指示をフィードバックすることでそれを実行し、捕捉装置106はレンズの焦準をぼやけさせ、ぼけた画像を生成する。
フィードバックプロセスは制御構造714により修正される。一般に、制御構造714はデータ及びシンボリック情報(symbolic information)をドキュメントフィンガープリント照合システム610内の他のコンポーネントから受信する。制御構造714は、ドキュメントフィンガープリント照合システム610での様々な手順の実行順序を決定し、演算負荷を最適化することができる。制御構造714は受信したイメージパッチのx−y座標を特定する。より具体的には、制御構造714は、特徴抽出プロセスの必要性に関する情報と、品質評価モジュール712からの結果と、捕捉装置106のパラメータとを受信し、それらを適切になるように変えることができる。これはフレーム毎の形式で動的に実行可能である。複数の特徴抽出法を使用するシステムコンフィギュレーションでは、あるものがテキストの大きなパッチの不鮮明な画像を必要とし、別のものが紙の目に鮮明に焦点のあった高い解像度を必要とするかもしれない。その場合、制御構造714は品質評価モジュール712にコマンドを送信し、視界にテキストを含む場合、適切な画像品質をもたらすように指図する。品質評価モジュール712は捕捉装置106と相互作用し、正しいイメージを生成する(例えば、紙の目に鮮明に焦点のあった(高解像度の)M個の画像の後に、N個の不鮮明な画像の大きなパッチが続く。)。制御構造714は、パイプライン処理でそれらの画像処理の進行を追跡し、対応する特徴抽出および分類が適用されることを保証する。
画像処理モジュール716は認識システムのニーズに基づいて入力画像の品質を修正する。イメージ修正のタイプの具体例は、鮮明化すること、歪を正すこと(deskewing)及び2値化することである。そのようなアルゴリズムは、マスクサイズ、予測回転量及び閾値などのような調整可能な多くのパラメータを含む。
図7に示されるように、ドキュメントフィンガープリント照合システム610は、特徴抽出及び分類モジュール718,720(後述)からのフィードバックを用いて、画像処理モジュール716のパラメータを動的に修正する。これが機能するのは、ユーザは典型的には彼らの捕捉装置を書類の同じ場所で連続的に何秒かの間に指示するからである。例えば、捕捉装置106が毎秒30フレーム処理する場合、どのシーケンスでも最初の数フレームの処理結果は、後に捕捉されるフレームがどの程度処理されるかに影響する。
特徴抽出モジュール718は捕捉した画像をシンボリックな表現に変換する。一実施例では、特徴抽出モジュール718はワードを特定し、それらを囲むボックスを算出する。別の実施例では、特徴抽出モジュール718は、つながったコンポーネントを特定し、それらの形状に関する記述を用意する。更に、1つ以上の実施例では、ドキュメントフィンガープリント照合システム610は、特徴抽出結果に関するメタデータを制御構造714と共有し、そのメタデータを利用して、他のシステムコンポーネントのパラメータを調整する。これは、貧弱な品質データの認識を阻止することで、演算制約をかなり削減し、精度をかなり改善することを当業者は認識するであろう。例えば、ワード包囲ボックスを特定する特徴抽出モジュール718は、制御構造714に行数及び発見した「ワード」を通知する。ワード数が多すぎた場合(例えば、入力イメージが分割されることを示す場合)、制御構造714は品質評価モジュール712に不鮮明な画像を作成することを指示してもよい。そして品質評価モジュール712は適切な信号を捕捉装置106に送信する。或いは、制御構造714は、画像処理モジュール716にスムージングフィルタを適用するように指示してもよい。
分類モジュール720は、特徴抽出モジュール718からの特徴記述を、書類中の1以上のページの身元及びそれらのページ内のx、y座標(入力画像パッチが現れている場所)に変換する。その身元は上述したようにデータベース3400からのフィードバックに依存して形成される。更に、1つ以上の実施例では、信頼度の値が各判定に関連付けられてもよい。ドキュメントフィンガープリント照合システム610は、そのような判定を利用して、システム内の他のコンポーネントのパラメータを決定してもよい。例えば、上位2つの判定の信頼度が互いに近接していた場合、画像処理アルゴリズムのパラメータは変更されるべきことを、制御構造714は決定してもよい。これは、メジアンフィルタの範囲の大きさを増やし、結果のダウンストリームを残りのコンポーネントに運ぶことになる。
更に、図7に示されるように、分類モジュール720及びデータベース3400の間にフィードバックがあってもよい。更に、当業者は図6に示されるようにデータベース3400がモジュール610の外部にあってもよいことを思い出すであろう。パッチの身元に関する確認は、同様な外観を有する他のパッチを求めて、データベース3400に問い合わせるのに使用可能である。これは、入力画像パッチとデータベース3400との照合ではなく、データベース3400に格納されているパッチの完全な画像データと、データベース3400内の他の画像を比較する。これは、分類モジュール720の判定に関する追加的な確認レベルをもたらし、一致するデータの何らかの予備的処理を可能にする。
データベース比較は、イメージデータだけのもの以外のパッチについては、シンボリック表現でも実行可能である。例えば、最良の判定内容は、イメージパッチが、12ポイントのアリエル(Arial)フォントで1行置きであったとする。データベース比較は、同様なフォント、行間及びワードレイアウトの他の書類中のパッチを、イメージデータ比較以外のテキストメタデータだけを用いて特定できるかもしれない。
データベース3400はいくつかのタイプのコンテンツベースのクエリをサポートしてもよい。分類モジュール720はデータベース3400に或る特徴配置を伝達し、その配置が現れるx−y座標及び書類のリストを受信してもよい。例えば、特徴は縦横のワード長の三重文字(trigram)(後述)でもよい。データベース3400はクエリの何れかのタイプに応じて結果のリストを返すように組織されてもよい。分類モジュール720又は制御構造714は、それらのランキング(格付け)を結合し、1つのソートされた判定リストを生成してもよい。
データベース3400、分類モジュール720及び制御構造714の間にフィードバックが存在してもよい。特徴ベクトルから位置を特定するのに十分な情報を格納することに加えて、データベース3400は、図形成分に関するシンボリック表現だけでなく、書類の当初のイメージを含む関連情報を格納してもよい。これは、制御構造714が他のシステムコンポーネントの動作をその場で制御することを可能にする。例えば、所与の画像パッチについてもっともらしい2つの判定があった場合、データベース3400は、画像の表示に関して縮小すること及び領域右側を検査することでそれらを明確化するように指示してもよい。制御構造714は、縮小することを指示する適切なメッセージを捕捉装置106に送信する。特徴抽出モジュール718及び分類モジュール720は、書類に印刷される画像についてその画像の右側を調べる。
更に、パッチが書類の中に適切に位置している場合、データベース3400は画像パッチを包囲するデータについての詳細な情報を格納することに留意を要する。これは、従来では予想されていない更なるハードウエア及びソフトウエア画像分析ステップを引き起こすのに使用されてもよい。その詳細な情報は、一例として、書類の詳細なシンボリック記述を保存するプリント捕捉システムによって用意される。1つ以上の他の実施例では、同様な情報が書類をスキャンすることで取得されてもよい。
図7を更に参照するに、ポジショントラッキングモジュール724は、制御構造714から画像パッチの身元に関する情報を受信する。ポジショントラッキングモジュール724は、それを用いてデータベース3400から書類ページ全体のコピーを取り出す又は書類を記述するデータ構造を取り出す。ポジショントラッキングプロセスの開始に関する最初の場所は、アンカー(anchor)になる。ポジショントラッキングモジュール724は、品質評価モジュール712が捕捉画像はトラッキングに相応しいことを確認した場合、捕捉装置106からイメージデータを受け取る。ポジショントラッキングモジュール724は、最後のフレームが良好に認識されて以来経過した時間の情報も有する。ポジショントラッキングモジュール724は、捕捉装置106が連続的なフレームの間で動かされた場合、書類上で距離を推定するのを可能にする選択的なフロー処理技術を使用する。捕捉装置の所与のサンプリングレートの基で、装置の見るデータがたとえ認識可能でなかったとしても、その検索対象は推定可能である。捕捉装置106の推定位置は、画像データと、データベース書類から導出された関連する画像データとの比較により確認されてもよい。簡易な例は、捕捉された画像と、データベース3400の中の予想される画像との相互相関を計算することである。
こうして、ポジショントラッキングモジュール724は、データベース画像のインタラクティブな利用法をもたらし、ポジショントラッキングアルゴリズムの進行を案内する。これは、図形及び画像のようなテキストでないオブジェクトに対する電子相互作用のためのアタッチメントを可能にする。更に、1つ以上の他の実施例では、そのようなアタッチメントは、上述の画像比較/確認を行わずに実現されてもよい。言い換えれば、ページに関する捕捉装置106の瞬間的な動きを推定することで、捕捉画像に関係ない視野の中にある電子的なリンクが推定されてもよい。
図11は、本発明の別の実施例による書類のフィンガープリント照合法を示す。図11に示される「フィードフォワード」法は、パッチ各々を独立に処理する。この方法は、1つ以上のページ及びそのページでのx−y座標(パッチが現れる場所)を特定するのに使用される特徴を画像パッチから取り出す。例えば、1つ以上の実施例では、ドキュメントフィンガープリント照合用の特徴抽出は、捕捉される画像の特徴(例えば、ワード、キャラクタ、ブロック等)の水平方向の及び垂直方向のグループ化に依存してもよい。抽出された特徴のグループは、抽出された特徴を含む書類(及びその書類中のパッチ)を探すのに使用されてもよい。OCR機能は、捕捉した画像における水平方向のワード対を特定するのに使用されてもよい。特定された水平方向のワード対の各々は、データベース3400に対するサーチクエリを形成するのに使用され、そのサーチクエリは、特定された水平方向のワードペアを含む全ての書類及び書類中のワードペアのx−y座標を確認するためのものである。例えば、水平方向のワードペアが「その,猫」(“the,cat”)であった場合、データベース3400は(15,x,y),(20,x,y)を返し、水平方向のワードペア「その,猫」が書類15及び20のx−y座標に現れることを示す。同様に、垂直方向のワードペア各々について、データベース3400は、そのワードペアのインスタンスを含む全ての書類及び書類中のワードペアのx−y座標を探すように問い合わせられる。例えば、垂直方向(縦向き)に隣接するワードペア「中で,帽子」(“in,hat”)に関し、データベース3400は(15,x,y),(7,x,y)を返し、縦向きに隣接するワードペア「中で,帽子」は書類15,7のx−y座標に現れることを示す。こうして、データベース3400から返される書類及びロケーション情報を用いることで、捕捉画像から取り出された様々な水平方向ワードペア及び垂直方向ワードペアの間でどの書類が最大のロケーションオーバーラップを表したかに関する判定を行うことができる。これは、ホットスポット及びリンクされたメディアの存否が確認されることに応じて、捕捉された画像を含む書類を確認することになる。
図12は、本発明の別の実施例による書類のフィンガープリント照合法を示す。図12に示される「インタラクティブ画像分析」法は、画像処理及び特徴抽出の間での相互作用を含み、画像パッチが認識される前になされてもよい。例えば、画像処理モジュール716は、入力画像の不鮮明さを先ず推定してもよい。そして、特徴抽出モジュール718は、画像テキストのページからの距離及びポイントサイズを算出する。そして、画像処理モジュール716は、そのポイントサイズのフォントのキャラクタを利用して、その画像に関してテンプレート照合ステップを実行してもよい。その後、特徴抽出モジュール718はその実行結果からキャラクタ又はワード特徴を取り出してもよい。更に、フォント、ポイントサイズ及び特徴は、書類データベース3400の中でそのフォントにより拘束されることを当業者は認識するであろう。
図13には、図12に関して上述したようなインタラクティブ画像分析の例が示されている。入力画像パッチは、カメラからの距離だけでなく画像パッチ内のテキストのフォント及びポイントサイズをも推定するようにステップ1310で処理される。フォントの推定(即ち、パッチ内のテキストのフォントの候補の特定)は、既知の技術でなされてもよいことに当業者は留意するであろう。ポイントサイズ及び距離推定は、例えば、図10に関して説明されたフロープロセスを用いることで実行されてもよい。更に、捕捉装置に容易に適用可能な既知の焦点距離法等のような他の技術が使用されてもよい。
図13を更に参照するに、ライン分割アルゴリズムがステップ1312で適用され、パッチの中のテキストのライン周囲を包囲するボックスを構築する。各ライン画像の高さは、プロポーショナルスケーリングのような既知の方法を用いて、ステップ1314で固定サイズに規格化される。フォントサイズだけでなく、画像内で検出されたフォントの身元は、フォントプロトタイプの集まり(コレクション)に伝達され、それらは、指名されたフォント各々でキャラクタの画像プロトタイプを取り出すのに使用される。
フォントデータベース1322は、ユーザのシステムにおけるフォントコレクションから構築されてもよく、ユーザのシステムは、書類を印刷するためのオペレーティングシステム及び他のソフトウエアアプリケーションによって使用される(例えば、マイクロソフトウインドウズのラスターフォント、TrueType、OpenType等である。)。1つ以上の他の実施例では、フォントコレクションは、データベース3400内の書類の当初の画像から生成されてもよい。データベース3400のxmlファイルは、ボックスを包囲するx−y座標を用意し、当初の画像からキャラクタの正確なプロトタイプ画像を抽出するのに使用されてもよい。Xmlファイルは、フォントの名称及びキャクタのフォントサイズを正確に特定する。
選択されたフォントにおけるキャラクタプロトタイプは、ステップ1314で使用されたパラメータの機能に基づいて、ステップ1320で規格化されたサイズである。ステップ1316での画像分類は、ステップ1320で出力された規格化されたサイズのキャラクタと、ステップ1314での出力とを比較し、画像パッチ内のx−y座標各々での判定を行う。既存の画像テンプレート照合法が、(ci,xi,yi,wi,hi)のような出力を生成するのに使用され、ここでciはキャラクタの身元であり、(xi,yi)はボックスを包囲する左上隅の座標であり、hi,wiはその高さ及び幅であり、i=1,...,nは画像パッチ内で検出されたキャラクタを指す。
ステップ1318では、幾何学的制約データベースでの探索が上述したように実行されるが、この場合、ワードペアの代わりにキャラクタペアについて特化されてもよい。その場合、“a-b”は、a及びbが水平方向に隣接していることを示し;“a+b”は、それらが垂直方向に隣接していることを示し;“a/b”は、aがbの南西にあることを示し;“a\b”は、aがbの南東にあることを示す。幾何学的位置関係は、キャラクタの各ペアのxi,yiの値から導出されてもよい。MMRデータベース3400は、それが書類ページのリストを返すように組織され、その書類ページはワードペアでなくキャラクタペアを含むものである。ステップ1326デの出力は、スコアで格付けされたn組として表現される入力画像に一致する候補のリストである(documenti,pagei,xi,yi,actioni,scorei)。
図14は、本発明の別の実施例による書類のフィンガープリント照合法を示す。図14に示される「生成及び検査」法は、各パッチを独立に処理する。その方法は、所与の画像パッチを含むかもしれない画像ページ数を特定するのに使用される特徴を画像パッチから取り出す。更に、1つ以上の実施例では、追加的な抽出及び分類ステップが実行され、ページが画像パッチを含む尤度で各ページをランキングしてもよい。
図14を参照しながら説明される「生成及び検査」法を更に参照するに、捕捉される画像の特徴は抽出され、それら抽出された特徴のほとんどを含むデータベース3400中の画像パッチが特定されてもよい。最も一致する特徴を伴う最初のX個の書類パッチ(候補)が、更に処理される。このプロセスでは、一致する書類パッチ候補中の特徴の相対的な位置が、目下対象の画像の特徴の相対的な場所と比較される。その比較に基づいて或るスコアが算出される。そして、最も一致する書類パッチPに対応する最高スコアが確認される。最高スコアが適用される閾値より大きかった場合、その書類パッチPは問われているイメージに合致するものとして見出される。閾値は(例えば抽出された特徴数を含む)多くのパラメータに対して適応的である。データベース3400では、書類パッチPがどこから来たかが分かり、問われている画像が、その場所から来ているものとして確認される。
図15は、ワード境界ボックス判定アルゴリズムの例を示す。回転量を正す画像処理後の入力画像パッチ1510が示されている。スキュー補正アルゴリズムとして一般に知られているように、この種の技術はテキスト画像を回転させ、テキスト画像が水平軸に揃うようにする。境界ボックス判定の次のステップは、水平投影プロファイル(平面図特性)(1512)の算出である。行判定用の閾値は、既知の適応的な閾値法により又はスライディングウインドウアルゴリズムにより選択され(1516)、それらの方法では「閾値を越える」領域はテキストの行に対応する。各行内の領域は、1514及び1518と同様に抽出及び処理され、行の中でワードを表す閾値を超える領域を特定する。テキストの或る行の中で検出された境界ボックスの例が、1520で示されている。
様々な特徴が書類パッチ候補との比較用に取り出されてもよい。例えば、スケールインバリアントフィーチャートランスフォーム(SIFT)特性、コーナー特性、突出点、アセンダー(ascender)、ディセンダー、ワード境界及びスペース等が照合用に抽出されてもよい。書類画像から容易に抽出可能な特徴の1つは、ワード境界である。ワード境界が抽出されると、それらは図16に示されるように複数のグループに形成される。図16では、例えば、ワード境界が、重なるワード境界を上にも下にも有し、且つ重なるワード境界の総数が少なくとも3であるように、縦のグループが形成される(重なるワード境界の最小数は、1つ以上の他の実施例で異なってもよいことに留意を要する。)。例えば、第1の特徴点(第2行中の2番目のワードボックスで長さが6のもの)は、上に2つのワード境界を有し(それらの長さは5及び7である)、下に1つのワード境界を有する(その長さは5である)。第2特徴点(第3行中の4番目のワードボックスであり、長さが5のもの)は、上に2つのワード境界を有し(それらの長さは4及び5である)、下に2つのワード境界を有する(それらの長さは8及び7である)。従って、図16に示されるように、図示の特徴は、上のワード境界の長さに続き、下のワード境界の長さに続く中間のワード境界の長さとともに表現される。更に、ワードボックスの長さは、如何なるメトリックに基づいてもよいことに留意を要する。従って、いくつかのワードボックスについて別の長さを用意することもできる。その場合、それらの代替物の全部又は一部を含む特徴が、抽出されてもよい。
更に、1つ以上の実施例では、スペースが0で表現され且つワード領域が1で表現されるように特徴が抽出されてもよい。図17には具体例が示されている。右側のブロック表現は、左側の書類パッチのワード/スペース領域に対応する。
抽出された特徴は、様々な距離指標(例えば、ノルムやハミング距離を含む)と比較されてもよい。或いは、1つ以上の実施例では、問い合わせのイメージ(クエリイメージ)と同じ特徴を有する書類パッチを特定するためにハッシュテーブルが使用されてもよい。そのようなパッチがいったん特定されると、各特徴点から他の特徴点への角度が図18に示されるように算出されてもよい。或いは、特徴点のグループ間の角度が算出されてもよい。1802は、3つの特徴点から計算された角度1803,1804,1805を表す。算出された角度は、クエリイメージでの特徴点各々から他の特徴点への角度と比較される。照合する特徴点の何らかの角度が似ていた場合、類似スコアが増やされてもよい。或いは、角度のグループが使用される場合であって、2つのイメージの中で特徴点の同様なグループ間の角度のグループが数値的に同様であった場合、類似スコアが増やされてもよい。クエリイメージ及び抽出された各書類パッチ間のスコアが一旦算出されると、最高のスコアをもたらす書類パッチが選択され、適応的な閾値と比較され、その一致度が或る所定の基準に合うか否かを確認する。その基準に合っていた場合、一致する書類パッチが発見されたものとして通知される。
更に、1つ以上の実施例では、抽出された特徴はワード長に基づいてもよい。ワードの高さ及び幅に基づいて各ワードが推定文字(複数)に分割される。所与のワード上下のワードラインがスキャンされると、上下のワードライン中のスペース情報に応じて、推定文字各々に2進値が割り当てられる。そして、2進コードは整数で表現される。例えば、図19を参照するに、ワードボックスの配列が示され、各ワードボックスは、捕捉されたイメージの中で検出されたワードを表現する。ワード1910は推定文字に分割される。この特徴は、(i)ワード1910の長さ、(ii)ワード1910の上の行のテキスト配列及び(iii)ワード1910の下の行のテキスト配列とともに記述される。ワード1910の長さは、推定文字の数で測定される。テキスト配列情報は、目下の推定文字の上下のスペース情報の2進コードから引き出される。ワード1910の場合、最後の推定文字だけがスペースの上にあり、第2及び第3の推定文字はスペースの下にある。従って、ワード1910の特徴は、(6,100111,111110)としてコード化され、ここで、0はスペースを意味し、1はスペースでないことを意味する。整数形式で書き直すと、ワード1910は(6,39,62)にコード化される。
図20は、本発明の別の実施例による書類のフィンガープリント照合法を示す。図20に示される「複数分類(multiple classification)」法は、様々な特徴記述の相補的な情報を分類し、その結果を結合することで、それらの情報を活用する。テキストパッチ照合に適用されるこのパラダイムの具体例は、横に及び縦に隣接するワードペアの長さを抽出し、データベース中のパッチのランキングを個々に計算することである。より具体的には、例えば、1つ以上の実施例において、分類モジュール720とともに「分類子」アテンダントによって、特徴のロケーションが確認される。捕捉されたイメージの縦横の特徴の分類子の結合を利用して、捕捉されたイメージはフィンガープリント照合に委ねられる。これは、テキストのイメージは、その身元に関して2つの独立したソースを含み−ワードの横並びに加えて、縦方向のワードのレイアウトが書類を特定するのに使用可能である(その書類はイメージの抽出元である)、という観点から実行される。例えば、図21に示されるように、捕捉イメージ2110は、水平分類子2112及び垂直分類子2114によって分類される。捕捉イメージを入力することに加えて、分類子2112,2114各々は、データベース3400から情報を取り出し、各分類子を適用した書類ページのランキングを出力する。言い換えれば、図21に示される複数分類子法は、水平及び垂直方向の特徴を利用して捕捉イメージを独立に分類する。書類ページのランキングされたリスト(複数)は、結合アルゴリズム2118により結合され(具体例については後述される)、書類ページのランキングされたリスト(単数)を出力し、そのリストは、捕捉イメージ2110の水平及び垂直方向の特徴双方に基づく。特に、1つ以上の実施例では、水平分類子2112及び垂直分類子2114からの別々のランキングは、ある情報(検出された特徴がデータベース3400の中でどのように共に現れるかについての情報)を用いて結合される。
図22を参照するに、特徴抽出に備えて縦のレイアウトが横のレイアウトとどのように統合されるかについての具体例が示されている。(a)では、ワード分割と共に捕捉イメージ2200が示されている。その捕捉イメージから、水平及び垂直の「nグラム(n-gram)」が決定される。「nグラム」は、ある特徴の量を記述する数n個のシーケンスである。例えば、水平方向のトリグラム(trigram)は、3つのワードの水平方向シーケンス中の各ワード内のキャラクタ数を指定する。例えば、捕捉イメージ2200の場合、(b)は、5-8-7(捕捉イメージ2200の第1行にある横に並んだワード“upper”,“division”及び“courses”各々のキャラクタ数)、7-3-5(捕捉イメージ2200の第2行にある横に並んだワード“Project”,“has”及び“begun”各々のキャラクタ数)、3-5-3(捕捉イメージ2200の第2行にある横に並んだワード“has”,“begun”及び“The”各々のキャラクタ数)、3-3-6(捕捉イメージ2200の第3行にある横に並んだワード“461”,“and”及び“permit”各々のキャラクタ数)及び3-6-8(捕捉イメージ2200の第3行にある横に並んだワード“and”,“permit”及び“projects”各々のキャラクタ数)の水平トリグラムを示す。
縦方向のトリグラムは、所与のワード上下の縦並びのワード各々のキャラクタ数を指定する。例えば、捕捉イメージ2200の場合、(c)は、5-7-3(縦並びのワード“upper”,“Project”及び“461”各々のキャラクタ数)、8-7-3(縦並びのワード“division”,“Project”及び“461”各々のキャラクタ数)、8-3-3(縦並びのワード“division”,“has”及び“and”各々のキャラクタ数)、8-3-6(縦並びのワード“division”,“has”及び“permit”各々のキャラクタ数)、8-5-6(縦並びのワード“division”,“begun”及び“permit”各々のキャラクタ数)、8-5-8(縦並びのワード“division”,“begun”及び“projects”各々のキャラクタ数)、7-5-6(縦並びのワード“courses”,“begun”及び“permit”各々のキャラクタ数)、7-5-8(縦並びのワード“courses”,“begun”及び“projects”各々のキャラクタ数)、7-3-8(縦並びのワード“courses”,“The”及び“projects”各々のキャラクタ数)、7-3-7(縦並びのワード“Project”,“461”及び“student”各々のキャラクタ数)及び3-3-7(縦並びのワード“has”,“and”及び“student”各々のキャラクタ数)の垂直トリグラムを示す。
図22に示される捕捉イメージ2200から決定された水平及び垂直トリグラムに基づいて、書類のリスト(d)及び(e)が生成され、水平及び垂直トリグラム各々を含む書類を示す。例えば、(d)の場合、水平トリグラム7-3-5は書類15,22,134に現れる。更に、例えば、(e)の場合、垂直トリグラム7-5-6は書類15,17に現れる。書類リスト(d),(e)を用いて、参照される書類全てのランキングされたリストが(f)及び(g)にそれぞれ示される。例えば、(f)の場合、書類15は(d)の中で5つの水平トリグラムによって参照されているが、書類9は(d)の中で1つのトリグラムでしか参照されていない。更に、例えば、(g)の場合、書類15は(e)の中で11個の垂直トリグラムで参照されているが、書類18は(e)の中で1つの垂直トリグラムによってしか参照されていない。
図23を参照するに、図22を参照しながら説明された水平及び垂直トリグラム情報を結合する方法が示されている。この方法は、オリジナルの印刷ページにおけるトリグラムの既知の物理的なロケーションに関する情報を利用して、水平及び垂直特徴抽出からの投票のリストを結合する。水平及び垂直分類子各々によって出力される上位M個の選択肢の中で共通する全書類に関し、書類に投票された水平トリグラム全部のロケーションが、その書類について投票された垂直トリグラム全部のロケーションと比較される。どの垂直トリグラムにも重複する書類は、水平トリグラム数に等しい投票数を受け取り、この場合において、2つのトリグラムの境界ボックスが重なる場合に、「重複(オーバーラップ)」が生じる。更に、重複の中心のx−y座標は、図34の3406に関して後述される適切に修正されたバージョンの証拠蓄積アルゴリズムによりカウントされる。例えば、図23に示されるように、(a)及び(b)のリスト(図22ではそれぞれ(f)及び(g)である)は分割され、水平及び垂直トリグラム双方で参照されるページのリスト(c)を特定する。分割されたリスト(c)、リスト(d)及び(e)(指定されたトリグラムによって参照される、分けられた書類のみを示す)、並びに印刷書類データベース3400を利用して、書類のオーバーラップが確認される。例えば、書類6は水平トリグラム3-5-3により及び垂直トリグラム8-3-6により参照され、これら2つのトリグラムは、捕捉イメージ2200の中のワード“has”に関してオーバーラップし、従って書類6はその1つのオーバーラップにつき1票を獲得する。(f)に示されるように、特定の捕捉イメージ2200の場合、書類15は最大の投票数を獲得し、捕捉イメージ2200を含む書類として確認される。(x1,y1)は書類15の中での入力イメージの場所として確認される。図22,23を参照しながら上述したドキュメントフィンガープリント照合法では、要するに、水平分類子はテキスト中のワードの水平配列から導出された特徴を使用し、垂直分類子はワードの垂直配列から導出された特徴を使用し、その結果が、オリジナルドキュメントでの特徴のオーバーラップに基づいて結合される。そのような特徴抽出は、特徴抽出による水平方向の特徴を適切な文法及び言語の制約に委ねる一方、垂直方向の特徴をそのような制約には委ねずに、書類を一意に特定する仕組みをもたらす。
更に、図22,23に関する説明は特にトリグラムを利用していたが、水平及び垂直の特徴抽出/分類の一方又は双方に如何なるnグラムが使用されてもよい。例えば、1つ以上の実施例で、垂直及び水平のnグラム(n=4)が、マルチ分類子特徴抽出に使用されてもよい。1つ以上の他の実施例では、水平分類子がnグラム(n=3)に基づいて特徴を抽出し、垂直分類子がnグラム(n=5)に基づいて特徴を抽出してもよい。
更に、1つ以上の実施例において、厳密には垂直でない又は水平でない隣接関係に基づいて、分類がなされてもよい。例えば、NW,SW,SW,SEの隣接関係が抽出/分類に使用されてもよい。
図24は、本発明の別の実施例による書類のフィンガープリント照合例を示す。入力に合致するかもしれない書類の画像を使用し、画像分析の以後のステップ(初期の画像からのサブイメージが入力イメージと照合される)を決定することで、書類画像照合システムの精度は向上する、ということを図24に示される「データベースドリブンフィードバック」法では考慮に入れる。本方法は、入力イメージにあるノイズを複製するという変換を含む。その後にテンプレート照合分析が続く。
図25は、本発明の一実施例によるデータベースドリブンフィードバックのプロセスフローを示す。入力イメージパッチは上述のステップ2510,2512で先ず処理及び認識され(例えば、ワードOCR及びワードペアルックアップ、キャラクタOCR及びキャラクタペアルックアップ、ワード境界ボックスコンフィギュレーションなどを使用する)、イメージパッチ2522の身元の多数の候補を生成する。このリストの中の各候補は、次の項目(doci,pagei,xi,yi)を含み、dociは書類の識別子であり、pageiは書類中のページであり、(xi,yi)はそのページの中のイメージパッチの中心のx−y座標である。
ステップ2512での初期パッチ抽出アルゴリズムは、ページからの距離の情報を利用して入力イメージパッチ全体のサイズを固定サイズに選択的に規格化し、既知の空間分解能(例えば、100dpi)に変換することを保証する。上述のフォントサイズ推定アルゴリズムが、このタスクに適用されてもよい。同様に、フォーカスからの既知の距離又はフォーカスからの深さ等が使用されてもよい。サイズの規格化は、各ワード包囲ボックスの高さに基づいてイメージパッチを線形にスケーリングすることができる。
初期パッチ抽出アルゴリズムは、識別子と共にMMRデータベース3400に問い合わせ、各書類及びページを探し、MMRデータベースが生成するパッチの包囲ボックスの中心と共にそれを受け取る。生成されるパッチの範囲は、規格化された入力パッチのサイズに依存する。このような方法では、同じ空間分解能及び寸法のパッチが取得される。例えば、100dpiに規格化されている場合、入力パッチはその中心の各側に50ピクセルずつ広がる。この場合、MMRデータベースは、指定されたx−yの値を中心とする100画素の高さ及び幅の100dpiの初期パッチを生成するように指示する。
MMRデータベースから返された初期イメージパッチ(2524)の各々は、次の項目(doci,pagei,xi,yi,widthi,heighti,actioni)に関連付けられ、(doci,pagei,xei,yi)は上述のものであり、widthi及びheightiは初期パッチの幅及び高さ(画素数)であり、actioniは或る選択的動作であり、データベース中のdociのエントリ中の対応する領域に関連付けられる。初期パッチ抽出アルゴリズムは、イメージパッチのリスト及びデータを、構成される規格化された入力パッチのサイズと共に出力する(2518)。
更に、1つ以上の実施例では、パッチ照合アルゴリズム(2516)は、規格化されたサイズの入力パッチと初期パッチ各々とを比較し、それらが互いにどの程度よく合致するかを測るスコアを割り当てる(2520)。パッチのサイズが互いに匹敵することを保証するメカニズムに起因して、ハミング距離に関する簡易な相互相関は多くの場合に十分であることを当業者は理解するであろう。更に、このプロセスは、初期パッチにノイズを導入することを含み、入力で検出された画像ノイズを模擬する。比較は代替的に複雑化してよく、如何なる特徴群の比較を含んでもよく、その特徴群は、キャラクタ、キャラクタ対又はワード対の数に基づく2パターンのOCR結果及びランキングを含み、それらの対は、上述の幾何学的位置関係から構築可能である。しかしながら、この場合、入力パッチ及び初期パッチ間に共通する幾何学的な対の数は、ランキングメトリックとして推定及び使用されてもよい。
更に、出力2520はn組の形式(doci,pagei,xi,yi,actioni,scorei)でもよく、そのスコアは、パッチ照合アルゴリズムにより用意され、入力パッチがdoci,pageiの対応する領域にどの程度よく合致しているかを測る。
図26は、本発明の別の実施例による書類のフィンガープリント照合例を示す。図26に示される「データベースドリブン分類子」法は、入力イメージを含むかもしれない候補群を生成するために初期分類子を使用する。これらの候補はデータベース3400内で探され、特徴抽出プラス分類法がそれらの候補について自動的にデザインされる。一例は、タイムス(Times)又はアリエル(Arial)フォントを含むような入力パッチを特定することである。この場合、制御構造714は、セリフ/サンセリフ(serif/san serif)の識別に特化した特徴抽出器及び分類子を起動する。
図27は、本発明の一実施例によるデータベースドリブンクラシフィケーションのフローチャートを示す。第1の特徴抽出2710に続いて、入力イメージパッチは、上述の何らかの1つ以上の認識法によって分類され(2712)、書類のランキング、ページ及びページ内のx−y座標を生成する。このリスト中の各候補は、例えば、次の項目(doci,pagei,xi,yi)を含み、dociは書類の識別子であり、pageiは書類中のページであり、(xi,yi)はそのページ内のイメージパッチの中心のx−y座標である。図25を参照しながら説明された初期パッチ抽出アルゴリズム2714を利用して、各候補についてパッチイメージを生成してもよい。
図27を更に参照するに、第2の特徴抽出が初期パッチに適用される(2716)。これは第1の特徴抽出とは異なり、例えば、フォント検出アルゴリズム、キャラクタ認識技法、境界ボックス及びSIEF特徴等の1つ以上を含んでもよい。初期パッチ各々で検出された特徴は、自動分類子設計法2720への入力になり、例えば、ニューラルネットワーク、サポートベクトルマシン及び/又は最近接分類子を含む(それらは、未知のサンプルを初期パッチの1つとして分類するようデザインされる)。同じ第2の特徴抽出が入力イメージパッチに適用され(2718)、検出された特徴は、新たに設計された分類子への入力になり、その初期パッチに特化したものになる。
出力2724はn組の形式(doci,pagei,xi,yi,actioni,scorei)でもよく、スコア(score)は2720で自動的に設計される分類法(2722)により用意される。そのスコアは、入力パッチがdoci,pageiの対応する領域とどの程度合っているかを測るものであることを当業者は理解するであろう。
図28は、本発明の別の実施例による書類のフィンガープリント照合例を示す。図28に示される「データベースドリブン複数分類子」法は、判定プロセス全体を通じて複数の候補を使用することで、認識プロセス初期での復元不可能なエラーの可能性を減らす。いくつかの初期分類が実行される。各々は、入力パッチの異なるランキングを生成し、そのランキングは、様々な特徴抽出及び分類によって識別可能である。例えば、これらの群中の1つは、水平方向のn組によって生成され、そして、サン−セリフによるセリフを識別することで一意に認識される。他の具体例は、垂直方向のn組により生成され、行間の正確な計算から一意に認識される。
図29は、本発明の一実施例によるデータベースドリブン多重分類のフローチャートを示す。このフロープロセスは図27に示されるものに似ているが、複数の異なる特徴抽出アルゴリズム2910,2912を使用し、分類2914,2916と共に入力イメージパッチの独立したランキングを生成する点で異なる。特徴及び分類法の例は、上述の水平及び垂直のワード長のnグラムを使用する。各分類子は少なくとも以下の項目(doci,pagei,xi,yi,scorei)を含むパッチ身元のランク付けされたリストを各候補について生成し、pageiは書類中のページであり、(xi,yi)はそのページ内の画像パッチ中心のx−y座標であり、scoreiは、入力パッチが、データベース書類中の対応するロケーションとどの程度よく合っているかを測る。
図25に関する上述の初期パッチ抽出アルゴリズムは、2914,2916の出力でのパッチ識別子のリスト中のエントリに対応する初期イメージパッチ群を生成するのに使用されてもよい。第3及び第4の特徴抽出2918,2920は、図27で説明したように自動的に設計及び適用された初期パッチ及び分類子に適用される。
図29を更に参照するに、これらの分類子から生成されたランキングは結合され、候補番号i=1,...についてエントリ(doci,pagei,xi,yi,actioni,scorei)と共に1つのランキングを生成し(2924)、各エントリ中の値は上述の通りである。ランキング結合2922は、例えば、既知のボルダカウント指標(Borda count measure)を用いて実行されてもよく、その指標は、2つのランキングでの共通する位置に基づいてアイテムにスコアを割り当てるものである。これは、個々の分類により割り当てられたスコアと結合され、複合的なスコアを生成する。更に、当業者はランキング結合の他の方法が使用されてよいことに留意するであろう。
図30は、本発明の別の実施例による書類のフィンガープリント照合例を示す。図30に示される「ビデオシーケンスイメージ蓄積」法は、近くの又は隣接するフレームからのデータを統合することで或る画像(イメージ)を構築する。一例は、「超解像度(super resolution)を含む。これは、N個の一時的に隣接するフレームを登録し、レンズの点広がり関数(point spread function)を利用して、本質的にはサブピクセルエッジ強調であるものを実行する。その効果は、イメージの空間的解像度を増やす。更に、1つ以上の実施例では、超解像度法は、ホール、コーナー及びドットのような文字固有の特徴を強調するように特化されてもよい。別の拡張法は、データベース3400から判定されるような候補イメージパッチの特徴を利用して、超解像度統合機能を特化することである。
図31は、本発明の別の実施例による書類のフィンガープリント照合例を示す。図31に示される「ビデオシーケンス特徴蓄積」法は、判定を行う前に、多数の一時的に隣接するフレームに渡って特徴を蓄積する。これは、捕捉装置の速いサンプリングレート(例えば、毎秒30フレーム)及びユーザの意向を利用し、少なくとも何秒かの間書類の同じ点に捕捉装置を指示し続けるようにする。特徴抽出は各フレームで独立して実行され、その結果(複数)は結合され、1つの統合された特徴マップを生成する。結合プロセスは、間接的な(implicit)登録ステップを含む。この方法のニーズは、テキストパッチのビデオクリップを検査する際に直ぐに明らかになる。一般的な捕捉装置でのオートフォーカス及びコントラスト調整は、隣接するビデオフレームでかなり異なる結果をもたらすかもしれない。
図32は、本発明の別の実施例による書類のフィンガープリント照合例を示す。図32に示される「ビデオシーケンス判定結合」法は、多数の一時的に隣接するフレームからの判定を結合する。これは、一般的な捕捉装置の速いサンプリングレート及びユーザの意向を利用し、少なくとも何秒かの間捕捉装置を書類上の同じ地点に指示するようにする。各フレームは独立に処理され、それ自身のランキングされた判定リストを生成する。これらの判定は、入力画像群の1つの統合されたランキングを生成するように結合される。この方法は、判定結合プロセスを制御する間接的な登録法を含む。
1つ以上の実施例では、図6−32に関連して上述した様々なドキュメントフィンガープリント照合法の1つ以上は、1つ以上の既知の照合法と組み合わせて使用されてもよい(例えば、そのような結合は、「マルチ−ティア(又は、マルチ−ファクタ)認定」として本願で言及される。)。一般に、マルチ−ティア認定では、特定の基準を満たすページ群を書類データベース内で特定するために第1の照合法が使用され、その後に第2の照合法が使用され、その群中のページの中から1つのパッチを一意に特定する。
図33は、本発明の一実施例によるマルチティア認識のフローチャートを示す。始めに、ステップ3310で捕捉装置106が使用され、関心のある書類上で「選別(culling)」特徴を捕捉/スキャンする。選別特徴は如何なる特徴でもよく、選別特徴の捕捉は、書類データベース内の一群の書類を実際上選択することになる。例えば、選別特徴は、数字のみのバーコード(例えば、ユニバーサル製品コード(UPC))、英数字バーコード(例えば、コード39、コード93、コード128)又は2次元バーコード(例えば、QRコード、PDF417、DataMatrix、Maxicode)等でもよい。更に、選別特徴は、例えば、図形、画像、トレードマーク、ロゴ、特定の色又は色の組み合わせ、キーワード、又はフレーズ等でもよい。更に、1つ以上の実施例では、選別特徴は、捕捉装置106による認識に相応しい特徴に制限されてもよい。
ステップ3312では、選別特徴が一旦ステップ3310で捕捉されると、書類データベース内の一群の書類及び/又は書類のページが、捕捉された選別特徴に関連して選択される。例えば、捕捉された選別特徴が企業のロゴであった場合、そのロゴを含むように索引付けされているデータベース中の全ての書類が選択される。別の例では、データベースは、捕捉された選別画像と比較されるトレードマークのライブラリを含んでもよい。ライブラリの中で「ヒット」があった場合、ヒットしたトレードマークに関連する全ての書類が、以下に説明される以後の照合に備えて選択される。更に、1つ以上の実施例では、ステップ3312での書類/ページの選択は、走査された書類上で捕捉された選別特徴及びその選別特徴の場所に依存してよい。例えば、捕捉された選別特徴に関連する情報は、選別画像が、書類の左下隅でなく、書類の右上隅にあるか否かを特定してもよい。
更に、特定の捕捉画像が選別特徴の画像を含んでいることの確認は、捕捉装置106によりなされてもよいし、或いは捕捉装置106から未処理のイメージデータを受信する他の何らかのコンポーネントによりなされてもよいことを、当業者は留意するであろう。例えば、捕捉装置106から伝送された特定の捕捉画像が選別特徴を含んでいることを、捕捉した選別特徴に関連する書類群をデータベースが選択したことに応答して、データベース自身が判定してもよい。
ステップ3314では、書類の特定の群がステップ3312で選択された後、捕捉装置106はスキャンし続け、そして関心のある書類の画像を捕捉する。図6−32に関連して説明された様々なドキュメントフィンガープリント照合法の1つ以上を利用して、書類の捕捉画像は、ステップ3312で選択された書類と照合される。例えば、ステップ3310で関心のある書類上で靴の図形画像を捕捉したことに基づいて、靴の図形の選別特徴を含むようにインデックスされた書類群が、ステップ3312で選択された後、関心のある書類の以後捕捉された画像は、上述の複数の分類子を利用して選択された書類群と照合されてもよい。
そして、図33に関連して上述したマルチティア認定フロープロセスを実行し、パッチ認定時間は、以後捕捉される画像と照合されるページ/書類数を始めに削減することで、減らされる。更に、ユーザは、あるロケーション上で書類を先ずスキャンすることでそのように改善された認定時間の恩恵を受けてもよい(そのロケーションには、画像、バーコード、図形その他の選別特徴が存在する。)。そのような動作を行うことで、以後捕捉される画像と照合される書類数をユーザは速やかに減らしてもよい。
MMRデータベースシステム
図34Aは、本発明の一実施例により構築されたMMRデータベースシステム3400の機能ブロック図を示す。システム3400はコンテンツベースの抽出用に構築され、オブジェクト間の2次元の幾何学的位置関係が、テキストベースのインデックスで(又は、他の何らかの探索可能なインデックスで)探索可能な方法で表現される。システム3400は、証拠蓄積法(evidence accumulation)を利用し、例えば、特徴の出現頻度と2次元領域内のロケーションの尤度とを結合することで検索効率を強化する。ある特定の実施例では、データベースシステム3400は(PDインデックス322を含む)書類イベントデータベース320の詳細な実施例であり、そのコンテンツは、図3に関連して上述した捕捉モジュール318及び/又はドキュメントフィンガープリント照合モジュール226によって生成された印刷書類の電子表現を含む。システム3400に関する他のアプリケーション及びコンフィギュレーションは、本願の開示内容から明らかになるであろう。
図示されているように、データベースシステム3400はMMRインデックステーブルモジュール3404(MMR特徴抽出モジュール3402により算出された記述を受信する)と、証拠蓄積モジュール3406と、リレーショナルデータベース3408(又は、何らかの適切な他のストレージ手段)とを含む。インデックステーブルモジュール3404は、インデックステーブルに問い合わせを行い、インデックステーブルは、各特徴が現れるページのx−y座標、ページ及び書類を特定する。インデックステーブルは、例えば、MMRインデックステーブルモジュール3404又は他の専用モジュールにより生成可能である。証拠蓄積モジュール3406は、インデックステーブルモジュール3404からのデータの基で、書類、ページ及びロケーション候補3410のランク付けされた群を計算するようにプログラムされる又は構築される。リレーショナルデータベース3408は、各パッチについての付加的な特徴3412を格納するよう使用可能である。限定ではないが、これらは図5の504,508を含む。パッチについてシグネチャ又はフィンガープリント(即ち、固有のサーチターム(search term))を導出する際に、パッチ内でテキストの2次元配列を利用することで、テキストの小さな部分でさえその一意性が大幅に増える。他の実施例は、パッチのシグネチャ又はフィンガープリントを導出する際に、パッチ内でオブジェクト/特徴の何らかの2次元配列を同様に利用することができ、本発明の実施例は、パッチを一意に特定するテキストの2次元配列に限定するようには意図されない。図34Aに示されるデータベースシステム3400の他のコンポーネント及び機能は、フィードバック指向の特徴サーチモジュール3418、書類変換アプリケーションモジュール3414及びサブイメージ抽出モジュール3416を含む。これらのコンポーネントは、システム3400の他のコンポーネントと相互作用し、動的に初期イメージを生成することに加えて、フィードバック指向の特徴探索を行う。更に、システム3400は、アクションを受けるアクションプロセッサ3413を含む。そのアクションは、データベースシステム34002より実行されるアクション及びそれが提供する出力を判定する。これらの他のコンポーネントの各々が以下に説明される。
図34Bには、パッチ内のテキストの2次元配列を利用するMMR特徴抽出モジュール3402の例が示されている。そのような1つの例では、MMR特徴抽出モジュール3402は、OCRベースの技術を利用して、画像パッチから特徴(テキスト又は他の検索対象特徴)を抽出するようにプログラムされる又は構築される。この特定の実施例では、特徴抽出モジュール3402は、テキストのパッチの画像内のワードのx−y座標(ロケーション)を抽出し、そのロケーションを、それを含む水平に及び垂直に隣接するワードペア群として表現する。画像パッチは、それらが水平に隣接する場合は“−”が付与され(例えば、the-cat, in-the, the-hat, is-back)、それらが垂直にオーバラップする場合は“+”が付与されるワードペア(例えば、the+in, cat+the, in+is, the+back)に、実際上変換される。x−y座標は、例えば、書類画像中の或る固定点からの、xy平面における各方向の画素数に基づいてもよい(例えば、書類の左上隅又は中心からの画素数でもよい。)。その例では水平に隣接するペアは多くの他のテキスト部分で頻繁に現れるかもしれないが、縦にオーバラップするペアは他のテキスト部分で頻繁には生じない傾向があることに留意を要する。画像特徴間の他の幾何学的位置関係は、同様に符号化可能であり、例えばSW-NEの隣接性をワード間に“/”を入れることで、NW-SEの隣接性を“\”等により表現してもよい。また、「特徴」は、ワード包囲ボックス(又は、他の特徴包囲ボックス)に一般化され、文字数に合うことを除き、任意に符号化されてもよい。例えば、4つ分の境界ボックスは、スムーズな下の輪郭を除き、凹凸のある高さを上の輪郭に有する限り、“4rusl”の文字列で表現されてもよい。更に、幾何学的位置関係は、特徴間の任意の角度及び距離に拡張されてもよい。例えば、NW-SEの位置関係で隣接するが、2ワード分の高さだけ離れている2つのワード(各ワードは“4ursl”で記述される)は、“4rusl\\4rusl”で表現されてもよい。本願の開示内容から様々な符号化法が明らかになるであろう。更に、数、論理値(Boolean value)、幾何学的形状、及び他のそのような書類特徴が、ワードペアの代わりにIDパッチに使用されてもよいことに留意を要する。
図34Cは、本発明の一実施例によるインデックステーブル組織例を示す。図示されるように、MMRインデックステーブルは、逆タームインデックステーブル3422及びドキュメントインデックステーブル3424を含む。固有のターム又は特徴(例えば、key3421)は、特徴の関数値(例えば、key x)を保持するタームインデックステーブル3422内のあるロケーションを指し、その関数値は記録のリスト3423(例えば、Rec#1、Rec#2等)を指し、各記録は、上述したように、書類内のページの候補領域を特定する。一例では、key(キー)及びkeyの関数値(keyx)は同じである。別の例では、ハッシュ関数がkeyに適用され、その関数の出力がkeyxになる。
問い合わせ語句(クエリターム)のリストの基で、keyでインデックスされる記録全てが検査され、全てのクエリタームに最も合う領域が特定される。その領域が十分に高い合致スコア(例えば、予め決めておいた一致閾値)を有するならば、その候補に確定する。そうでなければ、照合は失敗したことが宣言され、どの領域も返されない。この実施例では、keyは上述したような“−”又は“+”により分離されたワードペア(例えば、“the-cat”又は“cat+the”)である。Key自身の幾何学的関係を組み込むこの技法は、2次元の幾何学的探索用の通常のテキストサーチ技術を利用可能にする。
従って、インデックステーブル機構は、画像パッチ内で検出された特徴をテキストタームに変換し、そのテキストタームは、特徴自身とそれらの幾何学的位置関係の双方を表現する。これは、通常のテキストインデックス及びサーチ法の利用を可能にする。例えば、縦に隣接するターム“cat”及び“the”は、シンボル“cat+the”で表現され、本開示により明らかになるように、「クエリターム」として言及されてよい。通常のテキストサーチデータ構造及び方法論を利用することは、インターネットテキストサーチシステム(例えば、グーグル、ヤフー、マイクロソフト等)のトップにMMR法を結び付けることを促す。
本実施例の逆タームインデックステーブル3422では、各記録(レコード)は6つのパラメータを用いて書類中のページの候補領域を特定する。6つのパラメータは、書類識別子(DocID)、ページ番号(PG)、x/yオフセット(X及びYそれぞれのオフセット)、四角形領域の幅及び高さ(W及びH)である。DocIDは、書類が印刷された時点のタイムスタンプ(又は、他のメタデータ)に基づいて生成された固有の文字列(ストリング)である。しかしながら、装置ID及び人のIDを組み合わせた如何なる文字列でもよい。いずれにせよ、書類は固有のDocIDで特定され、書類インデックステーブルに記憶されたレコードを有する。ページ番号は、紙出力に対応するページ数であり、1から始まる。四角形領域は、規格化された座標系での包囲ボックスの幅及び高さに加えて、左上隅のx−y座標のパラメータによっても指定される。様々な内部の書類ロケーション/座標系が本開示から明らかになり、本発明は何らかの特定のものに限定されるようには意図されない。
本発明の一実施例により構築されたレコード構造例は、24ビットのDocID及び8ビットのページ番号を利用し、16×106の書類及び4×1010のページまで許容する。境界ボックスのX及びYオフセット各々についての1つの無符号バイトは、水平方向に30dpi及び垂直方向に23dpiの空間解像度を与える(8.5”×11”のページを想定しているが、他のページサイズ及び/又は空間解像度が使用されてもよい。)。(例えば、W及びH各々について1つの無符号化バイトのように)境界ボックスの幅及び高さについての同様な取り扱いは、“i”のドット又は区間と同程度に小さな領域の表現を可能にする、或いはページ全体と同程度に大きな領域の表現を可能にする(例えば、8.5”×11”等)。従って、レコード当たり8バイト(DocIDにつき3バイト、PGにつき1バイト、xにつき1バイト、yにつき1バイト、wにつき1バイト、Hにつき1バイトで全部で8バイトになる)は、大量の領域を収容できる。
ドキュメントインデックステーブル3424は、各書類に関連する情報を含む。ある特定の実施例では、この情報はXMLファイル中の書類関連フィールドを含み、そのフィールドは、印刷解像度、印刷日、用紙サイズ、シャドーファイル名、ページ画像ロケーション等を含む。印刷座標は書類を指示した時点で規格化された座標系に変換されるので、サーチ候補の計算はこのテーブルを含まない。従って、ドキュメントインデックステーブル3424は、照合される候補領域についてのみ問い合わせを受ける。しかしながら、その判定は、そのインデックスにおける或る情報損失を含む−なぜなら通常は、規格化された座標は印刷解像度より低い解像度だからである。代替例は、サーチ候補を算出する際、望まれるならば、ドキュメントインデックステーブル3424(又は、規格化された座標系での解像度より高いもの)を利用する。
このようにインデックステーブルモジュール3404は、所与の画像クエリが現れる場所のオブジェクト中のx−y座標及びオブジェクト(例えば、書類ページ)のコンテンツベースの検索を可能にする画像インデックスを効果的にもたらすように機能する。そのような画像インデックス及びリレーショナルデータベース3408の組み合わせは、画像パッチ及びパッチの特徴に合致するオブジェクトの特定を可能にする(例えば、パッチに付随する「アクション」、又はパッチに関連する他のコンテンツの抽出を引き起こすようにスキャン可能なバーコード等)。リレーショナルデータベース3408は、書類の他のパッチについてインデックステーブルにおけるパッチから特徴への「逆リンク」用の手段を与える。逆リンクは、特徴を発見する方法を提供し、認識アルゴリズムは、書類画像のある部分から別の部分へ動くように見えることを予測し、上述したようなMMRシステムでフロントエンドの画像分析アルゴリズムのパフォーマンスをかなり改善する。
フィードバック指向の特徴サーチ
書類及びページの身元だけでなく、画像パッチのx−y座標(例えば、画像パッチの中心に対するx−y座標)が、フィードバック指向の特徴サーチモジュール3418に入力される。フィードバック指向の特徴サーチモジュール3418は、画像パッチの中心から所与の距離の範囲内にあるレコード3423を求めてタームインデックステーブル3422を探索する。例えば、DocID-PGの組み合わせ各々についてレコード3423をX又はYの値の順番で連続するメモリブロックに格納することで、サーチは促進される。所与のX及びYの値を伴うレコード全てについて、所与の値を求めるバイナリサーチ及びそのロケーションからの連続的なサーチにより、探索は実行される(X又はYは、データがどのように格納されているか及び何時格納されたかに依存する。)。典型的には、これはパッチの外周のMインチリングのx−y座標を含み、そのリングは、所与の書類及びページでWインチの幅及びHインチの高さを有する。このリング内にあるレコードが特定され、それらのキー(key)又は特徴3421が、ポインタをトレースバック(追跡)することで特定される。リング内の特徴及びそれらのx−y座標のリストは、図34Aの3417に示されるように報告される。3415に示されるW,H,Mの値は、入力画像のサイズに基づいて認識システムによって動的に設定可能であり、特徴3417が入力画像パッチの外にあるようにする。
画像データベースシステム3400のそのような性質は、例えば、複数の候補の曖昧さを無くす際に有利である。データベースシステム3400が、入力画像パッチを照合するのに1つより多くの書類を報告する場合、判定を明確にする方向に画像捕捉装置を僅かにずらすようにユーザに指示することで、パッチ周囲のリング内の特徴は、どの書類が、ユーザの保持している書類に最も一致するかを認識システム(例えば、フィンガープリント照合モジュール226又は他の適切な認識システム)が決定できるようにする。例えば(OCRベースの特徴が使用されるが、コンテンツは何らかの幾何学的にインデックスされた特徴群に広がっている)、書類Aの画像パッチは、「青−木琴」“blue-xylophone”のワード対の真下にあるかもしれない。書類Bの画像パッチは、「青−雷」“blue-thunderbird”の真下にあるかもしれない。データベースシステム3400は、これらの特徴の予想される場所を報告し、認識システムは、パッチのトップ及び特徴のy座標の差分で指定される量だけカメラを(例えば、ユーザインターフェースを介して)上に動かすようにユーザに指示することができる。認識システムはその異なる領域で特徴を算出し、書類A及びBからの特徴を利用して、どれが最も合致するかを確認する。例えば、(木琴、雷)で構成される特徴の「辞書(dictionary)」と共に、認識システムは、異なる領域からのOCR結果の後処理を実行することができる。OCR結果に最も合致するワードは、入力画像に最も合致する書類に対応する。後処理アルゴリズムの具体例は、一般に知られているスペル補正法(ワードプロセッサや電子メールアプリケーションで使用されるようなもの)である。
この実施例が示すように、別のデータベースアクセスを実行する必要性を無くす方法で特徴記述を照合することで、データベースシステム3400のデザインは、認識システムが効率的な方法で複数の候補の曖昧さを無くすことを可能にする。代替例は、各イメージを独立に処理することである。
動的な初期画像生成
書類及びページの身元だけでなく画像パッチのロケーションのx−y座標(例えば、画像パッチの中心のx−y座標)も、リレーショナルデータベース3408に入力され、それらは、書類及びページの格納済みの電子情報源を引き出すのに使用可能である。書類は、書類変換アプリケーションモジュール3414によりビットマップ画像として変換可能である。また、モジュール3414で用意される付加的な「ボックスサイズ」の値は、サブイメージ抽出モジュール3416で使用され、その中心付近のビットマップの部分を取り出す。このビットマップは、イメージパッチの予測される表示の「初期」表現であり、入力画像中に存在する全ての特徴について正確な表現を含む。初期パッチは、パッチ特徴3412として返される。このソリューションは、オンデマンドでビットマップデータに後で変換されるコンパクトな非イメージ表現を格納することで、ビットマップを格納する従来法で必要とされていた過剰なストレージの問題を克服する。
そのようなストレージ法は有利である。なぜなら、仮定及び検査の認識法を利用可能にするからであり、その方法では、イメージから引き出された特徴表現は候補群を引き出すのに使用され、その候補群は詳細な特徴分析により曖昧さは解消される。しばしば、代替的な候補群を最良に明確化する(曖昧さを無くす)特徴を予測できないので、これらの候補のオリジナルの画像から特徴が決定されることが望ましい。例えば、“the cat”というワードペアの画像が2つのデータベース書類中にあり、その一方はタイムスロマン(Times Roman)フォントで当初印刷されたものであり、他方はヒルベティカ(Helvetica)フォントにおけるものである。入力画像がこれらのフォントの1つを含むか否かの確認と同様な確認は、正しく合致するデータベース書類を特定する。それらの書類の当初のパッチと入力画像パッチとを、ユークリッド距離のようなテンプレート照合比較メトリックと共に比較することで、正しい候補を特定する。
具体例は、マイクロソフトワード“.doc”ファイルを格納するリレーショナルデータベース3408を含む(同様な方法が、他の書類フォーマットに関して機能し、他の書類フォーマットは、PCL、pdf.、又はマイクロソフトのXMLペーパー仕様XPS、又は他のそのようなフォーマットであり、他のそのようなフォーマットは、ゴーストスクリプトのような変換アプリケーション又はXPSの場合、マイクロソフトのインターネットエクスプローラ(インストールされたWinFXコンポーネントを有する)によりビットマップに変換可能である。)。書類、ページ、x−y座標、ボックス寸法、及びシステムパラメータが特定され、それらは好ましい解像度が600ドットパーインチ(dpi)であることを示し、ワードアプリケーションは、ビットマップイメージを生成するように起動可能である。これは6600行及び5100列のビットマップをもたらす。追加的なパラメータx=3”、y=3”、高さ=1”及び幅=1”は、データベースが600画素の高さ及び幅のパッチ(ページの左上隅からx及びy方向に1800画素の地点に中心を有する)を返すべきことを示す。
複数データベース
複数のデータベースシステム3400が使用される場合、各データベースシステムは様々なドキュメントコレクションを含み、2つのデータベースが同じ書類を返しているか否かを又はどのデータベースが入力にいっそう近い候補を返したかを確認するために初期パッチが使用可能である。おそらくは異なる識別子3410(即ち、それらは異なるデータベースに別個に入っているので、オリジナル書類と同じであるようには現れない)及び特徴3412と共に、2つのデータベースが同じ書類を返した場合、初期パッチはほぼ厳密に同じである。例えばハミング距離と共に初期パッチと互いに比較することでそれは判定可能であり、ハミング距離は、異なる画素数を計数している。オリジナル書類がピクセル毎に厳密に同じならば、ハミング距離はゼロになる。ささいなフォントの相違に起因して引き起こされるようにパッチが僅かに異なっていた場合、ハミング距離はゼロより僅かに大きくなる。これは、ハミングオペレータで画像の違いが算出される際、キャラクタのエッジ周辺で「ハロー(halo)」効果を引き起こすおそれがある。このようなフォントの相違は、元の変換アプリケーションのバージョンの相違、データベースを走らせているサーバでのオペレーティングシステムのバージョンの相違、プリンタの相違又はフォントコレクションの相違などによって引き起こされるおそれがある。
初期パッチ比較アルゴリズムは、2つの書類で1つより多いx−y座標により、パッチ(複数)で実行可能である。それらは全て同じであるべきだが、このようなサンプリング処理は、データベースシステム間の相違の表現を克服する冗長性を許容する。例えば、2つのシステムで表現される場合、あるフォントは根本的に違って見えるが、別のフォントはほとんど同じに見えるかもしれない。
2つ以上のデータベースが、入力画像と最良に合うものと異なる書類を返す場合、ハミング距離のようなピクセルベースの比較メトリックによって、初期パッチは入力画像と比較され、どれが正しいかを判定する。
1つより多くのデータベースからの結果を比較する代替法は、アキュムレータアレイの内容を比較することであり、アキュムレータアレイは、各データベースから報告された処理中の特徴の幾何学的な分布(配列)を測るものである。元の特徴群を別個に探す必要性を回避するため、このアキュムレータはデータベースの直ぐそばに用意されることが望ましい。また、このアキュムレータは、データベースシステム3400のコンテンツとは独立であるべきである。図34Aに示される例では、アクティビティアレイ3420が出力されている。2つのアクティビティアレイは、それらの値のアレイ内の分布を測定することで比較可能である。
より詳細には、おそらくは異なる識別子3410(即ち、それらは異なるデータベースに別個に入っているので、オリジナル書類と同じであるようには現れない))及び特徴3412と共に、2つ以上のデータベースが同じ書類を返す場合、各データベースからのアクティビティアレイ3420はほとんど厳密に同じである。例えばハミング距離と共に初期パッチと互いに比較することでそれは判定可能であり、ハミング距離は、異なる画素数を計数している。オリジナル書類がピクセル毎に厳密に同じならば、ハミング距離はゼロになる。
2つ以上のデータベースが入力特徴と最良に合うものと異なる書類を返した場合、どの書類が入力画像に「最良に」合うかを判定するために、それらのアクティビティアレイ3420が比較可能である。画像パッチに適切に合致するアクティビティアレイは、パッチが現れているロケーション付近に集まっている高い値のクラスタを含む。画像パッチに不適切にしか一致してないアクティビティアレイは、ランダムに分布した値を含むであろう。エントロピーのような画像の分散性やランダム性を測る多くの周知の方法が存在する。そのようなアルゴリズムはアクティビティアレイ3420に適用され、クラスタの存在を示す指標を取得する。例えば、画像パッチに対応するクラスタを含むアクティビティアレイ3420のエントロピーは、値がランダムに分布しているアクティビティアレイ3420のエントロピーとかなり異なる。
更に、各クライアント106はいつでも複数のデータベースシステム3400にアクセスしてよく、データベースの内容は、互いに必ずしも競合しないことに留意を要する。例えば、或る企業は、公にアクセス可能なパッチと、その企業にとって私的なもの(それぞれ1つのドキュメントに関連する)との双方を所有してもよい。そのような場合、クライアント106は、データベースD1,D2,D3,...のリストを保持し(データベースはその順序で問い合わせられる)、ユーザに対する統合された表示に結合されるアクティビティアレイ3420及び識別子3410を生成する。所与のクライアント装置106は、全てのデータベースから利用可能なパッチを表示してもよいし、或いはデータベースの一部分(例えば、D1,D3及びD7のみ)を選択することをユーザに許可してもよいし、それらのデータベース中のパッチを表示するだけでもよい。あるサービスに加入することで、データベースはリストに加えられてもよいし、クライアント装置106がある場所にあった場合にデータベースは無線で利用可能にされてもよい。なぜなら、データベースはクライアント装置106にロードされているいくつかの内の1つだからであり、あるユーザはその装置を使って現在認証されているからであり、或いは、装置はあるモードで動作しているからでさえある。例えば、特定のクライアント装置がそのオーディオスピーカをターンオンに又はオフにすることに起因して、或いはビデオプロジェクタのような周辺装置が現在クライアントに取り付けられていることに起因して、いくつかのデータベースが利用可能であるかもしれない。
アクション
図34Aを更に参照するに、MMRデータベース3400は、MMR特徴抽出モジュール3402からの一群の特徴と共に或るアクションを受ける。アクションはコマンド及びパラメータを指定する。そのような例では、コマンド及びそのパラメータは、返されるパッチの特徴3412を決定する。例えば、テキストに容易に変換可能なhttpを含むフォーマットでアクションが受信されてもよい。
アクションプロセッサ3413は、証拠蓄積モジュール3406により判定されたページ中のx−y座標、ページ及び書類の身元を受信する。アクションプロセッサはコマンド及びそのパラメータも受信する。アクションプロセッサ3413は、コマンドを命令(指示)に変換するようにプログラムされる又は構築され、所与の書類、ページ及びx−y座標に対応するロケーションでデータをリレーショナルデータベース3408を用いて抽出又は格納する。
そのような一実施例では、コマンドは次のものを含む:RETRIEVE, INSERT_TO <DATA>, RETRIEVE_TEXT <RADIUS>, TRANSFER<AMOUNT>, PURCHASE, PRISTINE_PATCH<RADIUS[DOCID PAGEID X Y DPI]>及びACESS_DATABASE<DBID>。以下、これら各々が説明される。
RETRIEVEは、所与の書類ページ中のx−y座標にリンクしたデータを取り出す。アクションプロセッサは、RETRIEVEコマンドをリレーショナルデータベースクエリに変換し、そのx−y座標近辺に格納されているデータを抽出する。これは、そのx−y座標周辺の領域を探索するために、1つより多いデータベースクエリの発行を要するかもしれない。取り出されたデータは、パッチ特徴3412として出力される。RETRIEVEコマンドの具体的なアプリケーションは、マルチメディアブラウジングアプリケーションであり、ビデオクリップや動的な情報オブジェクト(例えば、目下の情報が抽出可能な電子アドレス)を抽出する。抽出されたデータは、MMR装置で実行される以後のステップを指定するメニューを含んでもよい。抽出されたデータは静的なデータでもよく、そのデータは、JPEG画像又はビデオクリップのように電話で(又は他の表示装置で)表示できる。パッチ特徴を探す領域を決定するパラメータがRETRIEVEコマンドに用意されてもよい。
INSERT_TO<DATA>は、<DATA>を画像パッチで指定されたx−y座標に挿入する。アクションプロセッサ3413は、INSERT_TOコマンドをリレーショナルデータベース用の命令に変換し、指定されたx−y座標にデータを加える。INSERT_TOコマンドが首尾よく完了したことの確認通知は、パッチ特徴3412として返される。INSERT_TOコマンドの具体的なアプリケーションは、MMR装置でのソフトウエアアプリケーションであり、テキストの一節の中の任意のx−y座標にデータを付けることをユーザに許可する。データはJPEG画像のような静的なマルチメディア、ビデオクリップ又はオーディオファイル等でもよいが、所与のロケーションに関連するアクションを指定するメニューのような任意的な電子データでもよい。
RETRIEVE_TEXT<RADIUS>は、画像パッチで決められているx−y座標の半径(<RADIUS>)の中でテキストを取り出す。<RADIUS>は、例えば、画像空間での画素数として指定されてもよいし、或いは、証拠蓄積モジュール3406で決められているx−y座標周辺のワードのキャラクタ数として指定されてもよい。<RADIUS>は分析されるテキストオブジェクトに関連してもよい。この特定の例の場合、アクションプロセッサ3413はRETRIEVE_TEXTコマンドをリレーショナルデータベースクエリに変換し、適切なテキストを抽出する。<RADIUS>が分析されるテキストオブジェクトを指定する場合、アクションプロセッサは、分析されるテキストオブジェクトを返すだけである。分析されるテキストオブジェクトが指定されたx−y座標近辺に見当たらなかった場合、アクションプロセッサはヌル(null)の指標を返す。代替例では、アクションプロセッサはフィードバック指向の特徴サーチモジュールを呼び出し、所与のx−y座標の半径の中にあるテキストを取り出す。テキストストリング(文字列)は、パッチ特徴3412として返される。テキストストリング内の各ワードに関連する選択的なデータは、オリジナル書類中のx−y境界ボックスを含む。RETRIE_TEXTコマンドの具体的なアプリケーションは、印刷書類からテキストフレーズを選択し、別書類に含めることである。これは、例えば、MMRシステムで(例えば、パワーポイントフォーマットで)プレゼンテーションファイルを構成するのに使用可能である。
TRANSFER<AMOUNT>は、書類全体を又は書類にリンクしたデータの一部を別のデータベースにロード可能な形式で取り出す。<AMOUNT>は取り出されるデータの数及びタイプを指定する。<AMOUNT>がALL(全て)であった場合、アクションプロセッサ3413はデータベース3408にコマンドを発行し、書類に関連するデータを全て取り出す。そのようなコマンドの具体例は、DUMP又はUnix(登録商標)TARを含む。<AMOUNT>がSOURCE(ソース)であった場合、その書類についてのオリジナルのソースファイルが取り出される。例えば、アクションプロセッサは印刷書類のワードファイルを取り出す。<AMOUNT>がBITMAP(ビットマップ)であった場合、印刷書類のビットマップのJPEG圧縮バージョン(又は他の一般的に使用されるフォーマット)が取り出される。<AMOUNT>がPDFであった場合、書類のPDF表現が取り出される。取り出されたデータは、コマンド名により呼出アプリケーションに知られているフォーマットでパッチ特徴3412として出力される。TRANSFERコマンドの具体的なアプリケーションは「ドキュメントグラバ(document grabber)」であり、テキストの小さな領域を画像処理することで、書類のPDF表現をMMR装置に転送することをユーザに許可する。
PURCHASEは、書類中のx−y座標にリンクした製品仕様を取り出す。アクションプロセッサ3413は一連の1つ以上のRETRIEコマンドを先ず実行し、所与のx−y座標近辺の製品仕様を取得する。製品仕様は、例えば、ベンダ名、製品の身元(例えば、ストック番号)、ベンダの電子アドレス等を含む。製品仕様は、近辺に位置するかもしれない他のデータタイプよりも優先して取得される。例えば、画像パッチで決められているx−y座標にjpegが格納されていた場合、隣の最も近い所の製品仕様が代わりに取り出される。取り出された製品仕様は、パッチ特徴3412として出力される。PURCHASEコマンドの具体的なアプリケーションは、印刷書類での宣伝広告に関連する。MMR装置のソフトウエアアプリケーションは、その宣伝広告に関連する製品仕様を受信し、ユーザの個人的な識別情報(例えば、名前、送付先、クレジットカード番号等)を加え、その後にそれを指定された電子アドレスの指定されたベンダに送付する。
PRISTINE_PATCH<RADIUS[DOCID PAGEID X Y DPI]>は、指定された書類の電子表現を取得し、x−yを中心とする半径RADIUSの中でイメージパッチを取得する。RADIUSは円の半径を本来は指定するが、四角形のパッチを指定してもよい(例えば、2インチの高さで3インチ幅)。また、書類ページ全体を指定してもよい。(DocID,PG,x,y)の情報は、アクションの一部として明示的に与えられてもよいし、テキストパッチの画像から導出されてもよい。アクションプロセッサ3413は、書類の元の表現をリレーショナルデータベース3408から取り出す。その表現はビットマップでもよいが、表示可能な電子書類でもよい。オリジナルの表現は、書類レンダリングアプリケーション3414に伝達され、(インチ当たりのドットとしてパラメータDPIで与えられ得る解像度と共に)ビットマップに変換され、そしてサブイメージ抽出部3416に与えられ、所望のパッチが取り出される。パッチイメージはパッチ特徴3412として返される。
ACESS_DATABASE<DBID>は、データベース3400をクライアント106のデータベースリストに加える。クライアントは、現在のリストの中に存在するデータベースだけでなく、今加えたデータベースを問い合わせることができる。DBIDは指定されたデータベースに関するファイル又はリモートネットワークを指定する。
インデックステーブル生成法
図35は、本発明の一実施例によるMMRインデックステーブルを生成する方法3500を示す。本方法は例えば図34Aのデータベースシステム34002より実行可能である。そのような実施例では、MMRインデックステーブルモジュール3404(又は、詳細な別名のモジュール)により、スキャンした又は印刷した書類からMMRインデックステーブルが生成される。生成モジュールは、ソフトウエアで、ハードウエア(例えば、ゲートレベルのロジック)で、ファームウエア(例えば、本方法を実行する組込ルーチンと共に構築されたマイクロコントローラ)で、又はそれらの何らかの組み合わせで、本願で説明される他のモジュールと同様に実現可能である。
本方法は紙書類を受信すること3510を含む。紙書類は如何なる書類でもよく、例えば、何ページでもよいメモ(例えば、業務関連メモ、個人的な手紙)、製品ラベル(例えば、缶詰品、薬、箱詰めされた電子装置)、製品仕様(例えば、スノーブラウザ、コンピュータシステム、製造システム)、製品ブローシャ又は広告題材(例えば、自動車、ボート、バケーションリゾート)、サービス説明題材(例えば、インターネットサービスプロバイダ、クリーニングサービス)、本、雑誌その他の刊行物中の1ページ以上、ウェブサイトから印刷したページ、手書きメモ、ホワイトボードから捕捉及び印刷されたメモ、何らかの処理システム(例えば、デスクトップ、ポータプルコンピュータ、カメラ、スマートフォン、リモート端末)から印刷されたページ等である。
本方法は、紙書類の電子表現を生成すること3512に続き、その電子表現は、書類中に示される特徴のx−y座標を含む。目標の(検索対象)特徴は、例えば、個々のワード、文字(複数)、及び/又はキャラクタ等の書類中のものでよい。例えば、オリジナルの書類がスキャンされる場合、先ずOCR処理され、ワード(又は、他の検索対象特徴)及びそれらのx−y座標が抽出される(例えば、スキャナ127のドキュメントフィンガープリント照合モジュール226により抽出される)。オリジナル書類が印刷される場合、索引付けプロセス(インデキシングプロセス)は、全キャラクタのフォント、サイズ、x−y境界ボックスの(又は他の検索対象特徴の)XMLフォーマットで、(例えば、プリンタ116のプリンタドライバ316の処理により)正確な表現を受信する。この場合、(例えば、プリンタドライバ316により)正確に特定されたx−y特徴座標と共に電子書類が受信されるので、インデックステーブル生成がステップ3514で始まる。XML以外のフォーマットについても本願の開示内容から明らかであろう。マイクロソフトワード、アドビアクロバット及びポストスクリプトのような電子書類は、それらをプリンタドライバに「プリントする」ことでデータベースに入力可能になり、プリンタドライバの出力はファイルに向けられ、紙書類が作成される必要はないようにする。これは、以下に示されるXMLファイル構造の生成を引き起こす。全ての場合に、オリジナルの書類フォーマット(ワード、アクロバット、ポストスクリプト等)に加えてXMLは、識別子(データベースに加えられるi番目の書類についてdoc i)に割り当てられ、その識別子により後に検索可能な方法でリレーショナルデータベース3408に格納されるだけでなく、捕捉された時間、印刷された日、印刷を引き起こしたアプリケーション、出力ファイル名等を含む書類の他の「メタデータ」特徴に基づく。
ある特定の実施例では、ワードは、a−z、A−Z、0−9及び@%$#等の如何なるキャラクタを含んでもよく、他の全ては区切り文字(デリミタ)である。.xmlファイルのオリジナルの記述は、インデキシングプロセスで使用されるプリントキャプチャーソフトウエアで生成可能である(例えば、それはデータベース320サーバのようなサーバで実行される。)。新たな書類がシステムで捕捉されるにつれて、実際のフォーマットは絶えず進展し、より多くの要素を含むようになる。
プリントドライバ(例えば、プリントドライバ316)で受信したテキストの元のシーケンスは保存され、論理ワード構造は、“_@&$#”を除いて句読点記号に基づいて制約される。XMLファイルを入力として使用し、インデックステーブルモジュール3404はページ境界を参照し、2つの連続するシーケンス間のオーバーラップ量を検査することで、先ずシーケンスを論理ラインにグループ化しようとする。ある特定の実施例では、2つのシーケンスがそれらの平均高さの半分未満しかオーバーラップしなかったならば、ラインの中断が起こっていることの発見的方法(heuristic)が使用される。そのような発見的方法は、典型的なテキスト書類(例えば、マイクロソフトワード)では良好に機能する。複雑なレイアウトを伴うhtmページの場合、付加的な幾何学的分析が必要になるかもしれない。しかしながら、クエリプロセスによって一貫した索引付けタームが生成可能である限り、完璧な意味論的書類構造を取り出すことは必須でない。
紙書類の電子書類の構造に基づいて、本方法は、紙書類の全ページについて検索対象特徴全ての一を索引付けし続ける(3514)。ある特定の実施例では、このステップは、紙書類の全ページにおける水平に及び垂直に隣接する全てのペアの位置を索引付けすることを含む。上述したように、水平に隣接するワードはライン(行)の中で隣接するワードのペアである。縦に隣接するワードは、垂直に並ぶラインで隣接するワードである。ページ中の他の多次元形態が同様に利用されてもよい。
本方法は、各検索対象特徴に関連するパッチ特徴を格納すること(3516)を含む。ある特定の実施例では、パッチ特徴は、そのパッチに付随するアクションを含み、リレーショナルデータベースに格納されている。上述したように、そのような画像インデックス及びストレージ手段を組み合わせることは、画像パッチ及びそのパッチの特徴に一致するオブジェクトの発見を可能にする。特徴は、メタデータのような、パスに関連する如何なるデータでもよい。特徴は、例えば、特定の機能を実行するアクション、そのパッチに関連する他のコンテンツへのアクセスを与えるように選択可能なリンク、及び/又はパッチに関連する他のコンテンツの抽出を引き起こすようにスキャン又は処理されることが可能なバーコード等を含んでもよい。
より正確な定義がサーチターム生成に関して与えられ、ライン構造の一部分のみが観察される。水平に隣接するペアの場合、そのワードと“−”の分離子(セパレータ)とを連結することで、クエリタームが形成される。垂直ペアは“+”を用いて連結される。ワード(複数)はそれらオリジナルの形式で使用可能であり、望まれるならばキャピタリゼーション(大文字小文字)を維持する(これは、よりいっそう固有のタームを作成するが、そのように微妙な状況を考慮するための追加的なクエリ事項と共に、より大きなインデックスを作ることになる。)。本インデキシング法は、水平若しくは垂直ワードペアに、又は双方の組み合わせに同じサーチ法が適用されることを可能にする。タームの識別能力は、何らかの場合についての逆文献頻度(inverse document frequency)によって説明される。
証拠蓄積法
図36は、検索対象書類のランク付けされた一群の書類、ページ及びロケーション仮説を算出する本発明の一実施例による方法3600を示す。本方法は、例えば、図34Aのデータベースシステム3400で実行可能である。そのような実施例では、証拠蓄積モジュール3406は、上述したようにインデックステーブルモジュール3404からのデータを用いて仮説(候補)を算出する。
本方法は(大きな書類イメージ又は書類イメージ全体のイメージパッチのような)検索対象書類イメージを受信することから始まる(3610)。本方法は、1つ以上のクエリタームを生成すること(3612)に続き、検索対象書類イメージ中のオブジェクト間の2次元的位置関係を捕捉する。ある特定の実施例では、クエリタームは特徴抽出プロセスによって生成され、そのプロセスは、図34Bを参照しながら説明したような水平の及び垂直のワードペアを生成する。しかしながら、本開示内容から明らかになるように、ここで説明される特徴抽出プロセスのいくつでもがクエリタームを生成するのに使用可能であり、検索対象書類イメージ中のオブジェクト間の2次元的位置関係を捕捉する。例えば、方法3500のインデックスを構築するのに使用されたのと同じ特徴抽出法が、ステップ3512を参照しながら説明されたようなクエリタームを生成するのに使用可能である(紙書類の電子表現を生成する。)。更に、クエリタームの2次元的形態が、クエリターム個々に適用されてもよいし(例えば、水平のワードペアである第1のクエリタームと、垂直のワードペアである第2のクエリターム)、或いは一群のサーチタームに適用されてもよい(例えば、検索対象書類中の水平及び垂直のオブジェクト双方を表現する1つのクエリターム)ことに留意を要する。
本方法は、タームインデックステーブル3422内で各クエリタームを探し、各クエリタームに関連する場所(ロケーション)のリストを抽出することに続く(3614)。各ロケーションに関し、本方法は、そのロケーションを含む多数の領域を生成することに続く(3616)。全てのクエリが処理された後で、本方法は、全てのクエリタームに最も一致する領域を特定することを含む(3618)。そのような実施例では、全候補領域のスコアが或るウエイトにより増やされる(例えば、各領域が全てのクエリタームとどの程度一致しているかに基づく)。本方法は、特定された領域が、予め決められた一致基準を満たすか否かを判定することに続く(3620)(例えば、所定の一致閾値に基づく)。満たしていれば、本方法は、その領域を検索対象書類イメージに一致しているように確認することに続く(3622)(例えば、その領域を最も多く含んでいるようなページがアクセスされ或いは使用される)。そうでなければ、本方法はその領域を拒否することに続く(3624)。
ワードペアは、「規格化された」座標空間内の座標と共にタームインデックステーブル3422に格納される。これは、様々なプリンタ及びスキャナの解像度間の統一をもたらす。ある特定の実施例では、85×110の座標空間が8.5”×11”のページに使用される。その場合、ワードペア全てが、その85×110の空間の中の場所で特定される。
サーチの効率を改善するため、2段階のプロセスが実行されてもよい。第1ステップは、入力画像パッチを最も含みそうなページを見つけることを含む。第2ステップは、そのページ内で最もパッチの中心らしいx−y座標を計算することを含む。そのような方法は、真に最良の一致が第1ステップで見逃されてしまうおそれを招く。しかしながら、僅かなインデキシング空間に伴うそのような可能性は希である。かくて、インデックスのサイズ及び所望のパフォーマンスに依存して、そのような効率的な改善法が使用可能である。
そのような一実施例では、ページを発見するために以下のアルゴリズムが使用され、そのページは、入力イメージパッチ内で検出されるワードペアを最も含みそうなものである。
この方法は、各ワードペアの書類頻度逆関数(idf)を、ワードペアが生じる書類及びページでインデックスされるアキュムレータに加えるnum_docs(wp)は、ワードペアwpを含む書類数を返す。アキュムレータは、証拠蓄積モジュール3406で実現される。そのアキュムレータでの最大値が閾値を越えた場合、そのパッチに最も合うページとして出力される。従って、アルゴリズムは、クエリ中のワードペアに最も合うページを特定するように動作する。或いは、Accumアレイが分類(ソート)され、上位N個のページが、入力画像に合う「ベストN」ページとして報告される。
以下の証拠蓄積アルゴリズムは、本発明の一実施例により、1ページ内の入力画像パッチの位置に関するエビデンスを蓄積する。
本アルゴリズムは、85×110の空間内のセルを特定するよう動作し、そのセルは、最も入力画像パッチの中心らしいものである。ここに示されている例では、各ワードペア周囲の固定された領域(ゾーンとも呼ばれる)内のセルにウエイトを加えることで、アルゴリズムはそれを実行する。
範囲関数(extent function)がx,yのペアに与えられ、範囲関数は、包囲する固定サイズ領域の最小値及び最大値を返す(1.5”の高さ及び2”の幅が一般的である。)。範囲関数は、境界条件に配慮し、返す値がアキュムレータの外に出ないことを確認する(即ち、0より小さい、xが85より大きい、又はyが110より大きい領域に存在しないようにする。)。最大距離関数(maxdist function)は、境界ボックス座標(minx,maxx,miny,maxy)で記述される境界ボックス内の2点間の最大ユークリッド距離を見出す。ワードペアの書類頻度逆関数と、セル及びゾーンの中心間の規格化された幾何学的距離との積で決定されるウエイトが、ゾーン内の各セルについて算出される。これは、中心に近く、遠く離れたセルより高いセルを重み付ける。全てのワードペアがそのアルゴリズムで処理された後、Accum2アレイは、最大値を伴うセルを探す。それが閾値を越えた場合、その座標はイメージパッチの場所として報告される。アクティビティアレイは、蓄積されたnorm_dist値を格納する。それらはidfでスケーリングされてないので、それらは、特定のワードペアを含むデータベース内の書類数を考慮しない。しかしながら、それらは、所与の一群のワードペアに最も合うx−y座標について2次元的画像表現をもたらす。更に、アクティビティアレイのエントリは、データベースに格納されている書類と独立である。通常内部で使用されるこのデータ構造が出力されてもよい(3420)。
規格化された幾何学的処理は、本発明の一実施例により、以下に示されるように算出される。
ワードペアの場所とゾーンの中心との間のユークリッド距離が計算され、そのユークリッド距離と、計算される可能性のある最大距離との間の差分が返される。
ワードペアが証拠蓄積アルゴリズムで処理された後、Accum2アレイは最大値を伴うセルについて探索される。その値が所定の閾値を越えた場合、その座標は、イメージパッチの中心の場所として報告される。
MMR印刷アーキテクチャ
図37Aは、本発明の一実施例によるMMRコンポーネントの機能ブロック図を示す。主なMMRコンポーネントは、関連するプリンタ116及び/又は共有書類注釈(SDA)サーバ3755と共にコンピュータ3705を含む。
コンピュータ3705は、当該技術分野で既知の何らかの標準的な、デスクトップ、ラップトップ又はネットワークコンピュータである。一実施例では、コンピュータは図1Bを参照しながら説明されたMMRコンピュータ112である。ユーザプリンタ116は、当該技術分野で既知の何らかの標準的な、ホーム、オフィス又は市販のプリンタである。ユーザプリンタ116は印刷書類118を生成し、印刷書類は、1以上のページで形成される紙書類である。
SDAサーバ3755は標準的なネットワーク化された又はセントラル化されたコンピュータであり、そのコンピュータは、共用される注釈法に関する様々なファイル、アプリケーション及び/又は情報を保持する。例えば、ウェブページ又は他の書類に関連する共用される注釈は、SDAサーバ3755に格納される。この例では、注釈は上述のMMRで使用されるデータ又は指示である。SDAサーバ3755は、一実施例ではネットワーク接続を介してアクセス可能である。一実施例では、SDAサーバ3755は図1Bを参照しながら説明されたネットワーク化されたメディアサーバ114である。
コンピュータ3705は様々なコンポーネントを有し、コンポーネントの全部又は一部は様々な実施形態に応じて選択的である。一実施例では、コンピュータ3705は、ソースファイル3710、ブラウザ3715、プラグイン3720、シンボリックホットスポット記述3725、修正されたファイル3730、捕捉モジュール3735、page_desc.xml3740、hotspot.xml3745、データストア3750、SDAサーバ3755及びMMR印刷ソフトウエア3760を含む。
ソースファイル3710は、書類の電子表現である何らかのソースファイルを表す。ソースファイル3710の具体例は、ハイパーテキストマークアップ言語(HTML)ファイル、マイクロソフト(登録商標)ワード(登録商標)ファイル、マイクロソフト(登録商標)パワーポイント(登録商標)ファイル、シンプルテキストファイル、ポータブルドキュメントフォーマット(PDF)ファイル等を含む。上述したように、ブラウザ3715で受信される書類は、多くの場合、ソースファイル3710から発する。一実施例では、ソースファイル3710は図3を参照しながら説明されたソースファイル310と等価である。
ブラウザ3715は、ソースファイル3710に関連するデータへのアクセスをもたらすアプリケーションである。例えば、ブラウザ3715は、ウェブページ及び/又はドキュメントをソースファイル3710から取り出すのに使用されてもよい。一実施例では、ブラウザ3715は図3を参照しながら説明されたSDブラウザ312,314である。一実施例では、ブラウザ3715はインターネットエクスプローラのようなインターネットブラウザである。
プラグイン3720は、オーソリング機能をもたらすソフトウエアアプリケーションである。プラグイン3720は、スタンドアローンソフトウエアアプリケーションでもよいし、或いは、ブラウザ3715上で動作するプラグインでもよい。一実施例では、プラグイン3720はコンピュータプログラムであり、ブラウザ3715のようなアプリケーションと相互作用し、上述の特定の機能を提供する。プラグイン3720は、様々な実施例に応じてブラウザ3715に表示されるウェブページや書類に対する変換その他の修正を行う。例えば、プラグイン3720は、個々に識別可能な基準マークと共にホットスポットの指標を包囲してホットスポットを作成し、HTMLファイルの「マークアップ」バージョンをブラウザ3715に返し、ブラウザ3715に表示される書類の一部に或る変換規則を適用し、ブラウザ3715に表示される書類に対する共有注釈を抽出及び/又は受信する。更に、プラグイン3720は、修正された書類を作成すること、シンボリックホットスポット記述3725を作成すること等のような他の機能を上述のように実行してもよい。プラグイン3720は、捕捉モジュール3735に関連して、図38,44,45,48及び50A−Bで説明される方法を支援する。
シンボリックホットスポット記述3725は、書類内のホットスポットを特定するファイルである。シンボリックホットスポット記述3725は、ホットスポット数及びコンテンツを特定する。この例では、シンボリックホットスポット記述3725はデータストア3750に格納される。シンボリックホットスポット記述の具体例は、図41で更に詳細に説明される。
修正されたファイル3730は、プラグイン3720によるソースファイル3710に対する修正及び変換の結果として作成された書類及びウェブページである。例えば、上述のマークアップHTMLファイルは、修正されたファイル3730の一例である。本開示内容から明らかになるように、修正されたファイル3730は、場合によっては、ユーザに表示するためにブラウザ3715に返される。
捕捉モジュール3735は或るソフトウエアアプリケーションであり、書類の印刷表現に特徴抽出及び/又は座標捕捉を実行し、印刷ページ上のキャラクタ及び図形のレイアウトが取り出せるようにする。レイアウト−即ち、印刷ページでのテキストの2次元配列は、印刷時に自動的に捕捉されてもよい。例えば、捕捉モジュール3735は、全ての文字及び描画印刷コマンドを実行し、更に、その印刷表現における全キャラクタ及び/又はイメージのx−y座標及び他のキャラクタを取得及び記録する。一実施例によれば、捕捉モジュール3735は、ここで説明されるような印刷捕捉DLL、追加を許可するフォワーディングダイナミックリンクライブラリ(DLL: Dynamically Linked Library)、又は既存のDLLの機能を修正したもの等である。捕捉モジュール3735の機能の更に詳細な説明は、図44に関連してなされる。
捕捉モジュール3735は、データを捕捉するためにブラウザ3715の出力に結合されることを当業者は認識するであろう。或いは、捕捉モジュール3735の機能は、プリンタドライバの中で直接的に実行されてもよい。一実施例では、捕捉モジュール3735は、図3に関して説明されたようなPD捕捉モジュールと等価である。
page_desc.xml3740は、拡張可能マークアップ言語(XML)ファイルであり、テキスト関連である捕捉モジュール3735により処理される機能呼出に関してテキスト関連出力が書き込まれる。ホットスポット情報、プリンタポート名、ブラウザ名、印刷の日時、インチ当たりのドット数(dpi)及び解像度(res)情報に加えて、page_dec.xml3740は、ワード毎に及びキャラクタ毎に印刷された全テキストについて書類の座標情報を含む。page_dec.xml3740は例えばデータストア3750に格納される。データストア3750は図34Aを参照しながら説明されたMMRデータベース3400と等価である。図42A−BはHTMLファイルの場合のpage_dec.xml3740の具体例を詳細に示す。
hotspot.xml3745は、書類が印刷される際に作成されるXMLファイルである(例えば、上述したように印刷ドライバ316の動作によりなされる)。hotspot.xmlは、シンボリックホットスポット記述3725及びpage_dec.xml3740を併合した結果である。hotspot.xmlは、ホットスポット数、座標情報、寸法情報及びホットスポットのコンテンツのようなホットスポット識別情報を含む。図43にはhotspot.xmlファイルの具体例が示されている。
データストア3750は、ファイルを格納するための当該技術分野で既知の何らかのデータベースであるが、ここで説明される方法を利用できるように修正される。例えば、一実施例によれば、データストア3750は、ソースファイル3710、シンボリックホットスポット記述3725、page_dec.xml3740、表現されるページレイアウト、共有される注釈、画像処理された書類、ホットスポットの定義及び特徴表現等を格納する。一実施例では、データストア3750は、図3を参照しながら説明されたドキュメントイベントデータベース320と等価であり、また図34Aを参照しながら説明されたデータベースシステム3400と等価である。
MMR印刷ソフトウエア3760は、ここで説明されるMMR印刷処理を支援するソフトウエアであり、例えば、上述のコンピュータ3705のコンポーネントによって実行される。MMR印刷ソフトウエア3760は、図37Bを参照しながら以下で更に詳細に説明される。
図37Bは、MMR印刷ソフトウエアに含まれている本発明の一実施例による一群のソフトウエアコンポーネントを示す。MMR印刷ソフトウエア3760の全部又は一部がコンピュータ112,905、捕捉装置106、ネットワークメディアサーバ114及び他のサーバに上述のように含まれてよいことが理解されるべきである。MMR印刷ソフトウエア3760はこれら様々なコンポーネントを含むように今のところ説明されるが、MMR印刷ソフトウエア3760はこれらのコンポーネントの1つから全てに至る内のいくつでもを備えてよいことを当業者は認識するであろう。MMR印刷ソフトウエア3760は、変換モジュール3765、組込モジュール3768、分析モジュール3770、変換モジュール3775、特徴抽出モジュール3778、注釈モジュール3780、ホットスポットモジュール3785、表現/表示モジュール3790及びストレージモジュール3795を含む。
変換モジュール3765は、ソース書類を画像書類に変換することを可能にし、その画像書類から特徴表現が抽出可能であり、変換モジュールはそれを行う1つの手段である。
組込モジュール3768は、電子書類のホットスポットの指標に対応するマークを埋め込むことを可能にし、それを行う1つの手段である。ある特定の実施例では、埋め込まれたマークは、ホットスポットの開始点及びホットスポットの終了点を示す。或いは、埋め込まれたマーク周辺の所定の領域が、電子書類のホットスポットを特定するために使用されてもよい。そのような様々なマーキング法が使用可能である。
分析モジュール3770は、ホットスポットの開始点を示すマークについて、(プリンタに送付される)電子書類の分析を可能にし、それを実行する1つの手段である。
変換モジュール3775は、電子書類の一部に或る変換規則を適用可能にし、それを行う1つの手段である。ある特定の実施例では、その一部分は、ホットスポットの開始点を示すマークとホットスポットの終了点を示すマークとの間のキャラクタのストリームである。
特徴抽出モジュール3778は、書類及びホットスポットの印刷表現に対応する座標の抽出及び特徴の抽出を可能にし、それを行う1つの手段である。フォワーディングダイナミックリンクライブラリを用いて印刷コマンドを取り出すこと、そして、ホットスポット又は変換されたキャラクタに対応する座標の一部分についての印刷表現を分析することを座標捕捉は含む。特徴抽出モジュール3778は、一実施例により、捕捉モジュール3735の機能を実行可能にする。
注釈モジュール3780は、共有される注釈及び共有される注釈に関連する書類の内の付随する指標部分を受信可能にし、それを行う1つの手段である。共有される注釈を受信することは、エンドユーザから及びSDAサーバから注釈を受けることを含む。
ホットスポットモジュール3785は、1つ以上のクリップを1つ以上のホットスポットに関連付けることを可能にし、それを行う1つの手段である。ホットスポットモジュール3785は、書類の中でホットスポットの位置を先ず指定し、ホットスポットに関連するクリップを決めることで、ホットスポット定義の作成を可能にする。
表現/表示モジュール3790は、書類又は書類の印刷表現を、表現又は表示されるようにし、それを行う1つの手段である。
ストレージモジュール3795は、ページレイアウト、画像処理された書類、ホットスポット定義及び特徴表現を含む様々なファイルの格納を可能にし、それを行う1つの手段である。
ソフトウエア部3765−3795が個別的なソフトウエアモジュールであることは必須でない。図示のソフトウエアコンフィギュレーションは、単なる例示に過ぎず、本開示から明らかになるように、本発明の範囲内で他のコンフィギュレーションも想定される。
書類にホットスポットを埋め込む
図38は、書類にホットスポットを埋め込む本発明の一実施例による方法のフローチャートを示す。
本方法によれば、書類中のホットスポットの指示に関連するマークが書類に埋め込まれる(3810)。一実施例では、ホットスポット指示位置を含む書類がブラウザでの表示に備えて受信され、例えば或る書類がソースファイル3710からブラウザ3715で受信される。ホットスポットは、電子データに加えて、あるテキストを又は図形や写真等のような他の書類オブジェクトを含む。電子データはオーディオ又はビデオのようなマルチメディアを含んでもよいし、ホットスポットがアクセスを受けた場合に捕捉装置で実行される一群のステップを表してもよい。例えば、書類がハイパーテキストマークアップ言語(HTML)ファイルであった場合、ブラウザはインターネットエクスプローラであり、指示はHTMLファイル中のユニフォームリソースロケータ(URL)でもよい。図39AはURL3920を伴うそのようなHTMLファイル3910の例を示す。図40Aは、例えばインターネットエクスプローラのようなブラウザ4010で表示される際の、図39AのHTMLファイル3910のテキストを示す。
(3810)でマークを埋め込むため、ブラウザ3715のプラグイン3720は、識別可能な基準マーク各々と共に各ホットスポット指示位置を包囲し、ホットスポットを作成する。一実施例では、プラグイン3720は、ブラウザ3715で表示される書類(例えば、上記に続いてインターネットエクスプローラで表示されるHTML)を修正し、ホットスポット指示位置(例えば、URL)を一まとめにするマーク又はタグを挿入する。そのマークは、ブラウザ3715で又は書類の印刷バージョンでその書類を見るエンドユーザにとって感知できないほど小さいかもしれないが、印刷コマンドで検出可能なものである。この例では、MMRクーリエニュー(MMR Courier New)と言及される新しいフォントが、基準マークの開始及び終了を付け加えるために使用される。MMRクーリエニューフォントでは、キャラクタ“b”、“e”及び数字用の一般的なグリフ又はドットパターンは、空白スペースで表現される。
図39A及び40Aに示されるHTMLページ例を更に参照するに、プラグイン3720は、URLの開始位置で基準マーク“b0”を(“here”)、URLの終了位置で基準マーク“e0”を埋め込み、識別子“0”と共にホットスポットを示す(3810)。b,e及び数字キャラクタはスペースとして表示されるので、ユーザは、書類の表示の中でほとんど又は全く変化を見ない。更に、プラグイン3720は、図41に示されるようなこれらのマークを示すシンボリックホットスポット指示(情報)3725を作成する。シンボリックホットスポット指示3725は、ホットスポット番号を0で特定し、それは“b0”及び“e0”基準マークにおける0に対応する。この例では、シンボリックホットスポット指示3725は例えばデータストア3750に格納される。
図39Bに示されるように、プラグイン3720はHTMLのマークアップバージョン3950をブラウザ3715に返す。マークアップHTML3950は、基準マークをスパンタグ3960で囲み、スパンタグは、そのフォントを1ポイントのMMRクーリエニューに変える。b,e及び数字キャラクタはスペースで示されるので、ユーザは書類の表示上でほとんど又は全く変化を見ない。マークアップHTML3950は修正されたファイル3730の一例である。個の例は簡明化のため1ページモデルを使用しているが、複数ページモデルが同じパラメータを使用してもよい。例えば、ホットスポットがページ境界を跨ぐ場合、そのホットスポットは各ページ位置に対応する基準マークを有し、各々のホットスポット識別子は同じである。
次に、印刷コマンドに応じて、印刷表現及びホットスポットに対応する座標が取得される(3820)。一実施例では、捕捉モジュール3735は印刷コマンド内のテキスト及び描画コマンドを「取り出す(tap)」。捕捉モジュール3735はテキスト及び描画コマンドを全て実行し、更に、その印刷表現中のキャラクタ及び/又はイメージ全てのx−y座標その他のキャラクタを取得及び記録する。この例では、捕捉モジュール3735は印刷表現用のデバイスコンテキスト(DC)を参照し、DCは印刷表現の構造に対する操作ハンドルであり、その構造は出力フォーマットに依存して出力されるテキスト及び/又はイメージの属性を決める(例えば、プリンタ、ウインドウ、ファイルフォーマット、メモリバッファ等)。印刷表現用の座標を捕捉するプロセス(3820)では、ホットスポットは、HTMLに埋め込まれた基準マークを用いて容易に特定される。例えば、開始マークに遭遇すると、終了マークが発見されるまで、全てのキャラクタのx−y座標が記録される。
一実施例では、捕捉モジュール3735は、「印刷捕捉DLL」と言及されるフォワーディングDLLであり、既存のDLLの機能に付加又は修正を可能にする。フォワーディングDLLは、クライアントに正確にオリジナルのDLLを示すが、コール(call)が検索対象の(オリジナル)DLLに転送される前に、追加的なコード(タップ)が機能の全部又は一部に加えられる。この例では、印刷捕捉DLLは、ウインドウズグラフィックスデバイスインターフェース(Windows(登録商標) GDI)DLL gdi32.dll用のフォワーディングDLLである。gdi32.dllは、600を越える出力ポートを有し、その全部が転送されることを要する。gid32_mmr.dllとして言及される印刷可能DLLは、描画にDLL gdi32.dllを使用する何らかのウインドウズアプリケーションからプリントアウトをクライアントが捕捉することを可能にし、リモートサーバに印刷する場合でさえ、ローカルコンピュータで実行することだけを要する。
一実施例によれば、gdi32_mmr.dllはgdi32.dllに改名され、C:\Windows\system32にコピーされ、ウインドウズアプリケーションほぼ全体からの印刷をモニタすることを引き起こす。別の実施例では、gdi32_mmr.dllはgdi32.dllに改名され、アプリケーションのホームディレクトリにコピーされ、そのアプリケーションについての印刷が監視される。例えば、C:\Program Files\Internet Explorerは、ウインドウズXPのインターネットエクスプローラをモニタする。この例では、このアプリケーション(例えば、インターネットエクスプローラ)だけが印刷捕捉DLLの機能を自動的に呼び出す。
図44は、フォワーディングDLLで使用される本発明の一実施例によるプロセスのフローチャートを示す。印刷捕捉DLL dgi32_mmr.dllは、gdi32.dllに向けられたファンクションコールを先ず受ける(4405)。一実施例では、gdi32_mmr.dllはgdi32.dllに向けられた全てのファンクションコールを受信する。gdi32.dllは約600個のファンクションコール全体の内200個程度をモニタし、それらは何らかの方法で印刷されるページの外観に影響を及ぼす機能である。次に、印刷捕捉DLLは、受信したコールが監視されるファンクションコールであるか否かを確認する。受信したコールが監視されるファンクションコールでなかった場合、そのコールはステップ4415乃至4435を迂回し、gdi32.dllに転送される(4440)。
受信したコールが監視されるファンクションコールであった場合、次に本方法は、そのファンクションコールが「新たな」プリンタデバイスコンテンツ(DC)を指定するか否か(即ち、プリンタDCが過去に受信されているか否か)を確認する。これは、内部DCテーブルに対してプリンタDCを検査することで確認される。DCは、上述したように、フォントや色等の描画設定だけでなく、(プリンタ、メモリバッファ等でもよい)描画する検索対象をも包含する。全ての描画処理(例えば、LineTo()、DrawText()等)はDC上で実行される。プリンタDCが新しくなかった場合、そのプリンタDCに対応するメモリバッファが既に存在しており、ステップ4420はスキップされる。プリンタDCが新しかった場合、新たなプリンタDCに対応するメモリバッファDCが作成される。このメモリバッファDCは、印刷されるページの出現を反映し、この例では、上記の印刷表現と等価である。こうして、プリンタDCが内部DCテーブルに加えられると、同じディメンジョンのメモリバッファDC(及びメモリバッファ)が作成され、内部DCテーブルの中でプリンタDCに関連付けられる。
Gdi32_mmr.dllは、次に、コールがテキスト関連のファンクションコールであるか否を確認する(4425)。監視される200個のgdi32.dllコールの内約12個程度はテキスト関連である。テキスト関連でなければステップ4430はスキップされる。ファンクションコールがテキスト関連であった場合、テキスト関連出力がxmlファイルに書き込まれ(4430)、そのファイルは、図37Aに示されるようなpage_dec.xml3740として言及される。
図42A及び42Bは、図39A及び40Aを参照しながら説明されたHTMLファイル例3910のpage_dec.xml3740を例示する。Page_dec.xml3740は、ワード4210(例えば、Get)により、x、y、幅及び高さにより、並びにキャラクタ4220(例えば、G)により、印刷されるテキスト全てについての座標情報を含む。全ての座標はドットにおけるものであり、それはプリンタにおける画素のようなものであり、別様に定義されない限り、ページの左上隅に対する座標である。Page_dec.xml3740は、開始マーク4230及び終了マーク4240のようなホットスポット情報を「シーケンス」の形式で含む。ページ境界にわたるホットスポット(例えば、ページNからページN+1にかけてのホットスポット)の場合、ホットスポットが双方のページ(N及びN+1)に登場し、何れの場合もホットスポット識別子は同じである。更に、他の情報が、page_dec.xml3740に含まれ、他の情報は、ページ4280及び印刷可能領域4290のインチ当たりのドット数(dpi)及び解像度(res)に加えて、プリンタポート名4250(生成される.xml及び.jpegファイルに大きな影響を及ぼす)、ブラウザ3715(又はアプリケーション)の名前4260及び印刷の日時4270のようなものである。
図44を再び参照するに、コールがテキスト関連でなかったことの確認に続いて、又はテキスト関連出力をpage_dec.xml3740に書き込んだことに続いて、gdi32_mmr.dllは、DCのメモリバッファでファンクションコールを実行する(4435)。このステップ4435は、出力をプリンタに提供し、ローカルコンピュータのメモリバッファへの出力も提供する。そして、ページが増えると、メモリバッファのコンテンツは圧縮され、JPEG及びPNGフォーマットで書き込まれる。そしてファンクションコールはgdi32.dllに転送され(4440)、あたかも通常なされるようにそれを実行する。
図38を参照するに、ホットスポットを含む印刷表現を有するページレイアウトが表現される(3830)。一実施例では、その表現3830は書類を印刷することを含む。図40Bは図39A及び40AのHTMLファイル3910の印刷バージョン4011の例を示す。基準マークはエンドユーザにとって視覚的に感知できるものでないことに留意を要する。表現されたレイアウトは、例えばデータストア3750に保存される。
一実施例によれば、印刷捕捉DLLは、例えば図42A−Bに示されるようにシンボリックホットスポット記述3725及びpage_dec.xml3740の中のデータを、図43に示されるようなhotspot.xml3745に併合する。この例では、hotspot.xml3745は、書類が印刷される際に作成される。図43の例は、ホットスポット0がx=1303,y=350にあり、190ピクセルの幅及び71ピクセルの高さであることを示す。ホットスポットのコンテンツは、http://www.richo.com.で示される。
捕捉モジュール3820の代替例によれば、マイクロソフトプリンタドライバでのフィルタXPS(XMLプリント仕様)は、“XPSDrv filter”のように一般に知られており、テキスト描画コマンドを受信し、page_dec.xmlファイルを上述のように作成する。
視覚的に見えるホットスポット
図45は、書類中のホットスポットに対応するキャラクタを変換する本発明の一実施例による方法のフローチャートを示す。本方法は、エンドユーザ及びMMR認識ソフトウエア双方を示す方法で、ホットスポットが存在する印刷書類を修正する。
先ず、印刷される電子書類がキャラクタストリームとして受信される(4510)。例えば、キャラクタストリームを選別できるプリンタドライバ又はソフトウエアモジュールで、書類が受信されてもよい(4510)。一実施例では、ソースファイル3710から書類がブラウザ3715で受信される。図46は、本発明の一実施例による書類4610の電子バージョン例を示す。この例の書類4610は2つのホットスポットを含み、1つは“are listed below”に関連し、1つは“possible prior art”に関連する。ホットスポットは一実施例ではエンドユーザが視覚的に感知できるものでない。図38を参照しながら説明された座標捕捉法により、或いは上記の他の何らかの方法により、ホットスポットが設定されてもよい。
ホットスポットの始まりを示す開始マークを求めて書類が分析される(4520)。開始マークは、上述したような基準マークでもよいし、或いは、ホットスポットを特定する個々に識別可能な何らかの他のマークでもよい。いったん開始マークが発見されると、ある変換規則が書類の一部分に適用され(4530)、即ち、終了マークが発見されるまで開始マーク以降のキャラクタに適用される。変換規則は、一実施例では例えばキャラクタのフォント又は色を修正することで、ホットスポットに対応する書類の一部分に目に見える修正を引き起こす。この例では、例えばタイムスニューロマン(Times New Roman)のような元のフォントが、例えばOCR-Aのような別の既知のフォントに変換される。別の例では、テキストが例えば青#F86Aのような別のフォントカラーで表現される。フォントを変換するプロセスは、一実施例の上記のプロセスと同様である。例えば、書類がHTMLファイル4610であった場合、書類4510の中で基準マークに遭遇すると、そのフォントはHTMLファイルの中で置換される。
一実施例による変換ステップは、ブラウザ3715に対するプラグイン3720により実行され、修正された書類3730をもたらす。図47は、本発明の一実施例による印刷された修正済みの書類例を示す。図示されるように、ホットスポット4720及び4730は、残りのテキスト部分と視覚的に区別可能である。特に、ホットスポット4720は異なるフォントで視覚的に区別可能であり、ホットスポット4730は異なる色及び下線で視覚的に区別可能である。
次に、変換された部分を伴う書類は、あるページレイアウトに表現され、それは電子書類及び電子書類内でのホットスポットの場所を含む。一実施例では、書類を表現することは書類を印刷することを含む。一実施例では、表現は、変換された部分を伴う書類について(上記のような方法の何れかに従って)特徴抽出を行うことを含む。一実施例では、特徴抽出は、印刷コマンドに応答して、電子書類に対応するページ座標を捕捉することを含む。そして電子書類は変換されたキャラクタに対応する座標の一部分について分析される。一実施例では図37Aの捕捉モジュール3735が特徴抽出及び/又は座標捕捉を実行する。
MMR認識ソフトウエアは、同じ変換規則を用いて全画像に前処理を施す。先ず、その規則に従うテキストを探し(例えば、OCR-Aのものや、ブルー#F86Aのもの)、次に通常の認識アルゴリズムを適用する。
本発明のこの態様は、非常に簡単な画像処理ルーチンを利用することになるので、MMR認識ソフトウエアの演算負担をかなり削減し、演算するオーバーヘッドの大部分を省略できる点で有利である。更に、例えば図51A−Dを参照しながら説明されるように、境界ボックスが書類の一部分上にあるならば、適用するかもしれない代替法の大多数を選択肢から削除することで、特徴抽出の精度を改善できる。更に、テキストの目に見える修正は、どのテキストが(又は他のどの書類オブジェクトが)ホットスポットの部分であるかを示す。
共有書類注釈
図48は、本発明の一実施例による共有される書類注釈法のフローチャートを示す。本方法は、共有される環境でユーザが書類に注釈を付けることを可能にする。以下に説明される実施例では、共有される環境は、様々なユーザが眺めるウェブページであるが、他の実施例での共有される環境は、ワークグループ等のように、リソースが共有される如何なる環境でもよい。
本方法によれば、ソース書類は例えばブラウザ3715のようなブラウザに表示される(4810)。一実施例では、ソース書類はソースファイル3710から受信され、他の実施例では、ソース書類は例えばインターネット接続のようなネットワークを介して受信されたウェブページである。そのウェブページの例を用いて説明するに、図49Aは、本発明の一実施例によるブラウザ中のソースウェブページサンプル4910を示す。この例では、ウェブページ4910は、一般的な子供向け書籍のキャラクタ−ジェリーバターゲーム(Jerry Butter Game)に関連するゲームのHTMLファイルである。
ソース書類のディスプレイでは(4810)、ソース書類に関連する共有注釈とその共有注釈に関連するソース書類の部分の指示とが受信される(4820)。この例では説明の簡明化のため、1つの注釈が使用されるが、複数の注釈を使用することもできる。その例では、複数の注釈はここで説明されるようなMMRで使用されるデータ、指示又は相互作用である。注釈は、一実施例では、図37Aに示される3755のような共有ドキュメンテーション注釈サーバ(SDA: Shared Documentation Annotation server)に格納され、そこから取り出すことで受信される。SDAサーバ3755は一実施例ではネットワーク接続を介してアクセス可能である。共有される注釈の抽出用のプラグインは、この例では、図37Aに示されるようなプラグイン3720であり、この機能を促進する。別の実施例では、注釈及び指示がユーザから受け取られる。ユーザは如何なる注釈も含んでいない書類に対して共有される注釈を作成してもよいし、或いは既存の共有されている注釈を書類に付け加える又は修正してもよい。例えば、ユーザは、ソース書類の一部分を強調(ハイライト)し、共有される注釈との関連を指示し、その注釈は、叙述した様々な方法でユーザにより用意される。
次に、修正された書類がブラウザで表示される(4830)。修正された書類は、ステップ4820で指定されたソース書類の一部に対応するホットスポットを含む。ホットスポットは、共有される注釈の場所を指定する。一実施例によれば、修正書類は、プラグイン3720で生成される修正ファイル3730の一部であり、ブラウザ3715に返される。図49Bは、本発明の一実施例によるブラウザにおける修正ウェブページサンプル4920を示す。ウェブページ4920は、ホットスポット4930の指示及び関連する注釈4940を示し、注釈はこの例ではビデオクリップである。指示4930は、例えばハイライトすることで、残りのウェブページ4920のテキストと視覚的に区別されてもよい。一実施例によれば、指示4930がクリックされる又はマウスを操作すると、注釈4040が表示される。
印刷コマンドに応答して、修正書類の印刷表現に対応するテキスト座標及びホットスポットが捕捉される(4840)。座標捕捉の詳細は、本願で説明されるどの方法に従ってもよい。
次に、ホットスポットを含む印刷表現のページレイアウトが表現される(4850)。一実施例では、その表現4850は、書類を印刷することである。図49Cは、本発明の一実施例による印刷されたウェブページサンプル4950を示す。印刷されたウェブページレイアウト4950は指示されるようにホットスポット4930を含むが、ウェブページ4920とは異なり、行は印刷レイアウト4950では中断している。この例では、ホットスポット4930の境界は、印刷されたレイアウト4950では視覚可能でない。
選択的な最終ステップでは、共有される注釈は、例えばデータストレージ3750に格納され、印刷された書類4950内のホットスポット4930との関連性を用いてインデックスされる。その印刷表現もローカルに保存されてよい。一実施例では、印刷するアクションは、ダウンロード及びローカルコピーの作成を引き起こす(トリガを与える)。
画像処理書類のホットスポット
図50Aは、ホットスポットを画像処理書類に付加する本発明の一実施例による方法を示すフローチャートである。本方法は、スキャン後に紙書類にホットスポットを付加できるようにする、或いは印刷用に表現された後にシンボリック電子書類にホットスポットを付加できるようにする。
先ず、ソース書類は画像処理書類に変換される(5010)。一実施例ではソース書類は、ソースファイル3710からブラウザ3715で受信される。その変換(5010)は、特徴抽出を行う対象の書類を生成し、特徴表現を生成する如何なる方法でなされてもよい。一実施例によれば、紙書類がスキャンされ、それが画像処理書類になる。別の実施例では、電子書類の表現可能なページプルーフが、適切なアプリケーションを用いて表現される。例えば、表現可能なページプルーフがポストスクリプトフォーマットであった場合、ゴーストスクリプトが使用される。図51Aは、一実施例でスキャンされた新聞のページ5110の一部を示すユーザインターフェース5105の一例を示す。メインウインドウ5115は、新聞ページ5110の大きな部分を示し、サムネイル5120はページのどの部分が表示されるかを示す。
次に、画像処理書類に特徴抽出が適用され(5020)、特徴表現を作成する。本願で説明された様々な特徴抽出のどれでもがこの目的に使用されてもよい。一実施例では、特徴抽出は、図37Aを参照しながら説明された捕捉モジュール3735によって実行される。そして、1つ以上のホットスポット5125が画像処理書類に加えられる(5030)。ホットスポットは、予め決められていてもよいし、或いは様々な例に応じて決められる必要があってもよい。ホットスポットが既に決まっている場合、その定義は、ページ数、ページ上のホットスポットの境界ボックスの場所、ホットスポットに付随する電子データ又は相互作用等を含む。一実施例では、ホットスポットの定義は図43に示されるようにhotspot.xmlファイルの形をとる。
ホットスポットが決まっていなかった場合、エンドユーザがホットスポットを決めてもよい。図50Bは、画像処理書類に付けるホットスポットを決める本発明の一実施例による方法のフローチャートを示す。先ず、ホットスポット候補が選択される(5032)。例えば、図51Aでは、エンドユーザが境界ボックス5125を使って書類の一部をホットスポットとして選択している。次に、所与のデータベースについて、ホットスポットがユニークであるか否かが選択的なステップ5034で確認される。例えば、n”×n”で囲まれるパッチ内にホットスポットを一意に特定するのに十分なテキストが存在すべきである。nの典型的な値は2である。ホトスポットがそのデータベースに対して十分にユニークでなかった場合、一実施例では、その曖昧さを如何にして処理するかについての選択肢がユーザに提示される。例えば、ユーザインターフェースは、より大きな領域を選択すること、曖昧さを許容するがその説明をデータベースに付け加えること等のような選択肢を用意してもよい。他の実施例は、ホットスポットを決める別方法を使用してもよい。
ホットスポットの場所が選択されると(5032)、データ又は相互作用が決定され(5036)、それがホットスポットに付け加えられる。図51Bは、選択されたホットスポットに関連付けるデータ又は操作を決めるユーザインターフェース例を示す。例えば、ユーザが境界ボックス5125を選択すると、編集ボックス5130が表示される。関連するボタンを使って、ユーザはその操作を取り消してもよいし(5135)、境界ボックス5125を単に保存してもよいし(5140)、或いはデータ又はやり取りをホットスポットに割り当ててもよい(5145)。データ又はやり取りをホットスポットに割り当てることをユーザが選択した場合、図51Cに示されるように、割り当てボックス5150が表示される。割り当てボックス5150は、イメージ5155、様々な他のメディア5160及びウェブリンク5165をユーザがホットスポットに割り当てることを可能にし、割り当てられるものはID番号で区別される。そして、ユーザはホットスポット定義を保存することを選択してもよい(5175)。簡明化のため1つのホットスポットしか記載されていないが、複数のホットスポットが使用されてもよい。 図51Dは、書類内のホットスポットを表示するユーザインターフェースを示す。一実施例では、異なる色の境界ボックスが、様々なデータ及びやり取りのタイプに対応している。
選択的なステップでは、画像処理書類、ホットスポット定義及び特徴表現は、例えばデータストア3750内に格納される(5040)。
図52は、MMRドキュメント500及びMMRシステム100bを使用する本発明の一実施例による方法を示す。
本方法5200は、第1書類又は第1書類の表現を取得することから始まる(5210)。第1書類を捕捉する具体的な方法は、以下の(1)〜(4)を含む:(1)MMRコンピュータ112のオペレーティングシステム内で印刷書類のテキストレイアウトを、PD捕捉モジュール318を介して自動的に捕捉することで、第1書類が捕捉されること;(2)MMRコンピュータ112のプリンタドライバ316内で印刷書類のテキストレイアウトを自動的に捕捉することで、第1書類が捕捉されること;(3)例えばMMRコンピュータ112に接続されたスキャン書類スキャナ装置127を介して紙書類をスキャンすることで、第1書類が捕捉されること;及び(4)印刷書類の表現であるファイルを自動的に又は手動的にMMRコンピュータ112に転送、アップロード又はダウンロードすることで、第1書類が捕捉されること。捕捉ステップは印刷書類のほとんど又は全てを捕捉するように説明されているが、捕捉ステップ5210は、印刷書類の最少部分だけについて実行されもよいことが理解されるべきである。更に、書類は1つの書類を捕捉する観点から説明されているが、このステップは、多数の書類を捕捉し、第1書類のライブラリを作成するように実行されてもよい。
いったん捕捉ステップ5210が実行されると、本方法5200は第1書類についてインデックス処理を実行する(5212)。インデックス処理は、書類の関連する電子表現と関連する第2メディアタイプとを確認し、捕捉された第1書類又はその一部に一致する入力を探すことを可能にする。一実施例でのこのステップでは、書類インデックス処理は、PDインデックス322を生成するPD捕捉モジュール318により実行される。インデックス処理の具体例は、以下の(1)〜(6)を含む:(1)印刷書類のキャラクタのx−y座標が索引付けされること、(2)印刷書類のワードのx−y座標が索引付けされること、(3)印刷書類のイメージの又はイメージの一部のx−y座標が索引付けされること、(4)OCR画像処理が実行され、キャラクタ及び/又はワードのx−y座標がそれに応じて索引付けされること、(5)表現されたページの画像から特徴抽出が実行され、その特徴のx−y座標が索引付けされること、及び(6)ページのシンボリックバージョンで特徴抽出が実行され、その特徴のx−y座標が索引付けされること。索引付け処理は、本発明のアプリケーションに依存して上記のインデックス処理の何れか又はグループを包含してよい。
本方法5200は第2書類を捕捉する(5214)。このステップ5214では、捕捉される第2書類は、書類全体でもよいし、第2書類の一部分(パッチ)だけでもよい。第2書類を捕捉する方法の具体例は、以下の(1)〜(8)を含む:(1)捕捉装置106の1つ以上の初速手段230を用いてテキストのパッチをスキャンすること;(2)捕捉装置106の1つ以上の捕捉手段230を用いてテキストのパッチをスキャンし、その後に、意図される特徴記述が適切に取り出される尤度を決めるように画像を処理すること。例えば、インデックスがOCRに基づいている場合、画像がテキストの複数行を含んでいるか否か及び画像の鮮明さが良好なOCR処理に十分か否かをシステムが決めてもよい。その判定が否定的であった場合、テキストの別のパッチがスキャンされる;(3)スキャンされる書類を特定するマシン読み取り可能な識別子(例えば、国際標準書籍番号(ISBN)又はユニバーサルプロデュースコード(UPC))をスキャンすること;(4)表現される書類又は一群の書類を特定するデータ(例えば、スポーツ写真マガジンの2003年版)を入力し、その後に、テキストのパッチが本方法の(1)又は(2)によりスキャンされること;(5)添付された第2書類と共に電子メールを受信すること;(6)第2書類をファイルトランスファで受信すること;(7)捕捉装置106の1つ以上の捕捉手段230で画像の一部分をスキャンすること;及び(8)入力装置166と共に第2書類を入力すること。
ステップ5210及び5214がいったん実行されると、本方法は、第1書類及び第2書類間で書類照合又はパターン照合を実行する(5216)。一実施例では、第1書類と第2書類のドキュメントフィンガープリント照合を実行することでそれが実行される。ドキュメントフィンガープリント照合は、第2メディア書類についてPDインデックス322を問い合わせることで実行される。ドキュメントフィンガープリント照合の具体例は、ステップ5214で捕捉した画像から特徴を抽出し、それらの特徴から記述子を構成し、ある割合の記述子を含む書類及びパッチを探すことである。データベースが多数の書類を格納する場合、各書類につき一度、ライブラリ又はデータベース中の何らかの書類が第2書類に合致しているか否かを確認するために、このパターン照合ステップが、複数回実行されてもよいことが理解されるべきである。或いは、索引付けステップ5212は書類5210にインデックスを加え、そのインデックスは、書類のコレクションを及びパターン照合ステップが一度行われたことを表す。
最終的に本方法5200は、ステップ5216の結果に基づいて及びユーザ入力に選択的に基づいて或るアクションを時国交する(5218)。一実施例では、本方法5200は所定のアクションを探し、そのアクションは、所与の書類パッチに関連し、例えばステップ5216で照合しているように発見されたホットスポット506に関連する第2メディア504に格納される。所定のアクションの具体例は、以下の(1)〜(6)を含む:(1)ドキュメントイベントデータベース320、インターネット等から情報を取得すること;(2)システムの出力を受ける準備の整ったMMRシステム100bにより確認された場所に情報を書き込むこと;(3)情報を探すこと;(4)捕捉装置106のようなクライアント装置で情報を表示し、ユーザと双方向の対話を行うこと;(5)後の実行に備えて、方法ステップ5216で決定したアクション及びデータをキューに入れること(ユーザの介入は選択的でもよい);及び(6)方法ステップ5216で決定したデータ及びアクションを速やかに実行すること。本方法ステップの結果の具体例は、情報の抽出、修正された書類、他のアクションの実行()、セットトップボックス126のようなケーブルTVボックスに送られるコマンドの入力等を含み、ケーブルTVボックスは、ビデオをケーブルTVボックスに流すケーブルTVサーバ(例えば、サービスプロバイダサーバ122)に結合される。ステップ5218が一旦実行されると、本方法5200は完了し、終了する。
図53は、本発明の一実施例によるMMRシステム100bに関連する一群のビジネスエンティティ例5300のブロック図を示す。一群のビジネスエンティティ5300は、MMRサービスプロバイダ5310、MMRコンシューマ5312、マルチメディア企業5314、プリンタユーザ5316、セルラ電話サービスプロバイダ5318、ハードウエア製造業者5320、ハードウエア小売業者5322、金融機関5324、クレジットカード処理者5326、書類出版者5328、書類印刷者5330、フルフィルメントハウス5332、ケーブルTVプロバイダ5334、サービスプロバイダ5336、ソフトウエアプロバイダ5338、広告企業5340及びビジネスネットワーク5370を含む。
MMRサービスプロバイダ5310は、図1A乃至5及び52を参照しながら説明したMMRシステム100の所有者及び/又は管理者である。MMRコンシューマ5312は、図1Bを参照しながら以前に説明された何らかのMMRユーザ110を表す。
マルチメディア企業5314はディジタルマルチメディア製品の何らかのプロバイダであり、例えば、ディジタルムービー及びビデオゲームを提供するブロックブラスターインコーポレーション(テキサス州ダラス)や、ディジタルミュージック、映画及びTV番組を提供するソニーコーポレーションオブアメリカ(ニューヨーク州ニューヨーク)等である。
プリンタユーザ5316は、印刷された紙書類を作成するために何らかの種類の何らかのプリンタを使用する何らかの個人又は組織(エンティティ)である。例えば、MMRコンシューマ5312は、プリンタユーザ5316や書類印刷者5330になってもよい。
セルラ電話サービスプロバイダ5318は何らかのセルラ電話サービスプロバイダであり、例えば、ベリゾンワイヤレス(ニュージャージー州ベッドミンスター)、シンギュラーワイヤレス(ジョージア州アトランタ)、TモバイルUSA(ワシントン州ベレブ)及びスプリントネクステル(バージニア州レストン)等である。
ハードウエア製造業者5320はハードウエア装置の何らかの製造業者であり、例えば、プリンタ、セルラ電話又はPDAの製造業者である。ハードウエア製造業者の具体例は、例えば、ヒューレットパッカード(テキサス州ヒューストン)、モトローラインコーポレーテッド(イリノイ州シカゴ)及びソニーコーポレーションオブアメリカ(ニューヨーク州ニューヨーク)等である。ハードウエア小売業者5322は、プリンタ、セルラ電話又はPDAの小売業者のような、ハードウエアの何からの小売業者である。ハードウエア小売業者の具体例は、限定ではないが、ラジオショックコーポレーション(テキサス州フォートワース)、サーキットシティストアインコーポレーテッド(バージニア州リッチモンド)、ウォルマート(アーカンサス州ベントンビル)及びベストバイコーポレーション(ミネソタ州リッチフィールド)等を含む。
金融機関5324は何らかの銀行又はクレジット組合のような何らかの金融機関であり、銀行口座の管理、他銀行又は金融機関へ及びそこからの資金のやりとりを処理する。クレジットカード処理者5326は何らかのクレジットカード機関であり、クレジットカード認証を管理し、購買処理のプロセスを承認する。クレジットカードプロセッサの具体例は、限定ではないが、クリックバンクを含み、それは、クリックセールスインコーポレーテッド(アイダホ州ボイシ)、シャレイトインコーポレーテッド(ミネソタ州プレーリー)及びシーシーナウ(CCNow)インコーポレーテッド(ミネソタ州エデンプレーリー)のサービスである。
書類出版者5328は何らかの書類発行会社であり、限定ではないが、グリゲス(Gregath)出版社(オクラホマ州ワイアンドット)、プレンティスホール(ニュージャージー州アッパーサドルリバー)及びペリカン出版社(ルイジアナ州グレトナ)等である。書類印刷者5330は何らかの書類印刷会社であり、限定ではないが、PSプリントLLC(カリフォルニア州オークランド)、プリントリザードインコーポレーテッド(ニュージャージー州バッファロ)及びミネオインコーポレーテッド(ニューヨーク州ニューヨーク)等である。他の例では、書類出版者5328及び/又は書類印刷者5330は、新聞又は雑誌を作成及び配布する何らかの者(エンティティ)である。
フルフィルメントハウス(fulfillment house)5332は、周知のように注文の調達に特化した何らかの第三者物流ウェアハウスである。フルフィルメントハウスの具体例は、限定ではないが、コーポレートディスクカンパニー(イリノイ州マックヘンリー)、オーダーモーションインコーポレーテッド(ニューヨーク州ニューヨーク)及びシップワイヤドットコム(カリフォルニア州ロスアンゼルス)等である。
ケーブルTVプロバイダ5334は何らかのケーブルTVサービスプロバイダであり、限定ではないが、コムキャストコーポレーション(ペンシルバニア州フィラデルフィア)及びアデルフィアコミュニケーションズ(コロラド州グリーンウッドビレッジ)等である。サービスプロバイダ5336は、何らかのサービスを提供する何らかのエンティティを表現する。
ソフトウエアプロバイダ5338は何らかのソフトウエア開発会社であり、限定ではないが、アートアンドロジックインコーポレーテッド(カリフォルニア州パサデナ)、ジグソーデータコーポレーション(カリフォルニア州サンマテオ)、データミラーコーポレーション(ニューヨーク州ニューヨーク)及びデータバンクIMX,LCC(メリーランド州ベルツビル)等である。
広告企業5340は何らかの広告会社又は代理店であり、限定ではないが、DアンドBマーケティング(イリノイ州エルハースト)、ブラックシープマーケティング(マサチューセッツ州ボストン)及びゴータムダイレクトインコーポレーテッド(ニューヨーク州ニューヨーク)等である。
ビジネスネットワーク5370は、それにより取引関係が設定及び/又は支援される何らかの仕組みを表す。
図54は、本発明の一実施例によるMMRシステム100bを利用することで促される一般化されたビジネス方法5400を示す。少なくとも2つのエンティティの間で或る関係を設定すること、可能性のある取引関係を決定すること、少なくとも1つの取引を実行すること及び取引に関する製品又はサービスを配達/提供することを方法5400は含む。
先ず、少なくとも2つのビジネスエンティティ5300の間で或る関係が設定される(5410)。ビジネスエンティティ5300は、例えば(1)MMRクリエータ、(2)MMRディストリビュータ、(3)MMRユーザ及び(4)その他のような4つの大まかなカテゴリに揃えられ、ビジネスエンティティは1つより多くのカテゴリに該当する。この例によれば、ビジネスエンティティ5300は次のように分類される:
●MMRクリエータは、MMRサービスプロバイダ5310、マルチメディア会社5314、書類発行者5328、書類印刷者5330、ソフトウエアプロバイダ5338及び広告会社5340などである。
●MMRディストリビュータは、MMRサービスプロバイダ5310、マルチメディア会社5314、セルラ電話サービスプロバイダ5318、ハードウエア製造業者5320、ハードウエア小売業者5322、書類発行者5328、書類印刷者5330、フルフィルメントハウス5332、ケーブルTVプロバイダ5334、サービスプロバイダ5336及び広告会社5340等である。
●MMRユーザは、MMRコンシューマ5312、プリンタユーザ5316及び書類印刷社5330等である。
●その他は、金融機関5324及びクレジットカード処理者5326等である。
例えば本方法のステップでは、MMRクリエータであるMMRサービスプロバイダ5310、MMRユーザであるMMRコンシューマ5312、MMRディストリビュータであるセルラ電話サービスプロバイダ及びハードウエア小売業者の間で取引関係が設定される。更に、ハードウエア製造業者5320は、ハードウエア小売業者5322との取引関係を有し、双方ともMMRディストリビュータである。
次に、方法5400はステップ5410で設定された関係を有する者の間で可能性のある取引を決定する。特に、何らかの2以上のビジネスエンティティ5300の間で様々な取引がなされる。取引の具体例は次のようなものを含む:情報を購入すること;物理的な商品を購入すること;サービスを購入すること;帯域幅を購入すること;電子ストレージを購入すること;広告を購入すること;広告統計資料を購入すること;商品を発送すること;情報を販売すること;物理的な商品を販売すること;サービスを販売すること;帯域幅を販売すること;電子ストレージを販売すること;広告を販売すること;広告統計資料を販売すること;貸与/リースを行うこと;意見/格付け/投票を集めること等々。
方法5400が各人の間の可能な取引を決定すると、少なくとも1つの取引で合意に至るようにMMRシステム100が使用される(5414)。特に、取引結果をもたらす何らかの2以上のビジネスエンティティ5300の間で様々なアクションが起こるかもしれない。アクションの具体例は次のようなものを含む:情報を購入すること;注文を受けること;より多くの情報を求めてクリックすること;スペースを用意すること;ローカルの/リモートのアクセスを行うこと;ホスティングを行うこと;発送すること;取引を発生させること;プライベート情報を格納すること;他者に情報を伝送すること;コンテンツを付加すること;及びポッドキャストすること等々。
方法5400でその取引について合意に至ると、例えばMMRコンシューマ5312に取引に係る製品又はサービスを配布/提供するためにMMRシステム100が使用される(5416)。特に、方法ステップ5414でビジネス取引が合意に達したことで、様々なコンテンツが何らかの2以上のビジネスエンティティ5300の間で取引される。コンテンツの具体例は、テキスト、ウェブリンク、ソフトウエア、静止画写真、ビデオ、オーディオ及びそれらの何らかの組み合わせ等を含む。更に、取引を促すために、何らかの2以上のビジネスエンティティ5300の間で様々な拡布手段が使用されてよい。拡布手段の具体例は、紙、パーソナルコンピュータ、ネットワークコンピュータ、キャプチャー装置106、パーソナルビデオ装置、パーソナルオーディオ装置及びそれらの何らかの組み合わせ等を含む。
上記実施例で説明及び請求される発明に加えて、本発明の1つ以上の実施例の少なくとも1つの形態は、混合メディア書類を用意するようにコンピュータで実行される方法をもたらす。本方法は、紙書類から抽出された特徴の電子記述を(インデックステーブルで)受信するステップを含む。インデックステーブルは、紙書類及び書類中の特徴の場所を、印刷されるディジタルメディアを合成した混合メディア書類に関連付けるためのものである。 検索対象書類中のオブジェクト間の2次元的な位置関係を捕捉するクエリタームを受信するステップ、及びインデックステーブルからのデータに基づいてクエリタームに応じて可能性のあるロケーション候補及び少なくとも1つの混合メディア書類を算出するステップに本方法は続く。そのような或る場合、本方法は検索対象書類に関連する付加的な特徴を格納するステップを含む。そのような或る場合、付加的な特徴は、テキスト情報の抽出、図形情報の抽出、プロセスの実行、コマンドの実行、ある順序に並べること、ビデオを抽出すること、音を抽出すること、情報を格納すること、新たな書類を作成すること、書類を印刷すること及び/又は書類を表示することを含む1つ以上のアクションを含む。別の特定の場合、紙書類から抽出された特徴の電子記述を(インデックステーブルで)受信するステップは、複数の紙書類から抽出された特徴の電子記述を受信するステップを含む。別の特定の場合、少なくとも1つの混合メディア書類及びロケーション候補を算出するステップは、インデックステーブルからのデータに基づいて、混合メディア書類、ページ及びロケーション候補のランク付けされた群を算出するステップを含む。別の特定の場合、検索対象書類中のオブジェクト間の2次元的位置関係を捕捉するクエリタームを受信するステップは、検索対象書類から抽出された一群の横に及び縦に隣接するワードペアを受信するステップを含む。別の特定の場合、インデックステーブルは逆タームインデックステーブルを含み、その逆タームインデックステーブル中の固有のターム各々は記録(レコード)のリストを指し、各レコードは混合メディア書類中のページ上の候補領域を特定する。その場合、少なくとも1つの混合メディア書類及びロケーション候補を算出するステップは、クエリタームに対応するキー(key)で索引付けされるレコード全てを検査するステップと、全てのクエリタームに最も一致する領域を特定するステップとを含む。特定された領域が、合致基準を満たす一致スコアを持つ場合、本方法は、対応する混合メディア書類及びロケーション候補を確認するステップを更に含んでもよい。或る特定の場合、検索対象書類は、紙書類の画像である或いはその紙書類のパッチである。
本発明の1つ以上の実施例の内の少なくとも1つの他の形態は、命令と共にエンコードされたマシン読み取り可能な媒体(例えば、コンパクトディスク、ディスケット、サーバ、メモリスティック、ハードドライブ、ROM、RAM等の1つ以上、又は電子命令を格納するのに適した如何なるタイプのメディアでもよい)をもたらし、該命令は、1つ以上のプロセッサにより実行される場合に、混合メディア書類システム中の情報を組織する及び情報へアクセスする処理をプロセッサに実行させる。そのプロセスは、例えば、上記の方法と同様でもよいし、異なっていてもよい。
本発明の1つ以上の実施例の内の少なくとも1つの他の形態は、混合メディア書類を用意するデータベースをもたらす。本システムはインデックステーブルを含み、紙書類から抽出された特徴の電子記述を受信すること、及び紙書類と書類中の特徴の場所とを、印刷されるディジタルメディアを合成する混合メディア書類に関連付けることに備える。本システムはアキュムレータモジュールを含み、検索対象書類中のオブジェクト間の2次元的な位置関係を捕捉するクエリタームを受信し、インデックステーブルからのデータに基づいて、クエリタームに応答する可能性のある少なくとも1つの混合メディア書類及びロケーション候補を算出する。ある特定の場合、本システムはストレージファリリティ(例えば、リレーショナルデータベース)を含み、検索対象書類に関連する追加的な特徴を格納する。テキスト情報の抽出、図形情報の抽出、プロセスの実行、コマンドの実行、ある順序に並べること、ビデオを抽出すること、音を抽出すること、情報を格納すること、新たな書類を作成すること、書類を印刷すること及び/又は書類を表示することを含む1つ以上のアクションを含む。別の特定の場合、インデックステーブルは、複数の紙書類から抽出された特徴の電子記述を受けることができる。別の特定の場合、紙書類は複数のページを含み、インデックステーブルは、混合メディア書類、ページ及びそれらのページの中におけるx−y位置属性を特定するよう構築される。別の特定の場合、アキュムレータモジュールで実行される少なくとも混合メディア書類及びロケーション候補を算出することは、インデックステーブルからのデータに基づいて、ロケーション候補、ページ及び混合メディア書類のランク付けされた群を算出することを含む。別の特定の場合、検索対象書類中のオブジェクト間の2次元的な位置関係を捕捉するクエリタームを受信すること(アキュムレータモジュールで実行される)は、検索対象書類から抽出された横に及び縦に隣接するワードペア群を受信することを含む。別の特定の場合、インデックステーブルは逆タームインデックステーブルを含み、その逆タームインデックステーブル中の固有のターム各々は記録(レコード)のリストを指し、各レコードは混合メディア書類中のページ上の候補領域を特定する。そのような場合、少なくとも1つの混合メディア書類及びロケーション候補を算出することは、クエリタームに対応するキー(key)で索引付けされるレコード全てを検査することと、全てのクエリタームに最も一致する領域を特定することとを含む。特定された領域が、合致基準を満たす一致スコアを持つ場合、アキュムレータモジュールは、対応する混合メディア書類及びロケーション候補を確認してもよい。別のそのような場合、インデックステーブルは混合メディア書類各々について関連情報を含む書類インデックステーブルを更に含み、その関連情報は、印刷解像度、印刷日、用紙サイズ、シャドーファイル名及びページ画像位置の少なくとも1つを含む。別の特定の場合、インデックステーブルで受け取られる記述は特徴抽出モジュールで算出され、特徴抽出モジュールは、抽出した特徴を、それらの特徴の内部書類位置データに関連付ける。ある特定の場合、検索対象書類は紙書類の画像又はその紙書類のパッチである。本システムの機能は様々な手段と共に実現可能であり、そのような手段は、ソフトウエア(例えば、1つ以上のコンピュータ読み取り可能な媒体でエンコードされている実行可能な命令)、ハードウエア(例えば、ゲートレベルのロジック又は1つ以上のASIC)、ファームウエア(例えば、I/O機能を備えた1つ以上のマイクロコントローラ及びここで説明される機能を実行する組込ルーチン)又はそれらの何らかの組み合わせである。データベースシステムはここで説明されるような混合メディアリアリティ(MMR)システムで実現可能であり、MMRシステムは、例えば、もう1つのサーバで、コンピュータシステムで、携帯用装置で又はそれらの何らかの組み合わせで実行される機能を備える。
特定の実施例では、MMRシステムはインデックステーブルと共にコンテンツベースの抽出データベースを含み、テキストベースのインデックスを用いて探索することを許容する方法で、インデックステーブルは、印刷書類から抽出されたオブジェクト間の2次元的な幾何学的位置関係を表現する。書類、ページ及びロケーション候補のランク付けされた群が、インデックステーブルから所与のデータの元で算出可能である。本技法は画像パッチ内で検出された特徴をテキストタームに(又は他のサーチ可能な特徴に)効率的に変換し、テキストターム等は、特徴それ自身及びそれらの間の幾何学的位置関係の双方を表現する。ストレージ手段は、書類画像パッチ各々に関する付加的な特徴を格納するために使用可能である。
ここで提示されるアルゴリズムは、何らかの特定のコンピュータ又は他の装置に固有に関連付けられない。様々な汎用の及び/又は専用のシステムが、本発明の実施例に応じてプログラムされ又は構築されてもよい。本開示から明らかにされるように、様々なプログラミング言語及び/又は構造が、そのような様々なシステムを実現するのに使用可能である。更に、本発明の実施例は、情報システム又はネットワーク上で動作してもよいし或いはその中で機能してもよい。例えば、本発明はスタンドアローンの複合機プリンタで動作してもよいし、或いはコンフィギュレーションに依存して変化する機能と共にネットワーク化されたプリンタ上で動作してもよい。ここで説明された全機能の内最少の機能と共に、本発明は何らかの情報システムと共に動作することも可能である。
本発明の実施例に関する上記の説明は、例示及び説明を意図してなされている。開示された厳密な形式に本発明を限定すること又は開示内容が限定的であることは意図されていない。多くの修正及び変形が上記の教示から可能である。本発明の範囲はこの詳細な説明に限定されず、本願の特許請求の範囲によってのみ限定されることが意図される。当業者に理解されるように、本発明の精神又は本質的特徴から逸脱せずに、本発明は他の形態に組み込まれてもよい。同様に、モジュール、ルーチン、特徴、属性、方法その他の形態の特定の区分け法及びネーミングは、必須でもなく重要でもない。本発明又は本発明の特長を実現する手段(メカニズム)は様々な名称、区分け法及び/又はフォーマットを備えていてよい。更に、関連する技術分野の当業者に明らかなように、モジュール、ルーチン、特徴、属性、方法等の本発明の他の形態は、ソフトウエアで、ハードウエアで、ミドルウエアで又はそれらの何らかの組み合わせで実現可能である。本発明のコンポーネント(一例としてそれはモジュールである)はソフトウエアとして実現され、コンポーネントは、スタンドアローンプログラムとして、静的に又は動的にリンクしたライブラリとして、カーネルローダブルモジュールとして、デバイスドライバとして実現可能であり、及び/又はコンピュータプログラミングの当業者にとって現在既知の又は将来既知になる何らかの方法で実現される。更に、本発明は如何なる特定のプログラミング言語で実現することにも限定されず、如何なる特定のオペレーティングシステムにも環境にも限定されない。従って、本発明の開示内容は例示的なものであり、添付の特許請求の範囲に記載される本発明の範囲を限定するものではない。
本願は、2005年8月23日付出願の米国優先権主張出願第60/710,767号、2006年4月17日付出願の米国出願第60/792,912号、2006年7月31日付出願の米国出願第11/461,147号、2006年7月31日付出願の米国出願第11/461,164号に基づくものであり、その全内容が本願のリファレンスに組み込まれる。