(57)【要約】【課題】  位置検知部上で指し示され入力された座標を検出して座標位置の軌跡に基づいた描画を行う座標検出システムを提供すること。【解決手段】  座標検出システム１０は、盤面に対して指示動作を行う指示対象により指し示された座標を検出する。座標検出システム１０は、指示対象により指し示された位置の情報を取得し、取得された位置の情報に基づいて指示対象により指し示された座標を算出する座標算出手段２０２と、算出された座標の軌跡に基づき文字認識を行う文字認識手段２０４と、複数の文字それぞれの基準文字データが予め記憶された基準文字データ記憶手段２０８から文字認識結果に対応する基準文字データを読み出し、読み出された基準文字データに基づいて、上記座標の軌跡として描かれた文字を規定する描画文字データを整形する整形手段２１０と、整形された文字を出力する出力制御手段２１４とを含む。【選択図】  図３
2015135537.tif 000002
【特許請求の範囲】
【請求項１】
盤面に対して指示動作を行う指示対象により指し示された座標を検出する座標検出システムであって、
前記指示対象により指し示された位置の情報を取得する位置情報取得手段と、
前記位置情報取得手段によって取得された前記位置の情報に基づいて前記指示対象により指し示された座標を算出する座標算出手段と、
前記座標算出手段により算出された座標の軌跡に基づき、文字認識を行う文字認識手段と、
複数の文字それぞれの基準文字データが予め記憶された基準文字データ記憶手段から前記文字認識手段による文字認識結果に対応する基準文字データを読み出す読出し手段と、
前記読出し手段によって読み出された基準文字データに基づいて、前記座標の軌跡として描かれた文字を規定する描画文字データを整形する整形手段と、
前記整形手段により整形された文字を出力する出力制御手段と
を含む、座標検出システム。
【請求項２】
前記描画文字データおよび前記基準文字データは、それぞれ、文字を構成する１以上のストローク各々の特徴量を含む、請求項１に記載の座標検出システム。
【請求項３】
前記特徴量は、ストロークが含む辺または角の数を含み、前記整形手段は、前記描画文字データおよび前記基準文字データの比較に基づき、ストロークでのハネの余りまたは損失の両方または一方に対する文字整形を行うことを特徴とする、請求項２に記載の座標入出力システム。
【請求項４】
前記特徴量は、ストローク間の交差状態を含み、前記整形手段は、前記描画文字データおよび前記基準文字データの比較に基づき、ストローク間の交差にかかるストロークでの始点および終点の一方または両方の余りおよび不足の両方または一方に対する文字整形を行う、請求項２または３に記載の座標検出システム。
【請求項５】
前記整形手段は、
前記描画文字データの対象ストロークに対応した前記基準文字データの対応ストロークを特定する手段と、
前記描画文字データの対象ストロークの特徴量を取得する手段と、
前記基準文字データの対応ストロークの特徴量を取得する手段と、
前記描画文字データの対象ストロークの特徴量および前記基準文字データの対応ストロークの特徴量が不一致の場合に、該特徴量の不一致状態に応じた前記対象ストロークの変形を行う整形処理を呼び出す手段と
を含む、請求項２〜４のいずれか１項に記載の座標検出システム。
【請求項６】
前記文字認識手段による文字認識結果に基づき、前記座標算出手段により算出された座標の軌跡を文字単位で区分して、文字毎の描画文字データを生成する描画文字データ生成手段をさらに含む、請求項１〜５のいずれか１項に記載の座標検出システム。
【請求項７】
前記座標検出システムは、位置検知面を提供する検出センサと、前記位置検知面と重なる表示面を提供する表示装置とを含み、前記出力制御手段は、整形された文字を前記表示面上で描画し、表示する、請求項１〜６のいずれか１項に記載の座標検出システム。
【請求項８】
盤面に対して指示動作を行う指示対象により指し示された座標を検出するための情報処理装置であって、
前記指示対象により指し示された位置の情報を取得する位置情報取得手段と、
前記位置情報取得手段によって取得された前記位置の情報に基づいて前記指示対象により指し示された座標を算出する座標算出手段と、
前記座標算出手段により算出された座標の軌跡に基づき、文字認識を行う文字認識手段と、
複数の文字それぞれの基準文字データが予め記憶された基準文字データ記憶手段から前記文字認識手段による文字認識結果に対応する基準文字データを読み出す読出し手段と、
前記読出し手段によって読み出された基準文字データに基づいて、前記座標の軌跡として描かれた文字を規定する描画文字データを整形する整形手段と、
前記整形手段により整形された文字を出力する出力制御手段と
を含む、情報処理装置。
【請求項９】
盤面に対して指示動作を行う指示対象により指し示された座標を検出するためにコンピュータが実行する座標検出方法であって、コンピュータが、
前記指示対象により指し示された位置の情報を取得するステップと、
前記位置の情報を取得するステップで取得された前記位置の情報に基づいて前記指示対象により指し示された座標を算出するステップと、
前記座標を取得するステップで取得された座標の軌跡に基づき、文字認識を行うステップと、
複数の文字それぞれの基準文字データが予め記憶された基準文字データ記憶手段から前記文字認識を行うステップでの文字認識結果に対応する基準文字データを読み出すステップと、
前記読み出すステップで読み出された基準文字データに基づいて、前記座標の軌跡として描かれた文字を規定する描画文字データを整形するステップと、
前記整形するステップで整形された文字を出力するステップと
を含む、座標検出方法。
【請求項１０】
盤面に対して指示動作を行う指示対象により指し示された座標を検出するためにコンピュータを、
前記指示対象により指し示された位置の情報を取得する位置情報取得手段、
前記位置情報取得手段によって取得された前記位置の情報に基づいて前記指示対象により指し示された座標を算出する座標算出手段、
前記座標算出手段により算出された座標の軌跡に基づき、文字認識を行う文字認識手段、
複数の文字それぞれの基準文字データが予め記憶された基準文字データ記憶手段から前記文字認識手段による文字認識結果に対応する基準文字データを読み出す読出し手段、
前記読出し手段によって読み出された基準文字データに基づいて、前記座標の軌跡として描かれた文字を規定する描画文字データを整形する整形手段、
前記整形手段により整形された文字を出力する出力制御手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、座標検出システム、情報処理装置、座標検出方法およびプログラムに関し、より詳細には、位置検知面上で指し示され入力された座標を検出して座標位置の軌跡に基づいた表示を行う座標検出システム、情報処理装置、座標検出方法およびプログラムに関する。
【背景技術】
【０００２】
近年、液晶一体型タブレットや電子情報ボードといった、位置検知センサを介して入力された座標に基づいて、即時に座標位置の軌跡を表示画面上に表示する情報機器が開発されている。
【０００３】
上述したような座標検出システムにおいては、ユーザが意図した通りの筆跡で文字を描画できることが望まれている。しかしながら、従来技術の座標検出システムでは、タッチセンサの精度や、表示面と位置検知面とが離れていることによる視差の問題により、ユーザがタッチしようと意図した位置からずれた位置で座標が検知されてしまうという不具合があった。また、デタッチ（ユーザの指、指示具等が位置検知面から離れること）の検知が遅れることにより、ユーザが意図した線の終点よりも線が伸びてしまう「尾引き」の不具合があった。
【０００４】
上述した不具合により、ユーザが意図した通りの筆跡で文字を描画し、手書き文字が読みにくくなってしまわないようにする技術が望まれている。このような不具合に対応しようとする技術として、特開平０５−２２５３９７号公報（特許文献１）が知られている。特許文献１の従来技術では、ストロークのループが比較的小さい場合にループを削除し、方向が手書き方向と異なる場合にその異なる直線部分を削除し、端部の形状が不自然な手書き形状の場合にその端部を削除する技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１の従来技術では、手書き文字の不自然な箇所（小さいループや変な方向への曲がり）を検出して整形することができる。しかしながら、上述した文字として起こり得る方向の尾引きやズレの整形を行えるものではなく、審美性および視認性の観点から充分なものではなかった。
【０００６】
本発明は、上記従来技術における不充分な点に鑑みてなされたものであり、本発明は、文字として起こり得る方向の尾引きやズレの整形を行うことができる、座標検出システム、情報処理装置、座標検出方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明では、上記課題を解決するために、下記特徴を有した、盤面に対して指示動作を行う指示対象により指し示された座標を検出する座標検出システムを提供する。本座標検出システムは、上記指示対象により指し示された位置の情報を取得する位置情報取得手段と、上記位置情報取得手段によって取得された位置の情報に基づいて上記指示対象により指し示された座標を算出する座標算出手段と、上記座標算出手段により算出された座標の軌跡に基づき、文字認識を行う文字認識手段と、複数の文字それぞれの基準文字データが予め記憶された基準文字データ記憶手段から上記文字認識手段による文字認識結果に対応する基準文字データを読み出す読出し手段と、上記読出し手段によって読み出された基準文字データに基づいて、上記座標の軌跡として描かれた文字を規定する描画文字データを整形する整形手段と、上記整形手段により整形された文字を出力する出力制御手段とを含む。
【発明の効果】
【０００８】
上記構成により、文字として起こり得る方向の尾引きやズレの整形を行うことができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態による座標検出表示システムのシステム構成図。
【図２】本実施形態による座標検出表示システムを構成するコンピュータのハードウェア構成図。
【図３】本実施形態による座標検出表示システム上で実現される、文字認識に基づく文字整形処理に関連した機能ブロック図。
【図４】本実施形態による描画文字データ保存部が保持する描画文字データのデータ構造を例示する図。
【図５】本実施形態による座標検出表示システムを構成するコンピュータが実行する、文字認識に基づく文字整形処理の全体を示すフローチャート。
【図６】文字整形の対象となる手書き文字を例示する図。
【図７】本実施形態による座標検出表示システムを構成するコンピュータが実行する、ハネに対する整形処理を示すフローチャート。
【図８】本実施形態による座標検出表示システムを構成するコンピュータが実行する、ストロークの始点に対する整形処理を示すフローチャート。
【図９】（Ａ）ストロークのハネおよび（Ｂ）ストロークの始点に対する整形処理を説明する図である。
【発明を実施するための形態】
【００１０】
以下、本実施形態について説明するが、以下に説明する実施形態に限定されるものではない。なお、以下、座標検出システムの一例として、手書き入力を受け付ける位置検知面を提供する検出センサと、位置検知面と重なる表示面を提供する表示装置とを含み構成される、座標検出表示システムを用いて説明する。
【００１１】
図１は、本実施形態による座標検出表示システム１０のシステム構成図である。図１に示す座標検出表示システム１０は、ＬＣＤ（Liquid Crystal Display）ディスプレイなどの表示装置１２０と、４つの検出部１１ａ〜１１ｄと、４つの周辺発光部１５ａ〜１５ｄと、コンピュータ１００とを含み構成される。以下、任意の１つ以上の検知部または全体を指して単に検出部１１と参照する場合があり、任意の１つ以上の周辺発光部または全体を指して単に周辺発光部１５と参照する場合がある。
【００１２】
４つの周辺発光部１５ａ〜１５ｄは、表示装置１２０の周囲に配置されており、着脱可能に装着されている。周辺発光部１５は、それぞれ、赤外線を照射し、検出部１１は、赤外線を検出する。周辺発光部１５により照射された赤外線が指示具１３により遮られると、影となって検出され、三角測量により指示具１３が指し示す位置が判定される。４つの検出部１１ａ〜１１ｄおよび４つの周辺発光部１５ａ〜１５ｄは、手書き入力を受け付ける位置検知面（位置検知部）を提供する検出センサを構成する。
【００１３】
コンピュータ１００には、座標検出表示システム１０に対応したアプリケーションがインストールされている。アプリケーションは、検出部１１からの信号に基づきユーザが指し示す位置を検出し、ジェスチャーを解析して、コンピュータ１００を制御することを可能とする。アプリケーションは、典型的には、操作用のメニューを表示装置１２０に表示することができる。また、本実施形態によるアプリケーションは、検出部１１からの信号に基づき、ユーザが指し示す位置の座標を算出し、ユーザが指示具１３を用いて描いた座標の軌跡に基づき表示データを生成し、表示装置１２０に表示することを可能とする。
【００１４】
例えば、ユーザが、線を描画するメニューに触れた後、指示具１３を用いて表示装置１２０の盤面（位置検知面および表示面）に図形を描画した場合、コンピュータ１００は、指示具１３が触れている位置座標を解析して、座標の軌跡を規定する時系列データを作成する。そして、時系列データの座標を接続して線が描画され、表示データが生成されて、表示装置１２０に表示される。図１においては、ユーザが三角形の形状に沿って指示具１３を移動させたため、一連の座標を１つのストローク（三角形）が記録される。そして、コンピュータ１００は、ストロークの描画オブジェクトを背景と合成して表示装置１２０に表示する。
【００１５】
座標検出表示システム１０には、コンピュータ１００に接続されるＰＣ（Personal Computer）１３０が含まれてもよい。コンピュータ１００は、例えば、ＰＣ１３０が出力した映像を背景として表示装置１２０に表示させることができる。なお、背景は、特に限定されるものではなく、黒板やホワイトボードを模した画像としてもよいし、ＰＣ１３０が出力するスライドなどの映像としてもよい。
【００１６】
上述した座標検出表示システム１０を適用することにより、表示装置１２０がタッチパネル機能を有していなくても、ユーザは、指示具１３などの指示対象を用いて表示装置１２０に接触ないし近接するだけで様々な操作が可能になる。上記指示具１３は、タッチペンないしスタイラスなどとすることができるが、特に限定されるものではなく、指示具１３を用いなくても手指で位置を入力してもよい。
【００１７】
図２は、本実施形態による座標検出表示システム１０を構成するコンピュータ１００のハードウェア構成図である。コンピュータ１００は、市販の汎用コンピュータまたは座標検出表示システム用に開発された専用装置として構成することができる。
【００１８】
コンピュータ１００は、アドレスバスやデータバスなどを含むバス１１８を介して電気的に接続された、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ（Read Only Memory）１０２と、ＲＡＭ（Random Access Memory）１０３と、ＳＳＤ（Solid State Drive）１０４と、ネットワーク・コントローラ１０５と、外部記憶コントローラ１０６と、キャプチャデバイス１１１と、ＧＰＵ（Graphics Processing Unit）１１２と、センサ・コントローラ１１４とを含む。
【００１９】
ＣＰＵ１０１は、上記アプリケーションを実行して座標検出表示システム１０の動作全体を制御する。ＲＯＭ１０２には、ＩＰＬ（Initial Program Loader）などが記憶されており、主に起動時にＣＰＵ１０１が実行するプログラムが記憶されている。ＲＡＭ１０３は、ＣＰＵ１０１がアプリケーションを実行する際の作業空間を提供する。ＳＳＤ１０４は、座標検出表示システム用のアプリケーション・プログラム１１９や各種データを記憶する。ネットワーク・コントローラ１０５は、図示しないネットワークを介して、サーバなどと通信する際に通信プロトコルに基づく処理を行う。なお、ネットワークは、ＬＡＮ（Local Area Network）または複数のＬＡＮが接続されたＷＡＮ（Wide Area Network；例えばインターネット）などである。
【００２０】
外部記憶コントローラ１０６は、着脱可能な外部メモリ１１７への書き込みおよび外部メモリ１１７からの読み出しを制御する。外部メモリ１１７は、例えばフラッシュメモリ、ＳＤ（登録商標）カードなどのリムーバブル・メディアである。キャプチャデバイス１１１は、ＰＣ１３０が出力している映像を取り込む（キャプチャする）。ＧＰＵ１１２は、表示装置１２０の各ピクセルの画素値を演算する描画専用のプロセッサである。ディスプレイ・コントローラ１１３は、ＧＰＵ１１２が作成した画像を表示装置１２０に出力する。
【００２１】
センサ・コントローラ１１４には、検出部１１が接続されており、特に限定されるものではないが、赤外線光遮断による三角測量方式に基づく位置の検出を行う。なお、説明する実施形態では、コンピュータ１００は、指示具１３と通信することを必要としないが、通信機能を有していてもよい。この場合に、図２に示すように、コンピュータ１００は、電子ペン・コントローラ１１６を有し、通知手段を有する指示具１３から押圧信号を受信することができる。これにより、コンピュータ１００は、先端が押圧されているか否かを検出することができる。
【００２２】
なお、座標検出表示システム１０用のアプリケーション１１９は、外部メモリ１１７に記憶された状態で配布されてもよいし、ネットワーク・コントローラ１０５を介して図示しないサーバからダウンロードされてもよい。
【００２３】
また、説明する実施形態では、赤外線イメージセンサ方式を採用し、入射光量に基づいて位置を検出するものとするが、位置入力方式は、特に限定されるものではない。例えば、マトリクス・スイッチ方式、抵抗膜方式、表面弾性波方式、電磁誘導方式、静電容量方式などのこれまで知られたいかなる方式を採用することができる。さらに、位置検知面および表示面は、典型的には、平面を構成しているが、曲面であることを妨げるものではない。
【００２４】
上述したように、座標検出表示システム１０においては、ユーザが指示具１３を用いて表示装置１２０の盤面に文字や図形を描いた場合、コンピュータ１００は、指示具１３により指し示される位置の座標をリアルタイムに算出し、算出された座標の軌跡に基づき線を描画して表示データを生成し、表示装置１２０に表示させることができる。これにより、あたかもキャンパスに手書きしているかのようなユーザ・エクスペリエンスを提供する。
【００２５】
このとき、センサの位置検知精度や表示面および位置検知面の距離による視差に起因して、位置ズレや尾引きが生じ、手書きした文字の審美性や視認性が劣化してしまう可能性がある。そこで、本実施形態による座標検出表示システム１０では、コンピュータ１００は、手書きされた文字の軌跡に対して、文字認識に基づく文字整形処理を実行し、手書き文字の視認性および審美性の向上を図っている。
【００２６】
以下、図３〜図９を参照しながら、本実施形態による文字認識に基づく文字整形処理について説明する。図３は、本実施形態による座標検出表示システム１０上で実現される、文字認識に基づく文字整形処理に関連した機能ブロック図を示す。上述したように、ユーザは、指示具１３などの指示対象を用いて位置検知面上で位置を指し示し、文字を書くといった描画行為を行う。このとき、検出部１１では、指示具１３の位置を検出するためのデータが随時取得され、コンピュータ１００に随時入力される。
【００２７】
コンピュータ１００の機能ブロック２００は、座標算出部２０２と、文字認識部２０４と、描画文字データ保存部２０６と、基準文字データ保存部２０８と、文字整形部２１０と、表示データ生成部２１２と、表示制御部２１４とを含み構成される。
【００２８】
検出部１１で取得されたデータは、座標算出部２０２が取得する。座標算出部２０２は、検出部１１から取得したデータに基づき、位置検知面を介して指し示された位置の座標をリアルタイムで算出する。なお、座標検出および座標算出の仕組みは、赤外線イメージセンサ方式や静電容量方式といった既知の技術に依存するものであり、ここでは、詳細な説明は省略する。座標算出部２０２は、指し示された位置座標を算出し、座標の軌跡を規定する時系列データを生成し、文字認識部２０４に出力する。座標算出部２０２は、本実施形態による位置情報取得手段および座標算出手段を構成する。
【００２９】
文字認識部２０４は、文字認識技術を適用し、上記座標の軌跡の時系列データに基づき、描かれた文字を認識する処理を行う。文字認識方式としては、特に限定されるものではないが、例えば、ペン先の動きやペンダウンやペンアップのような手書き動作に応答して生成される筆跡の時系列データを、認識アルゴリズムに従って文字データベースとのパターンマッチングを行い、描かれた文字を推定する、オンライン手書き認識技術を用いることができる。また、その際に、複数文字の単位で認識処理を行い、単語などの辞書を用いて、文字同士の連結のしやすさが考慮されてもよい。さらに、他の実施形態では、座標の軌跡に基づき画像化して、オフライン文字認識技術を適用して文字を認識してもよい。
【００３０】
文字認識部２０４は、文字認識結果に基づき、時系列データを文字単位で区分し、描かれた文字を規定する描画文字データを生成し、描画文字データ保存部２０６に保存する。文字認識部２０４は、本実施形態による文字認識手段および描画文字データ生成手段を構成する。文字認識部２０４による文字認識結果（認識された文字を識別する情報を含む。）は、文字整形部２１０に出力される。
【００３１】
文字整形部２１０は、文字認識部２０４からの文字認識結果を受け取り、描画文字データ保存部２０６から読み出した描画文字データと、認識された文字の手本となる形状を規定する基準文字データとに基づいて、描画文字データが規定する文字に対して整形処理を施す。基準文字データ保存部２０８には、種々の文字に対する模範的な形状を規定する基準文字データが事前に準備されており、文字整形の際には、文字整形部２１０は、認識された文字に対応する基準文字データを読み出す。なお、基準文字データに複数の書体があってもよい。文字整形部２１０は、本実施形態による読出し手段および整形手段を構成する。
【００３２】
図４は、本実施形態による描画文字データ保存部２０６が保持する描画文字データのデータ構造を例示する図である。図４に示すように、描画文字データは、文字単位で構成され、文字を構成する１筆分のストロークデータの１以上の配列を含み構成される。例えば、片仮名の「カ」という文字は、２筆分のストロークデータから構成される。片仮名の「テ」という文字は、３筆分のストロークデータから構成される。
【００３３】
各一筆分のストロークは、図４に示すように、１筆分の座標データと、文字においてストロークを識別するストロークＩＤと、ストロークの特徴量とを含み構成される。特徴量とは、ストロークを特徴付ける情報であり、説明する実施形態では、ストロークにおける角の数（あるいは辺の数でもよい。）、ストローク間の交差の有無、交差が有る場合の交差先ストロークを識別するストロークＩＤを含むことができる。また、座標データは、座標値（ｘ，ｙ）のほか、ペン先の速度などの動き情報や筆圧情報などを含んでいてもよい。
【００３４】
なお、図４は、描画文字データ保存部２０６が保持する描画文字データのデータ構造を示しているが、基準文字データ保存部２０８が保持する基準文字データのデータ構造も同様である。基準文字データは、手本となる文字を規定する１以上のストロークの配列として構成され、各ストロークは、手本となる文字における一筆の形状を規定する座標データ、ストロークＩＤ、手本となる文字の各ストロークに事前設定された特徴量とを含む。
【００３５】
文字整形部２１０は、好ましくは、描画文字データおよび基準文字データの比較に基づき、ストロークに含まれる角の数の特徴量を用いて、ストロークでのハネの余りや、ハネの損失に対する文字整形を行うことができる。文字整形部２１０は、好ましくは、ストローク間の交差状態の特徴量を用いて、ストローク間の交差にかかる始点や終点の余りや、始点や終点の不足に対する文字整形を行うことができる。文字整形処理が施された描画文字データは、表示データ生成部２１２に出力される。なお、文字整形処理については、詳細を後述する。
【００３６】
表示データ生成部２１２は、文字整形処理が施された描画文字データを受け取り、整形された文字を表示するための表示データを生成する。表示データは、特に限定されるものではなく、例えば、整形された文字を画像化した画像であってもよいし、整形された文字を描く描画命令のセットを含んでいてもよい。表示制御部２１４は、上記表示データ生成部２１２により生成された表示データを表示装置１２０に送信して表示面上に表示させる。表示制御部２１４は、本実施形態による出力制御手段を構成する。
【００３７】
なお、上述した各機能部２０２〜２１４は、ＣＰＵ１０１がアプリケーション・プログラム１１９を読み出し、ＲＡＭ１０３の作業空間に展開することにより、コンピュータ１００上で実現される。しかしながら、上記機能部２０２〜２１４の全部がコンピュータ１００上で稼働するソフトウェアとして構成される必要はない。他の実施形態では、上記機能部２０２〜２１４の一部または全部がハードウェアによって提供されてもよい。例えば、特定の実施形態においては、ユーザが指先またはペンで位置検知面をタッチ等したことに応答して、タッチ等された位置検知面上の位置座標の演算を実行するコントローラの一部として、上記座標算出部２０２の機能が提供されてもよい。その場合に、コンピュータ１００は、演算された座標位置を、コントローラから受信することで取得するように構成される。
【００３８】
また、上述した各機能部２０２〜２１４は、単一のコンピュータ上に構成されることも要さず、ネットワークを介して相互に接続される複数のコンピュータからなるコンピュータ・システム上で分散されてもよい。例えば、リモートでキャンパスを共有する複数の座標検出表示システム間で、一方で行われた入力に基づいて他方が表示する場合に対しても適用することができる。
【００３９】
図５は、本実施形態による座標検出表示システム１０を構成するコンピュータ１００が実行する、文字認識に基づく文字整形処理の全体を示すフローチャートである。図５に示す処理は、文字整形処理を開始させる契機となるイベント（整形処理開始イベントと参照する。）の発生に応答して、ステップＳ１００から開始される。整形処理開始イベントは、説明する実施形態では、ペンダウンして文字の描画行為が行われた後、ペンアップした状態が一定時間維持されたことを検知したタイミングや、ペンアップした状態で基準以上の距離の移動を検知したタイミングなどで発生する。
【００４０】
ステップＳ１０１では、コンピュータ１００は、座標算出部２０２により、対象となる時系列データを取得する。ここでは、ペンダウンした時点から、ペンアップおよびペンダウンを各筆分繰り返し、最後にペンアップした状態で一定期間が経過または一定以上移動する時点までの座標の軌跡を規定する時系列データが対象として取得される。ステップＳ１０２では、コンピュータ１００は、文字認識部２０４により、対象となる時系列データに基づき文字認識を行い、描かれた１以上の文字を推定する。
【００４１】
ステップＳ１０３では、コンピュータ１００は、文字認識に成功したか否かを判定する。例えば、一定以上の確からしさで文字が認識された場合に、成功したものと取り扱うことができる。例えば、文字ではないフリーハンドの絵が描かれている場合や、文字が乱れすぎている場合や、文字を書き切る途中で筆が止まり一定時間以上ペンアップ状態となった場合は、文字認識に失敗することになる。ステップＳ１０３で、文字認識に失敗したと判定された場合（ＮＯ）は、ステップＳ１０９へ処理が分岐され、本処理を終了し、再度の整形処理開始イベントの発生が待ち受けられる。
【００４２】
これに対して、ステップＳ１０３で、文字認識に成功したと判定された場合（ＹＥＳ）は、ステップＳ１０４へ処理が進められる。ステップＳ１０４では、コンピュータ１００は、文字認識部２０４により、文字認識結果に基づいて、時系列データを文字単位で区分して、各文字毎の描画文字データを生成し、描画文字データ保存部２０６に保存する。文字認識結果は、文字認識部２０４から文字整形部２１０に送信される。
【００４３】
ステップＳ１０５では、コンピュータ１００は、文字整形部２１０により、基準文字データ保存部２０８から、認識された文字の基準文字データを読み出す。ステップＳ１０６では、コンピュータ１００は、文字整形部２１０により、各文字の描画文字データについて、描画文字データに対応して認識された文字の基準文字データに基づいて文字整形を施し、描画文字データを修正する。修正された描画文字データは、文字整形部２１０から表示データ生成部２１２に送信される。
【００４４】
ステップＳ１０７では、コンピュータ１００は、表示データ生成部２１２により、修正された描画文字データに基づいて、整形後の文字を出力表示するための表示データを生成する。ステップＳ１０８では、コンピュータ１００は、表示制御部２１４により、整形後の表示データに基づき描画処理を行い、表示装置１２０に描画結果を送信して表示させ、ステップＳ１０９で本処理を終了させる。この場合も、再度の整形処理開始イベントの発生が待ち受けられる。
【００４５】
例示的な実施形態では、手書きされたストロークをリアルタイムで表示させる処理中に上述した文字認識に基づく文字整形処理を適用し、一旦リアルタイムに手書きされた文字の描画像を、上記整形後の文字の描画像で更新するように構成することができる。
【００４６】
以下、本実施形態による文字認識に基づく文字整形処理について、より詳細に説明する。図６は、本実施形態において、文字整形の対象となる手書き文字を例示する。
【００４７】
図６（Ａ）は、余分なハネが含まれる片仮名「カ」の手書き文字を例示する。図６（Ｂ）は、ハネが不足する片仮名「カ」の手書き文字を例示する。図６（Ａ）の例では、片仮名「カ」の第２画目の末尾は、本来はねるべき箇所ではないにもかかわらず、はねてしまっており、第２ストロークに余分なハネが含まれている。これに対して、図６（Ｂ）の例では、片仮名「カ」の第１画目の末尾は、本来はねるべき箇所であるのにもかかわらず、はねていないため、第１ストロークにハネが不足している。
【００４８】
また、図６（Ｃ）は、始点が欠けている片仮名「テ」の手書き文字を例示する。図６（Ｄ）は、始点が突き出している片仮名「テ」の手書き文字を例示する。図６（Ｃ）の例では、片仮名「テ」の第３画目の始点は、本来、第２画目の線に接しているべきであるにも関わらず、第２画目の線から離れてしまい、第２ストロークの長さが不足している。これに対して、図６（Ｄ）の例では、第２画目の線が突き出してしまっており、第２ストロークの長さが余分である。
【００４９】
また、図６（Ｅ）は、終点が欠けている漢字「田」の手書き文字を例示する。図６（Ｆ）は、終点が突き出している漢字「田」の手書き文字を例示する。図６（Ｅ）の例では、漢字「田」の第４画目の終点は、本来、第２画目の線に接しているべきであるにも関わらず、第２画目の線から離れてしまい、第４ストロークの長さが不足している。これに対して、図６（Ｅ）の例では、第４画目の線が第２画目の線を越えて突き出してしまっており、第４ストロークの長さが余分である。
【００５０】
本実施形態による文字整形部２１０は、図６に例示するような、ストロークでのハネの余りまたは損失の両方または一方に対する文字整形、ストローク間の交差にかかるストロークでの始点および終点の一方または両方の余りおよび不足の両方または一方に対する文字整形を行う。以下、図７〜図９を参照しながら、本実施形態によるハネおよび端点の整形処理について、より詳細に説明する。
【００５１】
図７は、本実施形態による座標検出表示システム１０を構成するコンピュータ１００が実行する、ハネに対する整形処理を示すフローチャートである。図９（Ａ）は、ストロークのハネに対する整形処理を説明する図である。
【００５２】
図７に示す処理は、図５に示したステップＳ１０６で、各文字の描画文字データ毎に呼び出され、ステップＳ２００から開始される。ステップＳ２０１〜ステップＳ２０８のループでは、描画文字データにおける各１筆分のストローク（ｉ）を対象ストロークとして、各対象ストロークについて、ステップＳ２０２〜ステップＳ２０７で示す処理が実行される。
【００５３】
ステップＳ２０２では、コンピュータ１００は、文字整形部２１０により、描画文字データの対象ストローク（ｉ）の特徴量である角の数ｄｒａｗＥｄｇｅＮｕｍｉを取得する。対象ストローク（ｉ）が含む角の数は、典型的には、文字認識の際に角が検出され計数されて、描画文字データに付記される。角の検出方法は、特に限定されるものではないが、座標データの差分ベクトルの角度変化が閾値以上となった場合に角と判定する方法や、座標データの曲率の値が閾値以上となった場合に角と判定する方法を採用することができる。
【００５４】
ステップＳ２０３では、コンピュータ１００は、文字整形部２１０により、描画文字データの対象ストローク（ｉ）に対応する基準文字データの対応ストローク（ｊ）を決定する。描画されたストロークと、基準文字におけるストロークの対応関係の特定方法は、特に限定されるものではないが、筆順やストロークの形状（方向や位置関係を含む。）から判定する方法を採用することができる。ステップＳ２０４では、コンピュータ１００は、文字整形部２１０により、基準文字データの対応ストローク（ｊ）の特徴量である角の数ｍｏｄｅｌＥｄｇｅＮｕｍｊを取得する。ここで、対象ストローク（ｊ）が含む角の数は、あらかじめ設定されているものとする。
【００５５】
ステップＳ２０５では、描画文字データの対象ストローク（ｉ）の角の数ｄｒａｗＥｄｇｅＮｕｍｉおよび基準文字データの対応ストローク（ｊ）の角の数ｍｏｄｅｌＥｄｇｅＮｕｍｊの大小関係により処理を分岐させる。すなわち、対象ストローク（ｉ）および対応ストローク（ｊ）間で角の数が不一致の場合に、角の数の不一致状態に応じた対象ストロークの変形を行う整形処理が呼び出される。
【００５６】
描画文字データの対象ストローク（ｉ）の角の数が、基準文字データの対応ストローク（ｊ）の角の数よりも１つ多い場合（ｄｒａｗＥｄｇｅＮｕｍｉ＝ｍｏｄｅｌＥｄｇｅＮｕｍｊ＋１）は、ステップＳ２０６へ処理が分岐される。ステップＳ２０６では、描画文字データの対象ストローク（ｉ）に対し、ハネの除去処理を施し、ステップＳ２０８へ処理を進める。ここでは、対象ストローク（ｉ）の最後の角から末尾までの座標は、余分なはねであると判断されて、除去される。
【００５７】
これに対して、描画文字データの対象ストローク（ｉ）の角の数が、基準文字データの対応ストローク（ｊ）の角の数よりも１つ少ない場合（ｄｒａｗＥｄｇｅＮｕｍｉ＝ｍｏｄｅｌＥｄｇｅＮｕｍｊ−１）は、ステップＳ２０７へ処理が分岐される。ステップＳ２０７では、対象ストローク（ｉ）に対し、ハネの追加処理を施し、ステップＳ２０８へ処理を進める。ここでは、対象ストローク（ｉ）に、本来存在するべきハネが欠けていると判断できるので、ハネを構成する座標値が追加される。ハネの座標値は、基準文字データの対応ストロークの座標データに基づいて算出することができる。
【００５８】
描画文字データおよび基準文字データでストロークの角の数が一致する場合（ｄｒａｗＥｄｇｅＮｕｍｉ＝ｍｏｄｅｌＥｄｇｅＮｕｍｊ）は、ステップＳ２０８へ直接処理が分岐される。この場合は、ストロークの角に過不足がないので、整形を行わずに、処理を進める。なお、基準文字データの角の数よりも１つ以上多い場合、１つ以上少ない場合も同様である。
【００５９】
片仮名「カ」を描画する場合でハネの除去処理の具体例を図９（Ａ）に示す。第１画目のストロークの場合は、ｄｒａｗＥｄｇｅＮｕｍ１＝２およびｍｏｄｅｌＥｄｇｅＮｕｍ１＝２であるので、ハネ除去処理およびハネ追加処理は行わずに、次のストロークへ処理が進められる。これに対して、第２画目のストロークの場合は、ｄｒａｗＥｄｇｅＮｕｍ２＝１で、ｍｏｄｅｌＥｄｇｅＮｕｍ２＝０であるので、ハネ除去処理が行われ、余分なハネが除去される。図９（Ａ）には、整形後の文字も示されている。
【００６０】
図８は、本実施形態による座標検出表示システムを構成するコンピュータが実行する、ストロークの始点に対する整形処理を示すフローチャートである。図９（Ｂ）は、ストロークの始点の整形に関する整形処理を説明する図である。
【００６１】
図８に示す処理も、図５に示したステップＳ１０６で、各文字の描画文字データ毎に呼び出され、ステップＳ３００から開始される。ステップＳ３０１〜ステップＳ３０９のループでは、描画文字データにおける各１筆分のストローク（ｉ）を対象ストロークとして、各対象ストロークについて、ステップＳ３０２〜ステップＳ３０８で示す処理が実行される。
【００６２】
ステップＳ３０２では、コンピュータ１００は、文字整形部２１０により、描画文字データの対象ストローク（ｉ）に対応する基準文字データの対応ストローク（ｊ）を決定する。描画されたストロークと、基準文字におけるストロークとの対応関係の特定は、図７と同様な手法で行うことができる。
【００６３】
ステップＳ３０３では、コンピュータ１００は、文字整形部２１０により、基準文字データの対応ストローク（ｊ）の特徴量を取得する。ここでは、ストロークの特徴量として、始点接続先ストロークｍｏｄｅｌＣｏｎｎｅｃｔｉｏｎＤｓｔｊおよび始点接続状態ｍｏｄｅｌＣｏｎｎｅｃｔｉｏｎＳｔａｔｅｊの２つが定義される。
【００６４】
始点接続先ストロークは、ストロークに交差し、かつ交差点が始点に最も近いストロークを指すポインタである。始点接続状態は、ストロークの始点接続先ストロークとの交差状態を表す値である。始点接続状態は、ストロークが始点接続先ストロークに接している場合を表す「接」と、ストロークが始点接続先ストロークから突き出している場合を表す「突」と、始点接続先ストロークが存在せず、交差するストロークが無い場合を表す「無」の３つの値のいずれかをとる。ここで、基準文字データの対応ストローク（ｊ）が含む始点接続先ストロークおよび始点接続状態は、あらかじめ設定されているものとする。
【００６５】
ステップＳ３０４では、コンピュータ１００は、文字整形部２１０により、基準文字データの対応ストローク（ｊ）の始点接続状態に応じて処理を分岐させる。ステップＳ３０４で、始点接続先ストロークが存在しせず、交差するストロークが無いと判定された場合（ｍｏｄｅｌＣｏｎｎｅｃｔｉｏｎＳｔａｔｅｊ＝「無」）は、ステップＳ３０９へ処理が分岐される。これに対して、ステップＳ３０４で、対応ストロークが始点接続先ストロークに接していると判定された場合（ｍｏｄｅｌＣｏｎｎｅｃｔｉｏｎＳｔａｔｅｊ＝「接」）は、ステップＳ３０５へ処理を分岐させる。ステップＳ３０４で、対応ストロークが始点接続先ストロークから突き出していると判定された場合（ｍｏｄｅｌＣｏｎｎｅｃｔｉｏｎＳｔａｔｅｊ＝「突」）も、ステップＳ３０５へ処理を分岐させる。
【００６６】
ステップＳ３０５では、コンピュータ１００は、文字整形部２１０により、描画文字データの対象ストローク（ｉ）の始点接続先ストロークｄｒａｗＣｏｎｎｅｃｔｉｏｎＤｓｔｉおよび始点接続状態ｄｒａｗＣｏｎｎｅｃｔｉｏｎＳｔａｔｅｉを取得する。描画文字データの対象ストローク（ｉ）の始点接続先ストロークｄｒａｗＣｏｎｎｅｃｔｉｏｎＤｓｔｉは、図７に示したステップＳ２０３と同様な手法でストロークの対応関係を取り、基準文字データの対応ストローク（ｊ）の始点接続先ストロークｍｏｄｅｌＣｏｎｎｅｃｔｉｏｎＤｓｔｊに対応する描画文字データのストロークが特定される。
【００６７】
描画文字データの対象ストローク（ｉ）の始点接続状態ｄｒａｗＣｏｎｎｅｃｔｉｏｎＳｔａｔｅｉは、対象ストローク（ｉ）が、始点接続先ストロークｄｒａｗＣｏｎｎｅｃｔｉｏｎＤｓｔｉに接している場合は、接していることを示す値「接」が設定される。対象ストローク（ｉ）が、始点接続先ストロークｄｒａｗＣｏｎｎｅｃｔｉｏｎＤｓｔｉから突き出している場合は、突き出していることを示す値「突」が設定される。これに対して、対象ストローク（ｉ）が、始点接続先ストロークｄｒａｗＣｏｎｎｅｃｔｉｏｎＤｓｔｉと交差していない場合、交差していないことを示す値「無」が設定される。
【００６８】
ステップＳ３０６では、描画文字データの対象ストローク（ｉ）および基準文字データの対応ストローク（ｊ）の始点接続状態の関係に基づいて処理を分岐させる。すなわち、対象ストローク（ｉ）および対応ストローク（ｊ）の間で上記始点接続状態が不一致の場合には、下記表１に示す分岐条件に従って、対象ストロークの変形を行う整形処理が呼び出される。
【００６９】
【表１】
2015135537.tif 000003
【００７０】
描画文字データの対象ストローク（ｉ）および基準文字データの対応ストローク（ｊ）の始点接続状態が一致する場合は、ステップＳ３０８へ直接処理が分岐される。この場合は、ストロークの始点の位置がずれていないので、整形を行わずに、処理を進める。
【００７１】
これに対して、基準文字データの対応ストローク（ｊ）の始点接続状態が「突」であるにもかかわらず、描画文字データの対象ストローク（ｉ）の始点接続状態が「接」または「無」である場合は、ステップＳ３０７へ処理が分岐される。基準文字データの対応ストローク（ｊ）の始点接続状態が「接」であるにもかかわらず、描画文字データの対象ストローク（ｉ）の始点接続状態が「無」である場合も、ステップＳ３０７へ処理が分岐される。ステップＳ３０７では、描画文字データの対象ストローク（ｉ）に対し、基準文字データの対応ストローク（ｊ）の始点接続状態により示される状態となるように、始点延長処理を施し、ステップＳ３０９へ処理を進める。
【００７２】
基準文字データの対応ストローク（ｊ）の始点接続状態が「接」であるにもかかわらず、描画文字データの対象ストローク（ｉ）の始点接続状態が「無」である場合は、ストローク（ｉ）の始点が始点接続先ストロークに接するように座標が追加される。基準文字データの対応ストローク（ｊ）の始点接続状態が「突」であるにもかかわらず、描画文字データの対象ストローク（ｉ）の始点接続状態が「接」または「無」である場合、ストローク（ｉ）の始点が始点接続先ストロークから飛び出すように座標が追加される。なお、追加する座標値は、基準文字データに基づいて算出することができる。
【００７３】
これに対して、基準文字データの対応ストローク（ｊ）の始点接続状態が「接」であるにもかかわらず、描画文字データの対象ストローク（ｉ）の始点接続状態が「突」である場合は、ステップＳ３０８へ処理が分岐される。ステップＳ３０８では、描画文字データの対象ストローク（ｉ）に対し、基準文字データの対応ストローク（ｊ）の始点接続状態が示す状態となるように、始点短縮処理を施し、ステップＳ３０９へ処理を進める。
【００７４】
基準文字データの対応ストローク（ｊ）の始点接続状態が「接」であるにもかかわらず、描画文字データの対象ストローク（ｉ）の始点接続状態が「突」である場合は、ストローク（ｉ）の始点が始点接続先ストロークに接するように座標が除去される。除去する座標値は、基準文字データに基づいて算出することができる。
【００７５】
片仮名「イ」を描画する場合で始点の短縮処理の具体例を図９（Ｂ）に示す。この場合、第１画目のストロークでは、ｍｏｄｅｌＣｏｎｎｅｃｔｉｏｎＤｓｔ１＝ｄｒａｗＣｏｎｎｅｃｔｉｏｎＤｓｔ１＝２となる。手書き文字において、第１画目のストロークは、第２画目のストロークから突き出しているので、ｄｒａｗＣｏｎｎｅｃｔｉｏｎＳｔａｔｅ１＝「突」となる。手本文字において、第１画目のストロークは、第２画目のストロークから突き出しているので、ｍｏｄｅｌＣｏｎｎｅｃｔｉｏｎＳｔａｔｅ１＝「突」であり、一致するので、そのまま次へ進められる。
【００７６】
第２画目のストロークの場合は、ｍｏｄｅｌＣｏｎｎｅｃｔｉｏｎＤｓｔ２＝ｄｒａｗＣｏｎｎｅｃｔｉｏｎＤｓｔ２＝１となる。手書き文字において、第２画目のストロークは、第１画目のストロークから突き出しているので、ｄｒａｗＣｏｎｎｅｃｔｉｏｎＳｔａｔｅ２＝「突」となる。手本文字において、第２画目のストロークは、第１画目のストロークに接しているので、ｍｏｄｅｌＣｏｎｎｅｃｔｉｏｎＳｔａｔｅ１＝「接」であり、不一致であり、かつ、ｄｒａｗＣｏｎｎｅｃｔｉｏｎＳｔａｔｅ２＞ｍｏｄｅｌＣｏｎｎｅｃｔｉｏｎＳｔａｔｅ２であるので、始点除去処理を行う。この場合、図９（Ｂ）に示すように、第２画目のストロークの始点が第１画目のストロークに接するように、座標が除去される。
【００７７】
なお、図８に示す実施形態では、基準文字データにおいて、他のストロークと交差しないストロークについては、整形処理を行っていない。しかしながら、他の実施形態では、基準文字データにおいて他のストロークと交差しないストロークに対応する描画されたストロークが、他のストロークと交差する場合にも、他のストロークと交差しないよう始点を短縮する始点短縮処理を追加することもできる。
【００７８】
また、図８では、始点の欠けまたは突き出しに対する処理について説明したが、終点の欠けおよび突き出しに対する処理についても、「始点」を「終点」に置き換えれば、同様に行える。
【００７９】
以上説明した実施形態によれば、文字として起こり得る方向の尾引きやズレの整形を行うことができる、座標検出システム、情報処理装置、座標検出方法およびプログラムを提供することができる。
【００８０】
上記実施形態による座標検出システムでは、手書きされた文字の軌跡に対して文字認識が行われ、手書きされた文字と、認識された文字との比較に基づいて、手書き文字の尾引きやズレの部分が検出され、整形されることになる。このため、従来技術では対応できなかった、文字として起こり得る方向の尾引きやズレの整形が可能となり、手書き文字の審美性および視認性を向上させることができる。
【００８１】
なお、上記機能部は、アセンブラ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ＲＯＭ、ＥＥＰＲＯＭ、ＥＰＲＯＭ、フラッシュメモリ、フレキシブルディスク、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ブルーレイディスク、ＳＤカード、ＭＯなど装置可読な記録媒体に格納して、あるいは電気通信回線を通じて頒布することができる。
【００８２】
これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【００８３】
１０…座標検出表示システム、１１…検出部、１３…指示具、１５…周辺発光部、１００…コンピュータ、１０１…ＣＰＵ、１０２…ＲＯＭ、１０３…ＲＡＭ、１０４…ＳＳＤ、１０５…ネットワーク・コントローラ、１０６…外部記憶コントローラ、１１１…キャプチャデバイス、１１２…ＧＰＵ、１１３…ディスプレイ・コントローラ、１１４…センサ・コントローラ、１１６…電子ペン・コントローラ、１１７…外部メモリ、１１８…バス、１１９…アプリケーション・プログラム、１２０…表示装置、１３０…ＰＣ、２００…機能ブロック、２０２…座標算出部、２０４…文字認識部、２０６…描画文字データ保存部、２０８…基準文字データ保存部、２１０…文字整形部、２１２…表示データ生成部、２１４…表示制御部
【先行技術文献】
【特許文献】
【００８４】
【特許文献１】特開平０５−２２５３９７号公報
【図１】
2015135537.tif 000004
【図２】
2015135537.tif 000005
【図３】
2015135537.tif 000006
【図４】
2015135537.tif 000007
【図５】
2015135537.tif 000008
【図６】
2015135537.tif 000009
【図７】
2015135537.tif 000010
【図８】
2015135537.tif 000011
【図９】
2015135537.tif 000012