(57)【要約】【課題】  入力の意図をより柔軟にかつより適切に解釈することができる情報処理装置及びその制御方法、プログラムを提供する。【解決手段】  指示入力解釈文法保持部１０７に、入力の意図を解釈するための規則を記述した入力解釈情報を保持する。座標入力領域に対する入力をペン入力検出部１０１で検出する。入力解釈情報を参照して検出した入力の意図を文法解釈部１０６で解釈する。解釈結果に対する確信度を確信度計算部１０８で計算する。そして、確信度付きＮ−ｂｅｓｔ出力部１０９は、解釈結果を、確信度とともに、出力する。【選択図】  図１
2005165532.tif 000002
【特許請求の範囲】
【請求項１】
座標入力領域への入力に基づいて、その入力の意図を解釈する情報処理装置であって、
前記入力の意図を解釈するための規則を記述した入力解釈情報を保持する保持手段と、  前記座標入力領域に対する入力を検出する検出手段と、
前記入力解釈情報を参照して前記検出手段で検出した入力の意図を解釈する解釈手段と、
前記解釈手段による解釈結果に対する確信度を計算する計算手段と、
前記解釈手段の解釈結果を、前記計算手段で計算した確信度とともに、出力する出力手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記入力解釈情報は、前記座標入力領域上の任意の領域を示す記述と、その領域に対する入力が前記検出手段によって検出された場合に、その入力の意図の解釈結果として出力すべきデータの記述とを少なくとも含む情報からなる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記計算手段は、前記入力解釈情報中で規定される一つまたは複数の領域のそれぞれに対し、前記検出手段で検出した入力が、その領域を指示することを意図した度合いを示す値を、前記確信度として計算する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記入力解釈情報中で規定される領域の面積を計算する面積計算手段を更に備え、
前記計算手段は、前記入力解釈情報中で規定される処理対象の領域を指示することを意図した度合いを示す値を、前記確信度として計算する場合、前記処理対象の領域の面積と、前記面積計算手段で計算される面積の内の最小値に基づいて、前記確信度を計算する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記検出手段で検出された入力の入力点が、前記入力解釈情報中で規定される領域の内側にあるか外側にあるかを判定する判定手段を更に備え、
前記計算手段は、前記検出手段で検出した入力が、前記入力解釈情報中で規定される処理対象の領域を指示することを意図した度合いを示す値を、前記確信度として計算する場合、前記判定手段の判定結果に基づいて、前記確信度を計算する
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項６】
前記入力解釈情報中で規定される領域の代表点を計算する代表点計算手段を更に備え、
前記計算手段は、前記検出手段で検出した入力が、前記入力解釈情報中で規定される処理対象の領域を指示することを意図した度合いを示す値を、前記確信度として計算する場合、前記検出手段で検出された入力の入力点と前記処理対象の領域の代表点間の距離に基づいて、前記確信度を計算する
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項７】
前記入力解釈情報中で規定される領域の代表点を計算する代表点計算手段を更に備え、
前記計算手段は、前記検出手段で検出した入力が、前記入力解釈情報中で規定される処理対象の領域を指示することを意図した度合いを示す値を、前記確信度として計算する場合、前記検出手段で検出された入力の入力点を前記処理対象の領域の形状に基づいて変換する変換手段を備え、
前記変換手段で変換された入力点と前記処理対象の領域の代表点間の距離に基づいて、前記確信度を計算する
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項８】
前記検出手段で検出された入力の入力点が、前記入力解釈情報中で規定される領域の内側にあるか外側にあるかを判定する判定手段と、
前記入力解釈情報中で規定される領域の代表点を計算する代表点計算手段とを更に備え、
前記計算手段は、前記判定手段の判定の結果、前記入力点が処理対象の領域の外側にあり、かつ該処理対象の領域の代表点と該入力点間の距離が所定値以上である場合、前記入力解釈情報中で規定される処理対象の領域を指示することを意図した度合いを示す値である確信度の計算を禁止する
ことを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
座標入力領域への入力に基づいて、その入力の意図を解釈する情報処理装置の制御方法であって、
前記座標入力領域に対する入力を検出する検出工程と、
入力の意図を解釈するための規則を記述した入力解釈情報を保持する記憶媒体を参照して、前記検出工程で検出した入力の意図を解釈する解釈工程と、
前記解釈工程による解釈結果に対する確信度を計算する計算工程と、
前記解釈工程の解釈結果を、前記計算工程で計算した確信度とともに、出力する出力工程と
を備えることを特徴とする情報処理装置の制御方法。
【請求項１０】
座標入力領域への入力に基づいて、その入力の意図を解釈する情報処理装置の制御を実現するプログラムであって、
前記座標入力領域に対する入力を検出する検出工程のプログラムコードと、
入力の意図を解釈するための規則を記述した入力解釈情報を保持する記憶媒体を参照して、前記検出工程で検出した入力の意図を解釈する解釈工程のプログラムコードと、
前記解釈工程による解釈結果に対する確信度を計算する計算工程のプログラムコードと、
前記解釈工程の解釈結果を、前記計算工程で計算した確信度とともに、出力する出力工程のプログラムコードと
を備えることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、座標入力領域への入力に基づいて、その入力の意図を解釈する情報処理装置及びその制御方法、プログラムに関するものである。
【背景技術】
【０００２】
これまで、タッチパネルやタッチペンによる入力の意図を解釈し、その入力を支援する技術が、いくつか提案されている。
【０００３】
例えば、特許文献１では、タッチパネルにおいて、本来、入力すべき対象領域からの入力のずれに対して、過去の入力履歴より対象領域からのずれ量を基に入力点座標の変換を行い、入力のずれを補正する技術を提案している。
【０００４】
また、特許文献２では、タッチパネルで複数のボタン（対象領域）が押された時に、ボタンの重要度が高いものや、押された指の接触面積が大きい方を優先して選択する技術を提案している。
【特許文献１】特開平１１−１６１４２７号公報
【特許文献２】特開平９−１４６７０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の発明による方式では、ユーザの指示意図の解釈ルールを文法として記述することで、指示対象の対象領域が重なっていたり、ユーザが意図する対象領域と指示位置が多少ずれたりしても、ユーザの指示意図を、確信度付きでより自然な解釈ができるような柔軟性の高いアプリケーションの開発をすることができないという課題があった。
【０００６】
このような環境においては、特許文献１では、対象領域に対して入力のずれを補正することは実現される。また、特許文献２では、複数の対象領域が選択された時に、対象領域の重要度や入力時の指の接触面積を用いてユーザの意図した領域を決定することは実現される。
【０００７】
しかしながら、これらの特許文献では、ユーザの指示意図の解釈ルールを文法として記述することができず、ユーザの指示意図を確信度付きで解釈することができなかった。
【０００８】
本発明は上記の課題を解決するためになされたものであり、入力の意図をより柔軟にかつより適切に解釈することができる情報処理装置及びその制御方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。即ち、  座標入力領域への入力に基づいて、その入力の意図を解釈する情報処理装置であって、
前記入力の意図を解釈するための規則を記述した入力解釈情報を保持する保持手段と、  前記座標入力領域に対する入力を検出する検出手段と、
前記入力解釈情報を参照して前記検出手段で検出した入力の意図を解釈する解釈手段と、
前記解釈手段による解釈結果に対する確信度を計算する計算手段と、
前記解釈手段の解釈結果を、前記計算手段で計算した確信度とともに、出力する出力手段と
を備える。
【００１０】
また、好ましくは、前記入力解釈情報は、前記座標入力領域上の任意の領域を示す記述と、その領域に対する入力が前記検出手段によって検出された場合に、その入力の意図の解釈結果として出力すべきデータの記述とを少なくとも含む情報からなる。
【００１１】
また、好ましくは、前記計算手段は、前記入力解釈情報中で規定される一つまたは複数の領域のそれぞれに対し、前記検出手段で検出した入力が、その領域を指示することを意図した度合いを示す値を、前記確信度として計算する。
【００１２】
また、好ましくは、前記入力解釈情報中で規定される領域の面積を計算する面積計算手段を更に備え、
前記計算手段は、前記入力解釈情報中で規定される処理対象の領域を指示することを意図した度合いを示す値を、前記確信度として計算する場合、前記処理対象の領域の面積と、前記面積計算手段で計算される面積の内の最小値に基づいて、前記確信度を計算する。  また、好ましくは、前記検出手段で検出された入力の入力点が、前記入力解釈情報中で規定される領域の内側にあるか外側にあるかを判定する判定手段を更に備え、
前記計算手段は、前記検出手段で検出した入力が、前記入力解釈情報中で規定される処理対象の領域を指示することを意図した度合いを示す値を、前記確信度として計算する場合、前記判定手段の判定結果に基づいて、前記確信度を計算する。
【００１３】
また、好ましくは、前記入力解釈情報中で規定される領域の代表点を計算する代表点計算手段を更に備え、
前記計算手段は、前記検出手段で検出した入力が、前記入力解釈情報中で規定される処理対象の領域を指示することを意図した度合いを示す値を、前記確信度として計算する場合、前記検出手段で検出された入力の入力点と前記処理対象の領域の代表点間の距離に基づいて、前記確信度を計算する。
【００１４】
また、好ましくは、前記入力解釈情報中で規定される領域の代表点を計算する代表点計算手段を更に備え、
前記計算手段は、前記検出手段で検出した入力が、前記入力解釈情報中で規定される処理対象の領域を指示することを意図した度合いを示す値を、前記確信度として計算する場合、前記検出手段で検出された入力の入力点を前記処理対象の領域の形状に基づいて変換する変換手段を備え、
前記変換手段で変換された入力点と前記処理対象の領域の代表点間の距離に基づいて、前記確信度を計算する。
【００１５】
また、好ましくは、前記検出手段で検出された入力の入力点が、前記入力解釈情報中で規定される領域の内側にあるか外側にあるかを判定する判定手段と、
前記入力解釈情報中で規定される領域の代表点を計算する代表点計算手段とを更に備え、
前記計算手段は、前記判定手段の判定の結果、前記入力点が処理対象の領域の外側にあり、かつ該処理対象の領域の代表点と該入力点間の距離が所定値以上である場合、前記入力解釈情報中で規定される処理対象の領域を指示することを意図した度合いを示す値である確信度の計算を禁止する。
【００１６】
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。即ち、
座標入力領域への入力に基づいて、その入力の意図を解釈する情報処理装置の制御方法であって、
前記座標入力領域に対する入力を検出する検出工程と、
入力の意図を解釈するための規則を記述した入力解釈情報を保持する記憶媒体を参照して、前記検出工程で検出した入力の意図を解釈する解釈工程と、
前記解釈工程による解釈結果に対する確信度を計算する計算工程と、
前記解釈工程の解釈結果を、前記計算工程で計算した確信度とともに、出力する出力工程と
を備える。
【００１７】
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
座標入力領域への入力に基づいて、その入力の意図を解釈する情報処理装置の制御を実現するプログラムであって、
前記座標入力領域に対する入力を検出する検出工程のプログラムコードと、
入力の意図を解釈するための規則を記述した入力解釈情報を保持する記憶媒体を参照して、前記検出工程で検出した入力の意図を解釈する解釈工程のプログラムコードと、
前記解釈工程による解釈結果に対する確信度を計算する計算工程のプログラムコードと、
前記解釈工程の解釈結果を、前記計算工程で計算した確信度とともに、出力する出力工程のプログラムコードと
を備える。
【発明の効果】
【００１８】
本発明によれば、入力の意図をより柔軟にかつより適切に解釈することができる情報処理装置及びその制御方法、プログラムを提供できる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００２０】
［実施形態１］
実施形態１では、例えば、タブレットＰＣ（パーソナルコンピュータ）（あるいはタッチパネル付きＰＣ）において、ユーザがタッチペンでタブレット（座標入力領域）上の任意の場所をタップ（指示あるいは入力）した場合に、その入力点座標が、画面上に表示したＭ個の対象領域の内、どの領域を意図して指示することを意図した度合を示す確信度を、各領域に対して算出する情報処理装置について説明する。
【００２１】
図１は本発明の実施形態１に係る情報処理装置の機能構成を示すブロック図である。
【００２２】
図１において、情報処理装置は、タブレットＰＣ１００として機能する。１０１はペン入力検出部であり、ユーザからタッチペンで入力がなされた場合に、その入力点座標を距離計算部１０２と領域内外判定部１０４へ送信する。
【００２３】
１０２は距離計算部であり、ペン入力検出部１０１で検出した入力点座標と、代表点計算部１０３で計算した代表点の座標間の距離を計算し、その計算結果（距離）を確信度計算部１０８へ送信する。
【００２４】
１０３は代表点計算部であり、文法解釈部１０６から得られる領域について、代表点の計算を行い、その計算結果（代表点）を距離計算部１０２へ送信する。
【００２５】
１０４は領域内外判定部であり、ペン入力検出部１０１で検出した入力点座標が、文法解釈部１０６から得られる領域の内側にあるか外側にあるかを判定し、その判定結果を確信度計算部１０８へ送信する。
【００２６】
１０５は面積計算部であり、文法解釈部１０６で得られる領域の面積を計算し、その計算結果（面積）を確信度計算部１０８へ送信する。１０６は文法解釈部であり、指示入力解釈文法保持部１０７に保持されている指示入力解釈文法を解釈する。
【００２７】
１０７は指示入力解釈文法保持部であり、ユーザがどのような入力意図で入力しようとしたかを解釈するための規則を記述する指示入力解釈文法を保持する。
【００２８】
１０８は確信度計算部であり、距離計算部１０３、領域内外判定部１０４、面積計算部１０５から受信するデータに基づいて、ユーザによる指示入力が、ある領域を指示することを意図した度合いを意味する確信度の計算を行う。
【００２９】
１０９は確信度付きＮ−ｂｅｓｔ出力部であり、確信度計算部１０８で計算した各領域の確信度のＮ−ｂｅｓｔを出力する。尚、実施形態１においては、画面上に表示する方法をとっているが、他の入力統合部に引き渡すなど他の方法でも構わない。
【００３０】
次に、タブレットＰＣ１００のハードウェア構成について、図２を用いて説明する。
【００３１】
図２は本発明の実施形態１に係るタブレットＰＣのハードウエア構成を示す図である。
【００３２】
図２において、２０１はＣＰＵであり、後述する手順を実現するプログラムを含む各種制御プログラムに従って動作し、タブレットＰＣ１００全体の制御を実現する。
【００３３】
２０２はＲＡＭであり、各種制御プログラムの動作に必要な作業領域や、データの一時退避領域として機能する。２０３はＲＯＭであり、後述する手順を実現するプログラムを含む各種制御プログラムを保持する。
【００３４】
２０４はタッチパネルであり、後述するユーザからのデータ入力を、例えば、専用ペン（タッチペン）やユーザの指により受け付ける。２０５はＬＣＤであり、後述するコンテンツ等によって生成される入力対象領域を有する操作画面等の各種画像を表示する。尚、ＬＣＤ２０５の代りに、ＣＲＴ、等の他のディスプレイを使用しても良い。
【００３５】
２０６はＨＤＤ（ハードディスクドライブ）あり、後述するコンテンツのデータ等の各種データを保持する。２０７はバスであり、上記各構成要素を相互に接続する。
【００３６】
次に、実施形態１のタブレットＰＣ１００で実現する処理について説明する。
【００３７】
まず、タブレットＰＣ１００は、例えば、図３に示すような操作画面をＬＣＤ２０５に表示しているとする。この操作画面は、マークアップ言語で記述したコンテンツをブラウザで実行することで実現する。
【００３８】
図３の操作画面は、地域あるいは地点を指定するための操作画面として機能している。特に、図３では、「渋谷駅」を指定するための矩形の領域３０１、「恵比寿駅」を指定するための矩形の領域３０２、「東京都」を指定するための矩形の領域３０３が構成されている。ここで、領域３０１と領域３０２は、領域３０３の上に重なっている構成となっている。
【００３９】
また、図４は、図３の操作画面に対するユーザからの指示入力の意図を解釈するための規則である、入力解釈文法（以下、文法と略称する）の記述例である。
このように、入力解釈文法は、各領域の記述と、その領域が指示された場合の意味解釈の記述を割り付けるような記述になっている。
【００４０】
ここで、図３の操作画面に対する指示入力の意図を解釈する規則を記述した文法の一例について、図４を用いて説明する。
【００４１】
図４は本発明の実施形態１に係る領域に対しての意味解釈の記述を割り付ける文法の一例を示す図である。
【００４２】
尚、この文法は、例えば、指示入力解釈文法保持部１０７で保持される。
【００４３】
図４の４０１は、左端の座標が（ｘ、ｙ）＝（１１０、１０）で、幅（ｗｉｄｔｈ）が８０、高さ（ｈｅｉｇｈｔ）が２０の矩形の領域（図３の３０１）を示す記述である。そして、この領域に対しては、「ｔａｇ＝”＄ｓｔａｔｉｏｎ＝’ｓｈｉｂｕｙａ’”」という意味解釈の記述を割り付ける。
【００４４】
この記述は、ユーザによる入力がこの領域の指示を意図した場合、ユーザは、「渋谷駅を指示した」と解釈することを意味する。
【００４５】
同様に、図４の４０２は、左端の座標が（ｘ、ｙ）＝（１１０、６０）で、幅（ｗｉｄｔｈ）が８０、高さ（ｈｅｉｇｈｔ）が２０の矩形の領域（図３の３０２）を示す記述である。そして、この領域に対しては、「ｔａｇ＝”＄ａｒｅａ＝’ｅｂｉｓｕ’”」という意味解釈の記述を割り付ける。
【００４６】
この記述は、ユーザによる入力がこの領域の指示を意図した場合、ユーザは、「恵比寿駅を指示した」と解釈することを意味する。
【００４７】
同様に、図４の４０３は、左端の座標が（ｘ、ｙ）＝（０、０）で、幅（ｗｉｄｔｈ）が２００、高さ（ｈｅｉｇｈｔ）が１００の矩形の領域（図３の３０３）を示す記述である。そして、この領域に対しては、「ｔａｇ＝”＄ｓｔａｔｉｏｎ＝’ｔｏｋｙｏ’”」という意味解釈の記述を割り付ける。
【００４８】
この記述は、ユーザによる入力がこの領域の指示を意図した場合、ユーザは、「東京都いうエリアを指示した」と解釈することを意味する。
【００４９】
尚、図４の＜ｏｎｅ−ｏｆ＞というタグは、ユーザによる入力が、これらの領域の内のどれか一つを意図したものと解釈することを意味する。
【００５０】
このように、図４に示す指示入力解釈文法では、タッチパネル２０４（座標入力領域）上の任意の入力対象領域を示す記述と、その入力対象領域に対する入力が検出された場合に、その入力の意図の解釈結果として出力すべきデータの記述とを少なくとも含む情報から構成されている。
【００５１】
次に、実施形態１のシステムが実行する処理について、図５を用いて説明する。
【００５２】
図５は本発明の実施形態１に係るシステムが実行する処理を示すフローチャートである。
【００５３】
尚、図５の処理は、ＣＰＵ２０１の制御によって実現される。
【００５４】
まず、タブレットＰＣ１００上において、図４に示す文法で記述されたコンテンツをブラウザで実行すると、タブレットＰＣ１００は、文法解釈部１０６によって文法の解釈を行う（ステップＳ５０１）。その解釈結果に基づいて、文法の記述されたＭ個の領域（Ｍは１以上）を検出し（ステップＳ５０２）、各領域の情報（例えば、座標、幅、高さ等）をＲＡＭ２０２に保存する。
【００５５】
次に、面積計算部１０５によって、Ｍ個の領域について、文法で定義されている領域の情報から各領域の面積の計算を行い、それらの中で最小値を計算し、その最小値をＳｍｉｎとして、ＲＡＭ２０２に保存する（ステップＳ５０３）。
【００５６】
その後、タブレットＰＣ１００は、ユーザからの入力を待機する（ステップＳ５０４）。ここで、ユーザは、タブレットＰＣ１００のタッチパネル２０４に対して、タッチペンを用いてある点に対して入力を行うと、ペン入力検出部１０１によって、タブレットＰＣ１００はタッチパネル２０４への入力を検出する（ステップＳ５０４でＹＥＳ）。続いて、その検出結果に基づいて、ユーザに入力された入力点座標を検出する（ステップＳ５０５）。
【００５７】
次に、Ｍ個の領域について、検出した入力点座標を基に、ユーザによる入力がユーザの意図した領域に対するものであるかの確信度の計算を行う。
【００５８】
まず、領域の数をカウントするカウンタ変数ｉに１（ｉ＝１）を代入して、カウンタ変数をリセットする（ステップＳ５０６）。次に、確信度計算部１０８によって、Ｍ番目の領域の確信度を計算する（ステップＳ５０７）。ここで、入力された入力点座標（ｘ０、ｙ０）が、ｉ番目の領域（以下、領域ｉ）を意図した確信度Ｃｉの計算は、以下の式（１）に基づいて計算する。
【００５９】
Ｃｉ＝Ｌ  ＊  Ｓｍｉｎ／Ｓｉ                                  （１）
ここで、Ｓｉは領域ｉの面積であり、ＳｍｉｎはステップＳ５０３で算出したＭ個の領域の面積の内の最小値である。実施形態１では、このように面積が最も小さい領域が選択された時に、Ｓｍｉｎ／Ｓｉが１となるように正規化を行っている。そのため、式（１）で算出する確信度Ｃｉは、処理対象の領域の面積が大きいほど小さい確信度を、面積が小さいほど大きな確信度を算出する構成となっている。
【００６０】
また、Ｌは領域内外判定部１０４による判定結果値であり、入力点座標（ｘ０、ｙ０）が領域ｉの内側の場合を「１」とし、外側の場合は「１／ｄ」（ｄは入力点座標（ｘ０、ｙ０）と領域ｉの代表点間の距離）とする。ここで、Ｌの特性をグラフにすると、例えば、図６のように、領域の代表点からの距離が領域の境界までは確信度が１で、境界を過ぎると領域の代表点からの距離に反比例するグラフとなる。
【００６１】
また、代表点とは、領域を代表する点であり、例えば、領域の重心点である。そして、この代表点は、代表点計算部１０３によって計算する。
【００６２】
Ｍ番目の領域の計算が終了したら、カウンタ変数ｉと総領域数Ｍとが一致するかどうかを比較する（ステップＳ５０８）。ｉ＝Ｍである場合（ステップＳ５０８でＹＥＳ）、ステップＳ５１０へ移る。一方、ｉ＝Ｍでない場合は（ステップＳ５０８でＮＯ）、ｉを１インクリメントして（ステップＳ５０９）、ステップ５０７に戻る。
【００６３】
以上のようにして、Ｍ番目の領域の確信度を計算するまで、ステップＳ５０７〜ステップＳ５０９の処理を繰り返す。
【００６４】
Ｍ番目の領域の確信度までの計算が完了したら、確信度付きＮ−ｂｅｓｔ出力部１０９によって、算出した各領域の確信度を確信度の高い順に並べ替え、上位からＮ−ｂｅｓｔ（Ｎは１以上）を選択する（ステップＳ５１０）。そして、その処理結果であるＮ−ｂｅｓｔ解釈結果をコンテンツ上に出力する（ステップＳ５１１）。
【００６５】
ここで、各領域の面積Ｓは、文法中の幅（ｗｉｄｔｈ）と高さ（ｈｅｉｇｈｔ）の値に基づいて計算する。つまり、Ｓ＝ｗｉｄｔｈ×ｈｅｉｇｈｔを計算する。
【００６６】
領域内外判定部１０４による判定は、文法に記述されている領域の左上端の座標を（ｘｐ、ｙｐ）とすると、右下端の座標は（ｘｑ、ｙｑ）＝（ｘｐ＋ｗｉｄｔｈ、ｙｐ＋ｈｅｉｇｈｔ）と表せる。そこで、この場合は、入力された入力点座標（ｘ０、ｙ０）がｘｐ≦ｘ０≦ｘｑ、ｙｐ≦ｙ０≦ｙｑの範囲にある場合は、領域内であると判定する。
【００６７】
また、代表点は、領域の重心の座標（ｘ、ｙ）＝（ｘｐ＋ｗｉｄｔｈ／２、ｙｐ＋ｈｅｉｇｈｔ／２）で計算する。
【００６８】
次に、図３及び図４を用いて、図５の処理の具体例を説明する。
【００６９】
まず、ステップＳ５０１で、文法解釈部１０６によって図４の文法を解釈すると、ステップＳ５０２で、３個の領域３０１〜３０３（図３）を検出する。次に、ステップＳ５０３で、面積計算部１０５によって、これらの面積の最小値を計算する。この場合、領域３０１が１６００、領域３０２が１６００、領域３０３が２００００となるので、これらの領域３０１〜３０３の面積の内の最小値Ｓｍｉｎは１６００となる。
【００７０】
次に、ステップＳ５０４で、ユーザからの入力を待機する。ここでは、図３のＰ点が入力されたとする。この入力に対し、ペン入力検出部１０１が、ステップＳ５０５で、入力点座標として、（ｘ０、ｙ０）＝（１２０、２５）を検出したとする。
【００７１】
次に、各領域に対する確信度の計算を行う。
【００７２】
まず、ステップＳ５０６で、ｉに１を代入する。ステップＳ５０７で、確信度計算部１０８によって、１番目の領域である領域３０１についての確信度Ｃ１の計算を行う。
【００７３】
式１より、入力点座標（ｘ０、ｙ０）は、領域３０１の内部にあるので、Ｌは１、Ｓｍｉｎ／Ｓ１は１となり、領域３０１に対する確信度Ｃ１は１となる。
【００７４】
次に、ステップＳ５０８に移る。ここでは、ｉ＝１で、Ｍ＝３であり、ｉ＝Ｍでないので、ステップＳ５０９でｉを１インクリメントして、ｉ＝２となる。そして、ステップＳ５０７に戻り、確信度計算部１０８によって、次は２番目の領域である領域３０２についての確信度Ｃ２の計算を行う。
【００７５】
式１より、入力点座標（ｘ０、ｙ０）は、領域３０２の外部にあるので、Ｌは１／ｄとなる。また、代表点（重心座標）は（１５０、７０）であるので、入力点座標（ｘ０、ｙ０）＝（１２０、２５）との距離は、約６７。３となり、１／ｄは約０。０１５となる。更に、Ｓｍｉｎ／Ｓ２は１となり、領域３０２に対する確信度Ｃ２は約０.０１５となる。
【００７６】
次に、ステップＳ５０８に移る。ここでは、ｉ＝２、Ｍ＝３であり、ｉ＝Ｍでないので、ステップＳ５０９でｉを１インクリメントして、ｉ＝３となる。そして、ステップＳ５０７に戻り、確信度計算部１０８によって、次は３番目の領域である領域３０３についての確信度Ｃ３の計算を行う
式１より、入力点座標（ｘ０、ｙ０）は、領域３０３の内部にあるので、Ｌは１となる。また、Ｓｍｉｎ／Ｓ３は０.０８となり、領域３０３に対する確信度Ｃ３は０.０８となる。
【００７７】
次に、ステップＳ５０８に移る。ここでは、ｉ＝３、Ｍ＝３であり、ｉ＝Ｍであるので、ステップＳ５１０に移る。
【００７８】
ステップＳ５１０で、領域３０１〜３０３それぞれの確信度を大きい順に並べ替えると、Ｃ１、Ｃ３、Ｃ２の順になる。そして、上位からＮ−ｂｅｓｔの選択を行う。尚、実施形態１では、上位３位までを選択するとする。
【００７９】
ステップＳ５１１で、ステップＳ５１０での処理結果であるＮ−ｂｅｓｔ解釈結果を出力する。
【００８０】
ここで、Ｎ−ｂｅｓｔ解釈結果の出力例について、図７を用いて説明する。
【００８１】
図７は本発明の実施形態１のＮ−ｂｅｓｔ解釈結果の出力例を示す図である。
【００８２】
図７では、Ｎ−ｂｅｓｔ解釈結果として、対象領域を選択するためのメニュー３０４を表示している状態を示している。このメニュー３０４では、ユーザが入力を意図している対象領域の候補の順を、確信度の順（Ｃ１、Ｃ３、Ｃ２）で表示している。つまり、メニュー３０４では、ユーザが入力を意図している対象領域の候補（領域名）が、「渋谷駅」、「東京都」、「恵比寿駅」の順で表示されている。
【００８３】
そして、ユーザは、このメニュー３０４に対して、所望の領域名を選択することで、最終的に入力を意図している対象領域を選択することができる。
【００８４】
尚、図７の出力例は一例であり、メニューの代りに、ラジオボタン、チェックボックス、選択ボタン等の他のコントロールを用いることも可能である。また、別途、音声入力機能を構成して、その音声入力によって入力される音声情報に基づいて、Ｎ−ｂｅｓｔ解釈結果のいずれかを自動的に確定するようにしても良い。
【００８５】
例えば、上記に示すような画面上をペンでタップしながら、「ここの天気を教えて」などのように音声入力するような場合を考える。この入力音声は音声認識処理され、システムはユーザが天気を知りたいことを理解する。
【００８６】
しかし、「ここ」が何を指すかは音声だけでは不明であるので、これをペン入力から解決しようとする。ペン入力の解釈結果は、上述のとおり、確信度付きのＮ−ｂｅｓｔとして得られる。
【００８７】
上述の説明では、ペン入力の解釈は、「渋谷駅」、「東京都」、「恵比寿駅」の順の３−ｂｅｓｔであったが、「ここの天気」の「ここ」は「駅」よりも「エリア」である方が適切な解釈であるので、2番目の解釈を採用し、システムは、ユーザが「東京の天気」を知りたがっていると解釈する。同様に、「ここへの一番早い行き方は？」という音声入力に対しては、ペン入力解釈の「渋谷」を選定し、ユーザが「渋谷駅への行き方」を知りたがっていると解釈する。
【００８８】
以上説明したように、実施形態１によれば、ユーザの入力意図の解釈ルールを文法として記述することで、入力対象の対象領域が重なっていたり、ユーザの意図する対象領域と指示位置が多少ずれても、ユーザの入力意図を、確信度付きでより自然な解釈ができる柔軟性の高いアプリケーション（例えば、ユーザインタフェース）開発を実現することができる。
【００８９】
［実施形態２］
実施形態１においては、座標入力領域上の対象領域が矩形領域で構成されている例を示したが、この対象領域は多角形で構成されていても良い。そこで、実施形態２では、対象領域が多角形で構成される場合の処理について説明する。
【００９０】
まず、実施形態２において、タブレットＰＣ１００が表示する操作画面例として、図８を用いて説明する。
【００９１】
図８は本発明の実施形態２に係る操作画面の一例を示す図である。
【００９２】
図８の操作画面は、地域あるいは地点を指定するための操作画面として機能している。特に、図８では、「渋谷駅」を指定するための多角形の領域８０１、「東京都」を指定するための矩形の領域８０２が構成されている。
【００９３】
また、この操作画面を実現する各領域に対応するコンテンツの中には、図９に示すような、領域に対しての意味解釈の記述を割り付ける文法が構成されている。
【００９４】
ここで、図８の操作画面を実現するコンテンツ中の領域に対しての意味解釈の記述を割り付ける文法の一例について、図９を用いて説明する。
【００９５】
図９は本発明の実施形態２に係る領域に対しての意味解釈の記述を割り付ける文法の一例を示す図である。
【００９６】
尚、実施形態１の図４の文法と共通な部分の説明については、ここでは省略する。
【００９７】
図９の９０１は、（ｘ１、ｙ１）、（ｘ２、ｙ２）、・・・、（ｘ６、ｙ６）の座標をそれぞれ頂点座標として定義される多角形の領域（図８の８０１）を示す記述である。そして、この領域に対しては、「ｔａｇ＝”＄ｓｔａｔｉｏｎ＝’ｓｈｉｂｕｙａ’”」という意味解釈の記述を割り付ける。
【００９８】
この記述は、ユーザによる入力がこの領域の指示を意図した場合、ユーザは、「渋谷駅を指示した」と解釈することを意味する。
【００９９】
図９の９０２は、図４の４０３に対応するものであり、その説明は省略する。
【０１００】
ここで、実施形態２で、実施形態１の図５の処理を行う場合には、多角形の領域に対する処理も実行することになる。
【０１０１】
そこで、図５において、この多角形の領域を処理する場合の処理について説明する。
【０１０２】
まず、面積計算部１０５によって多角形の領域の面積Ｓを計算する場合は、多角形の頂点座標を時計回りに（ｘ１、ｙ１）、（ｘ２、ｙ２）、・・・、（ｘｎ、ｙｎ）とすると、面積Ｓは、以下の式（２）に基づいて計算する。
【０１０３】
2005165532.tif 000003
【０１０４】
また、多角形の領域に対する領域内外判定部１０４による判定は、領域の外側の点と入力点とを結び、その線分が領域の多角形の辺と何回交差するかを計数し、その数が奇数である場合には領域内、偶数である場合には領域外と判定する。但し、交差点が多角形の頂点である場合は、領域の外側の点を新たに取り直す。
具体的には、座標入力領域である入力可能領域の範囲が（ｘ、ｙ）＝（０、０）から（２４０、３２０）であるとすると、（ｘ、ｙ）＝（−１、−１）のような入力可能領域外の点から、入力点を結ぶ線分と、多角形の各辺の線分とが交差するかどうかを計算し、交差数の総和が奇数である場合には領域内と、偶数である場合には領域外と判定する。
【０１０５】
また、多角形の領域の代表点については、例えば、各頂点座標の平均の座標値を用いて計算する。
【０１０６】
以上説明したように、実施形態２によれば、対象領域が多角形で構成されている場合にも、実施形態１と同様の効果を得ることができる。
【０１０７】
［実施形態３］
実施形態１においては、座標入力領域上の対象領域が矩形領域で構成されている例を示したが、この対象領域は円や楕円で構成されていても良い。そこで、実施形態３では、対象領域が円や楕円で構成される場合の処理について説明する。
【０１０８】
まず、実施形態３において、タブレットＰＣ１００が表示する操作画面例として、図１０を用いて説明する。
【０１０９】
図１０は本発明の実施形態３に係る操作画面の一例を示す図である。
【０１１０】
図１０の操作画面は、地域あるいは地点を指定するための操作画面として機能している。特に、図１０では、「渋谷駅」を指定するための円の領域１００１、「恵比寿駅」を指定するための楕円の領域１００２が構成されている。
【０１１１】
また、この操作画面を実現する各領域に対応するコンテンツの中には、図１１に示すような、領域に対しての意味解釈の記述を割り付ける文法が構成されている。
【０１１２】
ここで、図１０の操作画面を実現するコンテンツ中の領域に対しての意味解釈の記述を割り付ける文法の一例について、図１１を用いて説明する。
【０１１３】
図１１は本発明の実施形態３に係る領域に対しての意味解釈の記述を割り付ける文法の一例を示す図である。
【０１１４】
尚、実施形態１の図４の文法と共通な部分の説明については、ここでは省略する。
【０１１５】
図１１の１１０１は、中心座標（ｃｘ、ｃｙ）＝（１００、１００）で、半径ｒが１０の円の領域（図１０の１００１）を示す記述である。そして、この領域に対しては、「ｔａｇ＝”＄ｓｔａｔｉｏｎ＝’ｓｈｉｂｕｙａ’”」という意味解釈の記述を割り付ける。
【０１１６】
この記述は、ユーザによる入力がこの領域の指示を意図した場合、ユーザは、「渋谷駅を指示した」と解釈することを意味する。
【０１１７】
図１１の１００２は、中心座標（ｃｘ、ｃｙ）＝（１００、１３０）で、ｘ軸方向の半径ｒｘが２０で、ｙ軸方向の半径ｒｙが１０である楕円の領域を示す記述である。そして、この領域に対し「ｔａｇ＝”＄ｓｔａｔｉｏｎ＝’ｅｂｉｓｕ’”」という意味解釈の記述を割り付ける。
【０１１８】
この記述は、ユーザによる入力がこの領域の指示を意図した場合、ユーザは、「恵比寿駅を指示した」と解釈することを意味する。
【０１１９】
ここで、実施形態３で、実施形態１の図５の処理を行う場合には、円や楕円の領域に対する処理も実行することになる。
【０１２０】
そこで、図５において、この円や楕円の領域を処理する場合の処理について説明する。
【０１２１】
まず、面積計算部１０５によって円の領域の面積Ｓｃは、文法中のｒの値に基づいて計算する。つまり、Ｓc＝πｒ２を計算する。
【０１２２】
また、円の領域に対する領域内外判定部１０４による判定は、入力点（ｘｉ、ｙｉ）を、円の方程式Ｃ（ｘ、ｙ）＝（ｘ−ｘ０）２＋（ｙ−ｙ０）２＝ｒ２（（ｘ０、ｙ０）は円の中心）に代入して、Ｃ（ｘｉ、ｙｉ）≦ｒ２である場合には領域内、Ｃ（ｘｉ、ｙｉ）＞ｒ２である場合には領域外と判定する。
【０１２３】
また、円の領域の代表点については、その円の領域の中心とする。
【０１２４】
次に、面積計算部１０５によって、楕円の領域の面積Ｓｅは、ｘ軸方向の半径及びｙ軸方向の半径に基づいて計算する。つまり、Ｓｅ＝π×ｒｘ×ｒｙを計算する。
【０１２５】
また、楕円の領域に対する領域内外判定部１０４による判定は、入力点（ｘｉ、ｙｉ）を、楕円の方程式ｅ（ｘ、ｙ）＝（ｘ−ｘ０）２／ｒｘ２＋（ｙ−ｙ０）２／ｒｙ２＝１（（ｘ０、ｙ０）は楕円の中心）に代入して、ｅ（ｘｉ、ｙｉ）≦１である場合には両雨域内、ｅ（ｘｉ、ｙｉ）＞１である場合には領域外と判定する。
【０１２６】
また、楕円の領域の代表点については、その楕円の領域の中心とする。
【０１２７】
ここで、楕円の領域に対する処理において、入力点座標と対象領域の代表点との距離を計算する場合には、楕円の領域で規定されるｘ軸方向とｙ軸方向の膨らみ（形状）を考慮した距離の計算を行う。
【０１２８】
例えば、図１２（ａ）の楕円に対して、入力点であるＡ点とＢ点を比較すると、代表点である楕円の中心からの距離は、Ａ点の方が近いにも係らず、Ｂ点の方が領域からは近いと解釈される問題が発生する可能性がある。そのため、この問題を解消するために、各入力点の座標を、以下のように変換する。
【０１２９】
ここで、入力点座標を（ｘ、ｙ）＝（ｘｉ、ｙｉ）、楕円のｘ軸方向の半径をｒｘ、ｙ軸方向の半径をｒｙとすると、座標を図１２（ｂ）に示すように、（ｘ、ｙ）＝（ｘｉ／ｒｘ、ｙｉ／ｒｙ）のように変換する。そして、この変換座標と対象領域の代表点である楕円の中心との距離を、式１に適用して確信度の計算を行う。
【０１３０】
以上説明したように、実施形態３によれば、実施形態１で説明した効果に加えて、対象領域の形状によっては、入力意図が誤解釈される可能性がある場合には、確信度の計算の際には、領域の代表点と領域境界間の距離の比率に応じて、入力点座標を変換した上で、代表点と入力点座標間の距離を算出して確信度を算出することで、対象領域の形状に左右されない、より適確な確信度を計算することができる。
【０１３１】
［実施形態４］
実施形態３では、対象領域が楕円である場合に、その膨らみを考慮した距離の計算方法として、楕円の形状を規定する距離に基づいて入力点座標の変換を行う構成としているが、入力点と対象領域の輪郭（形状）との距離を用いて確信度の計算を行うようにしても良い。
【０１３２】
この入力点と対象領域の輪郭との距離を計算する方法の例としては、楕円の中心と入力点とを結ぶ線分と対象領域の輪郭である楕円との交点座標を計算し、その交点座標と楕円の中心との距離を、楕円の中心と入力点座標とを結ぶ距離から引いて計算を行う。
【０１３３】
［実施形態５］
実施形態１〜４においては、入力は点で指定する構成としているが、円のような所定範囲を有する領域で指定しても良い。その場合は、入力範囲の内側に含まれる対象領域の面積や、入力範囲の代表点と対象領域の代表点との距離を用いて確信度の計算を行う。
【０１３４】
例えば、図１３（ａ）のような入力領域で指定された場合は、図１３（ｂ）のように、入力領域を多角形の近似領域に変換し、対象領域と入力領域の共有部分の中に、図１３（ｃ）のような格子点の交点が何個含まれるかを計算して確信度を算出する。
【０１３５】
以上説明したように、実施形態５によれば、所定範囲を有する入力が行われた場合でも、実施形態１と同様の効果を得ることができる。
【０１３６】
［実施形態６］
実施形態１〜５においては、入力する座標空間は平面状の２次元を例に挙げて説明しているが、３次元の座標空間に適用することも可能である。
【０１３７】
[実施形態７]
実施形態１〜６においては、コンテンツ中のＭ個の領域の全てについて確信度を計算する構成としているが、用途や目的に応じて、計算対象の領域を制限して、その計算量を減らすような構成としててもよい。例えば、ユーザの指示位置が領域外で、かつその領域の代表点から所定閾値以上離れている場合には、その時点でその領域に対する確信度の計算対象から除外し、確信度の計算を省略（禁止）するようにしても良い。
【０１３８】
［実施形態８］
上記実施形態においては、プログラムをＲＯＭに保持する場合について説明したが、これに限定されるものではなく、ＲＯＭ以外の任意の記憶媒体を用いて実現してもよい。また、同様の動作をする回路で実現してもよい。
【０１３９】
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１４０】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０１４１】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１４２】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０１４３】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ）などがある。
【０１４４】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１４５】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１４６】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０１４７】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１４８】
【図１】本発明の実施形態１に係る情報処理装置の機能構成を示すブロック図である。
【図２】本発明の実施形態１に係るタブレットＰＣのハードウエア構成を示す図である。
【図３】本発明の実施形態１に係る操作画面の一例を示す図である。
【図４】本発明の実施形態１に係る領域に対しての意味解釈の記述を割り付ける文法の一例を示す図である。
【図５】本発明の実施形態１に係るシステムが実行する処理を示すフローチャートである。
【図６】本発明の実施形態１に係る入力点と対象領域の代表点間の距離と確信度の関係を示すグラフである。
【図７】本発明の実施形態１のＮ−ｂｅｓｔ解釈結果の出力例を示す図である。
【図８】本発明の実施形態２に係る操作画面の一例を示す図である。
【図９】本発明の実施形態２に係る領域に対しての意味解釈の記述を割り付ける文法の一例を示す図である。
【図１０】本発明の実施形態３に係る操作画面の一例を示す図である。
【図１１】本発明の実施形態３に係る領域に対しての意味解釈の記述を割り付ける文法の一例を示す図である。
【図１２】本発明の実施形態３に係る入力対象領域が楕円の場合における、領域外の点と代表点との距離との補正方法の一例を示す図である。
【図１３】本発明の実施形態５に係る所定範囲で入力を行う場合の処理を説明するための図である。
【符号の説明】
【０１４９】
１００  タブレットＰＣ
１０１  ペン入力検出部
１０２  距離計算部
１０３  代表点計算部
１０４  領域内外判定部
１０５  面積計算部
１０６  文法解釈部
１０７  指示入力解釈文法保持部
１０８  確信度計算部
１０９  確信度付きＮ−ｂｅｓｔ出力部
【図１】
2005165532.tif 000004
【図２】
2005165532.tif 000005
【図３】
2005165532.tif 000006
【図４】
2005165532.tif 000007
【図５】
2005165532.tif 000008
【図６】
2005165532.tif 000009
【図７】
2005165532.tif 000010
【図８】
2005165532.tif 000011
【図９】
2005165532.tif 000012
【図１０】
2005165532.tif 000013
【図１１】
2005165532.tif 000014
【図１２】
2005165532.tif 000015
【図１３】
2005165532.tif 000016