# Patent

## Title
Three-dimensional user interface apparatus and three-dimensional operation method

## Abstract

A three-dimensional user interface apparatus includes a three-dimensional information acquisition unit acquiring three-dimensional information from a three-dimensional sensor; a position calculation unit calculating three-dimensional position information on a three-dimensional coordinate space regarding a specific part of a target person by using the three-dimensional information; a virtual data generation unit generating virtual three-dimensional space data indicating a virtual three-dimensional space which is disposed in the three-dimensional coordinate space and at least part of which is set in a display region; a space processing unit performing a predetermined process corresponding to a change in the three-dimensional position information regarding the specific part of the target person, on the three-dimensional coordinate space or the virtual three-dimensional space data; and a display processing unit displaying the virtual three-dimensional space within the display region on a display unit on the basis of virtual three-dimensional space data obtained through the predetermined process.

## Background
This application is a National Stage Entry of PCT/JP2013/001520 filed on Mar. 8, 2013, which claims priority from Japanese Patent Application 2012-167111 filed on Jul. 27, 2012, the contents of all of which are incorporated herein by reference, in their entirety.
TECHNICAL FIELD
The present invention relates to a three-dimensional user interface technique.
BACKGROUND ART
In recent years, a technique of realizing a three-dimensional environment on a computer, such as three-dimensional computer graphics (3DCG) or augmented reality (AR), has been actively put into practical use. In the AR technique, a virtual object or data is displayed so as to be superimposed on an object in the real world which is obtained through a camera of a portable apparatus such as a smart phone or a head mounted display (HMD). A user can visually recognize a three-dimensional image by using such a display technique. The following Patent Document 1 proposes a technique in which a user is identified and tracked within a scene by using a depth sensing camera, and avatar animation for simulating a movement of the user is displayed within the scene according to a result thereof.
However, a user interface (UI) for operating a three-dimensional environment represented by the above-described technique has been realized by using a two-dimensional input device. For example, a two-dimensional mouse operation is converted into an operation of a three-dimensional space. Thus, there are many cases where it is not easy to intuitively understand a current UI for operating a three-dimensional environment.
Therefore, the following Patent Document 2 proposes a technique in which a remote controller having a depth camera is used to detect a positional change of the remote controller, and an input command which causes an action by an application is triggered on the basis of the change. In addition, the following Patent Document 3 proposes a technique which provides a computer interaction experience to a user in a natural three-dimensional environment without the need for additional equipment such as an arm cover or a glove. In this proposal, a depth camera is installed at a position opposing a user, an image into which a virtual object is inserted is displayed along with the user captured by the depth camera, and interaction between the user and the virtual object is detected.
RELATED DOCUMENT
Patent Document
[Patent Document 1] PCT Japanese Translation Patent Publication No. 2011-515736
[Patent Document 2] PCT Japanese Translation Patent Publication No. 2011-514232
[Patent Document 3] Japanese Patent No. 4271236
SUMMARY OF THE INVENTION
Problem to be Solved by the Invention
According to the method proposed in the above-described Patent Document 3, the virtual object disposed in a real space which is generated as an image can be moved by the user's hand present in the image. However, Patent Document 3 does not propose any operation method other than the movement for the virtual object, or an operation method for a three-dimensional space reflected as an image.
The present invention has been made in consideration of the above-described circumstances and provides a user interface technique which enables intuitive operations of a virtual three-dimensional space which is displayed in a stereoscopic manner.
In each aspect of the present invention, the following configurations are employed in order to solve the above-described problems.
A three-dimensional user interface apparatus according to a first aspect includes a three-dimensional information acquisition unit that acquires three-dimensional information from a three-dimensional sensor; a position calculation unit that calculates three-dimensional position information on a three-dimensional coordinate space regarding a specific part of a target person by using the three-dimensional information acquired by the three-dimensional information acquisition unit; a virtual data generation unit that generates virtual three-dimensional space data indicating a virtual three-dimensional space which is disposed in the three-dimensional coordinate space and at least part of which is set in a display region; a space processing unit that performs a predetermined process corresponding to a change in the three-dimensional position information regarding the specific part of the target person, on the three-dimensional coordinate space or the virtual three-dimensional space data; and a display processing unit that displays the virtual three-dimensional space within the display region on a display unit on the basis of virtual three-dimensional space data which is obtained through the predetermined process performed by the space processing unit.
A three-dimensional operation method according to a second aspect of the present invention is executed by at least one computer, the method including acquiring three-dimensional information from a three-dimensional sensor; calculating three-dimensional position information on a three-dimensional coordinate space regarding a specific part of a target person by using the acquired three-dimensional information; generating virtual three-dimensional space data indicating a virtual three-dimensional space which is disposed in the three-dimensional coordinate space and at least part of which is set in a display region; performing a predetermined process corresponding to a change in the three-dimensional position information regarding the specific part of the target person, on the three-dimensional coordinate space or the virtual three-dimensional space data; and displaying the virtual three-dimensional space within the display region on a display unit on the basis of virtual three-dimensional space data which is obtained through the predetermined process.
In addition, according to other aspects of the present invention, there may be provided a program causing a computer to realize each configuration included in the first aspect, and there may be provided a computer readable recording medium recording the program thereon. The recording medium includes a non-transitory tangible medium.
It is possible to provide a user interface technique which allows a virtual three-dimensional space which is displayed in a stereoscopic manner to be intuitively easily understood.
The above-described object, and other objects, features and advantages will be further apparent through preferred exemplary embodiments described below and accompanying drawings.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a diagram conceptually illustrating a hardware configuration example of a three-dimensional user interface apparatus (3D-UI apparatus) in a first exemplary embodiment.
FIG. 2 is a diagram illustrating a form of using the three-dimensional user interface apparatus (3D-UI apparatus) in the first exemplary embodiment.
FIG. 3 is a diagram illustrating an example of an exterior configuration of an HMD.
FIG. 4 is a diagram conceptually illustrating a process configuration example of a sensor side device in the first exemplary embodiment.
FIG. 5 is a diagram conceptually illustrating a process configuration example of a display side device in the first exemplary embodiment.
FIG. 6 is a diagram illustrating an example of a synthesized image displayed on the HMD.
FIG. 7 is a sequence chart illustrating an operation example of the three-dimensional user interface apparatus (3D-UI apparatus) in the first exemplary embodiment.
FIG. 8 is a diagram illustrating an example of a synthesized image displayed on an HMD in a second exemplary embodiment.
FIG. 9 is a diagram illustrating an example of a movement operation of a virtual 3D space in Example 1.
FIG. 10 is a diagram illustrating an example of a reduction operation of the virtual 3D space in Example 1.
FIG. 11 is a diagram illustrating an example of a rotation operation of the virtual 3D space in Example 1.
FIG. 12 is a diagram conceptually illustrating a hardware configuration example of a three-dimensional user interface apparatus (3D-UI apparatus) in a modification example.
FIG. 13 is a diagram conceptually illustrating a process configuration example of the three-dimensional user interface apparatus (3D-UI apparatus) in the modification example.



