JP6911870B2 - 表示制御装置、表示制御方法及びコンピュータプログラム - Google Patents

表示制御装置、表示制御方法及びコンピュータプログラム Download PDF

Info

Publication number
JP6911870B2
JP6911870B2 JP2018552456A JP2018552456A JP6911870B2 JP 6911870 B2 JP6911870 B2 JP 6911870B2 JP 2018552456 A JP2018552456 A JP 2018552456A JP 2018552456 A JP2018552456 A JP 2018552456A JP 6911870 B2 JP6911870 B2 JP 6911870B2
Authority
JP
Japan
Prior art keywords
display
gesture
effect
user
line
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
JP2018552456A
Other languages
English (en)
Other versions
JPWO2018096827A1 (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.)
Sony Corp
Sony Group Corp
Original Assignee
Sony Corp
Sony Group Corp
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 Sony Corp, Sony Group Corp filed Critical Sony Corp
Publication of JPWO2018096827A1 publication Critical patent/JPWO2018096827A1/ja
Application granted granted Critical
Publication of JP6911870B2 publication Critical patent/JP6911870B2/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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/214Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads
    • A63F13/2145Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads the surface being also a display device, e.g. touch screens
    • 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/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0425Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
    • 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
    • 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
    • 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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

本開示は、表示制御装置、表示制御方法及びコンピュータプログラムに関する。
ユーザの操作が予め規定されたパターン(ジェスチャ)に合致すれば、そのパターンに対応する動作を行う技術が存在する。例えば特許文献1には、ユーザが指やペンなどで矩形や丸を描くジェスチャを行うと、そのジェスチャのサイズに合わせてウインドウの大きさを規定する技術が開示されている。
特開2004−272835号公報
既存のジェスチャを認識してそのジェスチャに対応する動作を行う技術では、ユーザが利用する向きがディスプレイに対する正面かつ鉛直方向の下向きに限定されている。従って、他の方向からの利用が考慮されていない。
そこで、本開示では、ユーザの利用状況や意図を考慮してジェスチャに対応する動作を実行することが可能な、新規かつ改良された表示制御装置、表示制御方法及びコンピュータプログラムを提案する。
本開示によれば、表示面に対して行われた操作から、ジェスチャの内容を判定する判定部と、前記判定部が判定した前記ジェスチャに対応する、前記表示面で表示される表示オブジェクトの配置方向を設定する効果及び該効果の対象となる前記表示オブジェクトを決定する効果決定部と、を備え、前記効果決定部は、前記操作が、前記表示面上に存在する物理オブジェクトと所定の位置関係にある操作である場合に、前記物理オブジェクトの配置位置に基づいて前記表示オブジェクトを表示させ、前記操作が、前記物理オブジェクトに沿って線を描く操作である場合に、前記物理オブジェクト上に前記表示オブジェクトを表示させる、表示制御装置が提供される。
また本開示によれば、プロセッサが、表示面に対して行われた操作から、ジェスチャの内容を判定することと、判定された前記ジェスチャに対応する、前記表示面で表示される表示オブジェクトの配置方向を設定する効果及び該効果の対象となる前記表示オブジェクトを決定することと、を含み、前記決定することは、前記操作が、前記表示面上に存在する物理オブジェクトと所定の位置関係にある操作である場合に、前記物理オブジェクトの配置位置に基づいて前記表示オブジェクトを表示させ、前記操作が、前記物理オブジェクトに沿って線を描く操作である場合に、前記物理オブジェクト上に前記表示オブジェクトを表示させる、表示制御方法が提供される。
また本開示によれば、コンピュータに、表示面に対して行われた操作から、ジェスチャの内容を判定することと、判定された前記ジェスチャに対応する、前記表示面で表示される表示オブジェクトの配置方向を設定する効果及び該効果の対象となる前記表示オブジェクトを決定することと、を実行させ、前記決定することは、前記操作が、前記表示面上に存在する物理オブジェクトと所定の位置関係にある操作である場合に、前記物理オブジェクトの配置位置に基づいて前記表示オブジェクトを表示させ、前記操作が、前記物理オブジェクトに沿って線を描く操作である場合に、前記物理オブジェクト上に前記表示オブジェクトを表示させる、コンピュータプログラムが提供される。
以上説明したように本開示によれば、ユーザの利用状況や意図を考慮してジェスチャに対応する動作を実行することが可能な、新規かつ改良された表示制御装置、表示制御方法及びコンピュータプログラムを提供することが出来る。
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
本開示の一実施形態に係る情報処理システムの一構成例を示す説明図である。 同実施形態に係る情報処理システムの他の構成例を示す図である。 同実施形態に係る情報処理システムの他の構成例を示す図である。 同実施形態に係る情報処理システムの他の構成例を示す図である。 同実施形態に係る情報処理システム100の機能構成例を示す説明図である。 ジェスチャ定義蓄積部210が蓄積する情報の例を示す説明図である。 ジェスチャ検出部220によるジェスチャの検出手法の例を示す説明図である。 ジェスチャ検出部220によるジェスチャの検出手法の例を示す説明図である。 ジェスチャ検出部220によるジェスチャの検出手法の例を示す説明図である。 ジェスチャ検出部220によるジェスチャの検出手法の例を示す説明図である。 表示面に対してユーザが1本の指で一本線を描くジェスチャを行った様子を示す説明図である。 表示面に対してユーザが1本の指で一本線を描くジェスチャを行った様子を示す説明図である。 表示面に対してユーザが1本の指で一本線を描くジェスチャを行った様子を示す説明図である。 表示面に対してユーザが1本の指で一本線を描くジェスチャを行った様子を示す説明図である。 表示面に対してユーザが1本の指で一本線を描くジェスチャを行った様子を示す説明図である。 表示面に対してユーザが1本の指で一本線を描くジェスチャを行った様子を示す説明図である。 表示面に対してユーザが1本の指で一本線を描くジェスチャを行った様子を示す説明図である。 表示面に対してユーザが1本の指で一本線を描くジェスチャを行った様子を示す説明図である。 表示面に対してユーザが2本の指で一本線を描くジェスチャを行った様子を示す説明図である。 表示面に対してユーザが2本の指で一本線を描くジェスチャを行った様子を示す説明図である。 表示面に対してユーザが1本の指で「L」字型の線を描くジェスチャを行った様子を示す説明図である。 表示面に対してユーザが1本の指で「L」字型の線を描くジェスチャを行った様子を示す説明図である。 表示面に対してユーザが1本の指で「L」字型の線を描くジェスチャを行った様子を示す説明図である。 表示面に対してユーザが1本の指で「L」字型の線を描くジェスチャを行った様子を示す説明図である。 パターンマッチングによってジェスチャを検出する際の例を示す説明図である。 パターンマッチングによってジェスチャを検出する際の例を示す説明図である。 対象割り当て部240によるジェスチャの割り当て処理を示す説明図である。 出力部130が出力するユーザインターフェースの例を示す説明図である。 2人のユーザA、Bがいずれも同じようなタイミングで表示面上にL字線を描いた場合の例を示す説明図である。 2人のユーザA、Bがいずれも同じようなタイミングで表示面上にL字線を描いた場合の例を示す説明図である。 2人のユーザA、Bがいずれも同じようなタイミングで表示面上にL字線を描いた場合の例を示す説明図である。 ユーザBがウインドウを触っている様子を示す説明図である。 2人のユーザA、Bがいずれも同じようなタイミングで表示面上にL字線を描いた場合の例を示す説明図である。 ジェスチャの前にウインドウを触っていたユーザBの方のジェスチャを優先させている例を示す説明図である。 ユーザがL字線を描くジェスチャを表示面上に行った様子を示す説明図である。 表示面上にメッセージが表示されていたり、軌跡が表示面上で振動していたりする様子を示す説明図である。 ユーザがL字線を描くジェスチャを表示面上に行った様子を示す説明図である。 メッセージが表示面に表示されている例を示す説明図である。 ユーザBがウインドウを操作している際に、ユーザAがL字線を描くジェスチャを行った様子を示す説明図である。 ウインドウが移動する様子を示す説明図である。 表示面上にメッセージが表示されていたり、軌跡が表示面上で振動していたりする様子を示す説明図である。 ユーザがL字線を表示面上に描いた様子を示す説明図である。 L字線を描くジェスチャによる効果がウインドウに与えられた様子を示す説明図である。 ユーザがL字線を表示面上に描いた様子を示す説明図である。 L字線を描くジェスチャによる効果がウインドウに与えられた様子を示す説明図である。 ユーザがL字線を表示面上に描いた様子を示す説明図である。 L字線を描くジェスチャによる効果がウインドウに与えられた様子を示す説明図である。 ユーザがL字線を表示面上に描いた様子を示す説明図である。 L字線を描くジェスチャによる効果がウインドウに与えられた様子を示す説明図である。 ユーザがL字線を表示面上に描いた様子を示す説明図である。 L字線を描くジェスチャによる効果がウインドウに与えられた様子を示す説明図である。 ユーザがL字線を表示面上に描いた様子を示す説明図である。 L字線を描くジェスチャによる効果がウインドウに与えられた様子を示す説明図である。 同実施形態に係る情報処理システムの動作例を示す流れ図である。 同実施形態に係る情報処理システムの動作例を示す流れ図である。 ハードウェア構成例を示す説明図である。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
1.本開示の実施の形態
1.1.システム構成例
1.2.機能構成例
1.3.動作例
2.ハードウェア構成例
3.まとめ
<1.本開示の実施の形態>
[1.1.システム構成例]
まず、本開示の実施の形態に係る情報処理システムの構成例を説明する。
図1は、本開示の一実施形態に係る情報処理システムの一構成例を示す説明図である。なお、本明細書において、システムとは、所定の処理を実行するための構成のことを意味していてよく、システム全体として1つの装置とみなすこともできるし、複数の装置によってシステムが構成されているとみなすこともできる。図1に示す本実施形態に係る情報処理システムも、情報処理システム全体として所定の処理を実行可能に構成されていればよく、情報処理システム内のどの構成を1つの装置とみなすかは任意であってよい。
図1を参照すると、本開示の一実施形態に係る情報処理システム100aは、入力部110aと、出力部130aと、を備える。
出力部130aは、各種の情報をテーブル140aに表示することにより、当該情報をユーザに対して視覚的に通知する。出力部130aとしては、例えばプロジェクタが用いられる。図示するように、出力部130aは、テーブル140aの上方に、例えば天井から吊り下げられた状態でテーブル140aと所定の距離離隔して配置され、テーブル140aの天面に情報を投影する。このように上方からテーブル140aの天面に情報を表示する方式を、「プロジェクション型」とも呼称する。
なお、以下の説明では、出力部130aによって情報が表示される領域全体のことを表示画面とも呼称する。例えば、出力部130aは、表示画面に、情報処理システム100aによるアプリケーションの実行に伴いユーザに対して提示される情報を表示する。表示される情報は、例えば各アプリケーションの動作画面である。以下では、表示画面において、このようなアプリケーションの動作画面が表示される各表示領域を、ウインドウとも呼称する。また、例えば、出力部130aは、表示画面に、ボタンやスライダー、チェックボックス、テキストボックス、キーボード等の、選択、入力等のユーザによる各種の操作を受け付ける、いわゆるGUI(Graphical User Interface)部品(ウィジェット)を表示する。ウインドウもGUI部品の1つとみなすことができるが、本明細書では、ウインドウとその他のGUI部品とを区別するために、便宜的に、ウインドウをGUI部品には含めず、ウインドウ以外の表示要素のことをGUI部品と呼ぶこととする。
ここで、情報処理システム100aがプロジェクション型である場合には、出力部130aは照明機器を含んでもよい。出力部130aに照明機器が含まれる場合、情報処理システム100aは、入力部110aによって入力された情報の内容及び/又は出力部130aによって表示される情報の内容に基づいて、当該照明機器の点灯、消灯等の状態を制御してもよい。
また、出力部130aは、スピーカを含んでもよく、各種の情報を音声として出力してもよい。出力部130aがスピーカで構成される場合、スピーカの数は1つであってもよく、複数であってもよい。出力部130aが複数のスピーカで構成される場合、情報処理システム100aは、音声を出力するスピーカを限定したり、音声を出力する方向を調整したりしてもよい。
入力部110aは、情報処理システム100aを使用するユーザの操作内容を入力する装置である。図1に示す例では、入力部110aは、センサ等を含んで構成され、テーブル140aの上方に、例えば天井から吊り下げられた状態で設けられる。このように、入力部110aは、情報が表示される対象となるテーブル140aと離隔して設けられる。入力部110aは、テーブル140aの天面、すなわち、表示画面を撮影し得る撮像装置によって構成され得る。入力部110aとしては、例えば1つのレンズでテーブル140aを撮像するカメラや、2つのレンズでテーブル140aを撮像して奥行き方向の情報を記録することが可能なステレオカメラ等が用いられ得る。入力部110aがステレオカメラである場合には、例えば可視光カメラや赤外線カメラ等が用いられ得る。
入力部110aとして、1つのレンズでテーブル140aを撮像するカメラが用いられる場合、情報処理システム100aは、そのカメラが撮像した画像(撮像画像)を解析することで、テーブル140a上に位置する物体、例えばユーザの手の位置を検出することができる。また、入力部110aとしてステレオカメラが用いられる場合には、情報処理システム100aは、当該ステレオカメラによる撮像画像を解析することで、テーブル140a上に位置する物体の位置情報に加えて、当該物体の深度情報を取得することができる。情報処理システム100aは、当該深度情報に基づいて、高さ方向におけるテーブル140aへのユーザの手の接触若しくは近接、及びテーブル140aからの手の離脱を検出することが可能となる。なお、以下の説明では、ユーザが情報に表示画面に手等の操作体を接触又は近接させることを、まとめて単に「接触」とも称する。
本実施形態では、入力部110aによる撮像画像に基づいて、表示画面上(すなわちテーブル140aの天面上)における操作体、例えばユーザの手の位置が検出され、検出された操作体の位置に基づいて各種の情報が入力される。つまり、ユーザは、表示画面上で操作体を動かすことにより、各種の操作入力を行うことができる。例えば、ウインドウその他のGUI部品に対するユーザの手の接触が検出されることにより、当該ウインドウその他のGUI部品に対する操作入力が行われることになる。なお、以下の説明では、一例として、操作体としてユーザの手が用いられる場合について説明するが、本実施形態はかかる例に限定されず、操作体としてはスタイラス等の各種の操作部材が用いられてもよい。
また、入力部110aが撮像装置によって構成される場合には、入力部110aは、テーブル140aの天面を撮影するだけでなく、テーブル140aの周囲に存在するユーザを撮影してもよい。例えば、情報処理システム100aは、撮像画像に基づいて、テーブル140aの周囲におけるユーザの位置を検出することができる。また、例えば、情報処理システム100aは、撮像画像に含まれるユーザの顔や体の大きさ等、ユーザ個人を特定し得る身体的な特徴を抽出することにより、ユーザの個人認識を行ってもよい。
ここで、本実施形態はかかる例に限定されず、他の方法によりユーザの操作入力が実行されてもよい。例えば、入力部110aがテーブル140aの天面にタッチパネルとして設けられてもよく、ユーザの操作入力は、当該タッチパネルに対するユーザの指等の接触によって検出されてもよい。また、入力部110aを構成する撮像装置に対するジェスチャによってユーザの操作入力が検出されてもよい。あるいは、入力部110aは、ユーザが発する音声や、周囲の環境の環境音を収音するマイクロフォン等の音声入力装置を含んでもよい。当該音声入力装置としては、特定の方向の音声を収音するためのマイクアレイが好適に用いられ得る。また、当該マイクアレイは、その収音方向を任意の方向に調整可能に構成され得る。入力部110aとして音声入力装置が用いられる場合には、収音された音声により操作入力が行われてもよい。また、情報処理システム100aは、収音された音声を解析することにより、当該音声に基づいて個人認識を行ってもよい。あるいは、入力部110aは、リモートコントロール装置(いわゆるリモコン)によって構成されてもよい。当該リモコンは、リモコンに配置された所定のボタンを操作することにより、所定の指示が入力されるものであってもよいし、リモコンに搭載される加速度センサやジャイロセンサ等のセンサによってリモコンの動きや姿勢が検出されることにより、ユーザが当該リモコンを動かす操作によって、所定の指示が入力されるものであってもよい。更に、情報処理システム100aは、図示しないマウス、キーボード、ボタン、スイッチ及びレバー等、他の入力装置を入力部110aとして備えてもよく、ユーザによる操作は、これらの入力装置を介して入力されてもよい。
以上、図1を参照して、本実施形態に係る情報処理システム100aの構成について説明した。なお、図1には図示しないが、情報処理システム100aには他の装置が接続されていてもよい。例えば、情報処理システム100aには、テーブル140aを照らすための照明機器が接続されていてもよい。情報処理システム100aは、表示画面の状態に応じて当該照明機器の点灯状態を制御してもよい。
ここで、本実施形態では、情報処理システムの構成は図1に示すものに限定されない。本実施形態に係る情報処理システムは、各種の情報を表示画面に表示する出力部と、表示された情報に対する操作入力を少なくとも受け付けることが可能な入力部を備えればよく、その具体的な構成は限定されない。図2−図4を参照して、本実施形態に係る情報処理システムの他の構成例について説明する。図2−図4は、本実施形態に係る情報処理システムの他の構成例を示す図である。
図2に示す情報処理システム100bでは、テーブル140bの下方に出力部130aが設けられる。出力部130aは、例えばプロジェクタであり、当該テーブル140bの天板に向かって下側から情報を投影する。テーブル140bの天板は、例えばガラス板や透明プラスチック板等の透明な材質で形成されており、出力部130aによって投影された情報は、テーブル140bの天面に表示されることとなる。このようにテーブル140bの下から情報を出力部130aに投影して、テーブル140bの天面に情報を表示する方式を、「リアプロジェクション型」とも称する。
図2に示す例では、テーブル140bの天面(表面)に入力部110bが設けられる。入力部110bは、例えばタッチパネルによって構成され、テーブル140bの天面の表示画面への操作体の接触が当該タッチパネルによって検出されることにより、ユーザによる操作入力が行われる。なお、入力部110bの構成はかかる例に限定されず、図1に示す情報処理システム100aと同様に、入力部110bは、テーブル140bの下方にテーブル140bと離隔して設けられてもよい。この場合、入力部110bは、例えば撮像装置によって構成され、透明な材質によって形成される天板越しに、テーブル140bの天面上での操作体の位置を検出し得る。
図3に示す情報処理システム100cでは、タッチパネル式のディスプレイが、その表示面を上方に向けた状態でテーブル上に設置される。情報処理システム100cでは、入力部110c及び出力部130cは、当該タッチパネル式のディスプレイとして一体的に構成され得る。つまり、ディスプレイの表示画面に各種の情報が表示され、当該ディスプレイの表示画面に対する操作体の接触がタッチパネルによって検出されることにより、ユーザによる操作入力が行われる。なお、情報処理システム100cにおいても、図1に示す情報処理システム100aと同様に、入力部110cとして、タッチパネル式のディスプレイの上方に撮像装置が設けられてもよい。当該撮像装置により、テーブルの周囲のユーザの位置等が検出され得る。
図4に示す情報処理システム100dは、フラットパネル式のディスプレイを備える。情報処理システム100dでは、出力部130dは、フラットパネル式のディスプレイとして構成され、当該ディスプレイの表示画面に各種の情報が表示される。入力部は、図示しないマウスやキーボード、タッチパッド等の入力装置によって構成され、これらの入力装置によって表示画面内のポインタが操作されることにより、ユーザによる操作入力が行われる。なお、図3に示す情報処理システム100cと同様に、情報処理システム100dの入力部は、フラットパネル式のディスプレイに設けられるタッチパネルを含んでもよく、当該タッチパネルを介してユーザによる操作入力が行われてもよい。また、当該入力部は、フラットパネル式のディスプレイの表示面と対向する領域を撮像し得る撮像装置を含んでもよい。当該撮像装置により、フラットパネル式のディスプレイを観察するユーザの位置等が検出され得る。
以上、図2−図4を参照して、本実施形態に係る情報処理システムの他の構成例について説明した。以上説明したように、本実施形態に係る情報処理システムは、多様な構成によって実現され得る。ここで、以下では、図1に示す、テーブル140aの上方に入力部110a及び出力部130aが設けられる情報処理システム100aの構成を例に挙げて、本実施形態についての説明を行う。ただし、上述した図2−図4に示す構成等、本実施形態に係る情報処理システムを実現し得る他の構成であっても、以下に説明する機能と同様の機能を実現することが可能である。以下の説明では、簡単のため、情報処理システム100a、入力部110a、出力部130aを、単に情報処理システム100、入力部110、出力部130とも呼称することとする。
以上、本開示の実施の形態に係る情報処理システム100の構成例について説明した。続いて、本開示の実施の形態に係る情報処理システム100の機能構成例について説明する。
[1.2.機能構成例]
図5は、本開示の実施の形態に係る情報処理システム100の機能構成例を示す説明図である。以下、図5を用いて本開示の実施の形態に係る情報処理システム100の機能構成について説明する。
図5に示したように、本開示の実施の形態に係る情報処理システム100は、入力部1110と、グラフィックス表示処理部120と、出力部130と、表示制御部200と、を含んで構成される。
入力部110は、情報処理システム100に対して各種の情報を入力するための入力インターフェースである。ユーザは、入力部110を介して、各種の情報を情報処理システム100に入力することができる。本実施形態では、入力部110は、出力部130によって生成される表示画面に対するユーザの操作入力を少なくとも受け付けることができるように構成される。例えば、入力部110は、イメージセンサを含む撮像装置によって構成され、表示画面上でのユーザの手等の操作体を含む撮像画像を撮影する。入力部110を介して入力された情報(例えば当該撮像画像についての情報等)は、後述する表示制御部200に提供され、表示制御部200によってユーザの操作入力が検出される。なお、本実施形態はかかる例に限定されず、入力部110は、例えばタッチパネル、マウス、キーボード、マイクロフォン、ボタン、スイッチ及びレバー等、他の入力装置によって構成されてもよい。
グラフィックス表示処理部120は、入力部110が受け付けたユーザの操作入力に基づき、出力部130に表示するグラフィックスの処理を行う。グラフィックス表示処理部120は、例えば、アプリケーションを表示するウインドウなどの様々なコンテンツの描画制御や、それぞれのコンテンツに対してユーザの操作入力などのイベントの提供を行う。本実施形態では、グラフィックス表示処理部120は、入力部110から受け付けたユーザの操作入力の内容を表示制御部200に提供する。そしてグラフィックス表示処理部120は、表示制御部200で行われた処理の内容を受け取り、その内容に基づいたグラフィックス処理を実行する。グラフィックス表示処理部120は、例えば画像処理回路を含んで構成される。
出力部130は、情報処理システム100によって処理される各種の情報をユーザに対して通知するための出力インターフェースである。出力部130は、例えば、ディスプレイやプロジェクタ等の表示装置によって構成され、後述する表示制御部200からの制御により、表示画面に各種の情報を表示する。出力部130は、上述したように、表示画面にウインドウ及びGUI部品を表示する。出力部130に表示されるウインドウ及びGUI部品等のことを「オブジェクト」とも称する。なお、本実施形態はかかる例に限定されず、出力部130は、スピーカ等の音声出力装置を更に含んでもよく、各種の情報を音声として出力してもよい。
表示制御部200は、入力部110が受け付けたユーザの操作入力に基づいた処理を実行する。本実施形態では、表示制御部200は、入力部110が受け付けたユーザの操作入力に基づいてジェスチャを検出し、そのジェスチャに基づいた効果をオブジェクトに対して与える処理を実行する。表示制御部200は、例えばCPU等の制御回路と制御回路を動作させるプログラムを格納するメモリを含んで構成される。
表示制御部200は、ジェスチャ定義蓄積部210と、ジェスチャ検出部220と、操作対象検出部230と、対象割り当て部240と、効果発動部250と、を含んで構成される。
ジェスチャ定義蓄積部210は、入力部110が受け付けたユーザの操作入力をジェスチャとして認識するための定義を、所定の形式で格納する。図6は、ジェスチャ定義蓄積部210が蓄積する情報の例を示す説明図である。図6では、3種類のジェスチャについて、指の本数、後述する認識パターンマスク、効果、対象の定義が示されている。効果については、位置、大きさ、回転の3種類が規定されており、丸が付いている効果がそのジェスチャによって発揮されることを意味している。
上段のジェスチャは、ユーザが1本の指で直線に近い一本線を描くものである。このジェスチャは、後述するように、出力部130によって表示されており、その線の範囲内において存在するオブジェクトを、その線に沿って整列させるものである。上段のジェスチャによって、オブジェクトの回転及び移動は行われうるが、大きさの変更は行われない。従って、図6に示したように、上段のジェスチャでは、「効果」の列において「位置」及び「回転」のみに丸が付いている。
中段のジェスチャは、ユーザが2本の指で直線に近い一本線を描くものである。このジェスチャは、後述するように、出力部130によって表示されている全てのオブジェクトを、その線に沿って整列させるものである。中段のジェスチャによって、オブジェクトの回転及び移動は行われうるが、大きさの変更は行われない。従って、図6に示したように、中段のジェスチャでは、「効果」の列において「位置」及び「回転」のみに丸が付いている。
下段のジェスチャは、ユーザが1本の指である方向に線を引いた後、その方向に垂直の方向にさらに線を描くものである。言い換えれば、下段のジェスチャは、ユーザが「L」の字を描くようなものである。このジェスチャは、後述するように、出力部130によって表示されているオブジェクトのうち、例えばユーザの操作位置に最も近いオブジェクトを、その線に沿って配置させるものである。下段のジェスチャによって、オブジェクトの回転、大きさの変更及び移動が行われうる。従って、図6に示したように、下段のジェスチャでは、「効果」の列において「位置」、「大きさ」及び「回転」の全てに丸が付いている。
なお、図6では3種類のジェスチャについての定義が示されているが、情報処理システム100が解釈可能なジェスチャは係る例に限定されるものでは無い。
ジェスチャ検出部220は、入力部110が受け付けたユーザの操作入力を用いてジェスチャの成立の有無を検出する。本実施形態では、ジェスチャ検出部220は、ジェスチャ定義蓄積部210に蓄積されている認識パターンマスクとのマッチングによって、ジェスチャの成立の有無を検出する。
図7A〜7Dは、ジェスチャ検出部220によるジェスチャの検出手法の例を示す説明図である。図7Aは、ユーザが表示画面に対して、あるジェスチャに対応する操作を行った例を示す説明図である。図7Aでは、ユーザが逆「L」字となるように一本指を表示画面上で移動させた様子が示されている。
図7B〜7Dは、ジェスチャ検出部220による、認識パターンマスクを用いたジェスチャの検出処理を示したものである。ジェスチャ検出部220は、まず、図7Bに示したように、表示画面の左上から右方向に認識パターンマスクを走査させ、右端まで操作すると、次の行で左から右方向へ認識パターンマスクを走査させる。そして、ジェスチャ検出部220は、最終的に図7Dに示したように、表示画面の右下まで認識パターンマスクを走査させると、ユーザの行った操作が認識パターンマスクと所定の比率以上合致する箇所が存在するかどうかを判断する。例えば、図7Cに示したように、ユーザの行った操作が認識パターンマスクと所定の比率以上合致していれば、ジェスチャ検出部220は、認識パターンマスクに対応するジェスチャをユーザが行ったと判断することができる。なお、ユーザが「L」字型の線を描く際には、「L」字を構成する2本の線のなす角度が完全に90度になっていなくてもよい。例えば、「L」字を構成する2本の線のなす角度が85度〜95度などの所定の角度範囲であっても、ジェスチャ検出部220は、認識パターンマスクを用いることで、ユーザが「L」字型の線を描いたと判断することができる。
なお、本実施形態では、ジェスチャ検出部220は認識パターンマスクとのマッチングによって、ジェスチャの成立の有無を検出しているが、本開示は係る例に限定されるものでない。例えば、ジェスチャ検出部220は、ユーザの指の動きを逐次追跡することで、ジェスチャの成立の有無を検出しても良い。また例えば、ジェスチャ検出部220は、機械学習によって習得したユーザ毎のジェスチャの癖などから、ジェスチャの成立の有無を検出しても良い。
操作対象検出部230は、ユーザが行ったジェスチャによる効果を受け付けるのが、表示面上のどのオブジェクトなのかを検出する。以下、具体例を挙げて操作対象検出部230の動作について説明する。なお、実際の表示面には、ユーザが描いた線は描画されていなくても良いし、描画されてもよい。ユーザが描いた線が描画される場合には、所定の時間が経過した後に、その線が消えても良い。消える際には、一瞬で消えても良く、じわじわと消えても良い。またじわじわと消える際には、先に描いたところから順次消えても良い。以下の説明で用いる図面には、便宜上、ユーザが指を使って描いた線の軌跡が描かれているものとする。
(1)ユーザが1本の指で一本線を描く
本実施形態では、ユーザが1本の指で一本線を描くジェスチャは、出力部130によって表示面に表示されており、その線の範囲内において存在するオブジェクトを、その線に沿って整列させるものである。図8A、8Bは、表示面に対してユーザが1本の指で一本線を描くジェスチャを行った様子を示す説明図である。ユーザがこのジェスチャを行うと、図8Aのように乱雑に並んでいたウインドウ301〜303のうち、ウインドウ302、303が、図8Bに示すように、ユーザが描いた線に沿って整列する。なお、ウインドウの描画はグラフィックス表示処理部120が行いうる。整列の際には、それぞれのウインドウは、線に近い辺が下になるように整列される。ウインドウ302、303は、必要に応じて回転される。ユーザがこのジェスチャを行うと、操作対象検出部230は、ユーザが描いた線を直線とみなし、その直線の垂線上に重心があるウインドウを、効果の対象として検出する。
なお、対象のウインドウが重なって表示されている場合は、ユーザが1本の指で一本線を描くジェスチャに応じた整列の際にそれらのウインドウが重ならないように整列されてもよい。図8C、8Dは、表示面に対してユーザが1本の指で一本線を描くジェスチャを行った様子を示す説明図である。この例では、図8Cのように重なって表示されていたウインドウ302、303が、図8Dのようにジェスチャによって重ならないように整列される様子が示されている。
また、ユーザが1本の指で一本線を描くジェスチャに応じた整列の際に、一本線の垂線上に複数のウインドウが存在していれば、それらのウインドウが重なるように整列されてもよい。図8E、8Fは、表示面に対してユーザが1本の指で一本線を描くジェスチャを行った様子を示す説明図である。この例では、図8Eのように一本線の垂線上に複数のウインドウ301、302、303が、図8Fのようにジェスチャによって重なるように整列される様子が示されている。この際、図8Fに示したように、面積が大きいウインドウが下になるように重なって整列されてもよい。
ユーザがジェスチャを描く位置は表示面の端部付近とは限らない。図8Gは、ユーザが表示面の中央付近で1本の指で一本線を描くジェスチャを行った様子を示す説明図である。このような位置でジェスチャを行った場合、移動対象のウインドウはウインドウ302、303になるが、ウインドウ302は一本線の下側に、ウインドウ303は一本線の上側に、それぞれ移動されても良い。図8Hは、ウインドウ302、303が、ユーザが引いた一本線に沿って整列している様子を示す説明図である。
(2)ユーザが2本の指で一本線を描く
本実施形態では、ユーザが2本の指で一本線を描くジェスチャは、出力部130によって表示面に表示されている全てのオブジェクトを、その線(及び線の延長線上)に沿って整列させるものである。図9A、9Bは、表示面に対してユーザが2本の指で一本線を描くジェスチャを行った様子を示す説明図である。ユーザがこのジェスチャを行うと、図9Aのように乱雑に並んでいたウインドウ301〜303が、図9Bに示すように、ユーザが描いた線に沿って整列する。整列の際には、それぞれのウインドウは、線に近い辺が下になるように整列される。ウインドウ301〜303は、必要に応じて回転される。ユーザがこのジェスチャを行うと、操作対象検出部230は、表示面に表示されている全てのウインドウを、効果の対象として検出する。
なお、対象のウインドウが重なって表示されている場合は、1本の指でのジェスチャのときと同様に、ユーザが2本の指で一本線を描くジェスチャに応じた整列の際にそれらのウインドウが重ならないように整列されてもよい。
(3)ユーザが1本の指で「L」字型の線を描く
本実施形態では、ユーザが1本の指で「L」字型の線を描くジェスチャは、出力部130によって表示面に表示されているオブジェクトの内、線に最も近いオブジェクトを、その線に沿う位置に移動させるものである。すなわち、ユーザが1本の指で表示面上のある方向に1画目の線を描き、指を表示面に付けたまま、その線に対して略垂直方向に2画目の線を描く操作を「L」字型の線を描くジェスチャとする。図10A、10Bは、表示面に対してユーザが1本の指で「L」字型の線を描くジェスチャを行った様子を示す説明図である。ユーザがこのジェスチャを行うと、図10Aのように表示されていたウインドウ311、312のうち、線に最も近いウインドウ312が、図10Bの様に移動する。この際、ユーザが描いた2画目の線に近い辺が下になるように、ウインドウ312が移動する。「L」字型の線を描くジェスチャが行われると、ウインドウの表示内容が、写真、ビデオなどの上下方向があるコンテンツである場合、2画目を描く方向がコンテンツ表示の上方向になるよう、ウインドウが移動する。すなわち、自分に対して正対するL字を描けば自分を基準とした上下方向が設定され、机の反対にいる相手に正対する方向にL字を描けば相手を基準とした上下方向が設定される。このように「L」字型の線を描くジェスチャの効果として、「L」字の描き方によって、簡単に表示面の向こう側にいる相手を基準としたオブジェクトの配置が可能となる。ウインドウ312は、必要に応じて回転及び拡大または縮小される。ユーザがこのジェスチャを行うと、操作対象検出部230は、線に最も近いウインドウを、効果の対象として検出する。
ユーザが1本の指で「L」字型の線を描くジェスチャを行った際に、その線に最も近いオブジェクトの表示位置が固定されていれば、そのオブジェクトではなく、線に2番目に近いオブジェクトが、その線に沿う位置に移動される。図11A、11Bは、表示面に対してユーザが1本の指で「L」字型の線を描くジェスチャを行った様子を示す説明図である。この場合、線に近いウインドウはウインドウ321であるが、そのウインドウ321は表示位置が固定されている。従って、操作対象検出部230は、ウインドウ321ではなく、線に2番目に近いウインドウであるウインドウ322を、効果の対象として検出する。
このように、それぞれのジェスチャに対して、操作対象となる条件を設定したり、その条件を無視する条件を設定したりすることで、本開示の実施の形態に係る情報処理システム100は、ユーザのジェスチャに応じた表示処理を実現することが出来る。
対象割り当て部240は、ジェスチャ検出部220が検出したジェスチャと、操作対象検出部230が検出した対象のオブジェクトの割り当て処理を行う。すなわち、対象割り当て部240は、どのジェスチャがどの操作対象のオブジェクトへ影響を及ぼすかを判定する。
まず対象割り当て部240は、ユーザが表示面上に描いた線によって、一意にジェスチャが決定できるかどうかを判定する。例えば、ユーザが表示面上に描いた線が一本線なのかL字の線なのかが曖昧な場合に、すなわち、ユーザが描いた線に対応するジェスチャの候補が複数存在する場合に、対象割り当て部240は、その曖昧さを解決する曖昧ジェスチャ解決処理を行う。
図12A、12Bは、パターンマッチングによってジェスチャを検出する際の例を示す説明図である。認識パターンマスクが縦5セル、横10セルの計50セルによって構成されている場合(なお、セルとは所定の数のピクセルの集合であるとする)、一本線の認識パターンマスクにも、L字線の認識パターンマスクにも、いずれも98%(50セル中49セル)の割合で合致している。従って、この場合は、対象割り当て部240はユーザが描いた線が一本線なのかL字線なのかを判別することが出来ない。もちろん、このように2つの認識パターンマスクに合致する割合が完全に一致することは稀であるが、一般的にはジェスチャ定義には遊びを持たせることがあり、合致する割合の差が数%しか無いような場合もあり、そのような場合でも、対象割り当て部240は一意にジェスチャを決定することは出来ない。
認識パターンマスクへの合致度合いでは一意にジェスチャを決定することが出来ない場合、対象割り当て部240は、どのジェスチャも成立させないという処理も可能である。一方、一意にジェスチャを決定することが出来ない場合、対象割り当て部240は、ジェスチャ定義蓄積部210に蓄積されている定義の内、共通する効果のみを選択して、その効果を対象のオブジェクトに与えてもよい。例えば、図6を参照すると、一本線のジェスチャとL字線のジェスチャとで共通する効果は、「位置」及び「回転」である。従って、対象割り当て部240は、「位置」及び「回転」の効果のみを対象のオブジェクトに与えてもよい。図13は、対象割り当て部240によるジェスチャの割り当て処理を示す説明図である。一意にジェスチャを決定することが出来ない場合、対象割り当て部240は、L字線のジェスチャによる効果の内、「位置」及び「回転」の効果のみを対象のウインドウ331に与えてもよい。
一意にジェスチャを決定することが出来ない場合、対象割り当て部240は、ユーザに利用したい効果を選択させても良い。図14は、一意にジェスチャを決定することが出来ない場合に、出力部130が出力するユーザインターフェースの例を示す説明図である。ユーザが、利用したい方のジェスチャを選択すると、グラフィックス表示処理部120は、そのジェスチャに応じた処理を実行する。
本実施形態に係る情報処理システム100は、複数のユーザが同時に操作するケースもある。対象割り当て部240は、複数人がジェスチャを行った際に、どのジェスチャを優先させるかを判断する。
図15Aは、2人のユーザA、Bがいずれも同じようなタイミングで表示面上にL字線を描いた場合の例を示す説明図である。このように、2人のユーザが同じようなタイミングで表示面上にL字線を描いた場合、対象割り当て部240は、例えば先に線を描き終えたユーザの方を優先させてもよい。図15Bは、先に線を描き終えたユーザAの方のジェスチャを優先させている例を示す説明図である。対象割り当て部240は、先に線を描き終えたユーザAの方のジェスチャを優先させる。従って、ウインドウ341に対して効果が適用されるのはユーザAの方のジェスチャとなっている。
2人のユーザが同じようなタイミングで表示面上にL字線を描き、描き終えた時間に有意差がなく、どちらが先に線を書き終えたかの判定が困難である場合は、対象割り当て部240は、重心に近い方の線を描いたユーザの方を優先させてもよい。図15Cは、ウインドウ341の重心に近い方の線を描いたユーザAの方のジェスチャを優先させている例を示す説明図である。対象割り当て部240は、ウインドウ341の重心に近い方の線を描いたユーザAの方のジェスチャを優先させる。従って、ウインドウ341に対して効果が適用されるのはユーザAの方のジェスチャとなっている。
2人のユーザが同じようなタイミングでジェスチャを行った場合は、対象割り当て部240は、ジェスチャを行う前に誰が対象のオブジェクトを利用(操作)していたかを判断の基準として用いても良い。例えば図16Aに示したようにユーザBがウインドウ351を触っていたことが検出されていれば、図16Bに示したようにユーザA、Bが同じようなタイミングでL字線を描くジェスチャを行って、同時にL字線を描き終えたとしても、対象割り当て部240は、ウインドウ351の重心に近い方の線を描いたユーザAの方のジェスチャではなく、その前にウインドウ351を触っていたユーザBの方のジェスチャを優先させても良い。図16Cは、ジェスチャの前にウインドウ351を触っていたユーザBの方のジェスチャを優先させている例を示す説明図である。
なお、最後にどのユーザが触っていたかの情報は、情報処理システム100に常に保持されていなくても良い。例えば、最後に誰かが触った後に10秒以上誰も触っていないオブジェクトは、対象割り当て部240は、そのオブジェクトは誰も触っていないものとして、オブジェクトに近い方のジェスチャを優先させるようにしても良い。
この他にも、対象割り当て部240は、例えばオブジェクトが重なっていれば、上のレイヤのオブジェクトを優先してもよく、またジェスチャを行ったユーザの方を向いているオブジェクトを優先してもよい。
本実施形態では、L字線を描くジェスチャによる効果が適用されるのは、線に最も近いオブジェクトである。しかし、ユーザがL字線を描いた場所によっては、どのオブジェクトに効果を適用して良いか判断できない場合がある。図17Aは、表示面に2つのウインドウ361、362が表示されている状態でユーザがL字線を描くジェスチャを表示面上に行った様子を示す説明図である。この場合において、L字線のジェスチャを適用した場合の、ウインドウ361の重心の移動量は600ピクセル、ウインドウ362の重心の移動量は610ピクセルであるとする。厳密には、移動量の少ないウインドウ361が効果の適用対象になるが、もしかしたら、ユーザはウインドウ362を効果の適用対象と考えてジェスチャを行ったかもしれない。
このように、オブジェクトの移動量に有意差がなく、ユーザがどのオブジェクトを操作対象としてジェスチャを行ったのか分からない場合、すなわち、操作対象となるオブジェクトの候補が複数存在する場合に、対象割り当て部240は、オブジェクトの曖昧さを解決する曖昧操作対象解決処理を行う。例えば、対象割り当て部240は、最も近いオブジェクトを操作対象と決定しても良いが、他に、操作対象が複数存在している旨のメッセージを表示させたり、ユーザが描いた軌跡を表示面上で振動させたりして、操作対象のオブジェクトを一意に決定できない旨をユーザに伝えても良い。図17Bは、表示面上にメッセージが表示されていたり、軌跡が表示面上で振動していたりする様子を示す説明図である。例えば、対象割り当て部240は、操作対象が複数存在している旨のメッセージ363を表示させて、ユーザに改めてジェスチャを行わせるよう促しても良い。また対象割り当て部240は、操作対象が複数存在していることを軌跡の振動でユーザに伝えて、ユーザに改めてジェスチャを行わせるよう促しても良い。
オブジェクトの移動量に有意差がなく、ユーザがどのオブジェクトを操作対象としてジェスチャを行ったのか分からない場合、対象割り当て部240は、対象のウインドウがどれなのかをユーザに選択させても良い。図18Aは、図17Aと同様に、表示面に2つのウインドウ361、362が表示されている状態でユーザがL字線を描くジェスチャを表示面上に行った様子を示す説明図である。この場合も、図17Aと同様に、オブジェクトの移動量に有意差がなく、ユーザがどのオブジェクトを操作対象としてジェスチャを行ったのか分からないものとする。この場合において、対象割り当て部240は、ジェスチャの効果を適用する対象のウインドウがどれなのかをユーザに選択させるためのメッセージを表示面上に表示させても良い。図18Bは、ジェスチャの効果を適用する対象のウインドウがどれなのかをユーザに選択させるためのメッセージが表示面に表示されている例を示す説明図である。対象割り当て部240は、このようなメッセージを表示させることで、対象のウインドウがどれなのかをユーザに選択させることができる。
対象割り当て部240は、ユーザがジェスチャを行った際に、本来の操作対象が別のユーザに操作されている場合にも、柔軟に操作対象を決定することが出来る。例えば、L字線を描くジェスチャは、軌跡に最も近いオブジェクトが効果の適用対象となる。しかし、そのオブジェクトが別のユーザによって操作されている際にそのオブジェクトを移動させてしまうと、操作していたユーザのユーザビリティが損なわれてしまう。そこで対象割り当て部240は、ジェスチャを行ったユーザとは異なるユーザが操作しているオブジェクトは効果の適用対象から除外しても良い。
図19Aは、ユーザBがウインドウ371を操作している際に、ユーザAがL字線を描くジェスチャを行った様子を示す説明図である。本実施形態におけるジェスチャのルールに従えば、ユーザAがL字線を描くことでウインドウ371が移動する。しかし、ウインドウ371はユーザBが操作しており、ウインドウ371を移動させてしまうとユーザBは困惑してしまう。そこで対象割り当て部240は、ユーザBが操作しているウインドウ371を効果の適用対象から除外する。図19Bは、ウインドウ371が効果の適用対象から除外され、次にジェスチャの軌跡に近いウインドウ372が移動する様子を示す説明図である。
同様の現象が発生した場合に、対象割り当て部240は、ウインドウ372を移動させるのではなく、操作対象のウインドウは他のユーザによって操作されている旨のメッセージを表示させたり、ユーザが描いた軌跡を表示面上で振動させたりして、操作対象のオブジェクトを動かすことができない旨をユーザに伝えても良い。図19Cは、表示面上にメッセージが表示されていたり、軌跡が表示面上で振動していたりする様子を示す説明図である。例えば、対象割り当て部240は、操作対象のウインドウが他のユーザによって操作されている旨のメッセージ373を表示させて、ユーザに改めてジェスチャを行わせるよう促しても良い。また対象割り当て部240は、操作対象のウインドウが他のユーザによって操作されていることを軌跡の振動でユーザに伝えて、ユーザに改めてジェスチャを行わせるよう促しても良い。
効果発動部250は、ジェスチャ検出部220が検出したジェスチャと、操作対象検出部230が検出した操作対象とに基づいて、表示面上のオブジェクトにする効果を適用する処理を行う。例えば効果発動部250は、ジェスチャの内容及び操作対象に関する情報をグラフィックス表示処理部120に伝えて、グラフィックス表示処理部120に実際の画像処理を行わせる。グラフィックス表示処理部120は、効果発動部250からの情報に基づいて、ウインドウの、移動、拡大または縮小、回転などの処理を実行する。
図20Aは、ユーザがL字線を表示面上に描いた様子を示す説明図である。この場合、ジェスチャ検出部220はL字線を描くジェスチャが行われたことを検出し、操作対象検出部230は、ウインドウ381が、そのジェスチャに対する操作対象であることを検出する。効果発動部250は、L字線を描くジェスチャによる効果を、ウインドウ381に対して適用するようグラフィックス表示処理部120に通知する。通知を受けたグラフィックス表示処理部120は、ウインドウ381に対するグラフィックス処理(ここでは、移動、回転、縮小)を実行する。図20Bは、L字線を描くジェスチャによる効果がウインドウ381に与えられた様子を示す説明図である。
効果発動部250は、ジェスチャの内容及び操作対象に関する情報をグラフィックス表示処理部120に伝える前に、ユーザの入力意図を汲み取るために、必要に応じて効果を適用する際に用いるグラフィックス処理関連のパラメータの補正を行う。
例えば、表示面上に物理的な物体が置かれており、その物体に沿ってユーザがL字線を描くジェスチャを行ったケースを想定する。図21Aは、ユーザがL字線を表示面上に描いた様子を示す説明図である。この場合、ジェスチャ検出部220はL字線を描くジェスチャが行われたことを検出し、操作対象検出部230は、ウインドウ381が、そのジェスチャに対する操作対象であることを検出する。しかし、表示面には直方体の物体382が置かれおり、そのままウインドウ381を移動させてしまうとウインドウ381の視認性が悪くなってしまう。なお、表示面上の物体の有無や、物体の位置、高さの情報は入力部110が取得する。
そこで効果発動部250は、移動、回転および変形後のウインドウ381と、物体382の表面とが所定値以上重なっていれば、ウインドウ381を物体382の表面に重なるよう移動させることを決定する。図21Bは、L字線を描くジェスチャによる効果が、物体382の表面に重なるようにウインドウ381に与えられた様子を示す説明図である。このようにウインドウ381を移動させることで、効果発動部250は、ウインドウ381の視認性を維持できる。このように物体の位置を考慮した効果の適用は、情報処理システム100が黒いテーブル上に画像を投影するものである場合に、白いナプキンの上だけにオブジェクトを投影するときにも利用できる。
また例えば、表示面上に物体が置かれており、その物体の間でユーザがL字線を描くジェスチャを行ったケースを想定する。図22Aは、ユーザがL字線を表示面上に描いた様子を示す説明図である。この場合、ジェスチャ検出部220はL字線を描くジェスチャが行われたことを検出し、操作対象検出部230は、ウインドウ381が、そのジェスチャに対する操作対象であることを検出する。しかし、表示面には直方体の物体383、384が置かれおり、そのままウインドウ381を移動させてしまうとウインドウ381の視認性が悪くなってしまう。なお、表示面上の物体の有無や、物体の位置、高さの情報は入力部110が取得する。
そこで効果発動部250は、移動、回転および変形後のウインドウ381と、物体383、384の表面とが所定値以上重なっていれば、ウインドウ381を物体383、384の隙間に移動させることを決定する。図22Bは、L字線を描くジェスチャによる効果が、物体383、384の隙間に移動させるようにウインドウ381に与えられた様子を示す説明図である。このようにウインドウ381を移動及び縮小させることで、効果発動部250は、ウインドウ381の視認性を維持できる。
効果発動部250は、表示面上に物体が置かれている場合には、効果を適用する際に用いるグラフィックス処理関連のパラメータを、物体の表面積の大きさや、数、置かれている位置などに応じて補正しても良い。例えば、図21A、21Bに示した物体382のように、形状が平面状で、表面と、移動後の対象のオブジェクトとの重なりが所定の割合以上である場合には、効果発動部250は、物体の表面にオブジェクトを重ねるよう、パラメータを補正してもよい。また例えば、図21A、21Bに示した物体382のように、複数の物体が表示面上に置かれ、その物体の間でジェスチャがなされたものである場合には、効果発動部250は、その物体の間にオブジェクトが移動するよう、パラメータを補正してもよい。
効果発動部250は、ジェスチャを行ったユーザの指の向きや腕の付け根の位置をユーザが存在する向きとみなし、そのユーザの向きに合わせてパラメータを補正してもよい。図23Aは、ユーザがL字線を表示面上に描いた様子を示す説明図である。この場合、ジェスチャ検出部220はL字線を描くジェスチャが行われたことを検出し、操作対象検出部230は、ウインドウ381が、そのジェスチャに対する操作対象であることを検出する。
そして、効果発動部250は、入力部110が認識した、ジェスチャを行ったユーザの指の向きや腕の付け根の位置の情報を用いて、ウインドウ381の回転角のパラメータを補正してもよい。通常であれば、ユーザがL字線を表示面上に描くと、対象のウインドウはL字線に沿うように移動されるが、ジェスチャを行ったユーザの指の向きや腕の付け根の位置の情報から、ユーザが表示面の角付近にいると推測されれば、効果発動部250は、そのユーザによって操作しやすいよう、ウインドウ381の回転角を補正する。図23Bは、L字線を描くジェスチャによる効果がウインドウ381に与えられた様子を示す説明図である。効果発動部250は、ジェスチャを行ったユーザが操作しやすいようウインドウ381の回転角を補正することで、図23Bに示したように、ユーザが操作しやすいようにウインドウ381を移動させることができる。
効果発動部250は、ジェスチャの軌跡に沿うようオブジェクトを移動させるか、ユーザの位置に合わせて回転角を補正させるか、の判断を、ジェスチャの軌跡とユーザの向きとの角度差を用いて行っても良い。効果発動部250は、例えば、図23Bに示した角度θが所定値以上である場合には、ユーザの位置に合わせて回転角を補正し、上記所定値未満である場合には、ジェスチャの軌跡に沿うようオブジェクトを移動させてもよい。
効果発動部250は、ユーザの位置が表示面の端部に近い位置にいることが分かれば、オブジェクトを表示面の端部に沿った位置に移動させるよう、オブジェクトの回転角のパラメータを補正しても良い。図24Aは、ユーザがL字線を表示面上に描いた様子を示す説明図である。この場合、ジェスチャ検出部220はL字線を描くジェスチャが行われたことを検出し、操作対象検出部230は、ウインドウ381が、そのジェスチャに対する操作対象であることを検出する。
そして、効果発動部250は、入力部110が認識した、ジェスチャを行ったユーザの指の向きや腕の付け根の位置の情報を用いて、ウインドウ381の回転角のパラメータを補正してもよい。通常であれば、ユーザがL字線を表示面上に描くと、対象のウインドウはL字線に沿うように移動されるが、ジェスチャを行ったユーザの指の向きや腕の付け根の位置の情報から、ユーザが表示面の角付近にいると推測されれば、ウインドウ381を表示面の端部に沿った位置に移動させるよう、ウインドウ381の回転角のパラメータを補正する。図24Bは、L字線を描くジェスチャによる効果がウインドウ381に与えられた様子を示す説明図である。効果発動部250は、ウインドウ381を表示面の端部に沿った位置に移動させるよう、ウインドウ381の回転角のパラメータを補正することで、図24Bに示したように、表示面の端部に沿ってウインドウ381を移動させることができる。
その他、ユーザがジェスチャを行った際に、どのようにオブジェクトを移動させるか、言い換えれば、効果発動部250がどのようにパラメータを補正するかは、例えば機械学習によって習得したユーザの傾向などを用いてもよい。あるユーザは、特定のウインドウを決まった位置に置いて使用していることが多いことが分かれば、そのユーザがジェスチャを行い、そのウインドウが対象となっていれば、効果発動部250は、その特定のウインドウが決まった位置に移動するようパラメータを補正してもよい。
ジェスチャを行うユーザの指の高さ方向の角度を入力部110が検出できる場合、効果発動部250は、その指の高さ方向の角度に応じて効果の適用時のパラメータを補正しても良い。以下では一例として、表示面上に角度のついた物体が置かれており、その物体にオブジェクトを移動される場合について説明する。
図25Aは、ユーザがL字線を表示面上に描いた様子を示す説明図である。この場合、ジェスチャ検出部220はL字線を描くジェスチャが行われたことを検出し、操作対象検出部230は、ウインドウ391が、そのジェスチャに対する操作対象であることを検出する。しかし、そのままウインドウ391をL字線の傍に移動させると、ウインドウ391は表示面上に置かれた物体392と重なってしまう。この物体392は、平面状ではなく表示面から所定の角度がついた物体であるとする。
この場合、ユーザが指を表示面に付けたまま表示面に対する指の角度を変える動作(例えば、ユーザが指を表示面に付けたまま手のひら部分を上げる動作)が検出されると、効果発動部250は、ウインドウ391をその動作に応じて変形させるように、パラメータを補正しても良い。その変形は、ウインドウ391の下辺を固定させた状態で、上辺の長さを変えることで、ウインドウ391の形状を長方形(または正方形)にしたり、台形にしたりするような変形である。
図25Bは、ユーザがL字線を表示面上に描いた後に、指を表示面に付けたまま前に倒した様子を示す説明図である。ユーザが指を表示面に付けたまま前に倒したことが検出されると、効果発動部250は、その動作に応じて、物体392の表面に表示されているウインドウ391を変形させるようにパラメータを補正する。効果発動部250は、このようにウインドウ391を変形させるようにパラメータを補正することで、角度が付いた物体392の表面にウインドウ391の形状を合わせることができる。
本開示の判定部は、例えばジェスチャ検出部220や対象割り当て部240が該当し、本開示の効果決定部は、例えば操作対象検出部230、対象割り当て部240、効果発動部250が該当する。
以上、本開示の実施の形態に係る情報処理システム100の機能構成例について説明した。続いて、本開示の実施の形態に係る情報処理システム100の動作例について説明する。
[1.3.動作例]
図26A、26Bは、本開示の実施の形態に係る情報処理システム100の動作例を示す流れ図である。以下、図26A、26Bを用いて本開示の実施の形態に係る情報処理システム100の動作例について説明する。
情報処理システム100は、ユーザの表示面に対する入力を検出すると(ステップS101)、ユーザの入力が確定したかどうか判断する(ステップS102)。ユーザの入力が確定していなければ(ステップS102、No)、情報処理システム100はステップS101のユーザの入力の検出処理に戻る。ユーザの入力が確定していれば(ステップS102、Yes)、ジェスチャ定義蓄積部210からジェスチャ定義情報を取得する(ステップS103)。情報処理システム100は、例えば、ユーザが表示面へのタッチ操作を行っていて、指が離れたことをもってユーザ入力が確定したと判断しても良く、また、ユーザの指の位置に所定時間以上変化がなければユーザ入力が確定したと判断しても良い。ユーザの入力が確定したかどうかの判断は、これらの例に限定されるものではない。また、情報処理システム100は、ユーザの入力内容によっては、入力の確定を待たずにジェスチャを確定させても良い。例えば、ジェスチャ定義蓄積部210に蓄積されているジェスチャ定義の中で、指2本の入力によるジェスチャが1つしかなければ、ユーザが指2本で表示面に対する操作を行っていれば、情報処理システム100は、その1つしかない指2本の入力によるジェスチャが行われていると判断し、入力の確定前に後述のジェスチャ検出処理に移行しても良い。
情報処理システム100は、ジェスチャ定義蓄積部210からジェスチャ定義情報を取得すると、続いて、取得したジェスチャ定義情報を用いて、ジェスチャの定義分のジェスチャ検出処理を開始する(ステップS104)。全てのジェスチャ定義に対してジェスチャ検出処理が完了していなければ(ステップS104、No)、情報処理システム100は、ジェスチャ検出部220によるジェスチャ検出処理を実行し(ステップS105)、あるジェスチャ定義に対するジェスチャ検出処理が完了すると、次のジェスチャ定義に対する処理に移る(ステップS106)。ジェスチャ検出部220によるジェスチャ検出処理は上述した通りであり、ここでは詳細な説明は割愛する。
全てのジェスチャ定義に対して処理が完了すれば(ステップS104、Yes)、続いて情報処理システム100は、表示されている全てのオブジェクトに対する操作対象検出処理を開始する(ステップS107)。全てのオブジェクトに対して操作対象検出処理が完了していなければ(ステップS107、No)、情報処理システム100は、操作対象検出部230による操作対象検出処理を実行し(ステップS108)、あるオブジェクトに対する処理が完了すると、次のオブジェクトに対する処理に移る(ステップS109)。操作対象検出部230による操作対象検出処理は上述した通りであり、ここでは詳細な説明は割愛する。操作対象検出処理の順序は、例えば、オブジェクトに付与されたIDの昇順であってもよく、オブジェクトの重心位置が表示面の左上にあるものから順次行われるようにしても良い。
全てのオブジェクトに対して処理が完了すれば(ステップS107、Yes)、情報処理システム100は、対象割り当て部240による、ジェスチャが一意に確定したかどうかの判断処理を行う(ステップS110)。ジェスチャが一意に確定していなければ、情報処理システム100は、対象割り当て部240による、曖昧ジェスチャ解決処理を行う(ステップS111)。対象割り当て部240による曖昧ジェスチャ解決処理は上述した通りであり、ここでは詳細な説明は割愛する。
続いて情報処理システム100は、対象割り当て部240による、操作対象が一意に確定したかどうかの判断処理を行う(ステップS112)。操作対象が一意に確定していなければ、情報処理システム100は、対象割り当て部240による、曖昧操作対象解決処理を行う(ステップS113)。対象割り当て部240による曖昧操作対象解決処理は上述した通りであり、ここでは詳細な説明は割愛する。
ジェスチャ及び操作対象が確定すれば、情報処理システム100は、対象割り当て部240による、ジェスチャ・操作対象割り当て処理を実行する(ステップS114)。対象割り当て部240による、ジェスチャ・操作対象割り当て処理は上述した通りであり、ここでは詳細な説明は割愛する。
ジェスチャ・操作対象割り当て処理が完了すると、続いて情報処理システム100は、効果発動部250によるジェスチャ発動時補正処理を実行する(ステップS115)。効果発動部250によるジェスチャ発動時補正処理は上述した通りであり、ここでは詳細な説明は割愛する。
効果発動部250によるジェスチャ発動時補正処理が完了すると、続いて情報処理システム100は、ユーザ入力に応じたジェスチャを発動させる(ステップS116)。
本開示の実施の形態に係る情報処理システム100は、上述した一連の動作を実行することで、ユーザの利用状況や意図を考慮してジェスチャに対応する動作を実行することが可能となる。
<2.ハードウェア構成例>
次に、図27を参照して、本開示の一実施形態にかかる情報処理システム100のハードウェア構成について説明する。図27は、本開示の実施形態にかかる情報処理システム100のハードウェア構成例を示すブロック図である。
図27に示すように、情報処理システム100は、CPU(Central Processing unit)901、ROM(Read Only Memory)903、およびRAM(Random Access Memory)905を含む。また、情報処理システム100は、ホストバス907、ブリッジ909、外部バス911、インターフェース913、入力装置915、出力装置917、ストレージ装置919、ドライブ921、接続ポート923、通信装置925を含んでもよい。さらに、情報処理システム100は、必要に応じて、撮像装置933、およびセンサ935を含んでもよい。情報処理システム100は、CPU901に代えて、またはこれとともに、DSP(Digital Signal Processor)またはASIC(Application Specific Integrated Circuit)と呼ばれるような処理回路を有してもよい。
CPU901は、演算処理装置および制御装置として機能し、ROM903、RAM905、ストレージ装置919、またはリムーバブル記録媒体927に記録された各種プログラムに従って、情報処理システム100内の動作全般またはその一部を制御する。ROM903は、CPU901が使用するプログラムや演算パラメータなどを記憶する。RAM905は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一次記憶する。CPU901、ROM903、およびRAM905は、CPUバスなどの内部バスにより構成されるホストバス907により相互に接続されている。さらに、ホストバス907は、ブリッジ909を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス911に接続されている。
入力装置915は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなど、ユーザによって操作される装置である。入力装置915は、ユーザの音声を検出するマイクを含んでもよい。入力装置915は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理システム100の操作に対応した携帯電話などの外部接続機器929であってもよい。入力装置915は、ユーザが入力した情報に基づいて入力信号を生成してCPU901に出力する入力制御回路を含む。ユーザは、この入力装置915を操作することによって、情報処理システム100に対して各種のデータを入力したり処理動作を指示したりする。また、後述する撮像装置933も、ユーザの手の動きなどを撮像することによって、入力装置として機能しうる。
出力装置917は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。出力装置917は、例えば、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、有機EL(Electro−Luminescence)ディスプレイ、プロジェクタなどの表示装置、ホログラムの表示装置、スピーカおよびヘッドホンなどの音声出力装置、ならびにプリンタ装置などでありうる。出力装置917は、情報処理システム100の処理により得られた結果を、テキストまたは画像などの映像として出力したり、音声または音響などの音声として出力したりする。また、出力装置917は、周囲を明るくするためライトなどを含んでもよい。
ストレージ装置919は、情報処理システム100の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置919は、例えば、HDD(Hard Disk Drive)などの磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。このストレージ装置919は、CPU901が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
ドライブ921は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体927のためのリーダライタであり、情報処理システム100に内蔵、あるいは外付けされる。ドライブ921は、装着されているリムーバブル記録媒体927に記録されている情報を読み出して、RAM905に出力する。また、ドライブ921は、装着されているリムーバブル記録媒体927に記録を書き込む。
接続ポート923は、機器を情報処理システム100に直接接続するためのポートである。接続ポート923は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポートなどでありうる。また、接続ポート923は、RS−232Cポート、光オーディオ端子、HDMI(登録商標)(High−Definition Multimedia Interface)ポートなどであってもよい。接続ポート923に外部接続機器929を接続することで、情報処理システム100と外部接続機器929との間で各種のデータが交換されうる。
通信装置925は、例えば、通信ネットワーク931に接続するための通信デバイスなどで構成された通信インターフェースである。通信装置925は、例えば、有線または無線LAN(Local Area Network)、Bluetooth(登録商標)、またはWUSB(Wireless USB)用の通信カードなどでありうる。また、通信装置925は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、または、各種通信用のモデムなどであってもよい。通信装置925は、例えば、インターネットや他の通信機器との間で、TCP/IPなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置925に接続される通信ネットワーク931は、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信または衛星通信などである。
撮像装置933は、例えば、CCD(Charge Coupled Device)またはCMOS(Complementary Metal Oxide Semiconductor)などの撮像素子、および撮像素子への被写体像の結像を制御するためのレンズなどの各種の部材を用いて実空間を撮像し、撮像画像を生成する装置である。撮像装置933は、静止画を撮像するものであってもよいし、また動画を撮像するものであってもよい。
センサ935は、例えば、加速度センサ、ジャイロセンサ、地磁気センサ、光センサ、音センサなどの各種のセンサである。センサ935は、例えば情報処理システム100の筐体の姿勢など、情報処理システム100自体の状態に関する情報や、情報処理システム100の周辺の明るさや騒音など、情報処理システム100の周辺環境に関する情報を取得する。また、センサ935は、GPS(Global Positioning System)信号を受信して装置の緯度、経度および高度を測定するGPSセンサを含んでもよい。
以上、情報処理システム100のハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。かかる構成は、実施する時々の技術レベルに応じて適宜変更されうる。
<3.まとめ>
以上説明したように本開示の実施の形態によれば、表示面に対して行われた、少なくとも方向が規定されているユーザのジェスチャを検出し、そのユーザのジェスチャに応じた処理を実行することが可能な情報処理システム100が提供される。本開示の実施の形態に係る情報処理システム100は、ユーザのジェスチャに応じた処理を実行する際に、ユーザの意図を加味した処理を実行することが出来る。
本明細書の各装置が実行する処理における各ステップは、必ずしもシーケンス図またはフローチャートとして記載された順序に沿って時系列に処理する必要はない。例えば、各装置が実行する処理における各ステップは、フローチャートとして記載した順序と異なる順序で処理されても、並列的に処理されてもよい。
また、各装置に内蔵されるCPU、ROMおよびRAMなどのハードウェアを、上述した各装置の構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた記憶媒体も提供されることが可能である。また、機能ブロック図で示したそれぞれの機能ブロックをハードウェアで構成することで、一連の処理をハードウェアで実現することもできる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
例えば、上述の説明では、表示面に対してユーザが指で操作を行うことで種々の処理が実行されていたが、本開示は係る例に限定されない。指は本開示の操作体の一例であり、操作体としては、指の他にも、スタイラス等のペン型のデバイスが用いられても良い。なお、操作体とは、表示面に対する操作を実行するためのものを言う。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
表示面に対して行われた操作から、ジェスチャの内容を判定する判定部と、
前記判定部が判定した前記ジェスチャに対応する、前記表示面で表示される表示オブジェクトの配置方向を設定する効果及び該効果の対象となる前記表示オブジェクトを決定する効果決定部と、
を備える、表示制御装置。
(2)
前記効果決定部は、決定した前記効果に基づき前記表示面上の該効果の対象の表示オブジェクトの配置を決定する、前記(1)に記載の表示制御装置。
(3)
前記操作は撮像装置によって撮像され、前記表示オブジェクトは、所定の物体の表面に投影を行う投影装置により表示される、前記(2)に記載の表示制御装置。
(4)
前記効果決定部は、前記操作から前記ジェスチャの候補として2以上の候補が存在すると前記判定部が判定した場合、複数の候補に基づいて前記効果を決定する処理を行う、前記(1)〜(3)のいずれかに記載の表示制御装置。
(5)
前記効果決定部は、前記ジェスチャの候補として2以上の候補が存在する場合、行われた前記操作から推測される複数のジェスチャで共通する効果を選択する、前記(4)に記載の表示制御装置。
(6)
前記効果決定部は、前記判定部が判定したジェスチャに対応する効果の対象となる表示オブジェクトの候補として2以上の候補が存在する場合、複数の候補に基づいて対象の表示オブジェクトを決定する処理を行う、前記(1)〜(5)のいずれかに記載の表示制御装置。
(7)
前記効果決定部は、効果の対象の表示オブジェクトの候補として2以上の候補が存在する場合、前記操作の場所に最も近い表示オブジェクトを対象の表示オブジェクトとする、前記(6)に記載の表示制御装置。
(8)
前記判定部は、同時に複数の操作が行われている場合、先に完了した操作の内容を優先してジェスチャの判定を行う、前記(1)〜(7)のいずれかに記載の表示制御装置。
(9)
前記判定部は、同時に複数の操作が行われている場合、該操作の対象に近い前記表示オブジェクトに近い位置で行われた操作の内容を優先してジェスチャの判定を行う、前記(1)〜(7)に記載の表示制御装置。
(10)
前記判定部は、同時に複数の操作が行われていた場合、効果が発揮される対象の表示オブジェクトに最後に触っていたユーザによって行われた操作の内容を優先してジェスチャの判定を行う、前記(1)〜(9)のいずれかに記載の表示制御装置。
(11)
前記操作が、操作体で前記表示面に線を描く操作である場合に、前記判定部は、前記線の垂線の範囲に重心がある前記表示オブジェクトを前記線に沿って整列させるジェスチャであると判定する、前記(1)〜(10)のいずれかに記載の表示制御装置。
(12)
前記操作が、操作体で前記表示面に線を描く操作である場合に、前記判定部は、前記表示面に表示されている全ての前記表示オブジェクトを前記線に沿って整列させるジェスチャであると判定する、前記(1)〜(11)のいずれかに記載の表示制御装置。
(13)
前記操作が、操作体により前記表示面に第1の方向に沿う第1の線を描いた後に、続けて前記第1の方向に対して略垂直方向である第2の方向に第2の線を描く操作である場合、前記判定部は、少なくとも一つの前記表示オブジェクトを前記第1の線に沿う位置に移動させかつ前記第2の方向を基準とした配置方向に前記表示オブジェクトを表示させるジェスチャであると判定する、前記(1)〜(12)のいずれかに記載の表示制御装置。
(14)
前記効果決定部は、前記第1の線及び前記第2の線の長さに合わせて、移動させる前記表示オブジェクトの表示サイズを調整する、前記(13)に記載の表示制御装置。
(15)
前記操作が、前記表示面上に存在する物理オブジェクトと所定の位置関係にある操作である場合に、前記効果決定部は、前記物理オブジェクトの配置位置に基づいて前記表示オブジェクトを表示させる、前記(1)〜(14)のいずれかに記載の表示制御装置。
(16)
前記操作が、前記物理オブジェクトに沿って線を描く操作である場合に、前記効果決定部は、前記物理オブジェクト上に前記表示オブジェクトを表示させる、前記(15)に記載の表示制御装置。
(17)
前記操作が、複数の前記物理オブジェクトの間に線を描く操作である場合に、前記効果決定部は、前記複数の物理オブジェクトの間に前記表示オブジェクトを表示させる、前記(15)に記載の表示制御装置。
(18)
前記効果決定部は、前記操作を行うユーザの位置または手の角度に応じて前記表示オブジェクトの表示を補正する、前記(1)〜(17)のいずれかに記載の表示制御装置。
(19)
プロセッサが、
表示面に対して行われた操作から、ジェスチャの内容を判定することと、
判定された前記ジェスチャに対応する、前記表示面で表示される表示オブジェクトの配置方向を設定する効果及び該効果の対象となる前記表示オブジェクトを決定することと、
を含む、表示制御方法。
(20)
コンピュータに、
表示面に対して行われた操作から、ジェスチャの内容を判定することと、
判定された前記ジェスチャに対応する、前記表示面で表示される表示オブジェクトの配置方向を設定する効果及び該効果の対象となる前記表示オブジェクトを決定することと、
を実行させる、コンピュータプログラム。
100 情報処理システム
200 表示制御部

