JP6464504B2 - 電子機器、処理方法およびプログラム - Google Patents

電子機器、処理方法およびプログラム Download PDF

Info

Publication number
JP6464504B2
JP6464504B2 JP2014202901A JP2014202901A JP6464504B2 JP 6464504 B2 JP6464504 B2 JP 6464504B2 JP 2014202901 A JP2014202901 A JP 2014202901A JP 2014202901 A JP2014202901 A JP 2014202901A JP 6464504 B2 JP6464504 B2 JP 6464504B2
Authority
JP
Japan
Prior art keywords
stroke
character
image
code
handwritten
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.)
Active
Application number
JP2014202901A
Other languages
English (en)
Other versions
JP2016071777A5 (ja
JP2016071777A (ja
JP6464504B6 (ja
Inventor
千加志 杉浦
千加志 杉浦
Original Assignee
東芝クライアントソリューション株式会社
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 東芝クライアントソリューション株式会社 filed Critical 東芝クライアントソリューション株式会社
Priority to JP2014202901A priority Critical patent/JP6464504B6/ja
Priority to US14/662,784 priority patent/US20160098594A1/en
Publication of JP2016071777A publication Critical patent/JP2016071777A/ja
Publication of JP2016071777A5 publication Critical patent/JP2016071777A5/ja
Application granted granted Critical
Publication of JP6464504B2 publication Critical patent/JP6464504B2/ja
Publication of JP6464504B6 publication Critical patent/JP6464504B6/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • G06V30/36Matching; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Character Discrimination (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)

Description

本発明の実施形態は、電子機器、処理方法およびプログラムに関する。
近年、タブレットやスマートフォン等、バッテリ駆動可能で携行容易な様々な電子機器が広く普及している。この種の電子機器の多くは、ユーザによる入力操作を容易にするために、タッチスクリーンディスプレイを備えている。
ユーザは、タッチスクリーンディスプレイ上に表示されるメニューまたはオブジェクトを指などでタッチすることにより、これらメニューまたはオブジェクトに関連づけられた機能の実行を電子機器に指示することができる。
ところで、タッチスクリーンディスプレイを備える既存の電子機器の多くは、画像や音楽などのメディアデータに関する操作性を追求したコンシューマ向け製品であり、会議、商談、商品開発などの文書情報を処理する必要があるビジネスシーンにおける利用については必ずしも適していない場合がある。例えば、文字入力に関しては、ハードウェアキーボードによる操作の方がタッチ操作に優る場合が多い。このため、ビジネスシーンにおいては、いまなお、紙の手帳が広く利用されている。
その一方で、紙等のアナログな媒体に書かれた文書をデジタル情報に変換するための手法が、これまで種々提案されている。
特開平8−263592号公報
例えば、紙等のアナログな媒体に書かれた文書を撮像した画像から手書き文字のストロークに関するデータ(ストロークデータ)を取得する場合、本来あるべきストロークとの誤差が大きく、そのストロークデータに基づいて表示を行った際、見た目が手書きしたものと異なることがあるという問題があった。
本発明の一形態が解決しようとする課題は、アナログな媒体に書かれた文書を精度よくデジタル情報として入力することができる電子機器、処理方法およびプログラムを提供することである。
実施形態によれば、電子機器は、タッチスクリーンディスプレイと、コード/ストローク対応表が記憶される記憶手段と、手書きアプリケーションプログラムを実行するプロセッサと、を具備する。前記プロセッサは、前記タッチスクリーンディスプレイ上から文字を手書き入力された動きの軌跡を表示すると共に、前記動きの軌跡に対応する座標列に基づいて時系列情報を生成し、連続的に手書き入力されたストロークにそれぞれ対応するストロークデータ同士が同一にグループに分類されるように分割し、前記グループの文字認識処理を行い、前記文字認識処理の認識結果である文字コード列と前記時系列情報と関連付けて前記記憶手段に記憶して前記コード/ストローク対応表を生成する。前記プロセッサは、入力された文字画像と前記コード/ストローク対応表に記憶した過去の前記時系列情報とを関連付ける場合、前記文字画像の推定したストロークを前記文字認識処理して前記文字コードを取得し、前記文字コードを検索キーとして前記コード/ストローク対応表を検索し、前記文字コードに関連付けられた過去に入力された複数の文字ストローク群のすべてについて筆跡画像を生成し、前記筆跡画像と文字画像とを照合して、最も類似するストローク群を選出し、先に推定したストローク群に代えて選出したストローク群を文字画像に関連付ける。
実施形態に係る電子機器の外観を示す斜視図。 実施形態の電子機器のタッチスクリーンディスプレイ上に手書きされる手書き文書の例を示す図。 実施形態の電子機器によって記憶媒体に保存される、図2の手書き文書に対応する時系列情報(手書きページデータ)を説明するための図。 実施形態の電子機器のシステム構成を示すブロック図。 実施形態の電子機器上で動作する手書きノートアプリケーションプログラムの機能構成を示すブロック図。 実施形態の電子機器によって実行される手書きページ作成処理の手順を示すフローチャート。 図6の手書きページ作成処理によって得られるコード/ストローク対応表の一例を示す図。 実施形態の電子機器によって実行される文書画像と時系列情報との関連づけ処理の原理を説明するための第1の図。 実施形態の電子機器によって実行される文書画像と時系列情報との関連づけ処理の原理を説明するための第2の図。 実施形態の電子機器によって実行される文書画像と時系列情報との関連づけ処理の手順を示すフローチャート。 文書画像の一例を示す図。 実施形態の電子機器によって実行される文書画像と時系列情報との関連づけ処理の一例を模式的に示す図。 実施形態の電子機器によって実行される文書画像と時系列情報との関連づけ処理で関連づけができない場合のユーザインターフェースの一例を示す図。
以下、実施の形態について図面を参照して説明する。
図1は、一実施形態に係る電子機器の外観を示す斜視図である。この電子機器は、例えば、ペンまたは指によって文書を手書き入力可能な入力部を有するペン・ベースの携帯型電子機器である。この電子機器は、入力部に手書きされた文書をビットマップ画像データとしてではなく、文書を構成する文字、数字、マーク、図形等のストロークの軌跡のサンプリング点の座標の時系列を示す1以上のストロークデータとして記憶し、ストロークデータに基づいて手書き文書を検索することができる。このように、電子機器は、ストロークデータと記号(ビットマップ画像、筆跡)との対応関係を認識している。この電子機器は、この対応関係に基づいてストロークデータからビットマップ画像を生成することができるので、スキャナまたはカメラ等から入力した文書画像の一部(文字候補領域)とストロークデータとを対応付けることができる。これにより、電子機器は、過去に紙のノートに書いた文書をストロークデータとして取り込むことができる。
また、この電子機器は、ストロークデータの一部(1記号領域に対応する一部の情報)で表されるビットマップ画像に対して文字認識処理を行い、手書き文書を文字コードからなるテキストとしても記憶し、テキストに基づいて手書き文書を検索することもできる。このように、電子機器は、1以上のストロークデータと文字コードとの対応関係を認識している。この電子機器は、この対応関係に基づいて各文字コードに対応するストロークデータの一部からビットマップ画像を生成することができるので、スキャナまたはカメラ等から入力した文書画像の一部(文字候補領域)の文字コードを求めることができる。これにより、この電子機器は、過去に紙のノートに書いた文書をデジタルテキストとして取り込むこともできる。
この電子機器は、タブレットコンピュータ、ノートブック型パーソナルコンピュータ、スマートフォン、PDA等として実現され得る。以下では、説明の便宜上、この電子機器がタブレットコンピュータ10として実現されている場合を説明する。タブレットコンピュータ10は、タブレットまたはスレートコンピュータとも称される携帯型電子機器であり、本体11と、文書の手書き入力を可能とするタッチスクリーンディスプレイ17とを備える。タッチスクリーンディスプレイ17は、本体11の上面に重ね合わせるように取り付けられている。ペンまたは指によってタッチスクリーンディスプレイ17の画面をタッチすることにより、種々の操作を入力可能である。本体11の背面には文書の画像を取り込むカメラが設けられている。このカメラにより画像を取り込むことにより、紙に印刷・手書きされている文書に限らず、立体物に印刷・手書きされている文書等の種々のアナログ媒体に書かれた文書の画像を取り込むことができる。
本体11は、薄い箱形の筐体を有している。タッチスクリーンディスプレイ17には、フラットパネルディスプレイと、フラットパネルディスプレイの画面上のペンまたは指の接触位置を検出するように構成されたセンサとが組み込まれている。フラットパネルディスプレイは、例えば、LCD(Liquid crystal display)であってもよい。センサとしては、例えば、静電容量方式のタッチパネル、電磁誘導方式のデジタイザなどを使用することができる。以下では、デジタイザとタッチパネルの2種類のセンサの双方がタッチスクリーンディスプレイ17に組み込まれている場合を説明する。
デジタイザおよびタッチパネルタッチの各々は、フラットパネルディスプレイの画面を覆うように設けられる。タッチスクリーンディスプレイ17は、指を使用した画面に対するタッチ操作のみならず、専用のペン100を使用した画面に対するタッチ操作も検出することができる。ペン100は例えば電磁誘導ペンであってもよい。ユーザは、外部オブジェクト(ペン100または指)を使用してタッチスクリーンディスプレイ17上で手書き入力操作を行うことができる。手書き入力操作中においては、画面上の外部オブジェクト(ペン100または指)の動きの軌跡、つまり手書き入力操作によって手書きされるストロークの軌跡がリアルタイムに描画され、これにより各ストロークの軌跡が画面上に表示される。外部オブジェクトが画面に接触されている間の外部オブジェクトの動きの軌跡が1ストロークに相当する。手書きされたストロークの集合である文字、数字、マーク、図形等の集合が手書き文書を構成する。
手書き文書は、各ストロークの軌跡の座標列とストローク間の順序関係を示す時系列情報として記憶媒体に記憶される。この時系列情報の詳細は、図2、図3を参照して後述するが、この時系列情報は、複数のストロークが手書きされた順を示し、かつ、複数のストロークにそれぞれ対応する複数のストロークデータを含む。換言すれば、この時系列情報は、複数のストロークにそれぞれ対応する時系列のストロークデータの集合を意味する。各ストロークデータは、ある1つのストロークに対応し、このストロークの軌跡上の点それぞれに対応する座標データ系列(時系列座標)を含む。これらストロークデータの並びの順序は、ストロークそれぞれが手書きされた順序、つまり筆順に相当する。
タブレットコンピュータ10は、記憶媒体から既存の任意の時系列情報を読み出し、この時系列情報に対応する手書き文書、つまりこの時系列情報によって示される複数のストロークそれぞれに対応する軌跡を画面上に表示することができる。また、タブレットコンピュータ10は、編集機能を有している。この編集機能は、「消しゴム」ツール、範囲指定ツールおよびその他の各種ツール等を用いたユーザによる編集操作に応じて、表示中の手書き文書内の任意のストロークまたは任意の手書き文字等を削除または移動することができる。また、この編集機能は、いくつかの手書き操作の履歴を取り消す機能を含んでいる。さらに、この編集機能は、表示中の手書き文書に、任意の手書き文字または手書き記号などを追加することができる。
本実施形態では、時系列情報(手書き文書)は、1つまたは複数のページとして管理され得る。この場合、時系列情報を1つの画面に収まる面積単位で区切ることによって、1つの画面に収まる時系列情報のまとまりを1つのページとして記録してもよい。または、ページのサイズを変更できるようにしてもよい。この場合、ページのサイズは1つの画面のサイズよりも大きい面積に広げることができるので、画面のサイズよりも大きな面積の手書き文書を1つのページとして扱うことができる。1つのページ全体をディスプレイに同時に表示できない場合は、そのページを縮小してするようにしてもよいし、縦横スクロールによってページ内の表示対象部分を移動するようにしてもよい。
このように、時系列情報はページデータとして管理することができるので、以下、この時系列情報を手書きページデータまたは単に手書きデータとも称する。
タブレットコンピュータ10は、ネットワーク通信機能を有しており、他のパーソナルコンピュータやインターネット上のサーバシステム2等と連携することができる。即ち、タブレットコンピュータ10は、無線LANなどの無線通信デバイスを備えており、他のパーソナルコンピュータとの無線通信を実行することができる。また、タブレットコンピュータ10は、インターネット上のサーバシステム2との通信を実行することもできる。サーバシステム2は様々な情報を共有するためのシステムであり、オンラインストレージサービス、他の各種クラウドコンピューティングサービスを実行する。サーバシステム2は1以上のサーバコンピュータから実現し得る。
サーバシステム2はハードディスクドライブ(HDD)のような大容量の記憶媒体を備えている。タブレットコンピュータ10は、時系列情報(手書きページデータ)をネットワーク経由でサーバシステム2に送信し、サーバシステム2の記憶媒体に格納することができる(アップロード)。タブレットコンピュータ10とサーバシステム2との間のセキュアな通信を確保するために、通信開始時には、サーバシステム2がタブレットコンピュータ10を認証するようにしてもよい。この場合、タブレットコンピュータ10の画面上にユーザに対してIDまたはパスワードの入力を促すダイアログを表示してもよいし、タブレットコンピュータ10のIDなどを自動的にタブレットコンピュータ10からサーバシステム2に送信してもよい。
これにより、タブレットコンピュータ10内のストレージの容量が少ない場合でも、タブレットコンピュータ10が多数の時系列情報(手書きページデータ)または大容量の時系列情報(手書きページデータ)を扱うことが可能となる。
さらに、タブレットコンピュータ10は、サーバシステム2の記憶媒体に格納されている任意の1以上の時系列情報(手書きページデータ)を読み出し(ダウンロード)、その読み出した時系列情報により示されるストロークそれぞれの軌跡をタブレットコンピュータ10のタッチスクリーンディスプレイ17の画面に表示することができる。この場合、複数の時系列情報(手書きページデータ)それぞれのページを縮小することによって得られるサムネイル(サムネイル画像)の一覧をタッチスクリーンディスプレイ17の画面上に表示してもよいし、これらサムネイルから選ばれた1ページをタッチスクリーンディスプレイ17の画面上に通常サイズで表示してもよい。
このように、本実施形態では、時系列情報が格納される記憶媒体は、タブレットコンピュータ10内のストレージ、サーバシステム2内のストレージのいずれであってもよい。タブレットコンピュータ10のユーザは、任意の時系列情報を、タブレットコンピュータ10内のストレージおよびサーバシステム2内のストレージから選択される任意のストレージに格納することができる。
次に、図2および図3を参照して、ユーザによって手書きされたストローク(文字、数字、マーク、図形、表など)と時系列情報との関係について説明する。図2は、ペン100などを使用してタッチスクリーンディスプレイ17上に手書きされる手書き文書(手書き文字列)の例を示している。
手書き文書では、一旦手書きされた文字や図形などの上に、さらに別の文字や図形などが手書きされるというケースも少なくない。図2においては、「ABC」の手書き文字列が、「A」、「B」、「C」の順番で手書きされ、この後に、手書きの矢印が、手書き文字「A」のすぐ近くに手書きされている。
手書き文字「A」は、ペン100などを使用して手書きされる2つのストローク(「∧」形状の軌跡、「−」形状の軌跡)によって、つまり2つの軌跡によって表現される。最初に手書きされる「∧」形状のペン100の軌跡は例えば等時間間隔でリアルタイムにサンプリングされ、これによって「∧」形状のストロークの時系列座標SD11、SD12、…、SD1nが得られる。同様に、次に手書きされる「−」形状のペン100の軌跡も等時間間隔でリアルタイムにサンプリングされ、これによって「−」形状のストロークの時系列座標を示すSD21、SD21、…、SD2nが得られる。
手書き文字「B」は、ペン100などを使用して手書きされる2つのストローク、つまり2つの軌跡によって表現される。手書き文字「C」は、ペン100などを使用して手書きされた手書きされた1つのストローク、つまり1つの軌跡によって表現される。手書きの「矢印」は、ペン100などを使用して手書きされた手書きされた2つのストローク、つまり2つの軌跡によって表現される。
図3は、図2の手書き文書に対応する時系列情報(手書きページデータ)200を示している。時系列情報は、複数のストロークデータSD1、SD2、…、SD7を含む。時系列情報200内においては、これらストロークデータSD1、SD2、…、SD7は、筆跡順に、つまり複数のストロークが手書きされた順に時系列に並べている。
時系列情報200において、先頭の2つのストロークデータSD1、SD2は、手書き文字「A」の2つのストロークをそれぞれ示している。3番目と4番目のストロークデータSD3、SD4は、手書き文字「B」を構成する2つのストロークをそれぞれ示している。5番目のストロークデータSD5は、手書き文字「C」を構成する1つのストロークを示している。6番目と7番目のストロークデータSD6、SD7は、手書き「矢印」を構成する2つのストロークをそれぞれ示している。
各ストロークデータは、1つのストロークに対応する座標データ系列(時系列座標)、つまり1つのストロークの軌跡上の複数の点それぞれに対応する複数の座標を含む。各ストロークデータにおいては、複数の座標はストロークが書かれた順に時系列に並べられている。例えば、手書き文字「A」に関しては、ストロークデータSD1は、手書き文字「A」の「∧」形状のストロークの軌跡上の点それぞれに対応する座標データ系列(時系列座標)、つまりn個の座標データSD11、SD12、…、SD1nを含む。ストロークデータSD2は、手書き文字「A」の「−」形状のストロークの軌跡上の点それぞれに対応する座標データ系列、つまりn個の座標データSD21、SD22、…、SD2nを含む。なお、座標データの数はストロークデータ毎に異なっていてもよい。外部オブジェクトが画面に接触されている期間中、一定の周期で座標データをサンプリングするので、座標データの数はストロークの長さに依存する。
各座標データは、対応する軌跡内のある1点に対応するX座標およびY座標を示す。例えば、座標データSD11は、「∧」形状のストロークの始点のX座標(X11)およびY座標(Y11)を示す。そして、SD1nは、「∧」形状のストロークの終点のX座標(X1n)およびY座標(Y1n)を示す。
また、各座標データは、その座標に対応する点が手書きされた時点に対応するタイムスタンプ情報Tを含んでいてもよい。手書きされた時点は、絶対時間(例えば、年月日時分秒)またはある時点を基準とした相対時間のいずれであってもよい。例えば、各ストロークデータに、ストロークが書き始められた絶対時間(例えば、年月日時分秒)をタイムスタンプ情報として付加し、さらに、ストロークデータ内の各座標データに、絶対時間との差分を示す相対時間をタイムスタンプ情報Tとして付加してもよい。
このように、各座標データにタイムスタンプ情報Tが追加された時系列情報を使用することにより、ストローク間の時間的関係をより精度よく表すことができる。このため、1文字を構成する1つまたは複数のストロークデータからなるグループを文字認識する際の精度も向上し得る。
さらに、各座標データには、筆圧を示す情報(Z)を追加してもよい。グループを文字認識する精度は筆圧も考慮すると、さらに向上し得る。
図3で説明したような構造を有する時系列情報200は、個々のストロークの軌跡だけでなく、ストローク間の時間的関係も表すことができる。したがって、時系列情報200を使用することにより、図2に示すようにたとえ手書き「矢印」の先端部が手書き文字「A」上に重ねてまたは手書き文字「A」に近接して書かれたとしても、手書き文字「A」と手書き「矢印」の先端部とを異なる文字または図形として扱うことが可能となる。
なお、ストロークデータSD1のタイムスタンプ情報としては、ストロークデータSD1の内の複数の座標それぞれに対応する複数のタイムスタンプ情報T11からT1nから選択される任意の1つを、またはタイムスタンプ情報T11からT1nの平均値などを使用してもよい。同様に、ストロークデータSD2のタイムスタンプ情報としては、ストロークデータSD2の内の複数の座標点それぞれに対応する複数のタイムスタンプ情報T21からT2nから選択される任意の1つを、またはタイムスタンプ情報T21からT2nの平均値などを使用してもよい。また、同様に、ストロークデータSD7のタイムスタンプ情報としては、ストロークデータSD7の内の複数の座標点それぞれに対応する複数のタイムスタンプ情報T71からT7nから選択される任意の1つを、またはタイムスタンプ情報T71からT7nの平均値などを使用してもよい。
本実施形態における時系列情報200は、前述したように、ストロークデータSD1、SD2、…、SD7の並びは手書き文字の筆順を示す。例えば、ストロークデータSD1およびSD2の並びは、最初に「∧」形状のストロークが手書きされ、次に「−」形状のストロークが手書きされたことを表す。したがって、たとえ2つの手書き文字の筆跡同士が互いに類似していても、それら2つの手書き文字の筆順が互いに異なる場合には、それら2つの手書き文字を異なる文字として区別することができる。
また、本実施形態では、前述したように、手書き文書は複数のストロークに対応する複数のストロークデータの集合から構成される時系列情報200として記憶されるので、手書き文字の言語に依存せずに手書き文字を扱うことができる。よって、本実施形態の時系列情報200の構造は、使用言語の異なる世界中の様々な国で共通に使用できる。
図4は、タブレットコンピュータ10のシステム構成を示す図である。
タブレットコンピュータ10は、図4に示されるように、CPU101、システムコントローラ102、主メモリ103、グラフィクスコントローラ104、BIOS−ROM105、不揮発性メモリ106、無線通信デバイス107、組み込みコントローラ(EC:embedded controller)108、カメラ109等を備える。
CPU101は、タブレットコンピュータ10内の各種コンポーネントの動作を制御するプロセッサである。CPU101は、ストレージデバイスである不揮発性メモリ106から主メモリ103にロードされる各種ソフトウェアを実行する。これらソフトウェアには、オペレーティングシステム(OS)201および各種アプリケーションプログラムが含まれている。アプリケーションプログラムには、手書きノートアプリケーションプログラム202が含まれている。手書きノートアプリケーションプログラム202は、前述の手書きページデータを作成および表示する機能、手書きページデータを編集する機能、筆跡(ストローク)検索機能、文字認識機能、文書入力機能等を有している。文書入力機能は、スキャナまたはカメラにより読み込まれた文書画像を時系列情報またはテキストとして入力する機能であり、詳細は後述する。
また、CPU101は、BIOS−ROM105に格納された基本入出力システム(BIOS)も実行する。BIOSは、ハードウェア制御のためのプログラムである。
システムコントローラ102は、CPU101のローカルバスと各種コンポーネントとの間を接続するデバイスである。システムコントローラ102には、主メモリ103をアクセス制御するメモリコントローラも内蔵されている。また、システムコントローラ102は、PCI EXPRESS規格のシリアルバスなどを介してグラフィクスコントローラ104との通信を実行する機能も有している。
グラフィクスコントローラ104は、タブレットコンピュータ10のディスプレイモニタとして使用されるLCD17Aを制御する表示コントローラである。グラフィクスコントローラ104によって生成される表示信号は、LCD17Aに送られる。LCD17Aは、表示信号に基づいて画面イメージを表示する。LCD17A上にはタッチパネル17Bおよびデジタイザ17Cが配置されている。タッチパネル17Bは、LCD17Aの画面上で入力を行うための静電容量式のポインティングデバイスである。指が接触される画面上の接触位置および接触位置の動き等はタッチパネル17Bによって検出される。デジタイザ17CはLCD17Aの画面上で入力を行うための電磁誘導式のポインティングデバイスである。ペン100が接触される画面上の接触位置および接触位置の動き等はデジタイザ17Cによって検出される。
無線通信デバイス107は、無線LANまたは3G移動通信などの無線通信を実行するように構成されたデバイスである。EC108は、電力管理を行うためのコントローラを含むワンチップマイクロコンピュータである。EC108は、ユーザによるパワーボタンの操作に応じてタブレットコンピュータ10を電源オンまたは電源オフする機能を有している。
カメラ109は、本体の背面に設けられ、紙等の他のアナログの媒体に手書きまたは印刷されている文書を撮影する。撮影された文書の画像データは、手書きノートアプリケーションプログラム202の文書入力機能により時系列情報またはテキスト情報としてタブレットコンピュータ10に取り込まれる。ただし、タッチスクリーンディスプレイ17に手書きされた場合と異なり、筆順は判別できないので、ストロークデータが手書きされた順番に並べられている時系列情報は得られず、文書の画像データが含む1以上のストロークデータが得られる。
次に、図5を参照して、手書きノートアプリケーションプログラム202の機能構成について説明する。
手書きノートアプリケーションプログラム202は、ペン軌跡表示処理部301、時系列情報生成部302、編集処理部303、ページ保存処理部304、ページ取得処理部305、手書き文書表示処理部306、処理対象ブロック選択部307、処理部308等を備える。
手書きノートアプリケーションプログラム202は、タッチスクリーンディスプレイ17を用いて入力されるストロークデータを使用することによって、手書きページデータの作成、表示、編集、文字認識等を行う。手書きノートアプリケーションプログラム202は、カメラ109で撮影され、図示しないスキャナで読み込まれた、または他の装置で取り込まれサーバシステムから送信された文書の画像データをストロークデータ、さらにはテキストデータに変換する文書入力処理も行う。タッチスクリーンディスプレイ17は、「タッチ」、「移動(スライド)」、「リリース」等のイベントの発生を検出するように構成されている。「タッチ」は、画面上に外部オブジェクトが接触したことを示すイベントである。「移動(スライド)」は、画面上に外部オブジェクトが接触されている間に接触位置が移動されたことを示すイベントである。「リリース」は、画面から外部オブジェクトが離されたことを示すイベントである。
ペン軌跡表示処理部301および時系列情報生成部302は、タッチスクリーンディスプレイ17によって発生される「タッチ」または「移動(スライド)」のイベントを受信し、これによって手書き入力操作を検出する。「タッチ」イベントには、接触位置の座標が含まれている。「移動(スライド)」イベントにも、移動先の接触位置の座標が含まれている。したがって、ペン軌跡表示処理部301および時系列情報生成部302は、タッチスクリーンディスプレイ17から、接触位置の動きの軌跡に対応する座標列を受信することができる。
ペン軌跡表示処理部301は、タッチスクリーンディスプレイ17から座標列を受信して、この座標列に基づいて、ペン100等を使用した手書き入力操作によって手書きされる各ストロークの軌跡をタッチスクリーンディスプレイ17内のLCD17Aの画面上に表示する。ペン軌跡表示処理部301により、画面にペン100が接触している間のペン100の軌跡、つまり各ストロークの軌跡がLCD17Aの画面上に描かれる。
時系列情報生成部302は、タッチスクリーンディスプレイ17から出力される前述の座標列を受信して、この座標列に基づいて、図3で詳述したような構造を有する前述の時系列情報を生成する。この場合、時系列情報、つまりストロークの各点に対応する座標およびタイムスタンプ情報は作業メモリ401に一時保存してもよい。
ページ保存処理部304は、生成された時系列情報を手書きページデータとして記憶媒体402に保存する。記憶媒体402は手書きページデータを格納するための例えば不揮発性メモリ106内に設けられるローカルなデータベースである。なお、記憶媒体402はサーバシステム2内に設けてもよい。
ページ取得処理部305は、記憶媒体402から既に格納されている任意の時系列情報(手書きページデータ)を読み出す。読み出された時系列情報は手書き文書表示処理部306に送られる。手書き文書表示処理部306は、時系列情報を解析し、この解析結果に基づいて、時系列情報内の各ストロークデータによって示される各ストロークの軌跡である筆跡を画面上に手書きページとして表示する。
編集処理部303は現在表示中の手書きページを編集するための処理を実行する。すなわち、編集処理部303は、タッチスクリーンディスプレイ17上でユーザによって行われる編集操作および手書き入力操作に応じて、現在表示中の手書きページに新たなストローク(新たな手書き文字、新たな手書きマーク等)を追加する処理、表示されている複数のストローク内の1以上のストロークを削除または移動いる処理等を含む編集処理を実行する。また、編集処理部303は、編集処理の結果を表示中の時系列情報に反映するためにこの時系列情報を更新する。
ユーザは、「消しゴム」ツール等を使用して、表示されている複数のストローク内の任意のストロークを削除することができる。また、ユーザは、画面上の任意の部分を丸または四角によって囲むための「範囲指定」ツールを使用して、表示中の時系列情報(手書きページ)内の任意の部分を範囲していることができる。この範囲指定操作によって指定される画面上の指定範囲に応じて、処理対象の時系列情報部分、つまり処理対象のストロークデータ群が処理対象ブロック選択部307によって選択される。すなわち、処理対象ブロック選択部307は、表示中の時系列情報を使用して、指定範囲内に属するストロークそれぞれに対応する第1のストロークデータ群の中から処理対象の時系列情報部分を選択する。
例えば、処理対象ブロック選択部307は、表示中の時系列情報から指定範囲内に属するストロークそれぞれに対応する第1のストロークデータ群を抽出し、この第1のストロークデータ群内の他のストロークデータと不連続である第2のストロークデータを除く第1のストロークデータ群内の個々のストロークデータを処理対象の時系列情報部分に決定する。
編集処理部303は、ユーザによって編集メニューから「削除」または「移動」等のメニューが選択された場合、処理対象ブロック選択部307によって選択されているストロークデータ群に対する削除、移動等の処理を実行する。この際、複数のストロークデータが処理対象のストロークデータ群として選択されている場合には、編集処理部303は、これら複数のストロークデータをまとめて画面上から削除または画面上に別の位置に移動することができる。時系列情報においては、移動された各ストロークデータの時系列座標は、移動先位置に応じて自動的に変更してもよい。また、移動された各ストロークデータの時系列座標を変更したことを表す操作履歴を時系列情報に追加してもよい。削除された各ストロークデータも、時系列座標から必ずしも削除しなくてもよく、これら各ストロークデータを削除したことを表す操作履歴を時系列情報に追加してもよい。
処理部308は、処理対象の時系列情報に対して様々な処理、例えば、筆跡検索処理、文字認識処理等を実行することができる。処理部308は、検索処理部309、認識処理部310、文書画像入力処理部311を含む。
また、処理部308は、カメラ109等から入力された文書の画像データに対して、過去に入力した時系列情報を関連づけることができる。処理部308は、さらに、過去に入力した時系列情報の文字認識結果を利用して、入力画像データにテキストを関連づけることができる。本実施形態のタブレットコンピュータ10は、入力画像データと過去に入力した時系列情報との関連づけを精度よく行うための仕組みを備えるものであり、この点については後述する。なお、これらの処理は、認識処理部310と文書画像入力処理部311との協働により行なわれる。
検索処理部309は、記憶媒体402内に既に格納されている複数の時系列情報(複数の手書きページ)を検索してこれら複数の時系列情報内の特定の時系列情報部分(特定の手書き文字列等)を見つけ出す。検索処理部309は、特定の時系列情報部分を検索キーつまり検索クエリとして指定するように構成された指定モジュールを含んでいる。検索処理部309は、複数の時系列情報の各々から、特定の時系列情報部分に対応するストロークの軌跡との類似度が基準値以上であるストロークの軌跡を有する時系列情報部分を見つけ出し、見つけ出された時系列情報部分を含む手書きページデータを記憶媒体402から読み出し、見つけ出された時系列情報部分に対応する軌跡が視認可能なように手書きページデータをLCD17Aの画面上に表示する。
検索クエリとして指定される特定の時系列情報部分は、特定の手書き文字、特定の手書き文字列、特定の手書きマーク、特定の手書き図形等が使用し得る。例えば、タッチスクリーンディスプレイ17上に手書きされる手書きオブジェクト(手書き文字、手書きマーク、手書き図形など)を構成する1以上のストロークそのものを検索キーとして使用することができる。
検索処理部309によって実行される検索処理は筆跡検索であり、既に記録されている複数の手書きページの中から、検索クエリである特定の手書き文字列と類似する筆跡を有する手書き文字列を検索する。なお、現在表示中のある1つの手書きページのみを対象に筆跡検索を行ってもよい。
検索処理部309は、検索キーである1以上のストロークの特徴と類似する特徴を有するストロークを含む手書きページを記憶媒体402から検索する。各ストロークの特徴としては、筆画方向、形状、傾斜、等を使用し得る。この場合、検索キーである手書き文字のストロークとの類似度が基準値以上である手書き文字を含む手書きページデータ(ヒット手書きページ)が記憶媒体402から検索される。手書き文字間の類似度の計算方法としては、様々な方法を使用することができる。例えば各ストロークの座標列をベクトルとして扱ってもよい。この場合、比較対象のベクトル同士の類似度を計算するために、それら比較対象のベクトル間の内積を比較対象のベクトル間の類似度として算出してもよい。また他の例としては、各ストロークの軌跡を画像として扱い、比較対象の軌跡間の画像の重なりが最も多くなる部分の面積の大きさを前述の類似度として計算してもよい。さらに計算処理量を減らすための任意の工夫をしてもよい。また、手書き文字間の類似度の計算方法として、DP(Dynamic programming)マッチングを使用してもよい。
このように、文字列を示すコード群ではなく、ストロークデータが検索キーとして使用されるので、言語に依存しない検索を行うことができる。
なお、検索処理は、記憶媒体402内の手書きページデータ群に対してのみならず、サーバシステム2の記憶媒体に格納されている手書きページデータ群に対しても行うことができる。この場合、検索処理部309は、検索キーとして使用すべき1以上のストロークに対応する1以上のストロークデータを含む検索要求をサーバシステム2に送信する。サーバシステム2は、1以上のストロークデータの特徴と類似する特徴を有する手書きページデータ(ヒット手書きページ)を記憶媒体から検索し、このヒット手書きページをタブレットコンピュータ10に送信する。
検索処理部309内の前述の指定モジュールは、検索対象とすべき文字列または図形などを手書きするための検索キー入力領域を画面上に表示してもよい。ユーザによって検索キー入力領域に手書きされた文字列等が検索クエリとして使用される。
または、指定モジュールとして、前述の処理対象ブロック選択部307を使用してもよい。この場合、処理対象ブロック選択部307は、ユーザによって行われる範囲指定操作に応じて、表示中の時系列情報内の特定の時系列情報部分を、検索対象とすべき文字列または図形などとして選択することができる。ユーザは、表示中のページ内の一部の文字列を囲むように範囲指定してもよいし、表示中のページの余白などに検索クエリ用の文字列を新たに手書きし、この検索クエリ用の文字列を囲むように範囲指定してもよい。
例えば、ユーザは、表示中のページ内の一部を手書きの丸で囲むことによって範囲指定することができる。または、ユーザは、予め用意されているメニューを用いて手書きノートブックアプリケーションプログラム202を「選択」モードに設定し、この後、表示中のページ内の一部をペン100でなぞってもよい。
このように、表示中の時系列情報(手書きページ)内の時系列情報部分(手書き文字列)が検索クエリとして選択された場合においては、検索処理部309は、検索クエリとして選択された時系列情報部分を検索対象から除外する。すなわち、検索処理部309は、表示中の時系列情報全体ではなく、選択された時系列情報部分を除く表示中の時系列情報内の他の時系列情報部分から、選択された時系列情報部分に対応するストロークの軌跡との類似度が基準値以上であるストロークの軌跡を有する時系列情報部分を見つけ出す。
このように、検索クエリとして選択された時系列情報部分を検索対象から除外するという処理を行うことにより、選択された時系列情報部分(検索されて当然の文字列)それ自体が検索結果として表示されてしまうことを防止することができる。
よって、ユーザは、表示中のページに検索クエリとして使用すべき文字列を新たに手書きし、この文字列を選択するという操作を行うことによって、検索クエリの入力を行うことが可能となる。この場合、新たに手書きされた文字列(検索クエリ)自体は検索対象から除外されるので、新たに手書きされた文字列自体が検索結果として表示されることはない。よって、検索キー入力領域を画面上に表示することなく、表示中の手書きページの一部を容易に検索クエリとして使用することができる。
このように、本実施形態では、既に記録されている複数の手書きページから、検索クエリとして選択された、ある手書き文字の特徴に類似する手書き文字を検索することができる。よって、過去に作成および保存した多数の手書きページから、ユーザの意図に合った手書きページを簡単に検索することができる。
本実施形態の筆跡検索においては、テキスト検索の場合とは異なり、文字認識を行う必要が無い。したがって、言語に依存しないため、あらゆる言語で手書きされた手書きページを検索対象とすることができる。また、言語以外のマーク、図形等を筆跡検索のための検索クエリとして使用することもできる。
認識処理部310は、時系列情報(手書きページ)に対する文字認識を実行する。認識処理部310は、認識処理対象の時系列情報によって示される1つまたは複数のストロークデータをグループ化処理することによって得られる複数のブロック(手書きブロック)の各々を文字認識して、これら複数のブロック内の手書き文字それぞれを文字コードに変換する。時系列情報には筆跡(ビットマップ画像)以外にも筆順、タイムスタンプ情報、場合によっては筆圧情報も含まれているので、認識の精度が高い。グループ化処理では、互いに近傍に位置し、かつ連続的に手書きされたストロークにそれぞれ対応するストロークデータ同士が同一ブロックに分類されるように、認識処理対象の時系列情報によって示される1以上複数のストロークデータがグループ化される。
このように、時系列情報から各文字に対応するグループ毎の文字コードが得られる。グループの配置に基づいて文字コードを配列すると、1ページの手書きページデータのテキストデータが得られ、両者は関連づけられて、記憶媒体402に保存される。認識処理部310で文字コードが得られると、各文字コードに対して時系列情報のグループを関連づけたコード/ストローク対応表が得られ、この対応表も記憶媒体402に保存される。この対応表は、入力された文書にストロークデータを関連づけた後にストロークデータの集合をテキストデータに変換するために利用される。
文書画像入力処理部311は、認識処理部310と協働して、カメラ109で撮影されて図示しないスキャナで読み込まれた、または他の装置で取り込まれてサーバシステム2から送信された文書の画像データをストロークデータの集合に変換する処理を行う。より具体的には、後述する、過去に入力した時系列情報と関連づける処理を行う。
本実施形態では、筆順も考慮した本人の手書き筆跡を示す時系列情報から文字コードを得ているので、文字認識の精度が高い。従来のOCR(Optical character recognition)では、画像情報のマッチングにより文字コードを得ているが、OCRの基準画像はユーザ固有の画像データではなく、標準的な画像であるので、本実施形態に比べて文字認識の精度は劣る。
ここで、まず、図6のフローチャートを参照して、手書きノートブックアプリケーションプログラム202によって実行される手書きページ作成処理の手順を説明する。
ユーザがペン100を使用して手書き入力操作を行うと(ブロックA1)、「タッチ」や「移動」のイベントが発生される。これらのイベントに基づいて、手書きノートブックアプリケーションプログラム202は、ペン100の動きの軌跡を検出する(ブロックA2)。ペン100の動きの軌跡が検出されたならば(ブロックA2のYES)、手書きノートブックアプリケーションプログラム202は、検出されたペン100の動きの軌跡をディスプレイに表示する(ブロックA3)。さらに、手書きノートブックアプリケーションプログラム202は、検出されたペン100の動きの軌跡に対応する座標列に基づいて図3に示すような前述の時系列情報を生成し、その時系列情報を手書きページ情報として作業メモリ401に一時保存する(ブロックA4)。
次に、作業メモリ401内の手書きページ情報が認識処理部310に渡され、手書き文字認識処理が行われる。まず、ブロックA5で、時系列情報のストロークデータを、互いに近傍に位置し、かつ連続的に手書きされたストロークにそれぞれ対応するストロークデータ同士が同一グループに分類されるように分割する。グループは1つの記号に相当し、1つまたは複数のストロークデータからなる。図3の例では、ストロークデータSD1、SD2を1つのグループ、ストロークデータSD3、SD4を1つのグループ、ストロークデータSD5を1つのグループとする。ブロックA6で1つのグループの文字認識処理を行ない、候補文字を決定する。ブロックA7で言語処理を行い、言語的に確からしい文字列の判定を行なう。例えば、“ナキスト”が候補とされた場合、“ナ”を“テ”と変更して、“テキスト”を認識結果とする。これにより、手書き入力された文書の時系列情報と文字コード列(テキスト)が求められる。また、必要であれば、ブロックA5に戻り、ストロークデータのグループ分けを変更して認識処理を繰り返す。
ブロックA8で、文字認識結果である文字コード列であるテキストと、時系列情報(図3)とが関連づけられてページ毎に記憶媒体402に保存される。図3の時系列情報に対応するテキストは、(2341,2342,2343,222d,…)(16進数)である。これにより、タブレットコンピュータ10は、手書き入力された文書をテキストとしても取り込むことができる。
この処理により、グループ毎に文字コードとの対応関係が求められ、1つの記号と1以上のストロークデータとの対応関係を表すグループを複数記憶するコード/ストローク対応表が作成され、ブロックA9で記憶媒体402に保存される。コード/ストローク対応表の一例を図7に示す。コード/ストローク対応表は、文字コード毎にグループを有してもよい。コード/ストローク対応表、グループに含まれるストロークデータは、ストロークを表示可能な情報であればよく、例えば、時系列情報から筆順、タイムスタンプ情報、筆圧を除いたものであってもよい。なお、場合によって、同一人でも同じ文字を異なる筆跡で書くこともあるので、1つの文字コードに対して異なるグループが関連づけられることもある。さらに、同一人でも同じ筆跡でも、異なる筆順で書くこともあるので、同じストロークデータの集合からなるが、順番が異なるグループが関連づけられることもある。記憶媒体402のコード/ストローク対応表は新しい手書きページが作成される毎にデータが追加され、更新される。
次に、手書きノートブックアプリケーションプログラム202によって実行される、カメラ109等から入力された文書の画像データ(文字画像)と過去に入力した時系列情報との関連づけの原理について説明する。
いま、図8に示すように、「人」という文字と、「とまと」という文字列とが手書きされている文書の画像データが入力されたものと想定する。図8中、白抜きの文字が、画像データに含まれる手書き文字を表している。
文書画像入力処理部311は、この画像データを解析して、手書き文字のストロークを推定する。ここでは、この工程を、文字画像のストローク化と称する。図8中、白抜きの文字内の線分が、推定されたストロークを表している。なお、ここでは、ストロークの端部を判り易くするために、便宜的に、線分の両端(始端、終端)に黒丸を付している。
図8に示すように、文字画像のストローク化は、本来あるべきストロークと一致した結果が必ずしも得られるものではない。例えば、「人」という文字は、本来2画のストロークから構成されるのが正しいが、ここでは、3画でストローク化されている。また、「とまと」という文字列の1文字目の「と」という文字も、本来2画のストロークから構成されるのが正しいが、ここでは、3画でストローク化されている。なお、同じ文字であっても、必ずしも同じ画数でストローク化されるとは限らない。例えば、図8の例では、「とまと」という文字列の3文字目の「と」という文字は、1文字目の同じ「と」という文字とは異なり、2画でストローク化されている。また、画像のストローク化によって推定されるストロークは、文字画像の撮影ノイズなどの影響で、本来あるべきストロークよりも線分が乱れたりすることがある。このような場合、そのストロークに基づいて文字を表示すると、見た目が元の手書き文字と異なってしまう等の問題が生じ得る。
一方、ストロークに対する文字認識は、非常に高い精度で、正しい文字コードが得られる傾向にある。この点に着目し、手書きノートブックアプリケーションプログラム202は、推定したストロークを文字画像と関連づけるのではなく、図9に示すように、推定したストロークを文字認識して文字コードを得て、その文字コードに関連づけられている過去に入力された複数のストロークを候補とし、その中から最も類似するストロークを選択して、当該選択したストロークを文字画像と関連づける。
例えば、図9に示すように、「人」という文字画像からストロークを推定した場合を考える。前述したように、記憶媒体402には、各文字コードに対して時系列情報のグループを関連づけたコード/ストローク対応表が保存されている。
文字画像のストローク化は、文書画像入力処理部311により実行される。文書画像入力処理部311は、推定したストローク群を認識処理部310に引き渡す。認識処理部310は、受け取ったストローク群に対する文字認識を実行し、文字コードを取得する。例えば「人」という文字について3画のストロークが推定されて文書画像入力処理部311から認識処理部310に渡された場合でも、「人」という文字が認識されて、「人」という文字に対応する文字コードが取得されることが期待できる。認識処理部310は、取得した文字コードを文書画像入力処理部311に引き渡す。
文書画像入力処理部311は、受け取った文字コードを検索キーとして、コード/ストローク対応表内を検索し、その文字コードに関連づけられるストローク群を取得する。例えば、「人」という文字が過去に6回手書き入力されており、6つのストローク群がその文字コードに関連づけられている場合、文書画像入力処理部311は、それら6つのストローク群すべてについて、筆跡画像を生成し、それぞれ文字画像との照合を行う。文書画像入力処理部311は、類似度が最も高いストローク群を選出し、先に推定したストローク群に代えて、そのストローク群を文字画像に関連づける。
こうすることで、文字画像から推定されたストロークよりも、表示した際の見た目が元の手書き文字と近く、また、画数も正しいストロークとすることができる。
なお、図9には、1文字の場合を例示したが、例えば文字コードを検索キーとしたストローク群の検索などは、単語など複数文字単位で行ってもよい。例えばコード/ストローク対応表を単一文字/複数文字の双方の文字コードに対応させることで実現できる。この場合、単語は完全一致するもののみを検索するのではなく、部分一致も含むように曖昧性を持たせて検索してもよい(例えば、5文字の検索であれば、3文字以上一致していればよいなど)。こうすることで、万が一、文字認識エラーが含まれている場合でも、そのエラーを回復する効果が期待できる。例えば、極端な例ではあるが、仮に図8に示した「とまと」という文字列の2文字目の「ま」という文字が「め」という文字に誤認識された場合でも、「とめと」に対応する文字コードを検索キーとした検索ではヒットせず、「とまと」が曖昧検索されることで、この誤認識は解消されることになる。
図10に、手書きノートブックアプリケーションプログラム202によって実行される文書画像と時系列情報との関連づけ処理の手順を示す。
ブロックB1で、スキャナまたはカメラ109等からアナログ媒体上の文書を画像として入力する。文書としては、過去にノートに書いた文書や黒板に書いた文書等がある。入力画像はタッチスクリーンディスプレイ17で表示される。図11は入力画像の表示例である。
ブロックB2で、画像内の文字の行構造を解析して、画像の部分である1文字(または部首)の候補領域を抽出する。
ブロックB3で、抽出した候補領域の画像からストロークを推定する文字画像のストローク化が文書画像入力処理部311により実行される。また、ブロックB4で、推定されたストロークに対する文字認識が認識処理部310により実行され、文字コードが取得される。
ブロックB5で、文字コードが取得されたか否かが判断され、文字コードが取得された場合、ブロックB6で、文書画像入力処理部311が、図7のコード/ストローク対応表の各グループのストロークデータに基づいてストローク画像(筆跡画像)を生成し、ブロックB2で抽出された候補領域の部分画像とストローク画像とを照合し、候補領域の画像に類似するストローク画像を検出する。続いて、ブロックB7で、文書画像入力処理部311は、そのストローク画像のグループを候補領域に関連づける。図12はこの関連づけを模式的に示す。図12(a)は図11に示された入力画像である。図12(b)は記憶媒体402内に保存された1頁の時系列情報により表されるストローク画像である。図12(a)、(b)間の破線が関連づけを示す。図12(b)には1頁しか示していないが、類似するストローク画像は単一の頁の時系列情報から得られるとは限らず、類似する画像は、候補領域毎に異なる頁の時系列情報のストロークデータ画像であることが多い。グループが関連づけられた候補領域の表示態様は他の領域と識別可能に変えられる(ブロックB8)。例えば、図13に示すように、グループが関連づけられた候補領域の画像は輝度が下げられる。
一方、文字コードが取得されなかった場合、ブロックB9で、その候補領域のストロークデータの手書き入力をユーザに促す。ブロックB8で説明したように、認識結果が得られた候補領域の画像は輝度が下げられるので、輝度が変わっていない候補領域が手書き入力操作の対象であることを促していることになるが、さらに強調するために表示を点滅させる、枠で囲む、音声メッセージを発する等してもよい。
ユーザがペン100を使用してタッチスクリーンディスプレイ17上の候補領域の画像をなぞると、ブロックB10で図6に示す手書き入力処理が行なわれる。手書き入力は文字、数字、マーク等の文字コードが無い画像、例えば図13の地図画像に対して行なってもよい。ブロックB11で、全ての候補領域の処理が完了したか否か判定され、完了していない場合は、ブロックB3に戻る。
これにより、文書の画像に対するストロークデータ(タイムスタンプ情報を除く)が得られ、ブロックB12で、入力画像と対応するストロークデータとが関連づけられて記憶媒体402に保存される。なお、ストロークデータが求められているので、それから画像が復元できるので、入力画像は必ずしも保存しなくてもよい。
以上の処理により、過去に紙のノート等に書いた文書を、ユーザがペン100を使用してタッチスクリーンディスプレイ17上に手書きした文書と同様に、ストロークデータ(ただし、タイムスタンプ情報は除く)としてタブレットコンピュータ10に取り込むことが出来る。
さらに、認識処理部310による文字認識の結果を用いて、入力画像をテキストとしてタブレットコンピュータ10に取り込むことも出来る(ブロックB13)。
以上説明したように、実施形態によれば、タッチスクリーンディスプレイ17に手書き入力した文書を、手書きの軌跡を示すストロークデータとして記憶媒体402に保存することができる。さらに、カメラ、スキャナ等により画像として入力した文書から文字の候補領域を抽出し、既に手書き入力されたストロークデータと関連づけることができる。これにより、例えば紙のノート等に手書きした文書を、タッチスクリーンディスプレイ17に手書き入力した文書と同様にストロークデータとして記憶媒体402に保存することができる。
さらに、タッチスクリーンディスプレイ17に手書き入力した文書のストロークデータを文字認識処理して文字コードを求めておけば、画像として入力した文書をテキストに変換することもできる。ストロークデータはユーザ毎の情報であるので、基準画像との画像マッチングに基づく従来のOCRに比べて文字認識の精度が高い。さらに、ストロークデータに筆順、タイムスタンプ情報、筆圧等の情報を付加すれば、認識の精度をさらに向上することもできる。
実施形態は、全ての処理をタブレットコンピュータ10で行なったが、タッチスクリーンディスプレイ17への手書き以外の処理はサーバシステム2側で行なってもよい。例えば、手書きノートアプリケーションの処理部308の機能をサーバシステム2側に移してもよい。また、記憶媒体402に保存する代わりに、サーバシステム2のデータベースに保存してもよい。その場合、コード/ストローク対応表はユーザ毎に管理してもよいし、全てのユーザに共通に、各文字コードに全てのユーザのストロークデータを対応付けてもよい。あるいは、同じようなカテゴリ(男性/女性、子供/大人、アルファベットについては国籍)毎にコード/ストローク対応表を管理してもよい。
本実施形態に記載された様々な機能の各々は、処理回路によって実現されてもよい。処理回路の例には、中央処理装置(CPU)のような、プログラムされたプロセッサが含まれる。このプロセッサは、メモリに格納されたプログラムを実行することによって、記載された機能それぞれを実行する。このプロセッサは、電気回路を含むマイクロプロセッサであってもよい。処理回路の例は、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、マイクロコントローラ、コントローラ、他の電気回路部品も含む。
本実施形態の各種処理はコンピュータプログラムによって実現することができるので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのコンピュータプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10…タブレットコンピュータ、11…本体、17…タッチスクリーンディスプレイ、17A…LCD、17B…タッチパネル、17C…デジタイザ、101…CPU、102…システムコントローラ、103…主メモリ、104…グラフィクスコントローラ、105…BIOS−ROM、106…不揮発性メモリ、107…無線通信デバイス、108…組み込みコントローラ(EC)、109…カメラ、201…オペレーティングシステム、202…手書きノートアプリケーションプログラム、301…ペン軌跡表示処理部、302…時系列情報生成部、303…編集処理部、304…ページ保存処理部、305…ページ取得処理部、306…手書き文書表示処理部、307…処理対象ブロック選択部、308…処理部、309…検索処理部、310…認識処理部、311…文書画像入力処理部、401…作業メモリ、402…記憶媒体。

Claims (8)

  1. タッチスクリーンディスプレイと、
    コード/ストローク対応表が記憶される記憶手段と、
    手書きアプリケーションプログラムを実行するプロセッサと、
    を具備し、
    前記プロセッサは、
    前記タッチスクリーンディスプレイ上から文字を手書き入力された動きの軌跡を表示すると共に、前記動きの軌跡に対応する座標列に基づいて時系列情報を生成し、
    連続的に手書き入力されたストロークにそれぞれ対応するストロークデータ同士が同一にグループに分類されるように分割し、
    前記グループの文字認識処理を行い、候補文字の文字列を決定し、
    前記文字認識処理の認識結果である文字コード列と前記時系列情報と関連付けて前記記憶手段に記憶して前記コード/ストローク対応表を生成し、
    入力された文字画像と前記コード/ストローク対応表に記憶した過去の前記時系列情報とを関連付ける場合、前記文字画像の推定したストロークを前記文字認識処理して前記文字コードを取得し、
    前記文字コードを検索キーとして前記コード/ストローク対応表を検索し、
    前記文字コードに関連付けられた過去に入力された複数の文字ストローク群のすべてについて筆跡画像を生成し、
    前記筆跡画像と文字画像とを照合して、最も類似するストローク群を選出し、先に推定したストローク群に代えて選出したストローク群を文字画像に関連付ける
    電子機器。
  2. タッチスクリーンディスプレイと、
    コード/ストローク対応表が記憶される記憶手段と、
    手書きアプリケーションプログラムを実行するプロセッサと、
    を具備し、
    前記プロセッサは、
    前記タッチスクリーンディスプレイ上から文字を手書き入力された動きの軌跡を表示すると共に、前記動きの軌跡に対応する座標列に基づいて時系列情報を生成し、
    連続的に手書き入力されたストロークにそれぞれ対応するストロークデータ同士が同一にグループに分類されるように分割し、
    前記グループの文字認識処理を行い、候補文字の文字列を決定し、
    前記文字認識処理の認識結果である文字コード列と前記時系列情報と関連付けて前記記憶手段に記憶して前記コード/ストローク対応表を生成し、
    力された文書画像と前記コード/ストローク対応表に記憶した過去の前記時系列情報とを関連付ける場合、前記文書画像内の文字の行構造を解析して、1つの文字の領域を抽出し、
    前記抽出した領域の画像からストロークを推定し、その推定したストロークを前記文字認識処理して前記文字コードを取得し、
    前記文字コードを検索キーとして前記コード/ストローク対応表を検索し、
    前記文字コードに関連付けられた過去に入力された複数の文字ストローク群のすべてについて筆跡画像を生成し、
    前記筆跡画像と前記領域の部分画像とを照合して、前記領域の画像に類似するストローク画像を検出し、その検出したストローク画像のグループを前記領域に関連付ける
    子機器。
  3. 前記プロセッサは、前記グループが関連付けられた前記領域の画像は輝度を下げて表示し、前記文字コードが取得できなかった場合、前記領域のストロークデータの手書き入力を促す請求項に記載の電子機器。
  4. タッチスクリーンディスプレイ上から文字を手書き入力された動きの軌跡を表示すると共に、前記動きの軌跡に対応する座標列に基づいて時系列情報を生成することと、
    連続的に手書き入力されたストロークにそれぞれ対応するストロークデータ同士が同一にグループに分類されるように分割することと、
    前記グループの文字認識処理を行い、候補文字の文字列を決定することと、
    前記文字認識処理の認識結果である文字コード列と前記時系列情報と関連付けて記憶手段に記憶してコード/ストローク対応表を生成することと、
    入力された文字画像と前記コード/ストローク対応表に記憶した過去の前記時系列情報とを関連付ける場合、前記文字画像の推定したストロークを前記文字認識処理して前記文字コードを取得することと、
    前記文字コードを検索キーとして前記コード/ストローク対応表を検索することと、
    前記文字コードに関連付けられた過去に入力された複数の文字ストローク群のすべてについて筆跡画像を生成することと、
    前記筆跡画像と文字画像とを照合して、最も類似するストローク群を選出し、先に推定したストローク群に代えて選出したストローク群を文字画像に関連付けることと、
    を具備する処理方法。
  5. タッチスクリーンディスプレイ上から文字を手書き入力された動きの軌跡を表示すると共に、前記動きの軌跡に対応する座標列に基づいて時系列情報を生成することと、
    連続的に手書き入力されたストロークにそれぞれ対応するストロークデータ同士が同一にグループに分類されるように分割することと、
    前記グループの文字認識処理を行い、候補文字の文字列を決定することと、
    前記文字認識処理の認識結果である文字コード列と前記時系列情報と関連付けて記憶手段に記憶してコード/ストローク対応表を生成することと、
    入力された文書画像と前記コード/ストローク対応表に記憶した過去の前記時系列情報とを関連付ける場合、前記文書画像内の文字の行構造を解析して、1つの文字の領域を抽出することと、
    前記抽出した領域の画像からストロークを推定し、その推定したストロークを前記文字認識処理して前記文字コードを取得することと、
    前記文字コードを検索キーとして前記コード/ストローク対応表を検索することと、
    前記文字コードに関連付けられた過去に入力された複数の文字ストローク群のすべてについて筆跡画像を生成することと、
    前記筆跡画像と前記領域の部分画像とを照合して、前記領域の画像に類似するストローク画像を検出し、その検出したストローク画像のグループを前記領域に関連付けることと、
    を具備する処理方法。
  6. コンピュータによって実行されるプログラムであって、
    前記コンピュータに、
    タッチスクリーンディスプレイ上から文字を手書き入力された動きの軌跡を表示すると共に、前記動きの軌跡に対応する座標列に基づいて時系列情報を生成する手順と、
    連続的に手書き入力されたストロークにそれぞれ対応するストロークデータ同士が同一にグループに分類されるように分割する手順と、
    前記グループの文字認識処理を行い、候補文字の文字列を決定する手順と、
    前記文字認識処理の認識結果である文字コード列と前記時系列情報と関連付けて記憶手段に記憶してコード/ストローク対応表を生成する手順と、
    入力された文字画像と前記コード/ストローク対応表に記憶した過去の前記時系列情報とを関連付ける場合、前記文字画像の推定したストロークを前記文字認識処理して前記文字コードを取得する手順と、
    前記文字コードを検索キーとして前記コード/ストローク対応表を検索する手順と、
    前記文字コードに関連付けられた過去に入力された複数の文字ストローク群のすべてについて筆跡画像を生成する手順と、
    前記筆跡画像と文字画像とを照合して、最も類似するストローク群を選出し、先に推定したストローク群に代えて選出したストローク群を文字画像に関連付ける手順と、
    を実行させるプログラム。
  7. コンピュータによって実行されるプログラムであって、
    前記コンピュータに、
    タッチスクリーンディスプレイ上から文字を手書き入力された動きの軌跡を表示すると共に、前記動きの軌跡に対応する座標列に基づいて時系列情報を生成する手順と、
    連続的に手書き入力されたストロークにそれぞれ対応するストロークデータ同士が同一にグループに分類されるように分割する手順と、
    前記グループの文字認識処理を行い、候補文字の文字列を決定する手順と、
    前記文字認識処理の認識結果である文字コード列と前記時系列情報と関連付けて記憶手段に記憶してコード/ストローク対応表を生成する手順と、
    入力された文書画像と前記コード/ストローク対応表に記憶した過去の前記時系列情報とを関連付ける場合、前記文書画像内の文字の行構造を解析して、1つの文字の領域を抽出する手順と、
    前記抽出した領域の画像からストロークを推定し、その推定したストロークを前記文字認識処理して前記文字コードを取得する手順と、
    前記文字コードを検索キーとして前記コード/ストローク対応表を検索する手順と、
    前記文字コードに関連付けられた過去に入力された複数の文字ストローク群のすべてについて筆跡画像を生成する手順と、
    前記筆跡画像と前記領域の部分画像とを照合して、前記領域の画像に類似するストローク画像を検出し、その検出したストローク画像のグループを前記領域に関連付ける手順と、
    を実行させるプログラム。
  8. 前記グループが関連付けられた前記領域の画像は輝度を下げて表示し、前記文字コードが取得できなかった場合、前記領域のストロークデータの手書き入力を促す手順をさらに実行させる請求項7に記載のプログラム。
JP2014202901A 2014-10-01 2014-10-01 電子機器、処理方法およびプログラム Active JP6464504B6 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014202901A JP6464504B6 (ja) 2014-10-01 2014-10-01 電子機器、処理方法およびプログラム
US14/662,784 US20160098594A1 (en) 2014-10-01 2015-03-19 Electronic apparatus, processing method and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014202901A JP6464504B6 (ja) 2014-10-01 2014-10-01 電子機器、処理方法およびプログラム

Publications (4)

Publication Number Publication Date
JP2016071777A JP2016071777A (ja) 2016-05-09
JP2016071777A5 JP2016071777A5 (ja) 2017-11-02
JP6464504B2 true JP6464504B2 (ja) 2019-02-06
JP6464504B6 JP6464504B6 (ja) 2019-03-13

Family

ID=55633019

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014202901A Active JP6464504B6 (ja) 2014-10-01 2014-10-01 電子機器、処理方法およびプログラム

Country Status (2)

Country Link
US (1) US20160098594A1 (ja)
JP (1) JP6464504B6 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015141260A1 (ja) * 2014-03-17 2015-09-24 株式会社河合楽器製作所 手書き音楽記号認識装置およびプログラム
CN106375300B (zh) * 2016-08-30 2019-07-09 孙卓金 手写笔画的网络会话传输方法
JP6696868B2 (ja) * 2016-09-12 2020-05-20 株式会社Nttドコモ 情報処理装置
TW201814497A (zh) * 2016-09-28 2018-04-16 精工愛普生股份有限公司 資訊處理裝置、程式及印刷系統
CN108509955B (zh) * 2017-02-28 2022-04-15 柯尼卡美能达美国研究所有限公司 用于字符识别的方法、系统和非瞬时计算机可读介质
CN110717154A (zh) * 2018-07-11 2020-01-21 中国银联股份有限公司 运动轨迹的特征处理方法、设备以及计算机存储介质
US10511813B1 (en) * 2018-11-18 2019-12-17 Logan Amstutz Systems, devices, and/or methods for logging writing activities
WO2022180725A1 (ja) * 2021-02-25 2022-09-01 株式会社ワコム 文字認識装置、プログラム及び方法
CN113807295B (zh) * 2021-09-24 2023-10-27 科大讯飞股份有限公司 手写识别方法、装置、电子设备和存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0281283A (ja) * 1988-09-19 1990-03-22 Seiko Epson Corp 文字認識方法
JPH04313175A (ja) * 1991-04-11 1992-11-05 Seiko Epson Corp 手書き入力情報処理装置
JPH08263592A (ja) * 1995-03-20 1996-10-11 Nippon Steel Corp 手書き文字認識方法及び装置
JP5355769B1 (ja) * 2012-11-29 2013-11-27 株式会社東芝 情報処理装置、情報処理方法及びプログラム

Also Published As

Publication number Publication date
US20160098594A1 (en) 2016-04-07
JP2016071777A (ja) 2016-05-09
JP6464504B6 (ja) 2019-03-13

Similar Documents

Publication Publication Date Title
JP6464504B2 (ja) 電子機器、処理方法およびプログラム
JP5349645B1 (ja) 電子機器および手書き文書処理方法
JP5355769B1 (ja) 情報処理装置、情報処理方法及びプログラム
JP5270027B1 (ja) 情報処理装置および手書き文書検索方法
JP5248696B1 (ja) 電子機器、手書き文書作成方法、及び手書き文書作成プログラム
US9378427B2 (en) Displaying handwritten strokes on a device according to a determined stroke direction matching the present direction of inclination of the device
JP2015162088A (ja) 電子機器、方法及びプログラム
US9134833B2 (en) Electronic apparatus, method, and non-transitory computer-readable storage medium
JP5694234B2 (ja) 電子機器、手書き文書表示方法、及び表示プログラム
WO2014147712A1 (ja) 情報処理装置、情報処理方法及びプログラム
JP5395927B2 (ja) 電子機器および手書き文書検索方法
JP5925957B2 (ja) 電子機器および手書きデータ処理方法
US9183276B2 (en) Electronic device and method for searching handwritten document
JP5284523B1 (ja) 情報処理システム、プログラムおよび情報処理システムの処理方法
JP5735126B2 (ja) システムおよび筆跡検索方法
JP5330576B1 (ja) 情報処理装置および筆跡検索方法
JP6223687B2 (ja) 電子機器および手書き文書検索方法
JP2013239203A (ja) 電子機器、方法、及びプログラム
JP6039066B2 (ja) 電子機器、手書き文書検索方法およびプログラム
WO2016031016A1 (ja) 電子機器、方法及びプログラム
JP5666011B1 (ja) 方法及び電子機器

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170920

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170920

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180910

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180918

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181120

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20181206

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20181207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181220

R150 Certificate of patent or registration of utility model

Ref document number: 6464504

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150