IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ブラザー工業株式会社の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-19
(45)【発行日】2024-08-27
(54)【発明の名称】編集プログラム
(51)【国際特許分類】
   G06V 30/19 20220101AFI20240820BHJP
   G06F 3/04847 20220101ALI20240820BHJP
   G06F 3/04883 20220101ALI20240820BHJP
【FI】
G06V30/19 G
G06F3/04847
G06F3/04883
【請求項の数】 7
(21)【出願番号】P 2020082455
(22)【出願日】2020-05-08
(65)【公開番号】P2021177315
(43)【公開日】2021-11-11
【審査請求日】2023-03-14
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】100104178
【弁理士】
【氏名又は名称】山本 尚
(74)【代理人】
【識別番号】100174344
【弁理士】
【氏名又は名称】安井 雅俊
(72)【発明者】
【氏名】小坂 来造
(72)【発明者】
【氏名】工藤 康博
(72)【発明者】
【氏名】塩谷 丈史
(72)【発明者】
【氏名】川口 絵美
【審査官】新井 則和
(56)【参考文献】
【文献】特開平11-126235(JP,A)
【文献】特開平08-123907(JP,A)
【文献】特開平10-302025(JP,A)
【文献】米国特許出願公開第2014/0365949(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06V 30/19
G06F 3/04847
G06F 3/04883
(57)【特許請求の範囲】
【請求項1】
入力操作部を備える情報処理装置を制御するコンピュータが実行する編集プログラムであって、
前記入力操作部により入力される複数のストロークを取得する取得処理と、
前記取得処理によって取得された前記複数のストロークのうち2つのストローク間の距離を算出する距離算出処理と、
前記距離算出処理により算出された前記距離が距離閾値未満の場合に、前記2つのストロークを同一の項目として認識する同一認識処理と、
前記距離算出処理によって算出された前記距離が前記距離閾値以上の場合に、前記2つのストロークを夫々別の項目として認識する個別認識処理と、
前記入力操作部による入力により前記距離閾値を変更する距離閾値変更処理と
前記複数のストロークと、前記同一認識処理によって認識された項目の項目領域に前記距離閾値を加えた閾値領域と、前記距離閾値を変更する為に変位操作される第1変位操作部とを、前記情報処理装置の表示部に表示する第1表示処理と
前記コンピュータに実行させ
前記入力操作部は、前記第1変位操作部を備え、
前記距離閾値変更処理は、前記第1変位操作部の変位操作に基づき、前記距離閾値を変更することを特徴とする編集プログラム。
【請求項2】
前記第1表示処理は、前記第1変位操作部の変位操作に基づき、前記距離閾値変更処理により前記距離閾値が変更されたことに連動して、前記閾値領域の面積を変更して表示すること
を特徴とする請求項に記載の編集プログラム。
【請求項3】
前記入力操作部により入力される前記2つのストロークの入力の時間差を算出する時間差算出処理と、
前記入力操作部による入力により時間閾値が変更される時間閾値変更処理と
を前記コンピュータに更に実行させ、
前記同一認識処理は、前記距離算出処理によって算出された前記距離が前記距離閾値未満で、且つ前記時間差算出処理により算出された前記時間差が前記時間閾値未満の場合、前記2つのストロークを同一の項目として認識し、
前記個別認識処理は、前記距離算出処理によって算出された前記距離が前記距離閾値以上の場合、又は前記距離が前記距離閾値未満で且つ前記時間差算出処理により算出された前記時間差が前記時間閾値以上の場合、前記2つのストロークを夫々別の項目として認識すること
を特徴とする請求項1又は2に記載の編集プログラム。
【請求項4】
前記複数のストロークと、前記同一認識処理によって認識された項目の項目領域に前記距離閾値を加えた閾値領域と、前記時間閾値を変更する為に変位操作される第2変位操作部とを、前記情報処理装置の表示部に表示する第2表示処理を前記コンピュータに更に実行させ、
前記入力操作部は、前記第2変位操作部を備え、
前記距離閾値変更処理は、前記第2変位操作部の変位操作に基づき、前記時間閾値を変更すること
を特徴とする請求項に記載の編集プログラム。
【請求項5】
前記第2表示処理は、前記項目領域を前記表示部に更に表示し、
前記第2変位操作部の変位操作に基づき、前記時間閾値変更処理により前記時間閾値が変更されたことに連動して、前記項目領域の面積を変更して表示すること
を特徴とする請求項に記載の編集プログラム。
【請求項6】
入力操作部を備える情報処理装置を制御するコンピュータが実行する編集プログラムであって、
前記入力操作部により入力される複数のストロークを取得する取得処理と、
前記取得処理によって取得された前記複数のストロークのうち2つのストローク間の距離を算出する距離算出処理と、
前記距離算出処理により算出された前記距離が距離閾値未満の場合に、前記2つのストロークを同一の項目として認識する同一認識処理と、
前記距離算出処理によって算出された前記距離が前記距離閾値以上の場合に、前記2つのストロークを夫々別の項目として認識する個別認識処理と、
前記入力操作部による入力により前記距離閾値を変更する距離閾値変更処理と
前記入力操作部により入力される前記2つのストロークの入力の時間差を算出する時間差算出処理と、
前記入力操作部による入力により時間閾値が変更される時間閾値変更処理と、
前記複数のストロークと、前記同一認識処理によって認識された項目の項目領域に前記距離閾値を加えた閾値領域と、前記時間閾値を変更する為に変位操作される第2変位操作部とを、前記情報処理装置の表示部に表示する第2表示処理と
を前記コンピュータに実行させ
前記入力操作部は、前記第2変位操作部を備え、
前記同一認識処理は、前記距離算出処理によって算出された前記距離が前記距離閾値未満で、且つ前記時間差算出処理により算出された前記時間差が前記時間閾値未満の場合、前記2つのストロークを同一の項目として認識し、
前記個別認識処理は、前記距離算出処理によって算出された前記距離が前記距離閾値以上の場合、又は前記距離が前記距離閾値未満で且つ前記時間差算出処理により算出された前記時間差が前記時間閾値以上の場合、前記2つのストロークを夫々別の項目として認識し、
前記距離閾値変更処理は、前記第2変位操作部の変位操作に基づき、前記時間閾値を変更することを特徴とする編集プログラム。
【請求項7】
前記第2表示処理は、前記項目領域を前記表示部に更に表示し、
前記第2変位操作部の変位操作に基づき、前記時間閾値変更処理により前記時間閾値が変更されたことに連動して、前記項目領域の面積を変更して表示すること
を特徴とする請求項に記載の編集プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、編集プログラムに関する。
【背景技術】
【0002】
従来、タブレット上にペンで手書き入力された文字を認識する文字認識装置が知られている。手書き入力された複数のストロークが同一項目として認識されるか、異なる別項目として認識されるかは、ストローク間の距離又は複数のストロークが入力される時間に依存すると考えられる。特許文献1に記載の手書き文字認識装置は、パターン切り出し手段を備える。パターン切り出し手段は、予め決められる複数種の閾値を基に、手書き入力された文字列パターンを複数種に切り出す。複数種の閾値は、手書き入力された文字列パターンを構成するパターン部分の幅に応じて文字間の区切りか否かを判定する閾値である。
【0003】
特許文献2に記載の手書き文字処理装置は、ユーザがタブレットにペンで文字を入力する際に、ペンアップされた位置からペンダウンされる位置までのオフストローク動作を検出し、そのオフストロークの距離及びオフ時間を計測する。CPUは、計測されたオフストロークの距離及びオフ時間を基に、オフストローク毎に判定値を演算する。判定値は、計測されたオフストロークが文字間のオフストロークかストローク間のオフストロークかを判定する為の値である。CPUは演算された各判定値を参照し、文字間のオフストロークを文字切出し位置として判定する。
【先行技術文献】
【特許文献】
【0004】
【文献】特開平10-302025号公報
【文献】特開平11-126235号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
例えば、2つのストローク間の距離が閾値より大きい場合、2つのストロークは夫々別項目として認識され、ストローク間の距離が閾値以下の場合、2つのストロークは1つの項目として認識される。しかし、複数のストロークが手書きで入力されるので、ストローク間の距離にばらつきが生じる。それ故、複数のストロークが、1つの項目として認識されたり、複数の項目として認識されたりと、ユーザの意に反して項目が認識される場合がある。また、ストロークが入力される時間においても、ユーザによってばらつきが生じるので、距離と同様の問題がある。
【0006】
本発明の目的は、ユーザの意に沿ってストロークが項目に含まれるように、閾値を容易に変更できる編集プログラムを提供することである。
【課題を解決するための手段】
【0007】
本発明の一態様に係る編集プログラムは、入力操作部を備える情報処理装置を制御するコンピュータが実行する編集プログラムであって、前記入力操作部により入力される複数のストロークを取得する取得処理と、前記取得処理によって取得された前記複数のストロークのうち2つのストローク間の距離を算出する距離算出処理と、前記距離算出処理により算出された前記距離が距離閾値未満の場合に、前記2つのストロークを同一の項目として認識する同一認識処理と、前記距離算出処理によって算出された前記距離が前記距離閾値以上の場合に、前記2つのストロークを夫々別の項目として認識する個別認識処理と、前記入力操作部による入力により前記距離閾値を変更する距離閾値変更処理とを前記コンピュータに実行させる。
【0008】
前記一態様の編集プログラムでは、ユーザの意に反して同一認識処理又は個別認識処理が実行される場合でも、ユーザは入力操作部を操作することで、距離閾値を容易に変更できる。即ち、ユーザの意に沿った同一認識処理又は個別認識処理が実行される。
【0009】
前記一態様では、さらに、前記複数のストロークと、前記同一認識処理によって認識された項目の項目領域に前記距離閾値を加えた閾値領域と、前記距離閾値を変更する為に変位操作される第1変位操作部とを、前記情報処理装置の表示部に表示する第1表示処理を前記コンピュータに更に実行させ、前記入力操作部は、前記第1変位操作部を備え、前記距離閾値変更処理は、前記第1変位操作部の変位操作に基づき、前記距離閾値を変更してもよい。
【0010】
前記一態様の編集プログラムでは、ユーザは表示部に表示される第1変位操作部を変位操作することで、距離閾値を容易に変更できる。
【0011】
前記一態様では、さらに、前記第1表示処理は、前記第1変位操作部の変位操作に基づき、前記距離閾値変更処理により前記距離閾値が変更されたことに連動して、前記閾値領域の面積を変更して表示してもよい。
【0012】
前記一態様の編集プログラムでは、第1変位操作部の変位操作と、閾値領域とが連動して表示部に表示されるので、ユーザは距離閾値の変更を閾値領域の変更という形で容易に視認できる。
【0013】
前記一態様では、さらに、前記入力操作部により入力される前記2つのストロークの入力の時間差を算出する時間差算出処理と、前記入力操作部による入力により時間閾値が変更される時間閾値変更処理とを前記コンピュータに更に実行させ、前記同一認識処理は、前記距離算出処理によって算出された前記距離が前記距離閾値未満で、且つ前記時間差算出処理により算出された前記時間差が前記時間閾値未満の場合、前記2つのストロークを同一の項目として認識し、前記個別認識処理は、前記距離算出処理によって算出された前記距離が前記距離閾値以上の場合、又は前記距離が前記距離閾値未満で且つ前記時間差算出処理により算出された前記時間差が前記時間閾値以上の場合、前記2つのストロークを夫々別の項目として認識してもよい。
【0014】
前記一態様の編集プログラムでは、ユーザの意に反して同一認識処理又は個別認識処理が実行される場合でも、ユーザは入力操作部を操作することで、時間閾値を容易に変更できる。即ち、ユーザの意に沿った同一認識処理又は個別認識処理が実行される。
【0015】
前記一態様では、さらに、前記複数のストロークと、前記同一認識処理によって認識された項目の項目領域に前記距離閾値を加えた閾値領域と、前記時間閾値を変更する為に変位操作される第2変位操作部とを、前記情報処理装置の表示部に表示する第2表示処理を前記コンピュータに更に実行させ、前記入力操作部は、前記第2変位操作部を備え、前記距離閾値変更処理は、前記第2変位操作部の変位操作に基づき、前記時間閾値を変更してもよい。
【0016】
前記一態様の編集プログラムでは、ユーザは、表示部に表示される第2変位操作部を変位操作することで、時間閾値を容易に変更できる。
【0017】
前記一態様では、さらに、前記第2表示処理は、前記項目領域を前記表示部に更に表示し、前記第2変位操作部の変位操作に基づき、前記時間閾値変更処理により前記時間閾値が変更されたことに連動して、前記項目領域の面積を変更して表示してもよい。
【0018】
前記一態様の編集プログラムでは、第2変位操作部の変位操作と、項目領域の面積の変更とが連動して表示部に表示されるので、ユーザは、時間閾値の変更を項目領域の面積の変更という形で容易に視認できる。
【図面の簡単な説明】
【0019】
図1】情報処理装置1の電気的構成を示すブロック図である。
図2】編集ウィンドウ5を示す図である。
図3】ストローク27と項目25を示す図である。
図4】異なるページ倍率による距離Aの差異を示す説明図である。
図5】第1編集アプリ処理のフローチャートである。
図6】自動項目化処理のフローチャートである。
図7】閾値決定処理のフローチャートである。
図8】簡略処理のフローチャートである。
図9】詳細処理のフローチャートである。
図10】手動結合処理のフローチャートである。
図11】第2編集アプリ処理のフローチャートである。
図12】手動項目化処理のフローチャートである。
図13】ストロークS3の点B_k´とストロークS8の点C_kとの距離L_mを示す図である。
図14】項目21と22を手動で結合する流れを示す図である。
図15】第2編集アプリが起動したときの編集ウィンドウ5の図である。
図16】項目領域71~73が表示された状態(1)からスライダ611で距離閾値を大きくしたときの状態(2)を示す図である。
図17図16(1)の状態からスライダ611で距離閾値を小さくしたときの状態を示す図である。
図18】項目領域74が表示された状態(1)からスライダ621で時間閾値を大きくしたときの状態(2)を示す図である。
図19図18(1)の状態からスライダ621で時間閾値を小さくしたときの状態(2)を示す図である。
図20】入力欄57が表示された編集ウィンドウ5を示す図(第1変形例)である。
図21】距離閾値選択バー80が表示された編集ウィンドウ5を示す図(第2変形例)である。
図22】ストローク選択バー90が表示された編集ウィンドウ5を示す図(第3変形例)である。
図23】粒度小ボタン97と粒度大ボタン98が表示された編集ウィンドウ5を示す図(第4変形例)である。
図24】編集ウィンドウ5において、項目21と22を結合線101で結んで結合した状態を示す図(第5変形例)である。
図25】編集ウィンドウ5において、項目24上に分割線102を引いた状態を示す図(第5変形例)である。
【発明を実施するための形態】
【0020】
図1を参照し、情報処理装置1の電気的構成を説明する。情報処理装置1は、CPU10、システムコントローラ11、ROM12、RAM13、グラフィックスコントローラ15、及びタッチスクリーンディスプレイ16を構成要素の一部として含む。
【0021】
CPU10は、情報処理装置1を統括制御する。システムコントローラ11は、CPU10のローカルバスと各構成要素との間を接続する。ROM12は、BIOS、OS、設定値等を記憶する。RAM13は、CPU10による処理の実行時に生成されるデータを一時的に記憶する。フラッシュメモリ14は、CPU10が実行する編集プログラムを記憶する。編集プログラムは、第1編集アプリプログラムと第2編集アプリプログラムを含む。第1編集アプリプログラムは、後述の第1編集アプリ処理(図5参照)を実行する。第2編集アプリプログラムは、後述の第2編集アプリ処理(図11参照)を実行する。
【0022】
タッチスクリーンディスプレイ16は、フラットパネルディスプレイ17とセンサ18を含む。フラットパネルディスプレイ17は、ユーザに視覚出力を表示する。センサ18は、フラットパネルディスプレイ17の画面上のペン又は指の接触位置を検出するように構成される。グラフィックスコントローラ15は、フラットパネルディスプレイ17の表示を制御する。なお、情報処理装置1は、インターネットに接続可能なインターフェースを有してもよい。情報処理装置1は、CPU10により実行されるプログラムを、インターネット経由で取得してもよく、又、図に記載がないが外部のフラッシュメモリから情報処理装置1の内部のフラッシュメモリ14に記憶してもよい。
【0023】
本実施形態では、CPU10、システムコントローラ11、ROM12、RAM13、及びフラッシュメモリ14が、情報処理装置1を制御するコンピュータを構成する。フラットパネルディスプレイ17及びセンサ18の詳細は、特開2015-38670号公報に記載されているので、その説明を省略する。
【0024】
図2を参照し、編集ウィンドウ5を説明する。ユーザは、コンテンツの編集を開始する為に、第1編集アプリの起動操作を行う。コンテンツとは、例えば、文字、文字列、数字、記号、図形等の少なくとも何れかを含む情報の内容を意味する。第1編集アプリの起動操作がセンサ18により検出された場合、CPU10は、編集ウィンドウ5をタッチスクリーンディスプレイ16に表示する。編集ウィンドウ5には、表示領域50と複数のソフトウェアボタン55が設けられる。複数のソフトウェアボタン55は、ペンボタン51、消しゴムボタン52、選択ボタン53、構造化ボタン54を備える。
【0025】
表示領域50は、コンテンツを構成する項目21~23(総称する場合、項目20と呼ぶ)等が表示される領域である。項目20とは、一又は複数のストロークの集合体であり、ストローク間の距離及び入力時間によって区分けして識別されたものである。ストロークとは、ペンボタン51が選択された状態で、ユーザにより表示領域50に手書き入力される1回の筆跡である。すなわち、ストロークとは、ユーザが、フラットパネルディスプレイ17の画面上に、ペン又は指を接触させてから離すまでに手書きで描画される筆跡である。図2に示す例では、項目20として、「テスト」の文字列により表される項目21、「アイデア」の文字列により表される項目22、「サンプル」の文字列により表される項目23が表示される。
【0026】
フラッシュメモリ14には、項目情報が記憶される。項目情報は、項目20の座標情報とストロークデータを含む。項目21の座標情報とは、表示領域50において、項目21を取り囲む最小矩形の枠線Mの4隅の角部の座標情報である。項目22,23の座標情報も同様である。ストロークデータとは、ストロークの始点から終点までを形成する複数の点の座標情報と、ストロークを形成する複数の点が入力された時間情報とを含む。なお、枠線Mは、CPU10による内部処理上のデータであり、タッチスクリーンディスプレイ16には表示されない。座標情報の基準となる原点(0,0)は、表示領域50の左上の隅の近傍に配置される。左右方向はX軸方向に対応し、上下方向はY軸方向に対応する。実施例では左上隅近傍を原点とし、原点から右向きに延びる方向は、X軸方向の正方向に対応する。原点から下向きに延びる方向は、Y軸方向の正方向に対応する。
【0027】
図3を参照し、距離閾値β_Lを説明する。距離閾値β_Lは、ストローク間の距離の閾値であり、手書き入力されたストローク27が、先に手書き入力された他の項目25と同一項目か別項目かを判断する為に用いる。距離閾値β_Lのデフォルト値は、ユーザ設定により予めフラッシュメモリ14に記憶される。図3に示すストローク27は、左斜め上方から右斜め下方に向けて手書き入力された筆跡である。CPU10は、ストローク27の項目枠M1を作成する。項目枠M1は、ストローク27を構成する複数の点A_k(k=1~n)の座標のうち最小のX座標と、最大のX座標と、最小のY座標と、最大のY座標とに基づいて、ストローク27を取り囲む最小矩形として規定される。CPU10は作成した項目枠M1に基づき、閾値枠N1を作成する。閾値枠N1は、項目枠M1の上下左右に距離閾値β_Lを追加した大きさの矩形枠である。
【0028】
ストローク27に最も近い項目(以下、隣接項目と呼ぶ)は、項目25である。項目25は、横方向に並ぶ「テスト1」の文字列により表される。項目25のうち最も右側に位置する数字の「1」の下端部は、ストローク27の閾値枠N1内に位置する(図3中矢印K参照)。この場合、CPU10は、後述の簡略処理(図8参照)の中で、ストローク27を項目25と同一項目として認識する。一方、閾値枠N1内に項目25が位置しない場合、CPU10は、ストローク27を項目25とは別項目として認識する。
【0029】
図4を参照し、距離閾値β_Lとページ倍率の関係を説明する。距離閾値β_Lは、ユーザにより指定された表示領域50のページ倍率により設定された値である。ここで、ユーザがページ倍率を変更した場合は、ページ倍率に応じて補正した距離閾値αを計算する必要がある。例えば、図4(1)に示すように、ページ倍率100%の表示領域50には、ユーザにより手書き入力された2本のストローク28,29が表示されている。ストローク28は縦方向の直線、ストローク29は横方向の直線である。ストローク28と29の間の見かけ上の距離はAである。ユーザは一般的に、ページ倍率に関係無く、文字等を一定の大きさで手書き入力することが多い。従って、ページ倍率が50%であっても、図4(2)に示すように、ユーザはページ倍率100%のときと同じ大きさで、ストローク28と29を手書き入力する。よって、このときのストローク28と29の間の見かけ上の距離もAである。
【0030】
図4(2)に示す表示領域50では、図4(1)と同じ大きさであっても、ストローク28と29はページ倍率50%で表示されているので、CPU10の内部処理において、図4(3)に示すように、ページ倍率100%に変換したスケールで、ストローク28と29の長さ、位置関係等が演算される。従って、ストローク28と29の夫々の長さは、ページ倍率50%のときの2倍となり、ストローク28と29の間の距離も2Aとなる。ここで、距離閾値β_Lを設定した際の表示領域50のページ倍率を基準ページ倍率(100%)とし、ページ倍率が50%のときの距離閾値をαとした場合、距離閾値αは以下の式で計算される。なお、距離閾値αは、フラッシュメモリ14に記憶される。
・距離閾値α=距離閾値β_L×(100/50)=2β_L
【0031】
図5を参照し、第1編集アプリ処理を説明する。上記の通り、第1編集アプリの起動操作がセンサ18により検出された場合、CPU10は、フラッシュメモリ14から第1編集アプリプログラムを読み出し、本処理を実行する。
【0032】
CPU10は、ペン入力モード又は消しゴムモードか否かを判断する(S11)。ペンボタン51が選択された場合、ペン入力モードになるので(S11:YES)、CPU10は、表示領域50にストロークが追加されたか判断する(S12)。一方、消しゴムボタン52が選択された場合は、消しゴムモードになるので(S11:YES)、CPU10は、表示領域50のストロークが削除されたか判断する(S12)。ストロークが追加又は削除されない場合(S12:NO)、CPU10はS11に戻り上記処理を繰り返す。ストロークが追加又は削除された場合(S12:YES)、CPU10は、追加又は削除に応じてストロークデータを更新し、フラッシュメモリ14に保存する(S17)。
【0033】
CPU10は、後述の自動項目化処理(図6参照)を実行する(S18)。自動項目化処理は、フラッシュメモリ14に保存されたストロークの項目化を行う。自動項目化処理を終了すると、CPU10は、第1編集アプリを終了するか判断する(S19)。第1編集アプリを終了しない場合(S19:NO)、すなわち、図示しない終了ボタンがユーザにより選択されない場合、CPU10はS11に戻り上記処理を繰り返す。
【0034】
ペン入力モード及び消しゴムモードの何れでもない場合(S11:NO)、CPU10は選択モードか否かを判断する(S13)。選択モードでもない場合(S13:NO)、CPU10はS11に戻り上記処理を繰り返す。選択ボタン53が選択された場合(S13:YES)、CPU10は、表示領域50において、ユーザにより複数の項目が選択されたか否かを判断する(S14)。ユーザは、項目同士を結合する為、結合させたい複数の項目を選択する。複数の項目が選択されない場合(S14:NO)、すなわち1つの項目が選択された場合、CPU10は後述のS16に処理を進める。複数の項目が選択された場合(S14:YES)、CPU10は、後述の手動結合処理を実行する(S15)。手動結合処理は、ユーザにより選択された複数の項目同士を結合する。
【0035】
手動結合処理が終了すると、CPU10は、表示領域50において、ユーザの操作により項目が移動されたか否かを判断する(S16)。項目が移動されない場合(S16:NO)、CPU10はS11に戻り上記処理を繰り返す。項目が移動された場合(S16:YES)、CPU10は、項目の移動に応じて項目のストロークデータを更新し、フラッシュメモリ14に保存する(S17)。CPU10は後述の自動項目化処理(S18)を実行し、第1編集アプリを終了する場合(S19:YES)、すなわち、図示しない終了ボタンがユーザにより選択された場合、CPU10は本処理を終了する。
【0036】
図6図9を参照し、自動項目化処理を説明する。図6に示すように、CPU10は、閾値決定処理を実行する(S21)。図7に示すように、CPU10は、距離閾値β_Lをフラッシュメモリ14から取得する(S31)。CPU10は、取得した距離閾値β_Lをページ倍率で補正した距離閾値αを算出する(S32)。CPU10は、時間閾値β_tをフラッシュメモリ14から取得する(S33)。CPU10は本処理を終了し、図6に示す自動項目化処理に戻る。CPU10は簡略処理を実行する(S22)。
【0037】
図8に示すように、CPU10は、例えば、図3に示す表示領域50に手書き入力されたストローク27について、閾値枠N1を作成する(S41)。CPU10は上記の通り、項目枠M1を作成し、作成した項目枠M1に距離閾値β_Lを加えることにより閾値枠N1を作成する。ここで、本実施例において、後述する第2編集アプリ処理で距離閾値がβ_Lに設定されてから、第1編集アプリ処理が実行されるまで、表示領域50のページ倍率が変更されていないため、距離閾値は、β_Lのままである。この方法以外に、例えば、CPU10は、ストローク27を構成する複数の点A_k(k=1~n)に距離閾値β_Lを加え、最大範囲の矩形枠を閾値枠N1として作成してもよい。また、閾値枠N1は矩形以外の形状であってもよく、例えば、ストローク27の周囲に距離閾値β_Lを加えた略楕円状の枠であってもよい。
【0038】
CPU10は、表示領域50に項目25が存在するか否かを判断する(S42)。表示領域50に項目25が存在しない場合(S42:NO)、CPU10は、ストローク27を新しい項目として認識する(S46)。一方、表示領域50に一又は複数の項目25が存在する場合(S42:YES)、CPU10は、ストローク27に最も近い項目25を隣接項目として保存する(S43)。CPU10は、隣接項目が閾値枠Nの範囲内に位置するか否かを判断する(S44)。図3の例に示すように、隣接項目である項目25が閾値枠N1の範囲内に位置する場合(S44:YES)、CPU10は、ストローク27を項目25と同一項目として認識する(S45)。隣接項目が閾値枠N1の範囲内に位置しない場合(S44:NO)、CPU10は、ストロークは隣接項目とは別の新しい項目として認識する(S46)。CPU10は本処理を終了し、図6に示す自動項目化処理に戻る。
【0039】
CPU10は、S22の簡略処理において、ストロークを他の項目と同一の項目として認識したか否かを判断する(S23)。ストロークを別の項目として認識した場合(S23:NO)、CPU10は本処理を終了し、図5の第1編集アプリ処理に戻る。ストロークを同一の項目として認識した場合(S23:YES)、CPU10は詳細処理を実行する(S24)。
【0040】
図9に示すように、CPU10は、隣接項目内のうち最も近いストロークを探す(S51)。例えば、図13に示す例は、横並びに「テスト」の文字列を手書き入力した後、「テ」の下方に、「アイデア」の「ア」の1本目のストロークS8を手書き入力した状態を示す。「テ」は3本のストロークS1~S3で構成されている。「ス」は2本のストロークS4とS5で構成されている。「ト」は2本のストロークS6とS7で構成されている。「テスト」の文字列は、項目21として認識されている。ストロークS8の隣接項目は項目21である。項目21のうち、ストローク8に最も近いストロークは、「テ」の3本目のストロークS3である。
【0041】
CPU10は、ストロークS8を構成する複数の点C_k(k=1~n)と、項目21内のストロークS3を構成する複数の点B_k´(k´=1~n´)との距離L_mを夫々算出する(S52)。なお、図13の例では、ストロークS3の最下端の点B_k´とストロークS8の始点である点C_kとの距離L_mを示している。CPU10は算出した複数の距離L_mの中で、距離閾値β_Lよりも小さい距離L_mが一つでも有るか否かを判断する(S53)。全ての距離L_mが距離閾値β_Lより大きい場合(S53:NO)、CPU10は、ストロークS8を新しい項目として認識する(S57)。
【0042】
一方、距離閾値β_Lよりも小さい距離L_mが一つでも有る場合(S53:YES)、上述の簡略処理では同一項目として認識したが、ストロークを形成する複数の点が入力された時間情報に基づきより詳細に判定する為、CPU10は、項目21内のストロークS1~S7を形成する複数の点が夫々入力された入力時間t_zと、ストロークS8の始点C_kの入力時間tとの時間差t_mを夫々算出する(S54)。CPU10は、ストローク毎に入力時間をフラッシュメモリ14に保存する。CPU10は、時間閾値β_tよりも小さい時間差t_mが一つでも有るか否かを判断する(S55)。時間閾値β_tは、時間差t_mの閾値である。時間閾値β_tのデフォルト値は、ユーザ設定により予めフラッシュメモリ14に記憶される。
【0043】
全ての時間差t_mが時間閾値β_tよりも大きい場合(S55:NO)、CPU10は、ストロークは隣接項目とは別の新しい項目として認識する(S57)。図13の例において、ユーザは、「テスト」と「アイデア」は別々の文字列として認識しているため、それらを手書き入力する際は、「テスト」と「アイデア」の間に一定の時間差を生じる。よって、仮に距離L_mが距離閾値β_Lより小さいとしても、時間差t_mは時間閾値β_tよりも大きくなることから(S55:NO)、CPU10は、ストロークS8について、項目21とは別の新しい項目として認識できる(S57)。なお、各文字列の間の時間差はユーザによってばらつきがあるので、時間閾値β_tは、情報処理装置1を使用するユーザに合わせて設定するとよい。
【0044】
一方、時間閾値β_tよりも小さい時間差t_mが一つでも有る場合(S55:YES)、CPU10は、ストロークS8を項目21と同一項目として認識する(S56)。このようにして、CPU10は詳細処理を終了する。
【0045】
図10図14を参照し、手動結合処理を説明する。図14(1)に示す編集ウィンドウ5は、選択モードの状態である。表示領域50には、項目21と項目22が表示されている。図10に示すように、CPU10は表示領域50に、項目結合メニュー30を表示する(S61)。項目結合メニュー30は、左右方向に延びるメニューバーであり、左側から順に、削除ボタン31、コピーボタン32、保存ボタン33、項目結合ボタン34を備える。削除ボタン31は、項目を削除する際に押下される。コピーボタン32は、項目をコピーする際に押下される。保存ボタン33は、選択したストロークを保存する際に押下される。項目結合ボタン34は、選択した項目同士を結合する際に押下される。
【0046】
図14(1)において、表示領域50に表示されている二つの項目21と22を結合する場合、ユーザは項目21と22をタップして選択する。そうすると、項目21には閾値枠N1、項目22には閾値枠N2が各々表示され、閾値枠N1の4つの角部と、閾値枠N2の4つの角部に、矩形マーク60が夫々表示される。これで項目21と22が夫々選択された状態となる。
【0047】
CPU10は、項目結合ボタン34が押下されたか否かを判断する(S62)。項目結合ボタン34が押下されない場合(S62:NO)、CPU10はそのまま本処理を終了し、図5の第1編集アプリ処理に戻る。項目結合ボタン34が押下された場合(S62:YES)、図14(2)に示すように、CPU10は、項目21と22を結合し(S63)、項目25として新たに認識し、フラッシュメモリ14に記憶する。なお、結合後の項目25は選択された状態であるので、項目25には、閾値枠N3と4つの矩形マーク60が表示されているが、選択を解除することで、閾値枠N3と4つの矩形マーク60は消去される。CPU10は本処理を終了し、図5の編集アプリ処理に戻る。
【0048】
図11図15を参照し、第2編集アプリ処理を説明する。距離閾値β_L及び時間閾値β_tを手動で変更する場合、ユーザは、構造化ボタン54を押下し、第2編集アプリを起動させる。構造化ボタン54の押下がセンサ18により検出された場合、CPU10は、フラッシュメモリ14から第2編集アプリプログラムを読み出し、本処理を実行する。
【0049】
第2編集アプリが起動すると、図15に示すように、編集ウィンドウ5の表示領域50の上部において、複数のソフトウェアボタン55の右方に、閾値変更ボタン56が新たに表示される。表示領域50には、3つの項目21~22が表示されている。
【0050】
図11に示すように、CPU10は、閾値変更ボタン56が押下されたか否かを判断する(S71)。閾値変更ボタン56が押下されない場合(S71:NO)、CPU10はS71に戻り待機する。閾値変更ボタン56が押下された場合(S71:YES)、CPU10は後述の手動項目化処理を実行する(S72)。手動項目化処理を終了すると、CPU10は、第2編集アプリを終了するか否かを判断する(S73)。第2編集アプリを終了しない場合(S73:NO)、CPU10はS71に戻り上記処理を繰り返す。第2編集アプリを終了する場合(S73:YES)、CPU10は本処理を終了する。
【0051】
図12図15図22を参照し、手動項目化処理を説明する。図12に示すように、CPU10は表示領域50に、距離閾値スライドバー61と時間閾値スライドバー62(図15参照)を上下に並べて表示する(S81)。距離閾値スライドバー61は、スライダ611を左右方向に変位させることで、距離閾値β_Lを連続的に変更可能である。スライダ611を右側に変位させるほど、距離閾値β_Lは大きくなり、左側に変位させるほど、距離閾値β_Lは小さくなる。時間閾値スライドバー62は、スライダ621を左右方向に変位させることで、時間閾値β_tを連続的に変更可能である。右側に変位させるほど、時間閾値β_tは大きくなり、左側に変位させるほど、時間閾値β_tは小さくなる。
【0052】
図16に示すように、距離閾値スライドバー61は、スライダ611の変位方向の中間位置に、基準位置Pを備える。スライダ611の基準位置Pは、距離閾値β_Lのデフォルト値に対応する。時間閾値スライドバー62も、スライダ621の変位方向の中間位置に、基準位置Pを備える。スライダ621の基準位置Pは、時間閾値β_tのデフォルト値に対応する。
【0053】
CPU10は、表示領域50に表示されている全ての項目について、閾値領域と項目領域を夫々表示する(S82)。図16(1)示すように、CPU10は項目21について、閾値領域41と項目領域71を表示する。CPU10は項目22について、閾値領域42と項目領域72を表示する。CPU10は項目23について、閾値領域43と項目領域73を表示する。閾値領域41~43は、項目21~23の項目枠M1~M3を取り囲む矩形枠状の領域であり、例えばグレーで表示される。閾値領域41~43の幅は距離閾値β_Lの1/2である。項目領域71~73は、項目21~23の項目枠M1~M3の内側の矩形領域である。
【0054】
CPU10は、スライダ611又は621が変位されたか否かを判断する(S83)。何れのスライダも変位されていない場合(S83:NO)、CPU10はS83に戻り待機する。スライダ611又は621が変位された場合(S83:YES)、CPU10は、スライダ611の位置に対応する距離閾値β_Lを取得する(S84)。CPU10は、スライダ621の位置に対応する時間閾値β_tを取得する(S85)。
【0055】
CPU10は、表示領域50に表示されている項目の中で、入力時間の最も早い点を含むストロークを抽出する(S86)。CPU10は抽出したストロークについて、上記S22と同様の簡略処理(図8参照)を実行する(S87)。CPU10は簡略処理において、隣接項目と同一の項目と認識したか否かを判断する(S88)。同一の項目と認識した場合(S88:YES)、CPU10は上記S24と同様の詳細処理(図9参照)を実行する(S89)。同一項目と認識しなかった場合(S88:NO)、CPU10は簡略処理での認識通り、ストロークを新しい項目と認識する(S90)。
【0056】
CPU10は、全てのストロークの認識を完了したか否かを判断する(S91)。認識を完了していない場合(S91:NO)、CPU10はS86に戻り、次に入力時間の早いストロークについて上記処理を繰り返す(S86~S90)。全てのストロークの認識を完了した場合(S91:YES)、CPU10は認識を完了した項目について、閾値領域と項目領域の表示を更新する(S92)。なお、閾値領域と項目領域の具体的な表示については後述する。CPU10は終了操作が有ったか判断する(S93)。終了操作が無い場合(S93:NO)、CPU10はS83に戻り上記処理を繰り返す。終了操作が有った場合(S93:YES)、CPU10は本処理を終了し、図11の第2編集アプリ処理に戻る。
【0057】
図16図17を参照し、距離閾値スライドバー61のスライダ611を変位させ、距離閾値β_Lのみを変更した場合を説明する。図16(1)の状態において、スライダ611を基準位置Pから右側に変位させる。この場合、スライダ611の変位量に応じて、距離閾値β_Lが大きくなる。項目21~23の項目領域71~73の大きさは変化しない一方、スライダ611の変位に連動して、閾値領域41~43の面積が徐々に大きくなる。
【0058】
そして、項目21の閾値領域41と、項目2の閾値領域42とが互いに接触したとき、項目21と22の離間する距離は距離閾値β_Lとなる。このとき、上記簡略処理(S87)と詳細処理(S89)により、項目21と22は同一の項目として認識される。スライダ611をさらに右側に変位させることにより、項目21と22と同様に、項目23も同一の項目として認識される。その結果、図16(2)に示すように、項目21~23は一つの項目24として認識され、項目24について、閾値領域44と項目領域74が表示される。項目領域74は、「テスト」、「アイデア」、「サンプル」の3つの文字列を含む最大矩形である。閾値領域44の幅は、変更後の距離閾値β_Lの1/2である。
【0059】
また、図16(1)の状態から、スライダ611を左側に変位させた場合、スライダ611の変位量に応じて、距離閾値β_Lが小さくなるので、項目21~23の閾値領域41~43の幅が徐々に小さくなる。そして、項目21の「テスト」は「テ」、「ス」、「ト」の別々の項目として認識され、項目22の「アイデア」は「ア」、「イ」、「デ」、「ア」の別々の項目として認識され、項目23の「サンプル」は「サ」、「ン」、「プ」、「ル」の別々の項目として認識される。
【0060】
さらに最終的には、離隔しているストロークは全て別々の項目として認識され、図17に示すように、「テスト」の項目領域71は、4つの項目領域71A~71Dに分離され、「アイデア」の項目領域72は、6つの項目領域72A~72Fに分離され、「サンプル」の項目領域73は、7つの項目領域73A~73Gに分離される。なお、「ア」については、1本目のストロークの項目領域と2本目のストロークの項目領域が互いに重なっているので、これらは1つの項目として認識される。そして、項目領域71A~71Dの夫々の周囲には、閾値領域411~414が表示され、項目領域72A~72Fの夫々の周囲には、閾値領域421~426が表示され、項目領域73A~73Gの夫々の周囲には、閾値領域431~437が表示される。これら全ての閾値領域の幅は、スライダ611の変位量に応じてさらに小さくなる。このように、距離閾値β_Lの変更は、表示領域50に入力されている全ての項目20に適用される。
【0061】
図18図19を参照し、時間閾値スライドバー62のスライダ621を変位させ、時間閾値β_tのみを変更した場合を説明する。図18(1)に示すように、表示領域50には、図16(2)と同様に、「テスト」、「アイデア」、「サンプル」の3つの文字列を含む項目24、閾値領域44、項目領域74が表示されている。スライダ611,621は何れも基準位置Pである。この状態において、図18(2)に示すように、スライダ621のみを右側に変位させる。この場合、スライダ621の変位量に応じて、時間閾値β_tが大きくなり、距離閾値β_Lは変化しない。スライダ621を変位させる前から、「テスト」、「アイデア」、「サンプル」の3つの文字列は一つの項目24として認識されているので、各文字列を構成するストロークの入力時間の時間差t_mは時間閾値β_tよりも小さい。この状態から時間閾値β_tが大きくなるので、上記詳細処理(図9参照)において、時間差t_mが時間閾値β_tよりも小さい状態から変化しない(S55:YES)。従って、表示領域50には、図18(1)と同様に、項目24、閾値領域44、項目領域74が表示された状態が維持される。
【0062】
一方、図18(1)に示す状態から、スライダ621を左側に変位させる。この場合、図19(1)に示すように、スライダ621の変位量に応じて、時間閾値β_tが小さくなる。時間閾値β_tが小さくなると、文字列を構成する各ストロークの中で、時間閾値β_tよりも大きい時間差t_mのストロークが出現する。「テスト」、「アイデア」、「サンプル」の各文字列の入力時間は、相互にズレており、文字列と文字列の各入力時間の間には、ユーザ特有の間隔が生じている。それ故、時間閾値β_tが小さくなるにつれて、項目24は、「テスト」、「アイデア」、「サンプル」に対応する3つの項目21~23に分離して認識される。項目領域74は、項目領域71~73に分離され、面積が変更して表示される。なお、距離閾値β_Lは変更されていないので、閾値領域44の大きさは変化しない。
【0063】
図19(1)の状態から、スライダ621をさらに左側に変位させると、項目21は「テ」、「ス」、「ト」の3つの項目にさらに分離して認識され、項目22は「ア」、「イ」、「デ」、「ア」の4つの項目にさらに分離して認識され、項目23は「サ」、「ン」、「プ」、「ル」の4つの項目にさらに分離して認識される。これに応じて項目領域71~73も各項目に対応してさらに分離して表示される。
【0064】
そして、図19(2)に示すように、スライダ621をさらに左側に変位させると、各項目はストローク毎にさらに分離して認識され、これに応じて項目領域もさらに分離して表示される。「テスト」の文字列については、7本のストロークに対応する7個の項目領域711~717に分離して表示される。「アイデア」の文字列については、10本のストロークに対応する10個の項目領域721~730に分離して表示される。「サンプル」の文字列については、9本のストロークに対応する9個の項目領域731~739に分離して表示される。
【0065】
このように、時間閾値β_tを小さくすることによって、項目領域74から項目領域71~73へ、項目領域71~73から項目領域711~717,721~730、731~739へと項目数及び各領域の面積が変更して表示される。これにより、ユーザは、時間閾値β_tの変更を、項目領域の数と面積の変更という形で容易に視認できる。この時間閾値β_tの変更は、表示領域50に入力されている全ての項目20に適用される。
【0066】
以上説明したように、本実施形態の編集プログラムは、情報処理装置1のCPU10が実行するプログラムである。CPU10は編集プログラムを実行することにより、情報処理装置1のタッチスクリーンディスプレイ16により入力される複数のストロークを取得する。CPU10は、取得した複数のストロークのうち2つのストローク間の距離L_mを算出する。CPU10は、距離L_mが距離閾値β_L未満の場合に、2つのストロークを同一の項目として認識する。CPU10は、距離L_mが距離閾値β_L以上の場合に、2つのストロークを夫々別の項目として認識する。CPU10は、タッチスクリーンディスプレイ16による入力により距離閾値β_Lを変更する。これにより、ユーザの意に反して、CPU10により2つのストロークについて項目の認識が実行された場合でも、ユーザはタッチスクリーンディスプレイ16を操作することで、距離閾値を容易に変更できる。これにより、編集プログラムは、CPU10に対して、複数のストロークについてユーザの意に沿った項目の認識を実行させることができる。
【0067】
さらに、本実施形態の編集プログラムは、CPU10に対して、複数のストローク、閾値領域、及び距離閾値スライドバー61を、情報処理装置1のタッチスクリーンディスプレイ16に表示させる。閾値領域は、距離閾値β_Lに基づいて、項目領域の外周(項目枠)から外側に広がる領域であり、項目領域の外周から距離閾値β_Lの1/2の幅で規定される領域である。距離閾値スライドバー61のスライダ611は、距離閾値β_Lを変更する為に変位操作される。CPU10は、スライダ611の変位操作に基づき、距離閾値β_Lを変更する。ユーザはタッチスクリーンディスプレイ16に表示されるスライダ611を変位操作することで、距離閾値β_Lを容易に変更できる。
【0068】
さらに、本実施形態の編集プログラムは、CPU10に対して、スライダ611の変位操作に基づき、距離閾値β_Lが変更されたことに連動して、閾値領域の面積を変更して表示させる。これにより、ユーザは、距離閾値β_Lの変更を閾値領域の変更という形で容易に視認できる。スライダ611の変位操作に連動して閾値領域の面積が変更されるので、ユーザは、閾値領域の面積を視認しながら距離閾値β_Lを直感的に操作できる。
【0069】
さらに、本実施形態の編集プログラムは、CPU10に対して、タッチスクリーンディスプレイ16により入力される2つのストロークの入力の時間差t_mを算出させる。さらに、CPU10に対して、タッチスクリーンディスプレイ16による入力により時間閾値β_tを変更させる。CPU10は、算出した距離L_mが距離閾値β_L未満で、且つ算出した時間差t_mが時間閾値β_t未満の場合、2つのストロークを同一の項目として認識する。CPU10は、算出した距離L_mが距離閾値β_L以上の場合、又は距離L_mが距離閾値β_L未満で且つ算出した時間差t_mが時間閾値β_t以上の場合、2つのストロークを夫々別の項目として認識する。これにより、ユーザの意に反して、CPU10により2つのストロークについて項目の認識が実行された場合でも、ユーザはタッチスクリーンディスプレイ16を操作することで、時間閾値β_tを容易に変更できる。これにより、編集プログラムは、CPU10に対して、複数のストロークについてユーザの意に沿った項目の認識を実行させることができる。
【0070】
さらに、本実施形態の編集プログラムは、CPU10に対して、複数のストローク、閾値領域、及び時間閾値スライドバー62を、情報処理装置1のタッチスクリーンディスプレイ16に表示させる。閾値領域は、距離閾値β_Lに基づいて、項目領域の外周(項目枠)から外側に広がる領域であり、項目領域の外周からβ_L/2の幅で規定される領域である。項目領域は、同一の項目として認識された項目の領域である。時間閾値スライドバー62のスライダ621は、時間閾値β_tを変更する為に変位操作される。CPU10は、スライダ621の変位操作に基づき、時間閾値β_tを変更する。ユーザはタッチスクリーンディスプレイ16に表示されるスライダ621を変位操作することで、時間閾値β_tを容易に変更できる。
【0071】
さらに、本実施形態の編集プログラムは、CPU10に対して、項目領域をタッチスクリーンディスプレイ16に更に表示させる。さらに編集プログラムは、CPU10に対して、スライダ621の変位操作に基づき、時間閾値β_tが変更されたことに連動して、項目領域の面積を変更して表示する。これにより、ユーザは、時間閾値β_tの変更を項目領域の面積の変更という形で容易に視認できる。
【0072】
上記説明において、タッチスクリーンディスプレイ16は本発明の「入力操作部」と「表示部」の一例である。距離閾値スライドバー61のスライダ611は本発明の「第1変位操作部」の一例である。時間閾値スライドバー62のスライダ621は本発明の「第2変位操作部」の一例である。図5のS12は本発明の「取得処理」の一例である。図9のS52は本発明の「距離算出処理」の一例である。S53:YES、S56の処理は本発明の「同一認識処理」である。S53:NO、S57の処理は本発明の「個別認識処理」である。S54の処理は本発明の「時間差算出処理」の一例である。図12のS83とS84は本発明の「距離閾値変更処理」の一例である。S82とS92は本発明の「第1表示処理」と「第2表示処理」の一例である。S85は本発明の「時間閾値変更処理」の一例である。
【0073】
本発明は上記実施形態に限らず、種々の変更が可能である。例えば、上記実施形態において、距離閾値β_Lの変更は、表示領域50に表示される距離閾値スライドバー61のスライダ611の変位操作で行うが、これ以外の方法で、距離閾値β_Lの変更を行ってもよい。以下、図20図25を参照し、距離閾値β_Lの変更方法について、5つの変形例を説明する。この5つの変形例は、時間閾値β_tの変更に適用してもよい。
【0074】
図20を参照し、第1変形例を説明する。第1変形例の編集ウィンドウ5の上部において、複数のソフトウェアボタン55の右方に、項目の粒度を入力する為の入力欄57が表示される。項目の粒度とは、距離閾値β_Lに応じて調整される項目の大きさを意味する。例えば、粒度のデフォルト値を100とし、距離閾値β_Lのデフォルト値に対応させる。100を基準に粒度を大きくするほど、距離閾値β_Lは大きくなり、粒度を小さくするほど、距離閾値β_Lは小さくなる。粒度を大きくすると、項目は互いに結合するので、項目の数は減る。粒度を小さくすると、項目は互いに分離するので、項目の数は増える。このような第1変形例のように、入力欄57に数値を入力することによって、距離閾値β_Lを変更するようにしてもよい。
【0075】
図21を参照し、第2変形例を説明する。第2変形例の編集ウィンドウ5の表示領域50の上部には、距離閾値選択バー80が表示される。距離閾値選択バー80は、距離閾値β_Lを5段階で選択できるように、5つの選択ボタン81~85を横並びに備える。例えば、選択ボタン81から85に向けて段階的に、距離閾値β_Lが大きくなるように設定され、中央の選択ボタン83をデフォルトに設定してもよい。このような第2変形例のように、距離閾値β_Lを選択的に変更するようにしてもよい。
【0076】
図22を参照し、第3変形例を説明する。第3変形例の編集ウィンドウ5の表示領域50の上部には、ストローク選択バー90が表示される。ストローク選択バー90は、左側から順に、コピーボタン91、削除ボタン92、グループ化ボタン93、グループ化解除ボタン94、項目決定ボタン95を備える。コピーボタン91は、項目をコピーする際に押下される。削除ボタン92は、項目を削除する際に押下される。グループ化ボタン93は、選択したストロークをグループ化する際に押下される。グループ化解除ボタン94は、グループ化を解除する際に押下される。項目決定ボタン95は、表示領域50に表示される選択枠96で一つの項目として認識させたい範囲を指定し、その範囲を決定する為に押下される。
【0077】
例えば、表示領域50において、項目21の「テスト」と、項目22の「アイデア」のうち「アイ」までを一つの項目として認識させたい場合、選択枠96を移動、又は拡縮させることによって、その範囲を調整する。選択枠96の4隅には、矩形マーク65が表示される。矩形マーク65の位置を移動させることによって、選択枠96の範囲を拡縮できる。そして、所望の位置に選択枠96を移動させた状態で、項目決定ボタン95を押下することにより、選択枠96で選択された複数のストロークが1つの項目になるように距離閾値β_Lが自動で変更される。このような第3変形例のように、選択枠96で一つの項目の範囲を指定し、それに合わせて距離閾値β_Lを自動で変更にするようにしてもよい。
【0078】
図23を参照し、第4変形例を説明する。第4変形例の編集ウィンドウ5の上部において、複数のソフトウェアボタン55の右方に、項目の粒度を調節する為の粒度小ボタン97と粒度大ボタン98が表示される。粒度小ボタン97を押下する度に、粒度が段階的に小さくなる。粒度大ボタン98を押下する度に、粒度が段階的に大きくなる。このような第4変形例のように、粒度小ボタン97又は粒度大ボタン98を押下することにより、距離閾値β_Lを段階的に変更するようにしてもよい。
【0079】
図24図25を参照し、第5変形例を説明する。第5変形例では、図24に示すように、項目21から22に向かって結合線101を引くことによって、項目21と22の距離が距離閾値β_Lに設定される。その結果、距離閾値β_Lは大きくなり、項目21と22は互いに結合して一つの項目となる。
【0080】
また、図25に示すように、項目24において、「テスト」と「アイデア」の間を断ち切るように分割線102を引くことによって、項目24は、「テスト」と「アイデア」の2つの項目に分割される。そして、分割された2つの項目間の距離が距離閾値β_Lに設定される。このような第5変形例のように、項目調整モードを設け、項目同士を結んで結合し、又は項目上に分割線を引いて距離閾値β_Lが自動で変更するようにしてもよい。
【0081】
また、本発明は上記変形例の他に、更に種々の変更が可能である。例えば、図16に示すように、表示領域50に表示される項目21の閾値領域41の幅は、距離閾値β_Lの1/2であるが、距離閾値β_Lとしてもよい。その場合、仮に距離閾値β_Lを大きくした場合、閾値領域41が他の項目22,23の項目領域72,73に到達した時点で、項目21は、他の項目21,22と同一項目として認識される。
【0082】
上記実施形態では、距離閾値β_Lと時間閾値β_tを用いて2つのストロークが同一項目か別項目かを判定するが、距離閾値β_Lのみで判定してもよい。その場合、図9の詳細処理を省略すればよい。
【0083】
図15に示すように、CPU10は、距離閾値スライドバー61及び時間閾値スライドバー62のスライダ611,621を横方向に変位することで、距離閾値β_L及び時間閾値β_tを連続的に変更するが、スライダ611,621を変位させる方向は横方向に限らず、縦方向又は斜め方向でもよい。また、ダイヤルのように、スライダ611,621を回転させて変位させてもよい。
【0084】
また、CPU10の代わりに、マイクロコンピュータ、ASIC(Application Specific Integrated Circuits)、FPGA(Field Programmable Gate Array)などが、プロセッサとして用いられてもよい。
【符号の説明】
【0085】
1 情報処理装置
10 CPU
16 タッチスクリーンディスプレイ
21~23 項目
41~43 閾値領域
71~73 項目領域
61 距離閾値スライドバー
62 時間閾値スライドバー
611,621 スライダ
β_L 距離閾値
β_t 時間閾値
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25