(57)【要約】      （修正有）【課題】タッチパネルを備えたリモコンに対する保持の仕方、指の大きさ、利き手等の身体的特徴、押し方の癖などの生理的特徴を推定し、利用者のタッチパネルへの接触位置を記録・学習することで、接触位置と正規のソフトウェアキーボード上のボタン位置との誤差を自動補正する入力装置及び方法を提供する。【解決手段】タッチパネル上に表示されている１つ又は複数のボタンの押下で入力を行う入力装置にて、ボタン毎に、タッチパネル上の接触検知領域を定義する接触検知領域定義手段と、過去の入力情報を記録する履歴記録手段と、利用者の接触位置が、各ボタンの接触検知領域のいずれかに含まれるかを判定する第１の判定手段と、第１の判定で含まれない場合、履歴記録情報にて、接触位置を接触検知領域のいずれかに含まれるかを判定する第２の判定手段と、第２の判定で含まれる場合、判定された接触検知領域に、接触位置を追加する位置追加手段とを備える。【選択図】図６
2008242958.tif 000002
【特許請求の範囲】
【請求項１】
タッチパネル上に表示されている１つ又は複数のボタンを押下することにより入力を行う入力装置において、
前記ボタンごとに、前記タッチパネル上の接触検知領域を定義する接触検知領域定義手段と、
過去の入力情報を記録する履歴記録手段と、
利用者による接触位置が、前記各ボタンの接触検知領域のいずれかに含まれるかどうか判定する第１の判定手段と、
前記第１の判定により含まれない場合、前記履歴記録情報に基づいて、前記接触位置を前記接触検知領域のいずれかに含められるかどうか判定する第２の判定手段と、
前記第２の判定により含められる場合、前記含められると判定された接触検知領域に、前記接触位置を追加する位置追加手段と、
を備えている入力装置。
【請求項２】
前記第２の判定により含められる場合、前記利用者による接触を、前記接触検知領域に対応するボタンへの押下とする押下検知手段をさらに備えることを特徴とする請求項１に記載の入力装置。
【請求項３】
前記タッチパネル上に表示されるボタン表示領域を決定するボタン表示領域決定手段をさらに備え、
前記ボタン表示領域は、矩形、円形、又は、あらかじめ定めた任意の形状であることを特徴とする請求項１又は２に記載の入力装置。
【請求項４】
前記ボタン表示領域は、前記ボタンの接触検知領域と等しいことを特徴とする請求項３に記載の入力装置。
【請求項５】
前記履歴記録情報は、前記利用者による接触位置、前記ボタンごとの接触検知領域、および各ボタンに対する入力回数であることを特徴とする請求項１から４のいずれか１項に記載の入力装置。
【請求項６】
前記第２の判定手段は、
前記接触位置に対して、前記各ボタンに対応する接触検知領域に含めるかどうかを表す判定確率を算出する判定確率算出手段と、
全ボタンに対する前記判定確率の値を比較する判定確率比較手段と、
を備え、前記判定確率の最大値を与えるボタンに対応する接触検知領域に、前記接触位置を含められると判定することを特徴とする請求項１から５のいずれか１項に記載の入力装置。
【請求項７】
利用者のタッチパネル上への前記接触位置は、タッチパネル全体の検知可能領域を任意の大きさの格子状に分割した中の一つであることを特徴とする請求項１から６のいずれか１項に記載の入力装置。
【請求項８】
前記ボタンに対する前記接触検知領域ごとに、前記格子の大きさを変更することを特徴とする請求項１から７のいずれか１項に記載の入力装置。
【請求項９】
タッチパネル上に表示されている１つ又は複数のボタンを押下することにより入力を行う入力方法において、
前記ボタンごとに、前記タッチパネル上の接触検知領域を定義する接触検知領域定義ステップと、
過去の入力情報を記録する履歴記録ステップと、
利用者による接触位置が、前記各ボタンの接触検知領域のいずれかに含まれるかどうか判定する第１の判定ステップと、
前記第１の判定により含まれない場合、前記履歴記録情報に基づいて、前記接触位置を前記接触検知領域のいずれかに含められるかどうか判定する第２の判定ステップと、
前記第２の判定により含められる場合、前記含められると判定された接触検知領域に、前記接触位置を追加する位置追加ステップと、
を含む入力方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タッチパネルによる入力装置およびその方法に関し、特にタッチパネル上に配置したソフトウェアキーボードを利用した文字入力装置および方法に関する。
【背景技術】
【０００２】
従来のアナログ放送では、視聴できるチャンネル数は少なかった。しかし、アナログ放送からデジタル放送への移行とともに、地上デジタル放送、デジタル衛星放送、ケーブルテレビ、ビデオオンデマンド（video on demand、ＶＯＤ）、インターネット放送など、膨大な数のチャンネルおよび映像コンテンツを視聴できる環境が整ってきた。
【０００３】
ここで、受像機（テレビ）を遠隔操作するためのリモコンにおいて、従来のアナログ放送では、１から１２の数字ボタンと、音量調整やチャンネル選択、電源など数個のボタンが内蔵されている程度で十分であった。視聴者は、数字ボタンで直接指定する、もしくは、チャンネル選択ボタンで１チャンネルずつ変更することにより、見たいチャンネルを選択する。
【０００４】
一方、数多くの映像コンテンツを視聴できるデジタル放送では、一般的に、リモコンに上下左右ボタンを内蔵し、さらに、テレビ画面上に番組表（Electric Program Guide、ＥＰＧ）を表示する。視聴者は、上下左右ボタンを押下してＥＰＧ上のフォーカスを移動させ、所望の映像コンテンツを選択する、あるいは、映像コンテンツに付与された一意な番号を、リモコン上の数字ボタンで直接指定することにより、所望のチャンネルもしくは映像コンテンツを選択できる。しかし、テレビ画面上に一度に表示可能な情報量は少ないため、ＥＰＧ上のフォーカス移動により映像コンテンツを探す場合、複数のページを遷移する必要がある。そのため、上下左右ボタンの押下回数が多くなる、あるいは、所望の映像コンテンツがどこにあるのか見つけることができないという問題がある。また、映像コンテンツに付与された一意な番号を指定する場合、その番号と映像コンテンツのタイトル名が記載された一覧表を別途閲覧する必要があり、膨大な数の映像コンテンツの中から、所望の映像コンテンツを見つけるのは難しい。したがって、数多くの映像コンテンツの中から所望の映像コンテンツを検索するためには、より簡便で直感的な操作方法が必要である。さらに、映像コンテンツの検索方法として、ＥＰＧ上での操作や映像コンテンツに付与された番号指定だけではなく、映像コンテンツのタイトルやその他関連情報を直接指定できる、効率的な文字入力機能あるいは検索機能が必要である。
【０００５】
特許文献１および特許文献２は、ＥＰＧ上での番組選択に対する利便性向上を目的として、上下左右ボタン操作ではなく、リモコン自体に与える動作によって映像コンテンツを選択する。リモコン装置内に、視聴者が動かしたときの動きを検出することが可能な加速度センサや慣性センサなどを内蔵しており、その出力信号に応じて、ＥＰＧ上のフォーカスを移動させる。上下左右ボタンを連続して押下することなく、リモコン装置自体を上下左右に動かしたり、振ったりなどの直感的な操作が可能となる。これらの技術では、フォーカスの移動や音量調整などの操作のみを対象としており、文字入力までは考慮していない。本技術を文字入力に適用した場合、ジェスチャにより文字を入力する方法と、ソフトウェアキーボードを画面上に表示し、フォーカスを移動させることにより文字を入力する方法が考えられるが、前者は、それぞれの文字に対応するジェスチャをあらかじめ定義し、覚えておく必要があり、後者は、十字キーの連続押下と同様に、数多くの操作を必要とするため、有効ではない。
【０００６】
特許文献３および特許文献４は、非接触で遠隔からのポインティングが可能なリモコンを利用して、テレビ画面上のメニュー選択を行う。リモコン装置から照射されるレーザもしくは視聴者の指をカメラで検知し、それらの空間的移動を認識することで、画面上のポインタを移動させる。これにより、直感的なポインティングが可能となる。しかし、手振れによって、細かなメニュー選択ができないため、障害者や高齢者には操作が難しいと考えられる。
【０００７】
特許文献５、特許文献６および特許文献７は、リモコン装置内に内蔵したタッチパネル対応ディスプレイを利用して文字入力を行う。遠隔操作する機器ごとにリモコン装置上のディスプレイ表示内容を逐次切り替え、さらに、ディスプレイ上に表示したソフトウェアボタンの機能も切り替えることにより、限られた領域内に、さまざまな機器の操作を実現できる。ここで、視聴者は、ディスプレイ上に表示されたボタン上に、指もしくはペンなどで押下することで、そのボタンに割り当てられた機能を実行する。このとき、これらの技術では、各ボタンの検知領域をあらかじめ定義しておき、視聴者の指もしくはペンがタッチパネルに接触したとき、その接触点を一つ検知した結果、そのボタンへの押下と判断し、そのボタンに割り当てられた機能を実行する。しかし、その接触点が、ボタンの検知領域から少しでもずれていた場合、隣り合うボタンの領域に入ってしまったり、どのボタンにも割り当てられていない領域に判定してしまったりの問題が生じる。その結果、視聴者は、間違って実行された機能を削除したり、入力し直したりすることになる。これは、ディスプレイ上に表示したボタンにおいて、接触を検知する領域は、すべて固定であるためである。しかし、視聴者の指の大きさ、リモコン装置の保持の仕方、操作の仕方により、一つのボタンに対する押下操作、および、接触点の位置は、人によってさまざまである。したがって、リモコン装置の保持の仕方や指の大きさ、利き手などの身体的特徴や、押し方の癖などの生理的特徴を考慮した、柔軟なボタン検知方法が必要である。
【０００８】
特許文献８および特許文献９は、タッチパネル対応ディスプレイを利用した文字入力に関するものであり、ソフトウェアキーボードに対する指あるいはペンの接触点が、ボタンの検知領域から多少ずれていても、該ボタンに対する入力と判定する。特許文献８では、視聴者がある文字列を入力するときのタッチパネルへの接触位置を記録する。これらの接触位置を順番に結んだ図形（入力図形）と、該各文字のボタン位置を順番に結んだ図形（辞書図形）との類似度を求め、最も類似した図形となる辞書データ内の文字列を、視聴者が入力した文字列として出力する。また、特許文献９では、視聴者が一つの文字を入力する際、そのタッチパネルへの接触位置に対して、その周辺に配置された数個のボタンを候補文字と、その信頼度を求める。連続して文字を入力する際も同様に、各文字に対して、複数のボタン候補を求める。以上より、視聴者が入力した文字数分のすべての文字列の組み合わせを作成し、その文字列の中から、単語となり得るものを、信頼度が高いものから順番に出力する。しかし、これらの技術では、各ボタンの表示領域は常に固定である。特に、特許文献８では、入力図形と比較する辞書図形は常に固定であり、視聴者が毎回入力した情報を記録、学習することは考慮していないため、毎回同じ入力をしているにも関わらず、視聴者の所望の文字列を一度で入力できない場合がある。
【０００９】
【特許文献１】特開２００４−１７３００３号公報
【特許文献２】特開２００５−０１２４３３号公報
【特許文献３】特開２００３−２０８２６０号公報
【特許文献４】特開２００４−２５８８３７号公報
【特許文献５】特開２００５−１３６５１８号公報
【特許文献６】特開２００５−３２３２３６号公報
【特許文献７】特開２００５−３５４１４３号公報
【特許文献８】特開２０００−１５５６４２号公報
【特許文献９】特開平１０−２７５０４６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上記のように、特許文献１および特許文献２では、テレビ画面上のＥＰＧに対する操作を直感的に行えるように、加速度センサや慣性センサを内蔵したリモコンを、空間的に動作することにより、ＥＰＧ上のフォーカスを移動する。しかし、上下左右ボタンの代用機能でしかなく、文字入力は考慮されていない。
【００１１】
また、特許文献３および特許文献４では、リモコンから照射されるレーザもしくは視聴者の指をカメラで検知することで、リモコンもしくは指の空間的動作に対して、ＥＰＧ上のフォーカスやポインタを移動し、メニュー選択などの直感的な操作が行える。しかし、レーザや指の動きを検知するためのカメラ装置が別途必要であり、手振れなどの影響を受けやすい。
【００１２】
また、特許文献５、特許文献６および特許文献７では、リモコンに内蔵したタッチパネル対応ディスプレイ上に表示したボタンを、遠隔操作対象機器の機能に応じて逐次切り替えることにより、視聴者はさまざまな機器を操作できる。このボタンに対して、文字入力の機能を割り当てることも可能である。しかし、ディスプレイ上に表示するボタンに割り当てた機能を実行するために、指もしくはペンで接触したときにタッチパネルが検知する領域は固定であるため、リモコンの保持の仕方や指の大きさ、利き手などの身体的特徴、押し方の癖などの生理的特徴が原因で、その領域から少しでもずれてしまった場合、接触を検知することができない。
【００１３】
特許文献８および特許文献９では、各ボタンの表示領域は常に固定である。特に、特許文献８では、入力図形と比較する辞書図形は常に固定であり、視聴者が毎回入力した情報を記録、学習することは考慮していないため、毎回同じ入力をしているにも関わらず、視聴者の所望の文字列を一度で入力できない場合がある。
【００１４】
したがって、本発明は、利用者のリモコン装置の保持の仕方、指の大きさ、利き手などの身体的特徴、押し方の癖などの生理的特徴などを推定して、ソフトウェアキーボード上のボタン配置を個人化する、さらには、ソフトウェアキーボード上のボタンの大きさや形状も利用者の入力内容に応じて動的に変更して表示することにより、より利用者の操作特性に適した入力操作が行える入力装置および方法を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記目的を実現するため本発明による入力装置は、タッチパネル上に表示されている１つ又は複数のボタンを押下することにより入力を行う入力装置において、前記ボタンごとに、前記タッチパネル上の接触検知領域を定義する接触検知領域定義手段と、過去の入力情報を記録する履歴記録手段と、利用者による接触位置が、前記各ボタンの接触検知領域のいずれかに含まれるかどうか判定する第１の判定手段と、前記第１の判定により含まれない場合、前記履歴記録情報に基づいて、前記接触位置を前記接触検知領域のいずれかに含められるかどうか判定する第２の判定手段と、前記第２の判定により含められる場合、前記含められると判定された接触検知領域に、前記接触位置を追加する位置追加手段と、を備えている。
【００１６】
また、前記第２の判定により含められる場合、前記利用者による接触を、前記接触検知領域に対応するボタンへの押下とする押下検知手段をさらに備えることをも好ましい。
【００１７】
また、前記タッチパネル上に表示されるボタン表示領域を決定するボタン表示領域決定手段をさらに備え、前記ボタン表示領域は、矩形、円形、又は、あらかじめ定めた任意の形状であることも好ましい。
【００１８】
また、前記ボタン表示領域は、前記ボタンの接触検知領域と等しいことも好ましい。
【００１９】
また、前記履歴記録情報は、前記利用者による接触位置、前記ボタンごとの接触検知領域、および各ボタンに対する入力回数であるも好ましい。
【００２０】
また、前記第２の判定手段は、前記接触位置に対して、前記各ボタンに対応する接触検知領域に含めるかどうかを表す判定確率を算出する判定確率算出手段と、全ボタンに対する前記判定確率の値を比較する判定確率比較手段と、を備え、前記判定確率の最大値を与えるボタンに対応する接触検知領域に、前記接触位置を含められると判定することも好ましい。
【００２１】
また、利用者のタッチパネル上への前記接触位置は、タッチパネル全体の検知可能領域を任意の大きさの格子状に分割した中の一つであることも好ましい。
【００２２】
また、前記ボタンに対する前記接触検知領域ごとに、前記格子の大きさを変更することも好ましい。
【００２３】
上記目的を実現するため本発明による方法は、タッチパネル上に表示されている１つ又は複数のボタンを押下することにより入力を行う入力方法において、前記ボタンごとに、前記タッチパネル上の接触検知領域を定義する接触検知領域定義ステップと、過去の入力情報を記録する履歴記録ステップと、利用者による接触位置が、前記各ボタンの接触検知領域のいずれかに含まれるかどうか判定する第１の判定ステップと、前記第１の判定により含まれない場合、前記履歴記録情報に基づいて、前記接触位置を前記接触検知領域のいずれかに含められるかどうか判定する第２の判定ステップと、前記第２の判定により含められる場合、前記含められると判定された接触検知領域に、前記接触位置を追加する位置追加ステップと、を含む。
【発明の効果】
【００２４】
本発明によれば、ソフトウェアキーボードを利用した文字入力を行う際、利用者のタッチパネルへの接触位置を記録・学習することで、該接触位置と正規のボタン位置との誤差を自動補正できる。
【００２５】
さらに、利用者の入力内容を学習することにより、本装置の保持の仕方や指の大きさ、利き手などの身体的特徴、押し方の癖などの生理的特徴などを推定することができ、それに基づいて、ソフトウェアキーボード上のボタン配置を個人化できる。
【００２６】
さらに、利用者の入力内容を学習し、利用者の年齢や性別などの属性情報、利用者の趣味・嗜好を解析することにより、ソフトウェアキーボード上のボタン配置をカテゴリ化（未成年者用、老人用など）できる。
【００２７】
さらに、ソフトウェアキーボードのボタンごとに定義できる接触検知領域を、液晶ディスプレイに表示するボタンの表示領域に設定することにより、各ボタンの大きさや形状なども個人化できる。
【発明を実施するための最良の形態】
【００２８】
以下に、図面を参照して、本発明の一実施形態を詳細に説明する。
【００２９】
図１は、本発明の一実施形態として想定するオンデマンド映像視聴環境の概念図を示す。利用者はセットトップボックス（Set Top Box、ＳＴＢ）のリモコン（ＲＣ）を操作し、ＴＶ上で視聴する。ＳＴＢは、インターネットに接続され、コンテンツ配信サーバから、利用者により指定されたコンテンツをオンデマンドで受信し、ＴＶ画面上に表示する。
【００３０】
図２は、本実施形態で想定するリモコンの概観図である。本リモコンは、前面にタッチパネル型液晶ディスプレイを搭載し、ソフトウェアキーボードを表示する。また、リモコン本体の電源管理するための電源ボタン、および、タッチパネル操作時の補助として利用する補助ボタンを備える。
【００３１】
図３は、キーボードの表示例を示す。図では、上下左右ボタン、および、決定、クリア、モード切替用ボタンを表示している。利用者が、キーボード上のボタンを押下すると、リモコンは、利用者がタッチパネル上で押下した情報をＳＴＢに伝送する。これにより、文字入力、あるいは、メニュー選択などを行う。
【００３２】
図４は、図３における「モード切替」ボタンを押下した際の文字入力用キーボードの表示例を示す。「モード切替」ボタンを押下することにより、かな文字、英字、数字をそれぞれ入力可能なキーボードに表示が切り替わる。１つのかな文字を入力する場合、図４（ａ）のかな用キーボードに切り替え、子音ボタン、つまり、「あ行」、「か行」、・・・、「わ行」の１０個のうち１個のボタン上を指で押下する。その後、母音ボタン、つまり、「あ」、「い」、・・・、「お」の５個のうち１個のボタン上を指で押下する。例えば、「け」を入力する場合は、「か行」ボタンと「え」ボタンを連続して１回ずつ押下する。このとき、ＴＶ画面上には、上記入力した文字が表示され、その文字で間違いがなければ、「決定」ボタンを押下し、消去する場合は、「クリア」ボタンを押下する。続いて文字を入力する場合は、上記と同様に、子音ボタンと母音ボタンの組み合わせで１つのかな文字を入力する。また、英字もしくは数字の入力に関しても同様に、図４（ｂ）もしくは図４（ｃ）のソフトウェアキーボード上のボタンを押下する。なお、本図に記載のソフトウェアキーボードは一例であり、本発明はその他のソフトウェアキーボードにも適用可能である。
【００３３】
このように、タッチパネル型液晶ディスプレイを利用した文字入力装置では、ディスプレイの設置面積を確保する必要があるが、各ボタンの数やサイズ、その機能をソフトウェアで制御・変更できるため、日本語、英語、数字、記号などの多様な文字を入力する日本人にとって、携帯電話などで採用されているテンキーを利用した文字入力よりも利便性が高いと考えられる。
【００３４】
以下、本実施形態の詳細な処理について説明する。
【００３５】
図５は、本実施形態のリモコンにおけるブロック図である。ＬＣＤコントローラ部は、管理部からのソフトウェアキーボード表示切替通知ごとに、記憶部に保存したソフトウェアキーボード表示データを読み込み、ＬＣＤパネルにソフトウェアキーボードのボタンを表示する。タッチパネル検出部は、利用者が指で押下したときの接触位置を検出する手段を備えている。補助ボタン検出部は、補助ボタンの押下を検出する。管理部は、利用者が操作したときに、タッチパネル、補助ボタンが検出したデータを定期的に収集する。このとき、必要に応じて、アナログ信号をデジタル信号に変換する。さらに、赤外線データエンコード部に対してデータを転送し、赤外線データ送信部を介してＳＴＢに伝送するためのデータに変換する。
【００３６】
図６は、本実施形態のＳＴＢにおけるブロック図である。赤外線データ受信部は、リモコンから伝送された赤外線データを受信し、赤外線データデコード部に転送する。赤外線データデコード部で該データをデコードした後、入力操作解析部で、該デコードデータから、リモコン上で行われた利用者の操作内容を解析する。利用者の操作が、タッチパネル上への押下操作以外である場合は、操作履歴記録部に通知し、タッチパネル上への押下操作である場合は、入力位置補正部に通知する。入力位置補正部は、利用者のタッチパネルへの押下位置に対して、ボタンへの押下と反応される接触検知領域を記録している反応領域ＤＢに基づいて、ソフトウェアキーボードのボタンへの押下かどうかを判定し、押下位置を入力位置ＤＢに記録する。入力位置学習部は、入力位置補正部における判定でボタンへの押下と判定されなかった場合、該入力を接触検知領域に含まれるかどうか判定し、含まれると判定した場合、接触検知領域を適宜変更し、変更した接触検知領域を反応領域ＤＢに記録する。操作履歴記録部は、利用者の操作内容をすべて記録する。表示画面管理部は、前記処理に応じて、ＴＶ画面上の表示内容を変更する。
【００３７】
図７は、利用者がかな文字を入力する場合を例とした、本実施形態のフローチャートを示す。図において、括弧表示はシステム側の処理動作、それ以外が利用者の操作を示す。かな文字入力モードのとき、利用者は、子音ボタンを押下すると、システムは、その入力を検知し、入力位置補正機能を介して、検知した文字（子音）を表示する。その文字が正しければ、利用者は引き続き、母音ボタンを押下するが、正しくなければ、入力した文字を削除し、子音ボタンを入力し直す。母音ボタンを押下すると、システムは、その入力を検知し、入力位置補正機能、を介して、先ほど検知した子音と、今回検知した母音から、かな文字に変換した上で表示する。その文字が正しければ、利用者は、決定ボタンを押下し、入力した文字を確定する。引き続き、文字を入力する場合は、同様に、子音ボタンを押下するが、入力を終了する場合は、再度決定ボタンを押下し、かな文字入力モードを終了する。
【００３８】
[入力位置の検出]
図８に、タッチパネルの検出方法について示す。本図では、説明を簡単化するため、タッチパネルをＩ行Ｊ列の格子に分割することで、接触位置を検出するものとする。ただし、その一つの検出格子は、利用者が押下したときの接触面と比較して小さい。つまり、実際の指の接触面には、複数の検出格子が含まれる。タッチパネル検出部は、その複数の検出格子の中から、ただ一つの格子を選択する。この選択方法は、指が接触した際に、最初に接触を検知した格子、あるいは、接触している格子の中で加わった圧力が最大であった格子など、タッチパネルの種類（検出方法）に依存する。その後、リモコン上の管理部は、タッチパネル検出部が検知した検出格子を、赤外線データエンコード部を経由して、ＳＴＢに伝送する。
【００３９】
ＳＴＢ上の入力操作解析部は、リモコンから受信した赤外線データのデコード結果から、リモコン上での操作内容について解析する。タッチパネル上の操作である場合は、その検出格子の位置を入力位置補正部に通知する。補助ボタンの押下など、タッチパネル上の操作でない場合は、その操作内容を操作履歴記録部に通知する。
【００４０】
入力位置補正部では、タッチパネル上のＩ行Ｊ列の検出格子と、ソフトウェアキーボードの各ボタンとの位置関係を把握しており、リモコンから通知された検出位置の補正を行う。詳細は後述する。
【００４１】
なお、本実施形態の図８では、各検出格子の大きさは同じになっているが、この大きさは同じである必要はない。タッチパネル上のボタンごとに大きさを変えることも可能である。例えば、ボタンの表示領域が大きい部分は検出格子を大きくし、逆の部分は接触格子を小さくすることで、小さいボタンに対しても入力を正しく検知することができるようになる。
【００４２】
[入力位置の記録]
入力位置補正部では、リモコンから通知された検出位置の補正後、入力位置ＤＢに各情報を記録する。図９に、入力位置データ記録時の処理シーケンス図を示す。入力位置ＤＢは、データ収集開始からの経過時間、タッチパネル検出部にて検知した接触座標、前記接触座標に対応する検出格子の座標、補正により押下と判定されたボタン（入力判定ボタン）の識別子からなる。図１０に、入力位置ログデータの例を示す。図１１は、図１０に対して、検出格子の位置を濃いハッチングで明記したものである。なお、薄いハッチングはボタンＢｋ１の位置を示し、格子内の数字列は、経過時間を示す。
【００４３】
[検出位置の補正と学習]
以下、入力位置補正部における、リモコンから通知された検出位置の補正方法について示す。図１２に、検出位置補正時の処理シーケンス図を示す。まず、以下の説明で利用する各記号の定義を示す。
Ｍ［ｉ，ｊ］：ｉ行ｊ列目の格子
Ｍ：全格子領域
ＭＢｋ：ボタンＢｋの領域に入っている格子の集合（ボタンＢｋの初期値）
＊ＭＢｋ：ボタンＢｋの領域に入っていない格子の集合（ボタンＢｋの領域でない領域の初期値）
ＮＢｋｔ：時刻ｔにおけるボタンＢｋの領域に入っている格子の集合（ボタンＢｋへの押下だと認識する格子の集合）
＊ＮＢｋｔ：時刻ｔにおけるボタンＢｋの領域に入っていない格子の集合（ボタンＢｋへの押下だと認識しない格子の集合）
Ｐ（ｔ）：全格子における押下回数の総計ΣＰｉ，ｊ（ｔ）
Ｐｉ，ｊ（ｔ）：格子Ｍ［ｉ，ｊ］への押下回数
Ｑｋｉ，ｊ（ｔ）：格子Ｍ［ｉ，ｊ］への押下の結果、ボタンＢｋへの押下だと判定された回数
Ｒｋｉ，ｊ（ｔ）：Ｑｋｉ，ｊ（ｔ）のうち、押し間違えなどの入力間違えだと判定された回数
Ｆｋｉ，ｊ（ｔ）：格子Ｍ［ｉ，ｊ］に対して押下されたとき、ボタンＢｋに対する押下だと判定するための優先度
【００４４】
以下にＭＢｋとＮＢｋｔの初期状態の例、およびＦｋｉ，ｊ（ｔ）の初期値の例を以下に示す。また、Ｆｋｉ，ｊ（ｔ）の初期値の計算式、および時刻ｔでのＦｋｉ，ｊ（ｔ）の計算式も示す。
【００４５】
・ＭＢｋの初期状態の例
入力位置補正部では、タッチパネル上のｉ行ｊ列の検出格子と、ソフトウェアキーボードの各ボタンとの位置関係を保持している。図１３はその概要図である。５行１０列の格子領域に２つのボタンＢ１とＢ２が配置されている。図において、ハッチングされていない格子は、どのボタンも割り当てられていない状態を示す。このとき、ボタンＢ１およびボタンＢ２に対する格子の集合は、以下のように表される。
Ｍ＝｛Ｍ［ｉ，ｊ］｜０≦ｉ≦５、０≦ｊ≦９｝
ＭＢ１＝｛Ｍ［ｉ，ｊ］｜０≦ｉ≦２、０≦ｊ≦２｝
＊ＭＢ１＝Ｍ−ＭＢ１
ＭＢ２＝｛Ｍ［ｉ，ｊ］｜０≦ｉ≦２、７≦ｊ≦９｝
＊ＭＢ２＝Ｍ−ＭＢ２
【００４６】
・ＮＢｋｔの初期状態の例
入力位置学習部では、各ボタン領域に入っている格子の集合ＭＢｋとは別に、各ボタンに対して、押下だと認識する格子の集合ＮＢｋｔを管理している。これに基づき、利用者の接触操作時に優先度Ｆｋｉ，ｊ（ｔ）を計算する。この優先度Ｆｋｉ，ｊ（ｔ）は、各格子Ｍ［ｉ，ｊ］とボタンＢｋへの押下だと認識する領域ＮＢｋｔとの位置関係、および、過去の入力履歴情報に基づいて求める。詳細な求め方は後述する。
【００４７】
・Ｆｋｉ，ｊ（ｔ）の初期値の例
図１４は、初期状態（ｔ＝０）のときのＦｋｉ，ｊ（ｔ）値の例を示す。図は、ボタンＢ１とボタンＢ２を配置した５行１０列の領域に属する格子に対するＦｋｉ，ｊ（ｔ）値の中で、０行目の格子部分のみを抽出したものである。横軸に列数、縦軸にＦｋｉ，ｊ（ｔ）値を示している。本図では、Ｆ［０、０］からＦ［０、４］は、ボタンＢ１での値を示し、Ｆ［０、５］からＦ［０、９］は、ボタンＢ２での値を示す。例えば、Ｆ［０、０］＝Ｆ１０，０（０）、Ｆ［０、９］＝Ｆ２０，９（０）である。本実施例では、初期状態（ｔ＝０）のとき、ＭＢｋに属する格子のＦｋｉ，ｊ（ｔ）値を１とし、ＭＢｋの領域からの距離および隣り合うボタンとの距離に応じて、Ｆ値を指数関数的に与えるものとする。
【００４８】
・Ｆｋｉ，ｊ（ｔ）の初期値の計算式
図１５は、ボタンＢ１に対するｔ＝０における初期値の計算に関する概要図を示す。領域ＭＢ１の補集合＊ＭＢ１に対して、８つの部分集合＊ＭＢ１１〜＊ＭＢ１８を考える。このとき、領域＊ＭＢ１１〜＊ＭＢ１８におけるＦｋｉ，ｊ（ｔ）値は、以下の式で与える。以下において、ＩＭＡＸ、ＪＭＡＸは、全格子領域Ｍ内の全格子数（ｉ 、ｊ）の最大値＋１を表す。また、領域ＭＢ１の左上の格子の座標を［ＩＢ１Ｓ、ＪＢ１Ｓ ］、右下の格子の座標を［ＩＢ１Ｄ 、ＪＢ１Ｄ］で表す。
＜領域＊ＭＢ１１＞
０≦ｉ≦ＩＢ１Ｓ−１、ＪＢ１Ｓ≦ｊ≦ＪＢｌＤで表され、
Ｆｋｉ，ｊ（ｔ）値は、ＩＢ１Ｓとｉとの距離に依存し、
【数１】
2008242958.tif 000003
で表される。
＜領域＊ＭＢ１２＞
ＩＢ１Ｓ≦ｉ≦ＩＢ１Ｄ 、０≦ｊ≦ＪＢ１Ｓ−１で表され、
Ｆｋｉ，ｊ（ｔ）値は、ＪＢ１Ｓとｊとの距離に依存し、
【数２】
2008242958.tif 000004
で表される。
＜領域＊ＭＢ１３＞
ＩＢ１Ｄ＋１≦ｉ≦ＩＭＡＸ−１ 、ＪＢ１Ｓ≦ｊ≦ＪＢ１Ｄで表され、
Ｆｋｉ，ｊ（ｔ）値は、ＩＢ１Ｄとｉとの距離に依存し、
【数３】
2008242958.tif 000005
で表される。
＜領域＊ＭＢ１４＞
ＩＢ１Ｓ≦ｉ≦ＩＢ１Ｄ 、ＪＢ１Ｄ＋１≦ｊ≦ＪＭＡＸ−１で表され、
Ｆｋｉ，ｊ（ｔ）値は、ＪＢ１Ｄとｊとの距離に依存し、
【数４】
2008242958.tif 000006
で表される。
＜領域＊ＭＢ１５＞
０≦ｉ≦ＩＢ１Ｓ−１ 、０≦ｊ≦ＪＢ１Ｓ−１で表され、
Ｆｋｉ，ｊ（ｔ）値は、
【数５】
2008242958.tif 000007
で表される。
＜領域＊ＭＢ１６＞
ＩＢ１Ｄ＋１≦ｉ≦ＩＭＡＸ−１ 、０≦ｊ≦ＪＢ１Ｓ−１で表され、
Ｆｋｉ，ｊ（ｔ）値は、
【数６】
2008242958.tif 000008
で表される。
＜領域＊ＭＢ１７＞
ＩＢ１Ｄ＋１≦ｉ≦ＩＭＡＸ−１ 、ＪＢ１Ｄ＋１≦ｊ≦ＪＭＡＸ−１で表され、
Ｆｋｉ，ｊ（ｔ）値は、
【数７】
2008242958.tif 000009
で表される。
＜領域＊ＭＢ１８＞
０≦ｉ≦ＩＢ１Ｓ−１ 、ＪＢ１Ｄ＋１≦ｊ≦ＪＭＡＸ−１で表され、
Ｆｋｉ，ｊ（ｔ）値は、
【数８】
2008242958.tif 000010
で表される。
【００４９】
・時刻ｔでの優先度Ｆｋｉ，ｊ（ｔ）の計算式
入力位置補正部では、時刻ｔにおける検出位置Ｍ［ｉ，ｊ］とボタンＢｋの領域ＮＢｋｔ−１との距離関係、および、過去の入力履歴情報に基づいて、格子Ｍ［ｉ，ｊ］に対して以下に示す値を求める。
＜値１：ｕ１ｋｉ，ｊ＞
この値は、格子Ｍ［ｉ，ｊ］と、それに最も近いＮＢｋｔ−１（初期値はＭＢｋ）に属している格子との距離（行数α、列数β）に依存する。格子Ｍ［ｉ，ｊ］がＮＢｋｔ−１に属している場合は、α、βともに０になる。ＮＢｋｔ−１に属している格子のすべてについて距離を求め、その中で最小値を与える格子とする。つまり、以下の式で表す。
ｕ１ｋｉ，ｊ（ｔ）＝１／（１＋√（α２＋β２））
ｕ１ｋｉ，ｊ（０）＝０
＜値２：ｕ２ｋｉ，ｊ＞
この値は、格子Ｍ［ｉ，ｊ］に対する押下回数Ｐｉ，ｊ（ｔ−１）と、全格子への押下回数の総数Ｐ（ｔ−１）に依存する。つまり、以下の式で表す。
ｕ２ｋｉ，ｊ（ｔ）＝Ｐｉ，ｊ（ｔ−１）／Ｐ（ｔ−１）
ｕ２ｋｉ，ｊ（０）＝０
＜値３：ｕ３ｋｉ，ｊ＞
この値は、格子Ｍ［ｉ，ｊ］に対する押下回数Ｐｉ，ｊ（ｔ−１）と、格子Ｍ［ｉ，ｊ］に押下されたときにボタンＢｋへの押下だと認識された回数Ｑｋｉ，ｊ（ｔ）に依存する。つまり、以下の式で表す。
ｕ３ｋｉ，ｊ（ｔ）＝Ｑｋｉ，ｊ（ｔ−１）／Ｐｉ，ｊ（ｔ−１）
ｕ３ｋｉ，ｊ（０）＝０
＜値４：ｕ４ｋｉ，ｊ＞
この値は、Ｑｋｉ，ｊ（ｔ）に対して、押し間違えなどの入力間違えだと判定された回数Ｒｋｉ，ｊ（ｔ）に依存する。つまり、以下の式で表す。
ｕ４ｋｉ，ｊ（ｔ）＝Ｒｋｉ，ｊ（ｔ−１）／Ｑｋｉ，ｊ（ｔ−１）
ｕ４ｋｉ，ｊ（０）＝０
なお、入力間違えだと判定された回数Ｒｋｉ，ｊ（ｔ）の算出方法は後述する。
【００５０】
上記４つの値に対して、入力位置補正部では、格子Ｍ［ｉ，ｊ］への検知に対するボタンＢｋに対する押下判定確率Ｆｋｉ，ｊ（ｔ）を以下の式で表す。ここで、ａ１、ａ２、ａ３、ａ４は、定数である。
Ｆｋｉ，ｊ（ｔ）＝Ｆｋｉ，ｊ（０）＋ａ１×ｕ１ｋｉ，ｊ（ｔ）＋ａ２×ｕ２ｋｉ，ｊ（ｔ）
＋ａ３×ｕ３ｋｉ，ｊ（ｔ）＋ａ４×ｕ４ｋｉ，ｊ（ｔ）
【００５１】
入力位置補正部では、上記Ｆｋｉ，ｊ（ｔ）をすべてのボタンＢｋに対して求める。このＦｋｉ，ｊ（ｔ）を判定確率として、格子Ｍ［ｉ，ｊ］に対する押下がボタンＢｋに対する押下であるかの判定を以下のように行う。各ボタンごとのＦｋｉ，ｊ（ｔ）を比較し、最大値を与えるボタンＢｋを求め、このボタンＢｋへの押下であると判定する。またさらに、最大値を与えるボタンＢｋのＦｋｉ，ｊ（ｔ）が、閾値Ｈ（定数）以上である場合にこのボタンＢｋへの押下であると判定し、そうでない場合は、どのボタンへの押下ではないと判定することも可能である。
【００５２】
次に、以下、入力位置学習部における、各種パラメータの補正方法について示す。入力位置学習部では、上記補正処理後、格子格子Ｍ［ｉ，ｊ］に対する押下回数など、ＮＢｋｔ、＊ＮＢｋｔ、Ｐ（ｔ）、Ｐｉ，ｊ（ｔ）、Ｑｋｉ，ｊ（ｔ）、Ｒｋｉ，ｊ（ｔ）の値を更新する。ボタンへの入力と判定された場合、および入力がキャンセルされた場合の更新を示す。
【００５３】
・ボタンへの入力と判定された場合
以下、時刻ｔにおいて、検出格子Ｍ［ｉ，ｊ］に対して、ボタンＢｋへの押下であると判定された場合を例として、各種パラメータの更新方法を示す。
＜ＮＢｋｔ：ボタンＢｋへの押下だと認識する格子の集合＞
集合に、格子Ｍ［ｉ，ｊ］を追加する。
＜＊ＮＢｋｔ：ボタンＢｋへの押下だと認識しない格子の集合＞
集合から、格子Ｍ［ｉ，ｊ］を削除する。
＜Ｐ（ｔ）：全格子における押下回数の総計ΣＰｉ，ｊ（ｔ）＞
１増加させる。
＜Ｐｉ，ｊ（ｔ）：格子Ｍ［ｉ，ｊ］への押下回数＞
１増加させる。
＜Ｑｋｉ，ｊ（ｔ）：格子Ｍ［ｉ，ｊ］への押下の結果、ボタンＢｋへの押下だと判定された回数＞
１増加させる。
＜Ｒｋｉ，ｊ（ｔ）：Ｑｋｉ，ｊ（ｔ）のうち、押し間違えなどの入力間違えだと判定された回数＞
変更なし。
【００５４】
・入力がキャンセルされた場合
表示画面管理部は、利用者がソフトウェアキーボードに対して操作した結果を画面に表示する。このとき、利用者は、以下の２つの場合において、その結果を削除し、入力し直す。一つは、利用者が入力したかったボタンとは異なるボタンを押して間違えた場合であり、もう一つは、上記検出位置の補正・学習処理によって、利用者が入力したかったボタンとは異なるボタンの入力だと認識してしまった場合である。そこで、入力位置補正部では、以下の条件のいずれかを満たす場合、上記検出位置の補正・学習処理における結果を修正する。
＜条件１＞
利用者の操作に伴う検出格子が存在し、検出位置の補正・学習処理の結果、ボタンＢｋ１への押下であると判定され、
かつ、その結果に対して利用者がキャンセル操作を行い、
かつ、利用者が改めて入力操作を行い、
かつ、その入力操作に対して、検出格子が存在し、検出位置の補正・学習処理の結果、ボタンＢｋ２（ｋ１とｋ２は異なる）への押下であると判定される。
＜条件２＞
利用者の操作に伴う検出格子が存在し、検出位置の補正・学習処理の結果、どのボタンへの押下ではないと判定され、
かつ、直後に利用者が改めて入力操作を行い、
かつ、その入力操作に対して、検出格子が存在し、検出位置の補正・学習処理の結果、ボタンＢｋ３への押下であると判定される。
【００５５】
上記２つの条件のうち、いずれかを満たした場合、前回のボタン押下判定結果による各種パラメータ更新内容を取り消し、今回の判定結果を反映する。以下、時刻ｔにおける接触格子がＭ［ｉ１，ｊ１］でボタンＢｋ１への押下と判定されたが、時刻ｔ＋１にキャンセル操作を行い、時刻ｔ＋２に再入力した接触格子がＭ［ｉ２，ｊ２］であり、ボタンＢｋ２で確定した場合を例として、各種パラメータの修正方法を示す。
＜ＮＢｋ１ｔ：ボタンＢｋ１への押下だと認識する格子の集合＞
集合から、格子Ｍ［ｉ１，ｊ１］を削除する。
＜＊ＮＢｋ１ｔ：ボタンＢｋ１への押下だと認識しない格子の集合＞
集合に、格子Ｍ［ｉ１，ｊ１］を追加する。
＜ＮＢｋ２ｔ：ボタンＢｋ２への押下だと認識する格子の集合＞
集合に、格子Ｍ［ｉ２，ｊ２］を追加する。
＜＊ＮＢｋ２ｔ：ボタンＢｋ２への押下だと認識しない格子の集合＞
集合から、格子Ｍ［ｉ２，ｊ２］を削除する。
＜Ｐ（ｔ）：全格子における押下回数の総計ΣＰｉ，ｊ（ｔ）＞
１減少させる。
＜Ｐｉ１，ｊ１（ｔ）：格子Ｍ［ｉ１，ｊ１］への押下回数＞
１減少させる。
＜Ｐｉ２，ｊ２（ｔ＋２）：格子Ｍ［ｉ２，ｊ２］への押下回数＞
１増加させる。
＜Ｑｋｉ１，ｊ１（ｔ）：格子Ｍ［ｉ１，ｊ１］への押下の結果、ボタンＢｋ１への押下だと判定された回数＞
１減少させる。
＜Ｑｋｉ２，ｊ２（ｔ＋２）：格子Ｍ［ｉ２，ｊ２］への押下の結果、ボタンＢｋ２への押下だと判定された回数＞
１増加させる。
＜Ｒｋｉ，ｊ（ｔ）：Ｑｋｉ１，ｊ１（ｔ）のうち、押し間違えなどの入力間違えだと判定された回数＞
１増加させる。
【００５６】
上記本実施例では、タッチパネル検出部において、指が接触した格子の中からただ一つの格子を検出することを想定した。これは、一般的なタッチパネルデバイスは、指が接触した際、一度にパネル上の一点しか検知できないためである。しかし、タッチパネルデバイスとして、接触したときにパネル全体に加わった圧力分布を検出できるものを利用してもよい。これにより、利用者の指が接触したときに、一点ではなく、面として検知できるため、検出位置の補正・学習機能による、正規のボタン位置との誤差補正、および、ソフトウェアキーボードのカスタマイズを、より柔軟に実現できると考えられる。
【００５７】
本発明の他の実施形態では、各ボタンの接触検知領域を、タッチパネル上のボタンの表示領域として表示し、ソフトウェアキーボード表示内容の更新することも可能である。この場合、各ボタンの表示領域は、最初領域ＭＢｋとして表示し、上記検出位置の補正・学習処理後に領域ＮＢｋｔとして表示する。
【００５８】
また、以上述べた実施形態は全て本発明を例示的に示すものであって限定的に示すものではなく、本発明は他の種々の変形態様及び変更態様で実施することができる。従って本発明の範囲は特許請求の範囲及びその均等範囲によってのみ規定されるものである。
【図面の簡単な説明】
【００５９】
【図１】本発明の一実施形態として想定するオンデマンド映像視聴環境の概念図を示す。
【図２】本実施形態で想定するリモコンの概観図である。
【図３】キーボードの表示例を示す。
【図４】図３における「モード切替」ボタンを押下した際の文字入力用キーボードの表示例を示す。
【図５】本実施形態のリモコンにおけるブロック図である。
【図６】本実施形態のＳＴＢにおけるブロック図である。
【図７】利用者がかな文字を入力する場合を例とした、本実施形態のフローチャートを示す。
【図８】タッチパネルの検出方法について示す。
【図９】入力位置データ記録時の処理シーケンス図を示す。
【図１０】入力位置ログデータの例を示す。
【図１１】図１０に対して、検出格子の位置を濃いハッチングで明記したものである。
【図１２】検出位置補正時の処理シーケンス図を示す。
【図１３】ソフトウェアキーボードの各ボタンとの位置関係の概要図である。
【図１４】初期状態（ｔ＝０）のときのＦｋｉ，ｊ（ｔ）値の例を示す。
【図１５】ボタンＢ１に対するｔ＝０における初期値の計算に関する概要図を示す。
【図１】
2008242958.tif 000011
【図２】
2008242958.tif 000012
【図３】
2008242958.tif 000013
【図４】
2008242958.tif 000014
【図５】
2008242958.tif 000015
【図６】
2008242958.tif 000016
【図７】
2008242958.tif 000017
【図８】
2008242958.tif 000018
【図９】
2008242958.tif 000019
【図１０】
2008242958.tif 000020
【図１１】
2008242958.tif 000021
【図１２】
2008242958.tif 000022
【図１３】
2008242958.tif 000023
【図１４】
2008242958.tif 000024
【図１５】
2008242958.tif 000025