Claims (18)

  1. 表示面に対して行われた操作から、ジェスチャの内容を判定する判定部と、
    前記判定部が判定した前記ジェスチャに対応する、前記表示面で表示される表示オブジェクトの配置方向を設定する効果及び該効果の対象となる前記表示オブジェクトを決定する効果決定部と、
    を備え
    前記効果決定部は、
    前記操作が、前記表示面上に存在する物理オブジェクトと所定の位置関係にある操作である場合に、前記物理オブジェクトの配置位置に基づいて前記表示オブジェクトを表示させ、
    前記操作が、前記物理オブジェクトに沿って線を描く操作である場合に、前記物理オブジェクト上に前記表示オブジェクトを表示させる、
    表示制御装置。
  2. 前記効果決定部は、決定した前記効果に基づき前記表示面上の該効果の対象の表示オブジェクトの配置を決定する、請求項1に記載の表示制御装置。
  3. 前記操作は撮像装置によって撮像され、前記表示オブジェクトは、所定の物体の表面に投影を行う投影装置により表示される、請求項2に記載の表示制御装置。
  4. 前記効果決定部は、前記操作から前記ジェスチャの候補として2以上の候補が存在すると前記判定部が判定した場合、複数の候補に基づいて前記効果を決定する処理を行う、請求項1に記載の表示制御装置。
  5. 前記効果決定部は、前記ジェスチャの候補として2以上の候補が存在する場合、行われた前記操作から推測される複数のジェスチャで共通する効果を選択する、請求項4に記載の表示制御装置。
  6. 前記効果決定部は、前記判定部が判定したジェスチャに対応する効果の対象となる表示オブジェクトの候補として2以上の候補が存在する場合、複数の候補に基づいて対象の表示オブジェクトを決定する処理を行う、請求項1に記載の表示制御装置。
  7. 前記効果決定部は、効果の対象の表示オブジェクトの候補として2以上の候補が存在する場合、前記操作の場所に最も近い表示オブジェクトを対象の表示オブジェクトとする、請求項6に記載の表示制御装置。
  8. 前記判定部は、同時に複数の操作が行われている場合、先に完了した操作の内容を優先してジェスチャの判定を行う、請求項1に記載の表示制御装置。
  9. 前記判定部は、同時に複数の操作が行われている場合、該操作の対象に近い前記表示オブジェクトに近い位置で行われた操作の内容を優先してジェスチャの判定を行う、請求項1に記載の表示制御装置。
  10. 前記判定部は、同時に複数の操作が行われていた場合、効果が発揮される対象の表示オブジェクトに最後に触っていたユーザによって行われた操作の内容を優先してジェスチャの判定を行う、請求項1に記載の表示制御装置。
  11. 前記操作が、操作体で前記表示面に線を描く操作である場合に、前記判定部は、前記線の垂線の範囲に重心がある前記表示オブジェクトを前記線に沿って整列させるジェスチャであると判定する、請求項1に記載の表示制御装置。
  12. 前記操作が、操作体で前記表示面に線を描く操作である場合に、前記判定部は、前記表示面に表示されている全ての前記表示オブジェクトを前記線に沿って整列させるジェスチャであると判定する、請求項1に記載の表示制御装置。
  13. 前記操作が、操作体により前記表示面に第1の方向に沿う第1の線を描いた後に、続けて前記第1の方向に対して略垂直方向である第2の方向に第2の線を描く操作である場合、前記判定部は、少なくとも一つの前記表示オブジェクトを前記第1の線に沿う位置に移動させかつ前記第2の方向を基準とした配置方向に前記表示オブジェクトを表示させるジェスチャであると判定する、請求項1に記載の表示制御装置。
  14. 前記効果決定部は、前記第1の線及び前記第2の線の長さに合わせて、移動させる前記表示オブジェクトの表示サイズを調整する、請求項13に記載の表示制御装置。
  15. 前記操作が、複数の前記物理オブジェクトの間に線を描く操作である場合に、前記効果決定部は、前記複数の物理オブジェクトの間に前記表示オブジェクトを表示させる、請求項に記載の表示制御装置。
  16. 前記効果決定部は、前記操作を行うユーザの位置または手の角度に応じて前記表示オブジェクトの表示を補正する、請求項1に記載の表示制御装置。
  17. プロセッサが、
    表示面に対して行われた操作から、ジェスチャの内容を判定することと、
    判定された前記ジェスチャに対応する、前記表示面で表示される表示オブジェクトの配置方向を設定する効果及び該効果の対象となる前記表示オブジェクトを決定することと、を含み、
    前記決定することは、
    前記操作が、前記表示面上に存在する物理オブジェクトと所定の位置関係にある操作である場合に、前記物理オブジェクトの配置位置に基づいて前記表示オブジェクトを表示させ、
    前記操作が、前記物理オブジェクトに沿って線を描く操作である場合に、前記物理オブジェクト上に前記表示オブジェクトを表示させる、
    表示制御方法。
  18. コンピュータに、
    表示面に対して行われた操作から、ジェスチャの内容を判定することと、
    判定された前記ジェスチャに対応する、前記表示面で表示される表示オブジェクトの配置方向を設定する効果及び該効果の対象となる前記表示オブジェクトを決定することと、を実行させ
    前記決定することは、
    前記操作が、前記表示面上に存在する物理オブジェクトと所定の位置関係にある操作である場合に、前記物理オブジェクトの配置位置に基づいて前記表示オブジェクトを表示させ、
    前記操作が、前記物理オブジェクトに沿って線を描く操作である場合に、前記物理オブジェクト上に前記表示オブジェクトを表示させる、
    コンピュータプログラム。
