JP2016071382A - 電子機器、方法及びプログラム - Google Patents

電子機器、方法及びプログラム Download PDF

Info

Publication number
JP2016071382A
JP2016071382A JP2014196281A JP2014196281A JP2016071382A JP 2016071382 A JP2016071382 A JP 2016071382A JP 2014196281 A JP2014196281 A JP 2014196281A JP 2014196281 A JP2014196281 A JP 2014196281A JP 2016071382 A JP2016071382 A JP 2016071382A
Authority
JP
Japan
Prior art keywords
stroke
strokes
symbol
handwritten
input
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.)
Granted
Application number
JP2014196281A
Other languages
English (en)
Other versions
JP2016071382A5 (ja
JP6426417B2 (ja
Inventor
滋 本井
Shigeru Motoi
滋 本井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2014196281A priority Critical patent/JP6426417B2/ja
Priority to US14/675,334 priority patent/US20160092431A1/en
Publication of JP2016071382A publication Critical patent/JP2016071382A/ja
Publication of JP2016071382A5 publication Critical patent/JP2016071382A5/ja
Application granted granted Critical
Publication of JP6426417B2 publication Critical patent/JP6426417B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs
    • 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/018Input/output arrangements for oriental characters
    • 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
    • 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
    • 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
    • G06V30/387Matching; Classification using human interaction, e.g. selection of the best displayed recognition candidate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Character Discrimination (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】 入力が予測される文字の候補を効果的に提示できる電子機器、方法及びプログラムを提供すること。
【解決手段】 実施形態によれば、電子機器は、手書きで記載される複数の第1ストロークに対応する第1ストロークデータを入力する入力手段と、複数の第1ストロークに、記号に対応する第1ストロークが含まれる場合、複数の第1ストロークのうち、記号に対応する第1ストロークを除いた1以上の第1ストロークをクエリとして検索される複数のストローク集合を、手書き入力の候補として表示する表示手段とを含む。
【選択図】図11

Description

本発明の実施形態は、電子機器、方法及びプログラムに関する。
近年、タブレット、PDA、スマートフォンといった種々の電子機器が開発されている。この種の電子機器の多くは、ユーザによる入力操作を容易にするために、タッチスクリーンディスプレイを備えている。
ユーザは、タッチスクリーンディスプレイ上に表示されるメニュー又はオブジェクトを指等でタッチすることにより、又は、手書き入力を行うことで、電子機器を操作することができる。
特開2012−8980号公報
本発明の一形態の目的は、入力が予測される文字の候補を効果的に提示できる電子機器、方法及びプログラムを提供することである。
実施形態によれば、電子機器は、手書きで記載される複数の第1ストロークに対応する第1ストロークデータを入力する入力手段と、前記複数の第1ストロークに、記号に対応する第1ストロークが含まれる場合、前記複数の第1ストロークのうち、記号に対応する第1ストロークを除いた1以上の第1ストロークをクエリとして検索される複数のストローク集合を、手書き入力の候補として表示する表示手段とを含む。
一実施形態に係る電子機器の外観の一例を示す斜視図。 同実施形態の電子機器と外部装置との連携動作を示す図。 同実施形態の電子機器のタッチスクリーンディスプレイ上に手書きされる手書き文書の例を示す図。 同実施形態の電子機器によって記憶媒体に保存される、図3の手書き文書に対応する時系列情報を説明するための図。 同実施形態の電子機器のシステム構成を示すブロック図。 同実施形態の電子機器のタッチスクリーンディスプレイに表示される画面の構成要素を示す図。 同実施形態の電子機器内の手書きノートアプリケーションプログラムによって表示されるデスクトップ画面を示す図。 同実施形態の電子機器内の手書きノートアプリケーションプログラムによって表示されるノートプレビュー画面を示す図。 同実施形態の電子機器内の手書きノートアプリケーションプログラムによって表示されるページ編集画面を示す図。 同実施形態の電子機器内の手書きノートアプリケーションプログラムによって表示されるページ編集画面のソフトウェアボタン群を示す図。 同実施形態の電子機器内の手書きノートアプリケーションの機能構成の例を示すブロック図。 サジェスト特徴テーブルのデータ構造の一例を示す図。 サジェストキーワードテーブルのデータ構造の一例を示す図。 特徴量登録処理の一例を示すフローチャート。 積算文字認識処理について具体的に説明するための図。 候補提示処理の一例を示すフローチャート。 候補提示処理を補足的に説明するための図。 候補提示処理を補足的に説明するための別の図。 キーワードのランク付けについて説明するための図。 読み仮名テーブルのデータ構造の一例を示す図。 候補提示処理を補足的に説明するための図。 候補提示処理を補足的に説明するための図。
以下、実施の形態について図面を参照して説明する。
図1は、一実施形態に係る電子機器の外観の一例を示す斜視図である。この電子機器は、例えば、ペンまたは指によって手書き入力可能なペン・ベースの携帯型電子機器である。この電子機器は、タブレットコンピュータ、ノートブック型パーソナルコンピュータ、スマートフォン、PDA等として実現され得る。以下では、この電子機器がタブレットコンピュータ10として実現されている場合を説明する。タブレットコンピュータ10は、タブレットまたはスレートコンピュータとも称される携帯型電子機器であり、本体11は、薄い箱形の筐体を有している。
タッチスクリーンディスプレイ17は、本体11の上面に重ね合わせるように取り付けられている。タッチスクリーンディスプレイ17には、フラットパネルディスプレイと、フラットパネルディスプレイの画面上のペンまたは指の接触位置を検出するように構成されたセンサとが組み込まれている。フラットパネルディスプレイは、例えば、液晶表示装置(LCD)であってもよい。センサとしては、例えば、静電容量方式のタッチパネル、電磁誘導方式のデジタイザ等を使用することができる。以下では、デジタイザ及びタッチパネルの2種類のセンサの双方がタッチスクリーンディスプレイ17に組み込まれている場合を説明する。このため、タッチスクリーンディスプレイ17は、指を使用した画面に対するタッチ操作のみならず、ペン100を使用した画面に対するタッチ操作も検出することができる。
ペン100は、例えばデジタイザペン(電磁誘導ペン)であってもよい。ユーザは、ペン100を使用してタッチスクリーンディスプレイ17上で手書き入力操作を行うことができる(ペン入力モード)。ペン入力モードにおいては、画面上のペン100の動きの軌跡、つまり、手書き入力操作によって手書きされるストロークが求められ、これによって手書きにより入力された複数のストロークが画面上に表示される。ペン100が画面に接触されている間のペン100の動きの軌跡が1つのストロークに相当する。複数のストロークが文字、記号等を構成する。手書きされた文字、手書きされた図形、手書きされた表等に対応する多数のストロークの集合が手書き文書を構成する。
本実施形態では、この手書き文書は、イメージデータではなく、各ストロークの軌跡の座標列とストローク間の順序関係とを示す時系列情報(手書き文書データ)として記憶媒体に保存される。ただし、この手書き文書は、イメージデータに基づいて生成されてもよい。時系列情報の詳細は図4を参照して後述するが、時系列情報は、複数のストロークが手書きされた順を示し、かつ複数のストロークにそれぞれ対応する複数のストロークデータを含む。換言すれば、時系列情報は、複数のストロークにそれぞれ対応する時系列のストロークデータの集合を意味する。各ストロークデータは、ある1つのストロークに対応し、このストロークの軌跡上の点それぞれに対応する座標データ系列(時系列座標)を含む。これらストロークデータの並びの順序は、ストロークそれぞれが手書きされた順序に相当する。
タブレットコンピュータ10は、記憶媒体から既存の任意の時系列情報を読み出し、この時系列情報に対応する手書き文書、つまり、この時系列情報によって示される複数のストロークを画面上に表示することができる。時系列情報によって示される複数のストロークも、手書きによって入力される複数のストロークである。
さらに、本実施形態に係るタブレットコンピュータ10は、ペン100を使用せずに、指で手書き入力操作を行うためのタッチ入力モードも有している。タッチ入力モードが有効な場合、ユーザは、指を使用してタッチスクリーンディスプレイ17上で手書き入力操作を行うことができる。タッチ入力モードにおいては、画面上の指の動きの軌跡、つまり、手書き入力操作によって手書きされるストロークが求められ、これによって手書きにより入力された複数のストロークが画面上に表示される。
タブレットコンピュータ10は、編集機能を有している。この編集機能は、「消しゴム」ツール、範囲選択ツール、及び他の各種ツール等を用いたユーザによる編集操作に応じて、範囲選択ツールによって選択される表示中の手書き文書内の任意の手書き部分(手書き文字、手書きマーク、手書き図形及び手書き表等)を削除または移動することができる。また、範囲選択ツールによって選択される手書き文書内の任意の手書き部分を、手書き文書を検索するための検索キーとして指定することもできる。また、範囲選択ツールによって選択される手書き文書内の任意の手書き部分に対して、手書き文字認識/手書き図形認識/手書き表認識のような認識処理を実行することもできる。
本実施形態では、手書き文書は、1つまたは複数のページとして管理され得る。この場合、時系列情報(手書き文書データ)を1つの画面に収まる面積単位で区切ることによって、1つの画面に収まる時系列情報のまとまりを1つのページとして記録してもよい。あるいは、ページのサイズを可変できるようにしてもよい。この場合、ページのサイズは1つの画面のサイズよりも大きい面積に広げることができるので、画面のサイズよりも大きな面積の手書き文書を1つのページとして扱うことができる。1つのページ全体をディスプレイに同時に表示できない場合は、そのページを縮小して表示するようにしてもよいし、縦横スクロールによってページ内の表示対象部分を移動するようにしてもよい。
図2は、タブレットコンピュータ10と外部装置との連係動作の一例を示している。タブレットコンピュータ10は、無線LAN等の無線通信デバイスを備えており、パーソナルコンピュータ1との無線通信を実行することができる。さらに、タブレットコンピュータ10は、無線通信デバイスを使用してインターネット3上のサーバ2との通信を実行することもできる。サーバ2は、オンラインストレージサービス、他の各種クラウドコンピューティングサービスを実行するサーバであってもよい。
パーソナルコンピュータ1は、ハードディスクドライブ(HDD:Hard Disk Drive)のようなストレージデバイスを備えている。タブレットコンピュータ10は、時系列情報(手書き文書データ)をパーソナルコンピュータ1に送信して、パーソナルコンピュータ1のHDDに記録することができる(アップロード)。タブレットコンピュータ10とパーソナルコンピュータ1との間のセキュアな通信を確保するために、通信開始時には、パーソナルコンピュータ1がタブレットコンピュータ10を認証するようにしてもよい。この場合、タブレットコンピュータ10の画面上にユーザに対してIDまたはパスワードの入力を促すダイアログを表示してもよいし、タブレットコンピュータ10のID等を自動的にタブレットコンピュータ10からパーソナルコンピュータ1に送信してもよい。
これにより、タブレットコンピュータ10内のストレージの容量が少ない場合でも、タブレットコンピュータ10が多数の時系列情報あるいは大容量の時系列情報を扱うことが可能となる。
さらに、タブレットコンピュータ10は、パーソナルコンピュータ1のHDDに記録されている任意の1以上の時系列情報を読み出し(ダウンロード)、その読み出した時系列情報によって示されるストロークをタブレットコンピュータ10のディスプレイ17の画面に表示することができる。この場合、複数の時系列情報それぞれのページを縮小することによって得られるサムネイルの一覧をディスプレイ17の画面上に表示してもよいし、これらサムネイルから選ばれた1ページをディスプレイ17の画面上に通常サイズで表示してもよい。
さらに、タブレットコンピュータ10が通信する先はパーソナルコンピュータ1ではなく、上述したように、ストレージサービス等を提供するクラウド上のサーバ2であってもよい。タブレットコンピュータ10は、時系列情報(手書き文書データ)をインターネットを介してサーバ2に送信して、サーバ2のストレージデバイス2Aに記録することができる(アップロード)。さらに、タブレットコンピュータ10は、サーバ2のストレージデバイス2Aに記録されている任意の時系列情報を読み出して(ダウンロード)、その時系列情報によって示されるストロークそれぞれの軌跡をタブレットコンピュータ10のディスプレイ17の画面に表示することができる。
このように、本実施形態では、時系列情報が保存される記憶媒体は、タブレットコンピュータ10内のストレージデバイス、パーソナルコンピュータ1内のストレージデバイス、サーバ2のストレージデバイスのいずれであってもよい。
次に、図3及び図4を参照して、ユーザによって手書きされたストローク(文字、図形及び表等)と時系列情報との関係について説明する。図3は、ペン100等を使用してタッチスクリーンディスプレイ17上に手書きされる手書き文書(手書き文字列)の一例を示している。
手書き文書では、一旦手書きによって入力される文字や図形等の上に、さらに別の文字や図形等が手書きによって入力されるというケースが多い。図3においては、「A」、「B」及び「C」の手書き文字が、この順番で手書きによって入力され、この後に、手書きの矢印が、手書き文字「A」のすぐ近くに手書きによって入力されている。
手書き文字「A」は、ペン100等を使用して手書きされた2つのストローク(「∧」形状の軌跡、「−」形状の軌跡)によって、つまり、2つの軌跡によって表現される。最初に手書きされる「∧」形状のペン100の軌跡は例えば等時間間隔でリアルタイムにサンプリングされ、これによって「∧」形状のストロークの時系列座標SD11、SD12、…、SD1nが得られる。同様に、次に手書きされる「−」形状のペン100の軌跡も等時間間隔でリアルタイムにサンプリングされ、これによって「−」形状のストロークの時系列座標SD21、SD22、…、SD2nが得られる。
手書き文字「B」は、ペン100等を使用して手書きされた2つのストローク、つまり、2つの軌跡によって表現される。手書き文字「C」は、ペン100等を使用して手書きされた1つのストローク、つまり、1つの軌跡によって表現される。手書きの「矢印」は、ペン100等を使用して手書きされた2つのストローク、つまり、2つの軌跡によって表現される。
図4は、図3の手書き文書に対応する時系列情報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が追加された時系列情報を使用することにより、ストローク間の時間的関係をより精度よく表すことができる。図4には示していないが、各座標データには、筆圧を示す情報(Z)を追加してもよい。
図4で説明したような構造を有する時系列情報200は、個々のストロークの筆跡だけでなく、ストローク間の時間的関係も表すことができる。したがって、この時系列情報200を使用することにより、図3に示すようにたとえ手書き「矢印」の先端部が手書き文字「A」上に重ねてまたは手書き文字「A」に近接して書かれたとしても、手書き文字「A」と手書き「矢印」の先端部とを異なる文字または図形として扱うことが可能となる。
さらに、本実施形態では、上述したように、手書き文書データは、イメージまたは文字認識結果ではなく、時系列のストロークデータの集合から構成される時系列情報200として記憶されるので、手書き文字の言語に依存せずに手書き文字を扱うことができる。したがって、本実施形態における時系列情報200の構造は、使用言語の異なる世界中の様々な国で共通に使用できる。
図5は、タブレットコンピュータ10のシステム構成を示す図である。
タブレットコンピュータ10は、CPU101、システムコントローラ102、主メモリ103、グラフィクスコントローラ104、BIOS−ROM105、不揮発性メモリ106、無線通信デバイス107及びエンベデッドコントローラ(EC)108等を備える。
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を電源オンまたは電源オフする機能を有している。
図6は、タッチスクリーンディスプレイ17に表示される画面の構成要素を示す。
画面は、表示領域(コンテンツ領域とも云う)51と、表示領域51の下のバー(ナビゲーションバーとも云う)52とを備える。表示領域51はコンテンツを表示するための領域である。アクティブ状態のアプリケーションプログラムのコンテンツは表示領域51上に表示される。図6では、ランチャープログラムがアクティブ状態である場合が想定されている。この場合、複数のアプリケーションプログラムに対応する複数のアイコン51Aがランチャープログラムによって表示領域51上に表示される。
なお、あるアプリケーションプログラムがアクティブであるとは、このアプリケーションプログラムがフォアグラウンドに移行していること、換言すればこのアプリケーションプログラムが起動されており且つフォーカスされていることを意味する。
バー52はOS201の1以上のソフトウェアボタン(ソフトウェアキーとも云う)を表示するための領域である。各ソフトウェアボタンには予め決められた機能が割り当てられている。あるソフトウェアボタンが指またはペン100によってタップされると、このソフトウェアボタンに割り当てられた機能がOS201によって実行される。例えば、Android(登録商標)環境においては、図6に示されているように、戻るボタン52A、ホームボタン52B、リーセントアプリケーションボタン52Cがバー52上に表示される。これらソフトウェアボタンはバー52上のデフォルトの表示場所に表示される。
次に、手書きノートアプリケーションプログラム202によってユーザに提示される幾つかの代表的な画面の例を説明する。
図7は、手書きノートアプリケーションプログラム202によって表示されるデスクトップ画面を示す。デスクトップ画面は複数の手書き文書データを扱うための基本画面である。
デスクトップ画面は、デスクトップ画面領域70とドロア画面領域71とを含む。デスクトップ画面領域70は作業中の複数の手書きノートに対応する複数のノートアイコン801〜805を表示するテンポラリ領域である。ノートアイコン801〜805の各々は、対応する手書きノート内のあるページのサムネイルを表示する。デスクトップ画面領域70は、さらに、ペンアイコン771、カレンダーアイコン772、スクラップノート(ギャラリー)アイコン773、タグ(ラベル)アイコン774を表示する。
ペンアイコン771は、表示画面をデスクトップ画面からページ編集画面に切り替えるためのグラフィカルユーザインタフェース(GUI)である。カレンダーアイコン772は現在の日付を示すアイコンである。スクラップノートアイコン773は、他のアプリケーションプログラムからまたは外部ファイルから取り込んだデータ(スクラップデータまたはギャラリーデータと称する)を閲覧するためのGUIである。タグアイコン774は、任意の手書きノート内の任意のページにラベル(タグ)を貼り付けるためのGUIである。
ドロア画面領域71は、作成済みの全ての手書きノートを格納するためのストレージ領域を閲覧するための表示領域である。ドロア画面領域71は、全ての手書きノート内の幾つかの手書きノートに対応するノートアイコン80A,80B,80Cを表示する。ノートアイコン80A,80B,80Cの各々は、対応する手書きノート内のあるページのサムネイルを表示する。手書きノートアプリケーションプログラム202は、ペン100または指を使用してユーザによって行われるドロア画面領域71上のジェスチャ(例えばスワイプジェスチャ等)を検出することができる。このジェスチャ(例えばスワイプジェスチャ等)の検出に応答して、手書きノートアプリケーションプログラム202は、ドロア画面領域71上の画面イメージを左方向または右方向にスクロールする。これにより、ドロア画面領域71に任意の手書きノートそれぞれに対応するノートアイコンを表示することができる。
さらに、手書きノートアプリケーションプログラム202は、ペン100または指を使用してユーザによって行われるドロア画面領域71のノートアイコン上のジェスチャ(例えばタップジェスチャ等)を検出することができる。ドロア画面領域71上のあるノートアイコン上のジェスチャ(例えばタップジェスチャ等)の検出に応答して、手書きノートアプリケーションプログラム202は、このノートアイコンをデスクトップ画面領域70の中央部に移動する。そして、手書きノートアプリケーションプログラム202は、このノートアイコンに対応する手書きノートを選択し、そして、デスクトップ画面の代わりに、図8に示すノートプレビュー画面を表示する。図8のノートプレビュー画面は、選択された手書きノート内の任意のページを閲覧可能な画面である。
さらに、手書きノートアプリケーションプログラム202は、ペン100または指を使用してユーザによって行われるデスクトップ画面領域70上のジェスチャ(例えばタップジェスチャ等)も検出することができる。デスクトップ画面領域70の中央部に位置するノートアイコン上のジェスチャ(例えばタップジェスチャ等)の検出に応答して、手書きノートアプリケーションプログラム202は、中央部に位置するノートアイコンに対応する手書きノートを選択し、そして、デスクトップ画面の代わりに、図8に示すノートプレビュー画面を表示する。
さらに、デスクトップ画面はメニューを表示することができる。このメニューは、リストノートボタン81A、ノート追加ボタン81B、ノート削除ボタン81C、検索ボタン81D、設定ボタン81Eを備える。リストノートボタン81Aは手書きノートの一覧を表示するためのボタンである。ノート追加ボタン81Bは、新しい手書きノートを作成(追加)するためのボタンである。ノート削除ボタン81Cは手書きノートを削除するためのボタンである。検索ボタン81Dは検索画面(検索ダイアログ)を開くためのボタンである。設定ボタン81Eは設定画面を開くためのボタンである。
また、バー52には、戻るボタン52A、ホームボタン52B、リーセントアプリケーションボタン52Cが表示される。
図8は上述のノートプレビュー画面を示す。
ノートプレビュー画面は、選択された手書きノート内の任意のページを閲覧可能な画面である。ここでは、ノートアイコン801に対応する手書きノートが選択された場合を想定する。この場合、手書きノートアプリケーションプログラム202は、この手書きノートに含まれる複数のページ901,902,903,904,905を、これらページ901,902,903,904,905それぞれの少なくとも一部分が視認可能で且つこれらページ901,902,903,904,905が重なった形態で表示する。
ノートプレビュー画面は、さらに、上述のペンアイコン771、カレンダーアイコン772、スクラップノートアイコン773、タグアイコン774を表示する。
ノートプレビュー画面は、さらに、メニューを表示することができる。このメニューは、デスクトップボタン82A、リストページボタン82B、ページ追加ボタン82C、編集ボタン82D、ページ削除ボタン82E、ラベルボタン82F、および検索ボタン82Gを備える。デスクトップボタン82Aは、デスクトップ画面を表示するためのボタンである。リストページボタン82Bは、現在選択されている手書きノート内のページの一覧を表示するためのボタンである。ページ追加ボタン82Cは、新しいページを作成(追加)するためのボタンである。編集ボタン82Dはページ編集画面を表示するためのボタンである。ページ削除ボタン82Eは、ページを削除するためのボタンである。ラベルボタン82Fは、使用可能なラベルの種類の一覧を表示するためのボタンである。検索ボタン82Gは検索画面を表示するためのボタンである。
また、バー52には、戻るボタン52A、ホームボタン52B、リーセントアプリケーションボタン52Cが表示される。
手書きノートアプリケーションプログラム202はユーザによって行われるノートプレビュー画面上の様々なジェスチャを検出することができる。例えば、あるジェスチャの検出に応答して、手書きノートアプリケーションプログラム202は、一番上に表示されるべきページを任意のページに変更する(ページ送り、ページ戻し)。また、一番上のページ上で行われるあるジェスチャ(例えばタップジェスチャ)の検出に応答して、またはペンアイコン771上で行われるあるジェスチャ(例えばタップジェスチャ)の検出に応答して、あるいは編集ボタン82D上で行われるあるジェスチャ(例えばタップジェスチャ)の検出に応答して、手書きノートアプリケーションプログラム202は、一番上のページを選択し、そしてノートプレビュー画面の代わりに、図9に示すページ編集画面を表示する。
図9のページ編集画面は、ページ(手書きページ)の新規作成、および既存のページの閲覧および編集が可能な画面である。図8のノートプレビュー画面上のページ901が選択された場合には、図9に示すように、ページ編集画面は、ページ901の内容を表示する。
このページ編集画面において、破線で囲まれた矩形の領域500は手書き入力可能な手書き入力エリアである。手書き入力エリア500においては、デジタイザ17Cからの入力イベントは手書きストロークの表示(描画)のために使用され、タップ等のジェスチャを示すイベントとしては使用されない。一方、ページ編集画面において、手書き入力エリア500以外の領域においては、デジタイザ17Cからの入力イベントはタップ等のジェスチャを示すイベントとしても使用され得る。
タッチパネル17Bからの入力イベントは、手書きストロークの表示(描画)には使用されず、タップ、スワイプ等のジェスチャを示すイベントとして使用される。
ページ編集画面は、さらに、ユーザによって予め登録された3種類のペン501〜503と、範囲選択ペン504、消しゴムペン505とを含むクイックセレクトメニューを表示する。ここでは、黒ペン501、赤ペン502、マーカー503がユーザによって予め登録されている場合が想定されている。ユーザは、ペン100または指でクイックセレクトメニュー内のあるペン(ボタン)をタップすることにより、使用するペンの種類を切り替えることが出来る。例えば、黒ペン501がユーザによるペン100または指を使用したタップジェスチャによって選択された状態で、ペン100を用いた手書き入力操作がページ編集画面上で行われると、手書きノートアプリケーションプログラム202は、ペン100の動きに合わせて黒色のストローク(軌跡)をページ編集画面上に表示する。
クイックセレクトメニュー内の上述の3種類のペンは、ペン100のサイドボタンの操作によっても切り替えることが出来る。クイックセレクトメニュー内の上述の3種類のペンの各々には、よく使うペンの色やペンの太さ(幅)等の組み合わせを設定することができる。
ページ編集画面は、さらに、メニューボタン511、ページ戻しボタン512、ページ送りボタン513を表示する。メニューボタン511はメニューを表示するためのボタンである。
図10は、メニューボタン511の操作によってページ編集画面上にメニューとして表示されるソフトウェアボタン群を示す図である。
メニューボタン511が操作されると、図10に示すように、ページ編集画面上に、ノートプレビューボタン83A、ページ追加ボタン83B、検索ボタン83C、エクスポートボタン83D、インポートボタン83E、メールボタン83F、ペンケースボタン83Gがメニューとして表示される。
ノートプレビューボタン83Aは、ノートプレビュー画面に戻るためのボタンである。ページ追加ボタン83Bは、新規ページを追加するためのボタンである。検索ボタン83Cは、検索画面を開くためのボタンである。エクスポートボタン83Dは、エクスポートのためのサブメニューを表示するためのボタンである。インポートボタン83Eは、インポートのためのサブメニューを表示するためのボタンである。メールボタン83Fは、ページ編集画面上に表示されている手書きページをテキストに変換して電子メールによって送信する処理を起動するためのボタンである。ペンケースボタン83Gは、クイックセレクトメニュー内の3種類のペンの各々の色(描画される線の色)や太さ[幅](描画される線の太さ[幅])等を変更可能なペン設定画面を呼び出すためのボタンである。
次に、図11を参照して、手書きノートアプリケーションプログラム202の機能構成について説明する。
手書きノートアプリケーションプログラム202は、手書き文書データを扱うことが可能なWYSIWYGアプリケーションである。この手書きノートアプリケーションプログラム202は、例えば、表示処理部301、時系列情報生成部302、編集処理部303、ページ保存処理部304、ページ取得処理部305、特徴量登録処理部306及び作業メモリ401等を備える。表示処理部301は、手書きデータ入力部301A、筆跡描画部301B及び候補提示処理部301Cを含む。
上記したタッチパネル17Bは、「タッチ(接触)」、「移動(スライド)」及び「リリース」等のイベントの発生を検出するように構成されている。「タッチ(接触)」は、画面上のオブジェクト(指)が接触したことを示すイベントである。「移動(スライド)」は、画面上にオブジェクト(指)が接触されている間に接触位置が移動されたことを示すイベントである。「リリース」は、画面からオブジェクト(指)が離されたことを示すイベントである。
上記したデジタイザ17Cも、「タッチ(接触)」、「移動(スライド)」及び「リリース」等のイベントの発生を検出するように構成されている。「タッチ(接触)」は、画面上にオブジェクト(ペン100)が接触したことを示すイベントである。「移動(スライド)」は、画面上にオブジェクト(ペン100)が接触されている間に接触位置が移動されたことを示すイベントである。「リリース」は、画面からオブジェクト(ペン100)が離されたことを示すイベントである。
手書きノートアプリケーションプログラム202は、手書きページデータの作成、閲覧及び編集を行うためのページ編集画面をタッチスクリーンディスプレイ17に表示する。
表示処理部301及び時系列情報生成部302は、デジタイザ17Cによって発生される「タッチ(接触)」、「移動(スライド)」または「リリース」のイベントを受信し、これによって手書き入力操作を検出する。「タッチ(接触)」イベントには、接触位置の座標が含まれている。「移動(スライド)」イベントには、移動先の接触位置の座標が含まれている。したがって、表示処理部301及び時系列情報生成部302は、デジタイザ17Cから接触位置の動きの軌跡に対応する座標列を受信することができる。
表示処理部301は、デジタイザ17Cを用いて検出される画面上のオブジェクト(ペン100)の動きに応じて手書きストロークを画面上に表示する。この表示処理部301により、画面にペン100が接触している間のペン100の軌跡、つまり、各ストロークの軌跡がページ編集画面上に表示される。
時系列情報生成部302は、デジタイザ17Cから出力される前述の座標列を受信し、この座標列に基づいて、図4で詳述したような構造を有する時系列情報(座標データ系列)を含む手書きデータを生成する。時系列情報生成部302は、生成された手書きデータを作業メモリに一時保存する。
編集処理部303は、現在表示中の手書きページを編集するための処理を実行する。すなわち、編集処理部303は、タッチスクリーンディスプレイ17上でユーザによって行われる編集操作及び手書き入力操作に応じて、現在表示中の手書きページに新たなストローク(新たな手書き文字及び新たな手書きマーク等)を追加する処理、表示されている複数のストローク内の1以上のストロークを削除または移動する処理等を含む編集処理を実行する。さらに、編集処理部303は、編集処理の結果を表示中の時系列情報に反映するために作業メモリ401内の時系列情報を更新する。
ページ保存処理部304は、作成中の手書きページ上の複数の手書きストロークに対応する複数のストロークデータを含む手書きページデータを記憶媒体402に保存する。記憶媒体402は、例えばタブレットコンピュータ10内のストレージデバイスであってもよいし、サーバコンピュータ2のストレージデバイスであってもよい。
ページ取得処理部305は、記憶媒体402から任意の手書きページデータを取得する。この取得された手書きページデータは、表示処理部301に送られる。表示処理部301は、手書きページデータに含まれる複数のストロークデータに対応する複数のストロークを画面上に表示する。
特徴量登録処理部306は、ページ保存処理部304によって手書き文書(データ)が記憶媒体402に保存される際に、当該手書き文書を構成するストローク集合に対して文字認識処理を実行することによって、当該手書き文書を構成する全てのストロークを文字列(単語)に変換する。特徴量登録処理部306は、変換された文字列をキーワードとし、当該キーワード、手書き文書において当該キーワードに変換された(つまり、文字認識処理によって当該キーワードとして文字認識された)ストローク集合における各ストロークを時系列順に1ストロークずつ積算してなる各ストローク集合に対する文字認識結果及び当該ストローク集合におけるストローク数を対応付けてサジェスト特徴テーブルに登録する。また、特徴量登録処理部306は、変換された文字列(キーワード)及び当該文字列に変換されたストローク集合に対応するストロークデータを対応付けてサジェストキーワードテーブルに登録する。なお、サジェスト特徴テーブル及びサジェストキーワードテーブルは、例えば記憶媒体402に保存されているものとする。
次に、図11に示す表示処理部301の詳細について説明する。
上記したように、タッチスクリーンディスプレイ17は、画面に対するタッチ操作をタッチパネル17Bまたはデジタイザ17Cで検出する。手書きデータ入力部301Aは、タッチパネル17Bまたはデジタイザ17Cから出力される検出信号を入力するモジュールである。検出信号には、タッチ位置の座標情報(X,Y)が含まれている。このような検出信号を時系列順に入力することによって、手書きデータ入力部301Aは、手書きで記載されるストロークに対応するストロークデータを入力する。手書きデータ入力部301Aによって入力されたストロークデータ(検出信号)は、筆跡描画部301Bに供給される。
筆跡描画部301Bは、手書き入力の軌跡(筆跡)を描画してタッチスクリーンディスプレイ17のLCD17Aに表示するモジュールである。筆跡描画部301Bは、手書きデータ入力部301Aからのストロークデータ(検出信号)に基づき、手書き入力の軌跡(筆跡)に対応する線分を描画する。
手書きデータ入力部301Aによって入力されたストロークデータが上記したページ編集画面(手書き入力エリア500)において手書きで記載されたストロークに対応するものである場合、当該ストロークデータは、候補提示処理部301Cにも供給される。このようにストロークデータが手書きデータ入力部301Aによって入力される場合、候補提示処理部301Cは、手書きで記載された1以上のストローク(つまり、手書きデータ入力部301Aから供給されたストロークデータが入力された時点で入力されているストロークデータ)に基づいて特定される複数のストローク集合を、ユーザによる手書き入力の候補として、ページ編集画面上の候補表示領域に表示する。この手書き入力の候補として表示される複数のストローク集合は、例えば手書き文字列を表し、手書きで記載された1以上のストロークの形状に対応するストローク集合を含む。なお、手書き入力の候補として表示されるストローク集合は、後述するように記憶媒体402に保存されているサジェスト特徴テーブル及びサジェストキーワードテーブルを参照して特定される。
以下の説明では、ページ編集画面上の候補表示領域に手書き入力の候補として表示されるストローク集合を、単に手書き入力候補と称する。
上記したようにページ編集画面の候補表示領域に手書き入力候補が表示された場合、ユーザは、当該手書き入力候補を手書き入力エリア500に表示(記載)する文字列等として選択(指定)することができる。候補表示領域に表示された手書き入力候補がユーザによって選択される場合、筆跡描画部301Bは、当該手書き入力候補をページ編集画面上の手書き入力エリア500に表示する。このとき、筆跡描画部301Bは、上記したように候補表示領域に表示された手書き入力候補(ストローク集合)の座標に基づいて、当該手書き入力候補を手書き入力エリア500に表示する。なお、このストローク集合の座標は、既に入力されているストロークデータに含まれる時系列座標(つまり、手書き入力エリア500に既に手書きで記載されているストローク)を基準として相対的に定められる。
なお、図11においては図示されていないが、手書きノートアプリケーションプログラム202は、上記した以外に、上記した筆跡検索及びテキスト検索等を実行するための検索処理部等を備える。
図12は、上記した記憶媒体402に保存されているサジェスト特徴テーブルのデータの構造の一例を示す。図12に示すように、サジェスト特徴テーブルには、キーワード、文字認識結果及びストローク数が対応付けて保持(登録)されている。キーワードは、上記した手書き入力候補に相当する文字列(単語)である。文字認識結果は、当該文字認識結果に対応付けられているキーワードとして文字認識されるストローク集合の一部のストローク集合に対する文字認識結果を示す。ストローク数は、当該ストローク数に対応付けられている文字認識結果が得られたストローク集合におけるストロークの数(つまり、画数)を示す。
図12に示す例では、サジェスト特徴テーブルには、例えばキーワード「application」、文字認識結果「a」及びストローク数「1」が対応付けて保持されている。これによれば、キーワード「application」として文字認識されるストローク集合がユーザによって手書きされる際に、1ストロークが手書きされた時点で文字認識処理を行った場合の文字認識結果が「a」であることが示されている。
また、サジェスト特徴テーブルには、例えばキーワード「application」、文字認識結果「p」及びストローク数「2」が対応付けて保持されている。これによれば、キーワード「application」として文字認識されるストローク集合がユーザによって手書きされる際に、2ストロークが手書きされた時点で文字認識処理を行った場合の文字認識結果が「p」であることが示されている。
なお、図12に示す例では、文字「a」及び「p」は1ストロークで手書きされた場合を想定している。
このように、サジェスト特徴テーブルには、例えばキーワード「application」を構成するストローク数(つまり、画数)が1加算される毎の文字認識結果が保持される。すなわち、サジェスト特徴テーブルには、上記したようにキーワードとして文字認識されたストローク集合における各ストロークを時系列順に1ストロークずつ積算してなる各ストローク集合に対する文字認識結果及び当該ストローク集合におけるストローク数が当該キーワードに対応付けて保持されている。
詳細については後述するが、前述したように手書き入力候補を表示する際には、文字認識結果及びストローク数(つまり、画数)をキーとした検索が行われる。
ここではキーワード「application」について説明したが、サジェスト特徴テーブルには、他のキーワードについても同様に文字認識結果及びストローク数が対応付けて保持されている。
図13は、上記した記憶媒体402に保存されているサジェストキーワードテーブルのデータ構造の一例を示す。図13に示すように、サジェストキーワードテーブルには、主キーとなるキーワード及びストロークデータが対応付けて保持(登録)されている。キーワードは、上記した手書き入力候補に相当する文字列(単語)である。ストロークデータは、当該ストロークデータに対応付けられているキーワードとして文字認識されるストローク集合に対応するデータ(当該ストロークのバイナリデータ)である。
図13に示す例では、サジェストキーワードテーブルには、例えばキーワード「app」及びストロークデータ「(10,10)−(13,8)−…」が対応付けて保持されている。これによれば、キーワード「app」として文字認識されるストローク集合に対応するストロークデータが「(10,10)−(13,8)−…」であることが示されている。なお、上記したようにストロークデータには、ストロークの軌跡上のサンプリング点それぞれに対応する複数の座標が含まれている。
ここではキーワード「app」について説明したが、サジェストキーワードテーブルには、他のキーワードについても同様にストロークデータが対応付けて保持されている。
以下、本実施形態に係るタブレットコンピュータ10の動作について説明する。ここでは、本実施形態に係るタブレットコンピュータ10によって実行される処理のうち、特徴量登録処理及び候補提示処理について説明する。
まず、図14のフローチャートを参照して、特徴量登録処理の処理手順について説明する。なお、特徴量登録処理は、上記した手書き文書(データ)が記憶媒体402に保存される際に特徴量登録処理部306によって実行される。
特徴量登録処理において、特徴量登録処理部306は、ページ保存処理部304によって手書き文書が記憶媒体402に保存される際に、当該手書き文書を例えば作業メモリ401から取得する(ブロックB1)。なお、手書き文書は、上記したページ編集画面上の手書き入力エリア500においてユーザによって手書きで記載されたストローク集合から構成され、当該ストローク集合に対応するストロークデータを含む。
次に、特徴量登録処理部306は、取得された手書き文書(に含まれるストロークデータに対応するストローク集合)に対して文字認識処理を実行する(ブロックB2)。これにより、手書き文書を構成するストローク集合が文字列に変換される。このとき、手書き文書を構成する各ストローク(に対応するストロークデータ)は、文字認識処理が実行されることによって変換された文字列中の当該ストロークが属する文字(当該ストロークが構成する文字)と対応付けられているものとする。
特徴量登録処理部306は、変換された文字列に対して形態素分析(形態素解析)処理を実行する(ブロックB3)。これにより、変換された文字列は、単語単位に分割される。このとき、特徴量登録処理部306は、上記した文字列中の各文字に対応付けられたストロークに基づいて、形態素分析処理によって分割された各単語に属するストローク集合を特定する。
次に、特徴量登録処理部306は、形態素分析処理によって分割された各単語に属するストローク集合に対して積算文字認識処理を実行する(ブロックB4)。この積算文字認識処理は、各ストローク毎に特徴量となる文字認識結果(文字列)を取得する処理である。
ここで、図15を参照して、積算文字認識処理について具体的に説明する。ここでは、便宜的に、キーワード「apple」に属するストローク集合に対して積算文字認識処理が実行される場合について説明する。
この場合、ストローク数(画数)が1であるストローク(集合)1001に対して文字認識処理を実行した場合の文字認識結果は、「a」となる。
次に、ストローク数(画数)が2であるストローク集合1002に対して文字認識処理を実行した場合の文字認識結果は「ap」となる。
同様に、ストローク数(画数)が3であるストローク集合1003に対して文字認識処理を実行した場合の文字認識結果は「app」となる。
また、ストローク数(画数)が4であるストローク集合1004に対して文字認識処理を実行した場合の文字認識処理結果は「appl」となる。
さらに、ストローク数(画数)が5であるストローク集合1005に対して文字認識処理を実行した場合の文字認識処理結果は「apple」となる。
上記したようにキーワード「apple」に属するストローク集合に対して積算文字認識処理が実行された場合、図15に示す積算文字認識結果1100を得ることができる。この積算文字認識結果1100には、キーワード、ストローク集合に対する文字認識結果及び当該ストローク集合におけるストローク数が含まれる。
なお、前述したブロックB4においては1つのキーワードに属するストローク集合に対して積算文字認識処理が実行されるものとして説明したが、当該積算文字認識処理は、1つのまとまりとして扱うことが可能な複数のキーワードを含む文字列に対して実行されても構わない。
再び図14に戻ると、特徴量登録処理部306は、取得された積算文字認識結果1100に基づいて、上記したサジェスト特徴テーブル及びサジェストキーワードテーブルに対して各種情報を登録する(ブロックB5)。
具体的には、特徴量登録処理部306は、積算文字認識結果1100に含まれるキーワード(単語)、文字認識結果及びストローク数を対応付けてサジェスト特徴テーブルに登録する。
また、特徴量登録処理部306は、積算文字認識結果1100に含まれるキーワード(単語)及び当該キーワードに属するストローク集合に対応するストロークデータをサジェストキーワードテーブルに登録する。
なお、上記したブロックB5において、サジェスト特徴テーブル及びサジェストキーワードテーブルに既に同一の情報(例えば、キーワード)が保持されている場合には、当該情報の登録処理は省略される。
上記したように特徴量登録処理によれば、手書き文書が記憶媒体402に保存される際に、後述する候補提示処理において用いられる必要な情報を自動的にサジェスト特徴テーブル及びサジェストキーワードテーブルに登録することができる。
次に、図16のフローチャートを参照して、候補提示処理の処理手順について説明する。なお、候補提示処理は、上記したページ編集画面上の手書き入力エリア500において手書きで記載されるストロークに対応するストロークデータが入力される際に候補提示処理部301Cによって実行される。また、候補提示処理は、手書き入力エリア500に対して1のストロークが手書きで記載される度に実行される。
候補提示処理において、候補提示処理部301Cは、ページ編集画面上の手書き入力エリア500においてユーザによって手書きで記載されるストロークに対応するストロークデータを入力する(ブロックB11)。以下、ブロックB11において入力されたストロークデータを対象ストロークデータと称する。
次に、候補提示処理部301Cは、対象ストロークデータが入力された時点で入力されているストロークデータに対応するストローク集合(つまり、手書き入力エリア500に手書きで記載されている1以上のストローク)に対して文字認識処理を実行する(ブロックB12)。具体的には、対象ストロークデータが例えば手書き文字列のn画目(nは1以上の整数)のストロークに対応するストロークデータであるものとすると、候補提示処理部301Cは、1画目〜n画目のストローク集合に対して文字認識処理を実行する。これにより、候補提示処理部301Cは、文字認識結果を取得する。本実施形態において、この文字認識結果は、1画目〜n画目のストローク集合(の形状)の特徴を表す特徴量として用いられる。
なお、1画目のストロークは、例えば手書き入力エリア500に手書きで記載されている他のストロークの位置等に基づいて特定されるものとする。
ただし、候補提示処理部301Cは、文字認識処理を実行する際に、記号に対応するストローク(例えば、カンマやドット、句読点、かぎ括弧等のパンクチュエーションマークに対応するストローク)を、当該文字認識処理の対象から除外する。これにより、記号に対応するストロークを文字認識処理の対象とすることにより生じる誤った手書き入力候補の提示(サジェスト)を減らすことができる。具体的には、図17に示すような誤ったサジェストを減らすことができる。
図17は、候補提示処理を補足的に説明するための図である。ここでは、ユーザがページ編集画面上の手書き入力エリア500に文字列「application,load」と入力する場合を想定している。さらにここでは、上記した文字列「application,load」のうち、文字列「application,l」までがユーザによって入力された場合を想定する。またここでは、上記した文字列「application,load」のうち、文字列「application」までに対しては確定処理(入力を確定する処理)がなされている場合を想定する。
一般的な文字認識処理では、記号に対応するストローク、すなわち、図17に示すカンマ「,」も文字認識処理の対象となる。このため、カンマ「,」に続いて文字「l」が入力されると、候補提示処理部301Cは、カンマ「,」と文字「l」とをそれぞれ文字認識結果として取得するのではなく、カンマ「,」と文字「l」とにより構成される1つのストローク集合「i」を文字認識結果として取得してしまうことがある。これは、カンマ「,」をストローク集合「i」の1画目と認識し、文字「l」をストローク集合「i」の2画目と認識してしまうことに起因する。これにより、文字「l」を含むキーワード(すなわち、ユーザが所望するキーワード「load」)ではなく、図17に示すように、文字(ストローク集合)「i」を含むキーワード(すなわち、ユーザが所望しないキーワード「ion」や「information」等)が手書き入力候補として候補表示領域に表示されることになる。
これに対し、本実施形態に係る候補提示処理部301Cによって実行される文字認識処理の場合、記号に対応するストローク、すなわち、カンマ「,」を文字認識処理の対象としないため、カンマ「,」に続いて文字「l」が入力されたとしても、候補提示処理部301Cは、文字「l」を文字認識結果として取得することができる。このため、図18に示すように、ユーザが所望する文字「l」を含むキーワード「load」を手書き入力候補として候補提示領域に表示することができる。
なお、図17及び図18では、ユーザが入力すると想定した文字列「application,load」のうち、文字列「application,l」までが入力され、さらに、文字列「application」までに対して確定処理がなされている場合を想定したが(すなわち、文字列「application」を構成する各ストロークに対応する手書き入力候補が提示されない状況を想定したが)、例えば次のような機能を候補提示処理部301Cが有することにより、文字列「application」までに対して確定処理がなされていなくても、文字列「application」を構成する各ストロークに対応する手書き入力候補を非表示にする(提示しない)ことができる。
すなわち、候補提示処理部301Cは、手書き入力エリア500に入力(記載)されたストロークが記号に対応するストロークであると判定した場合に、当該記号に対応するストロークより前に入力(記載)されたストロークに対して擬似的に確定処理を実行する機能を有していてもよい。これにより、記号に対応するストロークより前に入力されたストロークに対しての文字認識処理は終了したものとすることができ、当該記号に対応するストロークより後に入力されるストロークに対応した手書き入力候補だけをユーザに対して提示することができる。
なお、手書き入力エリア500に入力(記載)されたストロークが、記号に対応するストロークであるか否かを判定するための手法としては、例えば、当該入力されたストロークの大きさ(長さ)と、既に入力されたストロークの大きさ(長さ)とを比較して、判定する手法がある。
具体的には、まず候補提示処理部301Cは、既に入力されたストロークに対して文字認識処理を実行するために設定された第1外接矩形と、現在入力されているストロークに対して文字認識処理を実行するために設定される第2外接矩形との大きさを比較する。そして、候補提示処理部301Cは、第2外接矩形の大きさが第1外接矩形の大きさより所定値(所定割合)以上小さい(例えば、第2外接矩形の大きさが第1外接矩形の大きさの1/4である)場合、第2外接矩形に含まれるストローク(ストローク集合)を記号に対応するストロークであると判定する。なお、ここでは一例として、第1外接矩形と第2外接矩形の大きさに注目した判定手法を例示したが、例えば、第1外接矩形と第2外接矩形の位置に注目した判定手法が用いられてもよい。詳しくは、第1外接矩形の右下領域(または、右上領域)に第2外接矩形が位置する場合に、第2外接矩形に含まれるストローク(ストローク集合)を記号に対応するストロークであると判定してもよい。
なお、文字認識処理を実行するために、入力(記載)されたストロークを囲うように設定される枠の形状は、上記した矩形に限定されず、例えば、円形や多角形等であってもよい。
上記した判定処理は、手書き入力エリア500にストロークが入力される度に実行されてもよいし、所定のタイミングのときだけ実行されるとしてもよい。所定のタイミングとしては、手書き入力エリア500に入力された所定のストロークに対する確定処理がなされた直後が一例として挙げられる。これによれば、手書き入力エリア500に入力された所定のストロークに対する確定処理がなされた(例えば、所定のストロークに対応する手書き入力候補が選択された)直後に、パンクチュエーションマーク等、記号に対応するストロークが1画目で手書き入力エリア500に入力されたとしても、当該記号に対応するストロークを文字認識処理の対象から除外することができる。これにより、記号に対応するストロークを文字認識処理の対象とすることにより生じる誤った手書き入力候補のサジェストを減らすことができる。
また、所定のタイミングの別の一例としては、手書き入力エリア500に入力された所定のストロークに対するキャンセル処理がなされた直後が挙げられる。これによれば、手書き入力エリア500に入力された所定のストロークに対するキャンセル処理がなされた直後に、パンクチュエーションマーク等、記号に対応するストロークが手書き入力エリア500に入力されたとしても、当該記号に対応するストロークを文字認識処理の対象から除外することができる。これにより、上記と同様に、記号に対応するストロークを文字認識処理の対象とすることにより生じる誤った手書き入力候補のサジェストを減らすことができる。
さらに、所定のタイミングの別の一例としては、サジェスト機能をオンにした直後が挙げられる。サジェスト機能とは、上記したように、手書き入力エリア500に入力されたストロークに対応する手書き入力候補を提示(サジェスト)する機能である。この機能は、ディスプレイ(画面)上に表示される切り替えボタンを用いて、オン/オフを適宜切り替えることができる。すなわち、ユーザにとって手書き入力候補の提示が煩わしい場合(例えば、図形を入力する場合等)、ユーザは上記した切り替えボタンを用いてサジェスト機能をオフにすることができる。これによれば、サジェスト機能がオフからオンに切り替えられた直後に、パンクチュエーションマーク等、記号に対応するストロークが手書き入力エリア500に入力されたとしても、当該記号に対応するストロークを文字認識処理の対象から除外することができる。これにより、上記と同様に、記号に対応するストロークを文字認識処理の対象とすることにより生じる誤った手書き入力候補のサジェストを減らすことができる。
なお、候補提示処理部301Cは、上記した判定手法により、入力されたストロークが記号に対応するストロークであると判定すると、当該記号に対応するストロークを、当該記号に対応するストロークより後に入力(記載)されるストロークとは異なる色で表示してもよい。これにより、ユーザは、記号に対応するストロークが文字認識処理の対象から除外されていることを視覚的に捉えることができる。
再び図16に戻ると、候補提示処理部301Cは、取得された文字認識結果及び当該文字認識結果が取得されたストローク集合におけるストローク数に基づいて、サジェスト特徴テーブルからキーワードを検索する(ブロックB13)。この場合、候補提示処理部301Cは、取得された文字認識結果及び当該文字認識結果が取得されたストローク集合におけるストローク数(つまり、画数)に対応付けてサジェスト特徴テーブルに保持されているキーワードを検索する。なお、ブロックB13においては、複数のキーワードが検索されても構わない。
次に、候補提示処理部301Cは、検索された各キーワードに対してランク付けを行う(ブロックB14)。なお、ランク付けの詳細については後述するため、ここではその詳しい説明を省略する。
続いて、候補提示処理部301Cは、検索されたキーワードを構成するストローク集合に対応するストロークデータを取得する(ブロックB15)。具体的には、候補提示処理部301Cは、検索されたキーワードに対応付けてサジェストキーワードテーブルに保持されているストロークデータを取得する。
しかる後、候補提示処理部301Cは、検索されたキーワード及び取得されたストロークデータをディスプレイ(画面)上に描画することによって、手書き入力候補を表示する(ブロックB16)。この場合、検索されたキーワードはテキストとして表示され、取得されたストロークデータは手書き文字列として表示される。
ここで、キーワードのランク付けについて説明する。文字認識では言語辞書と連携する場合があり、例えばストロークの手書き入力の途中の状態で文字認識処理を行う(例えば、「ap」のストローク集合に対して文字認識処理を行う)と、意味のある形の近いキーワード(単語)に変換されることがある。このため、このように手書き入力の途中の意味をなさない状態であるとユーザの意図する手書き入力候補を提示(表示)できない場合がある。また、一般的に文字数が多くなるほど正しい候補である可能性が高くなる。
そこで、本実施形態においては、n−1画目のストロークに対応するストロークデータ(第1のストロークに対応する第1のストロークデータ)の後にn画目のストロークに対応するストロークデータ(第2のストロークに対応する第2のストロークデータ)が入力された場合であって、n−1画目のストロークに対応するストロークデータが入力された時点で入力済みのストロークデータの集合(つまり、1画目〜n−1画目のストローク集合)に応じた入力候補とn画目のストロークに対応するストロークデータが入力された時点で入力済みのストロークデータの集合(つまり、1画目〜n画目のストロークの集合)に応じた入力候補とが異なる場合、1画目〜n−1画目のストローク集合に応じた入力候補よりも1画目〜n画目のストローク集合に応じた入力候補が優先的に画面上に表示されるようにランク付けを行う。
具体的には、図19を参照して、キーワードのランク付けについて詳細に説明する。ここでは、ユーザが文字列として「apple」を手書き入力する場合を想定しており、図19に示すように、1画目(1ストローク目)のストロークに対する文字認識結果が「a」、1画目及び2画目のストローク集合に対する文字認識結果が「as」、1画目〜3画目のストローク集合に対する文字認識結果が「app」、1画目〜4画目のストローク集合に対する文字認識結果が「appl」、1画目〜5画目のストローク集合に対する文字認識結果が「apple」である場合について説明する。
なお、1画目及び2画目のストローク集合に対する文字認識結果が「ap」ではなく「as」であるのは、例えばユーザが本来「p」と手書き入力すべきであったところ「p」ではなく「s」と文字認識されるような文字を2画目で手書き入力したことに起因するものである。また、1画目〜3画目のストローク集合に対する文字認識結果が「asp」ではなく「app」であるのは、3画目のストロークに対する文字認識結果が「p」であることにより、1画目〜3画目のストローク集合に対する文字認識結果は「asp」となるが、例えば当該「asp」から始まるキーワードが図12に示すサジェスト特徴テーブルや図13に示すサジェストキーワードテーブル等に存在しないと判断されたために、「app」として認識(補正)されたことに起因するものである。
まず、1画目のストローク(データ)が入力された場合、文字認識結果は「a」であるため、上記したブロックB13の処理においては、キーワードとして例えば「apple」、「approve」及び「application」が検索される。この場合、検索されたキーワード「apple」、「approve」及び「application」の各々に対して、画数(ストローク数)(ここでは、1)がランク付けのためのスコアとして付与される。なお、図19においては、[]内の数値が各キーワードに付与されたスコアを表している。
次に、2画目のストローク(データ)が入力された場合、文字認識結果は「as」であるため、上記したブロックB13の処理においては、キーワードとして例えば「asterisk」がサジェスト特徴テーブルから検索される。この場合、検索されたキーワード「asterisk」に対して、画数(ここでは、2)がランク付けのためのスコアとして付与される。なお、2画目のストロークが入力された際に検索されていないキーワード「apple」、「approve」及び「application」に対するスコアは1画目の時点と同様に1である(つまり、維持される)。
次に、3画目のストローク(データ)が入力された場合、文字認識結果は「app」であるため、上記したブロックB13においては、キーワードとして例えば「apple」、「approve」及び「application」がサジェスト特徴テーブルから検索される。この場合、検索されたキーワード「apple」、「approve」及び「application」に対して、画数(ここでは、3)がランク付けのためのスコアとして付与される。このようにキーワード「apple」、「approve」及び「application」に対してスコアが付与されると、キーワード「apple」、「approve」及び「application」のスコアは、1画目の時点でのスコアと合計してそれぞれ4となる。なお、3画目のストロークが入力された際に検索されていないキーワード「asterisk」に対するスコアは2画目の時点と同様に1である(つまり、維持される)。
次に、4画目のストローク(データ)が入力された場合、文字認識結果は「appl」であるため、上記したブロックB13においては、キーワードとして例えば「apple」及び「application」がサジェスト特徴テーブルから検索される。この場合、検索されたキーワード「apple」及び「application」に対して、画数(ここでは、4)がランク付けのためのスコアとして付与される。このようにキーワード「apple」及び「application」に対してスコアが付与されると、キーワード「apple」及び「application」のスコアは3画目の時点でのスコアと合計してそれぞれ8となる。なお、4画目のストロークが入力された際に検索されていないキーワード「approve」及び「asterisk」に対するスコアは3画目の時点と同様にそれぞれ4及び2である(つまり、維持される)。
最後に、5画目のストローク(データ)が入力された場合、文字認識結果は「apple」であるため、上記したブロックB13においては、キーワードとして例えば「apple」がサジェスト特徴テーブルから検索される。この場合、検索されたキーワード「apple」に対して、画数(ここでは、5)がランク付けのためのスコアとして付与される。このようにキーワード「apple」に対してスコアが付与されると、キーワード「apple」のスコアは4画目の時点でのスコアと合計して13となる。なお、5画目のストロークが入力された際に検索されていないキーワード「application」、「approve」及び「asterisk」に対するスコアは4画目の時点と同様にそれぞれ8、4及び2である。
このように本実施形態においては、例えばn画目のストロークで検索されたキーワード(n画目のマッチングで一致したキーワード)に対してnスコア(ポイント)を付与していくようにストロークが手書きされる都度スコアを積算することによって、当該スコアの合計値が高いキーワード(検索文字列の候補)を上位に表示する(すなわち、ランク1〜4の順で表示する)ようなランク付けが行われる。
このように本実施形態においては、ディスプレイ上でストロークが手書きで記載される度に手書き入力候補を変化させることができる。
なお、ここでは、手書き入力候補がテキスト及び手書き文字列の双方により表示されるものとして説明したが、当該手書き入力候補は、例えばテキスト又は手書き文字列の少なくとも一方により表示されればよい。
また、ここでは複数の手書き入力候補に付与されたスコアが同一の場合、当該手書き入力候補は任意の順番で画面上に表示されるものとして説明したが、例えば過去の出現頻度に応じてさらにランク付けを行う構成としても構わない。この場合、同一のスコアが付与された複数の手書き入力候補(キーワード)のうち、出現頻度の高い手書き入力候補が優先的に画面上に表示される。
また、過去の選択回数に応じてさらにランク付けを行う構成としても構わない。この場合、同一のスコアが付与された複数の手書き入力候補のうち、選択回数の多い手書き入力候補が優先的に表示される。
なお、上記した出現頻度及び選択回数(の情報)は必ずしも用いなければならないものではない。また、出現頻度及び選択回数の一方を用いてランク付けを行うとしてもよい。さらに、出現頻度及び選択回数の両方を用いてランク付けを行う場合、当該出現頻度及び当該選択回数のいずれを優先するかについても設定可能な構成とすることもできる。
また、図19に示す例において、5画目のストローク(データ)が入力された場合には、手書き入力候補として「apple」、「application」、「approve」及び「asterisk」が画面上に表示されるものとして説明したが、当該手書き入力候補に付与されているスコア(優先度)に応じて、当該手書き入力候補一部のみを画面上に表示する構成としても構わない。具体的には、例えば複数の手書き入力候補の各々に付与されているスコアの最大値の3分の1以上のスコアが付与されている手書き入力候補のみを画面上に表示するような構成とすることができる。このような構成の場合、図19に示す5画目のストローク(データ)が入力された場合には、手書き入力候補として「apple」及び「application」のみを画面上に表示することができる。
なお、本実施形態では、手書き入力エリア500に入力(記載)される文字がアルファベットである場合について説明したが、手書き入力エリア500に入力(記載)される文字は平仮名やカタカナ、漢字等であってもよい。
手書き入力エリア500に平仮名やカタカナ、漢字等が入力(記載)されることを想定して、記憶媒体402には、サジェスト特徴テーブル及びサジェストキーワードテーブルに加えて、読み仮名テーブルが保持されていてもよい。
ここで、図20を参照して、読み仮名テーブルのデータ構造の一例について説明する。
読み仮名テーブルには、図20に示すように、キーワード及び読み仮名が対応付けて保持(登録)されている。キーワードは、上記した手書き入力候補に相当する文字列(単語)である。読み仮名は、当該読み仮名に対応付けられているキーワードの読み仮名を示す。
図20に示す例では、読み仮名テーブルには、例えばキーワード「エアコン」及び読み仮名「エアコン」が対応付けて保持されている。これによれば、キーワード「エアコン」の読み仮名が「エアコン」であることが示されている。
同様に、読み仮名テーブルには、例えばキーワード「工場」及び読み仮名「コウジョウ」が対応付けて保持されている。これによれば、キーワード「工場」の読み仮名が「コウジョウ」であることが示されている。
ここではキーワード「エアコン」及び「工場」について説明したが、読み仮名テーブルには、他のキーワードについても同様に読み仮名が対応付けて保持されている。
また、図20に示す例では読み仮名がカタカナ表記であるものとして説明したが、当該読み仮名は平仮名表記であっても構わない。
この読み仮名テーブルは、上記したブロックB13の処理と同様に、候補提示処理部301Cが、取得された文字認識結果に基づいてキーワードを検索するときに用いられる。なお、読み仮名テーブルを用いて検索されたキーワードに対しても、上記したブロックB14におけるランク付けは行われる。これにより、ストローク数だけでなく、読み仮名に基づいたキーワードの検索及び手書き入力候補の提示を行うことができるようになる。
ここで、図21及び図22を参照して、手書き入力エリア500に平仮名及び漢字が入力(記載)された場合の候補提示処理部301Cによる文字認識処理について説明する。
図21及び図22は、候補提示処理を補足的に説明するための図である。ここでは、ユーザがページ編集画面上の手書き入力エリア500に文字列「その反面、自動車」と入力する場合を想定している。さらにここでは、上記した文字列「その反面、自動車」のうち、文字「動」の途中のストロークまでがユーザによって入力された場合を想定する。またここでは、上記した文字列「その反面、自動車」のうち、文字列「その反面」までに対しては確定処理(入力を確定する処理)がなされている場合を想定する。
一般的な文字認識処理では、記号に対応するストローク、すなわち、図21に示す読点「、」も文字認識処理の対象となる。このため、読点「、」に続いて文字「自」(を構成するストローク)が入力されると、候補提示処理部301Cは、読点「、」と文字「自」を構成する1以上のストロークとをそれぞれ文字認識結果として取得するのではなく、読点「、」と文字「自」を構成する1以上のストロークとにより構成される1つのストローク集合(例えば、「行」や「火」、「往」等)を文字認識結果として取得してしまうことがある。これは、読点「、」をストローク集合の1画目と認識し、文字「自」を構成する1以上のストロークをストローク集合の2画目〜n画目と認識してしまうことに起因する。これにより、文字「自」を含むキーワード(すなわち、ユーザが所望するキーワード「自動車」)ではなく、図21に示すように、読点「、」と文字「自」を構成する1以上のストロークとにより構成されるストローク集合を含むキーワード(すなわち、ユーザが所望しないキーワード「行列」や「火曜日」等)が手書き入力候補として候補表示領域に表示されることになる。
これに対し、本実施形態に係る候補提示処理部301Cによって実行される文字認識処理の場合、記号に対応するストローク、すなわち、読点「、」を文字認識処理の対象としないため、読点「、」に続いて文字「自」(を構成する1以上のストローク)が入力されたとしても、候補提示処理部301Cは、文字「自」(を構成する1以上のストローク)だけを文字認識結果として取得することができる。このため、図22に示すように、ユーザが所望する文字「自」を含むキーワード「自動車」を手書き入力候補として候補提示領域に表示することができる。
以上説明した一実施形態によれば、手書き入力エリア500に入力(記載)された1以上のストロークに、記号に対応するストロークが含まれている場合、当該記号に対応するストロークを文字認識処理の対象から除外する(すなわち、手書き入力候補の検索に利用しない)構成を備えているので、記号に対応するストロークを除いた1以上のストロークをクエリとして検索される複数のストローク集合を手書き入力候補として提示することができる。すなわち、入力が予測される文字の候補を効果的に提示することができる。
なお、本実施形態の処理は、コンピュータプログラムによって実現することができるので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのコンピュータプログラムをコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
17A…LCD、202…手書きノートアプリケーション、301…表示処理部、301A…手書きデータ入力部、301B…筆跡描画部、301C…候補提示処理部、302…時系列情報生成部、303…編集処理部、304…ページ保存処理部、305…ページ取得処理部、306…特徴量登録処理部、401…作業メモリ、402…記憶媒体

Claims (15)

  1. 手書きで記載される複数の第1ストロークに対応する第1ストロークデータを入力する入力手段と、
    前記複数の第1ストロークに、記号に対応する第1ストロークが含まれる場合、前記複数の第1ストロークのうち、記号に対応する第1ストロークを除いた1以上の第1ストロークをクエリとして検索される複数のストローク集合を、手書き入力の候補として表示する表示手段と
    を具備する電子機器。
  2. 前記記号に対応する第1ストロークは、
    パンクチュエーションマークに対応するストロークである、請求項1に記載の電子機器。
  3. 前記入力手段は、前記1以上の第1ストロークをクエリとして検索される複数のストローク集合のいずれかが入力された後に、手書きで記載される複数の第2ストロークに対応する第2ストロークデータを入力し、
    前記表示手段は、
    前記複数の第2ストロークのうち、1番目に記載された第2ストロークが、記号に対応するストロークである場合には、前記複数の第2ストロークのうち、記号に対応する1番目に記載された第2ストロークを除いた1以上の第2ストロークをクエリとして検索される複数のストローク集合を、手書き入力の候補として表示する、請求項1に記載の電子機器。
  4. 前記表示手段は、
    前記複数の第1ストロークを各々囲うように設定された枠の大きさまたは枠の位置に基づいて、前記複数の第1ストロークに記号に対応する第1ストロークが含まれているかどうかを判定し、
    前記複数の第1ストロークに、記号に対応する第1ストロークが含まれていると判定された場合、前記複数の第1ストロークのうち、記号に対応する第1ストロークを除いた1以上の第1ストロークをクエリとして検索される複数のストローク集合を、手書き入力の候補として表示する、請求項1に記載の電子機器。
  5. 前記表示手段は、
    前記複数の第1ストロークのうち、記号に対応する第1ストロークを他の第1ストロークとは異なる色で表示する、請求項1に記載の電子機器。
  6. 手書きで記載される複数の第1ストロークに対応する第1ストロークデータを入力することと、
    前記複数の第1ストロークに、記号に対応する第1ストロークが含まれる場合、前記複数の第1ストロークのうち、記号に対応する第1ストロークを除いた1以上の第1ストロークをクエリとして検索される複数のストローク集合を、手書き入力の候補として表示することと
    を具備する方法。
  7. 前記記号に対応する第1ストロークは、
    パンクチュエーションマークに対応するストロークである、請求項6に記載の方法。
  8. 前記入力することは、前記1以上の第1ストロークをクエリとして検索される複数のストローク集合のいずれかが入力された後に、手書きで記載される複数の第2ストロークに対応する第2ストロークデータを入力し、
    前記表示することは、
    前記複数の第2ストロークのうち、1番目に記載された第2ストロークが、記号に対応するストロークである場合には、前記複数の第2ストロークのうち、記号に対応する1番目に記載された第2ストロークを除いた1以上の第2ストロークをクエリとして検索される複数のストローク集合を、手書き入力の候補として表示する、請求項6に記載の方法。
  9. 前記表示することは、
    前記複数の第1ストロークを各々囲うように設定された枠の大きさまたは枠の位置に基づいて、前記複数の第1ストロークに記号に対応する第1ストロークが含まれているかどうかを判定し、
    前記複数の第1ストロークに、記号に対応する第1ストロークが含まれていると判定された場合、前記複数の第1ストロークのうち、記号に対応する第1ストロークを除いた1以上の第1ストロークをクエリとして検索される複数のストローク集合を、手書き入力の候補として表示する、請求項6に記載の方法。
  10. 前記表示することは、
    前記複数の第1ストロークのうち、記号に対応する第1ストロークを他の第1ストロークとは異なる色で表示する、請求項6に記載の方法。
  11. コンピュータにより実行されるプログラムであって、前記プログラムは前記コンピュータを、
    手書きで記載される複数の第1ストロークに対応する第1ストロークデータを入力する入力手段と、
    前記複数の第1ストロークに、記号に対応する第1ストロークが含まれる場合、前記複数の第1ストロークのうち、記号に対応する第1ストロークを除いた1以上の第1ストロークをクエリとして検索される複数のストローク集合を、手書き入力の候補として表示する表示手段として動作させるプログラム。
  12. 前記記号に対応する第1ストロークは、
    パンクチュエーションマークに対応するストロークである、請求項11に記載のプログラム。
  13. 前記入力手段は、前記1以上の第1ストロークをクエリとして検索される複数のストローク集合のいずれかが入力された後に、手書きで記載される複数の第2ストロークに対応する第2ストロークデータを入力し、
    前記表示手段は、
    前記複数の第2ストロークのうち、1番目に記載された第2ストロークが、記号に対応するストロークである場合には、前記複数の第2ストロークのうち、記号に対応する1番目に記載された第2ストロークを除いた1以上の第2ストロークをクエリとして検索される複数のストローク集合を、手書き入力の候補として表示する、請求項11に記載のプログラム。
  14. 前記表示手段は、
    前記複数の第1ストロークを各々囲うように設定された枠の大きさまたは枠の位置に基づいて、前記複数の第1ストロークに記号に対応する第1ストロークが含まれているかどうかを判定し、
    前記複数の第1ストロークに、記号に対応する第1ストロークが含まれていると判定された場合、前記複数の第1ストロークのうち、記号に対応する第1ストロークを除いた1以上の第1ストロークをクエリとして検索される複数のストローク集合を、手書き入力の候補として表示する、請求項11に記載のプログラム。
  15. 前記表示手段は、
    前記複数の第1ストロークのうち、記号に対応する第1ストロークを他の第1ストロークとは異なる色で表示する、請求項11に記載のプログラム。
JP2014196281A 2014-09-26 2014-09-26 電子機器、方法及びプログラム Active JP6426417B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014196281A JP6426417B2 (ja) 2014-09-26 2014-09-26 電子機器、方法及びプログラム
US14/675,334 US20160092431A1 (en) 2014-09-26 2015-03-31 Electronic apparatus, method and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014196281A JP6426417B2 (ja) 2014-09-26 2014-09-26 電子機器、方法及びプログラム

Publications (3)

Publication Number Publication Date
JP2016071382A true JP2016071382A (ja) 2016-05-09
JP2016071382A5 JP2016071382A5 (ja) 2017-11-02
JP6426417B2 JP6426417B2 (ja) 2018-11-21

Family

ID=55584607

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014196281A Active JP6426417B2 (ja) 2014-09-26 2014-09-26 電子機器、方法及びプログラム

Country Status (2)

Country Link
US (1) US20160092431A1 (ja)
JP (1) JP6426417B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8232973B2 (en) 2008-01-09 2012-07-31 Apple Inc. Method, device, and graphical user interface providing word recommendations for text input
US9898187B2 (en) 2013-06-09 2018-02-20 Apple Inc. Managing real-time handwriting recognition
US10204096B2 (en) 2014-05-30 2019-02-12 Apple Inc. Device, method, and graphical user interface for a predictive keyboard
US10003938B2 (en) 2015-08-14 2018-06-19 Apple Inc. Easy location sharing
USD808410S1 (en) * 2016-06-03 2018-01-23 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
DK179374B1 (en) 2016-06-12 2018-05-28 Apple Inc Handwriting keyboard for monitors
DK180171B1 (en) 2018-05-07 2020-07-14 Apple Inc USER INTERFACES FOR SHARING CONTEXTUALLY RELEVANT MEDIA CONTENT
US11194467B2 (en) * 2019-06-01 2021-12-07 Apple Inc. Keyboard management user interfaces
US11074408B2 (en) 2019-06-01 2021-07-27 Apple Inc. Mail application features

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62219187A (ja) * 1986-03-20 1987-09-26 Matsushita Electric Ind Co Ltd 文字認識装置
JPH04120679A (ja) * 1990-09-12 1992-04-21 Matsushita Electric Ind Co Ltd 英文字認識装置
JP2007018290A (ja) * 2005-07-07 2007-01-25 Univ Of Tokyo 手書き文字入力表示支援装置及び方法並びにプログラム
JP2011065623A (ja) * 2009-08-21 2011-03-31 Sharp Corp 情報検索装置、情報検索装置の制御方法
JP2012008980A (ja) * 2010-06-28 2012-01-12 Fuji Xerox Co Ltd 情報処理装置およびプログラム
JP2014067147A (ja) * 2012-09-25 2014-04-17 Toshiba Corp 手書き入力支援装置、方法およびプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7137076B2 (en) * 2002-07-30 2006-11-14 Microsoft Corporation Correcting recognition results associated with user input
KR101639074B1 (ko) * 2009-07-31 2016-07-12 삼성전자주식회사 터치스크린을 이용한 문자 인식 및 문자 입력 장치 및 그 방법
US20150169212A1 (en) * 2011-12-14 2015-06-18 Google Inc. Character Recognition Using a Hybrid Text Display
US9069462B2 (en) * 2013-03-14 2015-06-30 Nuance Communications, Inc. Recognizing handwriting input using rotatable support lines
US9626354B2 (en) * 2014-01-21 2017-04-18 Lenovo (Singapore) Pte. Ltd. Systems and methods for using tone indicator in text recognition
KR20160062566A (ko) * 2014-11-25 2016-06-02 삼성전자주식회사 필기 문자를 보정하는 디바이스 및 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62219187A (ja) * 1986-03-20 1987-09-26 Matsushita Electric Ind Co Ltd 文字認識装置
JPH04120679A (ja) * 1990-09-12 1992-04-21 Matsushita Electric Ind Co Ltd 英文字認識装置
JP2007018290A (ja) * 2005-07-07 2007-01-25 Univ Of Tokyo 手書き文字入力表示支援装置及び方法並びにプログラム
JP2011065623A (ja) * 2009-08-21 2011-03-31 Sharp Corp 情報検索装置、情報検索装置の制御方法
JP2012008980A (ja) * 2010-06-28 2012-01-12 Fuji Xerox Co Ltd 情報処理装置およびプログラム
JP2014067147A (ja) * 2012-09-25 2014-04-17 Toshiba Corp 手書き入力支援装置、方法およびプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
福島俊一, 外1名: ""予測ペン入力インタフェースとその手書き操作削減効果"", 情報処理学会論文誌, vol. 第37巻, 第1号, JPN6018036762, 4 November 1997 (1997-11-04), JP, pages 23 - 30 *

Also Published As

Publication number Publication date
US20160092431A1 (en) 2016-03-31
JP6426417B2 (ja) 2018-11-21

Similar Documents

Publication Publication Date Title
JP6426417B2 (ja) 電子機器、方法及びプログラム
JP6180888B2 (ja) 電子機器、方法およびプログラム
JP5813780B2 (ja) 電子機器、方法及びプログラム
US9390341B2 (en) Electronic device and method for manufacturing the same
JP6092418B2 (ja) 電子機器、方法及びプログラム
JP5728592B1 (ja) 電子機器および手書き入力方法
JP6092462B2 (ja) 電子機器、方法及びプログラム
US20150146986A1 (en) Electronic apparatus, method and storage medium
JP5395927B2 (ja) 電子機器および手書き文書検索方法
JP5634617B1 (ja) 電子機器および処理方法
JP6430198B2 (ja) 電子機器、方法及びプログラム
JP2016085512A (ja) 電子機器、方法及びプログラム
JP6342194B2 (ja) 電子機器、方法及びプログラム
WO2015107692A1 (ja) 手書きのための電子機器および方法
JP6202997B2 (ja) 電子機器、方法及びプログラム
JP6430199B2 (ja) 電子機器、方法及びプログラム
JP6062487B2 (ja) 電子機器、方法及びプログラム
JP6315996B2 (ja) 電子機器、方法及びプログラム
JP6251408B2 (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

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: 20180925

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181025

R151 Written notification of patent or utility model registration

Ref document number: 6426417

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

Free format text: JAPANESE INTERMEDIATE CODE: R313121

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350