JP6227563B2 - ユーザインタフェース装置及び表示オブジェクト操作方法 - Google Patents

ユーザインタフェース装置及び表示オブジェクト操作方法 Download PDF

Info

Publication number
JP6227563B2
JP6227563B2 JP2014553565A JP2014553565A JP6227563B2 JP 6227563 B2 JP6227563 B2 JP 6227563B2 JP 2014553565 A JP2014553565 A JP 2014553565A JP 2014553565 A JP2014553565 A JP 2014553565A JP 6227563 B2 JP6227563 B2 JP 6227563B2
Authority
JP
Japan
Prior art keywords
display
user
finger
motion
knob
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.)
Active
Application number
JP2014553565A
Other languages
English (en)
Other versions
JPWO2014207971A1 (ja
Inventor
公一 石野
公一 石野
田中 義照
義照 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Corp of America
Original Assignee
Panasonic Intellectual Property Corp of America
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Publication of JPWO2014207971A1 publication Critical patent/JPWO2014207971A1/ja
Application granted granted Critical
Publication of JP6227563B2 publication Critical patent/JP6227563B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0483Interaction with page-structured environments, e.g. book metaphor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/251Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • G06V40/113Recognition of static hand signs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Description

本発明は、三次元立体視映像における表示オブジェクトに対するユーザインタフェース装置及び表示オブジェクト操作方法に関する。
三次元立体視映像において、ユーザの指を使った細かな表示オブジェクト操作方法としては、特許文献1に記載の技術がある。特許文献1では、ユーザはマーカのついた手袋をはめて操作を行う。ユーザインタフェース装置は、2つの指のマーカ間の距離を用いてつまみ動作を検出する。
特開2012−256110号公報
しかしながら、このようなユーザインタフェース装置では、精度良くユーザの動作を検出できることが望まれている。
そこで、本発明は、精度良くユーザの動作を検出できるユーザインタフェース装置を提供することを目的とする。
本発明の一態様に係るユーザインタフェース装置は、表示空間に二次元又は三次元のオブジェクトを表示する表示部と、前記表示空間におけるユーザの指の三次元座標を計測するセンサ部と、前記センサ部により計測された前記ユーザの指の三次元座標を用いて、前記オブジェクトに対する前記ユーザの指の動作を検出する動作検出部と、前記動作検出部の検出結果に応じて、前記表示部が表示する表示内容を変更する表示制御部とを備える。
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
本発明は、精度良くユーザの動作を検出できるユーザインタフェース装置を提供できる。
図1は、実施の形態に係るユーザインタフェース装置のブロック図である。 図2は、実施の形態に係るユーザインタフェース装置の概要を示す図である。 図3は、実施の形態に係る動作検出部のブロック図である。 図4Aは、実施の形態に係る指動作モデリングの概要を示す図である。 図4Bは、実施の形態に係る指動作モデリングの概要を示す図である。 図5は、実施の形態に係るつまみ動作モデルの一例を示す図である。 図6Aは、実施の形態に係るつまみ検出方法を説明するための図である。 図6Bは、実施の形態に係るつまみ検出方法を説明するための図である。 図7Aは、実施の形態に係る指先とセンサ部とを結ぶ二つの直線がなす角度の算出処理を説明するための図である。 図7Bは、実施の形態に係る指先とセンサ部とを結ぶ二つの直線がなす角度の算出処理を説明するための図である。 図8Aは、実施の形態に係るつまみ検出と表示制御の概要を示す図である。 図8Bは、実施の形態に係るつまみ検出と表示制御の概要を示す図である。 図9は、実施の形態に係るつまみ検出処理のフローチャートである。 図10Aは、実施の形態に係る操作例1を説明するための図である。 図10Bは、実施の形態に係る操作例1を説明するための図である。 図11Aは、実施の形態に係る操作例2を説明するための図である。 図11Bは、実施の形態に係る操作例2を説明するための図である。 図11Cは、実施の形態に係る操作例2を説明するための図である。 図12Aは、実施の形態に係る操作例3を説明するための図である。 図12Bは、実施の形態に係る操作例3を説明するための図である。 図12Cは、実施の形態に係る操作例3を説明するための図である。 図13Aは、実施の形態に係る操作例4を説明するための図である。 図13Bは、実施の形態に係る操作例4を説明するための図である。 図13Cは、実施の形態に係る操作例4を説明するための図である。 図14Aは、実施の形態に係る操作例5を説明するための図である。 図14Bは、実施の形態に係る操作例5を説明するための図である。 図14Cは、実施の形態に係る操作例5を説明するための図である。 図15Aは、実施の形態に係る操作例6を説明するための図である。 図15Bは、実施の形態に係る操作例6を説明するための図である。 図15Cは、実施の形態に係る操作例6を説明するための図である。 図16Aは、実施の形態に係る操作例7を説明するための図である。 図16Bは、実施の形態に係る操作例7を説明するための図である。 図17は、実施の形態に係る操作例8を説明するための図である。 図18は、実施の形態に係る操作例8を説明するための図である。
(本発明の基礎となった知見)
本発明者は、「背景技術」の欄において記載した、ユーザインタフェース装置に関し、以下の問題が生じることを見出した。
特許文献1記載の構成では、ユーザが手袋をはめるという負荷が生じるという課題がある。また、特許文献1記載の構成は、指先の平面的な位置のみを検知し、奥行き方向の位置を検知していない。これにより、指の位置によっては、実際にユーザがつまみ動作をしていない場合でもマーカ間が近づいたと判断されることがある。このように、特許文献1記載の技術には、つまみの動作の誤検出を生じるという課題があることを本発明者は見出した。
以下の実施の形態では、指にマーカを付けることなく、ユーザのつまみ動作を検出できるとともに、つまみ動作を精度良く検出できるユーザインタフェース装置について説明する。また、三次元立体視映像における表示オブジェクトの直感的な操作を可能とするユーザインタフェース装置について説明する。
本発明の一態様に係るユーザインタフェース装置は、表示空間に二次元又は三次元のオブジェクトを表示する表示部と、前記表示空間におけるユーザの指の三次元座標を計測するセンサ部と、前記センサ部により計測された前記ユーザの指の三次元座標を用いて、前記オブジェクトに対する前記ユーザの指の動作を検出する動作検出部と、前記動作検出部の検出結果に応じて、前記表示部が表示する表示内容を変更する表示制御部とを備える。
この構成によれば、当該ユーザインタフェース装置は、ユーザの指の三次元座標を計測し、当該三次元座標を用いてユーザの指の動作を検出する。これにより、当該ユーザインタフェース装置は、精度良くユーザの動作を検出できる。
例えば、前記動作検出部は、前記センサ部により計測された前記ユーザの指の三次元座標を用いて、前記ユーザが前記オブジェクトをつまむつまみ動作を検出してもよい。
この構成によれば、当該ユーザインタフェース装置は、計測したユーザの指の三次元座標を用いて、つまみ動作を精度良く検出できる。
例えば、前記表示制御部は、前記動作検出部により前記つまみ動作が検出された場合、当該つまみ動作によりつままれた対象オブジェクトの表示方法を変更してもよい。
この構成によれば、ユーザは、つまみ動作が適切に行われたか否かを容易に判断できる。
例えば、前記表示部は、前記表示空間に複数の前記オブジェクトを表示し、前記表示制御部は、前記動作検出部により前記つまみ動作が検出された場合、さらに、前記複数のオブジェクトのうち、前記対象オブジェクト以外のオブジェクトの表示方法を変更してもよい。
この構成によれば、当該ユーザインタフェース装置は、例えば、対象オブジェクト以外のオブジェクトを目立たなくすることで、相対的に対象オブジェクトを強調できる。また、例えば、引き続き行われる対象オブジェクトに対する入力操作において、他のオブジェクトの表示が邪魔になることを抑制できる。
例えば、前記表示制御部は、前記動作検出部が、前記ユーザが前記対象オブジェクトをつまんで移動させる移動動作を検出した場合、当該移動動作に連動して、前記対象オブジェクトの三次元位置を移動させてもよい。
この構成によれば、当該ユーザインタフェース装置は、オブジェクトの移動操作として、直感的な入力操作を実現できる。
例えば、前記表示制御部は、前記動作検出部が、前記ユーザが前記対象オブジェクトを破る又は引き裂く動作を検出した場合、前記対象オブジェクトを削除してもよい。
この構成によれば、当該ユーザインタフェース装置は、オブジェクトの削除操作として、直感的な入力操作を実現できる。
例えば、前記表示制御部は、前記動作検出部が、前記ユーザが前記対象オブジェクトの2点をつまんだ状態で、当該対象オブジェクトを引き伸ばす動作を検出した場合、前記対象オブジェクトを拡大し、前記動作検出部が、前記ユーザが前記対象オブジェクトの2点をつまんだ状態で、当該対象オブジェクトを縮める動作を検出した場合、前記対象オブジェクトを縮小してもよい。
この構成によれば、当該ユーザインタフェース装置は、オブジェクトの拡大縮小操作として、直感的な入力操作を実現できる。
例えば、前記表示制御部は、前記動作検出部が、前記ユーザが前記対象オブジェクトをつまんだ状態で、前記対象オブジェクトのページをめくる動作を検出した場合、前記対象オブジェクトのページめくり動作を行ってもよい。
この構成によれば、当該ユーザインタフェース装置は、オブジェクトのページめくり操作として、直感的な入力操作を実現できる。
例えば、前記表示制御部は、前記動作検出部が、前記ユーザが前記対象オブジェクトを指ではじく動作を検出した場合、前記対象オブジェクトをはじかれた方向に移動させてもよい。
この構成によれば、当該ユーザインタフェース装置は、オブジェクトの移動操作として、直感的な入力操作を実現できる。
例えば、前記動作検出部は、前記ユーザの部位のうち、予め定められた閾値より細い部分を指と認識することにより指動作モデルを生成し、当該指動作モデルを用いて、前記つまみ動作を検出してもよい。
この構成によれば、当該ユーザインタフェース装置は、指動作モデルを用いることで、つまみ動作を精度良く検出できる。
例えば、前記動作検出部は、前記指動作モデルを用いて前記ユーザの指先の三次元位置を検出し、前記指先の間に、前記対象オブジェクトの一部が存在し、かつ、前記指先の間隔が前記対象オブジェクトの厚み以下の場合、前記つまみ動作が行われたと判定してもよい。
この構成によれば、当該ユーザインタフェース装置は、つまみ動作を精度良く検出できる。
例えば、前記動作検出部は、前記指動作モデルの形状が、予め定められたつまみ動作モデルの形状と一致する場合、前記つまみ動作が行われたと判定してもよい。
この構成によれば、当該ユーザインタフェース装置は、つまみ動作を精度良く検出できる。
また、本発明の一態様に係る表示オブジェクト操作方法は、表示空間に二次元又は三次元のオブジェクトを表示する表示ステップと、前記表示空間におけるユーザの指の三次元座標を計測する計測ステップと、前記計測ステップで計測された前記ユーザの指の三次元座標を用いて、前記オブジェクトに対する前記ユーザの指の動作を検出する動作検出ステップと、前記動作検出ステップの検出結果に応じて、表示内容を変更する表示制御ステップとを含む。
これによれば、当該表示オブジェクト操作方法は、ユーザの指の三次元座標を計測し、当該三次元座標を用いてユーザの指の動作を検出する。これにより、当該表示オブジェクト操作方法は、精度良くユーザの動作を検出できる。
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
(実施の形態)
図1は、本実施の形態に係るユーザインタフェース装置100の構成を示すブロック図である。
図1に示すユーザインタフェース装置100は、表示部111と、センサ部112と、動作検出部113と、表示制御部114と、表示データ保持部115とを備える。
表示部111は、空間上の任意の領域である表示空間116に二次元又は三次元の表示オブジェクトを含む立体視映像を表示する。ここで、立体視映像とは、例えば、空中ディスプレイ又はホログラムである。なお、立体視映像とは、所謂3Dテレビ等で表示される映像であってもよい。また、二次元のオブジェクトとは、例えば、立体視表示された、厚みを有さないオブジェクトである。
図2は、本実施の形態に係るユーザインタフェース装置100の概要を説明するための図である。表示空間116は、表示部111により立体視映像が表示される空間領域である。表示オブジェクト117は、表示部111が、表示空間116に表示した映像である。なお、ここでは、表示オブジェクト117は、一つしか記載していないが、複数あってもよい。また、表示部111及びセンサ部112の配置は、図2に示す配置である必要はない。
表示部111は、表示制御部114からの制御により、空間上の任意領域に二次元又は三次元の映像を投影表示する。
センサ部112は、表示空間116内の物体の三次元座標を計測する。例えば、センサ部112は、表示空間116におけるユーザの指の三次元座標を計測する。具体的には、センサ部112は、表示空間116を撮影することで表示空間116の二次元画像を取得するとともに、表示空間116内にある物体とセンサ部112との間の距離を測定するデバイスである。例えば、センサ部112は、表示空間116のRGB画像と近赤外領域画像とをそれぞれの撮像するセンサデバイスである。センサ部112は、撮影された近赤外領域画像を用いて、RGB画像内の物体の距離を測定する。または、センサ部112は、TOF(Time−Of−Flight)方式の距離画像センサデバイスである。この場合、センサ部112は、画素ごとの距離測定を実現できる。または、センサ部112は、ステレオ配置された画像センサを含み、ステレオ法により距離を算出してもよい。
測定された距離情報を含む画像データは、動作検出部113に渡される。
動作検出部113は、センサ部112により計測されたユーザの指の三次元座標を用いて、表示オブジェクト117に対するユーザの指の動作を検出する。具体的には、動作検出部113は、上記三次元座標を用いて、ユーザが表示オブジェクト117をつまむつまみ動作を検出する。
図3は、動作検出部113の構成を示すブロック図である。動作検出部113は、指動作モデリング部131と、つまみ動作検出部132と、つまみ動作モデル保持部133とを備える。
指動作モデリング部131は、指幅閾値保持部134と、指動作モデル登録部135とを有する。
指動作モデリング部131は、図4Aに示すように、表示空間116にユーザの手118がある場合に、センサ部112からの情報を用いて、ユーザの指を模式的に示すモデルである指動作モデル119を生成する。具体的には、指動作モデリング部131は、センサ部112で計測され情報を用いて、ユーザの手118に対応する部分を特定する。次に、指動作モデリング部131は、特定された部分の部位のうち、予め定められた閾値より細い部分を指と認識する。具体的には、指動作モデリング部131は、図4Bに示すように幅120が、指幅閾値保持部134が保持している閾値より小さい部分を、指であると判断する。なお、指幅閾値保持部134に保持される閾値は、ユーザにより変更可能であってもよい。例えば、指動作モデリング部131は、幅120が閾値より小さい部分の長手方向に沿った中心線を指動作モデル119に設定する。
また、この指動作モデル119の生成処理は、所定の時間間隔で繰り返し行われる。つまり、指動作モデル119はリアルタイムに随時更新される。また、指動作モデル119の作成には、例えば、直前のフレームにおける指動作モデル119の検出結果も用いられる。これにより、ある指の一部又は全体が他の指等により隠れている場合でも、隠れている指の指動作モデル119を推定することができる。
指動作モデリング部131で生成された指動作モデル119の情報は、つまみ動作検出部132及び指動作モデル登録部135に渡される。
指動作モデル登録部135は、予めユーザの手118によるつまみ動作を検出し、つまみ動作モデル136を生成する。つまみ動作モデル136は、つまみ動作をしているか否かの判断に使用するための参照モデルである。また、指動作モデル登録部135は、生成したつまみ動作モデル136をつまみ動作モデル保持部133に保持する。図5は、つまみ動作モデルの一例を示す図である。なお、図5に示す、つまみ動作モデル136は一例であってこれ以外であってもよい。
後述する[つまみ検出動作]において、つまみ動作モデル保持部133に保持されたつまみ動作モデル136と指動作モデル119とのパターンマッチングが行われる。つまり、つまみ検出を行うためには、ユーザインタフェース装置100を用いたつまみ検出を行う前に、つまみ動作モデル136をユーザインタフェース装置100に登録しておく必要がある。
なお、指動作モデル登録部135は、外部から入力されたつまみ動作モデル136をつまみ動作モデル保持部133に保持してもよい。
つまみ動作モデル保持部133は、指動作モデル登録部135により生成された、つまみ動作モデル136を保持し、保持しているつまみ動作モデル136をつまみ動作検出部132に渡す。
つまみ動作検出部132は、指動作モデリング部131で生成された指動作モデル119と、つまみ動作モデル保持部133からのつまみ動作モデル136とを用いて、つまみ動作を検出する。また、つまみ動作検出部132は、つまみ動作によりつままれた位置の三次元座標であるつまみ位置座標を検出する。つまみ動作検出部132は、つまみ動作を検出したことを表示制御部114に通知する。また、つまみ動作検出部132は、つまみ動作を検出後、ユーザの操作に応じて移動したつまみ位置座標の変化を示す情報も表示制御部114に渡す。
表示制御部114は、表示データ保持部115に保持されている表示オブジェクト情報を表示部111に渡す。また、表示制御部114は、つまみ位置座標の変化に応じて、つままれた表示オブジェクトの表示内容を変更し、表示部111に変更後の表示データを渡す。つまり、表示制御部114は、動作検出部113の検出結果に応じて、表示部111が表示する表示内容を変更する。
表示内容の変更については、[操作例1]〜[操作例8]で後述する。
また、表示制御部114は、ユーザのつまみ動作に応じて、変更された表示内容を表示部111に渡すだけでなく、表示データ保持部115に保持されている表示オブジェクト情報の変更も行う。
表示データ保持部115は、表示空間116に表示される表示オブジェクト情報を保持している。
[つまみ検出動作]
動作検出部113は、以下に示す二つのつまみ検出方法を用いる。なお、動作検出部113は、以下に示す二つの方法の両方を用いてもよいし、いずれか一方のみを用いてもよい。
一つ目の方法を、図6A及び図6Bを用いて説明する。
まず、指動作モデリング部131は、ユーザの手118の指動作モデル119を生成する。なお、図6Aでは、2本の指の指動作モデル119のみを記載しているが、3本以上の指の指動作モデル119が用いられてもよい。
次に、つまみ動作検出部132は、距離測定を可能とするセンサ部112の計測結果を用いて、指動作モデル119の指先端とセンサ部112との距離を求める。なお、つまみ動作検出部132は、一般的な手の形状から想定される複数の指動作モデル119の配置関係に基づき、各指動作モデル119のいずれの端部が指先(指先端)に対応するかを判定する。
また、図6Aでは、距離L1及び距離L2は、センサ部112と、つまみ動作を行う2本の指の指先端の各々との距離を示す。
また、つまみ動作検出部132は、センサ部112より得られた画像情報から一方の指先端とセンサ部112とを結ぶ直線と、他方の指先端とセンサ部112とを結ぶ直線とがなす角度θを求める。
例えば、つまみ動作検出部132は、角度θを以下の方法で求める。図7A及び図7Bは、角度θの算出方法を説明するための図である。
図7Aは、センサ部112で得られた二次元の画像情報の一例を示す図である。図7Aに示すように、つまみ動作検出部132は、センサ部112の中央Cと、2つの指先との距離M1及びM2を求める。ここで、センサ部112の中央Cの座標は、例えば、画像の中心座標である。
次に、図7Bに示すように、指先からセンサ部112側に垂直な直線AB及びDEが引かれる。よって、二つの垂直三角形ABC及びCDEが形成される。ここで、角BACの内角をφとし、角CDEの内角をφとすると、角度θ=φ+φである。よって、下記(式1)及び(式2)から角度θが求まる。
Figure 0006227563
Figure 0006227563
距離L1、距離L2、及び角度θより、2本の指の先端間距離dは、以下の(式3)で求められる。
Figure 0006227563
次に、つまみ動作検出部132は、図6Bに示すように、この2本の指の先端間につまむ対象となる表示オブジェクト117が存在する場合、2本の指の先端間距離dと、表示オブジェクト117の厚みtとを比較し、(表示オブジェクトの厚みt)≧(2本の指の先端間距離d)が満たされる場合に、つまみ動作を検出する。
このように動作検出部113は、指動作モデル119を用いてユーザの指先の三次元位置を検出する。そして、動作検出部113は、指先の間に、表示オブジェクトの一部が存在し、かつ、指先の間隔が表示オブジェクトの厚み以下の場合、つまみ動作が行われたと判定する。
次に二つ目のつまみ検出方法について説明する。
つまみ動作検出部132は、事前にユーザにより、つまみ動作モデル保持部133に保持されたつまみ動作モデル136と指動作モデル119とのパターンマッチングを行い、一致したと判断された場合につまみを検出する。
このように、動作検出部113は、指動作モデル119の形状が、予め定められたつまみ動作モデル136の形状と一致する場合、つまみ動作が行われたと判定する。ここで、一致とは、完全に一致する場合に限定されず、類似度が予め定められた閾値より大きい場合も含む。
[つまみ検出時の表示制御]
以下、図8A及び図8Bを用いて、本実施の形態における、つまみ検出と表示制御の概要について説明する。なお、図8A及び図8Bでは、表示空間116に表示されている表示オブジェクトは、表示オブジェクト117と表示オブジェクト121との2つであるが、表示オブジェクトの数は3つ以上であってもよい。ここでは、表示オブジェクト117がつままれる場合について説明する。
また、位置座標122は表示オブジェクト117の位置座標である。
図8Aは、ユーザの手118により表示オブジェクト117がつままれる前の状態を示し、まだ、表示オブジェクト117はつままれてはいない。図8Bは、ユーザの手118により表示オブジェクト117がつままれた状態を示す。
図8Bに示すように、つまみ動作検出部132は、つまみ動作を検出し、つまみ位置座標201(Tx、Ty、Tz)を得る。
また、つまみ動作検出部132は表示オブジェクト117に対してつまみ検出がなされたことを表示制御部114に通知する。表示制御部114は、表示オブジェクト117に対するつまみ検出を受けて、表示オブジェクト117がつままれたことをユーザに通知する視覚効果を表示オブジェクト117に対して実施する表示指示を表示部111に渡す。つまり、表示制御部114は、つまみ動作によりつままれた表示オブジェクト117の表示方法を変更する。
具体的には、表示制御部114は、つままれた表示オブジェクト117を強調表示する。例えば、図8Bに示すように、表示制御部114は、表示オブジェクト117の輪郭を際立たせる。なお、表示制御部114は、つままれたことを示す文字情報を表示してもよい。
また、表示制御部114は、つままれた表示オブジェクト117以外の表示オブジェクト(ここでは表示オブジェクト121)の表示方法を変更してもよい。具体的には、表示制御部114は、表示オブジェクト121を目立たなくする。例えば、表示制御部114は、表示オブジェクト121の透過度を上げる、又は、一時的に非表示にするといった視覚効果を実施する表示指示を表示部111に渡す。
[つまみ検出のフローチャート]
図9は、本実施の形態に係るつまみ検出処理の流れを示すフローチャートである。
まず、ステップS101において、指動作モデリング部131は、センサ部112から、ユーザの手118の各部位とセンサ部112との間の距離情報を得る。さらに、指動作モデリング部131は、各部位の幅120をもとに、幅120が指幅閾値保持部134に保持されている閾値より細い部位を指と判断し、指動作モデル119を生成する。
次に、ステップS102において、つまみ動作検出部132は、任意の二本の指の先端間に表示オブジェクトがあるか判定する。
任意の二本の指の先端間に表示オブジェクトがない場合(S102でNo)、ステップS108のつまみ未検出に進み、つまみ動作は検出されずに処理が終了する。
一方、任意の二本の指の先端間に表示オブジェクトがある場合(S102でYes)、ステップS103に進む。
ステップS103では、つまみ動作検出部132は、任意の二本の指の先端間の距離dと表示オブジェクトの厚みtとを比較する。(表示オブジェクトの厚みt)<(2本の指の先端間距離d)であれば(S103でNo)、ステップS104に進む。一方、(表示オブジェクトの厚みt)≧(2本の指の先端間距離d)であれば(S103でYes)、ステップS105に進む。
ステップS104では、つまみ動作検出部132は、ステップS101で得られた指動作モデル119と、つまみ動作モデル保持部133に保持されたつまみ動作モデル136とのパターンマッチングを実施する。指動作モデル119とつまみ動作モデル136とが一致しない場合は(SS104でNo)、ステップS108のつまみ未検出に進み、つまみ動作は検出されずに終了する。一方、指動作モデル119とつまみ動作モデル136とが一致した場合(S104でYes)は、ステップS105に進む。
ステップS105では、表示制御部114は、(表示オブジェクトの厚みt)≧(2本の指の先端間距離d)となること(S103でYes)、又はつまみ動作モデル136とのパターンマッチングにより(S104でYes)、つままれたと判定された表示オブジェクトに対する、つまみ検出を示す表示指示を表示部111に渡す。これにより、表示部111は、表示空間116に当該表示指示に従った映像を表示する。なお、つまみ検出を示す表示指示の詳細は、[操作例1]〜[操作例8]で後述する。
次にステップS106では、表示制御部114は、つままれた表示オブジェクト以外の表示オブジェクトに対して、透過度を上げる、又は、一時的に非表示にするといった表示指示を表示部111に渡す。また、ステップS107に進み、つまみ検出となる。
なお、表示オブジェクトの厚みtと指の先端間距離dとを用いた判定(S103)と、指動作モデルと119とつまみ動作モデル136とのパターンマッチング(S104)との両方が行われているが、いずれか一方のみが行われてもよい。また、ステップS103とS104の順序は逆であってもよい。
また、ステップS105〜S107の順序は任意の順序でよい。また、ステップS105〜S107の一部又は全てが同時(並列)に処理されてもよい。
また、上記処理は、リアルタイムに行われる(所定の時間間隔で繰り返し行われる)ことで、随時、指動作モデル119が更新されるとともに、つまみ動作が検出される。
以上のように、動作検出部113は、ユーザの部位のうち、予め定められた閾値より細い部分を指と認識することにより指動作モデル119を生成し、当該指動作モデル119を用いて、つまみ動作を検出する。具体的には、動作検出部113は、指動作モデル119を用いてユーザの指先の三次元位置を検出し、指先の間に、対象オブジェクト(表示オブジェクト117)の一部が存在し、かつ、指先の間隔が対象オブジェクトの厚み以下の場合、つまみ動作が行われたと判定する。または、動作検出部113は、指動作モデル119の形状が、予め定められたつまみ動作モデル136の形状と一致する場合、つまみ動作が行われたと判定する。
このように、動作検出部113は、指動作モデル119を用いることで、適切につまみ動作を検出できる。
以降では、つまみ検出後のユーザによる表示オブジェクト操作の方法について説明する。
[操作例1]
操作例1は、ユーザがつまみ動作を用いて表示オブジェクト117を移動させる動作である。図10A及び図10Bは、操作例1を説明するための図である。
図10Aは、位置座標122(O1x,O1y,O1z)にある表示オブジェクト117をユーザがつまんだ状態を示す。このときの、つまみ位置の座標は、つまみ位置座標202(T1x,T1y,T1z)である。
図10Bは、ユーザが表示オブジェクト117をつまんだまま、つまみ位置座標203(T2x,T2y,T2z)までつまみ位置を移動させた場合を示している。
このユーザによる表示オブジェクト117の移動である、つまみ位置の、つまみ位置座標202(T1x,T1y,T1z)から、つまみ位置座標203(T2x,T2y,T2z)への移動に応じて、表示制御部114は、表示オブジェクト117の表示位置を、位置座標122(O1x,O1y,O1z)から、位置座標123(O2x,O2y,O2z)へ移動させる。
具体的には、O2x=O1x+(T2x−T1x)、O2y=O1y+(T2y−T1y)、O2z=O1z+(T2z−T1z)となる。
このように、表示制御部114は、動作検出部113が、ユーザが対象オブジェクト(表示オブジェクト117)をつまんで移動させる移動動作を検出した場合、当該移動動作に連動して、対象オブジェクトの三次元位置を移動させる。具体的には、表示制御部114は、動作検出部113が、ユーザが対象オブジェクトをつまむつまみ動作を検出した後、当該つまみ動作が維持されたまま、つまみ位置が移動された場合、当該移動に連動して、対象オブジェクトの三次元位置を移動させる。ここで、連動するとは、例えば、つまみ位置の移動と同じ方向かつ同じ移動量、対象オブジェクトを移動させることでる。なお、この移動方向及び移動量は、厳密に同一である必要はなく、所定のオフセット又は補正が加えられてもよい。
[操作例2]
操作例2は、ユーザがつまみ動作を用いて表示オブジェクト117を削除する動作である。図11A〜図11Cは、操作例2を説明するための図である。
図11A〜図11Cに示す削除予約領域400及び削除予約領域401は、表示オブジェクト117に含まれる予め定められた領域である。図11Aに示すように、ユーザによる削除予約領域400及び削除予約領域401に対するつまみ動作が検出されると、表示オブジェクト117は削除待ち状態となる。
この時、表示制御部114は、ユーザに表示オブジェクト117が削除待ち状態になったことを通知するため、表示部111に通知画像300を表示する。ここでは、通知画像300としてゴミ箱を示す画像が用いられているが、通知画像300はこの絵柄に限らない。
次に、図11Bに示すように、二つのつまみ位置が、それぞれ、つまみ位置座標204からつまみ位置座標206(T3x,T3y,T3z)へ、つまみ位置座標205からつまみ位置座標207(T4x,T4y,T4z)へ変化した場合、表示制御部114は、ユーザの動作に合わせて、表示オブジェクト117を引き裂くような表示効果を表示部111に表示させる。
ここで、つまみ位置座標206とつまみ位置座標207との間の距離は下記(式4)で表される。
Figure 0006227563
この距離が、予め定められた削除閾値より大きくなった場合、表示制御部114は、表示オブジェクト117が削除されたと判断し、表示オブジェクト117の表示を消す指示を表示部111に渡す。更に、表示制御部114は、表示データ保持部115に保持されている表示オブジェクト117の情報も削除する。
また、図11Bと同様に、図11Cに示すように、二つのつまみ位置が、それぞれ、つまみ位置座標204からつまみ位置座標208(T5x,T5y,T5z)へ、つまみ位置座標205からつまみ位置座標209(T6x,T6y,T6z)へ変化した場合、表示制御部114は、ユーザの動作に合わせて、表示オブジェクト117を引き裂くような表示効果を表示部111に表示させる。
ここで、つまみ位置座標206とつまみ位置座標207との間の距離は下記(式5)で表される。
Figure 0006227563
この距離が、予め定められた削除閾値より大きくなった場合、表示制御部114は表示オブジェクト117が削除されたと判断し、表示オブジェクト117の表示を消す指示を表示部111に渡す。更に、表示制御部114は、表示データ保持部115に保持されている表示オブジェクト117の情報も削除する。
このように、表示制御部114は、動作検出部113が、ユーザが対象オブジェクト(表示オブジェクト117)を破る又は引き裂く動作を検出した場合、対象オブジェクトを削除する。例えば、表示制御部114は、動作検出部113が、ユーザが両手で対象オブジェクトの2点をつまむつまみ動作を検出した後、当該2点の距離が予め定められた削除閾値以上大きくなるように、つまみ位置が移動された場合、対象オブジェクトを削除する。
なお、上記説明では、削除予約領域400及び削除予約領域401がつままれた場合に削除待ち状態になるとしたが、表示オブジェクト117の任意の2点がつままれた場合に削除待ち状態になってもよい。
[操作例3]
操作例3は、ユーザがつまみ動作を用いて表示オブジェクト117を横方向に拡大又は縮小する動作である。図12A〜図12Cは、操作例3を説明するための図である。
横方向拡大縮小予約領域402及び横方向拡大縮小予約領域403は、表示オブジェクト117に含まれる予め定められた領域である。例えば、横方向拡大縮小予約領域402は、表示オブジェクト117の左端周辺の領域であり、横方向拡大縮小予約領域403は、表示オブジェクト117の右端周辺の領域である。
図12Aに示すように、ユーザによる横方向拡大縮小予約領域402及び横方向拡大縮小予約領域403に対するつまみ動作が検出されると、表示オブジェクト117は横方向拡大縮小待ち状態となる。
この時、表示制御部114は、ユーザに表示オブジェクト117が横方向拡大縮小待ち状態になったことを通知するため、表示部111に通知画像301を表示する。ここでは、通知画像301として横方向の矢印を示す画像が用いられているが、通知画像301はこの絵柄に限らない。
次に、図12B及び図12Cに示すように、二つのつまみ位置が、それぞれ、つまみ位置座標210(T7x,T7y,T7z)からつまみ位置座標212(T9x,T9y,T9z)へ、つまみ位置座標211(T8x,T8y,T8z)からつまみ位置座標213(T10x,T10y,T10z)へ変化した場合、表示制御部114は、横方向の変化量(T9x−T7x)及び(T10x−T8x)に応じて、表示オブジェクト117の横方向のサイズを拡大、又は縮小する表示指示を表示部111に渡す。
このように、表示制御部114は、動作検出部113が、ユーザが対象オブジェクト(表示オブジェクト117)の2点をつまんだ状態で、当該対象オブジェクトを引き伸ばす動作を検出した場合、対象オブジェクトを拡大する。具体的には、表示制御部114は、動作検出部113が、ユーザが両方の手で対象オブジェクトに含まれる横方向拡大縮小予約領域402及び横方向拡大縮小予約領域403の各々をつまむつまみ動作を検出した後、当該つまみ動作が維持されたまま、つまみ位置の横方向の座標の差が大きくなるようにつまみ位置が移動された場合、当該差と同じ量、対象オブジェクトの横方向のサイズを拡大する。なお、この横方向のサイズの拡大量は、つまみ位置の横方向の差の増加量と厳密に同一である必要はなく、所定のオフセット又は補正が加えられてもよい。
また、表示制御部114は、動作検出部113が、ユーザが対象オブジェクトの2点をつまんだ状態で、当該対象オブジェクトを縮める動作を検出した場合、対象オブジェクトを縮小する。具体的には、表示制御部114は、動作検出部113が、ユーザが両方の手で対象オブジェクトに含まれる横方向拡大縮小予約領域402及び横方向拡大縮小予約領域403の各々をつまむつまみ動作を検出した後、当該つまみ動作が維持されたまま、つまみ位置の横方向の座標の差が小さくなるようにつまみ位置が移動された場合、当該差と同じ量、対象オブジェクトの横方向のサイズを縮小する。なお、この横方向のサイズの縮小量は、つまみ位置の横方向の差の減少量と厳密に同一である必要はなく、所定のオフセット又は補正が加えられてもよい。
[操作例4]
操作例4は、ユーザがつまみ動作を用いて表示オブジェクト117を斜め向に拡大又は縮小する動作である。図13A〜図13Cは、操作例4を説明するための図である。
斜め方向拡大縮小予約領域404及び斜め方向拡大縮小予約領域405は、表示オブジェクト117に含まれる予め定められた領域である。例えば、斜め方向拡大縮小予約領域404は、表示オブジェクト117の左上端周辺の領域であり、斜め方向拡大縮小予約領域405は、表示オブジェクト117の右下端周辺の領域である。
図13Aに示すように、ユーザによる斜め方向拡大縮小予約領域404及び斜め方向拡大縮小予約領域405に対するつまみ動作が検出されると、表示オブジェクト117は斜め方向拡大縮小待ち状態となる。なお、2つの斜め方向拡大縮小予約領域は、表示オブジェクト117の左下端周辺の領域及び右上端周辺の領域であってもよい。また、左上端周辺の領域及び右下端周辺の領域との組、及び、左下端周辺の領域及び右上端周辺の領域との組の一方の組に対してつまみ動作が検出された場合に、表示オブジェクト117は斜め方向拡大縮小待ち状態となってもよい。言い換えると、表示オブジェクト117の対向する2つの角部周辺の領域がつままれた場合に、表示オブジェクト117は斜め方向拡大縮小待ち状態となってもよい。
この時、表示制御部114は、ユーザに表示オブジェクト117が斜め方向拡大縮小待ち状態になったことを通知するため、通知画像302を表示部111に表示させる。ここでは、通知画像302として斜め方向の矢印を示す画像が用いられているが、通知画像302はこの絵柄に限らない。
次に、図13B及び図13Cに示すように、2つのつまみ位置が、それぞれ、つまみ位置座標214(T11x,T11y,T11z)からつまみ位置座標216(T13x,T13y,T13z)へ、つまみ位置座標215(T12x,T12y,T12z)からつまみ位置座標217(T14x,T14y,T14z)へ変化した場合、斜め方向の変化量は、下記(式6)及び(式7)で表される。
Figure 0006227563
Figure 0006227563
表示制御部114は、この変化量に応じて、表示オブジェクト117の斜め方向のサイズを拡大又は縮小する表示指示を表示部111に渡す。
このように、表示制御部114は、動作検出部113が、ユーザが対象オブジェクト(表示オブジェクト117)の2点をつまんだ状態で、当該対象オブジェクトを引き伸ばす動作を検出した場合、対象オブジェクトを拡大する。具体的には、表示制御部114は、動作検出部113が、ユーザが両方の手で対象オブジェクトに含まれる斜め方向拡大縮小予約領域404及び斜め方向拡大縮小予約領域405の各々をつまむつまみ動作を検出した後、当該つまみ動作が維持されたまま、つまみ位置の斜め方向の座標の差が大きくなるようにつまみ位置が移動された場合、当該差と同じ量、対象オブジェクトの斜め方向のサイズを拡大する。なお、この斜め方向のサイズの拡大量は、つまみ位置の斜め方向の差の増加量と厳密に同一である必要はなく、所定のオフセット又は補正が加えられてもよい。
また、表示制御部114は、動作検出部113が、ユーザが対象オブジェクトの2点をつまんだ状態で、当該対象オブジェクトを縮める動作を検出した場合、対象オブジェクトを縮小する。具体的には、表示制御部114は、動作検出部113が、ユーザが両方の手で対象オブジェクトに含まれる斜め方向拡大縮小予約領域404及び斜め方向拡大縮小予約領域405の各々をつまむつまみ動作を検出した後、当該つまみ動作が維持されたまま、つまみ位置の斜め方向の座標の差が小さくなるようにつまみ位置が移動された場合、当該差と同じ量、対象オブジェクトの斜め方向のサイズを縮小する。なお、この斜め方向のサイズの縮小量は、つまみ位置の斜め方向の差の減少量と厳密に同一である必要はなく、所定のオフセット又は補正が加えられてもよい。
[操作例5]
操作例5は、ユーザがつまみ動作を用いて表示オブジェクト117を縦方向に拡大又は縮小する動作である。図14A〜図14Cは、操作例5を説明するための図である。
縦方向拡大縮小予約領域406及び縦方向拡大縮小予約領域407は、表示オブジェクト117に含まれる予め定められた領域である。例えば、縦方向拡大縮小予約領域406は、表示オブジェクト117の上端周辺の領域であり、縦方向拡大縮小予約領域407は、表示オブジェクト117の下端周辺の領域である。図14Aに示すように、ユーザによる縦方向拡大縮小予約領域406及び縦方向拡大縮小予約領域407に対するつまみ動作が検出されると、表示オブジェクト117は縦方向拡大縮小待ち状態となる。
この時、表示制御部114は、ユーザに表示オブジェクト117が縦方向拡大縮小待ち状態になったことを通知するため、通知画像303を表示部111に表示させる。ここでは、通知画像303として縦方向の矢印を示す画像が用いられているが、通知画像303はこの絵柄に限らない。
次に、図14B及び図14Cに示すように、二つのつまみ位置が、それぞれ、つまみ位置座標218(T15x,T15y,T15z)からつまみ位置座標220(T17x,T17y,T17z)へ、つまみ位置座標219(T16x,T16y,T16z)からつまみ位置座標221(T18x,T18y,T18z)へ変化した場合、表示制御部114は、縦方向の変化量(T17y−T15y)及び(T18y−T16y)に応じて、表示オブジェクト117の縦方向のサイズを拡大又は縮小する表示指示を表示部111に渡す。
このように、表示制御部114は、動作検出部113が、ユーザが対象オブジェクト(表示オブジェクト117)の2点をつまんだ状態で、当該対象オブジェクトを引き伸ばす動作を検出した場合、前記対象オブジェクトを拡大する。具体的には、表示制御部114は、動作検出部113が、ユーザが両方の手で対象オブジェクトに含まれる縦方向拡大縮小予約領域406及び縦方向拡大縮小予約領域407の各々をつまむつまみ動作を検出した後、当該つまみ動作が維持されたまま、つまみ位置の縦方向の座標の差が大きくなるようにつまみ位置が移動された場合、当該差と同じ量、対象オブジェクトの縦方向のサイズを拡大する。なお、この縦方向のサイズの拡大量は、つまみ位置の縦方向の差の増加量と厳密に同一である必要はなく、所定のオフセット又は補正が加えられてもよい。
また、表示制御部114は、動作検出部113が、ユーザが対象オブジェクトの2点をつまんだ状態で、当該対象オブジェクトを縮める動作を検出した場合、対象オブジェクトを縮小する。具体的には、表示制御部114は、動作検出部113が、ユーザが両方の手で対象オブジェクトに含まれる縦方向拡大縮小予約領域406及び縦方向拡大縮小予約領域407の各々をつまむつまみ動作を検出した後、当該つまみ動作が維持されたまま、つまみ位置の縦方向の座標の差が小さくなるようにつまみ位置が移動された場合、当該差と同じ量、対象オブジェクトの縦方向のサイズを縮小する。なお、この縦方向のサイズの縮小量は、つまみ位置の縦方向の差の減少量と厳密に同一である必要はなく、所定のオフセット又は補正が加えられてもよい。
[操作例6]
操作例6は、ユーザがつまみ動作を用いたページめくり動作である。図15A〜図15Cは、操作例6を説明するための図である。
ページめくり予約領域408及びページめくり予約領域409は、表示オブジェクト117の予め定められた領域である。例えば、ページめくり予約領域408は、表示オブジェクト117の左端周辺の領域であり、ページめくり予約領域409は、表示オブジェクト117の右端周辺の領域である。
図15Aに示すように、ユーザによるページめくり予約領域408又はページめくり予約領域409に対するつまみ動作が検出されると、表示オブジェクト117はページめくり待ち状態となる。
この時、表示制御部114は、ユーザに表示オブジェクト117がページめくり待ち状態になったことを通知するため、通知画像304を表示部111に表示させる。ここでは、通知画像304として本を示す画像が用いられているが、通知画像304はこの絵柄に限らない。
次に、図15B及び図15Cに示すように、つまみ位置が、つまみ位置座標222(T19x,T19y,T19z)からつまみ位置座標223(T20x,T20y,T20z)へ変化した場合、(T20x−T19x≧0)、(T20y−T19y≦0)かつ(T20z−T19z≦0)が満たされれば、表示制御部114は、ユーザによるページめくり操作が実施されたと判断し、表示オブジェクト117のページめくり動作の表示指示を表示部111に渡す。
ページめくり予約領域409がつままれた場合も同様に、(T20x−T19x≦0)、(T20y−T19y≦0)かつ(T20z−T19z≦0)が満たされれば、表示制御部114は、ユーザによるページめくり操作が実施されたと判断し、表示オブジェクト117のページめくり動作の表示指示を表示部111に渡す。
このように、表示制御部114は、動作検出部113が、ユーザが対象オブジェクト(表示オブジェクト117)をつまんだ状態で、対象オブジェクトのページをめくる動作を検出した場合、対象オブジェクトのページめくり動作を行う。具体的には、対象オブジェクトは、ページをめくることが可能なオブジェクトであり、例えば、三次元又は二次元の電子書籍である。表示制御部114は、動作検出部113により、ユーザが対象オブジェクトのページ端部周辺の領域をつまむつまみ動作を検出した後に、当該つまみ動作が維持されたまま、つまみ位置が、手前側かつページ中央方向に移動した場合、対象オブジェクトのページめくり動作を行う。ここで、ページめくり動作とは、例えば表示する電子書籍のページを、次のページに切り替える動作である。
[操作例7]
操作例7は、ユーザが表示オブジェクト117を指ではじく動作である。図16A及び図16Bは、操作例7を説明するための図である。
ユーザは、図16Aに示すつまみ状態から、図16Bに示すように、つまみ動作をしている指を離して、表示オブジェクト117をはじく動作を行う。位置座標500(T21x,T21y,T21z)及び位置座標501(T22x,T22y,T22z)は、つまみ動作を行っている2本の指のそれぞれの先端箇所の位置座標である。図16Aのつまみ動作から2本の指が離れる直前の時刻をt1とする。
図16Bのはじく動作を行った際の2本の指のそれぞれの先端箇所の位置は、位置座標500(T21x,T21y,T21z)から位置座標502(T23x,T23y,T23z)へ、位置座標501(T22x,T22y,T22z)から位置座標503(T24x,T24y,T24z)へ変化し、はじく動作が行われた時刻をt2とする。
この時、二本の指の先端箇所の移動速度vは、下記(式8)で表される。
Figure 0006227563
この時、はじく動作により表示オブジェクト117は、位置座標124(O3x,O3y,O3z)から位置座標125(O4x,O4y,O4z)に移る。このとき、例えば、表示オブジェクト117は、Z軸方向に、(O4z=O3z+v×ゲイン設定値)で求める移動距離130だけ移動する。例えば、ゲイン設定値は、ユーザにより設定することを可能である。
このように、表示制御部114は、動作検出部113が、ユーザが対象オブジェクト(表示オブジェクト117)を指ではじく動作を検出した場合、対象オブジェクトをはじかれた方向に移動させる。具体的には、表示制御部114は、対象オブジェクトがはじかれた速度及び指の変化量が大きいほど、対象オブジェクトを元の位置からより遠くに移動させる。
[操作例8]
操作例8は、その他の操作例である。
操作例1を応用して、図17に示すように、ユーザが、表示オブジェクト117をつまんだ状態で、表示オブジェクト117を振るような動作を行った場合、表示制御部114は、表示オブジェクト117が振られたような表示を行ってもよい。
また、図18に示ように、一回のつまみ動作により複数の表示オブジェクトがつままれてもよい。この場合、上記操作例1〜7の動作により、つままれた複数の表示オブジェクトの全てに対して、処理が行われる。
以上、本発明の実施の形態に係るユーザインタフェース装置について説明したが、本発明は、この実施の形態に限定されるものではない。
例えば、上記説明では、表示オブジェクトとして板状のオブジェクトが用いられる例を示したが、表示オブジェクトの形状はこれに限らない。
また、上記実施の形態に係るユーザインタフェース装置に含まれる各処理部は典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。
また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
また、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
また、本発明は、上述したユーザインタフェース装置として実現できるだけでなく、ユーザインタフェース装置に含まれる特徴的な手段をステップとする表示オブジェクト操作方法、又はユーザインタフェース装置の制御方法等として実現できる。
また、上記ユーザインタフェース装置において上記のステップが実行される順序は、本発明を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。
以上、一つまたは複数の態様に係るユーザインタフェース装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
本発明は、ユーザインタフェース装置に適用できる。特に、本発明は、三次元立体視映像を用いたエンタテイメントシステム、及びデジタルサイネージシステム等におけるユーザインタフェース装置として有用である。
100 ユーザインタフェース装置
111 表示部
112 センサ部
113 動作検出部
114 表示制御部
115 表示データ保持部
116 表示空間
117、121 表示オブジェクト
118 ユーザの手
119 指動作モデル
120 幅
122、123、124、125、500、501、502、503 位置座標
130 移動距離
131 指動作モデリング部
132 つまみ動作検出部
133 つまみ動作モデル保持部
134 指幅閾値保持部
135 指動作モデル登録部
136 つまみ動作モデル
201、202、203、204、205、206、207、208、209、210、211、212、213、214、215、216、217、218、219、220、221、222、223 つまみ位置座標
300、301、302、303、304 通知画像
400、401 削除予約領域
402、403 横方向拡大縮小予約領域
404、405 斜め方向拡大縮小予約領域
406、407 縦方向拡大縮小予約領域
408、409 ページめくり予約領域

Claims (13)

  1. 表示空間に二次元又は三次元のオブジェクトを表示する表示部と、
    前記表示空間におけるユーザの指の三次元座標を計測するセンサ部と、
    前記センサ部により計測された前記ユーザの指の三次元座標を用いて、前記オブジェクトに対する前記ユーザの指の動作を検出する動作検出部と、
    前記動作検出部の検出結果に応じて、前記表示部が表示する表示内容を変更する表示制御部とを備え
    前記動作検出部は、前記センサ部により計測された前記ユーザの指の三次元座標を用いて、前記ユーザが前記オブジェクトをつまむつまみ動作を検出し、
    前記動作検出部は、前記ユーザの部位のうち、予め定められた閾値より細い部分を指と認識することにより指動作モデルを生成し、当該指動作モデルを用いて、前記つまみ動作を検出する
    ユーザインタフェース装置。
  2. 前記表示制御部は、前記動作検出部により前記つまみ動作が検出された場合、当該つまみ動作によりつままれた対象オブジェクトの表示方法を変更する
    請求項記載のユーザインタフェース装置。
  3. 前記表示部は、前記表示空間に複数の前記オブジェクトを表示し、
    前記表示制御部は、前記動作検出部により前記つまみ動作が検出された場合、さらに、前記複数のオブジェクトのうち、前記対象オブジェクト以外のオブジェクトの表示方法を変更する
    請求項記載のユーザインタフェース装置。
  4. 前記表示制御部は、前記動作検出部が、前記ユーザが前記オブジェクトをつまんで移動させる移動動作を検出した場合、当該移動動作に連動して、前記オブジェクトの三次元位置を移動させる
    請求項のいずれか1項に記載のユーザインタフェース装置。
  5. 前記表示制御部は、前記動作検出部が、前記ユーザが前記オブジェクトを破る又は引き裂く動作を検出した場合、前記オブジェクトを削除する
    請求項のいずれか1項に記載のユーザインタフェース装置。
  6. 前記表示制御部は、
    前記動作検出部が、前記ユーザが前記オブジェクトの2点をつまんだ状態で、当該オブジェクトを引き伸ばす動作を検出した場合、前記オブジェクトを拡大し、
    前記動作検出部が、前記ユーザが前記オブジェクトの2点をつまんだ状態で、当該オブジェクトを縮める動作を検出した場合、前記オブジェクトを縮小する
    請求項のいずれか1項に記載のユーザインタフェース装置。
  7. 前記表示制御部は、前記動作検出部が、前記ユーザが前記オブジェクトをつまんだ状態で、前記オブジェクトのページをめくる動作を検出した場合、前記オブジェクトのページめくり動作を行う
    請求項のいずれか1項に記載のユーザインタフェース装置。
  8. 前記表示制御部は、前記動作検出部が、前記ユーザが前記オブジェクトを指ではじく動作を検出した場合、前記オブジェクトをはじかれた方向に移動させる
    請求項1〜のいずれか1項に記載のユーザインタフェース装置。
  9. 前記動作検出部は、
    前記指動作モデルを用いて前記ユーザの指先の三次元位置を検出し、
    前記指先の間に、前記オブジェクトの一部が存在し、かつ、前記指先の間隔が前記オブジェクトの厚み以下の場合、前記つまみ動作が行われたと判定する
    請求項記載のユーザインタフェース装置。
  10. 前記動作検出部は、
    前記指動作モデルの形状が、予め定められたつまみ動作モデルの形状と一致する場合、前記つまみ動作が行われたと判定する
    請求項記載のユーザインタフェース装置。
  11. 表示空間に二次元又は三次元のオブジェクトを表示する表示ステップと、
    前記表示空間におけるユーザの指の三次元座標を計測する計測ステップと、
    前記計測ステップで計測された前記ユーザの指の三次元座標を用いて、前記オブジェクトに対する前記ユーザの指の動作を検出する動作検出ステップと、
    前記動作検出ステップの検出結果に応じて、表示内容を変更する表示制御ステップとを含み、
    前記動作検出ステップでは、前記計測ステップにより計測された前記ユーザの指の三次元座標を用いて、前記ユーザが前記オブジェクトをつまむつまみ動作を検出し、
    前記動作検出ステップでは、前記ユーザの部位のうち、予め定められた閾値より細い部分を指と認識することにより指動作モデルを生成し、当該指動作モデルを用いて、前記つまみ動作を検出する
    表示オブジェクト操作方法。
  12. 請求項1記載の表示オブジェクト操作方法をコンピュータに実行させるための
    プログラム。
  13. 表示空間に二次元又は三次元のオブジェクトを表示する表示部と、
    前記表示空間におけるユーザの指の三次元座標を計測するセンサ部と、
    前記センサ部により計測された前記ユーザの指の三次元座標を用いて、前記オブジェクトに対する前記ユーザの指の動作を検出する動作検出部と、
    前記動作検出部の検出結果に応じて、前記表示部が表示する表示内容を変更する表示制御部とを備え
    前記動作検出部は、前記センサ部により計測された前記ユーザの指の三次元座標を用いて、前記ユーザが前記オブジェクトをつまむつまみ動作を検出し、
    前記動作検出部は、前記ユーザの部位のうち、予め定められた閾値より細い部分を指と認識することにより指動作モデルを生成し、当該指動作モデルを用いて、前記つまみ動作を検出する
    集積回路。
JP2014553565A 2013-06-26 2014-03-31 ユーザインタフェース装置及び表示オブジェクト操作方法 Active JP6227563B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013134054 2013-06-26
JP2013134054 2013-06-26
PCT/JP2014/001871 WO2014207971A1 (ja) 2013-06-26 2014-03-31 ユーザインタフェース装置及び表示オブジェクト操作方法

Publications (2)

Publication Number Publication Date
JPWO2014207971A1 JPWO2014207971A1 (ja) 2017-02-23
JP6227563B2 true JP6227563B2 (ja) 2017-11-08

Family

ID=52141351

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014553565A Active JP6227563B2 (ja) 2013-06-26 2014-03-31 ユーザインタフェース装置及び表示オブジェクト操作方法

Country Status (4)

Country Link
US (2) US9836199B2 (ja)
JP (1) JP6227563B2 (ja)
CN (1) CN104583913B (ja)
WO (1) WO2014207971A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10102824B2 (en) * 2015-05-19 2018-10-16 Microsoft Technology Licensing, Llc Gesture for task transfer
EP3438789A4 (en) * 2016-03-29 2019-03-27 Sony Corporation INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, AND PROGRAM
WO2017187708A1 (ja) * 2016-04-26 2017-11-02 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
CN107315355B (zh) * 2017-06-30 2021-05-18 京东方科技集团股份有限公司 一种电器控制设备及方法
JP6952065B2 (ja) * 2017-07-21 2021-10-20 株式会社コロプラ 仮想空間を提供するコンピュータで実行されるプログラム、方法、および当該プログラムを実行する情報処理装置
JP6470356B2 (ja) * 2017-07-21 2019-02-13 株式会社コロプラ 仮想空間を提供するコンピュータで実行されるプログラム、方法、および当該プログラムを実行する情報処理装置
US10521947B2 (en) * 2017-09-29 2019-12-31 Sony Interactive Entertainment Inc. Rendering of virtual hand pose based on detected hand input
US11500453B2 (en) 2018-01-30 2022-11-15 Sony Interactive Entertainment Inc. Information processing apparatus
TWI682877B (zh) * 2018-06-04 2020-01-21 宏碁股份有限公司 移動裝置控制方法、伺服器裝置及移動裝置控制系統
US10635895B2 (en) 2018-06-27 2020-04-28 Facebook Technologies, Llc Gesture-based casting and manipulation of virtual content in artificial-reality environments
US10712901B2 (en) * 2018-06-27 2020-07-14 Facebook Technologies, Llc Gesture-based content sharing in artificial reality environments
US10783712B2 (en) 2018-06-27 2020-09-22 Facebook Technologies, Llc Visual flairs for emphasizing gestures in artificial-reality environments
EP3677997B1 (en) * 2019-01-03 2021-10-13 HTC Corporation Electronic system and controller
US11054896B1 (en) * 2019-02-07 2021-07-06 Facebook, Inc. Displaying virtual interaction objects to a user on a reference plane
JP6711979B1 (ja) * 2019-06-07 2020-06-17 株式会社セルシス 書籍表示プログラム及び書籍表示装置
CN112130659A (zh) * 2019-06-25 2020-12-25 幻景启动股份有限公司 互动式立体显示装置与互动感应方法
CN113377190A (zh) * 2020-03-09 2021-09-10 幻景启动股份有限公司 漂浮影像显示设备、互动方法与其系统
CN113867521B (zh) * 2020-06-30 2024-01-23 京东方科技集团股份有限公司 一种基于手势视觉识别的手写输入方法、装置及电子设备
JP6919050B1 (ja) * 2020-12-16 2021-08-11 株式会社あかつき ゲームシステム、プログラム及び情報処理方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH086708A (ja) 1994-04-22 1996-01-12 Canon Inc 表示装置
JP4723799B2 (ja) 2003-07-08 2011-07-13 株式会社ソニー・コンピュータエンタテインメント 制御システムおよび制御方法
US7893920B2 (en) 2004-05-06 2011-02-22 Alpine Electronics, Inc. Operation input device and method of operation input
JP4244202B2 (ja) 2004-05-06 2009-03-25 アルパイン株式会社 操作入力装置および操作入力方法
US8453065B2 (en) * 2004-06-25 2013-05-28 Apple Inc. Preview and installation of user interface elements in a display environment
KR101426718B1 (ko) * 2007-02-15 2014-08-05 삼성전자주식회사 휴대단말기에서 터치 이벤트에 따른 정보 표시 장치 및방법
US7979809B2 (en) * 2007-05-11 2011-07-12 Microsoft Corporation Gestured movement of object to display edge
JP5229083B2 (ja) * 2009-04-14 2013-07-03 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
JP5158007B2 (ja) 2009-04-28 2013-03-06 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
US20120235947A1 (en) 2010-01-29 2012-09-20 Saeko Yano Map information processing device
US9519356B2 (en) * 2010-02-04 2016-12-13 Microsoft Technology Licensing, Llc Link gestures
US9075522B2 (en) * 2010-02-25 2015-07-07 Microsoft Technology Licensing, Llc Multi-screen bookmark hold gesture
KR101729523B1 (ko) * 2010-12-21 2017-04-24 엘지전자 주식회사 휴대 단말기 및 그 동작 제어방법
JP2012256110A (ja) * 2011-06-07 2012-12-27 Sony Corp 情報処理装置、情報処理方法およびプログラム
JP5715007B2 (ja) * 2011-08-29 2015-05-07 京セラ株式会社 表示機器
WO2013063409A1 (en) * 2011-10-28 2013-05-02 General Mills, Inc. Dispenser

Also Published As

Publication number Publication date
CN104583913A (zh) 2015-04-29
CN104583913B (zh) 2018-04-13
US20170344237A1 (en) 2017-11-30
US9836199B2 (en) 2017-12-05
US20150242101A1 (en) 2015-08-27
JPWO2014207971A1 (ja) 2017-02-23
WO2014207971A1 (ja) 2014-12-31
US10466880B2 (en) 2019-11-05

Similar Documents

Publication Publication Date Title
JP6227563B2 (ja) ユーザインタフェース装置及び表示オブジェクト操作方法
US10082879B2 (en) Head mounted display device and control method
US10101898B2 (en) Multi-touch graphical user interface for interacting with menus on a handheld device
JP6482196B2 (ja) 画像処理装置、その制御方法、プログラム、及び記憶媒体
US9645735B2 (en) Information processing device and information processing method
US20140169660A1 (en) Stereo Correspondence Smoothness Tool
JP5802247B2 (ja) 情報処理装置
JP6723814B2 (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
JP5783828B2 (ja) 情報処理装置およびその制御方法
JP6410537B2 (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
KR20140012757A (ko) 시각 장애 사용자들에 의한 이미지 캡처 및 이미지 검토의 촉진
JP2011076255A (ja) ジェスチャ認識装置、ジェスチャ認識方法、およびジェスチャ認識プログラム
US9235293B2 (en) Optical touch device and touch sensing method
JP2014029656A (ja) 画像処理装置および画像処理方法
JP5342484B2 (ja) 座標入力装置及びプログラム
CN104820584B (zh) 一种面向层次化信息自然操控的3d手势界面的构建方法及系统
JP6366267B2 (ja) 情報処理装置、その情報処理方法、プログラム、及び記憶媒体
Ju et al. A novel approach to extract hand gesture feature in depth images
JP5620895B2 (ja) 表示制御装置、方法及びプログラム
TWI448918B (zh) 光學觸控系統
US20150042621A1 (en) Method and apparatus for controlling 3d object
US11789543B2 (en) Information processing apparatus and information processing method
WO2018161421A1 (zh) 终端设备的触摸显示屏幕的性能测试方法和性能测试装置
JP7374413B2 (ja) 現実物体に対するクラスタリングの可視化システム、可視化制御装置、可視化方法および可視化制御用プログラム
WO2023031988A1 (ja) 電子機器及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170801

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170921

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171003

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171011

R150 Certificate of patent or registration of utility model

Ref document number: 6227563

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150