JP2018552456A 2016-11-25 2017-10-12 表示制御装置、表示制御方法及びコンピュータプログラム Active JP6911870B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016228510 2016-11-25
JP2016228510 2016-11-25
PCT/JP2017/036968 WO2018096827A1 (ja) 2016-11-25 2017-10-12 表示制御装置、表示制御方法及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JPWO2018096827A1 JPWO2018096827A1 (ja) 2019-10-17
JP6911870B2 true JP6911870B2 (ja) 2021-07-28

Family

ID=62195489

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018552456A Active JP6911870B2 (ja) 2016-11-25 2017-10-12 表示制御装置、表示制御方法及びコンピュータプログラム

Country Status (6)

Country Link
US (1) US11023050B2 (ja)
JP (1) JP6911870B2 (ja)
KR (1) KR102391752B1 (ja)
CN (1) CN109964202B (ja)
DE (1) DE112017005980T5 (ja)
WO (1) WO2018096827A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102391752B1 (ko) * 2016-11-25 2022-04-28 소니그룹주식회사 표시 제어 장치, 표시 제어 방법 및 컴퓨터 프로그램
JP7354702B2 (ja) * 2019-09-05 2023-10-03 富士通株式会社 表示制御方法、表示制御プログラムおよび情報処理装置
US11733830B2 (en) * 2019-11-20 2023-08-22 Ricoh Company, Ltd. Display apparatus for displaying handwritten data with displayed operation menu
JP2022042362A (ja) * 2020-09-02 2022-03-14 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004164069A (ja) * 2002-11-11 2004-06-10 Nippon Telegr & Teleph Corp <Ntt> 情報制御システム、情報制御方法、この方法のプログラムおよびこのプログラムを記録した記録媒体
JP3999688B2 (ja) 2003-03-12 2007-10-31 日本電信電話株式会社 画面表示方法,画面表示装置,画面表示プログラム,および画面表示プログラムを記録した記録媒体
JP4045550B2 (ja) 2004-06-28 2008-02-13 富士フイルム株式会社 画像表示制御装置及び画像表示制御プログラム
US7728821B2 (en) * 2004-08-06 2010-06-01 Touchtable, Inc. Touch detecting interactive display
US7907125B2 (en) * 2007-01-05 2011-03-15 Microsoft Corporation Recognizing multiple input point gestures
JP4991458B2 (ja) * 2007-09-04 2012-08-01 キヤノン株式会社 画像表示装置及びその制御方法
US8473862B1 (en) * 2009-05-21 2013-06-25 Perceptive Pixel Inc. Organizational tools on a multi-touch display device
KR20120091975A (ko) * 2011-02-10 2012-08-20 삼성전자주식회사 적어도 두 개의 터치 스크린을 포함하는 정보 표시 장치 및 그의 정보 표시 방법
JP5661726B2 (ja) * 2011-12-15 2015-01-28 株式会社東芝 情報処理装置、表示プログラム
US9626498B2 (en) * 2011-12-15 2017-04-18 France Telecom Multi-person gestural authentication and authorization system and method of operation thereof
JP5978660B2 (ja) * 2012-03-06 2016-08-24 ソニー株式会社 情報処理装置及び情報処理方法
US9046958B2 (en) * 2012-03-15 2015-06-02 Nokia Technologies Oy Method, apparatus and computer program product for user input interpretation and input error mitigation
KR101984683B1 (ko) * 2012-10-10 2019-05-31 삼성전자주식회사 멀티 디스플레이 장치 및 그 제어 방법
US20140149901A1 (en) * 2012-11-28 2014-05-29 Motorola Mobility Llc Gesture Input to Group and Control Items
US9448634B1 (en) * 2013-03-12 2016-09-20 Kabam, Inc. System and method for providing rewards to a user in a virtual space based on user performance of gestures
US9507495B2 (en) * 2013-04-03 2016-11-29 Blackberry Limited Electronic device and method of displaying information in response to a gesture
US9910579B2 (en) * 2013-04-15 2018-03-06 Microsoft Technology Licensing, Llc Detection of pan and scaling during multi-finger touch interactions
US20140359538A1 (en) * 2013-05-28 2014-12-04 General Electric Company Systems and methods for moving display objects based on user gestures
KR20150009199A (ko) * 2013-07-16 2015-01-26 삼성전자주식회사 객체 편집을 위한 전자 장치 및 방법
JP5862627B2 (ja) * 2013-09-17 2016-02-16 コニカミノルタ株式会社 表示制御装置、表示制御方法、表示制御プログラム及び画像処理装置
JP6255838B2 (ja) * 2013-09-20 2018-01-10 カシオ計算機株式会社 表示装置、表示制御方法及びプログラム
JP5971817B2 (ja) * 2014-06-20 2016-08-17 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 情報処理装置、プログラム及び方法
US10684707B2 (en) * 2014-06-25 2020-06-16 Sony Corporation Display control device, display control method, and program
DE102014012550A1 (de) * 2014-08-20 2016-02-25 e.solutions GmbH Kraftfahrzeug-Bedienungsvorrichtung
US10038770B2 (en) * 2014-08-25 2018-07-31 Rf Digital Corporation Push user interface
JP6390277B2 (ja) * 2014-09-02 2018-09-19 ソニー株式会社 情報処理装置、制御方法、およびプログラム
US10268277B2 (en) * 2014-09-30 2019-04-23 Hewlett-Packard Development Company, L.P. Gesture based manipulation of three-dimensional images
US20160173840A1 (en) * 2014-12-10 2016-06-16 Casio Computer Co., Ltd. Information output control device
WO2016126712A1 (en) * 2015-02-02 2016-08-11 Cirque Corporation Using a perpendicular bisector of a multi-finger gesture to control motion of objects shown in a multi-dimensional environment on a display
US10318613B2 (en) * 2015-08-25 2019-06-11 Myscript System and method of digital note taking
KR102466990B1 (ko) * 2015-11-06 2022-11-14 삼성전자주식회사 복수의 화면을 표시하는 전자장치 및 그 제어 방법
KR102391752B1 (ko) * 2016-11-25 2022-04-28 소니그룹주식회사 표시 제어 장치, 표시 제어 방법 및 컴퓨터 프로그램

