JP2010108081A - メニュー表示装置、メニュー表示装置の制御方法、およびメニュー表示プログラム - Google Patents
メニュー表示装置、メニュー表示装置の制御方法、およびメニュー表示プログラム Download PDFInfo
- Publication number
- JP2010108081A JP2010108081A JP2008277030A JP2008277030A JP2010108081A JP 2010108081 A JP2010108081 A JP 2010108081A JP 2008277030 A JP2008277030 A JP 2008277030A JP 2008277030 A JP2008277030 A JP 2008277030A JP 2010108081 A JP2010108081 A JP 2010108081A
- Authority
- JP
- Japan
- Prior art keywords
- menu
- data
- unit
- display
- sensor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Controls And Circuits For Display Device (AREA)
- User Interface Of Digital Computer (AREA)
- Position Input By Displaying (AREA)
- Control Of Indicators Other Than Cathode Ray Tubes (AREA)
Abstract
【課題】ユーザの持ち方によらず、ユーザの操作方法に応じたメニュー表示を行うことが可能なメニュー表示装置を提供する。
【解決手段】本実施形態に係るデータ表示/センサ装置100は、センサ内蔵液晶パネル301が検知した対象物の像(例えば指、ペンなどの影像または反射像)を取得するデータ取得部11と、データ取得部11が取得した対象物の像の、センサ内蔵液晶パネル301上における位置に応じて、ユーザが選択可能なメニュー項目を配置する配置位置を決定する片手モード処理部13(およびメニュー表示制御部14)と、この配置位置に、メニュー項目を配置してメニュー表示を行うメニュー表示制御部14と、を備えている。
【選択図】図1
【解決手段】本実施形態に係るデータ表示/センサ装置100は、センサ内蔵液晶パネル301が検知した対象物の像(例えば指、ペンなどの影像または反射像)を取得するデータ取得部11と、データ取得部11が取得した対象物の像の、センサ内蔵液晶パネル301上における位置に応じて、ユーザが選択可能なメニュー項目を配置する配置位置を決定する片手モード処理部13(およびメニュー表示制御部14)と、この配置位置に、メニュー項目を配置してメニュー表示を行うメニュー表示制御部14と、を備えている。
【選択図】図1
Description
本発明は、ユーザの持ち方によらず、ユーザの操作方法に応じたメニュー表示を行うことが可能なメニュー表示装置、メニュー表示装置の制御方法、およびメニュー表示プログラムに関する。
近年、携帯電話機、PDAなどに代表されるモバイル機器(携帯端末)は、持ち運び、モバイル利用(メールサーバなどにアクセスして、直接処理可能なこと)を前提としているため、さらなる小型・薄型化が望まれている。しかし、モバイル機器の小型化を図る場合、当該モバイル機器に備えられた例えば機能キー、ボタンなどのハードキーサイズ、表示画面サイズも小さくなる。この場合、ユーザは、小さな表示画面を見ながら、小さなハードキーを操作することとなる。このため、上記モバイル機器の小型化を図る場合、ハードキーサイズおよび表示画面サイズが小さくなるため、当該表示画面に表示される情報の視認性、および当該ハードキーの操作性が低下するという問題があった。
この問題を解決するため、ハードキーの機能をソフトウェアにて実現して、当該ハードキーの機能をメニューアイコンとして表示画面に表示させることによって、モバイル機器の小型化を図った場合であっても表示画面サイズをそのままにする(もしくは大きくする)ことが可能な技術が開発されている。このようなモバイル機器の場合、上記情報の視認性およびキーの操作性の低下を抑制できる。
上記ハードキーの機能をソフトウェアにて実現した技術は、特許文献1、2に開示されている(図13(a)および(b))。
特許文献1には、表示画面に重なる入力領域を有するタッチ入力部を備え、当該タッチ入力部に対する第1のタッチT1に応じて、当該タッチT1のタッチ位置を中心としてほぼ環状に配置される円形メニューを表示する表示装置が開示されている。なお、図13(a)は、タッチ位置を中心として環状に配置される円形メニューを表示する表示装置の表示画面を示す図である。
また、特許文献2には、片手で保持可能な筐体210を有し、当該筐体210の側面に人の手の接触領域の分布を検知するためのシート状の感圧センサ220L、220Rを備えた情報処理装置200が開示されている。この情報処理装置200は、感圧センサ220L、220Rからの出力に基づいて、表示画面230上に表示される内容を制御している。
この構成によれば、感圧センサ220L、220Rによってユーザがどちらの手で持っているかを判断し、当該判断の結果に応じてソフトキーの配置を切り替えることができるので、ユーザにとって最適な表示を行うことができる。なお、図13(b)は、特許文献2に係る情報処理装置の概観を示す図である。
特開2006−139615号公報(平成18年6月1日公開)
特開2008−27183号公報(平成20年2月7日公開)
しかしながら、特許文献1の技術では、第1のタッチT1のタッチ位置の周辺に円形メニューを表示する構成となっているが、ユーザがどちらの手で表示画面をタッチしたかを検出しているわけではない。すなわち、特許文献1の技術では、ユーザが表示装置を持つ持ち手での操作か否かの判定を行わず、どちらの手で操作しても所定の円形メニューが表示されるだけであるため、ユーザの操作の仕方(例えばユーザが持ち手の親指で操作するなどのユーザの操作方法)によっては使い勝手が悪くなってしまう虞がある。
また、特許文献2の技術では、ユーザの持ち手での操作か両手での操作かなどのユーザの操作方法によってソフトキーの配置を変更する(切り替える)ものであり、筐体210の側面に設けられた感圧センサ220L、220Rが抽出する特徴量に応じて行われる。すなわち、特許文献2の技術では、ソフトキーの配置の変更を、感圧センサ220L、220Rを備えて実現しており、ユーザの入力操作を取得する表示画面230が直接検知しているわけではない。
このため、特許文献2の技術では、ユーザが筐体210を持って操作する場合に、当該感圧センサ220L、220Rが抽出する特徴量のパターンは予め決められているので、所定の触れ方をしないと、どちらの手で持っており、どちらの手で操作したいのかを判定することができなくなる虞がある。すなわち、特許文献2の技術では、ユーザの持ち方によっては、どのように操作したいのかを判定することができなくなるという虞がある。
本発明は、上記問題点に鑑みてなされたものであり、その目的は、ユーザの持ち方によらず、ユーザの操作方法に応じたメニュー表示を行うことが可能なメニュー表示装置、メニュー表示装置の制御方法、およびメニュー表示プログラムを提供することにある。
本発明に係るメニュー表示装置は、上記課題を解決するため、近傍の対象物を検知すると共に、ユーザが機能を選択するためのメニューを表示する面状部材を備えたメニュー表示装置であって、上記面状部材が検知した対象物の像を取得する像取得手段と、上記像取得手段が取得した対象物の像の、上記面状部材上における位置に応じて、ユーザが選択可能なメニュー項目を配置する配置位置を決定する位置決定手段と、上記位置決定手段が決定した配置位置に、上記メニュー項目を配置してメニュー表示を行うメニュー表示制御手段と、を備えたことを特徴としている。
本発明に係るメニュー表示装置の制御方法は、上記課題を解決するため、近傍の対象物を検知すると共に、ユーザが機能を選択するためのメニューを表示する面状部材を備えたメニュー表示装置の制御方法であって、上記面状部材が検知した対象物の像を取得する像取得ステップと、上記像取得ステップにて取得した対象物の像の、上記面状部材上における位置に応じて、ユーザが選択可能なメニュー項目を配置する配置位置を決定する位置決定ステップと、上記位置決定ステップにて決定した配置位置に、上記メニュー項目を配置してメニュー表示を行う表示制御ステップと、を含むことを特徴としている。
上記構成によれば、メニュー表示装置およびメニュー表示装置の制御方法では、対象物の像の、面状部材上における位置に応じて、メニュー項目を配置する配置位置を決定して、当該配置位置にメニュー項目を配置してメニュー表示を行う。
これにより、ユーザは、上記メニュー表示装置をどのような持ち方で持った場合であっても、その持ち方を意識せずに、また、持ち方に応じたメニュー表示の設定を行うことなく、ユーザが面状部材上に指を持ってくるだけで、面状部材に表示されるメニュー項目を対する処理を容易に行うことができる。すなわち、ユーザは、どちらの手で持ち、どちらの手で操作する場合であっても、持ち方によらず、また、上記設定を行うことなく、本来の目的(メニュー項目に対応付けられた機能の実行など)に直結した直感的な操作を行うことができる。
このため、メニュー表示装置は、ユーザの操作性および利便性を向上させることができる。
さらに、本発明に係るメニュー表示装置は、上記像取得手段が取得した対象物の像が、上記面状部材上の所定の領域内にあるか否かを判定する領域判定手段をさらに備え、上記位置決定手段は、上記領域判定手段による判定結果に基づいて、上記配置位置を決定してもよい。
上記構成によれば、メニュー表示装置では、上記所定の領域内に対象物の像があるか否かを判定した結果に応じたメニュー表示を行うことができる。これにより、メニュー表示装置では、ユーザが面状部材上に指を持ってくるだけで、当該メニュー表示装置の持ち方によらない、ユーザの直感的な操作を実現することができる。
さらに、本発明に係るメニュー表示装置は、上記所定の領域は、ユーザが自装置を把持している持ち手で上記面状部材に対する操作を行うときには、上記領域判定手段が上記像取得手段によって取得された対象物の像を検出する領域であり、上記持ち手とは反対の手で上記面状部材に対する操作を行うときには、上記領域判定手段が上記対象物の像を検出しない領域であってもよい。
上記構成によれば、上記領域判定手段は、ユーザが自装置を把持している持ち手で面状部材に対する操作を行うか、持ち手とは反対の手で上記面状部材に対する操作を行うかによって、メニュー項目の配置位置を決定することができる。
これにより、メニュー表示装置は、ユーザが持ち手(すなわち片手)で操作するか、持ち手とは反対の手を用いて(すなわち両手で)操作するかを判定することによって、メニュー表示を切り替えることができる。
さらに、本発明に係るメニュー表示装置は、上記領域判定手段によって、上記像取得手段が取得した対象物の像が、上記面状部材上の所定の領域内にあると判定された場合、上記面状部材が検知する対象物の像は、上記持ち手の指の像であり、さらに、上記像取得手段が取得した指の像における指先の位置を示す指先位置座標を求める座標算出手段と、上記座標算出手段が求めた指先位置座標上または指先位置座標近傍を通り、ユーザの指が上記面状部材の表面上を移動したときに、当該指の指先が通る仮想的な線分を決定する線分決定手段と、をさらに備え、上記位置決定手段は、上記線分決定手段が決定した仮想的な線分上に、上記メニュー項目の配置位置を決定してもよい。
上記構成によれば、メニュー表示装置では、ユーザが持ち手(片手)で操作を行うときには、線分決定手段は、座標算出手段が求めた指先位置座標上または指先位置座標近傍を通る仮想的な線分を決定する。そして、位置決定手段は、この仮想的な線分上にメニュー項目を配置する。
これにより、メニュー表示装置では、持ち手で操作するときには、ユーザが面状部材の表面上を指でなぞったときの指先または指の腹にメニューがくるように、メニュー表示を行うことができる。すなわち、例えばユーザがメニュー表示装置を片手で持ち、当該持ち手で使用することを所望する場合、ユーザが無理なく(例えば持ち替える、両手で(反対の手も用いて)操作するなどの行動を起こすことなく)操作できる範囲にメニュー表示を行うことができる。
さらに、本発明に係るメニュー表示装置は、上記座標算出手段が求めた指先位置座標と付け根位置座標との距離を求める距離算出手段をさらに備え、上記座標算出手段は、さらに、上記像取得手段が取得した指の像における当該指の付け根の位置を示す付け根位置座標を求めるものであり、上記線分決定手段は、上記座標算出手段が求めた付け根位置座標を中心座標とし、上記距離算出手段が求めた距離または当該距離よりも短い距離を半径とした円孤の軌跡を上記仮想的な線分として求めてもよい。
上記構成によれば、線分決定手段は、座標算出手段が求めた付け根位置座標を中心座標とし、距離算出手段が求めた距離または当該距離よりも短い距離を半径とした円弧の軌跡を仮想的な線分として求める。
これにより、メニュー表示装置は、円の軌跡上にメニュー項目を配置してメニュー表示を行うので、ユーザが面状部材の表面上を指でなぞったときに指先または指の腹にメニューがくるように、当該メニューを表示することができる。
なお、上記メニュー表示装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記各手段として動作させることにより上記メニュー表示装置をコンピュータにて実現させるメニュー表示装置の制御プログラムも、本発明の範疇に入る。
本発明に係るメニュー表示装置は、以上のように、上記面状部材が検知した対象物の像を取得する像取得手段と、上記像取得手段が取得した対象物の像の、上記面状部材上における位置に応じて、ユーザが選択可能なメニュー項目を配置する配置位置を決定する位置決定手段と、上記位置決定手段が決定した位置に、上記メニュー項目を配置してメニュー表示を行うメニュー表示制御手段と、を備えた構成である。
また、本発明に係るメニュー表示装置の制御方法は、以上のように、上記面状部材が検知した対象物の像を取得する像取得ステップと、上記像取得ステップにて取得した対象物の像の、上記面状部材上における位置に応じて、ユーザが選択可能なメニュー項目を配置する配置位置を決定する位置決定ステップと、上記位置決定ステップにて決定した位置に、上記メニュー項目を配置してメニュー表示を行う表示制御ステップと、を含む方法である。
それゆえ、メニュー表示装置およびメニュー表示装置の制御方法では、ユーザは、当該メニュー表示装置をどのような持ち方で持った場合であっても、その持ち方を意識せずに、また、持ち方に応じたメニュー表示の設定を行うことなく、面状部材に表示されるメニュー項目に対する処理を容易に行うことができる。すなわち、ユーザは、どちらの手で持ち、どちらの手で操作する場合であっても、持ち方によらず、また、上記設定を行うことなく、本来の目的(メニュー項目に対応付けられた機能の実行など)に直結した直感的な操作を行うことができる。
このため、メニュー表示装置は、ユーザの操作性および利便性を向上させることができる。
本発明の一実施形態について図1から図12に基づいて説明すると以下の通りである。
本実施形態に係るデータ表示/センサ装置(メニュー表示装置)100は、センサ内蔵液晶パネル(面状部材)301が検知した対象物の像(例えば指、ペンなどの影像または反射像)を取得するデータ取得部(像取得手段)11と、データ取得部11が取得した対象物の像の、センサ内蔵液晶パネル301上における位置に応じて、ユーザが選択可能なメニュー項目を配置する配置位置を決定する片手モード処理部13(およびメニュー表示制御部14)(位置決定手段)と、上記配置位置に、メニュー項目を配置してメニュー表示を行うメニュー表示制御部(メニュー表示制御手段)14と、を備えている。
これにより、データ表示/センサ装置100は、ユーザがセンサ内蔵液晶パネル301上に指を持ってくるだけで、ユーザの操作の仕方にあわせたメニュー表示を行うことが可能となる。
従って、ユーザは、片手で操作する場合のメニュー表示と両手で操作する場合のメニュー表示とを設定することなく、センサ内蔵液晶パネル301に表示されたメニュー項目を容易に選択することができる。すなわち、ユーザは、どちらの手で操作する場合であっても、上記設定をすることなく、本来の目的(メニュー項目に割り当てられた機能の実行など)に直結した直感的な操作を行うことができる。
このため、データ表示/センサ装置100は、ユーザの操作性および利便性を向上させることができる。
まず、以下で、上記データ表示/センサ装置100が備えるセンサ内蔵液晶パネル301の概要について説明する。
(センサ内蔵液晶パネルの概要)
上記データ表示/センサ装置100が備えるセンサ内蔵液晶パネル301は、データの表示に加え、対象物の画像検出が可能な液晶パネルである。ここで、対象物の画像検出とは、例えば、ユーザが指やペンなどでポインティング(タッチ)した位置の検出や、印刷物等の画像の読み取り(スキャン)である。なお、表示に用いるデバイスは、液晶パネルに限定されるものではなく、有機EL(Electro Luminescence)パネルなどであってもよい。
上記データ表示/センサ装置100が備えるセンサ内蔵液晶パネル301は、データの表示に加え、対象物の画像検出が可能な液晶パネルである。ここで、対象物の画像検出とは、例えば、ユーザが指やペンなどでポインティング(タッチ)した位置の検出や、印刷物等の画像の読み取り(スキャン)である。なお、表示に用いるデバイスは、液晶パネルに限定されるものではなく、有機EL(Electro Luminescence)パネルなどであってもよい。
図2を参照しながら、センサ内蔵液晶パネル301の構造について説明する。図2は、センサ内蔵液晶パネル301の断面を模式的に示す図である。なお、ここで説明するセンサ内蔵液晶パネル301は一例であり、表示面と読取面とが共用されているものであれば、任意の構造のものが利用できる。
図示のとおり、センサ内蔵液晶パネル301は、背面側に配置されるアクティブマトリクス基板51Aと、表面側に配置される対向基板51Bとを備え、これら基板の間に液晶層52を挟持した構造を有している。アクティブマトリクス基板51Aには、画素電極56、データ信号線57、光センサ回路32(図示せず)、配向膜58、偏光板59などが設けられる。対向基板51Bには、カラーフィルタ53r(赤)、53g(緑)、53b(青)、遮光膜54、対向電極55、配向膜58、偏光板59などが設けられる。また、センサ内蔵液晶パネル301の背面には、バックライト307が設けられている。
なお、光センサ回路32に含まれるフォトダイオード6は、青のカラーフィルタ53bを設けた画素電極56の近傍に設けられているが、この構成に限定されるものではない。赤のカラーフィルタ53rを設けた画素電極56の近傍に設けてもよいし、緑のカラーフィルタ53gを設けた画素電極56の近傍に設けてもよい。
次に、図3(a)および図3(b)を参照しながら、ユーザが、指やペンで、センサ内蔵液晶パネル301上をタッチした位置を検出する2種類の方法について説明する。
図3(a)は、反射像を検知することにより、ユーザがタッチした位置を検出する様子を示す模式図である。バックライト307から光63が出射されると、フォトダイオード6を含む光センサ回路32は、指などの対象物64により反射された光63を検知する。これにより、対象物64の反射像を検知することができる。このように、センサ内蔵液晶パネル301は、反射像を検知することにより、タッチした位置を検出することができる。
また、図3(b)は、影像を検知することにより、ユーザがタッチした位置を検出する様子を示す模式図である。図3(b)に示すように、フォトダイオード6を含む光センサ回路32は、対向基板51Bなどを透過した外光61を検知する。しかしながら、ペンなどの対象物62がある場合は、外光61の入射が妨げられるので、光センサ回路32が検知する光量が減る。これにより、対象物62の影像を検知することができる。このように、センサ内蔵液晶パネル301は、影像を検知することにより、タッチした位置を検出することもできる。
上述のように、フォトダイオード6は、バックライト307より出射された光の反射光(影像)を検知してもよいし、外光による影像を検知してもよい。また、上記2種類の検知方法を併用して、影像と反射像とを両方を同時に検知するようにしてもよい。
(データ表示/センサ装置の要部構成)
次に、図4を参照しながら、上記データ表示/センサ装置100の要部構成について説明する。図4は、データ表示/センサ装置100の要部構成を示すブロック図である。図示のように、データ表示/センサ装置100は、1または複数の表示/光センサ部300、回路制御部600、データ処理部700、主制御部800、記憶部901、一次記憶部902、操作部903、外部通信部907、音声出力部908、および音声入力部909を備えている。ここでは、データ表示/センサ装置100は、表示/光センサ部300を2つ(第1表示/光センサ部300Aおよび第2表示/光センサ部300B)備えているものとして説明する。なお、第1表示/光センサ部300Aおよび第2表示/光センサ部300Bを区別しないときは、表示/光センサ部300と表記する。
次に、図4を参照しながら、上記データ表示/センサ装置100の要部構成について説明する。図4は、データ表示/センサ装置100の要部構成を示すブロック図である。図示のように、データ表示/センサ装置100は、1または複数の表示/光センサ部300、回路制御部600、データ処理部700、主制御部800、記憶部901、一次記憶部902、操作部903、外部通信部907、音声出力部908、および音声入力部909を備えている。ここでは、データ表示/センサ装置100は、表示/光センサ部300を2つ(第1表示/光センサ部300Aおよび第2表示/光センサ部300B)備えているものとして説明する。なお、第1表示/光センサ部300Aおよび第2表示/光センサ部300Bを区別しないときは、表示/光センサ部300と表記する。
表示/光センサ部300は、いわゆる光センサ内蔵液晶表示装置である。表示/光センサ部300は、センサ内蔵液晶パネル301、バックライト307、それらを駆動するための周辺回路309を含んで構成される。
センサ内蔵液晶パネル301は、マトリクス状に配置された複数の画素回路31および光センサ回路32を含んで構成される。センサ内蔵液晶パネル301の詳細な構成については後述する。
周辺回路309は、液晶パネル駆動回路304、光センサ駆動回路305、信号変換回路306、バックライト駆動回路308を含む。
液晶パネル駆動回路304は、回路制御部600の表示制御部601からのタイミング制御信号(TC1)およびデータ信号(D)に従って、制御信号(G)およびデータ信号(S)を出力し、画素回路31を駆動する回路である。画素回路31の駆動方法の詳細については後述する。
光センサ駆動回路305は、回路制御部600のセンサ制御部602からのタイミング制御信号(TC2)に従って、信号線(R)に電圧を印加し、光センサ回路32を駆動する回路である。光センサ回路32の駆動方法の詳細については後述する。
信号変換回路306は、光センサ回路32から出力されるセンサ出力信号(SS)をデジタル信号(DS)に変換し、該変換後の信号をセンサ制御部602に送信する回路である。
バックライト307は、複数の白色LED(Light Emitting Diode)を含んでおり、センサ内蔵液晶パネル301の背面に配置される。そして、バックライト駆動回路308から電源電圧が印加されると、バックライト307は点灯し、センサ内蔵液晶パネル301に光を照射する。なお、バックライト307は、白色LEDに限らず、他の色のLEDを含んでいてもよい。また、バックライト307は、LEDに代えて、例えば、冷陰極管(CCFL:Cold Cathode Fluorescent Lamp)を含むものであってもよい。
バックライト駆動回路308は、回路制御部600のバックライト制御部603からの制御信号(BK)がハイレベルであるときは、バックライト307に電源電圧を印加し、逆に、バックライト制御部603からの制御信号がローレベルであるときは、バックライト307に電源電圧を印加しない。
次に、回路制御部600について説明する。回路制御部600は、表示/光センサ部300の周辺回路309を制御するデバイスドライバとしての機能を備えるものである。回路制御部600は、表示制御部601、センサ制御部602、バックライト制御部603、および表示データ記憶部604を備えている。
表示制御部601は、データ処理部700の表示データ処理部701から表示データを受信するとともに、表示データ処理部701からの指示に従って、表示/光センサ部300の液晶パネル駆動回路304に、タイミング制御信号(TC1)およびデータ信号(D)を送信し、上記受信した表示データをセンサ内蔵液晶パネル301に表示させる。
なお、表示制御部601は、表示データ処理部701から受信した表示データを、表示データ記憶部604に一次記憶させる。そして、当該一次記憶させた表示データに基づいて、データ信号(D)を生成する。表示データ記憶部604は、例えば、VRAM(video random access memory)などである。
センサ制御部602は、データ処理部700のセンサデータ処理部703からの指示に従って、表示/光センサ部300の光センサ駆動回路305に、タイミング制御信号(TC2)を送信し、センサ内蔵液晶パネル301にてスキャンを実行させる。
また、センサ制御部602は、信号変換回路306からデジタル信号(DS)を受信する。そして、センサ内蔵液晶パネル301に含まれる全ての光センサ回路32から出力されたセンサ出力信号(SS)に対応するデジタル信号(DS)に基づいて、画像データを生成する。つまり、センサ内蔵液晶パネル301の読み取り領域全体で読み取った画像データを生成する。そして、該生成した画像データをセンサデータ処理部703に送信する。
バックライト制御部603は、表示データ処理部701およびセンサデータ処理部703からの指示に従って、表示/光センサ部300のバックライト駆動回路308に制御信号(BK)を送信し、バックライト307を駆動させる。
なお、データ表示/センサ装置100が、複数の表示/光センサ部300を備える場合、表示制御部601は、データ処理部700から、どの表示/光センサ部300にて表示データを表示するかの指示を受けたとき、当該指示に応じた表示/光センサ部300の液晶パネル駆動回路304を制御する。また、センサ制御部602は、データ処理部700から、どの表示/光センサ部300にて対象物のスキャンを行なうかの指示を受けたとき、当該指示に応じた表示/光センサ部300の光センサ駆動回路305を制御するとともに、当該指示に応じた表示/光センサ部300の信号変換回路306からデジタル信号(DS)を受信する。
次に、データ処理部700について説明する。データ処理部700は、主制御部800から受信する「コマンド」に基づいて、回路制御部600に指示を与えるミドルウェアとしての機能を備えるものである。なお、コマンドの詳細については後述する。
データ処理部700は、表示データ処理部701およびセンサデータ処理部703を備えている。そして、データ処理部700が、主制御部800からコマンドを受信すると、該受信したコマンドに含まれる各フィールド(後述する)の値に応じて、表示データ処理部701およびセンサデータ処理部703の少なくとも一方が動作する。
表示データ処理部701は、主制御部800から表示データを受信するとともに、データ処理部700が受信したコマンドに従って、表示制御部601およびバックライト制御部603に指示を与え、上記受信した表示データをセンサ内蔵液晶パネル301に表示させる。なお、コマンドに応じた、表示データ処理部701の動作については、後述する。
センサデータ処理部703は、データ処理部700が受信したコマンドに従って、センサ制御部602およびバックライト制御部603に指示を与える。
また、センサデータ処理部703は、センサ制御部602から画像データを受信し、当該画像データをそのまま画像データバッファ704に格納する。そして、センサデータ処理部703は、データ処理部700が受信したコマンドに従って、画像データバッファ704に記憶されている画像データに基づいて、「全体画像データ」、「部分画像データ(部分画像の座標データを含む)」、および「座標データ」の少なくともいずれか1つを、主制御部800に送信する。なお、全体画像データ、部分画像データ、および座標データについては、後述する。また、コマンドに応じた、センサデータ処理部703の動作については、後述する。
次に、主制御部800は、アプリケーションプログラムを実行するものである。主制御部800は、記憶部901に格納されているプログラムを、例えばRAM(Random Access Memory)等で構成される一次記憶部902に読み出して実行する。
主制御部800で実行されるアプリケーションプログラムは、センサ内蔵液晶パネル301に表示データを表示させたり、センサ内蔵液晶パネル301にて対象物のスキャンを行わせるために、データ処理部700に対して、コマンドおよび表示データを送信する。また、コマンドに「データ種別」を指定した場合は、当該コマンドの応答として、全体画像データ、部分画像データ、および座標データの少なくともいずれか1つを、データ処理部700から受信する。
なお、回路制御部600、データ処理部700、および主制御部800は、それぞれ、CPU(Central Processing Unit)およびメモリ等で構成することができる。また、データ処理部700は、ASIC(application specific integrate circuit)などの回路で構成されていてもよい。
次に、記憶部901は、図示のように、主制御部800が実行するプログラムおよびデータを格納するものである。なお、主制御部800が実行するプログラムは、アプリケーション固有のプログラムと、各アプリケーションが共用可能な汎用プログラムとに分離されていてもよい。
次に、操作部903は、データ表示/センサ装置100のユーザの入力操作を受けつけるものである。操作部903は、例えば、スイッチ、リモコン、マウス、キーボードなどの入力デバイスで構成される。そして、操作部903は、データ表示/センサ装置100のユーザの入力操作に応じた制御信号を生成し、該生成した制御信号を主制御部800へ送信する。
なお、上記スイッチの例としては、筐体のヒンジ部分に設けられ、筐体の開閉状態を検出するヒンジ部スイッチ904、電源のオンとオフとを切り替える電源スイッチ905、予め所定の機能が割り当てられているユーザスイッチ906などのハードウェアスイッチを想定している。
その他、データ表示/センサ装置100は、無線/有線通信によって外部装置と通信を行なうための外部通信部907、音声を出力するためのスピーカ等の音声出力部908、音声信号を入力するためのマイク等の音声入力部909などを適宜備えていてもよい。
(コマンドの詳細)
次に、図5および図6を参照しながら、主制御部800からデータ処理部700に送信されるコマンドの詳細について説明する。図5は、コマンドのフレーム構造の一例を模式的に示す図である。また、図6は、コマンドに含まれる各フィールドに指定可能な値の一例、および、その概要を説明する図である。
次に、図5および図6を参照しながら、主制御部800からデータ処理部700に送信されるコマンドの詳細について説明する。図5は、コマンドのフレーム構造の一例を模式的に示す図である。また、図6は、コマンドに含まれる各フィールドに指定可能な値の一例、および、その概要を説明する図である。
図5に示すように、コマンドは、「ヘッダ」、「データ取得タイミング」、「データ種別」、「スキャン方式」、「スキャン画像階調」、「スキャン解像度」、「スキャンパネル」、「表示パネル」、および「予備」の各フィールドを含んでいる。そして、各フィールドには、例えば、図6に示す値が指定可能である。
「ヘッダ」フィールドは、フレームの開始を示すフィールドである。「ヘッダ」フィールドであることが識別可能であれば、「ヘッダ」フィールドの値は、どのような値であってもよい。
次に、「データ取得タイミング」フィールドは、データを主制御部800へ送信すべきタイミングを指定するフィールドである。「データ取得タイミング」フィールドには、例えば、“00”(センス)、“01”(イベント)、および“10”(オール)という値が指定可能である。
ここで、“センス”は、最新のデータを直ちに送信することを指定するものである。よって、センサデータ処理部703は、「データ取得タイミング」フィールドの値が“センス”であるコマンドを受信すると、「データ種別」フィールドにて指定されている最新のデータを、直ちに、主制御部800に送信する。
また、“イベント”は、センサ制御部602から受信する画像データに変化が生じたタイミングで送信することを指定するものである。よって、センサデータ処理部703は、「データ取得タイミング」フィールドの値が“イベント”であるコマンドを受信すると、「データ種別」フィールドにて指定されているデータを、センサ制御部602から受信する画像データに、所定の閾値より大きい変化が生じたタイミングで、主制御部800に送信する。
また、“オール”は、所定周期でデータを送信することを指定するものである。よって、センサデータ処理部703は、「データ取得タイミング」フィールドの値が“オール”であるコマンドを受信すると、「データ種別」フィールドにて指定されているデータを、所定周期で、主制御部800に送信する。なお、上記所定周期は、光センサ回路32にてスキャンを行なう周期と一致する。
次に、「データ種別」フィールドは、センサデータ処理部703から取得するデータの種別を指定するフィールドである。なお、「データ種別」フィールドには、例えば、“001”(座標)、“010”(部分画像)、および“100”(全体画像)という値が指定可能である。さらに、これらの値を加算することによって、“座標”と、“部分画像”/“全体画像”とを、同時に指定可能である。例えば、“座標”と“部分画像”とを同時に指定する場合、“011”と指定することができる。
センサデータ処理部703は、「データ種別」フィールドの値が“全体画像”であるコマンドを受信すると、画像データバッファ704に記憶している画像データそのものを主制御部800に送信する。画像データバッファ704に記憶している画像データそのものを、「全体画像データ」と称する。
また、センサデータ処理部703は、「データ種別」フィールドの値が“部分画像”であるコマンドを受信すると、センサ制御部602から受信する画像データから、所定の閾値より大きい変化が生じた部分を含む領域を抽出し、該抽出した領域の画像データを主制御部800に送信する。ここで、当該画像データを、「部分画像データ」と称する。なお、上記部分画像データが複数抽出された場合、センサデータ処理部703は、該抽出されたそれぞれの部分画像データを主制御部800に送信する。
さらに、センサデータ処理部703は、「データ種別」フィールドの値が“部分画像”であるコマンドを受信したとき、部分画像データにおける代表座標を検出し、当該代表座標の部分画像データにおける位置を示す座標データを主制御部800に送信する。なお、上記代表座標とは、例えば、上記部分画像データの中心の座標、上記部分画像データの重心の座標などが挙げられる。
次に、センサデータ処理部703は、「データ種別」フィールドの値が“座標”であるコマンドを受信すると、上記代表座標の全体画像データにおける位置を示す座標データを主制御部800に送信する。なお、上記部分画像データが複数抽出された場合、センサデータ処理部703は、該抽出された、それぞれの部分画像データの、全体画像データにおける代表座標を検出し、当該代表座標を示す座標データのそれぞれを主制御部800に送信する(多点検出)。
なお、全体画像データ、部分画像データ、および座標データの具体例については、模式図を参照しながら後述する。
次に、「スキャン方式」フィールドは、スキャン実行時に、バックライト307を点灯するか否かを指定するフィールドである。「スキャン方式」フィールドには、例えば、“00”(反射)、“01”(透過)、および“10”(反射/透過)という値が指定可能である。
“反射”は、バックライト307を点灯した状態でスキャンを行なうことを指定するものである。よって、センサデータ処理部703は、「スキャン方式」フィールドの値が“反射”であるコマンドを受信すると、光センサ駆動回路305とバックライト駆動回路308とが同期して動作するように、センサ制御部602とバックライト制御部603とに指示を与える。
また、“透過”は、バックライト307を消灯した状態でスキャンを行なうことを指定するものである。よって、センサデータ処理部703は、「スキャン方式」フィールドの値が“透過”であるコマンドを受信すると、光センサ駆動回路305を動作させ、バックライト駆動回路308と動作させないようにセンサ制御部602とバックライト制御部603とに指示を与える。なお、“反射/透過”は、“反射”と“透過”とを併用してスキャンを行なうことを指定するものである。
次に、「スキャン画像階調」フィールドは、部分画像データおよび全体画像データの階調を指定するフィールドである。「スキャン画像階調」フィールドには、例えば、“00”(2値)、および“01”(多値)という値が指定可能である。
ここで、センサデータ処理部703は、「スキャン画像階調」フィールドの値が“2値”であるコマンドを受信すると、部分画像データおよび全体画像データをモノクロデータとして、主制御部800に送信する。
また、センサデータ処理部703は、「スキャン画像階調」フィールドの値が“多値”であるコマンドを受信すると、部分画像データおよび全体画像データを多階調データとして、主制御部800に送信する。
次に、「スキャン解像度」フィールドは、部分画像データおよび全体画像データの解像度を指定するフィールドである。「スキャン解像度」フィールドには、例えば、“0”(高)および“1”(低)という値が指定可能である。
ここで、“高”は、高解像度を指定するものである。よって、センサデータ処理部703は、「スキャン解像度」フィールドの値が“高”であるコマンドを受信すると、部分画像データおよび全体画像データを高解像度で主制御部800に送信する。例えば、画像認識などの画像処理を行なう対象の画像データ(指紋などの画像データ)には、“高”を指定することが望ましい。
また、“低”は、低解像度を指定するものである。よって、センサデータ処理部703は、「スキャン解像度」フィールドの値が“低”であるコマンドを受信すると、部分画像データおよび全体画像データを低解像度で主制御部800に送信する。例えば、タッチした位置等が分かる程度でよい画像データ(タッチした指や手の画像データなど)には、“低”を指定することが望ましい。
次に、「スキャンパネル」フィールドは、どの表示/光センサ部300にて対象物のスキャンを行なうかを指定するフィールドである。「スキャンパネル」フィールドには、例えば、“001”(第1表示/光センサ部300A)、“010”(第2表示/光センサ部300B)という値が指定可能である。なお、これらの値を加算することによって、複数の表示/光センサ部300を同時に指定可能である。例えば、“第1表示/光センサ部300A”と“第2表示/光センサ部300B”とを同時に指定する場合、“011”と指定することができる。
ここで、センサデータ処理部703は、「スキャンパネル」フィールドの値が“第1表示/光センサ部300A”であるコマンドを受信すると、第1表示/光センサ部300Aの光センサ駆動回路305およびバックライト駆動回路308を制御するように、センサ制御部602およびバックライト制御部603に指示を与える。
次に、「表示パネル」フィールドは、どの表示/光センサ部300にて表示データを表示させるかを指定するフィールドである。「表示パネル」フィールドには、例えば、“001”(第1表示/光センサ部300A)、“010”(第2表示/光センサ部300B)という値が指定可能である。なお、これらの値を加算することによって、複数の表示/光センサ部300を同時に指定可能である。例えば、“第1表示/光センサ部300A”と“第2表示/光センサ部300B”とを同時に指定する場合、“011”と指定することができる。
ここで、表示データ処理部701は、例えば、「表示パネル」フィールドの値が“第1表示/光センサ部300A”であるコマンドを受信すると、第1表示/光センサ部300Aに表示データを表示させるために、第1表示/光センサ部300Aの液晶パネル駆動回路304およびバックライト駆動回路308を制御するように、表示制御部601およびバックライト制御部603に指示を与える。
次に、「予備」フィールドは、上述したフィールドにて指定可能な情報以外の情報をさらに指定する必要がある場合に、適宜指定されるフィールドである。
なお、主制御部800にて実行されるアプリケーションは、コマンドを送信するにあたり、上述したフィールドを全て使用する必要はなく、使用しないフィールドには無効値(NULL値など)を設定しておけばよい。
また、ユーザが指やペンなどでタッチした位置の座標データを取得したいときは、「データ種別」フィールドに“座標”を指定したコマンドをデータ処理部700に送信することとなるが、指やペンなどは動きがあるため、さらに、当該コマンドの「データ取得タイミング」フィールドに“オール”を指定し、座標データを取得するようにすることが望ましい。また、タッチした位置の座標データが取得できればよいため、スキャンの精度は高くなくてもよい。したがって、上記コマンドの「スキャン解像度」フィールドの値は“低”を指定しておけばよい。
また、コマンドの「データ種別」フィールドに“座標”を指定した場合において、例えば、ユーザが、複数の指やペンなどでセンサ内蔵液晶パネル301を同時にタッチした場合は、該タッチした位置の座標データのそれぞれを取得することができる(多点検出)。
また、原稿などの対象物の画像データを取得する場合、「データ種別」フィールドに“全体画像”を指定したコマンドをデータ処理部700に送信することとなるが、原稿などの対象物は、通常、静止させた状態でスキャンを実行することが一般的であるため、周期的にスキャンを実行する必要はない。従って、この場合は、「データ取得タイミング」フィールドに“センス”または“イベント”を指定することが望ましい。なお、原稿などの対象物をスキャンするときは、ユーザが文字を読みやすいように、スキャン精度は高い方が望ましい。したがって、「スキャン解像度」フィールドには“高”を指定することが望ましい。
(全体画像データ/部分画像データ/座標データ)
次に、図7を参照しながら、全体画像データ、部分画像データ、および座標データについて、例を挙げて説明する。図7(a)に示す画像データは、対象物がセンサ内蔵液晶パネル301上に置かれていないときに、センサ内蔵液晶パネル301全体をスキャンした結果として得られる画像データである。また、図7(b)に示す画像データは、ユーザが指でセンサ内蔵液晶パネル301をタッチしているときに、センサ内蔵液晶パネル301全体をスキャンした結果として得られる画像データである。
次に、図7を参照しながら、全体画像データ、部分画像データ、および座標データについて、例を挙げて説明する。図7(a)に示す画像データは、対象物がセンサ内蔵液晶パネル301上に置かれていないときに、センサ内蔵液晶パネル301全体をスキャンした結果として得られる画像データである。また、図7(b)に示す画像データは、ユーザが指でセンサ内蔵液晶パネル301をタッチしているときに、センサ内蔵液晶パネル301全体をスキャンした結果として得られる画像データである。
ユーザが指でセンサ内蔵液晶パネル301をタッチしたとき、当該タッチした近傍の光センサ回路32が受光する光量が変化するため、当該光センサ回路32が出力する電圧に変化が生じ、その結果として、センサ制御部602が生成する画像データのうち、ユーザがタッチした部分の画素値の明度に変化が生じることとなる。
図7(b)に示す画像データでは、図7(a)に示す画像データと比べると、ユーザの指に該当する部分の画素値の明度が高くなっている。そして、図7(b)に示す画像データにおいて、明度が所定の閾値より大きく変化している画素値を全て含む最小の矩形領域(領域PP)が、“部分画像データ”である。
なお、領域APで示される画像データが、“全体画像データ”である。
また、部分画像データ(領域PP)の代表座標Zの、全体画像データ(領域AP)における座標データは(Xa,Ya)であり、部分画像データ(領域PP)における座標データは(Xp,Yp)である。
(センサ内蔵液晶パネルの構成)
次に、図8を参照しながら、センサ内蔵液晶パネル301の構成、および、センサ内蔵液晶パネル301の周辺回路309の構成について説明する。図8は、表示/光センサ部300の要部、特に、センサ内蔵液晶パネル301の構成および周辺回路309の構成を示すブロック図である。
次に、図8を参照しながら、センサ内蔵液晶パネル301の構成、および、センサ内蔵液晶パネル301の周辺回路309の構成について説明する。図8は、表示/光センサ部300の要部、特に、センサ内蔵液晶パネル301の構成および周辺回路309の構成を示すブロック図である。
センサ内蔵液晶パネル301は、光透過率(輝度)を設定するための画素回路31、および、自身が受光した光の強度に応じた電圧を出力する光センサ回路32を備えている。なお、画素回路31は、赤色、緑色、青色のカラーフィルタのそれぞれに対応するR画素回路31r、G画素回路31g、B画素回路31bの総称として用いる。
画素回路31は、センサ内蔵液晶パネル301上の列方向(縦方向)にm個、行方向(横方向)に3n個配置される。そして、R画素回路31r、G画素回路31g、およびB画素回路31bの組が、行方向(横方向)に連続して配置される。この組が1つの画素を形成する。
画素回路31の光透過率を設定するには、まず、画素回路31に含まれるTFT(Thin Film Transistor)33のゲート端子に接続される走査信号線Giにハイレベル電圧(TFT33をオン状態にする電圧)を印加する。その後、R画素回路31rのTFT33のソース端子に接続されているデータ信号線SRjに、所定の電圧を印加する。同様に、G画素回路31gおよびB画素回路31bについても、光透過率を設定する。そして、これらの光透過率を設定することにより、センサ内蔵液晶パネル301上に画像が表示される。
次に、光センサ回路32は、一画素毎に配置される。なお、R画素回路31r、G画素回路31g、およびB画素回路31bのそれぞれの近傍に1つずつ配置されてもよい。
光センサ回路32にて光の強度に応じた電圧を出力させるためには、まず、コンデンサ35の一方の電極に接続されているセンサ読み出し線RWiと、フォトダイオード6のアノード端子に接続されているセンサリセット線RSiとに所定の電圧を印加する。この状態において、フォトダイオード6に光が入射されると、入射した光量に応じた電流がフォトダイオード6に流れる。そして、当該電流に応じて、コンデンサ35の他方の電極とフォトダイオード6のカソード端子との接続点(以下、接続ノードV)の電圧が低下する。そして、センサプリアンプ37のドレイン端子に接続される電圧印加線SDjに電源電圧VDDを印加すると、接続ノードVの電圧は増幅され、センサプリアンプ37のソース端子からセンシングデータ出力線SPjに出力される。そして、当該出力された電圧に基づいて、光センサ回路32が受光した光量を算出することができる。
次に、センサ内蔵液晶パネル301の周辺回路である、液晶パネル駆動回路304、光センサ駆動回路305、およびセンサ出力アンプ44について説明する。
液晶パネル駆動回路304は、画素回路31を駆動するための回路であり、走査信号線駆動回路3041およびデータ信号線駆動回路3042を含んでいる。
走査信号線駆動回路3041は、表示制御部601から受信したタイミング制御信号TC1に基づいて、1ライン時間毎に、走査信号線G1〜Gmの中から1本の走査信号線を順次選択し、該選択した走査信号線にハイレベル電圧を印加するとともに、その他の走査信号線にローレベル電圧を印加する。
データ信号線駆動回路3042は、表示制御部601から受信した表示データD(DR、DG、およびDB)に基づいて、1ライン時間毎に、1行分の表示データに対応する所定の電圧を、データ信号線SR1〜SRn、SG1〜SGn、SB1〜SBnに印加する(線順次方式)。なお、データ信号線駆動回路3042は、点順次方式で駆動するものであってもよい。
光センサ駆動回路305は、光センサ回路32を駆動するための回路である。光センサ駆動回路305は、センサ制御部602から受信したタイミング制御信号TC2に基づいて、センサ読み出し信号線RW1〜RWmの中から、1ライン時間毎に1本ずつ選択したセンサ読み出し信号線に所定の読み出し用電圧を印加するとともに、その他のセンサ読み出し信号線には、所定の読み出し用電圧以外の電圧を印加する。また、同様に、タイミング制御信号TC2に基づいて、センサリセット信号線RS1〜RSmの中から、1ライン時間毎に1本ずつ選択したセンサリセット信号線に所定のリセット用電圧を印加するとともに、その他のセンサリセット信号線には、所定のリセット用電圧以外の電圧を印加する。
センシングデータ出力信号線SP1〜SPnはp個(pは1以上n以下の整数)のグループにまとめられ、各グループに属するセンシングデータ出力信号線は、時分割で順次オン状態になるスイッチ47を介して、センサ出力アンプ44に接続される。センサ出力アンプ44は、スイッチ47により接続されたセンシングデータ出力信号線のグループからの電圧を増幅し、センサ出力信号SS(SS1〜SSp)として、信号変換回路306へ出力する。
(発明の要点)
本発明の主な特徴は、ユーザがデータ表示/センサ装置100を片手(すなわち持ち手)で操作するのか、両手で操作するのか(すなわち操作の仕方)を、センサ内蔵液晶パネル301が検知する対象物(指、ペンなど)の像の、当該センサ内蔵液晶パネル301上における位置に応じて、メニュー表示を切り替える(設定する)ことである。
本発明の主な特徴は、ユーザがデータ表示/センサ装置100を片手(すなわち持ち手)で操作するのか、両手で操作するのか(すなわち操作の仕方)を、センサ内蔵液晶パネル301が検知する対象物(指、ペンなど)の像の、当該センサ内蔵液晶パネル301上における位置に応じて、メニュー表示を切り替える(設定する)ことである。
すなわち、データ表示/センサ装置100の主制御部800は、当該データ表示/センサ装置100を持つ持ち手の指(例えば親指)でメニューの選択/確定処理が行われるのか、持ち手とは反対の手の指(または当該持ち手とは反対の手に持ったペン)で当該選択/確定処理が行われるのかを判定し、この判定結果に応じたメニュー表示をセンサ内蔵液晶パネル301に行うものである。
これにより、データ表示/センサ装置100は、ユーザがセンサ内蔵液晶パネル301上に指を持ってくるだけで、ユーザの操作方法(操作の仕方)にあわせたメニュー表示を行うことが可能となる。
従って、ユーザは、上記データ表示/センサ装置100をどのような持ち方で持った場合であっても、その持ち方を意識せずに、また、持ち方に応じたメニュー表示の設定を行うことなく、センサ内蔵液晶パネル301に表示されるメニュー項目を容易に選択することができる。すなわち、ユーザは、どちらの手で持ち、どちらの手で操作する場合であっても、持ち方によらず、また、上記設定を行うことなく、本来の目的(メニュー項目に対応付けられた機能の実行など)に直結した直感的な操作を行うことができる。
このため、データ表示/センサ装置100は、ユーザの操作性および利便性を向上させることができる。
なお、上記では、データ表示/センサ装置100は、表示/光センサ部300を2つ備えているものとして説明したが、表示/光センサ部300を1つだけ備えた構成であってもよい。以下では、データ表示/センサ装置100が表示/光センサ部300を1つだけ(表示/光センサ部300Aだけ)備えているものとして説明する。また、この場合のデータ表示/センサ装置100は、表示/光センサ部300Aと表示/光センサ部300Bを接続するヒンジ部分を有しないため、図4に示すヒンジ部スイッチ904を必要としない。
(データ表示/センサ装置を用いてメニュー選択を行う様子)
次に、図9(a)および(b)を参照しながら、データ表示/センサ装置100がメニュー表示画面を切り替える(ユーザ操作モードの切替(設定))処理の典型例について説明する。なお、ここでは、処理の概要について説明し、各処理の詳細については後述する。また、以下では、ユーザがデータ表示/センサ装置100を左手で持った場合について説明するが、これに限らず、データ表示/センサ装置100を右手で持った場合であっても同様の処理が行われる。
次に、図9(a)および(b)を参照しながら、データ表示/センサ装置100がメニュー表示画面を切り替える(ユーザ操作モードの切替(設定))処理の典型例について説明する。なお、ここでは、処理の概要について説明し、各処理の詳細については後述する。また、以下では、ユーザがデータ表示/センサ装置100を左手で持った場合について説明するが、これに限らず、データ表示/センサ装置100を右手で持った場合であっても同様の処理が行われる。
ここで、ユーザ操作モードとは、ユーザが操作するメニューの表示形態を指定するものであり、本実施の形態では、ユーザ操作モードとして「片手モード」および「両手モード」が設定されるものとする。
上記「片手モード」は、データ表示/センサ装置100を持つユーザの持ち手(例えば持ち手の親指)でセンサ内蔵液晶パネル301に対する操作(メニュー項目の選択または確定処理を実行させるための操作)が行われるときのメニューの表示形態を指定するモードである。一方、「両手モード」は、上記持ち手とは反対の手(例えば当該反対の手の指、または、当該反対の手で持ったペン)でセンサ内蔵液晶パネル301に対する操作が行われるときのメニューの表示形態を指定するモードである。
図9(a)は、ユーザが左手でデータ表示/センサ装置100を持ち、右手の指(例えば人指し指)で操作する(右手の指で、センサ内蔵液晶パネル301に表示されたメニュー項目の選択/確定処理を行う)ときの画面遷移を示す模式図である。すなわち、図9(a)は、ユーザ設定モードが両手モードのときの画面遷移を示すものである。
なお、ここでは、ユーザが左手でデータ表示/センサ装置100を持った場合に右手の指で操作する場合について説明するが、これに限らず、右手にペンなどを持って操作してもよい。
まず、データ表示/センサ装置100は、図9(a)に示すように、メニュー項目を配置したメニュー表示画面をセンサ内蔵液晶パネル301に表示する。このときのメニュー表示画面が、後述のメニュー表示制御部14で生成される両手モード用のメニュー表示画面である。
センサ内蔵液晶パネル301に両手モード用のメニュー表示画面が表示されているときに、ユーザが右手の人差し指(持ち手とは反対の指)を当該センサ内蔵液晶パネル301上にもってくると、データ表示/センサ装置100は、ユーザが両手で操作しているものと判断し、両手モードから片手モードへの切替処理を行わない。すなわち、データ表示/センサ装置100は、両手モード用のメニュー表示画面をそのまま表示する。
そして、ユーザの指が任意のメニュー項目上にくると、データ表示/センサ装置100は、当該メニュー項目が選択されたものと判断し、当該メニュー項目が選択状態であることを示す両手モード用のメニュー表示画面を表示する。
次に、図9(b)は、ユーザが左手でデータ表示/センサ装置100を持ち、当該左手の指(例えば親指)で操作するときの画面遷移を示す模式図である。すなわち、図9(b)は、ユーザ操作モードが両手モードから片手モードに切り替わる様子を示すものである。
まず、データ表示/センサ装置100は、図9(a)と同様、両手モード用のメニュー表示画面をセンサ内蔵液晶パネル301に表示する。
この状態において、ユーザが左手の親指(すなわち持ち手の指)を当該センサ内蔵液晶パネル301上にもってくると、データ表示/センサ装置100は、ユーザが片手で操作しているものと判断し、両手モードから片手モードへの切替処理を行う。すなわち、データ表示/センサ装置100は、片手モード用のメニュー表示画面を表示する。
上記片手モード用のメニュー表示画面とは、図9(b)に示す遷移後の最後の画面のように、左手の親指の周りにメニュー項目を表示した画面である。つまり、データ表示/センサ装置100は、左手の親指がセンサ内蔵液晶パネル301上にくると、片手モード用のメニュー表示画面を生成し、両手モード用のメニュー表示画面に代えて、当該片手モード用のメニュー表示画面を表示する。
このように、データ表示/センサ装置100は、ユーザが持ち手で操作するか否かを判断することによって、操作しやすいメニュー表示画面に切り替えることができる。これにより、ユーザは、どちらの手で操作する(メニュー項目の選択/確定処理を行う)場合であっても、その操作にあわせたメニュー表示を切り替えることなく、メニュー項目を容易に選択することができる。
ここで、図10(a)および(b)を参照しながら、データ表示/センサ装置100が、ユーザ操作モードを両手モードから片手モードに切り替えるか否かを判断する処理の典型例について説明する。なお、ここでは、処理の概要について説明し、各処理の詳細については後述する。また、図10(a)は、データ表示/センサ装置100が両手モードと判断するときの、センサ内蔵液晶パネル301が検知する指の像の一例を示すものであり、図10(b)は、データ表示/センサ装置100が片手モードと判断するときの、センサ内蔵液晶パネル301が検知する指の像の一例を示すものである。
図10(a)および(b)に示す斜線部は、ユーザ操作モードを両手モードおよび片手モードを切り替えるための領域を示す切替領域Pを示すものである。上記切替領域Pは、ユーザがデータ表示/センサ装置100を把持している持ち手でセンサ内蔵液晶パネル301に対する操作を行うときには、領域判定部121がデータ取得部11によって取得されたの対象物の像を検出する領域であり、持ち手とは反対の手でセンサ内蔵液晶パネル301に対する操作を行うときには、領域判定部121が対象物の像を検出しない領域である。
データ表示/センサ装置100は、センサ内蔵液晶パネル301が検知した指の像Qが上記切替領域P内に存在するか否か(すなわち指が切替領域P上にあるか否か)を判定することによって、ユーザ操作モードを両手モードに設定するか、片手モードに設定するかを決定する。
すなわち、図10(a)に示すように、上記指の像Qが切替領域Pに存在しない場合には、データ表示/センサ装置100は、ユーザが持ち手とは反対の手の指を用いて操作しよう(メニュー項目の選択/確定処理を行おう)としているものと判断する。つまり、この場合、データ表示/センサ装置100は、ユーザ操作モードを両手モードに設定し、図9(a)および(b)における遷移前のメニュー表示画面をセンサ内蔵液晶パネル301に表示する。
一方、図10(b)に示すように、上記指の像Qが切替領域Pに存在する場合には、データ表示/センサ装置100は、ユーザが持ち手の指を用いて操作しようとしているものと判断する。つまり、この場合、データ表示/センサ装置100は、ユーザ操作モードを片手モードに設定し、図9(b)における遷移後のメニュー表示画面(後述の図11(a)から(f)に示すメニュー表示画面)をセンサ内蔵液晶パネル301に表示する。
このように、データ表示/センサ装置100は、切替領域Pに関する情報を記憶しておき、当該切替領域P上に指があるか否かを判定することによって、ユーザがどちらの手で操作しようとしているのかを判断することができる。
なお、ユーザ操作モードが片手モードに設定された場合、センサ内蔵液晶パネル301に表示される片手モード用のメニュー表示画面は、図9(b)に示す画面に限らず、その持ち手の位置によってメニューの表示位置を変更することが可能である。
ここでは、データ表示/センサ装置100が、片手モード用のメニュー表示画面の典型例について説明する。すなわち、ユーザ操作モードが片手モードに設定されたときに、データ表示/センサ装置100が、半円状にメニュー表示を行う処理および指の大きさに応じて表示するメニュー項目の大きさを変更する処理の典型例について説明する。
図11(a)は、手(指)の小さいユーザが左手でデータ表示/センサ装置100を持ち、操作する指(例えば親指)でセンサ内蔵液晶パネル301の縦軸のほぼ中央をなぞった場合に、メニュー表示が行われる場合の様子を示す模式図である。また、図11(b)は、手の大きいユーザが左手でデータ表示/センサ装置100を持ち、操作する指でセンサ内蔵液晶パネル301の縦軸のほぼ中央をなぞった場合に、メニュー表示が行われる場合の様子を示す模式図である。
図11(a)および(b)では、ユーザは、センサ内蔵液晶パネル301の縦軸(y軸)のほぼ中央を左手で挟み込むように持っているので、挟み込んだ左手の親指の付け根が、当該センサ内蔵液晶パネル301の縦軸のほぼ中央に位置する。そして、ユーザは、この位置を支点として、センサ内蔵液晶パネル301を上下方向(y軸方向)になぞる。すなわち、ユーザは、センサ内蔵液晶パネル301の縦軸のほぼ中央を上下方向に指でなぞることとなる。
そして、データ表示/センサ装置100は、ユーザがセンサ内蔵液晶パネル301を指でなぞったことをトリガにして、各ユーザの手の大きさ(指の大きさ、長さ)にあわせて、センサ内蔵液晶パネル301に半円状にメニュー表示を行う。つまり、データ表示/センサ装置100は、図11(a)および(b)に示す点線上をユーザの指先がくるように、メニュー表示が行う。
これにより、データ表示/センサ装置100は、当該データ表示/センサ装置100を持ち手で操作するユーザが無理なく(例えば持ち替える、両手で操作するなどの行動を起こすことなく)操作できる範囲に、メニューを表示することができる。
次に、図11(c)は、左手でデータ表示/センサ装置100を持ち、操作する指でセンサ内蔵液晶パネル301の縦軸の中央から離れた位置をなぞった場合に、メニュー表示が行われる場合の様子を示す模式図である。
図11(c)では、ユーザがデータ表示/センサ装置100を把持している位置が、図11(a)および(b)の場合とは異なり、上記縦軸の中央から離れた位置である。つまり、図11(c)の場合、ユーザは、この位置を支点として、センサ内蔵液晶パネル301を上下方向になぞる。
しかし、この場合であっても、データ表示/センサ装置100は、図11(a)および(b)の場合と同様、各ユーザの手の大きさ(指の大きさ、長さ)にあわせて、センサ内蔵液晶パネル301に半円状にメニュー表示を行う。
従って、図11(c)の場合であっても、データ表示/センサ装置100は、当該データ表示/センサ装置100を持ち手で操作するユーザが無理なく操作できる範囲に、メニューを表示することができる。
次に、図11(d)は、左手でデータ表示/センサ装置100を持ち、操作する指でセンサ内蔵液晶パネル301の縦軸の中央からさらに離れた位置をなぞった場合に、メニュー表示が行われる場合の様子を示す模式図である。
つまり、図11(d)では、図11(c)の場合と比べ、ユーザは、さらにデータ表示/センサ装置100の上方を把持している。この場合には、データ表示/センサ装置100は、半円状に配置すべきメニュー項目全てを表示することができなくなってしまう。
しかし、図11(d)では、データ表示/センサ装置100は、図11(d)に示す点線上に、上記配置すべきメニュー項目から、表示する必要性の高いメニュー項目(例えば使用頻度の高いメニュー項目、最近使ったメニュー項目など)を選択する。このため、データ表示/センサ装置100は、配置すべきメニュー項目全てを表示できない場合であっても、選択したメニュー項目でメニュー表示を行うことができる。
次に、図11(e)は、左手でデータ表示/センサ装置100を持ち、操作する指でセンサ内蔵液晶パネル301の角部から当該センサ内蔵液晶パネル301をなぞった場合に、メニュー表示が行われる場合の様子を示す模式図である。
図11(e)では、ユーザは、データ表示/センサ装置100の角部を把持している。この場合には、図11(d)に比べ、さらにメニュー項目を表示させることができない。しかし、図11(d)の場合と同様、データ表示/センサ装置100は、表示できる数だけメニュー項目を選択することによってメニュー表示を行う。
つまり、データ表示/センサ装置100は、ユーザの手の大きさだけでなく、ユーザがセンサ内蔵液晶パネル301を指でなぞった位置にあわせて、メニュー表示を行うことができる。
なお、図11(d)および(e)では、ユーザがデータ表示/センサ装置100の上方を把持した場合について説明したが、これに限らず、上記縦軸の中央から下方に離れた位置を把持した場合(例えば図9(b)の場合)も同様である。
次に、図11(f)は、ユーザの指の大きさに応じて表示するメニュー項目の大きさを変更する様子を示す模式図である。
図11(f)では、データ表示/センサ装置100は、ユーザがセンサ内蔵液晶パネル301をなぞった際に指の大きさを検知すると、その大きさを判断して、当該大きさに応じたメニュー項目の大きさでメニュー表示を行う。これにより、例えばユーザの指が大きく、センサ内蔵液晶パネル301にメニュー項目が小さく表示されているような場合に、ユーザが複数のメニュー項目を同時に確定してしまうなどの誤操作を未然に防ぐことができる。
なお、図11(a)から(f)では、ユーザがセンサ内蔵液晶パネル301上を半円状になぞる(半円状にメニュー項目を表示する)場合について説明したが、これに限らず、データ表示/センサ装置100は、ユーザがなぞった範囲における指先の軌跡上にメニュー項目を配置した片手モード用のメニュー表示画面を表示する構成であってもよい。
例えば、ユーザがセンサ内蔵液晶パネル301上を当該センサ内蔵液晶パネル301の縦軸と平行となるようになぞった場合には、データ表示/センサ装置100は、それにあわせて、当該縦軸と平行になり、かつ、指先にメニュー項目が表示されるように片手モード用のメニュー表示画面を生成する。
次に、図1を参照しながら、データ表示/センサ装置100のより詳細な構成について説明する。なお、ここでは、説明を分かりやすくするために、主制御部800と表示/光センサ部300との間に位置するデータ処理部700および回路制御部600の動作については説明を省略する。ただし、正確には、メニューの表示およびユーザの指のスキャンを行うにあたり、主制御部800の各部が、データ処理部700にコマンドを送信し、データ処理部700がコマンドに基づいて回路制御部600を制御し、回路制御部600が表示/光センサ部300に対して信号を送信する。また、主制御部800は、データ処理部700に対して送信したコマンドに対する応答として、データ処理部700から、全体画像データ、部分画像データ、および座標データを取得する。
図1は、データ表示/センサ装置100のより詳細な構成を示すブロック図である。図示のように、記憶部901は、取得データ記憶部21、表示メッセージ記憶部22およびメニュー属性記憶部23を備えている。
取得データ記憶部21は、後述のデータ取得部11が取得した座標データ(全体画像における代表座標)、全体画像データおよび部分画像データを記憶するものである。また、取得データ記憶部21は、後述の座標算出部132が全体画像データから抽出した指(、またはペン)の影像(または反射像)(以下、指の像として説明する)を記憶するものである。なお、ここでは、指の像は、センサ内蔵液晶パネル301によって検知される全体画像に含まれる指の影像(または反射像)を指す。
なお、取得データ記憶部21は、ユーザ操作モードが片手モードに設定されたときにデータ取得部11が取得した座標データと、当該座標データの次に取得する座標データとの2つの座標データを一時保持するように構成されている。
表示メッセージ記憶部22は、ユーザに提示する所定のメッセージ、および、センサ内蔵液晶パネル301上において上記メッセージを表示する領域を示す情報(座標データなど)(以下、メッセージ表示領域情報)の組を、読み出し可能な状態で記憶するものである。以下、表示メッセージ記憶部22で記憶する組を、メッセージ情報と称する。
ユーザに提示する所定のメッセージとしては、例えば、片手モード処理部13が片手モード用のメニュー表示画面をメニュー表示制御部14にて生成させるために表示するメッセージである「操作する指で画面をなぞって下さい」などの文字データが挙げられる。なお、上記メッセージは、文字データに限定されるものではなく、画像データなどであってもよい。
メニュー属性記憶部23は、センサ内蔵液晶パネル301に表示されるメニューに関する情報、および、両手モード用のメニュー表示画面におけるメニュー項目の配置位置と関連する切替領域Pに関する情報を記憶するものである。このため、メニュー属性記憶部23は、メニュー記憶部231および切替領域記憶部232が備えている。
メニュー記憶部231は、センサ内蔵液晶パネル301に表示されるメニューに関する情報を記憶するものである。メニューは、ユーザが選択および確定可能な複数のメニュー項目で構成されるリストである。また、メニュー項目は、各メニュー項目が確定された際に実行する処理、各メニュー項目を表示するためのアイコンおよび名称、各アイコンの大きさ(メニュー項目の大きさ)を示す値(例えば各アイコンを囲う四角形の辺の長さ、当該四角形における中心座標など)、使用頻度の高い順または最近使った順を示す優先順位、両手モード用のメニュー表示画面における各メニュー項目の配置位置を示す位置座標などと対応付けられている。また、メニュー項目の大きさを示す値は、ユーザ操作モードが片手モードのときに算出される指の像(または部分画像)の面積または距離dと対応付けられていてもよい。
なお、メニュー記憶部231に格納されたメニュー項目としては、地図を表示するための「Map」、インターネット(Web)に接続するための「Web」、メール機能を実行するための「Mail」、カメラ機能の実行または当該カメラ機能を用いて撮像された写真/動画の表示を行う「Photo」、ユーザ設定された機能を実行するための「Apli」、テレビをユーザに視聴させるための「TV」、音楽/映像をユーザに視聴させるための「Music」、電話機能を実行するための「Tel」、カレンダー機能を実行するための「Calender」、各種操作の設定を行うための「Set」などが挙げられる。
また、メニュー記憶部231は、メニュー項目が実行された際に表示されるサブメニューを記憶していてもよい。このサブメニューも、上記メニュー項目と同様、複数のサブメニュー項目で構成されるリストであり、各サブメニュー項目が確定された際に実行する処理などと対応付けられている。
切替領域記憶部232は、ユーザ操作モードを両手モードまたは片手モードに切り替えるための切替領域Pに関する情報を記憶しているものである。この切替領域Pは、図9(a)および(b)に示すように、センサ内蔵液晶パネル301の端部と、当該端部から所定の幅を有した位置に仮想的に引かれる平行な線分とに囲まれた領域を指す。
切替領域記憶部232は、上記切替領域Pに関する情報として、例えばセンサ内蔵液晶パネル301の左上角部から所定の距離だけ離れた位置の座標(左上座標)、当該センサ内蔵液晶パネル301の右下角部から所定の距離だけ離れた位置の座標(右下座標)を記憶している。すなわち、切替領域記憶部232は、センサ内蔵液晶パネル301における、上記左上座標および右下座標で囲まれる矩形の外側の領域(図9(a)および(b)に示す斜線部)を、切替領域Pとして記憶していることとなる。
なお、上記切替領域Pは、両手モード用のメニュー表示画面におけるメニュー項目の表示領域外であることが好ましい。これは、ユーザが両手での操作によりセンサ内蔵液晶パネル301に表示されたメニュー項目を選択しようとするときに、データ表示/センサ装置100が切替領域P上に当該ユーザの指があると判定して、片手モードに切り替えてしまうといった誤作動を防ぐためである。
また、上記切替領域Pの設定は、上記左上座標または右下座標の設定を変更することによって、適宜変更されてもよい。この場合、切替領域Pの設定変更にあわせて、メニュー項目の大きさ、または、両手モードにおけるメニュー項目の配置位置を示す位置座標の設定が変更されてもよい。
次に、主制御部800について説明する。図示のように、主制御部800は、データ取得部11、モード切替処理部12、片手モード処理部13およびメニュー表示制御部14を備えている。
データ取得部11は、データ処理部700から、座標データ(全体画像における代表座標)、全体画像データおよび部分画像データを取得するものである。そのため、データ取得部11は、画像データ取得部111および座標データ取得部112を備えている。
画像データ取得部111は、モード切替処理部12および片手モード処理部13で実行される処理のために全体画像データを取得するものである。また、画像データ取得部111は、後述の面積算出部136が部分画像の面積を算出する場合には、部分画像データを取得する。また、画像データ取得部111は、取得した全体画像データおよび部分画像データを取得データ記憶部21に記憶する。
すなわち、データ取得部11は、センサ内蔵液晶パネル301が検知した対象物の像を取得するものである。
座標データ取得部112は、片手モード処理部13およびメニュー表示制御部14で実行される処理のために座標データ(全体画像における代表座標)を取得するものである。また、座標データ取得部112は、取得した座標データを取得データ記憶部21に記憶する。
また、画像データ取得部111および座標データ取得部112は、後述の座標データ比較部131から通知を受けた場合には、所定の時間、全体画像データおよび座標データを取得する。この所定の時間は、記憶部901に予め格納されており、ユーザが上下方向(縦軸方向)に2、3度なぞる程度の時間であればよい。
次に、モード切替処理部12は、ユーザ操作モードを両手モードまたは片手モードに切り替えるものである。すなわち、モード切替処理部12は、メニュー表示制御部14において両手モードまたは片手モード用のメニュー表示画面を生成させるために、当該メニュー表示制御部14における処理の切り替え、片手モード処理部13における処理の実行の決定などを行うためのものである。そのため、モード切替処理部12は、領域判定部(領域判定手段)121およびモード設定部(モード設定手段)122を備えている。
領域判定部121は、センサ内蔵液晶パネル301上に指があるか否かを判定すると共に、当該センサ内蔵液晶パネル301上に指があると判定した場合に、その指が上記切替領域P上にあるか否かを判定するものである。このとき、領域判定部121は、切替領域Pにおける指の像を検出した場合には、ユーザが持ち手での操作を行っているものと判定する。
すなわち、領域判定部121は、上記データ取得部11が取得した対象物の像が、センサ内蔵液晶パネル301上の切替領域P(所定の領域)内にあるか否かを判定するものである。つまり、領域判定部121は、画像データ取得部111が取得した全体画像における指の像が、上記切替領域P内に含まれているか否かを判定するものである。
モード設定部122は、領域判定部121の判定結果に応じて、ユーザ操作モードを両手モードまたは片手モードに設定する(切り替える)ものである。具体的には、モード設定部122は、領域判定部121によって切替領域P上に指があると判定された場合には片手モードに設定し、当該切替領域P上に指がないと判定された場合には両手モードに設定する。
次に、片手モード処理部13は、ユーザ操作モードが片手モードのときに、メニュー表示制御部14が片手モード用のメニュー表示画面を生成するために、当該メニュー表示画面におけるメニュー項目の配置位置を機能毎に決定するための各種データを算出するものである。である。そのため、片手モード処理部13は、座標データ比較部131、座標算出部(座標算出手段)132、距離算出部(距離算出手段)133、軌跡算出部(線分決定手段)134、配置可能位置算出部(位置決定手段)135、面積算出部136、メニュー選択部(位置決定手段)137および座標/算出データ保持部138を備えている。
座標データ比較部131は、取得データ記憶部21に記憶された2つの座標データを読み出し、当該座標データが一致するか否かを判定するものである。これにより、ユーザがセンサ内蔵液晶パネル301上を指でなぞったか否かを判定する。
また、座標データ比較部131は、2つの座標データが一致したと判定した場合には、座標データ取得部112が次に取得する座標データを取得データ記憶部21に記憶するときに、当該取得データ記憶部21に記憶された2つの座標データのうちの古い方を破棄する。
また、座標データ比較部131は、上記2つの座標データの差分を算出し、記憶部901に格納された閾値と比較することで、ユーザが指でなぞったか否かを判定する構成であってもよい。この場合、上記閾値は、記憶部901に予め格納されており、ユーザが指でセンサ内蔵液晶パネル301上をなぞっていないと判定できる程度の縦軸方向の移動量を示す値であればよい。
座標算出部132は、画像データ取得部111が取得した全体画像データを解析する(指の像を抽出する)ことによって、センサ内蔵液晶パネル301上における指の付け根の位置を示す付け根位置座標Aを算出するものである。また、座標算出部132は、付け根位置座標Aを座標/算出データ保持部138に保存する。
すなわち、座標算出部132は、上記データ取得部11が取得した指の像を用いて、当該指の付け根の位置を示す付け根位置座標Aを求めるものである。
距離算出部133は、センサ内蔵液晶パネル301上の指の付け根と指先との距離dを算出するものである。距離算出部133は、例えば座標算出部132が算出した付け根位置座標Aと、当該座標算出部132が抽出した指の像における輪郭の座標とを用いて、当該付け根位置座標Aと当該輪郭の座標との差分を繰り返し算出し、最大となる差分を決定する。また、距離算出部133は、この最大の差分を距離dとして座標/算出データ保持部138に保存する。
なお、距離算出部133は、ユーザ操作モードが片手モードに設定されているときに、メニューおよびサブメニューを同時にセンサ内蔵液晶パネル301に表示する場合には、サブメニュー項目を上記円の軌跡に配置すると共に、メニュー項目を当該円の外延に配置するために、距離dに所定の長さを加算した値である距離d1を算出する。距離算出部133は、この距離d1を座標/算出データ保持部138に保存する。
なお、上記所定の長さは、記憶部901に予め格納されているものであり、サブメニュー項目とメニュー項目とが重ならない程度の長さであればよい。
すなわち、距離算出部133は、上記データ取得部11が取得した指の像の領域内で、上記座標算出部132が求めた付け根位置座標Aの示す位置から最も離れた位置までの距離dを求めるものである。
軌跡算出部134は、座標算出部132が算出した付け根位置座標Aを中心座標、距離算出部133が算出した距離dを半径とする、x≧0かつy≧0を満たす円の軌跡(すなわち円弧の軌跡)を算出するものである。また、軌跡算出部134は、この円の軌跡を座標/算出データ保持部138に保存する。すなわち、軌跡算出部134は、ユーザの指がセンサ内蔵液晶パネル301の表面上を移動したときに、当該指の指先が通る仮想的な線分(円の軌跡)を決定しているといえる。
なお、上記x、yとは、センサ内蔵液晶パネル301の横軸方向と縦軸方向とをそれぞれ示すものである。つまり、x≧0かつy≧0とは、センサ内蔵液晶パネル301における表示可能な範囲全てを指すものである。なお、ここでは、座標(0,0)を、センサ内蔵液晶パネル301の左上部に位置する角部と指すものとする。
また、後述の配置可能位置算出部135は、ユーザがなぞった指の指先または指の腹に対向するセンサ内蔵液晶パネル301の領域に、メニュー項目の配置可能な位置座標を算出する構成であってもよい。この場合、軌跡算出部134は、上記距離算出部133が算出した距離dよりも短い距離を半径とした円孤の軌跡を算出する構成であってもよい。
さらに、軌跡算出部134は、ユーザ操作モードが片手モードに設定されているときに、メニューおよびサブメニューを同時にセンサ内蔵液晶パネル301に表示する場合には、距離算出部133が算出した距離d1を半径とした円の軌跡(以降、拡大円の軌跡とする)を算出する。
すなわち、軌跡算出部134は、上記座標算出部132が求めた付け根位置座標Aを中心座標とし、上記距離算出部133が求めた距離dまたは当該距離dよりも短い距離を半径とした円孤の軌跡を求めるものである。
配置可能位置算出部135は、軌跡算出部134が算出した円の軌跡と、座標データ取得部112が取得した座標データとを用いて、ユーザがなぞった範囲に対応した、メニュー項目が配置可能な範囲を決定する。そして、配置可能位置算出部135は、上記円の軌跡、記憶部901に格納された所定の角度を示す値、および、メニュー記憶部231に格納されたメニュー項目の大きさを示す値を用いて、メニュー項目が配置可能な位置座標とその個数を算出するものである。
また、配置可能位置算出部135は、メニュー項目が配置可能な範囲を決定するときに算出される、円端部座標(上記なぞった範囲の両端である指の像の位置で、かつ、円の軌跡上の2つの位置座標)、メニュー項目の配置可能な位置座標およびその個数を座標/算出データ保持部138に保存する。
さらに、配置可能位置算出部135は、後述の面積算出部136が指の像(または部分画像)の面積を算出した場合には、当該面積に対応付けてメニュー記憶部231に格納されたメニュー項目の大きさを示す値を用いて、メニュー項目の配置可能な位置座標を算出する。また、配置可能位置算出部135は、このメニュー項目の配置可能な位置座標を算出したときに、上記メニュー項目の大きさを示す値を読み出したことをメニュー表示制御部14に通知する。
この場合、配置可能位置算出部135は、隣接して配置されるメニュー項目が重なると判断した場合には、上記所定の角度を示す値を設定しなおした後、メニュー項目が配置可能な位置座標を算出する。
なお、上記所定の角度を示す値は、例えば記憶部901に予め格納されており、ユーザがメニュー項目を確実に識別できる程度の間隔となるように表示されるように設定されていればよい。
また、上記では、メニュー記憶部231には、指の像の面積に対応付けてメニュー項目の大きさを示す値が格納されていたが、これに限らず、配置可能位置算出部135は、指の像の面積からメニュー項目の大きさを算出する構成であってもよい。
面積算出部136は、ユーザの指の大きさに応じて、センサ内蔵液晶パネル301に表示するメニュー項目の大きさを変更できるように、座標算出部132が抽出した指の像の面積を算出するものである。また、面積算出部136は、座標算出部132が全体画像データを取得するときに部分画像データを取得し、当該部分画像の面積を算出してもよい。面積算出部136は、この指の像の面積(または部分画像の面積)を座標/算出データ保持部138に保存する。
メニュー選択部137は、センサ内蔵液晶パネル301に配置すべきメニュー項目全てが表示可能であるか否かを判定するものである。ここで、配置すべきメニュー項目とは、メニュー記憶部231に格納された「Map」等のメニュー項目を指す。また、メニュー選択部137は、全てのメニュー項目を表示できないと判定した場合、上記優先順位に基づいて、センサ内蔵液晶パネル301に表示するメニュー項目を選択する。
また、メニュー選択部137は、ユーザ操作モードが片手モードに設定されているときに、メニュー表示制御部14でサブメニューを表示する画面を生成する場合には、上記と同様、配置すべきサブメニュー項目全てが表示可能であるか否かを判定する。
座標/算出データ保持部138は、座標算出部132が算出した付け根位置座標Aと、距離算出部133が算出した距離d、d1と、軌跡算出部134が算出した円、拡大円の軌跡と、配置可能位置算出部135が算出した円端部座標、メニュー項目の配置可能な位置座標およびその個数と、面積算出部136が算出した指の像(または部分画像)の面積とを保存するものである。なお、座標/算出データ保持部138は、主制御部800が備えた構成となっているが、これに限らず、記憶部901が備えた構成であってもよい。
次に、メニュー表示制御部14は、モード設定部122が設定するユーザ操作モードに(両手モードまたは片手モード)あわせたメニュー表示画面(両手モード用または片手モード用)を生成し、メニュー表示画面をデータ処理部700に送信することによって、当該メニュー表示画面をセンサ内蔵液晶パネル301に表示するものである。
また、メニュー表示制御部14は、ユーザ操作モードが片手モードのときに、メニュー選択処理からメニュー確定処理に移行するときに、所定の時間、指が切替領域P上から離れたか否かを判定する。なお、上記所定の時間は、メニュー表示制御部14が、選択されたメニュー項目に対する確定処理を認識できる程度の時間に設定されていればよい。
さらに、メニュー表示制御部14は、サブメニューだけをセンサ内蔵液晶パネル301に表示する場合には、上記メニュー項目が配置される位置に当該サブメニュー項目を配置したメニュー表示画面(両手モード用または片手モード用)を生成する。さらに、メニュー表示制御部14は、片手モードのときに、メニューおよびサブメニューをセンサ内蔵液晶パネル301に同時に表示する場合には、上記円の軌跡上にサブメニュー項目、上記拡大円の軌跡上にメニュー項目を配置したメニュー表示画面(片手モード用)を生成する。
すなわち、片手モード処理部13およびメニュー表示制御部14は、上記データ取得部11が取得した対象物の像の、センサ内蔵液晶パネル301上における位置に応じて、ユーザが選択可能な機能毎のメニュー項目を配置する配置位置を決定するものである。また、片手モード処理部13およびメニュー表示制御部14は、上記領域判定部121による判定結果に基づいて、上記配置位置を決定するものである。
また、片手モード処理部13の、特に配置可能位置算出部135およびメニュー選択部137は、軌跡算出部134が求めた円孤の軌跡上に、上記メニュー項目の配置位置を決定するものである。
さらに、メニュー表示制御部14は、上記配置位置に、上記メニュー項目を配置してメニュー表示を行うものである。
なお、上記では、データ表示/センサ装置10において、ユーザ操作モードが片手モードに設定されているときに、付け根位置座標Aを中心座標、距離dを半径とする、x≧0かつy≧0を満たす円の軌跡を算出し、ユーザがなぞった範囲内の当該軌跡上にメニュー項目を配置したメニュー表示画面を表示する例について説明した。しかし、データ表示/センサ装置100は、この構成に限らず、ユーザの指がなぞった範囲における指先の軌跡上(すなわち、センサ内蔵液晶パネル301上をなぞった指の領域の外周)にメニュー項目を配置したメニュー表示画面を表示する構成であってもよい。すなわち、データ表示/センサ装置100は、円の軌跡を算出するのではなく、ユーザがなぞった範囲に対応するようにメニュー項目を表示するように構成されていてもよい。
この場合、座標算出部132は、距離算出部133が距離dを算出して座標/算出データ保持部138に保存する代わりに、指の像における指先の位置を示す指先位置座標Bを算出する。すなわち、座標算出部132は、付け根位置座標Aおよび指先位置座標Bを算出するものといえる。
ここで、座標算出部132は、例えば上記指先位置座標Bを次のように算出する。すなわち、座標算出部132は、画像データ取得部111から全体画像データの取得完了を示す通知を受けると、当該全体画像データを取得データ記憶部21から読み出し、これら全体画像データ全てについて付け根位置座標Aを算出する。そして、座標算出部132は、これらの付け根位置座標Aを座標/算出データ保持部138に保存する。
座標算出部132は、距離算出部133が距離dを算出するときの処理と同様の処理を行うことによって、距離算出部133が距離dとするときの輪郭の座標を指先位置座標Bとして決定し、当該指先位置座標Bを座標/算出データ保持部138に保存する。
軌跡算出部134は、座標/算出データ保持部138から指先位置座標Bを読み出し、当該指先位置座標B上もしくは当該指先位置座標B近傍を通る線分を算出する。すなわち、軌跡算出部134は、ユーザの指がセンサ内蔵液晶パネル301の表面上を移動したときに、当該指の指先が通る仮想的な線分を決定しているといえる。
配置可能位置算出部135は、軌跡算出部134が算出した線分と、座標算出部132が取得データ記憶部21から読み出した座標データとを用いて、ユーザがなぞった範囲に対応した、メニュー項目が配置可能な範囲を決定する。
(主制御部の動作例)
次に、再び図9を参照しながら、主制御部800の動作例について、主制御部800からデータ処理部700に送信されるコマンドに触れながら、説明する。なお、ここでは、データ表示/センサ装置100がユーザ操作モードの切替(設定)処理を実行する際の、主制御部800の動作例について説明する。また、ここでは、データ表示/センサ装置100は、まず両手モード用のメニュー表示画面をセンサ内蔵液晶パネル301に表示しているものとする。
次に、再び図9を参照しながら、主制御部800の動作例について、主制御部800からデータ処理部700に送信されるコマンドに触れながら、説明する。なお、ここでは、データ表示/センサ装置100がユーザ操作モードの切替(設定)処理を実行する際の、主制御部800の動作例について説明する。また、ここでは、データ表示/センサ装置100は、まず両手モード用のメニュー表示画面をセンサ内蔵液晶パネル301に表示しているものとする。
また、データ表示/センサ装置100が表示/光センサ部300を1つだけ備える構成について説明するので、主制御部800がデータ処理部700に送信するコマンドの「表示パネル」フィールドを設定する場合には、“第1表示/光センサ部”(“001”)が指定されるものとする。
さらに、主制御部800は、センサ内蔵液晶パネル301が、ユーザの指が液晶パネル上にあるか、または、ユーザがなぞったことを検知することができるように、センサ内蔵液晶パネル301をスキャン可能な状態にしておく必要がある。このため、主制御部800は、まず、「スキャン方式」フィールドの値として“反射”(“00”)、“透過”(“01”)、“反射/透過”(“10”)のいずれか、「スキャン画像階調」フィールドの値として“2値”(“00”)、“多値”(“01”)のいずれか、「スキャン解像度」フィールドの値として“2値”(“00”)、“多値”(“01”)のいずれか、「スキャンパネル」フィールドの値として“第1表示/光センサ部”(“001”)を指定したコマンドを、データ処理部700に送信する。
まず、図9(a)および(b)では、メニュー表示制御部14は、両手モード用のメニュー表示画面をセンサ内蔵液晶パネル301に表示するために、両手モード用のメニュー表示画面を表示データとしてデータ処理部700に送信する。これにあわせて、メニュー表示制御部14は、「表示パネル」フィールドの値として“第1表示/光センサ部300A”(“001”)を指定したコマンドを、データ処理部700に送信する。
次に、領域判定部121がセンサ内蔵液晶パネル301上にユーザの指があるか否か、および、指が切替領域P上にあるか否かを判定するために、画像データ取得部111は、センサ内蔵液晶パネル301上で変化があったときの全体画像データを、データ処理部700から取得する。このため、画像データ取得部111は、「データ取得タイミング」フィールドの値として“イベント”(“01”)、「データ種別」フィールドの値として“全体画像”(“100”)を指定したコマンドを、データ処理部700に送信する。
図9(a)の場合、領域判定部121が、ユーザの指がセンサ内蔵液晶パネル301上にあるが、切替領域P上にはないものと判定するので、データ表示/センサ装置100は、ユーザ操作モードを両手モードのまま維持する。
そして、データ表示/センサ装置100は、ユーザ操作モードが両手モードのときに、任意のメニュー項目上にユーザの指がきた場合には、メニュー選択処理を行う。すなわち、データ表示/センサ装置100においてメニュー選択処理が実行されると、座標データ取得部112は、所定周期で(またはセンサ内蔵液晶パネル301上で変化があったときに)座標データを取得する。このため、座標データ取得部112は、「データ取得タイミング」フィールドの値として“オール”(“10”)または“イベント”(“01”)、「データ種別」フィールドの値として“座標”(“001”)を指定したコマンドを、データ処理部700に送信する。
メニュー表示制御部14は、上記座標データの示す座標とメニュー項目の表示領域内の座標とが一致した場合には、当該メニュー項目が選択状態であることを示すメニュー表示画面を生成する。そして、メニュー表示制御部14は、このメニュー表示画面を表示データとしてデータ処理部700に送信することにより、図9(a)に示すような選択状態の画面がセンサ内蔵液晶パネル301に表示することができる。このとき、メニュー表示制御部14は、「表示パネル」フィールドの値として“第1表示/光センサ部300A”(“001”)を指定したコマンドを、データ処理部700に送信する。
一方、図9(b)の場合、領域判定部121が、ユーザの指がセンサ内蔵液晶パネル301上にあり、かつ、切替領域P上にもあると判定するので、データ表示/センサ装置100は、ユーザ操作モードを片手モードに切り替える。
ユーザ操作モードが片手モードに設定されると、メニュー表示制御部14は、ユーザに対するメッセージ表示を行うために、「表示パネル」フィールドの値として“第1表示/光センサ部300A”(“001”)を指定したコマンドを、データ処理部700に送信する。これにあわせて、メニュー表示制御部14は、表示メッセージ記憶部22からメッセージ情報を読み出し、当該メッセージ情報に含まれるメッセージを配置したメニュー表示画面を生成し、当該メニュー表示画面を表示データとしてデータ処理部700に送信する。
次に、座標データ比較部131がセンサ内蔵液晶パネル301上をユーザがなぞったか否かを判定するために、座標データ取得部112は、所定周期で(またはセンサ内蔵液晶パネル301上で変化があったときに)座標データを取得する。このため、座標データ取得部112は、「データ取得タイミング」フィールドの値として“オール”(“10”)または“イベント”(“01”)、「データ種別」フィールドの値として“座標”(“001”)を指定したコマンドを、データ処理部700に送信する。
そして、座標データ比較部131がセンサ内蔵液晶パネル301上をなぞったと判定すると、座標算出部132による指の像の抽出および付け根位置座標Aの算出と、配置可能位置算出部135によるメニュー項目が配置可能な位置の決定とのために、データ取得部11は、所定の時間、データ処理部700から座標データおよび全体画像データを取得する。
このため、座標データ取得部112は、「データ取得タイミング」フィールドの値として“オール”(“10”)、「データ種別」フィールドの値として“座標”(“001”)を指定したコマンドを、データ処理部700に送信する。また、画像データ取得部111は、「データ取得タイミング」フィールドの値として“オール”(“10”)、「データ種別」フィールドの値として“全体画像”(“100”)を指定したコマンドを、データ処理部700に送信する。
この後、片手モード処理部13およびメニュー表示制御部14における処理が行われることにより、当該メニュー表示制御部14は、図9(b)(または、図11(a)から(e))に示すようなメニュー表示を行うための片手モード用のメニュー表示画面を生成する。そして、メニュー表示制御部14は、このメニュー表示画面をセンサ内蔵液晶パネル301に表示するために、当該メニュー表示画面を表示データとしてデータ処理部700に送信する。このとき、メニュー表示制御部14は、「表示パネル」フィールドの値として“第1表示/光センサ部300A”(“001”)を指定したコマンドを、データ処理部700に送信する。
また、図11(f)に示すように、主制御部800が指の大きさに応じて表示するメニュー項目の大きさを変更する処理を実行する場合に、面積算出部136が部分画像の面積を算出する場合がある。この場合、画像データ取得部111は、「データ取得タイミング」フィールドの値として“イベント”(“01”)、「データ種別」フィールドの値として“部分画像”(“010”)を指定したコマンドを、データ処理部700に送信する。
さらに、メニュー表示制御部14は、当該メニュー項目に対応付けられたアプリケーションプログラムに基づく表示画面を表示データとしてデータ処理部700に送信する。このとき、メニュー表示制御部14が選択メニュー項目が確定したか否かを判定するために、座標データ取得部112は、例えば「データ取得タイミング」フィールドの値として“イベント”(“01”)、「データ種別」フィールドの値として“座標”(“001”)を指定したコマンドを、データ処理部700に送信する。
(データ表示/センサ装置における処理の流れ)
次に、図10を参照しながら、データ表示/センサ装置100において、モード切替処理およびメニュー表示処理を行う際の処理の流れについて説明する。図10は、データ表示/センサ装置100において、モード切替処理およびメニュー表示処理を行う際の処理の流れを示すフローチャートである。なお、ここでは、データ表示/センサ装置100がまず両手モードに設定され、センサ内蔵液晶パネル301にメニュー表示画面(両手モード用)を表示しているものとする。また、データ表示/センサ装置100が片手モードに設定されたときには、軌跡算出部134が円の軌跡を算出し、当該円の軌跡上にメニュー項目を配置する場合の処理について説明する。
次に、図10を参照しながら、データ表示/センサ装置100において、モード切替処理およびメニュー表示処理を行う際の処理の流れについて説明する。図10は、データ表示/センサ装置100において、モード切替処理およびメニュー表示処理を行う際の処理の流れを示すフローチャートである。なお、ここでは、データ表示/センサ装置100がまず両手モードに設定され、センサ内蔵液晶パネル301にメニュー表示画面(両手モード用)を表示しているものとする。また、データ表示/センサ装置100が片手モードに設定されたときには、軌跡算出部134が円の軌跡を算出し、当該円の軌跡上にメニュー項目を配置する場合の処理について説明する。
また、このときセンサ内蔵液晶パネル301上に指がない(センサ内蔵液晶パネル301が指の像を検知できる範囲にない)ものとする。つまり、ユーザがデータ表示/センサ装置100を片手で持った状態で、かつ、当該データ表示/センサ装置100が両手モードに設定されている(S1)。具体的には、モード切替処理部12のモード設定部122は、ユーザ操作モードを両手モードに設定し、その旨をメニュー表示制御部14に通知する。
メニュー表示制御部14は、上記通知を受けると、メニュー記憶部231に格納された全てのメニュー項目に関する情報と、切替領域記憶部232に格納された切替領域Pに関する情報とを読み出し、当該メニュー項目に関する情報に含まれる配置位置(両手モード用)にメニュー項目を配置したメニュー表示画面(両手モード用)を生成する。そして、メニュー表示制御部14は、メニュー表示画面(両手モード用)をデータ処理部700に送信することにより、センサ内蔵液晶パネル301に当該メニュー表示画面(両手モード用)を表示する(S2)。そして、メニュー表示制御部14は、メニュー表示画面(両手モード用)をデータ処理部700に送信したことを領域判定部121に通知する。
なお、ここでは、メニュー表示制御部14は、ユーザ操作モードが両手モードのときには、予め設定された配置位置にメニュー項目を配置したが、これに限らず、両手モードに設定される度にメニュー項目の配置位置を算出(決定)する構成であってもよい。
次に、領域判定部121は、センサ内蔵液晶パネル301上にユーザの指(操作する指)があるか否かを判定する(S3)。具体的には、領域判定部121は、上記通知を受けると、画像データ取得部111に対してデータ処理部700から全体画像データを取得するように指示を行う。画像データ取得部111は、この指示を受けると、データ処理部700に変化があったときに全体画像データを送信するように指示を行い、全体画像データが送信されるまで待つ。そして、画像データ取得部111は、データ処理部700から全体画像データを受信すると、取得データ記憶部21に記憶すると共に、受信したことを領域判定部121に通知する。
領域判定部121は、上記通知を受けると、取得データ記憶部21に格納された全体画像データを読み出し、全体画像に指の像が含まれていることを確認する。領域判定部121は、全体画像に指の像が含まれている場合には、センサ内蔵液晶パネル301上にユーザの指があるものと判定する。
次に、領域判定部121は、センサ内蔵液晶パネル301上にユーザの指があるものと判定した場合(S3でYES)、指が当該センサ内蔵液晶パネル301の切替領域P上にあるか否かを判定する(S4)。具体的には、領域判定部121は、取得データ記憶部21から全体画像データと、切替領域記憶部232から切替領域Pに関する情報とを読み出し、当該全体画像データに含まれる指の像が当該切替領域Pに含まれているか否かを判定する。
なお、領域判定部121は、センサ内蔵液晶パネル301上に指がないものと判定した場合(すなわち、全体画像に指の像が含まれていない場合)(S3でNO)には、画像データ取得部111が全体画像データを取得したことを示す通知が再びくるのを待つ。
領域判定部121は、切替領域P上に指があると判定した場合(S4でYES)、モード設定部122に当該切替領域P上に指があることを通知する。モード設定部122は、上記通知を受けると、データ表示/センサ装置100のユーザ操作モードを両手モードから片手モードへと切り替える。すなわち、モード設定部122は、データ表示/センサ装置100を片手モードに設定する(S8)。なお、モード設定部122がデータ表示/センサ装置100を片手モードに設定した後の処理については後述する。
一方、領域判定部121は、切替領域P上に指がないと判定した場合(S4でNO)、モード設定部122に当該切替領域P上に指がないことを通知する。モード設定部122は、上記通知を受けると、ユーザ操作モードの設定として両手モードを維持する。
データ表示/センサ装置100が両手モードに設定されているとき、モード設定部122は、両手モードに設定されていることをメニュー表示制御部14に通知する。メニュー表示制御部14は、上記通知を受けると、メニュー選択処理を行う(S5)。
具体的には、メニュー表示制御部14は、S5の処理に入ると、座標データ取得部112に対してデータ処理部700から座標データを取得するように指示する。座標データ取得部112は、データ処理部700から送信される座標データを取得し、取得データ記憶部21に記憶する。また、座標データ取得部112は、座標データを取得データ記憶部21に記憶したことをメニュー表示制御部14に通知する。
なお、S5の処理において、センサ内蔵液晶パネル301上で変化があったときに、座標データ取得部112が座標データを取得するように構成されていてもよい。
メニュー表示制御部14は、上記通知を受けると、メニュー記憶部231からメニュー項目に関する情報を読み出すと共に、取得データ記憶部21から座標データを読み出し、S1の処理にて配置したメニュー項目上(メニュー項目の表示領域内)に指があるか否かを判定する。すなわち、メニュー表示制御部14は、上記座標データの示す座標とメニュー項目の表示領域内の座標とが一致するか否かを判定する。
そして、メニュー表示制御部14は、上記座標データの示す座標とメニュー項目の表示領域内の座標とが一致した場合には、当該メニュー項目が選択されたものと判定し、当該メニュー項目が選択状態であることを示すメニュー表示画面(選択されたメニュー項目の表示(メニュー項目の名称を含む)の拡大、メニュー項目の色の変更など)を生成する。メニュー表示制御部14は、上記メニュー表示画面を生成すると、データ処理部700に送信することにより、センサ内蔵液晶パネル301に当該メニュー表示画面を表示する。
次に、メニュー表示制御部14は、S5の処理において選択状態となったメニュー項目(以下、選択メニュー項目とする)が確定となったか否かを判定する(S6)。具体的には、メニュー表示制御部14は、選択メニュー項目が以下の状態(1)から(4)となった場合、当該メニュー項目が確定したものと判定する。すなわち、メニュー表示制御部14は、
(1)選択メニュー項目上に指が置かれ、そのまま所定の時間が経過したとき
(2)センサ内蔵液晶パネル301上かつ選択メニュー項目上から指が離れたとき
(3)選択メニュー項目上で指の色が変化したとき(すなわち図7(b)に示すような全体画像データを取得したとき)
(4)センサ内蔵液晶パネル301上かつ選択メニュー項目上から指を離して、所定の時間内に再び選択メニュー項目上に指が置かれたとき
に、選択メニュー項目が確定したものと判定する。
(1)選択メニュー項目上に指が置かれ、そのまま所定の時間が経過したとき
(2)センサ内蔵液晶パネル301上かつ選択メニュー項目上から指が離れたとき
(3)選択メニュー項目上で指の色が変化したとき(すなわち図7(b)に示すような全体画像データを取得したとき)
(4)センサ内蔵液晶パネル301上かつ選択メニュー項目上から指を離して、所定の時間内に再び選択メニュー項目上に指が置かれたとき
に、選択メニュー項目が確定したものと判定する。
そして、メニュー表示制御部14によって選択メニュー項目が確定したものと判定された場合には(S6でYES)、主制御部800のアプリケーション実行部(図示せず)は、当該選択メニュー項目に対応付けられた機能を実行する(S7)。このとき、メニュー表示制御部14は、アプリケーション実行部が上記機能を実行するためのアプリケーションプログラムを記憶部901から読み出して、当該プログラムを実行すると、当該アプリケーションプログラムに基づく表示画面を生成し、データ処理部700に送信することにより、当該表示画面をセンサ内蔵液晶パネル301に表示する。
なお、メニュー表示制御部14によって選択メニュー項目が確定していないものと判定された場合には(S6でNO)、S5の処理に戻る。
次に、S8の処理にて、モード設定部122がユーザ操作モードを片手モードに設定した場合、メニュー表示制御部14は、表示メッセージ記憶部22からメッセージ情報を読み出し、当該メッセージ情報に含まれるメッセージを配置したメニュー表示画面を生成し、当該メニュー表示画面をデータ処理部700に送信する。つまり、メニュー表示制御部14は、上記メニュー表示画面をデータ処理部700に送信することにより、センサ内蔵液晶パネル301に、例えば「操作する指で画面をなぞって下さい」等の文字データが表示させる(S9)。そして、メニュー表示制御部14は、メッセージ情報をデータ処理部700に送信したことを座標データ取得部112および座標データ比較部131に通知する。
次に、座標データ比較部131は、ユーザがセンサ内蔵液晶パネル301上を指でなぞったか否かを判定する(S10)。具体的には、座標データ取得部112は、上記通知を受けると、データ処理部700から所定周期で(またはセンサ内蔵液晶パネル301上で変化があった場合に)座標データを取得し、取得データ記憶部21に記憶する。そして、座標データ比較部131は、取得データ記憶部21に格納された2つの座標データを読み出して、当該2つの座標データを比較する。座標データ比較部131は、上記2つの座標データの値が同じである場合(2つの座標データの差分がほぼ0である場合)には、ユーザがセンサ内蔵液晶パネル301上を指でなぞっていないものと判定する一方、当該2つの座標データの値が異なる場合には、センサ内蔵液晶パネル301上を指でなぞったと判定する。
なお、座標データ比較部131が上記判定を行う場合、2つの座標データの値が同じか否か(差分がほぼ0か否か)によって判定を行っているが、これに限らず、2つの座標データの差分が記憶部901に予め格納された閾値以上か否かによって判定を行ってもよい。座標データ比較部131は、2つの座標データの差分が閾値以上であると判定した場合には、ユーザがセンサ内蔵液晶パネル301上を指でなぞったものと判定する。
ユーザがセンサ内蔵液晶パネル301上を指でなぞったと判定された場合(S10でYES)、座標データ比較部131は、その旨をデータ取得部11に通知する。座標データ取得部112は、上記通知を受けると、所定の時間、データ処理部700から座標データを取得し、取得データ記憶部21に記憶する(S11)。
また、画像データ取得部111は、この間に全体画像データを取得し、取得データ記憶部21に記憶する。そして、座標データ取得部112は、所定の時間が経過すると、座標算出部132に座標データおよび全体画像データの取得が完了したことを通知する。
なお、ユーザがセンサ内蔵液晶パネル301上を指でなぞっていないと判定された場合(S10でNO)には、メニュー表示制御部14は、S10の処理を再び実行することとなる。
S11の処理後、座標算出部132は、座標データおよび全体画像データの取得完了を示す通知を受けると、全体画像データを取得データ記憶部21から読み出し、当該全体画像データを解析することによって、付け根位置座標Aを算出する(S12)。具体的には、座標算出部132は、上記全体画像データに含まれる指の像を抽出し、センサ内蔵液晶パネル301の端部と当該指の像との接触領域における、y座標が最大の座標と最小の座標とを取得する。そして、座標算出部132は、この2つの座標の平均値を算出して、付け根位置座標Aとして座標/算出データ保持部138に保存する。また、座標算出部132は、抽出した指の像を取得データ記憶部21に格納する。
次に、距離算出部133は、センサ内蔵液晶パネル301上の指の付け根と指先との距離dを算出する(S13)。具体的には、距離算出部133は、座標算出部132が算出した付け根位置座標Aと、上記指の像における輪郭の座標とを用いることによって、距離dを算出する。
例えば、距離算出部133は、上記指の像を取得データ記憶部21から読み出すと、当該指の像における輪郭の座標を検出する。距離算出部133は、座標/算出データ保持部138から付け根位置座標Aを読み出し、当該付け根位置座標Aと上記輪郭の座標との差分を算出して、当該輪郭の座標と算出した差分とを対応付けて座標/算出データ保持部138に保存する。そして、距離算出部133は、上記のような輪郭の座標の検出および差分の算出を繰り返し行い、差分を算出する毎に、当該算出した差分と座標/算出データ保持部138に保存された差分とを比較する。距離算出部133は、比較した結果、差分が大きいと判定した方の輪郭の座標と、このとき大きいと判定された差分とを対応付けて座標/算出データ保持部138に保存する。
つまり、距離算出部133は、上記比較を行うことによって、最大となる差分を決定することができ、当該最大となる差分を距離dとして座標/算出データ保持部138に保存する。
次に、軌跡算出部134は、座標/算出データ保持部138に保存された付け根位置座標Aと距離dとを読み出すと、当該付け根位置座標Aを中心座標、当該距離dを半径とする、x≧0かつy≧0を満たす円の軌跡を算出する(S6)。軌跡算出部134は、算出した円の軌跡を座標/算出データ保持部138に保存する。
次に、配置可能位置算出部135は、座標/算出データ保持部138に保存された円の軌跡を読み出し、メニュー項目の配置が可能な位置座標を算出する(S7)。
具体的には、配置可能位置算出部135は、取得データ記憶部21に格納された座標データを読み出し、当該座標のうち、y座標が最小の座標と最大の座標とを取得する。配置可能位置算出部135は、y座標が最小の座標を有する指の像の位置と、y座標が最大の座標を有する指の像の位置との間で、かつ、上記円の軌跡上に、メニュー項目が配置可能である(メニュー項目が配置可能な範囲)と判定する。配置可能位置算出部135は、上記指の像の位置で、かつ、円の軌跡上の2つの位置座標を、円端部座標として座標/算出データ保持部138に保存する。
さらに、配置可能位置算出部135は、記憶部901に格納された所定の角度を示す値を読み出し、付け根位置座標Aからx軸方向(センサ内蔵液晶パネル301の水平方向)に延びる直線を基準として、円の軌跡上の位置座標を算出する。
つまり、配置可能位置算出部135は、まず、付け根位置座標Aからx軸方向に延びる直線上で、かつ、円の軌跡上の位置座標を算出する。次に、配置可能位置算出部135は、付け根位置座標Aを中心として、上記直線から所定の角度をなす直線上で、かつ、円の軌跡上の位置座標を算出する。配置可能位置算出部135は、上記メニュー項目が配置可能な範囲内(円端部座標に挟まれた円の軌跡内)において上記処理を繰り返し行うことにより、円の軌跡上の位置座標を算出する。
なお、上記では、配置可能位置算出部135は、付け根位置座標Aからx軸方向に延びる直線を基準として、円の軌跡上の位置座標を算出したが、これに限られたものではない。例えば、配置可能位置算出部135は、y座標が最小(または最大)の座標を有する指の像の位置(すなわち付け根位置座標Aと上記最小(または最大)の座標を結ぶ直線)を基準として、円の軌跡上の位置座標を算出してもよい。
次に、配置可能位置算出部135は、上記円の軌跡上の位置座標と、メニュー記憶部231に格納されたメニュー項目の大きさを示す値とを用いて、メニュー項目の配置可能な位置座標とその個数とを算出する。例えば、配置可能位置算出部135は、上記円の軌跡上の位置座標を中心としてメニュー項目を配置するときに、当該メニュー項目がセンサ内蔵液晶パネル301内にあると判定した場合には、当該円の軌跡上の位置座標をメニュー項目が配置可能な位置座標として決定すると共に、当該配置可能な位置座標の個数をカウントする。
そして、配置可能位置算出部135は、メニュー項目の配置可能な位置座標とその個数とを座標/算出データ保持部138に保存すると共に、保存したことをメニュー選択部137に通知する。
メニュー選択部137は、配置可能位置算出部135からの通知を受けると、センサ内蔵液晶パネル301に配置すべきメニュー項目全てが表示可能であるかを判定する(S16)。具体的には、メニュー選択部137は、座標/算出データ保持部138からメニュー項目の配置可能な位置座標の個数を読み出すと、メニュー記憶部231に格納された、メニュー表示画面に配置するのに必要なメニュー項目の個数をカウントし、カウントした個数が当該位置座標の個数以下であるか否かを判定する。すなわち、メニュー選択部137は、カウントした個数が上記位置座標の個数以下である場合には、全てのメニュー項目を配置可能であると判定する。
メニュー選択部137は、全てのメニュー項目を表示可能であると判定した場合(S16でYES)、配置すべきメニュー項目として全てのメニュー項目を選択し、メニュー表示制御部14にメニュー項目を選択したことを通知する。そして、メニュー表示制御部14は、座標/算出データ保持部138からメニュー項目の配置可能な位置座標を読み出し、当該位置座標を中心として、メニュー選択部137にて選択されたメニュー項目を配置することにより、メニュー表示画面(片手モード用)を生成する。
メニュー表示制御部14は、生成したメニュー表示画面(片手モード用)をデータ処理部700に送信する。これにより、データ表示/センサ装置100は、片手モード用としてのメニュー表示画面をセンサ内蔵液晶パネル301に表示することができる(S17)。
一方、メニュー選択部137は、全てのメニュー項目が表示可能でないと判定した場合(S16でNO)、配置すべきメニュー項目から、メニュー表示画面(片手モード用)に表示するメニュー項目を選択する(S18)。そして、メニュー選択部137がメニュー表示制御部14にメニュー項目に選択したことを通知すると、当該メニュー表示制御部14によってS17の処理が行われる。
なお、例えばデータ表示/センサ装置100は、上記メニュー項目に対して、使用頻度の高い順や最近使った順に優先順位を設定する構成となっており、当該優先順位を当該メニュー項目に対応付けて記憶していてもよい。この場合、S18の処理において、メニュー選択部137は、優先順位の若い順(すなわち、使用頻度の高い順または最近使った順)に、座標/算出データ保持部138から読み出した位置座標の個数分だけ、当該優先順位に対応するメニュー項目を選択してもよい。
S17の処理後、メニュー表示制御部14は、メニュー選択処理を行う(S19)。このメニュー選択処理は、上述したS5の処理と同様であるため、ここではその説明を省略する。
次に、メニュー表示制御部14は、所定の時間、指が切替領域P上から離れたか否かを判定する(S20)。具体的には、メニュー表示制御部14は、画像データ取得部111がデータ処理部700から全体画像データを取得したタイミングで、座標データ取得部112が座標データを取得しなかった場合には、その旨の通知をデータ取得部11から受ける。
メニュー表示制御部14は、この通知を受け取ったときに、指が切替領域Pから離れたものと判定し、計時を開始する。そして、メニュー表示制御部14は、所定の時間内に、画像データ取得部111が全体画像データを取得すると共に、座標データ取得部112が当該座標データを取得した旨の通知を受けなかった場合には、指が切替領域Pから離れたと判定する。
メニュー表示制御部14は、所定の時間、指が切替領域P上から離れたと判定した場合(S20でYES)、その旨をモード設定部122に通知する。モード設定部122は、上記通知を受けると、ユーザ操作モードを両手モードに設定した後、その旨の通知をメニュー表示制御部14に通知する(すなわちS1の処理に移る)。すなわち、モード設定部122は、メニュー表示制御部14によって、所定の時間、指が切替領域P上から離れたと判定した場合に、ユーザ操作モードを片手モードから両手モードに切り替える。
一方、メニュー表示制御部14は、所定の時間、指が切替領域P上から離れていないと判定した場合(S20でNO)、S19の処理において選択メニュー項目が確定となったか否かを判定する(すなわちS6の処理に移る)。
なお、ユーザ操作モードが片手モードに設定されている場合のS6の処理において、メニュー表示制御部14によって選択メニュー項目が確定していないものと判定された場合には、S19の処理(S5の処理と同様)に戻るものとする。
なお、上記では、ユーザ操作モードが片手モードに設定されている場合において、メニュー項目の大きさがメニュー記憶部231に予め格納されている場合の処理について説明したが、これに限らず、当該大きさが、メニュー記憶部231に予め格納されておらず、ユーザの指の大きさによって変更されてもよい。
この場合、例えばメニュー記憶部231には、上記指の像(または部分画像)の面積とメニュー項目の大きさを示す値とが対応付けて記憶されている。片手モード処理部13の面積算出部136は、S12の処理において取得データ記憶部21に格納された指の像を読み出し、当該指の像の面積を算出し、座標/算出データ保持部138に保存する。
S15の処理において、配置可能位置算出部135は、座標/算出データ保持部138から指の像の面積を読み出すと、当該面積に対応するメニュー項目の大きさを示す値をメニュー記憶部231から読み出す。配置可能位置算出部135は、この読み出したメニュー項目の大きさを示す値と、上記円の軌跡上の位置座標とを用いて、メニュー項目の配置可能な位置座標とその個数を算出する。
このとき、配置可能位置算出部135は、隣接して配置されるメニュー項目を囲む四角形が重なる(すなわち当該2つのメニュー項目が重なる)と判断した場合には、記憶部901に格納された所定の角度を示す値を設定しなおしてもよい。
なお、配置可能位置算出部135が指の像の代わりに部分画像の面積を用いる場合には、面積算出部136は、S11の処理が行われるときに、画像データ取得部111に部分画像データをデータ処理部700から取得するように指示を行う。画像データ取得部111は、この指示を受けると、部分画像データを送信するように指示を行い、部分画像データが送信されるのを待つ。そして、画像データ取得部111は、データ処理部700から部分画像データを受信すると、取得データ記憶部21に記憶すると共に、受信したことを面積算出部136に通知する。
面積算出部136は、上記通知を受けると、取得データ記憶部21に格納された部分画像データを読み出し、当該部分画像の面積を算出する。そして、面積算出部136がこの部分画像の面積を座標/算出データ保持部138に保存することにより、配置可能位置算出部135は、上記と同様、メニュー項目の配置可能な位置座標とその個数とを算出する。
また、配置可能位置算出部135は、上記面積に対応するメニュー項目の大きさを示す値を読み出すときに、当該値を読み出したことをメニュー表示制御部14に通知する。
これにより、データ表示/センサ装置100は、センサ内蔵液晶パネル301上の指の大きさを検知することによって、ユーザの指の大きさに応じたメニュー項目の大きさに変更することができる。
また、メニュー項目の大きさは、上記と同様、メニューの表示位置(円の大きさ)によって変更されてもよい。この場合、例えばメニュー記憶部231には、距離算出部133が算出する距離dに対応付けてメニュー項目の大きさを示す値が記憶されている。そして、S15の処理において、配置可能位置算出部135は、座標/算出データ保持部138から部分画像データの代わりに距離dを読み出して、上記と同様の処理を行う。
なお、データ表示/センサ装置100は、モード設定部122がユーザ操作モードを片手モードに設定している場合には、例えば「Map」などの任意のメニュー項目を実行すると、当該メニュー項目に対応付けられたサブメニュー項目を、上記メニュー項目の配置可能な位置座標に表示するようにしてもよい。この場合、メニュー表示制御部14は、S7の処理後に、上記メニュー項目に対応付けられたサブメニュー項目をメニュー記憶部231から読み出して、S15からS18の処理を行って、センサ内蔵液晶パネル301にサブメニューの表示を行う。
なお、両手モードに設定されている場合には、メニュー表示制御部14は、S7の処理後に、メニュー記憶部231に格納された、確定したメニュー項目に対応付けられたサブメニュー項目を読み出し、S2の処理でメニュー項目を配置した位置に当該サブメニュー項目を配置したメニュー表示画面(両手モード用)を生成する。
また、データ表示/センサ装置100は、ユーザ操作モードが片手モードに設定されている場合には、上記メニュー表示を行ったまま、サブメニューを表示するようにしてもよい。この場合、あるメニュー項目が実行されると、データ表示/センサ装置100は、上記のようにサブメニュー項目の表示位置を決定する。そして、データ表示/センサ装置100では、メニュー項目の新たな表示位置を決定するために、軌跡算出部134は、距離算出部133が算出し、座標/算出データ保持部138に保存された距離d1を半径として拡大円の軌跡を算出する。データ表示/センサ装置100は、拡大円の軌跡に対しても、S15からS18の処理を行い、表示するメニュー項目およびその位置を決定する。
すなわち、データ表示/センサ装置100は、あるメニュー項目を実行すると、当該メニュー項目が配置されていた円の軌跡上(図9(a)から(f)および図11(b)に示す遷移後の画面における点線上)にサブメニュー項目を配置すると共に、当該円より大きい半径を有する拡大円の軌跡上にメニュー項目を配置しなおす。これにより、データ表示/センサ装置100は、メニューおよびサブメニューを同時にセンサ内蔵液晶パネル301に表示することができる。
(データ表示/センサ装置における処理の流れの別例(片手モード))
上記では、データ表示/センサ装置100が片手モードに設定されているとき、軌跡算出部134が算出した円の軌跡上にメニュー項目を配置する場合の処理の流れについて説明した。ここでは、データ表示/センサ装置100が、片手モードに設定されているときに、円の軌跡を算出する場合に限らず、ユーザがなぞった範囲に対応するようにメニュー項目を配置する場合の処理の流れについて説明する。
上記では、データ表示/センサ装置100が片手モードに設定されているとき、軌跡算出部134が算出した円の軌跡上にメニュー項目を配置する場合の処理の流れについて説明した。ここでは、データ表示/センサ装置100が、片手モードに設定されているときに、円の軌跡を算出する場合に限らず、ユーザがなぞった範囲に対応するようにメニュー項目を配置する場合の処理の流れについて説明する。
ここでは、図12に示すデータ表示/センサ装置100における処理の流れのうち、上記処理とは異なるステップについてのみ説明することとし、同様の処理が行われるステップについてはその説明を省略することとする。
この場合、図12に示すS12の処理において、座標算出部132は、全体画像データ全てを取得データ記憶部21から読み出し、付け根位置座標Aを算出する。
次に、S13の処理の代わりに、座標算出部132は、距離算出部133と同様の処理を行うことによって、距離dを算出するときに用いる、差分が最大となるときの輪郭の座標を指先位置座標Bとして決定し、座標/算出データ保持部138に保存する。座標算出部132は、軌跡算出部133が、ユーザの指がセンサ内蔵液晶パネル301の表面上を移動したときに、当該指の指先が通る仮想的な線分を決定するために、全ての全体画像データに対して指先位置座標Bを算出する。
そして、軌跡算出部133は、S14の処理の代わりに、座標/算出データ保持部138に保存された全ての指先位置座標Bを読み出し、当該指先位置座標B上(もしくは近傍)を通る線分を仮想的な線分として決定する。軌跡算出部133は、算出した線分を座標/算出データ保持部138に保存する。
なお、軌跡算出部133の線分の算出方法は、これに限らず、例えば2つの指先位置座標Bを取得した時点で、ユーザの指が移動する方向を予測して、予測した結果を仮想的な線分として決定する方法であってもよい。
次に、S15での処理において、配置可能位置算出部135は、円の軌跡の代わりに、上記線分を読み出し、メニュー項目の配置が可能な位置座標を算出する。
この場合、配置可能位置算出部135は、座標/算出データ保持部138に保存された座標データのうち、y座標が最小の座標を有する指の像の位置と、y座標が最大の座標を有する指の像の位置との間で、かつ、上記線分上に、メニュー項目が配置可能である(メニュー項目が配置可能な範囲)と判定する。そして、配置可能位置算出部135は、上記指の像の位置で、かつ、上記線分上の2つの位置座標を、上記の円端部座標として座標/算出データ保持部138に保存する。
これにより、データ表示/センサ装置100は、片手モードに設定されているときに、軌跡算出部134が円の軌跡を算出する場合に比べて、指がなぞった軌跡に忠実にメニュー項目を配置することができるので、センサ内蔵液晶パネル301上をなぞる指(手)の大きさだけでなく、指の動きにあわせてメニュー表示を行うことができる。このため、データ表示/センサ装置100は、ユーザの操作性および利便性をさらに向上させることができる。
(補足)
最後に、本実施形態に係るデータ表示/センサ装置100の各ブロック、特にデータ取得部11の画像データ取得部111および座標データ取得部112、モード切替処理部12の領域判定部121およびモード設定部122、片手モード処理部13の座標データ比較部131、座標算出部132、距離算出部133、軌跡算出部134、配置可能位置算出部135、面積算出部136およびメニュー選択部137、並びに、メニュー表示制御部14は、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。
最後に、本実施形態に係るデータ表示/センサ装置100の各ブロック、特にデータ取得部11の画像データ取得部111および座標データ取得部112、モード切替処理部12の領域判定部121およびモード設定部122、片手モード処理部13の座標データ比較部131、座標算出部132、距離算出部133、軌跡算出部134、配置可能位置算出部135、面積算出部136およびメニュー選択部137、並びに、メニュー表示制御部14は、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。
すなわち、本実施形態に係るデータ表示/センサ装置100は、各機能を実現する制御プログラムの命令を実行するCPU(Central Processing Unit)、上記プログラムを格納したROM(Read Only Memory)、上記プログラムを展開するRAM(Random Access Memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアであるデータ表示/センサ装置100の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記データ表示/センサ装置100に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
また、本実施形態に係るデータ表示/センサ装置100を通信ネットワークと接続可能に構成し、上記プログラムコードを、通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(Virtual Private Network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
本発明は、ユーザの操作方法に応じたメニュー表示の切替処理を行う装置に適用できる。特に、ユーザの手の大きさに応じたメニュー表示を行うメニュー表示装置に好適である。
11 データ取得部(像取得手段)
13 片手モード処理部(位置決定手段)
14 メニュー表示制御部(位置決定手段、メニュー表示制御手段)
100 データ表示/センサ装置(メニュー表示装置)
121 領域判定部(領域判定手段)
132 座標算出部(座標算出手段)
133 距離算出部(距離算出手段)
134 軌跡算出部(線分決定手段)
135 配置可能位置算出部(位置決定手段)
136 面積算出部(位置決定手段)
301 センサ内蔵液晶パネル(面状部材)
P 切替領域(所定の領域)
A 付け根位置座標
B 指先位置座標
d 距離
13 片手モード処理部(位置決定手段)
14 メニュー表示制御部(位置決定手段、メニュー表示制御手段)
100 データ表示/センサ装置(メニュー表示装置)
121 領域判定部(領域判定手段)
132 座標算出部(座標算出手段)
133 距離算出部(距離算出手段)
134 軌跡算出部(線分決定手段)
135 配置可能位置算出部(位置決定手段)
136 面積算出部(位置決定手段)
301 センサ内蔵液晶パネル(面状部材)
P 切替領域(所定の領域)
A 付け根位置座標
B 指先位置座標
d 距離
Claims (7)
- 近傍の対象物を検知すると共に、ユーザが機能を選択するためのメニューを表示する面状部材を備えたメニュー表示装置であって、
上記面状部材が検知した対象物の像を取得する像取得手段と、
上記像取得手段が取得した対象物の像の、上記面状部材上における位置に応じて、ユーザが選択可能なメニュー項目を配置する配置位置を決定する位置決定手段と、
上記位置決定手段が決定した配置位置に、上記メニュー項目を配置してメニュー表示を行うメニュー表示制御手段と、を備えたことを特徴とするメニュー表示装置。 - 上記像取得手段が取得した対象物の像が、上記面状部材上の所定の領域内にあるか否かを判定する領域判定手段をさらに備え、
上記位置決定手段は、上記領域判定手段による判定結果に基づいて、上記配置位置を決定することを特徴とする請求項1に記載のメニュー表示装置。 - 上記所定の領域は、
ユーザが自装置を把持している持ち手で上記面状部材に対する操作を行うときには、上記領域判定手段が上記像取得手段によって取得された対象物の像を検出する領域であり、
上記持ち手とは反対の手で上記面状部材に対する操作を行うときには、上記領域判定手段が上記対象物の像を検出しない領域であることを特徴とする請求項2に記載のメニュー表示装置。 - 上記領域判定手段によって、上記像取得手段が取得した対象物の像が、上記面状部材上の所定の領域内にあると判定された場合、
上記面状部材が検知する対象物の像は、上記持ち手の指の像であり、さらに、
上記像取得手段が取得した指の像における指先の位置を示す指先位置座標を求める座標算出手段と、
上記座標算出手段が求めた指先位置座標上または指先位置座標近傍を通り、ユーザの指が上記面状部材の表面上を移動したときに、当該指の指先が通る仮想的な線分を決定する線分決定手段と、をさらに備え、
上記位置決定手段は、上記線分決定手段が決定した仮想的な線分上に、上記メニュー項目の配置位置を決定することを特徴とする請求項3に記載のメニュー表示装置。 - 上記座標算出手段が求めた指先位置座標と付け根位置座標との距離を求める距離算出手段をさらに備え、
上記座標算出手段は、さらに、上記像取得手段が取得した指の像における当該指の付け根の位置を示す付け根位置座標を求めるものであり、
上記線分決定手段は、上記座標算出手段が求めた付け根位置座標を中心座標とし、上記距離算出手段が求めた距離または当該距離よりも短い距離を半径とした円孤の軌跡を上記仮想的な線分として求めることを特徴とする請求項4に記載のメニュー表示装置。 - 近傍の対象物を検知すると共に、ユーザが機能を選択するためのメニューを表示する面状部材を備えたメニュー表示装置の制御方法であって、
上記面状部材が検知した対象物の像を取得する像取得ステップと、
上記像取得ステップにて取得した対象物の像の、上記面状部材上における位置に応じて、ユーザが選択可能なメニュー項目を配置する配置位置を決定する位置決定ステップと、
上記位置決定ステップにて決定した配置位置に、上記メニュー項目を配置してメニュー表示を行う表示制御ステップと、を含むことを特徴とするメニュー表示装置の制御方法。 - 請求項1から5のいずれか1項に記載のメニュー表示装置の上記各手段としてコンピュータを機能させるためのメニュー表示プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008277030A JP2010108081A (ja) | 2008-10-28 | 2008-10-28 | メニュー表示装置、メニュー表示装置の制御方法、およびメニュー表示プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008277030A JP2010108081A (ja) | 2008-10-28 | 2008-10-28 | メニュー表示装置、メニュー表示装置の制御方法、およびメニュー表示プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010108081A true JP2010108081A (ja) | 2010-05-13 |
Family
ID=42297501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008277030A Pending JP2010108081A (ja) | 2008-10-28 | 2008-10-28 | メニュー表示装置、メニュー表示装置の制御方法、およびメニュー表示プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010108081A (ja) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011253273A (ja) * | 2010-06-01 | 2011-12-15 | Sony Corp | 表示方法および情報処理装置 |
JP2012058910A (ja) * | 2010-09-07 | 2012-03-22 | Nec Corp | 携帯端末装置及びプログラム |
JP2012108674A (ja) * | 2010-11-16 | 2012-06-07 | Ntt Docomo Inc | 表示端末 |
JP2012175213A (ja) * | 2011-02-18 | 2012-09-10 | Nec Casio Mobile Communications Ltd | 携帯電子機器、その制御方法及びプログラム |
WO2012140883A1 (ja) * | 2011-04-11 | 2012-10-18 | パナソニック株式会社 | 表示処理装置 |
KR101250821B1 (ko) | 2012-10-24 | 2013-04-05 | (주)지란지교소프트 | 휴대전자기기에서의 입력 모드에 따른 인터페이스 처리 방법 및 그 휴대전자기기 |
KR101251337B1 (ko) | 2012-10-24 | 2013-04-05 | (주)지란지교소프트 | 휴대전자기기에서의 파지모드 실행 방법 및 그 휴대전자기기 |
JP2013145556A (ja) * | 2012-01-16 | 2013-07-25 | Acer Inc | 電子機器およびその制御方法 |
JP2013161332A (ja) * | 2012-02-07 | 2013-08-19 | Sharp Corp | 情報処理装置、その制御方法およびその制御プログラム |
JP2014002710A (ja) * | 2012-05-22 | 2014-01-09 | Panasonic Corp | 入出力装置 |
JP2014182435A (ja) * | 2013-03-18 | 2014-09-29 | Fujitsu Ltd | 入力装置および入力制御方法並びに入力制御プログラム |
KR20150055008A (ko) * | 2012-09-13 | 2015-05-20 | 구글 인코포레이티드 | 터치스크린으로 방사형 메뉴 제공 |
JP2015518221A (ja) * | 2012-05-21 | 2015-06-25 | サムスン エレクトロニクス カンパニー リミテッド | タッチスクリーンを使用するユーザインターフェース制御方法及び装置 |
JP2015219724A (ja) * | 2014-05-16 | 2015-12-07 | 富士通株式会社 | 電子機器 |
JP2018506086A (ja) * | 2016-01-19 | 2018-03-01 | 北京小米移動軟件有限公司Beijing Xiaomi Mobile Software Co.,Ltd. | ジェスチャー識別方法、装置、プログラム及び記録媒体 |
JP2020144767A (ja) * | 2019-03-08 | 2020-09-10 | Tis株式会社 | プログラム及び情報処理装置 |
-
2008
- 2008-10-28 JP JP2008277030A patent/JP2010108081A/ja active Pending
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011253273A (ja) * | 2010-06-01 | 2011-12-15 | Sony Corp | 表示方法および情報処理装置 |
JP2012058910A (ja) * | 2010-09-07 | 2012-03-22 | Nec Corp | 携帯端末装置及びプログラム |
JP2012108674A (ja) * | 2010-11-16 | 2012-06-07 | Ntt Docomo Inc | 表示端末 |
JP2012175213A (ja) * | 2011-02-18 | 2012-09-10 | Nec Casio Mobile Communications Ltd | 携帯電子機器、その制御方法及びプログラム |
WO2012140883A1 (ja) * | 2011-04-11 | 2012-10-18 | パナソニック株式会社 | 表示処理装置 |
JP2013145556A (ja) * | 2012-01-16 | 2013-07-25 | Acer Inc | 電子機器およびその制御方法 |
JP2013161332A (ja) * | 2012-02-07 | 2013-08-19 | Sharp Corp | 情報処理装置、その制御方法およびその制御プログラム |
JP2015518221A (ja) * | 2012-05-21 | 2015-06-25 | サムスン エレクトロニクス カンパニー リミテッド | タッチスクリーンを使用するユーザインターフェース制御方法及び装置 |
US11061496B2 (en) | 2012-05-21 | 2021-07-13 | Samsung Electronics Co., Ltd. | Method and apparatus of controlling user interface using touch screen |
US10338705B2 (en) | 2012-05-21 | 2019-07-02 | Samsung Electronics Co., Ltd. | Method and apparatus of controlling user interface using touch screen |
JP2014002710A (ja) * | 2012-05-22 | 2014-01-09 | Panasonic Corp | 入出力装置 |
KR101960871B1 (ko) | 2012-09-13 | 2019-03-21 | 구글 엘엘씨 | 터치스크린으로 방사형 메뉴 제공 |
KR20150055008A (ko) * | 2012-09-13 | 2015-05-20 | 구글 인코포레이티드 | 터치스크린으로 방사형 메뉴 제공 |
CN104781777A (zh) * | 2012-09-13 | 2015-07-15 | 谷歌公司 | 利用触屏提供径向菜单 |
JP2015531949A (ja) * | 2012-09-13 | 2015-11-05 | グーグル インコーポレイテッド | タッチスクリーンによるラジアルメニューの提供 |
JP2017139028A (ja) * | 2012-09-13 | 2017-08-10 | グーグル インコーポレイテッド | タッチスクリーンによるラジアルメニューの提供 |
KR101251337B1 (ko) | 2012-10-24 | 2013-04-05 | (주)지란지교소프트 | 휴대전자기기에서의 파지모드 실행 방법 및 그 휴대전자기기 |
KR101250821B1 (ko) | 2012-10-24 | 2013-04-05 | (주)지란지교소프트 | 휴대전자기기에서의 입력 모드에 따른 인터페이스 처리 방법 및 그 휴대전자기기 |
JP2014182435A (ja) * | 2013-03-18 | 2014-09-29 | Fujitsu Ltd | 入力装置および入力制御方法並びに入力制御プログラム |
JP2015219724A (ja) * | 2014-05-16 | 2015-12-07 | 富士通株式会社 | 電子機器 |
JP2018506086A (ja) * | 2016-01-19 | 2018-03-01 | 北京小米移動軟件有限公司Beijing Xiaomi Mobile Software Co.,Ltd. | ジェスチャー識別方法、装置、プログラム及び記録媒体 |
JP2020144767A (ja) * | 2019-03-08 | 2020-09-10 | Tis株式会社 | プログラム及び情報処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2010108081A (ja) | メニュー表示装置、メニュー表示装置の制御方法、およびメニュー表示プログラム | |
JP5367339B2 (ja) | メニュー表示装置、メニュー表示装置の制御方法、およびメニュー表示プログラム | |
JP2010146506A (ja) | 入力装置、入力装置の制御方法、入力装置の制御プログラム、コンピュータ読取可能な記録媒体、および情報端末装置 | |
WO2011102038A1 (ja) | タッチパネル付き表示装置およびその制御方法、並びに制御プログラムおよび記録媒体 | |
JP2010140300A (ja) | 表示装置、制御方法、制御プログラムおよび記録媒体 | |
JP5095574B2 (ja) | 画像表示/像検知装置、画像表示方法、画像表示プログラムおよび当該プログラムを記録した記録媒体 | |
JP2010186442A (ja) | 入力装置、及び入力制御方法 | |
JP2010122972A (ja) | 画像表示/検出装置、選択方法、及び、プログラム | |
JP5306780B2 (ja) | 入力装置 | |
JP5254753B2 (ja) | 数値入力装置、数値入力方法、数値入力プログラム、およびコンピュータ読み取り可能な記録媒体 | |
JP2010204945A (ja) | 入力装置、及び入力方法 | |
JP2010109467A (ja) | 画像表示/像検知装置 | |
JP2010123082A (ja) | 表示装置、表示装置の制御方法、表示装置制御プログラムおよび該プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2010122383A (ja) | 表示装置 | |
JP2010256969A (ja) | ユーザインターフェイス装置、およびユーザインターフェイス装置の制御方法 | |
JP2010118018A (ja) | 位置特定装置、位置特定プログラム及びコンピュータ読み取り可能な記録媒体、並びに位置特定方法 | |
JP2010122444A (ja) | 地図表示装置、地図表示装置の制御方法、地図表示装置制御プログラムおよびコンピュータ読み取り可能な記録媒体 | |
JP2010062938A (ja) | 画像表示/像検知装置 | |
JP2010117841A (ja) | 像検知装置、入力位置の認識方法、およびプログラム | |
JP2010160689A (ja) | 入力装置、及び入力装置の制御方法 | |
JP2010108446A (ja) | 情報処理装置、情報処理装置の制御方法、および、情報処理プログラム | |
JP2010118016A (ja) | 入力装置、入力方法、入力プログラム、及びコンピュータ読み取り可能な記録媒体 | |
US20190129609A1 (en) | Electronic apparatus | |
JP2010119064A (ja) | 色検出装置、色検出プログラム及びコンピュータ読み取り可能な記録媒体、並びに色検出方法 | |
JP5171572B2 (ja) | 画像表示装置、画像表示装置の制御方法、プログラム、および記録媒体 |