WO2018042639A1 - 情報処理装置、情報処理方法、及びプログラム - Google Patents

情報処理装置、情報処理方法、及びプログラム Download PDF

Info

Publication number
WO2018042639A1
WO2018042639A1 PCT/JP2016/075894 JP2016075894W WO2018042639A1 WO 2018042639 A1 WO2018042639 A1 WO 2018042639A1 JP 2016075894 W JP2016075894 W JP 2016075894W WO 2018042639 A1 WO2018042639 A1 WO 2018042639A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
input position
input
information processing
screen
Prior art date
Application number
PCT/JP2016/075894
Other languages
English (en)
French (fr)
Inventor
アディヤン ムジビヤ
Original Assignee
楽天株式会社
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 楽天株式会社 filed Critical 楽天株式会社
Priority to PCT/JP2016/075894 priority Critical patent/WO2018042639A1/ja
Priority to JP2018529320A priority patent/JP6373546B2/ja
Priority to US16/311,663 priority patent/US11604517B2/en
Publication of WO2018042639A1 publication Critical patent/WO2018042639A1/ja

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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • 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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • 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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • 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
    • 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

Definitions

  • the present invention relates to an information processing apparatus, an information processing method, and a program.
  • Patent Document 1 discloses a device that detects the position of the user's body and the position of the hand and uses the intersection of the line from the body to the hand and the screen as the input position when the user holds the hand over the screen. Is described.
  • the amount of movement of the input position with respect to the amount of user operation is determined by the relative position of the user with respect to the input position. For example, if the user is standing on the left side of the screen, if the user holds his hand near the front, the amount of movement of the input position relative to the operation amount is Since it is small, the input position can be finely adjusted. On the other hand, when the user moves his hand further to the right after holding his hand diagonally to the right, the movement amount of the input position relative to the operation amount is large due to the angular relationship of the user position with respect to the input position. Is difficult to fine-tune. For this reason, in the technique of Patent Literature 1, fine adjustment of the input position becomes difficult depending on the relative position of the user with respect to the input position, and thus the user operability cannot be sufficiently improved.
  • the present invention has been made in view of the above problems, and an object of the present invention is to improve operability in a user interface in which a user can input an input position on a screen by directing an object to the screen.
  • an information processing apparatus provides an actual instruction position that is an actual instruction position that is actually pointed to by an object directed to a screen and that is on a plane including the screen.
  • Position acquisition means for acquiring a relative position of the user with respect to the actual designated position, and means for acquiring an input position on the screen corresponding to the current position of the object, wherein the user
  • the input position acquisition means that can suppress the amount of movement of the input position relative to the operation amount based on the relative position, and a predetermined process based on the input position acquired by the input position acquisition means And a process execution means for executing the process.
  • the information processing method includes an actual instruction position acquisition step of acquiring an actual instruction position that is an actual instruction position that is actually pointed to by an object directed to the screen and that is on a plane including the screen; A relative position acquisition step of acquiring a relative position of the user with respect to a position; and means for acquiring an input position on the screen corresponding to a current position of the object, wherein the relative position is obtained when the user moves the object.
  • An input position acquisition step capable of suppressing the movement amount of the input position relative to the operation amount based on the position; and a process execution step of executing a predetermined process based on the input position acquired by the input position acquisition step; It is characterized by including.
  • the program according to the present invention includes an actual pointing position that is an actual pointing position that is actually pointed to by an object directed to a screen and that is on a plane including the screen, and a user for the actual pointing position
  • Relative position acquisition means for acquiring the relative position of the object, means for acquiring an input position on the screen corresponding to the current position of the object, and when the user moves the object, based on the relative position
  • the computer is caused to function as an input position acquisition unit capable of suppressing a movement amount of the input position with respect to an operation amount, and a process execution unit that executes a predetermined process based on the input position acquired by the input position acquisition unit.
  • the information storage medium according to the present invention is a computer-readable information storage medium storing the above program.
  • the input position acquisition unit when the object is in an instruction state indicating the screen from a non-instruction state where the object does not indicate the screen, It is acquired as an input position, and when the user moves the object after the object is in the instruction state, the movement amount of the input position can be suppressed.
  • the input position acquisition means acquires the actual indicated position when the object is changed from the non-instructed state to the indicated state as a reference position, and the object is in the indicated state.
  • the movement amount of the input position from the reference position can be suppressed based on the relative position.
  • the information processing apparatus further includes three-dimensional coordinate acquisition means for acquiring three-dimensional coordinates indicating the position of the object and three-dimensional coordinates indicating the position of the user,
  • the actual indication position acquisition means acquires the actual indication position based on the three-dimensional coordinates of the object
  • the relative position acquisition means acquires the relative position based on the three-dimensional coordinates of the user
  • the input position The acquisition means acquires the input position based on the three-dimensional coordinates of the object.
  • the actual designated position is a position on the screen determined by a direction from the user's head position toward the object position, and the relative position is relative to the actual designated position.
  • the relative position of the user's head is a position on the screen determined by a direction from the user's head position toward the object position, and the relative position is relative to the actual designated position. The relative position of the user's head.
  • the input position acquisition unit acquires the input position based on a change in the relative position of the object with respect to the user when the user moves the object.
  • the input position acquisition unit acquires the input position based on an angle at which the object moves with respect to the user. It is characterized by.
  • the information processing apparatus further includes a movement determination unit that determines whether the user has moved, and the relative position acquisition unit is configured to determine that the user has moved.
  • the relative position is reacquired, and the input position acquisition means reacquires the input position based on the reacquired relative position.
  • the input position acquisition unit may be configured to display the current actual designated position from the reference position when the user moves the object after the object is in the designated state.
  • the input position is acquired so that a movement amount of the current input position from the reference position is smaller than a movement amount.
  • the input position acquisition means stops the process of acquiring the input position when the object is in the non-instruction state again after the object is in the instruction state,
  • the current actual instruction position is acquired again as the new input position and the reference position.
  • the input position acquisition means is configured when the object changes from the non-instruction state to the instruction state, and the position of the object is maintained in the instruction state for a predetermined time or more.
  • the current actual indication position is acquired as the input position and the reference position.
  • the predetermined process is an image process that makes it possible to identify the input position on the screen.
  • the input position acquisition unit may change the current actual instruction position to the new input position when a predetermined condition is satisfied after the object enters the instruction state.
  • the information processing apparatus further includes a gaze determination unit that determines whether the user is gazing at the input position, and the input position acquisition unit is configured so that the user determines the input position. If it is determined that the user is gazing, even if the predetermined condition is satisfied, the process of setting the current actual designated position as the input position and the reference position is not executed, and the user is not gazing at the input position. And when the predetermined condition is satisfied, a process of setting the current actual designated position as the input position and the reference position is executed.
  • the input position acquisition means acquires the input position based on the speed of the object when the user moves the object.
  • the input position unit may use the current actual instruction position as the input position and the reference position when the object is in the instruction state and in a predetermined state.
  • the input position is acquired based on the reference position, and the predetermined state of the object is released In this case, the process of acquiring the input position is terminated.
  • the object is the user's hand
  • the actual indication position is determined on the screen determined based on a direction from the position of the reference part of the user toward the position of the hand. It is a position, and the relative position is a relative position of the reference portion with respect to the actual designated position.
  • the present invention it is possible to improve the operability in the user interface in which the user can input the input position on the screen by directing the object to the screen.
  • FIG. 1 is a diagram illustrating an overall configuration of an information processing system. It is a figure which shows the scene where an information processing system is utilized. It is a figure for demonstrating in detail an example of the subject of a prior art. It is a figure for demonstrating in detail an example of the subject of a prior art. It is a figure for demonstrating the outline
  • FIG. 1 is a diagram illustrating an overall configuration of an information processing system.
  • the information processing system 1 includes an information processing device 10, a position detection device 20, and a large display 30.
  • the information processing apparatus 10, the position detection apparatus 20, and the large display 30 may be connected so as to be communicable via a network by wire or wireless, respectively.
  • the information processing apparatus 10 is a computer capable of information processing, and is, for example, a personal computer, a server computer, a portable information terminal (including a tablet computer), a mobile phone (including a smartphone), or the like.
  • the information processing apparatus 10 includes a control unit 11, a storage unit 12, a communication unit 13, an operation unit 14, and a display unit 15.
  • the control unit 11 includes, for example, at least one microprocessor.
  • the control unit 11 executes processing according to programs and data stored in the storage unit 12.
  • the storage unit 12 includes a main storage unit and an auxiliary storage unit.
  • the main storage unit is a volatile memory such as a RAM
  • the auxiliary storage unit is a non-volatile memory such as a hard disk or a flash memory.
  • the communication unit 13 includes a communication interface for wired communication or wireless communication, and performs data communication via a network, for example.
  • the operation unit 14 is an input device for the player to perform an operation, and is, for example, a pointing device such as a touch panel or a mouse, a keyboard, or the like.
  • the operation unit 14 transmits the operation content by the player to the control unit 11.
  • the display unit 15 is, for example, a liquid crystal display unit or an organic EL display unit.
  • the display unit 15 displays a screen according to instructions from the control unit 11.
  • the programs and data described as being stored in the storage unit 12 may be supplied to these via a network.
  • the hardware configuration of the information processing apparatus 10 is not limited to the above example, and various computer hardware can be applied.
  • the information processing apparatus 10 includes a reading unit (for example, an optical disk drive or a memory card slot) that reads a computer-readable information storage medium or an input / output unit (for example, a USB port or video) for directly connecting to an external device. Input / output terminals).
  • the program and data stored in the information storage medium may be supplied to the information processing apparatus 10 via the reading unit or the input / output unit.
  • the position detection device 20 is a device that detects the position of an object placed in space. In the present embodiment, the case where the position detection device 20 detects a three-dimensional (three-dimensional) position will be described, but only a two-dimensional (planar) position may be detected. For example, the position detection device 20 detects the position of an object for inputting the input position.
  • the input position is a position on the screen that is input to the information processing apparatus 10 (that is, a position designated by the user), and can be said to be a position on the screen that the information processing apparatus 10 recognizes.
  • the input position has the same meaning as the position input by a general pointing device.
  • the object is an object whose position can be detected by the position detection device 20, and may be an object whose user can change at least one of its position and orientation.
  • the object may be any object that the user points to the screen and points to the screen.
  • the object may be the user himself or an instruction member other than the user.
  • the predetermined part of the user corresponds to the object, and may be, for example, a hand, a finger, a wrist, an arm, or a foot.
  • the user's part means a part of the human body and includes not only the limbs, the torso, and the head but also the joints and bones inside the body.
  • a member held by the user may correspond to the object, or a member fixed to any of the user's limbs may correspond to the object. It may be a pen or an input device.
  • the input device may be a general pointing device, and may include a gyro sensor or an acceleration sensor that can detect the displacement and posture of the input device.
  • the position detection device 20 may be able to detect the position of a part other than the hand that is the object.
  • the position detection device 20 may include a position detection sensor that can detect the position of each of a plurality of parts of the user, and may be able to generate a three-dimensional coordinate of the position of each part.
  • the position detection sensor may be an image sensor such as a CCD image sensor or a CMOS image sensor, a depth sensor such as an infrared sensor, or an RGBD camera having both of them, and can detect, for example, the three-dimensional coordinates of the user's skeleton. It may be a Kinect (registered trademark) sensor.
  • the position detection device 20 acquires the three-dimensional coordinates of each part of the user based on the depth image indicating the horizontal position and depth of the user surface.
  • the part from which the position detection device 20 detects the three-dimensional coordinates may be a part that can be extracted by a known skeleton extraction method, and may be, for example, a head or a hand.
  • the position detection device 20 includes a communication interface for wired communication or wireless communication, and can output part information indicating the three-dimensional coordinates of each part of the user to the information processing apparatus 10.
  • the position detection device 20 generates part information at a predetermined frame rate (for example, 30 fps).
  • the information processing apparatus 10 can acquire the latest part information generated by the position detection apparatus 20 every predetermined time (for example, 1/30 second).
  • the frame rate is not particularly set, and the position detection device 20 may generate part information irregularly in response to a request from the information processing device 10.
  • the large display 30 is at least one liquid crystal display device or organic EL display device.
  • the screen size and aspect ratio of the large display 30 may be arbitrary, but here the width is assumed to be about several meters to several tens of meters.
  • the large display 30 may be configured by only a single display device, or may be a multi-display type in which a plurality of display devices are arranged side by side.
  • the large display 30 includes a communication interface for wired communication or wireless communication, and can display an image received from the information processing apparatus 10 or another computer.
  • the large display 30 may be able to display the same image as the image displayed on the display unit 15 of the information processing apparatus 10.
  • FIG. 2 is a diagram illustrating a scene where the information processing system 1 is used.
  • the position detection device 20 is arranged near the center of the upper surface of the large display 30, and the user operates the information processing device 10 to display a material on the large display 30 and make a presentation.
  • the X w axis—Y w axis—Z w axis which is the coordinate axis of the world coordinate system (or view coordinate system) having the position detection device 20 as the origin O w, and the upper left of the large display 30 are displayed.
  • the X s axis-Y s axis which is the coordinate axis of the screen coordinate system, is set as the origin O s . Further, the position detection device 20 and the large display 30 are pre-calibrated so that the relationship between the user and the screen at the angle of view of the position detection device 20 can be grasped.
  • the information processing apparatus 10 displays the pointer 40 on the screen when referring to the part information acquired from the position detection apparatus 20 and detecting that the user's hand is facing the screen.
  • the user can use the pointer 40 to indicate the part being explained in the material.
  • the pointer 40 may have an angular problem. Fine adjustment of the display position becomes difficult, and operability cannot be improved.
  • FIG. 3 and 4 are diagrams for explaining an example of the problem of the conventional technique in more detail.
  • FIG. 3 shows a state in which the space where the user is seen from above.
  • the position of the body that serves as a reference when determining the input position is the head of the user.
  • the input position P 1 is extended from the head H p toward the hand F p1 .
  • the line L 1 comprising a screen of the large display 30, the intersection of the.
  • the input position P 2 in that case is a line L 2 extended from the head H p toward the hand FP 2.
  • the screen of the large display 30 The amount of movement of the input position of the case (i.e., distance between the input positions P 1 and P 2) is represented by x 12 in FIG.
  • the relationship with ⁇ can be expressed by the following equation.
  • the above equation 5 shows the relative position ⁇ .
  • the relationship with the unit movement amount ⁇ x can be expressed as shown in FIG.
  • the information processing apparatus 10 according to the present embodiment suppresses the unit movement amount ⁇ x when the angle ⁇ increases.
  • FIG. 5 and 6 are diagrams for explaining an overview of processing executed by the information processing apparatus 10.
  • FIG. 5 shows a state in which the space where the user is seen from above, as in FIG. 3.
  • the intersection of the line L 3 extending from the head H p to the hand F p3 and the screen of the large display 30 is the same as in the past.
  • the may be the input position P 3.
  • the input position is different from the conventional one.
  • the position of the hand when the user moves the hand rightward by an angle ⁇ is F p4
  • a line L 4 extending from the head H p toward the hand F p4 , the screen of the large display 30, is a front side as viewed from the user.
  • the movement amount x 35 of the input position (that is, the distance between the input positions P 3 and P 5 ) is suppressed to be smaller than the movement amount x 12 of the prior art.
  • the relationship between the angle ⁇ and the unit movement amount ⁇ x is defined as a solid line in FIG.
  • this relationship is obtained by setting ⁇ in Equation 5 to “n ⁇ ⁇ ” (n is an arbitrary number greater than 1, and may be, for example, about 1.1 to 2.0). May be defined.
  • the relationship in the prior art that is, the solid line in FIG. 4
  • the unit movement amount ⁇ x when the angle of the relative position ⁇ is large is reduced, and the input position can be finely adjusted even if the angle ⁇ is increased. Improves sex.
  • FIG. 7 is a functional block diagram illustrating an example of functions realized by the information processing system 1.
  • the data storage unit 100 the three-dimensional coordinate acquisition unit 101, the actual designated position acquisition unit 102, the relative position acquisition unit 103, the input position acquisition unit 104, the process execution unit 105, and the movement
  • the determination unit 106 is realized by the information processing apparatus 10.
  • symbols such as the head H p and the relative position ⁇ are omitted when there is no need to refer to the drawings.
  • the data storage unit 100 is realized mainly by the storage unit 12.
  • the data storage unit 100 stores data necessary for suppressing the movement amount of the input position.
  • relationship data indicating the relationship between the relative position ⁇ and the unit movement amount ⁇ x (FIG. 6) will be described.
  • the relation data may be in a mathematical expression format (for example, mathematical expression 5), may be in a table form, or may be described as part of the program code.
  • the function may return a unit movement amount ⁇ x corresponding to the relative position ⁇ as a return value when the relative position ⁇ is input as an argument.
  • the data stored in the data storage unit 100 is not limited to the above example.
  • the data storage unit 100 may store a history of part information generated by the position detection device 20.
  • the data storage unit 100 may store coordinate data that defines the position of the screen of the large display 30 in the world coordinate system space (for example, the coordinates of the four corners of the screen).
  • the data storage unit 100 may store image data of the pointer 40.
  • the three-dimensional coordinate acquisition unit 101 is realized mainly by the control unit 11.
  • the three-dimensional coordinate acquisition unit 101 acquires part information indicating the three-dimensional coordinates of each part of the user from the position detection device 20. Since the part information includes three-dimensional coordinates indicating the position of the user's hand, the three-dimensional coordinate acquisition unit 101 acquires three-dimensional coordinates indicating the position of the user's hand.
  • the three-dimensional coordinate acquisition unit 101 also acquires the three-dimensional coordinates indicating the user's position.
  • the position of the user here is a part other than the hand, and is a position referred to for determining a relative position or an input position.
  • the part is referred to as a reference part.
  • the direction pointed to by the user cannot be specified only by the position of the hand, and therefore a reference part is used to specify this direction.
  • the reference part may be any part other than the hand, but may be a part not interlocked with the hand, for example, the head, neck, chest, spine, or waist.
  • the three-dimensional coordinate acquisition unit 101 acquires three-dimensional coordinates indicating the position of the user's hand and three-dimensional coordinates indicating the position of the user's head.
  • the actual designated position acquisition unit 102 is realized mainly by the control unit 11.
  • the actual pointing position acquisition unit 102 acquires the actual pointing position that is on the plane that includes the screen, that is, the actual pointing position that is pointed to by the hand that is directed to the screen by the user.
  • the actual pointing position is a position where the screen is physically pointed by the user in the space, and is, for example, an intersection of a line extending from the position of the user's hand in the pointing direction and the screen.
  • the actual indication position may be indicated by three-dimensional coordinates in the world coordinate system or may be indicated by two-dimensional coordinates in the screen coordinate system. In the present embodiment, it is assumed that the actual designated position is indicated by three-dimensional coordinates.
  • the actual designated position is not necessarily on the screen, but may be on a plane including the screen.
  • the plane including the screen may coincide with the screen, or may be a plane including the screen and its periphery.
  • the actual designated position may be inside or outside the screen.
  • the actual designated position acquisition unit 102 acquires the actual designated position outside the screen even if the user points outside the screen. It may be possible.
  • the actual instruction position acquisition unit 102 acquires the actual instruction position based on the position of the user's hand.
  • the actual designated position acquisition unit 102 obtains the actual designated position based on the three-dimensional coordinates of the user's hand. Since the user's head corresponds to the reference part, the actual designated position acquisition unit 102 obtains the actual designated position based on the three-dimensional coordinates of the user's hand and the three-dimensional coordinates of the user's head position. It will be. Therefore, for example, the actual designated position may be a position on the screen determined by the direction from the position of the user's head toward the position of the hand.
  • the intersection point between the line L extended from the user's head H p toward the hand F p and the screen shown in FIG. 5 is used as the actual designated position, but a point within a predetermined distance from the intersection point.
  • the actual pointing position may be used. That is, the actual designated position may not coincide with the intersection point.
  • the relative position acquisition unit 103 is realized mainly by the control unit 11.
  • the relative position acquisition unit 103 acquires the relative position of the user with respect to the actual designated position.
  • the relative position is a positional relationship between the actual designated position and the user, and is where the user points to the screen.
  • the relative position is the degree of deviation between the vertical line on the screen extending from the actual indication position and the user, and can be said to be the user's position with respect to the screen.
  • the relative position may be expressed by information that can specify the position of the user when viewed from the actual designated position, and may be expressed by a vector or a coordinate value. ( ⁇ of 5) shall be used.
  • the relative position acquisition unit 103 only needs to acquire the relative position of an arbitrary part of the user with respect to the actual designated position.
  • the relative position of the user's head with respect to the actual designated position is acquired.
  • the relative position acquisition unit 103 acquires the relative position based on the three-dimensional coordinates of the user.
  • the relative position acquisition unit 103 acquires the relative position based on the three-dimensional coordinates of the user's head.
  • the relative position acquisition unit 103 is a perpendicular drawn from the three-dimensional coordinates of the user's head acquired by the three-dimensional coordinate acquisition unit 101 to the screen of the large display 30 (here, the X w -Y w plane).
  • the three-dimensional coordinates of the foot S (FIG. 5) are acquired.
  • the relative position acquisition unit 103 the three-dimensional coordinates of the perpendicular foot S, and the three-dimensional coordinates of the user's head H p, and the 3-dimensional coordinates of the actual indicated position or hand F p, the angle ⁇ of the relative Get as position.
  • the input position acquisition unit 104 is realized mainly by the control unit 11.
  • the input position acquisition unit 104 acquires an input position on the screen corresponding to the current position of the user's hand.
  • the input position acquisition unit 104 acquires an input position based on the current position of the user's hand, and moves the input position when the user's hand moves.
  • the input position acquisition unit 104 acquires the input position based on the three-dimensional coordinates of the user's hand.
  • the input position may be indicated by three-dimensional coordinates in the world coordinate system, or may be indicated by two-dimensional coordinates in the screen coordinate system. In the present embodiment, the input position is assumed to be indicated by three-dimensional coordinates. Note that the input position acquisition unit 104 may acquire the input position periodically or may acquire the input position irregularly.
  • the input position acquisition unit 104 determines the current actual designated position as the input position P 3 (FIG. 5) when the user's hand changes from the non-designated state where the screen is not designated to the designated state. ) Get as.
  • the non-instruction state is a state in which the user's hand is not facing the screen, and the actual instruction position is not in the screen.
  • the instruction state is a state where the user's hand is directed to the screen and the actual instruction position is in the screen.
  • the input position acquisition unit 104 determines whether it is a non-instruction state or an instruction state based on the current position of the user's hand. For example, since the actual designated position can be acquired in the designated state, the input position acquisition unit 104 determines that the actual designated position is not designated when the actual designated position is not obtained, and the actual designated position is obtained. In this case, it may be determined that the state is the instruction state.
  • the input position acquisition unit 104 can suppress the movement amount of the input position with respect to the operation amount based on the relative position when the user moves the hand.
  • the actual pointing position becomes the input position as it is when the pointing state is just changed from the non-pointing state, so that the input position acquisition unit 104 is in the pointing state by the user. Later, when the user moves his hand, the amount of movement of the input position can be suppressed.
  • the operation amount is a movement amount (positional displacement amount) or a rotation amount (angular displacement amount) that is an example of the object.
  • the movement amount of the input position is a distance between the input position before the hand, which is an example of the object, and the input position after the hand moves. Suppression is to make the movement amount of the input position smaller than the movement amount of the actual designated position when a hand, which is an example of an object, moves. In other words, the suppression means that the input position is a position in front of the actual designated position as viewed from the user.
  • the input position acquisition unit 104 acquires the actual designated position (P 3 in FIG. 5) when the user's hand changes from the non-designated state to the designated state as the reference position.
  • the reference position is also the same as the input position at this time.
  • the reference position can also be referred to as an initial input position, and can also be referred to as a position from which the input position moves.
  • the reference position is held in the data storage unit 100.
  • the input position acquisition unit 104 can suppress the amount of movement of the input position from the reference position based on the relative position when the user moves the hand after the user's hand is in the instruction state. Specifically, first, the input position acquisition unit 104 acquires the unit movement amount ⁇ x corresponding to the current relative position ⁇ based on the relationship data. Next, the input position acquisition unit 104 acquires the operation amount ⁇ based on the position change of the user's hand, and determines the movement amount x of the input position from the reference position based on the operation amount ⁇ and the unit movement amount ⁇ x. To do.
  • the unit movement amount ⁇ x is defined so that the movement amount x of the input position is smaller than the movement amount of the actual designated position (that is, the movement amount x is suppressed). Therefore, the input position acquisition unit 104 can suppress the movement amount x by calculating the input position as described above. For example, the input position acquisition unit 104 may decrease the suppression degree as the relative position ⁇ is small, and increase the suppression degree as the relative position ⁇ is large. That is, the input position acquisition unit 104 decreases the suppression degree as the user is closer to the front with respect to the actual instruction position, and increases the suppression degree as the actual instruction position is farther from the front.
  • the moving direction of the input position may be determined based on the direction in which the position of the user's hand has changed or the direction in which the actual designated position has changed.
  • the input position is determined based on the operation amount ⁇ that the user's hand has moved with respect to the head. Therefore, when the user moves the hand, the input position acquisition unit 104 moves the hand to the user. The input position is acquired based on the change in the relative position.
  • the relative position of the hand to the user is a positional relationship between the user and the hand, and is where the hand is seen from the user.
  • the relative position may be expressed by information that can specify the position of the hand as viewed from the user, and may be expressed by a vector or a coordinate value. It is assumed that a certain ⁇ is used.
  • the input position acquisition unit 104 acquires the input position based on the angle ⁇ that the hand moves with respect to the user.
  • the input position acquisition unit 104 may acquire the relative position of the hand with respect to an arbitrary part of the user, and here, as described above, acquires the relative position of the hand with respect to the user's head.
  • the input position acquisition unit 104 when the user moves his / her hand after the user's hand is in the designated state, the current actual designated position (P 3 in FIG. 5) from the reference position (P 3 in FIG. 5).
  • the input position is acquired so that the movement amount of the current input position (P 5 in FIG. 5 ) from the reference position is smaller than the movement amount of 4 ).
  • the amount of movement may be arbitrarily small, but here, the greater the angle ⁇ , the greater the difference between the movement amount of the actual indicated position and the movement amount of the input position, and the movement amount of the input position.
  • the degree of suppression is increased.
  • the input position acquisition unit 104 may stop the process of acquiring the input position when the user's hand enters the instruction state and then enters the non-instruction state again. Then, when the user's hand is again in the non-instruction state and then in the instruction state again, the input position acquisition unit 104 re-acquires the current actual instruction position as a new input position and reference position. It may be.
  • the method for determining the instruction state and the non-instruction state is as described above. When it is determined that the user's hand has changed from the instruction state to the non-instruction state, the input position acquisition unit 104 does not execute the process of acquiring the input position and then determines that the user's hand has again entered the instruction state. The process of acquiring the input position is resumed.
  • the input position acquisition unit 104 changes the instruction state from the non-instruction state to the user's hand. If the position of the hand is maintained for a certain time or longer, the current actual designated position may be acquired as the input position and the reference position.
  • “Maintaining the position of the hand means that the position of the hand is not changed at all or the position of the hand is not substantially changed. That the position of the hand is not substantially changed means that the amount of movement of the hand position is less than the threshold value and the hand stays within a certain range.
  • the fixed time may be any predetermined time (for example, 1 second), may be a fixed value, or may be a variable value.
  • the input position acquisition unit 104 determines whether or not the position of the hand is maintained based on the change in the position of the hand. When it is determined that the position is maintained, the input position acquisition unit 104 starts time measurement and determines whether or not a certain time has elapsed.
  • the input position acquisition unit 104 determines whether or not the position of the hand is maintained even during timing, and continues to count while it is determined that the position of the hand is positioned, and it is determined that the position of the hand is not maintained. If this happens, stop timing. When it is determined that the predetermined time has elapsed, the input position acquisition unit 104 acquires the current actual designated position as the input position and the reference position.
  • the process execution unit 105 is realized mainly by the control unit 11.
  • the process execution unit 105 executes a predetermined process based on the input position acquired by the input position acquisition unit 104.
  • the predetermined processing is image processing that makes it possible to identify the input position on the screen.
  • This image processing is, for example, a process for displaying an image within the input position or within the predetermined distance, a process for changing the color, brightness, or transparency within the input position or within the predetermined distance, or blinking within the input position or within the predetermined distance. It is a process to apply effects such as.
  • displaying the pointer 40 at the input position corresponds to a predetermined process.
  • the predetermined process may be any predetermined process, and may be a process other than the image process.
  • the predetermined process may be a selection process for selecting an image (for example, an input form or a button) displayed on the screen, or a moving object (for example, a 3D model) in the virtual space or an image on the screen. It may be a movement control process for moving the.
  • the predetermined process may be an input process for a software keyboard or a drawing process for drawing a picture with graphic software.
  • Each of a plurality of positions on the screen may be associated with each of a plurality of processing contents in advance, and the process associated with the input position may be executed as a predetermined process.
  • the movement determination unit 106 is realized mainly by the control unit 11.
  • the movement determination unit 106 determines whether the user has moved.
  • the part of the user to be determined by the movement determination unit 106 may be an arbitrary part, and here is the head that is the reference part.
  • the movement determination unit 106 determines whether the user has moved based on the change in the part information. For example, the movement determination unit 106 determines that the user has moved when the movement amount of the user's head is equal to or greater than the threshold, and determines that the user has not moved when the movement amount of the user's head is less than the threshold. To do.
  • As the amount of movement of the head a change in the position of the head during a certain period (for example, 1 second) may be used.
  • the relative position acquisition unit 103 acquires the relative position again when the movement determination unit 106 determines that the user has moved.
  • the relative position acquisition unit 103 acquires the latest relative position based on the current part information.
  • the input position acquisition unit 104 acquires the input position again based on the acquired relative position.
  • the input position acquisition unit 104 acquires the input position again based on the latest relative position.
  • the method for acquiring the relative position and the input position is as described above.
  • FIG. 8 is a flowchart illustrating an example of processing executed in the information processing apparatus 10.
  • the process shown in FIG. 8 is an example of the process executed by the functional block shown in FIG. 7, and is executed by the control unit 11 operating according to a program stored in the storage unit 12.
  • the processing shown in FIG. 8 is assumed to be executed every fixed time (that is, a frame that is a processing unit) determined based on the frame rate of the position detection device 20. It is assumed that the frame of the information processing apparatus 10 and the frame of the position detection apparatus 20 are synchronized.
  • the control unit 11 acquires part information generated by the position detection device 20 via the communication unit 13 (S1).
  • the control unit 11 records the acquired part information in the storage unit 12 and holds a history of part information in the storage unit 12.
  • the control unit 11 refers to the value of the status flag for identifying whether the user's hand is pointing to the screen of the large display 30 (S2).
  • the status flag is stored in the storage unit 12. For example, the status flag being “0” means that the user's hand is not pointing to the screen, and the status flag is “1”. , Meaning that the user's hand is pointing to the screen.
  • the initial value of the status flag is “0”. Therefore, the status flag is “0” in the first frame.
  • the value of the state flag indicates the state of the hand in the most recent frame, so in S2, the control unit 11 determines whether the user's hand has pointed to the screen in the most recent frame. It will be.
  • the control unit 11 determines whether the screen of the large display 30 is pointed based on the part information acquired in S1 (S3). In S ⁇ b> 3, the control unit 11 refers to the three-dimensional coordinates of the user's head and hand indicated by the part information, and determines whether a line extending from the head toward the hand intersects the screen of the large display 30. As described above, the area on the X w -Y w plane corresponding to the screen of the large display 30 is stored in the storage unit 12 in advance, and the control unit 11 has a line extending from the head toward the hand, It is determined whether the area intersects.
  • the control unit 11 determines whether or not the position of the user's hand has been maintained for a certain period of time (S4). In S4, the control unit 11 refers to the history of the part information, and determines whether or not the state where the movement amount of the user's hand is within the threshold is continued for a certain time or more. If it is not determined that the screen has been pointed (S3; N), or if it is not determined that the position of the user's hand has been maintained for a certain period of time (S4; N), this processing ends and the next frame is displayed. When it visits, it is performed again from the process of S1.
  • the control unit 11 sets the value of the state flag to “1” (S5), and based on the part information acquired in S1, The actual designated position is calculated and acquired as the input position (S6).
  • the control unit 11 calculates the three-dimensional coordinates of the intersection of the line extended from the head toward the hand and the screen of the large display 30.
  • the control unit 11 since the actual designated position is represented by three-dimensional coordinates, the control unit 11 directly uses the three-dimensional coordinates of the intersection as the actual designated position, but when the actual designated position is represented by two-dimensional coordinates.
  • the three-dimensional coordinates of the intersection may be converted into the two-dimensional coordinates of the screen coordinate system.
  • a predetermined determinant may be used for coordinate transformation between the world coordinate system and the screen coordinate system.
  • the control unit 11 displays the pointer 40 based on the input position acquired in S6 (S7). Note that the image data of the pointer 40 is stored in the storage unit 12 in advance, and the control unit 11 displays the pointer 40 at the input position based on the image data.
  • the control unit 11 temporarily holds the actual indication position calculated in S6 in the storage unit 12 as a reference position (S8).
  • the held reference position is referred to when determining the input position in the next frame and thereafter.
  • the control unit 11 acquires the relative position ⁇ based on the part information acquired in S1 (S9).
  • S ⁇ b> 9 first, the control unit 11 refers to the three-dimensional coordinates of the user's head and acquires the three-dimensional coordinates of the leg of the perpendicular drawn on the screen. Then, the control unit 11 acquires, as a relative position, an angle ⁇ formed by the three-dimensional coordinates of the perpendicular foot, the three-dimensional coordinates of the user's head, and the three-dimensional coordinates of the actual designated position or the hand.
  • the control unit 11 refers to the relational data stored in the storage unit 12, acquires the unit movement amount ⁇ x corresponding to the relative position ⁇ acquired in S9, and temporarily stores it in the storage unit 12 (S10). The process ends.
  • the held unit movement amount ⁇ x is referred to when the input position is determined in the next frame and thereafter.
  • the control unit 11 determines whether the user's hand remains facing the screen based on the part information acquired in S1 (S11).
  • the determination method of S11 is the same as that of S3.
  • the control unit 11 determines whether the user has moved based on the part information acquired in S1 (S12). In S12, the control unit 11 acquires the movement amount of the three-dimensional coordinates of the user's head based on the history of the part information, and determines whether the movement amount is equal to or greater than the threshold value. The control unit 11 determines that the user has moved when the movement amount is equal to or greater than the threshold, and determines that the user has not moved when the movement amount is less than the threshold.
  • the threshold value may be a predetermined fixed value or a variable value.
  • the process proceeds to S6.
  • the control unit 11 acquires the current actual designated position as an input position in S6, and displays the pointer 40 at the input position in S7.
  • the display position of the pointer ie, the input position
  • the control unit 11 re-holds the current actual designated position as the reference position in S8, calculates the angle ⁇ in S9, and re-holds the unit movement amount ⁇ x in S10.
  • the stored reference position and unit movement amount ⁇ x are referred to in the subsequent frames.
  • the control unit 11 acquires the operation amount ⁇ of the user based on the part information acquired in S1 (S13).
  • the control unit 11 acquires an angle formed by the three-dimensional coordinates of the reference position, the three-dimensional coordinates of the user's head, and the current actual designated position or the three-dimensional coordinates of the hand as the operation amount ⁇ .
  • the control unit 11 acquires the input position based on the reference position and the unit movement amount ⁇ x held in the storage unit 12 and the operation amount ⁇ acquired in S13 (S14).
  • the control unit 11 calculates the movement amount x by multiplying the operation amount ⁇ by the unit movement amount ⁇ x.
  • the movement amount x is a suppressed movement amount that is smaller than the movement amount of the actual designated position.
  • the control unit 11 acquires the movement direction based on the current actual designated position or the three-dimensional coordinates of the hand.
  • the control unit 11 acquires, as an input position, a position that is separated from the reference position by a movement amount x with respect to the movement direction.
  • the control unit 11 displays the pointer 40 at the input position acquired in S14 (S15), and this process ends.
  • the process of S15 is the same as the process of S6, but since the pointer 40 was originally displayed, the control unit 11 moves the pointer 40.
  • the control unit 11 sets the value of the status flag to “0” (S16) and deletes the pointer 40 (S17). Thereafter, this process ends, and when the next frame comes, the process is executed again from S1.
  • the input position Fine adjustment of the position becomes possible.
  • the operativity in the user interface which can input the input position on a screen by a user pointing a hand to a screen can be improved.
  • the intuitive operation that the input position moves in the direction in which the position pointed by the user moves avoiding a sudden movement of the input position when the relative position ⁇ increases, thereby improving operability.
  • the movement amount of the input position viewed from the reference position is suppressed based on the relative position ⁇ , so that the user can It can be determined how much the hand moves from the hand position and how much the input position moves from the reference position. For example, when the unit movement amount ⁇ x from the reference position is determined by the relative position ⁇ , the movement amount of the input position can be proportional to the operation amount after entering the instruction state, so that a more intuitive operation can be performed. It becomes possible.
  • the information processing apparatus 10 acquires part information including the three-dimensional coordinates indicating the position of the user's hand and the three-dimensional coordinates indicating the user's reference part, the position of the user's hand is more accurately acquired. can do. As a result, the operation of moving the hand by the user can be more accurately reflected on the actual designated position, the relative position, and the input position.
  • the input position is acquired based on the angle at which the hand moves with respect to the user, and the angle at which the hand moves is an index that makes it easy for the user to grasp the operation amount sensuously. .
  • the relative position of the user with respect to the actual designated position changes.
  • the relative position is reacquired
  • the input position is also reacquired based on the relative position.
  • the operation according to the position of the user can be provided. For example, if the relative position is not updated even when the user moves and the reference movement amount ⁇ x does not change, even if the user moves to a position where the input position near the front of the actual designated position can be finely adjusted, Since the movement amount ⁇ x does not change, the user feels uncomfortable, but such discomfort can be avoided by reacquiring the relative position.
  • the input position is acquired so that the movement amount of the current input position from the reference position is smaller than the movement amount of the actual designated position from the reference position, the movement when the input position moves from the reference position The amount can be suppressed.
  • the user's hand enters the non-instruction state after entering the instruction state, the user does not point to the screen with the hand, so the processing to acquire the input position is stopped, and unnecessary processing is executed
  • the processing load on the information processing apparatus 10 can be reduced.
  • the pointer 40 can be displayed again by acquiring a new input position and reference position.
  • the current actual pointing position is acquired as the input position and the reference position, so that the hand is positioned at the position that the user wants to point to.
  • the input position and reference position are prevented from being acquired before moving, and the input position and reference position are acquired after moving to the position that the user wants to point to. Therefore, the input position intended by the user can be obtained. , It is possible to provide the user's desired operation.
  • the user can be made to identify the input position, and the operability of the information processing apparatus 10 that can identify the input position is improved. Can be made.
  • FIG. 9 is a functional block diagram in the modified example. As shown in FIG. 9, in the modified example, in addition to the functions described in the embodiment, a gaze determination unit 107 is realized.
  • the gaze determination unit 107 is realized mainly by the control unit 11.
  • a process in which when the user moves, a process (hereinafter referred to as a reset process) in which the current actual designated position is set as a new input position and a reference position is executed.
  • the reset process may be executed under conditions other than the movement.
  • This condition may be a predetermined condition. For example, a certain period of time may elapse, or the user may perform a predetermined operation.
  • the reset process may be executed in response to the condition being satisfied in the instruction state, and the position of the pointer 40 may be updated. Further, when the user is watching the vicinity of the pointer 40, the user and the audience are paying attention to the vicinity of the pointer 40, so that the reset process is not performed so that the pointer 40 does not move by the reset process. Also good.
  • the input position acquisition unit 104 reacquires the current actual instruction position as a new input position and reference position when a predetermined condition is satisfied after the user's hand is in the instruction state. .
  • the input position acquisition unit 104 determines the input position and the reference position based on the determination result of the movement determination unit 106 as described in the embodiment. The process of reacquiring is executed.
  • the input position acquisition unit 104 uses a real-time clock or the like to determine whether a predetermined time has elapsed since the last acquisition of the reference position. What is necessary is just to judge.
  • the fixed time may be indicated by the number of seconds or the number of frames. Further, the fixed time may be a fixed value or a variable value.
  • the input position acquisition unit 104 determines whether the user has performed a predetermined operation based on the operation unit 14 or the part information. Good.
  • the user performing a predetermined gesture may correspond to a predetermined operation. In this case, a known gesture determination may be used.
  • the information processing apparatus includes a gaze determination unit 107.
  • the gaze determination unit 107 determines whether the user is gazing at the input position. For this determination, a known gaze detection method may be used, or a gaze direction estimated from part information may be used. When using a known gaze detection method, for example, the gaze direction may be detected by photographing the user's eyes with a camera. When estimating the gaze direction from the part information, the gaze determination unit 107 may acquire the head direction from the positional relationship of the skeleton indicated by the part information, and the head direction may be set as the gaze direction.
  • the gaze determination unit 107 executes determination processing based on the user's gaze direction. For example, the gaze determination unit 107 acquires a gaze point on the screen based on the part information and the user's gaze direction. The gazing point may be an intersection of a line and a screen directed from the position of the user's head toward the line of sight. For example, the gaze determination unit 107 determines whether the distance between the gaze point and the input position is less than a threshold value. The gaze determination unit 107 determines that the user is gazing at the input position when the distance is less than the threshold, and determines that the user is not gazing at the input position when the distance is greater than or equal to the threshold. .
  • the input position acquisition unit 104 When it is determined that the user is gazing at the input position, the input position acquisition unit 104 does not execute the reset process using the current actual designated position as the input position and the reference position even if a predetermined condition is satisfied. . In this case, the input position acquisition unit 104 uses the current reference position as it is, and acquires the input position based on the current position of the user's hand, as in the method described in the embodiment. Therefore, the pointer 40 is fixed at the current position unless the user moves the hand.
  • the input position acquisition unit 104 performs a reset process using the current actual designated position as the input position and the reference position when it is determined that the user is not gazing at the input position and a predetermined condition is satisfied. Execute. In this case, the input position and the reference position are reset, and the position of the pointer 40 is changed.
  • the reset process when the user is gazing at the input position, the reset process is not executed, so the input position is arbitrary even though the user looks at the input position without moving the hand. Can be prevented.
  • the input position acquisition unit 104 may acquire the input position based on the speed of the hand when the user moves the hand. For example, the input position acquisition unit 104 determines the amount of movement of the input position based on the speed of the user's hand. The relationship between the speed of the hand and the amount of movement of the input position may be stored in advance in the data storage unit. This relationship may be determined so that the amount of movement of the input position increases as the speed of the hand increases, and the amount of movement of the input position decreases as the speed of the hand decreases.
  • the input position acquisition unit 104 changes the unit movement amount ⁇ x based on the speed of the user's hand.
  • FIG. 10 is a diagram showing a data storage example of the relational data in the modification (2).
  • the relationship data referred to by the input position acquisition unit 104 may be changed depending on the speed of the user's hand.
  • the relationship data when the user's hand speed is low is indicated by a solid line
  • the relationship data when the user's hand speed is high is indicated by a one-dot chain line.
  • the input position acquisition unit 104 may increase the unit movement amount ⁇ x on the assumption that fine adjustment of the input position is not necessary when the user moves his / her hand quickly while in the instruction state.
  • the input position acquisition unit 104 may decrease the unit movement amount ⁇ x on the assumption that fine adjustment of the input position is necessary when the user moves his / her hand slowly in the instruction state.
  • the method of acquiring the input position based on the unit movement amount ⁇ x is the same as the method described in the embodiment.
  • the acquisition of the input position is started when the position of the user's hand is maintained for a certain time or more in the instruction state is described.
  • the input is performed under other conditions. Acquisition of the position may be started. For example, when a gesture that becomes a cue for starting acquisition of the input position (in other words, a cue for displaying the pointer 40) is determined, and the user makes the gesture, acquisition of the input position is obtained. May be started.
  • the input position acquisition unit 104 acquires the current actual instruction position as the input position and the reference position when the user's hand is in the instruction state and in a predetermined state.
  • the predetermined state may be a state that can be realized according to the user's will, for example, that the user makes a predetermined gesture by hand.
  • the predetermined gesture may be holding the hand, opening the hand, or raising only a predetermined finger. Even if the user's hand is in the instruction state, the input position acquisition unit 104 waits for the acquisition of the input position and the reference position until the predetermined state is reached.
  • the input position acquisition unit 104 determines whether the user's hand is in a predetermined state based on the part information. In this case, the input position acquisition unit determines whether the position change of the hand indicated by the part information has changed a predetermined amount. Further, for example, it may be determined whether a predetermined state has been reached based on an image captured by the position detection device 20. In this case, a template image indicating a predetermined state is prepared, and the input position acquisition unit 104 may determine whether or not the user's hand is in a predetermined state by template matching. Based on this change, it may be determined whether the user's hand is in a predetermined state.
  • the input position acquisition unit 104 acquires the input position based on the reference position when the user moves the hand while the user's hand is maintained in a predetermined state. That is, the input position acquisition unit may continue to determine whether the user's hand is in a predetermined state even after the input position and the reference position are acquired.
  • the method for acquiring the input position is as described in the embodiment.
  • the input position acquisition unit may end the process of acquiring the input position when a predetermined state of the user's hand is released.
  • the modification (3) when the user's hand is in the designated state and then in a predetermined state, the current actual designated position is acquired as the input position and the reference position.
  • the start of acquisition can be signaled.
  • the probability that the position intended by the user can be set as the input position can be improved.
  • the actual instruction position when the user's hand is in the instruction state is set as the reference position, and the movement amount is suppressed based on the relative movement amount x from the reference position.
  • the method for acquiring the input position is not limited to this.
  • the input position may not be relatively acquired based on the past actual designated position, and may be absolutely obtained based on the current actual designated position.
  • FIG. 11 is a diagram illustrating an input position acquisition method according to the modification example (4).
  • the input position acquisition unit 104 may suppress the movement amount of the input position by shifting the current actual designated position to the user side. For example, when the position of the user's hand and P 10 the actual indicated position when it is F p10, the real pointing position P10, inputs the position P 11 which is moved by a distance y 10 corresponding to the current relative position theta 10 It may be a position. Thereafter, assuming that the position of the hand when the user moves the hand to the right is F p11, and the actual designated position in that case is P 12 , the actual designated position P 12 is set to the distance y corresponding to the current relative position ⁇ 11.
  • the distance y 11 only good position P 13 which is moved as the input position.
  • the distance y 11 can be longer than the distance y 10.
  • Data indicating the relationship between the relative position ⁇ and the distance y may be stored in the data storage unit 100 in advance.
  • the actual designated position acquisition unit 102 moves the actual designated position to the user side by the distance y associated with the current relative position ⁇ . Also by doing this, it is possible to suppress the movement amount of the input position with respect to the operation amount.
  • the position detection device 20 may be arranged at a position where a hand that is an example of an object can be detected. What is necessary is just to be arrange
  • the position detection device 20 may be disposed on the left, right, or bottom of the large display.
  • the position detection device 20 may be worn by the user.
  • the position detection device 20 may be provided on the glasses. That is, the position detection device 20 may be wearable.
  • the information processing device 10 may estimate the position of the user with respect to the screen based on the size and distortion of the screen detected by the position detection device 20. For example, it is assumed that data indicating the relationship between the position of the user with respect to the screen and the size and distortion of the screen when the screen is viewed from that position is registered in the data storage unit 100 in advance. This data may be in the form of a mathematical formula or may be data other than a mathematical formula.
  • the information processing apparatus 10 may compare the screen detected by the position detection apparatus 20 with the data, and estimate the position of data with the highest matching degree as the current position of the user. If the information processing apparatus 10 can estimate the position of the user with respect to the screen, the position of the user's hand viewed from the position detection apparatus 20 can be acquired.
  • the subsequent processing may be the same as the processing described in the embodiment and the above modification.
  • the current actual instruction position is set as the input position.
  • the input position that has just entered the instruction state is It does not have to be the indicated position.
  • a position shifted by a predetermined distance from the actual designated position may be set as the input position, or an arbitrary position within the area including the actual designated position may be set as the input position.
  • the actual designated position or the like is specified based on the part information indicating the three-dimensional coordinates of each part of the user has been described, but information that can identify the position of the user's hand or the like may be used. There is no need to use three-dimensional coordinates.
  • the position of each part of the user may indicate two-dimensional coordinates, or may be indicated by vector information when viewed from the position detection device 20.
  • the relative position acquisition unit 103 may acquire the relative position with reference to any part of the body such as the user's neck, chest, spine, or waist.
  • the relative position acquisition unit 103 may acquire the relative position on the basis of a part other than the hand such as an elbow or a shoulder in addition to the trunk.
  • the case where the input position is acquired based on the change in the relative position of the hand with respect to the user has been described.
  • the object is other than the hand, and the user wants to point even without using the relative position. If the direction can be specified, the relative position may not be used.
  • the orientation (attitude) of the object can be detected.
  • the relative position need not be used.
  • the angle described as an example of the relative position may not be particularly used.
  • the input position may be acquired.
  • the case where the input position is determined so that the movement amount of the input position from the reference position is smaller than the movement amount of the actual designated position from the reference position has been described.
  • the input position may be determined without considering the amount of movement from the reference position. In this case, the amount of movement of the input position may be suppressed by setting the position closer to the user than the actual designated position as the input position.
  • the process of acquiring the input position is stopped when the user's hand is in the non-instruction state.
  • this process may remain executed even if the user's hand is in the non-instruction state.
  • the position acquired as the input position is a position outside the screen, so the pointer 40 is not displayed on the screen.
  • the actual designated position is set as the input position and the reference position.
  • the actual designated position when the user's hand is in a predetermined state may be used as the input position and the reference position, or the actual position when other operations are performed.
  • the designated position may be used as the input position and the reference position. Further, for example, in the embodiment, the case where the reference part for acquiring the actual designated position is the head has been described, but the reference part may be another part.
  • the reference part may be any part of the torso such as the user's neck, chest, spine, or waist, or may be a part other than the hand such as the elbow or the shoulder in addition to the torso.
  • the object may be a part other than the hand or an operation member other than the user's part.
  • a place described as a hand in the embodiment and the above-described modification can be read as an object.
  • the object when the object is a user's finger, the user may be able to input the input position by changing the direction of the finger. Even if the position of the object does not change, the indicated position may be changed by rotating on the spot.
  • the large display 30 has been described as an example of the screen, but the screen may be a plane on which an image is displayed, and may be a plane (for example, a screen or a wall) onto which the project light is projected.
  • the position detection device 20 may not include the depth sensor, and may estimate the depth from the size of the subject of the image captured by the camera.
  • the standard size of the user may be registered, and the position detection device 20 may estimate the depth by comparing the standard size with the size of the user captured in the image.
  • the position detection device 20 is wearable, the standard size of the screen is registered, and the position detection device 20 has the standard size screen and the size and distortion of the screen shot on the screen. The depth may be estimated by comparing the condition.
  • the information processing apparatus 10 may be integrated with the position detection apparatus 20.
  • the information processing apparatus 10 may be integrated with the large display 30.
  • the position detection device 20 includes a processor and a memory
  • the processing described as being executed by the information processing device 10 may be executed in the position detection device 20.
  • the position detection device 20 corresponds to the information processing device according to the present invention.
  • the large display 30 includes a processor and a memory
  • the processing described as being executed by the information processing apparatus 10 may be executed in the large display 30.
  • the large display 30 corresponds to the information processing apparatus according to the present invention.
  • the information processing apparatus 10 may be realized by a server computer.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