DESCRIPTION OF EXEMPLARY EMBODIMENTS
Hereinafter, exemplary embodiments of the present invention will be described. In addition, the following respective exemplary embodiments are only an example, and the present invention is not limited to configurations of the following respective exemplary embodiments.
A three-dimensional user interface apparatus in the present exemplary embodiment includes a three-dimensional information acquisition unit that acquires three-dimensional information from a three-dimensional sensor; a position calculation unit that calculates three-dimensional position information on a three-dimensional coordinate space regarding a specific part of a target person by using the three-dimensional information acquired by the three-dimensional information acquisition unit; a virtual data generation unit that generates virtual three-dimensional space data indicating a virtual three-dimensional space which is disposed in the three-dimensional coordinate space and at least part of which is set in a display region; a space processing unit that performs a predetermined process corresponding to a change in the three-dimensional position information regarding the specific part of the target person, on the three-dimensional coordinate space or the virtual three-dimensional space data; and a display processing unit that displays the virtual three-dimensional space within the display region on a display unit on the basis of virtual three-dimensional space data which is obtained through the predetermined process performed by the space processing unit.
A three-dimensional operation method in the present exemplary embodiment includes causing at least one computer to acquire three-dimensional information from a three-dimensional sensor; calculate three-dimensional position information on a three-dimensional coordinate space regarding a specific part of a target person by using the acquired three-dimensional information; generate virtual three-dimensional space data indicating a virtual three-dimensional space which is disposed in the three-dimensional coordinate space and at least part of which is set in a display region; perform a predetermined process corresponding to a change in the three-dimensional position information regarding the specific part of the target person, on the three-dimensional coordinate space or the virtual three-dimensional space data; and display the virtual three-dimensional space within the display region on a display unit on the basis of virtual three-dimensional space data which is obtained through the predetermined process.
In the present exemplary embodiment, three-dimensional information is acquired from the three-dimensional sensor. The three-dimensional information includes a two-dimensional image of the target person obtained on the basis of visible light, and information regarding a distance (depth) from the three-dimensional sensor. The three-dimensional sensor may be configured by using a plurality of devices including a visible light camera and a depth sensor.
In the present exemplary embodiment, three-dimensional position information on a three-dimensional coordinate space regarding a specific part of the target person is calculated by using the three-dimensional information, and data of virtual three-dimensional space which is disposed in the three-dimensional coordinate space and at least part of which is set in a display region is generated. Here, the specific part is a part of the body used in order for the target person to operate a virtual three-dimensional space displayed on the display unit. In the present exemplary embodiment, the specific part is not limited. In addition, the three-dimensional coordinate space indicates a three-dimensional space represented by three-dimensional coordinates, and is used for position recognition of a virtual three-dimensional space realized by so-called computer graphics.
The calculation of the three-dimensional position information includes not only directly obtaining three-dimensional position information from three-dimensional information which is detected by the three-dimensional sensor, but also indirectly obtaining three-dimensional position information from the three-dimensional information which is detected by the three-dimensional sensor. The term. “indirectly” indicates that three-dimensional position information is obtained from information which is obtained by performing a predetermined process on three-dimensional information detected by the three-dimensional sensor. Therefore, the 3D coordinate space may be determined, for example, on the basis of a camera coordinate system of a three-dimensional sensor, and may be determined on the basis of a marker coordinate system calculated from an image marker or the like having a known shape which is detected from three-dimensional information.
In the present exemplary embodiment, as mentioned above, three-dimensional position information regarding the specific part of the target person is sequentially calculated by using the three-dimensional information which is sequentially acquired from the three-dimensional sensor so that a change in the three-dimensional position information regarding the specific part of the target person, that is, a three-dimensional operation (three-dimensional gesture) of the specific part of the target person is detected. In the present exemplary embodiment, a predetermined process corresponding to a change in the three-dimensional position information regarding the specific part of the target person is applied to the above-described 3D coordinate space or the above-described virtual three-dimensional space data. A virtual three-dimensional space corresponding to a result to which the predetermined process is applied is displayed on the display unit. Here, the predetermined process is a process of, for example, moving, rotating, enlarging, or reducing the virtual three-dimensional space.
Therefore, according to the present exemplary embodiment, the target person (user) makes a predetermined three-dimensional gesture by using a specific part of the person him/herself, and can thus operate a virtual three-dimensional space displayed on the display unit as desired. Further, in the present exemplary embodiment, since an operation on a virtual three-dimensional space can be performed through a three-dimensional gesture of a specific part of the user, the user can have a feeling of operating a virtual three-dimensional space, intuitively and comprehensively.
Hereinafter, the above-described exemplary embodiment will be described more in detail.
[First Exemplary Embodiment]
[Device Configuration]
FIG. 1 is a diagram conceptually illustrating a hardware configuration example of a three-dimensional user interface apparatus (hereinafter, referred to as a 3D-UI apparatus) 1 in a first exemplary embodiment. The 3D-UI apparatus 1 in the first exemplary embodiment roughly has a sensor side configuration and a display side configuration. The sensor side configuration includes a three-dimensional sensor (hereinafter, referred to as a 3D sensor) 8 and a sensor side device 10. The display side configuration includes a head mounted display (hereinafter, referred to as an HMD) 9 and a display side device 20. Hereinafter, three-dimensional is abbreviated to 3D as appropriate.
FIG. 2 is a diagram illustrating an example of a form of using the 3D-UI apparatus 1 in the first exemplary embodiment. As illustrated in FIG. 2, the 3D sensor 8 is disposed at a position where a specific part of a target person (user) can be detected. The HMD 9 is mounted on the head of the target person (user), and allows the target person to visually recognize a visual line image corresponding to a visual line of the target person and the above-described virtual 3D space which is synthesized with the visual line image.
The 3D sensor 8 detects 3D information used to perform detection or the like of the specific part of the target person. The 3D sensor 8, such as Kinect (registered trademark), is implemented by using a visible light camera and a distance image sensor. The distance image sensor is also referred to as a depth sensor, irradiates the target person with a near infrared light pattern from a laser, and calculates a distance (depth) from the distance image sensor to the target person on the basis of information which is obtained by imaging the pattern with a camera which senses the near infrared light. A method of implementing the 3D sensor 8 is not limited, and the 3D sensor 8 may be implemented in a three-dimensional scanner method of using a plurality of visible light cameras. Further, FIG. 1 illustrates a single 3D sensor 8, but the 3D sensor 8 may be implemented by using a plurality of devices including a visible light camera which captures a two-dimensional image of the target person and a sensor which detects a distance to the target person.
FIG. 3 is a diagram illustrating an example of an exterior configuration of the HMD 9. FIG. 3 illustrates a configuration of the HMD 9 which is called a video see-through type. In the example of FIG. 3, the HMD 9 includes two visual line cameras 9a and 9b and two displays 9c and 9d. The visual line cameras 9a and 9b respectively capture visual line images which respectively correspond to visual lines of the user. Consequently, the HMD 9 may be referred to as an imaging unit. The displays 9c and 9d are disposed in a form of covering most of visual fields of the user, and display synthesized 3D images in which the virtual 3D space is synthesized with the visual line images.
Each of the sensor side device 10 and the display side device 20 includes a central processing unit (CPU) 2, a memory 3, a communication unit 4, an input and output interface (I/F) 5, and the like, connected to each other through a bus or the like. The memory 3 is a random access memory (RAM), a read only memory (ROM), a hard disk, a portable storage medium, or the like.
The input and output I/F 5 of the sensor side device is connected to the 3D sensor 8, and the input and output I/F 5 of the display side device 20 is connected to the HMD 9. The input and output I/F 5 and the 3D sensor 8, and the input and output I/F 5 and the HMD 9 may be connected to each other so as to communicate with each other in a wireless manner. Each communication unit 4 performs communication with other devices (the sensor side device 10, the display side device 20, and the like) in a wireless or wired manner. In the present exemplary embodiment, a communication form is not limited. In addition, specific hardware configurations of the sensor side device 10 and the display side device 20 are not limited either.
[Process Configuration]
<Sensor Side Device>
FIG. 4 is a diagram conceptually illustrating a process configuration example of the sensor side device 10 in the first exemplary embodiment. The sensor side device 10 in the first exemplary embodiment includes a 3D information acquisition unit 11, a first object detection unit 12, a first reference setting unit 13, a position calculation unit 14, a state acquisition unit 15, a transmission unit 16, and the like. Each of the processing units is realized, for example, by the CPU 2 executing a program stored in the memory 3. In addition, the program may be installed and stored in the memory 3, for example, through the input and output I/F 5 from a portable recording medium such as a compact disc (CD) or a memory card, or other computers on a network.
The 3D information acquisition unit 11 sequentially acquires 3D information detected by the 3D sensor 8.
The first object detection unit 12 detects a known common real object from the 3D information which is acquired by the 3D information acquisition unit 11. The common real object is an image or an object disposed in the real world, and is referred to as an augmented reality (AR) marker or the like. In the present exemplary embodiment, a specific form of the common real object is not limited as long as a certain reference point, and three directions which are perpendicular to each other from the reference point can be constantly obtained from the common real object regardless of a reference direction. The first object detection unit 12 holds information on a shape, a size, a color, and the like indicated by the common real object in advance, and detects the common real object from the 3D information by using the known information.
The first reference setting unit 13 sets a 3D coordinate space on the basis of the common real object detected by the first object detection unit 12, and calculates a position and a direction of the 3D sensor 8 in the 3D coordinate space. For example, the first reference setting unit 13 uses a reference point extracted from the common real object as an origin, and sets a 3D coordinate space which has three directions perpendicular to each other from the reference point as axes. The first reference setting unit 13 compares known shape and size (corresponding to original shape and size) regarding the common real object with a shape and a size (corresponding to an appearance from the 3D sensor 8) of the common real object extracted from the 3D information to calculate a position and a direction of the 3D sensor 8.
The position calculation unit 14 sequentially calculates 3D position information on the 3D coordinate space regarding the specific part of the target person by using the 3D information which is sequentially acquired by the 3D information acquisition unit 11. In the first exemplary embodiment, the position calculation unit 14 calculates the 3D position information, specifically, as follows. First, the position calculation unit 14 extracts 3D position information of the specific part of the target person from the 3D information which is acquired by the 3D information acquisition unit 11. The 3D position information extracted here corresponds to a camera coordinate system of the 3D sensor 8. Thus, the position calculation unit 14 converts the 3D position information corresponding to the camera coordinate system of the 3D sensor 8 into 3D position information on the 3D coordinate space set by the first reference setting unit 13, on the basis of the position and the direction of the 3D sensor 8 and the 3D coordinate space set-and-calculated by the first reference setting unit 13. This conversion indicates conversion from the camera coordinate system of the 3D sensor into a 3D coordinate system which is set on the basis of the common real object.
Here, a plurality of specific parts of the target person may be detected. For example, as the plurality of specific parts, there may be a form of using both hands of the target person. In this case, the position calculation unit 14 extracts 3D position information of each of a plurality of specific parts from 3D information acquired by the 3D information acquisition unit 11, and converts each piece of the 3D position information into each piece of 3D position information on a 3D coordinate space. The specific part is a part of the body used in order for the target person to operate a virtual 3D space displayed on the display unit and thus has an area or a volume to a certain degree. Therefore, the 3D position information calculated by the position calculation unit 14 may be position information of a certain point within the specific part, and may be position information of a plurality of points.
The state acquisition unit 15 acquires state information of the specific part of the target person. This specific part is the same as the specific part which is a detection target of the position calculation unit 14. This state information indicates one of at least two states. Specifically, in a case where the specific part is the hand, the state information indicates one of at least two states including a closed state and an open state. In the present exemplary embodiment, the number of states indicated by the state information is not limited within a detectable range. In a case where a plurality of specific parts are used, the state acquisition unit 15 respectively acquires state information regarding each specific part.
The state acquisition unit 15 holds in advance, for example, image feature information corresponding to each state of the specific part to be identified, and acquires the state information of the specific part by comparing feature information extracted from a 2D image included in the 3D information which is acquired by the 3D information acquisition unit 11 with each piece of the image feature information held in advance. The state acquisition unit 15 may acquire the state information of the specific part from information which is obtained from a distortion sensor (not illustrated) mounted on the specific part. Further, the state acquisition unit 15 may acquire the state information from information which is obtained from an input mouse (not illustrated) operated with the target person's hand. Still further, the state acquisition unit 15 may acquire the state information by recognizing a voice which is obtained by a microphone (not illustrated).
The transmission unit 16 sends the three-dimensional position information on the three-dimensional coordinate space calculated by the position calculation unit 14, regarding the specific part of the target person, and the state information acquired by the state acquisition unit 15, to the display side device 20.
<Display Side Device>
FIG. 5 is a diagram conceptually illustrating a process configuration example of the display side device 20 in the first exemplary embodiment. The display side device 20 in the first exemplary embodiment includes a visual line image acquisition unit 21, a second object detection unit 22, a second reference setting unit 23, a virtual data generation unit 24, an operation specifying unit 25, a space processing unit 26, an image synthesizing unit 27, a display processing unit 28, and the like. Each of the processing units is realized, for example, by the CPU 2 executing a program stored in the memory 3. In addition, the program may be installed and stored in the memory 3, for example, through the input and output I/F 5 from a portable recording medium such as a compact disc (CD) or a memory card, or other computers on a network.
The visual line image acquisition unit 21 acquires visual line images in which a specific part of the target person is reflected, from the HMD 9. This specific part is the same as the specific part which is a detection target of the sensor side device 10. In the present exemplary embodiment, since the visual line cameras 9a and 9b are provided, the visual line image acquisition unit 21 acquires visual line images which respectively correspond to the left eye and the right eye. Each of the processing units performs a process on both of the visual line images corresponding to the left eye and the right eye, and thus a single visual line image will be described in the following description.
The second object detection unit 22 detects a known common real object from the visual line images which are acquired by the visual line image acquisition unit 21. This common real object is the same as the object detected by the above-described sensor side device 10. A process in the second object detection unit 22 is the same as the process in the first object detection unit 12 of the above-described sensor side device 10, and thus a detailed description thereof will not be repeated here. The common real object included in the visual line images is different in an imaging direction from the common real object included in the 3D information obtained by the 3D sensor 8.
The second reference setting unit 23 sets the 3D coordinate space which has been set by the first reference setting unit 13 of the sensor side device 10 on the basis of the common real object detected by the second object detection unit 22, and calculates a position and a direction of the HMD 9. A process in the second reference setting unit 23 is also the same as the process in the first reference setting unit 13 of the sensor side device 10, and thus a detailed description will not be repeated. The 3D coordinate space set by the second reference setting unit 23 is set on the basis of the same common real object as in the 3D coordinate space which is set by the first reference setting unit 13 of the sensor side device 10, and, as a result, the 3D coordinate space is shared between the sensor side device 10 and the display side device 20.
The virtual data generation unit 24 generates data of virtual 3D space which is disposed in the 3D coordinate space which is shared with the sensor side device 10 by the second reference setting unit 23 and at least part of which is set in a display region. The virtual 3D space data includes, for example, data regarding a virtual object which is disposed at a predetermined position within a virtual 3D space indicated by the data.
The operation specifying unit 25 receives the 3D position information on the 3D coordinate space and the state information regarding the specific part of the target person, from the sensor side device 10, and specifies a single predetermined process to be performed by the space processing unit 26 from among a plurality of predetermined processes on the basis of a combination of the state information and a change in the 3D position information. The change in the 3D position information is calculated on the basis of a relationship with the 3D position information which is obtained at the time of the previous process. In a case where a plurality of specific parts (for example, both hands) are used, the operation specifying unit 25 calculates a positional relationship between the plurality of specific parts on the basis of a plurality of pieces of 3D position information acquired from the sensor side device 10, and specifies a single predetermined process from among a plurality of pieces of predetermined processes on the basis of a change in the calculated positional relationship between the plurality of specific parts, and the plurality of pieces of state information. The plurality of predetermined processes include a movement process, a rotation process, an enlargement process, a reduction process, an addition process of display data of a function menu, and the like.
More specifically, the operation specifying unit 25 specifies the following predetermined process. For example, in a case where a specific part of the target person is one hand, the operation specifying unit 25 specifies a movement process by a distance corresponding to a linear movement amount of the one hand of the target person while the one hand is maintained in a specific state (for example, a closed state). The operation specifying unit 25 measures a period in which the state information and the three-dimensional position information are not changed, and specifies a process of adding display data of the function menu in a case where the measured period exceeds a predetermined period.
In a case where a plurality of specific parts are both hands of the target person, the operation specifying unit 25 specifies the following predetermined process. The operation specifying unit 25 specifies an enlargement process with a position of one hand of the target person as a reference point at a magnification ratio corresponding to a change amount of a distance between both the hands. In addition, the operation specifying unit 25 specifies a reduction process with a position of one hand of the target person as a reference point at a reduction ratio corresponding to a change amount of a distance between both the hands. Further, the operation specifying unit 25 specifies a rotation process with a position of the one hand of the target person as a reference point on the basis of a solid angle change amount of a line segment joining both ends.
Still further, the operation specifying unit 25 determines whether or not the state information indicates a specific state, and determines whether or not a predetermined process is to be performed by the space processing unit 26 according to a determination result. For example, in a case where the specific part of the target person is one hand, and the state information indicates a state in which the one hand is in an open state, the operation specifying unit 25 determines to cause the space processing unit 26 not to perform the predetermined process or to stop the predetermined process of which execution is in progress. In addition, in a case where a plurality of specific parts of the target person are both hands, and the state information indicates a state in which both the hands are in a closed state, the operation specifying unit 25 determines to cause the space processing unit 26 to perform the predetermined process, and, in a case where either one hand is in an open state, the operation specifying unit 25 determines to cause the space processing unit 26 not to perform the predetermined process.
For example, the operation specifying unit 25 holds an ID for identifying each predetermined process as described above, and specifies a predetermined process by selecting an ID corresponding to the predetermined process. The operation specifying unit 25 delivers the selected ID to the space processing unit 26, and thus causes the space processing unit 26 to perform the predetermined process.
The space processing unit 26 applies the predetermined process specified by the operation specifying unit 25 to the 3D coordinate space set by the second reference setting unit 23 or the virtual 3D space data generated by the virtual data generation unit 24. The space processing unit 26 is realized so as to perform a plurality of supporting predetermined processes.
The image synthesizing unit 27 synthesizes the visual line images acquired by the visual line image acquisition unit 21 with a virtual 3D space within the display region corresponding to the virtual 3D space data on which a predetermined process has been performed by the space processing unit 26, on the basis of the position and the direction of the HMD 9 and the 3D coordinate space set-and-calculated by the second reference setting unit 23. A well-known method used in augmented reality (AR) or the like may be employed in the synthesizing process in the image synthesizing unit 27, and thus description thereof will not be repeated here.
The display processing unit 28 displays the synthesized image obtained by the image synthesizing unit 27 on the HMD 9. In the present exemplary embodiment, since two visual line images respectively corresponding to the visual lines of the target person are processed as described above, the display processing unit 28 displays synthesized images in which the virtual 3D space is synthesized with the visual line images on the displays 9c and 9d of the HMD 9, respectively.
FIG. 6 is a diagram illustrating an example of the synthesized image displayed on the HMD 9. The synthesized image illustrated in the example of FIG. 6 is formed by a virtual 3D space including a 3D topographical map, an airplane, an aerodrome, and the like, and a visual line image including both hands of the target person (user). The user can freely operate the virtual 3D space included in the visual line image by moving both hands of the user him/herself while taking a look at the image with the HMD 9.
[Operation Example]
Hereinafter, a three-dimensional operation method in the first exemplary embodiment will be described with reference to FIG. 7. FIG. 7 is a sequence chart illustrating an operation example of the 3D-UI apparatus 1 in the first exemplary embodiment.
The sensor side device 10 sequentially acquires 3D information from the 3D sensor 8 (step S71). The sensor side device 10 operates as follows in relation to the 3D information with a predetermined frame rate.
The sensor side device 10 detects a common real object from the 3D information (step S72).
Next, the sensor side device 10 sets a 3D coordinate space on the basis of the detected common real object, and calculates a position and a direction of the 3D sensor 8 in the 3D coordinate space (step S73).
Further, the sensor side device 10 calculates the 3D position information of a specific part of the target person by using the 3D information (step S74). Still further, the sensor side device 10 converts the 3D position information calculated in step S74 into 3D position information on the 3D coordinate space which is set in step S73 on the basis of the position and the direction of the 3D sensor 8 and the 3D coordinate space set-and-calculated in step S73 (step S75).
In addition, the sensor side device 10 acquires state information regarding the specific part of the target person (step S76).
The sensor side device 10 sends the 3D position information obtained in step S75 and the state information obtained in step S76, regarding the specific part of the target person, to the display side device 20 (step S77).
In FIG. 7, for convenience of description, an example has been described in which the acquisition of the 3D information (step S71) and the acquisition of the state information (step S76) are sequentially executed, but steps S71 and S76 are executed in parallel in a case where the state information of the specific part is obtained from information other than the 3D information. In FIG. 7, an example has been described in which steps S72 and S73 are executed at a predetermined frame rate of the 3D information, but steps S72 and S73 may be executed only during calibration.
On the other hand, the display side device 20 sequentially acquires a visual line image from the HMD 9 in non-synchronization with the acquisition of the 3D information (step S71) (step S81). The display side device 20 operates as follows in relation to the visual line image with a predetermined frame rate.
The display side device 20 detects the common real object from the visual line image (step S82).
Next, the display side device 20 sets the 3D coordinate space on the basis of the detected common real object, and calculates a position and a direction of the HMD 9 in the 3D coordinate space (step S83).
The display side device 20 generates data of virtual 3D space disposed in the set 3D coordinate space (step S84).
When receiving the 3D position information and the state information regarding the specific part of the target person from the sensor side device 10 (step S85), the display side device 20 specifies a predetermined process corresponding to a gesture of the target person according to a combination of a change in the 3D position information and the state information of the specific part (step S86). In a case where there are a plurality of specific parts, the display side device 20 specifies a predetermined process according to a combination of a change in a positional relationship between the plurality of specific parts and a plurality of pieces of state information.
The display side device 20 applies the predetermined process specified in step S86 to the virtual 3D space data generated in step S84 (step S87). Next, the display side device 20 synthesizes the virtual 3D space data which has undergone a predetermined process with the visual line image (step S88) so as to generate display data.
The display side device 20 displays the image obtained through the synthesizing on the HMD 9 (step S89).
In FIG. 7, for convenience of description, an example has been described in which the process (from step S85 to step S87) on the information regarding the specific part of the target person, sent from the sensor side device 10, and the generation process (from step S82 to step S84) of the virtual 3D space data are sequentially performed. However, step S85 to step S87 and step S82 to step S84 are executed in parallel to each other. In addition, in FIG. 7, an example has been described in which step S82 to step S84 are executed at a predetermined frame rate of the visual line image, but step S82 to step S84 may be executed only during calibration.
[Operations and Effects of First Exemplary Embodiment]
As described above, in the first exemplary embodiment, visual line images of the target person are acquired, and an image in which a virtual 3D space is synthesized with the visual line images is displayed within a visual field of the target person in a video see-through manner. Consequently, the target person can visually recognize the virtual 3D space as if the virtual 3D space is present in front of the eyes of the person him/herself. In addition, in the first exemplary embodiment, since a specific part (the hand or the like) of the target person for operating a virtual 3D space is reflected in the visual line images, the target person can feel as if the virtual 3D space is operated with the specific part of the person him/herself. In other words, according to the first exemplary embodiment, the target person can intuitively visually recognize a virtual 3D space and can be given an intuitive operation feeling of the virtual 3D space.
In the first exemplary embodiment, the HMD 9 for obtaining a visual line image of the target person and the 3D sensor 8 for obtaining a position of a specific part of the target person are separately provided. Consequently, according to the first exemplary embodiment, the 3D sensor 8 can be disposed at a position where a 3D position of the specific part of the target person can be accurately measured. This is because there may be present a 3D sensor 8 which cannot accurately measure a position of a measurement target unless the 3D sensor is spaced apart from the measurement target to some extent.
In addition, in the first exemplary embodiment, a 3D coordinate space shared between the sensors is set on the basis of information obtained by the sensors (the 3D sensor 8 and the HMD 9) which are separately provided, by using a common real object. Further, by using this shared 3D coordinate space, a position of a specific part of the target person is determined, and virtual 3D space data is generated and processed. Therefore, according to the first exemplary embodiment, the target person can intuitively visually recognize a relationship between the virtual 3D space and the specific part of the person him/herself, and, as a result, the target person can be given an intuitive operation feeling of the virtual 3D space.
Still further, in the first exemplary embodiment, a predetermined process to be applied to virtual 3D space data is specified according to a combination of a positional change and a state regarding a specific part of the target person, and a virtual 3D space corresponding to the virtual 3D space data which has undergone the predetermined process is synthesized with visual line images. Consequently, the target person can operate a virtual 3D space in accordance with a 3D gesture using a specific part of the person him/herself. Therefore, according to the first exemplary embodiment, it is possible to provide a user interface which enables intuitive operations of a virtual 3D space.
[Second Exemplary Embodiment]
In the above-described first exemplary embodiment, a virtual 3D space is operated through an operation of a specific part of the target person included in a synthesized image which is displayed on the HMD 9. In the second exemplary embodiment, a virtual object which is directly operated by a specific part of the target person is displayed as a replacement of a virtual 3D space which is an actual operation target, and an operation on the virtual 3D space can be performed through an operation of the specific part of the target person on the virtual object. Hereinafter, a 3D-UI apparatus 1 in the second exemplary embodiment will be described focusing on content different from that of the first exemplary embodiment. In the following description, the same content as in the first exemplary embodiment will not be repeated as appropriate.
[Process Configuration]
The second exemplary embodiment is different from the first exemplary embodiment in terms of the following processing units of the display side device 20.
The virtual data generation unit 24 generates data of virtual object which is disposed in a virtual 3D space within a display region. A virtual object indicated by the virtual object data has, for example, a spherical shape.
The operation specifying unit 25 determines whether or not a specific part of the target person is present within a predetermined 3D range with the virtual object as a reference on the basis of 3D position information calculated by the position calculation unit 14 of the sensor side device 10. In a case where the specific part of the target person is present within the predetermined 3D range, the operation specifying unit 25 specifies the following rotation process as a predetermined process which is to be performed by the space processing unit 26. Specifically, as the predetermined process, the operation specifying unit 25 specifies a rotation process with a specific point of the virtual object as a reference on the basis of a solid angle change amount corresponding to a solid angle change amount of a line segment joining the specific part of the target person and the specific point of the virtual object. As the specific point of the virtual object, for example, a central point (centroid point) of the virtual object is used.
In a case where the specific part of the target person is present outside the predetermined 3D range, the operation specifying unit 25 causes the space processing unit 26 not to perform a process on the virtual 3D space data. Consequently, an operation of the target person on the virtual 3D space cannot be performed. However, in a case where the specific part of the target person is present outside the predetermined 3D range, the operation specifying unit 25 may not perform the specification of a predetermined process in the method of the second exemplary embodiment but may perform the specification of a predetermined process in the first exemplary embodiment.
As the predetermined process, the operation specifying unit 25 may detect a movement of the specific part of the target person from within the predetermined 3D range to the outside of the predetermined 3D range, and may specify a rotation process corresponding to a distance of movement between a position within the predetermined 3D range and a position outside the predetermined 3D range and a direction before and after the movement. Specifically, the rotation process is a process of rotation in an angle direction corresponding to the movement direction and by an angle corresponding to the movement distance. Consequently, the target person can move or rotate the virtual 3D space in an inertial manner by an operation up until right before the operation on the virtual 3D space becomes unable. This inertial rotation operation may be switched between being valid and invalid according to settings.
FIG. 8 is a diagram illustrating an example of a synthesized image displayed on the HMD 9 of the second exemplary embodiment. The synthesized image illustrated in the example of FIG. 8 further includes a virtual object VO in addition to the configuration of the first exemplary embodiment. The user can freely operate the virtual 3D space included in the image by moving both hands of the user him/herself within a predetermined 3D range with the virtual object VO as a reference while taking a look at the image with the HMD 9.
[Operation Example]
In a three-dimensional operation method in the second exemplary embodiment, step S84 and step S86 illustrated in FIG. 7 are different from those in the first exemplary embodiment. Specifically, virtual object data is further generated as virtual 3D space data in step S84, and a relationship between a predetermined 3D range with the virtual object as a reference and a position of the specific part is determined in step S86.
[Operations and Effects of Second Exemplary Embodiment]
As mentioned above, in the second exemplary embodiment, in a case where a virtual object is displayed in a virtual 3D space on a 3D coordinate space, and a specific part of the target person is present within a predetermined 3D range with the virtual object as a reference, a rotation process is performed on virtual 3D space data, and, in a case where the specific part is not present within the predetermined 3D range, the rotation process is not performed. In addition, a rotation process with a specific point of the virtual object as a reference is specified on the basis of a solid angle change amount corresponding to a solid angle change amount of a line segment joining the specific part of the target person and the specific point of the virtual object, and this rotation process is applied to the virtual 3D space.
As mentioned above, in the second exemplary embodiment, an intangible operation target which has no visually recognized form as a whole, such as a virtual 3D space, is replaced with an image having a specific form, such as a virtual object, and an operation of the target person on the intangible operation target is realized by detecting an operation of a specific part of the target person on the virtual replacement. Consequently, the target person can obtain a feeling of really operating the virtual object with the specific part of the person himself/herself, and also can obtain a feeling of intuitively operating a virtual 3D space since the virtual 3D space is operated so as to correspond to the operation. Therefore, according to the second exemplary embodiment, the target person can more intuitively operate a virtual 3D space which is an intangible operation target.
The above-described exemplary embodiments will now be described more in detail by using Examples. The present invention is not limited by the following Examples. The following Example 1 corresponds to a specific example of the above-described first exemplary embodiment, and the following Example 2 corresponds to a specific example of the above-described second exemplary embodiment. In the respective Examples, “one hand” or “both hands” are used as (a) specific part(s) of the target person.
EXAMPLE 1
FIG. 9 is a diagram illustrating an example of a movement operation of a virtual 3D space in Example 1. In FIG. 9, respective axes of a 3D coordinate space are indicated by an X axis, a Y axis, and a Z axis, and a virtual 3D space corresponding to virtual 3D space data generated by the virtual data generation unit 24 is indicated by the reference sign VA. A size of the virtual 3D space is not limited, but, in FIG. 9, for convenience of description, the virtual 3D space VA having a finite size is exemplified. A region displayed on the HMD 9, within the virtual 3D space VA, is indicated by a display region DA.
In the example of FIG. 9, one hand is moved in a negative direction of the X axis in a state in which the one hand of the target person is in a closed state. This operation of the one hand can be said to be a gesture of gripping a space and moving the space in the direction. When the gesture is recognized, the display side device 20 moves the virtual 3D space VA in the negative direction of the X axis by a distance corresponding to a linear movement amount of the one hand. Consequently, since the display region DA is moved in the positive direction of the X axis within the virtual 3D space VA, a portion of the virtual 3D space VA which has not been displayed hitherto is displayed on the HMD 9.
As described above, the target person makes a gesture of gripping a space and moving the space in a certain direction, and thus can move the virtual 3D space so as to move his or her visual field. The gesture and the virtual 3D space operation are intuitively related to each other.
In addition, if it is detected that the one hand of the target person is not moved during a specific period of time in a state in which the one hand is in a closed state, the display side device 20 displays a menu screen for calling other functions in the display region of the virtual 3D space, and enables a user's operation on the menu screen to be performed.
When it is detected that the other hand also becomes to be in a closed state in a state in which the one hand is in a closed state, the display side device 20 makes enlargement, reduction, and rotation operations on the virtual 3D space valid. When it is detected that either of the hands becomes to be in an open state, the display side device 20 invalidates enlargement, reduction and rotation operations on the virtual 3D space.
FIG. 10 is a diagram illustrating an example of a reduction operation on the virtual 3D space in Example 1. In the same manner as FIG. 9, FIG. 10 illustrates the 3D coordinate space having the X axis, the Y axis, and the Z axis, the virtual 3D space VA, and the display region DA. In the example of FIG. 10, one hand is diagonally moved toward the lower left direction in the figure in a state in which both hands of the target person are in a closed state. This operation of using the hands can be said to be a gesture of gripping a space with both the hands and reducing the space between both the hands. When this gesture is recognized, the display side device 20 reduces the virtual 3D space VA at a reduction ratio corresponding to a degree of the reduced distance between both the hands. At this time, the display side device 20 sets the hand initially forming a closed state as a reference point of the reduction process at the time at which enlargement, reduction and rotation operations on the virtual 3D space become valid.
Although not illustrated in FIG. 10, when it is detected that one hand is moved in a direction in which both hands become distant from each other in a state in which both the hands are in a closed state, the display side device 20 displays the virtual 3D space VA at a magnification ratio corresponding to a degree of extension distance between both the hands. This operation can be said to be a gesture of gripping a space with both the hands and extending the space with both the hands.
The target person can reduce or enlarge the virtual 3D space by making a gesture of reducing or extending the space with both hands as described above. The gesture and the virtual 3D space operation are also intuitively related to each other.
FIG. 11 is a diagram illustrating an example of a rotation operation on the virtual 3D space in Example 1. In the same manner as FIG. 9 or 10, FIG. 11 illustrates the 3D coordinate space having the X axis, the Y axis, and the Z axis, the virtual 3D space VA, and the display region DA. In the example of FIG. 11, one hand is moved toward an angle direction different from an initial direction of a line segment joining both hands in a state in which both the hands of the target person are in a closed state. This operation of using the hands can be said to be a gesture of gripping a space with both the hands and pulling one part of the space in a certain direction while holding the other part. When this gesture is recognized, the display side device 20 rotates the virtual 3D space VA in a solid angle change amount corresponding to a solid angle change amount between a straight line joining both the hands at the time at which each operation becomes valid and a straight line joining both the hands after the one hand is moved. At this time, the display side device 20 sets the hand initially forming a closed state as a rotation axis at the time at which each operation becomes valid.
When enlargement, reduction and rotation operations become valid, the display side device 20 determines enlargement and reduction, or rotation on the basis of a change in a vector (line segment) joining both hands which are closed state. Specifically, the display side device 20 compares a unit vector obtained by normalizing a vector at the time at which both the hands are in a closed state, that is, at which enlargement, reduction and rotation operations become valid, with a unit vector of a subsequent vector, and if the unit vectors are approximate to each other, an enlargement process or a reduction process corresponding to a change in a size of the vector is performed. On the other hand, if the unit vectors are not approximate to each other, the Display side device 20 performs a rotation process.
As described above, the target person can rotate the virtual 3D space by making a gesture of gripping a space with both hands and pulling one part of the object in a certain direction while holding the other part. The gesture and the virtual 3D space operation are also intuitively related to each other.
EXAMPLE 2
In Example 2, the display side device 20 displays a spherical virtual object VO as illustrated in the example of FIG. 8 in the display region of the virtual 3D space. The display side device 20 sets a predetermined 3D range with the virtual object as a reference, and makes a rotation operation on the virtual 3D space valid in a case where one hand of the target person is present within the predetermined 3D range. In Example 2, the target person can operate the virtual 3D space with one hand.
The display side device 20 obtains a solid angle change amount of a line segment joining the one hand of the target person and a central point of the virtual object before and after a movement of the one hand, and rotates the virtual 3D space in a solid angle change amount which is the same as the obtained change amount. At this time, a reference point of the rotation is set to the central point of the virtual object. The virtual object is rotated along with the virtual 3D space due to this rotation operation.
The display side device 20 invalidates an operation on the virtual 3D space in a case where the specific part of the target person is moved to the outside of the predetermined 3D range. The display side device 20 may rotate the virtual 3D space in an inertial manner at a timing at which a rotation operation is switched from a valid operation to an invalid operation. In this case, if it is detected that the hand of the target person is moved from within the predetermined 3D range to the outside of the predetermined 3D range, the display side device 20 applies a rotation corresponding to a movement distance and a movement direction between a position within the predetermined 3D range before the movement and a position outside the predetermined 3D range after the movement, to the virtual 3D space.
Consequently, the target person operates the spherical virtual object VO in the manner of rotating a terrestrial globe and can thus rotate the virtual 3D space along with the virtual object VO. At this time, the target person can similarly operate the virtual 3D space with a feeling of operating the virtual object VO and can thus intuitively perform an operation on the virtual 3D space.
[Modification Examples]
In the above-described first exemplary embodiment and second exemplary embodiment, as illustrated in FIG. 3, the HMD 9 has the visual line cameras 9a and 9b and the displays 9c and 9d corresponding to both eyes of the target person (user), but may have a single visual line camera and a single display. In this case, the single display may be disposed to cover a visual field of one eye of the target person, and may be disposed to cover visual fields of both eyes of the target person. In this case, the virtual data generation unit 24 of the display side device 20 may generate virtual 3D space data by using a well-known 3DCG technique so as to display a display object included in a virtual 3D space with 3DCG.
In addition, in the above-described first exemplary embodiment and second exemplary embodiment, the video see-through type HMD 9 is used to obtain visual line images, but an optical see-through type HMD 9 may be used. In this case, half mirror displays 9c and 9d may be provided in the HMD 9, and a virtual 3D space may be displayed on the displays 9c and 9d. However, in this case, a camera used to obtain an image for detecting a common real object in a visual line direction of a target person is provided at a location which does not shield a visual field of the target person of the HMD 9.
In addition, in the above-described first exemplary embodiment and second exemplary embodiment, as illustrated in FIG. 1, the sensor side device 10 and the display side device 20 are provided separately from each other, and the virtual 3D space is synthesized with the visual line images of the target person, but an image may be displayed in which the virtual 3D space is synthesized with the two-dimensional image included in the 3D information which is obtained by the sensor side device 10.
FIG. 12 is a diagram conceptually illustrating a hardware configuration example of the 3D-UI apparatus 1 in a modification example. The 3D-UI apparatus 1 includes a processing device 50, a 3D sensor 8, and a display device 51. The processing device 50 includes a CPU 2, a memory 3, an input and output I/F 5, and the like, and the input and output I/F 5 is connected to the 3D sensor 8 and the display device 51. The display device 51 displays a synthesized image.
FIG. 13 is a diagram conceptually illustrating a process configuration example of the 3D-UI apparatus 1 in a modification example. The 3D-UI apparatus 1 in the modification example includes the 3D information acquisition unit 11, the position calculation unit 14, and the state acquisition unit 15, included in the sensor side device 10 in the above-described respective exemplary embodiments, and the virtual data generation unit 24, the operation specifying unit 25, the space processing unit 26, the image synthesizing unit 27, and the display processing unit 28, included in the display side device 20 in the above-described respective exemplary embodiments. Each of the processing units is the same as that in the above-described respective exemplary embodiments except for the following content.
The position calculation unit 14 directly obtains the three-dimensional position information of the specific part of the target person from the three-dimensional information which is obtained from the 3D sensor 8 by the 3D information acquisition unit 11. The operation specifying unit 25 specifies the predetermined process on the basis of the three-dimensional position information of the camera coordinate system calculated by the position calculation unit 14 and the state information obtained by the state acquisition unit 15. The image synthesizing unit 27 synthesizes the two-dimensional image included in the three-dimensional information obtained by the 3D information acquisition unit 11, and the virtual 3D space data which has undergone the predetermined process by the space processing unit 26.
In this modification example, the target person operates a virtual 3D space while taking a look at an image of the target person him/herself captured from directions other than a visual line direction thereof. Therefore, in this modification example, there is a possibility that intuition may be reduced compared with the above-described respective exemplary embodiments using visual line images of the target person him/herself, but an easily understandable operation can be sufficiently realized since a virtual 3D space can be operated through a 3D gesture using a specific part.
In the flowchart used for the above description, a plurality of steps (processes) are sequentially disclosed, but an execution order of steps executed in the present exemplary embodiment is not limited to the described order. In the present exemplary embodiment, an order of illustrated steps may be changed within a range of not causing troubles in content. Further, the above-described respective exemplary embodiments and modification examples may be synthesized with each other within a range of not causing conflict in content.
The above-described content may be specified as in the following notes. However, the respective exemplary embodiments, modification examples, and Examples are not limited to the following disclosures.
(Note 1)
A three-dimensional user interface apparatus including:
a three-dimensional information acquisition unit that acquires three-dimensional information from a three-dimensional sensor;
a position calculation unit that calculates three-dimensional position information on a three-dimensional coordinate space regarding a specific part of a target person by using the three-dimensional information acquired by the three-dimensional information acquisition unit;
a virtual data generation unit that generates virtual three-dimensional space data indicating a virtual three-dimensional space which is disposed in the three-dimensional coordinate space and at least part of which is set in a display region;
a space processing unit that performs a predetermined process corresponding to a change in the three-dimensional position information regarding the specific part of the target person, on the three-dimensional coordinate space or the virtual three-dimensional space data; and
a display processing unit that displays the virtual three-dimensional space within the display region on a display unit on the basis of virtual three-dimensional space data which is obtained through the predetermined process performed by the space processing unit.
(Note 2)
The three-dimensional user interface apparatus according to Note 1, further including:
a state acquisition unit that acquires state information of the specific part of the target person; and
an operation specifying unit that specifies the predetermined process to be performed by the space processing unit from among a plurality of predetermined processes on the basis of a combination of the state information acquired by the state acquisition unit and the change in the three-dimensional position information.
(Note 3)
The three-dimensional user interface apparatus according to Note 2,
in which the position calculation unit calculates three-dimensional position information of one hand of the target person as the specific part of the target person,
in which the state acquisition unit acquires state information of the one hand of the target person as the specific part of the target person, and
in which the operation specifying unit specifies, as the predetermined process, a process of performing a movement by a distance corresponding to a linear movement amount of the one hand of the target person while the one hand is maintained in a specific state.
(Note 4)
The three-dimensional user interface apparatus according to Note 2 or 3,
in which the position calculation unit calculates respective pieces of three-dimensional position information on the three-dimensional coordinate space regarding a plurality of specific parts of the target person,
in which the state acquisition unit acquires respective pieces of state information regarding the plurality of specific parts of the target person, and
in which the operation specifying unit calculates a positional relationship between the plurality of specific parts on the basis of the plurality of pieces of three-dimensional position information regarding the plurality of specific parts calculated by the position calculation unit, and specifies the predetermined process from among the plurality of predetermined processes on the basis of a change in the calculated positional relationship and the pieces of state information acquired by the state acquisition unit.
(Note 5)
The three-dimensional user interface apparatus according to Note 4,
in which the position calculation unit calculates the respective pieces of three-dimensional position information of both hands of the target person as the plurality of specific parts,
in which the state acquisition unit acquires the respective pieces of state information of both the hands of the target person as the plurality of specific parts, and
in which the operation specifying unit specifies, as the predetermined process, an enlargement process or a reduction process with a position of one hand of the target person as a reference point at a magnification ratio or a reduction ratio corresponding to a change amount of a distance between both the hands, or a rotation process with a position of one hand of the target person as a reference point in a solid angle change amount corresponding to a solid angle change amount of a line segment joining both the hands.
(Note 6)
The three-dimensional user interface apparatus according to any one of Notes 2 to 5,
in which the operation specifying unit determines whether or not the state information acquired by the state acquisition unit indicates a specific state, and determines whether or not the predetermined process is to be performed by the space processing unit according to a result of the determination.
(Note 7)
The three-dimensional user interface apparatus according to any one of Notes 1 to 6,
in which the virtual data generation unit generates data of virtual object disposed in the virtual three-dimensional space within the display region, and
in which the operation specifying unit determines whether or not the specific part of the target person is present within a predetermined three-dimensional range with the virtual object as a reference on the basis of the three-dimensional position information calculated by the position calculation unit, and determines whether or not the predetermined process is to be performed by the space processing unit according to a result of the determination.
(Note 8)
The three-dimensional user interface apparatus according to Note 7,
in which, the operation specifying unit specifies, as the predetermined process, a rotation process with a specific point of the virtual object as a reference point in a solid angle change amount corresponding to a solid angle change amount of a line segment joining the specific part of the target person and the specific point of the virtual object.
(Note 9)
The three-dimensional user interface apparatus according to Note 7 or 8,
in which the operation specifying unit detects a movement of the specific part of the target person from within the predetermined three-dimensional range to outside of the predetermined three-dimensional range, and specifies, as the predetermined process, a rotation process corresponding to a distance and a direction between a position within the predetermined three-dimensional range and a position outside the predetermined three-dimensional range before and after the movement.
(Note 10)
The three-dimensional user interface apparatus according to any one of Notes 2 to 9,
in which, the operation specifying unit measures a period in which state information acquired by the state acquisition unit and the three-dimensional position information are not changed, and specifies, as the predetermined process, a process of adding display data of a function menu in a case where the measured period exceeds a predetermined period.
(Note 11)
The three-dimensional user interface apparatus according to any one of Notes 1 to 10, further including:
a first object detection unit that detects a known common real object from the three-dimensional information;
a first reference setting unit that sets the three-dimensional coordinate space on the basis of the common real object detected by the first object detection unit and calculates a position and a direction of the three-dimensional sensor;
a visual line image acquisition unit that acquires a visual line image in which the specific part of the target person is reflected from an imaging unit that is disposed at a position and in a direction different from the position and direction of the three-dimensional sensor;
a second object detection unit that detects the known common real object from the visual line image acquired by the visual line image acquisition unit;
a second reference setting unit that shares the three-dimensional coordinate space on the basis of the common real object detected by the second object detection unit and calculates a position and a direction of the imaging unit; and
an image synthesizing unit that synthesizes the virtual three-dimensional space within the display region with the visual line image captured by the imaging unit on the basis of the position and the direction of the imaging unit calculated by the second reference setting unit and the three-dimensional coordinate space,
in which the position calculation unit calculates the three-dimensional position information on the three-dimensional coordinate space by converting the three-dimensional position information regarding the specific part of the target person acquired from the three-dimensional information which is acquired by the three-dimensional information acquisition unit on the basis of the position and the direction of the three-dimensional sensor calculated by the first reference setting unit and the three-dimensional coordinate space, and
in which the display processing unit displays the image obtained by the image synthesizing unit on the display unit.
(Note 12)
A three-dimensional operation method executed by at least one computer, the method including:
acquiring three-dimensional information from a three-dimensional sensor;
calculating three-dimensional position information on a three-dimensional coordinate space regarding a specific part of a target person by using the acquired three-dimensional information;
generating virtual three-dimensional space data indicating a virtual three-dimensional space which is disposed in the three-dimensional coordinate space and at least part of which is set in a display region;
performing a predetermined process corresponding to a change in the three-dimensional position information regarding the specific part of the target person, on the three-dimensional coordinate space or the virtual three-dimensional space data; and
displaying the virtual three-dimensional space within the display region on a display unit on the basis of virtual three-dimensional space data which is obtained by performing the predetermined process.
(Note 13)
The three-dimensional operation method according to Note 12, further including:
acquiring state information of the specific part of the target person; and
specifying the predetermined process to be performed from among a plurality of predetermined processes on the basis of a combination of the acquired state information and the change in the three-dimensional position information.
(Note 14)
The three-dimensional operation method according to Note 13,
in which, the calculating of the three-dimensional position information includes calculating three-dimensional position information of the one hand of the target person as the specific part of the target person,
in which, the acquiring of the state information includes acquiring state information of the one hand of the target person as the specific part of the target person, and in which, the specifying of the predetermined process includes specifying, as the predetermined process, a process of performing a movement by a distance corresponding to a linear movement amount of the one hand of the target person while the one hand is maintained in a specific state. [0119]
(Note 15)
The three-dimensional operation method according to Note 13 or 14,
in which the calculating of the three-dimensional position information includes calculating respective pieces of three-dimensional position information on the three-dimensional coordinate space regarding a plurality of specific parts of the target person,
in which the acquiring of the state information includes acquiring respective pieces of state information regarding the plurality of specific parts of the target person, and
in which the specifying of the predetermined process includes calculating a positional relationship between the plurality of specific parts on the basis of the calculated plurality of pieces of three-dimensional position information regarding the plurality of specific parts, and specifying the predetermined process from among the plurality of predetermined processes on the basis of a change in the calculated positional relationship and the pieces of state information acquired by the state acquisition unit.
(Note 16)
The three-dimensional operation method according to Note 15,
in which the calculating of the three-dimensional position information includes the respective pieces of three-dimensional position information of both hands of the target person as the plurality of specific parts,
in which the acquiring of the state information includes acquiring the respective pieces of state information of both the hands of the target person as the plurality of specific parts, and
in which the specifying of the predetermined process includes specifying, as the predetermined process, an enlargement process or a reduction process with a position of one hand of the target person as a reference point at a magnification ratio or a reduction ratio corresponding to a change amount of a distance between both the hands, or a rotation process with a position of one hand of the target person as a reference point in a solid angle change amount corresponding to a solid angle change amount of a line segment joining both the hands.
(Note 17)
The three-dimensional operation method according to any one of Notes 13 to 16, further comprising:
determining whether or not the acquired state information indicates a specific state; and
determining whether or not the predetermined process is to be performed according to a result of the determination.
(Note 18)
The three-dimensional operation method according to any one of Notes 13 to 17, further including:
generating data of virtual object disposed in the virtual three-dimensional space within the display region;
determining whether or not the specific part of the target person is present within a predetermined three-dimensional range with the virtual object as a reference on the basis of the calculated three-dimensional position information; and
determining whether or not the predetermined process is to be performed according to a result of the determination.
(Note 19)
The three-dimensional operation method according to Note 18,
in which, the specifying of the predetermined process includes specifying, as the predetermined process, a rotation process with a specific point of the virtual object as a reference point in a solid angle change amount corresponding to a solid angle change amount of a line segment joining the specific part of the target person and the specific point of the virtual object.
(Note 20)
The three-dimensional operation method according to Note 18 or 19,
in which the specifying of the predetermined process includes detecting a movement of the specific part of the target person from within the predetermined three-dimensional range to outside of the predetermined three-dimensional range, and specifying, as the predetermined process, a rotation process corresponding to a distance and a direction between a position within the predetermined three-dimensional range and a position outside the predetermined three-dimensional range before and after the movement.
(Note 21)
The three-dimensional operation method according to any one of Notes 13 to 20,
in which, the specifying of the predetermined process includes measuring a period in which the acquired state information and the three-dimensional position information are not changed, and specifying, as the predetermined process, a process of adding display data of a function menu in a case where the measured period exceeds a predetermined period.
(Note 22)
The three-dimensional operation method according to any one of Notes 12 to 21, further including:
detecting a known common real object from the three-dimensional information;
setting the three-dimensional coordinate space on the basis of the detected common real object and calculating a position and a direction of the three-dimensional sensor;
acquiring a visual line image in which the specific part of the target person is reflected from an imaging unit that is disposed at a position and in a direction different from the position and direction of the three-dimensional sensor;
detecting the known common real object from the acquired visual line image;
sharing the three-dimensional coordinate space on the basis of the detected common real object and calculating a position and a direction of the imaging unit;
synthesizing the virtual three-dimensional space within the display region with the visual line image captured by the imaging unit on the basis of the calculated position and direction of the imaging unit and the three-dimensional coordinate space; and
displaying the image obtained through the synthesizing on the display unit,
in which the calculating of the three-dimensional position information includes calculating the three-dimensional position information on the three-dimensional coordinate space by converting the three-dimensional position information regarding the specific part of the target person acquired from the acquired three-dimensional information on the basis of the calculated position and direction of the three-dimensional sensor and the three-dimensional coordinate space.
(Note 23)
A program causing at least one computer to execute the three-dimensional operation method according to any one of Notes 12 to 21.
(Note 24)
A computer readable recording medium recording the program according to Note 23 thereon.
This application claims the benefit of Japanese Priority Patent Application JP 2012-167111 filed Jul. 27, 2012, the entire contents of which are incorporated herein by reference.

