[本技術を適用した情報処理システムの一実施の形態]
図1は、本技術を適用した情報処理システムの一実施の形態の構成例を示す斜視図である。
図1において、情報処理システムは、端末10とTV20とを有する。
端末10は、例えば、スマートフォン等のタブレット端末や、電子機器を遠隔操作するリモートコマンダであり、図1では、TV20を遠隔操作するリモートコマンダとして機能する。
端末10は、ユーザによって操作される長方形状等の操作面11を有し、その操作面11に対するユーザの操作を表す操作情報を、TV20に送信する。
TV20は、画像を表示する、長方形状の表示画面21を有し、テレビジョン放送番組や、図示せぬレコーダで録画された番組、図示せぬ内蔵記録媒体に記録された番組等のコンテンツの画像を表示する。
また、TV20は、GUI、すなわち、例えば、ブラウザ等のグラフィクスを、表示画面21に表示する。
さらに、TV20は、端末10から送信されてくる操作情報を受信し、その操作情報に従い、チャンネルの選択(選局)や、音量の増減、メニューの表示、ブラウザ等のGUIに対応する処理等の処理を行う。
以上のように構成される情報処理システムでは、端末10において、ユーザがタッチしている操作面11上の位置(タッチ点)の座標等の、タッチ点を表す情報を含む操作情報が、TV20に送信される。
TV20では、端末10からの操作情報に基づき、タッチ点に対応する表示画面21上の位置である対応点が検出され、その対応点に応じた処理が行われる。
図2は、図1の端末10の構成例を示す斜視図である。
端末10は、平板形状をしており、その一面に、ユーザによって操作される長方形状の操作面11が設けられている。
ここで、端末10の操作面11が設けられている面を、端末10の正面(表面)ともいう。
また、長方形状の操作面11の長手方向を、左右に向けたときの、操作面11としての長方形の2つの長辺の一方側を、端末10の上側ともいう。
端末10は、例えば、静電(静電容量)式等のタッチパネル又はタッチパッドや、光を照射する光源と、その光の、物体からの反射光を受光するセンサとのセット等を内蔵し、操作面11に対する外部からの入力(近接・接触)を受け付ける(検知する)機能を有する。
端末10は、操作面11に対して、外部からの物体、すなわち、例えば、ユーザの指や、ユーザが扱うタッチペン等が近接し、又は、接触(タッチ)すると、その近接、又は、接触している位置を表す位置情報を含む操作情報を送信する。
ここで、以下では、操作面11に対する近接については、適宜、説明を省略する。
ユーザの指等が接触している位置(タッチ点)を表す位置情報としては、例えば、その操作面11上のタッチ点の座標や、操作面11の各点に対する接触の度合いを表す情報(例えば、操作面11が静電式のタッチパネル等で構成される場合の操作面11の静電容量の分布等)等の、指が接触している操作面11上のタッチ点を特定可能な情報を採用することができる。
また、端末10では、タッチ点の位置情報の座標系として、例えば、端末10の上側(図2において白抜きの矢印で示す)に向かう方向をy軸とするとともに、操作面11の長手方向をx軸とし、かつ、操作面11(を含む2次元平面)上の所定の点を原点とする、固定の2次元座標系を採用することができる。
さらに、端末10では、例えば、操作面11上のユーザの指の影(ユーザの指を、操作面11に垂直に射影した場合にできる影)や、重力センサ等に基づいて、ユーザが、端末10を持っているときの、その端末10の姿勢を検出し、その端末10の姿勢に応じた可変の2次元座標系を、タッチ点の位置情報の座標系として採用することができる。
すなわち、端末10では、ユーザが、端末10を持っているときの操作面11の上下方向をy軸とするとともに、左右方向をx軸とし、かつ、操作面11上の所定の点を原点とする、端末10の姿勢によって変化する可変の2次元座標系を、タッチ点の位置情報の座標系として採用することができる。
なお、上述したように、TV20では、端末10からの操作情報に基づき、タッチ点に対応する表示画面21上の対応点が検出されるが、対応点の検出に、位置情報の他、操作面11のサイズ(例えば、x座標及びy座標それぞれの最小値と最大値)が必要な場合には、端末10からTV20に送信される操作情報には、位置情報の他、対応点の検出に必要な、操作面11のサイズ等の情報も、必要に応じて含まれる。
ここで、以下では、説明を簡単にするため、特に断らない限り、ユーザは、端末10の上側の反対側(下側)を、ユーザに近い位置に向け、ユーザが操作面11を見ることができるように、端末10(操作面11)の長手方向の端部を、左右の手で持った状態(以下、標準状態ともいう)で、左右の指で、操作面11を操作することとする。
ユーザが、端末10に対して行う操作としては、大きく分けて、TV20の表示画面21に表示されたGUIにおけるボタン等を選択するための操作(ポインティング)と、その選択を決定(確定)する決定操作とがある。
図2に示すように、端末10の正面や、裏面(正面の反対側の面)、側面には、物理的なボタン13が、必要に応じて設けられており、端末10では、例えば、端末10の側面に設けられたボタン13の操作を、決定操作に割り当てることができる。
すなわち、例えば、ユーザが、標準状態で、端末10を持っている場合には、端末10の上側の側面の左側に設けられたスイッチ13は、左手の人差し指等で、容易に操作することができ、端末10の上側の側面の右側に設けられたスイッチ13は、右手の人差し指等で、容易に操作することができる。
そこで、端末10の上側の側面の左側に設けられたスイッチ13の操作を、左指による操作面11に対する操作によって行っている選択を決定する決定操作に割り当てることができる。同様に、端末10の上側の側面の右側に設けられたスイッチ13の操作を、右指による操作面11に対する操作によって行っている選択を決定する決定操作に割り当てることができる。
また、端末10では、例えば、操作面11に接触した状態の指を、操作面11から離すリリース操作を、決定操作に割り当てることができる。
すなわち、操作面11に接触している左指を離す操作を、その直前に行っていた、左指による操作面11に対する操作(接触)による選択を決定する決定操作に割り当てることができる。同様に、操作面11に接触している右指を離す操作を、その直前に行っていた、右指による操作面11に対する操作による選択を決定する決定操作に割り当てることができる。
さらに、端末10では、例えば、操作面11に接触した状態の指によって、操作面11を押下する押下操作を、決定操作に割り当てることができる。
端末10において、操作面11の押下操作については、例えば、図2に示すように、操作面11の左右(長手方向)の端部それぞれに、操作面11を押下する圧力を検出する圧力(荷重)センサを設けておき、それぞれの圧力センサにより検出される圧力に基づいて、ユーザの左指、又は、右指のいずれで、押下操作がされたかを検出することができる。
具体的には、操作面11の左右の圧力センサそれぞれが出力する圧力と、ユーザの左指、及び、右指それぞれの操作面11上のタッチ点(の座標)とを用いて、ユーザの左指、及び、右指のタッチ点それぞれの押下力を算出し、押下力が所定の閾値を超えているタッチ点に対して、決定操作としての押下操作がされたと判定することができる。あるいは、例えば、操作面11の左右の圧力センサそれぞれが出力する圧力の比に基づいて、ユーザの左指、又は、右指のタッチ点に対して、決定操作としての押下操作がされたかどうかを判定することができる。
なお、圧力センサを設ける位置は、操作面11の左右の端部に限定されるものではない。また、圧力センサは、1つだけ設けてもよいし、3個以上設けてもよい。
その他、端末10において、操作面11の押下操作については、例えば、操作面11を押下可能なように(内部側に押し込むことが可能なように)構成するとともに、操作面11の左右の端部それぞれに、操作面11の押下を検出するクリックスイッチを設けておき、それぞれのクリックスイッチのオン、オフ状態に基づいて、ユーザの左指、又は、右指のいずれで、押下操作がされたかを検出することができる。
また、端末10において、操作面11の押下操作については、例えば、操作面11を押下可能なように構成するとともに、操作面11を静電式のタッチパッド等で構成し、かつ、操作面11の押下を検出する1つのクリックスイッチを設けておき、クリックスイッチがオン状態になったときの操作面の11の静電容量の変化に基づいて、ユーザの左指、又は、右指のいずれで、押下操作がされたかを検出することができる。
さらに、端末10において、操作面11の押下操作については、例えば、操作面11を静電式のタッチパッド等で構成し、操作面の11の静電容量の変化に基づいて、操作面11の押下と、その押下が、ユーザの左指、又は、右指のいずれの操作により行われたかを検出することができる。
また、操作面11を、ユーザの指等の近接によって操作可能な場合には、操作面への接触(タッチ)を、決定操作に割り当てることができる。
図3は、図1の情報処理システムの処理の概要を説明する図である。
図3においては、TV20において、表示画面21に、ある番組の画像(番組画像)が表示され、さらに、GUIを構成するアイコン31が、番組画像に重畳する形で表示されている。
ここで、アイコン31は、音量を調整する音量ボタンや、チャンネルを選択する選曲ボタン等の各種のボタン(仮想的なボタン)として機能する。
端末10は、例えば、定期的、又は、端末10の操作状態に変化があった場合等の不定期に、操作情報を、TV20に送信する。
TV20は、端末10からの操作情報に基づき、端末10の操作状態を認識(検出)し、端末10の操作面11に、ユーザの左指がタッチしているときには、その左指がタッチしている操作面11のタッチ点(以下、左タッチ点ともいう)に対応する表示画面21上の対応点(以下、左対応点ともいう)に、左指がタッチしていることを表すシンボル画像としてのポインタ30Lを表示する。
同様に、TV20は、端末10の操作面11に、ユーザの右指がタッチしているときには、その右指がタッチしている操作面11のタッチ点(以下、右タッチ点ともいう)に対応する表示画面21上の対応点(以下、右対応点ともいう)に、右指がタッチしていることを表すシンボル画像としてのポインタ30Rを表示する。
ポインタ30L及び30Rは、色や、模様、形状等の表示形式を変えることにより、それぞれを、ユーザが容易に区別することができるように表示することができる。
また、図3では、左指(のタッチ)を表すポインタ30Lとして、円形のグラフィクスが採用されているが、ポインタ30Lとしては、その他、例えば、矢印の形状のグラフィクスや、操作面11に接触している左指の形状のグラフィクス、操作面11に対する左指の接触(近接)の程度を、濃淡や色で表現した左指の形状のグラフィクス等を採用することができる。右指(のタッチ)を表すポインタ30Rについても、同様である。
ユーザが、操作面11に、ユーザの指(左指、右指)を接触させると、ユーザの指がタッチしている操作面11のタッチ点に対応する表示画面21上の対応点に、ポインタ30Lや30Rが表示される。
ユーザが、操作面11にタッチしている指を、タッチしたまま移動することで、ポインタ30L又は30Rは、ユーザの指の移動に応じて移動する。図3では、操作面11のタッチ点と、表示画面21上の対応点とは、一対一に対応しており、ユーザは、表示画面21に直接触れているかのような間隔で、操作を行うことができる。
ユーザが、操作面11にタッチしている指を移動することで、ポインタ30L又は30Rを、例えば、所望のアイコン31上に移動し、ポインタ30L又は30Rがアイコン31上に位置している(ポインティングしている)状態で、決定操作を行うと、端末10は、ユーザの決定操作を表す操作情報を、TV20に送信する。
TV20は、決定操作を表す操作情報を受信すると、決定操作が行われたときにポインタ30L又は30Rが位置していたアイコン31に対応する処理、すなわち、例えば、音量の調整や、チャンネルの選択を行う。
[端末10及びTV20の構成例]
図4は、図1の端末10及びTV20の構成例を示すブロック図である。
図4において、端末10は、操作面11、センサ12、ボタン群13、制御部41、メモリ42、及び、通信部43を有する。
操作面11は、例えば、ユーザによって操作される長方形状等の面である。センサ12は、操作面11に対する操作を検出し、その検出結果を表す検出情報を、制御部41に供給する。
なお、センサ12には、タッチパッドやタッチパネル等のタッチセンサの他、図2で説明した圧力センサ等の必要なセンサが、必要に応じて含まれる。
また、操作面11は、タッチセンサの一部分である。
さらに、タッチセンサとして、操作面11が透明なタッチパネルを採用する場合、その操作面11と、液晶パネル等の表示部とを一体的に構成することができる。この場合、操作面11は、画像を表示し、その画像に対する入力を受け付けることができるタッチスクリーンとして機能する。タッチスクリーンを構成する表示部には、制御部41の制御に従って、GUI等の必要な画像が表示される。
ボタン13は、図2で説明した、端末10の側面等に設けられた物理的なボタンであり、ユーザによって操作される。
制御部41は、端末10を構成する各ブロックの制御、その他の必要な処理を行う。
すなわち、制御部41は、センサ12からの検出情報や、ボタン13の操作に基づき、ユーザによる、操作面11を含む端末10に対する操作を表す操作情報を生成し、通信部43に供給する。また、制御部41は、通信部43で受信された情報に従い、必要な処理を行う。
メモリ42は、制御部41の動作上必要なデータ(情報)を記憶する。
通信部43は、例えば、無線LAN(Local Area Network)や、IEEE 802.15(いわゆるbluetooth(登録商標))、赤外線等の無線による通信(無線通信)を行う。
すなわち、通信部43は、制御部41からの操作情報を、TV51に送信する。
また、通信部43は、TV20等から無線で送信されてくる情報を受信し、制御部41に供給する。
TV20は、通信部51、情報処理部52、表示部53、及び、TV機能部54を有する。
通信部51は、通信部43と同様に、無線通信を行う。
すなわち、通信部51は、情報処理部52等から供給される情報を送信する。また、通信部51は、端末10(の通信部43)から送信されている操作情報を受信し、情報処理部52に供給する。
情報処理部52は、通信部51から供給される操作情報を用いて、端末10を用いたTV20の遠隔操作のための各種の情報(信号)処理を行う。
すなわち、情報処理部52は、表示制御部61、マッピング部62、及び、対応点検出63を有する。
表示制御部61は、表示部53に、画像を表示させる表示制御を行う。
すなわち、表示制御部61は、例えば、ブラウザやOSK等のGUIを生成すること等により取得し、表示部53に表示させる。また、表示制御部61は、例えば、対応点検出部63で検出される、表示部53の表示画面21上の対応点に、端末10の操作面11にタッチがされていることを表すシンボル画像としてのポインタ30Lや30Rを、表示部53に表示させる。
マッピング部62は、端末10の操作面11上の位置と、表示部53の表示画面21上の位置とを対応付けるマッピングを、表示部53に表示されるGUIに基づいて行う。
対応点検出部63は、マッピング部62によるマッピングの結果に基づいて、通信部51からの操作情報から認識される、ユーザがタッチしている操作面11上のタッチ点に対応する、表示部53の表示画面21上の対応点を検出する。
表示部53は、例えば、液晶パネルや、有機EL(Electro Luminescence)パネル等の、表示画面21を有するディスプレイパネルであり、表示制御部61の制御に従って、GUIや、ポインタ30L及び30R等を、表示画面21に表示する。
また、表示部53は、TV機能部54から供給される画像を表示する。
TV機能部54は、TV20を、TVとして機能させるためのブロックであり、例えば、テレビジョン放送番組の受信や、テレビジョン放送番組等のコンテンツの録画、録画したコンテンツの再生等を行う。
TV機能部54において受信されたテレビジョン放送番組や、再生されたコンテンツの画像は、TV機能部54から表示部53に供給され、表示画面21に表示される。
図5は、図4の端末10の処理を説明するフローチャートである。
制御部41は、ステップS11において、センサ12の出力や、ボタン13の操作に応じて、操作情報を生成することにより取得し、通信部43に供給して、処理は、ステップS12に進む。
ステップS12では、通信部43が、制御部43からの操作情報を送信する。その後、処理は、ステップS12からステップS11に戻り、以下、同様の処理が繰り返される。
図6は、図4のTV20の処理を説明するフローチャートである。
ステップS21において、表示制御部61は、ユーザの操作その他のイベントに従って、GUIを生成し、表示部53に供給して、表示画面21に表示させ、処理は、ステップS22に進む。
ステップS22では、マッピング部62は、表示画面21に表示されたGUIに基づいて、端末10の操作面11上の位置と、表示部53の表示画面21上の位置とを対応付けるマッピグを行い、処理は、ステップS23に進む。
ステップS23では、通信部51が、端末10から操作情報が送信されてくるのを待って、その操作情報を受信し、情報処理部52に供給して、処理は、ステップS24に進む。
ステップS24では、情報処理部52の対応点検出部63が、マッピング部62において直前に行われマッピングの結果に基づいて、通信部51からの操作情報から認識される、ユーザがタッチしている操作面11上のタッチ点に対応する、表示部53の表示画面21上の対応点を検出して、処理は、ステップS25に進む。
ステップS25では、表示制御部61が、対応点検出部63で検出された、表示部53の表示画面21上の対応点に、ポインタ30Lや30Rを表示させ、処理は、ステップS23に戻る。
[表示画面21の表示例]
図7は、操作面11(上の位置)と、表示画面21(上の位置)とを対応付けるマッピングの例を説明する図である。
図7では、操作面11の全体と、表示画面21の全体とを均一に対応付けるように、マッピングが行われており、かかるマッピングを、以下、適宜、通常マッピングともいう。
いま、表示画面21の横方向(水平方向)の長さH2が、操作面11の横方向(長手方向)の長さH1のkx(=H2/H1)倍であり、表示画面21の縦方向(垂直方向)の長さV2が、操作面11の縦方向の長さV1のky(=V2/V1)倍であることとすると、通常マッピングでは、タッチ点(Xin,Yin)(x座標がXinで、y座標がYinの点(位置))には、点(kx×Xin,ky×Yin)が、対応点(Xout,Yout)として対応付けられる。
なお、ここでは、説明を簡単にするため、例えば、操作面11上のタッチ点(Xin,Yin)を規定する2次元座標系の原点が、操作面11の左下の点(頂点)であるとするとともに、表示画面21上の対応点(Xout,Yout)を規定する2次元座標系の原点が、表示画面21の左下の点であるとすることとする。
図7では、web上を検索する文字列を入力するための入力欄、入力欄に入力された文字(列)から、入力されることが予測される文字列等の候補が表示される予測候補欄、及び、OSKをGUI部品とするGUI(以下、検索GUIともいう)が表示されている。
また、図7では、検索GUIが、テレビジョン放送番組の画像(番組画像)に重畳する形で表示されている。
ここで、図7において、予測候補欄には、左側と右側の2列に分かれて、予測候補が表示されている。左側の予測候補は、入力欄に入力された文字(列)から、入力されることが予測される文字列の候補である。右側の予測候補は、入力欄に入力された文字(列)から、検索しようとしていることが予測される、TV20に録画されているコンテンツの候補のタイトルである。
ところで、図7では、番組画像がなるべく見えるように、検索GUIは、半透明になっている。さらに、図7では、検索GUIの縦の長さは、表示画面21の縦の長さにほぼ一致しているが、検索GUIの横幅は、番組画像がなるべく見えるように(ユーザが番組画像を、なるべく確認しやすいように)、表示画面21の横幅に対して、ある程度のマージン分だけ短くなっている。
そして、検索GUIは、表示画面21の中央部分に表示されており、これにより、検索GUIが重畳された番組画像は、左右の部分が明確に見える状態で表示されている。
以下、以上のような、通常マッピングよりも、端末10の操作性を向上させることができるマッピングとして、第1ないし第4のマッピングを説明する。
[第1のマッピング]
図8は、操作面11と表示画面21とを対応付ける第1のマッピングを説明する図である。
通常マッピングでは、表示画面21に表示されるGUIに関係なく、図7で説明したように、例えば、操作面11の全体と、表示画面21の全体とが均一に対応付けられる。
したがって、通常マッピングでは、ユーザは、表示画面21のGUIが表示されている領域(以下、GUI領域ともいう)の他、GUI領域以外の領域(以下、非GUI領域ともいう)をも操作(ポインティング)することができる。
ここで、表示画面21上の領域を操作する、とは、その領域内に、対応点が位置するように、操作面11を操作することを意味する。
以上のように、通常マッピングでは、ユーザは、非GUI領域を操作することができるが、非GUI領域には、GUIが表示されていないため、操作する必要がない。
そこで、第1のマッピングでは、マッピング部62は、表示画面21に表示されるGUIに基づき、操作面11上の位置と、表示画面21上の位置のうちの、GUIが表示されているGUI領域(グラフィクス領域)上の位置とを対応付ける。
図8では、操作面11の全体と、GUI領域の全体とを、均一に対応付けるように、マッピングが行われている。
ここで、操作面11の全体(又は一部)と、GUI領域の全体とを、均一に対応付けるマッピングを、均一マッピングともいう。
均一マッピングでは、GUI領域の横方向の長さH2が、操作面11の横方向の長さH1のkx(=H2/H1)倍であり、GUI領域の縦方向の長さV2が、操作面11の縦方向の長さV1のky(=V2/V1)倍であることとすると、操作面11上の位置(Xin,Yin)と、GUI領域上の位置(kx×Xin,ky×Yin)とが対応付けられる。
なお、ここでは、説明を簡単にするため、例えば、GUI領域は、長方形状の領域であり、かつ、操作面11上の位置(点)(Xin,Yin)を規定する2次元座標系の原点が、操作面11の左下の点(頂点)であるとするとともに、GUI領域上の位置(Xout,Yout)を規定する2次元座標系の原点が、GUI領域の左下の点であるとすることとする。
GUI領域は、最大でも、表示画面21に等しく、基本的には、表示画面21よりも小さい。
図8では、図7で説明した検索GUIが表示されているが、検索GUIは、図7で説明したように、表示画面21よりも小さい。
いま、表示画面21のあるサイズの領域を、単位領域ということとすると、操作面11の全体とGUI領域の全体とを対応付ける均一マッピング(第1のマッピング)によれば、操作面11の全体と表示画面21の全体とを対応付ける通常マッピングよりも、単位領域に、操作面11上のより広い範囲が対応付けられる。
すなわち、例えば、図8に示したように、表示領域21に、OSKが表示される場合に、OSKの各キー(の表示領域)には、通常マッピングよりも、均一マッピングの方が、操作面11のより広い範囲が対応付けられる。
その結果、ユーザは、通常マッピングの場合よりも、OSKの各キーが大きくなったかのような感覚で、比較的、ラフな精度で、操作面11を操作することができ、端末10の操作性(OSKの操作性でもある)を向上させることができる。
ここで、均一マッピングは、表示画面21に表示されるGUIに応じて、通常マッピングの場合よりも、対応点とすることができる表示画面21上の領域を、表示画面21全体から、GUI領域に縮小している、ということができる。
なお、表示画面21に表示しきれない大きなGUIを表示する場合、均一マッピングでは、結果としては、通常マッピングと同様に、操作面11の全体と表示画面21の全体とを対応付けることができる他、大きなGUIを表示することができるように、表示画面21を大きくした仮想的な表示画面を想定し、その仮想的な表示画面に、大きなGUIの全体が表示されたときのGUI領域と、操作面11とを対応付けることができる。
均一マッピングにおいて、表示画面21を大きくした仮想的な表示画面に、大きなGUIの全体が表示されたときのGUI領域と、操作面11とを対応付ける場合、均一マッピングは、表示画面21に表示されるGUIに応じて、通常マッピングの場合よりも、対応点とすることができる表示画面21上の領域を、仮想的な表示画面に表示された大きなGUI領域に拡大している、ということができる。
なお、表示画面21に複数のGUIが表示されている場合には、マッピング部62は、アクティブになっている(フォーカスされている)GUIに基づいてマッピングを行う。したがって、アクティブになっているGUIが切り換えられると、マッピング部62は、切り換え後のGUIに基づいて、マッピングをやり直す。
[第2のマッピング]
図9は、操作面11と表示画面21とを対応付ける第2のマッピングを説明する図である。
第2のマッピングは、表示画面21に表示されたGUIを構成するGUI部品に基づき、操作面11上の位置と、GUI領域上の位置とを対応付け、これにより、サイズが小さい(又は大きい)GUI部品が表示されている領域に対して、均一マッピングの場合よりも操作面11の広い(又は狭い)範囲を対応付ける。
ここで、図9において、表示画面21には、図7で説明したように、入力欄、予測候補欄、及び、OSKをGUI部品とする検索GUIが表示されている。
なお、GUI部品である予測候補欄は、さらに、各予測候補をGUI部品として構成されている。また、GUI部品であるOSKは、さらに、各キーをGUI部品として構成されている。
検索GUIにおいて、例えば、予測候補欄とOSKに注目すると、予測候補欄に表示される予測候補は、OSKの各キーと比較して、横幅が大きいので、相対的に、予測候補の操作の難易度は低く(操作がしやすく)、OSKのキーの操作の難易度は高い(操作がしにくい)。
そこで、第2のマッピングでは、表示画面21に表示されたGUIを構成するGUI部品に基づき、サイズが小さいGUI部品が表示されている領域に対して、均一マッピングの場合よりも操作面11の広い範囲を対応付ける。
すなわち、図9において、第2のマッピングでは、GUI部品に、そのGUI部品の横幅に反比例するような縦幅の操作面11の範囲が対応付けられる。
このため、図9では、横幅の広い予測候補には、均一マッピングの場合よりも狭い縦幅の操作面11の範囲が対応付けられており、横幅の狭いOSKのキーには、均一マッピングの場合よりも広い縦幅の操作面11の範囲が対応付けられている。
図10は、第2のマッピングによる操作面11上の位置(Xin,Yin)と、表示画面21上の対応点(Xout,Yout)との対応関係を示す図である。
なお、GUI領域の横方向の長さH2が、操作面11の横方向の長さH1のkx(=H2/H1)倍であり、GUI領域の縦方向の長さV2が、操作面11の縦方向の長さV1のky(=V2/V1)倍であることとし、さらに、kx=ky=kであることとする。
また、説明を簡単にするため、GUI領域は、長方形状の領域であり、かつ、操作面11上の位置(Xin,Yin)を規定する2次元座標系の原点が、操作面11の左下の点(頂点)であるとするとともに、GUI領域上の位置(Xout,Yout)を規定する2次元座標系の原点が、GUI領域の左下の点であるとすることとする。
均一マッピングでは、図10に、一点鎖線で示すように、操作面11上の位置(Xin,Yin)と、GUI領域上の位置(k×Xin,k×Yin)とが対応付けられる。
なお、図10では、x座標の対応関係の図示は、省略してあり、y座標の対応関係のみを図示してある。
第2のマッピングでは、図10に、実線で示すように、操作面11上の位置Yin(y座標がYinの操作面11上の位置)が、GUI領域上の位置Yout=f(Yin)に対応付けられる。
ここで、関数f(Yin)は、第2のマッピングを表す。
図10の関数f(Yin)によれば、OSK(が表示されている領域)には、均一マッピングの場合よりも、縦幅(y方向の幅)が広い操作面11の範囲が、予測候補欄には、均一マッピングの場合よりも、縦幅(y方向の幅)が狭い操作面11の範囲が、入力欄には、均一マッピングの場合と同様の縦幅の操作面の11の範囲が、それぞれ対応付けられる。
なお、図9の第2のマッピングでは、横方向については、均一マッピングと同様のマッピングが行われる。
以上のように、第2のマッピングによれば、キーの横幅の狭いOSKに、均一マッピングの場合よりも、縦幅が広い操作面11の範囲が対応付けられるので、操作面11を操作するユーザは、あたかもOSKの各キーの縦幅が広くなったような感覚で、OSKを操作することができ、OSKのキーの操作の難易度を下げ、OSKの操作性を向上させることができる。
すなわち、第2のマッピングによれば、例えば、OSKのキーや、webページへのリンクボタン等のような、サイズが小さく、均一マッピングでは、緻密な指の動きが必要となる操作の難易度が高いGUI部品へのポインティングを、容易に行うことが可能となる。
なお、図9及び図10の第2のマッピングによれば、予測候補欄に、均一マッピングの場合よりも、縦幅が狭い操作面11の範囲が対応付けられるため、縦方向(y方向)については、予測候補欄の予測候補の操作の難易度は上がることになる。
但し、予測候補は、横幅が広く、横方向については、均一マッピングの場合と同様の操作性が担保されるため、総合的には、予測候補欄に、均一マッピングの場合よりも、縦幅が狭い操作面11の範囲が対応付けられることによる予測候補欄の操作性への影響は、ほとんどない。
ここで、第2のマッピングは、操作面11上の位置に対する、通常マッピングの場合の対応点を、表示画面21に表示されるGUI部品(のサイズ)に応じて補正している、ということができる。
なお、図9及び図10では、第2のマッピングとして、GUI部品に、そのGUI部品の横幅に反比例するような縦幅の操作面11の範囲(GUI部品の横幅が小(又は大)であるほど、縦幅が大(又は小)の範囲)を対応付けることとしたが、その他、第2のマッピングでは、GUI部品に、そのGUI部品の縦幅に反比例するような横幅の操作面11の範囲を対応付けることができる。
また、図9及び図10では、第2のマッピングにおいて、第1のマッピングと同様に、操作面11上の位置と、表示画面21上の位置のうちの、GUI領域上の位置とを対応付けることとしたが、第2のマッピングでは、その他、例えば、通常マッピングと同様に、操作面11の全体と、表示画面21の全体とを対応付けることができる。
[第3のマッピング]
図11は、操作面11と表示画面21とを対応付ける第3のマッピングを説明する図である。
第1及び第2のマッピングでは、操作面11上のタッチ点が、ユーザの左指がタッチしている左タッチ点であるか、又は、ユーザの右指がタッチしている右タッチ点であるかにかかわらず、同一のマッピングが適用されるが、第3のマッピングでは、左タッチ点と右タッチ点とについて(ユーザの左手による操作面11の操作と、右手による操作面11の操作とについて)、異なるマッピングが行われる。
すなわち、第3のマッピングでは、左タッチ点については、操作面11の一部分と、GUI領域の一部分とが対応付けられ、右タッチ点については、操作面11の他の一部分と、GUI領域の残りの部分とが対応付けられる。
図11では、左タッチ点については、操作面11の左側の一部分としての操作面11の略左半分の範囲(以下、左操作範囲ともいう)と、GUI領域の左半分とが、均一に対応付けられており、右タッチ点については、操作面11の右側の一部分としての操作面11の略右半分の範囲(以下、右操作範囲ともいう)と、GUI領域の右半分とが、均一に対応付けられている。
また、図11では、操作面11の左操作範囲と右操作範囲との間には、すき間が空いている。
さらに、図11では、操作面11の左操作範囲に対応付けられたGUI領域の左半分の領域(以下、左GUI領域ともいう)の右側の境界は、OSKの直線上に並んだ"T","G"、及び、"V"キーの右側の境界に一致している。
また、図11では、操作面11の右操作範囲に対応付けられたGUI領域の右半分の領域(以下、右GUI領域ともいう)の左側の境界は、OSKの直線上に並んだ"Y","H"、及び、"B"キーの左側の境界に一致している。
図12は、第3のマッピングによる操作面11上の位置(Xin,Yin)と、表示画面21上の対応点(Xout,Yout)との対応関係を示す図である。
なお、GUI領域の横方向の長さH2が、操作面11の横方向の長さH1のkx(=H2/H1)倍であり、GUI領域の縦方向の長さV2が、操作面11の縦方向の長さV1のky(=V2/V1)倍であることとし、さらに、kx=ky=kであることとする。
また、説明を簡単にするため、GUI領域は、長方形状の領域であるとし、操作面11上の左下の点(位置)を点(Xin_min,Yin_min)とするとともに、右上の点を点(Xin_max,Yin_max)とする。さらに、GUI領域上の左下の点を点(Xout_min,Yout_min)とするとともに、右上の点を点(Xout_max,Yout_max)とする。
例えば、いま、(Xin_min,Yin_min)=(Xout_min,Yout_min)=(0,0)とすると、均一マッピングでは、図10に、一点鎖線で示すように、操作面11上の位置(Xin,Yin)と、GUI領域上の位置(k×Xin,k×Yin)とが対応付けられる。
なお、図12では、y座標の対応関係の図示は、省略してあり、x座標の対応関係のみを図示してある。
第3のマッピングでは、操作面11上の左タッチ点Xin_L(x座標がXin_Lの操作面11上の左タッチ点)については、図12に、実線で示すように、左タッチ点Xin_Lが、GUI領域上の位置Xout_L=fL(Xin_L)に対応付けられる。
さらに、第3のマッピングでは、操作面11上の右タッチ点Xin_Rについては、図12に、点線で示すように、右タッチ点Xin_Rが、GUI領域上の位置Xout_R=fR(Xin_R)に対応付けられる。
ここで、関数fL(Xin_L)及びfR(Xin_R)が、第3のマッピングを表す。
図12の関数fL(Xin_L)によれば、左タッチ点Xin_Lについては、左操作範囲の左端の点Xin_min=0から右端の点in1までの範囲では、左タッチ点Xin_Lを、左から右に移動すると、その左タッチ点Xin_Lに対応する表示画面21上の左対応点Xout_Lも、左GUI領域を、左から右に移動する。
そして、左タッチ点Xin_Lが、左操作範囲の右端の点in1に到達すると、その左タッチ点Xin_Lに対応する左対応点Xout_Lも、左GUI領域の右端の点out1に到達する。
その後は、左タッチ点Xin_Lが、左操作範囲の右端の点in1よりも右側に移動しても、その左タッチ点Xin_Lに対応する左対応点Xout_Lは、左GUI領域の右端の点out1に位置したまま移動しない。
一方、関数fR(Xin_R)によれば、右タッチ点Xin_Rについては、操作面11の左端から、右操作範囲の左端の点in2までの範囲では、右タッチ点Xin_Rを移動しても、その右タッチ点Xin_Rに対応する右対応点Xout_Rは、右GUI領域の左端の点out2に位置したまま移動しない。
右タッチ点Xin_Rが、操作面11の左側から、右操作範囲の左端の点in2に到達し、その後、右操作範囲の左端の点in2から右端の点Xin_maxまでの範囲を、左から右に移動すると、その右タッチ点Xin_Rに対応する表示画面21上の右対応点Xout_Rも、右GUI領域を、左から右に移動する。
そして、右タッチ点Xin_Rが、右操作範囲の右端の点Xin_maxに到達すると、その右タッチ点Xin_Rに対応する右対応点Xout_Rも、右GUI領域の右端の点Xout_maxに到達する。
なお、図11及び図12の第3のマッピングでは、縦方向(y方向)については、左タッチ点及び右タッチ点のいずれについても、均一マッピングと同様のマッピングが行われる。
第3のマッピングでは、ユーザが、左タッチ点Xin_Lを、操作面11上の左から右(中央方向)に移動していったときに、その左タッチ点Xin_Lに対応する左対応点Xout_Lは、左GUI領域の右端の点out1に到達すると、その点out1から動かなくなる。
さらに、第3のマッピングでは、ユーザが、右タッチ点Xin_Rを、操作面11上の右から左(中央方向)に移動していったときに、その右タッチ点Xin_Lに対応する右対応点Xout_Rは、右GUI領域の左端の点out2に到達すると、その点out2から動かなくなる。
したがって、第3のマッピングによれば、左タッチ点によって、左GUI領域の右端にあるOSKの"T","G"、又は、"V"キーを操作しようとして、誤って、右GUI領域の左端にあるOSKの"Y","H"、又は、"B"キーを操作してしまうことや、逆に、右タッチ点によって、右GUI領域の左端にあるOSKの"Y","H"、又は、"B"キーを操作しようとして、誤って、左GUI領域の右端にあるOSKの"T","G"、又は、"V"キーを操作してしまうことを防止することができる。
その結果、ユーザは、左手の大まかな操作で、OSKの"T","G"、又は、"V"キー、その他の、左GUI領域の端部にある部分をポインティングすることや、右手の大まかな操作で、OSKの"Y","H"、又は、"B"キー、その他の、右GUI領域の端部にある部分をポインティングすることができ、操作性を向上させることができる。
ここで、第3のマッピングは、GUI領域のうちの、左手でポインティングすることができる領域と、右手でポインティングすることができる領域とを、別個に制限している、ということができ、以下、制限マッピングともいう。
なお、図11及び図12では、制限マッピング(第3のマッピング)として、GUI領域のうちの、左手でポインティングすることができる領域と、右手でポインティングすることができる領域とを、横方向について制限するマッピングを行ったが、その他、左手と右手とのそれぞれでポインティングすることができる領域の制限は、縦方向等について行うことができる。
また、制限マッピングでの、左操作範囲と左GUI領域との対応付け、及び、右操作範囲と右GUI領域との対応付けには、第2のマッピングを適用することができる。
ところで、制限マッピングを常時適用すると、操作に不都合が生じることがある。
すなわち、例えば、図11及び図12の制限マッピングを常時適用すると、左手又は右手のうちの一方の手でのみ、操作面11を操作している場合に、その一方の手では、操作することができないOSKのキーが生じる。
そこで、TV20(図4)の情報処理部52では、制限マッピングを適用するかどうかの適用判定を行い、その適用判定の結果に従い、マッピング部62での制限マッピングの適用の可否を決定することができる。
図13は、制限マッピングの適用判定の処理を説明するフローチャートである。
ステップS31において、情報処理部52は、通信部51から供給される操作情報に基づいて、操作面11上のタッチ点の数を認識し、処理は、ステップS32に進む。
ステップS32では、情報処理部52は、タッチ点の数が、2つであるかどうかを判定する。
ステップS32において、タッチ点の数が2つであると判定された場合、すなわち、ユーザが、操作面11を、左手(の指)と右手(の指)との両方でタッチしており、左タッチ点と右タッチ点とが存在する場合、処理は、ステップS33に進み、情報処理部52は、マッピング部62において、制限マッピングを行うことを決定して、処理は、ステップS31に戻る。
また、ステップS33において、タッチ点の数が2つでないと判定された場合、すなわち、例えば、ユーザが、操作面11を、左手又は右手のうちの一方でのみタッチしている場合や、ユーザが、操作面11にタッチしていない場合、処理は、ステップS34に進み、情報処理部52は、マッピング部62において、制限マッピングを行わない(解除する)ことを決定して、処理は、ステップS31に戻る。
以上のような適用判定の処理によれば、タッチ点の数に応じて、マッピング部62のマッピングが変更される。すなわち、ユーザが、操作面11を、左手と右手との両方でタッチしている場合にのみ、制限マッピングが行われ、それ以外の、例えば、ユーザが、操作面11を、左手又は右手のうちの一方でのみタッチしている場合には、制限マッピングは、行われない。
したがって、例えば、ユーザが、左手又は右手のうちの一方の手でのみ、操作面11を操作している場合に、制限マッピングによって、操作することができないOSKのキーが生じることを防止することができる。
ところで、制限マッピングにおいて、GUI領域のうちの、左手でポインティングすることができる領域と、右手でポインティングすることができる領域とを、別個に制限する場合は勿論、ポインタ30L及び30Rを表示するには、タッチ点(若しくは、対応点)が、ユーザが左手でタッチしている左タッチ点(若しくは、左対応点)であるのか、ユーザが右手でタッチしている右タッチ点(若しくは、右対応点)であるのかを認識する必要がある。
そこで、TV20(図4)の情報処理部52では、通信部51から供給される操作情報から認識されるタッチ点が、左タッチ点、及び、右タッチ点のうちのいずれであるのかを認識するタッチ点認識の処理を行う。
図14は、タッチ点認識の処理を説明するフローチャートである。
ステップS41において、情報処理部52は、通信部51から供給される操作情報に基づいて、操作面11上のタッチ点が増加したかどうかを判定する。
ステップS41において、タッチ点の数が増加していないと判定された場合、処理は、ステップS47に進む。
また、ステップS41において、タッチ点の数が増加したと判定された場合、すなわち、新しいタッチ点が生じた場合、処理は、ステップS42に進み、情報処理部52は、新しいタッチ点が、1点目のタッチ点であるかどうかを判定する。
ステップS42において、新しいタッチ点が1点目のタッチ点であると判定された場合、処理は、ステップS43に進み、情報処理部52は、新しいタッチ点としての1点目のタッチ点のx座標X1が、操作面11の横方向の中点のx座標(以下、中点座標ともいう)Xmax/2未満であるかどうかを判定する。
ステップS43において、1点目のタッチ点のx座標X1が、中点座標Xmax/2未満であると判定された場合、すなわち、1点目のタッチ点が、操作面11の左半分側の点である場合、処理は、ステップS44に進み、情報処理部52は、1点目のタッチ点が、左タッチ点であると認識する。
そして、情報処理部52は、1点目のタッチ点が、左タッチ点であるとの認識に従い、左タッチ点の座標(を表す変数)(Xleft,Yleft)に、(操作情報から認識される)1点目のタッチ点の座標(X1,Y1)をセットするとともに、右タッチ点の座標(Xright,Yright)に、右タッチ点が存在しない(不定である)旨の値(none,none)をセットし、処理は、ステップS44からステップS41に戻る。
また、ステップS43において、1点目のタッチ点のx座標X1が、中点座標Xmax/2未満でないと判定された場合、すなわち、1点目のタッチ点が、操作面11の右半分側の点である場合、処理は、ステップS45に進み、情報処理部52は、1点目のタッチ点が、右タッチ点であると認識する。
そして、情報処理部52は、1点目のタッチ点が、右タッチ点であるとの認識に従い、左タッチ点の座標(Xleft,Yleft)に、左タッチ点が存在しない旨の値(none,none)をセットするとともに、右タッチ点の座標(Xright,Yright)に、1点目のタッチ点の座標(X1,Y1)をセットし、処理は、ステップS45からステップS41に戻る。
一方、ステップS42において、新しいタッチ点が1点目のタッチ点でないと判定された場合、処理は、ステップS46に進み、情報処理部52は、新しいタッチ点が、2点目のタッチ点であるかどうかを判定する。
ステップS46において、新しいタッチ点が2点目のタッチ点でないと判定された場合、処理は、ステップS47に進み、情報処理部52は、現在の左タッチ点、及び、右タッチ点の認識を、そのまま維持し、その認識に従って、左タッチ点の座標(Xleft,Yleft)、及び、右タッチ点の座標(Xright,Yright)をセットして、処理は、ステップS41に戻る。
また、ステップS46において、新しいタッチ点が2点目のタッチ点であると判定された場合、処理は、ステップS48に進み、情報処理部52は、2点目のタッチ点のx座標X2が、1点目のタッチ点のx座標X1よりも大であるかどうかを判定する。
ステップS48において、2点目のタッチ点のx座標X2が、1点目のタッチ点のx座標X1よりも大であると判定された場合、すなわち、操作面11において、2点目のタッチ点が、1点目のタッチ点よりも右側に存在する場合、処理は、ステップS49に進み、情報処理部52は、1点目のタッチ点が、左タッチ点であり、2点目のタッチ点が、右タッチ点であると認識する。
そして、情報処理部52は、1点目のタッチ点が、左タッチ点であり、2点目のタッチ点が、右タッチ点であるとの認識に従い、左タッチ点の座標(Xleft,Yleft)に、1点目のタッチ点の座標(X1,Y1)をセットするとともに、右タッチ点の座標(Xright,Yright)に、(操作情報から認識される)2点目のタッチ点の座標(X2,Y2)をセットし、処理は、ステップS49からステップS41に戻る。
また、ステップS48において、2点目のタッチ点のx座標X2が、1点目のタッチ点のx座標X1よりも大でないと判定された場合、すなわち、操作面11において、2点目のタッチ点が、1点目のタッチ点よりも左側に存在する場合、処理は、ステップS50に進み、情報処理部52は、1点目のタッチ点が、右タッチ点であり、2点目のタッチ点が、左タッチ点であると認識する。
そして、情報処理部52は、1点目のタッチ点が、右タッチ点であり、2点目のタッチ点が、左タッチ点であるとの認識に従い、左タッチ点の座標(Xleft,Yleft)に、2点目のタッチ点の座標(X2,Y2)をセットするとともに、右タッチ点の座標(Xright,Yright)に、1点目のタッチ点の座標(X1,Y1)をセットし、処理は、ステップS50からステップS41に戻る。
操作面11上の位置と表示画面21上の位置とが1対1に対応している操作系(第2の操作系)については、ユーザは、左右の指を、順番に、操作面11上に接触させ、その後は、左右の指を、操作面11上に接触させたまま、必要に応じて移動することで、GUI領域の必要な箇所をポインティングし、決定操作を行うことを、必要なだけ繰り返す。
したがって、図14のフローチャートに従ったタッチ点認識の処理により、タッチ点が、左タッチ点、及び、右タッチ点のうちのいずれであるのかを認識することができる。
なお、タッチ点認識は、その他、例えば、操作面11上の指の影(形状)に基づいて行うことができる。
また、タッチ点認識は、操作面11上に、指が入ってくるときの、その指の進入方向に基づいて行うことができる。
指の進入方向は、その指と操作面11との接触面積(形状)の変化に基づいて検出することができる。
また、センサ12が、操作面11に対する指のz方向の位置を検出することができる場合には、近接してきた指の位置(x,y,z)をトラッキングすることで、その指の進入方向を検出することができる。
[第4のマッピング]
図15は、操作面11と表示画面21とを対応付ける第4のマッピングを説明する図である。
第4のマッピングでは、第3のマッピングと同様に、左タッチ点と右タッチ点とについて、異なるマッピングが行われる。
但し、第3のマッピングでは、左タッチ点については、操作面11の一部分と、GUI領域の一部分とが対応付けられ、右タッチ点については、操作面11の他の一部分と、GUI領域の残りの部分とが対応付けられるが、第4のマッピングでは、左タッチ点について、GUI領域に対応付けられる操作面11の範囲と、右タッチ点について、GUI領域に対応付けられる操作面11の範囲とがずれるように、マッピングが行われる。
したがって、第4のマッピングを適用する場合には、第3のマッピングを適用する場合と同様に、タッチ点が、左タッチ点、及び、右タッチ点のうちのいずれであるのかを認識するタッチ点認識を行う必要がある。
図15では、操作面11の左端から、右端よりもやや中央寄りの位置までの、操作面11よりも横幅が狭い範囲が、左手で操作可能な範囲(以下、左操作可能範囲ともいう)になっており、操作面11の右端から、左端よりもやや中央寄りの位置までの、操作面11よりも横幅が狭い範囲が、右手で操作可能な範囲(以下、右操作可能範囲ともいう)になっている。
そして、図15では、左タッチ点については、左操作可能範囲とGUI領域とが、均一に対応付けられており、右タッチ点については、右操作可能範囲とGUI領域とが、均一に対応付けられている。
したがって、図15では、左タッチ点について、GUI領域に対応付けられる左操作可能範囲が、右操作可能範囲よりも左側にずれ、かつ、右タッチ点について、GUI領域に対応付けられる右操作可能範囲が、左操作可能範囲よりも右側にずれるように、操作面11とGUI領域とが対応付けられている。
図16は、第4のマッピングによる操作面11上の位置(Xin,Yin)と、表示画面21上の対応点(Xout,Yout)との対応関係を示す図である。
なお、GUI領域の横方向の長さH2が、操作面11の横方向の長さH1のkx(=H2/H1)倍であり、GUI領域の縦方向の長さV2が、操作面11の縦方向の長さV1のky(=V2/V1)倍であることとし、さらに、kx=ky=kであることとする。
また、説明を簡単にするため、GUI領域は、長方形状の領域であるとし、操作面11上の左下の点を点(Xin_min,Yin_min)とするとともに、右上の点を点(Xin_max,Yin_max)とする。さらに、GUI領域上の左下の点を点(Xout_min,Yout_min)とするとともに、右上の点を点(Xout_max,Yout_max)とする。
例えば、いま、(Xin_min,Yin_min)=(Xout_min,Yout_min)=(0,0)とすると、均一マッピングでは、図16に、一点鎖線で示すように、操作面11上の位置(Xin,Yin)と、GUI領域上の位置(k×Xin,k×Yin)とが対応付けられる。
なお、図16では、y座標の対応関係の図示は、省略してあり、x座標の対応関係のみを図示してある。
第4のマッピングでは、操作面11上の左タッチ点Xin_L(x座標がXin_Lの操作面11上の左タッチ点)については、図16に、実線で示すように、左タッチ点Xin_Lが、GUI領域上の位置Xout_L=fL(Xin_L)に対応付けられる。
さらに、第4のマッピングでは、操作面11上の右タッチ点Xin_Rについては、図16に、点線で示すように、右タッチ点Xin_Rが、GUI領域上の位置Xout_R=fR(Xin_R)に対応付けられる。
ここで、関数fL(Xin_L)及びfR(Xin_R)が、第4のマッピングを表す。
図16の関数fL(Xin_L)によれば、左タッチ点Xin_Lについては、操作面11の右端の点Xin_minから左端の点Xin_maxまでの範囲のうちの左操作可能範囲、すなわち、左操作可能範囲の左端の点Xin_minから右端の点inL(<Xin_max)までの範囲しか、左タッチ点Xin_Lは移動しない。
そして、第4のマッピングでは、操作面11よりも横幅の狭い左操作可能範囲とGUI領域とが、図16に示すように、均一に対応付けられているので(左操作可能範囲内の左タッチ点と、その左タッチ点に対応するGUI領域上の左対応点との座標が比例関係にあるので)、左タッチ点Xin_Lに対応するGUI領域上の左対応点Xout_Lは、左タッチ点Xin_Lが右側の位置であるほど、通常マッチングの場合よりも右にオフセットする(ずれる)(図16において、上向きの矢印で示すオフセット)。
同様に、第4のマッピングでは、操作面11よりも横幅の狭い右操作可能範囲とGUI領域とが、図16に示すように、均一に対応付けられているので、右タッチ点Xin_Rに対応するGUI領域上の右対応点Xout_Rは、右タッチ点Xin_Rが左側の位置であるほど、通常マッチングの場合よりも左にオフセットする(図16において、下向きの矢印で示すオフセット)。
なお、図15及び図16の第4のマッピングでは、縦方向(y方向)については、左タッチ点及び右タッチ点のいずれについても、均一マッピングと同様のマッピングが行われる。
ここで、例えば、OSKにおいて、隣り合うキーである、例えば、"G"キーと"H"キーについて、"G"キーを、左指で、"H"キーを、右指で、連続して操作しようとすると、通常マッピングでは、操作面11上で、左指と右指とが互いに干渉(接触)し、左指で"G"キーをポインティングするとともに、右指で"H"キーをポインティングすることが困難になることがある。
また、センサ12が静電式のタッチセンサである場合には、左指と右指とが接触すると、静電式のタッチ点の検出原理から、左指と右指との2つのタッチ点が、接触面積が大きな1つのタッチ点として検出されることがある。この場合、ユーザの意図に反して、2つのポインタ30L及び30Rではなく、ポインタ30L又は30Rの1つしか表示されず、"G"キーと"H"キーとを、迅速に、連続して操作することが困難となる。
第4のマッピングでは、上述したように、左タッチ点Xin_Lに対応するGUI領域上の左対応点Xout_Lは、通常マッチングの場合よりも右にオフセットし、右タッチ点Xin_Rに対応するGUI領域上の右対応点Xout_Rは、通常マッチングの場合よりも左にオフセットする。
したがって、通常マッピングでは、左タッチ点Xin_Lが、操作面11の中央近くの左寄りに位置するように、左指を移動しないと、"G"キーをポインティングすることはできないが、第4のマッピングによれば、左タッチ点Xin_Lが、操作面11の中央から幾分か離れた左寄りに位置するように、左指を移動することで、右にオフセットする左対応点Xout_Lにより、"G"キーをポインティングすることができる。
同様に、通常マッピングでは、右タッチ点Xin_Rが、操作面11の中央近くの右寄りに位置するように、右指を移動しないと、"H"キーをポインティングすることはできないが、第4のマッピングによれば、右タッチ点Xin_Rが、操作面11の中央から幾分か離れた右寄りに位置するように、右指を移動することで、左にオフセットする右対応点Xout_Rにより、"H"キーをポインティングすることができる。
その結果、OSKにおいて、隣り合うキーである"G"キーと"H"キーについて、"G"キーを、左指で、"H"キーを、右指で、連続して操作しよう場合に、操作面11上で、左指と右指とが幾分か離れた状態で、左指による"G"キーのポインティングと、右指による"H"キーのポインティングとを行うことができる。
したがって、OSKにおいて、隣り合うキーを、左指と右指とで、連続して操作しようとする場合に、左指と右指とが干渉することや、左指と右指との2つのタッチ点が、接触面積が大きな1つのタッチ点として検出されることを防止し、操作性を向上させることができる。
なお、図15及び図16の第4のマッピングでは、左操作可能範囲とGUI領域の全体とが対応付けられ、かつ、右操作可能範囲とGUI領域の全体とが対応付けられているので、左指、又は、右指のいずれかだけでも、OSKのすべてのキーを含むGUI領域の任意の点をポインティングすることができる。
ここで、第4のマッピングは、タッチ点が、左タッチ点及び右タッチ点のいずれであるかと、タッチ点の座標(図15及び図16では、x座標)に基づいて、そのタッチ点の対応点をオフセットする補正を行っているということができ、以下、オフセットマッピングともいう。
図15及び図16のオフセットマッピングでは、左タッチ点については、その左タッチ点のx座標Xin_Lが大であるほど、タッチ点(Xin,Yin)と対応点(k×Xin,k×Yin)とを対応付ける均一マッピング(図16の一点鎖線)の場合よりも、左対応点のx座標Xout_Lの正方向のオフセット量(図16の上向きの矢印)が大になっている。
したがって、左タッチ点が右側に位置するほど、左対応点は、均一マッピングの場合よりも、より右側にオフセットする。
また、図15及び16のオフセットマッピングでは、右タッチ点については、その右タッチ点のx座標Xin_Rが小であるほど、均一マッピング(図16の一点鎖線)の場合よりも、右対応点のx座標Xout_Rの負方向のオフセット量(図16の下向きの矢印)が大になっている。
したがって、右タッチ点が左側に位置するほど、右対応点は、均一マッピングの場合よりも、より左側にオフセットする。
以上のように、左対応点が、右側にオフセットするとともに、右対応点が、左側にオフセットするので、OSKの左右に隣り合う2つのキーのうちの、左側のキーを、左指で操作し、かつ、右側のキーを、右指で操作する場合に、操作面11上で、左指と右指とが幾分か離れた状態で、左指及び左指による隣り合う2つのキーのポインティングを行うことができる。
なお、図15及び図16では、オフセットマッピング(第4のマッピング)として、対応点を、横方向にオフセットするマッピングを行ったが、その他、オフセットマッピングでは、左対応点及び右対応点のうちの、上側に位置する方の対応点を、下側にオフセットし、下側に位置する方の対応点を、上側にオフセットすることができる。
この場合、例えば、OSKの上下に隣り合う2つのキーを、左指と右指とで操作する場合に、左指と右指とが干渉することを防止することができる。
また、オフセットマッピングでの、左操作可能範囲とGUI領域との対応付け、及び、右操作可能範囲とGUI領域との対応付けには、第2のマッピングを適用することができる。
なお、左指と右指との干渉等は、左指と右指とで、操作面11を操作する場合に生じるので、オフセットマッピングは、タッチ点が1点(以下)の場合には、適用せず、タッチ点が2点の場合にのみ適用することができる。
但し、タッチ点が1点の場合には、オフセットマッピングを適用せず、タッチ点が2点の場合にのみ、オフセットマッピングを適用することとすると、タッチ点が、1点から2点に変更されたときと、2点から1点に変更されたときとに、表示画面21に表示されたポインタ30Lや30Rがジャンプするように移動し、その結果、ユーザに違和感を感じさせることがある。
したがって、オフセットマッピングは、タッチ点の数にかかわらず、適用することができる。
ところで、図4で説明したように、操作面11が、液晶パネル等の表示部と一体的に構成され、画像を表示し、その画像に対する入力を受け付けることができるタッチスクリーンとして機能する場合には、端末10では、例えば、TV20の表示画面21に表示されるGUIや、そのGUIを構成するGUI部品である、例えば、OSK等を、タッチスクリーンとしての操作面11に表示することができる。
例えば、TV20の表示画面21に表示されたOSKが、端末10の操作面11にも表示される場合、ユーザは、離れた位置にあるTV20の表示画面21に表示されたOSKを見ながら、操作面11を操作するときと、手元にある端末10の操作面11に表示されたOSKを見ながら、操作面11を操作するときとがある。
ユーザが、手元にある端末10の操作面11に表示されたOSKを見ながら、操作面11を操作する場合、オフセットマッピングを適用すると、ユーザがタッチしている、操作面11上のOSKのキーと、ポインタ30L又は30Rによってポインティングされる、表示画面21上のOSKのキーとが一致しないことがあり、この場合、ユーザに違和感を感じさせることになる。
そこで、TV20(図4)の情報処理部52では、オフセットマッピングを適用するかどうかの適用判定を行い、その適用判定の結果に従い、マッピング部62でのオフセットマッピングの適用の可否を決定することができる。
図17は、オフセットマッピングの適用判定の処理を説明するフローチャートである。
ステップS61において、情報処理部52は、通信部51から供給される操作情報に基づいて、ユーザによる操作面11の操作が、タップであるかどうかを判定する。
ステップS61において、ユーザによる操作面11の操作が、タップであると判定された場合、処理は、ステップS62に進み、情報処理部52は、マッピング部62において、オフセットマッピングを行わない(解除する)ことを決定して、処理は、ステップS61に戻る。
また、ステップS61において、ユーザによる操作面11の操作が、タップでないと判定された場合、処理は、ステップS63に進み、情報処理部52は、通信部51から供給される操作情報に基づいて、ユーザによる操作面11の操作が、ドラッグであるかどうかを判定する。
ステップS63において、ユーザによる操作面11の操作が、ドラッグでないと判定された場合、処理は、ステップS61に戻る。
また、ステップS63において、ユーザによる操作面11の操作が、ドラッグであると判定された場合、処理は、ステップS64に進み、情報処理部52は、マッピング部62において、オフセットマッピングを行うことを決定して、処理は、ステップS61に戻る。
すなわち、ユーザが、操作面11にドラッグ操作を行っている場合、ユーザは、TV20の表示画面21に表示されたOSK等を見ながら、操作面11を操作していると推測されるので、マッピング部62は、オフセットマッピングを行う。
一方、ユーザが、操作面11にタップ操作を行っている場合、ユーザは、操作面11に表示されたOSK等を見ながら、操作面11を操作していると推測されるので、マッピング部62は、オフセットマッピングを行わない。
この場合、ユーザがタッチしている、操作面11上のOSKのキーと、ポインタ30L又は30Rによってポインティングされる、表示画面21上のOSKのキーとが一致せずに、ユーザに違和感を感じさせることを防止することができる。
ところで、操作面11が、タッチスクリーンとして機能する場合には、端末10は、スマートフォン等のように、スタンドアロンで動作することができる。
この場合、端末10には、図4のマッピング部62、及び、対応点検出部63と同様のブロックを設け、マッピング、及び、タッチ点に対する対応点の検出を行うことができる。
図18は、そのような端末10のタッチスクリーンとしての操作面11の表示例を示す図である。
図18では、操作面11に、OSKが表示され、さらに、そのOSKの上部に、入力欄が表示されている。
図18において、入力欄には、OSKを操作することにより入力された文字が表示される。
図18では、端末10において、x方向(横方向)、及び、y方向(縦方向)のいずれの方向についても、タッチ点に対する対応点をオフセットする補正を行うオフセットマッピングが行われている。
但し、x方向については、図15で説明したように、タッチ点のx座標に応じて、そのタッチ点に対する対応点のx座標のオフセット量が異なるオフセットマッピング(以下、可変オフセットマッピングともいう)が行われているが、y方向については、タッチ点のy座標に関係なく、そのタッチ点に対する対応点のy座標のオフセット量が一定のオフセットマッピング(以下、固定オフセットマッピングともいう)が行われている。
図18では、端末10において、以上のようなオフセットマッピングの結果に基づいて、左タッチ点に対する左対応点、及び、右タッチ点に対する右対応点が検出され、操作面11の左対応点に、左指がタッチしていることを表すシンボル画像としてのポインタ15Lが表示されるとともに、操作面11の右対応点に、右指がタッチしていることを表すシンボル画像としてのポインタ15Rが表示される。
図18では、上述のように、x方向については、可変オフセットマッピングが行われ、y方向については、固定オフセットマッピングが行われているため、左タッチ点が、図18Aに示すように、操作面11に表示されているOSKの左端に位置している場合には、その左タッチ点に対する左対応点は、左タッチ点から、y方向(上方向)に一定のオフセット量だけオフセットした位置になる。
ポインタ15Lは、以上のように、左タッチ点から、y方向に一定のオフセット量だけオフセットした位置の左対応点に表示されるので、ポインタ15Lが、左タッチ点にタッチしている左指に隠れて見えなくなることを防止することができる。
右タッチ点についても、同様に、右タッチ点が、操作面11に表示されているOSKの右端に位置している場合には、ポインタ15Rは、右タッチ点から、y方向に一定のオフセット量だけオフセットした位置の右対応点に表示されるので、ポインタ15Rが、右タッチ点にタッチしている右指に隠れて見えなくなることを防止することができる。
また、左タッチ点が、図18Bに示すように、操作面11に表示されているOSKの中央左寄りに位置している場合には、その左タッチ点に対する左対応点は、左タッチ点から、y方向に一定のオフセット量だけオフセットし、かつ、x方向(右方向)(中央寄り)に、左タッチ点のx座標に応じて増加するオフセット量だけオフセットした位置になる。
ポインタ15Lは、以上のように、左タッチ点から、y方向に一定のオフセット量だけオフセットし、かつ、x方向に、左タッチ点のx座標に応じて増加するオフセット量だけオフセットした、中央寄りの位置(左タッチ点の左上の位置)の左対応点に表示される。
また、左タッチ点が、図18Bに示すように、操作面11に表示されているOSKの中央右寄りに位置している場合には、その右タッチ点に対する右対応点は、右タッチ点から、y方向に一定のオフセット量だけオフセットし、かつ、x方向(左方向)(中央寄り)に、右タッチ点のx座標に応じて増加するオフセット量だけオフセットした位置になる。
ポインタ15Rは、以上のように、右タッチ点から、y方向に一定のオフセット量だけオフセットし、かつ、x方向に、右タッチ点のx座標に応じて増加するオフセット量だけオフセットした、中央寄りの位置(右タッチ点の右上の位置)の右対応点に表示される。
したがって、ポインタ15L及び15Rが、指で隠れて見えなくなることを防止するとともに、OSKの隣り合う2つのキーを、左指と右指とで操作する場合に、左指と右指とが接触することを防止することができる。
以上のように、例えば、スタンドアロンの端末10において、x方向については、可変オフセットマッピングを行い、y方向については、固定オフセットマッピングを行うことにより、操作面11に表示されたポインタ15L及び15Rが、指で隠れて見えなくなることを防止することができる。したがって、ユーザは、ポインタ15L及び15Rを見て、ポインティングしているOSKのキーを容易に確認するので、OSKのキーが小さくても、それほどの負担なく、操作を行うことができる。
さらに、x方向のオフセットマッピングによれば、OSKのキーをポインティングするときに、指をx方向に動かす距離を短くすることができる。
なお、ポインタ15L及び15Rは、ポインタ30L及び30Rと同様に、表示形式を変えることにより、それぞれを、ユーザが容易に区別することができるように表示することができる。
また、図18において、入力欄には、ポインティングされ、図2で説明した決定操作がされたOSKのキーの文字を表示することができる他、ポインティングされているが、まだ、決定操作がされていないOSKのキーの文字を、いわゆるプレビュー表示することができる。
さらに、入力欄において、プレビュー表示では、左指でポインティングされているキーの文字と、右指でポインティングされているキーの文字とを、ユーザが容易に区別することができるように、ポインタ15L及び15Rそれぞれと同様の表示形式で表示することができる。この場合、ユーザは、入力欄を見ながら、いわゆるブラインドタッチで、OSKを操作することができる。
なお、図18では、左指(ポインタ15L)でポインティングされているキーの文字と、右指(ポインタ15R)でポインティングされているキーの文字との2文字のプレビュー表示を行うこととしたが、プレビュー表示において、2文字の表示を行うと、判読性が低下し、見にくい場合がある。そこで、プレビュー表示では、ポインタ15Lでポインティングされているキーの文字と、ポインタ15Rでポインティングされているキーの文字とのうちの一方の文字を、選択的に表示することができる。すなわち、プレビュー表示では、例えば、ポインタ15L及び15Rのうちの、前回の決定操作が行われてからの移動距離が大きい方のポインタでポインティングされているキーの文字の1文字だけを表示することができる。
[本技術を適用したコンピュータの説明]
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
そこで、図18は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク105やROM103に予め記録しておくことができる。
あるいはまた、プログラムは、リムーバブル記録媒体111に格納(記録)しておくことができる。このようなリムーバブル記録媒体111は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体111としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
なお、プログラムは、上述したようなリムーバブル記録媒体111からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク105にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
コンピュータは、CPU(Central Processing Unit)102を内蔵しており、CPU102には、バス101を介して、入出力インタフェース110が接続されている。
CPU102は、入出力インタフェース110を介して、ユーザによって、入力部107が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)103に格納されているプログラムを実行する。あるいは、CPU102は、ハードディスク105に格納されたプログラムを、RAM(Random Access Memory)104にロードして実行する。
これにより、CPU102は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU102は、その処理結果を、必要に応じて、例えば、入出力インタフェース110を介して、出力部106から出力、あるいは、通信部108から送信、さらには、ハードディスク105に記録等させる。
なお、入力部107は、キーボードや、マウス、マイク等で構成される。また、出力部106は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
さらに、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
また、本実施の形態では、端末10において、操作情報に、操作面11上のタッチ点を表す情報を含めて、TV20に送信することとしたが、端末10では、操作面11上のタッチ点に対する対応点を表す情報を、操作情報に含めて、TV20に送信することができる。
端末10において、操作面11上のタッチ点に対する対応点を表す情報を、操作情報に含めて、TV20に送信する場合、端末10で、マッピング、及び、タッチ点に対する対応点の検出を行う必要があるので、マッピング部62、及び、対応点検出部63(図4)は、TV20ではなく、端末10に設けられる。
さらに、本実施の形態では、表示制御部61において、タッチ点に対応する対応点に、タッチがされていることを表すシンボル画像としてのポインタ30Lや30Rを、表示画面21に表示されているGUIとは別に表示することとしたが、表示制御部61では、対応点にシンボル画像を表示することに代えて、例えば、対応点上に表示されているGUI部品の輝度や色等の表示形式を変更することによって、タッチがされていることを表すことができる。