ユーザがオブジェクトを画面に向けることで画面上の入力位置を入力可能なユーザインタフェースにおける操作性を向上させる。情報処理装置(10)の実指示位置取得手段(102)は、画面に向けられたオブジェクトが実際に指し示す実指示位置であって、前記画面を含む平面上にある実指示位置を取得する。相対位置取得手段(103)は、実指示位置に対するユーザの相対位置を取得する。入力位置取得手段(104)は、オブジェクトの現在位置に対応する画面上の入力位置を取得する手段であって、ユーザがオブジェクトを動かした場合に、相対位置に基づいて、操作量に対する入力位置の移動量を抑制可能である。処理実行手段(105)は、入力位置取得手段(104)により取得された入力位置に基づいて、所定の処理を実行する。

Description

情報処理装置、情報処理方法、及びプログラム
 本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
 従来、ユーザが手やコントローラなどのオブジェクトを画面に向けることによって、画面上の入力位置を入力可能なユーザインタフェースに関する技術が知られている。例えば、特許文献1には、ユーザの体の位置と手の位置を検出し、ユーザが手を画面にかざした場合に、体から手に向けた線と画面との交点を入力位置とする装置が記載されている。
特表2004-522220号公報
 しかしながら、特許文献1の技術では、ユーザの操作量(手の移動量)に対する入力位置の移動量は、入力位置に対するユーザの相対位置によって決まるので、当該相対位置によってユーザの操作感が大きく変わる。例えば、ユーザが画面に向かって左側に立っていたとすると、ユーザが正面付近に手をかざしている場合は、入力位置に対するユーザの位置の角度的な関係により、操作量に対する入力位置の移動量は小さいので、入力位置の微調整が可能である。一方、ユーザが右斜め前に手をかざした後で更に右に手を動かす場合は、入力位置に対するユーザの位置の角度的な関係により、操作量に対する入力位置の移動量は大きいので、入力位置の微調整が難しい。このため、特許文献1の技術では、入力位置に対するユーザの相対位置次第では、入力位置の微調整が難しくなるので、ユーザの操作性を充分に向上させることができない。
 本発明は上記課題に鑑みてなされたものであって、その目的は、ユーザがオブジェクトを画面に向けることで画面上の入力位置を入力可能なユーザインタフェースにおける操作性を向上させることである。
 上記課題を解決するために、本発明に係る情報処理装置は、画面に向けられたオブジェクトが実際に指し示す実指示位置であって、前記画面を含む平面上にある実指示位置を取得する実指示位置取得手段と、前記実指示位置に対するユーザの相対位置を取得する相対位置取得手段と、前記オブジェクトの現在位置に対応する前記画面上の入力位置を取得する手段であって、前記ユーザが前記オブジェクトを動かした場合に、前記相対位置に基づいて、操作量に対する前記入力位置の移動量を抑制可能な入力位置取得手段と、前記入力位置取得手段により取得された入力位置に基づいて、所定の処理を実行する処理実行手段と、を含むことを特徴とする。
 本発明に係る情報処理方法は、画面に向けられたオブジェクトが実際に指し示す実指示位置であって、前記画面を含む平面上にある実指示位置を取得する実指示位置取得ステップと、前記実指示位置に対するユーザの相対位置を取得する相対位置取得ステップと、前記オブジェクトの現在位置に対応する前記画面上の入力位置を取得する手段であって、前記ユーザが前記オブジェクトを動かした場合に、前記相対位置に基づいて、操作量に対する前記入力位置の移動量を抑制可能な入力位置取得ステップと、前記入力位置取得ステップにより取得された入力位置に基づいて、所定の処理を実行する処理実行ステップと、を含むことを特徴とする。
 本発明に係るプログラムは、画面に向けられたオブジェクトが実際に指し示す実指示位置であって、前記画面を含む平面上にある実指示位置を取得する実指示位置取得手段、前記実指示位置に対するユーザの相対位置を取得する相対位置取得手段、前記オブジェクトの現在位置に対応する前記画面上の入力位置を取得する手段であって、前記ユーザが前記オブジェクトを動かした場合に、前記相対位置に基づいて、操作量に対する前記入力位置の移動量を抑制可能な入力位置取得手段、前記入力位置取得手段により取得された入力位置に基づいて、所定の処理を実行する処理実行手段、としてコンピュータを機能させる。
 また、本発明に係る情報記憶媒体は、上記のプログラムが記憶されたコンピュータ読み取り可能な情報記憶媒体である。
 また、本発明の一態様では、前記入力位置取得手段は、前記オブジェクトが前記画面を指し示していない非指示状態から前記画面を指し示す指示状態になった場合は、現在の前記実指示位置を、前記入力位置として取得し、前記オブジェクトが前記指示状態になった後に、前記ユーザが前記オブジェクトを動かした場合に、前記入力位置の移動量を抑制可能である、ことを特徴とする。
 また、本発明の一態様では、前記入力位置取得手段は、前記オブジェクトが前記非指示状態から前記指示状態になった場合の前記実指示位置を、基準位置として取得し、前記オブジェクトが前記指示状態になった後に、前記ユーザが前記オブジェクトを動かした場合に、前記相対位置に基づいて、前記基準位置からの前記入力位置の移動量を抑制可能である。
 また、本発明の一態様では、前記情報処理装置は、前記オブジェクトの位置を示す3次元座標と、前記ユーザの位置を示す3次元座標と、を取得する3次元座標取得手段を更に含み、前記実指示位置取得手段は、前記オブジェクトの3次元座標に基づいて前記実指示位置を取得し、前記相対位置取得手段は、前記ユーザの3次元座標に基づいて前記相対位置を取得し、前記入力位置取得手段は、前記オブジェクトの3次元座標に基づいて、前記入力位置を取得する、ことを特徴とする。
 また、本発明の一態様では、前記実指示位置は、前記ユーザの頭の位置から前記オブジェクトの位置に向けた方向によって定まる前記画面上の位置であり、前記相対位置は、前記実指示位置に対する前記ユーザの頭の相対位置である、ことを特徴とする。
 また、本発明の一態様では、前記入力位置取得手段は、前記ユーザが前記オブジェクトを動かした場合、前記ユーザに対する前記オブジェクトの相対位置の変化に基づいて、前記入力位置を取得する、ことを特徴とする。
 また、本発明の一態様では、前記入力位置取得手段は、前記ユーザが前記オブジェクトを動かした場合に、前記ユーザに対して前記オブジェクトが動いた角度に基づいて、前記入力位置を取得する、ことを特徴とする。
 また、本発明の一態様では、前記情報処理装置は、前記ユーザが移動したかを判定する移動判定手段を更に含み、前記相対位置取得手段は、前記ユーザが移動したと判定された場合に、前記相対位置を取得し直し、前記入力位置取得手段は、取得し直された前記相対位置に基づいて、前記入力位置を取得し直す、ことを特徴とする。
 また、本発明の一態様では、前記入力位置取得手段は、前記オブジェクトが前記指示状態になった後に、前記ユーザが前記オブジェクトを動かした場合に、前記基準位置からの現在の前記実指示位置の移動量よりも、前記基準位置からの現在の前記入力位置の移動量が小さくなるように、前記入力位置を取得する、ことを特徴とする。
 また、本発明の一態様では、前記入力位置取得手段は、前記オブジェクトが前記指示状態になった後に、再び前記非指示状態になった場合に、前記入力位置を取得する処理を停止し、前記オブジェクトが再び前記非指示状態になった後に、再び前記指示状態になった場合に、現在の前記実指示位置を、新たな前記入力位置及び前記基準位置として取得し直す、ことを特徴とする。
 また、本発明の一態様では、前記入力位置取得手段は、前記オブジェクトが前記非指示状態から前記指示状態になり、かつ、前記指示状態のまま前記オブジェクトの位置が一定時間以上維持された場合に、現在の前記実指示位置を、前記入力位置及び前記基準位置として取得する。
 また、本発明の一態様では、前記所定の処理は、前記画面において前記入力位置を識別可能にする画像処理である、ことを特徴とする。
 また、本発明の一態様では、前記入力位置取得手段は、前記オブジェクトが前記指示状態になった後に、所定の条件が満たされた場合に、現在の前記実指示位置を、新たな前記入力位置及び前記基準位置として取得し直し、前記情報処理装置は、前記ユーザが前記入力位置を注視しているかを判定する注視判定手段を更に含み、前記入力位置取得手段は、前記ユーザが前記入力位置を注視していると判定した場合は、前記所定の条件が満たされても、現在の実指示位置を入力位置及び基準位置とする処理は実行せず、前記ユーザが前記入力位置を注視していないと判定され、かつ、前記所定の条件が満たされた場合に、現在の実指示位置を入力位置及び基準位置とする処理を実行する、ことを特徴とする。
 また、本発明の一態様では、前記入力位置取得手段は、前記ユーザが前記オブジェクトを動かした場合に、前記オブジェクトの速度に基づいて、前記入力位置を取得する、ことを特徴とする。
 また、本発明の一態様では、前記入力位置手段は、前記オブジェクトが前記指示状態になり、かつ、所定の状態になった場合に、現在の前記実指示位置を前記入力位置及び前記基準位置として取得し、前記オブジェクトが前記所定の状態を維持したまま、前記ユーザが前記オブジェクトを動かした場合に、前記基準位置に基づいて前記入力位置を取得し、前記オブジェクトの前記所定の状態が解除された場合に、前記入力位置を取得する処理を終了する、ことを特徴とする。
 また、本発明の一態様では、前記オブジェクトは、前記ユーザの手であり、前記実指示位置は、前記ユーザの基準部位の位置から前記手の位置に向けた方向に基づいて定まる前記画面上の位置であり、前記相対位置は、前記実指示位置に対する前記基準部位の相対位置である、ことを特徴とする。
 本発明によれば、ユーザがオブジェクトを画面に向けることで画面上の入力位置を入力可能なユーザインタフェースにおける操作性を向上させることが可能になる。
