(57)【要約】【課題】文字情報を配置が非均一である文字画像に沿って配置する場合、文字の制御点によって個別に配置する方法は作業効率が悪かった。【解決手段】文字の配置を指示装置で制御可能な制御点で行い、２種類の主要な制御点と３種類の選択的配置が可能な制御点を設定し、これらの省力配置用の境界制御点の移動量をその前後の制限された範囲の制御点へ特定の条件に従って加算することで結果的に文字配置を行い、総配置手順を軽減する。【選択図】図１
2006011960.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータのＧＵＩ（グラフィカル・ユーザ・インタフェース）機能を使って、表示されている画像上に文字列中の文字を配置可能なコンピュータプログラムで、文字列の構成要素である各文字ごとにその文字の代表位置を表す制御点を配備し、それら各制御点をマウス等の指示装置で操作して、指示装置の移動量に等しい移動量を移動該当文字の代表位置に加算することで画像に対して文字を配置する文字配置方法において、
文字列の先頭を表す１つの先頭制御点と、
文字列の終端を表す１つの終端制御点を配備し、
先頭制御点の機能として、当該文字から文字列の終端を表す文字までの各制御点に、当該文字の移動量を各制御点に等しく加算することで画像に対して文字を配置し、
終端制御点の機能として、当該文字から文字列の先端を表す文字までの各制御点に、当該文字の移動量を先端制御点と各制御点の距離に比例する移動量を加算することによって、画像に対して文字を配置することを特徴とする文字配置方法。
【請求項２】
請求項１において該文字列の任意の制御点にあって、
必要であれば文字列の新しい段落の先頭を表す１つあるいは複数の段落制御点と、
必要であれば文字列の新しい段落の終端を表す１つあるいは複数の改行制御点を配備し、
段落制御点の機能として、当該文字から文字列後方の終端制御点あるいは改行制御点となる文字までの各制御点に、当該段落制御点の移動量を等しく加算することで画像に対して文字を配置し、
改行制御点の機能として、当該文字から境界制御点すなはち文字列前方の先端制御点あるいは段落制御点となる文字までの各制御点に、当該境界制御点と各制御点の距離に比例した移動量を加算することによって、画像に対して文字を配置することを特徴とする文字配置方法。
【請求項３】
請求項１乃至請求項２において該文字列の任意の制御点にあって、
必要であれば１つあるいは複数の中間制御点を配備し、
中間制御点の機能として、当該文字からその前後の境界制御点すなはち先頭制御点あるいは終端制御点あるいは段落制御点あるいは改行制御点あるいは別の中間制御点までの各文字の代表位置を表す制御点に対して、当該移動対象の中間制御点には移動量を１００％、境界制御点には移動量を０％とし、その他の対象制御点には当該境界制御点から当該中間制御点の距離に対して当該境界制御点から各制御点までの距離の比に中間制御点の移動量を乗じた移動量を加算することによって、画像に対して文字を配置することを特徴とする文字配置方法。
【請求項４】
請求項１乃至請求項３において、境界制御点はその他の制御点よりも指示装置を受け付ける指示吸着範囲を広くすることを特徴とする文字配置方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ入力表示装置を利用して画像上に文字を自由配置する方法に関する。
【背景技術】
【０００２】
コンピュータ画面上で文字は、よく知られているように、オペレーティングシステムや各文字で決められた一定あるいはユニークな間隔によって配置され表示される。具体的には、ワードプロセッサなどのコンピュータプログラムで用いる文字配置方法では、文字の種類ごとに文字間の間隔が予め決められてメモリ上に記録されており、コンピュータプログラムはその情報に従って文字を配置する。
【０００３】
一方、主に印刷関連技術に用いられるベクトル方法あるいはオブジェクトによる方法では、文字１文字ずつに対して代表位置を与えて配置することができる。このような場合、特定の指示吸着範囲を有する制御点を各文字ごとに与えておき、その指示吸着範囲にマウスなどの指示装置の指示点が入り選択状態とした後、マウスをドラッグ移動することによって、画面上でのマウスの移動量と等しい移動量を該当制御点に加算して移動し、その結果、文字が移動する。このような操作プロセスを繰り返し、文字列を望む位置に配置する。文字位置は数値でプログラム特有のファイルフォーマットで記録される。再現時には記録したファイルから文字の位置を読み取り正確な再現配置を行なう。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
各文字ごとに位置を配置する方法では、１文字ずつ手作業で配置する必要があるので、大量の文字を任意の位置に配置する必要のある場合には効率が悪い。
【０００５】
また、複数の文字の制御点を同時に選択して配置する方法もあるが、あくまで選択された全体を均等に移動するため、文字ごとの移動はやはり個々に行なわなくてはならない。
【０００６】
本発明の課題としては、コンピュータで制作した文字ではなく、手書き文字などをスキャナ等でデジタル画像とした対象を主として想定している。好適な事例をあげれば、日本の古文書である。このような画像では、文字の大きさも間隔も一定ではない。また、必ずしも一方向に書かれているとも限らない。
【０００７】
このような問題解決に最も近い方法としては、ＤＴＰ（デスクトップ・パブリッシング）プログラムにおいて、ベクトルラインに沿って文字を配置する方法があるが、文字の位置はベクトルラインに沿って均等に配置されるため、文字の間隔はやはり個々に調整しなくてはならない。
【課題を解決するための手段】
【０００８】
本発明は、上記の問題を解決する目的で考案された。手書き文字などをスキャナなどの装置でラスター画像化した画像文字上に、コンピュータで利用する文字を効率良く配置する方法に関する。
【０００９】
コンピュータ装置でマウスなどの指示装置によって操作指示ができ、結果が画面上に反映するＧＵＩ（グラフィカル・ユーザ・インタフェース）を利用できるコンピュータプログラムを前提とする。このような操作環境は現在では一般的である。
【００１０】
上述の操作環境に文字配置の下地となる画像を表示する。この画像レイヤの上部に透明なレイヤを設け、有限の文字列を配置するが、配置する主体は、文字の代表位置を反映する制御点であり、この制御点に関連する形で各文字が配置される。今後の説明上、混乱を避けるため、これらの制御点を一般制御点と以下では記載する。
【００１１】
各文字の一般制御点は、指示装置を受け付ける有限範囲の指示吸着範囲を設定してある。マウスなどの指示装置の指示位置に対して範囲が重複するか否かの判断を行い、重複した場合には、選択が可能となる。選択されるとその一般制御点の位置を変更することができ、一般には指示装置の移動量と同じ移動量をこの選択された一般制御点に加算する。この結果、文字位置が移動する。ここまでは既によく知られた動作である。
【００１２】
図１は制御点の役割を説明する模式図である。図１において、Ａは下地となる画像の仮想的な文字範囲、Ｂは各文字に対応する一般制御点、Ｃは文字列の先頭を表す１つの先頭制御点、Ｄは文字列の終端を表す１つの終端制御点、Ｅは必要に応じて文字列の任意の一般制御点に属性として配置する文字列の新しい段落の先頭を表す１つあるいは複数の段落制御点、Ｆは必要に応じて文字列の任意の一般制御点に属性として配置する文字列の新しい段落の終端を表す１つあるいは複数の改行制御点、Ｇは必要に応じて文字列の任意の一般制御点に属性として配置しその前後に後述する移動量を与えることができる１つまたは複数の中間制御点、Ｈは制御点を順序で結ぶ参照線である。
【００１３】
本発明は、図１のＣおよびＤの制御点と、文字列の各文字の代表位置を表す一般制御点Ｂに対して、かつＥ乃至Ｇの制御点を必要に応じて選択的に付与し、以下で説明する機能を有するこれらの制御点を操作することで、文字列の各文字の制御点Ｂを画像文字範囲Ａの近傍に省力的に配置する。
【００１４】
先頭制御点Ｃは、その後方に配置された文字列の終端制御点Ｄあるいは改行制御点Ｆまでを含む一般制御点に、先頭制御点Ａの移動量Ｐ＝{x,y}を等しく加算することで画像に対して文字列を固まりとして配置する機能を実現する。以降、説明のために、終端制御点Ｄあるいは改行制御点Ｆを境界制御点と記述する。
【００１５】
終端制御点Ｄは、その前方に配置された文字列の先頭制御点Ｃあるいは段落制御点Ｅまでの一般制御点に、終端制御点Ｄの移動量Ｐ＝{x,y}、各制御点Ｂのi番目の座標をＸ(i)、先頭制御点Ｃあるいは段落制御点Ｄを境界制御点とし座標をＱとして、次の数式１に従って算出される移動量Ｘ´(i)を加算することによって、画像に対して文字列を配置する機能を実現する。ただし、数式１はベクトル記載である。
【００１６】
（数１）
Ｘ´(i) ＝ Ｐ ＊ (Ｘ(i)−Ｑ) ／ (Ｐ−Ｑ) 
【００１７】
段落制御点Ｅは、その後方に配置された文字列の終端制御点Ｄあるいは改行制御点Ｆまでを含む一般制御点に、段落制御点Ｅの移動量Ｐ＝{x,y}を等しく加算することで画像に対して文字列を固まりとして配置する機能を実現する。終端制御点Ｄあるいは改行制御点Ｆを境界制御点とする。
【００１８】
改行制御点Ｆは、その前方に配置された文字列の先頭制御点Ｃあるいは段落制御点Ｅまでの一般制御点に、改行制御点Ｆの移動量Ｐ＝{x,y}、各制御点Ｂのi番目の座標をＸ(i)、先頭制御点Ｃあるいは段落制御点Ｄを境界制御点とし座標をＱとして、数式１に従って算出した移動量Ｘ´(i)を加算することによって、画像に対して文字列を配置する機能を実現する。
【００１９】
中間制御点Ｇは、その前方あるいは後方に配置された文字列の境界制御点までの一般制御点Ｂに、当該中間制御点Ｇの移動量Ｐ＝{x,y}、各制御点Ｂのi番目の座標をＸ(i)、境界制御点の座標をＱとして、数式１に従って算出した移動量Ｘ´を加算することによって、画像に対して文字列を配置する機能を実現する。
【発明の効果】
【００２０】
本発明によれば、制御点の機能を選択的に変更することによって、文字列の配置が一定でない手書きの手紙や古文書などのデジタル画像に対しても、その内容を解読し情報化する際に、文字の配置効率を改善することができる。
【発明を実施するための最良の形態】
【００２１】
本発明は、コンピュータ装置を前提とするため、図２に簡単に一般的な構成を示す。図２において、Ｉは表示装置、Ｊは入力装置、Ｋは指示装置、Ｌは演算および周辺機器制御装置、Ｍは内部記憶装置、Ｎは外部記憶装置であり、この構成は一般的なコンピュータ装置である。指示装置Ｋはマウスと一般に呼称される装置を用いて以下の説明を行なうが、これに限定されることなくタブレットや、キーボードのタブキーや移動キーなどで代替してもよい。なお、本発明の実施形態は、コンピュータ装置の些細な構成変更には左右はされないことは明白である。
【００２２】
また、非ネットワーク形態で説明するが、通信ネットワークで遠隔地のサーバーとデータを交換しながら本発明を実施することは、今日の技術背景からして自然なことであり、本発明の制約ではないことも明白である。
【実施例１】
【００２３】
図３は、本発明方法の１実施例において、先頭制御点の機能を説明するための模式図である。図１と共通する箇所は同じ記号を用いている。
【００２４】
最初、文字操作レイヤ上で文字は均等に配置されている。文字列の長さは任意でも良いが、段落ごとに配置することを想定して説明する。図３の背後のレイヤには、図１において四角の破線で表記したような画像レイヤ上の各文字位置に相当する部位が存在する。以下、画像の表記は省略するが、このような多層レイヤのひとつにおいて制御点の説明を行なうと理解されたい。
【００２５】
先頭制御点Ｃおよび終端制御点Ｄを加えた総制御点数は、文字数＋２とする。各制御点iには、Ｘ(i)＝{x,y}で座標が保存される。ここで、大文字のＸ(i)はi番目の制御点を表す。文字列は、Ｘ(i-2)の属性として設定する。先頭を０、終端を１、文字列を２の数字を与え、文字列の後方となるほど添数字は増加する。このような基本的な数値の配列を実装する様々な方法があり、コンピュータプログラムでは公知な方法を使って実装することが可能である。
【００２６】
文字位置を編集する場合、文字列の先頭制御点と終端制御点として記録しておいた情報、ならびに各文字の制御点の配置情報が図２の外部記憶装置Ｎから内部記憶装置Ｍに読み込まれ、演算および周辺機器制御装置Ｌが表示装置Ｉに対して位置計算を行なって、最終的に表示装置Ｉ上に配置情報が視覚化して表示される。データを表示する方法については本発明の本質ではないので説明を省略する。
【００２７】
文字の配置に先立ち、制御点の配置座標数値は先頭制御点、終端制御点、一般制御点の順序で配列変数として仮計算しておく。先頭制御点の座標数値に対してその他の制御点の座標数値は相対値としておくと、記録時に配列を短縮するにあたって有効であるが、各標数値は仮に絶対座標であっても良い。以下では簡単のために、各標数値は、画像の左上を原点とし、右あるいは下方向を正方向とする画像の画素位置の情報に等しいと考える。この変数配列は、添字の小さな側から順に解析され表示される。
【００２８】
このとき、マウス指示動作を容易化するために、先頭制御点と終端制御点は一般制御点よりもマウスの指示吸着範囲を大きくし、例えば正方形で指示可能な範囲を枠で表示しておく。後述する他の境界制御点、すなはち、段落制御点、改行制御点、中間制御点も同様である。
【００２９】
一般制御点も例えば正方形で指示吸着範囲を枠で表示しておき、この範囲にマウスの指示点が入ってかつ選択状態になった場合に、マウスのドラッグ機能によって制御点をそれぞれ単独に移動させることができる。
【００３０】
先頭制御点Ｃをマウスで移動させる場合、図３のようにマウスの移動量は先頭制御点Ｃと、文字列後方の終端制御点Ｄを含む各制御点に対して、等しく移動量を加算することで、文字列全体を移動させる。このとき、移動量は負であってもよい。後述するが、もしも、終端制御点の以前に改行制御点があれば、先頭制御点から後方に向け、最初の改行制御点を以って移動の境界とする。
【００３１】
図４は、本発明方法の１実施例において、終端制御点の機能を説明するための模式図である。終端制御点Ｄをマウスで移動させる場合、図４のようにマウスの移動量は終端制御点Ｄには１００％の量が加算され、文字列前方に遡って最初に発見された段落制御点Ｅまでの各制御点に数式１に従って算出した移動量をそれぞれ加算する。あるいは、段落制御点Ｅがなければ、先頭制御点Ｃまでの各制御点に数式１に従って算出した移動量をそれぞれ加算する。このときも移動量は負であってもよい。
【００３２】
段落制御点Ｅ、改行制御点Ｆ、中間制御点Ｇは、編集時に各一般制御点の属性を変更することで、表示や機能を切り換える。これらの特別な制御点の代表点は、その元となる一般制御点の代表点に等しい。属性変更は、図５のように一般制御点選択時に、予め組み込んだポップアップメニューなどで選択できるようにすることが適切な一例である。属性の解除も同様にして行なう。また、こうすれば、一度に与えることのできる属性は１つとなって、機能の無駄な判別が生じない。段落制御点、改行制御点、中間制御点は、必要に応じて設定する。必要がなくなれば解除する。
【００３３】
段落制御点Ｅは、その１つ前にあたる制御点に改行制御点Ｆがあれば事例としては好適である。図６はそのような場合である。段落制御点Ｅをマウスで移動させる場合、段落制御点Ｅと文字列後方の最初の改行制御点Ｆを含む各制御点にも等しい移動量を加算する。あるいは、改行制御点Ｆがなければ、文字列の一般制御点すべてと終端制御点Ｄを含む各制御点に等しい移動量を加算する。このとき、移動量は負であってもよい。
【００３４】
改行制御点Ｆは、その１つ後にあたる制御点に段落制御点Ｅがあれば事例としては好適である。図７はそのような場合である。改行制御点Ｆをマウスで移動させる場合、マウスの移動量は改行制御点Ｆには１００％の量が加算され、文字列前方に遡って最初に発見された段落制御点Ｅまでの各制御点には数式１に従って算出した移動量をそれぞれ加算する。あるいは、段落制御点Ｅがなければ、先頭制御点Ｃまでの各制御点に数式１に従って算出した移動量をそれぞれ加算する。このときも移動量は負であってもよい。
【００３５】
中間制御点Ｇをマウスで移動させる場合、図８のように、改行制御点Ｅの移動量付与の方式を中間制御点Ｇの前後に対して反映させる。中間制御点には１００％の移動量を加算し、境界制御点には０％の移動量を加算し、当該中間制御点Ｇからその前後の別の境界制御点までの各一般制御点には、それぞれ数式１で得られる移動量を加算する。このときも移動量は負であってもよい。
【００３６】
計算や配置は配列の順序に従って昇順あるいは逆順で行なうが、マウス指示が各制御点に指示吸着しているかを判別する場合には、文字配列の逆順によって行なう。そのようにすれば、必ず修了制御点と先頭制御点は最後に認識され、文字列の一般制御点と重複する位置にある場合でも、これらの境界制御点は一般の制御点に比べて指示吸着範囲が大きいように設定するために各点の識別が可能となる。その他の境界制御点に関しては、各一般制御点の判別を行なう時点で、境界制御点でもある場合にはマウスの指示吸着範囲を広くして吸着判定する。
【００３７】
以上の境界制御点の移動編集操作を繰り返すことで、画像レイヤの文字画像の近傍に各文字の制御点を配置できる。更に精密に位置を制御する場合には、一般制御点Ｂを指示装置で移動して配置を確定する。
【００３８】
編集が修了すれば、制御点の配列データを昇順で外部記憶装置Ｎに保存する。文字列についても、同時に保存し配列データと関係付けておく。データの保存の仕方については、本発明の主たる課題ではなく、一般のコンピュータ装置で行なわれる内容であるので、説明を省略する。なお、段落制御点、改行制御点、中間制御点の属性は記録してもしなくても良い。
【００３９】
なお、この発明に限ることではないが、各制御点の動作時に、動作可能な座標軸をＸ軸、Ｙ軸あるいはその他の特定の方向に対して制限することは、精密な配置時の操作性を向上させる。また、文字の順序が分かりやすいように各文字の制御点間を直線で結んで表示したり、先頭コントロールの表示色を変更したりすること、制御点の上あるいは近傍に制御点に関連する該当文字を表示すること、あるいは指示装置の操作をドラッグ主体ではなくポイント主体にするなどは、アクセシビリティーを改善する手法として本発明の実装時に適用することもできるが、これらは本発明の本質に影響を与えるものではない。
【実施例２】
【００４０】
図５は、本発明の別の実施例を説明する模式図であって、先頭制御点Ｃと終端制御点Ｄを一般制御点の最初と最後の位置で置き換えた場合である。この場合、文字を仮想として設定すると、いわゆるポリラインに対して既に実施例１で具体的に説明した本発明の特徴を持つ制御点の編集が可能となる。また、配列の最後の座標値を最初の文字位置の座標値と等しくすると参照線が繋がり、ポリゴンとなるため、ポリゴン状の配置に対しても本発明が適用できる。
【産業上の利用可能性】
【００４１】
手書きの手紙や古文書など文字配置の位置が不均一な文字画像に対して、読み情報を効率良く配置することができるため、デジタルアーカイブデータの利用促進産業に寄与する。また、各種の教育、特に日本語・外国語教育産業に適用できる。
【図面の簡単な説明】
【００４２】
【図１】制御点の役割を説明するための模式図。
【図２】コンピュータ装置の模式図。
【図３】先頭制御点の機能を説明するための模式図。（実施例１）
【図４】終端制御点の機能を説明するための模式図。（実施例１）
【図５】制御点の変更を説明するための例図。（実施例１）
【図６】段落制御点の機能を説明するための模式図。（実施例１）
【図７】改行制御点の機能を説明するための模式図。（実施例１）
【図８】中間制御点の機能を説明するための模式図。（実施例１）
【図９】制御点の機能を説明するための模式図。（実施例２）
【符号の説明】
【００４３】
Ａ    下地となる画像の仮想的な文字範囲
Ｂ    一般制御点
Ｃ    先頭制御点
Ｄ    終端制御点
Ｅ    段落制御点
Ｆ    改行制御点
Ｇ    段落制御点
Ｈ    参照線
Ｉ    表示装置
Ｊ    入力装置
Ｋ    指示装置
Ｌ    演算および周辺機器制御装置
Ｍ    内部記憶装置
Ｎ    外部記憶装置
Ｐ    境界制御点の座標
Ｑ    主たる操作対象となる境界制御点の座標
Ｓ    表示装置に描画された制御点表示レイヤ
Ｔ    表示されたポップアップメニューの項目
Ｘ    元の制御点の座標
Ｘ´  計算で得られた制御点の座標
【図１】
2006011960.tif 000003
【図２】
2006011960.tif 000004
【図３】
2006011960.tif 000005
【図４】
2006011960.tif 000006
【図５】
2006011960.tif 000007
【図６】
2006011960.tif 000008
【図７】
2006011960.tif 000009
【図８】
2006011960.tif 000010
【図９】
2006011960.tif 000011