## Claims

1. A three-dimensional user interface apparatus comprising:
a three-dimensional information acquisition unit that acquires three-dimensional information from a three-dimensional sensor;
a position calculation unit that calculates three-dimensional position information on a three-dimensional coordinate space regarding a specific part of a target person by using the three-dimensional information acquired by the three-dimensional information acquisition unit;
a virtual data generation unit that generates virtual three-dimensional space data indicating a virtual three-dimensional space which is disposed in the three-dimensional coordinate space and at least part of which is set in a display region, the virtual data generation unit further generating a virtual object to be displayed in the display region, the virtual object being other than the virtual three-dimensional space;
a display processing unit that displays, on a display unit, the virtual object and the virtual three-dimensional space within the display region;
a state acquisition unit that acquires state information of the specific part of the target person;
a space processing unit that performs a predetermined process on the virtual three-dimensional space; and
an operation specifying unit that performs: a first process of determining a predetermined process to be performed by the space processing unit from among a plurality of predetermined processes, on the basis of a combination of a change in a location of the specific part of the target person being relative to a location of the virtual object and a change in a state of the specific part of the target person; a second process of determining whether or not the specific part of the target person is present within a predetermined three-dimensional range being defined relative to the location of the virtual object, on the basis of the three-dimensional position information calculated by the position calculation unit; and a third process of determining whether or not to make the space processing unit perform the predetermined process on the basis of a result of the second process,
wherein the space processing unit performs the predetermined process determined by the operation specifying unit on the virtual three-dimensional space being displayed on the display unit, when the operation specifying unit determines to make the space processing unit perform the predetermined process, and
wherein, after the predetermined process is performed on the virtual three-dimensional space being displayed on the display unit, the display processing unit displays the virtual three-dimensional unit on which the predetermined process has been performed.