情報処理システムの全体構成を示す図である。 情報処理システムが利用される場面を示す図である。 従来技術の課題の一例をより詳しく説明するための図である。 従来技術の課題の一例をより詳しく説明するための図である。 情報処理装置が実行する処理の概要を説明するための図である。 情報処理装置が実行する処理の概要を説明するための図である。 情報処理システムで実現される機能の一例を示す機能ブロック図である。 情報処理装置において実行される処理の一例を示すフロー図である。 変形例における機能ブロック図である。 変形例(2)における関係データのデータ格納例を示す図である。 変形例(4)における入力位置の取得方法を示す図である。
[1.情報処理システムのハードウェア構成]
 以下、本発明に関わる情報処理装置を含む情報処理システムの実施形態の例を説明する。図1は、情報処理システムの全体構成を示す図である。図1に示すように、情報処理システム1は、情報処理装置10、位置検出装置20、及び大型ディスプレイ30を含む。情報処理装置10、位置検出装置20、及び大型ディスプレイ30は、それぞれ有線又は無線によりネットワークを介して通信可能に接続されるようにしてよい。
 情報処理装置10は、情報処理が可能なコンピュータであり、例えば、パーソナルコンピュータ、サーバコンピュータ、携帯情報端末(タブレット型コンピュータを含む)、又は携帯電話機(スマートフォンを含む)等である。情報処理装置10は、制御部11、記憶部12、通信部13、操作部14、及び表示部15を含む。
 制御部11は、例えば、少なくとも1つのマイクロプロセッサを含む。制御部11は、記憶部12に記憶されたプログラムやデータに従って処理を実行する。記憶部12は、主記憶部及び補助記憶部を含む。例えば、主記憶部はRAMなどの揮発性メモリであり、補助記憶部は、ハードディスクやフラッシュメモリなどの不揮発性メモリである。通信部13は、有線通信又は無線通信用の通信インタフェースを含み、例えば、ネットワークを介してデータ通信を行う。操作部14は、プレイヤが操作を行うための入力デバイスであり、例えば、タッチパネルやマウス等のポインティングデバイスやキーボード等である。操作部14は、プレイヤによる操作内容を制御部11に伝達する。表示部15は、例えば、液晶表示部又は有機EL表示部等である。表示部15は、制御部11の指示に従って画面を表示する。
 なお、記憶部12に記憶されるものとして説明するプログラム及びデータは、ネットワークを介してこれらに供給されるようにしてもよい。また、情報処理装置10のハードウェア構成は、上記の例に限られず、種々のコンピュータのハードウェアを適用可能である。例えば、情報処理装置10は、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、光ディスクドライブやメモリカードスロット)や外部機器と直接的に接続するための入出力部(例えば、USBポートや映像入出力端子)を含んでもよい。この場合、情報記憶媒体に記憶されたプログラムやデータが読取部又は入出力部を介して、情報処理装置10に供給されるようにしてもよい。
 位置検出装置20は、空間に配置された物体の位置を検出する機器である。本実施形態では、位置検出装置20が3次元的(立体的)な位置を検出する場合を説明するが、2次元的(平面的)な位置のみを検出可能でもよい。例えば、位置検出装置20は、入力位置を入力するためのオブジェクトの位置を検出する。入力位置は、情報処理装置10に対して入力される画面上の位置(即ち、ユーザが指示した位置)であり、情報処理装置10が認識する画面上の位置といえる。入力位置は、一般的なポインティングデバイスで入力される位置と同様の意味である。
 オブジェクトは、位置検出装置20で位置を検出可能な物体であり、ユーザがその位置及び向きの少なくとも一方を変更可能な物体であればよい。別の言い方をすれば、オブジェクトは、ユーザが画面に向けるものであり、画面を指し示すものであればよい。オブジェクトは、ユーザ自身であってもよいし、ユーザ以外の指示部材であってもよい。オブジェクトがユーザ自身である場合には、ユーザの所定部位がオブジェクトに相当し、例えば、手、指、手首、腕、又は足などであってよい。なお、ユーザの部位とは、人体の一部分のことであり、四肢、胴体、及び頭だけでなく、身体の内側の関節や骨も含む意味である。オブジェクトがユーザ以外の指示部材である場合、ユーザが把持する部材がオブジェクトに相当してもよいし、ユーザの四肢の何れかに固定された部材がオブジェクトに相当してもよく、例えば、棒、ペン、又は入力デバイスなどであってよい。入力デバイスは、一般的なポインティングデバイスであってもよく、入力デバイスの変位や姿勢を検出可能なジャイロセンサや加速度センサを内蔵していてもよい。
 本実施形態では、ユーザの手がオブジェクトに相当する場合を説明する。このため、ユーザは、自分の手を使って入力位置を入力可能であり、手を動かすことで入力位置を移動可能である。なお、位置検出装置20は、オブジェクトである手以外の部位の位置も検出可能であってよい。例えば、位置検出装置20は、ユーザの複数の部位の各々の位置を検出可能な位置検出センサを含み、各部位の位置の3次元座標を生成可能であってよい。位置検出センサは、CCDイメージセンサ又はCMOSイメージセンサなどの撮像素子、赤外線センサなどの深度センサ、又は、これらを兼ね備えたRGBDカメラなどであってよく、例えば、ユーザの骨格の3次元座標を検出可能なKinect(登録商標)センサであってもよい。
 なお、被写体の3次元座標を検出する方法自体は、公知の種々の手法を適用可能であり、例えば、赤外線パターンのゆがみを利用するライトコーディング方式を利用してもよいし、赤外線の飛行時間を利用する飛行時間方式を利用してもよい。ここでは、被写体がユーザ(即ち、人間)であるので、位置検出装置20は、ユーザ表面の水平方向の位置及び奥行を示す深度画像に基づいて、ユーザの各部位の3次元座標を取得する。位置検出装置20が3次元座標を検出する部位は、公知の骨格抽出方法により抽出可能な部位であればよく、例えば、頭や手などであってよい。
 また、位置検出装置20は、有線通信又は無線通信用の通信インタフェースを含み、ユーザの各部位の3次元座標を示す部位情報を情報処理装置10に対して出力可能となっている。例えば、位置検出装置20は、所定のフレームレート(例えば、30fps)のもとで部位情報を生成する。別の言い方をすれば、情報処理装置10は、一定時間(例えば、1/30秒)ごとに、位置検出装置20が生成した最新の部位情報を取得可能である。なお、特にフレームレートが設定されておらず、位置検出装置20は、情報処理装置10の要求に応じて不定期的に部位情報を生成するようにしてよい。
 大型ディスプレイ30は、少なくとも1つの液晶表示装置又は有機EL表示装置である。大型ディスプレイ30の画面サイズ及びアスペクト比は任意であってよいが、ここでは、横幅が数メートル~数十メートル程度の大きさであるものとする。なお、大型ディスプレイ30は、単体の表示装置のみから構成されるようにしてもよいし、複数の表示装置を並べて配置したマルチディスプレイ方式のものであってもよい。大型ディスプレイ30は、有線通信又は無線通信用の通信インタフェースを含み、情報処理装置10又は他のコンピュータから受信した画像を表示可能である。例えば、大型ディスプレイ30は、情報処理装置10の表示部15に表示された画像と同じ画像を表示可能であってよい。