Also Published As

Publication number Publication date
CN109964202B (zh) 2022-10-21
CN109964202A (zh) 2019-07-02
DE112017005980T5 (de) 2019-08-08
WO2018096827A1 (ja) 2018-05-31
US11023050B2 (en) 2021-06-01
JPWO2018096827A1 (ja) 2019-10-17
KR20190087423A (ko) 2019-07-24
US20190286245A1 (en) 2019-09-19
KR102391752B1 (ko) 2022-04-28

Similar Documents

Publication Publication Date Title
US11175726B2 (en) Gesture actions for interface elements
JP6809467B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP6911870B2 (ja) 表示制御装置、表示制御方法及びコンピュータプログラム
KR102194272B1 (ko) 제스처들을 이용한 터치 입력들의 향상
CN107102804B (zh) 控制设备、控制方法和记录介质
US10564712B2 (en) Information processing device, information processing method, and program
WO2015159548A1 (ja) 投影制御装置、投影制御方法及び投影制御プログラムを記録した記録媒体
US10474324B2 (en) Uninterruptable overlay on a display
WO2019033322A1 (zh) 手持式控制器、跟踪定位方法以及系统
US11886643B2 (en) Information processing apparatus and information processing method
US9395838B2 (en) Input device, input control method, and input control program
US20180210597A1 (en) Information processing device, information processing method, and program
WO2021004413A1 (zh) 一种手持输入设备及其指示图标的消隐控制方法和装置
JP7080711B2 (ja) 電子機器、電子機器の制御方法、プログラム、及び、記憶媒体
US9898183B1 (en) Motions for object rendering and selection
US20200257396A1 (en) Electronic device and control method therefor
WO2017033544A1 (ja) 情報処理装置、情報処理方法、及びプログラム
US11188206B2 (en) Information processing apparatus and information processing method
JP7112627B2 (ja) 制御装置、制御方法及びプログラム
US20230291998A1 (en) Electronic apparatus, method for controlling the same, and computer-readable storage medium storing program
JPWO2018150757A1 (ja) 情報処理システム、情報処理方法、およびプログラム
JP2017228216A (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
JP2023033559A (ja) 情報処理装置、表示制御方法、及びプログラム
JP2024032042A (ja) 検出方法、検出装置及びプログラム
JP2021018742A (ja) 制御装置、方法、プログラム、および情報処理システム

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190515

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190522

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210511

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: 20210608

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210621

R151 Written notification of patent or utility model registration

Ref document number: 6911870

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151