JPH06203138A - 画像編集システム - Google Patents
画像編集システムInfo
- Publication number
- JPH06203138A JPH06203138A JP2404535A JP40453590A JPH06203138A JP H06203138 A JPH06203138 A JP H06203138A JP 2404535 A JP2404535 A JP 2404535A JP 40453590 A JP40453590 A JP 40453590A JP H06203138 A JPH06203138 A JP H06203138A
- Authority
- JP
- Japan
- Prior art keywords
- array
- image
- data
- box
- component
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Editing Of Facsimile Originals (AREA)
- Document Processing Apparatus (AREA)
Abstract
(57)【要約】
【目的】 ディジタルデータによって定義される画像内
に現われるテキストの文字レベル編集を改良する。 【構成】 画像は、例えば、2次元データアレイによっ
て定義され、アレイは、スキャナまたはカメラのような
画像入力装置から、または他のデータ供給源から受け取
られる。テキスト内の文字の認識、または文字のサイ
ズ、形状、及び位置についての前の情報に依存せず、
「ブロッブ」(blob) とも呼ばれる連接構成要素のセッ
トとしての文字に対して動作する。ユーザがテキスト編
集オペレーションを要求すると、エディタは、連結され
た構成要素のセットに対して、この要求されたオペレー
ションを行なう。
に現われるテキストの文字レベル編集を改良する。 【構成】 画像は、例えば、2次元データアレイによっ
て定義され、アレイは、スキャナまたはカメラのような
画像入力装置から、または他のデータ供給源から受け取
られる。テキスト内の文字の認識、または文字のサイ
ズ、形状、及び位置についての前の情報に依存せず、
「ブロッブ」(blob) とも呼ばれる連接構成要素のセッ
トとしての文字に対して動作する。ユーザがテキスト編
集オペレーションを要求すると、エディタは、連結され
た構成要素のセットに対して、この要求されたオペレー
ションを行なう。
Description
【0001】本発明は画像処理のための技術に関し、更
に詳細には、ディジタルデータによって、例えば2次元
データアレイによって定義されるテキストの画像の編集
に関する。
に詳細には、ディジタルデータによって、例えば2次元
データアレイによって定義されるテキストの画像の編集
に関する。
【0002】
【従来技術】エス・イー・キム(S.E.Kim )の著書「ビ
ュ−ポイント:視覚的思考者のためのコンピュータを目
指す」(Viewpoint:Toward a Computer for Visual Thi
nkers)(米国、アナーバ市、ユニバ−シティ・マイクロ
フィルム(University Microfilm) 社、1988年発
行)の22〜97頁、115頁、及び123〜131頁
には、テキスト及びグラフィックエディタである「ビュ
ウポイント」(Viewpoint)についての説明がある。22
〜23頁には、画素についての説明があり、画素として
編集することのできる「ビューポイント」におけるすべ
ての構造が示されている。24〜25頁には、「ビュー
ポイント」についての説明があり、「ビューポイント」
における構造化図形の代表的の形式のテキストであり、
このテキストは、文字構文解析を簡単にするため、方形
セルの固定格子上に配置された単一の固定幅字体を用い
るということ、テキスト及び図形編集がいずれもセル上
で動作するということ、が示されている。29〜81頁
には、実例を用いた「ビューポイント」の実演について
の説明があり、36頁には、特定のスクリーン面積にお
ける大規模複写を含むセル選択の効果が示されており、
38〜39頁には、コピー作成が示されており、42〜
57頁には、タイピング、非文字に出会ったときのワ−
ドラップ(word wrap)、削除、字体編集、及びオーバタ
イピング(overtyping )を含むタイピングについての説
明があり、58〜69頁には、視覚的ブート(visual b
oot)についての説明があって、キ−ボ−ドをどのように
構成するかが示されており、70〜81頁には、キ−境
界またはキー画像に関するスクリーン及び図面のエッジ
のタイピングオフ(typing off) を含むシステムのエッ
ジにつての説明がある。84〜97頁には、「ビュ−ポ
イント」の内部動作についての説明があり、85頁に
は、テキストが一種の図形として取り扱われるというこ
とが示されており、93頁には、行の終わり及び語の切
れ目を見付けるため、画素構文解析により、どのように
してワードラップがテキストの構造を示すかについての
説明がある。115頁には、テキストエディタについて
の説明があり、他のエディタがテキストを文字セルの矩
形アレイとして格納し、段落及び列切れ目を見付けるた
め、スペース及び文字のパターンを走査するということ
の説明がある。123〜125頁は「ビューポイント」
のマニュアルであり、第9項に、どのようにしてキ−の
タイピングが、カーソルを1セルずつ進ませながら、適
切なキー画像セルの内容を現在セルにコピ−するかにい
ての説明がある。
ュ−ポイント:視覚的思考者のためのコンピュータを目
指す」(Viewpoint:Toward a Computer for Visual Thi
nkers)(米国、アナーバ市、ユニバ−シティ・マイクロ
フィルム(University Microfilm) 社、1988年発
行)の22〜97頁、115頁、及び123〜131頁
には、テキスト及びグラフィックエディタである「ビュ
ウポイント」(Viewpoint)についての説明がある。22
〜23頁には、画素についての説明があり、画素として
編集することのできる「ビューポイント」におけるすべ
ての構造が示されている。24〜25頁には、「ビュー
ポイント」についての説明があり、「ビューポイント」
における構造化図形の代表的の形式のテキストであり、
このテキストは、文字構文解析を簡単にするため、方形
セルの固定格子上に配置された単一の固定幅字体を用い
るということ、テキスト及び図形編集がいずれもセル上
で動作するということ、が示されている。29〜81頁
には、実例を用いた「ビューポイント」の実演について
の説明があり、36頁には、特定のスクリーン面積にお
ける大規模複写を含むセル選択の効果が示されており、
38〜39頁には、コピー作成が示されており、42〜
57頁には、タイピング、非文字に出会ったときのワ−
ドラップ(word wrap)、削除、字体編集、及びオーバタ
イピング(overtyping )を含むタイピングについての説
明があり、58〜69頁には、視覚的ブート(visual b
oot)についての説明があって、キ−ボ−ドをどのように
構成するかが示されており、70〜81頁には、キ−境
界またはキー画像に関するスクリーン及び図面のエッジ
のタイピングオフ(typing off) を含むシステムのエッ
ジにつての説明がある。84〜97頁には、「ビュ−ポ
イント」の内部動作についての説明があり、85頁に
は、テキストが一種の図形として取り扱われるというこ
とが示されており、93頁には、行の終わり及び語の切
れ目を見付けるため、画素構文解析により、どのように
してワードラップがテキストの構造を示すかについての
説明がある。115頁には、テキストエディタについて
の説明があり、他のエディタがテキストを文字セルの矩
形アレイとして格納し、段落及び列切れ目を見付けるた
め、スペース及び文字のパターンを走査するということ
の説明がある。123〜125頁は「ビューポイント」
のマニュアルであり、第9項に、どのようにしてキ−の
タイピングが、カーソルを1セルずつ進ませながら、適
切なキー画像セルの内容を現在セルにコピ−するかにい
ての説明がある。
【0003】1980年12月1〜4日のパターン認識
に関する第5回国際会議会報(5thInternational Conf
erence Pattern Recognition Proceeding) 第2巻、8
56〜858頁に所載のY.Suenaga 及びM.Naguraの論文
「ファクシミリを基礎とする補助マーク認識による原稿
レイアウト及び編集システム」(A facsimili BasedMan
uscript and Editing System by Auxiliary Mark Recog
nition)には、所有している唯一の入力装置がFAX送
信器であり、且つ所有している唯一の出力装置がFAX
受信器であるというエディタについての記載がある。こ
の論文において、第1図にはOCRを含む前記システム
の構成部材が示されており、第2図には処理の流れが示
されており、これにはテキスト編集サブシステム及び図
形編集サブシステムが含まれている。857頁に記載の
テキスト編集サブシステムは第3図に示す11個の手書
き補助マークを用い、これらマ−クは、編集されつつあ
るテキストから別の用紙に入力される。補助マークに応
答し、テキスト編集サブシステムは、第4(a)図及び
第4(b)図に示すように、テキストの2進画像を再配
置する。テキストの書式はテキスト画像から推定され
る。マージン分布(プロフィール)及び水平接続性を用
い、2進パターンとして処理されるべき日本語テキスト
内の個別的文字、英数字テキスト内の個別的語、または
図形を含む矩形領域に対応して、テキスト画像をセグメ
ンテッド・ブロック(Segmented Block)(SB)に分割
する。セグメンテッド・ブロック・リスト(Segmented
Block List) (SBL)を作ってこれを用い、位相的及
び距離的の特徴を基礎としてマークを抽出及び分類す
る。テキストに対するマーク・パラメ−タ・リスト(Ma
rk Parameters List for Texts) (MPL−T)を作
る。SB番号及びそのリンケージ・アドレスから成るリ
ストである画像割付けリスト(Picture Allocation Lis
t)(PAL)を、MPL−T及びSBLに従って発生さ
せる。文字ストリングまたはパターンは、事実上、PA
Lにおいて削除、移動、コピー、及び結合される。原画
テキストの2進画像はPALに従って再配置されて公平
コピーを構成する。
に関する第5回国際会議会報(5thInternational Conf
erence Pattern Recognition Proceeding) 第2巻、8
56〜858頁に所載のY.Suenaga 及びM.Naguraの論文
「ファクシミリを基礎とする補助マーク認識による原稿
レイアウト及び編集システム」(A facsimili BasedMan
uscript and Editing System by Auxiliary Mark Recog
nition)には、所有している唯一の入力装置がFAX送
信器であり、且つ所有している唯一の出力装置がFAX
受信器であるというエディタについての記載がある。こ
の論文において、第1図にはOCRを含む前記システム
の構成部材が示されており、第2図には処理の流れが示
されており、これにはテキスト編集サブシステム及び図
形編集サブシステムが含まれている。857頁に記載の
テキスト編集サブシステムは第3図に示す11個の手書
き補助マークを用い、これらマ−クは、編集されつつあ
るテキストから別の用紙に入力される。補助マークに応
答し、テキスト編集サブシステムは、第4(a)図及び
第4(b)図に示すように、テキストの2進画像を再配
置する。テキストの書式はテキスト画像から推定され
る。マージン分布(プロフィール)及び水平接続性を用
い、2進パターンとして処理されるべき日本語テキスト
内の個別的文字、英数字テキスト内の個別的語、または
図形を含む矩形領域に対応して、テキスト画像をセグメ
ンテッド・ブロック(Segmented Block)(SB)に分割
する。セグメンテッド・ブロック・リスト(Segmented
Block List) (SBL)を作ってこれを用い、位相的及
び距離的の特徴を基礎としてマークを抽出及び分類す
る。テキストに対するマーク・パラメ−タ・リスト(Ma
rk Parameters List for Texts) (MPL−T)を作
る。SB番号及びそのリンケージ・アドレスから成るリ
ストである画像割付けリスト(Picture Allocation Lis
t)(PAL)を、MPL−T及びSBLに従って発生さ
せる。文字ストリングまたはパターンは、事実上、PA
Lにおいて削除、移動、コピー、及び結合される。原画
テキストの2進画像はPALに従って再配置されて公平
コピーを構成する。
【0004】その前の仕事が、1979年8月20〜2
3日、東京、人工知能に関する第6回国際合同会議会報
(Proceesings of Sixth International Joint Confere
nceon Artificial Intelligence,Tokyo,August 20-23,1
979) 第2巻、856〜858頁に記載されている。こ
の会報において、856頁に、この方法が通例のテキス
トエディタまたはワードプロセッサと組合わせ可能であ
るということが示されている。856頁にはまた、規定
された行に従って文字を配置することが必要であるとい
う仮定が述べられており、また、この規定された行に従
って位置マ−クを付すということ、そしてこれから原稿
の書式及びブロックサイズが推定される、ということが
記載されている。857頁には、ブロック番号及び順序
を示すアドレスから成る画像割当てリスト(PAL)に
ついての説明がある。
3日、東京、人工知能に関する第6回国際合同会議会報
(Proceesings of Sixth International Joint Confere
nceon Artificial Intelligence,Tokyo,August 20-23,1
979) 第2巻、856〜858頁に記載されている。こ
の会報において、856頁に、この方法が通例のテキス
トエディタまたはワードプロセッサと組合わせ可能であ
るということが示されている。856頁にはまた、規定
された行に従って文字を配置することが必要であるとい
う仮定が述べられており、また、この規定された行に従
って位置マ−クを付すということ、そしてこれから原稿
の書式及びブロックサイズが推定される、ということが
記載されている。857頁には、ブロック番号及び順序
を示すアドレスから成る画像割当てリスト(PAL)に
ついての説明がある。
【0005】
【発明が解決しようとしする課題】通例のワードプロセ
ッサ及び類似のテキスト編集システムは、文字の同一性
及びその配置を前もって定義する完全な情報に依存す
る。かかる情報は画像を定義するアレイ内で明示的には
得られない。かかる情報を認識技術で得ることができる
であろうが、かかる技術は、これを犯す誤りのため、ま
たはその計算的要求条件のため、適用に対しては実用的
でない。
ッサ及び類似のテキスト編集システムは、文字の同一性
及びその配置を前もって定義する完全な情報に依存す
る。かかる情報は画像を定義するアレイ内で明示的には
得られない。かかる情報を認識技術で得ることができる
であろうが、かかる技術は、これを犯す誤りのため、ま
たはその計算的要求条件のため、適用に対しては実用的
でない。
【0006】通例のテキスト編集システムが不適切であ
るという他の理由は、アレイによって定義される画像内
のテキストが種々の要素を含む可能性があるからであ
る。この要素としては機械印字文字があり、この文字は
品質が悪く、または他のある理由のために認識困難であ
る。この要素としては手動印字文字または手書き語があ
り、これらは認識困難である。テキストは、文字でない
なんらかの要素を含むことさえある。この要素は、文字
ではないが、文字または語、または文字もしくは語の一
部であるかのように配置されている。良好に形成されて
おって認識可能である文字でさえも、その配置及びスペ
ーシングの認識を困難にする状態で配置される可能性が
ある。画像内のテキストのこれらのすべての特徴は通例
の認識技術の邪魔になり、テキストが認識不可能である
場合、または認識内に誤りが作られる場合、認識技術
は、出力は標準形式で提供するため、画像のテキスト領
域を定義するデータを事実上変更することになる。その
結果、テキスト編集をこの変更済みデータに対して行な
うと、結果が原画画像の内容を正確に反映しなくなる。
るという他の理由は、アレイによって定義される画像内
のテキストが種々の要素を含む可能性があるからであ
る。この要素としては機械印字文字があり、この文字は
品質が悪く、または他のある理由のために認識困難であ
る。この要素としては手動印字文字または手書き語があ
り、これらは認識困難である。テキストは、文字でない
なんらかの要素を含むことさえある。この要素は、文字
ではないが、文字または語、または文字もしくは語の一
部であるかのように配置されている。良好に形成されて
おって認識可能である文字でさえも、その配置及びスペ
ーシングの認識を困難にする状態で配置される可能性が
ある。画像内のテキストのこれらのすべての特徴は通例
の認識技術の邪魔になり、テキストが認識不可能である
場合、または認識内に誤りが作られる場合、認識技術
は、出力は標準形式で提供するため、画像のテキスト領
域を定義するデータを事実上変更することになる。その
結果、テキスト編集をこの変更済みデータに対して行な
うと、結果が原画画像の内容を正確に反映しなくなる。
【0007】本発明はディジタルデータによって定義さ
れる画像内に現われるテキストの改良された文字レベル
編集を提供することを目的とする。
れる画像内に現われるテキストの改良された文字レベル
編集を提供することを目的とする。
【0008】
【課題を解決するための手段】本発明において、画像
は、例えば、2次元データアレイによって定義され、か
かるアレイは、スキャナまたはカメラのような画像入力
装置から、または他のデータ供給源から受け取られる。
本発明にかかる方法は、テキスト内の文字の認識、また
は文字のサイズ、形状、及び位置についての前の情報に
依存せず、「ブロッブ」(blob) とも呼ばれる連接構成
要素のセットとしての文字に対して動作する。ユーザが
テキスト編集オペレ−ションを要求すると、エディタ
は、連結された構成要素のセットに対して、この要求さ
れたオペレーションを行なう。
は、例えば、2次元データアレイによって定義され、か
かるアレイは、スキャナまたはカメラのような画像入力
装置から、または他のデータ供給源から受け取られる。
本発明にかかる方法は、テキスト内の文字の認識、また
は文字のサイズ、形状、及び位置についての前の情報に
依存せず、「ブロッブ」(blob) とも呼ばれる連接構成
要素のセットとしての文字に対して動作する。ユーザが
テキスト編集オペレ−ションを要求すると、エディタ
は、連結された構成要素のセットに対して、この要求さ
れたオペレーションを行なう。
【0009】本発明の若干の態様は、データの2次元ア
レイによって定義される画像の処理における基本的問題
の認識から生じたものである。このような画像はテキス
トを含んでおり、画像内に現われるテキストを補正また
はその他修正することが必要となる。しかし、通例のテ
キスト編集システムは、アレイによって定義される画像
内に現われるテキストを編集することができない。
レイによって定義される画像の処理における基本的問題
の認識から生じたものである。このような画像はテキス
トを含んでおり、画像内に現われるテキストを補正また
はその他修正することが必要となる。しかし、通例のテ
キスト編集システムは、アレイによって定義される画像
内に現われるテキストを編集することができない。
【0010】本発明の一つの態様は、文字サイズアレイ
によって定義される文字の同一性及び位置に関する完全
な情報を得ようとせずに、画像領域のアレイから得られ
る文字サイズに対して動作することによって画像領域内
のテキストを編集することにより、前記従来の問題を避
けることができるという認識に基づくものである。この
解決法により、文字を認識することが不必要となり、従
って、認識過程によってテキストが変更されるというこ
とがなくなる。
によって定義される文字の同一性及び位置に関する完全
な情報を得ようとせずに、画像領域のアレイから得られ
る文字サイズに対して動作することによって画像領域内
のテキストを編集することにより、前記従来の問題を避
けることができるという認識に基づくものである。この
解決法により、文字を認識することが不必要となり、従
って、認識過程によってテキストが変更されるというこ
とがなくなる。
【0011】この解決法は、文字レベルテキスト編集を
要求するユーザ信号を受け取るエディタで実施すること
ができ、画像領域アレイから文字サイズアレイを獲得
し、この文字サイズアレイに対して前記要求されたオペ
レーションを行なう。画像領域の第1のビューは前記要
求を受け取られる前に提供され、修正されたビュ−は前
記オペレーションが行なわれたのちに提供される。
要求するユーザ信号を受け取るエディタで実施すること
ができ、画像領域アレイから文字サイズアレイを獲得
し、この文字サイズアレイに対して前記要求されたオペ
レーションを行なう。画像領域の第1のビューは前記要
求を受け取られる前に提供され、修正されたビュ−は前
記オペレーションが行なわれたのちに提供される。
【0012】この解決法を行なうシステムは、アレイに
アクセスするプロセッサ、マウス付きキーボードのよう
なユーザ入力装置、スキャナのような画像入力装置、及
びディスプレイのような画像出力装置を有す。編集に先
立ち、前記プロセッサはスキャナから信号を受け取り、
この画像を定義する画像入力アレイを作る。編集データ
構造は、画像入力アレイから獲得されるそれぞれのより
小さいアレイを定義するアレイデータユニットを含む。
このアレイデータユニットは、それぞれのより小さいア
レイを含むか、または圧縮データもしくはポインタを介
してこれを定義する。プロセッサは、文字を含む画像の
領域を定義する第1のアレイから、文字のみを含む領域
の一部を定義する第2のアレイを獲得し、次いでこの第
2のアレイに対して文字レベルテキスト編集オペレーシ
ョンを行なう。
アクセスするプロセッサ、マウス付きキーボードのよう
なユーザ入力装置、スキャナのような画像入力装置、及
びディスプレイのような画像出力装置を有す。編集に先
立ち、前記プロセッサはスキャナから信号を受け取り、
この画像を定義する画像入力アレイを作る。編集データ
構造は、画像入力アレイから獲得されるそれぞれのより
小さいアレイを定義するアレイデータユニットを含む。
このアレイデータユニットは、それぞれのより小さいア
レイを含むか、または圧縮データもしくはポインタを介
してこれを定義する。プロセッサは、文字を含む画像の
領域を定義する第1のアレイから、文字のみを含む領域
の一部を定義する第2のアレイを獲得し、次いでこの第
2のアレイに対して文字レベルテキスト編集オペレーシ
ョンを行なう。
【0013】本発明の前記及び他の目的、特徴及び利点
は図面を参照して行なう以下の詳細な説明から明らかに
なる。
は図面を参照して行なう以下の詳細な説明から明らかに
なる。
【0014】
A、用語の説明 以下に示す用語の説明は本発明の広い範囲を理解するう
えにおいて助けとなるものであり、以下に定義する用語
は、特許請求の範囲を含む本出願明細書を通じて示され
る意味を有す。
えにおいて助けとなるものであり、以下に定義する用語
は、特許請求の範囲を含む本出願明細書を通じて示され
る意味を有す。
【0015】「文字」(character)は、書込みシステム
において現われる個別要素を意味する。従って、英語に
おける文字は、アルファベット要素及び数字要素だけで
はなく、更に、句読符号、分音符号、数学記号、論理学
記号、及び英語を書く際に含まれる他の要素を含む。よ
り一般的には、文字は、英数字要素に加え、音声、表
意、または絵文字の諸要素を含む。「文字型」(charac
ter type) とは、字「a」または番号「3」のように、
一つの文字が一つの事例となる範疇である。
において現われる個別要素を意味する。従って、英語に
おける文字は、アルファベット要素及び数字要素だけで
はなく、更に、句読符号、分音符号、数学記号、論理学
記号、及び英語を書く際に含まれる他の要素を含む。よ
り一般的には、文字は、英数字要素に加え、音声、表
意、または絵文字の諸要素を含む。「文字型」(charac
ter type) とは、字「a」または番号「3」のように、
一つの文字が一つの事例となる範疇である。
【0016】「語」(word)とは、言語において意味論
的ユニットとして取り扱われる1つまたは複数の文字で
ある。「テキスト」(text) とは、1行または複数行の
文字の配置である。テキストの文字は語を形成する。
的ユニットとして取り扱われる1つまたは複数の文字で
ある。「テキスト」(text) とは、1行または複数行の
文字の配置である。テキストの文字は語を形成する。
【0017】「画像」(image)とは、光のパターンであ
る。画像は、文字、語、及びテキスト、ならびに図形の
ような他の特徴を含む。
る。画像は、文字、語、及びテキスト、ならびに図形の
ような他の特徴を含む。
【0018】「データ構造」(date structure) とは、
データの相互関係のある項目の任意の組合わせである。
データの項目は、これが、データ構造内の他の項目の場
所またはデータを用いてアクセスされ得るときに、前記
データ構造内に「包含」(include)され得る。データの
この包含された項目は他のデータ構造ともなり得る。逆
に、データの項目は、例えばこれを削除することによ
り、これをアクセス不能にすることにより、データ構造
から「除去」(remove) され得る。「データのアレイ」
(array of data)または「データアレイ」(data arra
y) または「アレイ」(array)とは、アレイ内に写像さ
れ得るデータの項目を包含するデータ構造である。「2
次元アレイ」(two-dimensional array)とは、2つの次
元を有しているアレイ内に写像され得るデータの項目を
持っているデータアレイである。
データの相互関係のある項目の任意の組合わせである。
データの項目は、これが、データ構造内の他の項目の場
所またはデータを用いてアクセスされ得るときに、前記
データ構造内に「包含」(include)され得る。データの
この包含された項目は他のデータ構造ともなり得る。逆
に、データの項目は、例えばこれを削除することによ
り、これをアクセス不能にすることにより、データ構造
から「除去」(remove) され得る。「データのアレイ」
(array of data)または「データアレイ」(data arra
y) または「アレイ」(array)とは、アレイ内に写像さ
れ得るデータの項目を包含するデータ構造である。「2
次元アレイ」(two-dimensional array)とは、2つの次
元を有しているアレイ内に写像され得るデータの項目を
持っているデータアレイである。
【0019】データ構造は、他のデータ構造内のデータ
を用いてデータ構造を作るオペレーションにより、前記
他のデータ構造から「獲得」(obtain) され得る。例え
ば、アレイは、他のアレイの一部と同じである小さいア
レイを作るというようなオペレーションにより、前記他
のアレイから「獲得」され得、前記アレイと同じである
部分を包含する大きなアレイを作り、前記他のアレイを
コピーし、または前記他のアレイ内もしくはそのコピー
内のデータを修正する。
を用いてデータ構造を作るオペレーションにより、前記
他のデータ構造から「獲得」(obtain) され得る。例え
ば、アレイは、他のアレイの一部と同じである小さいア
レイを作るというようなオペレーションにより、前記他
のアレイから「獲得」され得、前記アレイと同じである
部分を包含する大きなアレイを作り、前記他のアレイを
コピーし、または前記他のアレイ内もしくはそのコピー
内のデータを修正する。
【0020】「データユニット」(data unit)とは、デ
ータ構造内のユニットとしてアクセス可能であるデータ
の項目である。「アレイデータユニット」(array data
unit)とは、アレイを定義するのに十分なデータを包含
しているデータユニットである。例えば、アレイデータ
ユニットは、定義済みデータ自体、圧縮またはコード化
された形式の定義済みアレイ、定義済みアレイに対する
ポインタ、定義済みアレイが獲得される源たるよりアレ
イの一部に対するポインタ、または定義済みアレイが獲
得される源たる小さいアレイのセットに対するポインタ
を包含する。
ータ構造内のユニットとしてアクセス可能であるデータ
の項目である。「アレイデータユニット」(array data
unit)とは、アレイを定義するのに十分なデータを包含
しているデータユニットである。例えば、アレイデータ
ユニットは、定義済みデータ自体、圧縮またはコード化
された形式の定義済みアレイ、定義済みアレイに対する
ポインタ、定義済みアレイが獲得される源たるよりアレ
イの一部に対するポインタ、または定義済みアレイが獲
得される源たる小さいアレイのセットに対するポインタ
を包含する。
【0021】データは、該データが画像を作るのに十分
な情報を包含している場合に画像を「定義する」(defi
ne) 。例えば、2次元アレイは画像の全部または任意の
部分を定義することができ、このアレイ内のデータの各
項目は前記画像のそれぞれの場所のカラーを指示する値
を提供する。「文字サイズアレイ」とは、唯1つの文字
または文字サイズ要素を定義する2次元アレイである。
な情報を包含している場合に画像を「定義する」(defi
ne) 。例えば、2次元アレイは画像の全部または任意の
部分を定義することができ、このアレイ内のデータの各
項目は前記画像のそれぞれの場所のカラーを指示する値
を提供する。「文字サイズアレイ」とは、唯1つの文字
または文字サイズ要素を定義する2次元アレイである。
【0022】画像内の各場所は「画素」(pixel)と呼ば
れる。データの各項目が値を提供している画像を定義す
るアレイにおいて、場所のカラーを指示する各値は「画
素値」(pixel value)と呼ばれる。各画素値は、画像の
「2進形式」におけるビット、画像の「グレイスケール
形式」(grey-scale form)におけるグレイスケール値、
または、画像の「カラー座標形式」(color coordinate
form)、2進形式、グレイスケール形式、及びカラー座
標形式におけるカラー空間座標のセットであり、各々は
画像を定義する2次元アレイである。
れる。データの各項目が値を提供している画像を定義す
るアレイにおいて、場所のカラーを指示する各値は「画
素値」(pixel value)と呼ばれる。各画素値は、画像の
「2進形式」におけるビット、画像の「グレイスケール
形式」(grey-scale form)におけるグレイスケール値、
または、画像の「カラー座標形式」(color coordinate
form)、2進形式、グレイスケール形式、及びカラー座
標形式におけるカラー空間座標のセットであり、各々は
画像を定義する2次元アレイである。
【0023】第1の画像の「バージョン」(version)と
は、前記第1の画像を定義するデータを用いて作られる
第2の画像である。前記第2の画像は前記第1の画像と
同じであるか、または、前記第2の画像は、解像度の損
失により、前記第1の画像を定義するデータを変更する
ことにより、もしくは修正済みバージョンを生じさせる
他のプロセスにより、修正される。画像の「ビュー」
(view) とは、ユーザに表示される画像のバージョンで
ある。ビューは、画像の若干の細部を省くことができ、
またはその他修正され得る。
は、前記第1の画像を定義するデータを用いて作られる
第2の画像である。前記第2の画像は前記第1の画像と
同じであるか、または、前記第2の画像は、解像度の損
失により、前記第1の画像を定義するデータを変更する
ことにより、もしくは修正済みバージョンを生じさせる
他のプロセスにより、修正される。画像の「ビュー」
(view) とは、ユーザに表示される画像のバージョンで
ある。ビューは、画像の若干の細部を省くことができ、
またはその他修正され得る。
【0024】「テキスト編集オペレーション」(text e
diting operation) とは、オペレーションが行なわれる
対象たるデータが、テキストであるかのように取り扱わ
れる要素の行を定義する、ということを想定するオペレ
ーションである。テキスト編集オペレーションの例とし
ては、要素の挿入及び削除、書体のような要素の特徴の
変更、整列及びスペーシングの変更、カーソル位置決
め、位置調整、次の行への文字またはカーソルの移動、
文字または文字のシーケンスの探索、等がある。
diting operation) とは、オペレーションが行なわれる
対象たるデータが、テキストであるかのように取り扱わ
れる要素の行を定義する、ということを想定するオペレ
ーションである。テキスト編集オペレーションの例とし
ては、要素の挿入及び削除、書体のような要素の特徴の
変更、整列及びスペーシングの変更、カーソル位置決
め、位置調整、次の行への文字またはカーソルの移動、
文字または文字のシーケンスの探索、等がある。
【0025】「文字レベルテキスト編集オペレーショ
ン」(character level text editingoperation) と
は、編集中のテキスト内の文字または文字サイズ要素に
作用するテキスト編集オペレーションである。文字レベ
ルテキスト編集オペレーションの例としては、文字の挿
入、削除、変更、または位置決め、文字上のカーソル位
置決め、文字の探索、等がある。
ン」(character level text editingoperation) と
は、編集中のテキスト内の文字または文字サイズ要素に
作用するテキスト編集オペレーションである。文字レベ
ルテキスト編集オペレーションの例としては、文字の挿
入、削除、変更、または位置決め、文字上のカーソル位
置決め、文字の探索、等がある。
【0026】「連接構成要素」(connected component)
または「ブロッブ」(blob) とは、画像を定義するデー
タアレイ内の画像のセットであり、その全ては、これら
が互いに隣のものとなるように、またはセットの他のメ
ンバの相隣るものとなるように、適当な規則によって互
いに連結されている。画像の2進形式の連接構成要素と
しては、例えば黒のような、同じ2進値を有する画素の
連接セットがある。「連接構成要素セット」(connecte
d component set)または「構成要素セット」(componen
t set)とは、ユニットとして取り扱われる連結された構
成要素のセットである。従って、文字は構成要素セット
である。例えば、字「i」は英語テキストにおいて単一
文字として取り扱われる2つの連接構成要素を含む。こ
の連接構成要素は文字を「形成する」(form) 。文字ま
たは他の構成要素セットに対する「囲いボックス」(bo
unding box) とは、構成要素内の全ての画素を包含する
のにちょうど十分な矩形であり、座標によって明示され
る。
または「ブロッブ」(blob) とは、画像を定義するデー
タアレイ内の画像のセットであり、その全ては、これら
が互いに隣のものとなるように、またはセットの他のメ
ンバの相隣るものとなるように、適当な規則によって互
いに連結されている。画像の2進形式の連接構成要素と
しては、例えば黒のような、同じ2進値を有する画素の
連接セットがある。「連接構成要素セット」(connecte
d component set)または「構成要素セット」(componen
t set)とは、ユニットとして取り扱われる連結された構
成要素のセットである。従って、文字は構成要素セット
である。例えば、字「i」は英語テキストにおいて単一
文字として取り扱われる2つの連接構成要素を含む。こ
の連接構成要素は文字を「形成する」(form) 。文字ま
たは他の構成要素セットに対する「囲いボックス」(bo
unding box) とは、構成要素内の全ての画素を包含する
のにちょうど十分な矩形であり、座標によって明示され
る。
【0027】テキストを包含する画像の修正済みバージ
ョンを作るために用いられるデータは、このテキスト内
の文字に関する情報を包含する。文字に関する「一致情
報」(identy information) とは、その文字型、格、書
体、ポイントサイズ、等を識別する情報である。文字を
「認識する」(recognize)とは、文字を包含する画像の
ディジタル形式から文字に関する一致情報を獲得するこ
とを意味する。文字に関する「空間情報」(spatial in
formation)とは、そのサイズ、形状、位置、方位、他の
文字との整列、等のようなその空間的特性を識別する情
報である。空間情報及び一致情報は完全に独立ではない
が、文字に関する空間情報は、文字を認識することなし
に画像を定義する2次元アレイから獲得され得る。
ョンを作るために用いられるデータは、このテキスト内
の文字に関する情報を包含する。文字に関する「一致情
報」(identy information) とは、その文字型、格、書
体、ポイントサイズ、等を識別する情報である。文字を
「認識する」(recognize)とは、文字を包含する画像の
ディジタル形式から文字に関する一致情報を獲得するこ
とを意味する。文字に関する「空間情報」(spatial in
formation)とは、そのサイズ、形状、位置、方位、他の
文字との整列、等のようなその空間的特性を識別する情
報である。空間情報及び一致情報は完全に独立ではない
が、文字に関する空間情報は、文字を認識することなし
に画像を定義する2次元アレイから獲得され得る。
【0028】「データ処理システム」(data processin
g system) とは、データを処理するシステムである。
「データプロセッサ」(data processor) または「プロ
セッサ」( processor) とは、データを処理することの
できる構成要素またはシステムであり、1つまたは複数
の中央処理装置または他の処理用構成要素を包含する場
合もある。「画像入力装置」(image input device) と
は、画像を受け取り、そして該画像のバージョンを定義
する信号を提供することのできる装置である。「スキャ
ナ」(scanner)とは、書類の走査のような走査オペレー
ションによって画像を受け取る画像入力装置である。
「ユーザ入力装置」(user input device)とは、ユーザ
の動作に基づいて信号を提供することのできるキーボー
ドまたはマウスのような装置である。ユーザ入力装置か
らのデータは例えばオペレーションに対する「要求」
(request)であり、この場合、システムは、これに応答
して、この要求されたオペレーションを行なう。「画像
出力装置」(image output device)とは、画像を出力と
して提供することのできる装置である。「ディスプレ
イ」(display)とは、情報を、例えば陰極線管のスクリ
ーン上に、視覚的形式で提供する画像出力装置である。
g system) とは、データを処理するシステムである。
「データプロセッサ」(data processor) または「プロ
セッサ」( processor) とは、データを処理することの
できる構成要素またはシステムであり、1つまたは複数
の中央処理装置または他の処理用構成要素を包含する場
合もある。「画像入力装置」(image input device) と
は、画像を受け取り、そして該画像のバージョンを定義
する信号を提供することのできる装置である。「スキャ
ナ」(scanner)とは、書類の走査のような走査オペレー
ションによって画像を受け取る画像入力装置である。
「ユーザ入力装置」(user input device)とは、ユーザ
の動作に基づいて信号を提供することのできるキーボー
ドまたはマウスのような装置である。ユーザ入力装置か
らのデータは例えばオペレーションに対する「要求」
(request)であり、この場合、システムは、これに応答
して、この要求されたオペレーションを行なう。「画像
出力装置」(image output device)とは、画像を出力と
して提供することのできる装置である。「ディスプレ
イ」(display)とは、情報を、例えば陰極線管のスクリ
ーン上に、視覚的形式で提供する画像出力装置である。
【0029】プロセッサは、例えばデータ構造に包含さ
れているメモリ内の場所においてデータを読出しまたは
書込みするというように、データ構造内に包含されてい
るデータを検索または修正するオペレーションによって
前記データ構造に「アクセスする(access)。プロセッ
サは、データ構造にアクセスすることをプロセッサに許
すローカルもしくはリモートメモリまたは入出力装置と
の接続の任意の組合せにより、データ構造に「アクセス
するために接続」(connected for accessing)され得
る。
れているメモリ内の場所においてデータを読出しまたは
書込みするというように、データ構造内に包含されてい
るデータを検索または修正するオペレーションによって
前記データ構造に「アクセスする(access)。プロセッ
サは、データ構造にアクセスすることをプロセッサに許
すローカルもしくはリモートメモリまたは入出力装置と
の接続の任意の組合せにより、データ構造に「アクセス
するために接続」(connected for accessing)され得
る。
【0030】B、一般的特徴 本発明の一般的特徴は図1〜図8から理解することがで
きる。図1は本発明にかかる文字レベルテキスト編集オ
ペレーションの諸段階を示すものである。図2はかかる
編集を行なうことのできるシステムの一般的構成要素を
示すものである。図3は図2におけるシステムのプロセ
ッサによって行なわれる文字レベルテキスト編集オペレ
ーションにおける一般的ステップを示すものである。図
4は単一連接構成要素を包含する文字サイズアレイを獲
得する際の諸ステップを示すものである。図5は2つの
連接構成要素を包含する文字サイズアレイを獲得する際
の諸ステップを示すものである。図6は、オーバラップ
する可能性のある囲いボックスを有する連接構成要素を
有している2つの文字サイズアレイを見付ける際の諸ス
テップを示すものである。図7は文字をキーボード上の
キーに割当てる際の諸ステップを示すものである。図8
はキーに割当てられた文字サイズアレイに整合するアレ
イを探索する際の諸ステップを示すものである。
きる。図1は本発明にかかる文字レベルテキスト編集オ
ペレーションの諸段階を示すものである。図2はかかる
編集を行なうことのできるシステムの一般的構成要素を
示すものである。図3は図2におけるシステムのプロセ
ッサによって行なわれる文字レベルテキスト編集オペレ
ーションにおける一般的ステップを示すものである。図
4は単一連接構成要素を包含する文字サイズアレイを獲
得する際の諸ステップを示すものである。図5は2つの
連接構成要素を包含する文字サイズアレイを獲得する際
の諸ステップを示すものである。図6は、オーバラップ
する可能性のある囲いボックスを有する連接構成要素を
有している2つの文字サイズアレイを見付ける際の諸ス
テップを示すものである。図7は文字をキーボード上の
キーに割当てる際の諸ステップを示すものである。図8
はキーに割当てられた文字サイズアレイに整合するアレ
イを探索する際の諸ステップを示すものである。
【0031】図1に2列のボックスを示してある。左列
の各ボックスは、編集の段階においてシステムのプロセ
ッサによって行なわれプロセスを示し、右列の各ボック
スは、表示されるテキストの一部を示すことにより、ま
たはユーザの入力動作を示すことにより、ユーザのイン
ターフェース事象を示す。編集オペレーションの結果、
画像の修正済みバージョンを定義する編集データ構造が
得られる。
の各ボックスは、編集の段階においてシステムのプロセ
ッサによって行なわれプロセスを示し、右列の各ボック
スは、表示されるテキストの一部を示すことにより、ま
たはユーザの入力動作を示すことにより、ユーザのイン
ターフェース事象を示す。編集オペレーションの結果、
画像の修正済みバージョンを定義する編集データ構造が
得られる。
【0032】ボックス10におけるプロセスは画像のビ
ューのディスプレイであり、この画像は、例えば、2進
アレイのような2次元データアレイによって定義される
画像である。ボックス12は文字「one」のシーケン
スを示すものであり、前記文字は、文字「o」を指差す
ように位置決めされている矢印14とともにビューに現
われる。矢印14は例えばマウスのような適当なユーザ
入力装置によって制御される。
ューのディスプレイであり、この画像は、例えば、2進
アレイのような2次元データアレイによって定義される
画像である。ボックス12は文字「one」のシーケン
スを示すものであり、前記文字は、文字「o」を指差す
ように位置決めされている矢印14とともにビューに現
われる。矢印14は例えばマウスのような適当なユーザ
入力装置によって制御される。
【0033】ボックス16におけるプロセスは、文字レ
ベルテキスト編集オペレーションに対する要求をユーザ
から受け取る。図示の例においては、この要求は文字上
の位置を指示する要求であり、この要求は、文字上のカ
ーソルのような現在生きている領域を位置決めするため
の要求である。この要求は、例えば、ボックス18に示
すようにクリックによって与えられる。例えば、矢印1
4が文字を指差しているときにマウスボタン、キーボー
ドキー、または他のボタンもしくはキーをクリックさせ
る。位置を指示する要求は常に文字を指示するとは限ら
ない。他の場合には、例えば、語、行、または一つの行
で始まって他の行で終わる拡張シーケンスのような複数
の文字のシーケンスに対するオペレーションを指示する
場合もある。これらの場合には、指示された位置は指示
されたシーケンスの文字の前または後になる。
ベルテキスト編集オペレーションに対する要求をユーザ
から受け取る。図示の例においては、この要求は文字上
の位置を指示する要求であり、この要求は、文字上のカ
ーソルのような現在生きている領域を位置決めするため
の要求である。この要求は、例えば、ボックス18に示
すようにクリックによって与えられる。例えば、矢印1
4が文字を指差しているときにマウスボタン、キーボー
ドキー、または他のボタンもしくはキーをクリックさせ
る。位置を指示する要求は常に文字を指示するとは限ら
ない。他の場合には、例えば、語、行、または一つの行
で始まって他の行で終わる拡張シーケンスのような複数
の文字のシーケンスに対するオペレーションを指示する
場合もある。これらの場合には、指示された位置は指示
されたシーケンスの文字の前または後になる。
【0034】ボックス16において受け取られた要求に
応答し、ボックス20におけるプロセスは、画像アレイ
のような大きいアレイから小さいアレイを獲得する。ボ
ックス20におけるプロセスはまた、前記小さいアレイ
によって定義される画像の部分に関する空間情報を獲得
する。指示された部分が図示のように文字である場合に
は、ボックス20におけるプロセスは文字サイズアレイ
を獲得し、そして前記空間情報はそのサイズ、形状、ま
た配置に関するものである。ボックス20におけるプロ
セスは、編集データ構造において、前記アレイ及び空間
情報を定義するアレイデータユニットを含み、このアレ
イデータユニットを現在生きている位置となすことによ
って前記要求されたオペレーションを完了し、次の編集
を行なうことのできるようにする。
応答し、ボックス20におけるプロセスは、画像アレイ
のような大きいアレイから小さいアレイを獲得する。ボ
ックス20におけるプロセスはまた、前記小さいアレイ
によって定義される画像の部分に関する空間情報を獲得
する。指示された部分が図示のように文字である場合に
は、ボックス20におけるプロセスは文字サイズアレイ
を獲得し、そして前記空間情報はそのサイズ、形状、ま
た配置に関するものである。ボックス20におけるプロ
セスは、編集データ構造において、前記アレイ及び空間
情報を定義するアレイデータユニットを含み、このアレ
イデータユニットを現在生きている位置となすことによ
って前記要求されたオペレーションを完了し、次の編集
を行なうことのできるようにする。
【0035】ボックス20におけるプロセスはまた、ボ
ックス22に示すように、ユーザにフィードバックを提
供する。ボックス12と同じように、ボックス22は文
字「one」のシーケンスを示す。しかし、文字「o」
をとり囲む矩形24は暗色化され、矩形24の左縁で例
示する現在生きている位置を指示する。矩形24はまた
反転しても点滅してもよい。ボックス22はまた、本例
では文字「n」を指差すように位置決めされている矢印
26を示している。
ックス22に示すように、ユーザにフィードバックを提
供する。ボックス12と同じように、ボックス22は文
字「one」のシーケンスを示す。しかし、文字「o」
をとり囲む矩形24は暗色化され、矩形24の左縁で例
示する現在生きている位置を指示する。矩形24はまた
反転しても点滅してもよい。ボックス22はまた、本例
では文字「n」を指差すように位置決めされている矢印
26を示している。
【0036】ボックス28におけるプロセスは、他の文
字レベルテキスト編集オペレーションを行なうため、ユ
ーザから第2の要求を受け取る。ボックス30に示すよ
うに、この要求されたオペレーションはコピーオペレー
ションであり、矩形24のすぐ前の位置で例示する現在
生きている位置にコピーされるべき文字を指示するよう
にクリックが設けられる。
字レベルテキスト編集オペレーションを行なうため、ユ
ーザから第2の要求を受け取る。ボックス30に示すよ
うに、この要求されたオペレーションはコピーオペレー
ションであり、矩形24のすぐ前の位置で例示する現在
生きている位置にコピーされるべき文字を指示するよう
にクリックが設けられる。
【0037】ボックス28において受け取られた要求に
応答し、ボックス32におけるプロセスは、コピーされ
るべき文字を定義する文字サイズアレイを獲得し、ま
た、これに関する空間情報を獲得する。次いで、前記プ
ロセスは、ボックス20において獲得され、コピーされ
るべき文字に関し且つ文字「o」に関する空間情報に従
って画像の修正済みバージョン内に位置決めされる、文
字サイズアレイを定義するアレイデータユニットを編集
データ構造内に包含することによって文字を挿入する。
他の文字に対する文字サイズアレイ及び空間情報、コピ
ーされるべき文字の隣のもの及びコピーが挿入されつつ
ある位置の隣のものも獲得され、被挿入文字を位置決め
する際に使用される。
応答し、ボックス32におけるプロセスは、コピーされ
るべき文字を定義する文字サイズアレイを獲得し、ま
た、これに関する空間情報を獲得する。次いで、前記プ
ロセスは、ボックス20において獲得され、コピーされ
るべき文字に関し且つ文字「o」に関する空間情報に従
って画像の修正済みバージョン内に位置決めされる、文
字サイズアレイを定義するアレイデータユニットを編集
データ構造内に包含することによって文字を挿入する。
他の文字に対する文字サイズアレイ及び空間情報、コピ
ーされるべき文字の隣のもの及びコピーが挿入されつつ
ある位置の隣のものも獲得され、被挿入文字を位置決め
する際に使用される。
【0038】被挿入文字は、適当する位置データをアレ
イデータユニット内に包含することにより、位置決めさ
れる。文字相互間のスペーシングに関する空間情報に基
づき、被挿入文字は文字の行の方向に沿って位置決めさ
れる。この行上の後続の文字はこの行の方向に沿って再
位置決めされ、被挿入文字のためのあき場所を作る。横
断文字位置に関する情報に基づき、被挿入文字はまた文
字の行を横切る方向に位置決めされ得る。
イデータユニット内に包含することにより、位置決めさ
れる。文字相互間のスペーシングに関する空間情報に基
づき、被挿入文字は文字の行の方向に沿って位置決めさ
れる。この行上の後続の文字はこの行の方向に沿って再
位置決めされ、被挿入文字のためのあき場所を作る。横
断文字位置に関する情報に基づき、被挿入文字はまた文
字の行を横切る方向に位置決めされ得る。
【0039】要求されたオペレーションが完了したら、
ボックス34に示すように、画像の修正済みバージョン
のビューが表示される。挿入文字「n」を取り巻く矩形
36は暗色化され、現在生きている位置を指示する。
ボックス34に示すように、画像の修正済みバージョン
のビューが表示される。挿入文字「n」を取り巻く矩形
36は暗色化され、現在生きている位置を指示する。
【0040】図2におけるシステム50は、画像入力装
置54及びユーザ入力装置56から信号を受け取るよう
に接続されたプロセッサ52を包含している。画像入力
装置54は、例えば、スキャナ、ファクシミリ受信器も
しくは、他の画像受信器もしくは他の適当する装置であ
り、または画像をディジタル形式で記憶しているローカ
ルもしくは遠隔メモリの一部である。ユーザ入力装置5
6は、例えば、マウス付きのキーボードである。プロセ
ッサ52はまた、例えば、スクリーンディスプレイ、複
写機、ファクシミリ送信器もしくは他の画像送信器、ま
たは、画像をディジタル形式で記憶するローカルもしく
はリモートメモリのような画像出力装置58に接続され
る。
置54及びユーザ入力装置56から信号を受け取るよう
に接続されたプロセッサ52を包含している。画像入力
装置54は、例えば、スキャナ、ファクシミリ受信器も
しくは、他の画像受信器もしくは他の適当する装置であ
り、または画像をディジタル形式で記憶しているローカ
ルもしくは遠隔メモリの一部である。ユーザ入力装置5
6は、例えば、マウス付きのキーボードである。プロセ
ッサ52はまた、例えば、スクリーンディスプレイ、複
写機、ファクシミリ送信器もしくは他の画像送信器、ま
たは、画像をディジタル形式で記憶するローカルもしく
はリモートメモリのような画像出力装置58に接続され
る。
【0041】プロセッサ52はまた、プログラムメモリ
60及びデータメモリ80にアクセスするように接続さ
れている。プログラムメモリ60は、画像入力ルーチン
62、ユーザ入力ルーチン64、編集サブルーチン6
6、画像解析サブルーチン68、及び画像出力サブルー
チン70を包含している。データメモリ80は、画像入
力データ構造82、解析済み画像データ構造84、及び
画像出力データ構造86を包含している。
60及びデータメモリ80にアクセスするように接続さ
れている。プログラムメモリ60は、画像入力ルーチン
62、ユーザ入力ルーチン64、編集サブルーチン6
6、画像解析サブルーチン68、及び画像出力サブルー
チン70を包含している。データメモリ80は、画像入
力データ構造82、解析済み画像データ構造84、及び
画像出力データ構造86を包含している。
【0042】画像入力ルーチン62を実行する際に、プ
ロセッサ52は、画像入力装置54から、2次元データ
アレイである画像入力データ構造82内にデータをロー
ドする。ユーザ入力装置56からの信号に応答して、プ
ロセッサ52はユーザ入力ルーチン64を実行する。こ
のルーチンは編集サブルーチン66に対する呼び出しを
包含する。
ロセッサ52は、画像入力装置54から、2次元データ
アレイである画像入力データ構造82内にデータをロー
ドする。ユーザ入力装置56からの信号に応答して、プ
ロセッサ52はユーザ入力ルーチン64を実行する。こ
のルーチンは編集サブルーチン66に対する呼び出しを
包含する。
【0043】編集サブルーチン66は画像解析サブルー
チン68を呼び出す。この解析サブルーチンは、画像入
力データ構造82内のデータアレイから、または前に獲
得されているアレイから、小さいアレイを獲得する。図
示のように、解析済み画像データ構造84は、行と呼ば
れる1つまたは複数の補助データ構造を包含する。各行
データ構造は1つまたは複数のアレイデータユニットを
包含し、その各々は、1つまたは複数の連接構成要素の
セットまたは未解決アレイを包含する。この未解決アレ
イは、あとで、画像解析サブルーチン68によって文字
サイズアレイに解析される。同様に、解析済みデータ構
造84もまた、未解決アレイを定義するアレイデータユ
ニットを包含する。この未解決アレイは、あとで、画像
解析サブルーチン68によって解析され、行データ構造
を獲得する。従って、解析済み画像データ構造84は、
画像入力データ構造82によって定義される画像の修正
済みバージョンを定義する。
チン68を呼び出す。この解析サブルーチンは、画像入
力データ構造82内のデータアレイから、または前に獲
得されているアレイから、小さいアレイを獲得する。図
示のように、解析済み画像データ構造84は、行と呼ば
れる1つまたは複数の補助データ構造を包含する。各行
データ構造は1つまたは複数のアレイデータユニットを
包含し、その各々は、1つまたは複数の連接構成要素の
セットまたは未解決アレイを包含する。この未解決アレ
イは、あとで、画像解析サブルーチン68によって文字
サイズアレイに解析される。同様に、解析済みデータ構
造84もまた、未解決アレイを定義するアレイデータユ
ニットを包含する。この未解決アレイは、あとで、画像
解析サブルーチン68によって解析され、行データ構造
を獲得する。従って、解析済み画像データ構造84は、
画像入力データ構造82によって定義される画像の修正
済みバージョンを定義する。
【0044】編集サブルーチン66はまた画像出力サブ
ルーチン70を呼び出し、この画像出力サブルーチンは
画像出力データ構造80を作る。画像出力データ構造8
6を用い、画像入力データ構造82によって定義された
ビューを提供するか、または、解析済み画像データ構造
84によって定義せれた画像の修正済みバージョンのビ
ューを提供する。いずれの場合も、前記ビューは画像出
力装置58に提供される。
ルーチン70を呼び出し、この画像出力サブルーチンは
画像出力データ構造80を作る。画像出力データ構造8
6を用い、画像入力データ構造82によって定義された
ビューを提供するか、または、解析済み画像データ構造
84によって定義せれた画像の修正済みバージョンのビ
ューを提供する。いずれの場合も、前記ビューは画像出
力装置58に提供される。
【0045】図3は、文字レベルテキスト編集オペレー
ションにおいて生ずるステップ、即ち、システム50内
のプロセッサ52のようなプロセッサによって実行され
るステップを示すものである。テキスト編集オペレーシ
ョンに対する要求がボックス100において受け取られ
る。システム50において、この要求はユーザ入力装置
56からプロセッサ52によって受け取られる。
ションにおいて生ずるステップ、即ち、システム50内
のプロセッサ52のようなプロセッサによって実行され
るステップを示すものである。テキスト編集オペレーシ
ョンに対する要求がボックス100において受け取られ
る。システム50において、この要求はユーザ入力装置
56からプロセッサ52によって受け取られる。
【0046】これに応答し、ボックス102におけるス
テップはこの要求されたオペレーションを実行する。シ
ステム50において、プロセッサ52は、適当する編集
サブルーチン66を実行することにより、文字レベルテ
キスト編集オペレーションを実行すし、この間に、前記
プロセッサは解析済み画像データ構造84にアクセスし
てこれを修正する。テキスト編集オペレーションが未解
析アレイ内の文字に作用するとき、この文字に対する文
字サイズアレイを前記未解析アレイからか獲得すること
が必要になる。文字サイズアレイを定義するアレイデー
タユニット、ならびに、文字サイズアレイ及び他のアレ
イを定義する行データ構造及び他のアレイデータユニッ
トは、解析済み画像データ構造84内で操作され、要求
されたオペレーションを実行する。従って、必要に応
じ、プロセッサ52は、画像解析サブルーチン68を実
行することによって文字サイズアレイを獲得する。これ
には、未解析アレイ内の文字または他の要素を定義する
連接構成要素を見付けることが含まれる。
テップはこの要求されたオペレーションを実行する。シ
ステム50において、プロセッサ52は、適当する編集
サブルーチン66を実行することにより、文字レベルテ
キスト編集オペレーションを実行すし、この間に、前記
プロセッサは解析済み画像データ構造84にアクセスし
てこれを修正する。テキスト編集オペレーションが未解
析アレイ内の文字に作用するとき、この文字に対する文
字サイズアレイを前記未解析アレイからか獲得すること
が必要になる。文字サイズアレイを定義するアレイデー
タユニット、ならびに、文字サイズアレイ及び他のアレ
イを定義する行データ構造及び他のアレイデータユニッ
トは、解析済み画像データ構造84内で操作され、要求
されたオペレーションを実行する。従って、必要に応
じ、プロセッサ52は、画像解析サブルーチン68を実
行することによって文字サイズアレイを獲得する。これ
には、未解析アレイ内の文字または他の要素を定義する
連接構成要素を見付けることが含まれる。
【0047】プロセッサ52による解析済み画像データ
構造84の操作は、連接構成要素の1つもしくは複数の
文字または他の文字サイズセットを定義するアレイ、1
つまたは複数の語、テキストの1つまたは複数の行、一
つの行で始まって他の行で終わるテキストのサブシーケ
ンス、等に作用する。この操作としては、1つまたは複
数の挿入または削除と同等のオペレーションがある。こ
の操作の後、解析済み画像データ構造84は画像の修正
済みまたは編集済みバージョンを定義する。要求された
オペレーションが完了すると、プロセッサ52は、画像
出力サブルーチン70を実行して画像出力データ構造8
6を作る。この画像出力データ構造を用い、画像出力装
置58を介して画像を出力する。この出力画像は、解析
済み画像データ構造84によって定義される画像の修正
済みまたは編集済みバージョンのビューである。
構造84の操作は、連接構成要素の1つもしくは複数の
文字または他の文字サイズセットを定義するアレイ、1
つまたは複数の語、テキストの1つまたは複数の行、一
つの行で始まって他の行で終わるテキストのサブシーケ
ンス、等に作用する。この操作としては、1つまたは複
数の挿入または削除と同等のオペレーションがある。こ
の操作の後、解析済み画像データ構造84は画像の修正
済みまたは編集済みバージョンを定義する。要求された
オペレーションが完了すると、プロセッサ52は、画像
出力サブルーチン70を実行して画像出力データ構造8
6を作る。この画像出力データ構造を用い、画像出力装
置58を介して画像を出力する。この出力画像は、解析
済み画像データ構造84によって定義される画像の修正
済みまたは編集済みバージョンのビューである。
【0048】図4は、未解析アレイを分割して小さいア
レイを獲得する際に行なわれる諸ステップを示すもので
ある。これらステップは、図3におけるボックス102
におけるステップを実行する際に生ずる。画像部分12
0は、分割中の未解析アレイにって定義される。本例の
画像部分は、各々がいくつかの文字を有するテキストの
行を包含している。図4に示すステップは、画像部分1
20内の第1の行上の文字「a」内の位置を指示するユ
ーザ要求に応答して実行される。指示された位置に基づ
き、プロセッサ52は、ボックス122に示す解析済み
画像データ構造の部分にアクセスすることによって画像
部分120を定義するアレイにアクセスし、指示された
位置を包含する最小のアレイを見付ける。この解析済み
データ構造は、画像部分120を定義する未解析アレイ
Aに対するアレイデータユニットを包含する。このアレ
イデータユニットは、画像部分120のサイズ、形状、
及び位置のような未解析アレイAに関する空間情報を指
示するデータを包含する。空間情報を指示するこのデー
タを用い、ユーザ要求によって指示される位置が画像部
分120内にあるということを測定する。前記データユ
ニットはまた、画像部分120を定義する2次元アレ
イ、またはかかるアレイに対するポインタを包含する。
レイを獲得する際に行なわれる諸ステップを示すもので
ある。これらステップは、図3におけるボックス102
におけるステップを実行する際に生ずる。画像部分12
0は、分割中の未解析アレイにって定義される。本例の
画像部分は、各々がいくつかの文字を有するテキストの
行を包含している。図4に示すステップは、画像部分1
20内の第1の行上の文字「a」内の位置を指示するユ
ーザ要求に応答して実行される。指示された位置に基づ
き、プロセッサ52は、ボックス122に示す解析済み
画像データ構造の部分にアクセスすることによって画像
部分120を定義するアレイにアクセスし、指示された
位置を包含する最小のアレイを見付ける。この解析済み
データ構造は、画像部分120を定義する未解析アレイ
Aに対するアレイデータユニットを包含する。このアレ
イデータユニットは、画像部分120のサイズ、形状、
及び位置のような未解析アレイAに関する空間情報を指
示するデータを包含する。空間情報を指示するこのデー
タを用い、ユーザ要求によって指示される位置が画像部
分120内にあるということを測定する。前記データユ
ニットはまた、画像部分120を定義する2次元アレ
イ、またはかかるアレイに対するポインタを包含する。
【0049】未解析アレイAを分割する際の最初のステ
ップは、このアレイから、ユーザ要求によって指示され
た位置を包含するテキストの行を定義するデータを分割
することである。これは、例えば、指示された位置に最
も近い空白の水平スペースに沿って分割することによっ
て行なわれる。画像部分120は、指示された位置の上
には空白水平スペースを有していないが、その下には空
白水平行間スペースを有しており、従って、未解析アレ
イAを行アレイBに分割し、画像部分130及び未解析
アレイCを定義し、画像部分132を定義することがで
きる。画像部分130は暗色化され、該部分が指示位置
を包含しているということを指示する。これらアレイ
は、未解析アレイAによって定義される画像部分120
の全部を定義するのに十分なデータを包含しているか
ら、これらを定義するアレイデータユニットは、ボック
ス134に示す解析済みデータ構造の部分におけるよう
に、未解析アレイAに対するアレイデータユニットに取
って代ることができる。
ップは、このアレイから、ユーザ要求によって指示され
た位置を包含するテキストの行を定義するデータを分割
することである。これは、例えば、指示された位置に最
も近い空白の水平スペースに沿って分割することによっ
て行なわれる。画像部分120は、指示された位置の上
には空白水平スペースを有していないが、その下には空
白水平行間スペースを有しており、従って、未解析アレ
イAを行アレイBに分割し、画像部分130及び未解析
アレイCを定義し、画像部分132を定義することがで
きる。画像部分130は暗色化され、該部分が指示位置
を包含しているということを指示する。これらアレイ
は、未解析アレイAによって定義される画像部分120
の全部を定義するのに十分なデータを包含しているか
ら、これらを定義するアレイデータユニットは、ボック
ス134に示す解析済みデータ構造の部分におけるよう
に、未解析アレイAに対するアレイデータユニットに取
って代ることができる。
【0050】次のステップは、指示位置を包含している
現在最小アレイから、指示位置を包含しているより小さ
い部分である行アレイBを分割することである。これ
は、例えば、指示位置に最も近い空白垂直スペースに沿
って分割することによって行なわれる。このようにし
て、画像部分130は、垂直文字間スペースに沿って、
未解析アレイD及びEによってそれぞれ定義される画像
部分142及び144に分割される。画像部分142は
暗色化され、指示位置を包含しているということを指示
する。行アレイBを定義するデータユニットは拡張さ
れ、ボックス146に示す解析済みデータ構造の部分に
おけるように、これらアレイの各々に対するアレイデー
タユニットを包含する。
現在最小アレイから、指示位置を包含しているより小さ
い部分である行アレイBを分割することである。これ
は、例えば、指示位置に最も近い空白垂直スペースに沿
って分割することによって行なわれる。このようにし
て、画像部分130は、垂直文字間スペースに沿って、
未解析アレイD及びEによってそれぞれ定義される画像
部分142及び144に分割される。画像部分142は
暗色化され、指示位置を包含しているということを指示
する。行アレイBを定義するデータユニットは拡張さ
れ、ボックス146に示す解析済みデータ構造の部分に
おけるように、これらアレイの各々に対するアレイデー
タユニットを包含する。
【0051】最後に、未解析アレイDである指示位置を
包含している現在最小アレイを解析し、連接構成要素を
見付ける。未解析アレイDは文字「a」である1つの連
接構成要素を包含しているだけである。従って、この連
接構成要素は構成要素セットとして取り扱われる。この
セットは、文字である蓋然性が高く、従ってユニットと
して操作される連接構成要素のセットを意味する。次い
で、構成要素の全部を包含する文字サイズアレイが獲得
される。本例においては、矩形囲いボックスを有する文
字サイズアレイFは画像部分150を定義する。この画
像部分は暗色化されており、これが指示位置を包含して
いるということを指示している。文字サイズアレイF
は、画像部分150の位置を指示する空間情報ととも
に、未解析アレイDを定義するのに十分である。従っ
て、文字サイズアレイFに対するアレイデータユニット
は、ボックス152に示す解析済み画像データ構造の部
分において未解析アレイDに対するアレイデータユニッ
トに取って代ることができる。
包含している現在最小アレイを解析し、連接構成要素を
見付ける。未解析アレイDは文字「a」である1つの連
接構成要素を包含しているだけである。従って、この連
接構成要素は構成要素セットとして取り扱われる。この
セットは、文字である蓋然性が高く、従ってユニットと
して操作される連接構成要素のセットを意味する。次い
で、構成要素の全部を包含する文字サイズアレイが獲得
される。本例においては、矩形囲いボックスを有する文
字サイズアレイFは画像部分150を定義する。この画
像部分は暗色化されており、これが指示位置を包含して
いるということを指示している。文字サイズアレイF
は、画像部分150の位置を指示する空間情報ととも
に、未解析アレイDを定義するのに十分である。従っ
て、文字サイズアレイFに対するアレイデータユニット
は、ボックス152に示す解析済み画像データ構造の部
分において未解析アレイDに対するアレイデータユニッ
トに取って代ることができる。
【0052】即ち、図4は、文字サイズアレイを見付け
るための未解析アレイの分割を示すものであり、前記文
字サイズアレイは、未解析アレイにおける唯一の構成要
素セットである唯1つの連接構成要素を包含している。
図5は、未解析アレイが1つの構成要素セットを形成す
る2つの連接構成要素を包含している場合を示すもので
あり、図6は、未解析アレイが、オーバラップすること
のできる囲いボックスを有する2つの構成要素セットを
有している場合を示すものである。
るための未解析アレイの分割を示すものであり、前記文
字サイズアレイは、未解析アレイにおける唯一の構成要
素セットである唯1つの連接構成要素を包含している。
図5は、未解析アレイが1つの構成要素セットを形成す
る2つの連接構成要素を包含している場合を示すもので
あり、図6は、未解析アレイが、オーバラップすること
のできる囲いボックスを有する2つの構成要素セットを
有している場合を示すものである。
【0053】図5において、画像部分170を定義する
未解析アレイはアクセスされており、この画像部分は文
字「i」という事例を包含している。ボックス172内
に示す解析済み画像データ構造の部分内のアレイデータ
ユニットを持つ未解析アレイLであるアレイは、文字
「i」内の位置を指示するユーザの要求に基づいてアク
セスされる。従って、未解析アレイLは、指示位置を包
含する現在最小アレイである。
未解析アレイはアクセスされており、この画像部分は文
字「i」という事例を包含している。ボックス172内
に示す解析済み画像データ構造の部分内のアレイデータ
ユニットを持つ未解析アレイLであるアレイは、文字
「i」内の位置を指示するユーザの要求に基づいてアク
セスされる。従って、未解析アレイLは、指示位置を包
含する現在最小アレイである。
【0054】ボックス172内に示す解析済み画像デー
タ構造の部分内の未解析アレイLのデータユニットの位
置から、プロセッサ52は、適当する次のステップが、
連接構成要素を、及び、各連接構成要素に対して、その
囲いボックスを見付けることであるということを決定す
る。画像部分180は、各々が連接構成要素の囲いボッ
クスによって定義される画像部分182及び184を包
含している。画像部分182は文字「i」の点を包含
し、画像部分184は文字「i」の躯幹部を包含してお
り、そして指示位置を包含しているということを指示す
るために暗色化されている。
タ構造の部分内の未解析アレイLのデータユニットの位
置から、プロセッサ52は、適当する次のステップが、
連接構成要素を、及び、各連接構成要素に対して、その
囲いボックスを見付けることであるということを決定す
る。画像部分180は、各々が連接構成要素の囲いボッ
クスによって定義される画像部分182及び184を包
含している。画像部分182は文字「i」の点を包含
し、画像部分184は文字「i」の躯幹部を包含してお
り、そして指示位置を包含しているということを指示す
るために暗色化されている。
【0055】未解析アレイ内に複数の連接構成要素が見
つかると、プロセッサ52は規則を適用し、前記連接構
成要素をユニットとして取り扱うことができるかどうか
を測定する。これら規則は、前記連接構成要素が文字を
形成するということの蓋然性に基づいている。これら規
則は、連接構成要素の囲いボックスに関する、サイズ、
形状、また配置のようなデータを用いる。例えば、囲い
ボックスデータが、比較的小さいサイズの画像部分18
2を指示し、且つ比較的大きい画像部分184に対する
前記比較的小さいサイズの画像部分の近接性を指示する
場合には、前記画像部分内の連接構成要素をユニットと
して取り扱うことができるということを、規則が指示す
る。或いはまた、囲いボックスデータが、囲いボックス
の中心が垂直整列中の指定数の画素内にあるということ
を指示する場合には、その連接構成要素をユニットとし
て取り扱うことができ、従って前記構成要素は構成要素
セットを形成するということを、規則が指示する。
つかると、プロセッサ52は規則を適用し、前記連接構
成要素をユニットとして取り扱うことができるかどうか
を測定する。これら規則は、前記連接構成要素が文字を
形成するということの蓋然性に基づいている。これら規
則は、連接構成要素の囲いボックスに関する、サイズ、
形状、また配置のようなデータを用いる。例えば、囲い
ボックスデータが、比較的小さいサイズの画像部分18
2を指示し、且つ比較的大きい画像部分184に対する
前記比較的小さいサイズの画像部分の近接性を指示する
場合には、前記画像部分内の連接構成要素をユニットと
して取り扱うことができるということを、規則が指示す
る。或いはまた、囲いボックスデータが、囲いボックス
の中心が垂直整列中の指定数の画素内にあるということ
を指示する場合には、その連接構成要素をユニットとし
て取り扱うことができ、従って前記構成要素は構成要素
セットを形成するということを、規則が指示する。
【0056】これら規則一つを適用すると、囲いボック
スの構成要素セットである文字サイズアレイNによって
定義される画像部分192を画像部分190が包含する
ように、未解析アレイLを分割することができる。ボッ
クス194内に示す解析済み画像データ構造の部分内の
文字サイズアレイNに対するアレイデータユニットは、
画像部分190を提供するのに十分なデータを包含して
いるから、ボックス172内に示す解析済み画像データ
構造の部分内の未解析アレイLに対するデータユニット
に取って代る。画像部分192は暗色化され、これが指
示位置を包含しているということを指示する。
スの構成要素セットである文字サイズアレイNによって
定義される画像部分192を画像部分190が包含する
ように、未解析アレイLを分割することができる。ボッ
クス194内に示す解析済み画像データ構造の部分内の
文字サイズアレイNに対するアレイデータユニットは、
画像部分190を提供するのに十分なデータを包含して
いるから、ボックス172内に示す解析済み画像データ
構造の部分内の未解析アレイLに対するデータユニット
に取って代る。画像部分192は暗色化され、これが指
示位置を包含しているということを指示する。
【0057】図6において、画像部分200を定義する
未解析アレイがアクセスされている。前記画像部分は文
字「/」である2つの相隣る事例を包含しており、この
文字は、第2のものの下部が第1のものの上部の下方に
位置し、空白垂直行がこれらの間に入り込めないように
なっている。ボックス202内に示す解析済み画像デー
タ構造の部分内のアレイデータユニットを持つ未解析ア
レイSであるアレイは、第2の事例の文字「/」内の位
置を指示するユーザ要求に基づいてアクセスされる。従
って、未解析アレイSは、指示位置を包含する現在最小
アレイである。
未解析アレイがアクセスされている。前記画像部分は文
字「/」である2つの相隣る事例を包含しており、この
文字は、第2のものの下部が第1のものの上部の下方に
位置し、空白垂直行がこれらの間に入り込めないように
なっている。ボックス202内に示す解析済み画像デー
タ構造の部分内のアレイデータユニットを持つ未解析ア
レイSであるアレイは、第2の事例の文字「/」内の位
置を指示するユーザ要求に基づいてアクセスされる。従
って、未解析アレイSは、指示位置を包含する現在最小
アレイである。
【0058】ボックス202内に示す解析済み画像デー
タ構造の部分内の未解析アレイSのデータユニットの位
置から、プロセッサ52は、適切な次のステップが、連
接構成要素を、及び各連接構成素子に対してその囲いボ
ックスを見付けることであると決定する。画像部分21
0は画像部分212及び214を包含し、その各々は連
接構成要素の囲いボックスによって定義される。画像部
分212は第1の事例である文字「/」を包含してお
り、画像部分214は第2の事例を包含し、且つ、これ
が指示位置を包含しているということを指示するために
暗色化されている。
タ構造の部分内の未解析アレイSのデータユニットの位
置から、プロセッサ52は、適切な次のステップが、連
接構成要素を、及び各連接構成素子に対してその囲いボ
ックスを見付けることであると決定する。画像部分21
0は画像部分212及び214を包含し、その各々は連
接構成要素の囲いボックスによって定義される。画像部
分212は第1の事例である文字「/」を包含してお
り、画像部分214は第2の事例を包含し、且つ、これ
が指示位置を包含しているということを指示するために
暗色化されている。
【0059】プロセッサ52は再び規則を適用し、見つ
かった2つの連接構成要素をユニットとして取り扱うこ
とができるかどうかを測定する。ここで、囲いボックス
データが、囲いボックスの中心が複数のしきいによって
分離されているということを指示する場合には、一つの
規則は、前記連接構成要素を、構成要素セットを形成す
るユニットとして取り扱うことができないということを
指示する。従って、この規則の適用後に獲得される画像
部分220は、囲いボックスが画像部分214である連
接構成要素を含有する画像部分222のみを包含する。
画像部分222は、囲いボックスが画像部分212であ
る連接構成要素のどの部分をも包含しない。ボックス2
26内に示す解析済み画像データ構造の部分は文字サイ
ズアレイU及びVに対するアレイデータユニットを包含
しており、文字サイズアレイVは画像部分222を定義
し、文字サイズアレイUは、囲いボックスが画像部分2
12である連接構成要素を含有する類似の画像部分を定
義する。文字サイズアレイU及びVに対するアレイデー
タユニットは、ボックス226内に示す解析済み画像デ
ータ構造の部分内の未解析アレイSに対するデータユニ
ットに取って代る。画像部分222は暗色化され、これ
が指示位置を包含しているということを指示する。
かった2つの連接構成要素をユニットとして取り扱うこ
とができるかどうかを測定する。ここで、囲いボックス
データが、囲いボックスの中心が複数のしきいによって
分離されているということを指示する場合には、一つの
規則は、前記連接構成要素を、構成要素セットを形成す
るユニットとして取り扱うことができないということを
指示する。従って、この規則の適用後に獲得される画像
部分220は、囲いボックスが画像部分214である連
接構成要素を含有する画像部分222のみを包含する。
画像部分222は、囲いボックスが画像部分212であ
る連接構成要素のどの部分をも包含しない。ボックス2
26内に示す解析済み画像データ構造の部分は文字サイ
ズアレイU及びVに対するアレイデータユニットを包含
しており、文字サイズアレイVは画像部分222を定義
し、文字サイズアレイUは、囲いボックスが画像部分2
12である連接構成要素を含有する類似の画像部分を定
義する。文字サイズアレイU及びVに対するアレイデー
タユニットは、ボックス226内に示す解析済み画像デ
ータ構造の部分内の未解析アレイSに対するデータユニ
ットに取って代る。画像部分222は暗色化され、これ
が指示位置を包含しているということを指示する。
【0060】図6は、連接構成要素の囲いボックスがオ
ーバラップする場合に生ずる特殊な問題を示すものであ
る。画像部分222は、囲いボックスが画像部分212
である連接構成要素の一方の端部を包含するであろうか
ら、画像部分200の実部分となることはできない。従
って、文字サイズアレイVに対するアレイデータユニッ
トは画像部分200を定義する2次元アレイ内へのポイ
ンタとなることはできない。この問題は、画像部分22
2を定義する2次元アレイを文字サイズアレイVに対す
るアレイデータユニット内に包含することにより、解決
することができる。この2次元アレイは、囲いボックス
が画像部分214である連接構成要素で開始し、そして
これを取り囲む空白矩形領域を獲得することにより、獲
得される。
ーバラップする場合に生ずる特殊な問題を示すものであ
る。画像部分222は、囲いボックスが画像部分212
である連接構成要素の一方の端部を包含するであろうか
ら、画像部分200の実部分となることはできない。従
って、文字サイズアレイVに対するアレイデータユニッ
トは画像部分200を定義する2次元アレイ内へのポイ
ンタとなることはできない。この問題は、画像部分22
2を定義する2次元アレイを文字サイズアレイVに対す
るアレイデータユニット内に包含することにより、解決
することができる。この2次元アレイは、囲いボックス
が画像部分214である連接構成要素で開始し、そして
これを取り囲む空白矩形領域を獲得することにより、獲
得される。
【0061】図6は、オーバラップする可能性のある囲
いボックスを有する構成要素について生ずる可能性のあ
る他の問題を示すものであり、この問題は、ユーザがオ
ーバラップ領域内の位置を指示した場合にシステムがど
のようにして応答するかということである。この問題
は、オーバラップ領域内の位置を、中心が最も左である
連接構成要素セット内の位置を指示するものとして取り
扱うことによって解決される。
いボックスを有する構成要素について生ずる可能性のあ
る他の問題を示すものであり、この問題は、ユーザがオ
ーバラップ領域内の位置を指示した場合にシステムがど
のようにして応答するかということである。この問題
は、オーバラップ領域内の位置を、中心が最も左である
連接構成要素セット内の位置を指示するものとして取り
扱うことによって解決される。
【0062】編集サブルーチン66はまた、文字サイズ
アレイを包含する特定のオペレーションを包含すること
ができる。図7及び図8は、文字サイズアレイを包含す
る特定の編集オペレーションの例を示すものである。図
7は、ユーザ入力装置56のキーボードのキーにアレイ
を割当てる際の諸ステップを示すものである。図8は、
前にキーに割当てられているアレイに整合するアレイの
探索を行なう際のステップを示すものである。
アレイを包含する特定のオペレーションを包含すること
ができる。図7及び図8は、文字サイズアレイを包含す
る特定の編集オペレーションの例を示すものである。図
7は、ユーザ入力装置56のキーボードのキーにアレイ
を割当てる際の諸ステップを示すものである。図8は、
前にキーに割当てられているアレイに整合するアレイの
探索を行なう際のステップを示すものである。
【0063】図7におけるステップは、図1のボックス
10及びボックス16におけるもののようなステップ、
またはボックス28及び32におけるもののような他の
ステップによって先立たれ、いずれの場合も、その結果
は生きているアレイとなる。図1においては、生きてい
るアレイは、暗色化された領域24によってボックス2
2内に示されており、また、暗色化された領域36によ
ってボックス34内に示されている。ボックス240に
おけるステップは、図1におけるボックス20における
ように、画像のビューを提供する。このビューの一部分
をボックス242に示してあり、暗色化された領域24
4は、前記ビュー内の文字のシーケンス「ered」内
の文字「r」を包含している文字サイズアレイは現在生
きているアレイである、ということを指示する。
10及びボックス16におけるもののようなステップ、
またはボックス28及び32におけるもののような他の
ステップによって先立たれ、いずれの場合も、その結果
は生きているアレイとなる。図1においては、生きてい
るアレイは、暗色化された領域24によってボックス2
2内に示されており、また、暗色化された領域36によ
ってボックス34内に示されている。ボックス240に
おけるステップは、図1におけるボックス20における
ように、画像のビューを提供する。このビューの一部分
をボックス242に示してあり、暗色化された領域24
4は、前記ビュー内の文字のシーケンス「ered」内
の文字「r」を包含している文字サイズアレイは現在生
きているアレイである、ということを指示する。
【0064】ボックス250において、ユーザはキー割
当てオペレーションを要求する信号を与える。例えば、
ユーザは前もって要求エントリをティーチモードにして
おく。このモードにおいては、一連のアレイを順々にキ
ーに割当てることができる。ティーチモードになってい
る間、ユーザがキーボードのキーを押す度ごとに、この
現在生きているアレイは前記押されたキーに割当てられ
る。従って、ボックス252において、プロセッサ52
は、キー割当てに対する要求を受け取って適切な編集ル
ーチン66を実施し、文字「r」を包含する文字サイズ
アレイを、キーボード上の「r」というキー指定キーに
割当てる。ティーチモードにおいて、プロセッサ52
は、次いで、現在生きているアレイをテキスト内の次の
位置へ移動させ、そこで、ユーザは、他のキーを打って
次のアレイを割当てる。このようにして、ユーザは、同
じ文字がテキスト内に複数回出現し、従って複数のアレ
イが同じキーに割当てられるというアレイの組合せまた
は置き換えに対する適切な規則を用い、テキストのアレ
イをキーボードのキーに割当てるためにテキスト内の文
字のシーケンスをタイプすることができる。プロセッサ
52はまた、例えば、各割当てアレイが割当てキーボー
ドの位置に表示されているキーボードのビューを提示す
ることにより、適切な画像出力サブルーチン70を実施
し、キー割当てを指示するフィードバックを提供するこ
とができる。
当てオペレーションを要求する信号を与える。例えば、
ユーザは前もって要求エントリをティーチモードにして
おく。このモードにおいては、一連のアレイを順々にキ
ーに割当てることができる。ティーチモードになってい
る間、ユーザがキーボードのキーを押す度ごとに、この
現在生きているアレイは前記押されたキーに割当てられ
る。従って、ボックス252において、プロセッサ52
は、キー割当てに対する要求を受け取って適切な編集ル
ーチン66を実施し、文字「r」を包含する文字サイズ
アレイを、キーボード上の「r」というキー指定キーに
割当てる。ティーチモードにおいて、プロセッサ52
は、次いで、現在生きているアレイをテキスト内の次の
位置へ移動させ、そこで、ユーザは、他のキーを打って
次のアレイを割当てる。このようにして、ユーザは、同
じ文字がテキスト内に複数回出現し、従って複数のアレ
イが同じキーに割当てられるというアレイの組合せまた
は置き換えに対する適切な規則を用い、テキストのアレ
イをキーボードのキーに割当てるためにテキスト内の文
字のシーケンスをタイプすることができる。プロセッサ
52はまた、例えば、各割当てアレイが割当てキーボー
ドの位置に表示されているキーボードのビューを提示す
ることにより、適切な画像出力サブルーチン70を実施
し、キー割当てを指示するフィードバックを提供するこ
とができる。
【0065】一般に、テキストに基づいて手動キー割当
てを入力するというよりはむしろ、ユーザは、適当な信
号を介して、書体の所定の字体の文字に対するアレイの
ような記憶されているセットのアレイをキーに割当てる
こと、または、このアレイを文字認識の結果に基づいて
キーに割当てることが可能であるべきである。ユーザは
また、ティーチモードを入力したら、前にあった全ての
割当てを削除することができる。
てを入力するというよりはむしろ、ユーザは、適当な信
号を介して、書体の所定の字体の文字に対するアレイの
ような記憶されているセットのアレイをキーに割当てる
こと、または、このアレイを文字認識の結果に基づいて
キーに割当てることが可能であるべきである。ユーザは
また、ティーチモードを入力したら、前にあった全ての
割当てを削除することができる。
【0066】キーに対するアレイの割当てがどのように
行なわれようとも、ボックス260におけるように、ユ
ーザがキーをタイプモードでクリックすると、ボックス
262においてプロセッサ52はこれを、文字をタイプ
するための要求として受け取る。次いで、プロセッサ5
2は、適当する編集サブルーチン66を実行し、文字サ
イズアレイまたは指定キーに割当てられた他のアレイを
画像内の現在生きている位置に挿入する。次いで、プロ
セッサ52は、ボックス264において、適当する画像
出力サブルーチン70を実行し、画像の修正済みバージ
ョンのビューを表示する。ボックス266に示すよう
に、このビューは、挿入されたアレイを、本例において
は文字「r」を包含する文字サイズアレイを指示する暗
色化された領域268を包含する。
行なわれようとも、ボックス260におけるように、ユ
ーザがキーをタイプモードでクリックすると、ボックス
262においてプロセッサ52はこれを、文字をタイプ
するための要求として受け取る。次いで、プロセッサ5
2は、適当する編集サブルーチン66を実行し、文字サ
イズアレイまたは指定キーに割当てられた他のアレイを
画像内の現在生きている位置に挿入する。次いで、プロ
セッサ52は、ボックス264において、適当する画像
出力サブルーチン70を実行し、画像の修正済みバージ
ョンのビューを表示する。ボックス266に示すよう
に、このビューは、挿入されたアレイを、本例において
は文字「r」を包含する文字サイズアレイを指示する暗
色化された領域268を包含する。
【0067】図8に示すように、前にキーに割当てられ
ているアレイに整合する文字サイズアレイに対して解析
済み画像データ画像84がまた探索される。図8におけ
る第1の事象は、文字サイズアレイに割当てられた指定
キーの、即ち、本例においては文字「r」を包含する文
字サイズアレイに割当てられたキーのクリックとともに
ユーザが探索しているということを指示するユーザ入力
装置56からの信号である。これに応答して、ボックス
282において要求を受け取るプロセッサ52はボック
ス284において整合アレイを見付ける。この整合アレ
イは、標準のテンプレート整合及びたたみ込み手法で見
付けられる。次いで、プロセッサ52は、ボックス28
6において暗色化された領域288で示すように、整合
アレイが暗色化されている画像のビューを提示する。
ているアレイに整合する文字サイズアレイに対して解析
済み画像データ画像84がまた探索される。図8におけ
る第1の事象は、文字サイズアレイに割当てられた指定
キーの、即ち、本例においては文字「r」を包含する文
字サイズアレイに割当てられたキーのクリックとともに
ユーザが探索しているということを指示するユーザ入力
装置56からの信号である。これに応答して、ボックス
282において要求を受け取るプロセッサ52はボック
ス284において整合アレイを見付ける。この整合アレ
イは、標準のテンプレート整合及びたたみ込み手法で見
付けられる。次いで、プロセッサ52は、ボックス28
6において暗色化された領域288で示すように、整合
アレイが暗色化されている画像のビューを提示する。
【0068】次に、図1〜図8に示す一般的特徴をどの
ようにして実施することができるかについて説明する。
ようにして実施することができるかについて説明する。
【0069】C、実施 前述した一般的特徴は色々な方法で実施することができ
る。次に、成功的実施の2つの態様、即ち、画像解析及
び編集のオペレーションについて説明する。
る。次に、成功的実施の2つの態様、即ち、画像解析及
び編集のオペレーションについて説明する。
【0070】1、画像解析 図9は、図3について前述したステップを含み、及び未
解析アレイのリドローイング(redrawing)と分割との間
のインタラクションを含み、ユーザ入力ルーチン64の
実施における諸ステップを示すものである。図10は解
析済み画像データ構造84の実施を示すものである。図
11は画像解析サブルーチン68の実施における諸ステ
ップを示すものである。
解析アレイのリドローイング(redrawing)と分割との間
のインタラクションを含み、ユーザ入力ルーチン64の
実施における諸ステップを示すものである。図10は解
析済み画像データ構造84の実施を示すものである。図
11は画像解析サブルーチン68の実施における諸ステ
ップを示すものである。
【0071】図9におけるルーチンは、ボックス300
において、ユーザ入力装置56からの入力信号が受信さ
れたかどうかを試験する。受信されていない場合には、
このルーチンは、適当な時間後に、この試験を繰り返
す。ユーザ入力信号が受信されたら、ボックス302に
おけるステップは、この受信済み信号を取り扱うために
1つまたは複数の機能のシーケンスを実行する。入力信
号を取り扱う機能は編集サブルーチン66の実施であ
る。このシーケンスの機能を実行する際に、ボックス3
02におけるステップは、前述したように必要に応じて
文字サイズアレイを獲得する。このステップはまた、必
要に応じてコードをリドロー(redraw) し、表示中のジ
ューを実行中の機能のシーケンスの結果としてリドロー
しなければならない範囲を指示する。機能が、解析済み
画像データ構造84を修正しないか、または1つまたは
複数の未解析アレイから小さいアレイを獲得することに
よってこれを修正するだけの場合には、追加のリドロー
イングは不要である。しかし、この機能が解析済み画像
データ構造84の他の方法で修正する場合には、この修
正によって影響を受けるビューの部分に対して追加のリ
ドローイングが必要となる。リドローコードは、追加の
リドローイングが必要となるときに更新される。
において、ユーザ入力装置56からの入力信号が受信さ
れたかどうかを試験する。受信されていない場合には、
このルーチンは、適当な時間後に、この試験を繰り返
す。ユーザ入力信号が受信されたら、ボックス302に
おけるステップは、この受信済み信号を取り扱うために
1つまたは複数の機能のシーケンスを実行する。入力信
号を取り扱う機能は編集サブルーチン66の実施であ
る。このシーケンスの機能を実行する際に、ボックス3
02におけるステップは、前述したように必要に応じて
文字サイズアレイを獲得する。このステップはまた、必
要に応じてコードをリドロー(redraw) し、表示中のジ
ューを実行中の機能のシーケンスの結果としてリドロー
しなければならない範囲を指示する。機能が、解析済み
画像データ構造84を修正しないか、または1つまたは
複数の未解析アレイから小さいアレイを獲得することに
よってこれを修正するだけの場合には、追加のリドロー
イングは不要である。しかし、この機能が解析済み画像
データ構造84の他の方法で修正する場合には、この修
正によって影響を受けるビューの部分に対して追加のリ
ドローイングが必要となる。リドローコードは、追加の
リドローイングが必要となるときに更新される。
【0072】リドローコードは、例えば、値がゼロで始
まって解析済み画像データ構造84内に変更が行なわれ
ていないということを指示するフィールドである。この
値を増加させてカーソル移動を順々に指示することがで
きるが、他の変更を指示することはできない。即ち、カ
ーソルが位置している行の上の1つまたは複数の変更、
1行未満の行の上の変更、等は、完全リドローが必要で
あるということを指示する最高値に到達するまで、指示
されない。
まって解析済み画像データ構造84内に変更が行なわれ
ていないということを指示するフィールドである。この
値を増加させてカーソル移動を順々に指示することがで
きるが、他の変更を指示することはできない。即ち、カ
ーソルが位置している行の上の1つまたは複数の変更、
1行未満の行の上の変更、等は、完全リドローが必要で
あるということを指示する最高値に到達するまで、指示
されない。
【0073】前記機能のシーケンスが完了すると、ルー
チンはボックス304においてリドローコードに基づい
て分岐する。リドローコードが変化を指示していない場
合には、ルーチンはボックス300へ戻り、他の入力信
号を待つ。リドローイングが必要であるということをリ
ドローコードが指示する場合には、ボックス304にお
けるステップは、影響を受けたビューの部分を解析済み
画像データ構造84の関係ある部分に基づいてリドロー
し、これが完了したらリドローコードをリセットする。
一般に、リドローオペレーションは画像出力サブルーチ
ン70に対する呼出しによって行なわれる。
チンはボックス304においてリドローコードに基づい
て分岐する。リドローコードが変化を指示していない場
合には、ルーチンはボックス300へ戻り、他の入力信
号を待つ。リドローイングが必要であるということをリ
ドローコードが指示する場合には、ボックス304にお
けるステップは、影響を受けたビューの部分を解析済み
画像データ構造84の関係ある部分に基づいてリドロー
し、これが完了したらリドローコードをリセットする。
一般に、リドローオペレーションは画像出力サブルーチ
ン70に対する呼出しによって行なわれる。
【0074】図10における連結リスト330は、図2
における解析済み画像データ構造84の実施を示すもの
であり、その中のデータは画像のバージョンを再構成す
るのに十分な空間情報を提供する。連結リスト330は
複数の小さいデータ構造を包含している。その各々を図
10においてボックスで示してあり、データ構造相互間
の連結を矢印で示してある。ハンドル332は、連結リ
スト330への入口点であり、例えば画像の識別子のよ
うな簡単なデータ構造であることができる。
における解析済み画像データ構造84の実施を示すもの
であり、その中のデータは画像のバージョンを再構成す
るのに十分な空間情報を提供する。連結リスト330は
複数の小さいデータ構造を包含している。その各々を図
10においてボックスで示してあり、データ構造相互間
の連結を矢印で示してある。ハンドル332は、連結リ
スト330への入口点であり、例えば画像の識別子のよ
うな簡単なデータ構造であることができる。
【0075】連結リスト330内のデータ構造は、2種
類のアレイデータユニット、即ち、vブロック(垂直ブ
ロック(vertical block))データユニット及び行データ
ユニットを包含しており、これらデータユニットは、こ
れらが定義するアレイが画像内で上部から下部へ生ずる
というシーケンスに順序付けされている。一般に、vブ
ロックアレイ及び行アレイはオーバラップまたは当接せ
ず、水平に延びる少なくとも1つの画素のマージンによ
って常に分割されている。これらの分割するための仕方
は、一つのアレイの下部と次のアレイの上部との間のギ
ャップを感知することによる。しかし、次いで、一つの
行アレイは修正され、隣の行アレイまたはvブロックア
レイとオーバラップまたは当接するようになる。
類のアレイデータユニット、即ち、vブロック(垂直ブ
ロック(vertical block))データユニット及び行データ
ユニットを包含しており、これらデータユニットは、こ
れらが定義するアレイが画像内で上部から下部へ生ずる
というシーケンスに順序付けされている。一般に、vブ
ロックアレイ及び行アレイはオーバラップまたは当接せ
ず、水平に延びる少なくとも1つの画素のマージンによ
って常に分割されている。これらの分割するための仕方
は、一つのアレイの下部と次のアレイの上部との間のギ
ャップを感知することによる。しかし、次いで、一つの
行アレイは修正され、隣の行アレイまたはvブロックア
レイとオーバラップまたは当接するようになる。
【0076】vブロックデータユニット340は、比較
的簡単であり、座標342及びラスタビットマップ34
4を包含する。ラスタビットマップ344は例えば矩形
であるが、その境界がその中の全ての連接構成要素を不
要のスペースを残さないで取り巻くように、トリムされ
る。座標342は、例えば、原画画像ビットマップの左
上角部からラスタビットマップ344の左上角部を隔て
る画素数の尺度となるx及びyの座標を包含し、このよ
うにして原画画像内のラスタビットマップ344の位置
を定義する。座標342はまたラスタビットマップ34
4の長さ及び高さの座標を包含し、これは、ユーザ入力
装置56からの信号内に指示される位置がラスタビット
マップ344内にあるかどうかを測定する際に用いられ
る。このように、vブロックデータユニット340は、
画像の未解析アレイを定義し、そしてまだ小さいアレイ
に分割されていない。
的簡単であり、座標342及びラスタビットマップ34
4を包含する。ラスタビットマップ344は例えば矩形
であるが、その境界がその中の全ての連接構成要素を不
要のスペースを残さないで取り巻くように、トリムされ
る。座標342は、例えば、原画画像ビットマップの左
上角部からラスタビットマップ344の左上角部を隔て
る画素数の尺度となるx及びyの座標を包含し、このよ
うにして原画画像内のラスタビットマップ344の位置
を定義する。座標342はまたラスタビットマップ34
4の長さ及び高さの座標を包含し、これは、ユーザ入力
装置56からの信号内に指示される位置がラスタビット
マップ344内にあるかどうかを測定する際に用いられ
る。このように、vブロックデータユニット340は、
画像の未解析アレイを定義し、そしてまだ小さいアレイ
に分割されていない。
【0077】他方、行データユニット350は、vブロ
ックアレイから分割されておって更に小さいアレイに分
割されるアレイを定義する。vブロックデータユニット
340と同じように、行データユニット350は座標3
52を包含する。この座標は、行アレイの左上角部の座
標を包含するが、この行アレイ内の全ての連接構成要素
はまた小さいアレイ内に入っているので、その長さ及び
高さを包含する必要はない。必要な場合には、行の長さ
及び高さは、その中の小さいアレイの寸法から計算する
ことができる。
ックアレイから分割されておって更に小さいアレイに分
割されるアレイを定義する。vブロックデータユニット
340と同じように、行データユニット350は座標3
52を包含する。この座標は、行アレイの左上角部の座
標を包含するが、この行アレイ内の全ての連接構成要素
はまた小さいアレイ内に入っているので、その長さ及び
高さを包含する必要はない。必要な場合には、行の長さ
及び高さは、その中の小さいアレイの寸法から計算する
ことができる。
【0078】図示のように、行データユニット350は
また連結リストデータ構造を包含し、このデータ構造は
2種類の補助アレイデータユニット、即ち、hブロック
(水平ブロック(horizontal block))データユニット及
び構成要素データユニットを包含し、これら補助アレイ
データユニットは、これらが定義するアレイが画像内で
左から右へ生ずるというシーケンスに順序付けされてい
る。構成要素データユニットのアレイは文字サイズアレ
イである。一般に、hブロックアレイ及び構成要素アレ
イはオーバラップまたは当接しないが、少なくとも1つ
の画素の垂直マージンによって常に分離されている。こ
れらを分離するための手法は、一つのアレイの右側と次
のアレイの左側との間のギャップを感知することによ
る。他方、図6の例におけるように、構成要素アレイが
オーバラップするという事例もある。
また連結リストデータ構造を包含し、このデータ構造は
2種類の補助アレイデータユニット、即ち、hブロック
(水平ブロック(horizontal block))データユニット及
び構成要素データユニットを包含し、これら補助アレイ
データユニットは、これらが定義するアレイが画像内で
左から右へ生ずるというシーケンスに順序付けされてい
る。構成要素データユニットのアレイは文字サイズアレ
イである。一般に、hブロックアレイ及び構成要素アレ
イはオーバラップまたは当接しないが、少なくとも1つ
の画素の垂直マージンによって常に分離されている。こ
れらを分離するための手法は、一つのアレイの右側と次
のアレイの左側との間のギャップを感知することによ
る。他方、図6の例におけるように、構成要素アレイが
オーバラップするという事例もある。
【0079】hブロックデータユニット340は、比較
的簡単であり、座標362及びラスタビットマップ36
4を包含する。vブロックデータユニットにおけるよう
に、ラスタビットマップ364は例えば矩形であるが、
その境界がその中で全ての連接構成要素を不要のスペー
スを残さないで取り巻くように、トリムされる。座標3
62は、行データ構造350の左上角部について測られ
るラスタビットマップ364の左上角部の座標、ならび
に、長さ及び高さの座標を包含する。このように、hブ
ロックデータユニット360は、画像の未解析アレイを
定義し、そして小さいアレイにまだ分割されていない。
的簡単であり、座標362及びラスタビットマップ36
4を包含する。vブロックデータユニットにおけるよう
に、ラスタビットマップ364は例えば矩形であるが、
その境界がその中で全ての連接構成要素を不要のスペー
スを残さないで取り巻くように、トリムされる。座標3
62は、行データ構造350の左上角部について測られ
るラスタビットマップ364の左上角部の座標、ならび
に、長さ及び高さの座標を包含する。このように、hブ
ロックデータユニット360は、画像の未解析アレイを
定義し、そして小さいアレイにまだ分割されていない。
【0080】他方、構成要素データユニット370は、
hブロックデータユニット360によって定義されるも
ののようなアレイを解析することから生じてその連接構
成要素を見付け、単一文字を形成する可能性のある連接
構成要素を識別する。hブロックデータユニット360
と同じように、構成要素データユニット370は座標3
72及びラスタビットマップ374を包含する。座標3
72は、行データユニット350の左上角部座標につい
て測られるラスタビットマップ374の左上角部の座
標、ならびに、長さ及び高さの座標、または、構成要素
データユニット370によって定義されるアレイのサイ
ズ及び形状を定義する他の座標を包含する。
hブロックデータユニット360によって定義されるも
ののようなアレイを解析することから生じてその連接構
成要素を見付け、単一文字を形成する可能性のある連接
構成要素を識別する。hブロックデータユニット360
と同じように、構成要素データユニット370は座標3
72及びラスタビットマップ374を包含する。座標3
72は、行データユニット350の左上角部座標につい
て測られるラスタビットマップ374の左上角部の座
標、ならびに、長さ及び高さの座標、または、構成要素
データユニット370によって定義されるアレイのサイ
ズ及び形状を定義する他の座標を包含する。
【0081】行データユニット350の左上角部座標
は、最初、通例は行アレイ内の全ての連接構成要素を包
含するhブロックアレイである行アレイないの最初のア
レイの左上角部座標である。この左上角部は、行データ
ユニット350が前記左上角部の左上にあるアレイを定
義する構成要素データユニットを包含するように修正さ
れたとしても、前と同じままになっている。従って構成
要素データユニットの座標は正または負のいずれかにな
る。
は、最初、通例は行アレイ内の全ての連接構成要素を包
含するhブロックアレイである行アレイないの最初のア
レイの左上角部座標である。この左上角部は、行データ
ユニット350が前記左上角部の左上にあるアレイを定
義する構成要素データユニットを包含するように修正さ
れたとしても、前と同じままになっている。従って構成
要素データユニットの座標は正または負のいずれかにな
る。
【0082】図11は、マウスクリックに、または連結
リスト30によって定義される画像内の位置を指示する
ユーザ入力装置56からの他の信号に応答している諸ス
テップを示すものである。前記位置は、画像の左上角部
から画素で測ったx及びyの座標によって指示される。
これら座標は、スクローリング及びスケーリングの影響
を考慮した計算を介してユーザ入力装置56によって指
示される位置のスクリーン座標から獲得される。図11
におけるボックス400におけるステップはこれら座標
を受け取る。
リスト30によって定義される画像内の位置を指示する
ユーザ入力装置56からの他の信号に応答している諸ス
テップを示すものである。前記位置は、画像の左上角部
から画素で測ったx及びyの座標によって指示される。
これら座標は、スクローリング及びスケーリングの影響
を考慮した計算を介してユーザ入力装置56によって指
示される位置のスクリーン座標から獲得される。図11
におけるボックス400におけるステップはこれら座標
を受け取る。
【0083】ボックス402におけるステップは、指示
位置のy座標を包含する連結リスト330内のvブロッ
クまたは行データユニットを見付けるため、反復ループ
を開始する。このループは、連結ボックス406におけ
る試験が、指示位置のy座標が項目の上部と下部との間
にあるということを測定するまで、リスト330内の各
項目を通って進んでボックス404においてその座標に
アクセスする。連結リスト330内の最後の項目が取り
扱われ、指示位置のy座標を包含する項目が見つからな
い場合には、ボックス408において故障信号が提供さ
れる。また、前記項目は位置によって分類される。この
場合、指示位置のy座標の下に項目が見つかると前記ル
ープは終了する。
位置のy座標を包含する連結リスト330内のvブロッ
クまたは行データユニットを見付けるため、反復ループ
を開始する。このループは、連結ボックス406におけ
る試験が、指示位置のy座標が項目の上部と下部との間
にあるということを測定するまで、リスト330内の各
項目を通って進んでボックス404においてその座標に
アクセスする。連結リスト330内の最後の項目が取り
扱われ、指示位置のy座標を包含する項目が見つからな
い場合には、ボックス408において故障信号が提供さ
れる。また、前記項目は位置によって分類される。この
場合、指示位置のy座標の下に項目が見つかると前記ル
ープは終了する。
【0084】前記ルーチンは、指示位置を包含する項目
がvブロックであるか行データユニットであるかに基づ
いてボックス410において分岐する。行データユニッ
トである場合には、この時、行アレイ内へのこれ以上の
分割は要求されない。しかし、vブロックデータユニッ
トである場合には、ボックス412におけるステップは
指示位置が行相互間にあるかどうかを測定する。これ
は、指示位置が、アレイを定義するvブロックデータユ
ニットのビットマップ内の空白行内にあるかどうかとい
う場合である。空白列内にある場合には、ボックス40
8において故障信号が提供される。
がvブロックであるか行データユニットであるかに基づ
いてボックス410において分岐する。行データユニッ
トである場合には、この時、行アレイ内へのこれ以上の
分割は要求されない。しかし、vブロックデータユニッ
トである場合には、ボックス412におけるステップは
指示位置が行相互間にあるかどうかを測定する。これ
は、指示位置が、アレイを定義するvブロックデータユ
ニットのビットマップ内の空白行内にあるかどうかとい
う場合である。空白列内にある場合には、ボックス40
8において故障信号が提供される。
【0085】指定位置が行間にない場合には、ボックス
414におけるステップは、vブロックデータユニット
のビットマップ内で、指定位置の上及び下の最近接の空
白水平スペースを見付けることにより、vブロックアレ
イを分割する準備をする。このステップは、指示位置か
ら上下に画素の空白水平行またはvブロックデータユニ
ットのビットマップの縁を探索することによって行なわ
れる。空白水平スペースは、通例、行間スペースであ
る。従って、この手法は、指示位置を包含しているテキ
ストの上下の限界を見付けることになる。
414におけるステップは、vブロックデータユニット
のビットマップ内で、指定位置の上及び下の最近接の空
白水平スペースを見付けることにより、vブロックアレ
イを分割する準備をする。このステップは、指示位置か
ら上下に画素の空白水平行またはvブロックデータユニ
ットのビットマップの縁を探索することによって行なわ
れる。空白水平スペースは、通例、行間スペースであ
る。従って、この手法は、指示位置を包含しているテキ
ストの上下の限界を見付けることになる。
【0086】このように、vブロックアレイはボックス
414におけるステップにおいて見付けられた空白スペ
ースの各々においてアレイに分割される。空白スペース
相互間のアレイは行アレイとして取り扱われ、他の全て
のアレイはvブロックアレイとして取り扱われ、そして
それ以上分割されない。しかし、ボックス416におけ
るステップは、各vブロックアレイの、及び新たに分割
された行アレイの各縁に沿う画素の全ての空白の行及び
列をトリムオフし、またこのステップは、各vブロック
アレイに対する、及び新しい行アレイに対する座標を獲
得し、そして、連結リスト330内の元のvブロックデ
ータユニットを小さいvブロックアレイ及び行アレイを
定義するデータユニットで置き換える。ボックス418
におけるステップは、行データユニット内の補助連結リ
ストを開始する。この補助連結リスト内の唯一の項目
は、最初、図10に示す座標及びラスタビットマップを
持つhブロックデータユニットである。これで、vブロ
ックアレイの分割は完了する。
414におけるステップにおいて見付けられた空白スペ
ースの各々においてアレイに分割される。空白スペース
相互間のアレイは行アレイとして取り扱われ、他の全て
のアレイはvブロックアレイとして取り扱われ、そして
それ以上分割されない。しかし、ボックス416におけ
るステップは、各vブロックアレイの、及び新たに分割
された行アレイの各縁に沿う画素の全ての空白の行及び
列をトリムオフし、またこのステップは、各vブロック
アレイに対する、及び新しい行アレイに対する座標を獲
得し、そして、連結リスト330内の元のvブロックデ
ータユニットを小さいvブロックアレイ及び行アレイを
定義するデータユニットで置き換える。ボックス418
におけるステップは、行データユニット内の補助連結リ
ストを開始する。この補助連結リスト内の唯一の項目
は、最初、図10に示す座標及びラスタビットマップを
持つhブロックデータユニットである。これで、vブロ
ックアレイの分割は完了する。
【0087】ボックス420におけるステップは、指示
位置のx座標を包含する行アレイ内のhブロックまたは
構成要素アレイを見付けるために反復ループを開始す
る。このループは、ボックス416からの新たに分割さ
れた行アレイの定義するデータ構造に対して、またはボ
ックス410において識別された行データ構造に対して
動作する。ボックス422におけるステップは、行デー
タユニットの補助連結リスト内の次のブロックまたは構
成要素データユニットの座標にアクセスする。このルー
プは、ボックス424における試験が、指示位置のx座
標が次の項目の左右の側の間にある、ということを測定
するまで継続する。行データユニット内の最後の項目が
取り扱われ、指示位置のx座標を包含する項目が見付か
らない場合には、ボックス426において故障信号が提
供される。また、これら項目は位置によって分類され、
この場合、指示位置のx座標の右にある項目が見つかる
とループは終了する。
位置のx座標を包含する行アレイ内のhブロックまたは
構成要素アレイを見付けるために反復ループを開始す
る。このループは、ボックス416からの新たに分割さ
れた行アレイの定義するデータ構造に対して、またはボ
ックス410において識別された行データ構造に対して
動作する。ボックス422におけるステップは、行デー
タユニットの補助連結リスト内の次のブロックまたは構
成要素データユニットの座標にアクセスする。このルー
プは、ボックス424における試験が、指示位置のx座
標が次の項目の左右の側の間にある、ということを測定
するまで継続する。行データユニット内の最後の項目が
取り扱われ、指示位置のx座標を包含する項目が見付か
らない場合には、ボックス426において故障信号が提
供される。また、これら項目は位置によって分類され、
この場合、指示位置のx座標の右にある項目が見つかる
とループは終了する。
【0088】ルーチンは、指示位置を包含する項目がh
ブロックデータユニットであるかまたは構成要素データ
ユニットであるかに基づいてボックス430において分
岐する。この項目が構成要素データユニットである場合
には、構成要素アレイへのそれ以上の分割は不要であ
る。そして、ボックス432におけるステップはこの構
成要素データユニットを戻し、編集オペレーションが行
なわれるようにする。しかし、前記項目がhブロックデ
ータユニットである場合には、ボックス434における
ステップは、前記指示位置が構成要素アレイ相互間にあ
るかどうかを測定する。これは、前記指示位置が、アレ
イを定義するhブロックデータユニットのビットマップ
内の空白垂直スペース内にあるかどうか、という場合で
ある。空白垂直スペース内にある場合には、ボックス4
26において故障信号が提供される。
ブロックデータユニットであるかまたは構成要素データ
ユニットであるかに基づいてボックス430において分
岐する。この項目が構成要素データユニットである場合
には、構成要素アレイへのそれ以上の分割は不要であ
る。そして、ボックス432におけるステップはこの構
成要素データユニットを戻し、編集オペレーションが行
なわれるようにする。しかし、前記項目がhブロックデ
ータユニットである場合には、ボックス434における
ステップは、前記指示位置が構成要素アレイ相互間にあ
るかどうかを測定する。これは、前記指示位置が、アレ
イを定義するhブロックデータユニットのビットマップ
内の空白垂直スペース内にあるかどうか、という場合で
ある。空白垂直スペース内にある場合には、ボックス4
26において故障信号が提供される。
【0089】指示位置が構成要素アレイ相互間にない場
合には、ボックス436におけるステップは、hブロッ
クデータユニットのビットマップにおいて、指示位置の
左右において最近接の空白垂直スペースを見付けること
によって該ステップが定義するhブロックアレイを分割
することを準備する。このステップは、画素の空白垂直
列またはhブロックデータユニットのビットマップの縁
に対して指示位置から左右を探索することによって行な
われる。空白垂直スペースは、通例、文字間スペースで
あり、従って、この手法は、指示位置を指示する文字の
左右の限界を見付けることになる。
合には、ボックス436におけるステップは、hブロッ
クデータユニットのビットマップにおいて、指示位置の
左右において最近接の空白垂直スペースを見付けること
によって該ステップが定義するhブロックアレイを分割
することを準備する。このステップは、画素の空白垂直
列またはhブロックデータユニットのビットマップの縁
に対して指示位置から左右を探索することによって行な
われる。空白垂直スペースは、通例、文字間スペースで
あり、従って、この手法は、指示位置を指示する文字の
左右の限界を見付けることになる。
【0090】このように、hブロックは、ボックス43
6におけるステップにおいて見付けられる空白スペース
の各々においてアレイに分割される。次いで、空白スペ
ース相互間のアレイは構成アレイを見付けるために解析
され、他の全てのアレイはhブロックアレイとして取り
扱われてそれ以上分割されない。構成素子アレイを見付
けるため、ボックス438におけるステップは、アレイ
内の全ての連接構成要素を見付け、次いで各連接構成要
素の囲いボックスを見付け、次いで適当する規則に従っ
て連接構成要素をセットに分類し、そして最後に各構成
要素セットに対する構成要素アレイを獲得する。
6におけるステップにおいて見付けられる空白スペース
の各々においてアレイに分割される。次いで、空白スペ
ース相互間のアレイは構成アレイを見付けるために解析
され、他の全てのアレイはhブロックアレイとして取り
扱われてそれ以上分割されない。構成素子アレイを見付
けるため、ボックス438におけるステップは、アレイ
内の全ての連接構成要素を見付け、次いで各連接構成要
素の囲いボックスを見付け、次いで適当する規則に従っ
て連接構成要素をセットに分類し、そして最後に各構成
要素セットに対する構成要素アレイを獲得する。
【0091】連接構成要素を見付けための手法は、ディ
ー・エンチ・バラード(D.H.Ballard)及びシー・エム・
ブラウン)(C.M.Brown)著書「コンピュータ・ビジョ
ン」(Computer Vision)(1982年、プレンティス・
ホール(prentice Hall)社発行)の150頁に記載され
ている。ティー・パブリディス(T.Pavlidis) の著書
「図形及び画像処理のためのアルゴリズム」(Algorith
ms for Graphics and Image Processing)(1982
年、コンピュータ・サイエンス・プレス(Computer Sie
nce Press )社発行)の134頁には、連接性の意味に
ついての説明がある。
ー・エンチ・バラード(D.H.Ballard)及びシー・エム・
ブラウン)(C.M.Brown)著書「コンピュータ・ビジョ
ン」(Computer Vision)(1982年、プレンティス・
ホール(prentice Hall)社発行)の150頁に記載され
ている。ティー・パブリディス(T.Pavlidis) の著書
「図形及び画像処理のためのアルゴリズム」(Algorith
ms for Graphics and Image Processing)(1982
年、コンピュータ・サイエンス・プレス(Computer Sie
nce Press )社発行)の134頁には、連接性の意味に
ついての説明がある。
【0092】英語テキストにおける連接構成要素を分類
するための適当する規則は、図5及び図6について前述
したように、2つの構成要素の水平中心点がほぼ垂直に
整列し、一方が他方の上またはほぼ上になっている場合
には、これら2つの構成要素を一緒に分類することであ
る。もっと完全な規則としては、適当である場合には句
読符号を対に分類する。
するための適当する規則は、図5及び図6について前述
したように、2つの構成要素の水平中心点がほぼ垂直に
整列し、一方が他方の上またはほぼ上になっている場合
には、これら2つの構成要素を一緒に分類することであ
る。もっと完全な規則としては、適当である場合には句
読符号を対に分類する。
【0093】構成要素が構成要素セットに分類される
と、前記構成要素セットの一方は、指示位置または指示
位置最接近の位置を包含しているセットであると決定さ
れる。
と、前記構成要素セットの一方は、指示位置または指示
位置最接近の位置を包含しているセットであると決定さ
れる。
【0094】前記構成要素セットに対する構成要素アレ
イが獲得されたら、ボックス440におけるステップは
全ての空白の行及び列を他のアレイの縁からトリムす
る。これは、次いで、hブロックアレイとして取り扱わ
れる。また、前記ステップは、これらhブロックアレイ
及び新たに分割された構成要素アレイの座標を獲得し、
そして、補助連結リスト内の元のhブロックデータユニ
ットをこの新しいhブロックアレイ及び構成要素アレイ
を定義するアレイデータユニットで置き換える。これで
元のhブロックアレイの分割が終わる。次いで、ボック
ス432におけるステップは指示位置を包含する構成要
素アレイを定義するデータユニットを戻し、編集オペレ
ーションを行なうことのできるようにする。
イが獲得されたら、ボックス440におけるステップは
全ての空白の行及び列を他のアレイの縁からトリムす
る。これは、次いで、hブロックアレイとして取り扱わ
れる。また、前記ステップは、これらhブロックアレイ
及び新たに分割された構成要素アレイの座標を獲得し、
そして、補助連結リスト内の元のhブロックデータユニ
ットをこの新しいhブロックアレイ及び構成要素アレイ
を定義するアレイデータユニットで置き換える。これで
元のhブロックアレイの分割が終わる。次いで、ボック
ス432におけるステップは指示位置を包含する構成要
素アレイを定義するデータユニットを戻し、編集オペレ
ーションを行なうことのできるようにする。
【0095】前述した手法は、編集に適する品質のテキ
ストを持つ画像に対して効果的である。テキストがスラ
ントまたはスキューしている画像に対しても、編集の前
にスキュー補正が必要であり、この補正は標準の手法で
行なわれる。例えば、テキストがスキューしておって相
隣る行間に画素の空白行がないようになっている場合に
は、スキューを補正するか、または画素の空白行以外の
基準を用いて行を識別しないかぎり、行を見付けること
はできない。また、テキスト内の文字が、ノイズのため
に、互いに連結しているか、または切れ切れになってい
る場合には、連接構成要素のセットを見付けることによ
って文字を見付けることはできず、画像を処理して文字
を分離させるかまたはこれらを一緒に伸ばすことが必要
となる。
ストを持つ画像に対して効果的である。テキストがスラ
ントまたはスキューしている画像に対しても、編集の前
にスキュー補正が必要であり、この補正は標準の手法で
行なわれる。例えば、テキストがスキューしておって相
隣る行間に画素の空白行がないようになっている場合に
は、スキューを補正するか、または画素の空白行以外の
基準を用いて行を識別しないかぎり、行を見付けること
はできない。また、テキスト内の文字が、ノイズのため
に、互いに連結しているか、または切れ切れになってい
る場合には、連接構成要素のセットを見付けることによ
って文字を見付けることはできず、画像を処理して文字
を分離させるかまたはこれらを一緒に伸ばすことが必要
となる。
【0096】未解決アレイの必要な分割が終わったら、
編集オペレーションを行なうことができる。次に、編集
オペレーションの実施について説明する。
編集オペレーションを行なうことができる。次に、編集
オペレーションの実施について説明する。
【0097】2、編集オペレーション 市販のエディタは種々の編集オペレーションを提供す
る。テキスト編集、即ち、カーソル位置決め、挿入及び
削除に特に関係のある編集オペレーションについて次に
考察する。カーソル位置決めは選択及び探索に関係し、
挿入及び削除は、位置決めに、文字相互間のスペーシン
グ及び横断整列だけではなしに位置調整にも直接通ず
る。
る。テキスト編集、即ち、カーソル位置決め、挿入及び
削除に特に関係のある編集オペレーションについて次に
考察する。カーソル位置決めは選択及び探索に関係し、
挿入及び削除は、位置決めに、文字相互間のスペーシン
グ及び横断整列だけではなしに位置調整にも直接通ず
る。
【0098】a、カーソル位置決め、選択、及び探索 前述したように画像の関係ある部分が構成要素アレイに
分割されると、カーソル位置決めは、文字コードの代わ
りに構成要素アレイのデータユニットを用い、文字コー
ドを用いるテキストエディタにおいて行なわれるのと同
じような方法で、行なわれる。しかし、スペース及び復
帰に対する構成要素アレイデータユニットは、スペース
及び復帰が連接構成要素でないので、解析済み画像デー
タ構造内に明示的には現われない。それで、スペース及
び復帰はカーソル位置決め及び関係あるオペレーション
に対する特別の問題を提出する。
分割されると、カーソル位置決めは、文字コードの代わ
りに構成要素アレイのデータユニットを用い、文字コー
ドを用いるテキストエディタにおいて行なわれるのと同
じような方法で、行なわれる。しかし、スペース及び復
帰に対する構成要素アレイデータユニットは、スペース
及び復帰が連接構成要素でないので、解析済み画像デー
タ構造内に明示的には現われない。それで、スペース及
び復帰はカーソル位置決め及び関係あるオペレーション
に対する特別の問題を提出する。
【0099】図12は語相互間のスペースに対するカー
ソル位置決めを示すものである。図13は復帰に対する
カーソル位置決めを示すものである。
ソル位置決めを示すものである。図13は復帰に対する
カーソル位置決めを示すものである。
【0100】図12におけるボックス460に示す解析
済み画像データ構造の部分は、構成要素データユニット
X、Y及びZを包含している行データユニットWの部分
を包含する。アレイ462、470、480及び490
は、各々が、構成データユニットX、Y及びZによって
それぞれ定義される3つのビットマップアレイを包含す
る。各ビットマップアレイはそれぞれの構成要素データ
ユニットのラスタビットマップのバージョンであり、そ
れぞれの構成要素データユニットの座標に従って位置決
めされる。
済み画像データ構造の部分は、構成要素データユニット
X、Y及びZを包含している行データユニットWの部分
を包含する。アレイ462、470、480及び490
は、各々が、構成データユニットX、Y及びZによって
それぞれ定義される3つのビットマップアレイを包含す
る。各ビットマップアレイはそれぞれの構成要素データ
ユニットのラスタビットマップのバージョンであり、そ
れぞれの構成要素データユニットの座標に従って位置決
めされる。
【0101】即ち、アレイ462はビットマップアレイ
464、466及び468を包含する。「a」を包含す
るビットマップアレイ464は構成要素データユニット
Xのラスタビットマップのバージョンであり、これを現
在生きているカーソル位置であるということを示すため
に暗色化されている。文字「b」及び「c」をそれぞれ
包含するビットマップアレイ466及び468は、それ
ぞれ、構成要素データユニットY及びZのラスタビット
マップのバージョンであり、暗色化されてはいない。構
成要素データユニットX、Y及びZからの座標の結果と
して、ビットマップアレイ464と466との間のスペ
ーシングはビットマップアレイ466と468との間の
スペーシングよりも小さい。このスペーシングの差異
は、ビットマップアレイ464及び466はビットマッ
プ468とは異なる語の部分であるからである。
464、466及び468を包含する。「a」を包含す
るビットマップアレイ464は構成要素データユニット
Xのラスタビットマップのバージョンであり、これを現
在生きているカーソル位置であるということを示すため
に暗色化されている。文字「b」及び「c」をそれぞれ
包含するビットマップアレイ466及び468は、それ
ぞれ、構成要素データユニットY及びZのラスタビット
マップのバージョンであり、暗色化されてはいない。構
成要素データユニットX、Y及びZからの座標の結果と
して、ビットマップアレイ464と466との間のスペ
ーシングはビットマップアレイ466と468との間の
スペーシングよりも小さい。このスペーシングの差異
は、ビットマップアレイ464及び466はビットマッ
プ468とは異なる語の部分であるからである。
【0102】ユーザが、現在生きているカーソル位置を
次の位置へ進ませることを包含しているオペレーション
を要求する信号を与えると、プロセッサは、アレイ47
0によって示されるステップを行なう。構成要素データ
ユニットX及びYからの座標を用い、プロセッサはビッ
トマップアレイ472と474との間のスペーシングd
xyを測定する。この座標が画素単位で測定されると、d
xyは画素の列単位で測定される。次いで、スペーシング
dxyはしきい値Dと比較され、ビットマップ472と4
74との間のスペーシングが語間スペースとなるのに十
分な大きさであるかどうかが測定される。図示のよう
に、dxyがDよりも小さいということが決定されると、
プロセッサはアレイ480を提供する。このアレイ内の
ビットマップアレイ482は暗色化され、これが現在生
きているカーソル位置であるということを指示する。
次の位置へ進ませることを包含しているオペレーション
を要求する信号を与えると、プロセッサは、アレイ47
0によって示されるステップを行なう。構成要素データ
ユニットX及びYからの座標を用い、プロセッサはビッ
トマップアレイ472と474との間のスペーシングd
xyを測定する。この座標が画素単位で測定されると、d
xyは画素の列単位で測定される。次いで、スペーシング
dxyはしきい値Dと比較され、ビットマップ472と4
74との間のスペーシングが語間スペースとなるのに十
分な大きさであるかどうかが測定される。図示のよう
に、dxyがDよりも小さいということが決定されると、
プロセッサはアレイ480を提供する。このアレイ内の
ビットマップアレイ482は暗色化され、これが現在生
きているカーソル位置であるということを指示する。
【0103】ユーザが、現在生きているカーソル位置を
次の位置へ進ませることを包含しているオペレーション
を要求する信号を再び与えると、プロセッサは、アレイ
484によって示されるステップを行なう。構成要素デ
ータユニットX及びYからの座標を用い、プロセッサは
ビットマップアレイ486と488との間のスペーシン
グdxyを測定する。次いで、スペーシングdyzはしきい
値Dと比較される。図示のように、dyzがDよりも大き
く、これが語間スペースを意味するということが決定さ
れると、プロセッサはアレイ492を提供する。このア
レイ内のビットマップアレイ492は、ビットマップア
レイ494と496との間の全ての矩形領域を包含して
おり、これが現在生きているカーソル位置であるという
ことを指示するために暗色化されている。
次の位置へ進ませることを包含しているオペレーション
を要求する信号を再び与えると、プロセッサは、アレイ
484によって示されるステップを行なう。構成要素デ
ータユニットX及びYからの座標を用い、プロセッサは
ビットマップアレイ486と488との間のスペーシン
グdxyを測定する。次いで、スペーシングdyzはしきい
値Dと比較される。図示のように、dyzがDよりも大き
く、これが語間スペースを意味するということが決定さ
れると、プロセッサはアレイ492を提供する。このア
レイ内のビットマップアレイ492は、ビットマップア
レイ494と496との間の全ての矩形領域を包含して
おり、これが現在生きているカーソル位置であるという
ことを指示するために暗色化されている。
【0104】図12に示すステップは、例えば、カーソ
ル位置を進ませるためのユーザ要求のシーケンスに応答
し、または構成要素アレイをキーに割当てるための要求
のシーケンスに応答して実行される。一般に、連接構成
要素を包含していないアレイがスペースバーに割当てら
れると、該スペースバーのその後のクリック動作の結
果、その後の構成要素データユニットの座標が調整さ
れ、前記アレイと同じような大きさのスペースが残され
る。省略スペースはしきい値Dよりも大きくあるべきで
ある。
ル位置を進ませるためのユーザ要求のシーケンスに応答
し、または構成要素アレイをキーに割当てるための要求
のシーケンスに応答して実行される。一般に、連接構成
要素を包含していないアレイがスペースバーに割当てら
れると、該スペースバーのその後のクリック動作の結
果、その後の構成要素データユニットの座標が調整さ
れ、前記アレイと同じような大きさのスペースが残され
る。省略スペースはしきい値Dよりも大きくあるべきで
ある。
【0105】図13においてボックス500に示す解析
済み画像データ構造の部分は、構成要素データユニット
BBを包含する行データユニットAAを包含しており、
前記ユニットBBは行データユニットAAにおける最後
の補助データユニットである。行データユニットAAは
の後には行データユニットCC及びDDが続き、行デー
タユニットCCは空であり、行データユニットDDは構
成要素データユニットEEで始まる。アレイ502及び
510は行データユニットAA及び構成要素データユニ
ットBBによって定義される。アレイ520と行データ
ユニットCCによって定義され、アレイ524は行デー
タユニットDD及び構成要素データユニットEEによっ
て定義される。それぞれの構成要素データユニットによ
って定義されるビットマップアレイの各々は前記それぞ
れの構成要素データユニットのラスタビットマップのバ
ージョンであり、前記それぞれの構成要素データユニッ
トとの座標に従って位置決めされる。
済み画像データ構造の部分は、構成要素データユニット
BBを包含する行データユニットAAを包含しており、
前記ユニットBBは行データユニットAAにおける最後
の補助データユニットである。行データユニットAAは
の後には行データユニットCC及びDDが続き、行デー
タユニットCCは空であり、行データユニットDDは構
成要素データユニットEEで始まる。アレイ502及び
510は行データユニットAA及び構成要素データユニ
ットBBによって定義される。アレイ520と行データ
ユニットCCによって定義され、アレイ524は行デー
タユニットDD及び構成要素データユニットEEによっ
て定義される。それぞれの構成要素データユニットによ
って定義されるビットマップアレイの各々は前記それぞ
れの構成要素データユニットのラスタビットマップのバ
ージョンであり、前記それぞれの構成要素データユニッ
トとの座標に従って位置決めされる。
【0106】アレイ502はビットマップアレイ504
を包含している。このビットマップアレイは、文字
「d」を包含し、構成要素データユニットBBのラスタ
ビットマップのバージョンである。ビットマップアレイ
504は暗色化され、これが現在生きている位置であ
る、ということを指示している。
を包含している。このビットマップアレイは、文字
「d」を包含し、構成要素データユニットBBのラスタ
ビットマップのバージョンである。ビットマップアレイ
504は暗色化され、これが現在生きている位置であ
る、ということを指示している。
【0107】現在生きているカーソル位置を次の位置へ
移動させることを包含しているオペレーションを要求す
る信号をユーザが提供すると、プロセッサはアレイ51
0によって示されるステップを実行する。構成要素デー
タユニットBBが図示のように行データユニットAAに
おける最終補助データユニットであるということが測定
されると、プロセッサは、暗色化ビットマップアレイ5
12を提供し、現在生きているカーソル位置が行データ
ユニットAAによって定義されるテキストの行を終わり
における復帰である、ということを指示する。ビットマ
ップアレイ512の寸法は省略値であり、ビットマップ
アレイ512はビットマップアレイ514の直後に位置
決めされる。
移動させることを包含しているオペレーションを要求す
る信号をユーザが提供すると、プロセッサはアレイ51
0によって示されるステップを実行する。構成要素デー
タユニットBBが図示のように行データユニットAAに
おける最終補助データユニットであるということが測定
されると、プロセッサは、暗色化ビットマップアレイ5
12を提供し、現在生きているカーソル位置が行データ
ユニットAAによって定義されるテキストの行を終わり
における復帰である、ということを指示する。ビットマ
ップアレイ512の寸法は省略値であり、ビットマップ
アレイ512はビットマップアレイ514の直後に位置
決めされる。
【0108】現在生きているカーソル位置を次の位置へ
移動させることを包含しているオペレーションを要求す
る信号をユーザが再び提供すると、プロセッサはアレイ
520によって示されるステップを実行する。行データ
ユニットCCが図示のように補助データユニットを持っ
ていないということが測定されると、プロセッサは、暗
色化ビットマップアレイ522を提供し、現在生きてい
るカーソル位置が行データユニットCCによって定義さ
れる空の行の終わりにおける復帰である、ということを
指示する。ビットマップアレイ522の寸法はビットマ
ップアレイ512に対するのと同じ省略値であり、ビッ
トマップアレイ522は行データユニットAAの左座標
位置に位置決めされる。
移動させることを包含しているオペレーションを要求す
る信号をユーザが再び提供すると、プロセッサはアレイ
520によって示されるステップを実行する。行データ
ユニットCCが図示のように補助データユニットを持っ
ていないということが測定されると、プロセッサは、暗
色化ビットマップアレイ522を提供し、現在生きてい
るカーソル位置が行データユニットCCによって定義さ
れる空の行の終わりにおける復帰である、ということを
指示する。ビットマップアレイ522の寸法はビットマ
ップアレイ512に対するのと同じ省略値であり、ビッ
トマップアレイ522は行データユニットAAの左座標
位置に位置決めされる。
【0109】現在生きているカーソル位置を次の位置へ
移動させることを包含しているオペレーションを要求す
る信号をユーザが再び提供すると、プロセッサはアレイ
524によって示されるステップを実行する。図示のよ
うに、行データユニットDDが、その最初の補助データ
ユニットとして、構成要素データユニットEEを包含し
ているということが測定されると、プロセッサは、暗色
化ビットマップアレイ526を提供する。このビットマ
ップアレイは文字「e」を持ち、現在生きている位置が
行データアレイユニットDDによって定義されるテキス
トの行の最初の文字である、ということを指示する。
移動させることを包含しているオペレーションを要求す
る信号をユーザが再び提供すると、プロセッサはアレイ
524によって示されるステップを実行する。図示のよ
うに、行データユニットDDが、その最初の補助データ
ユニットとして、構成要素データユニットEEを包含し
ているということが測定されると、プロセッサは、暗色
化ビットマップアレイ526を提供する。このビットマ
ップアレイは文字「e」を持ち、現在生きている位置が
行データアレイユニットDDによって定義されるテキス
トの行の最初の文字である、ということを指示する。
【0110】図13に示すステップは、例えば、カーソ
ル位置を進ませるというユーザ要求に応答して、構成要
素アレイをキーに割当てるというユーザ要求のシーケン
スに応答して、または構成要素アレイのシーケンスを探
索するというユーザ要求に応答して、行なわれる。しか
し、一般に、アレイを復帰キーに割当てるという試みは
無視される。復帰キーをクリックさせることは、新しい
行データユニットを現在行の直後の解析済み画像データ
構造に挿入すること、及び、アレイ520におけるよう
に、現在生きているカーソル位置を前記新しい行の始ま
りへ移動させることの効果を常に有す。前記新しい行ア
レイの、ならびに後続の行及びvブロックアレイの位置
は、データユニットの座標相互間の前の差異から決定さ
れ、テキストの行を一様なスペースに保持しようとする
ことが試みられる。
ル位置を進ませるというユーザ要求に応答して、構成要
素アレイをキーに割当てるというユーザ要求のシーケン
スに応答して、または構成要素アレイのシーケンスを探
索するというユーザ要求に応答して、行なわれる。しか
し、一般に、アレイを復帰キーに割当てるという試みは
無視される。復帰キーをクリックさせることは、新しい
行データユニットを現在行の直後の解析済み画像データ
構造に挿入すること、及び、アレイ520におけるよう
に、現在生きているカーソル位置を前記新しい行の始ま
りへ移動させることの効果を常に有す。前記新しい行ア
レイの、ならびに後続の行及びvブロックアレイの位置
は、データユニットの座標相互間の前の差異から決定さ
れ、テキストの行を一様なスペースに保持しようとする
ことが試みられる。
【0111】図12及び図13に示すものに類似のカー
ソル位置決め手法を用い、テキスト編集オペレーション
を実行すべきテキストの部分を選択することができる。
例えば、現在生きているカーソル位置を包含している語
に対してオペレーションを要求する。この場合、プロセ
ッサは、前記現在生きているカーソル位置から前方及び
後方の最近接の語間スペーシングまたは行の終わりを見
付け、これらの間にある補助データユニットに対して前
記要求されたオペレーションを実行する。同様に、現在
生きているカーソル位置を包含している行に対してオペ
レーションを要求する。この場合、プロセッサは、行デ
ータユニット内の全ての補助データユニットに対して前
記要求されたオペレーションを実行する。または、一つ
の行で始まって他の行へ延びるテキストのシーケンスに
対してオペレーションを要求する。この場合、ユーザは
2つのカーソル位置、即ち、始まりのための位置、及び
終わりのための位置を指示する。そこで、プロセッサ
は、前記指示されたカーソル位置相互間の全ての補助デ
ータユニットに対して前記要求されたオペレーションを
実行する。
ソル位置決め手法を用い、テキスト編集オペレーション
を実行すべきテキストの部分を選択することができる。
例えば、現在生きているカーソル位置を包含している語
に対してオペレーションを要求する。この場合、プロセ
ッサは、前記現在生きているカーソル位置から前方及び
後方の最近接の語間スペーシングまたは行の終わりを見
付け、これらの間にある補助データユニットに対して前
記要求されたオペレーションを実行する。同様に、現在
生きているカーソル位置を包含している行に対してオペ
レーションを要求する。この場合、プロセッサは、行デ
ータユニット内の全ての補助データユニットに対して前
記要求されたオペレーションを実行する。または、一つ
の行で始まって他の行へ延びるテキストのシーケンスに
対してオペレーションを要求する。この場合、ユーザは
2つのカーソル位置、即ち、始まりのための位置、及び
終わりのための位置を指示する。そこで、プロセッサ
は、前記指示されたカーソル位置相互間の全ての補助デ
ータユニットに対して前記要求されたオペレーションを
実行する。
【0112】探索オペレーションはまたスペース及び復
帰を考慮する。ユーザは探索要求内にアレイのシーケン
スを提供し、プロセッサは解析済み画像データ構造を走
査して整合するアレイのシーケンスを見付ける。ユーザ
が探索要求内にスペースの生起を指示すると、このスペ
ースは、語間しきい値よりも大きい構成要素アレイ相互
間の全てのスペースにより、または行の終わりにより、
整合される。次いで探索は探索要求における後続の文字
に整合するように継続する。
帰を考慮する。ユーザは探索要求内にアレイのシーケン
スを提供し、プロセッサは解析済み画像データ構造を走
査して整合するアレイのシーケンスを見付ける。ユーザ
が探索要求内にスペースの生起を指示すると、このスペ
ースは、語間しきい値よりも大きい構成要素アレイ相互
間の全てのスペースにより、または行の終わりにより、
整合される。次いで探索は探索要求における後続の文字
に整合するように継続する。
【0113】b、挿入、削除、及び位置決め 代表的な編集オペレーションは1つまたは複数の削除及
び挿入を行なうことによって実行される。連結リスト3
30のようなデータ構造が十分なデータを包含するよう
に発展していると、データ構造の比較的簡単な修正を行
なうことによって削除及び挿入を行なうことができる。
図14は削除を行なうために用いられる諸ステップを示
すものであり、図15は挿入を行なうために用いられる
諸ステップを示すものである。図16は行内の構成要素
相互間のスペーシングの調整を示すものである。図17
は行に対する横断方向における文字の位置の調整を示す
ものである。図18は位置調整を示すものである。
び挿入を行なうことによって実行される。連結リスト3
30のようなデータ構造が十分なデータを包含するよう
に発展していると、データ構造の比較的簡単な修正を行
なうことによって削除及び挿入を行なうことができる。
図14は削除を行なうために用いられる諸ステップを示
すものであり、図15は挿入を行なうために用いられる
諸ステップを示すものである。図16は行内の構成要素
相互間のスペーシングの調整を示すものである。図17
は行に対する横断方向における文字の位置の調整を示す
ものである。図18は位置調整を示すものである。
【0114】図14におけるボックス540におけるス
テップにおいて、プロセッサはテキストの一部の削除の
ための要求を受け取る。この要求は、削除されるべきテ
キストの部分を定義するデータとともに削除オペレーシ
ョンの識別子を包含することができる。このテキストに
おいて、削除されるべき部分は、例えば、文字、語、
行、または一つのテキスト行で始まって他の行へ延びる
シーケンスである。データ構造内において、テキストの
これら部分の各々は、構成要素、hブロック、行、及び
vブロックデータユニットを包含する可能性のある補助
データユニットのそれぞれのセットによって定義され、
前記補助データユニットのうちの若干はボックス540
における要求に応答して大きなアレイから獲得される。
各場合において、ボックス542におけるステップは、
削除されるべきテキストの部分を定義する補助データユ
ニットを除去することによって削除を行なう。
テップにおいて、プロセッサはテキストの一部の削除の
ための要求を受け取る。この要求は、削除されるべきテ
キストの部分を定義するデータとともに削除オペレーシ
ョンの識別子を包含することができる。このテキストに
おいて、削除されるべき部分は、例えば、文字、語、
行、または一つのテキスト行で始まって他の行へ延びる
シーケンスである。データ構造内において、テキストの
これら部分の各々は、構成要素、hブロック、行、及び
vブロックデータユニットを包含する可能性のある補助
データユニットのそれぞれのセットによって定義され、
前記補助データユニットのうちの若干はボックス540
における要求に応答して大きなアレイから獲得される。
各場合において、ボックス542におけるステップは、
削除されるべきテキストの部分を定義する補助データユ
ニットを除去することによって削除を行なう。
【0115】補助データユニットの除去の後、ボックス
544における試験により、削除部分に先立つスペース
が語間スペースであるかどうかが測定される。これは、
例えば、図12について前述したように、画素の空白行
を計数し、この計数をしきい値と比較することによって
行なわれる。語間スペースでない場合には、ボックス5
46においては前記先行スペースの後に続く構成要素ま
たはhブロックデータユニットの座標を調整することに
より、前記先行スペースを削除する。
544における試験により、削除部分に先立つスペース
が語間スペースであるかどうかが測定される。これは、
例えば、図12について前述したように、画素の空白行
を計数し、この計数をしきい値と比較することによって
行なわれる。語間スペースでない場合には、ボックス5
46においては前記先行スペースの後に続く構成要素ま
たはhブロックデータユニットの座標を調整することに
より、前記先行スペースを削除する。
【0116】最後に、ボックス548におけるステップ
は、削除の影響を受ける他の構成要素、hブロック、
行、及びvデータユニットの座標を調整し、文字間、語
間及び行間のスペーシングを調整する。これは、データ
構造を走査し、そして、各構成要素及びhブロックデー
タユニットに対して、そのそれぞれのアレイと先行構成
要素またはhブロックアレイとの間に適切なスペースを
提供するx座標を決定することによって行なわれる。行
データユニットが完了したら、後述するように、語間ス
ヘーシングを調整することによってその補助データユニ
ットが再調整され、その結果、行データユニット内の構
成要素及びhブロックデータユニットのx座標の調整が
行なわれる。行のスペーシングは、各行またはvブロッ
クデータユニットに対し、そのそれぞれのアレイと先行
行またはvブロックアレイとの間に適切なスペースを提
供するy座標を決定することによって調整される。
は、削除の影響を受ける他の構成要素、hブロック、
行、及びvデータユニットの座標を調整し、文字間、語
間及び行間のスペーシングを調整する。これは、データ
構造を走査し、そして、各構成要素及びhブロックデー
タユニットに対して、そのそれぞれのアレイと先行構成
要素またはhブロックアレイとの間に適切なスペースを
提供するx座標を決定することによって行なわれる。行
データユニットが完了したら、後述するように、語間ス
ヘーシングを調整することによってその補助データユニ
ットが再調整され、その結果、行データユニット内の構
成要素及びhブロックデータユニットのx座標の調整が
行なわれる。行のスペーシングは、各行またはvブロッ
クデータユニットに対し、そのそれぞれのアレイと先行
行またはvブロックアレイとの間に適切なスペースを提
供するy座標を決定することによって調整される。
【0117】図15におけるボックス560におけるス
テップにおいて、プロセッサは、同様に、テキスト内へ
の挿入のための要求を受け取る。この要求は、挿入オペ
レーションの識別子、挿入位置の指示、及び挿入される
べき事柄を定義するデータ、即ち、例えば連結リスト3
30に類似するデータ構造を包含する。
テップにおいて、プロセッサは、同様に、テキスト内へ
の挿入のための要求を受け取る。この要求は、挿入オペ
レーションの識別子、挿入位置の指示、及び挿入される
べき事柄を定義するデータ、即ち、例えば連結リスト3
30に類似するデータ構造を包含する。
【0118】ボックス562における試験は、挿入位置
が行アレイ相互間ではなくて行アレイ内にあるかどうか
を測定し、要すれば、この測定を行なうのに必要な小さ
いアレイを獲得する。行アレイ内にある場合には、ボッ
クス564における試験は、挿入を行なうためにこの行
アレイを分割することが必要であるかどうかを測定す
る。例えばタイピング中に通例あるように、1つまたは
少数の構成要素アレイしか行アレイに追加されない場合
には、分割は必要でない。分割が必要である場合、例え
ば、他の行アレイまたはvブロックアレイを行の中央に
挿入するというというような場合には、ボックス566
において、それぞれの行データユニットを2つのデータ
ユニットに分割する。その一方は挿入位置の前にある構
成要素及びhブロックデータユニットを包含し、他方は
挿入位置の後にある構成要素及びhブロックデータユニ
ットを包含する。
が行アレイ相互間ではなくて行アレイ内にあるかどうか
を測定し、要すれば、この測定を行なうのに必要な小さ
いアレイを獲得する。行アレイ内にある場合には、ボッ
クス564における試験は、挿入を行なうためにこの行
アレイを分割することが必要であるかどうかを測定す
る。例えばタイピング中に通例あるように、1つまたは
少数の構成要素アレイしか行アレイに追加されない場合
には、分割は必要でない。分割が必要である場合、例え
ば、他の行アレイまたはvブロックアレイを行の中央に
挿入するというというような場合には、ボックス566
において、それぞれの行データユニットを2つのデータ
ユニットに分割する。その一方は挿入位置の前にある構
成要素及びhブロックデータユニットを包含し、他方は
挿入位置の後にある構成要素及びhブロックデータユニ
ットを包含する。
【0119】ボックス568におけるステップは、次い
で、構成要素hブロックデータユニットを適当する行デ
ータユニットに追加することにより、これらを挿入位置
に挿入する。次いで、ボックス570におけるステップ
は行及びvブロックデータユニットを適当する位置に挿
入する。
で、構成要素hブロックデータユニットを適当する行デ
ータユニットに追加することにより、これらを挿入位置
に挿入する。次いで、ボックス570におけるステップ
は行及びvブロックデータユニットを適当する位置に挿
入する。
【0120】図14におけるボックス548におけるよ
うに、ボックス572におけるステップは、挿入された
ものを包含する補助データユニットの座標を調整する。
うに、ボックス572におけるステップは、挿入された
ものを包含する補助データユニットの座標を調整する。
【0121】図14におけるボックス548及び図15
におけるボックス572におけるステップは図16及び
17に示すような位置決めオペレーションで実行され
る。図16は、各々が行アレイ内の構成要素アレイ相互
間のスペーシングの調整を包含している挿入及び削除の
オペレーションのシーケンスを示すものである。図17
は、テキストの行と横断方向における調整を包含する挿
入オペレーションを示すものである。
におけるボックス572におけるステップは図16及び
17に示すような位置決めオペレーションで実行され
る。図16は、各々が行アレイ内の構成要素アレイ相互
間のスペーシングの調整を包含している挿入及び削除の
オペレーションのシーケンスを示すものである。図17
は、テキストの行と横断方向における調整を包含する挿
入オペレーションを示すものである。
【0122】図16におけるボックス600における解
析済み画像データ構造の部分は行データユニットFFを
示すものであり、この行データユニットは、部分的行ア
レイ602を定義し、且つ構成要素データユニットG
G、HH、及びKKを包含しており、これら構成要素デ
ータユニットは部分的行アレイ602内の構成要素アレ
イ604、606、608及び610をそれそれ定義す
る。ボックス600に示すように、各構成要素データユ
ニットはそれぞれのx座標及び幅を包含する。前記x座
標及び幅は図16Aにおいてxn 及びwn として示して
あり、ここにnはそれぞれの構成要素アレイにおいて現
われる文字である。構成要素相互間のスペーシングは、
d1 、d2 及びd3 として示してあり、x座標及び幅内
に含意されている。例えば、d1 =xb −(xa +
wa )、等である。
析済み画像データ構造の部分は行データユニットFFを
示すものであり、この行データユニットは、部分的行ア
レイ602を定義し、且つ構成要素データユニットG
G、HH、及びKKを包含しており、これら構成要素デ
ータユニットは部分的行アレイ602内の構成要素アレ
イ604、606、608及び610をそれそれ定義す
る。ボックス600に示すように、各構成要素データユ
ニットはそれぞれのx座標及び幅を包含する。前記x座
標及び幅は図16Aにおいてxn 及びwn として示して
あり、ここにnはそれぞれの構成要素アレイにおいて現
われる文字である。構成要素相互間のスペーシングは、
d1 、d2 及びd3 として示してあり、x座標及び幅内
に含意されている。例えば、d1 =xb −(xa +
wa )、等である。
【0123】図16における最初のオペレーションは、
文字「c」及び「d」を包含している構成要素アレイ相
互間にスペースを挿入することである。これは、ボック
ス620内の部分に示すように、構成要素データユニッ
トKKのx座標をxd からx d ’に変更することによ
り、ならびに、行データユニットFF内の後続の構成要
素及びhブロックデータユニットのx座標を同等量だけ
変更することによって行なわれる。行なうべき変更は、
スペースバーに割当てられているスペースτのサイズに
より、及びd3 のサイズによって定まる。d3 がDより
も小さい場合には、部分的行アレイ622に示すよう
に、しきい値語間スペースτがd3 に取って代る。従っ
て、新しいx座標xd ’及び変位D1 は、xd ’=xd
−d3 +τ及びD1 =(xd ’−xd )=τ−d3 とな
り、次いでこの変位は行データユニットFFにおける後
続のデータユニットに適用される。他方、d3 がDより
も大きい場合には、τは単にd3 に加算され、xd ’=
xd +τ及びD1 =(xd ’−xd )=τとなる。
文字「c」及び「d」を包含している構成要素アレイ相
互間にスペースを挿入することである。これは、ボック
ス620内の部分に示すように、構成要素データユニッ
トKKのx座標をxd からx d ’に変更することによ
り、ならびに、行データユニットFF内の後続の構成要
素及びhブロックデータユニットのx座標を同等量だけ
変更することによって行なわれる。行なうべき変更は、
スペースバーに割当てられているスペースτのサイズに
より、及びd3 のサイズによって定まる。d3 がDより
も小さい場合には、部分的行アレイ622に示すよう
に、しきい値語間スペースτがd3 に取って代る。従っ
て、新しいx座標xd ’及び変位D1 は、xd ’=xd
−d3 +τ及びD1 =(xd ’−xd )=τ−d3 とな
り、次いでこの変位は行データユニットFFにおける後
続のデータユニットに適用される。他方、d3 がDより
も大きい場合には、τは単にd3 に加算され、xd ’=
xd +τ及びD1 =(xd ’−xd )=τとなる。
【0124】次のオペレーションは、文字「b」を包含
している構成要素アレイ、即ち、隣の2つの構成要素ア
レイからDよりも小さいスペースをあけているアレイを
削除することである。ボックス630における部分に示
すように、これは、構成要素データユニットHHを除去
することにより、及び行データユニットFFにおける後
続のデータユニットのx座標を変更することによって行
なわれる。例えば、部分的画像部分632に示すよう
に、後続の最初のデータユニットのx座標を変更し、こ
れが削除済みデータユニットが始まったと同じ点で始ま
るようにする。この新しいx座標xc ’及び変位D2 は
xc ’=xb =xc −d2 −wb 及びD2=(xc ’−
xc )=−(d2 −wb )として計算され、次いでこの
変位は行データユニットFFにおける後続のデータユニ
ットに適用される。ほぼ同じ手法を用い、先行構成要素
アレイからDよりも大きいスペースをあけ、且つ後続構
成要素アレイからDよりも小さいスペースをあけている
構成要素アレイを削除する。
している構成要素アレイ、即ち、隣の2つの構成要素ア
レイからDよりも小さいスペースをあけているアレイを
削除することである。ボックス630における部分に示
すように、これは、構成要素データユニットHHを除去
することにより、及び行データユニットFFにおける後
続のデータユニットのx座標を変更することによって行
なわれる。例えば、部分的画像部分632に示すよう
に、後続の最初のデータユニットのx座標を変更し、こ
れが削除済みデータユニットが始まったと同じ点で始ま
るようにする。この新しいx座標xc ’及び変位D2 は
xc ’=xb =xc −d2 −wb 及びD2=(xc ’−
xc )=−(d2 −wb )として計算され、次いでこの
変位は行データユニットFFにおける後続のデータユニ
ットに適用される。ほぼ同じ手法を用い、先行構成要素
アレイからDよりも大きいスペースをあけ、且つ後続構
成要素アレイからDよりも小さいスペースをあけている
構成要素アレイを削除する。
【0125】次のオペレーションは、文字「m」を包含
している構成要素アレイを、文字「a」及び「c」を包
含している構成要素アレイ相互間に挿入することであ
る。ボックス640における部分内に示すように、これ
は構成要素データユニットLLを包含することによって
行なわれる。構成要素データユニットLLは、部分的行
アレイ642に示すように、構成要素アレイ644を定
義する。スペーシングd 1 は構成要素アレイ644と先
行構成要素アレイとの間に保持され、省略スペーシング
Δは、部分的行アレイ642に示すように、構成要素ア
レイ644と後続構成要素アレイとの間に挿入される。
新しいx座標xm 及びxc ”及び変位D3は、xm =x
c ’、xc ”=xm +wm +Δ=xc ’+Δ+wm 、及
びD3 =(xc ”−xc ’)=wm +Δとなる。Δは、
例えば、幅2列の画素である。
している構成要素アレイを、文字「a」及び「c」を包
含している構成要素アレイ相互間に挿入することであ
る。ボックス640における部分内に示すように、これ
は構成要素データユニットLLを包含することによって
行なわれる。構成要素データユニットLLは、部分的行
アレイ642に示すように、構成要素アレイ644を定
義する。スペーシングd 1 は構成要素アレイ644と先
行構成要素アレイとの間に保持され、省略スペーシング
Δは、部分的行アレイ642に示すように、構成要素ア
レイ644と後続構成要素アレイとの間に挿入される。
新しいx座標xm 及びxc ”及び変位D3は、xm =x
c ’、xc ”=xm +wm +Δ=xc ’+Δ+wm 、及
びD3 =(xc ”−xc ’)=wm +Δとなる。Δは、
例えば、幅2列の画素である。
【0126】次のオペレーションは、文字「c」を包含
する構成要素アレイを、即ち、先行構成要素アレイから
Dよりも小さいスペースをあけ、且つ後続構成要素アレ
イからDよりも大きいスペースをあけているアレイを削
除することである。ボックス650における部分に示す
ように、これは、構成要素データユニットJJを除去す
ることにより、及び行データユニットFFにおける後続
データユニットのx座標を変更することによって行なわ
れる。例えば、後続の最初のデータユニットのx座標を
変更し、該ユニットが、これが先行構成要素アレイか
ら、これが削除済み構成要素データユニットによって定
義された構成要素アレイから前にスペースをあけていた
と同じスペーシングだけ、即ち、この場合は部分的画像
部分652に示すτだけスペースをあけている点で、始
まるようにする。新しいx座標xd''''及び変位D
4 は、xd ''''=xd ''' −wc −Δ及びD4 =
(xd ''''−x d ''' )=−(wc +Δ)として計算さ
れる。Δは、これら計算において、削除済み文字と先行
構成要素アレイとの間に存在するスペーシング(Δ以外
のスペーシングである場合)によって置き換えられる。
する構成要素アレイを、即ち、先行構成要素アレイから
Dよりも小さいスペースをあけ、且つ後続構成要素アレ
イからDよりも大きいスペースをあけているアレイを削
除することである。ボックス650における部分に示す
ように、これは、構成要素データユニットJJを除去す
ることにより、及び行データユニットFFにおける後続
データユニットのx座標を変更することによって行なわ
れる。例えば、後続の最初のデータユニットのx座標を
変更し、該ユニットが、これが先行構成要素アレイか
ら、これが削除済み構成要素データユニットによって定
義された構成要素アレイから前にスペースをあけていた
と同じスペーシングだけ、即ち、この場合は部分的画像
部分652に示すτだけスペースをあけている点で、始
まるようにする。新しいx座標xd''''及び変位D
4 は、xd ''''=xd ''' −wc −Δ及びD4 =
(xd ''''−x d ''' )=−(wc +Δ)として計算さ
れる。Δは、これら計算において、削除済み文字と先行
構成要素アレイとの間に存在するスペーシング(Δ以外
のスペーシングである場合)によって置き換えられる。
【0127】次のオペレーションは、文字「n」を包含
する構成要素アレイを、文字「m」及び「d」を包含す
る構成要素アレイ相互間に、「m」の直後に、そしてD
よりも大きいスペースの前に、挿入することである。ボ
ックス660における部分に示すように、これは構成要
素データユニットMMを包含することによって行なわれ
る。構成要素データユニットMMは、部分的行アレイ6
62に示すように、構成要素アレイ664を定義する。
部分的行アレイ662に示すように、省略スペーシング
Δは挿入済みアレイの前に用いられ、挿入済みアレイの
後のスペーシングはその前のスペーシングと同じであ
る。新しいx座標xn 及びxd ''''' ならびに変位D5
は、xn =xm +wm +Δ、xd ''''' =xn +wn +
τ=xd ''''+Δ+wn 、及びD5 =(xd ''''' −x
d '''')=wn +Δとして計算される。
する構成要素アレイを、文字「m」及び「d」を包含す
る構成要素アレイ相互間に、「m」の直後に、そしてD
よりも大きいスペースの前に、挿入することである。ボ
ックス660における部分に示すように、これは構成要
素データユニットMMを包含することによって行なわれ
る。構成要素データユニットMMは、部分的行アレイ6
62に示すように、構成要素アレイ664を定義する。
部分的行アレイ662に示すように、省略スペーシング
Δは挿入済みアレイの前に用いられ、挿入済みアレイの
後のスペーシングはその前のスペーシングと同じであ
る。新しいx座標xn 及びxd ''''' ならびに変位D5
は、xn =xm +wm +Δ、xd ''''' =xn +wn +
τ=xd ''''+Δ+wn 、及びD5 =(xd ''''' −x
d '''')=wn +Δとして計算される。
【0128】最後のオペレーションは、文字「n」及び
「d」を包含する構成要素アレイ相互間のスペースを削
除することである。このスペースはDよりも大きいので
あるが、図では、図示の都合上、2Dよりも小さく示し
てある。ボックス670における部分に示すように、こ
れは、行データユニットFFにおける後続のデータユニ
ットのx座標を変更することによって行なわれる。例え
ば、後続の最初のデータユニットのx座標を変更し、部
分的行アレイ672に示すように、前記データユニット
が、先行構成要素アレイからスペーシングΔだけスペー
スをあけている点で始まるようにする。新しいx座標x
d ''''''及び変位D6 は、xd ''''''=xd ''''' −τ
+Δ及びD6 =(x6'''''' −xd ''''' )=Δ−τと
して計算される。τは、これらの式において、削除済み
スペースに隣接する構成要素アレイ相互間に存在するス
ペーシング(τ以外のスペーシングである場合)によっ
て取って代られる。
「d」を包含する構成要素アレイ相互間のスペースを削
除することである。このスペースはDよりも大きいので
あるが、図では、図示の都合上、2Dよりも小さく示し
てある。ボックス670における部分に示すように、こ
れは、行データユニットFFにおける後続のデータユニ
ットのx座標を変更することによって行なわれる。例え
ば、後続の最初のデータユニットのx座標を変更し、部
分的行アレイ672に示すように、前記データユニット
が、先行構成要素アレイからスペーシングΔだけスペー
スをあけている点で始まるようにする。新しいx座標x
d ''''''及び変位D6 は、xd ''''''=xd ''''' −τ
+Δ及びD6 =(x6'''''' −xd ''''' )=Δ−τと
して計算される。τは、これらの式において、削除済み
スペースに隣接する構成要素アレイ相互間に存在するス
ペーシング(τ以外のスペーシングである場合)によっ
て取って代られる。
【0129】図16に示すステップを、構成要素アレイ
に関する空間情報を用いるという前述の基本的手法を変
更することなしに、色々の方法で変形し、行アレイにお
ける構成要素アレイ相互間のスペーシングを調整するこ
とができる。
に関する空間情報を用いるという前述の基本的手法を変
更することなしに、色々の方法で変形し、行アレイにお
ける構成要素アレイ相互間のスペーシングを調整するこ
とができる。
【0130】図16においてボックス640及び660
に示すステップにおけるように、構成要素アレイをテキ
ストの行内に挿入したのち、挿入済みアレイ位置決めを
テキストの行に対する横断方向に調整し、これを包含し
ている文字を前記行内の他の文字と適切に整列させるよ
うにすることも適切な方法である。図17は、挿入済み
文字を横断方向に位置決めする際に行なわれる諸ステッ
プを示すものである。これらステップはスペーシング調
整の前または後で行なわれる。
に示すステップにおけるように、構成要素アレイをテキ
ストの行内に挿入したのち、挿入済みアレイ位置決めを
テキストの行に対する横断方向に調整し、これを包含し
ている文字を前記行内の他の文字と適切に整列させるよ
うにすることも適切な方法である。図17は、挿入済み
文字を横断方向に位置決めする際に行なわれる諸ステッ
プを示すものである。これらステップはスペーシング調
整の前または後で行なわれる。
【0131】各構成要素データユニットは、その座標に
おいて、基底線オフセットのためのスロットを包含す
る。基底線オフセットスロットがその中に値を有してい
る場合には、この値は、構成要素の変位が生ずる語また
は行の基底線からの前記構成要素の変位を指示し、この
値を横断方向位置決めに用いることができる。基底線オ
フセットスロットが値を有していない場合、またはその
値が不満足な結果を作る場合には、他の手法を用いる。
基底線スロットは、例えば、記憶されている字体から構
成要素アレイが来る場合に、値を有す。
おいて、基底線オフセットのためのスロットを包含す
る。基底線オフセットスロットがその中に値を有してい
る場合には、この値は、構成要素の変位が生ずる語また
は行の基底線からの前記構成要素の変位を指示し、この
値を横断方向位置決めに用いることができる。基底線オ
フセットスロットが値を有していない場合、またはその
値が不満足な結果を作る場合には、他の手法を用いる。
基底線スロットは、例えば、記憶されている字体から構
成要素アレイが来る場合に、値を有す。
【0132】ボックス700に示す解析済み画像データ
構造の部分は、行データユニットPP内に新しく挿入さ
れた構成要素データユニットRRを包含し、このデータ
ユニットRRは構成要素データユニットQQとSSとの
間に挿入されている。構成要素データユニットQQ、R
R及びSSは、各々がそれぞれのy座標及び高さを包含
する。更に、構成要素データユニットRRは、基底線ス
ロットの上のその高さ内に、基底線上のその高さを指示
する値bb を包含する。
構造の部分は、行データユニットPP内に新しく挿入さ
れた構成要素データユニットRRを包含し、このデータ
ユニットRRは構成要素データユニットQQとSSとの
間に挿入されている。構成要素データユニットQQ、R
R及びSSは、各々がそれぞれのy座標及び高さを包含
する。更に、構成要素データユニットRRは、基底線ス
ロットの上のその高さ内に、基底線上のその高さを指示
する値bb を包含する。
【0133】部分的行アレイ702は、構成要素データ
構造QQ、RR及びSSのそれぞれのアレイである構成
要素アレイ704、706及び708の横断方向位置決
めを示すものである。文字「p」を包含する構成要素ア
レイ704、及び文字「c」を包含する構成要素アレイ
708は、yp 及びyC がほぼ等しくなるように位置決
めされている。これは、行アレイの左上角部から測った
y座標が各構成要素アレイの左上角部を指示するからで
ある。「p」及び「c」の左上囲いボックス角部は、テ
キストの行においてほぼ同じ高さにあるから、これら構
成要素アレイのy座標はほぼ同じである。しかし、新し
く挿入された構成要素アレイ706は、最初、テキスト
の行内の文字「b」の通例の位置よりも上に位置決めさ
れている。けれは、bb が不正確である場合に生ずる可
能性がある。
構造QQ、RR及びSSのそれぞれのアレイである構成
要素アレイ704、706及び708の横断方向位置決
めを示すものである。文字「p」を包含する構成要素ア
レイ704、及び文字「c」を包含する構成要素アレイ
708は、yp 及びyC がほぼ等しくなるように位置決
めされている。これは、行アレイの左上角部から測った
y座標が各構成要素アレイの左上角部を指示するからで
ある。「p」及び「c」の左上囲いボックス角部は、テ
キストの行においてほぼ同じ高さにあるから、これら構
成要素アレイのy座標はほぼ同じである。しかし、新し
く挿入された構成要素アレイ706は、最初、テキスト
の行内の文字「b」の通例の位置よりも上に位置決めさ
れている。けれは、bb が不正確である場合に生ずる可
能性がある。
【0134】ユーザは、部分的行アレイ702における
ような文字「b」の不適切な位置決めを観測すると、他
の横断方向位置を獲得及び提示することを要求する。こ
れらの他の位置はまた、基底線または基底線オフセット
が提供されてない場合に文字を最初に位置決めする際に
獲得され、獲得される位置のメジアンが最初提示され
る。他の横断方向位置は、基底線または隣の文字の位置
を基礎とする。そこで、ユーザは、獲得される位置のう
ちの一つの選択することができる。
ような文字「b」の不適切な位置決めを観測すると、他
の横断方向位置を獲得及び提示することを要求する。こ
れらの他の位置はまた、基底線または基底線オフセット
が提供されてない場合に文字を最初に位置決めする際に
獲得され、獲得される位置のメジアンが最初提示され
る。他の横断方向位置は、基底線または隣の文字の位置
を基礎とする。そこで、ユーザは、獲得される位置のう
ちの一つの選択することができる。
【0135】図17における後続のステップは新しく挿
入される構成要素アレイの位置決めのための2つのオプ
ションを示すものである。これら2つのオプションは、
可能性ある4つの横断方向位置を考え、そして冗長度を
除去することにより、獲得される。可能性ある4つの横
断方向位置は、文字「b」の下部を「p」の下部に位置
決めし、「b」の下部を「c」の下部に位置決めし、
「b」の上部を「p」の上部に位置決めし、及び「b」
の上部を「c」の上部に位置決めすることによって獲得
される。これら位置のうち、第1、第3及び第4の位置
は同じであって一つのオプションとなり、第2の位置は
異なっておって第2のオプションとなる。
入される構成要素アレイの位置決めのための2つのオプ
ションを示すものである。これら2つのオプションは、
可能性ある4つの横断方向位置を考え、そして冗長度を
除去することにより、獲得される。可能性ある4つの横
断方向位置は、文字「b」の下部を「p」の下部に位置
決めし、「b」の下部を「c」の下部に位置決めし、
「b」の上部を「p」の上部に位置決めし、及び「b」
の上部を「c」の上部に位置決めすることによって獲得
される。これら位置のうち、第1、第3及び第4の位置
は同じであって一つのオプションとなり、第2の位置は
異なっておって第2のオプションとなる。
【0136】ボックス710における解析済み画像デー
タ構造の部分は第1のオプションを示すものである。ボ
ックス700におけるようなyb とは異なり、前記デー
タ構造のy座標はyb ’=yp +hb −hb であり、従
って、部分的行アレイ712において、構成要素アレイ
714はテキストの行において文字「b」の通例の位置
よりも下に整列している。
タ構造の部分は第1のオプションを示すものである。ボ
ックス700におけるようなyb とは異なり、前記デー
タ構造のy座標はyb ’=yp +hb −hb であり、従
って、部分的行アレイ712において、構成要素アレイ
714はテキストの行において文字「b」の通例の位置
よりも下に整列している。
【0137】ボックス720における解析済み画像デー
タ構造の部分は第2オプションを示すものである。y座
標はyb ''=yc +hc −hb であり、従って、部分的
行アレイ22において、構成要素アレイ724はテキス
トの行において文字「b」のほぼ通例の位置に整列して
いる。
タ構造の部分は第2オプションを示すものである。y座
標はyb ''=yc +hc −hb であり、従って、部分的
行アレイ22において、構成要素アレイ724はテキス
トの行において文字「b」のほぼ通例の位置に整列して
いる。
【0138】ユーザは利用可能なオプションを巡回して
最も適切なものを見付け、これを挿入構成要素アレイの
横断方向位置として選択することができる。この手法を
拡張して多数の隣接文字を考え、隣接文字の基底線オフ
セットに基づいてオプションを獲得することができる。
最も適切なものを見付け、これを挿入構成要素アレイの
横断方向位置として選択することができる。この手法を
拡張して多数の隣接文字を考え、隣接文字の基底線オフ
セットに基づいてオプションを獲得することができる。
【0139】座標調整としては位置調整があり、これは
語間スペーシングを調整することによって行なうことが
できる。図18に示すステップにおいては、位置調整
は、Dよりも大きいかまたはこれは等しいアレイ間の全
てのスペースは語間スペースである、という仮定に基づ
いて行なわれる。
語間スペーシングを調整することによって行なうことが
できる。図18に示すステップにおいては、位置調整
は、Dよりも大きいかまたはこれは等しいアレイ間の全
てのスペースは語間スペースである、という仮定に基づ
いて行なわれる。
【0140】ボックス750におけるステップにおい
て、プロセッサは行アレイの位置調整のための要求を受
け取る。この要求は右マージンを指示するデータを包含
する。ボックス752において、プロセッサはそれぞれ
の行データ構造を解析し、位置調整に必要な情報を獲得
する。相隣接する構成要素アレイ間の各スペースは、そ
れぞれのx座標相互間の差を取り、この差から、先行構
成要素アレイの幅を減算することによって測定される。
次いで、各スペースをDと比較し、これが語間スペース
であるかどうかを測定する。語間スペースである場合に
は、次ぎに続く構成要素データ構造を、前記スペースの
サイズを指示するデータとともに、語間スペースの後に
続く構成要素データ構造のリストに追加する。また、最
後の構成要素データ構造のx座標及び幅を用い、最後の
構成要素アレイの右マージンと右側面との間のオフセッ
トを獲得する。
て、プロセッサは行アレイの位置調整のための要求を受
け取る。この要求は右マージンを指示するデータを包含
する。ボックス752において、プロセッサはそれぞれ
の行データ構造を解析し、位置調整に必要な情報を獲得
する。相隣接する構成要素アレイ間の各スペースは、そ
れぞれのx座標相互間の差を取り、この差から、先行構
成要素アレイの幅を減算することによって測定される。
次いで、各スペースをDと比較し、これが語間スペース
であるかどうかを測定する。語間スペースである場合に
は、次ぎに続く構成要素データ構造を、前記スペースの
サイズを指示するデータとともに、語間スペースの後に
続く構成要素データ構造のリストに追加する。また、最
後の構成要素データ構造のx座標及び幅を用い、最後の
構成要素アレイの右マージンと右側面との間のオフセッ
トを獲得する。
【0141】ボックス754おけるステップは、過剰語
間スペースを計算し、これが、最後の構成要素アレイの
右マージンと右側面との間のオフセットよりも大きいか
どうかを測定する。大きくない場合には、行が調整する
には長過ぎるのであり、ボックス756におけるステッ
プは誤りメッセージを提供する。Nを語間スペースの数
とし、Dをしきい値語間スペースとすると、語間スペー
スを総計し、次いで、語間スペースの最小量である(N
xD)を減算することにより、過剰語間スペースを計算
することができる。
間スペースを計算し、これが、最後の構成要素アレイの
右マージンと右側面との間のオフセットよりも大きいか
どうかを測定する。大きくない場合には、行が調整する
には長過ぎるのであり、ボックス756におけるステッ
プは誤りメッセージを提供する。Nを語間スペースの数
とし、Dをしきい値語間スペースとすると、語間スペー
スを総計し、次いで、語間スペースの最小量である(N
xD)を減算することにより、過剰語間スペースを計算
することができる。
【0142】行が調整するのに長過ぎるということがな
い場合には、ボックス758におけるステップは、過剰
語間スペースを語間スペース間に一様に分散させること
により、行データ構造を調整するのに必要な語間スペー
スの長さを獲得する。次いで、ボックス760におい
て、行上の構成要素データユニットの座標をセットし、
ボックス758において獲得された語間スペース長を提
供する。これを位置調整が完了する。
い場合には、ボックス758におけるステップは、過剰
語間スペースを語間スペース間に一様に分散させること
により、行データ構造を調整するのに必要な語間スペー
スの長さを獲得する。次いで、ボックス760におい
て、行上の構成要素データユニットの座標をセットし、
ボックス758において獲得された語間スペース長を提
供する。これを位置調整が完了する。
【0143】行相互間の語の移動を考慮し、図18にお
ける手法を次ぎに詳述する。例えば、行データ構造を調
整する場合に語間スペーシングが長過ぎるかどうかを測
定するために試験を行なう。これは、例えば、オフセッ
トを総計語間スペーシングに加算し、そして語間スペー
ス数Nで除算することによって測定する。その結果が2
Dまたは他の適当なしきい値をこえる場合には、行を調
整するためにはスペースが大きすぎるのである。この場
合には、次の行が段落内にあるならば、及び前記次の行
内の語があまり長くなく、行を調整に対して過長化する
ことがないならば、前記次の行からの語を追加する。同
様に、行が長過ぎるならば、該行が調整に対して十分に
短くなるまで、語を次の行へ移動させる。また、行が段
落内の最後の行であるかどうかを測定するために試験を
行なう。この場合、行は調整されないが、その語間スペ
ースをDのような省略値にセットする。
ける手法を次ぎに詳述する。例えば、行データ構造を調
整する場合に語間スペーシングが長過ぎるかどうかを測
定するために試験を行なう。これは、例えば、オフセッ
トを総計語間スペーシングに加算し、そして語間スペー
ス数Nで除算することによって測定する。その結果が2
Dまたは他の適当なしきい値をこえる場合には、行を調
整するためにはスペースが大きすぎるのである。この場
合には、次の行が段落内にあるならば、及び前記次の行
内の語があまり長くなく、行を調整に対して過長化する
ことがないならば、前記次の行からの語を追加する。同
様に、行が長過ぎるならば、該行が調整に対して十分に
短くなるまで、語を次の行へ移動させる。また、行が段
落内の最後の行であるかどうかを測定するために試験を
行なう。この場合、行は調整されないが、その語間スペ
ースをDのような省略値にセットする。
【0144】前述した特徴は、データ処理システムによ
って実行されるソフトウェアを介して提供される。
って実行されるソフトウェアを介して提供される。
【0145】D、その他 本発明は、前述した方法のほかに、他の色々の方法で実
施することができる。例えば、ラスタビットマップから
の画像オブジェクトを取り扱うための機能を追加するこ
とにより、現存のエディタで実施することができる。
施することができる。例えば、ラスタビットマップから
の画像オブジェクトを取り扱うための機能を追加するこ
とにより、現存のエディタで実施することができる。
【0146】以上においては、本発明を、画像の未解析
アレイを分割することが必要であるとして説明した。し
かし、若干の態様においては、編集の前に画像全体を分
割することにより、または、画像の一部を、この部分内
の点が必要であるかどうかが指示されている場合に、分
割することにより、本発明を実施することができる。こ
れらいずれの場合も、専門のハードウェアを用い、例え
ば連接構成要素を見付けるというような指定機能を実施
する。
アレイを分割することが必要であるとして説明した。し
かし、若干の態様においては、編集の前に画像全体を分
割することにより、または、画像の一部を、この部分内
の点が必要であるかどうかが指示されている場合に、分
割することにより、本発明を実施することができる。こ
れらいずれの場合も、専門のハードウェアを用い、例え
ば連接構成要素を見付けるというような指定機能を実施
する。
【0147】前述した若干の機能は、色々な方法で実施
することができる。例えば、テキストの行の、及び文字
のセグメンテーションは、オーバラップする行及び接触
する文字を考慮し、画素の空白の行または列以外の試験
で行なわれる。同様に、連接構成要素はもっと複雑な規
則を用いてセットに分類され、またオーバラップする囲
いボックスは変形されてオーバラップを除去される。文
字サイズアレイの位置決めは、もっと多くの隣接文字サ
イズアレイを考慮し、または文字サイズアレイのスペー
シング及び横断方向位置決めに対して異なる規則を適用
する。
することができる。例えば、テキストの行の、及び文字
のセグメンテーションは、オーバラップする行及び接触
する文字を考慮し、画素の空白の行または列以外の試験
で行なわれる。同様に、連接構成要素はもっと複雑な規
則を用いてセットに分類され、またオーバラップする囲
いボックスは変形されてオーバラップを除去される。文
字サイズアレイの位置決めは、もっと多くの隣接文字サ
イズアレイを考慮し、または文字サイズアレイのスペー
シング及び横断方向位置決めに対して異なる規則を適用
する。
【0148】前述したように、本発明は、スキャナ、メ
モリ、等を含む、画像を定義する2次元データアレイの
任意の供給源からのデータをもって使用することができ
る。同様に、本発明は、ディスプレイ、複写機、等を含
む、画像のビューを提示することのできる任意の出力装
置をもって使用することができる。
モリ、等を含む、画像を定義する2次元データアレイの
任意の供給源からのデータをもって使用することができ
る。同様に、本発明は、ディスプレイ、複写機、等を含
む、画像のビューを提示することのできる任意の出力装
置をもって使用することができる。
【0149】本発明は、「画像内の文字変更」(Changi
ng Characters in an Image)なる発明の名称の係属中の
米国特許出願第07/459,026号に記載されている
手法をもって使用することができる。この米国特許出願
の内容については本明細書において参照として説明して
ある。
ng Characters in an Image)なる発明の名称の係属中の
米国特許出願第07/459,026号に記載されている
手法をもって使用することができる。この米国特許出願
の内容については本明細書において参照として説明して
ある。
【0150】以上においては本発明をその種々の実施例
について説明したが、特許請求の範囲に記載のごとき本
発明の範囲内において他の種々の変形、変更及び延長を
行なうことができる。
について説明したが、特許請求の範囲に記載のごとき本
発明の範囲内において他の種々の変形、変更及び延長を
行なうことができる。
【0151】
【図1】本発明にかかる画像内のテキストを編集する際
の諸段階を示すフローチャート
の諸段階を示すフローチャート
【図2】本発明にかかる画像内のテキストを編集するこ
とのできるシステムの一般的構成要素を示すブロック線
図
とのできるシステムの一般的構成要素を示すブロック線
図
【図3】本発明にかかる文字レベルテキスト編集オペレ
ーションにおける一般的ステップを示すフローチャート
ーションにおける一般的ステップを示すフローチャート
【図4】本発明にかかる単一連接構成要素を包含する文
字サイズアレイを獲得する際のステップを示すフローチ
ャート
字サイズアレイを獲得する際のステップを示すフローチ
ャート
【図5】複数の連接構成要素を包含する文字サイズアレ
イを獲得する際のステップを示すフローチャート
イを獲得する際のステップを示すフローチャート
【図6】オーバラップする可能性のある囲みボックスを
有する連接構成要素に対する文字サイズアレイを獲得す
る際のステップを示すフローチャート
有する連接構成要素に対する文字サイズアレイを獲得す
る際のステップを示すフローチャート
【図7】本発明にかかるキーボードキーに文字サイズア
レイを割当てる際の一般的ステップを示すフローチャー
ト
レイを割当てる際の一般的ステップを示すフローチャー
ト
【図8】キーに割当てられた文字サイズアレイに整合す
るアレイを探索する際の一般的ステップを示すフローチ
ャート
るアレイを探索する際の一般的ステップを示すフローチ
ャート
【図9】本発明にかかるユーザ入力ルーチンにおけるス
テップを示すフローチャート
テップを示すフローチャート
【図10】本発明にかかる画像のバージョンを定義する
データ構造の略図
データ構造の略図
【図11】信号に応答して第10図のデータ構造によっ
て定義される画像内の位置を指示するステップを示すフ
ローチャート
て定義される画像内の位置を指示するステップを示すフ
ローチャート
【図12】語相互間のスペースにおけるカーソル位置決
めにおけるステップを示すフローチャート
めにおけるステップを示すフローチャート
【図13】復帰の際のカーソル位置決めにおけるステッ
プを示すフローチャート
プを示すフローチャート
【図14】削除を行なう際のステップを示すフローチャ
ート
ート
【図15】挿入を行なう際のステップを示すフローチャ
ート
ート
【図16】一連の挿入及び削除を行なう際のステップを
示すフローチャート
示すフローチャート
【図17】横断方向位置決めにおけるステップを示すフ
ローチャート
ローチャート
【図18】位置調整におけるステップを示すフローチャ
ート
ート
52 プロセッサ 54 画像入力装置 56 ユーザ入力装置 58 画像出力装置 60 プログラムメモリ 80 データメモリ
Claims (1)
- 【請求項1】 アレイデータユニットを包含するための
編集データ構造を備え、各前記アレイデータユニットは
データのそれぞれの2次元アレイを定義し、各前記それ
ぞれの2次元アレイはテキストを包含する画像のそれぞ
れの領域を定義するようになっており、更に、 プロセッサを備えて成り、前記プロセッサは前記編集デ
ータ構造にアクセスするように接続され、前記プロセッ
サはテキスト編集オペレーションのための要求を受け取
るように更に接続され、前記プロセッサは、前記テキス
ト内の文字に作用する第1のテキスト編集オペレーショ
ンのための要求を受け取ると、前記編集データ構造内の
第1のアレイデータユニットにアクセスし、前記第1の
アレイデータユニットのそれぞれの2次元アレイによっ
て定義されるそれぞれの領域は前記文字を包含し、前記
第1のテキスト編集オペレーションを行なう際に前記プ
ロセッサは第2のアレイデータユニットを更に獲得し、
前記第2のアレイデータユニットのそれぞれの2次元ア
レイによって定義されるそれぞれの領域は前記第1のア
レイデータユニットのそれぞれの2次元アレイによって
定義されるそれぞれの領域の一部であり、且つ前記文字
を包含することを特徴とする画像編集システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US45902289A | 1989-12-29 | 1989-12-29 | |
US459022 | 1995-06-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06203138A true JPH06203138A (ja) | 1994-07-22 |
JP2536966B2 JP2536966B2 (ja) | 1996-09-25 |
Family
ID=23823070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2404535A Expired - Fee Related JP2536966B2 (ja) | 1989-12-29 | 1990-12-20 | テキスト編集システム |
Country Status (5)
Country | Link |
---|---|
US (1) | US5548700A (ja) |
EP (1) | EP0434930B1 (ja) |
JP (1) | JP2536966B2 (ja) |
CA (1) | CA2027253C (ja) |
DE (1) | DE69033079T2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000338953A (ja) * | 1999-04-01 | 2000-12-08 | Adobe Syst Inc | フォント特徴ファイル処理 |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IE910580A1 (en) * | 1991-02-20 | 1992-08-26 | Shobunsha Publications Inc | Improved map production method |
US6105121A (en) * | 1991-02-28 | 2000-08-15 | Siemens Aktiengesellschaft | Data processing and data transmission system |
JPH0773190A (ja) * | 1993-04-29 | 1995-03-17 | Matsushita Electric Ind Co Ltd | ペンベースコンピューターシステム用絵文字ネーミング |
US5734761A (en) | 1994-06-30 | 1998-03-31 | Xerox Corporation | Editing scanned document images using simple interpretations |
US5642473A (en) * | 1994-10-17 | 1997-06-24 | Xerox Corporation | Paper saving reprographic device |
US5528732A (en) * | 1994-10-17 | 1996-06-18 | Xerox Corporation | Reprographic device for making copies with multi-spaced lines |
JP2776295B2 (ja) * | 1994-10-27 | 1998-07-16 | 日本電気株式会社 | 画像インデックス生成方法及び画像インデックス生成装置 |
JPH0951422A (ja) * | 1995-08-09 | 1997-02-18 | Minolta Co Ltd | 画像編集装置 |
US5930813A (en) * | 1995-12-21 | 1999-07-27 | Adobe Systems Incorporated | Method and system for designating objects |
US5960444A (en) * | 1996-07-01 | 1999-09-28 | Sun Microsystems, Inc. | Software tool for indexing document made from plurality of smaller documents created using different versions of word processing software |
US5956468A (en) * | 1996-07-12 | 1999-09-21 | Seiko Epson Corporation | Document segmentation system |
US5963956A (en) * | 1997-02-27 | 1999-10-05 | Telcontar | System and method of optimizing database queries in two or more dimensions |
US6166719A (en) * | 1998-04-09 | 2000-12-26 | Hewlett-Packard Company | Consistently ordered adjustment of a digitally represented image |
US7024623B2 (en) * | 1998-06-17 | 2006-04-04 | Microsoft Corporation | Method and system for placing an insertion point in an electronic document |
US6731309B1 (en) | 1998-08-28 | 2004-05-04 | Corel Corporation | Real time preview |
US6470096B2 (en) * | 1998-11-13 | 2002-10-22 | Xerox Corporation | Method for locating user interface tags in a document processing system |
US6539117B2 (en) * | 1999-04-12 | 2003-03-25 | Hewlett-Packard Company | System and method for rendering image based data |
WO2001059604A1 (en) * | 2000-02-12 | 2001-08-16 | Adobe Systems Incorporated | Method for determining line leading in accordance with traditional japanese practices |
US7305617B2 (en) * | 2000-02-12 | 2007-12-04 | Adobe Systems Incorporated | Method for aligning text to baseline grids and to CJK character grids |
US7071941B2 (en) * | 2000-02-12 | 2006-07-04 | Adobe Systems Incorporated | Method for calculating CJK emboxes in fonts |
WO2001059576A1 (en) | 2000-02-12 | 2001-08-16 | Adobe Systems Incorporated | Text grid creation tools |
US6993709B1 (en) | 2000-02-12 | 2006-01-31 | Adobe Systems Incorporated | Smart corner move snapping |
EP1162789A1 (de) * | 2000-06-08 | 2001-12-12 | Siemens Aktiengesellschaft | Verfahren zur Verwaltung von Pfadinformationen und deren Änderungen in einem MPLS-Netzwerk |
US7146347B1 (en) * | 2000-08-03 | 2006-12-05 | National Instruments Corporation | System and method for automatically creating a prototype to perform a process |
US7168037B2 (en) * | 2000-09-25 | 2007-01-23 | Adobe Systems Incorporated | Text composition spacing amount setting device with icon indicators |
JP4112200B2 (ja) * | 2000-09-25 | 2008-07-02 | アドビ システムズ, インコーポレイテッド | 文字組空き量設定装置、文字組空き量設定プログラム及びそれを記録した記録媒体 |
JP4101491B2 (ja) * | 2000-09-25 | 2008-06-18 | アドビ システムズ, インコーポレイテッド | 合成フォント編集装置、合成フォント編集プログラム及びそれを記録した記録媒体 |
US7296227B2 (en) | 2001-02-12 | 2007-11-13 | Adobe Systems Incorporated | Determining line leading in accordance with traditional Japanese practices |
FR2827409B1 (fr) * | 2001-07-10 | 2004-10-15 | France Telecom | Procede de codage d'une image par ondelettes permettant une transmission adaptative de coefficients d'ondelettes, signal systeme et dispositifs correspondants |
US7246321B2 (en) * | 2001-07-13 | 2007-07-17 | Anoto Ab | Editing data |
JP3695369B2 (ja) * | 2001-08-07 | 2005-09-14 | ソニー株式会社 | 情報配信システム及び情報配信方法、情報供給装置及び情報供給方法 |
US7167274B2 (en) * | 2001-09-28 | 2007-01-23 | Adobe Systems Incorporated | Line leading from an arbitrary point |
US20040205568A1 (en) | 2002-03-01 | 2004-10-14 | Breuel Thomas M. | Method and system for document image layout deconstruction and redisplay system |
US6903751B2 (en) * | 2002-03-22 | 2005-06-07 | Xerox Corporation | System and method for editing electronic images |
US7039862B2 (en) | 2002-05-10 | 2006-05-02 | Adobe Systems Incorporated | Text spacing adjustment |
US20040125107A1 (en) * | 2002-12-26 | 2004-07-01 | Mccully Nathaniel M. | Coordinating grid tracking and mojikumi spacing of Japanese text |
US7123261B2 (en) * | 2002-12-26 | 2006-10-17 | Adobe Systems Incorporated | Coordinating grid tracking and mojikumi spacing of Japanese text |
JP2005038263A (ja) * | 2003-07-16 | 2005-02-10 | Canon Inc | 画像処理装置、画像処理方法、記録媒体及びプログラム |
US20050050439A1 (en) * | 2003-08-28 | 2005-03-03 | Xerox Corporation | Method to distribute a document to one or more recipients and document distributing apparatus arranged in accordance with the same method |
US7606840B2 (en) | 2004-06-15 | 2009-10-20 | At&T Intellectual Property I, L.P. | Version control in a distributed computing environment |
US8559764B2 (en) * | 2004-06-15 | 2013-10-15 | At&T Intellectual Property I, L.P. | Editing an image representation of a text |
US7475341B2 (en) | 2004-06-15 | 2009-01-06 | At&T Intellectual Property I, L.P. | Converting the format of a portion of an electronic document |
US7594171B2 (en) * | 2004-10-01 | 2009-09-22 | Adobe Systems Incorporated | Rule-based text layout |
JP4807999B2 (ja) * | 2005-09-16 | 2011-11-02 | 株式会社リコー | 画像表示装置、画像表示方法、画像形成装置、画像形成方法、および、それらの方法をコンピュータに実行させるプログラム |
US8633930B2 (en) * | 2007-03-26 | 2014-01-21 | Apple Inc. | Non-linear text flow |
US7970213B1 (en) * | 2007-05-21 | 2011-06-28 | A9.Com, Inc. | Method and system for improving the recognition of text in an image |
US8229232B2 (en) * | 2007-08-24 | 2012-07-24 | CVISION Technologies, Inc. | Computer vision-based methods for enhanced JBIG2 and generic bitonal compression |
US8009928B1 (en) | 2008-01-23 | 2011-08-30 | A9.Com, Inc. | Method and system for detecting and recognizing text in images |
US8443278B2 (en) * | 2009-01-02 | 2013-05-14 | Apple Inc. | Identification of tables in an unstructured document |
US9734132B1 (en) * | 2011-12-20 | 2017-08-15 | Amazon Technologies, Inc. | Alignment and reflow of displayed character images |
KR102240279B1 (ko) * | 2014-04-21 | 2021-04-14 | 삼성전자주식회사 | 컨텐트 처리 방법 및 그 전자 장치 |
US9741142B2 (en) * | 2014-05-19 | 2017-08-22 | Adobe Systems Incorporated | Method and apparatus for enabling text editing in a scanned document while maintaining fidelity of the appearance of the text |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61272865A (ja) * | 1985-05-28 | 1986-12-03 | Sumitomo Electric Ind Ltd | 文書入力編集方式 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4408342A (en) * | 1981-04-16 | 1983-10-04 | Ncr Corporation | Method for recognizing a machine encoded character |
JPS5812064A (ja) * | 1981-07-13 | 1983-01-24 | Nec Corp | 画像文字列編集装置 |
JPS5837779A (ja) * | 1981-08-31 | 1983-03-05 | Ricoh Co Ltd | 文書処理装置 |
US4610025A (en) * | 1984-06-22 | 1986-09-02 | Champollion Incorporated | Cryptographic analysis system |
DE3523042A1 (de) * | 1984-06-28 | 1986-01-02 | Canon K.K., Tokio/Tokyo | Bildverarbeitungssystem |
JPH063608B2 (ja) * | 1984-06-30 | 1994-01-12 | 株式会社東芝 | 文書画像編集装置 |
US4739477A (en) * | 1984-08-30 | 1988-04-19 | International Business Machines Corp. | Implicit creation of a superblock data structure |
EP0381298B1 (en) * | 1984-11-14 | 1996-02-14 | Canon Kabushiki Kaisha | Image processing system |
US5021973A (en) * | 1986-01-16 | 1991-06-04 | International Business Machines Corporation | Method for assisting the operator of an interactive data processing system to enter data directly into a selected cell of a spreadsheet |
US4974194A (en) * | 1986-04-04 | 1990-11-27 | International Business Machines Corporation | Method for modifying intermingled text object and graphic object within an object set individually or correspondingly |
DE3783978T2 (de) * | 1986-07-15 | 1993-06-03 | Brother Ind Ltd | Textverarbeitungsgeraet. |
JPS63197266A (ja) * | 1987-02-12 | 1988-08-16 | Matsushita Electric Ind Co Ltd | 文書イメ−ジ編集装置 |
JPH07104909B2 (ja) * | 1987-03-04 | 1995-11-13 | シャープ株式会社 | 文字認識方法 |
JPS63293682A (ja) * | 1987-05-27 | 1988-11-30 | Matsushita Electric Ind Co Ltd | 文書イメ−ジ編集装置 |
US5022081A (en) * | 1987-10-01 | 1991-06-04 | Sharp Kabushiki Kaisha | Information recognition system |
EP0312235A3 (en) * | 1987-10-13 | 1991-09-11 | AT&T Corp. | Graphics image editor |
JPH01144171A (ja) * | 1987-11-30 | 1989-06-06 | Toshiba Corp | 電子ファイリング装置 |
US4881130A (en) * | 1987-12-07 | 1989-11-14 | Ricoh Company, Ltd. | Image editing system for an image recording apparatus with the capability of marking an edited image area in the form of a vector |
JPH01183784A (ja) * | 1988-01-19 | 1989-07-21 | Toshiba Corp | 文書画像処理装置 |
JPH01228066A (ja) * | 1988-03-08 | 1989-09-12 | Casio Comput Co Ltd | イメージデータファイリング装置 |
US5224038A (en) * | 1989-04-05 | 1993-06-29 | Xerox Corporation | Token editor architecture |
US4914709A (en) * | 1989-06-02 | 1990-04-03 | Eastman Kodak Company | Method for identifying unrecognizable characters in optical character recognition machines |
US5167016A (en) * | 1989-12-29 | 1992-11-24 | Xerox Corporation | Changing characters in an image |
-
1990
- 1990-10-10 CA CA002027253A patent/CA2027253C/en not_active Expired - Fee Related
- 1990-10-31 DE DE69033079T patent/DE69033079T2/de not_active Expired - Fee Related
- 1990-10-31 EP EP90120915A patent/EP0434930B1/en not_active Expired - Lifetime
- 1990-12-20 JP JP2404535A patent/JP2536966B2/ja not_active Expired - Fee Related
-
1993
- 1993-03-29 US US08/039,553 patent/US5548700A/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61272865A (ja) * | 1985-05-28 | 1986-12-03 | Sumitomo Electric Ind Ltd | 文書入力編集方式 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000338953A (ja) * | 1999-04-01 | 2000-12-08 | Adobe Syst Inc | フォント特徴ファイル処理 |
Also Published As
Publication number | Publication date |
---|---|
EP0434930B1 (en) | 1999-04-28 |
JP2536966B2 (ja) | 1996-09-25 |
DE69033079D1 (de) | 1999-06-02 |
US5548700A (en) | 1996-08-20 |
EP0434930A3 (en) | 1993-01-07 |
EP0434930A2 (en) | 1991-07-03 |
CA2027253A1 (en) | 1991-06-30 |
CA2027253C (en) | 1997-12-16 |
DE69033079T2 (de) | 1999-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2536966B2 (ja) | テキスト編集システム | |
EP0439951B1 (en) | Data processing | |
CN102117269B (zh) | 对文档进行数字化的装置及方法 | |
DE3883578T2 (de) | Verfahren und Gerät zur Erkennung von gedruckten Zeichen auf einem Beleg. | |
US6903751B2 (en) | System and method for editing electronic images | |
JP3950498B2 (ja) | イメージ処理方法及び装置 | |
US5734761A (en) | Editing scanned document images using simple interpretations | |
US5522022A (en) | Analyzing an image showing a node-link structure | |
DE69724755T2 (de) | Auffinden von Titeln und Photos in abgetasteten Dokumentbildern | |
US6466694B2 (en) | Document image processing device and method thereof | |
JP2588491B2 (ja) | 画像切り出し装置及びその方法 | |
US5509092A (en) | Method and apparatus for generating information on recognized characters | |
US5392130A (en) | Analyzing an image showing a row/column representation | |
JPH0798765A (ja) | 方向検出方法および画像解析装置 | |
US5394484A (en) | Image recognition apparatus | |
JP5538812B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
CN113343658B (zh) | 一种pdf文件信息抽取方法、装置以及计算机设备 | |
JP3083314B2 (ja) | 文書処理方法及び装置 | |
JP2008108114A (ja) | 文書処理装置および文書処理方法 | |
Spitz et al. | Palace: A multilingual document recognition system | |
Kopec et al. | Editing images of text | |
JPH0743718B2 (ja) | マルチメディア文書構造化方式 | |
JP2682873B2 (ja) | 表形式文書の認識装置 | |
JPH10222688A (ja) | 画像処理方法 | |
JPH0728934A (ja) | 文書画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19950828 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19960514 |
|
LAPS | Cancellation because of no payment of annual fees |