JP2007042126A - ラスタ画像表示用ハイブリッドデータ構造生成方法及び装置 - Google Patents

ラスタ画像表示用ハイブリッドデータ構造生成方法及び装置 Download PDF

Info

Publication number
JP2007042126A
JP2007042126A JP2006261005A JP2006261005A JP2007042126A JP 2007042126 A JP2007042126 A JP 2007042126A JP 2006261005 A JP2006261005 A JP 2006261005A JP 2006261005 A JP2006261005 A JP 2006261005A JP 2007042126 A JP2007042126 A JP 2007042126A
Authority
JP
Japan
Prior art keywords
bitmap
word
text
data structure
character
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006261005A
Other languages
English (en)
Inventor
Dennis G Nicholson
ジイ. ニコルソン デニス
James C King
シー. キング ジェームズ
David M Emmett
エム. エメット デイビッド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Adobe Inc
Original Assignee
Adobe Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=26970803&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2007042126(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from US08/298,655 external-priority patent/US5625711A/en
Application filed by Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of JP2007042126A publication Critical patent/JP2007042126A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • H04N1/411Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
    • H04N1/4115Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures involving the recognition of specific patterns, e.g. by symbol matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/12Detection or correction of errors, e.g. by rescanning the pattern
    • G06V30/127Detection or correction of errors, e.g. by rescanning the pattern with the intervention of an operator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/26Techniques for post-processing, e.g. correcting the recognition result
    • G06V30/262Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
    • G06V30/268Lexical context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Abstract

【課題】 レーザプリンタやコンピュータモニタ等のラスタディスプレイ装置上に画像を表示する改良した装置及び方法を提供する。
【解決手段】 本発明によれば、データ構造から派生されるラスタ画像を発生するシステム(10)が提供され、該システムは、データ処理装置と、該データ処理装置に対して入力ビットマップに関し認識処理を実行し入力ビットマップ内における識別可能なオブジェクトを検知する認識器と、識別可能なオブジェクト及び識別不可能なオブジェクトに対応するコード化データ及び入力ビットマップを包含するハイブリッドデータ構造を発生するメカニズムと、ハイブリッドデータ構造内の入力ビットマップから派生される視覚的に知覚可能なラスタ画像を発生することの可能な出力装置とを有することを特徴としている。
【選択図】 図1

Description

本発明は、大略、デジタル的に格納及び/又は処理された画像を表示する技術に関するものであって、更に詳細には、例えばレーザプリンタやコンピュータモニタ等のラスタ表示装置上に画像を表示する方法及び装置に関するものである。
デジタル画像は効率的に格納し、編集し、印刷し、再生し、且つその他の方法で走査することが可能である。従って、例えば用紙上の画像をデジタイゼーションとして知られるプロセスによってその画像のデジタル表示へ変換することが望ましいことが多々ある。画像のデジタル表示は原始的なもの即ち非コード化、即ちコード化していないもの(例えば、画像要素即ち「ピクセル(画素)」のアレイ)とすることが可能であり、又原始的表示を発生させることの可能なより高いレベルの記述的コード化情報(例えば、ASCII文字コード)を有することが可能である。一般的に、ハイレベルのコード化デジタル表示は原始的な非コード化表示よりも一層コンパクトである。
光学文字認識(OCR)は、デジタイゼーション即ちデジタル化及びビットマップ表示におけるテキストをASCII文字コード等のハイレベルコード化表示へ変換する方法を包含している。OCRデジタル化においては、例えば用紙等の印刷表面上のテキスト文字が典型的に光学スキャナによって走査され、その際に画像のピクセル(画素)のビットマップが形成される。ピクセル即ち画素は画像の基本的な画像要素であって、且つビットマップはその画像の各ピクセルに関する情報を包含するデータ構造である。ビットマップは、それがオン/オフ情報以上のものを包含する場合には、しばしば、「ピクセルマップ」と呼称される。
他のタイプのプロセサも実世界の画像をデジタル化することが可能である。例えばデジタルカメラ等の装置を使用して、捕獲した画像に対応するビットマップを直接的に形成することが可能である。コンピュータシステムは該ビットマップから画像を形成し且つそれをコンピュータディスプレイ上に表示するか又はそのビットマップを印刷すべくプリンタへ送給することが可能である。ビットマップ発生器は、他のタイプの画像関連入力を処理し且つ表示することの可能なビットマップへ変換するために使用することが可能である。入力するファクシミリ(ファックス)データは処理し、認識し、印刷等を行なうことの可能な低分解能ビットマップを有している。
ビットマップをコンピュータへ入力すると、該コンピュータはそのビットマップに関して認識処理を行ない、従って例えばテキストの文字又はその他の語句単位等の該入力ビットマップの各部分又はオブジェクトを認識し且つ所望のフォーマットのコードへ変換させる。次いで、そのように認識された文字又はその他のオブジェクトを表示し、編集し、又はコンピュータ上で稼動中のアプリケーションソフトウエアプログラムを使用してコード化データからその他の態様で処理することが可能である。
認識されたコード化オブジェクトを表示する幾つかの態様が存在している。レーザプリンタ又はコンピュータモニタ等のラスタ出力装置は、典型的に、プリンタ又はディスプレイスクリーン上で表示するためのピクセルマップ内へ挿入することの可能なコード化オブジェクトのビットマップを必要とする。ラスタ出力装置は、該ピクセルマップから行及び列の形態に配列されたピクセルのアレイを表示することによって画像を形成する。コード化オブジェクトのビットマップは、そのコードに対しメモリ内に格納されている出力ビットマップを検索することによって与えることが可能であり、その場合に各可能なコードは関連する格納されているビットマップを有している。例えば、フォントの形態で文字を表わすコードの場合には、1つのビットマップをそのフォントにおいて且つ必要とされる場合のあるそのフォントの各寸法に対して各文字と関連付けることが可能である。文字コード及びフォント寸法はビットマップへアクセスするために使用される。別のより効率的な方法は、各文字コードと関連する「文字アウトライン」を使用し且つ文字アウトライン及び寸法等のその他の文字情報から文字のビットマップをレンダリング(演出)させることである。文字アウトラインからビットマップをレンダリング即ち演出させるために一般的に使用される言語はカリフォルニア、マウンテンビューのアドビシステムズ、インコーポレイテッドによるポストスクリプト(PostScript)言語である。文字アウトラインは、例えばアドビシステムズ、インコーポレイテッドによるタイプ1(Type 1)フォーマット等のスタンダードなフォーマットで記述することが可能である。
OCRプロセスはコンピュータシステムへ供給されるデジタル化された画像の精度によって制限されている。デジタル化装置(例えばスキャナ)はそれが発生するビットマップへノイズを付加したり歪みを発生させる場合がある。更に、OCR処理はビットマップ画像を完全に認識するものではなく、特に、ビットマップ画像が低分解能のものであったり、又は低品質のものである場合にはそのことが言える。例えば、認識器が不明確な文字、互いに近付き過ぎている文字、又はそれに対して情報を有することのないフォントからなる文字等を誤って読取る場合がある。
不完全な認識は、認識された文字の編集を行なう場合及び画像を印刷又は表示する場合に問題を発生させる場合がある。誤って認識した画像は誤って表示される場合があり、且つ全く認識されなかった画像は全く表示されない場合があり、又は何等かの誤った画像として表示される場合がある。このことはOCR処理の価値を低減させる。何故ならば、認識された文書がかなりの編集作業を必要とする場合があるからである。
欧州特許出願公開0564201A2号公報 欧州特許出願公開0024524A1号公報 欧州特許出願公開0539106A2号公報 米国特許第4985863号公報
本発明は、上述した如き従来技術の欠点を解消しレーザプリンタやコンピュータモニタ等のラスタ表示装置上に画像を表示することの可能な改良した装置及び方法を提供することを目的とする。
本発明は、コード化オブジェクト及び非コード化オブジェクトを記述するデータ構造を発生する方法及び装置を提供している。本発明は光学スキャナ又はその他のビットマップ発生器によって与えられるビットマップからテキスト又はその他のオブジェクトを認識するために適用可能である。認識器によって認識されるオブジェクト及び認識されないオブジェクトはデータ構造内に格納される。見かけ上完全に認識された文書は、データ構造内のコード化オブジェクトと関連する元のビットマップを表示することによって与えられる。
本発明装置は、データ処理装置及びビットマップ内のオブジェクトを検知するために入力ビットマップに関して認識処理を行なう認識器を包含する画像生成システムを有している。認識器は識別可能なオブジェクト及び識別不可能なオブジェクトに対し該オブジェクトからコード化部分を生成する。本システムは、識別可能なオブジェクトに対応するコード化部分及び識別可能なオブジェクトに対応する入力ビットマップの部分に対するリンクを包含するデータ構造を生成する。識別不可能なオブジェクトのコード化部分、及び対応するビットマップ部分に対するリンクも、好適には、そのデータ構造内に包含される。プリンタ、プロッタ又はコンピュータディスプレイ等の出力装置が、該入力ビットマップから派生された視覚的に知覚可能な画像を発生する。該画像はそれらの元のビットマップ形態で識別可能なオブジェクト及び識別不可能なオブジェクトを描写しており、従って認識誤りによって発生される不正確な画像が表示されることはない。入力ビットマップをデータ処理装置へ供給するために、光学スキャナ、デジタルカメラ、ビットマップ発生器等の入力装置を包含させることが可能である。
認識器が検知可能なビットマップのオブジェクトは、好適には、文字や単語等の語句単位を包含している。識別不可能なオブジェクトは、好適には、認識スレッシュホールド信頼性レベルに到達しない認識されなかった単語に対応している。本システムは、好適には、入力ビットマップに対し幾何学的な補正を行ない、その場合に、ビットマップの歪みマップを形成し且つ歪みマップ及びビットマップからのレイアウト補正変換を形成する。
本発明は、更に、画像のビットマップからデータ構造を生成する方法を包含している。本方法は、デジタルプロセサ上で実現され、画像のビットマップを包含する信号を入力し且つ該ビットマップを語句単位の階層構造へ区画化する。少なくとも1つのコード化オブジェクトが所定の階層レベルの各語句単位へ割当てられ、その場合に各コード化オブジェクトは関連する信頼性レベルを有している。最後に、コード化オブジェクト及びコード化オブジェクトをそれに対応する語句単位へリンクさせるリンクデータがデータ構造内に格納される。コード化オブジェクトがスレッシュホールド信頼性レベルよりも高い信頼性レベルを有する場合には、そのコード化オブジェクトは識別可能なものであると考えられる。語句単位に対するコード化オブジェクトがスレッシュホールド信頼性レベルよりも高い信頼性レベルを有するものでない場合には、その語句単位は識別不可能なものであると考えられ且つ最も高い信頼性レベルを有するその語句単位に対するコード化オブジェクトとして格納される。所定の階層レベルは、好適には、文字階層レベル及び単語階層レベルを包含している。
本発明の更に別の側面においては、データ構造を生成し且つ走査するシステムが、入力ビットマップ内の語句単位を検知するデータ処理装置において動作する認識器を有している。解析器がデータ処理装置のメモリ内にデータ構造を形成し且つ格納する。そのデータ構造は、入力ビットマップ内の語句単位に対応するコード化した識別可能なオブジェクト及びコード化した識別不可能なオブジェクトを包含している。表示装置がデータ構造の少なくとも一部の画像を、入力ビットマップを表示することによってスクリーン等の表示装置上に発生させ且つ表示させる。データ処理装置上において構成された表示マネジャがスクリーン上の画像を走査する。この表示マネジャはデータ構造、従って画像を編集することを可能とするエディタ(編集器)を包含している。このエディタはコード化データをレンダリングさせた画像として表示し、且つ識別不可能なオブジェクトを識別可能なオブジェクトへ変化させるために使用することが可能である。表示マネジャは、更に、好適には、サーチする単語又は句に対して正確に近似的に一致するものを見つけだすためにデータ構造のコード化オブジェクトをサーチするファインダ即ち探索器を包含している。一致したコード化オブジェクトに対応する語句単位は、好適には、それが現在表示されている場合にはハイライトさせる。
本発明の更に別の側面においては、データ装置上において画像を生成する方法がビットマップ内のオブジェクトを検知するために入力ビットマップに関する認識処理を行なう。データ構造が形成されて、オブジェクトの各々に対応するコード化部分及びコード化部分の各々に対応する例えば単語ビットマップ等の非コード化部分を包含する。次いで、データ構造から視覚的に知覚可能な画像が発生される。この画像はデータ構造の非コード化部分から派生される。オブジェクトの各々は、好適には、関連する信頼性レベルを有しており、且つ識別不可能なオブジェクトはスレッシュホールド信頼性レベルよりも低い信頼性レベルを有する認識されなかった単語に対応している。スレッシュホールド信頼性レベルより低い信頼性レベルを有するオブジェクトは前記非コード化部分として表示される。好適には、前記画像発生ステップ期間中に、オブジェクトの全ての信頼性レベルがスレッシュホールド信頼性レベルより低くなるようにスレッシュホールド信頼性レベルを上昇させ、その結果全てのオブジェクトに対する非コード化部分のみが表示されることとなる。好適には、入力した単語又は句に対してデータ構造をサーチするステップ及びデータ構造のコード化部分を編集するステップも包含される。
本発明の利点は、デジタル化した画像内のオブジェクトが、認識された画像としてではなくそれらの元のビットマップ形態で表示される。従って、誤って認識された画像から表示エラーが発生する可能性はない。ユーザはソース即ち元の画像と同一の画像を表示する。本発明の別の利点は、データ構造が、ユーザによってサーチし、編集し、且つその他の態様で走査することの可能なコード化データを包含していることである。
本発明は幾つかの異なるタイプのフォント、文字寸法、フォーマット変形例、及び認識困難な文字を包含する走査したテキストの頁を表示するのに特に適している。然しながら、本発明は、更に、例えばグラフィックな建築図、地図、技術的イラスト等のその他のタイプの画像表示にも適したものである。
本明細書においては、画像及びそれに関連した構造に関して多数の用語を使用する。「ピクセル(画素)」は画像の単一の画像要素のことである。複数個のピクセルが集まって画像を形成する。「ビットマップ」とはピクセルを表わすデータ構造内のデジタルメモリ内に格納されるビットのことである。本明細書においては、「ビットマップ」は各ピクセルがオンか又はオフのいずれかである黒白ピクセルを出力するためのデータ構造、及び例えばカラー又は中間調ピクセルの場合の各ピクセルに対してより大きくの情報を有する「ピクセルマップ」の両方のことを意味する。「分解能」は表示されるか又は印刷された画像のピクセルの寸法、形状及び離隔のことを意味する。例えば、非常に小さく密接したピクセルからなる表示されたビットマップは、広く分散し大きなピクセルを有する表示されたビットマップよりもより高い分解能を有している。「レンダリング(演出)」とは、例えば文字アウトライン等の画像記述からビットマップを形成することを意味している。「ラスタ」とは行及び列の形態で配列したピクセルのアレイを表示することによって画像を形成する出力装置上のピクセルの配列のことを意味する。ラスタ出力装置としては、レーザプリンタ、コンピュータディスプレイ、ビデオディスプレイ、LCDディスプレイ等がある。「コード化」データ又は部分とは、例えばビットマップ形態における生のデータよりも演算装置においてより容易に処理可能であり且つより簡潔であるように設計された「コード」によって表現されるものである。「非コード化」データ又は部分とは例えばビットマップのデータ等のコードによって表現されることのないデータのことである。例えば、小文字「a」は例えばASCIIコードにおける番号97のコード化データとして表現することが可能であり、又ディスプレイスクリーン又はプリンタ等の出力装置上に「a」の外観を形成するために使用することの可能な非コード化グラフィック又は画像データとして表現することが可能である。フォントは、通常、コード化データを非コード化データと関連付ける1つ又はそれ以上の関連した「コード」を有している。
図1において、ラスタ画像を生成するためのコンピュータシステム10は、入力装置12と、デジタルコンピュータ14と、ディスプレイスクリーン16と、プリンタ18と、キーボード20と、フロッピィディスクドライブ22と、ハードディスクドライブ24とを有している。入力装置12は、ビットマップ画像をデジタルコンピュータ14へ入力するために使用される。図示した実施例においては、入力装置12は、光学スキャナ26、デジタルカメラ28及び/又はビットマップ発生器30を包含している。光学スキャナ26は、画像を走査し走査した画像からビットマップを発生する装置である。このようなスキャナは、典型的には、例えば用紙32等の用紙上に形成された画像をデジタルコンピュータ14へ入力することの可能なビットマップ形態へデジタル化するために使用される。そのようにして発生されたビットマップは、通常、走査された用紙からの文字及び単語等のテキスト的なオブジェクトを包含している。本発明と共に使用するのに適した光学スキャナとしては、カリフォルニア州パルアルトのヒューレットパッカード社によって製造されているScanJet IIcxがある。デジタルカメラ28は該カメラによって捕獲される画像のビットマップを形成する。例えば、ユーザがカメラ28である情景の「スナップショット」を撮ると、該カメラはその情景をデジタル化し且つデジタルデータをビットマップとしてデジタルコンピュータ14へ出力する。デジタルカメラは当業者にとって公知である。ビットマップ発生器30はビットマップを発生しそのビットマップをデジタルコンピュータ14へ出力する任意の装置とすることが可能である。例えば、別のコンピュータシステムがネットワークデータライン又はモデム(不図示)を使用して電話線を介してデジタルコンピュータ14へビットマップを供給することが可能であり、又ビットマップはデジタルコンピュータのファクシミリ(ファックス)カードによって受信することが可能である。更に、ユーザはコンピュータ上でビットマップを発生させることが可能であり且つそのビットマップをフロッピィディスク22によるか又はその他の記憶媒体によってシステム10へ送給することが可能である。デジタルカメラ28及びビットマップ発生器30によって発生されたビットマップは、光学スキャナ26によって発生されたビットマップと同様に、テキストオブジェクト又はその他のオブジェクトを包含することが可能である。これらのオブジェクトは本発明において使用する認識器によって識別可能な場合も識別可能でない場合もある(以下に説明)。
デジタルコンピュータ14は1つ又はそれ以上の入力装置12から入力ビットマップを受取り、且つその入力ビットマップを表示し、変換し及び/又は走査することが可能である。図示した実施例においては、コンピュータ14は入力ビットマップ内のテキスト文字又はその他のタイプのオブジェクトを認識するための認識器を実現することも可能である。一度認識されると、文字又はその他の識別可能なオブジェクトは例えばASCII等の標準的フォーマットでコード(コードデータ)として格納することが可能である。これらのコード化オブジェクトはそのコードのフォーマットを受付けるアプリケーションプログラムによって表示し且つ走査することが可能である。次いで、ユーザはディスプレイスクリーン16上でフォーマット化したオブジェクトを観察することが可能であり、且つ、所望により、それらを編集することが可能である。デジタルコンピュータ10はパソコン(例えば、IBM−PC ATコンパチパソコン)、ワークステーション(例えばSUN又はヒューレットパッカードワークステーション)等とすることが可能である。
出力装置上に画像を表示するために、コンピュータは1つ又はそれ以上のタイプの手順を実施することが可能である。例えば、コンピュータ14はビットマップデータの画像を表示するために入力ビットマップデータを直接ディスプレイスクリーン16又はプリンタ18へ転送することが可能である(又は、ビットマップデータをメモリキャッシュへ供給することが可能である)。該コンピュータは、更に、コード化オブジェクトを画像記述へ変換することが可能である。例えば、認識されたテキスト文字に対するコードを画像記述と関連付けることが可能であり、そのことは認識された文字のビットマップの幾つかのコピーよりも使用するメモリ空間はより少ない。公知の画像記述言語はカリフォルニア州マウンテンビューのアドビシステムズ、インコーポレイテッドによるポストスクリプト(PostScript)言語である。例えば、画像記述は、文字の形状を記述する格納されている文字アウトラインを参照することが可能であり且つその他のレンダリング情報を包含している。公知の文字アウトラインフォーマットはアドビシステムズ、インコーポレイテッドによるType 1フォーマットである。文字アウトラインを使用する場合には、コンピュータ14は各文字に対するビットマップをレンダリングさせ且つそのビットマップを表示のために出力装置に対してアクセス可能な格納区域へ送給することが可能である。他の実施例においては、例えばプリンタ等の出力装置が文字アウトラインからビットマップをレンダリングすることの可能なマイクロプロセサ又は同様のコントローラを包含することが可能である。
デジタルコンピュータ14は、更に、入力ビットマップ又は入力ビットマップの画像記述を修正するために使用することも可能である。ユーザがビットマップのある部分を変化させることを希望する場合には、デジタルコンピュータ14がこれらの変化を実行し且つ変化した画像を出力装置の1つへ供給する。
ディスプレイスクリーン16は入力ビットマップの画像及び/又は入力ビットマップから派生された画像(即ち、レンダリングされた画像)を表示する。図示した実施例においては、ディスプレイスクリーン16はピクセルの行及び列の形態でビットマップのビットに対応してスクリーン上に画像を表示するラスタ装置である。即ち、ビットマップをディスプレイスクリーン16へ入力させ且つビットマップのビットをピクセルとして表示させることが可能である。入力ビットマップは第一実施例においてはディスプレイスクリーン上に直接的に表示される。別の実施例においては、又はコード化データを編集している場合には、コンピュータ14は最初に画像記述をビットマップへレンダリングさせ且つ表示されるべきこれらのビットマップをディスプレイスクリーン16へ送給することが可能である。例えばCRT、LCDディスプレイ等のラスタディスプレイスクリーンが本発明に適している。
プリンタ装置18は入力ビットマップの画像及び/又は入力ビットマップから派生された画像を用紙又は同様の表面上に与える。プリンタ18はレーザプリンタとすることが可能であり、それは、ディスプレイスクリーン16と同じく、ビットマップから派生されたピクセルを表示するラスタ装置である。プリンタ装置18はコード化及び非コード化データから派生された画像をプリントすることが可能である。例えばプロッタ、タイプセッタ等のその他の装置をプリンタ装置18として使用することが可能である。
キーボード20はコマンド及びその他の命令をデジタルコンピュータ14へ入力するためにユーザによって使用される。ディスプレイスクリーン16上に表示されるか又はデジタルコンピュータ14へアクセス可能な画像は、キーボード20によって入力された命令によってユーザにより編集し、サーチし又はその他の走査を行なうことが可能である。
フロッピィディスクドライブ22及びハードディスクドライブ24は、入力ビットマップ、画像記述、文字アウトライン及びレンダリングさせたビットマップを格納するために使用することが可能である。フロッピィディスクドライブ22は、このようなデータをその他のコンピュータシステム10へ搬送することを容易とし且つハードディスクドライブ24は大量の格納空間を必要とする傾向のある例えばビットマップ等の大量の格納されているデータへの高速のアクセスを行なうことを可能とする。その他のタイプの格納装置を使用することも可能である。
図2は図1に示したようなデジタルコンピュータ14及び関連する入力及び出力装置のブロック図である。デジタルコンピュータ14は、好適には、マイクロプロセサ36と、メモリバス38と、ランダムアクセスメモリ(RAM)40と、リードオンリメモリ(ROM)42と、ペリフェラルバス44と、キーボードコントローラ46とを包含している。
マイクロプロセサ36はデジタルコンピュータ14の動作を制御する汎用デジタルプロセサである。メモリから検索した命令を使用して、マイクロプロセサ36は入力装置12からの入力ビットマップデータの受領を制御し、任意の入力ビットマップの認識及び画像記述への変換を制御し、且つ任意の文字アウトラインの表示のための出力ビットマップへのレンダリングを制御し、出力ビットマップ及び/又は画像記述の例えばディスプレイスクリーン16及びプリンタ18等の出力装置への転送を制御し、且つこれらの出力装置の制御を行なう。例えば、マイクロプロセサ36は入力装置12から入力ビットマップを受取ることが可能である。これらの入力ビットマップは、例えば、用紙32上の文字を表わすことが可能である。その入力ビットマップは部分に分割させ且つ認識器によって文字として認識することが可能であり、その時点において、それらは例えばASCII又はポストスクリプト等のフォーマットで文字コード又はその他の語句単位として格納することが可能である。認識することの不可能な入力ビットマップのオブジェクト(「識別不可能なオブジェクト」)も(認識されなかった)コード化データとして格納される。このことについては後に詳細に説明する。別の実施例においては、識別不可能なオブジェクトは、識別可能なオブジェクトに対するコードを格納するのと同一のデータ構造内に、コード化データ及び関連する非コード化ビットマップとして格納することが可能である。このプロセスについては図4を参照して詳細に説明する。
メモリバス38はRAM40及びROM42へアクセスするためにマイクロプロセサ36によって使用される。RAM40は、マイクロプロセサ36によって汎用格納区域として及びスクラッチパッドメモリとして使用され、且つ入力ビットマップ及びレンダリングさせたビットマップを格納するために使用することも可能である。ROM42は、マイクロプロセサ36が実行する命令及び特定のフォーマットでビットマップの画像を表示するために使用される画像記述及び文字アウトラインを格納するために使用することが可能である。例えば、文字を表わす入力ビットマップの部分はASCII文字コード又は画像記述として認識し且つ記述することが可能である。文字と関連する文字アウトラインは、それらの文字のビットマップが出力装置によってレンダリングされた画像として表示されるべくレンダリングされる場合にROM42から検索することが可能である。一方、ROM42は、コンピュータ14内に設ける代わりに、例えばプリンタ18等の出力装置内に設けることも可能である。
ペリフェラルバス44は、デジタルコンピュータ14によって使用される入力、出力及び格納装置へアクセスするために使用される。図示した実施例においては、これらの装置は、フロッピィディスクドライブ22、ハードディスクドライブ24、光学スキャナ26、カメラ28、ビットマップ発生器30、ディスプレイスクリーン16、プリンタ装置18を包含している。キーボードコントローラ46は、キーボード20から入力を受取り且つ各押下げたキーに対するデコードされた記号をバス47を介してマイクロプロセサ36へ送給するために使用される。
図3はハイブリッドデータ構造から発生された本発明の表示されたラスタ画像50の一例を示した模式的説明図である。図5及び7を参照してより詳細に説明する如く、入力ビットマップのオブジェクト即ち「語句単位」は認識器により区画化され且つ解析される。認識器はオブジェクトの意味又は同一性の一つ又はそれ以上の推定又は仮定(「ラベル」)の各々に対して信頼性レベルを割当てる。この場合に、あるオブジェクトに対する少なくとも一つのラベルが認識信頼性スレッシュホールドよりも高い信頼性レベルを有する場合には、そのオブジェクトは「識別可能」又は「認識済」と考えられる。一方、認識信頼性スレッシュホールドより高いラベルを有するものではない場合には、そのオブジェクトは「識別不可能」又は「認識不良」と考えられる。従って、「認識不可能」ということは、本システムがそのオブジェクトの意味に関する仮定を有するものではないということを必ずしも意味するものではなく、このような仮定が存在する場合にそれが信頼性スレッシュホールドレベルよりも高い信頼性レベルを有するものではないことを意味するものである。
第一実施例においては、ラスタ画像50が入力ビットマップにおいて認識されたオブジェクトの信頼性レベルに拘らず、非コード化(即ち、ビットマップ)画像として表示されている。元の生の処理されていないビットマップ、又はその部分は、出力装置上に直接的に表示させることが可能であり、又は、各個別的な単語ビットマップはそれの対応する認識された単語の代わりに表示させることが可能である。このことは、例えばOCR装置を使用して得られた元の画像の分解能及び忠実性の全てを伴って正確な外観を有する画像とさせることを可能としている。表示された画像50は認識に依存するものではなく、そのことは、誤って認識されたオブジェクト又は認識に起因するその他の不正確性が表示される可能性がないという利点を有している。単語及び/又はビットマップのその他のオブジェクトは尚且つ解析され、且つ対応するコード化データがバックグラウンドにおいて形成されて、以下に説明する如く、オブジェクトのサーチ及び編集を行なうことを可能としている。
第二実施例においては、図3に示した如く、ラスタ画像50の認識されたオブジェクトをコード化データからレンダリングさせ且つ表示させることが可能である。文字52及び単語54は文字コードからレンダリングさせたラスタ画像である。これらの文字及び単語は、元の入力ビットマップ形態におけるよりもより容易に格納し且つ処理することの可能な関連した寸法及びタイプフェースを有する例えばASCII又はポストスクリプト等の特別の形態で格納されていた識別可能なコード化オブジェクトである。図3に示した如く、プリンタ18上で用紙上にプリントした場合に、各識別可能な文字と関連する文字アウトラインはプリンタ18によってコード化ラスタ画像として表示されるビットマップへレンダリングされる。
非コード化ラスタ画像56は文字52及び単語54とは異なっている。非コード化画像56はマイクロプロセサ36上で構成される認識器によって認識されなかった元の入力ビットマップの部分から派生されている。図示例においては、画像56のオブジェクトに対する認識の信頼性レベルはそのオブジェクトを識別可能なオブジェクトとして類分けすることが可能な程度に充分に高いものではなく、従って、それらは識別不可能なオブジェクトである。非コード化画像56は認識されず格納されている(例えば、ASCII)文字コード及び文字アウトラインから派生されたものではないので、それらは非コード化データから派生される。画像56は入力装置12からデジタルコンピュータ14によって受領された入力ビットマップから直接的に派生された画像としてプリンタ18上に表示される。従って、非コード化画像56は元の入力ビットマップ画像と同程度に正確であり且つ認識されることなしに表示させることが可能である。例えば、ライン57はグラフィック画像であるから文字又は単語として認識することは不可能である。これらのラインを記述する元のビットマップ部分の非コード化データからの画像の表示はこれらのラインを正確に描写することを可能とする。好適には、識別不可能なオブジェクトがハイブリッドデータ構造における(信頼性の低い)コード化データとして存在することであり、それらが単に表示されないものである。この場合に、「コード化画像」はコード化データから派生され、レンダリングされ且つ表示され、且つ「非コード化画像」は非コード化データを使用して派生され且つ表示される。
図4は入力ビットマップからのコード化及び非コード化データから派生されたハイブリッドデータ構造及びラスタ画像を生成する本発明方法を示したフローチャート60である。本発明プロセスの基本は、ハイブリッドデータ構造を生成し且つ格納することであり、ハイブリッドデータ構造の表示、編集及びサーチを行なうプロセスはその他のプロセス内に包含させるか又はその他のプロセスから与えることが可能である。
本プロセスはステップ62において開始し、且つ、ステップ64において、1つ又はそれ以上の入力装置12から生の入力ビットマップが検索される。上述した如く、その生のビットマップは、例えばテキスト文字及び単語又はその他の形状等の1つ又はそれ以上のオブジェクトを具有している。この生のビットマップは本発明の適宜のステップにおいて格納され且つマイクロプロセサ36へ与えられる。次のステップ66において、マイクロプロセサ36はこの生のビットマップを識別可能なオブジェクトと識別不可能なオブジェクトからなるハイブリッドデータ構造内へ変換させる。例えば単語及び文字等の識別可能なオブジェクトは以下に説明する如くマイクロプロセサ上に構成された認識器によって認識されるべきことが可能なビットマップの部分から派生される。識別不可能なオブジェクトは、認識器によって認識されることの不可能な入力ビットマップの部分から派生されたオブジェクトである。第一実施例において、ハイブリッドデータ構造は、更に、データ構造内のオブジェクトを生のビットマップの一部又は位置と関係付ける「リンク」をも包含している。このようなリンクは、以下に説明する如く、座標、ポインタ等を包含することが可能である。データ構造はコード化部分及び非コード化部分の両方がデータ構造によって参照されるという意味において「ハイブリッド」データ構造である。本プロセスは、オプションによってステップ66が完了した後に終了することが可能であり、そうでなければ、本プロセスはステップ68へ継続して行なわれる。
別の実施例においては、ハイブリッドデータ構造は識別可能なオブジェクトに対するコード化部分のみを有する場合がある。例えば、認識器は、入力ビットマップの全ての識別不可能なオブジェクトに対して「ヌル(null)」記号(又は、認識不可能であることを表わすその他の表示)であるコード化データを出力することが可能である。従って、マイクロプロセサはハイブリッドデータ構造において識別可能なオブジェクトに対してコード化データを有するに過ぎず、ハイブリッドデータ構造におけるヌル記号(又は、それと関連するヌル記号を有するコード済データ)を包含するものではない。
次のステップ68において、マイクロプロセサは後処理が存在するか否かを判別する。ステップ66において形成されたハイブリッドデータ構造をユーザが表示するか又は走査することを所望する場合には、後処理が発生する。この後処理は、もっと後で及び/又は別のコンピュータシステムで処理することが可能である(即ち、ハイブリッドデータ構造は一つのコンピュータで形成し且つ別のコンピュータに表示させるか走査させることが可能である)。後処理がない場合には、本プロセスはステップ70で示した如く完了し、即ち本プロセスはハイブリッドデータ構造の形成と共に完了する。後処理が存在する場合には、マイクロプロセサは、ユーザがハイブリッドデータ構造を表示し、ハイブリッドデータ構造を表示するか、ハイブリッドデータ構造をサーチするか、又はハイブリッドデータ構造を編集することを所望するか否かを判別する。
ユーザが表示を見ることを所望する場合には、ステップ72を実行し、その場合にマイクロプロセサ上で構成される表示マネジャがハイブリッドデータ構造の表示を制御する。ハイブリッドデータ構造は、例えば、ディスプレイスクリーン16上又はプリンタ18により用紙上に元のビットマップとして、即ち非コード化ラスタ画像として表示される。一方、表示されたハイブリッドデータ構造は識別可能なオブジェクトのコードから新たにレンダリングされたラスタ画像及び識別不可能なオブジェクトの元の非コード化ラスタ画像を包含している。適宜の表示マネジャ72としてはアドビシステムズ、インコーポレイテッドから入手可能なアクロバット(Acrobat)ソフトウエアがある。第二実施例を使用する場合には、図3に示した如く、識別不可能なオブジェクトの画像を、識別可能なオブジェクトの表示されたラスタ画像と整合し且つ実質的に一様な全体的な画像を形成するようにディスプレイ上に位置決めさせる。ハイブリッドデータ構造を表示するプロセスについては図10を参照して詳細に説明する。ハイブリッドデータ構造が表示されると、本処理はステップ68へ復帰する。
ユーザがハイブリッドデータ構造をサーチすることを所望する場合には、ステップ74が実行される。ステップ74において、マイクロプロセサはステップ72に関して詳細に説明したようにハイブリッドデータ構造を表示し且つユーザが例えば単語又は句等の特定のサーチ基準を特定することを可能とさせる。次いで、マイクロプロセサはそのように特定された基準に関してハイブリッドデータ構造のサーチを行なう。本発明のサーチ方法については図11を参照して詳細に説明する。データ構造はサーチプロセス期間中に表示させるか又は編集することが可能である。ユーザがサーチを完了すると、本プロセスはステップ68へ復帰する。
ユーザがハイブリッドデータ構造を編集することを希望する場合には、ステップ76が実行される。ハイブリッドデータ構造は、好適には、ステップ72において生のビットマップではなくレンダリングされたコード化画像を使用してディスプレイスクリーン上に表示される。更に、表示マネジャが、文字又は単語置換及び誤って認識された単語及び文字の編集等を包含する多数のオプションを提供するユーザに対しての編集インターフェースを提供する。この編集プロセスについては図12を参照して更に詳細に説明する。ユーザが編集を終了すると、本プロセスはステップ68へ復帰する。
図5は、図4に示した如く、生の入力ビットマップをハイブリッドデータ構造へ変換する状態を示したフローチャート66である。このプロセスはステップ80において開始する。ステップ82において、マイクロプロセサがビットマップを語句単位の階層へ区画化することによって入力ビットマップをセグメント化させる。「語句単位」とは文字、単語、テキストライン、テキストブロック等の単位乃至はオブジェクトに対応するビットマップ又は画像の部分のことを意味している。このプロセスは、例えば、テキストの頁を走査した光学スキャナによって発生されるビットマップ等のテキストの単語及び文字を包含する入力ビットマップへ直接適用することが可能である。然しながら、「語句単位」という用語は、更に、例えば通常の形状や、アイコンや、シンボルや、ライン等のグラフィックなオブジェクトのことも意味することが可能である。
図5aは入力ビットマップをセグメント化するためにこの実施例によって使用されるヒエラルキ即ち階層90を示した模式図である。この階層は本実施例においては7つのレベル92から構成されており、第一レベルは通常最も小さな面積を有する語句単位を包含しており、かつ第七レベルは通常最も大きな面積を有する語句単位を包含している。図5aに示した如く、1番目から7番目の階層レベルは「ブロブ(blob)」、文字、単語、テキストライン、テキスト(又はグラフィック)ブロック、頁、文書である。「ブロブ」とは例えば「i」文字のドット等のように単一の文字の一部を構成する連続的なマーク(インク又は例えばトナー、光ピクセル等のその他の表示された画像構成部分として発生するもの)のことを意味している。グラフィックブロックは、頁上の他のグラフィック部分から別個の単位を形成するその頁上のグラフィック画像の任意の部分とすることが可能である。例えば、余白空間によって取囲まれている1個のアイコン又は形状は1つのグラフィックブロックとして考えることが可能である。
図5bは図5aの階層の語句単位の一例を示している。文字94はこの階層におけるレベルIIである。単語96はレベルIIIであり、テキストライン98はレベルIVである。テキストブロック100はレベルVであり、且つ頁102はレベルVIである。最後に、図示例においては2つの頁からなる文書104はレベルVIIである。
図5cは図5の階層の「ブロブ」レベル及び文字レベルを示した模式図である。1個の文字94は1個又はそれ以上の「ブロブ」106を有することが可能である。例えば、文字「u」は1個のブロブを有するに過ぎず、それが文字全体である。一方、文字「i」は2個のブロブ106を有している。即ち、「i」のドットとその下側部分である。
図5に戻って説明すると、図5aに示した階層の各レベルの各語句単位をセグメント化し且つマイクロプロセサによって識別する。好適には、セグメント化した語句ユニットの座標及び語句ユニットを取囲むボックス(図9を参照して説明する)がこの時点において格納される。ビットマップがステップ82において語句ユニットの階層へ区画化されると、好適にステップ84が実行され、その場合に入力ビットマップの各頁の幾何学的補正が決定される。このステップにおいて、入力ビットマップの何れかの語句単位がビットマップ座標基準系に関して配向状態が誤っている場合には、補正用変換が形成される。ステップ84については図6を参照して詳細に説明する。
次のステップ86において、1つ又はそれ以上のラベルを有するラベルリストが1つ又はそれ以上の予め定められた階層レベルに構成されている各語句単位に対して認識器によって割当てられる。該リスト内の各レベルに対して信頼性レベルが割当てられ、それは該ラベルが語句単位を正しく表わすということを認識器がどれほど「信頼性」を有しているかの表示を与える。別の実施例においては、ある語句単位に対しての信頼性レベルが認識スレッシュホールドよりも低いものである場合に、その語句単位の元のビットマップ部分を検索するために所定の階層レベルにおける各語句単位に対して充分なる情報も割当てられている。これらのプロセスについては図7を参照して詳細に説明する。スレッシュホールドレベルより高い信頼性を有する1つ又はそれ以上のラベルを有する語句単位は「識別可能なオブジェクト」であり、スレッシュホールド値を超える信頼性レベルを持ったラベルを有することのない語句単位は「識別不可能なオブジェクト」である。識別可能なオブジェクトと識別不可能なオブジェクトの両方がステップ86においてハイブリッドデータ構造内に配置される。ステップ86を実行した後に、本プロセスはステップ88に示した如く完了する。
図6は、図5に示した如く、頁の幾何学的補正を決定するステップ84を示したフローチャートである。プロセス84はステップ110において開始し、且つステップ112において、その頁のレイアウト特性が測定される。このステップにおいて、補正が必要であるかを判別するために一般的な測定が行なわれるに過ぎない。例えば、出力ビットマップ座標系に関して入力ビットマップを回転する測定を行なうことが可能である。出力ビットマップ座標系はプリンタ18等の出力装置へ送給される出力ビットマップに対する基準配向状態を表わすことが可能である。ビットマップ座標ラインの角度に関するテキストラインの角度を測定することが可能である。又、ビットマップ座標系に関してテキストラインの曲率を測定することが可能である。テキストラインと座標格子線との間の距離をテキストラインの長さに沿って測定し、その距離が変化するか否かを判別することが可能である。ビットマップ全体の回転及びテキストラインの曲率の両方をこのステップにおいてチェックする。何故ならば、それらは1頁のテキスト又はその他の画像を光学スキャナ26によって走査した場合に発生する一般的な整合上の問題だからである。
ステップ114において、マイクロプロセサはビットマップレイアウトが何等かの歪みを有するか否かを判別する。ステップ112においてとられる測定値を検査し且つスレッシュホールド値と比較して一般的な歪みの検知を行なう。例えば、ビットマップの回転はビットマップ座標系に関してのテキストベースラインの角度測定を比較することによって検知することが可能である。該角度がスレッシュホールド値、例えば1°より低い場合には、何等歪みは存在しない。テキストラインの曲率即ち曲がりは各テキストラインとビットマップ座標系の格子線との間の距離を検査することによって検知することが可能である。この距離がスレッシュホールド範囲、例えば1/16インチを超えて変化するものではない場合には、歪みは存在しない。入力ビットマップが歪みを有するものではないことが判別されると、本プロセスはステップ116において示したように完了する。
入力ビットマップが歪みを有するものであると判別されると、ステップ118が実行され、該ビットマップから歪みマップが形成される。ビットマップ座標に関して直線的なオブジェクトの逸れを測定することによって歪みマップが形成される。直線的オブジェクトはテキストベースライン(即ち、テキストのラインにおけるディセンダを有することのない文字の底端部が整合されるライン)及びほぼ水平な又はほぼ垂直なグラフィックライン等のオブジェクトを包含する。この歪みマップは選択された直線的なオブジェクトの座標(例えば、ラインの端点)においてのx及びy変位のリストによって表現される。
ステップ120において、レイアウト補正変換が形成される。この変換は、測定された歪みが減少されるか又は除去されるようにマイクロプロセサがどのようにビットマップを調整するかを特定する。この補正用変換は、歪みマップの多項近似として表示することが可能である。補正変換を計算する方法は当業者にとって公知である。例えば、William et al.著「Cにおける数値的手ほどき−科学的計算技術(Numerical Recipes in C −The Art of Scientific Computing)」、第14章、ケンブリッジユニバーシティプレス、1988、の文献は最小二乗近似として知られるこのような方法の1つを記載している。この補正変換は、図10に関して詳細に説明する如く、画像として出力ビットマップを表示する前に使用される。このプロセスは、次いで、ステップ116において終了する。
図7は、所定の階層レベルにおいて各語句単位へラベルリストを割当て、且つ、別の実施例においては、ある語句単位に対する信頼性レベルがスレッシュホールドより低い場合にその語句単位の元のビットマップ部分を検索するために充分なる情報を割当てるステップ86を例示したフローチャートである。本明細書においては、「ラベルリスト」は、1つ又はそれ以上のコード化ラベル及び各ラベルに対する信頼性ラベルを包含している。従って、認識器によって発生されるラベルが1つだけであったとしても、そのラベルは尚且つ「リスト」内にあると考えることが可能である。図7の図示例においては、割当てられたラベルリストである所定の階層レベルは「文字」階層レベル(図5aにおけるレベルII)及び「単語」階層レベル(図5aにおけるレベルIII)である。従って、図示例は1頁のテキストを記述する入力ビットマップに対して最も適用可能である。別の実施例においては、異なる階層ラベルを使用することが可能である。又、異なる数の階層レベルを使用することが可能であり、例えば、単に1つのレベル、文字、を認識することが可能である。然しながら、文字を認識する場合には、接続された文字を包含する別の階層レベルも認識し、例えば2つのオーバーラップした文字等の不明確な文字画像の組合わせを分析することが可能である。
このプロセスはステップ124において開始する。ステップ126において、文字カウンタ変数「C」が1へ初期化され、且つCが図5のステップ82において入力ビットマップにおいてセグメント化された文字数であるNCHARと比較される。「C」がNCHARよりも小さい場合には、ステップ128が実行され、その場合にCHAR(C)に関して認識が実行されてリスト内の各構成要素文字に対する信頼性レベルを有する構成要素文字リスト(即ち、文字ラベルリスト)を発生する。このステップにおいては、生のビットマップにおけるセグメント化された文字の全てが信頼性レベルを有する構成要素文字リストが割当てられる。
セグメント化したビットマップからの文字の認識は、好適には、多数の異なる分解能のうちの1つのビットマップを解析することの可能なマイクロプロセサ36(又は別の接続されたマイクロプロセサ)によって実現される認識ソフトウエアによって実行される。このような認識器は当業者にとって公知である。本発明に使用するのに適した認識器はカリフォルニア州サンタクララのオクロン(Ocron)インコーポレイテッドによって販売されているRecore(商標)である。典型的に、認識器は、各々がビットマップ文字を表わすことの可能な多数の異なる仮定又は可能性を出力する。認識器は、これらの可能性(又は「ラベル」)の各々に対して信頼性レベルを割当て、それはそのラベルが文字の同一性に対して認識器がどれほど近いと考えるかを表わしている。この実施例においては、文字ラベルは実際には「形状コード」である。形状コードは文字の実際の同一性を示すものではないが、その文字の一般的な形状を表わすものである。例えば、形状コード「O」は大文字「O」、小文字「o」、又は零(「0」)を表わすことが可能である。認識器はセグメント化されたビットマップ文字を1つ又はそれ以上の形状コードラベルとして認識し、その各ラベルは関連する信頼性レベルを有している。本実施例の信頼性レベルは別々の数値であるが、信頼性レベルはその他のインジケータとして実現することが可能である。例えば、認識器によって発生されるラベルが1つだけである場合には、信頼性レベルはラベル自身とすることが可能であり、又は、ラベルが発生されない場合には、信頼性レベルはヌル記号とすることが可能である。
図7aは、認識されたビットマップ文字に対する形状コードと関連する信頼性レベルの例を示したテーブル146である。例えば、ビットマップ文字「O」は図7のステップ128においてセグメント化され且つCHAR(C)として認識器へ送給されている。認識器はそのビットマップ文字を解析し且つ例えば図7aに示したようなラベルリストを出力する。形状コードは文字ラベル148でありそれは認識された文字の形状を表わす。各形状コードに対して、信頼性レベル150が関連しており、それはビットマップ文字がどの程度認識器の解析におけるラベルと近接しているかを表わす。図7aの例においては、文字ラベル「O」は95%において最大の信頼性レベルを有している。文字ラベル「C」及び「Q」はより低い信頼性レベルを有している。暗示された文字152は文字ラベル148によって表現された可能な文字である。文字ラベル「C」は2つの可能な文字「C」及び「c」を表わすことが可能である。文字ラベル「Q」は単に1つの可能な文字「Q」を表わすに過ぎない。
図7に戻ると、生のビットマップにおける全ての文字が解析器によって解析されるまで、ステップ126及び128が各セグメント化された文字に対して実行される。次いで、本プロセスはステップ130へ進行し、そこで単語カウンタ変数「W」が1へセットされ且つWが、図5のステップ82において生のビットマップにおいてセグメント化された単語数であるNWORDSと比較される。「W」がNWORDSよりも小さい場合には、ステップ132が実行され、その場合に単語認識器が構成要素文字リスト及びその他の手順を使用してWORD(W)(即ち、セグメント化された単語ビットマップ)に関して認識を実行し、各コード化ラベルに対して信頼性レベルを有する単語リスト(ラベルリスト)を発生する。入力ビットマップのセグメント化した単語の全ては、信頼性レベルの値に拘らず、信頼性レベルを有するラベルリストが割当てられる。
単語認識は、典型的に、構成要素文字ラベルによって決定される可能な文字シーケンス(即ち、コード化単語ラベル)を発生し且つこのような各シーケンスに対して信頼性レベルを割当てる。単語ラベル信頼性レベルを決定する1つの態様は3ステッププロセスによるものである。第一に、構成要素文字の信頼性レベルが、文字の局所的な頁幾何学的形状との適合性にしたがって調節される。局所的頁幾何学的形状は、例えば、ベースラインと相対的な文字位置、周りのテキストの中間高さ文字の上端に基づいたx高さライン、及び周りのテキストのより高い文字の上端に基づいた大文字高さライン等を包含する。第二に、構成用要素文字の調節された信頼性レベルを結合して(例えば、信頼性レベルが可能性として与えられる場合に乗算を介して)、予備的な単語ラベル信頼性レベルを発生する。最後に、単語ラベルが種々の予め定義された語句構成と適合する程度にしたがって予備的単語ラベル信頼性レベルが調節される。予め定められた語句構成は、語彙(単語リスト)、一般的な文字パターン(例えば、電話番号又は日付)、及び文字サブシーケンス可能性(例えば、バイグラム、トリグラム、及びnグラム、即ち2つ、3つ又はn個の文字の結合)等を包含する。この方法及びその他の方法によって単語ラベル及び単語ラベル信頼性レベルを発生することの可能な単語認識器は当業者にとって公知である。例えば、上述したオクロンインコーポレイテッドによって販売されている認識器Recoreは、本発明の文字及び単語認識の両方にとって適したものである。
図7bは単語ビットマップ「Open」に対しての単語ラベル166と関連する信頼性レベル168とを包含する単語ラベルリスト170の一例を示している。完全なるリスト(不図示)は、4つの構成要素文字(「O」、「p」、「e」、「n」)の形状コードラベルによって暗示される文字の各組合わせに対してコード化単語ラベルエントリを包含している。図7aは全部で6つの可能な文字(全ての暗示された文字を包含する)に対して最初の文字(「O」)に対する3つの認識された文字ラベル及び暗示された文字を示している。単語「Open」における4つの文字の各々に対して6個の可能な文字が存在したとすると、ラベルリスト170においては64即ち1296個の文字シーケンスが存在することとなる。リスト170における7番目のエントリ(即ち、「Open」)が図示したラベルのうちで最も高い信頼性レベルを有している。
図7を参照すると、次のステップ134において、WORD(W)に対する多数のラベルエントリ及びそれらの関連する信頼性レベルがハイブリッドデータ構造内に格納される。本実施例においては、所定の「格納スレッシュホールド」を超えた信頼性レベルを有する全ての単語ラベルがハイブリッドデータ構造内に格納される。従って、図7bの例においては、格納スレッシュホールドレベルが50以上であった場合には、図示したラベルリスト170から4つのラベルがハイブリッドデータ構造内に格納されることとなる。その他の実施例においては、WORD(W)に対する異なる量の単語ラベルをハイブリッドデータ構造内に格納させることが可能である。例えば、単に1つのラベルのみを格納することを許容するフォーマットで格納される場合には(図11に関して説明する)、最大の信頼性レベルを有する単語ラベルがハイブリッドデータ構造内に格納される。一方、認識スレッシュホールドより大きな信頼性レベルを有するラベルのみをハイブリッドデータ構造内に格納させることが可能である。格納されたラベルの最も高い信頼性レベル及び認識スレッシュホールドに依存して、ハイブリッドデータ構造内の幾つかの単語は識別可能なオブジェクトであると考えられ、且つ幾つかのものは識別不可能なオブジェクトであると考えられる。このハイブリッドデータ構造はメモリ内に格納するか、ディスク上にファイルとして格納するか、その他の態様で格納することが可能である。好適には、単語ラベルは、例えばASCII、ポストスクリプト等のスタンダードなフォーマットでコード化データとして格納される。
ステップ136において、WORD(W)に対応する語句単位の座標が格納される。これらの座標は頁のレイアウトに関してWORD(W)に対応する生のビットマップの語句単位(単語ビットマップ)を参照するものである。例えば、その単語ビットマップを取囲む取囲みボックスの反対側の点(又は全ての4つの点)に対して水平及び垂直の座標を格納することが可能である。取囲みボックスは図9を参照して詳細に説明する。これらの座標はWORD(W)の関連するラベルエントリと共にハイブリッドデータ構造内に格納することが可能である。マイクロプロセサはこれらの座標を使用してWORD(W)に対応する生のビットマップの語句単位を見つけだし且つこの語句単位の寸法を知得することが可能である。これらの座標は「リンク」と考えることが可能である。何故ならば、それらはコード化単語を生のビットマップのそれの対応する部分とリンク即ち連結させるからである。その他のタイプのリンク、例えばポインタ等を使用することも可能である。例えば、図11を参照して説明するように、サーチ単語と一致した単語ビットマップをハイライトさせるためにこれらのリンクが有用な場合がある。これらの座標は、図12aの編集用ウインドウにおいて編集中の単語に対応する単語ビットマップを表示するために使用することも可能である。これらの座標は、更に、図10を参照して説明するように、認識スレッシュホールド信頼性レベルを100%を超えて上昇させることにより全ての個々の生の単語ビットマップを表示させる本発明の実施例においても有用である。認識されなかった(即ち識別不可能な)単語のみが対応する生のビットマップを表示させる別の実施例においては、ある単語が認識不可能であると考えられる場合に、その単語の非コード化ビットマップを頁上のその正確な位置に表示させるためにWORD(W)の座標を使用することが可能である。
次に、オプションとしてのステップ138を実行する。第一実施例においては、単語が認識されるか又は認識されないかに拘らず生のビットマップ全体を表示する(生のビットマップは図4に関して格納されている)。従って、個々の単語ビットマップを格納することは必要ではなく、且つステップ138は必要ではない。然しながら、別の実施例においては、ここで単語ビットマップを格納することが可能である。例えば、全ての単語が関連する単語ビットマップを表示させる実施例においては、マイクロプロセサはステップ138においてWORD(W)に対するビットマップを自動的に格納することが可能である。同様に、認識されなかったワードのみに対する単語ビットマップが表示される実施例においては、マイクロプロセサは、WORD(W)に対するトップの単語ラベルエントリの信頼性レベルが認識スレッシュホールド信頼性レベルよりも低い場合にはステップ138においてWORD(W)の個々の非コード化ビットマップを格納することが可能である(これは図7に示したステップ138である)。「トップ」の単語ラベルエントリはラベルリストにおいて最も高い信頼性レベルを有するラベルである。従って図7bの例においては、ラベル「Open」がトップのラベルエントリである。本実施例においては、認識スレッシュホールド信頼性レベルはユーザが選択可能なものであり、且つデフォルトのスレッシュホールド値は90である。トップの単語ラベル「Open」の信頼性レベルはこの認識スレッシュホールドよりも高く、従ってWORD(W)は単語「Open」として認識されたものと考えられ且つ識別可能なオブジェクトである。識別可能なオブジェクトの入力単語ビットマップはこのような実施例においては格納されることはない。一方、識別可能なオブジェクト入力ビットマップは後のプロセスのために格納することが可能であり、第一実施例においては、元の生のビットマップ及びその部分は、例えば、編集の目的のために使用することが可能である(例えば、生のビットマップ全体がメモリ又は格納装置上に格納される)。トップのラベルの信頼性レベルがスレッシュホールド値より低い場合には、WORD(W)は「認識されないもの」(識別不可能なオブジェクト)と考えられ、且つWORD(W)の非コード化単語ビットマップがステップ138において格納される。
非コード化データ(単語ビットマップ)は識別可能なオブジェクト及び識別不可能なオブジェクトのハイブリッドデータ構造内に直接的に格納することが可能である。一方、非コード化データは別個のファイル又はその他の格納区域内に格納することが可能であり、且つ非コード化データの格納位置はハイブリッドデータ構造内に格納することが可能である。このことは、ハイブリッドデータ構造が表示されるか又は走査される場合には、非コード化データを容易にアクセスすることを可能とする。
ステップ138が実行されると、本プロセスはステップ130へ復帰し、別のセグメント化したWORD(W)を処理する。入力した生のビットマップのセグメント化した単語の全てを認識するか又はステップ130乃至138においてビットマップとして格納した場合には、本プロセスは、好適には、ステップ140を実行し、その場合に生のビットマップ全体のフォント属性が認識される。各認識された(識別された)単語はタイプフェースが割当てられ、それは表示された場合に認識された単語の文字がどのように表われるかを決定する。このステップについては図8を参照して詳細に説明する。第一実施例においては、全てのコード化単語がそれらの信頼性レベルに拘らず非コード化ビットマップ形態で表示され、従ってフォント属性を必要とすることはない。然しながら、フォント属性はステップ140において認識され、従って、図12を参照して説明するように、コード化単語をレンダリングさせ編集用ウインドウ内に表示させることが可能である。
ステップ141は、各識別された単語に対してフォント属性が割当てられた後に、識別された単語に対する寸法調節用変換を計算するために実行される。第一実施例においては、このことはコード化単語が図12aにおける如く正確にレンダリングされ且つ編集用ウインドウ内において観察することが可能であるように達成される。ステップ141において、ステップ140において割当てられた適宜のタイプフェース及び寸法を使用して、各識別された単語がメモリ内においてレンダリングされる。レンダリングされた単語の寸法がその単語の元のビットマップの寸法と比較される。寸法差が所定の公差内のものでない場合には、スケール調節が計算され且つハイブリッドデータ構造内の識別された単語と共に格納される。このプロセスについては図9を参照して更に詳細に説明する。次いで、本プロセスはステップ142において示した如く終了する。
図8は図7のステップ140を例示したフローチャートであり、この場合に、生の入力ビットマップのフォント属性が認識される。本プロセスはステップ210において開始し、且つステップ212において、頁カウンタ変数「P」が1へ初期化され、且つPが、生のビットマップにおける頁総数であるNPAGES(図5のセグメント化ステップ82から既知である)と比較される。PがNPAGES以下である場合には、ステップ214が実行され、その場合に文字カウンタ変数「C」は1へセットされ且つCが、生のビットマップの現在検査された頁上の認識された文字の総数であるTOTCHARと比較される。本明細書において説明される如く、「認識された」文字とは、文字認識スレッシュホールドを超えた信頼性レベルを有する文字ラベルである。この文字認識スレッシュホールドは、好適には、高いレベルにセットされる。何故ならば、フォント認識のためには正確に認識された文字のみを使用すべきだからである(スレッシュホールドを超える信頼性レベルを有する文字が充分ではない場合には、充分な文字が得られるまでスレッシュホールドを低下させることが可能である)。C≦TOTCHARである場合には、ステップ216が実行され、その場合に、マイクロプロセサは、認識された文字ラベルであるCHAR(C)が選択された文字タイプであるか否かをチェックする。選択された文字タイプは、フォント特徴のために測定されるべき例えば「a」、「g」、等のある文字である。選択される文字の順番は、所定の順番付けした文字リストから決定することが可能である。順番付けしたリストは、フォント特徴のために容易に測定される文字がリストのトップに位置されるように設計することが可能である。同一のフォントを有する充分な文字が測定される場合には、そのフォントを決定することが可能であり且つ順番付けしたリストの底部近くの文字は測定する必要がない。CHAR(C)が選択した文字タイプでない場合には、本プロセスはステップ214においてCをインクリメントし、且つステップ216において新たな文字ラベルが選択したタイプであるか否かをチェックする。CHAR(C)が選択したタイプである場合には、ステップ218を実行する。ステップ218において、CHAR(C)に対応する生のビットマップの部分に対して多数のフォント特徴を測定する。
図8aは、生の入力ビットマップの文字236を示した模式図である。ステム幅238等のフォント関連特徴は、どのフォントタイプにその文字が属するかを決定するために種々の箇所において測定することが可能である。例えば文字高さ及び幅240、x高さ、光学密度、イタリック角度、セリフタイプ等のその他の特性を測定することも可能である。これらの測定のうちの幾つかは文字のタイプにとって特定的なものである。例えば、「t」はあるステム区域の測定を必要とする場合があるが、一方「a」文字はその文字の取囲んだ部分に沿って異なる測定を必要とする場合がある。しばしば、走査エラー又は入力ビットマップを形成するプロセスにおいて伝播するその他のエラーのために、不規則部分242が存在する。然しながら、同一のタイプの幾つかの文字を測定する場合には、これらの不規則部分は平均化されて取除かれる。
再度図8を参照して説明すると、ステップ218の後に、マイクロプロセサはステップ214へ復帰し、Cをインクリメントし且つ生のビットマップにおける次の文字に対してのフォント特徴を測定する。認識した文字に対応するビットマップ部分の全てを測定すると、本プロセスはステップ220へ移行し、そこにおいて頁P上の文字をフォント「クラスタ」へ区画化する。図8bは1つのタイプの文字(例えば、「t」)に対して測定したフォント属性の複数個のグループ乃至はクラスタからなるグラフ244を示している。軸245は「特徴軸」であって、それらはある文字タイプの全ての文字に対して測定した共通的な特徴(寸法、厚さ等)を表わしている。例えば、二次元グラフ244は、一方の軸が文字の高さ寸法を表わしており、且つ他方の軸がその文字の幅寸法を表わしている。これらは測定及び比較することの可能な多数の可能な特徴のうちの2つであるに過ぎず、その他の特徴(ステム幅、イタリック角度等)を比較することも可能である。データ点246はグラフ244上で特定の測定値を有する文字を表わしている。同様の測定値を有する文字はクラスタ247内にグループ化されている。例えば、クラスタC1は高さ及び幅(及び図示していないその他の特徴)において互いに非常に近接している多数の測定した「t」文字を表わしている。従って、それらは同一のフォントタイプを有する蓋然性が高く一体的にクラスタ即ち集合化されている。同様に、クラスタC2は同様の測定値を有しているがクラスタC1とは異なる測定値を有する「t」文字を表わしており、それらは単一のフォントタイプを表わすものとしてグループ化されている。
図8に戻って説明すると、ステップ220においてクラスタが構成されると、ステップ226が実行され、その場合に、現在の頁上の文字が前に見つからなかった新たなフォントタイプに対して検査される。ここで、「フォントタイプ」とはある単語が属する特定のタイプフェース(現在のところ割当てられていない)のことを意味しており、且つフォントタイプ番号は特定のフォントタイプを意味する。ステップ214乃至220において上述した如く文字を測定し且つそれらの測定値を既に見つかったフォントタイプに対して採取した測定値と比較することによって新たなフォントタイプが見つけ出される。新たな測定値が既に採取した測定値と均等である場合には、そのフォントタイプは新しいものではなく、従って本プロセスはステップ230へ移行する。新たな測定値が既に採取した測定値と異なる場合には、新たなフォントタイプが見つかっており、従って本プロセスはステップ228へ移行する。ステップ228において、ステップ220又はステップ226において構成された測定値の各クラスタに対してフォントタイプ番号が形成される。次いで、本プロセスはステップ230へ移行する。
ステップ230において、頁上の各認識された単語ラベルに対して1つのフォントタイプが割当てられる。別の実施例においては、文字ラベルに対してフォントタイプを割当てることが可能である。各フォントタイプは、文字の測定値から派生したフォントタイプ番号に対応する。単語の文字を検査し且つどのクラスタがこれらの文字のうちの1つ又はそれ以上のものを包含するかを決定することによってフォントタイプが単語ラベルに割当てられる。その単語の高い信頼性(認識済)文字のみが検査される。従って、図7bの例においては、認識された単語「Open」はその単語の認識された文字の1つ又はそれ以上、例えば「O」を検査し且つその文字がどのクラスタに含まれるかを決定することによってフォントタイプ番号が割当てられる。次いで、そのクラスタに対するフォンタタイプ番号がその単語に対して割当てられる。単語内において高い信頼性の文字が存在しない場合には、隣接する単語のフォントタイプをその単語に対して割当てることが可能である。
ステップ232において、形成された各フォントタイプ番号はタイプフェースのライブラリからのタイプフェースへ割当てられる。本実施例においては、幾つかのタイプフェースがメモリ内又はディスク上に格納されている。これらのタイプフェースはスタンダードなタイプフェースであって、例えば、Times、Helvetica及びアドビシステムズ、インコーポレイテッドから入手することの可能なその他のタイプフェースである。フォントタイプ(クラスタ)の測定値をスタンダードのタイプフェースを記述する既知の測定値及び特性と比較することによって各フォントタイプ番号がタイプフェースへ割当てられる。フォントタイプの平均化した測定値に対して最も近い測定値を有するスタンダードなタイプフェースにフォントタイプ番号が割当てられる。ハイブリッドデータ構造の現在の頁上の全ての認識された単語を使用可能なスタンダードのタイプフェースと関連付けることが可能となるまで同様の態様で各フォントタイプ番号に対してタイプフェースを割当てる。次いで、本プロセスはステップ210に復帰し、そこで、頁変数「P」をインクリメントし、且つ次の頁に関して同様にフォントを測定し且つ割当てを行なう。全ての頁について検査が行なわれると、本プロセスはステップ234で示した如く終了する。
各識別された単語に対してタイプフェース及びその他のフォント属性を格納する場合に、異なる方法を使用することが可能である。識別された単語がハイブリッドデータ構造においてASCII文字コードとして格納される場合には、タイプフェース及びフォント記述はASCII文字と共に「フォントタグ」として格納することが可能である。フォントタグと共に文字コードを格納することは当業者にとって公知である。識別された単語が例えばポストスクリプト等の一層フォントに傾倒したコード言語で格納される場合には、その単語に対するタイプフェース及びその他のフォント属性は当業者にとって公知の如く、その言語の規則内で特定し且つ格納することが可能である。
図9は図7のステップ141を例示したフローチャートであり、その場合には、寸法調節変換が識別された単語に対して計算される。このプロセスはステップ174において開始する。ステップ175において、その単語に対する元の非コード化ビットマップの取囲みボックスの高さ(h1)及び幅(w1)が決定される。ビットマップの取囲みボックスはそのビットマップを完全に取囲む最も小さな矩形(ベースラインと整合されている)である。全てのセグメント化した語句単位に対する取囲みボックスの座標は、最初に入力ビットマップをセグメント化した時(図5のステップ82)に格納した格納区域から入手することが可能である。ステップ176において、単語のトップの信頼性レベルを使用してメモリ内のビットマップをその単語に割当てられたタイプフェース及び寸法でレンダリングし、次いでレンダリングしたビットマップの取囲みボックスの高さ(h2)及び幅(w2)が決定される。
図9aは元の非コード化単語ビットマップ192と、ラベルリスト170におけるトップレベルから派生したレンダリングしたビットマップ194とを示した模式図である。元のビットマップの取囲みボックス196及びレンダリングしたビットマップの取囲みボックス198も図示してある。これらの取囲みボックスは模式的に200で示したように比較され、その場合に高さh1及び幅w1は元のビットマップの取囲みボックスに対する寸法であり、且つ高さh2及び幅w2はレンダリングしたビットマップの取囲みボックスに対する寸法である。
図9に戻って説明すると、ステップ178において、元のビットマップの取囲みボックスの幅w1とレンダリングしたビットマップの取囲みボックスの幅w2との間の相対的な誤差が「Ew」として計算される。同様に、元のビットマップとレンダリングしたビットマップとの取囲みボックスの高さh1とh2との間の相対的な誤差が「Eh」として計算される。
ステップ180及び182は、ランダリングしたビットマップの取囲みボックスの寸法が許容可能な範囲内に入るか否かをチェックする。相対的な誤差が大きすぎる場合には、その単語の元のビットマップ192が使用される。これらのステップは図9bのグラフ202において要約してある。Ewの絶対値が幅(Tw1)に対する第一スレッシュホールド値よりも小さく、且つEhの絶対値が高さ(Th1)に対する第一スレッシュホールド値よりも小さい場合には、相対的誤差が適度に小さく且つ更なる処理は必要ではない(図9bにおいて、Tw1及びTh1はT1として示してあり、且つEw及びEhはEとして示してある)。本実施例においては、Tw1及びTh1に対して使用される値は夫々0.05及び0.05である。次いで、本プロセスはステップ186に示したように終了する。|Eh|及び|Ew|のいずれか一方又は両方がステップ180においてそれらの対応するT1値よりも大きい場合には、本プロセスはステップ182へ移行する。ステップ182において、Ewの絶対値が幅(Tw2)に対する第二スレッシュホールド値よりも大きいか、又はEhの絶対値が高さ(Th2)に対する第二絶対値よりも大きい場合には、レンダリングしたビットマップの寸法が調節すべき元のビットマップと余りにも異なるものであると考えられ、且つプロセスはステップ184へ移行する(図9bにおいて、Tw2及びTh2はT2として示してある)。本実施例においては、Tw2及びTh2に対して使用される値は夫々0.20及び0.20である。ステップ184において、WORD(W)の最も上側のラベルに対する信頼性レベルはスレッシュホールド信頼性レベルよりも低いレベルにセットされ、且つWORD(W)の非コード化ビットマップはハイブリッドデータ構造内に格納される。従って、WORD(W)は識別可能なオブジェクトの代わりに識別不可能なオブジェクトとなり、即ちWORD(W)に対する非コード化ビットマップは関連するラベルリスト内のトップレベルを表示する代わりに表示されるべきである。何故ならばWORD(W)は許容範囲外の寸法だからである。次いで、本プロセスはステップ186において終了する。ステップ184は生のビットマップ全体が表示される第一実施例においては実行されることはない。
ステップ182において|Eh|及び|Ew|の両方がそれらの対応するT2値よりも小さい場合には、本プロセスはステップ188へ移行する。ステップ188において、Ew及びEhが両方とも0よりも小さい場合には、レンダリングしたビットマップは元のビットマップよりもわずかに小さく且つ寸法調節は必要ではない。Ew又はEhのいずれかが正である場合には、ステップ190が実行され、その場合に水平方向及び垂直方向のスケールファクタ即ち拡縮ファクタがWORD(W)に対して計算され且つ格納される。WORD(W)がレンダリングされ且つ表示(例えば編集用ウインドウ内において)されるべき場合には、これらのスケールファクタがレンダリングされた単語ラベルをその元のビットマップ画像の対応する寸法へ調節する。スケールファクタを格納することは寸法を調節したビットマップを格納することよりも必要とされる面積は著しく少ない。次いで、本プロセスはステップ186で示したように終了する。
別の実施例においては、階層におけるその他の語句単位(テキストライン、テキストブロック、頁等)をレンダリングさせ且つ上述した如く元のビットマップの対応する部分と比較することが可能である。これらの語句単位に対してこの時点においてスケールファクタを計算し且つ格納することが可能である。
図10は図4のステップ72を例示したフローチャートであり、その場合に、識別可能なオブジェクト及び識別不可能なオブジェクトのハイブリッドデータ構造が表示される。図10の表示プロセスは、ハイブリッドデータ構造を表示するためだけのものであり、ユーザがデータ構造を編集することを希望する場合には、好適には図12の編集プロセスが使用される。この表示プロセスはステップ250において開始する。ステップ251において、現在の「モード」が決定される。例えば、第一実施例においては、信頼性レベルに拘らず、文書内の表示される全ての単語に対して生のビットマップ全体(又はその一部)を表示することが可能である。この実施例は、又、ユーザによって選択することの可能なモードとして実施することも可能である。従って、ユーザは更に別のモードを選択することが可能であり、その場合には、認識された単語がレンダリングされ且つ表示され且つ認識されなかった単語は生のビットマップのそれらの対応する夫々の部分として表示される。
完全なる生のビットマップ表示モード乃至は実施例が選択されているか又は使用中である場合には、ステップ253が実行され、その場合に、図5のレイアウト補正変換が格納されている生のビットマップに対して適用され変換された生のビットマップを発生する。従って、生のビットマップは幾何学的歪みに対して補正されている。次のステップ255において、変換された生のビットマップの選択された頁が検索され且つ例えばディスプレイスクリーン又はプリンタ装置等の出力装置上で表示される。元の生のビットマップ及び変換された生のビットマップは、好適には、ビットマップの頁を検索し且つ表示することが可能であるようにメモリ内又は異なる格納装置によって格納される。ステップ255において、出力装置上に頁全体が表示されているものと仮定している。頁の一部のみ又は1頁を超えて出力ディスプレイ装置上に表示されるべき場合には、元のビットマップの適宜の部分又は多数の頁が表示される。更に、一度に1頁以上のビットマップを検索することが可能であり、一方検索した頁の一部のみを表示することが可能である。「選択した」頁とは、ユーザが表示すべく選択した頁のことである。選択した頁は、更に、文書を最初に格納装置からロードした時のその文書の最初の頁等のデフォルト頁とすることも可能である。次いで、本プロセスはステップ264で示したように終了される。ユーザが生のビットマップの異なる頁を選択する場合には、その選択した頁に対してステップ255が再度実行される。
一方、ステップ253及び255の完全なる頁の表示は以下に説明するようにステップ252及び254乃至262を使用して均等的に実行することが可能である。このような実施例においては、ステップ254のスレッシュホールド信頼性レベルは100%よりも高い値(例えば、101%)に一時的にセットすることが可能であり(即ち、表示プロセスに対してのみセットする)、従ってその場合にはハイブリッドデータ構造内の単語のいずれもがスレッシュホールド信頼性レベルよりも高い信頼性レベルを有することはない。このことは、1つの単語に対するビットマップが表示されるステップ262がハイブリッドデータ構造内の全ての単語に対して実行することを可能とし、従ってそれらの単語の全ビットマップ表示を与える。
ステップ251において完全なるビットマップ表示が選択されなかった場合には、ユーザは認識したコード化データのレンダリング及び表示を行ない且つ個々の単語ビットマップの表示を行なう別の実施例を希望する。ステップ252において、単語カウンタ変数「W」は1へ初期化され、且つWは、ハイブリッドデータ構造(ハイブリッドデータ構造全体が表示されるべき場合)内の単語数(識別可能なもの及び識別不可能なものの両方)であるNWORDSと比較される。ハイブリッドデータ構造の一部のみを表示する場合には、NWORDSは表示された部分における単語数とすることが可能である。WがNWORDSよりも小さい場合には、ステップ254が実行され、その場合に、CPUはWORD(W)に対する信頼性レベルがスレッシュホールド信頼性レベルよりも大きいか否かをチェックする。大きい場合には、WORD(W)は識別可能な単語であり、且つステップ256が実行される。ステップ256において、WORD(W)のコード化トップラベルがレンダリングされ且つWORD(W)に対する適宜のスケールファクタで且つ割当てられたタイプフェースにしたがってWORD(W)の座標によって特定される位置において表示される。本実施例においては、マイクロプロセサ、又はレンダリングチップ等の関連したプロセサが、WORD(W)の文字に対応する文字アウトラインを、その単語に対して割当てられているタイプフェース及びその単語の既知の特性にしたがって表示するためのビットマップへレンダリングされる。WORD(W)がレンダリングされ且つ表示されると、本プロセスはステップ252へ復帰し、そこでWがインクリメントされ且つ次の単語が処理される。
WORD(W)に対する信頼性レベルがステップ254におけるスレッシュホールド信頼性値よりも大きくない場合には、WORD(W)は識別可能な(認識された)オブジェクトではなく、それは識別不可能な(認識されなかった)オブジェクトである。次いで、ステップ260が実行され、その場合にレイアウト補正変換が、認識されなかった単語(又はその他のオブジェクト)と関連している格納されている非コード化ビットマップに対して適用され、変換されたビットマップを発生する。従って、この変換されたビットマップは幾何学的歪みに対して補正されている。ステップ262において、マイクロプロセサはこの変換されたビットマップをWORD(W)の座標において非コード化ラスタ画像として表示する。非コード化画像は、ディスプレイスクリーン16、プリンタ18又はその他の出力装置上に表示することが可能であり、そのビットマップは、更に、与えられた出力装置の分解能に対して適宜スケーリングすることが可能である。次いで、本プロセスはステップ252へ復帰し、カウンタWをインクリメントし且つハイブリッドデータ構造における次の単語を表示する。ハイブリッドデータ構造(又はハイブリッドデータ構造の指定部分)における全てのオブジェクトがコード化画像又は非コード化画像のいずれかとして表示されると、本プロセスはステップ264に示した如く終了する。
図11は図4のステップ74を例示したフローチャートであり、その場合に、ハイブリッドデータ構造のサーチが行なわれる。本プロセスはステップ270で開始し、且つステップ272において、サーチ基準として使用されるべき1つの単語(又は複数個の単語、即ち句)が獲得される。このサーチ単語は、典型的に、キーボード20からユーザによってエンターされるか、又はそれはファイル、別のコンピュータ、入力装置等からローディングすることが可能である。他の実施例においてはサーチ基準としてその他のオブジェクトを使用することも可能である。ステップ274において、変数HITが0へ初期化される。変数HITは、ハイブリッドデータ構造においてサーチ単語のインスタンスが幾つ見つかったかを表わす。ステップ276において、単語カウンタ変数「W」が1へ初期化され且つハイブリッドデータ構造における単語数NWORDと比較される。WがNWORDよりも小さい場合には、ステップ278が実行され、その場合に、マイクロプロセサは、サーチ単語がWORD(W)に対するトップラベルエントリ(最も高い信頼性レベルを有するラベル)とほぼ等しいか否かをチェックする。従って、本実施例においては、例え認識されなかった単語が図7及び10において説明した認識スレッシュホールドレベルよりも高い信頼性レベルを有するものではないとしても、認識されなかった単語(又はその他の識別不可能なオブジェクト)でさえもサーチ単語と比較される。その他の実施例においては、ラベルリスト170内のその他のラベルをサーチしてそのサーチ単語と一致するものを見つけ出すことが可能である。尚、「ほぼ等しい」という用語は、サーチ単語がWORD(W)から僅かに異なる場合を意味しており、例えば認識されなかった単語がサーチ単語と比較して例えば1つ又は2つの文字が異なっているが尚且つサーチの目的のためには均等である場合等である。単語がほぼ等しい場合のその他の例としては、例えば、大文字又は小文字を有する単語、例えば「−ing」等の異なるサフィックスを有する単語、1つの単語の複数形式と単数形式等がある。 サーチ単語がほぼ等しくない場合には、本プロセスはステップ276へ復帰し、Wをインクリメントし且つ次のWORD(W)を検査する。サーチ単語がWORD(W)と一致(ほぼ等しい)場合には、ステップ280が実行され、その場合に変数HITがインクリメントされる。ステップ282において変数HITARRAY(HIT)が単語カウンタ変数Wの値及びWORD(W)の座標と等しく設定され、従って見つけ出された単語を必要に応じて表示するか又は処理することが可能である。例えば、データ構造は、好適には、図10のステップ255に示した如く、完全なる生のビットマップとして表示される。データ構造は、上述した如く、サーチ単語に対してサーチすることが可能である。コード化単語(WORD(W))がサーチ単語と一致する場合には、そのコード化単語に対応するビットマップ単語を、それが現在表示中である場合には、スクリーン上でハイライトさせることが可能である。WORD(W)の座標を使用して表示中の単語ビットマップをハイライトさせる。一致したコード化単語を、図12を参照して説明したエデイタ内において表示又はハイライトさせることも可能である。次いで、本プロセスはステップ276へ復帰し、Wをインクリメントし且つ次のWORD(W)を検査することが可能である。文書内の全ての単語をサーチすると、本プロセスはステップ284で示したように終了する。
別の実施例においては、上述したサーチプロセスを自分自身のサーチ機能を有しており且つ当業者に公知の別のアプリケーションプログラムにおいて実現することも可能である。例えば、アドビシステムズ、インコーポレイテッドによるアクロバット(Acrobat)は、多様なフォーマット及びオブジェクトタイプを有する電子文書をユーザがサーチすることを可能とする。
別の実施例においては、格納されているハイブリッドデータ構造を文書格納のために既に存在している「スタンダード」なフォーマットと順応させるべく適合させることが可能である。例えば、アクロバットはポータブルドキュメントフォーマット(PDF)を有している。認識された単語ラベルをコード化テキストとして(例えば、ポストスクリプトで)及び認識されなかった単語ラベルを非コード化ビットマップ及びサーチを可能とするための「不可視的」なテキストとして格納することによって、ハイブリッドデータ構造をこのフォーマットで格納することが可能である。即ち、認識されなかった単語オブジェクト(即ち、最も高い信頼性を有するリストにおける単語ラベル)を表示することが可能であるが、「不可視的」なものとして表われるようにバックグラウンドと同じカラーを有しており、且つ非コード化ビットマップをその認識されなかった単語の上に表示させることを可能とする。これらの不可視的な単語オブジェクトは尚且つサーチ単語と比較し且つエラー許容性サーチメカニズムによって位置決めされ及び/又は所望により(後述するように)編集することが可能である。
図12は図4のステップ76を例示したフローチャートであり、その場合に、ハイブリッドデータ構造が編集されて該構造内の識別不可能なオブジェクトの数を減少させる。この方法は、ラベルの信頼性レベルに拘らずに常にコード化単語ラベルを表示し且つ非コード化ビットマップを表示することのないエディタテキストウインドウ(図12aに示してある)で実行することが可能である。表示された単語は、各単語ラベルの信頼性レベルのユーザが制御した表示スレッシュホールド信頼性レベルとの関係にしたがってハイライトされる。表示スレッシュホールドレベルは、ハイブリッドデータ構造の信頼性スレッシュホールドを変化させた場合にユーザがその結果をプレビューすることを可能とする。それは、更に、あり得るエラー補正のための検査を必要とする単語数をユーザが最適化することを可能とする。
本プロセスはステップ288において開始する。ステップ290において、表示スレッシュホールド値がユーザによってセットされる。ステップ292において、選択された頁が、好適には、ディスプレイスクリーン上に表示される。ハイブリッドデータ構造のコード化データが本プロセスにおいてレンダリングされ且つ表示され、生のビットマップは表示されない。ユーザは、どの頁又は頁の部分を見たいかを選択する。ユーザは、このことを、例えば図12aに関して後述するインターフェース等のインターフェースを使用して特定することが可能である。ステップ294において、マイクロプロセサが表示スレッシュホールドレベルよりも低い信頼性レベルを有するトップラベルエントリを有する表示された単語をハイライトする。ハイライトするということは、単語を反転ビデオ(例えば、色付き又はシェード付きのバックグラウンド上に白の文字)で表示するか、又は別個の又は異なるカラー、フォント等でその単語を表示することを意味することが可能である。従って、ユーザはどの単語が表示スレッシュホールドレベルより低い信頼性レベルを有するかを一目で識別することが可能である。最適な表示スレッシュホールド値においては、ハイライトされた単語の殆どが認識エラーを有しており且つハイライトされなかった単語の全てが正確に認識されている。好適には、ユーザは表示スレッシュホールドレベルを所望のレベルへ変化することが可能である。
ステップ296において、ユーザは編集することを希望する単語を選択する。このことは、例えばキーボード、マウス、スタイラス等を使用することによって幾つかの態様で行なうことが可能である。ステップ298において、プロセサがその単語に対応する元のビットマップ部分及び元のビットマップの周りの区域の一部を、好適には、別のウインドウ内に表示する。更に、ハイブリッドデータ構造内に格納されていた選択した単語と関連したラベルエントリの全て又は幾つかの「ポップアップメニュー」が別個のウインドウ(又は異なるウインドウ)内に表示される。従って、ユーザは単語に対して認識器によってなされた格納されている推定をみることが可能である。ステップ300において、ユーザは選択されている単語のトップラベルエントリを編集して誤って認識された単語を補正する。ユーザは単に正しい単語をタイプ入力することが可能であり、そのことは、しばしば、その単語の表示された元のビットマップ画像を見ることによって推測することが可能である。ユーザは、又、ラベルエントリの表示されたリスト内のその他のラベルエントリのうちの1つを選択して、その選択したレベルエントリでトップラベルエントリと置換させることが可能である。ユーザが単語を変化させた後に、その単語に対するトップラベルエントリが自動的に100%の信頼性レベルが割当てられる。その単語が編集されると、マイクロプロセサは、ユーザがステップ302において編集を終了したか否かをチェックする。終了していない場合には、本プロセスはステップ292へ復帰し、ハイブリッドデータ構造の選択された部分を表示する。ユーザが終了した場合には、本プロセスはステップ304において表示したように完了する。
図12aは本実施例の編集用インターフェース310を示したスクリーンディスプレイの模式図である。このインターフェースは表示、編集、サーチ機能を制御する表示マネジャによって表示される。編集用ウインドウ312は、ユーザが見るためにハイブリッドデータ構造のコード化データの頁又は頁の一部を表示するために使用される。テキスト314はハイブリッドデータ構造の全ての単語をそれらの単語ラベル(コード化)形態で包含している。単語316は表示スレッシュホールドレベルより低い信頼性レベルを有しており従ってそれらがエラーを有する場合があることを表示するためにハイライトされている。単語318は信頼性の低い単語としてハイライトされると共に現在ユーザによって選択されている単語としてハイライトされている(単語316及び318は異なるカラー、パターン等で表示することが可能である)。入力した生のビットマップにおける単語318の近くからの関連した元の画像320がウインドウ322内に表示されている。本実施例においては、選択された単語318に対する全ての格納されているラベルエントリを包含する表示されたラベルリスト324がウインドウ326内に示されている。別の実施例においては、ユーザはリスト324内に格納されているラベルのうち幾つを表示するかを選択することが可能である(ハイブリッドデータ構造内に1つを超えた数のラベルが格納されている場合)。リスト324内の各ラベルエントリに対する信頼性レベルをユーザが所望する場合には表示することも可能である。
以上、本発明の具体的実施の態様について詳細に説明したが、本発明は、これら具体例にのみ限定されるべきものではなく、本発明の技術的範囲を逸脱することなしに種々の変形が可能であることは勿論である。
本発明に基づいてハイブリッドデータ構造を形成し且つ画像を表示するコンピュータシステムを示したブロック図。 図1のデジタルコンピュータを示したブロック図。 本発明によって発生される表示画像の一例を示した説明図。 本発明に基づいてハイブリッドデータ構造及びラスタ画像を与える方法を示したフローチャート図。 ビットマップを図4のハイブリッドデータ構造へ変換するステップを示したフローチャート図。 本発明において使用される語句単位の階層を示した説明図。 図5aの階層の語句単位を示した説明図。 図5aの階層の低いレベルを示した説明図。 図5の幾何学的形状補正ステップを示したフローチャート図。 ラベルリスト及び信頼性レベルを語句単位へ割当てるための図5のステップを示したフローチャート図。 文字に割当てられた文字ラベル及び信頼性レベルを示した説明図。 単語ラベルリストを示した説明図。 図7のフォント属性認識ステップを示したフローチャート図。 識別された文字に関してとられたフォント特徴測定値を示した説明図。 測定したフォント属性にしたがって文字を異なるタイプへ区画化する状態を示した説明図。 識別された単語の寸法調節を計算するための図7のステップを示したフローチャート図。 コード化単語に対する取囲みボックス及び非コード化ビットマップデータから派生されたビットマップ取囲みボックスの寸法を示した説明図。 識別された単語が調節されるべきか否かを判別する場合に使用されるスレッシュホールドを示した説明図。 図4のハイブリッドデータ構造表示ステップを示したフローチャート図。 図4のハイブリッドデータ構造サーチステップを示したフローチャート図。 図4のハイブリッドデータ構造編集ステップを示したフローチャート図。 ハイブリッドデータ構造の編集状態を示したエディタ及びディスプレイスクリーンの一部を示した説明図。
符号の説明
10 コンピュータシステム
12 入力装置
14 デジタルコンピュータ
16 ディスプレイスクリーン
18 プリンタ
20 キーボード
22 フロッピィディスクドライブ
24 ハードディスクドライブ
26 光学スキャナ
28 デジタルカメラ
30 ビットマップ発生器
32 用紙
36 マイクロプロセサ
38 メモリバス
40 ランダムアクセスメモリ(RAM)
42 リードオンリメモリ(ROM)
44 ペリフェラルバス
46 キーボードコントローラ

Claims (10)

  1. 画像表示装置において、
    スキャンしたビットマップから派生したハイブリッドデータ構造を格納するメモリであって、該ハイブリッドデータ構造は識別可能なオブジェクト又はテキストに対応するコード化データである第1部分と各々が識別可能なオブジェクト又はテキストに対応している該スキャンしたビットマップから抽出した個別的ビットマップである第2部分との二つの部分を有しており、該コード化データが識別可能なオブジェクト又はテキストを正確に再生するのに十分ではない場合には、該コード化データの代わりに該対応する個別的ビットマップを使用することが可能であり、それにより該ハイブリッドデータ構造は該スキャンしたビットマップ全体を格納することの必要性無しに該コード化データ又は該対応する個別的ビットマップのいずれかを使用して該識別可能なオブジェクト又はテキストを再生するために十分であるメモリ、
    該コード化データ及び該個別的ビットマップの結合を使用して表示用の画像をレンダリングさせるディスプレイマネージャ、
    を有している画像表示装置。
  2. 請求項1において、該識別可能なオブジェクト又はテキストが、単位として、ブロブ、文字、単語、テキストライン、テキストブロック、頁、及び文書を包含するグループから選択した少なくとも一つの項目である画像表示装置。
  3. 請求項2において、複数個の識別可能なオブジェクトの各々が信頼性レベルを持っており、前記信頼性レベルが所定のスレッシュホールドレベルよりも一層高い場合には、その識別可能なオブジェクトがコード化される画像表示装置。
  4. 請求項1乃至3の内のいずれか1項において、第1表示モードと第2表示モードとを有しており、該第1表示モードに設定された場合には、該ディスプレイマネージャが該コード化データをレンダリングさせること無しに表示用に個別的ビットマップを使用し、一方、該第2表示モードに設定された場合には、該ディスプレイマネージャが該コード化データをレンダリングさせて該コード化データに対応するレンダリングされたビットマップを発生させる画像表示装置。
  5. 請求項1乃至4の内のいずれか1項において、該コード化データに対してフォント属性が設定されており、且つ該コード化データがレンダリングされる場合に、該フォント属性に基づいてレンダリングが行われる画像表示装置。
  6. 請求項5において、該フォント属性がタイプフェースを包含している画像表示装置。
  7. 請求項1において、該コード化データが所定の信頼性レベルよりも低い場合に、対応するコード化データの代わりに該個別的ビットマップのデータが該ディスプレイマネージャにより使用される画像表示装置。
  8. オブジェクト又はテキストを再生するために使用されるハイブリッドデータ構造を発生する方法において、
    識別可能なオブジェクト又はテキストを包含するビットマップに関して認識処理を実施し、それにより識別可能なオブジェクト又はテキストを認識することを試み、
    該識別可能なオブジェクト又はテキストをコード化データとして表し、
    識別可能なオブジェクト又はテキストに対応するコード化データである第1部分と識別可能なオブジェクト又はテキストに対するコード化データがそのオブジェクト又はテキストを正確に再生するのに十分ではない場合に該コード化データの代わりに対応する個別的ビットマップを使用することが可能であるように各々が識別可能なオブジェクト又はテキストに対応する個別的ビットマップである第2部分との二つの部分を持っているハイブリッドデータ構造であって、ビットマップ全体を格納することの必要性無しに該コード化データ又は該個別的ビットマップのいずれかを使用して全ての識別可能なオブジェクト又はテキストを再生させるのに十分であるハイブリッドデータ構造を発生し且つ格納する、
    上記各ステップを有している方法。
  9. 請求項8において、該ハイブリッドデータ構造が電子文書を定める方法。
  10. 請求項8において、該コード化データが所定の信頼性レベルよりも低い場合に、対応するコード化データの代わりに該個別的ビットマップのデータを使用して該識別可能なオブジェクト又はテキストを表す方法。
JP2006261005A 1994-08-31 2006-09-26 ラスタ画像表示用ハイブリッドデータ構造生成方法及び装置 Pending JP2007042126A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/298,655 US5625711A (en) 1994-08-31 1994-08-31 Method and apparatus for producing a hybrid data structure for displaying a raster image
US08/420,827 US5729637A (en) 1994-08-31 1995-04-10 Method and apparatus for producing a hybrid data structure for displaying a raster image

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP7222234A Division JPH08190604A (ja) 1994-08-31 1995-08-30 ラスタ画像表示用ハイブリッドデータ構造生成方法及び装置

Publications (1)

Publication Number Publication Date
JP2007042126A true JP2007042126A (ja) 2007-02-15

Family

ID=26970803

Family Applications (2)

Application Number Title Priority Date Filing Date
JP7222234A Pending JPH08190604A (ja) 1994-08-31 1995-08-30 ラスタ画像表示用ハイブリッドデータ構造生成方法及び装置
JP2006261005A Pending JP2007042126A (ja) 1994-08-31 2006-09-26 ラスタ画像表示用ハイブリッドデータ構造生成方法及び装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP7222234A Pending JPH08190604A (ja) 1994-08-31 1995-08-30 ラスタ画像表示用ハイブリッドデータ構造生成方法及び装置

Country Status (4)

Country Link
US (2) US5729637A (ja)
EP (1) EP0700197B1 (ja)
JP (2) JPH08190604A (ja)
DE (1) DE69517564T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10592766B2 (en) 2016-02-29 2020-03-17 Brother Kogyo Kabushiki Kaisha Image processing apparatus and medium storing program executable by image processing apparatus

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6449377B1 (en) * 1995-05-08 2002-09-10 Digimarc Corporation Methods and systems for watermark processing of line art images
US5758324A (en) * 1995-12-15 1998-05-26 Hartman; Richard L. Resume storage and retrieval system
DE19623327A1 (de) * 1996-06-12 1997-12-18 Hell Ag Linotype Verfahren zur Bearbeitung von Objekten auf Druckseiten
US5856832A (en) * 1997-01-13 1999-01-05 Hewlett-Packard Company System and method for parsing multiple sets of data
US6138128A (en) * 1997-04-02 2000-10-24 Microsoft Corp. Sharing and organizing world wide web references using distinctive characters
US6154754A (en) * 1997-09-25 2000-11-28 Siemens Corporate Research, Inc. Automatic synthesis of semantic information from multimedia documents
JPH11154240A (ja) 1997-11-20 1999-06-08 Nintendo Co Ltd 取込み画像を用いて画像を作成するための画像作成装置
JPH11232378A (ja) * 1997-12-09 1999-08-27 Canon Inc デジタルカメラ、そのデジタルカメラを用いた文書処理システム、コンピュータ可読の記憶媒体、及び、プログラムコード送出装置
US6151576A (en) * 1998-08-11 2000-11-21 Adobe Systems Incorporated Mixing digitized speech and text using reliability indices
JP4135226B2 (ja) * 1998-08-26 2008-08-20 ソニー株式会社 プリンタ装置
US6435969B1 (en) 1998-11-03 2002-08-20 Nintendo Co., Ltd. Portable game machine having image capture, manipulation and incorporation
EP0999522B1 (en) * 1998-11-06 2008-04-09 Canon Kabushiki Kaisha Image processing method, system and apparatus, and storage medium
US6337924B1 (en) * 1999-02-26 2002-01-08 Hewlett-Packard Company System and method for accurately recognizing text font in a document processing system
US6563948B2 (en) * 1999-04-29 2003-05-13 Intel Corporation Using an electronic camera to build a file containing text
US7266761B2 (en) * 1999-06-15 2007-09-04 Microsoft Corporation Special API interface for interfacing an application with a TWAIN module, negotiating and presenting a user interface for inserting an image into a document
US6701023B1 (en) * 1999-09-28 2004-03-02 Adobe Systems Incorporated Reducing appearance differences between coded and noncoded units of text
US7536561B2 (en) * 1999-10-15 2009-05-19 Ebrary, Inc. Method and apparatus for improved information transactions
US8311946B1 (en) 1999-10-15 2012-11-13 Ebrary Method and apparatus for improved information transactions
US20040148274A1 (en) * 1999-10-15 2004-07-29 Warnock Christopher M. Method and apparatus for improved information transactions
US6771816B1 (en) 2000-01-19 2004-08-03 Adobe Systems Incorporated Generating a text mask for representing text pixels
US7209587B1 (en) * 2000-03-21 2007-04-24 Hsu Shin-Yi Amorphous region and boundary/chain topology for an object recognition system
US6912689B1 (en) * 2000-04-17 2005-06-28 Micron Technology, Inc. Method and apparatus for facilitating substitution of digital images with line drawings
JP4655335B2 (ja) * 2000-06-20 2011-03-23 コニカミノルタビジネステクノロジーズ株式会社 画像認識装置、画像認識方法および画像認識プログラムを記録したコンピュータ読取可能な記録媒体
WO2002009413A2 (en) * 2000-07-21 2002-01-31 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for producing pictures within a text display of a mobile device
US6741745B2 (en) 2000-12-18 2004-05-25 Xerox Corporation Method and apparatus for formatting OCR text
US6961465B2 (en) * 2000-12-28 2005-11-01 Canon Kabushiki Kaisha System and method for efficient determination of recognition initial conditions
TWI238637B (en) * 2001-01-10 2005-08-21 Ibm Method and system for processing of documents with electronic signatures
GB0117543D0 (en) * 2001-07-18 2001-09-12 Hewlett Packard Co Document viewing device
US7167185B1 (en) 2002-03-22 2007-01-23 Kla- Tencor Technologies Corporation Visualization of photomask databases
US6896428B2 (en) * 2002-08-14 2005-05-24 Printronix, Inc. Printer read after print correlation method and apparatus
US7440941B1 (en) * 2002-09-17 2008-10-21 Yahoo! Inc. Suggesting an alternative to the spelling of a search query
US7089248B1 (en) 2002-11-04 2006-08-08 Adobe Systems Incorporated Group file delivery including user-defined metadata
US7310769B1 (en) 2003-03-12 2007-12-18 Adobe Systems Incorporated Text encoding using dummy font
US7391527B2 (en) * 2003-04-29 2008-06-24 Hewlett-Packard Development Company, L.P. Method and system of using a multifunction printer to identify pages having a text string
US7672927B1 (en) 2004-02-27 2010-03-02 Yahoo! Inc. Suggesting an alternative to the spelling of a search query
US20050199140A1 (en) * 2004-02-27 2005-09-15 Ho Wai Y. Automatic transmission system for a printer carriage drive
JP2005260531A (ja) * 2004-03-11 2005-09-22 Fuji Xerox Co Ltd 画像読取装置
JP4788106B2 (ja) * 2004-04-12 2011-10-05 富士ゼロックス株式会社 画像辞書作成装置、符号化装置、画像辞書作成方法及びそのプログラム
US7840564B2 (en) 2005-02-16 2010-11-23 Ebrary System and method for automatic anthology creation using document aspects
WO2006090406A1 (en) * 2005-02-23 2006-08-31 Hewlett-Packard Development Company, L.P. System, method, and apparatus for automatic segmentation and analysis of ink stream
US7433869B2 (en) * 2005-07-01 2008-10-07 Ebrary, Inc. Method and apparatus for document clustering and document sketching
US20070100865A1 (en) * 2005-10-28 2007-05-03 Adobe Systems Incorporated Aggregate file containing content-description files having native file formats
US20070100846A1 (en) * 2005-10-28 2007-05-03 Adobe Systems Incorporated Aggregate file containing a content-description file and a resource file
RU2309456C2 (ru) * 2005-12-08 2007-10-27 "Аби Софтвер Лтд." Способ распознавания текстовой информации из векторно-растрового изображения
US20100254606A1 (en) * 2005-12-08 2010-10-07 Abbyy Software Ltd Method of recognizing text information from a vector/raster image
US8255640B2 (en) * 2006-01-03 2012-08-28 Apple Inc. Media device with intelligent cache utilization
US20070162842A1 (en) * 2006-01-09 2007-07-12 Apple Computer, Inc. Selective content imaging for web pages
US8213687B2 (en) * 2006-04-28 2012-07-03 Hewlett-Packard Development Company, L.P. Image processing methods, image processing systems, and articles of manufacture
US8175394B2 (en) * 2006-09-08 2012-05-08 Google Inc. Shape clustering in post optical character recognition processing
US7630978B2 (en) * 2006-12-14 2009-12-08 Yahoo! Inc. Query rewriting with spell correction suggestions using a generated set of query features
US7853887B2 (en) 2007-06-26 2010-12-14 Adobe Systems Incorporated Detection and preview of graphical elements within a graphic
US8233671B2 (en) * 2007-12-27 2012-07-31 Intel-Ge Care Innovations Llc Reading device with hierarchal navigation
JP2009193356A (ja) * 2008-02-14 2009-08-27 Canon Inc 画像処理装置、画像処理方法、プログラム、及び記憶媒体
US7480411B1 (en) * 2008-03-03 2009-01-20 International Business Machines Corporation Adaptive OCR for books
US8411956B2 (en) * 2008-09-29 2013-04-02 Microsoft Corporation Associating optical character recognition text data with source images
WO2010099224A1 (en) * 2009-02-24 2010-09-02 Adapx Inc. Systems and methods for reviewing digital pen data
US8340408B2 (en) * 2009-02-27 2012-12-25 Yahoo! Inc. Automatic page layout validation
US20100296734A1 (en) * 2009-05-20 2010-11-25 Colorcom, Ltd. Identifying and clustering blobs in a raster image
US8718365B1 (en) * 2009-10-29 2014-05-06 Google Inc. Text recognition for textually sparse images
US8922582B2 (en) * 2009-11-16 2014-12-30 Martin J. Murrett Text rendering and display using composite bitmap images
EP2734912A1 (en) 2011-07-18 2014-05-28 MultiTouch Oy Correction of touch screen camera geometry
US9251530B1 (en) 2012-08-31 2016-02-02 Sprinklr, Inc. Apparatus and method for model-based social analytics
US10003560B1 (en) * 2012-08-31 2018-06-19 Sprinklr, Inc. Method and system for correlating social media conversations
US9641556B1 (en) 2012-08-31 2017-05-02 Sprinklr, Inc. Apparatus and method for identifying constituents in a social network
US9959548B2 (en) 2012-08-31 2018-05-01 Sprinklr, Inc. Method and system for generating social signal vocabularies
US9288123B1 (en) * 2012-08-31 2016-03-15 Sprinklr, Inc. Method and system for temporal correlation of social signals
KR102147935B1 (ko) * 2013-08-29 2020-08-25 삼성전자주식회사 데이터 처리 방법 및 그 전자 장치
WO2015048291A1 (en) * 2013-09-25 2015-04-02 Chartspan Medical Technologies, Inc. User-initiated data recognition and data conversion process
US20150199735A1 (en) * 2014-01-13 2015-07-16 International Business Machines Corporation Pricing data according to qualitative improvement in a query result set
US20180101724A1 (en) 2015-06-04 2018-04-12 Mowdo System and method for capturing and interpreting images into triple diagrams
US10423827B1 (en) * 2017-07-05 2019-09-24 Amazon Technologies, Inc. Image text recognition
US11194789B2 (en) * 2019-06-07 2021-12-07 Sap Se Content agnostic memory pageable storage model
US11514697B2 (en) * 2020-07-15 2022-11-29 Oracle International Corporation Probabilistic text index for semi-structured data in columnar analytics storage formats

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3806871A (en) * 1968-01-30 1974-04-23 Cognitronics Corp Multiple scanner character reading system
US4091424A (en) * 1977-02-18 1978-05-23 Compression Labs, Inc. Facsimile compression system
DE2825912A1 (de) * 1978-06-13 1980-01-03 Siemens Ag Verfahren zur uebertragung von aufzeichnungen mit gemischtem darstellungsinhalt auf einen sichtanzeigeschirm, insbesondere in fernsprechanlagen
US4370641A (en) * 1979-08-15 1983-01-25 International Business Machines Corporation Electronic control system
US4494150A (en) * 1982-07-13 1985-01-15 International Business Machines Corporation Word autocorrelation redundancy match facsimile compression for text processing systems
US4707801A (en) 1983-05-11 1987-11-17 International Business Machines Corporation Word processing system based on a data stream having integrated alphanumeric and graphic data
US4907285A (en) 1984-08-24 1990-03-06 Hitachi, Ltd. Image understanding system
US4723209A (en) 1984-08-30 1988-02-02 International Business Machines Corp. Flow attribute for text objects
CA1268547A (en) 1986-03-31 1990-05-01 Ahmed Mostafa El-Sherbini Thresholding algorithm selection apparatus
EP0326137A3 (en) 1988-01-27 1991-10-02 Fuji Photo Film Co., Ltd. Image processing system
US5131053A (en) 1988-08-10 1992-07-14 Caere Corporation Optical character recognition method and apparatus
US5159667A (en) * 1989-05-31 1992-10-27 Borrey Roland G Document identification by characteristics matching
US4914709A (en) 1989-06-02 1990-04-03 Eastman Kodak Company Method for identifying unrecognizable characters in optical character recognition machines
US4974260A (en) 1989-06-02 1990-11-27 Eastman Kodak Company Apparatus for identifying and correcting unrecognizable characters in optical character recognition machines
JPH0388087A (ja) * 1989-08-31 1991-04-12 Toshiba Corp 文書読取装置
US5020112A (en) * 1989-10-31 1991-05-28 At&T Bell Laboratories Image recognition method using two-dimensional stochastic grammars
US5146552A (en) 1990-02-28 1992-09-08 International Business Machines Corporation Method for associating annotation with electronically published material
CA2045907C (en) 1991-06-28 1998-12-15 Gerald B. Anderson A method for storing and retrieving annotations and redactions in final form documents
JP3489119B2 (ja) 1991-08-09 2004-01-19 富士ゼロックス株式会社 文書処理装置
JP3516269B2 (ja) 1991-11-19 2004-04-05 ゼロックス コーポレイション 文書イメージの処理装置
US5331431A (en) * 1992-08-31 1994-07-19 Motorola, Inc. Method and apparatus for transmitting and receiving encoded data
GB9226137D0 (en) 1992-12-15 1993-02-10 Ibm Data entry system
US5848184A (en) 1993-03-15 1998-12-08 Unisys Corporation Document page analyzer and method
JP2521035B2 (ja) 1993-12-03 1996-07-31 インターナショナル・ビジネス・マシーンズ・コーポレイション 表示装置への注釈の配置
US5542006A (en) 1994-06-21 1996-07-30 Eastman Kodak Company Neural network based character position detector for use in optical character recognition
US5893125A (en) 1995-01-27 1999-04-06 Borland International, Inc. Non-modal database system with methods for incremental maintenance
US5857212A (en) 1995-07-06 1999-01-05 Sun Microsystems, Inc. System and method for horizontal alignment of tokens in a structural representation program editor
US5832474A (en) 1996-02-26 1998-11-03 Matsushita Electric Industrial Co., Ltd. Document search and retrieval system with partial match searching of user-drawn annotations
US5873111A (en) 1996-05-10 1999-02-16 Apple Computer, Inc. Method and system for collation in a processing system of a variety of distinct sets of information

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10592766B2 (en) 2016-02-29 2020-03-17 Brother Kogyo Kabushiki Kaisha Image processing apparatus and medium storing program executable by image processing apparatus

Also Published As

Publication number Publication date
EP0700197B1 (en) 2000-06-21
DE69517564D1 (de) 2000-07-27
JPH08190604A (ja) 1996-07-23
US5729637A (en) 1998-03-17
DE69517564T2 (de) 2001-03-08
US6385350B1 (en) 2002-05-07
EP0700197A1 (en) 1996-03-06

Similar Documents

Publication Publication Date Title
US6366695B1 (en) Method and apparatus for producing a hybrid data structure for displaying a raster image
US5729637A (en) Method and apparatus for producing a hybrid data structure for displaying a raster image
US4933979A (en) Data reading apparatus for reading data from form sheet
US6466694B2 (en) Document image processing device and method thereof
Spitz Determination of the script and language content of document images
KR100390264B1 (ko) 폼처리중자동페이지등록및자동영역검출을위한시스템및방법
US5101448A (en) Method and apparatus for processing a document by utilizing an image
EP0539106B1 (en) Electronic information delivery system
US7567730B2 (en) Detecting an orientation of characters in a document image
JP3259993B2 (ja) 語形測定方法及び画像信号処理方法
US6208744B1 (en) Document image processor and method for setting a document format conforming to a document image
US5509092A (en) Method and apparatus for generating information on recognized characters
EP1698988A1 (en) Image processing apparatus and its method
US5197107A (en) Character recognition apparatus
JP2001175807A (ja) テキスト領域選択方法
JPH08305803A (ja) 文字テンプレートセット学習マシン動作方法
US5926564A (en) Character recognition method and apparatus based on 0-1 pattern representation of histogram of character image
US5625710A (en) Character recognition apparatus using modification of a characteristic quantity
EP0680005A2 (en) Speed and recognition enhancement for OCR using normalized height/width position
US5923782A (en) System for detecting and identifying substantially linear horizontal and vertical lines of engineering drawings
CN111860450A (zh) 票证识别装置以及票证信息管理系统
JP3319203B2 (ja) 文書ファイリング方法及び装置
US8125691B2 (en) Information processing apparatus and method, computer program and computer-readable recording medium for embedding watermark information
JP2006277149A (ja) 文字画像切出装置、文字画像切出方法およびプログラム
EP0692768A2 (en) Full text storage and retrieval in image at OCR and code speed

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090127

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090630