[2.情報処理装置が実行する処理の概要]
 次に、情報処理装置10が実行する処理の概要を説明する。図2は、情報処理システム1が利用される場面を示す図である。図2に示すように、例えば、大型ディスプレイ30の上面中央付近に位置検出装置20が配置され、ユーザは、情報処理装置10を操作し、大型ディスプレイ30に資料を映し出してプレゼンテーションをする。なお、本実施形態では、位置検出装置20を原点Oとするワールド座標系(あるいはビュー座標系)の座標軸であるX軸-Y軸-Z軸と、大型ディスプレイ30の画面左上を原点Oとするスクリーン座標系の座標軸であるX軸-Y軸と、が設定されるものとする。また、位置検出装置20と大型ディスプレイ30は、事前に伽リブレーションされており、位置検出装置20の画角におけるユーザ及び画面の関係を把握可能となっている。
 情報処理装置10は、位置検出装置20から取得した部位情報を参照し、ユーザの手が画面に向いたことを検知すると、画面上にポインタ40を表示させる。ユーザは、ポインタ40を利用して、資料のうち説明中の部分を示すことができる。先述したように、ユーザの体から手に向けて伸ばした線と画面との交点を入力位置としてポインタ40を表示させると、入力位置に対するユーザの相対位置次第では、角度的な問題からポインタ40の表示位置の微調整が難しくなり、操作性を向上させることができない。
 図3及び図4は、従来技術の課題の一例をより詳しく説明するための図である。図3は、ユーザがいる空間を上から見た様子を示している。また、ここでは、入力位置を決める際の基準となる体の位置を、ユーザの頭とする。図3に示すように、ユーザの手の位置をFp1とし、ユーザの頭の位置をHとすると、従来技術では、入力位置Pは、頭Hから手Fp1に向けて伸ばした線Lと、大型ディスプレイ30の画面と、の交点となる。その後、ユーザが右方向に角度Δθだけ手を移動させた場合の手の位置をFp2とすると、その場合の入力位置Pは、頭Hから手FP2に向けて伸ばした線Lと、大型ディスプレイ30の画面と、の交点となる。この場合の入力位置の移動量(即ち、入力位置PとPの距離)は、図3のx12で示される。
 なお、本実施形態では、入力位置Pに対するユーザの相対位置を示す角度をθとする。頭Hから画面に下ろした垂線の足の位置をSとすると、相対位置θは、∠SH(=∠SHp1)となる。また、頭Hと垂線の足Sとの距離をaとし、垂線の足Sと入力位置Pとの距離をbとすると、移動量x12、相対位置θ、及びユーザの操作量であるΔθとの関係は、下記の式により表すことができる。
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000003
Figure JPOXMLDOC01-appb-M000004
Figure JPOXMLDOC01-appb-M000005
 例えば、操作量Δθが1°(以降、単位操作量という。)である場合の入力位置の移動量をΔx(以降、単位移動量という。)とすると、上記の数式5により、相対位置θと単位移動量Δxとの関係は、図4のように表すことができる。図4に示すように、従来技術では、角度θが大きくなると、単位移動量Δxは飛躍的に大きくなるので、入力位置の微調整が難しくなる。このため、本実施形態の情報処理装置10は、角度θが大きくなった場合の単位移動量Δxを抑制している。
 図5及び図6は、情報処理装置10が実行する処理の概要を説明するための図である。図5は、図3と同様に、ユーザがいる空間を上から見た様子を示す。図5に示すように、ユーザが手を画面に向けたばかりのときは、従来と同様に、頭Hから手Fp3に向けて伸ばした線Lと、大型ディスプレイ30の画面と、の交点を入力位置Pとしてよい。ただし、その後にユーザが手を動かした場合は、入力位置が従来とは異なる。例えば、ユーザが右方向に角度Δθだけ手を移動させた場合の手の位置をFp4とすると、頭Hから手Fp4に向けて伸ばした線Lと、大型ディスプレイ30の画面と、の交点の位置Pよりも、入力位置Pは、ユーザから見て手前側となる。この場合の入力位置の移動量x35(即ち、入力位置PとPの距離)は、従来技術の移動量x12よりも小さくなるように抑制されている。
 本実施形態では、入力位置の移動量を抑制するために、角度θと単位移動量Δxとの関係は、図6の実線ように定義されている。この関係は、例えば、数式5のθを「n×θ」(nは、1より大きな任意の数であり、例えば、1.1~2.0程度であってもよい。)とすることで定義してよい。なお、図6では、対比のために、従来技術における関係(即ち、図4の実線)を破線で示している。図6に示すように、本実施形態では、相対位置θの角度が大きい場合の単位移動量Δxを小さくし、角度θが大きくなったとしても入力位置の微調整を可能にすることによって、操作性を向上させている。以降、この技術の詳細を説明する。