2. The three-dimensional user interface apparatus according to claim 1,
wherein the position calculation unit calculates three-dimensional position information of one hand of the target person as the specific part of the target person,
wherein the state acquisition unit acquires state information of the one hand of the target person as the specific part of the target person, and
wherein the operation specifying unit specifies, as the predetermined process, a process of performing a movement by a distance corresponding to a linear movement amount of the one hand of the target person while the one hand is maintained in a specific state.

3. The three-dimensional user interface apparatus according to claim 1,
wherein the position calculation unit calculates respective pieces of three-dimensional position information on the three-dimensional coordinate space regarding a plurality of specific parts of the target person,
wherein the state acquisition unit acquires respective pieces of state information regarding the plurality of specific parts of the target person, and
wherein the operation specifying unit calculates a positional relationship between the plurality of specific parts on the basis of the plurality of pieces of three-dimensional position information regarding the plurality of specific parts calculated by the position calculation unit, and specifies the predetermined process from among the plurality of predetermined processes on the basis of a change in the calculated positional relationship and the pieces of state information acquired by the state acquisition unit.

4. The three-dimensional user interface apparatus according to claim 3,
wherein the position calculation unit calculates the respective pieces of three-dimensional position information of both hands of the target person as the plurality of specific parts,
wherein the state acquisition unit acquires the respective pieces of state information of both the hands of the target person as the plurality of specific parts, and
wherein the operation specifying unit specifies, as the predetermined process, an enlargement process or a reduction process with a position of one hand of the target person as a reference point at a magnification ratio or a reduction ratio corresponding to a change amount of a distance between both the hands, or a rotation process with a position of one hand of the target person as a reference point in a solid angle change amount corresponding to a solid angle change amount of a line segment joining both the hands.

