(57)【特許請求の範囲】
【請求項１】
表示面上にタッチパネルが設けられたディスプレイ装置と、
前記タッチパネルへの入力に用いられた接触体の種類を認識する認識手段と、
前記タッチパネルへの入力開始から入力終了までの軌跡を前記認識手段により認識された前記接触体の種類に対応する属性を与えて前記ディスプレイ装置に表示する表示制御手段と、
を具備し、
前記表示制御手段は、前記タッチパネルへの入力開始から前記接触体の種類が前記認識手段により認識されるまでの間、前記タッチパネルへの入力開始からの軌跡を所定の属性を与えて表示し、前記認識手段により前記接触体の種類が認識されたときに、前記所定の属性を前記接触体の種類に対応する属性に変更すべく表示を更新する
情報処理装置。
【請求項２】
前記認識手段は、前記タッチパネルへの入力開始から入力終了までの間、所定の間隔で前記接触体の種類を認識するための認識処理を実行し、
前記表示制御手段は、前記タッチパネルへの入力開始から前記認識手段によって最も多い回数認識された前記接触体の種類に対応する属性を与えられて前記タッチパネルへの入力開始からの軌跡が前記ディスプレイ装置に表示されるように、前記タッチパネルへの入力開始からの軌跡の表示を更新する請求項１記載の情報処理装置。
【請求項３】
前記認識手段は、前記タッチパネルへの入力が開始されたときに、前記接触体の種類を認識するための認識処理を開始し、所定の間隔で、前記接触体の種類を認識するための認識処理を実行し、前記接触体の種類が認識できたときに、前記接触体の種類を認識するための認識処理の実行を停止する請求項１記載の情報処理装置。
【請求項４】
表示面上にタッチパネルが設けられたディスプレイ装置と、
前記タッチパネルへの入力に用いられた接触体の種類を認識する認識手段と、
前記タッチパネルへの入力開始から入力終了までの軌跡を前記認識手段により認識された前記接触体の種類に対応する属性を与えて前記ディスプレイ装置に表示する表示制御手段と、
を具備し、
前記認識手段は、前記タッチパネルへの入力開始から入力終了までの間、所定の間隔で前記接触体の種類を認識するための認識処理を実行し、
前記表示認識手段は、前記タッチパネルへの入力が終了するまでの間、前記タッチパネルへの入力開始から入力終了までの軌跡を所定の属性を与えて前記ディスプレイ装置に表示し、前記タッチパネルへの入力が終了したときに、前記所定の属性を、前記タッチパネルへの入力開始から入力終了までの間に前記認識手段によって最も多い回数認識された前記接触体の種類に対応する属性に変更すべく表示を更新する、
情報処理装置。
【請求項５】
表示面上にタッチパネルが設けられたディスプレイ装置を具備するコンピュータにより実行されるプログラムであって、前記プログラムは前記コンピュータを、
前記タッチパネルへの入力に用いられた接触体の種類を認識する認識手段と、
前記タッチパネルへの入力開始から入力終了までの軌跡を前記認識手段により認識された前記接触体の種類に対応する属性を与えて前記ディスプレイ装置に表示する表示制御手段と、
して動作させるものであり、
前記プログラムは前記コンピュータを、前記表示制御手段が、前記タッチパネルへの入力開始から前記接触体の種類が前記認識手段により認識されるまでの間、前記タッチパネルへの入力開始からの軌跡を所定の属性を与えて表示し、前記認識手段により前記接触体の種類が認識されたときに、前記所定の属性を前記接触体の種類に対応する属性に変更すべく表示を更新するように動作させるプログラム。
【請求項６】
前記プログラムは前記コンピュータを、
前記認識手段が、前記タッチパネルへの入力開始から入力終了までの間、所定の間隔で前記接触体の種類を認識するための認識処理を実行し、
前記表示制御手段が、前記タッチパネルへの入力開始から前記認識手段によって最も多い回数認識された前記接触体の種類に対応する属性を与えられて前記タッチパネルへの入力開始からの軌跡が前記ディスプレイ装置に表示されるように、前記タッチパネルへの入力開始からの軌跡の表示を更新する
ように動作させる請求項５記載のプログラム。
【請求項７】
前記プログラムは前記コンピュータを、
前記認識手段が、前記タッチパネルへの入力が開始されたときに、前記接触体の種類を認識するための認識処理を開始し、所定の間隔で、前記接触体の種類を認識するための認識処理を実行し、前記接触体の種類が認識できたときに、前記接触体の種類を認識するための認識処理の実行を停止するように動作させる請求項５記載のプログラム。
【請求項８】
表示面上にタッチパネルが設けられたディスプレイ装置を具備するコンピュータにより実行されるプログラムであって、前記プログラムは前記コンピュータを、
前記タッチパネルへの入力に用いられた接触体の種類を認識する認識手段と、
前記タッチパネルへの入力開始から入力終了までの軌跡を前記認識手段により認識された前記接触体の種類に対応する属性を与えて前記ディスプレイ装置に表示する表示制御手段と、
して動作させるものであり、
前記プログラムは前記コンピュータを、
前記認識手段が、前記タッチパネルへの入力開始から入力終了までの間、所定の間隔で前記接触体の種類を認識するための認識処理を実行し、
前記表示認識手段が、前記タッチパネルへの入力が終了するまでの間、前記タッチパネルへの入力開始から入力終了までの軌跡を所定の属性を与えて前記ディスプレイ装置に表示し、前記タッチパネルへの入力が終了したときに、前記所定の属性を、前記タッチパネルへの入力開始から入力終了までの間に前記認識手段によって最も多い回数認識された前記接触体の種類に対応する属性に変更すべく表示を更新する、
ように動作させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、手書き入力機能を備えた情報処理装置に好適な画像表示方法に関する。
【背景技術】
【０００２】
近年、手書き入力機能を備えた情報処理装置が種々普及し始めている。例えば表示面にタッチパネルが設けられたディスプレイ装置を用いた電子式のホワイトボードは、消耗品であるインクが充填されたペンの使用を不要とし、かつ、筆記された内容を電子化されたイメージデータとして簡単に記録すること等を可能とする。
【０００３】
また、最近では、例えば画像認識技術を応用して筆記具の色などを認識し、この認識結果として得られた色を付して、筆記された内容を表示するなどといった電子式のホワイトボードも提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−３７４６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
タッチパネルへの入力に用いられる筆記具の色などを画像から認識するためには、ある程度の時間が必要である。従って、電子式のホワイトボード等において、認識結果として得られた色を付して筆記された内容を表示する場合、筆記してからその筆記した内容が表示されるまでのタイムラグが大きく現れてしまう。
【０００６】
また、一般に、電子式のホワイトボード等においては、画像認識時の誤認識への対応があまり考慮されていない。そのために、例えば青色の筆記具で筆記したにも関わらず、その他の色と誤認識されてしまうと、（青色と正しく認識されるまで）誤った色で表示されたものを消して再び筆記することを繰り返す必要であった。つまり、画像認識において誤認識の発生はある程度不可避ではあるものの、このような人的なリカバリによらない自動的なリカバリについて何ら考慮されていないのが実情である。
【０００７】
さらに、最近では、複数の入力を同時に受け付けるマルチタッチ対応のタッチパネルが主流になりつつあるが、一般に、電子式のホワイトボード等においては、複数の同時入力には対応していない。そのために、従来の方法をそのまま適用すると、例えば２人のユーザによって黒色の筆記具と赤色の筆記具とでボード上の互いに近い位置で同時に筆記された場合、認識結果の反映先を取り違える等、認識精度を著しく低下させてしまうおそれを否定できないのが実情である。
【０００８】
従って、前述した電子式のホワイトボードを含む手書き入力機能を備えた情報処理装置においては、筆記から筆記内容の表示までのタイムラグを解消し、誤認識を自動的にリカバリし、複数の同時入力時にも認識精度を一定の水準に維持する等の仕組みが強く求められる。
【０００９】
本発明は、このような事情を考慮してなされたものであり、筆記から筆記内容の表示までのタイムラグを減らし、誤認識を自動的にリカバリし、複数の同時入力時にも認識精度を一定の水準に維持する等の仕組みを実現する情報処理装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
実施形態によれば、情報処理装置は、認識手段と、表示制御手段とを具備する。認識手段は、タッチパネルへの入力に用いられた接触体の種類を認識する。表示制御手段は、タッチパネルへの入力開始から入力終了までの軌跡を認識手段により認識された接触体の種類に対応する属性を与えてディスプレイ装置に表示する。表示制御手段は、タッチパネルへの入力開始から接触体の種類が認識手段により認識されるまでの間、タッチパネルへの入力開始からの軌跡を所定の属性を与えて表示し、認識手段により接触体の種類が認識されたときに、所定の属性を接触体の種類に対応する属性に変更すべく表示を更新する。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態の情報処理装置の外観を示す図。
【図２】第１実施形態の情報処理装置のシステム構成を示す図。
【図３】第１実施形態の情報処理装置上で動作する手書き支援ユーティリティプログラムが実行する処理手順の基本原理を説明するための図。
【図４】第１実施形態の情報処理装置上で動作する手書き支援ユーティリティプログラムの動作手順を示すフローチャート。
【図５】第１実施形態の情報処理装置上で動作する手書き支援ユーティリティプログラムが実行する画像認識処理の流れを示すフローチャート。
【図６】第２実施形態の情報処理装置上で動作する手書き支援ユーティリティプログラムが実行する処理の基本原理を説明するための図。
【図７】第２実施形態の情報処理装置による筆記内容の表示例を示す図。
【図８】第３実施形態の情報処理装置上で動作する手書き支援ユーティリティプログラムが実行する処理の基本原理を説明するための図。
【図９】第３実施形態の情報処理装置上で動作する手書き支援ユーティリティプログラムが実行する画像認識処理の流れを示すフローチャート。
【図１０】第３実施形態の情報処理装置上で動作する手書き支援ユーティリティプログラムが実行する処理の一変形例を説明するための図。
【図１１】第４実施形態の情報処理装置において行われ得る２本のペンによるタッチパネルへの同時入力の例を示す図。
【図１２】第４実施形態の情報処理装置上で動作する手書き支援ユーティリティプログラムが実行する画像認識処理の流れを示すフローチャート。
【図１３】第４実施形態の情報処理装置上で動作する手書き支援ユーティリティプログラムが実行する画像認識処理の一変形例の流れを示すフローチャート。
【図１４】第５実施形態の情報処理装置における複数台のカメラユニットの設置例を示す図。
【図１５】第５実施形態の情報処理装置上で動作する手書き支援ユーティリティプログラムが実行する画像認識処理の流れを示すフローチャート。
【図１６】第５実施形態の情報処理装置上で動作する手書き支援ユーティリティプログラムが実行する画像認識処理の一変形例の流れを示すフローチャート。
【発明を実施するための形態】
【００１２】
以下、実施の形態について図面を参照して説明する。
【００１３】
（第１実施形態）
まず、第１の実施の形態について説明する。
【００１４】
図１は、本実施形態の情報処理装置１の外観を示す図である。本情報処理装置１は、例えば、スレート端末などと称される、データ入力をディスプレイ装置の表示面に設けられたタッチパネルによって受け付けるパーソナルコンピュータとして実現されている。
【００１５】
図１に示すように、本情報処理装置１は、薄いボード状の筐体を有している。この筐体の上面中央には、タッチパネルディスプレイ２が配置される。ユーザは、例えばペン３でタッチパネルディスプレイ２に触れることにより、クリック操作や筆記入力操作など、様々なデータ入力操作を行うことができる。タッチパネルディスプレイ２上で例えばペン３による筆記が行われると、本情報処理装置１は、その軌跡（点を含む筆跡）を描画してタッチパネルディスプレイ２上に表示する。タッチパネルディスプレイ２への入力は、ペン３に限らず、例えば指によっても可能である。
【００１６】
また、本情報処理装置１の筐体の上面であって、タッチパネルディスプレイ２の周辺部には、カメラユニット４が組み込まれている。カメラユニット４は、タッチパネルディスプレイ２への入力に用いられた接触体（典型的にはペン３）を含むタッチパネルディスプレイ２の表示面上全体をカバーする画像を撮像するために設けられる。カメラユニット４は、例えば、タッチパネルディスプレイ２の上端中央近傍に、撮像レンズの光軸がタッチパネルディスプレイ２の表示面に対してほぼ水平となるように配置される。
【００１７】
本情報処理装置１は、画像認識機能を有しており、カメラユニット４により撮像された画像に例えばペン３が写っていたならば、この画像からペン３の色や形状などを認識することができる。そして、本情報処理装置１は、この認識結果に基づき、タッチパネルディスプレイ２に表示する軌跡に与える属性を決定する。属性は、色、サイズ、形状、透明度などである。例えば青色のペン３でタッチパネルディスプレイ２に触れると、青色の点がタッチパネルディスプレイ２に表示され、赤色のペン３でタッチパネルディスプレイ２に触れると、赤色の点がタッチパネルディスプレイ２に表示される。青色のペン３でタッチパネルディスプレイ２上に線を引くと、青色の線がタッチパネルディスプレイ２に表示される。
【００１８】
さらに、同じ色でも、例えばペン３の太さが異なる場合に、点や線の太さを変えてタッチパネルディスプレイ２に表示することができる。その他、例えばペン３の色や形状と軌跡の描画に用いるオブジェクトの形状とを予め対応づけておくことにより、色や太さに限らず、例えば動物を図案化した形状のオブジェクトを使って、タッチパネルディスプレイ２に動物のスタンプを押す、動物を並べた線で絵を描く、といったことも可能である。
【００１９】
ところで、タッチパネルディスプレイ２上でペン３による筆記を行ってから、その内容がタッチパネルディスプレイ２上に表示されるまでのタイムラグは、なるべく少ない方が好ましい。そこで、本情報処理装置１は、筆記から筆記内容の表示までのタイムラグを減らす仕組み等を備えるようにしたものであり、以下、この点について詳述する。
【００２０】
図２は、本情報処理装置１のシステム構成を示す図である。図２に示すように、本情報処理装置１は、ＣＰＵ（Central processing unit）１１、ＭＣＨ（Memory controller hub）１２、主メモリ１３、ＩＣＨ（I/O controller hub）１４、ＧＰＵ（Graphics processing unit：表示コントローラ）１５およびビデオメモリ（VRAM）１５Ａを有している。また、本情報処理装置１は、ＢＩＯＳ（Basic input/output system）−ＲＯＭ（Read only memory）１６、ＥＥＰＲＯＭ（Electrically erasable programmable ROM）１７、ＳＳＤ（Solid state drive）１８、ＬＡＮ（Local area network）コントローラ１９および無線ＬＡＮコントローラ２０を有している。さらに、本情報処理装置１は、ＵＳＢ（universal serial bus）コントローラ２１およびＥＣ（Embedded controller）２２を有している。
【００２１】
ＣＰＵ１１は、本情報処理装置１の動作を制御するプロセッサであり、例えばＳＳＤ１８から主メモリ１３にロードされる各種プログラムを実行する。ＣＰＵ１１によって実行される各種プログラムの中には、リソース管理を司るＯＳ１００や、当該ＯＳ１００の配下で動作する、後述する手書き支援ユーティリティプログラム１１０および各種アプリケーションプログラム１２０等が存在する。また、ＣＰＵ１１は、ＢＩＯＳ−ＲＯＭ１６に格納されたＢＩＯＳも実行する。ＢＩＯＳは、ハードウェア制御のためのプログラムである。
【００２２】
ＭＣＨ１２は、ＣＰＵ１１とＩＣＨ１４との間を接続するブリッジとして動作すると共に、主メモリ１３をアクセス制御するメモリコントローラとして動作する。また、ＭＣＨ１２は、ＧＰＵ１５との通信を実行する機能を有している。
【００２３】
ＧＰＵ１５は、ビデオメモリ１５Ａを使って、タッチパネルディスプレイ２に組み込まれたＬＣＤ５への画像表示を実行する表示コントローラである。また、ＧＰＵ１５は、各種プログラムが表示しようとする画像をＣＰＵ１１に代わって描画するアクセラレータを搭載する。
【００２４】
ＩＣＨ１４は、ＢＩＯＳ−ＲＯＭ１６およびＥＥＰＲＯＭ１７をアクセス制御するメモリコントローラとして動作する。また、ＩＣＨ１４は、ＳＳＤ１８を制御するためのＩＤＥ（Integrated Device Electronics）コントローラを内蔵する。さらに、ＩＣＨ１４は、カメラユニット４、ＬＡＮコントローラ１９、無線ＬＡＮコントローラ２０、ＵＳＢコントローラ２１およびＥＣ２２と通信する機能も有している。カメラユニット４により撮像された画像の画像データは、このＩＣＨ１４によって取り込まれ、ＭＣＨ１２経由で主メモリ１３に転送される。主メモリ１３上には、（古い画像データを新しい画像データに置き換えていきながら）所定量の画像データが蓄積される。
【００２５】
ＥＥＰＲＯＭ１７は、例えば本情報処理装置１の識別情報などを格納するための記憶媒体である。ＬＡＮコントローラ１９は、例えばIEEE 802.3規格の有線通信を実行する有線通信デバイスである。一方、無線ＬＡＮコントローラ２０は、例えばIEEE 802.11規格の無線通信を実行する無線通信デバイスである。また、ＵＳＢコントローラ２１は、外部接続されるＵＳＢデバイスとの間でUSB 2.0規格に準拠した通信を実行する。
【００２６】
そして、ＥＣ２２は、本情報処理装置１の電力管理を行うためのエンベデッドコントローラである。また、ＥＣ２２は、タッチパネルディスプレイ２上でのタッチ操作によるデータ入力を制御するための入力コントローラを内蔵する。
【００２７】
タッチパネルディスプレイ２には、前述したＬＣＤ５のほか、タッチパネル６が組み込まれている。ＬＣＤ５に重ね合わせて配置されるタッチパネル６は、マルチタッチ対応のタッチパネルであり、センサ６１とＭＣＵ（Micro controller unit）６２とを有している。タッチパネル６上のｎ箇所でタッチ操作が行われると、そのｎ箇所すべてがセンサ６１によって検出され、タッチパネル６への入力タイミングを示すタイミング情報とタッチパネル６上における入力位置を示す位置情報とを含む入力情報がＭＣＵ６２によって出力される。ＭＣＵ６２が出力する入力情報は、ＥＣ２２に導かれ、ＥＣ２２は、この入力情報を自身のレジスタに格納すると共に、割り込みを発生させることによってＣＰＵ１１に通知することで、当該レジスタに格納した入力情報をＣＰＵ１１に読み取らせる。これにより、タッチパネル６上でのタッチ操作というイベントの発生が、ＯＳ１００に伝達され、ＯＳ１００は、手書き支援ユーティリティプログラム１１０や各種アプリケーションプログラム１２０に対して、このイベントの発生を通知する。
【００２８】
手書き支援ユーティリティプログラム１１０は、タッチパネルディスプレイ２上で例えばペン３による筆記が行われた場合に、カメラユニット４により撮像された画像からペン３の種類を認識し、この認識結果に基づき、その筆記内容をタッチパネルディスプレイ２に表示するプログラムである。ここで、図３を参照して、手書き支援ユーティリティプログラム１１０が実行する、筆記から筆記内容の表示までのタイムラグを減らすための処理手順の基本原理を説明する。
【００２９】
前述したように、カメラユニット４により撮像された画像の画像データは、ＩＣＨ１４によって取り込まれ、ＭＣＨ１２経由で主メモリ１３に転送される。手書き支援ユーティリティプログラム１１０は、この主メモリ１３に蓄積された画像データを用いて、ペン３の認識を行なう。主メモリ１３に蓄積された画像データに対して画像認識処理を施すにあたり、手書き支援ユーティリティプログラム１１０は、第１に、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれるタイミング情報に基づき、画像認識処理の対象とする画像データを抽出する絞り込みを行う（図３の（Ａ））。
【００３０】
いま、図３の（Ａ）に示すように、タイミングａ１、タイミングａ２、タイミングａ３で３つの画像がカメラユニット４によって撮像されたと想定する。また、この３つの画像のうち、タイミングａ３で撮像された画像が、タッチパネル６へのタッチ操作が行われたタイミングに最も近い画像であったと想定する。手書き支援ユーティリティプログラム１１０は、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれるタイミング情報に基づき、この３つの画像の中からタイミングａ３で撮像された画像の画像データを画像認識処理の対象として抽出する。
【００３１】
また、手書き支援ユーティリティプログラム１１０は、第２に、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれる位置情報に基づき、画像認識処理の対象として抽出した画像データの撮像領域から画像認識処理の対象とする認識範囲を選出する絞り込みをさらに行う（図３の（Ｂ））。
【００３２】
いま、図３の（Ｂ）に示す位置でタッチ操作が行われたと想定する。手書き支援ユーティリティプログラム１１０は、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれる位置情報に基づき、画像データの画像領域から認識範囲ｂを切り出す。
【００３３】
例えば、タッチ操作に応答して、タッチ箇所に焦点を合わせて画像を撮像すべくカメラユニット４を駆動制御し、撮像された画像からペン３を認識する場合と比較すると、カメラユニット４により認識対象の画像が撮像されるまでの時間分、筆記から筆記内容の表示までのタイムラグを減らすことができる。
【００３４】
また、手書き支援ユーティリティプログラム１１０は、画像認識処理の対象を時間的・空間的に絞り込むことにより、処理量を削減し、筆記から筆記内容の表示までのタイムラグを減らすことを実現する。また、対象を絞り込むことで、画像認識処理の精度を高めることができる。
【００３５】
図４は、手書き支援ユーティリティプログラム１１０の動作手順を示すフローチャートである。
【００３６】
手書き支援ユーティリティプログラム１１０は、タッチパネル６へのタッチ操作を待機し（ブロックＡ１）、タッチ操作が行われたこと（イベントの発生）がＯＳ１００から通知されると（ブロックＡ１のＹＥＳ）、タッチパネル６への入力開始と判断し（ブロックＡ２）、画像認識処理と描画データ表示処理とを開始する（ブロックＡ３，Ａ４）。
【００３７】
タッチパネル６への入力が開始されると、手書き支援ユーティリティプログラム１１０は、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれる位置情報から入力座標を取得する（ブロックＡ５）。そして、手書き支援ユーティリティプログラム１１０は、この取得した入力座標の軌跡を表す描画データを生成する（ブロックＡ６）。この描画データは、例えばベクトルデータとして生成され、主メモリ１３またはＳＳＤ１８に格納される。
【００３８】
また、この描画データの生成と並行して、手書き支援ユーティリティプログラム１１０は、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれるタイミング情報および位置情報に基づき、画像認識処理の対象を時間的・空間的に絞り込みながら、カメラユニット４により撮像された画像からペン３の色などを認識する（ブロックＡ３）。図５は、手書き支援ユーティリティプログラム１１０が実行する画像認識処理の流れを示すフローチャートである。
【００３９】
手書き支援ユーティリティプログラム１１０は、画像認識処理として、タッチ操作が行われたこと（イベントの発生）がＯＳ１００から通知された後、この通知が途絶えるまでの間、または、認識が成功するまでの間、所定の間隔で、ブロックＢ１〜ブロックＢ５の処理を繰り返す。具体的には、まず、手書き支援ユーティリティプログラム１１０は、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれるタイミング情報から入力時刻を取得する（ブロックＢ１）。また、手書き支援ユーティリティプログラム１１０は、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれる位置情報から入力座標を取得する（ブロックＢ２）。
【００４０】
次に、手書き支援ユーティリティプログラム１１０は、取得した入力時刻に基づき、カメラユニット４により撮像された画像の画像データを取得し（ブロックＢ３）、取得した入力座標に基づき、取得した画像データ上から選定した一定の範囲の領域を対象として画像認識処理を実行する（ブロックＢ４）。そして、認識が成功したならば（ブロックＢ５のＹＥＳ）、手書き支援ユーティリティプログラム１１０は、その結果をプロパティとして主メモリ１３またはＳＳＤ１８に格納する（ブロックＢ６）。プロパティは、ＬＣＤ５に描画データを表示する際に与えるべき属性を示す。
【００４１】
再び図４を参照する。手書き支援ユーティリティプログラム１１０は、画像認識処理の結果であるプロパティに基づき、（プロパティで示される属性を与えつつ）取得した入力座標から生成した描画データをＬＣＤ５に表示する。また、手書き支援ユーティリティプログラム１１０は、ＯＳ１００からのイベント発生の通知が途絶えると、タッチパネル６への入力が終了したと判断し（ブロックＡ７）、画像認識処理と描画データ表示処理とを終了する。
【００４２】
（第２実施形態）
次に、第２の実施形態について説明する。
【００４３】
図６は、本実施形態の手書き支援ユーティリティプログラム１１０が実行する、筆記から筆記内容の表示までのタイムラグを減らすための処理の基本原理を説明するための図である。
【００４４】
前述したように、手書き支援ユーティリティプログラム１１０は、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれる位置情報から入力座標を取得し、この取得した入力座標の軌跡を表す描画データを生成する。また、手書き支援ユーティリティプログラム１１０は、カメラユニット４により撮像された画像に対して画像認識処理を施してプロパティを作成する。そして、手書き支援ユーティリティプログラム１１０は、この作成したプロパティで示される属性を与えて、生成した描画データをＬＣＤ５に表示する。
【００４５】
ここで、生成した描画データのＬＣＤ５への表示を、プロパティが作成されるまで待機したとすると、筆記から筆記内容の表示までのタイムラグが発生する。そこで、本実施形態の手書き支援ユーティリティプログラム１１０は、プロパティが作成されるまでの間、所定のプロパティを用いて描画データを表示し、プロパティが作成された時点で、このプロパティを用いて描画データを表示し直す。
【００４６】
手書き支援ユーティリティプログラム１１０は、タッチパネル６へのタッチ操作が行われたこと（イベントの発生）がＯＳ１００から通知された後、所定の間隔で、カメラユニット４により撮像された画像に対する画像認識処理を実行する。
【００４７】
いま、ユーザが、青色のペン３を使ってタッチパネル６上で筆記を行ったものと想定する。また、図６に示すように、タイミングｃ１〜ｃ４での画像認識処理ではペン３の認識が成功せず、タイミングｃ５での画像認識処理でペン３の認識が成功した（青色であることを認識できた）ものと想定する。
【００４８】
例えば黒色の属性を示すプロパティが所定のプロパティとして割り当てられていたとすると、手書き支援ユーティリティプログラム１１０は、まず、描画データを黒色でＬＣＤ５に表示する（図６のｄ１：破線）。この黒色での描画データの表示は、タイミングｃ５でペン３が青色であることが認識されるまで継続される。そして、手書き支援ユーティリティプログラム１１０は、タイミングｃ５でペン３が青色であることを認識すると、それ以前に表示済みの描画データの属性を黒色から青色に変更するとともに、それ以降の描画データを青色の属性を与えてＬＣＤ５に表示する（図６のｄ２：実線）。
【００４９】
前述した第１実施形態の手書き支援ユーティリティプログラム１１０との違いを図４に示したフローチャートを用いて説明すると、本実施形態の手書き支援ユーティリティプログラム１１０は、ブロックＡ３の画像認識処理が成功するまでの間、所定のプロパティを用いてブロックＡ４による描画データ表示処理を実行する。また、本実施形態の手書き支援ユーティリティプログラム１１０は、ブロックＡ３の画像認識処理が成功したときに、ブロックＡ４の描画データ表示処理で用いるプロパティを更新する。
【００５０】
なお、手書き支援ユーティリティプログラム１１０は、タイミングｃ５でペン３の認識に成功したら、それ以降についての画像認識処理の実行を停止して、情報処理装置の負荷低減を図るようにしてもよい。
【００５１】
つまり、本実施形態の情報処理装置では、ペン３が青色であることが認識されるタイミングｃ５までの区間についても、例えば黒色で筆記内容が暫定的にＬＣＤ５に表示されるので、筆記から筆記内容の表示までのタイムラグをユーザに実感させてしまうことを無くすことができる。
【００５２】
ところで、ここでは、プロパティが示す属性として、色を例に説明したが、画像からのペン３の認識は、色に限らず、例えば太さなども認識可能であるので、タッチパネル６への入力開始当初は、初期値として割り当てられた太さで描画データをＬＣＤ５に表示し、太さが認識した時点で、認識結果に応じた太さに変更するようにしてもよい。また、プロパティは、色と太さの組み合わせを示すように構成できることは言うまでもない。太さに応じて色を変化させることも可能である。
【００５３】
さらに、画像からペン３の形状を認識することも可能であるので、第１の形状であることを認識したら青色の属性を与え、第２の形状であることを認識したら赤色の属性を与えるといった表示制御も、プロパティの使い分けによって可能となる。また、色や太さ以外にも、いわゆるマーカーとしてペン３を利用できるように、属性として透明度を与えることも可能である。さらに、図７に示すように、例えば動物を図案化した形状のオブジェクトを使って、描画データをＬＣＤ５に表示することで、児童用のお絵かきツールとして本情報処理装置１を利用することも可能である。
【００５４】
（第３実施形態）
次に、第３の実施形態について説明する。
【００５５】
図８は、本実施形態の手書き支援ユーティリティプログラム１１０が実行する、誤認識を自動的にリカバリするための処理の基本原理を説明するための図である。
【００５６】
本実施形態の手書き支援ユーティリティプログラム１１０は、タッチ操作が行われたこと（イベントの発生）がＯＳ１００から通知された後、この通知が途絶えるまでの間、所定の間隔で、画像認識処理を繰り返す。また、この間に、認識が成功しても、画像認識処理の実行は継続する。
【００５７】
図８中、黒の丸は、画像認識処理を実行したが認識に失敗したことを示している（例えばタイミングｅ１）。また、四角の丸は、画像認識処理によってペン３の色が青色であることを認識したことを示している（例えばタイミングｅ３）。さらに、三角の丸は、画像認識処理によってペン３の色が緑色であることを認識したことを示している（例えばタイミングｅ６）。
【００５８】
図８に示す例では、タッチパネル６への入力が開始された後、タイミングｅ３で初めてペン３の色の認識に成功している。従って、このタイミングｅ３までの間、本実施形態の手書き支援ユーティリティプログラム１１０は、例えばデフォルト色として割り当てられた黒色で描画データを表示する（図８のｆ１：破線）。
【００５９】
本実施形態の手書き支援ユーティリティプログラム１１０は、ペン３の色の認識に成功したタイミングｅ３以降も、画像認識処理を継続する。また、本実施形態の手書き支援ユーティリティプログラム１１０は、このタイミングｅ３以降も、例えばデフォルト色として割り当てられた黒色で描画データを表示し続ける。
【００６０】
そして、タッチパネル６への入力が終了したときに、本実施形態の手書き支援ユーティリティプログラム１１０は、タッチパネル６への入力開始から入力終了までに認識されたペン３の色を各色毎に集計する。図８の例では、青色が３回（タイミングｅ３，ｅ５，ｅ８）、緑色が４回（タイミングｅ６，ｅ７，ｅ９，ｅ１０）である。そこで、本実施形態の手書き支援ユーティリティプログラム１１０は、多数決で、最も多い回数認識された緑色を選択して、表示済みの描画データの属性を黒色から緑色に変更する（図８のｆ２：実線）。
【００６１】
つまり、（最初に認識に成功した）タイミングｅ３での画像認識処理で緑色を青色と誤認識した場合であっても、この誤認識が自動的にリカバリされ、タッチパネル６への入力が終了した際には、筆記内容がデフォルト色から正しい緑色に更新される。よって、画像認識処理の精度を高めることができる。
【００６２】
図９は、本実施形態の手書き支援ユーティリティプログラム１１０が実行する画像認識処理の流れを示すフローチャートである。
【００６３】
手書き支援ユーティリティプログラム１１０は、画像認識処理として、タッチ操作が行われたこと（イベントの発生）がＯＳ１００から通知された後、この通知が途絶えるまでの間（途中で認識が成功しても）、所定の間隔で、ブロックＣ１〜ブロックＣ６の処理を繰り返す。具体的には、まず、手書き支援ユーティリティプログラム１１０は、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれるタイミング情報から入力時刻を取得する（ブロックＣ１）。また、手書き支援ユーティリティプログラム１１０は、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれる位置情報から入力座標を取得する（ブロックＣ２）。
【００６４】
次に、手書き支援ユーティリティプログラム１１０は、取得した入力時刻に基づき、カメラユニット４により撮像された画像の画像データを取得し（ブロックＣ３）、取得した入力座標に基づき、取得した画像データ上から選定した一定の範囲の領域を対象として画像認識処理を実行する（ブロックＣ４）。そして、認識が成功したならば（ブロックＣ５のＹＥＳ）、手書き支援ユーティリティプログラム１１０は、その結果を主メモリ１３またはＳＳＤ１８に一時的に保存する（ブロックＣ６）。
【００６５】
以上のブロックＣ１〜ブロックＣ６の処理を、タッチ操作が行われたこと（イベントの発生）の通知をＯＳ１００から受けている間繰り返した手書き支援ユーティリティプログラム１１０は、この通知が途切れたとき、認識が１度でも成功したか、即ち、主メモリ１３またはＳＳＤ１８に保存された認識結果が存在するか否かを調べ（ブロックＣ７）、存在していたら（ブロックＣ７のＹＥＳ）、認識結果の多数決を取って、プロパティを生成して主メモリ１３またはＳＳＤ１８に格納する（ブロックＣ８）。
【００６６】
ところで、ここでは、タッチパネル６への入力が開始された後、デフォルト色である例えば黒色で描画データを表示し、タッチパネル６への入力が終了したときに、黒色を多数決で選ばれた例えば緑色に変更する例を説明した。これに代えて、画像認識が成功したタイミング毎に多数決を取り、適宜に表示色を変更するようにしてもよい。例えば、図１０に示すように、タイミングｅ３で青色と認識されるまでは、描画データをデフォルト色である黒色で表示し（図１０のｆ１：破線）、当該タイミングｅ３で青色と認識されたならば、その表示色を黒色から青色に変更する（図１０のｆ３：一点鎖線）。その後、タイミングｅ５でも青色と認識しているので、表示色は青色に保たれる。さらに時間が経過し、タイミングｅ１０で緑色と認識した回数が青色と認識した回数を上回ると、このタイミングで、その表示色を青色から緑色に変更する（図１０のｆ２：実線）。
【００６７】
このように、タッチパネル６への入力が終了するまで待機することなく、描画データの表示に画像認識結果をリアルタイムに反映させることも可能である。
【００６８】
（第４実施形態）
次に、第４の実施形態について説明する。
【００６９】
前述したように、タッチパネルディスプレイ２に組み込まれ、ＬＣＤ５に重ね合わせて配置されるタッチパネル６は、マルチタッチ対応のタッチパネルである。そこで、本情報処理装置１は、複数のペン３による同時入力をサポートする。図１１に、本情報処理装置１において行われ得る２本のペン３によるタッチパネル６への同時入力の例を示す。
【００７０】
いま、２本のペンによるタッチパネル６への同時入力が、ある程度の距離を置いて行われたと想定する（図１１の（Ａ））。前述したように、手書き支援ユーティリティプログラム１１０は、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれるタイミング情報に基づき、画像認識処理の対象とする画像データを抽出するとともに、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれる位置情報に基づき、画像データの画像領域から認識範囲を切り出す。２本のペンによるタッチパネル６への同時入力が、ある程度の距離を置いて行われた場合には、図１１の（Ａ）に示すように、認識範囲がそれぞれ重複することなく画像領域から選出される（認識範囲ｂ１，ｂ２）。この場合、それぞれの認識範囲には認識対象が１つずつ含まれるので、ペン３の認識は、シングルタッチの場合と同等の精度で実行することができる。
【００７１】
次に、２本のペンによるタッチパネル６への同時入力が、互いに近い距離で行われたと想定する（図１１の（Ｂ））。この場合、図１１の（Ｂ）に示すように、画像領域上で２つの認識範囲が重複し得る（認識範囲ｂ１，ｂ２）。そうすると、１つの認識範囲に認識対象となり得る被写体像が複数含まれ得る。１つの認識範囲に認識対象となり得る被写体像が複数含まれていた場合、認識結果の反映先を取り違える等、シングルタッチの場合と比較して、その精度を著しく低下させるおそれを否定できない。
【００７２】
そこで、本実施形態の手書き支援ユーティリティプログラム１１０は、このような場合における認識精度の低下を防止し、認識精度を一定の水準に維持する仕組みを備える。具体的には、本実施形態の手書き支援ユーティリティプログラム１１０は、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれる位置情報を、画像領域からの認識範囲の切り出しに利用することに加えて、切り出した認識範囲に認識対象となり得る被写体像が複数含まれていた場合に、各々の認識結果の反映先への対応づけにも利用する。
【００７３】
例えば、図１に示したように、カメラユニット４がタッチパネルディスプレイ２の上端中央近傍に配置されている場合には、手書き支援ユーティリティプログラム１１０は、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれる位置情報のＸ軸方向の座標値情報を利用して、認識範囲に含まれる複数の被写体像の認識結果それぞれの反映先を決定する。カメラユニット４がタッチパネルディスプレイ２の下端中央近傍に配置されている場合も同様である。
【００７４】
また、カメラユニット４がタッチパネルディスプレイ２の左端中央近傍または右端中央近傍に配置されていた場合には、手書き支援ユーティリティプログラム１１０は、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれる位置情報のＹ軸方向の座標値情報を利用して、認識範囲に含まれる複数の被写体像の認識結果それぞれの反映先を決定する。
【００７５】
図１２は、本実施形態の手書き支援ユーティリティプログラム１１０が実行する画像認識処理の流れを示すフローチャートである。
【００７６】
手書き支援ユーティリティプログラム１１０は、画像認識処理として、タッチ操作が行われたこと（イベントの発生）がＯＳ１００から通知された後、この通知が途絶えるまでの間、または、認識が成功するまでの間、所定の間隔で、ブロックＤ１〜ブロックＤ８の処理を繰り返す。具体的には、まず、手書き支援ユーティリティプログラム１１０は、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれるタイミング情報から入力時刻を取得する（ブロックＤ１）。また、手書き支援ユーティリティプログラム１１０は、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれる位置情報から入力座標を取得する（ブロックＤ２）。手書き支援ユーティリティプログラム１１０は、このブロックＤ１〜ブロックＤ２の処理を、同時入力数分だけ繰り返す。
【００７７】
次に、手書き支援ユーティリティプログラム１１０は、取得した入力時刻に基づき、カメラユニット４により撮像された画像の画像データを取得し（ブロックＤ３）、取得した入力座標に基づき、取得した画像データ上から選定した一定の範囲の領域を対象として画像認識処理を実行する（ブロックＤ４）。
【００７８】
認識が成功した場合（ブロックＤ５のＹＥＳ）、手書き支援ユーティリティプログラム１１０は、続いて、同時入力数が２以上でなかったか、および、認識範囲が重複していなかったかを調べる（ブロックＤ６）。もし、同時入力数が２以上であり、かつ、認識範囲が重複していた場合（ブロックＤ６のＹＥＳ）、手書き支援ユーティリティプログラム１１０は、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれる位置情報と、カメラユニット４から取得した画像データ上の位置情報とを比較しながら（ブロックＢ７）、同時入力数分のプロパティを作成して主メモリ１３またはＳＳＤ１８に格納する（ブロックＤ８）。なお、同時入力数が２以上ではないか、または、認識範囲が重複していない場合には（ブロックＤ６のＮＯ）、手書き支援ユーティリティプログラム１１０は、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれる位置情報と、カメラユニット４から取得した画像データ上の位置情報との比較を行うことなく、その認識結果をプロパティとして主メモリ１３またはＳＳＤ１８に格納する。
【００７９】
これにより、２本のペンによるタッチパネル６への同時入力が、互いに近い距離で行われ、１つの認識範囲に認識対象となり得る被写体像が複数含まれたとしても、認識結果の反映先を取り違える等を防止し、認識精度を一定の水準に維持することを実現する。
【００８０】
なお、ここでは、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれる位置情報を用いて、画像認識処理の認識結果の反映先を決定する例を説明した。前述したように、手書き支援ユーティリティプログラム１１０は、所定の間隔で、ペン３を認識するための画像認識処理を繰り返す。この点を考慮して、１つの認識範囲に認識対象となり得る被写体像が複数含まれていた場合、このタイミングでの画像認識処理をスキップすることによって、認識精度の低下を防止することも考えられる。図１３は、この場合の手書き支援ユーティリティプログラムの画像認識処理の流れを示すフローチャートである。
【００８１】
手書き支援ユーティリティプログラム１１０は、画像認識処理として、タッチ操作が行われたこと（イベントの発生）がＯＳ１００から通知された後、この通知が途絶えるまでの間、または、認識が成功するまでの間、所定の間隔で、ブロックＥ１〜ブロックＥ７の処理を繰り返す。具体的には、まず、手書き支援ユーティリティプログラム１１０は、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれるタイミング情報から入力時刻を取得する（ブロックＥ１）。また、手書き支援ユーティリティプログラム１１０は、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれる位置情報から入力座標を取得する（ブロックＥ２）。手書き支援ユーティリティプログラム１１０は、このブロックＥ１〜ブロックＥ２の処理を、同時入力数分だけ繰り返す。
【００８２】
ここで、手書き支援ユーティリティプログラム１１０は、同時入力数が２以上でなかったか、および、認識範囲が重複していなかったかを調べる（ブロックＥ３）。もし、同時入力数が２以上であり、かつ、認識範囲が重複していた場合（ブロックＥ３のＹＥＳ）、手書き支援ユーティリティプログラム１１０は、今回のタイミングにおける画像認識処理について、後続の処理を行うことを中止する。
【００８３】
一方、同時入力数が２以上ではないか、または、認識範囲が重複していない場合（ブロックＥ３のＮＯ）、手書き支援ユーティリティプログラム１１０は、取得した入力時刻に基づき、カメラユニット４により撮像された画像の画像データを取得し（ブロックＥ４）、取得した入力座標に基づき、取得した画像データ上から選定した一定の範囲の領域を対象として画像認識処理を実行する（ブロックＥ５）。そして、認識が成功したならば（ブロックＥ６のＹＥＳ）、手書き支援ユーティリティプログラム１１０は、その結果をプロパティとして主メモリ１３またはＳＳＤ１８に格納する（ブロックＥ７）。
【００８４】
以上のように、画像領域上で２つの認識範囲が重複した場合、このタイミングでの画像認識処理をスキップすることによっても、認識精度の低下を防止することができる。
【００８５】
（第５実施形態）
次に、第５の実施形態について説明する。
【００８６】
前述した第１乃至第４実施形態の情報処理装置１では、カメラユニット４を、タッチパネルディスプレイ２の周辺部に１台設置することを前提とした。これに対し、本実施形態の情報処理装置１は、カメラユニット４を、タッチパネルディスプレイ２の周辺部に複数台設置する。ここでは、図１１に示すように、２台のカメラユニット４を設置する例を説明する。
【００８７】
２台のカメラユニット４は、図１１に示すように、例えば、１台をタッチパネルディスプレイ２の上端中央近傍に、もう１台をタッチパネルディスプレイ２の下端中央近傍に配置してもよいし（図１１の（Ａ））、例えば、タッチパネルディスプレイ２の上端中央からの距離が等しくなるように、２台ともタッチパネルディスプレイ２の上端に配置してもよい（図１１の（Ｂ））。つまり、複数台２のカメラユニット４の配置は、特に限定されるものではない。
【００８８】
そして、本実施形態の手書き支援ユーティリティプログラム１１０は、２つのカメラユニット４で撮像された２つの画像のうちの一方の画像を使ってペン３を認識し、ペン３の認識に失敗したときに、画像認識処理に使用する画像を切り替える。これにより、認識精度の向上を試みる。
【００８９】
図１５は、本実施形態の手書き支援ユーティリティプログラム１１０が実行する画像認識処理の流れを示すフローチャートである。
【００９０】
手書き支援ユーティリティプログラム１１０は、画像認識処理として、タッチ操作が行われたこと（イベントの発生）がＯＳ１００から通知された後、この通知が途絶えるまでの間、または、認識が成功するまでの間、所定の間隔で、ブロックＦ１〜ブロックＦ８の処理を繰り返す。具体的には、まず、手書き支援ユーティリティプログラム１１０は、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれるタイミング情報から入力時刻を取得する（ブロックＦ１）。また、手書き支援ユーティリティプログラム１１０は、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれる位置情報から入力座標を取得する（ブロックＦ２）。
【００９１】
次に、手書き支援ユーティリティプログラム１１０は、取得した入力時刻に基づき、その時に選択状態にあるカメラユニット４により撮像された画像の画像データを取得し（ブロックＦ３）、取得した入力座標に基づき、取得した画像データ上から選定した一定の範囲の領域を対象として画像認識処理を実行する（ブロックＦ４）。そして、認識が成功したならば（ブロックＦ５のＹＥＳ）、手書き支援ユーティリティプログラム１１０は、その結果をプロパティとして主メモリ１３またはＳＳＤ１８に格納する（ブロックＦ６）。
【００９２】
一方、認識が失敗した場合（ブロックＦ５のＮＯ）、手書き支援ユーティリティプログラム１１０は、既にカメラユニット４の切り替えを実行済みであるか否かを調べ（ブロックＦ７）、切り替えを実行していなければ（ブロックＦ７のＮＯ）、カメラユニット４の切り替えを行い（ブロックＦ８）、このカメラユニット４により撮像された画像の画像データについて画像認識処理を実行すべく、ブロックＦ３からの処理を繰り返す。
【００９３】
なお、ここでは、２つのカメラユニット４で撮像された２つの画像のうち、ペン３の認識に用いる画像を適宜に切り替える例を説明した。つまり、２つのカメラユニット４が、並行して画像の撮像を行っていることを前提としている。これに代えて、ペン３の認識に用いる画像を切り替えるタイミングで、切り替え先のカメラユニット４を起動するとともに、切り替え元のカメラユニット４を停止させるようにしてもよい。
【００９４】
また、図１６は、更に、２本のペンによるタッチパネル６への同時入力を考慮した、本実施形態の手書き支援ユーティリティプログラム１１０が実行する画像認識処理の流れを示すフローチャートである。
【００９５】
手書き支援ユーティリティプログラム１１０は、画像認識処理として、タッチ操作が行われたこと（イベントの発生）がＯＳ１００から通知された後、この通知が途絶えるまでの間、または、認識が成功するまでの間、所定の間隔で、ブロックＧ１〜ブロックＧ１２の処理を繰り返す。具体的には、まず、手書き支援ユーティリティプログラム１１０は、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれるタイミング情報から入力時刻を取得する（ブロックＧ１）。また、手書き支援ユーティリティプログラム１１０は、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれる位置情報から入力座標を取得する（ブロックＧ２）。手書き支援ユーティリティプログラム１１０は、このブロックＧ１〜ブロックＧ２の処理を、同時入力数分だけ繰り返す。
【００９６】
次に、手書き支援ユーティリティプログラム１１０は、取得した入力時刻に基づき、その時に選択状態にあるカメラユニット４により撮像された画像の画像データを取得し（ブロックＧ３）、取得した入力座標に基づき、取得した画像データ上から選定した一定の範囲の領域を対象として画像認識処理を実行する（ブロックＧ４）。
【００９７】
認識が成功した場合（ブロックＧ５のＹＥＳ）、手書き支援ユーティリティプログラム１１０は、続いて、同時入力数が２以上でなかったか、および、認識範囲が重複していなかったかを調べる（ブロックＧ６）。もし、同時入力数が２以上であり、かつ、認識範囲が重複していた場合（ブロックＧ６のＹＥＳ）、手書き支援ユーティリティプログラム１１０は、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれる位置情報と、カメラユニット４から取得した画像データ上の位置情報とを比較しながら（ブロックＧ７）、同時入力数分のプロパティを作成して主メモリ１３またはＳＳＤ１８に格納する（ブロックＧ８）。なお、同時入力数が２以上ではないか、または、認識範囲が重複していない場合には（ブロックＧ６のＮＯ）、手書き支援ユーティリティプログラム１１０は、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれる位置情報と、カメラユニット４から取得した画像データ上の位置情報との比較を行うことなく、その認識結果をプロパティとして主メモリ１３またはＳＳＤ１８に格納する。
【００９８】
一方、認識が失敗した場合（ブロックＧ５のＮＯ）、手書き支援ユーティリティプログラム１１０は、ブロックＧ１で取得した取得した入力時刻に基づき、もう一方のカメラユニット４により撮像された画像の画像データを取得し（ブロックＧ９）、また、ブロックＧ２で取得した入力座標に基づき、取得した画像データ上から選定した一定の範囲の領域を対象として画像認識処理を実行する（ブロックＧ１０）。
【００９９】
認識が成功した場合（ブロックＧ１１のＹＥＳ）、手書き支援ユーティリティプログラム１１０は、続いて、同時入力数が２以上でなかったか、および、認識範囲が重複していなかったかを調べる（ブロックＧ１２）。同時入力数が２以上であり、かつ、認識範囲が重複していた場合（ブロックＧ１２のＹＥＳ）、手書き支援ユーティリティプログラム１１０は、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれる位置情報と、カメラユニット４から取得した画像データ上の位置情報とを比較しながら（ブロックＧ７）、同時入力数分のプロパティを作成して主メモリ１３またはＳＳＤ１８に格納する（ブロックＧ８）。また、同時入力数が２以上ではないか、または、認識範囲が重複していない場合には（ブロックＧ１２のＮＯ）、手書き支援ユーティリティプログラム１１０は、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれる位置情報と、カメラユニット４から取得した画像データ上の位置情報との比較を行うことなく、その認識結果をプロパティとして主メモリ１３またはＳＳＤ１８に格納する。
【０１００】
なお、この場合においても、ブロックＧ９（またはブロックＧ５のＮＯ）のタイミングで、切り替え先のカメラユニット４を起動するとともに、切り替え元のカメラユニット４を停止させるようにしてもよい。
【０１０１】
以上のように、本実施形態の情報処理装置１は、２つのカメラユニット４を具備し、手書き支援ユーティリティプログラム１１０が、２つのカメラユニット４で撮像された２つの画像の中からペン３の認識に用いる画像を適宜に選択することにより、認識精度を向上させることを実現する。
【０１０２】
なお、ここでは、２つのカメラユニット４で撮像された２つの画像の中からペン３の認識に用いる画像を適宜に選択する例を示したが、同時入力数が２以上であり、かつ、認識範囲が重複していた場合に、一方のペン３の認識に用いる画像と、他方のペン３の認識に用いる画像とを、２つのカメラユニット４で撮像された２つの画像の一方と他方とで使い分けるようにしてもよい。
【０１０３】
例えば、２つのカメラユニット４が、図１４の（Ａ）に示すように設置されていた場合には、手書き支援ユーティリティプログラム１１０は、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれる位置情報のＹ軸方向の座標値情報に基づき、２つのカメラユニット４で撮像された２つの画像の使い分けを行う。また、例えば、２つのカメラユニット４が、図１４の（Ｂ）に示すように設置されていた場合には、手書き支援ユーティリティプログラム１１０は、タッチパネル６のＭＣＵ６２が出力する入力情報に含まれる位置情報のＸ軸方向の座標値情報に基づき、２つのカメラユニット４で撮像された２つの画像の使い分けを行う。
【０１０４】
これにより、認識精度をさらに向上させることを実現する。
【０１０５】
以上のように、本情報処理装置によれば、筆記から筆記内容の表示までのタイムラグを減らし、誤認識を自動的にリカバリし、複数の同時入力時にも認識精度を一定の水準に維持する等の仕組みが実現される。
【０１０６】
なお、本実施形態の動作制御処理は、ソフトウェア（プログラム）によって実現することができるので、このソフトウェアを格納したコンピュータ読み取り可能な記憶媒体を通じてこのソフトウェアを通常のコンピュータにインストールして実行することにより、本実施形態と同様の効果を容易に実現することができる。
【０１０７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【０１０８】
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【０１０９】
［１］
表示面上にタッチパネルが設けられたディスプレイ装置と、
前記タッチパネルへの入力に用いられた接触体を含む画像を撮像するためのカメラと、
前記カメラにより撮像された画像に対して画像認識処理を施し、前記接触体の種類を認識する画像認識手段と、
前記タッチパネルへの入力開始から入力終了までの軌跡を前記画像認識手段により認識された前記接触体の種類に対応する属性を与えて前記ディスプレイ装置に表示する表示制御手段と、
を具備し、
前記画像認識手段は、
前記タッチパネルから得られる入力情報に含まれる前記タッチパネルへの入力タイミングを示すタイミング情報に基づき、前記カメラにより撮像された画像の中から画像認識処理の対象とする画像を抽出する第１の絞り込み手段と、
前記タッチパネルから得られる入力情報に含まれる前記タッチパネル上における入力位置を示す位置情報に基づき、前記第１の絞り込み手段により抽出された画像の撮像領域から画像認識処理の対象とする認識範囲を選出する第２の絞り込み手段と、
を有する情報処理装置。
【０１１０】
［２］
前記表示制御手段は、前記タッチパネルへの入力開始から前記接触体の種類が前記画像認識手段により認識されるまでの間、前記タッチパネルへの入力開始からの軌跡を所定の属性を与えて表示し、前記画像認識手段により前記接触体の種類が認識されたときに、前記所定の属性を前記接触体の種類に対応する属性に変更すべく表示を更新する［１］の情報処理装置。
【０１１１】
［３］
前記画像認識手段は、前記タッチパネルへの入力開始から入力終了までの間、所定の間隔で前記接触体の種類を認識するための前記画像認識処理を実行し、
前記表示制御手段は、前記タッチパネルへの入力開始からその時までの間に前記画像認識手段によって最も多い回数認識された前記接触体の種類に対応する属性を与えられて前記タッチパネルへの入力開始からの軌跡が前記ディスプレイ装置に表示されるように、前記タッチパネルへの入力開始からの軌跡の表示の更新を適応的に実行する［２］の情報処理装置。
【０１１２】
［４］
前記画像認識手段は、前記タッチパネルへの入力が開始されたときに、前記接触体の種類を認識するための前記画像認識処理を開始し、所定の間隔で、前記接触体の種類を認識するための前記画像認識処理を実行し、前記接触体の種類が認識できたときに、前記接触体の種類を認識するための前記画像認識処理の実行を停止する［２］の情報処理装置。
【０１１３】
［５］
前記画像認識手段は、前記タッチパネルへの入力開始から入力終了までの間、所定の間隔で前記接触体の種類を認識するための前記画像認識処理を実行し、
前記表示認識手段は、前記タッチパネルへの入力が終了するまでの間、前記タッチパネルへの入力開始から入力終了までの軌跡を所定の属性を与えて前記ディスプレイ装置に表示し、前記タッチパネルへの入力が終了したときに、前記所定の属性を、前記タッチパネルへの入力開始から入力終了までの間に前記画像認識手段によって最も多い回数認識された前記接触体の種類に対応する属性に変更すべく表示を更新する、
［１］の情報処理装置。
【０１１４】
［６］
前記タッチパネルは、複数の入力を同時に受け付けるマルチタッチ対応であり、
前記画像認識手段は、前記第２の絞り込み手段により選出された複数の認識範囲が撮像領域上で重複している場合、前記複数の認識範囲が重複する撮像領域に含まれる複数の接触体の種類をそれぞれ認識した後、前記タッチパネルから得られる入力情報に含まれる前記タッチパネル上における入力位置を示す位置情報に基づき、複数の認識結果と複数の軌跡との間の対応づけを行う［１］の情報処理装置。
【０１１５】
［７］
前記タッチパネルは、複数の入力を同時に受け付けるマルチタッチ対応であり、
前記画像認識手段は、前記第２の絞り込み手段により選出された複数の認識範囲が撮像領域上で重複している場合、前記複数の認識範囲が重複する撮像領域に含まれる複数の接触体の種類を認識するための前記画像認識処理を中止する［１］の情報処理装置。
【０１１６】
［８］
前記属性は、色、サイズ、形状、透明度の中の少なくとも１つを含む［１］の情報処理装置。
【０１１７】
［９］
表示面上にタッチパネルが設けられたディスプレイ装置と、
前記タッチパネルへの入力に用いられた接触体を含む第１の画像を撮像するための第１のカメラと、
前記接触体を含む第２の画像を撮像するための第２のカメラと、
前記第１の画像または前記第２の画像に対して画像認識処理を施し、前記接触体の種類を認識する画像認識手段と、
前記タッチパネルへの入力開始から入力終了までの軌跡を前記画像認識手段により認識された前記接触体の種類に対応する属性を与えて前記ディスプレイ装置に表示する表示制御手段と、
を具備する情報処理装置。
【０１１８】
［１０］
前記画像認識手段は、前記第１の画像に対する画像認識処理による前記接触体の種類の認識が失敗した場合、前記接触体の種類を認識するための前記画像認識処理の対象を前記第１の画像から前記第２の画像に切り替える画像切り替え手段を有する［９］の情報処理装置。
【０１１９】
［１１］
前記画像認識手段の前記画像切り替え手段により前記接触体の種類を認識するための前記画像認識処理の対象が前記第１の画像から前記第２の画像に切り替わるときに、前記第１のカメラの動作を停止させて前記第２のカメラを起動するカメラ制御手段をさらに具備する［１０］の情報処理装置。
【０１２０】
［１２］
前記タッチパネルは、複数の入力を同時に受け付けるマルチタッチ対応であり、
前記画像認識手段は、
前記タッチパネルから得られる入力情報に含まれる前記タッチパネル上における入力位置を示す位置情報に基づき、前記第１の画像または前記第２の画像の撮像領域から画像認識処理の対象とする認識範囲を選出する絞り込み手段を有し、
前記絞り込み手段により選出された複数の認識範囲が撮像領域上で重複している場合、前記複数の認識範囲が重複する撮像領域に含まれる複数の接触体それぞれについて、前記タッチパネルから得られる入力情報に含まれる前記タッチパネル上における入力位置を示す位置情報に基づき、前記第１の画像または前記第２の画像のいずれを画像認識処理に用いるかを決定する
［９］の情報処理装置。
【０１２１】
［１３］
前記属性は、色、サイズ、形状、透明度の中の少なくとも１つを含む［９］の情報処理装置。
【０１２２】
［１４］
表示面上にタッチパネルが設けられたディスプレイ装置と、前記タッチパネルへの入力に用いられた接触体を含む画像を撮像するためのカメラとを具備するコンピュータにより実行されるプログラムであって、前記プログラムは前記コンピュータを、
前記カメラにより撮像された画像に対して画像認識処理を施し、前記接触体の種類を認識する画像認識手段と、
前記タッチパネルへの入力開始から入力終了までの軌跡を前記画像認識手段により認識された前記接触体の種類に対応する属性を与えて前記ディスプレイ装置に表示する表示制御手段と、
して動作させるものであり、
前記プログラムは前記コンピュータを、
前記画像認識手段が、
前記タッチパネルから得られる入力情報に含まれる前記タッチパネルへの入力タイミングを示すタイミング情報に基づき、前記カメラにより撮像された画像の中から画像認識処理の対象とする画像を抽出する第１の絞り込み手段と、
前記タッチパネルから得られる入力情報に含まれる前記タッチパネル上における入力位置を示す位置情報に基づき、前記第１の絞り込み手段により抽出された画像の撮像領域から画像認識処理の対象とする認識範囲を選出する第２の絞り込み手段と、
を有するように動作させるものであるプログラム。
【０１２３】
［１５］
前記プログラムは前記コンピュータを、前記表示制御手段が、前記タッチパネルへの入力開始から前記接触体の種類が前記画像認識手段により認識されるまでの間、前記タッチパネルへの入力開始からの軌跡を所定の属性を与えて表示し、前記画像認識手段により前記接触体の種類が認識されたときに、前記所定の属性を前記接触体の種類に対応する属性に変更すべく表示を更新するように動作させる［1４］のプログラム。
【０１２４】
［１６］
前記プログラムは前記コンピュータを、
前記画像認識手段が、前記タッチパネルへの入力開始から入力終了までの間、所定の間隔で前記接触体の種類を認識するための前記画像認識処理を実行し、
前記表示制御手段が、前記タッチパネルへの入力開始からその時までの間に前記画像認識手段によって最も多い回数認識された前記接触体の種類に対応する属性を与えられて前記タッチパネルへの入力開始からの軌跡が前記ディスプレイ装置に表示されるように、前記タッチパネルへの入力開始からの軌跡の表示の更新を適応的に実行する
ように動作させる［1５］のプログラム。
【０１２５】
［１７］
前記プログラムは前記コンピュータを、
前記画像認識手段が、前記タッチパネルへの入力が開始されたときに、前記接触体の種類を認識するための前記画像認識処理を開始し、所定の間隔で、前記接触体の種類を認識するための前記画像認識処理を実行し、前記接触体の種類が認識できたときに、前記接触体の種類を認識するための前記画像認識処理の実行を停止するように動作させる［1５］のプログラム。
【０１２６】
［１８］
前記プログラムは前記コンピュータを、
前記画像認識手段が、前記タッチパネルへの入力開始から入力終了までの間、所定の間隔で前記接触体の種類を認識するための前記画像認識処理を実行し、
前記表示認識手段が、前記タッチパネルへの入力が終了するまでの間、前記タッチパネルへの入力開始から入力終了までの軌跡を所定の属性を与えて前記ディスプレイ装置に表示し、前記タッチパネルへの入力が終了したときに、前記所定の属性を、前記タッチパネルへの入力開始から入力終了までの間に前記画像認識手段によって最も多い回数認識された前記接触体の種類に対応する属性に変更すべく表示を更新する、
ように動作させる［1４］のプログラム。
【０１２７】
［１９］
前記タッチパネルは、複数の入力を同時に受け付けるマルチタッチ対応であり、
前記プログラムは前記コンピュータを、
前記画像認識手段が、前記第２の絞り込み手段により選出された複数の認識範囲が撮像領域上で重複している場合、前記複数の認識範囲が重複する撮像領域に含まれる複数の接触体の種類をそれぞれ認識した後、前記タッチパネルから得られる入力情報に含まれる前記タッチパネル上における入力位置を示す位置情報に基づき、複数の認識結果と複数の軌跡との間の対応づけを行うように動作させる［１４］のプログラム。
【０１２８】
［２０］
前記タッチパネルは、複数の入力を同時に受け付けるマルチタッチ対応であり、
前記プログラムは前記コンピュータを、
前記画像認識手段が、前記第２の絞り込み手段により選出された複数の認識範囲が撮像領域上で重複している場合、前記複数の認識範囲が重複する撮像領域に含まれる複数の接触体の種類を認識するための前記画像認識処理を中止するように動作させる［１４］のプログラム。
【符号の説明】
【０１２９】
１…情報処理装置、２…タッチパネルディスプレイ、３…ペン、４…カメラユニット、５…ＬＣＤ、６…タッチパネル、１１…ＣＰＵ、１２…ＭＣＨ、１３…主メモリ、１４…ＩＣＨ、１５…ＧＰＵ、１５Ａ…ビデオメモリ、１６…ＢＩＯＳ−ＲＯＭ、１７…ＥＥＰＲＯＭ、１８…ＳＳＤ、１９…ＬＡＮコントローラ、２０…無線ＬＡＮコントローラ、２１…ＵＳＢコントローラ、２２…ＥＣ、６１…センサ、６２…ＭＣＵ、１００…ＯＳ、１１０…手書き支援ユーティリティプログラム、１２０…各種アプリケーションプログラム。
【図１】
0005377713.tif 000002
【図２】
0005377713.tif 000003
【図３】
0005377713.tif 000004
【図４】
0005377713.tif 000005
【図５】
0005377713.tif 000006
【図６】
0005377713.tif 000007
【図７】
0005377713.tif 000008
【図８】
0005377713.tif 000009
【図９】
0005377713.tif 000010
【図１０】
0005377713.tif 000011
【図１１】
0005377713.tif 000012
【図１２】
0005377713.tif 000013
【図１３】
0005377713.tif 000014
【図１４】
0005377713.tif 000015
【図１５】
0005377713.tif 000016
【図１６】
0005377713.tif 000017