[3.本実施形態において実現される機能]
 図7は、情報処理システム1で実現される機能の一例を示す機能ブロック図である。図7に示すように、本実施形態では、データ記憶部100、3次元座標取得部101、実指示位置取得部102、相対位置取得部103、入力位置取得部104、処理実行部105、及び移動判定部106が、情報処理装置10で実現される。なお、以降では、特に図面を参照する必要のないときは、頭Hや相対位置θなどの符号を省略する。
[3-1.データ記憶部]
 データ記憶部100は、記憶部12を主として実現される。データ記憶部100は、入力位置の移動量を抑制するために必要なデータを記憶する。ここでは、そのデータの一例として、相対位置θと単位移動量Δxとの関係(図6)を示す関係データを説明する。関係データは、数式形式(例えば、数式5)であってもよいし、テーブル形式であってもよいし、プログラムコードの一部として記述されていてもよい。関係データがプログラムコードの一部である場合には、相対位置θを引数として入力すると、それに対応する単位移動量Δxを戻り値として返す関数であってよい。
 なお、データ記憶部100に記憶されるデータは上記の例に限られない。例えば、データ記憶部100は、位置検出装置20が生成した部位情報の履歴を記憶してもよい。また例えば、データ記憶部100は、ワールド座標系の空間における大型ディスプレイ30の画面の位置(例えば、画面の4隅の座標)を定義した座標データを記憶してもよい。また例えば、データ記憶部100は、ポインタ40の画像データを記憶してもよい。
[3-2.3次元座標取得部]
 3次元座標取得部101は、制御部11を主として実現される。3次元座標取得部101は、位置検出装置20から、ユーザの各部位の3次元座標を示す部位情報を取得する。部位情報は、ユーザの手の位置を示す3次元座標を含むので、3次元座標取得部101は、ユーザの手の位置を示す3次元座標を取得することになる。
 部位情報は、ユーザの手だけでなく、ユーザの位置の3次元座標を含むので、3次元座標取得部101は、ユーザの位置を示す3次元座標も取得する。ここでのユーザの位置とは、手以外の部位であり、相対位置又は入力位置を決めるために参照される位置である。本実施形態では、当該部位を基準部位という。本実施形態のようにユーザの手がオブジェクトに相当する場合、ユーザが指し示す方向は、手の位置だけでは特定できないので、この方向を特定するために基準部位を利用する。
 基準部位は、手以外の任意の部位であればよいが、例えば、手と連動しない部位であってよく、頭、首、胸、背骨、又は腰などであってよい。本実施形態では、ユーザの頭が基準部位である場合を説明する。このため、3次元座標取得部101は、ユーザの手の位置を示す3次元座標と、ユーザの頭の位置を示す3次元座標と、を取得することになる。
[3-3.実指示位置取得部]
 実指示位置取得部102は、制御部11を主として実現される。実指示位置取得部102は、ユーザにより画面に向けられた手が実際に指し示す実指示位置であって、画面を含む平面上にある実指示位置を取得する。実指示位置は、空間において、ユーザによって画面が物理的に指し示されている位置であり、例えば、ユーザの手の位置から指し示す方向に向けて伸ばした線と画面との交点である。実指示位置は、ワールド座標系の3次元座標で示されてもよいし、スクリーン座標系の2次元座標で示されてもよい。本実施形態では、実指示位置は、3次元座標で示されるものとする。また、実指示位置は、必ずしも画面上にある必要はなく、画面を含む平面上にあればよい。画面を含む平面は、画面と一致していてもよいし、画面とその周囲を含む平面であってもよい。即ち、実指示位置は、画面の内側と外側の何れにあってもよく、例えば、実指示位置取得部102は、ユーザが画面の外を指し示したとしても、画面の外の実指示位置を取得可能であってよい。
 実指示位置取得部102は、ユーザの手の位置に基づいて実指示位置を取得する。本実施形態では、手の3次元座標を取得可能なので、実指示位置取得部102は、ユーザの手の3次元座標に基づいて実指示位置を取得する。また、ユーザの頭が基準部位に相当するので、実指示位置取得部102は、ユーザの手の3次元座標と、ユーザの頭の位置の3次元座標と、に基づいて実指示位置を取得することになる。このため、例えば、実指示位置は、ユーザの頭の位置から手の位置に向けた方向によって定まる画面上の位置であってよい。なお、本実施形態では、図5に示すユーザの頭Hから手Fに向けて伸ばした線Lと画面との交点をそのまま実指示位置とするが、当該交点から所定距離以内の点を実指示位置としてもよい。即ち、実指示位置は、当該交点と一致しなくてもよい。
[3-4.相対位置取得部]
 相対位置取得部103は、制御部11を主として実現される。相対位置取得部103は、実指示位置に対するユーザの相対位置を取得する。相対位置は、実指示位置とユーザとの位置関係であり、ユーザがどこから画面を指し示しているかである。別の言い方をすれば、相対位置は、実指示位置から伸びる画面上の垂線とユーザとのずれ具合であり、画面に対するユーザの位置ともいえる。相対位置は、実指示位置から見た場合のユーザの位置を特定可能な情報で表されるようにすればよく、ベクトルや座標値で表現されてもよいが、ここでは、角度(例えば、図5のθ)が用いられるものとする。相対位置取得部103は、実指示位置に対するユーザの任意の部位の相対位置を取得すればよく、ここでは、実指示位置に対するユーザの頭の相対位置を取得する。
 例えば、相対位置取得部103は、ユーザの3次元座標に基づいて相対位置を取得する。本実施形態では、ユーザの頭が基準部位であるので、相対位置取得部103は、ユーザの頭の3次元座標に基づいて相対位置を取得することになる。例えば、相対位置取得部103は、3次元座標取得部101が取得したユーザの頭の3次元座標から、大型ディスプレイ30の画面(ここでは、X-Y平面とする。)に下ろした垂線の足S(図5)の3次元座標を取得する。そして、相対位置取得部103は、垂線の足Sの3次元座標と、ユーザの頭Hの3次元座標と、実指示位置又は手Fの3次元座標と、のなす角度θを、相対位置として取得する。