5. The three-dimensional user interface apparatus according claim 1,
wherein the operation specifying unit determines whether or not the state information acquired by the state acquisition unit indicates a specific state, and determines whether or not the predetermined process is to be performed by the space processing unit according to a result of the determination.

6. The three-dimensional user interface apparatus according to claim 1,
wherein, the operation specifying unit specifies, as the predetermined process, a rotation process with a specific point of the virtual object as a reference point in a solid angle change amount corresponding to a solid angle change amount of a line segment joining the specific part of the target person and the specific point of the virtual object.

7. The three-dimensional user interface apparatus according to claim 1,
wherein the operation specifying unit detects a movement of the specific part of the target person from within the predetermined three-dimensional range to outside of the predetermined three-dimensional range, and specifies, as the predetermined process, a rotation process corresponding to a distance and a direction between a position within the predetermined three-dimensional range and a position outside the predetermined three-dimensional range before and after the movement.

8. The three-dimensional user interface apparatus according to claim 1,
wherein, the operation specifying unit measures a period in which state information acquired by the state acquisition unit and the three-dimensional position information are not changed, and specifies, as the predetermined process, a process of adding display data of a function menu in a case where the measured period exceeds a predetermined period.

9. The three-dimensional user interface apparatus according to claim 1, further comprising:
a first object detection unit that detects a known common real object from the three-dimensional information;
a first reference setting unit that sets the three-dimensional coordinate space on the basis of the common real object detected by the first object detection unit and calculates a position and a direction of the three-dimensional sensor;
a visual line image acquisition unit that acquires a visual line image in which the specific part of the target person is reflected from an imaging unit that is disposed at a position and in a direction different from the position and direction of the three-dimensional sensor;
a second object detection unit that detects the known common real object from the visual line image acquired by the visual line image acquisition unit;
a second reference setting unit that shares the three-dimensional coordinate space on the basis of the common real object detected by the second object detection unit and calculates a position and a direction of the imaging unit; and
an image synthesizing unit that synthesizes the virtual three-dimensional space within the display region with the visual line image captured by the imaging unit on the basis of the position and the direction of the imaging unit calculated by the second reference setting unit and the three-dimensional coordinate space,
wherein the position calculation unit calculates the three-dimensional position information on the three-dimensional coordinate space by converting the three-dimensional position information regarding the specific part of the target person acquired from the three-dimensional information which is acquired by the three-dimensional information acquisition unit on the basis of the position and the direction of the three-dimensional sensor calculated by the first reference setting unit and the three-dimensional coordinate space, and
wherein the display processing unit displays the image obtained by the image synthesizing unit on the display unit.

