(57)【特許請求の範囲】
【請求項１】
画像のビットマッピングされた表現を編集する方法であって、
ａ）画像のビットマッピングされた表現を受け取るステップを含み；
ｂ）前記画像中のグラフィカルオブジェクトのセットを編集するために複数の解釈を規定するステップを含み、前記複数の解釈の各々が、
編集すべきグラフィカルオブジェクトの１つのセットに対してなされ、該１つのセットにおけるグラフィカルオブジェクトは、グラフィカルオブジェクト間の所定の関係に従っており、
グラフィカルオブジェクトの該１つのセットを編集するために１つ以上の編集オペレーションを含み、該編集オペレーションは、編集オペレーションを実行された後の該１つのセットにおけるグラフィカルオブジェクトも前記所定の関係に従っているように、グラフィカルオブジェクトの該１つのセットに対して実行されるものであり、
ｃ）前記複数の解釈のうちの１つをユーザが選択するステップを含み；
ｄ）前記画像のビットマッピングされた表現から１つのセットのグラフィカルオブジェクトを前記ユーザが選択するステップを含み；
ｅ）選択された解釈に対する編集オペレーションを前記ユーザが選択するステップを含み；
ｆ）前記編集オペレーションを前記ユーザが選択することに応答して、前記１つのセットにおけるグラフィカルオブジェクトが前記所定の関係に従うように、前記編集オペレーションにより規定される方法で、前記１つのセットにおけるグラフィカルオブジェクトを処理する；
ことを特徴とする編集方法。
【請求項２】
ビットマッピングされた画像中のテキストを編集するシステムであって、
ビットマッピングされた画像を受け取る手段を含み；
前記ビットマッピングされた画像をディスプレイするディスプレイを含み；
前記受け取る手段で受け取られ前記ディスプレイにディスプレイされる前記ビットマッピングされた画像からグラフィカルオブジェクトを選択するユーザインタフェースを含み；
前記グラフィカルオブジェクトを編集する編集手段を含み、編集において、
グラフィカルオブジェクトを編集するための第１の解釈が規定され、該第１の解釈が、
編集すべきグラフィカルオブジェクトに対してなされ、該グラフィカルオブジェクト は、グラフィカルオブジェクト間において順序付けられて無く、
該グラフィカルオブジェクトを編集するための第１のセットの編集オペレーションを 含み、該第１のセットの編集オペレーションの何れが実行された後も、順序付けられて いない該グラフィカルオブジェクトは画像における元々の位置関係を維持し、
グラフィカルオブジェクトを編集するための第２の解釈が規定され、該第２の解釈が、
編集すべきグラフィカルオブジェクトに対してなされ、該グラフィカルオブジェクト は、グラフィカルオブジェクト間で順序付けられており、
該グラフィカルオブジェクトを編集するための第２のセットの編集オペレーションを 含み、該第２のセットの編集オペレーションの何れが実行された後は、順序付けられて いる該グラフィカルオブジェクトは該グラフィカルオブジェクト間の所定の隙間を維持 するように再配置される、  
ことを特徴とする編集システム。
【請求項３】
前記第１のセットの編集オペレーションの何れが実行された後も、編集オペレーションを受けていないグラフィカルオブジェクトは画像における元々の位置関係を維持する、請求項２の編集システム。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、走査された画像データ中に含まれるテキスト等のグラフィカルオブジェクトの編集及び操作に関する。
【０００２】
【従来の技術及び発明が解決しようとする課題】
走査された画像データ中に含まれるテキストデータを編集する技術は、バグレイ（Bagley）他の「画像中のキャラクタの変更（Changing Characters In An Image ）」という名称の、本発明の譲渡人に譲渡された米国特許第 5,167,016号（以後'016特許という）において述べられている。'016特許の図９〜図１１に関して示され且つ述べられているように、画像中の不正確なワードは、新たにタイプセットされたワードと置き換えられることにより修正され、画像の修正バージョンが得られる。新たにタイプセットされるワードは、画像中の文字から生成される。'016特許の図１１に関して示され且つ述べられているように、インタワードスペース（ワード同士の間隔）は新たなワードを受け入れるように調整される。
【０００３】
バグレイ他のヨーロッパ特許公開第 434 930号は、キャラクタサイズアレイに作用することにより画像中のテキストを編集する技術を開示する。ヨーロッパ特許公開第 434 930号の図１８に関して示され且つ述べられるように、余分なインタワードスペースを広げることにより行が調整されて、複数のインタワードスペースが等しく離間されることが可能である。インタワードスペースは、しきい値Ｄより大きい又はしきい値Ｄに等しいアレイ同士間のあらゆるスペースが１つのインタワードスペースであるという前提に基づいて見出されることが可能である。しかし、行中に余分なインタワードスペースが大きすぎる場合には、その行は調整されることができないため、エラーメッセージが出される。気付かれるように、図１８における技術を練って、行同士間でワードが移動できるようにすることが可能である；即ち、行中にあまりに大きな調整されるべきスペースがある場合には、同じ段落にワードが有って、且つ調整が施されて行を長くしすぎるという程にはそのワードが長くなければ、次の行からワードが付け足されることができる。あるいは行が長すぎる場合には、その行が調整されるまで、ワード（単数又は複数）を次の行に移動させることができる。段落においてその行が最終行であれば、その行は調整されずに、そのインタワードスペースがＤ等のデフォルト値にセットされる。
【０００４】
従来技術は、単純な幾何学的分析を介して得られる画像エレメント（画像を構成するもの）の集まりとしてのドキュメント表現を有する。この分析は３つの観測に由来するが、その１つはテキスト編集に関するものであり、そしてもう２つはタイポグラフィック（印刷技術）に関するものである。第１に、全てのテキスト編集オペレーションが、編集されるキャラクタのキャラクタレベルに依存するわけではない（例えば、検索オペレーションはそうであるが、コピー及び削除オペレーションはそうではない）。第２に、キャラクタは視覚的に異なるグラフィカルオブジェクトである。第３に、行はキャラクタを整列させたものであり、それ自身は視覚的に分離可能である。
【０００５】
このような従来技術のシステムには、拘束と制限がある。第１に、行及びキャラクタのドキュメント構成は、一旦それが計算されるやユーザにより変更されることはできない。行をセグメント化したり、連続した構成要素を結合したりすることに対するヒューリスティックが、望ましくない結果につながるおそれがある。例えば、僅かな程度のページのスキューにより、隣接した行同士が不適切に併合されるおそれがある。第２に、テキスト編集の前提は、テキストのかなり制約的なタイポグラフィックモードに従って形成される。一般的な前提は、ページはテキストの１つのコラムであること、行は水平方向（横方向）であり且つオーバーラップしないこと、垂直方向には罫引きがないこと、そしてテキストコラムには複数行にわたるフィギュア（文字、数字、図形など）が埋め込まれていないこと、である。第３に、ページが全体的にテキストであるというわけではないという場合でさえ、ページ全体に事前編集分析が適用される。そのようなことが行われても情報は失われないが、線引きやハーフトーンに対してヒューリスティック分析を施すことは無駄である。然るに、例えば従来技術において開示された画像データ中のテキスト編集技術は、回転したテキスト、特定的に順序づけられたテキスト、そして単純な構成のグラフィカルエレメント等を含む多様なグラフィカル及びテキストデザインを含むドキュメントに使用するのには適さない。
【０００６】
【課題を解決するための手段及び作用】
本発明は、走査された画像を編集する方法及び装置を開示する。本発明は、走査画像中で規定されるグラフィカルオブジェクトの解釈により、走査画像の編集を提供する。解釈（interpretation）は、グラフィカルオブジェクト同士間の所定の関係ばかりでなく、実行されることの可能な多様な編集オペレーションも含む。グラフィカルオブジェクトは、テキストのライン、文字（letter）、ワード、イメージ、又はユーザにより規定されるドキュメント画像のあらゆる他の構成部分、を表すことが可能である。グラフィカルオブジェクトはまた、別のグラフィカルオブジェクト（又はグラフィカルオブジェクトセット）にオペレーションが実行されて得られたものでもあり得る。一例を挙げると、グラフィカルオブジェクトをテキストとして扱う解釈が生成され得る。挿入及び削除編集機能は、キャラクタの離間を維持することにより「テキスト状」形式で挙動する。別の解釈には、グラフィカルオブジェクトを、挿入又は削除オペレーションに対してキャラクタの離間の維持を要求しない非テキストとして扱うものもある。
【０００７】
概して解釈は、２つのクラスのうちの１つに分類される。第１のクラス即ちセット解釈は、ドキュメント平面内にあるグラフィカルオブジェクトの順序づけられていない集まりである。セット解釈内の実行可能なオペレーションは、グラフィカルオブジェクトをドキュメント平面内の別の位置に移動することである。第２のクラス即ちシーケンス解釈は、グラフィカルオブジェクトの集まりが順序付けられているということを除けば、セット解釈と同じである。シーケンスオペレーション内の実行可能なオペレーションは、グラフィカルオブジェクトの順序及び空間的なアラインメント（整列）を維持しつつグラフィカルオブジェクトを挿入したり削除したりすることである。シーケンス解釈にさらに関連するものは、グラフィカルオブジェクトのセットに対するベースラインの概念である。ベースラインは、共通の基準に対してグラフィカルオブジェクトを整合するために提供される。本発明では、ベースラインは直線、回転した線、又は曲線であり得る。シーケンス解釈の１つのタイプをテキスト解釈という。テキスト解釈は、テキスト状形式でグラフィカルオブジェクトを編集するために使用される。
【０００８】
解釈の例は、グラフィカルオブジェクトのセットと、グラフィカルオブジェクトに実行されることのできる編集オペレーションを含む。ある解釈と協働する編集オペレーションは、グラフィカルオブジェクトのセットを所定の関係に従って編集する。例えばテキスト解釈の例では、それと協働するグラフィカルオブジェクトは、個々の文字であるように取り扱われ得る。この場合には、挿入及び削除オペレーションはキャラクタの離間を維持する。解釈の例は、望ましいグラフィカルオブジェクトの所定のコマンド及び選択の発行により生成され得る。
【０００９】
本発明は、デジタルコピー機、ファクシミリ、ドキュメント処理システム、あるいは適切なコンピュータシステムでの実行に対するスタンドアロンソフトウェアパッケージ等の多様なプラットフォーム上で実行され得る。
【００１０】
本発明の一態様は、画像のビットマッピングされた表現を編集する方法であって、ａ）グラフィカルオブジェクトのセットを編集するために複数の解釈を規定するステップを含み、グラフィカルオブジェクトの１つのセットを編集するために、前記複数の解釈の各々が所望の特性に従って行われ、前記グラフィカルオブジェクトの１つのセットを前記所望の特性に従って編集して得られたものが、前記所望の特性に従っており、前記複数の解釈の各々が、１つ以上のオペレーションを含み、ｂ）画像のビットマッピングされた表現を受け取るステップを含み、ｃ）前記複数の解釈のうちの１つをユーザが選択するステップを含み、ｄ）前記画像のビットマッピングされた表現から１セットのグラフィカルオブジェクトを前記ユーザが選択するステップを含み、ｅ）選択された解釈に対する編集オペレーションを前記ユーザが選択するステップを含み、ｆ）前記編集オペレーションを前記ユーザが選択することに応答して、前記編集オペレーションにより規定される方法で前記グラフィカルオブジェクトを処理するステップを含み、その結果前記グラフィカルオブジェクトが前記所望の特性に従うものとなる、ことを特徴とする。
【００１１】
本発明の別の態様は、ビットマッピングされた画像中のテキストを編集するシステムであって；ビットマッピングされた画像を捕らえる手段を含み；前記ビットマッピングされた画像をディスプレイするディスプレイを含み；前記ビットマッピングされた画像からグラフィカルオブジェクトを選択するユーザインタフェースを含み；グラフィカルオブジェクトの第１の解釈を含み、前記第１の解釈が、グラフィカルオブジェクトの順序づけられていないリストとしてグラフィカルオブジェクトを編集するためのものであり、また前記第１の解釈が、第１のセットの編集オペレーションを有し、該第１のセットの編集オペレーションのいずれが実行された後も、前記グラフィカルオブジェクトの順序づけられていないリストは元々の空間的関係を維持し；グラフィカルオブジェクトの第２の解釈を含み、前記第２の解釈が、グラフィカルオブジェクトの順序づけられたリストとしてグラフィカルオブジェクトを編集するためのものであり、また前記第２の解釈が、第２のセットの編集オペレーションを有し、該第２のセットの編集オペレーションのいずれかのオペレーションが実行された後に、前記グラフィカルオブジェクトの順序づけられたリストが、所定の特徴的空間的関係を維持するようにグラフィカルオブジェクトを再位置づけされることとなる；ことを特徴とする。
【００１２】
【実施例】
走査されたドキュメント画像を編集する方法及び装置について記述する。本発明がよく理解されるように、以下の記述において、削除及び挿入オペレーションを実行する場合のキャラクタの離間に対する計算等の数多くの特質の詳細を説明する。しかしながら、当業者には、このような詳細な説明がなくても、本発明の実行が明らかであろう。例えば、走査されたドキュメント画像からキャラクタを摘出するための解剖（parsing ）技術のような特定的な実行の詳細については、本発明を不必要に不明瞭にしないためにも、詳細には示さなかった。
【００１３】
走査されたドキュメント画像は、単純には、走査プロセスを介して得られた画像のビットマッピングされた表現である。本発明は、ビットマッピング表現を有するあらゆるドキュメントに使用されることができる。例えば、フレーム捕獲は、ビデオソースからの画像のビットマッピング表現を捕獲するように使用される。このようなビットマッピング表現は、本発明を実行するシステムにおいて編集されることができる。さらに、走査（された）ドキュメント画像、画像のビットマッピング（された）表現、及びビットマッピング（された）画像という語句は、本文中では相互交換可能に使用されると共に、同じ意味を有すると見なす。
【００１４】
以下の記述から明らかになるように、本発明は走査画像中に含まれるテキストを編集することにおいて特定的な利点を見出す。ドキュメントをファックスしたりデジタルコピー機でコピーしたりすることによって、主にテキストを含む走査画像が生成されるのが、一般的である。従来技術に関して述べると、走査画像中に含まれるテキストのいずれかを編集するために、光学的文字認識（ＯＣＲ）等の、本発明には本質的には関係のない処理が実行されなければならない。以後明らかになるように、本発明は、本発明とは本質的には関係のない処理を最小限にすると共に、テキストのオリエンテーションを規定することに対して付加された柔軟性を提供することにより、走査画像中の幅広いテキストデータを編集することを可能にする。
【００１５】
本発明のこの好適実施例を実行し得るコンピュータベースシステムを、図１に関して述べる。図１を参照すると、コンピュータベースシステムは、バス１０１を介して接続される複数の要素を含む。ここに示されるバス１０１は、本発明を不明瞭にしないように簡素化されている。バス１０１は、複数の水平なバス（例えばアドレスバス、データバス、及びステータスバス）や、階層関係にあるバス（例えばプロセッサバス、ローカルバス、及びＩ／Ｏバス）を含み得る。あらゆる場合において、コンピュータシステムはさらに、内部メモリ１０３からバス１０１を介して提供される命令を実行するためのプロセッサ１０２を含む（内部メモリ１０３は一般に、ランダムアクセスメモリ又は読み出し専用メモリの組合せであることに留意せよ）。プロセッサ１０２及び内部メモリＲＯＭ１０３は、離散した構成要素、又はＡＳＩＣチップ等の単一総合デバイスであり得る。
【００１６】
バス１０１には、英数字入力を入力するためのキーボード１０４、データを格納するための外部記憶装置１０５、カーソルを操作するためのカーソル制御デバイス１０６、そして可視出力をディスプレイするためのディスプレイ１０７も接続される。キーボード１０４は、ＱＷＥＲＴＹキーボードであるのが一般的であるが、電話状のキーパッドでもあり得る。外部記憶装置１０５は、固定式又は取出し可能な磁気若しくは光学ディスクドライブであり得る。カーソル制御デバイス１０６は、それと協働するボタンやスイッチを有するのが一般的であり、それによって或る機能の実行がプログラムされることができる。バス１０１にはさらにスキャナ１０８が接続される。スキャナ１０８は、媒体のビットマッピング表現（即ち走査ドキュメント画像）を生成する手段を提供する。
【００１７】
バス１０１に接続されることのできるオプション要素には、プリンタ１０９、ファクシミリ１１０、及びネットワークコネクション１１１が含まれる。プリンタ１０９は、ビットマッピング表現が編集された後それを印刷するように使用されることが可能である。ファクシミリ１１０は、ビットマッピング表現が編集された後でそれをファクシミリ伝送するように使用されることができる。ファクシミリ１１０は、スキャナ１０８及びプリンタ１０９の機能を使用して、ファクシミリデバイスの完全な機能を形成することが可能である。ネットワークコネクション１１１は、媒体のビットマッピング表現を含むデータの受け取り及び／又は伝送のために使用される。
【００１８】
本発明のこの好適実施例は、カリフォルニア州マウンテンビューのサンマイクロシステムズ（Sun Microsystems）から入手可能なサンマイクロシステムズワークステーションでの使用に関して実行される。しかしながら本発明は、この好適実施例とは別の多様なシステムにおいて実行されることが可能である。例えば本発明は、デジタルコピー機、ファクシミリデバイス、又は走査画像データを操作するあらゆる他のシステムにおいて実行されることが可能である。本発明はまた、「ペイントプログラム」等のその他の画像編集システムと共に、あるいはその一部として使用されることが可能である。
【００１９】
さらに、この好適実施例をテキスト編集に関して述べることにするが、グラフィカルオブジェクトの間の上記のような関係が解釈に委ねられるということが注目されるべきである。換言すれば、本発明は文脈依存型ではないので、グラフィカルオブジェクトのあらゆるセットが、特定の解釈により規定される規則に従って編集される。この柔軟性により、多様なライティングシステムを編集することに対する解釈を生成したり、特定的なドキュメントレイアウトに対する解釈をも生成することが可能となる。
【００２０】
キーボード１０４、カーソル制御デバイス１０６、ディスプレイ１０７、そしてプロセッサ１０２において実行する適切なソフトウェア命令、の組合せがユーザインタフェースを構成する。ディスプレイ１０７の大部分は、グラフィカル平面の長方形領域を見ることに当てられる。この領域と交わる全てのラスタオブジェクトが、少なくとも部分的にディスプレイ１０７上に示される。オフセット及びスケールファクタはユーザにより制御される。本発明のユーザインタフェースは、解釈の選択、解釈の中の編集オペレーションの選択、そしてオペレーションを施されるべきグラフィカルオブジェクトの選択等の編集機能を実行するように提供される。解釈及び編集オペレーションの選択は、メニュー選択を介して実行され得る。別法としては、解釈及び編集オペレーションの選択は、コマンドラインに入力されるコマンドを介して実行されることが可能である。
【００２１】
典型的には、走査ドキュメント画像は、ディスプレイ１０７上にディスプレイされる。ドキュメントの編集は、What You See Is What You Get（WYSIWYG ：見ているものが結果として得られる）の形で発生する。望ましい解釈の選択が行われた後、グラフィカルオブジェクトの選択は、典型的には、望ましいグラフィカルオブジェクトを選択長方形で内包することにより行われる。選択長方形は、内包されるべきグラフィカルオブジェクトの一角にポインタを置き、カーソルデバイスと協働するスイッチ又はボタンを押しながらカーソル制御デバイスを用いて対向する角にポインタを動かし、破線により長方形（その長方形はグラフィカルオブジェクトを覆うのに十分な大きさである）を生成し、カーソル制御デバイスと協働するスイッチから手を放すことによって作り出される。次に、選択された解釈に対応する編集オペレーションを利用することができる。
【００２２】
本発明は、解釈の概念を前提とされる。解釈は、走査ドキュメント画像により規定される又は走査ドキュメント画像から解釈されるグラフィカルオブジェクトの集まりを考察し且つそれに働きかける方法である。典型的には、解釈により、グラフィカルオブジェクトの集まりは、或る望ましい特性に従って（例えばテキストであるように）挙動することとなる。１つのグラフィカルオブジェクトは、あらゆる時に１つより多い解釈の一部であることが可能である；しかしながら、１つより多い解釈を同時に動作させることは通常は不必要なことである。解釈は複数のクラスに編成される。解釈の各クラスは、識別化の目的でネームと、そのクラスに対して意味をなすオペレーションのセットとを有する。オペレーションのセットは、グラフィカルオブジェクトのセットに対する解釈の例を構成するオペレーションを含む。
【００２３】
解釈のクラスは、抽象データ型に類似する。解釈クラスの単純な例はテキスト解釈であり、該テキスト解釈の例は、一連のキャラクタオブジェクトと、そのテキスト解釈が生成された時に決定される、それらのキャラクタオブジェクトのベースラインとを含む。テキスト解釈は、「テキスト状」オペレーションをサポートするが、そのオペレーションの最も顕著なものは、キャラクタの挿入及び削除である。テキスト解釈について以下により詳細に述べる。
【００２４】
グラフィカルオブジェクトは、典型的には、走査ドキュメント画像の或る選択された部分である。しかしながら、解釈の例は、それ自体その構成要素の境界ボックスを占拠するグラフィカルオブジェクトであると共に、コマンド編集のオブジェクトであることが可能、即ちその他の解釈に含まれることが可能である。オペレーションには、解釈の特性を変えるものもあれば、含まれる各グラフィカルオブジェクトに影響を及ぼすものもある。この解釈の「ネスティング」により、再帰を介して強力な編集機能の生成が容易に行われる。
【００２５】
この好適実施例では、解釈されるグラフィカルオブジェクトはバイナリーラスタアレイである。ラスタは、或る外部画像ファイルから読み取られることにより、又は他のラスタからそれらを摘出することにより、又はいくつかの既存のラスタと一緒に組み合わせられることにより、形成される。ラスタを画像形成する場合、それらの相対的な深さは重要ではないが、それはなぜなら黒ピクセルのみがスクリーン上に描かれるのであって、白は透明であるからである。
【００２６】
この好適実施例では、解釈の例は、自動的に又はユーザの開始する手続きにより形成される。上述のように、解釈の例は、グラフィカルオブジェクトのセットであり、且つ該グラフィカルオブジェクトのセットに実行されることのできるオペレーションのセットである。解釈の基本的なデータ構造クラス（複数）は、増分的且つ階層的な形で構成され、各々は即時プロセッサから受け継がれる。解釈には２つの基本的なクラス、即ちセット解釈とシーケンス解釈がある。セット解釈クラスは、グラフィカルオブジェクトの順序づけられていないリストを維持すると共に、グラフィカルオブジェクトをそのリストに追加及びそのリストから除外させ、セットに対するオペレーションを模倣する。セット解釈は、グラフィカル平面に存在する、関連のある可能性はあるが順序づけられていないグラフィカルオブジェクトの外観をモデルに合うように作製する。シーケンス解釈クラスは、既定の順序にあるグラフィカルオブジェクトを維持する。挿入及び削除はカーソルの位置で発生するので、変更の位置を直接的に制御することができる。このような解釈のクラスについて、より詳細に記載する。
【００２７】
セット解釈は、平面におけるグラフィカルオブジェクトの外観をモデルに合うように作製するように意図され、グラフィカルオブジェクトの位置やその他の特質を操作するための固有のオペレーションを提供する。これは、グラフィカルオブジェクトを含む固定したラスタ画像の編集にたとえられることが可能である。セット解釈を図２で図示する。図２を参照すると、ドキュメント座標システム２００は、多様なグラフィカルオブジェクトの空間的位置を測定する手段を提供する。各グラフィカルオブジェクトは、平面の起点から測定される位置を有する。オブジェクトはオーバーラップすることもある。グラフィカルオブジェクト２０１〜２０５の各々は、これらの空間的な関係を維持すると共に、ドキュメント画像の対応部分を含むバイナリーラスタとしてそれ自身を表される。２０４および２０５により図示されるように、グラフィカルオブジェクトはオーバーラップすることもある。オペレーションは、オブジェクトそれ自体の変更ではなく、オブジェクトの編成と編成に対する変更に集中しており、これはここでの目的の根源であるとみなされる。
【００２８】
セット解釈は、ドキュメント画像を含むグラフィカルオブジェクトのレイアウトを操作する、容易に利用できる手段を供与する。ビットマッピング画像表現を編集する度ごとに、その他のグラフィカルオブジェクトに影響を及ぼさないことが望ましい。
【００２９】
セット解釈は多くのオペレーションをサポートする。そのいくつかの例を以下に示す。
ＳＥＬＥＣＴ（選択）：次のオペレーションを受けるグラフィカルオブジェクトのセットを選択するために提供される。
ＭＯＶＥ（移動）：平面におけるあらゆる位置にグラフィカルオブジェクトを移動させるために提供される。
ＤＥＬＥＴＥ（削除）：グラフィカルオブジェクトを平面から消滅させると共に、システムから除外するために提供される。
ＣＯＰＹ（コピー）：目的位置において同一の外観を有する新たなラスタを生成することにより、グラフィカルオブジェクトをコピーするために提供される。
ＣＨＡＲＡＣＴＥＲ  ＰＡＲＳＥ（キャラクタ解剖）：ラスタを、その中の連続した複数の構成要素（例えばキャラクタ）で置換するために提供される。
ＴＲＩＭ（仕上げ）：全部が白のボーダーを有さないようにラスタを調整するために提供される。
ＥＸＴＲＣＴ（摘出）：ラスタ中の矩形のサブ領域を特定し、そのサブ領域を新たなラスタ中へ移動するために提供される。
ＬＩＮＥＡＲ  ＰＡＲＳＥ（線形解剖）：ラスタ内部の白スペースの垂直方向又は水平方向のストリップを見い出すことにより、ラスタをサブラスタに分けるために提供される。
ＭＥＲＧＥ（併合）：１セットのラスタを、そのセットの画像を含む単一のラスタで置換するために提供される。
ＡＬＩＧＮ（整列）：ラスタをスライドさせて、それらの任意の境界エッジ又は中心に沿ってアラインメントするために提供される。
ＫＩＬＬ（抹消）：ラスタを削除してそれをキルリング上に置くために提供される。
ＹＡＮＫ（引出し）：上記キルリングからラスタを引き出して、それを特定された目的位置に置くために提供される。
【００３０】
上記オペレーションのリストは、一例であって全てを網羅するものではないと意図される。本発明の主旨及び範囲から逸脱することなく、セット解釈の他のオペレーションも包含されることが、当業者には明らかであろう。
【００３１】
図３は、セット解釈において実行されるオペレーションを示す一例である。図３を参照すると、パネル３０１では、処理ベースとなるラスタ３０７を有するドキュメント画像が読み出される。まず、ラスタ３０７は文字「ａ  ｂ  ｃ」を含む。パネル３０２においては、選択領域オペレーションが実行され、文字「ａ」３０８が選択される。この好適実施例では、このような選択は、キャラクタを囲む境界ボックスを規定することにより実行される。ここでは境界ボックスを破線で示す。境界ボックスは、マウスを用いてポイントを選択し、カーソルをドラッグして境界となる矩形を規定するといった、グラフィカルユーザインタフェースの技術においてよく知られた技術を用いることにより生成される。パネル３０３では、摘出（EXTRACT ）オペレーションを介して、選択された領域を摘出し、文字「ａ」を含むラスタ３０９を形成する。この時点では、文字「ａ」が摘出されているので、ラスタ３０７は文字「ｂ」及び「ｃ」のみを含む。パネル３０４では、移動（MOVE）オペレーションにより、ラスタ３０９を含む選択領域が、新たな位置に空間的に移動される。パネル３０５では、選択及び摘出オペレーションが文字「ｂ  ｃ」に実行されて、新たなラスタ３１０が生成される。よってこの時点では、ラスタ３０７は空である。最終的には、パネル３０６でキャラクタ解剖（CHARACTER PARSE ）オペレーションがラスタ３１０に実行される。キャラクタ解剖オペレーションは、連結キャラクタ技術を用いて、ラスタにおけるキャラクタを分離する。いずれにしても、キャラクタ解剖オペレーションが実行された結果、ラスタ３１１及び３１２が生成され、それらはそれぞれキャラクタ「ｂ」及び「ｃ」を含む。この時点では、４つの異なるラスタが生成されたことになる；即ち文字「ａ」を有するラスタ３０９と、文字「ｂ」を有するラスタ３１１と、文字「ｃ」を有するラスタ３１２と、文字を有さないラスタ３０７とである。
【００３２】
シーケンス解釈は概して、テキストのキャラクタ、行、及びコラムの空間的な配置を捕らえる要求を動機とするものであった。複数のシーケンスをネスティングすることにより、一般的なタイポグラフィックアラインメントの大部分が構成されることができる：ページはコラムのシーケンスであり、コラムは行のシーケンスであり、行はキャラクタやワードのシーケンスである。
【００３３】
シーケンス解釈は、セット解釈の延長であると共に、順序づけて整列されたオブジェクトの集まりという概念をサポートするものと意図される。順序づけとは、いずれにおいてもファーストオブジェクトとラストオブジェクトがあると共に、各オブジェクト（ラストオブジェクトを除く）は次のオブジェクトを有し、各オブジェクト（ファーストオブジェクトを除く）は前にオブジェクトを有するということを意味する。オブジェクトの順序づけは、読み取りの順序（例えば上から下且つ左から右）に従うのが一般的である。オブジェクトの順序づけは、シーケンス解釈により特定される。ユーザは暗黙のうちに、或る特定のシーケンス解釈の選択を介してオブジェクトが順序づけられる方法を選択する。
【００３４】
アラインメント（整列）手段とは、オブジェクトのいくつかが移動する時に、或る離間関係が保持されるということを意味する。アラインメントは、解釈内に格納されるベースラインに対して測定される。オブジェクトが移動される時、即ちオブジェクトがベースラインに沿ってスライドする時には、ベースラインと直交する方向にとられる、各オブジェクトのベースラインからの距離が保持される。ベースラインに平行な方向で測定されるオブジェクト間の距離もまた、移動の間保持される。（オブジェクトはすぐ隣のオブジェクトに対する相対的離間を維持する。）離間及びアラインメントを図４に図示する。図４を参照すると、グラフィカルオブジェクト４０２〜４０４は、空間的に整列されると共に、ベースライン４０１に沿って順序づけられている。グラフィカルオブジェクト４０２〜４０４は、文章中の単数又は複数のワードにおける文字を表し得る。さらに、オブジェクト間スペース４０５及び４０６が示されているが、それらはそれぞれ、グラフィカルオブジェクト４０２と４０３の間、そしてグラフィカルオブジェクト４０３と４０４の間のスペースを規定する。多くの解釈に対して、挿入及び削除オペレーションは、オブジェクト離間と、ベースラインに対するグラフィカルオブジェクトの距離とを保持する。より一般的に言えば、解釈はベースラインに対しての或る束縛（例えば固定したピッチの離間、表の欄のレイアウト、所与のコラム幅に対する桁揃えを実行するためのオブジェクト離間の調整等）をオブジェクトに強要することができる。
【００３５】
基本的なシーケンス解釈の種々の重要な変形を定義する。線形解釈クラスは、ベースラインの概念において追加され、その結果オブジェクトは、平面におけるそれらの位置により或るベースラインに関して順序付けられることとなる。ベースラインは本質的に、エレメントの「ａｌｏｎｇ」（平行）変位及び「ａｂｏｖｅ」（直交方向）変位を計算するために使用される局所座標である。テキスト解釈クラスは、テキストによって特定される計算の態様を保持するように使用され、詳細には、ディセンダーを有し得るエレメントを与えられたベースラインの計算や、同一キャラクタの部分であるとみなされるのに十分にオーバーラップする隣接エレメントのグルーピング（集約）である。
【００３６】
この好適実施例では、線形解釈の複数の例を生成するためのいくつかのオペレーションがあり、その各々はベースラインを計算することにおいて使用される異なる方法を提供する。「create horizontal interp（水平方向解釈の生成）」というオペレーションは、選択されたグラフィカルオブジェクトを、そのベースラインが水平であるように強制される新たな解釈に作製する；即ちベースラインは、解釈において全てのオブジェクトの最も下のエッジに接する。分析による「create vertical interp（垂直方向解釈の生成）」は、ベースラインをｙ軸に水平になるように強制する。より一般的なオペレーションである「create rotated interp （回転解釈の生成）」は、各オブジェクトの「エッジ」近くを通るベストフィット（最良に調整された）ベースラインを計算する。
【００３７】
オブジェクトのセットの線形解釈に対するベストフィットベースラインは、以下の技術を用いて計算される。まず、ラインは各オブジェクトの境界ボックスのすべての最下左角を通るようにフィット（調整）される。境界ボックスは、原画像の座標系と整合される。これはベースラインにかなり近いが、境界ボックスの占拠領域の外に角が突出することを無視するので、それは厳密な回転において拡大されることとなる。次の段階で境界ボックスは、それらのエッジが概算のベースラインに水平である又は直交するように再び計算されて、次に新たなラインが最下左角を通るようにフィットされる。このラインが最終的に算定されたベースラインである。
【００３８】
テキスト解釈クラスは、線形解釈の特定化である。それは、オブジェクトが同一キャラクタの別々の部分であるという前提の下で、ベースラインの計算におけるディセンダーに対して、そしてベースラインに沿ってオーバーラップするオブジェクトをグルーピングすることに対して、サポートを追加する。ベースライン計算においてディセンダーを有するキャラクタをサポートする技術を図５に示す。図５を参照すると、ベースラインは、各オブジェクトを規定する境界ボックスの最下左角点にフィットするラインに基づいて計算される。これは、５０１により示される「ｐａｎｃａｋｅｓ」という単語を規定するキャラクタオブジェクトに対するベースライン５０２により示される。角点のこのベースラインまでの距離のメジアンが計算される。メジアンを越える角を有する境界ボックスが計算から排除されて、新たなラインフィットが生成される。処理は二度繰り返される。キャラクタオブジェクト５０３に対する最終的なベースラインは、ベースライン５０４として示される。
【００３９】
図６は、同一のキャラクタの一部とみなされ得る、並んだキャラクタピースのグルーピングを示す。これは、例えば「ｉ」というキャラクタの場合に起こり得る。テキスト解釈クラスは、或るオブジェクトの境界ボックスの中心をベースラインに投影したものが、別のオブジェクトの境界ボックスを投影したものの範囲内に、或る許容された所定の距離の範囲内で存在するかどうかによりオブジェクトをグルーピングするオペレーションを含む。図６を参照すると、境界ボックス６０１〜６０３は、ベースライン６０８に投影されている。境界ボックス６０２の中心線６０５は、所定の距離６０４内にある。所定距離６０３も境界ボックスの反対側にあるため、投影は境界ボックス６０１の両側においてなされ得るということに注意する。従って、境界ボックス６０１及び６０２は、１つのキャラクタとしてグルーピングされることができる。境界ボックス６０６の中心線６０７は、他のどの境界ボックス内にもないので、他のどのオブジェクトとも組み合わせられることができない。
【００４０】
線形オペレーションにより行われる主なオペレーションは、カーソルの移動と編集である。カーソルは、シーケンスの２つのエレメントの間（又はファーストエレメントの前、又はラストエレメントの後）に置かれる。カーソルは、シーケンスを通って前方又は後方に移動されることができる。これは、ベースラインにおいてオブジェクト同士間に描かれる脱字記号としてスクリーン上に見えるように示されることができる。編集オペレーションは挿入、削除、又はそれら２つの組合せである。挿入及び削除は、カーソルにおいて発生する。挿入は、カーソルの後のキャラクタの前に、或るグラフィカルオブジェクト（マウスを介して特定される、又はキルリングから得られる）を挿入する。削除は、カーソルの後のキャラクタを除去する。挿入は、新たなエレメントが入るのに十分なスペースを作るのに必要な量だけ、シーケンスの残りのエレメントをスライドさせることにより、新たなエレメントをシーケンスへ追加する。削除は、それとは逆に、エレメントを除去し、その空いたギャップを閉じるように残りのエレメントをシフトする。
【００４１】
挿入又は削除の場合の、隣接するもの同士の離間を図７及び図８に示す。図７は、オブジェクトを削除する場合の離間を示す。この好適実施例では、オブジェクトが削除されると、この変化を受け入れるために、元々のオブジェクト同士の離間を調整する必要がある。多様な可能性があるが、一貫したアプローチが取られなければならない。図７を参照すると、オブジェクトａ７０２とｂ７０３は、距離ｘ７０５だけ離間され、オブジェクトｂ７０３とｃ７０４は距離ｙ７０６だけ離間される。例えば、オブジェクトｂ７０３が削除されるべき場合には、オブジェクトａ７０２とｃ７０４の間の新たな距離として距離ｘ７０５か距離ｙ７０６かのどちらかが選択されることが可能である。この好適実施例では、距離ｘ７０５を使用することにする。しかしながら、選択される距離が一貫している限り、距離ｙ７０６や他の望ましい距離を使用できることが当業者には明らかであろう。もちろん、オブジェクトの実際の移動は、解釈されるテキストが左寄せ、右寄せ、あるいは中間で調整されるように特徴づけられているかに依存するので、以下にオブジェクト離間について記載する。
【００４２】
図８は、オブジェクトを挿入する場合の離間を示す。図８を参照すると、オブジェクトａ８０２、ｂ８０３、及びｃ８０４はベースライン８０１に沿って存在する。オブジェクトａ８０２及びｂ８０３は、距離ｘ８０５だけ離間され、オブジェクトｂ８０３及びｃ８０４は距離ｙ８０６だけ離間される。ベースライン８０７上のオブジェクトｄ８０８を、オブジェクトｂ８０３の前に挿入するとする。オブジェクトｄ８０８は、前空間ｓ８０９と後空間ｔとを対応づけられている。従って、オブジェクトｄ８０８の前に用いられるべき離間の候補は、距離ｘ８０５とｓ８０９であり、オブジェクトｄ８０８の後に用いられる離間の候補は、ｙ８０６とｔ８１０である。オブジェクトｄ８０８が挿入されると、この好適実施例では、距離ｘ８０５がオブジェクトｄ８０８の前空間として使用され、ｔ８１０がその後空間として使用される。ｄ８０８の後に何もない（即ちｔ８１０がない）場合には、距離ｙ８０６が使用される。
【００４３】
線形解釈に適用するいくつかの他のオペレーションがある。１つは、エレメントがアクセスされる順序を（次／前の関係を逆にすることにより）逆転するものである。これは幾何学的な位置を変えない。従って、読み取られる順序が元々左〜右である場合には、エレメントはこのオペレーションの後右〜左に読まれるでろう。第２のオペレーションは、挿入又は削除オペレーションによりエレメントが移動されることに影響する。普通に印刷された英語のテキストでは、キャラクタは左寄せされ、行の１番目のエレメントの位置は固定されたままであり、その後のキャラクタが新たなキャラクタを受け入れたりギャップを閉じたりするために浮動することとなる。従って、１番目のエレメントは「固定」される。その固定されたエレメントは、シーケンスの最後のエレメントとなるように変えられることも可能であり、その場合にはその前のエレメントが移動することとなる。このパラメータは、エレメントの読み出し順序とは別のものである。概して言えば、あらゆるエレメント又は幾何学的位置は、固定位置であることが可能である。柔軟性の第３は、ベースラインの配置を変えることに利用される。平面に１シーケンスのエレメントがある場合には、実際にエレメントをキャラクタとして読み出すことなく、それらのベースラインがそれらの下にあるか上にあるかを決定することは不可能である（それらは上下逆又は右〜左へと印刷されるかもしれない）。従って、その行の「別の側」にベースラインを移動させるオペレーションを有することが必要である。
【００４４】
解釈は、それ自体解釈であるオブジェクトを含むことができるので、このツリー構造を横断するコマンドがある。通常の移動コマンド（前方／後方）が、選択される解釈に適用される。選択される解釈は、現在選択されている解釈（１つあると仮定する）の含有解釈に（select-up-interpを介して）スイッチされることができる。カーソルの後のオブジェクトが解釈である場合には、それが選択される解釈として（select-down-interpを用いて）選ばれることが可能である。
【００４５】
以下に、いくつかの編集例（即ち解釈の例）を示し、本発明で実行され得る編集機能の柔軟性と頑丈性とを示す。
【００４６】
図９は、ベースラインが水平でないように回転されているテキスト解釈の例を示す。実行されるべき編集オペレーションは、新たなキャラクタの挿入である。図９を参照すると、前画像９０５においては、ベースライン９０１上に「ｓｐｅｄ」という単語がある。ベースライン９０１は水平でないようにかなり回転されている。この例に対するテキスト解釈の例は、回転されたベースラインを有するテキストに対するテキスト解釈を選択し、次に「ｓｐｅｄ」という単語を含むドキュメント画像の領域を選択することにより生成される。この選択された領域は、個々の文字に対するラスタを形成するようにキャラクタ分析されることが可能である。次にベースラインが、上述された方法で計算される。
【００４７】
後画像９０６では、「ｅ」という文字９０２が、文字「ｄ」の前に挿入されて、「ｓｐｅｅｄ」という単語が形成された。挿入される文字を受け入れるために、その他のキャラクタがベースライン９０１に沿ってスライドされた。
【００４８】
この好適実施例では、各々のキャラクタの回りを囲む境界ボックスはディスプレイされないということが気付かれるべきである。キャラクタラスタの整列及び離間を強調するために、境界ボックスを図９に示した。
【００４９】
テキストの特定の順序及び位置に基づいて解釈を構成する能力を図１０に示す。図１０は、英語の翻訳文を伴う非英語の文章である。非英語のテキストはライン（行）１００１、１００３、１００５、及び１００７上にあり、ライン（行）１００２、１００４、及び１００６上に示されるように、英語の翻訳文が一行ずつ間に挿入されている。英語の翻訳文を読むためには、テキストの読取り順序を１行とばしに行わなければならないことが明白である。これは、編集オペレーションが実行される時にテキストが如何に調整されるかに影響を及ぼす。例えば、翻訳文にエラーが生じた場合には、編集はライン１００２、１００４、及び１００６に及ぶだけであるので、キャラクタ又は単語のあらゆる挿入又は削除が行われるためには、後続又は先行のラインに沿って変化の結果がラップ（循環、折返し）することが望ましいと言える。本発明により、ユーザは、テキストの領域が連結される方法（例えばテキストを含む領域を選択且つ順序づけすること等）を特定することができる。この例では、ユーザがテキスト解釈のオペレーションにおいてライン１００２、１００４、１００６を選択するというオペレーションにより実行されるであろう。キャラクタのあらゆる挿入又は削除は、ライン１００２、１００４、１００６のみに沿ってワードラッピング（ワード循環）することとなる。
【００５０】
例えば円弧のような非線形のベースラインを有するテキストを編集することも、本発明では容易に実行することができる。これはなぜなら、オブジェクト位置が、ベースラインに沿う平行移動として、そしてその上への変位として表されるからである。この位置決めを図１１に示す。図１１を参照すると、オブジェクト１１０３はａｂｏｖｅ（上部変位）距離１１０５だけベースライン１１０１より上にあり、ａｌｏｎｇ（平行移動）距離１１０４だけベースライン１１０１に沿って平行移動している。さらに図１１には、グラフィカルオブジェクトの座標系の起点との関係を示す座標軸１１０２が示されている。オブジェクト１１０３は円形であるが、グラフィカルオブジェクトは境界ボックスを有することが一般的であるので、ａｂｏｖｅ及びａｌｏｎｇ距離は単純に計算されるということがわかる。
【００５１】
図１２は、円形ベースラインに沿う編集を示す。「前画像」は１２０１で示される。「後画像」は１２０２で示される。円形テキスト解釈は、挿入又は削除を受け入れるためにオブジェクトが弧に沿ってスライドする時に、同一の相対的な方向性において内部座標系をベースライン上の最も隣接した点に保つように回転されるように編集を行うよう構成される。ベースラインを計算することにおいて、ラインフィットとは別のカーブフィット技術が使用されることに注目する。図１２を再び参照すると、単語中の「ｍ」という文字が削除されていた。円形解釈はテキスト全体を含む必要がないということに注目すべきである。円形ベースラインを形成するのに十分なキャラクタが解釈のために選択されるだけでよい。ここでは、最初の１２個のキャラクタ（即ち「Ｓｙｍｐｈｏｎｙ  Ｎｏ．９」）が選択された。
【００５２】
【発明の効果】
本発明では、走査された画像を編集する方法及び装置が提供され、その編集方法及び装置は、回転したテキスト、特定的に順序づけられたテキスト、そして単純な構成のグラフィカルエレメント等を含む多様なグラフィカル及びテキストデザインを含むドキュメントに対して適切に使用されることが可能である。
【図面の簡単な説明】
【図１】本発明の実施例が実行され得るコンピュータベースシステムの機能要素を示すブロック図である。
【図２】本発明で使用されるセット解釈の概念を示す。
【図３】本発明の実施例で実行され得る、走査ドキュメント画像に実行されるセットオペレーションのシーケンスを示す。
【図４】本発明で使用されるシーケンス解釈の概念を示す。
【図５】本発明で使用されるベースライン計算の概念を示す。
【図６】本発明の実施例におけるテキスト解釈オペレーションで実行され得る、オーバーラップしたグラフィカルオブジェクトのグルーピングを示す。
【図７】本発明の実施例で実行され得る、テキスト解釈オペレーションにおいてグラフィカルオブジェクトが削除される場合の離間の計算を示す。
【図８】本発明の実施例で実行され得る、テキスト解釈においてグラフィカルオブジェクトが挿入される場合の離間の計算を示す。
【図９】本発明の実施例において実行され得る、回転したベースラインに沿ってテキスト編集を行う場合の編集例を示す。
【図１０】本発明の実施例において実行され得る、行間に言語を挿入されたテキストを編集する場合の編集例を示す。
【図１１】本発明の実施例においてグラフィカルオブジェクトの位置がベースラインに対してどのように決定されるかを示す。
【図１２】本発明の好適実施例において実行され得る、非線形のベースライン上のテキストを編集するための編集例を示す。
【符号の説明】
１０１    バス
１０２    プロセッサ
１０３    内部メモリ
１０４    キーボード
１０５    外部記憶装置
１０６    カーソル制御デバイス
１０７    ディスプレイ
１０８    スキャナ
１０９    プリンタ
１１０    ファクシミリ
１１１    ネットワークコネクション
【図１】
0003734852.tif 000002
【図２】
0003734852.tif 000003
【図３】
0003734852.tif 000004
【図４】
0003734852.tif 000005
【図５】
0003734852.tif 000006
【図６】
0003734852.tif 000007
【図７】
0003734852.tif 000008
【図８】
0003734852.tif 000009
【図９】
0003734852.tif 000010
【図１０】
0003734852.tif 000011
【図１１】
0003734852.tif 000012
【図１２】
0003734852.tif 000013