[3-5.入力位置取得部]
 入力位置取得部104は、制御部11を主として実現される。入力位置取得部104は、ユーザの手の現在位置に対応する画面上の入力位置を取得する。入力位置取得部104は、ユーザの手の現在位置に基づいて入力位置を取得し、ユーザの手が動いた場合に入力位置を移動させる。
 本実施形態では、手の3次元座標を取得可能なので、入力位置取得部104は、ユーザの手の3次元座標に基づいて、入力位置を取得する。入力位置は、ワールド座標系の3次元座標で示されてもよいし、スクリーン座標系の2次元座標で示されてもよい。本実施形態では、入力位置は、3次元座標で示されるものとする。なお、入力位置取得部104は、定期的に入力位置を取得してもよいし、不定期的に入力位置を取得してもよい。
 本実施形態では、入力位置取得部104は、ユーザの手が画面を指し示していない非指示状態から画面を指し示す指示状態になった場合は、現在の実指示位置を、入力位置P(図5)として取得する。非指示状態は、ユーザの手が画面に向いていない状態であり、実指示位置が画面内にない状態である。指示状態は、ユーザの手が画面に向いた状態であり、実指示位置が画面内にある状態である。
 例えば、入力位置取得部104は、ユーザの手の現在位置に基づいて、非指示状態であるか指示状態であるかを判定する。例えば、指示状態になった場合に実指示位置が取得可能になるので、入力位置取得部104は、実指示位置が取得されない場合は非指示状態であると判定し、実指示位置が取得される場合は指示状態であると判定するようにしてよい。
 入力位置取得部104は、ユーザが手を動かした場合に、相対位置に基づいて、操作量に対する入力位置の移動量を抑制可能である。先述したように、本実施形態では、非指示状態から指示状態になったばかりの時点では、実指示位置がそのまま入力位置となるので、入力位置取得部104は、ユーザの手が指示状態になった後に、ユーザが手を動かした場合に、入力位置の移動量を抑制可能である。
 操作量は、オブジェクトの一例である手の移動量(位置的な変位量)又は回転量(角度的な変位量)である。入力位置の移動量は、オブジェクトの一例である手が移動する前の入力位置と、手が移動した後の入力位置と、の距離である。抑制とは、オブジェクトの一例である手が移動した場合に、実指示位置の移動量よりも入力位置の移動量を小さくすることである。別の言い方をすれば、抑制とは、ユーザから見て実指示位置よりも手前側の位置を入力位置とすることである。
 本実施形態では、入力位置取得部104は、ユーザの手が非指示状態から指示状態になった場合の実指示位置(図5ではP)を、基準位置として取得する。ここでは、非指示状態から指示状態になった場合の入力位置は実指示位置と同じなので、基準位置も、この時点の入力位置と同じとなる。このため、基準位置は、初期入力位置ということもでき、入力位置の移動の起点となる位置ということもできる。基準位置は、データ記憶部100に保持される。
 例えば、入力位置取得部104は、ユーザの手が指示状態になった後に、ユーザが手を動かした場合に、相対位置に基づいて、基準位置からの入力位置の移動量を抑制可能である。具体的には、まず、入力位置取得部104は、関係データに基づいて、現在の相対位置θに対応する単位移動量Δxを取得する。次いで、入力位置取得部104は、ユーザの手の位置変化に基づいて操作量Δθを取得し、操作量Δθと単位移動量Δxとに基づいて、基準位置からの入力位置の移動量xを決定する。
 先述したように関係データには、実指示位置の移動量よりも入力位置の移動量xの方が小さくなるように(即ち、移動量xが抑制されるように)単位移動量Δxが定義されているので、入力位置取得部104は、上記のように入力位置を計算することで、移動量xを抑制可能となる。例えば、入力位置取得部104は、相対位置θが小さいほど抑制具合を小さくし、相対位置θが大きいほど抑制具合を大きくしてよい。即ち、入力位置取得部104は、ユーザが実指示位置に対して正面に近いほど抑制具合を小さくし、実指示位置が当該正面から遠いほど抑制具合を大きくする。なお、入力位置の移動方向は、ユーザの手の位置が変化した方向又は実指示位置が変化した方向に基づいて決定されるようにすればよい。
 上記のように、本実施形態では、ユーザの手が頭に対して動いた操作量Δθに基づいて入力位置が決まるので、入力位置取得部104は、ユーザが手を動かした場合、ユーザに対する手の相対位置の変化に基づいて、入力位置を取得することになる。ユーザに対する手の相対位置とは、ユーザと手との位置関係であり、ユーザから見て手がどこにあるかである。相対位置は、ユーザから見た場合の手の位置を特定可能な情報で表されるようにすればよく、ベクトルや座標値で表現されてもよいが、上記のように、ここでは、角度であるΔθが用いられるものとする。即ち、入力位置取得部104は、ユーザが手を動かした場合に、ユーザに対して手が動いた角度Δθに基づいて、入力位置を取得することになる。入力位置取得部104は、ユーザの任意の部位に対する手の相対位置を取得すればよく、ここでは、先述したように、ユーザの頭に対する手の相対位置を取得することになる。
 また、入力位置取得部104は、ユーザの手が指示状態になった後に、ユーザが手を動かした場合に、基準位置(図5のP)からの現在の実指示位置(図5のP)の移動量よりも、基準位置からの現在の入力位置(図5のP)の移動量が小さくなるように、入力位置を取得することになる。移動量をどれだけ小さくするかは、任意であってよいが、ここでは、角度θが大きくなるほど、実指示位置の移動量と入力位置の移動量との差が大きくなり、入力位置の移動量の抑制具合が大きくなる。
 なお、入力位置取得部104は、ユーザの手が指示状態になった後に、再び非指示状態になった場合に、入力位置を取得する処理を停止するようにしてもよい。そして、入力位置取得部104は、ユーザの手が再び非指示状態になった後に、再び指示状態になった場合に、現在の実指示位置を、新たな入力位置及び基準位置として取得し直すようにしてもよい。指示状態及び非指示状態を判定する方法は、先述した通りである。入力位置取得部104は、ユーザの手が指示状態から非指示状態になったと判定された場合は、入力位置を取得する処理を実行せず、その後再び指示状態になったと判定された場合に、入力位置を取得する処理を再開することになる。
 なお、ユーザが手を下ろした状態から手を上げて画面を指し示す場合、手が下から徐々に上に移動するので、ユーザが指し示したい位置に到達する前に、手が画面の下端部付近を指し示すことになる。このため、厳密には、指示状態が開始する位置は、必ず画面の端部となってしまうので、入力位置取得部104は、ユーザの手が非指示状態から指示状態になり、かつ、指示状態のまま手の位置が一定時間以上維持された場合に、現在の実指示位置を、入力位置及び基準位置として取得するようにしてもよい。
 手の位置が維持されるとは、手の位置が全く変わらないこと又は手の位置が略変わらないことを意味する。手の位置が略変わらないとは、手の位置の移動量が閾値未満であり、一定範囲内に手が留まることを意味する。一定時間は、予め定められた任意の時間(例えば、1秒)であればよく、固定値であってもよいし、可変値であってもよい。入力位置取得部104は、手の位置変化に基づいて、手の位置が維持されたかを判定し、維持されたと判定された場合に計時を開始して、一定時間が経過したかを判定する。入力位置取得部104は、計時中においても手の位置が維持されたかを判定し、手の位置が位置されていると判定されている間は計時を続け、手の位置が維持されないと判定された場合は計時を中止する。入力位置取得部104は、一定時間が経過したと判定された場合に、現在の実指示位置を入力位置及び基準位置として取得することになる。
[3-6.処理実行部]
 処理実行部105は、制御部11を主として実現される。処理実行部105は、入力位置取得部104により取得された入力位置に基づいて、所定の処理を実行する。本実施系形態では、所定の処理は、画面において入力位置を識別可能にする画像処理である。この画像処理は、例えば、入力位置又はその所定距離以内に画像を表示させる処理、入力位置又はその所定距離以内の色、輝度、若しくは透明度を変化させる処理、又は入力位置又はその所定距離以内に点滅などのエフェクトを施す処理である。本実施形態では、入力位置にポインタ40を表示させることが所定の処理に相当する。
 なお、所定の処理は、予め定められた任意の処理であればよく、上記画像処理以外の処理であってもよい。例えば、所定の処理は、画面に表示された画像(例えば、入力フォームやボタン)を選択する選択処理であってもよいし、仮想空間内の移動物体(例えば、3Dモデル)又は画面内の画像を移動させる移動制御処理であってもよい。また例えば、所定の処理は、ソフトウェアキーボードに対する入力処理であってもよいし、グラフィックソフトで絵を描く描画処理であってもよい。なお、画面上の複数の位置の各々と、複数の処理内容の各々と、を予め関連付けておき、入力位置に関連付けられた処理が所定の処理として実行されるようにしてもよい。
[3-7.移動判定部]
 移動判定部106は、制御部11を主として実現される。移動判定部106は、ユーザが移動したかを判定する。移動判定部106による判定対象となるユーザの部位は、任意の部位であってよく、ここでは、基準部位である頭とする。本実施形態では、移動判定部106は、部位情報の変化に基づいてユーザが移動したかを判定する。例えば、移動判定部106は、ユーザの頭の移動量が閾値以上である場合はユーザが移動したと判定し、ユーザの頭の移動量が閾値未満である場合はユーザが移動していないと判定する。頭の移動量は、ある一定期間(例えば、1秒間)における頭の位置変化を利用すればよい。
 相対位置取得部103は、移動判定部106によりユーザが移動したと判定された場合に、相対位置を取得し直す。相対位置取得部103は、現在の部位情報に基づいて、最新の相対位置を取得することになる。入力位置取得部104は、取得し直された相対位置に基づいて、入力位置を取得し直す。入力位置取得部104は、最新の相対位置に基づいて、入力位置を再び取得する。相対位置及び入力位置の取得方法は、先述した通りである。
[4.本実施形態において実行される処理]
 図8は、情報処理装置10において実行される処理の一例を示すフロー図である。図8に示す処理は、図7に示す機能ブロックにより実行される処理の一例であり、制御部11が、記憶部12に記憶されたプログラムに従って動作することによって実行される。図8に示す処理は、位置検出装置20のフレームレートに基づいて定まる一定時間(即ち、処理単位であるフレーム)ごとに実行されるものとする。なお、情報処理装置10のフレームと、位置検出装置20のフレームと、は同期されているものとする。
 図8に示すように、まず、制御部11は、通信部13を介して、位置検出装置20が生成した部位情報を取得する(S1)。S1においては、制御部11は、取得した部位情報を記憶部12に記録し、部位情報の履歴を記憶部12に保持する。
 制御部11は、ユーザの手が大型ディスプレイ30の画面を指し示しているかを識別するための状態フラグの値を参照する(S2)。状態フラグは、記憶部12に記憶されており、例えば、状態フラグが「0」であることは、ユーザの手が画面を指し示していないことを意味し、状態フラグが「1」であることは、ユーザの手が画面を指し示していることを意味する。なお、状態フラグの初期値は「0」とする。このため1つ目のフレームでは、状態フラグは「0」となっている。2つ目以降のフレームでは、状態フラグの値は、直近のフレームにおける手の状態を示すので、S2では、制御部11は、直近のフレームにおいて、ユーザの手が画面を指し示していたかを判定することになる。
 状態フラグが「0」である場合(S2;状態フラグが0)、制御部11は、S1で取得した部位情報に基づいて、大型ディスプレイ30の画面が指し示されたかを判定する(S3)。S3においては、制御部11は、部位情報が示すユーザの頭と手の3次元座標を参照し、頭から手に向けて伸ばした線が、大型ディスプレイ30の画面と交差するかを判定する。先述したように、大型ディスプレイ30の画面に対応するX-Y平面上の領域は、予め記憶部12に記憶されており、制御部11は、頭から手に向けて伸ばした線が、当該領域と交差するかを判定することになる。
 画面が指し示されたと判定された場合(S3;Y)、制御部11は、ユーザの手の位置が一定時間以上維持されたかを判定する(S4)。S4においては、制御部11は、部位情報の履歴を参照し、ユーザの手の移動量が閾値以内である状態が一定時間以上継続されているかを判定することになる。なお、画面が指し示されたと判定されない場合(S3;N)、又は、ユーザの手の位置が一定時間以上維持されたと判定されない場合(S4;N)、本処理は終了し、次のフレームが訪れた場合に再びS1の処理から実行される。
 ユーザの手の位置が一定時間以上維持されたと判定された場合(S4;Y)、制御部11は、状態フラグの値を「1」にし(S5)、S1で取得した部位情報に基づいて、実指示位置を計算して入力位置として取得する(S6)。S6においては、制御部11は、頭から手に向けて伸ばした線と、大型ディスプレイ30の画面と、の交点の3次元座標を計算する。本実施形態では、実指示位置が3次元座標で表されるので、制御部11は、交点の3次元座標をそのまま実指示位置とするが、実指示位置が2次元座標で表される場合は、交点の3次元座標をスクリーン座標系の2次元座標に変換すればよい。なお、ワールド座標系とスクリーン座標系の座標変換は、所定の行列式を用いればよい。
 制御部11は、S6で取得した入力位置に基づいてポインタ40を表示させる(S7)。なお、ポインタ40の画像データは、記憶部12に予め記憶されており、制御部11は、当該画像データに基づいて、入力位置にポインタ40を表示させる。
 制御部11は、S6で計算した実指示位置を、基準位置として記憶部12に一時的に保持する(S8)。保持された基準位置は、次のフレーム以降において入力位置を決定する際に参照される。
 制御部11は、S1で取得した部位情報に基づいて、相対位置θを取得する(S9)。S9においては、まず、制御部11は、ユーザの頭の3次元座標を参照し、画面上に下ろした垂線の足の3次元座標を取得する。そして、制御部11は、垂線の足の3次元座標と、ユーザの頭の3次元座標と、実指示位置又は手の3次元座標と、のなす角度θを、相対位置として取得する。
 制御部11は、記憶部12に記憶された関係データを参照し、S9で取得した相対位置θに対応する単位移動量Δxを取得して記憶部12に一時的に保持し(S10)、本処理は終了する。保持された単位移動量Δxは、次のフレーム以降において入力位置を決定する際に参照される。
 一方、S2において、状態フラグが「1」である場合(S2;状態フラグが1)、直近のフレームにおいてユーザの手が画面に向いており、ポインタ40が表示されていたことを意味する。この場合、制御部11は、S1で取得した部位情報に基づいて、ユーザの手が画面に向いたままであるかを判定する(S11)。S11の判定方法は、S3と同様である。
 ユーザの手が画面に向いたままであると判定された場合(S11;Y)、制御部11は、S1で取得した部位情報に基づいて、ユーザが動いたかを判定する(S12)。S12においては、制御部11は、部位情報の履歴に基づいて、ユーザの頭の3次元座標の移動量を取得し、当該移動量が閾値以上であるかを判定する。制御部11は、移動量が閾値以上である場合にユーザが動いたと判定し、移動量が閾値未満である場合にユーザが動いていないと判定する。なお、閾値は、予め定められた固定値であってもよいし、可変値であってもよい。
 ユーザが動いたと判定された場合(S12;Y)、S6の処理に移行する。この場合、制御部11は、S6において現在の実指示位置を入力位置として取得し、S7において当該入力位置にポインタ40を表示させる。ポインタの表示位置(即ち、入力位置)は、この時点で変わることになる。そして、制御部11は、S8において現在の実指示位置を基準位置として保持し直し、S9において角度θを計算してS10において単位移動量Δxを保持し直す。これら保持された基準位置及び単位移動量Δxは、次のフレーム以降において参照される。
 一方、ユーザが動いたと判定されない場合(S12;N)、制御部11は、S1で取得した部位情報に基づいて、ユーザの操作量Δθを取得する(S13)。制御部11は、基準位置の3次元座標と、ユーザの頭の3次元座標と、現在の実指示位置又は手の3次元座標と、のなす角度を、操作量Δθとして取得する。
 制御部11は、記憶部12に保持された基準位置及び単位移動量Δxと、S13で取得した操作量Δθと、に基づいて、入力位置を取得する(S14)。S14においては、まず、制御部11は、操作量Δθと単位移動量Δxとを乗算することで移動量xを計算する。先述したように、この移動量xは、実指示位置の移動量よりも小さい抑止された移動量となっている。そして、制御部11は、現在の実指示位置又は手の3次元座標に基づいて、移動方向を取得する。制御部11は、基準位置から、移動方向に対して移動量xだけ離れた位置を入力位置として取得する。
 制御部11は、S14で取得した入力位置にポインタ40を表示させ(S15)、本処理は終了する。S15の処理は、S6の処理と同様であるが、ポインタ40はもともと表示されていたので、制御部11は、ポインタ40を移動させることになる。一方、S11において、ユーザの手が画面に向いたままでないと判定された場合(S11;N)、指示状態から非指示状態になったことを意味する。この場合、制御部11は、状態フラグの値を「0」にし(S16)、ポインタ40を消去する(S17)。その後、本処理は終了し、次のフレームが訪れた場合に再びS1の処理から実行される。
 以上説明した情報処理システム1によれば、ユーザが手を動かした場合の入力位置の移動量が相対位置θに基づいて抑制されるので、相対位置θが示す角度が大きくなったとしても、入力位置の微調整が可能となる。このため、ユーザが手を画面に向けることで画面上の入力位置を入力可能なユーザインタフェースにおける操作性を向上させることができる。即ち、ユーザが指し示した位置が移動した方向に入力位置が移動するという直感的な操作を保ちつつ、相対位置θが高くなった場合の入力位置の急激な移動を回避することで、操作性を向上させることができる。
 また、ユーザが画面を指し示したばかりのときは、実際に指し示した位置を入力位置にしたいと考えることが多いため、非指示状態から指示状態になった場合に、実指示位置ではない位置を入力位置にすると、ユーザは違和感を覚える可能性がある。この点、情報処理システム1では、非指示状態から指示状態になったばかりのときは実指示位置をそのまま入力位置とするので、ユーザが指示したいと思う位置を入力位置とすることができ、ユーザが違和感を覚えないようにすることができる。
 また、ユーザの手が指示状態になった後に動いた場合は、基準位置から見た入力位置の移動量が、相対位置θに基づいて抑制されるので、ユーザは、指示状態になった場合の手の位置からどのくらい手を動かせば、基準位置からどのくらい入力位置が移動するかを判断することができる。例えば、基準位置からの単位移動量Δxが相対位置θによって決まる場合には、指示状態になった後は、入力位置の移動量を操作量に比例させることができるので、より直観的な操作が可能になる。
 また、情報処理装置10は、ユーザの手の位置を示す3次元座標と、ユーザの基準部位を示す3次元座標と、を含む部位情報を取得するため、ユーザの手の位置をより正確に取得することができる。その結果、ユーザが手を動かす操作を、実指示位置、相対位置、及び入力位置をより正確に反映させることができる。
 また、実指示位置及び相対位置は、ユーザの目がある頭を基準にして決まるので、より直観的な操作を提供することができる。
 また、ユーザに対する手の相対位置の変化に基づいて入力位置が取得されユーザの手がユーザ自身に対してどれだけ動いたかを入力位置の移動に反映させることができるので、より直感的な操作が可能になる。
 また、ユーザに対して手が動いた角度に基づいて入力位置が取得され、手が動いた角度は、ユーザが感覚的に操作量を把握しやすい指標なので、より直感的な操作が可能になる。
 また、ユーザ自身が移動した場合は、実指示位置に対するユーザの相対位置が変わってしまうので、その場合に相対位置を取得し直し、当該相対位置に基づいて入力位置も取得し直すことにより、現在のユーザの位置に応じた操作を提供することができる。例えば、ユーザが移動しても相対位置を更新せず基準移動量Δxが変化しない場合には、ユーザが実指示位置の正面付近の入力位置の微調整が可能な位置に移動したとしても、基準移動量Δxが変わらないので、ユーザは違和感を覚えてしまうが、相対位置を取得し直すことでこのような違和感を回避することができる。
 また、基準位置からの実指示位置の移動量よりも、基準位置からの現在の入力位置の移動量が小さくなるように入力位置が取得されるので、基準位置から入力位置が移動する場合の移動量を抑制することができる。
 また、ユーザの手が指示状態になった後に非指示状態になった場合は、ユーザが手で画面を指し示していないので、入力位置を取得する処理を停止することにより、必要のない処理を実行することがなくなり、情報処理装置10の処理負荷を軽減することができる。その後、再び指示状態になった場合に新たな入力位置及び基準位置が取得されることにより、再びポインタ40を表示させることができる。
 また、指示状態になり、ユーザの手の位置が一定時間以上維持された場合に、現在の実指示位置を入力位置及び基準位置として取得することにより、ユーザが指し示したい位置を指し示す位置に手が移動する前に入力位置や基準位置が取得されてしまうことを防止し、ユーザが指し示したい位置に移動した後に入力位置や基準位置が取得されるので、ユーザの意図した入力位置とすることができ、ユーザの思い通りの操作を提供することができる。
 また、所定の処理として、入力位置を識別可能にする画像処理とすることで、ユーザに対して入力位置を識別させることができ、入力位置を識別可能にする情報処理装置10の操作性を向上させることができる。
 また、オブジェクトをユーザの手とすることで、より直観的な操作を提供することができ、入力デバイスを用意する必要もなくなる。
