まず本実施の形態の情報処理装置の外観構成例および回路構成例を説明する。ただし以下に示す情報処理装置は一例であり、形状を限定するものではない。また他の種類の電子機器、端末装置であってもよい。
図1(a)は、情報処理装置10の前面を示す。情報処理装置10は、横長の筐体により形成され、左右の領域は円弧状の外郭を有している。情報処理装置10の前面には、矩形のタッチパネル50が設けられる。タッチパネル50は、表示装置20と、表示装置20の表面を覆う透明な前面タッチパッド21から構成される。表示装置20は有機EL(Electro-Luminescence)パネルであり、画像を表示する。なお表示装置20は液晶パネルなどの表示手段であってもよい。前面タッチパッド21は、同時にタッチされた複数ポイントの検出機能をもつマルチタッチパッドであって、タッチパネル50はマルチタッチスクリーンとして構成される。
タッチパネル50の右側には、菱形の頂点にそれぞれ位置する△ボタン22a、○ボタン22b、×ボタン22c、□ボタン22d(以下、総称する場合には「操作ボタン22」とよぶ)が設けられ、タッチパネル50の左側には、上キー23a、左キー23b、下キー23c、右キー23d(以下、総称する場合には「方向キー23」とよぶ)が設けられる。ユーザは方向キー23を操作して、上下左右および斜方の8方向を入力できる。
方向キー23の下側には左スティック24aが設けられ、また操作ボタン22の下側には右スティック24bが設けられる。ユーザは左スティック24aまたは右スティック24b(以下、総称する場合には「ジョイスティック24」とよぶ)を傾動して、方向および傾動量を入力する。筐体の左右頂部には、Lボタン26a、Rボタン26bが設けられる。操作ボタン22、方向キー23、ジョイスティック24、Lボタン26a、Rボタン26bは、ユーザが操作する操作手段を構成する。
操作ボタン22の近傍に、前面カメラ30が設けられる。左スティック24aの左側および右スティック24bの右側には、それぞれ音声を出力する左スピーカ25aおよび右スピーカ25b(以下、総称する場合には「スピーカ25」とよぶ)が設けられる。また左スティック24aの下側にHOMEボタン27が設けられ、右スティック24bの下側にSTARTボタン28およびSELECTボタン29が設けられる。
図1(b)は、情報処理装置10の背面を示す。情報処理装置10の背面には、背面カメラ31および背面タッチパッド32が設けられる。背面タッチパッド32は、前面タッチパッド21と同様に、マルチタッチパッドとして構成される。情報処理装置10は、前面および背面において、2つのカメラおよびタッチパッドを搭載している。
図2(a)は、情報処理装置10の上面を示す。既述したように、情報処理装置10の上面の左右端側に、Lボタン26a、Rボタン26bがそれぞれ設けられる。Lボタン26aの右側には電源ボタン33が設けられ、ユーザは、電源ボタン33を押下することで、電源をオンまたはオフする。なお情報処理装置10は、操作手段が操作されない時間(無操作時間)が所定時間続くと、サスペンド状態に遷移する電力制御機能を有している。情報処理装置10がサスペンド状態に入ると、ユーザは電源ボタン33を押下することで、情報処理装置10をサスペンド状態からアウェイク状態に復帰させることができる。
ゲームカードスロット34は、ゲームカードを差し込むための差込口であり、この図では、ゲームカードスロット34がスロットカバーにより覆われている状態が示される。なおゲームカードスロット34の近傍に、ゲームカードがアクセスされているときに点滅するLEDランプが設けられてもよい。アクセサリ端子35は、周辺機器(アクセサリ)を接続するための端子であり、この図ではアクセサリ端子35が端子カバーにより覆われている状態が示される。アクセサリ端子35とRボタン26bの間には、ボリュームを調整するための−ボタン36aと+ボタン36bが設けられている。
図2(b)は、情報処理装置10の下面を示す。メモリカードスロット37は、メモリカードを差し込むための差込口であり、この図では、メモリカードスロット37が、スロットカバーにより覆われている状態が示される。情報処理装置10の下面において、音声入出力端子38、マイク39およびマルチユース端子40が設けられる。マルチユース端子40はUSB(Universal Serial Bus)に対応し、USBケーブルを介して他の機器と接続できる。
図2(c)は、情報処理装置10の左側面を示す。情報処理装置10の左側面には、SIMカードの差込口であるSIMカードスロット41が設けられる。
図3は、情報処理装置10の回路構成を示す。各構成はバス92によって互いに接続されている。無線通信モジュール71はIEEE802.11b/g等の通信規格に準拠した無線LANモジュールによって構成され、無線アクセスポイントなどを介してインターネットなどの外部ネットワークに接続する。なお無線通信モジュール71は、ブルートゥース(登録商標)プロトコルの通信機能を有してもよい。携帯電話モジュール72は、ITU(International Telecommunication Union;国際電気通信連合)によって定められたIMT−2000(International Mobile Telecommunication 2000)規格に準拠した第3世代(3rd Generation)デジタル携帯電話方式に対応し、携帯電話網4に接続する。SIMカードスロット41には、携帯電話の電話番号を特定するための固有のID番号が記録されたSIMカード74が挿入される。SIMカード74がSIMカードスロット41に挿入されることで、携帯電話モジュール72は、携帯電話網4との間で通信可能となる。
CPU(Central Processing Unit)60は、メインメモリ64にロードされたプログラムなどを実行する。GPU(Graphics Processing Unit)62は、画像処理に必要な計算を実行する。メインメモリ64は、RAM(Random Access Memory)などにより構成され、CPU60が使用するプログラムやデータなどを記憶する。ストレージ66は、NAND型フラッシュメモリ(NAND-type flash memory)などにより構成され、内蔵型の補助記憶装置として利用される。
モーションセンサ67は、情報処理装置10の動きを検出し、地磁気センサ68は、3軸方向の地磁気を検出する。GPS制御部69は、GPS衛星からの信号を受信し、現在位置を算出する。前面カメラ30および背面カメラ31は、画像を撮像し、画像データを入力する。前面カメラ30および背面カメラ31は、CMOSイメージセンサ(Complementary Metal Oxide Semiconductor Image Sensor)によって構成される。
表示装置20は、有機EL表示装置であり、陰極および陽極に電圧を印加することで発光する発光素子を有する。省電力モードでは、電極間に印加する電圧を通常よりも低くすることで、表示装置20を減光状態とすることができ、電力消費を抑えられる。なお表示装置20はバックライトを備えた液晶パネル表示装置であってもよい。省電力モードでは、バックライトの光量を下げることで、液晶パネル表示装置を減光状態として、電力消費を抑えることができる。
インタフェース90において、操作部70は、情報処理装置10における各種操作手段を含み、具体的には、操作ボタン22、方向キー23、ジョイスティック24、Lボタン26a、Rボタン26b、HOMEボタン27、STARTボタン28、SELECTボタン29、電源ボタン33、−ボタン36a、+ボタン36bを含む。前面タッチパッド21および背面タッチパッド32は、マルチタッチパッドであり、前面タッチパッド21は、表示装置20の表面に重ね合わせて配置される。スピーカ25は、情報処理装置10の各機能により生成される音声を出力し、マイク39は、情報処理装置10の周辺の音声を入力する。音声入出力端子38は、外部のマイクからステレオ音声を入力し、外部のヘッドホンなどへステレオ音声を出力する。
ゲームカードスロット34には、ゲームファイルを記録したゲームカード76が差し込まれる。ゲームカード76は、データの書込可能な記録領域を有しており、ゲームカードスロット34に装着されると、メディアドライブにより、データの書込/読出が行われる。メモリカードスロット37には、メモリカード78が差し込まれる。メモリカード78は、メモリカードスロット37に装着されると、外付け型の補助記憶装置として利用される。マルチユース端子40は、USB端子として利用でき、USBケーブル80を接続されて、他のUSB機器とデータの送受信を行う。アクセサリ端子35には、周辺機器が接続される。
本実施の形態において情報処理装置10は、ゲームや通信機能のほか、ウェブページ、電子書籍、地図、ビデオ、音楽など各種電子コンテンツを出力する携帯端末として機能する。コンテンツの電子データは、ネットワークを介してコンテンツ提供サーバからダウンロードされストレージ66やメインメモリ64に格納される。あるいはメモリカードスロット37に差し込まれるメモリカード78に格納されている。また完成されたコンテンツに限らず、ユーザが作成中の文書や画像などの電子データであってもよい。これらのデータは、ユーザからの出力要求に従い読み出され、適宜デコード処理などが施されることにより、表示装置20やスピーカ25から出力される。なおデータの出力処理のうち一般的な技術を適用できる部分については適宜説明を省略する。
図4は、情報処理装置10の機能ブロックを示す。この図では特に、図3のCPU60、GPU62、メインメモリ64、ストレージ66によって実現される機能を制御部100として示している。制御部100に含まれる各機能ブロックは、ハードウェア的には、上記のとおりCPU60、GPU62、メインメモリ64、ストレージ66などで構成することができ、ソフトウェア的には、情報処理装置10内の各種記憶装置や装着された記録媒体からメインメモリ64にロードしたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
制御部100は、ユーザによる手操作入力に係る情報を受け付ける操作受付部102、前面カメラ30が撮影した画像のデータを取得する撮影画像取得部104、撮影画像を解析する画像解析部106、ユーザの操作内容を取得する操作内容取得部108、取得した操作内容に基づき実施すべき処理の内容を決定する処理内容判定部111、決定した処理を実施し出力すべきデータを生成する出力データ生成部112を含む。制御部100はさらに、ユーザの手操作入力および撮影画像から得られる情報を操作内容や実施すべき処理内容に変換する規則を格納する変換規則記憶部110、および、出力データの生成に必要な電子コンテンツに係るデータを格納するコンテンツデータ記憶部114を含む。
操作受付部102は、ユーザが情報処理装置10に対し行った手操作の内容を示す信号を、背面タッチパッド32、前面タッチパッド21、操作部70からそれぞれ受信し、操作内容取得部108に供給する。撮影画像取得部104は、前面カメラ30が撮影した動画像のフレームデータを即時取得し、画像解析部106へ供給する。ユーザがタッチパネル50を見ながら操作している場合、前面カメラ30はユーザの顔を撮影することになる。画像解析部106は、そのようにして撮影されたユーザの顔の画像を解析し、所定のパラメータを取得する。
このパラメータは、操作内容取得部108において操作内容の取得に用いられる。すなわち本実施の形態では各タッチパッドや操作部70に対する操作に加え、ユーザの顔の動きや情報処理装置との距離の変化などを撮影画像に基づき特定し、それを操作手段として利用する。パラメータの具体例は後に述べる。画像解析部106は、撮影画像のフレームレートなど所定の頻度で当該パラメータを取得し、順次、操作内容取得部108に供給する。
操作内容取得部108は、操作受付部102から取得した手操作入力に係る信号、および画像解析部106から取得したユーザの顔に係るパラメータに基づき、変換規則記憶部110に格納しておいた設定情報を参照し、ユーザが意図する操作の内容を特定する。本実施の形態では、ユーザが情報処理装置10を片手で把持し、その手で操作が完結するように構成する。具体的には上述のとおり、ユーザの顔の撮影画像を用いるとともに、背面タッチパッド32を主たる操作手段とする。ただし実施する情報処理の内容によって適宜、入力手段を切り替えてよく、その際は従来技術と同様、前面タッチパッド21や操作部70に対する操作内容を取得してよい。
処理内容判定部111は、ユーザ操作の内容に対応して実施すべき情報処理の内容を決定する。例えば背面タッチパッド32における指の状態に対して設定された処理の内容を、変換規則記憶部110に格納しておいた設定情報を参照して決定する。そして当該処理を実施するように、出力データ生成部112が備える機能ブロックの少なくともいずれかに要求する。処理内容判定部111はまた、撮影画像から取得されたユーザの顔に係るパラメータに応じた変化が実現されるように、要求に応じた処理を実施中の機能ブロックにさらに要求する。このとき処理内容判定部111は画像解析部106に対しても、必要とする画像解析を実施するよう要求する。これにより、背面タッチパッド32における指の状態と、ユーザの顔の状態との組み合わせに応じて情報処理が進捗する。ただし利用する操作内容や処理手順をこれに限る主旨ではない。
出力データ生成部112は、処理内容判定部111からの要求に従い情報処理を実施し、表示画像や音声などの出力データを生成して表示装置20およびスピーカ25に出力する。その結果、表示装置20にはユーザ操作を反映した画像が表示され、スピーカ25からは音声が適宜出力される。表示画像の生成処理に関し、出力データ生成部112は、基本画像生成部116、カーソル制御部118、選択処理部120、スクロール処理部122、およびズーム処理部124を備える。
基本画像生成部116は、メニュー画面、アイコン配列、地図、ウェブページ、電子書籍、ゲーム画面、各種情報を表す画像など、表示対象の画像のデータを生成する。生成に必要なデータはコンテンツデータ記憶部114から読み出す。以後、このように主たる表示対象とされる画像を「基本画像」と呼ぶ。カーソル制御部118は、ユーザが位置を指示するためのカーソルを必要に応じて基本画像上に表示させる。そしてユーザ操作に応じてカーソルを移動させる。具体的には、撮影画像におけるユーザの顔あるいは特定の部位の像の位置の変化をカーソルの移動に反映させる。
選択処理部120は、基本画像としてメニュー、アイコン、キャラクタオブジェクトなど選択が可能な項目が表示されている場合に、ユーザによる選択操作に応じた処理を実行する。具体的には、背面タッチパッド32におけるユーザの指が、選択操作に対応した状態となったとき、カーソルが位置する項目の拡大や選択の確定処理を実施する。スクロール処理部122は、ユーザ操作に応じて基本画像の表示範囲を移動させるスクロール処理を実施する。具体的には、背面タッチパッド32におけるユーザの指が、スクロール操作に対応した状態となったとき、上述のカーソルの動きと連動するように表示範囲を移動させる。
ズーム処理部124は、ユーザ操作に応じて基本画像を拡大したり縮小したりする。具体的には、背面タッチパッド32におけるユーザの指が、ズーム操作に対応した状態となったとき、ユーザと情報処理装置10の距離の変化を拡大/縮小の方向性およびズーム倍率の大きさに反映させる。当該距離は、撮影画像におけるユーザの顔の像の大きさや特定の部位の像の間隔などに基づき特定する。上述のとおり処理内容判定部111は、背面タッチパッド32における指の状態に応じて、カーソル制御部118、選択処理部120、スクロール処理部122、ズーム処理部124に、その後の処理を振り分ける。そして撮影画像から得られたパラメータや指の状態変化を随時、詳細な処理内容に変換し、振り分けた機能ブロックに通知することにより、各種ユーザ操作が表示画像に反映される。
図5は情報処理装置10を片手で把持したときの装置の背面と手の状態を例示している。(a)は図1で示したような小型の携帯端末の場合、(b)はタブレット端末など比較的大きな端末の場合を示している。いずれの場合も、片手での自然な把持形態として、装置の背面を人差し指、中指、薬指で、装置下部を小指で支え、親指は装置の大きさによって装置上部や装置前面を押さえることにより、安定した把持が可能となる。このような状況を利用し、本実施の形態では、背面タッチパッド32における接触位置および接触面積から、人差し指、中指、薬指それぞれの状態を特定し、その組み合わせ、すなわち手指のポーズによって操作内容を区別する。
図6は背面タッチパッド32が検知する指の状態を例示している。この例では特に、人差し指の3つの状態を示しており、(a)は指の腹全体が背面タッチパッド32に接している状態、(b)は指を曲げたことにより指先のみが背面タッチパッド32に接している状態、(c)は指を持ち上げたことにより背面タッチパッド32に接していない状態である。このような大きな状態変化は、ユーザにとって切り替えが容易であるとともに、接触面積や接触位置が大きく異なることから、背面タッチパッド32による検出でも高精度に区別できる。なお背面タッチパッド32はこのために、静電容量方式など、接触位置とともに接触面積を検出できる方式の物を用いる。一方、図示するような3つの状態は接触位置自体が大きく異なることから、接触位置の情報のみで区別することも可能である。この場合、接触面積を検出しない方式のタッチパッドも利用できる。
図6では人差し指の3つの状態を示したが、3本の指でのそれらの状態を組み合わせれば、原理的には27の状態(ポーズ)を形成できる。図7はそのうち中指のみを持ち上げた状態を例示している。ただし指によって動かしやすさの特性が多少、異なることや、各指は操作と同時に装置を支えていることなどを考慮し、操作の容易性および装置の安定性が得られる状態を優先して利用することが望ましい。例えば薬指を曲げようとすると中指も連動してしまう可能性が高いため、薬指のみを曲げたポーズと、中指と薬指を同時に曲げたポーズを併用しないようにすることで誤検出を避けられる。
図8は、本実施の形態における各操作モードと、それを実現するための指のポーズ、および表示画像の具体的な変化を例示している。このような対応情報は変換規則テーブル200としてあらかじめ作成しておき、変換規則記憶部110に格納しておく。ただし実際には、後述するような位置座標の変換式など、より細かい情報も格納しておく。図示する変換規則テーブル200の「指のポーズ」は、人差し指、中指、薬指の順で、各指の状態を「F」、「H」、または「R」で表している。
「F」は「フル(Full)」の略であり、図6の(a)の人差し指のように指の腹全体がタッチパッドに接触している状態を表す。「H」は「ハーフ(Half)」の略であり、図6の(b)の人差し指のように指先のみがタッチパッドに接触している状態を表す。「R」は「リリース(Release)」の略であり、図6の(c)の人差し指のように指がタッチパッドに接触していない状態を表す。
これらを3本の指で組み合わせた「指のポーズ」は、各ポーズにおいて背面タッチパッド32が検知すべき指の接触位置、あるいは接触位置と接触面積の組み合わせを表すパターンと対応づけて変換規則記憶部110に格納しておく。これにより操作内容取得部108が、背面タッチパッド32の検知結果から実際の指のポーズを導出する。そして処理内容判定部111が、当該指のポーズに対応して実現すべき処理内容を、変換規則テーブル200を参照して決定する。
まず変換規則テーブル200の1行目は「標準」モードであり、指のポーズが「FFF」のとき、すなわち3本の指の腹が背面タッチパッド32に接触している図6の(a)の状態で実現される。このモードでは、基本画像生成部116が生成した基本画像上に、カーソル制御部118がカーソルを表示させる。そして上述のとおり、撮影画像における顔あるいは所定の部位の像の動きを反映させるように当該カーソルを動かす。図示する例では、特定の部位として鼻の像を利用する。これは、撮影画像において鼻の像は特に輝度が得られやすく、検出精度が他の部位より高いためである。ただしカーソルの移動に用いる部位をこれに限定する主旨ではない。
以下の操作モードは基本的に、「標準」モードを初期状態とし、そこからの状態変化に応じてモードを切り替える。ただし状況に応じて例外を設定してもよい。2行目の「リセット」モードは、指のポーズが「FFR」のとき、すなわち薬指のみが非接触で他の2本の指は腹全体が接触している状態で実現される。このポーズとなったらカーソル制御部118は、カーソルを画面中央などあらかじめ設定されたホームポジションに戻す。
3行目〜5行目は「選択」モードであり、上述のとおり基本画像として表示された複数の項目から1つを選択するため、「ステップ1」〜「ステップ3」の3段階の操作で構成する。まず「ステップ1」として、「標準」モードから「HFF」、すなわち背面タッチパッド32において人差し指は指先のみが接触し、他の2本の指は腹全体が接触している図6の(b)のポーズとなったら、選択処理部120が「選択」モードを開始する。そして撮影画像における鼻の像の位置に応じてカーソルを移動させる。
「ステップ2」として「RFF」、すなわち背面タッチパッド32において人差し指のみが非接触である図6の(c)のポーズとなったら、選択処理部120は、その時点でカーソルの位置にある項目をターゲットとして拡大表示する。次に「ステップ3」として「FFF」、すなわち背面タッチパッド32において3本の指の腹全体が接触している図6の(a)のポーズとなったら、選択処理部120は、拡大表示していた項目の選択が確定されたと判定し、それに応じた処理を起動する。例えばメニューから1つの項目が選択されたらそれに対応する情報処理を開始する。
変換規則テーブル200の6行目は「スクロール」モードであり、「標準」モードから「RFF」、すなわち背面タッチパッド32において人差し指のみを持ち上げた図6の(c)のポーズとなったときに開始される。そしてそのポーズが維持されている期間は「スクロール」モードを継続する。このときスクロール処理部122は、撮影画像における鼻の像の位置に応じてカーソルを移動させ、その動きと連動するように基本画像をスクロールさせる。
7〜9行目は「自動スクロール」モードであり、「スクロール」モードの途中で、それまでのスクロールと同方向に、比較的高速の所定速度で自動的に表示画像をスクロールさせる。これは一般的な操作手法における、前面タッチパッド21に対するフリック操作に対応する。まず「ステップ1」として「標準」モードから「RFF」、すなわち背面タッチパッド32において人差し指のみを持ち上げた図6の(c)のポーズとなったら、スクロール処理部122は「スクロール」モードと同様、カーソル移動とともに基本画像をスクロールさせる。
この状態で「ステップ2」として「FFF」、すなわち背面タッチパッド32において3本の指の腹全体が接触している図6の(a)のポーズとなったら、スクロール処理部122はそれまでのスクロール方向を維持したままスクロールを継続する。この期間、カーソルの移動操作は必要ないため、ユーザは装置に向かって顔の位置を移動させ続けるといったことをしなくてすむ。そして「ステップ3」として、再び「RFF」のポーズとなったら、スクロール処理部122はカーソルとともに基本画像をスクロールさせる状態へ処理を戻す。したがってカーソルを移動させなければスクロールも停止する。
変換規則テーブル200の10行目は「ズーム」モードであり、「標準」モードから「FRF」、すなわち背面タッチパッド32において中指のみを持ち上げた図7のポーズとなったときに開始される。そしてそのポーズが維持されている期間は「ズーム」モードを継続する。このときズーム処理部124は、上述のとおり撮影画像における顔の像の大きさや所定の部位の像の間隔、ひいてはユーザと情報処理装置10との距離の変化に応じて、基本画像の拡大/縮小処理を実施する。図示する例では、撮影画像における両目の間隔に基づきユーザと情報処理装置10との距離の変化を特定する。
次に各モードにおける表示画像の変化について説明する。図9は、「標準」モード等において撮影画像から検出される鼻の像の位置と、その変化に応じて移動するカーソルとの関係を説明するための図である。同図のうち左側の画像150a〜150cは前面カメラ30による撮影画像、ただしタッチパネル50と相対する状態で顔とカーソルを連動させることを想定し、実際の撮影画像を左右反転させた画像である。右側の画像152は、出力データ生成部112が生成し表示装置20に表示される画像を示している。ただし基本画像は図示を省略している。
まず初期状態として画像150aが撮影されたとする。この初期状態は例えば、図8における「標準」モードの開始時、あるいは「リセット」モードにおいて定義される。すると画像解析部106は処理内容判定部111からの要求に応じて、特徴点検出など既存の顔検出処理により鼻の像の領域を抽出し、その中心の位置座標p(0)を特定する。ここでpは2次元のベクトル値である。そしてその時点でのカーソルの位置と鼻の像の位置座標p(0)とを対応づける。例えば指が「FFR」となった時点で「リセット」モードとなり、そのときの鼻の像の位置座標p(0)とカーソルのホームポジションが対応づけられる。「選択」モードや「スクロール」モードにおいても、それらのモードが開始されたときの鼻の像の位置座標とカーソルの位置座標が基準となる。
なお鼻の像の位置座標は撮影画像の座標系で定義され、カーソルの位置座標は表示画像の座標系で定義される。また初期状態におけるカーソルの位置座標を原点とする。初期状態を0番目としたときk番目のサンプリング(時間ステップ)において、画像150bに示すように、ユーザの鼻の像が左上の位置座標p(k)に移動したら、カーソル制御部118は、カーソルを同様に左上の位置座標q(k)に移動させる(カーソル154b)。逆に画像150cに示すように、ユーザの鼻の像が右下の位置座標p’(k)に移動したら、カーソル制御部118はカーソルを右下の位置座標q’(k)に移動させる(カーソル154c)。
k番目の時間ステップにおけるカーソルの位置座標q(k)は、鼻の位置座標p(k)に基づき次の式で求める。
q(k)=M(p(k)−p(0))
ここでMは2×2の行列であり、表示対象の画像や情報処理の内容などに応じて適切な値をあらかじめ設定しておく。行列Mの要素が10など大きい値であるほど、小さい顔の動きでカーソルを大きく動かすことができる。行列Mの要素が1に近い小さい値であるほどカーソルを細かく動かすことができる。
このような計算を、k=1、2、3、・・・と、フレームレートなどから定まる所定の頻度で繰り返し、カーソルを移動させることにより、顔の位置移動に追随するようにカーソルを動かすことができる。なお撮影画像における鼻の像の移動は、情報処理装置10を固定して顔を平行移動させたり顔の向きを変化させたりして実現できるほか、情報処理装置10を平行移動させたり向きを変化させたりしても実現できる。例えば情報処理装置10の向きを微妙に変化させるのみでも、ユーザの負担を少なくカーソルをダイナミックに動かすことができる。
さらに次のようなフィルタ式を用いて最終的な位置座標qf(k)を求めることにより、顔の微妙な振動等がカーソルにそのまま反映されないようにしてもよい。
ここでnは0以上の値を有するフィルタ係数であり、操作モードや表示対象の画像、情報処理の内容などに応じて適切な値をあらかじめ設定しておく。例えば選択モードにおいてn=3とすることにより、細かいブレの発生を抑え選択対象の項目に的確にカーソルを移動させることができる。
図10は「選択」モードにおける表示画像の変遷を例示している。まず表示画像160aにおいて、選択候補となる複数の項目162a、162b、162c、・・・を含む基本画像と、カーソル164が表されている。項目162a、162b、162c、・・・は実際にはメニュー項目、アイコン、キャラクタオブジェクトなど様々であってよく、それに応じて形状も異なっていてよい。
ユーザが、背面における指を上述の「HFF」として、顔の位置を変化させることによりカーソル164の移動操作を行うと、選択処理部120は、図9で説明したように鼻の像の変位を反映させてカーソルを移動させる。ユーザが所望の項目でカーソルを停止させ、背面における指のポーズを「RFF」とすると、選択処理部120は当該項目166のみを拡大表示させた表示画像160bを生成し出力する。
この状態で背面における指のポーズを「FFF」とすると、表示画像160cのように、当該項目166に対する選択が確定される。実際には選択処理部120が選択された項目に対応する処理を起動させることにより、基本画像自体が別のものとなってよい。前面タッチパッド21を用いた一般的な操作では、手指による隠蔽領域が発生し、正確な接触位置が分かりづらくなったり項目自体が見にくくなったりすることがある。図示するように各項目を示す領域が小さかったり項目同士が接近していたりする場合は特に操作が困難になりやすい。本実施の形態では表示画像に隠蔽領域が発生しないため選択操作が容易である。
図11は、「スクロール」モードにおいて撮影画像から検出される鼻の像の変位に応じて表示領域を移動させる様子を例示している。同図のうち左側の画像170は、前面カメラ30による撮影画像の左右反転画像、右側は表示対象の地図172のうちのスクロールの始点の表示領域174a、終点の表示領域174bを示している。また表示領域174a、174bを表示しているときに同時に表示されるカーソル176a、176bも示している。
表示領域174aを表示している状態で、ユーザが背面において指を「RFF」の状態とすると、スクロール処理部122は、以後のカーソル移動に連動するように表示領域を移動させる。カーソル移動には、図9で説明したようにして鼻の像の変位を反映させる。例えば図示するように、撮影画像170において黒矢印が示すように、鼻の像が左下に移動したら、表示対象の地図172がそれと同じ方向(黒矢印)にスクロールするように表示領域を移動させる。つまり表示対象の地図172に対し、鼻の像の動きと逆方向である右上(白矢印)に表示領域を移動させる。結果として鼻の像の変位量に対応する移動量で表示対象の地図172がスクロールされ、表示領域174bに到達する。
本実施の形態では直接カーソルを操作しその移動に応じて徐々に表示領域を移動させるのでなく、鼻の像の変位からカーソルの変位を計算し、それに基づき表示領域が決定される。したがって実質上、カーソルの移動を追わずとも、ひいてはカーソルが表示されなくとも、新たな表示領域への移動か可能である。すなわち撮影画像170に鼻など所定の部位が写っている限りはスクロールが可能なため、所望の領域へ表示を素早く移動させることができる。
図12は、「ズーム」モードにおいて撮影画像から取得されるユーザの距離と、その変化に応じた拡大/縮小処理を説明するための図である。同図のうち左側の画像180a〜180cは前面カメラ30による撮影画像、右側の画像182は出力データ生成部112が生成し表示装置20に表示される画像を模式的に示している。「ズーム」モードは上述のとおり、背面における指のポーズが「FRF」となったときに開始され、その状態が維持されている期間において継続する。
例えば「標準」モードである「FFF」のポーズから「FRF」のポーズへと遷移したとき、画像解析部106は処理内容判定部111からの要求に応じて、特徴点検出など既存の顔検出処理により、その時点での画像180aから目の領域を抽出する。そしてその間隔e(d0)を基準値として取得する。なおd0はそのときのユーザの顔面と情報処理装置10前面との距離である。同図では両眼の垂直方向の中心軸同士の距離を間隔eとして示しているが、距離の基準をそれに限る主旨ではない。
また上述のように、ユーザと情報処理装置10の距離の変化が判明すれば、その根拠に用いる部位は目でなくてもよく、顔の輪郭や部位のうち2箇所を適宜選択すればよい。画像180aから画像180bの状態になったとき、ズーム処理部124は、両目の間隔e(d)が元の間隔e(d0)より大きくなったことから、ユーザと情報処理装置10の距離dが小さくなったと判定し、表示画像182を拡大する。図では、元のオブジェクト184aがオブジェクト184bに拡大される様子を示しているが、拡大対象は画像全体でよい。
一方、画像180aから画像180cの状態になったとき、ズーム処理部124は、両目の間隔e’(d)が元の間隔e(d0)より小さくなったことから、ユーザと情報処理装置10の距離dが大きくなったと判定し、表示画像182を縮小する。その結果、図示する例では元のオブジェクト184aがオブジェクト184cに縮小されている。ただし縮小対象は画像全体でよい。なお拡大中心や縮小中心は、「ズーム」モードが開始されたときのカーソル186の位置とする。またユーザと情報処理装置10の距離は、ユーザが把持した腕を伸縮させることにより情報処理装置10自体を遠ざけたり近づけたりしてもよいし、腕をそのままの状態として顔を遠ざけたり近づけたりしてもよい。あるいは双方を動かしてもよい。
両目の間隔e(d)は、ユーザと情報処理装置10の距離dと反比例の関係にある。したがって、次式において両目の間隔の変化率r(d)=e(d)/e(d0)の増加に対し単調増加するような関数fを設定してズーム倍率z(d)を決定することにより、上述のように距離が近づいたら拡大させ、遠ざかったら縮小するような態様を実現できる。
z(d)=f(r(d))
またカーソルの位置座標qcを中心に拡縮操作を行う場合、表示されているオブジェクトの位置座標q(d)は次のように決定できる。
q(d)=(q(d0)−qc)・z(d)+qc
図13は、「ズーム」モードにおいてユーザが情報処理装置10の距離を変化させたときのズーム倍率の実測値の変化を示している。実験においては、ユーザが情報処理装置10を把持した状態で徐々に遠ざけていき、5cmごとに停止させてズーム倍率z(d)を測定した。またズーム倍率を求める関数fとして、次の2種類を設定した。
(a) z(d)=−18/r(d)+19
(b) z(d)=r(d)4
図示するように、人手による距離の変化と見かけ上の両目の間隔、という幾分不安定と考えられるパラメータを用いているにも関わらず、それから導き出されるズーム倍率z(d)は、距離dに対し設定に従った規則性で制御が可能であることがわかる。(a)のような線形の変化とするか(b)のような高次の変化とするかは、表示対象の画像や情報処理の内容などに応じて適宜切り替えて設定してよい。
以下、本実施の形態の操作効率について評価した結果を示す。
A.「選択」モードの評価
表示装置20に表示させたターゲットの選択を繰り返し、選択操作に要する時間と正確性を評価した。評価に際しては、一辺のサイズがWの正方形を、画面の水平方向に間隔Dを有する左右の位置に交互に表示させ、それを順次選択する試行を繰り返した。操作手法は次の4通りとした。
(a)上述の「選択」モードと同様、鼻の位置によるカーソル移動と背面での指のポーズ変化により、モードの開始、ターゲットの拡大、選択確定を行った場合
(b)拡大させるステップをなくし、鼻の位置によるカーソル移動と背面での指のポーズ変化により、モードの開始および選択確定を行った場合
(c)装置を把持する手の親指で前面タッチパッド21に2度触れることによりターゲットの拡大、選択確定を行った場合
(d)装置を把持する手の親指で前面タッチパッド21に1度触れることにより選択確定を行った場合
前後に表示されるターゲットの間隔Dは100、200、400、600画素の4通り、ターゲットの一辺のサイズWは10、20、40画素の3通りとする。図14は、各手法による選択操作の所要時間の評価結果を、Index of Difficulty(ID)に対するMovement Time(MT)の変化として表している。ここでIDは操作の困難性を表す指標、MTは1回の操作に要する時間であり、入力デバイスの評価方法として一般的に用いられるフィッツの法則、すなわち下式で導入されるパラメータである。
ID=log2(D/W+1)
MT=a+b・ID
なおaおよびbは実測値を法則に当てはめたときに得られる操作手法ごとの値であり、bの逆数が処理効率を表す指標IP(Index of Performance)となる。
図示するように、顔の位置と背面における指のポーズを利用した本実施の形態の操作手法(a)、(b)は、前面タッチパッド21を用いた従来の操作手法(c)、(d)と比較しても、ほぼ同等の所要時間で選択操作が完了することがわかる。またどちらの場合でも、ターゲットを拡大する処理が挿入されることにより多少、所要時間が増加する。
さらに従来の操作手法(c)、(d)では、IDが大きくなるほどMTが顕著に増加する。これは、ターゲットの距離Dが大きくなることにより、操作する親指を届かせるために多少の持ち替えが必要となることによる。本実施の形態の操作手法(a)、(b)ではこのような持ち替えの必要がないため、特にIDが大きい領域では所要時間の観点で有利となる。またIP(bits/s)は、(a)が4.4、(b)が4.6、(c)が2.7、(d)が3.5となり、本実施の形態が従来手法より高い効率性を示した。
図15は、各手法での選択操作の正確性の評価を、前後のターゲットの間隔DおよびターゲットのサイズWに対する平均エラー率として表している。なお、上述した試行においてターゲットの領域内を指示できなかった場合など、正確な選択がなされない場合をエラーとしてカウントしている。本実施の形態の操作手法および従来の操作手法のどちらにおいても、ターゲットを一旦、拡大する処理を挿入する(a)および(c)の手順は、拡大を行わない(b)および(d)の手順と比較し格段にエラーの発生を抑えることができる。
また拡大する処理を挿入する場合で比較すると、前面タッチパッド21を用いた従来手法(c)は、ターゲットの間隔Dが離れるほど、またターゲットのサイズWが小さくなるほど、エラー率が顕著に高くなる。これは上述したような指の可動範囲の問題と、指のサイズによって生じる接触位置の誤差に起因する。本実施の形態の操作手法(a)ではそれらの問題が生じないため、ターゲットの間隔DやサイズWの影響を比較的受けにくい。
上述のようにカーソル位置を決定する際のフィルタ式を適切に設定することにより、エラー率をより抑えることができると考えられる。また図14で示した結果によれば、拡大処理を挿入することにより所要時間はおよそ0.27秒長くなるが、図15に示した正確性を考慮すると拡大処理を挿入することが有効であることもわかる。
B.「ズーム」モードの評価
表示装置20に表示させた矩形を拡縮させる操作を繰り返し、ズーム操作に要する時間を評価した。評価に際しては、操作対象となる矩形とともにターゲットのズーム倍率を表す参照矩形を表示させ、操作対象の矩形を参照矩形に近づけるようにサイズ調整する試行を様々なズーム倍率で繰り返した。操作手法は次の2通りとした。
(a)上述の「ズーム」モードと同様、背面における指を「FRF」のポーズとした状態でユーザと情報処理装置10の距離を変化させて拡縮させる場合
(b)装置を把持する手の親指で前面タッチパッド21の端を2回タッチ(ダブルタップ)し当該2回目を画面の上下にスライドさせて拡縮させる場合
操作手法(b)は、携帯端末における地図表示アプリケーションなどで実用化されている一般的なズーム手法である。ズーム操作を上述のフィッツの法則に当てはめるため、ターゲットとなるズーム倍率Zを3倍、5倍、9倍と振ったとき、それらと交互にターゲットとなるズーム倍率1との差をズーム距離ZDとする。すなわちズーム距離ZDは2、4、8倍の3通りとする。またサイズが適切に調整されたと判定するための許容誤差Rを0.4、0.8、1.6倍の3通りとする。つまりズーム距離ZDが選択操作におけるターゲットの間隔Dに、許容誤差Rが選択操作におけるターゲットのサイズWに対応する。
例えばズーム距離ZDが4倍、許容誤差Rが0.8倍のとき、ズーム倍率1倍と5倍の参照矩形が順次表示され、ズーム操作の対象とする矩形がそれぞれ1±0.4倍、5±0.4倍となったとき、サイズ調整が成功したと判定する。図16は、各手法によるズーム操作の所要時間の評価結果を、IDに対するMTの変化として表している。この場合、ID=log2(ZD/R+1)と定義する。またこの実験では、ユーザと情報処理装置10の距離に対しズーム倍率が線形に変化するように設定している。
図示するように、ユーザと情報処理装置10の距離を利用した本実施の形態の操作手法(a)は、特にIDの小さい領域で、前面タッチパッド21を用いた従来の操作手法(b)より短い時間でズーム操作が完了する。全領域の平均所要時間も従来手法より6%改善する。このときのIP(bits/s)は(a)が1.6、(b)が1.8と、ほぼ同等となる。
平均エラー率は(a)が2.33%、(b)が1.44%と、若干の悪化がみられる。しかしながら従来手法(b)では、拡縮中心を指示する手段を持たないため、画面中央など所定の位置に固定せざるを得ない。一方、本実施の形態では、カーソル位置を変化させれば拡縮の中心位置を自由に変化させられる。この点を考慮した場合、所望の領域を正確にズーム操作するトータルでの効率としては、本実施の形態が有利であると考えられる。
以上、述べた本実施の形態によれば、表示装置に表示させた画像に対する操作、具体的にはカーソル移動、スクロール、項目の選択、ズームなどの操作を、前面カメラによる撮影画像と背面タッチパッドが検知する指の状態を利用して実現する。例えば装置を携帯端末とした場合、それを把持する状態において背面に位置する3本の指に着目し、腹が接しているか、指先のみが接しているか、接していないか、といった大きな状態変化を利用する。これにより、ユーザは無理のない体勢で容易に指のポーズを切り替えられるとともに、背面タッチパッドでそれらの状態変化を高精度に検出できる。また各指の状態を組み合わせることによりポーズが多様化し、多くの操作内容に割り当てることができる。
また、そのような指のポーズと組み合わせて、装置に対する顔の位置や距離を前面カメラによる撮影画像から取得することにより、カーソルを移動させたり表示画像を拡縮させたりする比較的細かい制御も実現できる。これにより表示画像に対する多くの操作を、ディスプレイを覆う前面タッチパッドや物理キーを利用することなく実現できる。結果として、装置を把持する片手のみで十分に操作が可能となるとともに、指による画面の隠蔽で細かい操作が困難となることもなくなる。
このような独特の操作手法であっても、その操作効率は従来技術と遜色ないか、むしろ改善が認められる場合もある。本実施の形態ではカーソルの移動やズーム操作に、撮影画像から得られる情報を間接的に利用するため、ポインティングデバイスや指の位置を直接反映させる態様と比較し計算式に調整の余地がある。そのため表示対象の画像、情報処理の内容、求められる性能などを考慮して臨機応変に最適な動作環境を設定できる。
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。