10. A three-dimensional operation method executed by at least one computer, the method comprising:
acquiring three-dimensional information from a three-dimensional sensor;
calculating three-dimensional position information on a three-dimensional coordinate space regarding a specific part of a target person by using the acquired three-dimensional information;
generating virtual three-dimensional space data indicating a virtual three-dimensional space which is disposed in the three-dimensional coordinate space and at least part of which is set in a display region, and generating a virtual object to be displayed in the display region, the virtual object being other than the virtual three-dimensional space;
performing a predetermined process on the virtual three-dimensional space;
displaying, on a display unit, the virtual object and the virtual three-dimensional space within the display region on a display unit on the basis of virtual three-dimensional space data which is obtained by performing the predetermined process;
acquiring state information of the specific part of the target person;
performing: a first process of determining a predetermined process to be performed by the space processing unit from among a plurality of predetermined processes, on the basis of a combination of a change in a location of the specific part of the target person being relative to a location of the virtual object and a change in a state of the specific part of the target person; a second process of determining whether or not the specific part of the target person is present within a predetermined three-dimensional range being defined relative to the location of the virtual object, on the basis of the three-dimensional position information calculated by the position calculation unit; and a third process of determining whether or not to make the space processing unit perform the predetermined process on the basis of a result of the second process,
wherein performing the predetermined process includes performing the predetermined process determined by the operation specifying unit on the virtual three-dimensional space being displayed on the display unit, when the operation specifying unit determines to make the space processing unit perform the predetermined process, and
wherein, after the predetermined process is performed on the virtual three-dimensional space being displayed on the display unit, the virtual three-dimensional unit on which the predetermined process has been performed is displayed.