[5.変形例]
 なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
 図9は、変形例における機能ブロック図である。図9に示すように変形例では、実施形態で説明した機能の他に、注視判定部107が実現される。注視判定部107は、制御部11を主として実現される。
 (1)例えば、実施形態では、ユーザが移動すると、現在の実指示位置を新たな入力位置及び基準位置とする処理(以降、リセット処理という。)が実行される場合を説明したが、ユーザの移動以外の他の条件のもとで、リセット処理が実行されるようにしてもよい。この条件は、予め定められた条件であればよく、例えば、一定時間が経過することであってもよいし、ユーザが所定の操作をすることであってもよい。この場合、指示状態において当該条件が満たされたことに応じてリセット処理が実行され、ポインタ40の位置が更新されるようにしてよい。更に、ユーザがポインタ40付近を注視している場合は、ユーザ及び聴衆者がポインタ40付近に注目しているため、リセット処理によってポインタ40が移動しないように、リセット処理の実行をしないようにしてもよい。
 本変形例の入力位置取得部104は、ユーザの手が指示状態になった後に、所定の条件が満たされた場合に、現在の実指示位置を、新たな入力位置及び基準位置として取得し直す。例えば、所定の条件が実施形態で説明したユーザの移動であれば、入力位置取得部104は、実施形態で説明したように、移動判定部106の判定結果に基づいて、入力位置及び基準位置を取得し直す処理を実行することになる。
 また例えば、一定時間が経過することが所定の条件に相当する場合は、入力位置取得部104は、リアルタイムクロックなどを利用して、直近で基準位置を取得した時点から一定時間が経過したかを判定すればよい。なお、一定時間は、秒数で示されてもよいし、フレーム数で示されてもよい。また、一定時間は、固定値であってもよいし、可変値であってもよい。また例えば、ユーザが所定の操作をすることが所定の条件に相当する場合は、入力位置取得部104は、操作部14又は部位情報に基づいて、ユーザが所定の操作をしたかを判定すればよい。部位情報を利用する場合は、ユーザが所定のジェスチャをすることが所定の操作をすることに相当してよい。この場合、公知のジェスチャ判定を利用すればよい。
 本変形例の情報処理装置は、注視判定部107を含む。注視判定部107は、ユーザが入力位置を注視しているかを判定する。この判定は、公知の視線検出方法を利用してもよいし、部位情報から推定される視線方向を利用してもよい。公知の視線検出方法を利用する場合には、例えば、カメラでユーザの目を撮影することによって視線方向が検出されるようにしてよい。部位情報から視線方向を推定する場合には、注視判定部107は、部位情報が示す骨格の位置関係から頭の向きを取得し、当該頭の向きを視線方向としてもよい。
 注視判定部107は、ユーザの視線方向に基づいて判定処理を実行する。例えば、注視判定部107は、部位情報とユーザの視線方向とに基づいて、画面上の注視点を取得する。注視点は、ユーザの頭の位置から視線方向に向けた線と画面の交点としてよい。例えば、注視判定部107は、注視点と入力位置との距離が閾値未満であるかを判定する。注視判定部107は、当該距離が閾値未満である場合はユーザが入力位置を注視していると判定し、当該距離が閾値以上である場合は、ユーザが入力位置を注視していないと判定する。
 入力位置取得部104は、ユーザが入力位置を注視していると判定された場合は、所定の条件が満たされても、現在の実指示位置を入力位置及び基準位置とするリセット処理は実行しない。この場合、入力位置取得部104は、現在の基準位置をそのまま利用して、実施形態で説明した方法と同様に、ユーザの手の現在位置に基づいて、入力位置を取得する。このため、ユーザが手を動かさなければポインタ40は現在の位置で固定される。
 一方、入力位置取得部104は、ユーザが入力位置を注視していないと判定され、かつ、所定の条件が満たされた場合に、現在の実指示位置を入力位置及び基準位置とするリセット処理を実行する。この場合は、入力位置及び基準位置がリセットされ、ポインタ40の位置が変更されることになる。
 変形例(1)によれば、ユーザが入力位置を注視している場合は、リセット処理を実行しないので、ユーザが手を動かさずに入力位置を見ているにもかかわらず、入力位置が勝手に変わってしまうことを防止することができる。
 (2)また例えば、入力位置取得部104は、ユーザが手を動かした場合に、手の速度に基づいて、入力位置を取得するようにしてもよい。例えば、入力位置取得部104は、ユーザの手の速度に基づいて入力位置の移動量を決定する。手の速度と入力位置の移動量との関係は、予めデータ記憶部に記憶させておくようにしてよい。この関係には、手の速度が速いほど入力位置の移動量が大きくなり、手の速度が遅いほど入力位置の移動量が小さくなるように定められていてよい。ここでは、入力位置取得部104は、ユーザの手の速度に基づいて、単位移動量Δxを変更する。
 図10は、変形例(2)における関係データのデータ格納例を示す図である。図10に示すように、ユーザの手の速度によって、入力位置取得部104が参照する関係データが変わるようにしてよい。図10では、ユーザの手の速度が遅い場合の関係データを実線で示し、ユーザの手の速度が速い場合の関係データを一点鎖線で示している。例えば、入力位置取得部104は、ユーザが指示状態のまま手を速く動かした場合には、入力位置の微調整をそれほど行わなくてよいものとして、単位移動量Δxを大きくしてよい。一方、入力位置取得部104は、ユーザが指示状態のまま手を遅く動かした場合には、入力位置の微調整が必要であるものとして、単位移動量Δxを小さくしてよい。単位移動量Δxに基づいて入力位置を取得する方法自体は、実施形態で説明した方法と同様である。
 変形例(2)によれば、ユーザの手を動かした場合の速度に基づいて入力位置が取得されるので、より直観的な操作が可能となり、操作性を更に向上させることができる。
 (3)また例えば、実施形態では、指示状態のままユーザの手の位置が一定時間以上維持された場合に入力位置の取得が開始される場合を説明したが、他の条件のもとで入力位置の取得が開始されてもよい。例えば、入力位置の取得を開始するための合図(別の言い方をすれば、ポインタ40を表示させるための合図)となるジェスチャを定めておき、ユーザがそのジェスチャをした場合に、入力位置の取得が開始されてもよい。
 本変形例の入力位置取得部104は、ユーザの手が指示状態になり、かつ、所定の状態になった場合に、現在の実指示位置を入力位置及び基準位置として取得する。所定の状態とは、ユーザの意志により実現可能な状態であればよく、例えば、ユーザが手で所定のジェスチャをすることである。ここでは、手がオブジェクトに相当するので、所定のジェスチャは、手を握ること、手を開くこと、又は所定の指だけを立てることであってよい。入力位置取得部104は、ユーザの手が指示状態になったとしても、所定の状態になるまでは、入力位置及び基準位置の取得を待機する。
 例えば、入力位置取得部104は、部位情報に基づいて、ユーザの手が所定の状態になったかを判定する。この場合、入力位置取得部は、部位情報が示す手の位置変化が所定の変化をしたかを判定する。また例えば、位置検出装置20が撮影した画像に基づいて、所定の状態になったかを判定してもよい。この場合、所定の状態を示すテンプレート画像を用意しておき、入力位置取得部104は、テンプレートマッチングにより、ユーザの手が所定の状態になったかを判定してもよいし、画像の時系列的な変化に基づいて、ユーザの手が所定の状態になったかを判定してもよい。
 入力位置取得部104は、ユーザの手が所定の状態を維持したまま、ユーザが手を動かした場合に、基準位置に基づいて入力位置を取得する。即ち、入力位置取得部は、入力位置及び基準位置が取得された後も、ユーザの手が所定の状態になったかを判定し続けるようにしてよい。入力位置の取得方法は、実施形態で説明した通りである。入力位置取得部は、ユーザの手の所定の状態が解除された場合に、入力位置を取得する処理を終了するようにしてよい。
 変形例(3)によれば、ユーザの手が指示状態になった後に所定の状態になった場合に、現在の実指示位置が入力位置及び基準位置として取得されるので、ユーザ自身が入力位置の取得開始の合図をすることができる。その結果、ユーザが意図した位置を入力位置とすることができる蓋然性を高めることができる。
 (4)また例えば、実施形態では、ユーザの手が指示状態になった場合の実指示位置を基準位置とし、基準位置からの相対的な移動量xに基づいて、移動量が抑制されるように入力位置を取得する場合を説明したが、入力位置の取得方法は、これに限られない。入力位置は、過去の実指示位置に基づいて相対的に取得されなくてもよく、現在の実指示位置に基づいて絶対的に取得されてもよい。
 図11は、変形例(4)における入力位置の取得方法を示す図である。図11に示すように、入力位置取得部104は、現在の実指示位置をユーザ側にずらすことによって、入力位置の移動量を抑制してもよい。例えば、ユーザの手の位置がFp10である場合の実指示位置をP10とすると、実指示位置P10を、現在の相対位置θ10に対応する距離y10だけ移動させた位置P11を入力位置としてよい。その後、ユーザが手を右に動かした場合の手の位置をFp11とし、その場合の実指示位置をP12とすると、実指示位置P12を、現在の相対位置θ11に対応する距離y11だけ移動させた位置P13を入力位置としてよい。なお、距離y11は、距離y10よりも長くてよい。相対位置θと距離yとの関係を示すデータは、データ記憶部100に予め記憶させておけばよい。実指示位置取得部102は、現在の相対位置θに関連付けられた距離yだけ、実指示位置をユーザ側に移動させることになる。このようにすることでも、操作量に対する入力位置の移動量を抑制可能である。
 (5)また例えば、位置検出装置20が大型ディスプレイ30の上面に配置される場合を説明したが、位置検出装置20は、オブジェクトの一例である手を検出可能な位置に配置されるようにすればよく、上面以外の任意の位置に配置されていてよい。例えば、位置検出装置20は、大型ディスプレイの左、右、又は下に配置されていてよい。更に、位置検出装置20は、ユーザが身に着けていてもよい。例えば、眼鏡に位置検出装置20を備え付けていてもよい。即ち、位置検出装置20は、ウェアラブルであってよい。
 位置検出装置20がウェアラブルである場合、情報処理装置10は、位置検出装置20が検出した画面のサイズ及びゆがみ具合に基づいて、画面に対するユーザの位置を推定してよい。例えば、画面に対するユーザの位置と、その位置から画面を見たときの画面のサイズ及びゆがみ具合と、の関係を示すデータは、事前にデータ記憶部100に登録されているものとする。このデータは、数式形式であってもよいし、数式以外のデータであってもよい。情報処理装置10は、位置検出装置20が検出した画面と、当該データと、を比較して、マッチング度が最も高いデータの位置を、ユーザの現在の位置として推定してよい。情報処理装置10は、画面に対するユーザの位置を推定できれば、位置検出装置20から見たユーザの手の位置を取得可能なので、空間における画面、ユーザ、及び手の位置関係を特定可能となる。以降の処理は、実施形態及び上記変形例で説明した処理と同様であってよい。
 また例えば、実施形態では、ユーザの手が非指示状態から指示状態になった場合は、現在の実指示位置を入力位置とする場合を説明したが、指示状態になったばかりの入力位置は、実指示位置でなくてもよい。この場合、実指示位置から所定距離だけずらした位置を入力位置としてもよいし、実指示位置を含む領域内の任意の位置を入力位置としてもよい。また例えば、ユーザの各部位の3次元座標を示す部位情報に基づいて実指示位置などが特定される場合を説明したが、ユーザの手などの位置を識別可能な情報を利用すればよく、必ずしも3次元座標を利用する必要はない。例えば、ユーザの各部位の位置は、2次元座標を示してもよいし、位置検出装置20から見たときのベクトル情報で示してもよい。
 また例えば、実施形態では、相対位置の基準となるユーザの位置が頭である場合を説明したが、当該位置は他の部位であってもよい。例えば、相対位置取得部103は、ユーザの首、胸、背骨、又は腰などの胴体の何れかの部位を基準にして相対位置を取得してもよい。また例えば、相対位置取得部103は、胴体以外にも、ひじ又は肩などの手以外の部位を基準にして相対位置を取得してもよい。また例えば、実施形態では、ユーザに対する手の相対位置の変化に基づいて入力位置が取得される場合を説明したが、オブジェクトが手以外であり、特に相対位置を利用しなくてもユーザが指し示したい方向を特定可能な場合には、相対位置は利用しなくてもよい。例えば、ジャイロセンサ又は加速度センサが内蔵されたコントローラがオブジェクトに相当する場合には、オブジェクトの向き(姿勢)を検出可能なので、このような場合には、相対位置を利用しなくてもよい。このため、実施形態では、相対位置の一例として説明した角度も特に利用しなくてもよい。
 また例えば、実施形態では、ユーザが移動した場合に相対位置を取得し直す場合を説明したが、特にこの処理は省略し、ユーザが移動しても指示状態になったときの相対位置をそのまま利用して入力位置が取得されるようにしてもよい。また例えば、実施形態では、基準位置からの入力位置の移動量が、基準位置からの実指示位置の移動量よりも小さくなるように、入力位置が決定される場合を説明したが、特に基準位置を設定しない場合には、基準位置からの移動量を考慮せずに入力位置が決定されるようにしてよい。この場合、実指示位置よりもユーザ側の位置を入力位置とすることで、入力位置の移動量が抑制されるようにしてよい。
 また例えば、ユーザの手が非指示状態になった場合に入力位置を取得する処理が停止される場合を説明したが、非指示状態になったとしても、この処理は実行されたままでもよい。ただし、非指示状態なので、入力位置として取得された位置は、画面の外側の位置となるため、ポインタ40は画面に表示されないことになる。また例えば、ユーザの手の位置が一定時間以上維持された場合に実指示位置を入力位置及び基準位置としたが、特に手の位置の維持を判定しなくてもよい。この場合、変形例(3)で説明したように、ユーザの手が所定の状態となった場合の実指示位置を入力位置及び基準位置としてもよいし、その他の操作が行われた場合の実指示位置を入力位置及び基準位置としてもよい。また例えば、実施形態では、実指示位置を取得するための基準部位が頭である場合を説明したが、基準部位は他の部位であってもよい。例えば、基準部位は、ユーザの首、胸、背骨、又は腰などの胴体の何れかの部位であってもよいし、胴体以外にもひじ又は肩などの手以外の部位であってもよい。
 また例えば、オブジェクトの一例としてユーザの手を説明したが、先述したように、オブジェクトは、手以外の部位であってもよいし、ユーザの部位以外の操作部材であってもよい。実施形態及び上記変形例で手と記載した箇所は、オブジェクトと読み替えることができる。例えば、オブジェクトがユーザの指である場合は、ユーザが指の向きを変えることによって、入力位置を入力可能であってもよい。また、オブジェクトの位置が変わらなくても、その場で回転することによって、指し示す位置が変わるようにしてもよい。また例えば、画面の一例として大型ディスプレイ30を説明したが、画面は、画像が表示される面であればよく、プロジェクトの光が投影される平面(例えば、スクリーン又は壁)であってもよい。
 また例えば、位置検出装置20は、深度センサを含んでいなくてもよく、カメラで撮影した画像の被写体のサイズから深度を推定してもよい。この場合、ユーザの標準的なサイズを登録しておき、位置検出装置20は、標準的なサイズと、画像に撮影されたユーザのサイズと、を比較して深度を推定してもよい。更に、位置検出装置20がウェアラブルである場合には、画面の標準的なサイズを登録しておき、位置検出装置20は、標準的なサイズの画面と、画面に撮影された画面のサイズ及びゆがみ具合と、を比較して深度を推定してもよい。
 また例えば、情報処理装置10は、位置検出装置20と一体であってもよい。同様に、情報処理装置10は、大型ディスプレイ30と一体であってもよい。更に、位置検出装置20がプロセッサやメモリを含む場合には、情報処理装置10が実行するものとして説明した処理が位置検出装置20において実行されるようにしてもよい。この場合、位置検出装置20が本発明に係る情報処理装置に相当する。同様に、大型ディスプレイ30がプロセッサやメモリを含む場合には、情報処理装置10が実行するものとして説明した処理が大型ディスプレイ30において実行されるようにしてもよい。この場合、大型ディスプレイ30が本発明に係る情報処理装置に相当する。更に、情報処理装置10は、サーバコンピュータで実現されてもよい。

