JP2015135537A - 座標検出システム、情報処理装置、座標検出方法およびプログラム - Google Patents
座標検出システム、情報処理装置、座標検出方法およびプログラム Download PDFInfo
- Publication number
- JP2015135537A JP2015135537A JP2014005638A JP2014005638A JP2015135537A JP 2015135537 A JP2015135537 A JP 2015135537A JP 2014005638 A JP2014005638 A JP 2014005638A JP 2014005638 A JP2014005638 A JP 2014005638A JP 2015135537 A JP2015135537 A JP 2015135537A
- Authority
- JP
- Japan
- Prior art keywords
- character
- character data
- stroke
- coordinate
- shaping
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Character Discrimination (AREA)
Abstract
【課題】 位置検知部上で指し示され入力された座標を検出して座標位置の軌跡に基づいた描画を行う座標検出システムを提供すること。【解決手段】 座標検出システム10は、盤面に対して指示動作を行う指示対象により指し示された座標を検出する。座標検出システム10は、指示対象により指し示された位置の情報を取得し、取得された位置の情報に基づいて指示対象により指し示された座標を算出する座標算出手段202と、算出された座標の軌跡に基づき文字認識を行う文字認識手段204と、複数の文字それぞれの基準文字データが予め記憶された基準文字データ記憶手段208から文字認識結果に対応する基準文字データを読み出し、読み出された基準文字データに基づいて、上記座標の軌跡として描かれた文字を規定する描画文字データを整形する整形手段210と、整形された文字を出力する出力制御手段214とを含む。【選択図】 図3
Description
本発明は、座標検出システム、情報処理装置、座標検出方法およびプログラムに関し、より詳細には、位置検知面上で指し示され入力された座標を検出して座標位置の軌跡に基づいた表示を行う座標検出システム、情報処理装置、座標検出方法およびプログラムに関する。
近年、液晶一体型タブレットや電子情報ボードといった、位置検知センサを介して入力された座標に基づいて、即時に座標位置の軌跡を表示画面上に表示する情報機器が開発されている。
上述したような座標検出システムにおいては、ユーザが意図した通りの筆跡で文字を描画できることが望まれている。しかしながら、従来技術の座標検出システムでは、タッチセンサの精度や、表示面と位置検知面とが離れていることによる視差の問題により、ユーザがタッチしようと意図した位置からずれた位置で座標が検知されてしまうという不具合があった。また、デタッチ(ユーザの指、指示具等が位置検知面から離れること)の検知が遅れることにより、ユーザが意図した線の終点よりも線が伸びてしまう「尾引き」の不具合があった。
上述した不具合により、ユーザが意図した通りの筆跡で文字を描画し、手書き文字が読みにくくなってしまわないようにする技術が望まれている。このような不具合に対応しようとする技術として、特開平05−225397号公報(特許文献1)が知られている。特許文献1の従来技術では、ストロークのループが比較的小さい場合にループを削除し、方向が手書き方向と異なる場合にその異なる直線部分を削除し、端部の形状が不自然な手書き形状の場合にその端部を削除する技術が開示されている。
上記特許文献1の従来技術では、手書き文字の不自然な箇所(小さいループや変な方向への曲がり)を検出して整形することができる。しかしながら、上述した文字として起こり得る方向の尾引きやズレの整形を行えるものではなく、審美性および視認性の観点から充分なものではなかった。
本発明は、上記従来技術における不充分な点に鑑みてなされたものであり、本発明は、文字として起こり得る方向の尾引きやズレの整形を行うことができる、座標検出システム、情報処理装置、座標検出方法およびプログラムを提供することを目的とする。
本発明では、上記課題を解決するために、下記特徴を有した、盤面に対して指示動作を行う指示対象により指し示された座標を検出する座標検出システムを提供する。本座標検出システムは、上記指示対象により指し示された位置の情報を取得する位置情報取得手段と、上記位置情報取得手段によって取得された位置の情報に基づいて上記指示対象により指し示された座標を算出する座標算出手段と、上記座標算出手段により算出された座標の軌跡に基づき、文字認識を行う文字認識手段と、複数の文字それぞれの基準文字データが予め記憶された基準文字データ記憶手段から上記文字認識手段による文字認識結果に対応する基準文字データを読み出す読出し手段と、上記読出し手段によって読み出された基準文字データに基づいて、上記座標の軌跡として描かれた文字を規定する描画文字データを整形する整形手段と、上記整形手段により整形された文字を出力する出力制御手段とを含む。
上記構成により、文字として起こり得る方向の尾引きやズレの整形を行うことができる。
以下、本実施形態について説明するが、以下に説明する実施形態に限定されるものではない。なお、以下、座標検出システムの一例として、手書き入力を受け付ける位置検知面を提供する検出センサと、位置検知面と重なる表示面を提供する表示装置とを含み構成される、座標検出表示システムを用いて説明する。
図1は、本実施形態による座標検出表示システム10のシステム構成図である。図1に示す座標検出表示システム10は、LCD(Liquid Crystal Display)ディスプレイなどの表示装置120と、4つの検出部11a〜11dと、4つの周辺発光部15a〜15dと、コンピュータ100とを含み構成される。以下、任意の1つ以上の検知部または全体を指して単に検出部11と参照する場合があり、任意の1つ以上の周辺発光部または全体を指して単に周辺発光部15と参照する場合がある。
4つの周辺発光部15a〜15dは、表示装置120の周囲に配置されており、着脱可能に装着されている。周辺発光部15は、それぞれ、赤外線を照射し、検出部11は、赤外線を検出する。周辺発光部15により照射された赤外線が指示具13により遮られると、影となって検出され、三角測量により指示具13が指し示す位置が判定される。4つの検出部11a〜11dおよび4つの周辺発光部15a〜15dは、手書き入力を受け付ける位置検知面(位置検知部)を提供する検出センサを構成する。
コンピュータ100には、座標検出表示システム10に対応したアプリケーションがインストールされている。アプリケーションは、検出部11からの信号に基づきユーザが指し示す位置を検出し、ジェスチャーを解析して、コンピュータ100を制御することを可能とする。アプリケーションは、典型的には、操作用のメニューを表示装置120に表示することができる。また、本実施形態によるアプリケーションは、検出部11からの信号に基づき、ユーザが指し示す位置の座標を算出し、ユーザが指示具13を用いて描いた座標の軌跡に基づき表示データを生成し、表示装置120に表示することを可能とする。
例えば、ユーザが、線を描画するメニューに触れた後、指示具13を用いて表示装置120の盤面(位置検知面および表示面)に図形を描画した場合、コンピュータ100は、指示具13が触れている位置座標を解析して、座標の軌跡を規定する時系列データを作成する。そして、時系列データの座標を接続して線が描画され、表示データが生成されて、表示装置120に表示される。図1においては、ユーザが三角形の形状に沿って指示具13を移動させたため、一連の座標を1つのストローク(三角形)が記録される。そして、コンピュータ100は、ストロークの描画オブジェクトを背景と合成して表示装置120に表示する。
座標検出表示システム10には、コンピュータ100に接続されるPC(Personal Computer)130が含まれてもよい。コンピュータ100は、例えば、PC130が出力した映像を背景として表示装置120に表示させることができる。なお、背景は、特に限定されるものではなく、黒板やホワイトボードを模した画像としてもよいし、PC130が出力するスライドなどの映像としてもよい。
上述した座標検出表示システム10を適用することにより、表示装置120がタッチパネル機能を有していなくても、ユーザは、指示具13などの指示対象を用いて表示装置120に接触ないし近接するだけで様々な操作が可能になる。上記指示具13は、タッチペンないしスタイラスなどとすることができるが、特に限定されるものではなく、指示具13を用いなくても手指で位置を入力してもよい。
図2は、本実施形態による座標検出表示システム10を構成するコンピュータ100のハードウェア構成図である。コンピュータ100は、市販の汎用コンピュータまたは座標検出表示システム用に開発された専用装置として構成することができる。
コンピュータ100は、アドレスバスやデータバスなどを含むバス118を介して電気的に接続された、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、SSD(Solid State Drive)104と、ネットワーク・コントローラ105と、外部記憶コントローラ106と、キャプチャデバイス111と、GPU(Graphics Processing Unit)112と、センサ・コントローラ114とを含む。
CPU101は、上記アプリケーションを実行して座標検出表示システム10の動作全体を制御する。ROM102には、IPL(Initial Program Loader)などが記憶されており、主に起動時にCPU101が実行するプログラムが記憶されている。RAM103は、CPU101がアプリケーションを実行する際の作業空間を提供する。SSD104は、座標検出表示システム用のアプリケーション・プログラム119や各種データを記憶する。ネットワーク・コントローラ105は、図示しないネットワークを介して、サーバなどと通信する際に通信プロトコルに基づく処理を行う。なお、ネットワークは、LAN(Local Area Network)または複数のLANが接続されたWAN(Wide Area Network;例えばインターネット)などである。
外部記憶コントローラ106は、着脱可能な外部メモリ117への書き込みおよび外部メモリ117からの読み出しを制御する。外部メモリ117は、例えばフラッシュメモリ、SD(登録商標)カードなどのリムーバブル・メディアである。キャプチャデバイス111は、PC130が出力している映像を取り込む(キャプチャする)。GPU112は、表示装置120の各ピクセルの画素値を演算する描画専用のプロセッサである。ディスプレイ・コントローラ113は、GPU112が作成した画像を表示装置120に出力する。
センサ・コントローラ114には、検出部11が接続されており、特に限定されるものではないが、赤外線光遮断による三角測量方式に基づく位置の検出を行う。なお、説明する実施形態では、コンピュータ100は、指示具13と通信することを必要としないが、通信機能を有していてもよい。この場合に、図2に示すように、コンピュータ100は、電子ペン・コントローラ116を有し、通知手段を有する指示具13から押圧信号を受信することができる。これにより、コンピュータ100は、先端が押圧されているか否かを検出することができる。
なお、座標検出表示システム10用のアプリケーション119は、外部メモリ117に記憶された状態で配布されてもよいし、ネットワーク・コントローラ105を介して図示しないサーバからダウンロードされてもよい。
また、説明する実施形態では、赤外線イメージセンサ方式を採用し、入射光量に基づいて位置を検出するものとするが、位置入力方式は、特に限定されるものではない。例えば、マトリクス・スイッチ方式、抵抗膜方式、表面弾性波方式、電磁誘導方式、静電容量方式などのこれまで知られたいかなる方式を採用することができる。さらに、位置検知面および表示面は、典型的には、平面を構成しているが、曲面であることを妨げるものではない。
上述したように、座標検出表示システム10においては、ユーザが指示具13を用いて表示装置120の盤面に文字や図形を描いた場合、コンピュータ100は、指示具13により指し示される位置の座標をリアルタイムに算出し、算出された座標の軌跡に基づき線を描画して表示データを生成し、表示装置120に表示させることができる。これにより、あたかもキャンパスに手書きしているかのようなユーザ・エクスペリエンスを提供する。
このとき、センサの位置検知精度や表示面および位置検知面の距離による視差に起因して、位置ズレや尾引きが生じ、手書きした文字の審美性や視認性が劣化してしまう可能性がある。そこで、本実施形態による座標検出表示システム10では、コンピュータ100は、手書きされた文字の軌跡に対して、文字認識に基づく文字整形処理を実行し、手書き文字の視認性および審美性の向上を図っている。
以下、図3〜図9を参照しながら、本実施形態による文字認識に基づく文字整形処理について説明する。図3は、本実施形態による座標検出表示システム10上で実現される、文字認識に基づく文字整形処理に関連した機能ブロック図を示す。上述したように、ユーザは、指示具13などの指示対象を用いて位置検知面上で位置を指し示し、文字を書くといった描画行為を行う。このとき、検出部11では、指示具13の位置を検出するためのデータが随時取得され、コンピュータ100に随時入力される。
コンピュータ100の機能ブロック200は、座標算出部202と、文字認識部204と、描画文字データ保存部206と、基準文字データ保存部208と、文字整形部210と、表示データ生成部212と、表示制御部214とを含み構成される。
検出部11で取得されたデータは、座標算出部202が取得する。座標算出部202は、検出部11から取得したデータに基づき、位置検知面を介して指し示された位置の座標をリアルタイムで算出する。なお、座標検出および座標算出の仕組みは、赤外線イメージセンサ方式や静電容量方式といった既知の技術に依存するものであり、ここでは、詳細な説明は省略する。座標算出部202は、指し示された位置座標を算出し、座標の軌跡を規定する時系列データを生成し、文字認識部204に出力する。座標算出部202は、本実施形態による位置情報取得手段および座標算出手段を構成する。
文字認識部204は、文字認識技術を適用し、上記座標の軌跡の時系列データに基づき、描かれた文字を認識する処理を行う。文字認識方式としては、特に限定されるものではないが、例えば、ペン先の動きやペンダウンやペンアップのような手書き動作に応答して生成される筆跡の時系列データを、認識アルゴリズムに従って文字データベースとのパターンマッチングを行い、描かれた文字を推定する、オンライン手書き認識技術を用いることができる。また、その際に、複数文字の単位で認識処理を行い、単語などの辞書を用いて、文字同士の連結のしやすさが考慮されてもよい。さらに、他の実施形態では、座標の軌跡に基づき画像化して、オフライン文字認識技術を適用して文字を認識してもよい。
文字認識部204は、文字認識結果に基づき、時系列データを文字単位で区分し、描かれた文字を規定する描画文字データを生成し、描画文字データ保存部206に保存する。文字認識部204は、本実施形態による文字認識手段および描画文字データ生成手段を構成する。文字認識部204による文字認識結果(認識された文字を識別する情報を含む。)は、文字整形部210に出力される。
文字整形部210は、文字認識部204からの文字認識結果を受け取り、描画文字データ保存部206から読み出した描画文字データと、認識された文字の手本となる形状を規定する基準文字データとに基づいて、描画文字データが規定する文字に対して整形処理を施す。基準文字データ保存部208には、種々の文字に対する模範的な形状を規定する基準文字データが事前に準備されており、文字整形の際には、文字整形部210は、認識された文字に対応する基準文字データを読み出す。なお、基準文字データに複数の書体があってもよい。文字整形部210は、本実施形態による読出し手段および整形手段を構成する。
図4は、本実施形態による描画文字データ保存部206が保持する描画文字データのデータ構造を例示する図である。図4に示すように、描画文字データは、文字単位で構成され、文字を構成する1筆分のストロークデータの1以上の配列を含み構成される。例えば、片仮名の「カ」という文字は、2筆分のストロークデータから構成される。片仮名の「テ」という文字は、3筆分のストロークデータから構成される。
各一筆分のストロークは、図4に示すように、1筆分の座標データと、文字においてストロークを識別するストロークIDと、ストロークの特徴量とを含み構成される。特徴量とは、ストロークを特徴付ける情報であり、説明する実施形態では、ストロークにおける角の数(あるいは辺の数でもよい。)、ストローク間の交差の有無、交差が有る場合の交差先ストロークを識別するストロークIDを含むことができる。また、座標データは、座標値(x,y)のほか、ペン先の速度などの動き情報や筆圧情報などを含んでいてもよい。
なお、図4は、描画文字データ保存部206が保持する描画文字データのデータ構造を示しているが、基準文字データ保存部208が保持する基準文字データのデータ構造も同様である。基準文字データは、手本となる文字を規定する1以上のストロークの配列として構成され、各ストロークは、手本となる文字における一筆の形状を規定する座標データ、ストロークID、手本となる文字の各ストロークに事前設定された特徴量とを含む。
文字整形部210は、好ましくは、描画文字データおよび基準文字データの比較に基づき、ストロークに含まれる角の数の特徴量を用いて、ストロークでのハネの余りや、ハネの損失に対する文字整形を行うことができる。文字整形部210は、好ましくは、ストローク間の交差状態の特徴量を用いて、ストローク間の交差にかかる始点や終点の余りや、始点や終点の不足に対する文字整形を行うことができる。文字整形処理が施された描画文字データは、表示データ生成部212に出力される。なお、文字整形処理については、詳細を後述する。
表示データ生成部212は、文字整形処理が施された描画文字データを受け取り、整形された文字を表示するための表示データを生成する。表示データは、特に限定されるものではなく、例えば、整形された文字を画像化した画像であってもよいし、整形された文字を描く描画命令のセットを含んでいてもよい。表示制御部214は、上記表示データ生成部212により生成された表示データを表示装置120に送信して表示面上に表示させる。表示制御部214は、本実施形態による出力制御手段を構成する。
なお、上述した各機能部202〜214は、CPU101がアプリケーション・プログラム119を読み出し、RAM103の作業空間に展開することにより、コンピュータ100上で実現される。しかしながら、上記機能部202〜214の全部がコンピュータ100上で稼働するソフトウェアとして構成される必要はない。他の実施形態では、上記機能部202〜214の一部または全部がハードウェアによって提供されてもよい。例えば、特定の実施形態においては、ユーザが指先またはペンで位置検知面をタッチ等したことに応答して、タッチ等された位置検知面上の位置座標の演算を実行するコントローラの一部として、上記座標算出部202の機能が提供されてもよい。その場合に、コンピュータ100は、演算された座標位置を、コントローラから受信することで取得するように構成される。
また、上述した各機能部202〜214は、単一のコンピュータ上に構成されることも要さず、ネットワークを介して相互に接続される複数のコンピュータからなるコンピュータ・システム上で分散されてもよい。例えば、リモートでキャンパスを共有する複数の座標検出表示システム間で、一方で行われた入力に基づいて他方が表示する場合に対しても適用することができる。
図5は、本実施形態による座標検出表示システム10を構成するコンピュータ100が実行する、文字認識に基づく文字整形処理の全体を示すフローチャートである。図5に示す処理は、文字整形処理を開始させる契機となるイベント(整形処理開始イベントと参照する。)の発生に応答して、ステップS100から開始される。整形処理開始イベントは、説明する実施形態では、ペンダウンして文字の描画行為が行われた後、ペンアップした状態が一定時間維持されたことを検知したタイミングや、ペンアップした状態で基準以上の距離の移動を検知したタイミングなどで発生する。
ステップS101では、コンピュータ100は、座標算出部202により、対象となる時系列データを取得する。ここでは、ペンダウンした時点から、ペンアップおよびペンダウンを各筆分繰り返し、最後にペンアップした状態で一定期間が経過または一定以上移動する時点までの座標の軌跡を規定する時系列データが対象として取得される。ステップS102では、コンピュータ100は、文字認識部204により、対象となる時系列データに基づき文字認識を行い、描かれた1以上の文字を推定する。
ステップS103では、コンピュータ100は、文字認識に成功したか否かを判定する。例えば、一定以上の確からしさで文字が認識された場合に、成功したものと取り扱うことができる。例えば、文字ではないフリーハンドの絵が描かれている場合や、文字が乱れすぎている場合や、文字を書き切る途中で筆が止まり一定時間以上ペンアップ状態となった場合は、文字認識に失敗することになる。ステップS103で、文字認識に失敗したと判定された場合(NO)は、ステップS109へ処理が分岐され、本処理を終了し、再度の整形処理開始イベントの発生が待ち受けられる。
これに対して、ステップS103で、文字認識に成功したと判定された場合(YES)は、ステップS104へ処理が進められる。ステップS104では、コンピュータ100は、文字認識部204により、文字認識結果に基づいて、時系列データを文字単位で区分して、各文字毎の描画文字データを生成し、描画文字データ保存部206に保存する。文字認識結果は、文字認識部204から文字整形部210に送信される。
ステップS105では、コンピュータ100は、文字整形部210により、基準文字データ保存部208から、認識された文字の基準文字データを読み出す。ステップS106では、コンピュータ100は、文字整形部210により、各文字の描画文字データについて、描画文字データに対応して認識された文字の基準文字データに基づいて文字整形を施し、描画文字データを修正する。修正された描画文字データは、文字整形部210から表示データ生成部212に送信される。
ステップS107では、コンピュータ100は、表示データ生成部212により、修正された描画文字データに基づいて、整形後の文字を出力表示するための表示データを生成する。ステップS108では、コンピュータ100は、表示制御部214により、整形後の表示データに基づき描画処理を行い、表示装置120に描画結果を送信して表示させ、ステップS109で本処理を終了させる。この場合も、再度の整形処理開始イベントの発生が待ち受けられる。
例示的な実施形態では、手書きされたストロークをリアルタイムで表示させる処理中に上述した文字認識に基づく文字整形処理を適用し、一旦リアルタイムに手書きされた文字の描画像を、上記整形後の文字の描画像で更新するように構成することができる。
以下、本実施形態による文字認識に基づく文字整形処理について、より詳細に説明する。図6は、本実施形態において、文字整形の対象となる手書き文字を例示する。
図6(A)は、余分なハネが含まれる片仮名「カ」の手書き文字を例示する。図6(B)は、ハネが不足する片仮名「カ」の手書き文字を例示する。図6(A)の例では、片仮名「カ」の第2画目の末尾は、本来はねるべき箇所ではないにもかかわらず、はねてしまっており、第2ストロークに余分なハネが含まれている。これに対して、図6(B)の例では、片仮名「カ」の第1画目の末尾は、本来はねるべき箇所であるのにもかかわらず、はねていないため、第1ストロークにハネが不足している。
また、図6(C)は、始点が欠けている片仮名「テ」の手書き文字を例示する。図6(D)は、始点が突き出している片仮名「テ」の手書き文字を例示する。図6(C)の例では、片仮名「テ」の第3画目の始点は、本来、第2画目の線に接しているべきであるにも関わらず、第2画目の線から離れてしまい、第2ストロークの長さが不足している。これに対して、図6(D)の例では、第2画目の線が突き出してしまっており、第2ストロークの長さが余分である。
また、図6(E)は、終点が欠けている漢字「田」の手書き文字を例示する。図6(F)は、終点が突き出している漢字「田」の手書き文字を例示する。図6(E)の例では、漢字「田」の第4画目の終点は、本来、第2画目の線に接しているべきであるにも関わらず、第2画目の線から離れてしまい、第4ストロークの長さが不足している。これに対して、図6(E)の例では、第4画目の線が第2画目の線を越えて突き出してしまっており、第4ストロークの長さが余分である。
本実施形態による文字整形部210は、図6に例示するような、ストロークでのハネの余りまたは損失の両方または一方に対する文字整形、ストローク間の交差にかかるストロークでの始点および終点の一方または両方の余りおよび不足の両方または一方に対する文字整形を行う。以下、図7〜図9を参照しながら、本実施形態によるハネおよび端点の整形処理について、より詳細に説明する。
図7は、本実施形態による座標検出表示システム10を構成するコンピュータ100が実行する、ハネに対する整形処理を示すフローチャートである。図9(A)は、ストロークのハネに対する整形処理を説明する図である。
図7に示す処理は、図5に示したステップS106で、各文字の描画文字データ毎に呼び出され、ステップS200から開始される。ステップS201〜ステップS208のループでは、描画文字データにおける各1筆分のストローク(i)を対象ストロークとして、各対象ストロークについて、ステップS202〜ステップS207で示す処理が実行される。
ステップS202では、コンピュータ100は、文字整形部210により、描画文字データの対象ストローク(i)の特徴量である角の数drawEdgeNumiを取得する。対象ストローク(i)が含む角の数は、典型的には、文字認識の際に角が検出され計数されて、描画文字データに付記される。角の検出方法は、特に限定されるものではないが、座標データの差分ベクトルの角度変化が閾値以上となった場合に角と判定する方法や、座標データの曲率の値が閾値以上となった場合に角と判定する方法を採用することができる。
ステップS203では、コンピュータ100は、文字整形部210により、描画文字データの対象ストローク(i)に対応する基準文字データの対応ストローク(j)を決定する。描画されたストロークと、基準文字におけるストロークの対応関係の特定方法は、特に限定されるものではないが、筆順やストロークの形状(方向や位置関係を含む。)から判定する方法を採用することができる。ステップS204では、コンピュータ100は、文字整形部210により、基準文字データの対応ストローク(j)の特徴量である角の数modelEdgeNumjを取得する。ここで、対象ストローク(j)が含む角の数は、あらかじめ設定されているものとする。
ステップS205では、描画文字データの対象ストローク(i)の角の数drawEdgeNumiおよび基準文字データの対応ストローク(j)の角の数modelEdgeNumjの大小関係により処理を分岐させる。すなわち、対象ストローク(i)および対応ストローク(j)間で角の数が不一致の場合に、角の数の不一致状態に応じた対象ストロークの変形を行う整形処理が呼び出される。
描画文字データの対象ストローク(i)の角の数が、基準文字データの対応ストローク(j)の角の数よりも1つ多い場合(drawEdgeNumi=modelEdgeNumj+1)は、ステップS206へ処理が分岐される。ステップS206では、描画文字データの対象ストローク(i)に対し、ハネの除去処理を施し、ステップS208へ処理を進める。ここでは、対象ストローク(i)の最後の角から末尾までの座標は、余分なはねであると判断されて、除去される。
これに対して、描画文字データの対象ストローク(i)の角の数が、基準文字データの対応ストローク(j)の角の数よりも1つ少ない場合(drawEdgeNumi=modelEdgeNumj−1)は、ステップS207へ処理が分岐される。ステップS207では、対象ストローク(i)に対し、ハネの追加処理を施し、ステップS208へ処理を進める。ここでは、対象ストローク(i)に、本来存在するべきハネが欠けていると判断できるので、ハネを構成する座標値が追加される。ハネの座標値は、基準文字データの対応ストロークの座標データに基づいて算出することができる。
描画文字データおよび基準文字データでストロークの角の数が一致する場合(drawEdgeNumi=modelEdgeNumj)は、ステップS208へ直接処理が分岐される。この場合は、ストロークの角に過不足がないので、整形を行わずに、処理を進める。なお、基準文字データの角の数よりも1つ以上多い場合、1つ以上少ない場合も同様である。
片仮名「カ」を描画する場合でハネの除去処理の具体例を図9(A)に示す。第1画目のストロークの場合は、drawEdgeNum1=2およびmodelEdgeNum1=2であるので、ハネ除去処理およびハネ追加処理は行わずに、次のストロークへ処理が進められる。これに対して、第2画目のストロークの場合は、drawEdgeNum2=1で、modelEdgeNum2=0であるので、ハネ除去処理が行われ、余分なハネが除去される。図9(A)には、整形後の文字も示されている。
図8は、本実施形態による座標検出表示システムを構成するコンピュータが実行する、ストロークの始点に対する整形処理を示すフローチャートである。図9(B)は、ストロークの始点の整形に関する整形処理を説明する図である。
図8に示す処理も、図5に示したステップS106で、各文字の描画文字データ毎に呼び出され、ステップS300から開始される。ステップS301〜ステップS309のループでは、描画文字データにおける各1筆分のストローク(i)を対象ストロークとして、各対象ストロークについて、ステップS302〜ステップS308で示す処理が実行される。
ステップS302では、コンピュータ100は、文字整形部210により、描画文字データの対象ストローク(i)に対応する基準文字データの対応ストローク(j)を決定する。描画されたストロークと、基準文字におけるストロークとの対応関係の特定は、図7と同様な手法で行うことができる。
ステップS303では、コンピュータ100は、文字整形部210により、基準文字データの対応ストローク(j)の特徴量を取得する。ここでは、ストロークの特徴量として、始点接続先ストロークmodelConnectionDstjおよび始点接続状態modelConnectionStatejの2つが定義される。
始点接続先ストロークは、ストロークに交差し、かつ交差点が始点に最も近いストロークを指すポインタである。始点接続状態は、ストロークの始点接続先ストロークとの交差状態を表す値である。始点接続状態は、ストロークが始点接続先ストロークに接している場合を表す「接」と、ストロークが始点接続先ストロークから突き出している場合を表す「突」と、始点接続先ストロークが存在せず、交差するストロークが無い場合を表す「無」の3つの値のいずれかをとる。ここで、基準文字データの対応ストローク(j)が含む始点接続先ストロークおよび始点接続状態は、あらかじめ設定されているものとする。
ステップS304では、コンピュータ100は、文字整形部210により、基準文字データの対応ストローク(j)の始点接続状態に応じて処理を分岐させる。ステップS304で、始点接続先ストロークが存在しせず、交差するストロークが無いと判定された場合(modelConnectionStatej=「無」)は、ステップS309へ処理が分岐される。これに対して、ステップS304で、対応ストロークが始点接続先ストロークに接していると判定された場合(modelConnectionStatej=「接」)は、ステップS305へ処理を分岐させる。ステップS304で、対応ストロークが始点接続先ストロークから突き出していると判定された場合(modelConnectionStatej=「突」)も、ステップS305へ処理を分岐させる。
ステップS305では、コンピュータ100は、文字整形部210により、描画文字データの対象ストローク(i)の始点接続先ストロークdrawConnectionDstiおよび始点接続状態drawConnectionStateiを取得する。描画文字データの対象ストローク(i)の始点接続先ストロークdrawConnectionDstiは、図7に示したステップS203と同様な手法でストロークの対応関係を取り、基準文字データの対応ストローク(j)の始点接続先ストロークmodelConnectionDstjに対応する描画文字データのストロークが特定される。
描画文字データの対象ストローク(i)の始点接続状態drawConnectionStateiは、対象ストローク(i)が、始点接続先ストロークdrawConnectionDstiに接している場合は、接していることを示す値「接」が設定される。対象ストローク(i)が、始点接続先ストロークdrawConnectionDstiから突き出している場合は、突き出していることを示す値「突」が設定される。これに対して、対象ストローク(i)が、始点接続先ストロークdrawConnectionDstiと交差していない場合、交差していないことを示す値「無」が設定される。
ステップS306では、描画文字データの対象ストローク(i)および基準文字データの対応ストローク(j)の始点接続状態の関係に基づいて処理を分岐させる。すなわち、対象ストローク(i)および対応ストローク(j)の間で上記始点接続状態が不一致の場合には、下記表1に示す分岐条件に従って、対象ストロークの変形を行う整形処理が呼び出される。
描画文字データの対象ストローク(i)および基準文字データの対応ストローク(j)の始点接続状態が一致する場合は、ステップS308へ直接処理が分岐される。この場合は、ストロークの始点の位置がずれていないので、整形を行わずに、処理を進める。
これに対して、基準文字データの対応ストローク(j)の始点接続状態が「突」であるにもかかわらず、描画文字データの対象ストローク(i)の始点接続状態が「接」または「無」である場合は、ステップS307へ処理が分岐される。基準文字データの対応ストローク(j)の始点接続状態が「接」であるにもかかわらず、描画文字データの対象ストローク(i)の始点接続状態が「無」である場合も、ステップS307へ処理が分岐される。ステップS307では、描画文字データの対象ストローク(i)に対し、基準文字データの対応ストローク(j)の始点接続状態により示される状態となるように、始点延長処理を施し、ステップS309へ処理を進める。
基準文字データの対応ストローク(j)の始点接続状態が「接」であるにもかかわらず、描画文字データの対象ストローク(i)の始点接続状態が「無」である場合は、ストローク(i)の始点が始点接続先ストロークに接するように座標が追加される。基準文字データの対応ストローク(j)の始点接続状態が「突」であるにもかかわらず、描画文字データの対象ストローク(i)の始点接続状態が「接」または「無」である場合、ストローク(i)の始点が始点接続先ストロークから飛び出すように座標が追加される。なお、追加する座標値は、基準文字データに基づいて算出することができる。
これに対して、基準文字データの対応ストローク(j)の始点接続状態が「接」であるにもかかわらず、描画文字データの対象ストローク(i)の始点接続状態が「突」である場合は、ステップS308へ処理が分岐される。ステップS308では、描画文字データの対象ストローク(i)に対し、基準文字データの対応ストローク(j)の始点接続状態が示す状態となるように、始点短縮処理を施し、ステップS309へ処理を進める。
基準文字データの対応ストローク(j)の始点接続状態が「接」であるにもかかわらず、描画文字データの対象ストローク(i)の始点接続状態が「突」である場合は、ストローク(i)の始点が始点接続先ストロークに接するように座標が除去される。除去する座標値は、基準文字データに基づいて算出することができる。
片仮名「イ」を描画する場合で始点の短縮処理の具体例を図9(B)に示す。この場合、第1画目のストロークでは、modelConnectionDst1=drawConnectionDst1=2となる。手書き文字において、第1画目のストロークは、第2画目のストロークから突き出しているので、drawConnectionState1=「突」となる。手本文字において、第1画目のストロークは、第2画目のストロークから突き出しているので、modelConnectionState1=「突」であり、一致するので、そのまま次へ進められる。
第2画目のストロークの場合は、modelConnectionDst2=drawConnectionDst2=1となる。手書き文字において、第2画目のストロークは、第1画目のストロークから突き出しているので、drawConnectionState2=「突」となる。手本文字において、第2画目のストロークは、第1画目のストロークに接しているので、modelConnectionState1=「接」であり、不一致であり、かつ、drawConnectionState2>modelConnectionState2であるので、始点除去処理を行う。この場合、図9(B)に示すように、第2画目のストロークの始点が第1画目のストロークに接するように、座標が除去される。
なお、図8に示す実施形態では、基準文字データにおいて、他のストロークと交差しないストロークについては、整形処理を行っていない。しかしながら、他の実施形態では、基準文字データにおいて他のストロークと交差しないストロークに対応する描画されたストロークが、他のストロークと交差する場合にも、他のストロークと交差しないよう始点を短縮する始点短縮処理を追加することもできる。
また、図8では、始点の欠けまたは突き出しに対する処理について説明したが、終点の欠けおよび突き出しに対する処理についても、「始点」を「終点」に置き換えれば、同様に行える。
以上説明した実施形態によれば、文字として起こり得る方向の尾引きやズレの整形を行うことができる、座標検出システム、情報処理装置、座標検出方法およびプログラムを提供することができる。
上記実施形態による座標検出システムでは、手書きされた文字の軌跡に対して文字認識が行われ、手書きされた文字と、認識された文字との比較に基づいて、手書き文字の尾引きやズレの部分が検出され、整形されることになる。このため、従来技術では対応できなかった、文字として起こり得る方向の尾引きやズレの整形が可能となり、手書き文字の審美性および視認性を向上させることができる。
なお、上記機能部は、アセンブラ、C、C++、C#、Java(登録商標)などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ROM、EEPROM、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、ブルーレイディスク、SDカード、MOなど装置可読な記録媒体に格納して、あるいは電気通信回線を通じて頒布することができる。
これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
10…座標検出表示システム、11…検出部、13…指示具、15…周辺発光部、100…コンピュータ、101…CPU、102…ROM、103…RAM、104…SSD、105…ネットワーク・コントローラ、106…外部記憶コントローラ、111…キャプチャデバイス、112…GPU、113…ディスプレイ・コントローラ、114…センサ・コントローラ、116…電子ペン・コントローラ、117…外部メモリ、118…バス、119…アプリケーション・プログラム、120…表示装置、130…PC、200…機能ブロック、202…座標算出部、204…文字認識部、206…描画文字データ保存部、208…基準文字データ保存部、210…文字整形部、212…表示データ生成部、214…表示制御部
Claims (10)
- 盤面に対して指示動作を行う指示対象により指し示された座標を検出する座標検出システムであって、
前記指示対象により指し示された位置の情報を取得する位置情報取得手段と、
前記位置情報取得手段によって取得された前記位置の情報に基づいて前記指示対象により指し示された座標を算出する座標算出手段と、
前記座標算出手段により算出された座標の軌跡に基づき、文字認識を行う文字認識手段と、
複数の文字それぞれの基準文字データが予め記憶された基準文字データ記憶手段から前記文字認識手段による文字認識結果に対応する基準文字データを読み出す読出し手段と、
前記読出し手段によって読み出された基準文字データに基づいて、前記座標の軌跡として描かれた文字を規定する描画文字データを整形する整形手段と、
前記整形手段により整形された文字を出力する出力制御手段と
を含む、座標検出システム。 - 前記描画文字データおよび前記基準文字データは、それぞれ、文字を構成する1以上のストローク各々の特徴量を含む、請求項1に記載の座標検出システム。
- 前記特徴量は、ストロークが含む辺または角の数を含み、前記整形手段は、前記描画文字データおよび前記基準文字データの比較に基づき、ストロークでのハネの余りまたは損失の両方または一方に対する文字整形を行うことを特徴とする、請求項2に記載の座標入出力システム。
- 前記特徴量は、ストローク間の交差状態を含み、前記整形手段は、前記描画文字データおよび前記基準文字データの比較に基づき、ストローク間の交差にかかるストロークでの始点および終点の一方または両方の余りおよび不足の両方または一方に対する文字整形を行う、請求項2または3に記載の座標検出システム。
- 前記整形手段は、
前記描画文字データの対象ストロークに対応した前記基準文字データの対応ストロークを特定する手段と、
前記描画文字データの対象ストロークの特徴量を取得する手段と、
前記基準文字データの対応ストロークの特徴量を取得する手段と、
前記描画文字データの対象ストロークの特徴量および前記基準文字データの対応ストロークの特徴量が不一致の場合に、該特徴量の不一致状態に応じた前記対象ストロークの変形を行う整形処理を呼び出す手段と
を含む、請求項2〜4のいずれか1項に記載の座標検出システム。 - 前記文字認識手段による文字認識結果に基づき、前記座標算出手段により算出された座標の軌跡を文字単位で区分して、文字毎の描画文字データを生成する描画文字データ生成手段をさらに含む、請求項1〜5のいずれか1項に記載の座標検出システム。
- 前記座標検出システムは、位置検知面を提供する検出センサと、前記位置検知面と重なる表示面を提供する表示装置とを含み、前記出力制御手段は、整形された文字を前記表示面上で描画し、表示する、請求項1〜6のいずれか1項に記載の座標検出システム。
- 盤面に対して指示動作を行う指示対象により指し示された座標を検出するための情報処理装置であって、
前記指示対象により指し示された位置の情報を取得する位置情報取得手段と、
前記位置情報取得手段によって取得された前記位置の情報に基づいて前記指示対象により指し示された座標を算出する座標算出手段と、
前記座標算出手段により算出された座標の軌跡に基づき、文字認識を行う文字認識手段と、
複数の文字それぞれの基準文字データが予め記憶された基準文字データ記憶手段から前記文字認識手段による文字認識結果に対応する基準文字データを読み出す読出し手段と、
前記読出し手段によって読み出された基準文字データに基づいて、前記座標の軌跡として描かれた文字を規定する描画文字データを整形する整形手段と、
前記整形手段により整形された文字を出力する出力制御手段と
を含む、情報処理装置。 - 盤面に対して指示動作を行う指示対象により指し示された座標を検出するためにコンピュータが実行する座標検出方法であって、コンピュータが、
前記指示対象により指し示された位置の情報を取得するステップと、
前記位置の情報を取得するステップで取得された前記位置の情報に基づいて前記指示対象により指し示された座標を算出するステップと、
前記座標を取得するステップで取得された座標の軌跡に基づき、文字認識を行うステップと、
複数の文字それぞれの基準文字データが予め記憶された基準文字データ記憶手段から前記文字認識を行うステップでの文字認識結果に対応する基準文字データを読み出すステップと、
前記読み出すステップで読み出された基準文字データに基づいて、前記座標の軌跡として描かれた文字を規定する描画文字データを整形するステップと、
前記整形するステップで整形された文字を出力するステップと
を含む、座標検出方法。 - 盤面に対して指示動作を行う指示対象により指し示された座標を検出するためにコンピュータを、
前記指示対象により指し示された位置の情報を取得する位置情報取得手段、
前記位置情報取得手段によって取得された前記位置の情報に基づいて前記指示対象により指し示された座標を算出する座標算出手段、
前記座標算出手段により算出された座標の軌跡に基づき、文字認識を行う文字認識手段、
複数の文字それぞれの基準文字データが予め記憶された基準文字データ記憶手段から前記文字認識手段による文字認識結果に対応する基準文字データを読み出す読出し手段、
前記読出し手段によって読み出された基準文字データに基づいて、前記座標の軌跡として描かれた文字を規定する描画文字データを整形する整形手段、
前記整形手段により整形された文字を出力する出力制御手段
として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014005638A JP2015135537A (ja) | 2014-01-16 | 2014-01-16 | 座標検出システム、情報処理装置、座標検出方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014005638A JP2015135537A (ja) | 2014-01-16 | 2014-01-16 | 座標検出システム、情報処理装置、座標検出方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015135537A true JP2015135537A (ja) | 2015-07-27 |
Family
ID=53767342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014005638A Pending JP2015135537A (ja) | 2014-01-16 | 2014-01-16 | 座標検出システム、情報処理装置、座標検出方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015135537A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021512432A (ja) * | 2018-07-11 | 2021-05-13 | 中国▲銀▼▲聯▼股▲ふん▼有限公司 | 運動軌跡の特徴処理方法、装置、および、コンピュータ記憶媒体 |
-
2014
- 2014-01-16 JP JP2014005638A patent/JP2015135537A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021512432A (ja) * | 2018-07-11 | 2021-05-13 | 中国▲銀▼▲聯▼股▲ふん▼有限公司 | 運動軌跡の特徴処理方法、装置、および、コンピュータ記憶媒体 |
US11222431B2 (en) | 2018-07-11 | 2022-01-11 | China Unionpay Co., Ltd. | Feature processing method and device for motion trajectory, and computer storage medium |
JP7096904B2 (ja) | 2018-07-11 | 2022-07-06 | 中国▲銀▼▲聯▼股▲ふん▼有限公司 | 運動軌跡の特徴処理方法、装置、および、コンピュータ記憶媒体 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20110157236A1 (en) | Head-mounted display | |
TWI497402B (zh) | 手寫輸入識別系統及方法 | |
JP2017524186A (ja) | デジタルインクの選択の検知 | |
US10956030B2 (en) | Multi-touch based drawing input method and apparatus | |
JP2010205069A (ja) | 入力装置 | |
WO2015102974A1 (en) | Hangle-based hover input method | |
US11995254B2 (en) | Methods, devices, apparatuses, and storage media for mapping mouse models for computer mouses | |
JP5486977B2 (ja) | 座標入力装置及びプログラム | |
CN106598422B (zh) | 混合操控方法及操控***和电子设备 | |
JP5651358B2 (ja) | 座標入力装置及びプログラム | |
CN113515228A (zh) | 一种虚拟标尺显示方法以及相关设备 | |
JP6219100B2 (ja) | ソフトウェアキーボードを表示可能な画像表示装置及びその制御方法 | |
US10162420B2 (en) | Recognition device, method, and storage medium | |
JP2015135537A (ja) | 座標検出システム、情報処理装置、座標検出方法およびプログラム | |
JP6555958B2 (ja) | 情報処理装置、その制御方法、プログラム、および記憶媒体 | |
JP6373664B2 (ja) | 電子機器、方法及びプログラム | |
JP6898021B2 (ja) | 操作入力装置、操作入力方法、及びプログラム | |
JP6264003B2 (ja) | 座標入力システム、座標指示部、座標入力部、座標入力システムの制御方法、及びプログラム | |
CN103221912A (zh) | 输入命令 | |
TWI626423B (zh) | 手觸偵測裝置、手觸偵測方法及應用其之智慧投影系統 | |
JP2020173494A (ja) | 手書き文字認識装置および手書き文字認識方法 | |
US10175825B2 (en) | Information processing apparatus, information processing method, and program for determining contact on the basis of a change in color of an image | |
JP2016110249A (ja) | 空間手書き入力システム、空間手書き入力方法およびコンピュータプログラム | |
JP2016110492A (ja) | 光学式位置情報検出装置、プログラム、対象の紐付け方法 | |
JP6465414B2 (ja) | 電子機器、方法及びプログラム |