11. A non-transitory computer-readable storage medium storing a program for causing at least one computer to perform a three-dimensional operation method, the three-dimensional operation method comprising:
acquiring three-dimensional information from a three-dimensional sensor;
calculating three-dimensional position information on a three-dimensional coordinate space regarding a specific part of a target person by using the acquired three-dimensional information;
generating virtual three-dimensional space data indicating a virtual three-dimensional space which is disposed in the three-dimensional coordinate space and at least part of which is set in a display region, and generating a virtual object to be displayed in the display region, the virtual object being other than the virtual three-dimensional space;
performing a predetermined process on the virtual three-dimensional;
displaying, on a display unit, the virtual object and the virtual three-dimensional space within the display region on a display unit on the basis of virtual three-dimensional space data which is obtained by performing the predetermined process;
acquiring state information of the specific part of the target person;
performing: a first process of determining a predetermined process to be performed by the space processing unit from among a plurality of predetermined processes, on the basis of a combination of a change in a location of the specific part of the target person being relative to a location of the virtual object and a change in a state of the specific part of the target person; a second process of determining whether or not the specific part of the target person is present within a predetermined three-dimensional range being defined relative to the location of the virtual object, on the basis of the three-dimensional position information calculated by the position calculation unit; and a third process of determining whether or not to make the space processing unit perform the predetermined process on the basis of a result of the second process,
wherein performing the predetermined process includes performing the predetermined process determined by the operation specifying unit on the virtual three-dimensional space being displayed on the display unit, when the operation specifying unit determines to make the space processing unit perform the predetermined process, and
wherein, after the predetermined process is performed on the virtual three-dimensional space being displayed on the display unit, the virtual three-dimensional unit on which the predetermined process has been performed is displayed.