Claims (18)

  1.  画面に向けられたオブジェクトが実際に指し示す実指示位置であって、前記画面を含む平面上にある実指示位置を取得する実指示位置取得手段と、
     前記実指示位置に対するユーザの相対位置を取得する相対位置取得手段と、
     前記オブジェクトの現在位置に対応する前記画面上の入力位置を取得する手段であって、前記ユーザが前記オブジェクトを動かした場合に、前記相対位置に基づいて、操作量に対する前記入力位置の移動量を抑制可能な入力位置取得手段と、
     前記入力位置取得手段により取得された入力位置に基づいて、所定の処理を実行する処理実行手段と、
     を含むことを特徴とする情報処理装置。
  2.  前記入力位置取得手段は、
     前記オブジェクトが前記画面を指し示していない非指示状態から前記画面を指し示す指示状態になった場合は、現在の前記実指示位置を、前記入力位置として取得し、
     前記オブジェクトが前記指示状態になった後に、前記ユーザが前記オブジェクトを動かした場合に、前記入力位置の移動量を抑制可能である、
     ことを特徴とする請求項1に記載の情報処理装置。
  3.  前記入力位置取得手段は、
     前記オブジェクトが前記非指示状態から前記指示状態になった場合の前記実指示位置を、基準位置として取得し、
     前記オブジェクトが前記指示状態になった後に、前記ユーザが前記オブジェクトを動かした場合に、前記相対位置に基づいて、前記基準位置からの前記入力位置の移動量を抑制可能である、
     ことを特徴とする請求項2に記載の情報処理装置。
  4.  前記情報処理装置は、前記オブジェクトの位置を示す3次元座標と、前記ユーザの位置を示す3次元座標と、を取得する3次元座標取得手段を更に含み、
     前記実指示位置取得手段は、前記オブジェクトの3次元座標に基づいて前記実指示位置を取得し、
     前記相対位置取得手段は、前記ユーザの3次元座標に基づいて前記相対位置を取得し、
     前記入力位置取得手段は、前記オブジェクトの3次元座標に基づいて、前記入力位置を取得する、
     ことを特徴とする請求項1~3の何れかに記載の情報処理装置。
  5.  前記実指示位置は、前記ユーザの頭の位置から前記オブジェクトの位置に向けた方向によって定まる前記画面上の位置であり、
     前記相対位置は、前記実指示位置に対する前記ユーザの頭の相対位置である、
     ことを特徴とする請求項1~4の何れかに記載の情報処理装置。
  6.  前記入力位置取得手段は、前記ユーザが前記オブジェクトを動かした場合、前記ユーザに対する前記オブジェクトの相対位置の変化に基づいて、前記入力位置を取得する、
     ことを特徴とする請求項1~5の何れかに記載の情報処理装置。
  7.  前記入力位置取得手段は、前記ユーザが前記オブジェクトを動かした場合に、前記ユーザに対して前記オブジェクトが動いた角度に基づいて、前記入力位置を取得する、
     ことを特徴とする請求項1~6の何れかに記載の情報処理装置。
  8.  前記情報処理装置は、前記ユーザが移動したかを判定する移動判定手段を更に含み、
     前記相対位置取得手段は、前記ユーザが移動したと判定された場合に、前記相対位置を取得し直し、
     前記入力位置取得手段は、取得し直された前記相対位置に基づいて、前記入力位置を取得し直す、
     ことを特徴とする請求項1~7の何れかに記載の情報処理装置。
  9.  前記入力位置取得手段は、前記オブジェクトが前記指示状態になった後に、前記ユーザが前記オブジェクトを動かした場合に、前記基準位置からの現在の前記実指示位置の移動量よりも、前記基準位置からの現在の前記入力位置の移動量が小さくなるように、前記入力位置を取得する、
     ことを特徴とする請求項3に記載の情報処理装置。
  10.  前記入力位置取得手段は、
     前記オブジェクトが前記指示状態になった後に、再び前記非指示状態になった場合に、前記入力位置を取得する処理を停止し、
     前記オブジェクトが再び前記非指示状態になった後に、再び前記指示状態になった場合に、現在の前記実指示位置を、新たな前記入力位置及び前記基準位置として取得し直す、
     ことを特徴とする請求項3又は9に記載の情報処理装置。
  11.  前記入力位置取得手段は、前記オブジェクトが前記非指示状態から前記指示状態になり、かつ、前記指示状態のまま前記オブジェクトの位置が一定時間以上維持された場合に、現在の前記実指示位置を、前記入力位置及び前記基準位置として取得する、
     ことを特徴とする請求項3、9、又は10に記載の情報処理装置。
  12.  前記所定の処理は、前記画面において前記入力位置を識別可能にする画像処理である、
     ことを特徴とする請求項1~11の何れかに記載の情報処理装置。
  13.  前記入力位置取得手段は、前記オブジェクトが前記指示状態になった後に、所定の条件が満たされた場合に、現在の前記実指示位置を、新たな前記入力位置及び前記基準位置として取得し直し、
     前記情報処理装置は、前記ユーザが前記入力位置を注視しているかを判定する注視判定手段を更に含み、
     前記入力位置取得手段は、
     前記ユーザが前記入力位置を注視していると判定した場合は、前記所定の条件が満たされても、現在の実指示位置を入力位置及び基準位置とする処理は実行せず、
     前記ユーザが前記入力位置を注視していないと判定され、かつ、前記所定の条件が満たされた場合に、現在の実指示位置を入力位置及び基準位置とする処理を実行する、
     ことを特徴とする請求項3、9、10、又は11に記載の情報処理装置。
  14.  前記入力位置取得手段は、前記ユーザが前記オブジェクトを動かした場合に、前記オブジェクトの速度に基づいて、前記入力位置を取得する、
     ことを特徴とする請求項1~13の何れかに記載の情報処理装置。
  15.  前記入力位置手段は、
     前記オブジェクトが前記指示状態になり、かつ、所定の状態になった場合に、現在の前記実指示位置を前記入力位置及び前記基準位置として取得し、
     前記オブジェクトが前記所定の状態を維持したまま、前記ユーザが前記オブジェクトを動かした場合に、前記基準位置に基づいて前記入力位置を取得し、
     前記オブジェクトの前記所定の状態が解除された場合に、前記入力位置を取得する処理を終了する、
     ことを特徴とする請求項3、9、10、11、又は13に記載の情報処理装置。
  16.  前記オブジェクトは、前記ユーザの手であり、
     前記実指示位置は、前記ユーザの基準部位の位置から前記手の位置に向けた方向に基づいて定まる前記画面上の位置であり、
     前記相対位置は、前記実指示位置に対する前記基準部位の相対位置である、
     ことを特徴とする請求項1~15の何れかに記載の情報処理装置。
  17.  画面に向けられたオブジェクトが実際に指し示す実指示位置であって、前記画面を含む平面上にある実指示位置を取得する実指示位置取得ステップと、
     前記実指示位置に対するユーザの相対位置を取得する相対位置取得ステップと、
     前記オブジェクトの現在位置に対応する前記画面上の入力位置を取得する手段であって、前記ユーザが前記オブジェクトを動かした場合に、前記相対位置に基づいて、操作量に対する前記入力位置の移動量を抑制可能な入力位置取得ステップと、
     前記入力位置取得ステップにより取得された入力位置に基づいて、所定の処理を実行する処理実行ステップと、
     を含むことを特徴とする情報処理方法。
  18.  画面に向けられたオブジェクトが実際に指し示す実指示位置であって、前記画面を含む平面上にある実指示位置を取得する実指示位置取得手段、
     前記実指示位置に対するユーザの相対位置を取得する相対位置取得手段、
     前記オブジェクトの現在位置に対応する前記画面上の入力位置を取得する手段であって、前記ユーザが前記オブジェクトを動かした場合に、前記相対位置に基づいて、操作量に対する前記入力位置の移動量を抑制可能な入力位置取得手段、
     前記入力位置取得手段により取得された入力位置に基づいて、所定の処理を実行する処理実行手段、
     としてコンピュータを機能させるためのプログラム。
PCT/JP2016/075894 2016-09-02 2016-09-02 情報処理装置、情報処理方法、及びプログラム WO2018042639A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2016/075894 WO2018042639A1 (ja) 2016-09-02 2016-09-02 情報処理装置、情報処理方法、及びプログラム
JP2018529320A JP6373546B2 (ja) 2016-09-02 2016-09-02 情報処理装置、情報処理方法、及びプログラム
US16/311,663 US11604517B2 (en) 2016-09-02 2016-09-02 Information processing device, information processing method for a gesture control user interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/075894 WO2018042639A1 (ja) 2016-09-02 2016-09-02 情報処理装置、情報処理方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2018042639A1 true WO2018042639A1 (ja) 2018-03-08

Family

ID=61309171

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/075894 WO2018042639A1 (ja) 2016-09-02 2016-09-02 情報処理装置、情報処理方法、及びプログラム

Country Status (3)

Country Link
US (1) US11604517B2 (ja)
JP (1) JP6373546B2 (ja)
WO (1) WO2018042639A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114450654A (zh) * 2019-10-09 2022-05-06 华为技术有限公司 眼睛注视跟踪

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000222098A (ja) * 1999-01-29 2000-08-11 Takenaka Komuten Co Ltd ハンドポインティング装置、指示位置表示方法及び記録媒体
JP2006277666A (ja) * 2005-03-30 2006-10-12 Nhk Engineering Services Inc 表示画面上位置解析装置及び表示画面上位置解析プログラム
JP2013125985A (ja) * 2011-12-13 2013-06-24 Sharp Corp 表示システム
JP2015176451A (ja) * 2014-03-17 2015-10-05 京セラドキュメントソリューションズ株式会社 ポインティング制御装置およびポインティング制御プログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6176782B1 (en) * 1997-12-22 2001-01-23 Philips Electronics North America Corp. Motion-based command generation technology
US6600475B2 (en) 2001-01-22 2003-07-29 Koninklijke Philips Electronics N.V. Single camera system for gesture-based input and target indication
US8291346B2 (en) * 2006-11-07 2012-10-16 Apple Inc. 3D remote control system employing absolute and relative position detection
US8920241B2 (en) * 2010-12-15 2014-12-30 Microsoft Corporation Gesture controlled persistent handles for interface guides
GB2488784A (en) * 2011-03-07 2012-09-12 Sharp Kk A method for user interaction of the device in which a template is generated from an object
US9423877B2 (en) * 2012-02-24 2016-08-23 Amazon Technologies, Inc. Navigation approaches for multi-dimensional input
WO2014106219A1 (en) * 2012-12-31 2014-07-03 Burachas Giedrius Tomas User centric interface for interaction with visual display that recognizes user intentions
CN105190515A (zh) * 2013-05-08 2015-12-23 富士通株式会社 输入装置以及输入程序
EP3054693B1 (en) * 2013-10-02 2019-12-25 Samsung Electronics Co., Ltd Image display apparatus and pointing method for same
WO2015100205A1 (en) * 2013-12-26 2015-07-02 Interphase Corporation Remote sensitivity adjustment in an interactive display system
US9649558B2 (en) * 2014-03-14 2017-05-16 Sony Interactive Entertainment Inc. Gaming device with rotatably placed cameras
US20160026264A1 (en) * 2014-07-24 2016-01-28 Amchael Visual Technology Corporation Direct three-dimensional pointing using light tracking and relative position detection
JP2016099643A (ja) * 2014-11-18 2016-05-30 富士通株式会社 画像処理装置、画像処理方法および画像処理プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000222098A (ja) * 1999-01-29 2000-08-11 Takenaka Komuten Co Ltd ハンドポインティング装置、指示位置表示方法及び記録媒体
JP2006277666A (ja) * 2005-03-30 2006-10-12 Nhk Engineering Services Inc 表示画面上位置解析装置及び表示画面上位置解析プログラム
JP2013125985A (ja) * 2011-12-13 2013-06-24 Sharp Corp 表示システム
JP2015176451A (ja) * 2014-03-17 2015-10-05 京セラドキュメントソリューションズ株式会社 ポインティング制御装置およびポインティング制御プログラム

Also Published As

Publication number Publication date
JPWO2018042639A1 (ja) 2018-10-04
JP6373546B2 (ja) 2018-08-15
US20190196602A1 (en) 2019-06-27
US11604517B2 (en) 2023-03-14

Similar Documents

Publication Publication Date Title
US10198870B2 (en) Information processing apparatus, information processing system, and information processing method
TWI704501B (zh) 可由頭部操控的電子裝置與其操作方法
JP4608326B2 (ja) 指示動作認識装置及び指示動作認識プログラム
JP5509227B2 (ja) 移動制御装置、移動制御装置の制御方法、及びプログラム
WO2019176308A1 (ja) 情報処理装置、情報処理方法、および、プログラム
JP6390799B2 (ja) 入力装置、入力方法、及びプログラム
US20140267004A1 (en) User Adjustable Gesture Space
US10976812B2 (en) Information processing device and information processing method
WO2021035646A1 (zh) 可穿戴设备及其控制方法、识别手势的方法和控制系统
JP2016194799A (ja) 画像解析装置及び画像解析方法
CN111353930B (zh) 数据处理方法及装置、电子设备及存储介质
US20170294048A1 (en) Display control method and system for executing the display control method
JP2013258614A (ja) 画像生成装置および画像生成方法
JPWO2014141504A1 (ja) 3次元ユーザインタフェース装置及び3次元操作処理方法
WO2016008265A1 (zh) 一种定位位置的方法及装置
WO2020157955A1 (ja) 仮想オブジェクト表示装置及び仮想オブジェクト表示方法
KR20180043609A (ko) 디스플레이 장치 및 디스플레이 장치의 영상 처리 방법
WO2017147748A1 (zh) 一种可穿戴式系统的手势控制方法以及可穿戴式系统
WO2020054760A1 (ja) 画像表示制御装置および画像表示制御用プログラム
JP2012238293A (ja) 入力装置
JP7279975B2 (ja) 2次元カメラを利用して客体制御を支援する方法、システムおよび非一過性のコンピュータ読み取り可能な記録媒体
WO2015104919A1 (ja) ジェスチャー認識装置、操作入力装置およびジェスチャー認識方法
EP3705982B1 (en) Apparatus and method for adaptively configuring user interface
JP6373546B2 (ja) 情報処理装置、情報処理方法、及びプログラム
US10824237B2 (en) Screen display control method and screen display control system

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2018529320

Country of ref document: JP

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16915196

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16915196

Country of ref document: EP

Kind code of ref document: A1