WO2016148142A1 - 表示データ処理装置、表示装置、および、プログラム - Google Patents
表示データ処理装置、表示装置、および、プログラム Download PDFInfo
- Publication number
- WO2016148142A1 WO2016148142A1 PCT/JP2016/058158 JP2016058158W WO2016148142A1 WO 2016148142 A1 WO2016148142 A1 WO 2016148142A1 JP 2016058158 W JP2016058158 W JP 2016058158W WO 2016148142 A1 WO2016148142 A1 WO 2016148142A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- input
- target object
- operation target
- coordinate data
- display
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
Definitions
- the present invention relates to a technique for processing display data for displaying an object having three-dimensional coordinate data on a display device.
- Patent Document 1 discloses the above technique.
- an input object corresponding to an input operation object (for example, a finger) is limited to an object having a shape registered in advance. For this reason, the surface change when the operation target object is operated by the input object is only a predetermined change.
- the technique of Patent Literature 1 when the input object is set to a size corresponding to a finger, when the user touches the operation target object with a thin tip pen, the operation target object is touched with the tip thin pen. It is displayed that a deformation (a large dent) larger than a deformation (a dent) that should have occurred is generated.
- a display different from the experience in the real world is made, so that the user feels uncomfortable when viewing the display.
- the present invention provides display data for displaying an image (video) that does not cause the user to feel uncomfortable regardless of what input operation object is used to operate the operation target object. It is an object of the present invention to realize a display data processing device that generates and a display device including the display data processing device.
- a first configuration is a display data processing device used together with a sensor that detects a position and a size of an input operation object in a three-dimensional space, and includes an input control unit, an input object generation Unit, an operation target object generation unit, a surface processing unit, and a display processing unit.
- the input control unit acquires the position and size of the input operation object in the three-dimensional space based on the sensor detection signal output from the sensor, and acquires the coordinate data of the input operation object in the three-dimensional space.
- the input object generation unit sets an input object having a size corresponding to the size of the input operation object based on the coordinate data in the three-dimensional space of the input operation object acquired by the input control unit, and sets the input Vertex coordinate data in the three-dimensional space of the object is calculated.
- the operation target object generation unit sets the operation target object, and calculates vertex coordinate data in the three-dimensional space of the set operation target object.
- the surface processing unit identifies the surface state of the operation target object based on the vertex coordinate data of the input object calculated by the input object generation unit and the vertex coordinate data of the operation target object calculated by the operation target object generation unit. Then, the vertex coordinate data of the operation target object for forming the surface state of the specified operation target object is calculated.
- the display processing unit generates display data to be displayed on the display device based on the vertex coordinate data of the operation target object calculated by the surface processing unit and the vertex coordinate data of the input object.
- display data processing for generating display data for displaying an image (video) that does not make the user feel uncomfortable with any input operation object when the operation target object is operated.
- a device and a display device including the display data processing device can be realized.
- FIG. 1 is a schematic configuration diagram of a display device 1000 according to a first embodiment.
- 5 is a flowchart showing processing executed by the display apparatus 1000.
- the figure (upper figure, center figure) which shows the positional relationship in the three-dimensional space of the display part 3 of the display apparatus 1000, operation object T_obj1, and a user's finger
- the figure which shows image Img1 displayed (lower figure).
- toe and operation target object T_obj1 is harder than predetermined
- toe and operation target object T_obj1 is harder than predetermined
- toe and operation target object T_obj1 is not harder than predetermined
- prescribed hardness (when Hd (T_obj1) ⁇ Th1).
- toe and operation target object T_obj1 is not harder than predetermined
- prescribed hardness (when Hd (T_obj1) ⁇ Th1).
- movement of the display apparatus 1000 when the input operation body is made into a thin pen and the operation target object T_obj1 is not harder than a predetermined hardness (when Hd (T_obj1) ⁇ Th1).
- movement of the display apparatus 1000 when the input operation body is made into a thin pen and the operation target object T_obj1 is not harder than a predetermined hardness (when Hd (T_obj1) ⁇ Th1).
- movement of the display apparatus 1000 when the input operation body is made into a thin pen and the operation target object T_obj1 is not harder than a predetermined hardness (when Hd (T_obj1) ⁇ Th1).
- FIG. 1 is a schematic configuration diagram of a display device 1000 according to the first embodiment.
- the display device 1000 includes a sensor 1, a display data processing unit (display data processing device) 2, and a display unit 3, as shown in FIG.
- Sensor 1 is a sensor that detects the position and size of an input operation object (for example, a finger or a pen) in a three-dimensional space and acquires a sensor detection signal.
- the sensor 1 outputs the acquired sensor detection signal to the input control unit 21 of the display data processing unit 2.
- the display data processing unit (display data processing device) 2 includes an input control unit 21, a motion vector calculation unit 22, an input object generation unit 23, an operation target object generation unit 24, a surface treatment, and the like. Unit 25 and display processing unit 26.
- the input control unit 21 acquires the position and size of the input operation object in the three-dimensional space based on the sensor detection signal output from the sensor 1, and coordinates data (three-dimensional) in the three-dimensional space of the input operation object. Coordinate data). Then, the input control unit 21 outputs the acquired three-dimensional coordinate data of the input operation object to the motion vector calculation unit 22, the input object generation unit 23, and the surface processing unit 25.
- the coordinate data in the three-dimensional space is coordinate data in global coordinates defined with a predetermined position as the origin (for example, with the center point of the display screen of the display unit 3 as the origin).
- the motion vector calculation unit 22 inputs the three-dimensional coordinate data of the input operation object output from the input control unit 21.
- the motion vector calculation unit 22 stores the coordinate data in the three-dimensional space of the input operation object as time series data, and calculates the motion vector of the input operation object based on the three-dimensional coordinate data of the input operation object. Then, the motion vector calculation unit 22 outputs data regarding the calculated motion vector to the surface processing unit 25.
- the input object generation unit 23 inputs the three-dimensional coordinate data of the input operation object output from the input control unit 21.
- the input object generation unit 23 acquires the size of the input operation object from the three-dimensional coordinate data of the input operation object, and sets an input object having a size corresponding to the acquired size. Then, the input object generation unit 23 calculates vertex coordinate data (three-dimensional coordinate data of the input object) in the three-dimensional space of the set input object, and outputs the calculated data to the surface processing unit 25.
- the operation target object generation unit 24 sets the operation target object, and calculates vertex coordinate data (three-dimensional coordinate data of the operation target object) in the three-dimensional space of the set operation target object. Then, the operation target object generating unit 24 outputs the calculated data to the surface processing unit 25.
- the surface processing unit 25 inputs the three-dimensional coordinate data of the input operation object output from the input control unit 21 and the data about the motion vector of the input operation object output from the motion vector calculation unit 22. Further, the surface processing unit 25 inputs the three-dimensional coordinate data of the input object output from the input object generation unit 23 and the three-dimensional coordinate data of the operation target object output from the operation target object generation unit 24.
- the surface processing unit 25 identifies the surface state of the operation target object based on the three-dimensional coordinate data of the input object and the three-dimensional coordinate data of the operation target object. Then, the surface processing unit 25 calculates vertex coordinate data of the operation target object for forming the surface state of the specified operation target object. Then, the surface processing unit 25 outputs the calculated vertex coordinate data of the operation target object and the three-dimensional coordinate data of the input object to the display processing unit 26.
- the display processing unit 26 inputs data output from the surface processing unit 25.
- the display processing unit 26 generates display data to be displayed on the display unit 3 based on the vertex coordinate data of the operation target object calculated by the surface processing unit 25 and the vertex coordinate data of the input object.
- the display processing unit 26 is a three-dimensional coordinate data, (1) the vertex coordinate data of the operation target object, and (2) the solid defined by the vertex coordinate data of the input object is a two-dimensional image. 3D-2D data conversion processing is performed so that two-dimensional coordinate data is acquired. Then, the display processing unit 26 outputs the acquired two-dimensional coordinate data to the display unit 3 as display data (two-dimensional display data).
- the display unit 3 has a display panel and displays display data on the display panel.
- the display unit 3 is realized by a liquid crystal display device, for example.
- the display unit 3 receives display data (two-dimensional display data) output from the display processing unit 26 and displays an image (video) based on the input display data on a display panel (for example, a liquid crystal display panel).
- the detectable region of the sensor 1 is defined by the distance d1_x in the x-axis direction and the distance d1_y in the Y-axis direction shown in the upper diagram of FIG. 3, and the distance d1_z in the z-axis direction shown in the center diagram of FIG. Hereinafter, it will be described as a region.
- Step S2 In step S ⁇ b> 2, the input control unit 21 determines whether or not an input operation object (for example, a finger or a pen) is detected in the detectable region of the sensor 1 based on the sensor detection signal output from the sensor 1. . If it is determined that an input operation object (for example, a finger or a pen) has not been detected, the process proceeds to step S9. On the other hand, if it is determined that an input operation object (for example, a finger or a pen) has been detected, the process proceeds to step S3.
- an input operation object for example, a finger or a pen
- step S2 since the finger Fng that is the input operation object is present in the detectable region of the sensor 1, it is determined in step S2 that the input operation object (finger Fng) has been detected.
- Step S3 the motion vector calculation unit 22 executes a process of calculating a motion vector of the input operation object (finger Fng). Specifically, the past three-dimensional coordinate data (time-series data) of the input operation object (finger Fng) stored in the motion vector calculation unit 22 and the three-dimensional coordinates of the input operation object (finger Fng) at the current time. A motion vector of the input operation object (finger Fng) is calculated from the data. Then, the motion vector calculation unit 22 outputs data regarding the calculated motion vector to the surface processing unit 25.
- Step S4 the input object generation unit 23 acquires the size of the input operation object (finger Fng) from the three-dimensional coordinate data of the input operation object (finger Fng), and has a size corresponding to the acquired size. Set the input object.
- the input object acquired in correspondence with the finger Fng is denoted as input object In_obj1.
- the input object generation unit 23 calculates vertex coordinate data (3D coordinate data of the input object) 3D_data (In_obj1) in the three-dimensional space of the set input object In_obj1, and the calculated data 3D_data (In_obj1) To 25. Note that the three-dimensional coordinate data of the object x is expressed as 3D_data (x).
- Step S5 the operation target object generator 24 sets an operation target object.
- the operation target object set by the operation target object generation unit 24 is referred to as an operation target object T_obj1.
- the operation target object T_obj1 set by the operation target object generation unit 24 is the cube shown in FIG. 3 (the cube shown as the operation target object T_obj1 in FIG. 3).
- step S5 when the process of step S5 is executed and the operation target object T_obj1 is generated, the process of step S5 may be omitted.
- the operation target object generating unit 24 outputs the calculated data 3D_data (T_obj1) and the hardness Hd (T_obj1) to the surface processing unit 25.
- the surface processing unit 25 determines whether or not the space forming the input object In_obj1 overlaps with the space forming the operation target object T_obj1 in the three-dimensional space defined by the global coordinates.
- step S7 If the surface treatment unit 25 determines that there is an overlapping part, the process proceeds to step S7, and if it is determined that there is no overlapping part, the process proceeds to step S9.
- Step S7 the surface treatment unit 25 compares the hardness Hd (T_obj1) of the operation target object T_obj1 with a predetermined threshold value Th1. If (1) Hd (T_obj1)> Th1, the surface treatment unit 25 proceeds to step S81. If (2) Hd (T_obj1) ⁇ Th1, the surface treatment unit 25 proceeds to step S82. Proceed.
- Step S81 In step S81, the surface processing unit 25 3D coordinate data 3D_data of the input object In_obj1 so that the position of the input object In_Obj1 moves in the 3D space based on the motion vector calculated by the motion vector calculation unit 22. (T_obj1) is calculated.
- the surface processing unit 25 calculates the motion vector component calculated by the motion vector calculation unit 22. Then, the three-dimensional coordinate data 3D_data (T_obj1) of the operation target object T_obj1 obtained by moving the position of the operation target object T_obj1 in the three-dimensional space is calculated.
- the surface processing unit 25 outputs the calculated three-dimensional coordinate data 3D_data (T_obj1) of the operation target object T_obj1 to the display processing unit 26, and advances the processing to step S10.
- Step S82 In step S82, the surface processing unit 25 3D coordinate data 3D_data of the input object In_obj1 so that the position of the input object In_Obj1 moves in the 3D space based on the motion vector calculated by the motion vector calculation unit 22. (T_obj1) is calculated.
- the surface processing unit 25 performs an operation included in the overlap space for an overlap space in which the space surrounded by the surface of the input object In_obj1 and the space surrounded by the surface of the operation target object T_obj1 overlap.
- the vertex coordinate data of the operation target object T_obj1 is obtained (calculated). To do.
- the surface processing unit 25 outputs the calculated three-dimensional coordinate data 3D_data (T_obj1) of the operation target object T_obj1 to the display processing unit 26, and advances the processing to step S10.
- Step S9 the surface processing unit 25 uses the three-dimensional coordinate data 3D_data (T_obj1) of the operation target object T_obj1 in the past (for example, one frame before) as the current time (for example, for example) so that the surface of the operation target object T_obj1 is not changed.
- the current frame is output as 3D coordinate data 3D_data (T_obj1) of the operation target object T_obj1 to the display processing unit 26, and the process proceeds to step S10.
- Step S10 the display processing unit 26 calculates the three-dimensional coordinate data (vertex coordinate data) 3D_data (T_obj1) of the operation target object T_obj1 calculated by the surface processing unit 25 and the three-dimensional coordinate data (vertex coordinate data) of the input object In_obj1.
- 3D_data In_obj1
- display data to be displayed on the display unit 3 is generated.
- the display processing unit 26 is (1) vertex coordinate data 3D_data (T_obj1) of the operation target object T_obj1, and (2) vertex coordinate data 3D_data (In_obj1) of the input object In_obj1, which is three-dimensional coordinate data.
- 3D-2D data conversion processing is performed so that the solid defined by is displayed as a two-dimensional image, and two-dimensional coordinate data is acquired. Then, the display processing unit 26 outputs the acquired two-dimensional coordinate data to the display unit 3 as display data (two-dimensional display data).
- Step S11 the display unit 3 inputs display data (two-dimensional display data) output from the display processing unit 26, and displays an image (video) based on the input display data on a display panel (for example, a liquid crystal display panel). To display.
- Step S12 the display device 1000 determines whether or not to continue the display process. If it is determined to continue the display process, the process returns to step S1 and the above process is repeated. On the other hand, if it is determined not to continue the display process, the process is terminated.
- the display apparatus 1000 performs the above processing.
- FIG. 3 is a diagram for explaining the operation of the display device 1000 when the input operation object is a finger and the operation target object T_obj1 is harder than a predetermined hardness (when Hd (T_obj1)> Th1).
- 3 is a top view showing the state of the display unit 3, the finger Fng, and the operation target object T_obj1 at time t-1.
- the central view of FIG. 3 is a side view showing the state of the display unit 3, the finger Fng, and the operation target object T_obj1 at time t-1.
- the operation target object T_obj1 is illustrated according to the three-dimensional coordinate data 3D_data (T_obj1) calculated by the display data processing unit 2, and does not exist in the actual three-dimensional space (hereinafter, referred to as “the target object T_obj1”). The same).
- the lower diagram of FIG. 3 shows the two-dimensional coordinate data obtained by converting the three-dimensional coordinate data acquired from the state of the upper diagram and the central diagram of FIG. An image Img1 when data is displayed on the display unit 3 is schematically shown.
- the time corresponding to the current frame is defined as time t, the time t ⁇ 1 corresponding to the frame one frame before the current frame, and the time t + 1 corresponding to the frame one frame after the current frame (the same applies hereinafter).
- FIG. 5 is a diagram for explaining the operation of the display device 1000 when the input operation object is a finger and the operation target object T_obj1 is harder than a predetermined hardness (when Hd (T_obj1)> Th1).
- the upper diagram of FIG. 5 is a top view showing the state of the display unit 3, the finger Fng, and the operation target object T_obj1 at time t + 1.
- the center view of FIG. 5 is a side view showing the state of the display unit 3, the finger Fng, and the operation target object T_obj1 at time t + 1.
- the lower diagram of FIG. 5 shows that at time t + 1, the display processing unit 26 converts the three-dimensional coordinate data acquired from the state of the upper diagram and the central diagram of FIG. 5 into two-dimensional coordinate data.
- An image Img1 (t + 1) when displayed on the display unit 3 is schematically shown.
- the input object generation unit 23 acquires the size of the input operation object (finger Fng) from the three-dimensional coordinate data of the input operation object (finger Fng), and determines the input object In_obj1 having a size corresponding to the acquired size. Set.
- the input object generation unit 23 calculates vertex coordinate data (three-dimensional coordinate data of the input object) 3D_data (In_obj1) in the three-dimensional space of the set input object In_obj1.
- the operation target object generation unit 24 sets the operation target object T_obj1, and calculates the three-dimensional coordinate data 3D_data (T_obj1) of the set operation target object T_obj1. Further, the operation target object generation unit 24 sets the hardness Hd (T_obj1) of the set operation target object T_obj1 to a value satisfying Hd (T_obj1)> Th1.
- the surface processing unit 25 performs the three-dimensional operation defined by the global coordinates from the three-dimensional coordinate data 3D_data (T_obj1) of the operation target object T_obj1 and the three-dimensional coordinate data 3D_data (In_obj1) of the input object In_obj1.
- T_obj1 three-dimensional coordinate data 3D_data
- In_obj1 three-dimensional coordinate data 3D_data
- the surface processing unit 25 outputs the three-dimensional coordinate data 3D_data (In_obj1) of the input object In_obj1 and the three-dimensional coordinate data 3D_data (T_obj1) of the operation target object T_obj1 to the display processing unit 26.
- the display processing unit 26 performs 3D-2D conversion processing on the 3D coordinate data 3D_data (In_obj1) of the input object In_obj1 and the 3D coordinate data 3D_data (T_obj1) of the operation target object T_obj1. To get.
- the display processing unit 26 calculates an area where the viewpoint of the user will exist from the position of the finger Fng in the three-dimensional space. Then, the display processing unit 26 uses the three-dimensional coordinate data 3D_data (In_obj1) of the input object In_obj1 and the three-dimensional coordinate data 3D_data (T_obj1) of the operation target object T_obj1 with one point included in the region as the viewpoint position. Thus, the projection in which each point on the world coordinates constituting the three-dimensional coordinate data 3D_data (In_obj1) of the input object In_obj1 and the three-dimensional coordinate data 3D_data (T_obj1) of the operation target object T_obj1 is determined by the set viewpoint position. Get the coordinates (two-dimensional coordinates) when projected onto the surface. It is preferable that the display processing unit 26 performs the 3D-2D conversion process by performing the above processing.
- the display processing unit 26 outputs the acquired two-dimensional coordinate data to the display unit 3 as display data (two-dimensional display data).
- the display unit 3 displays the display data output from the display processing unit 26.
- FIG. 3 is a lower view schematically showing the image thus displayed.
- the input object corresponding to the finger Fng is displayed as In_obj1.
- the motion vector calculation unit 22 calculates a motion vector MV (t) of the input operation object.
- the display device 1000 updates the display so that the operation target object T_obj1 is moved based on the motion vector MV (t) of the input operation object acquired at time t.
- the surface processing unit 25 calculates the movement distance d0 of the operation target object T_obj1 based on the magnitude of the motion vector MV (t).
- the surface processing unit 25 moves the operation target object T_obj1 by the distance d0 in the same direction as the direction of the motion vector MV (t) (in the negative direction of the x axis in FIG. 5).
- the surface processing unit 25 calculates the three-dimensional coordinate data 3D_data (T_obj1) of the operation target object T_obj1 after the movement.
- the display processing unit 26 calculates the three-dimensional coordinate data 3D_data (T_obj1) of the operation target object T_obj1 calculated by the surface processing unit 25 and the three-dimensional coordinate data 3D_data (In_obj1) (input object at time t + 1) of the input object In_obj1 at time t + 1. 3D-2D conversion processing is performed based on the three-dimensional coordinate data 3D_data of In_obj1 (same data as In_obj1).
- the display unit 3 displays the two-dimensional coordinate data acquired by the display processing unit 26 as display data.
- FIG. 5 (image Img1 (t + 1)) schematically shows the image thus displayed.
- the operation target object T_obj1 is displayed so as to be present at a position away from the input object In_obj1 corresponding to the finger Fng by a portion corresponding to the distance d0 (as if it has been moved). Has been.
- the operation target object T_obj1 is the input operation object. It moves so as to be repelled according to the movement. That is, the display device 1000 can display an image (video) that does not cause the user to feel uncomfortable when the operation target object is operated with a finger.
- FIG. 6 is a diagram for explaining the operation of the display apparatus 1000 when the input operation object is a finger and the operation target object T_obj1 is not harder than a predetermined hardness (when Hd (T_obj1) ⁇ Th1).
- 6 is a top view showing the state of the display unit 3, the finger Fng, and the operation target object T_obj1 at time t.
- the central view of FIG. 6 is a side view showing the state of the display unit 3, the finger Fng, and the operation target object T_obj1 at time t.
- the lower diagram of FIG. 6 shows that at time t, the display processing unit 26 converts the three-dimensional coordinate data acquired from the state of the upper diagram and the central diagram of FIG.
- An image Img1A (t) when displayed on the display unit 3 is schematically shown.
- FIG. 7 is a diagram for explaining the operation of the display device 1000 when the input operation object is a finger and the operation target object T_obj1 is not harder than a predetermined hardness (when Hd (T_obj1) ⁇ Th1).
- 7 is a top view showing the state of the display unit 3, the input object In_obj1 corresponding to the finger Fng, and the operation target object T_obj1 at time t.
- the central view of FIG. 7 is a side view showing the state of the display unit 3, the input object In_obj1 corresponding to the finger Fng, and the operation target object T_obj1 at time t.
- FIG. 7 shows that at time t, the display processing unit 26 converts the three-dimensional coordinate data acquired from the state of the upper diagram and the central diagram of FIG. 7 into two-dimensional coordinate data.
- An image Img1A ′ (t) (an image obtained by excluding the input object In_obj1 from the image Img1A (t)) when displayed on the display unit 3 is schematically shown.
- the operation target object generation unit 24 sets the operation target object T_obj1, and calculates the three-dimensional coordinate data 3D_data (T_obj1) of the set operation target object T_obj1. Further, the operation target object generation unit 24 sets the hardness Hd (T_obj1) of the set operation target object T_obj1 to a value that satisfies Hd (T_obj1) ⁇ Th1.
- the surface processing unit 25 performs the three-dimensional operation defined by the global coordinates from the three-dimensional coordinate data 3D_data (T_obj1) of the operation target object T_obj1 and the three-dimensional coordinate data 3D_data (In_obj1) of the input object In_obj1.
- T_obj1 three-dimensional coordinate data 3D_data
- In_obj1 three-dimensional coordinate data 3D_data
- the surface processing unit 25 determines the operation target object included in the overlap space for the overlap space where the space surrounded by the surface of the input object In_obj1 and the space surrounded by the surface of the operation target object T_obj1 overlap. By replacing the vertex coordinate data forming the surface of T_obj1 with the vertex coordinate data forming the surface of the input object In_obj1 included in the overlap space, the vertex coordinate data of the operation target object T_obj1 is obtained (calculated). For example, in the case of FIG. 6, the surface treatment unit 25 converts the space AR_dup shown in FIG. 7 (the area shown by hatching in FIG.
- the surface processing unit 25 replaces the vertex coordinate data forming the surface of the operation target object included in the overlapping space AR_dup with the vertex coordinate data forming the surface of the input object included in the overlapping space AR_dup.
- the surface of the operation target object T_obj1 becomes a surface that is recessed by the input object In_obj1 corresponding to the finger, as shown in the lower diagram of FIG.
- the surface processing unit 25 outputs the three-dimensional coordinate data 3D_data (T_obj1) of the operation target object T_obj1 generated in this way to the display processing unit 26 together with the three-dimensional coordinate data 3D_data (In_obj1) of the input object In_obj1.
- 3D-2D conversion processing is executed by the display processing unit 26, and display data forming the image Img1A (t) shown in the lower diagram of FIG. 6 is acquired. Then, the display data acquired by the display processing unit 26 is displayed on the display unit 3.
- the surface of the operation target object T_obj1 is input Deformation occurs so that a dent corresponding to the size of the operation object is generated. That is, in the display device 1000, when the surface of the operation target object is further pushed back with a finger, a depression corresponding to the size of the finger is generated in the operation target object, so that an image (video) that does not make the user feel uncomfortable. Can be displayed.
- the input control unit 21 acquires the position and size of the pen Pen in the three-dimensional space based on the sensor detection signal from the sensor 1.
- the input object generation unit 23 acquires the size of the input operation object (pen Pen) from the three-dimensional coordinate data of the input operation object (pen Pen (displayed as Pen (t-1) in FIG. 8)).
- the input object In_obj2 having a size corresponding to the size is set.
- the input object generation unit 23 calculates vertex coordinate data (three-dimensional coordinate data of the input object) 3D_data (In_obj2) in the three-dimensional space of the set input object In_obj2.
- the operation target object generation unit 24 sets the operation target object T_obj1, and calculates the three-dimensional coordinate data 3D_data (T_obj1) of the set operation target object T_obj1. Further, the operation target object generation unit 24 sets the hardness Hd (T_obj1) of the set operation target object T_obj1 to a value that satisfies Hd (T_obj1) ⁇ Th1.
- the surface processing unit 25 performs the three-dimensional operation defined by the global coordinates from the three-dimensional coordinate data 3D_data (T_obj1) of the operation target object T_obj1 and the three-dimensional coordinate data 3D_data (In_obj2) of the input object In_obj2.
- T_obj1 three-dimensional coordinate data 3D_data
- In_obj2 three-dimensional coordinate data 3D_data
- the surface processing unit 25 outputs the 3D coordinate data 3D_data (In_obj2) of the input object In_obj2 and the 3D coordinate data 3D_data (T_obj1) of the operation target object T_obj1 to the display processing unit 26.
- the display processing unit 26 performs a 3D-2D conversion process on the 3D coordinate data 3D_data (In_obj2) of the input object In_obj2 and the 3D coordinate data 3D_data (T_obj1) of the operation target object T_obj1. To get.
- the display processing unit 26 calculates an area where the viewpoint of the user will exist from the position of the pen Pen in the three-dimensional space. Then, the display processing unit 26 uses the three-dimensional coordinate data 3D_data (In_obj2) of the input object In_obj2 and the three-dimensional coordinate data 3D_data (T_obj1) of the operation target object T_obj1 with one point included in the region as the viewpoint position. Thus, the projection in which each point on the world coordinates constituting the three-dimensional coordinate data 3D_data (In_obj2) of the input object In_obj1 and the three-dimensional coordinate data 3D_data (T_obj1) of the operation target object T_obj1 is determined by the set viewpoint position. Get the coordinates (two-dimensional coordinates) when projected onto the surface. It is preferable that the display processing unit 26 performs the 3D-2D conversion process by performing the above processing.
- the display processing unit 26 outputs the acquired two-dimensional coordinate data to the display unit 3 as display data (two-dimensional display data).
- the display unit 3 displays the display data output from the display processing unit 26.
- FIG. 8 is a lower view schematically showing the image thus displayed.
- FIG. 9 is a diagram for explaining the operation of the display device 1000 when the input operation object is a thin pen and the operation target object T_obj1 is not harder than a predetermined hardness (when Hd (T_obj1) ⁇ Th1). is there.
- the upper diagram of FIG. 9 is a top view illustrating the state of the display unit 3, the pen Pen, and the operation target object T_obj1 at time t.
- the central view of FIG. 9 is a side view showing the state of the display unit 3, the pen Pen, and the operation target object T_obj1 at time t.
- the lower diagram of FIG. 9 shows that at time t, the display processing unit 26 converts the three-dimensional coordinate data acquired from the state of the upper diagram and the central diagram of FIG. 9 into two-dimensional coordinate data.
- An image Img2 (t) when displayed on the display unit 3 is schematically shown.
- FIG. 10 is a diagram for explaining the operation of the display device 1000 when the input operation object is a thin pen and the operation target object T_obj1 is not harder than a predetermined hardness (when Hd (T_obj1) ⁇ Th1). is there.
- the upper diagram of FIG. 10 is a top view showing the state of the display unit 3, the input object In_obj2 corresponding to the pen Pen, and the operation target object T_obj1 at time t.
- the central view of FIG. 10 is a side view showing the state of the display unit 3, the input object In_obj2 corresponding to the pen Pen, and the operation target object T_obj1 at time t.
- the display processing unit 26 converts the three-dimensional coordinate data acquired from the state of the upper diagram and the central diagram of FIG. 9 into two-dimensional coordinate data.
- An image Img2 ′ (t) when displayed on the display unit 3 is schematically shown.
- the surface processing unit 25 performs the three-dimensional operation defined by the global coordinates from the three-dimensional coordinate data 3D_data (T_obj1) of the operation target object T_obj1 and the three-dimensional coordinate data 3D_data (In_obj2) of the input object In_obj2.
- T_obj1 three-dimensional coordinate data of the operation target object T_obj1
- In_obj2 three-dimensional coordinate data 3D_data
- the surface processing unit 25 determines the operation target object included in the overlap space for the overlap space where the space surrounded by the surface of the input object In_obj1 and the space surrounded by the surface of the operation target object T_obj1 overlap. By replacing the vertex coordinate data forming the surface of T_obj1 with the vertex coordinate data forming the surface of the input object In_obj1 included in the overlap space, the vertex coordinate data of the operation target object T_obj1 is obtained (calculated). For example, in the case of FIG. 9, the surface treatment unit 25 converts the space AR_dup shown in FIG. 10 (the area shown by hatching in FIG.
- the surface processing unit 25 replaces the vertex coordinate data forming the surface of the operation target object included in the overlapping space AR_dup with the vertex coordinate data forming the surface of the input object included in the overlapping space AR_dup.
- the surface of the operation target object T_obj1 becomes a surface that is recessed by the input object In_obj2 corresponding to the finger, as shown in the lower diagram of FIG.
- the surface processing unit 25 outputs the three-dimensional coordinate data 3D_data (T_obj1) of the operation target object T_obj1 generated in this way to the display processing unit 26 together with the three-dimensional coordinate data 3D_data (In_obj2) of the input object In_obj2.
- 3D-2D conversion processing is executed by the display processing unit 26, and display data forming the image Img2 (t) shown in the lower part of FIG. 9 is acquired. Then, the display data acquired by the display processing unit 26 is displayed on the display unit 3.
- the surface of the operation target object T_obj1 is The deformation is performed so that a dent corresponding to the size of the input operation object is generated. That is, in the display device 1000, when the surface of the operation target object is pushed further back with a fine-tipped pen, the operation target object has a dent (a pierced hole) corresponding to the size of the pen. It is possible to display an image (video) that does not give the user a sense of incongruity.
- the operation of the display apparatus 1000 is as follows: Since the operation is similar to the operation when the operation target object T_obj1 is harder than the predetermined hardness (when Hd (T_obj1)> Th1), the description is omitted.
- the display device 1000 when the hardness of the operation target object is set to a value that is not harder than the predetermined hardness, the surface of the operation target object is deformed according to the size of the input operation object. Based on the three-dimensional coordinate data of the operation target object in a deformed state, two-dimensional coordinate data is acquired, and display is performed using the acquired data. Further, in the display device 1000, when the hardness of the operation target object is set to a value that is harder than a predetermined hardness, the operation target object is moved according to the motion vector of the input operation object, and is moved. Two-dimensional coordinate data is acquired based on the three-dimensional coordinate data of the operation target object, and display is performed using the acquired data.
- the display data processing unit 2 of the display device 1000 can acquire an image (an image acquired by two-dimensionally converting a 3D object) showing a state change similar to a physical phenomenon in the real world. Then, the display data acquired by the display data processing unit 2 is displayed on the display unit 3, so that the display device 1000 can display an image showing a state change similar to a physical phenomenon in the real world (two-dimensional conversion of a 3D object). Image acquired in this manner can be displayed.
- Display data for displaying can be generated.
- the display data acquired by the display data processing unit 2 is displayed, which makes the user feel uncomfortable even when the operation target object is operated with any input operation object. No image (video) can be displayed.
- the operation target object and the input object are displayed. However, since there is little awareness of the input object during the operation, only the operation target object may be displayed. .
- a display device and a display data processing unit may be realized by combining some or all of the above-described embodiments.
- part or all of the display device and the display data processing unit (display data processing device) of the above embodiment may be realized as an integrated circuit (for example, an LSI, a system LSI, or the like).
- Part or all of the processing of each functional block in the above embodiment may be realized by a program.
- a part or all of the processing of each functional block in the above embodiment may be executed by a central processing unit (CPU), a microprocessor, a processor, or the like in a computer.
- a program for performing each processing is stored in a storage device such as a hard disk or ROM, and a central processing unit (CPU) reads the program from the ROM or RAM and executes it. Also good.
- each process of the above embodiment may be realized by hardware, or may be realized by software (including a case where it is realized together with an OS (operating system), middleware, or a predetermined library). Further, it may be realized by mixed processing of software and hardware.
- OS operating system
- middleware middleware
- predetermined library predetermined library
- execution order of the processing methods in the above embodiment is not necessarily limited to the description of the above embodiment, and the execution order can be changed without departing from the gist of the invention.
- a computer program that causes a computer to execute the above-described method and a computer-readable recording medium that records the program are included in the scope of the present invention.
- the computer-readable recording medium include a flexible disk, a hard disk, a CD-ROM, an MO, a DVD, a large-capacity DVD, a next-generation DVD, and a semiconductor memory.
- the computer program is not limited to the one recorded on the recording medium, but may be transmitted via a telecommunication line, a wireless or wired communication line, a network represented by the Internet, or the like.
- a first invention is a display data processing device used together with a sensor that detects a position and a size of an input operation object in a three-dimensional space, and includes an input control unit, an input object generation unit, and an operation target object generation unit And a surface processing unit and a display processing unit.
- the input control unit acquires the position and size of the input operation object in the three-dimensional space based on the sensor detection signal output from the sensor, and acquires the coordinate data of the input operation object in the three-dimensional space.
- the input object generation unit sets an input object having a size corresponding to the size of the input operation object based on the coordinate data in the three-dimensional space of the input operation object acquired by the input control unit, and sets the input Vertex coordinate data in the three-dimensional space of the object is calculated.
- the operation target object generation unit sets the operation target object, and calculates vertex coordinate data in the three-dimensional space of the set operation target object.
- the surface processing unit identifies the surface state of the operation target object based on the vertex coordinate data of the input object calculated by the input object generation unit and the vertex coordinate data of the operation target object calculated by the operation target object generation unit. Then, the vertex coordinate data of the operation target object for forming the surface state of the specified operation target object is calculated.
- this display data processing apparatus the surface of the operation target object is specified according to the size of the input operation object, and two-dimensional coordinate data is acquired based on the three-dimensional coordinate data of the specified operation target object. Therefore, this display data processing apparatus can acquire an image (an image acquired by two-dimensionally converting a 3D object) showing a state change similar to a physical phenomenon in the real world.
- the display data processing unit 2 displays an image (video) that does not cause the user to feel uncomfortable regardless of the input operation object and the operation target object. Display data can be generated.
- the second invention is the first invention, wherein the coordinate data in the three-dimensional space of the input operation object is stored as time series data, and the input data is input based on the coordinate data in the three-dimensional space of the input operation object.
- a motion vector calculation unit that calculates a motion vector of the operation object is further provided.
- the operation target object generator sets the hardness of the operation target object.
- the surface treatment section (1) The case where the hardness of the operation target object is set to a value indicating that the operation target object is harder than a predetermined hardness, and at least a part of the input object is surrounded by the surface of the operation target object in the three-dimensional space. If it is determined that the operation target object exists within the three-dimensional space, the vertex coordinate data of the operation target object is moved based on the motion vector calculated by the motion vector calculation unit so that the position of the operation target object in the three-dimensional space is moved.
- this display data processing device when the hardness of the operation target object is set to a value that is not harder than a predetermined hardness, the surface of the operation target object is deformed and deformed according to the size of the input operation object. Two-dimensional coordinate data is acquired based on the three-dimensional coordinate data of the operation target object in the selected state. Further, in this display data processing device, when the hardness of the operation target object is set to a value harder than a predetermined hardness, the operation target object is moved and moved according to the motion vector of the input operation object. Two-dimensional coordinate data is acquired based on the three-dimensional coordinate data of the operation target object in the state.
- this display data processing apparatus it is possible to acquire an image (an image acquired by two-dimensionally converting a 3D object) showing a state change similar to a real world physical phenomenon.
- this display data processing device display data for displaying an image (video) that does not make the user feel uncomfortable regardless of what input operation object is used to operate the operation target object is generated. be able to. Then, by displaying the display data generated by the display data processing device on the display device, an image that does not make the user feel uncomfortable even when the operation target object is operated with any input operation object (Video) can be displayed.
- the third invention is a display device comprising the display data processing device according to the first or second invention and a display unit.
- the display unit displays the display data acquired by the display data processing device.
- the fourth invention is a program for causing a computer to execute a display data processing method used together with a sensor for detecting the position and size of an input operation object in a three-dimensional space.
- the display data processing method includes an input control step, an input object generation step, an operation target object generation step, a surface processing step, and a display processing step.
- the input control step acquires the position and size of the input operation object in the three-dimensional space based on the sensor detection signal output from the sensor, and acquires coordinate data in the three-dimensional space of the input operation object.
- the input object generation step sets an input object having a size corresponding to the size of the input operation object based on the coordinate data in the three-dimensional space of the input operation object acquired by the input control step, and sets the input Vertex coordinate data in the three-dimensional space of the object is calculated.
- an operation target object is set, and vertex coordinate data in the three-dimensional space of the set operation target object is calculated.
- the surface processing step specifies the surface state of the operation target object based on the vertex coordinate data of the input object calculated in the input object generation step and the vertex coordinate data of the operation target object calculated in the operation target object generation step. Then, the vertex coordinate data of the operation target object for forming the surface state of the specified operation target object is calculated.
- the display processing step generates display data to be displayed on the display device based on the vertex coordinate data of the operation target object calculated in the surface processing step and the vertex coordinate data of the input object.
- the present invention relates to a display data processing device that generates display data for displaying an image (video) that does not make the user feel uncomfortable with any input operation object, even when the operation target object is operated, And a display apparatus provided with the said display data processing apparatus is realizable. Therefore, the present invention is useful in the video related industry field and can be implemented in this field.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
どのような入力操作物体で、操作対象オブジェクトを操作した場合でも、ユーザーに違和感を抱かせない画像を表示する表示データを生成する。入力制御部は、センサーからのセンサー検出信号に基づいて、入力操作物体の3次元空間内の位置と大きさとを取得し、入力操作物体の3次元空間内の座標データを取得する。表面処理部は、入力オブジェクト生成部により算出された入力オブジェクトの頂点座標データと、操作対象オブジェクト生成部により算出された操作対象オブジェクトの頂点座標データとに基づいて、操作対象オブジェクトの表面状態を特定し、特定した操作対象オブジェクトの表面状態を形成するための操作対象オブジェクトの頂点座標データを算出する。表示処理部は、表面処理部により算出された操作対象オブジェクトの頂点座標データと、入力オブジェクトの頂点座標データとに基づいて、表示装置に表示させるための表示データを生成する。
Description
本発明は、3次元座標データを有するオブジェクトを表示装置に表示させるための表示データを処理するための技術に関する。
オブジェクトに設定された3次元データを用いて、ユーザーが当該オブジェクトを立体形状の物体であると認識できるように表示装置に表示させる技術がある。このような表示装置に、所定の立体形状の物体を表示させ、表示装置のユーザーインターフェースを介して、表示された立体形状の物体をユーザーが触るような感覚で操作することで、表示装置に、ユーザーの操作に応じて、当該立体形状の物体が変形した状態の画像(映像)を表示させることができる。
例えば、特許文献1に、上記技術についての開示がある。
しかしながら、特許文献1の技術では、入力操作物体(例えば、指)に対応させる入力オブジェクトが予め登録された形状のオブジェクトに限定されている。このため、入力オブジェクトにより、操作対象オブジェクトを操作したときの表面変化も予め決められた変化にしかならない。例えば、特許文献1の技術において、入力オブジェクトが指に対応する大きさに設定されている場合に、ユーザーが先の細いペンで操作対象オブジェクトをタッチすると、先の細いペンで操作対象オブジェクトをタッチしたときに発生するはずの変形(凹み)よりも大きな変形(大きな凹み)が発生したように表示される。このように特許文献1の技術を用いた場合、実世界の経験と異なる表示がなされるため、ユーザーは、当該表示を見たときに違和感を抱く。
そこで、本発明は、上記問題点に鑑み、どのような入力操作物体で、操作対象オブジェクトを操作した場合であっても、ユーザーに違和感を抱かせない画像(映像)を表示させるための表示データを生成する表示データ処理装置、および、当該表示データ処理装置を備える表示装置を実現することを目的とする。
上記課題を解決するために、第1の構成は、入力操作物体の3次元空間内の位置と大きさとを検出するセンサーとともに用いられる表示データ処理装置であって、入力制御部と、入力オブジェクト生成部と、操作対象オブジェクト生成部と、表面処理部と、表示処理部と、を備える。
入力制御部は、センサーから出力されるセンサー検出信号に基づいて、入力操作物体の3次元空間内の位置と大きさとを取得し、入力操作物体の3次元空間内の座標データを取得する。
入力オブジェクト生成部は、入力制御部により取得された入力操作物体の3次元空間内の座標データに基づいて、入力操作物体の大きさに応じた大きさを有する入力オブジェクトを設定し、設定した入力オブジェクトの3次元空間内での頂点座標データを算出する。
操作対象オブジェクト生成部は、操作対象オブジェクトを設定し、設定した操作対象オブジェクトの3次元空間内での頂点座標データを算出する。
表面処理部は、入力オブジェクト生成部により算出された入力オブジェクトの頂点座標データと、操作対象オブジェクト生成部により算出された操作対象オブジェクトの頂点座標データとに基づいて、操作対象オブジェクトの表面状態を特定し、特定した操作対象オブジェクトの表面状態を形成するための操作対象オブジェクトの頂点座標データを算出する。
表示処理部は、表面処理部により算出された操作対象オブジェクトの頂点座標データと、入力オブジェクトの頂点座標データとに基づいて、表示装置に表示させるための表示データを生成する。
本発明によれば、どのような入力操作物体で、操作対象オブジェクトを操作した場合であっても、ユーザーに違和感を抱かせない画像(映像)を表示させるための表示データを生成する表示データ処理装置、および、当該表示データ処理装置を備える表示装置を実現することができる。
[第1実施形態]
第1実施形態について、図面を参照しながら、以下、説明する。
第1実施形態について、図面を参照しながら、以下、説明する。
<1.1:表示装置の構成>
図1は、第1実施形態に係る表示装置1000の概略構成図である。
図1は、第1実施形態に係る表示装置1000の概略構成図である。
表示装置1000は、図1に示すように、センサー1と、表示データ処理部(表示データ処理装置)2と、表示部3とを備える。
センサー1は、入力操作物体(例えば、指やペン)の3次元空間内の位置と大きさとを検出し、センサー検出信号を取得するセンサーである。センサー1は、取得したセンサー検出信号を表示データ処理部2の入力制御部21に出力する。
表示データ処理部(表示データ処理装置)2は、図1に示すように、入力制御部21と、動きベクトル算出部22と、入力オブジェクト生成部23と、操作対象オブジェクト生成部24と、表面処理部25と、表示処理部26と、を備える。
入力制御部21は、センサー1から出力されるセンサー検出信号に基づいて、入力操作物体の3次元空間内の位置と大きさとを取得し、入力操作物体の3次元空間内の座標データ(3次元座標データ)を取得する。そして、入力制御部21は、取得した入力操作物体の3次元座標データを、動きベクトル算出部22、入力オブジェクト生成部23、および、表面処理部25に出力する。なお、3次元空間内の座標データ(3次元座標データ)は、所定の位置を原点として(例えば、表示部3の表示画面の中心点を原点として)規定されるグローバル座標における座標データである。
動きベクトル算出部22は、入力制御部21から出力される入力操作物体の3次元座標データを入力する。動きベクトル算出部22は、入力操作物体の3次元空間内の座標データを時系列データとして記憶するとともに、入力操作物体の3次元座標データに基づいて、入力操作物体の動きベクトルを算出する。そして、動きベクトル算出部22は、算出した動きベクトルについてのデータを表面処理部25に出力する。
入力オブジェクト生成部23は、入力制御部21から出力される入力操作物体の3次元座標データを入力する。入力オブジェクト生成部23は、入力操作物体の3次元座標データから、入力操作物体の大きさを取得し、取得した大きさに応じた大きさを有する入力オブジェクトを設定する。そして、入力オブジェクト生成部23は、設定した入力オブジェクトの3次元空間内での頂点座標データ(入力オブジェクトの3次元座標データ)を算出し、算出したデータを表面処理部25に出力する。
操作対象オブジェクト生成部24は、操作対象オブジェクトを設定し、設定した操作対象オブジェクトの3次元空間内での頂点座標データ(操作対象オブジェクトの3次元座標データ)を算出する。そして、操作対象オブジェクト生成部24は、算出したデータを表面処理部25に出力する。
表面処理部25は、入力制御部21から出力される入力操作物体の3次元座標データと、動きベクトル算出部22から出力される入力操作物体の動きベクトルについてのデータとを入力する。また、表面処理部25は、入力オブジェクト生成部23から出力される入力オブジェクトの3次元座標データと、操作対象オブジェクト生成部24から出力される操作対象オブジェクトの3次元座標データとを入力する。
表面処理部25は、入力オブジェクトの3次元座標データと、操作対象オブジェクトの3次元座標データとに基づいて、操作対象オブジェクトの表面状態を特定する。そして、表面処理部25は、特定した操作対象オブジェクトの表面状態を形成するための操作対象オブジェクトの頂点座標データを算出する。そして、表面処理部25は、算出した操作対象オブジェクトの頂点座標データと、入力オブジェクトの3次元座標データとを表示処理部26に出力する。
表示処理部26は、表面処理部25から出力されるデータを入力する。表示処理部26は、表面処理部25により算出された操作対象オブジェクトの頂点座標データと、入力オブジェクトの頂点座標データとに基づいて、表示部3に表示させるための表示データを生成する。具体的には、表示処理部26は、3次元座標データである、(1)操作対象オブジェクトの頂点座標データ、および、(2)入力オブジェクトの頂点座標データにより規定される立体が、2次元画像として表示されるように、3D-2Dデータ変換処理を行い、2次元座標データを取得する。そして、表示処理部26は、取得した2次元座標データを、表示データ(2次元表示データ)として、表示部3に出力する。
表示部3は、表示パネルを有し、表示データを表示パネルに表示する。表示部3は、例えば、液晶ディスプレイ装置により実現される。表示部3は、表示処理部26から出力される表示データ(2次元表示データ)を入力し、入力された表示データに基づく画像(映像)を表示パネル(例えば、液晶表示パネル)に表示させる。
<1.2:表示装置の動作>
以上のように構成された表示装置1000の動作について、以下、説明する。
以上のように構成された表示装置1000の動作について、以下、説明する。
図2は、表示装置1000により実行される処理を示すフローチャートである。
図3は、表示装置1000の表示部3と、操作対象オブジェクトT_obj1と、ユーザーの指Fngとの3次元空間内での位置関係を示す図(上図、中央図)、および、表示装置1000の表示部3に表示される画像Img1を示す図である(下図)。
以下では、図2のフローチャートを用いて、表示装置1000の動作について説明する。
(ステップS1):
ステップS1において、センサー1は、センサー1の検出可能領域に入力操作物体(例えば、指やペン)が存在することを検知すると、当該入力操作物体の3次元空間内の位置と大きさとを検出し、検出結果を含むセンサー検出信号を生成する。そして、センサー1は、生成したセンサー検出信号を表示データ処理部2の入力制御部21に出力する。そして、入力制御部21は、センサー1からのセンサー検出信号を読み取る。
ステップS1において、センサー1は、センサー1の検出可能領域に入力操作物体(例えば、指やペン)が存在することを検知すると、当該入力操作物体の3次元空間内の位置と大きさとを検出し、検出結果を含むセンサー検出信号を生成する。そして、センサー1は、生成したセンサー検出信号を表示データ処理部2の入力制御部21に出力する。そして、入力制御部21は、センサー1からのセンサー検出信号を読み取る。
なお、センサー1の検出可能領域は、図3の上図に示すx軸方向の距離d1_xおよびY軸方向の距離d1_y、並びに、図3の中央図に示すz軸方向の距離d1_zにより規定される領域であるものとして、以下、説明する。
(ステップS2):
ステップS2において、入力制御部21は、センサー1から出力されるセンサー検出信号に基づいて、センサー1の検出可能領域において、入力操作物体(例えば、指やペン)が検出されたか否かを判定する。入力操作物体(例えば、指やペン)が検出されなかったと判定された場合、処理をステップS9に進める。一方、入力操作物体(例えば、指やペン)が検出されたと判定された場合、処理をステップS3に進める。
ステップS2において、入力制御部21は、センサー1から出力されるセンサー検出信号に基づいて、センサー1の検出可能領域において、入力操作物体(例えば、指やペン)が検出されたか否かを判定する。入力操作物体(例えば、指やペン)が検出されなかったと判定された場合、処理をステップS9に進める。一方、入力操作物体(例えば、指やペン)が検出されたと判定された場合、処理をステップS3に進める。
図3の場合、入力操作物体である指Fngが、センサー1の検出可能領域に存在するため、ステップS2において、入力操作物体(指Fng)が検出されたと判定される。
(ステップS3):
ステップS3において、動きベクトル算出部22は、入力操作物体(指Fng)の動きベクトルを算出する処理を実行する。具体的には、動きベクトル算出部22が記憶している入力操作物体(指Fng)の過去の3次元座標データ(時系列データ)と、現時刻の入力操作物体(指Fng)の3次元座標データから、入力操作物体(指Fng)の動きベクトルを算出する。そして、動きベクトル算出部22は、算出した動きベクトルについてのデータを表面処理部25に出力する。
ステップS3において、動きベクトル算出部22は、入力操作物体(指Fng)の動きベクトルを算出する処理を実行する。具体的には、動きベクトル算出部22が記憶している入力操作物体(指Fng)の過去の3次元座標データ(時系列データ)と、現時刻の入力操作物体(指Fng)の3次元座標データから、入力操作物体(指Fng)の動きベクトルを算出する。そして、動きベクトル算出部22は、算出した動きベクトルについてのデータを表面処理部25に出力する。
(ステップS4):
ステップS4において、入力オブジェクト生成部23は、入力操作物体(指Fng)の3次元座標データから、入力操作物体(指Fng)の大きさを取得し、取得した大きさに応じた大きさを有する入力オブジェクトを設定する。ここで、指Fngに対応させて取得した入力オブジェクトを、入力オブジェクトIn_obj1と表記する。
ステップS4において、入力オブジェクト生成部23は、入力操作物体(指Fng)の3次元座標データから、入力操作物体(指Fng)の大きさを取得し、取得した大きさに応じた大きさを有する入力オブジェクトを設定する。ここで、指Fngに対応させて取得した入力オブジェクトを、入力オブジェクトIn_obj1と表記する。
入力オブジェクト生成部23は、設定した入力オブジェクトIn_obj1の3次元空間内での頂点座標データ(入力オブジェクトの3次元座標データ)3D_data(In_obj1)を算出し、算出したデータ3D_data(In_obj1)を表面処理部25に出力する。なお、オブジェクトxの3次元座標データを、3D_data(x)と表記する。
(ステップS5):
ステップS5において、操作対象オブジェクト生成部24は、操作対象オブジェクトを設定する。ここで、操作対象オブジェクト生成部24により設定された操作対象オブジェクトを、操作対象オブジェクトT_obj1と表記する。以下では、操作対象オブジェクト生成部24により設定された操作対象オブジェクトT_obj1が、図3に示す立方体(図3において、操作対象オブジェクトT_obj1として示した立方体)であるとして、説明する。
ステップS5において、操作対象オブジェクト生成部24は、操作対象オブジェクトを設定する。ここで、操作対象オブジェクト生成部24により設定された操作対象オブジェクトを、操作対象オブジェクトT_obj1と表記する。以下では、操作対象オブジェクト生成部24により設定された操作対象オブジェクトT_obj1が、図3に示す立方体(図3において、操作対象オブジェクトT_obj1として示した立方体)であるとして、説明する。
なお、過去の処理において、ステップS5の処理が実行され、操作対象オブジェクトT_obj1が生成されている場合、ステップS5の処理を省略してもよい。
操作対象オブジェクト生成部24は、設定した操作対象オブジェクトT_obj1の3次元空間内での頂点座標データ(操作対象オブジェクトの3次元座標データ)3D_data(T_obj1)を算出する。また、操作対象オブジェクト生成部24は、設定した操作対象オブジェクトT_obj1の硬さHd(T_obj1)を設定する。なお、オブジェクトxの硬さを示す値をHd(x)として表記し、この値が大きい程、オブジェクトxが硬いことを示す。
そして、操作対象オブジェクト生成部24は、算出したデータ3D_data(T_obj1)と、硬さHd(T_obj1)を表面処理部25に出力する。
(ステップS6):
ステップS6において、表面処理部25は、入力オブジェクトIn_obj1の3次元座標データ3D_data(In_obj1)に基づいて、グローバル座標により規定される3次元空間において、入力オブジェクトIn_obj1が形成する空間を特定する。また、表面処理部25は、操作対象オブジェクトT_obj1の3次元座標データ3D_data(T_obj1)に基づいて、グローバル座標により規定される3次元空間において、操作対象オブジェクトT_obj1が形成する空間を特定する。
ステップS6において、表面処理部25は、入力オブジェクトIn_obj1の3次元座標データ3D_data(In_obj1)に基づいて、グローバル座標により規定される3次元空間において、入力オブジェクトIn_obj1が形成する空間を特定する。また、表面処理部25は、操作対象オブジェクトT_obj1の3次元座標データ3D_data(T_obj1)に基づいて、グローバル座標により規定される3次元空間において、操作対象オブジェクトT_obj1が形成する空間を特定する。
そして、表面処理部25は、グローバル座標により規定される3次元空間において、入力オブジェクトIn_obj1を形成する空間が、操作対象オブジェクトT_obj1を形成する空間と重なる部分があるか否かを判定する。
そして、表面処理部25は、重なる部分があると判定した場合、処理をステップS7に進め、重なる部分がないと判定した場合、処理をステップS9に進める。
(ステップS7):
ステップS7において、表面処理部25は、操作対象オブジェクトT_obj1の硬さHd(T_obj1)と所定のしきい値Th1とを比較する。そして、(1)Hd(T_obj1)>Th1の場合、表面処理部25は、処理をステップS81に進め、(2)Hd(T_obj1)≦Th1の場合、表面処理部25は、処理をステップS82に進める。
ステップS7において、表面処理部25は、操作対象オブジェクトT_obj1の硬さHd(T_obj1)と所定のしきい値Th1とを比較する。そして、(1)Hd(T_obj1)>Th1の場合、表面処理部25は、処理をステップS81に進め、(2)Hd(T_obj1)≦Th1の場合、表面処理部25は、処理をステップS82に進める。
(ステップS81):
ステップS81において、表面処理部25は、動きベクトル算出部22により算出された動きベクトルに基づいて、入力オブジェクトIn_Obj1の3次元空間内の位置が移動するように、入力オブジェクトIn_obj1の3次元座標データ3D_data(T_obj1)を算出する。
ステップS81において、表面処理部25は、動きベクトル算出部22により算出された動きベクトルに基づいて、入力オブジェクトIn_Obj1の3次元空間内の位置が移動するように、入力オブジェクトIn_obj1の3次元座標データ3D_data(T_obj1)を算出する。
表面処理部25は、入力オブジェクトIn_obj1の表面で囲まれた空間と、操作対象オブジェクトT_obj1の表面で囲まれた空間とに重複する空間がある場合、動きベクトル算出部22により算出された動きベクトル分、操作対象オブジェクトT_obj1の3次元空間内の位置を移動させた操作対象オブジェクトT_obj1の3次元座標データ3D_data(T_obj1)を算出する。
そして、表面処理部25は、算出した操作対象オブジェクトT_obj1の3次元座標データ3D_data(T_obj1)を表示処理部26に出力し、処理をステップS10に進める。
(ステップS82):
ステップS82において、表面処理部25は、動きベクトル算出部22により算出された動きベクトルに基づいて、入力オブジェクトIn_Obj1の3次元空間内の位置が移動するように、入力オブジェクトIn_obj1の3次元座標データ3D_data(T_obj1)を算出する。
ステップS82において、表面処理部25は、動きベクトル算出部22により算出された動きベクトルに基づいて、入力オブジェクトIn_Obj1の3次元空間内の位置が移動するように、入力オブジェクトIn_obj1の3次元座標データ3D_data(T_obj1)を算出する。
さらに、表面処理部25は、入力オブジェクトIn_obj1の表面で囲まれた空間と、操作対象オブジェクトT_obj1の表面で囲まれた空間とが重複する空間である重複空間については、当該重複空間に含まれる操作対象オブジェクトT_obj1の表面を形成する頂点座標データを、当該重複空間に含まれる入力オブジェクトIn_obj1の表面を形成する頂点座標データに、置換することで、操作対象オブジェクトT_obj1の頂点座標データを取得(算出)する。
そして、表面処理部25は、算出した操作対象オブジェクトT_obj1の3次元座標データ3D_data(T_obj1)を表示処理部26に出力し、処理をステップS10に進める。
(ステップS9):
ステップS9において、表面処理部25は、操作対象オブジェクトT_obj1の表面が変更されないように、過去(例えば、1フレーム前)の操作対象オブジェクトT_obj1の3次元座標データ3D_data(T_obj1)を、現時刻(例えば、現フレーム)の操作対象オブジェクトT_obj1の3次元座標データ3D_data(T_obj1)として、表示処理部26に出力し、処理をステップS10に進める。
ステップS9において、表面処理部25は、操作対象オブジェクトT_obj1の表面が変更されないように、過去(例えば、1フレーム前)の操作対象オブジェクトT_obj1の3次元座標データ3D_data(T_obj1)を、現時刻(例えば、現フレーム)の操作対象オブジェクトT_obj1の3次元座標データ3D_data(T_obj1)として、表示処理部26に出力し、処理をステップS10に進める。
(ステップS10):
ステップS10において、表示処理部26は、表面処理部25により算出された操作対象オブジェクトT_obj1の3次元座標データ(頂点座標データ)3D_data(T_obj1)と、入力オブジェクトIn_obj1の3次元座標データ(頂点座標データ)3D_data(In_obj1)とに基づいて、表示部3に表示させるための表示データを生成する。具体的には、表示処理部26は、3次元座標データである、(1)操作対象オブジェクトT_obj1の頂点座標データ3D_data(T_obj1)、および、(2)入力オブジェクトIn_obj1の頂点座標データ3D_data(In_obj1)により規定される立体が、2次元画像として表示されるように、3D-2Dデータ変換処理を行い、2次元座標データを取得する。そして、表示処理部26は、取得した2次元座標データを、表示データ(2次元表示データ)として、表示部3に出力する。
ステップS10において、表示処理部26は、表面処理部25により算出された操作対象オブジェクトT_obj1の3次元座標データ(頂点座標データ)3D_data(T_obj1)と、入力オブジェクトIn_obj1の3次元座標データ(頂点座標データ)3D_data(In_obj1)とに基づいて、表示部3に表示させるための表示データを生成する。具体的には、表示処理部26は、3次元座標データである、(1)操作対象オブジェクトT_obj1の頂点座標データ3D_data(T_obj1)、および、(2)入力オブジェクトIn_obj1の頂点座標データ3D_data(In_obj1)により規定される立体が、2次元画像として表示されるように、3D-2Dデータ変換処理を行い、2次元座標データを取得する。そして、表示処理部26は、取得した2次元座標データを、表示データ(2次元表示データ)として、表示部3に出力する。
(ステップS11):
ステップS11において、表示部3は、表示処理部26から出力される表示データ(2次元表示データ)を入力し、入力された表示データに基づく画像(映像)を表示パネル(例えば、液晶表示パネル)に表示させる。
ステップS11において、表示部3は、表示処理部26から出力される表示データ(2次元表示データ)を入力し、入力された表示データに基づく画像(映像)を表示パネル(例えば、液晶表示パネル)に表示させる。
(ステップS12):
ステップS12では、表示装置1000において、表示処理を継続するか否かの判定が行われ、表示処理を継続すると判定された場合、処理をステップS1に戻し、上記処理を繰り返す。一方、表示処理を継続しないと判定された場合、処理を終了させる。
ステップS12では、表示装置1000において、表示処理を継続するか否かの判定が行われ、表示処理を継続すると判定された場合、処理をステップS1に戻し、上記処理を繰り返す。一方、表示処理を継続しないと判定された場合、処理を終了させる。
表示装置1000では、以上の処理が実行される。
(1.2.1:具体的処理)
次に、表示装置1000での具体的処理について、図3~図10を用いて説明する。
次に、表示装置1000での具体的処理について、図3~図10を用いて説明する。
具体的には、以下の(1)~(3)の場合について、説明する。
(1)入力操作物体を指とし、操作対象オブジェクトT_obj1が所定の硬さよりも硬い場合(Hd(T_obj1)>Th1の場合)
(2)入力操作物体を指とし、操作対象オブジェクトT_obj1が所定の硬さよりも硬くない場合(Hd(T_obj1)≦Th1の場合)
(3)入力操作物体を先の細いペンとし、操作対象オブジェクトT_obj1が所定の硬さよりも硬くない場合(Hd(T_obj1)≦Th1の場合)
(1)入力操作物体を指とし、操作対象オブジェクトT_obj1が所定の硬さよりも硬い場合(Hd(T_obj1)>Th1の場合)
(2)入力操作物体を指とし、操作対象オブジェクトT_obj1が所定の硬さよりも硬くない場合(Hd(T_obj1)≦Th1の場合)
(3)入力操作物体を先の細いペンとし、操作対象オブジェクトT_obj1が所定の硬さよりも硬くない場合(Hd(T_obj1)≦Th1の場合)
≪(1)入力操作物体を指とし、操作対象オブジェクトT_obj1が所定の硬さよりも硬い場合(Hd(T_obj1)>Th1の場合)≫
まず、入力操作物体を指とし、操作対象オブジェクトT_obj1が所定の硬さよりも硬い場合(Hd(T_obj1)>Th1の場合)について、説明する。
まず、入力操作物体を指とし、操作対象オブジェクトT_obj1が所定の硬さよりも硬い場合(Hd(T_obj1)>Th1の場合)について、説明する。
図3は、入力操作物体を指とし、操作対象オブジェクトT_obj1が所定の硬さよりも硬い場合(Hd(T_obj1)>Th1の場合)の表示装置1000の動作を説明するための図である。図3の上図は、時刻t-1における表示部3と、指Fngと、操作対象オブジェクトT_obj1との状態を示した上面図である。図3の中央図は、時刻t-1における表示部3と、指Fngと、操作対象オブジェクトT_obj1との状態を示した側面図である。なお、操作対象オブジェクトT_obj1は、表示データ処理部2により算出された3次元座標データ3D_data(T_obj1)に従って図示しているものであり、実際の3次元空間に存在しているものではない(以下、同様)。図3の下図は、時刻t-1において、表示処理部26により、図3の上図、中央図の状態から取得される3次元座標データを2次元座標データに変換し、変換した2次元座標データを表示部3に表示させたときの画像Img1を模式的に示している。
なお、説明便宜のために、表示部3により表示される画像(映像)のフレームにより時刻を記述するものとする。つまり、現フレームに相当する時刻を時刻tとし、現フレームの1フレーム前のフレームに相当する時刻t-1とし、現フレームの1フレーム後のフレームに相当する時刻t+1とする(以下、同様)。
図4は、入力操作物体を指とし、操作対象オブジェクトT_obj1が所定の硬さよりも硬い場合(Hd(T_obj1)>Th1の場合)の表示装置1000の動作を説明するための図である。図4の上図は、時刻tにおける表示部3と、指Fngと、操作対象オブジェクトT_obj1との状態を示した上面図である。図4の中央図は、時刻tにおける表示部3と、指Fngと、操作対象オブジェクトT_obj1との状態を示した側面図である。図4の下図は、時刻tにおいて、表示処理部26により、図4の上図、中央図の状態から取得される3次元座標データを2次元座標データに変換し、変換した2次元座標データを表示部3に表示させたときの画像Img1(t)を模式的に示している。
図5は、入力操作物体を指とし、操作対象オブジェクトT_obj1が所定の硬さよりも硬い場合(Hd(T_obj1)>Th1の場合)の表示装置1000の動作を説明するための図である。図5の上図は、時刻t+1における表示部3と、指Fngと、操作対象オブジェクトT_obj1との状態を示した上面図である。図5の中央図は、時刻t+1における表示部3と、指Fngと、操作対象オブジェクトT_obj1との状態を示した側面図である。図5の下図は、時刻t+1において、表示処理部26により、図5の上図、中央図の状態から取得される3次元座標データを2次元座標データに変換し、変換した2次元座標データを表示部3に表示させたときの画像Img1(t+1)を模式的に示している。
≪図3の場合≫
図3の場合、入力制御部21は、センサー1からのセンサー検出信号に基づいて、指Fngの3次元空間内の位置と大きさとを取得する。
図3の場合、入力制御部21は、センサー1からのセンサー検出信号に基づいて、指Fngの3次元空間内の位置と大きさとを取得する。
入力オブジェクト生成部23は、入力操作物体(指Fng)の3次元座標データから、入力操作物体(指Fng)の大きさを取得し、取得した大きさに応じた大きさを有する入力オブジェクトIn_obj1を設定する。入力オブジェクト生成部23は、設定した入力オブジェクトIn_obj1の3次元空間内での頂点座標データ(入力オブジェクトの3次元座標データ)3D_data(In_obj1)を算出する。
操作対象オブジェクト生成部24は、操作対象オブジェクトT_obj1を設定し、設定した操作対象オブジェクトT_obj1の3次元座標データ3D_data(T_obj1)を算出する。また、操作対象オブジェクト生成部24は、設定した操作対象オブジェクトT_obj1の硬さHd(T_obj1)を、Hd(T_obj1)>Th1を満たす値に設定する。
表面処理部25は、図3の状態において、操作対象オブジェクトT_obj1の3次元座標データ3D_data(T_obj1)と、入力オブジェクトIn_obj1の3次元座標データ3D_data(In_obj1)とから、グローバル座標により規定される3次元空間において、入力オブジェクトIn_obj1を形成する空間が、操作対象オブジェクトT_obj1を形成する空間と重なる部分がないと判定する。
したがって、表面処理部25は、入力オブジェクトIn_obj1の3次元座標データ3D_data(In_obj1)と、操作対象オブジェクトT_obj1の3次元座標データ3D_data(T_obj1)とを表示処理部26に出力する。
表示処理部26は、入力オブジェクトIn_obj1の3次元座標データ3D_data(In_obj1)と、操作対象オブジェクトT_obj1の3次元座標データ3D_data(T_obj1)とに対して、3D-2D変換処理を行い、2次元座標データを取得する。
表示処理部26は、指Fngの3次元空間の位置から、ユーザーの視点が存在するであろう領域を算出する。そして、表示処理部26は、当該領域に含まれる1点を視点位置として、入力オブジェクトIn_obj1の3次元座標データ3D_data(In_obj1)と、操作対象オブジェクトT_obj1の3次元座標データ3D_data(T_obj1)とを用いて、入力オブジェクトIn_obj1の3次元座標データ3D_data(In_obj1)と、操作対象オブジェクトT_obj1の3次元座標データ3D_data(T_obj1)とを構成するワールド座標上の各点が、設定した視点位置により決定される投影面に投影されたときの座標(2次元座標)を取得する。表示処理部26は、このように処理することで、3D-2D変換処理を行うことが好ましい。
そして、表示処理部26は、取得した2次元座標データを、表示データ(2次元表示データ)として、表示部3に出力する。
表示部3は、表示処理部26から出力された表示データを表示する。
このようにして、表示された画像を模式的に示したのが、図3の下図である。
なお、図3の下図において、指Fngに対応する入力オブジェクトがIn_obj1として表示されている。
≪図4の場合≫
図4の場合、つまり、時刻t-1に図3の位置に存在していた指の先端が、矢印AR1の方向に移動され、時刻tにおいて、図4の点P1(t)の位置となった場合について、説明する。
図4の場合、つまり、時刻t-1に図3の位置に存在していた指の先端が、矢印AR1の方向に移動され、時刻tにおいて、図4の点P1(t)の位置となった場合について、説明する。
図4の場合において、図3の場合と同様に、3次元空間において、操作対象オブジェクトT_obj1を形成する空間と、入力オブジェクトIn_obj1を形成する空間とが重なる領域がないので、図4の場合においても、図3の場合と同様の処理が実行される。
なお、時刻t-1から時刻tにおいて、指Fngの先端が図3の上図の位置から、図4の上図の位置に移動したので、この指Fngの先端の移動距離と移動時間から、動きベクトル算出部22により、入力操作物体の動きベクトルMV(t)が算出される。
≪図5の場合≫
図5の場合、表示装置1000では、時刻tにおいて取得された入力操作物体の動きベクトルMV(t)に基づいて、操作対象オブジェクトT_obj1が移動されるように表示を更新する。
図5の場合、表示装置1000では、時刻tにおいて取得された入力操作物体の動きベクトルMV(t)に基づいて、操作対象オブジェクトT_obj1が移動されるように表示を更新する。
具体的には、表面処理部25は、動きベクトルMV(t)の大きさに基づいて、操作対象オブジェクトT_obj1の移動距離d0を算出する。
そして、表面処理部25は、動きベクトルMV(t)の方向と同じ方向(図5の場合x軸負方向)に、距離d0だけ、操作対象オブジェクトT_obj1を移動させる。表面処理部25は、移動後の操作対象オブジェクトT_obj1の3次元座標データ3D_data(T_obj1)を算出する。
表示処理部26は、表面処理部25により算出された操作対象オブジェクトT_obj1の3次元座標データ3D_data(T_obj1)と、時刻t+1の入力オブジェクトIn_obj1の3次元座標データ3D_data(In_obj1)(時刻t+1の入力オブジェクトIn_obj1の3次元座標データ3D_data(In_obj1)と同じデータ)とに基づいて、3D-2D変換処理を行う。
そして、表示部3は、表示処理部26により取得された2次元座標データを表示データとして表示する。
このようにして、表示された画像を模式的に示したのが、図5の下図(画像Img1(t+1))である。
なお、図5の下図から分かるように、操作対象オブジェクトT_obj1は、指Fngに対応する入力オブジェクトIn_obj1から、距離d0に相当する部分だけ離れた位置に存在するように(移動されたように)表示されている。
以上のように、入力操作物体を指とし、操作対象オブジェクトT_obj1が所定の硬さよりも硬い場合(Hd(T_obj1)>Th1の場合)、表示装置1000では、操作対象オブジェクトT_obj1が、入力操作物体の動きに応じて、はじき飛ばされるように移動する。つまり、表示装置1000では、指で操作対象オブジェクトを操作した場合において、ユーザーに違和感を抱かせない画像(映像)を表示させることができる。
≪(2)入力操作物体を指とし、操作対象オブジェクトT_obj1が所定の硬さよりも硬くない場合(Hd(T_obj1)≦Th1の場合)≫
次に、入力操作物体を指とし、操作対象オブジェクトT_obj1が所定の硬さよりも硬くない場合(Hd(T_obj1)≦Th1の場合)について説明する。
次に、入力操作物体を指とし、操作対象オブジェクトT_obj1が所定の硬さよりも硬くない場合(Hd(T_obj1)≦Th1の場合)について説明する。
なお、時刻t-1の状態は、図3の状態と同じ状態であるものとして、以下、説明する。したがって、時刻t-1の処理は、上記で図3の場合について説明した処理と同様であるため、ここでは、説明を省略する。
図6は、入力操作物体を指とし、操作対象オブジェクトT_obj1が所定の硬さよりも硬くない場合(Hd(T_obj1)≦Th1の場合)の表示装置1000の動作を説明するための図である。図6の上図は、時刻tにおける表示部3と、指Fngと、操作対象オブジェクトT_obj1との状態を示した上面図である。図6の中央図は、時刻tにおける表示部3と、指Fngと、操作対象オブジェクトT_obj1との状態を示した側面図である。図6の下図は、時刻tにおいて、表示処理部26により、図6の上図、中央図の状態から取得される3次元座標データを2次元座標データに変換し、変換した2次元座標データを表示部3に表示させたときの画像Img1A(t)を模式的に示している。
図7は、入力操作物体を指とし、操作対象オブジェクトT_obj1が所定の硬さよりも硬くない場合(Hd(T_obj1)≦Th1の場合)の表示装置1000の動作を説明するための図である。図7の上図は、時刻tにおける表示部3と、指Fngに対応する入力オブジェクトIn_obj1と、操作対象オブジェクトT_obj1との状態を示した上面図である。図7の中央図は、時刻tにおける表示部3と、指Fngに対応する入力オブジェクトIn_obj1と、操作対象オブジェクトT_obj1との状態を示した側面図である。図7の下図は、時刻tにおいて、表示処理部26により、図7の上図、中央図の状態から取得される3次元座標データを2次元座標データに変換し、変換した2次元座標データを表示部3に表示させたときの画像Img1A'(t)(画像Img1A(t)から入力オブジェクトIn_obj1を除外した画像)を模式的に示している。
時刻tにおいて、図6に示す状態となった場合について説明する。
なお、センサー1、入力制御部21、動きベクトル算出部22、および、入力オブジェクト生成部23の処理については、図3の場合と同様であるので、説明を省略する。
操作対象オブジェクト生成部24は、操作対象オブジェクトT_obj1を設定し、設定した操作対象オブジェクトT_obj1の3次元座標データ3D_data(T_obj1)を算出する。また、操作対象オブジェクト生成部24は、設定した操作対象オブジェクトT_obj1の硬さHd(T_obj1)を、Hd(T_obj1)≦Th1を満たす値に設定する。
表面処理部25は、図6の状態において、操作対象オブジェクトT_obj1の3次元座標データ3D_data(T_obj1)と、入力オブジェクトIn_obj1の3次元座標データ3D_data(In_obj1)とから、グローバル座標により規定される3次元空間において、入力オブジェクトIn_obj1を形成する空間が、操作対象オブジェクトT_obj1を形成する空間と重なる部分があると判定する。
表面処理部25は、入力オブジェクトIn_obj1の表面で囲まれた空間と、操作対象オブジェクトT_obj1の表面で囲まれた空間とが重複する空間である重複空間については、当該重複空間に含まれる操作対象オブジェクトT_obj1の表面を形成する頂点座標データを、当該重複空間に含まれる入力オブジェクトIn_obj1の表面を形成する頂点座標データに、置換することで、操作対象オブジェクトT_obj1の頂点座標データを取得(算出)する。例えば、図6の場合、表面処理部25は、図7に示す空間AR_dup(図7にハッチングを付して示した領域)を、3次元空間において、入力オブジェクトIn_obj1を形成する空間と、操作対象オブジェクトT_obj1を形成する空間とが重複する空間として決定する。そして、表面処理部25は、重複空間AR_dupに含まれる操作対象オブジェクトの表面を形成する頂点座標データを、重複空間AR_dupに含まれる入力オブジェクトの表面を形成する頂点座標データに置換する。これにより、操作対象オブジェクトT_obj1の表面は、図7の下図に示すように、指に相当する入力オブジェクトIn_obj1により凹まされたような表面となる。
表面処理部25は、このようにして生成した操作対象オブジェクトT_obj1の3次元座標データ3D_data(T_obj1)を、入力オブジェクトIn_obj1の3次元座標データ3D_data(In_obj1)とともに、表示処理部26に出力する。
そして、表示処理部26により、3D-2D変換処理が実行され、図6の下図に示す画像Img1A(t)を形成する表示データが取得される。そして、表示処理部26により取得された表示データが表示部3で表示される。
以上のように、入力操作物体を指とし、操作対象オブジェクトT_obj1が所定の硬さよりも硬くない場合(Hd(T_obj1)≦Th1の場合)、表示装置1000では、操作対象オブジェクトT_obj1の表面が、入力操作物体の大きさに応じた凹みが生じるように、変形する。つまり、表示装置1000では、指で操作対象オブジェクトの表面をさらに奥に押したとき、操作対象オブジェクトに、指の大きさに対応した凹みが生じるため、ユーザーに違和感を抱かせない画像(映像)を表示させることができる。
≪(3)入力操作物体を先の細いペンとし、操作対象オブジェクトT_obj1が所定の硬さよりも硬くない場合(Hd(T_obj1)≦Th1の場合)≫
次に、入力操作物体を先の細いペンとし、操作対象オブジェクトT_obj1が所定の硬さよりも硬くない場合(Hd(T_obj1)≦Th1の場合)について説明する。
次に、入力操作物体を先の細いペンとし、操作対象オブジェクトT_obj1が所定の硬さよりも硬くない場合(Hd(T_obj1)≦Th1の場合)について説明する。
この場合の時刻t-1の状態を、図8に示す。
≪図8の場合≫
図8の場合、入力制御部21は、センサー1からのセンサー検出信号に基づいて、ペンPenの3次元空間内の位置と大きさとを取得する。
図8の場合、入力制御部21は、センサー1からのセンサー検出信号に基づいて、ペンPenの3次元空間内の位置と大きさとを取得する。
入力オブジェクト生成部23は、入力操作物体(ペンPen(図8では、Pen(t-1)と表示))の3次元座標データから、入力操作物体(ペンPen)の大きさを取得し、取得した大きさに応じた大きさを有する入力オブジェクトIn_obj2を設定する。入力オブジェクト生成部23は、設定した入力オブジェクトIn_obj2の3次元空間内での頂点座標データ(入力オブジェクトの3次元座標データ)3D_data(In_obj2)を算出する。
操作対象オブジェクト生成部24は、操作対象オブジェクトT_obj1を設定し、設定した操作対象オブジェクトT_obj1の3次元座標データ3D_data(T_obj1)を算出する。また、操作対象オブジェクト生成部24は、設定した操作対象オブジェクトT_obj1の硬さHd(T_obj1)を、Hd(T_obj1)≦Th1を満たす値に設定する。
表面処理部25は、図8の状態において、操作対象オブジェクトT_obj1の3次元座標データ3D_data(T_obj1)と、入力オブジェクトIn_obj2の3次元座標データ3D_data(In_obj2)とから、グローバル座標により規定される3次元空間において、入力オブジェクトIn_obj1を形成する空間が、操作対象オブジェクトT_obj1を形成する空間と重なる部分がないと判定する。
したがって、表面処理部25は、入力オブジェクトIn_obj2の3次元座標データ3D_data(In_obj2)と、操作対象オブジェクトT_obj1の3次元座標データ3D_data(T_obj1)とを表示処理部26に出力する。
表示処理部26は、入力オブジェクトIn_obj2の3次元座標データ3D_data(In_obj2)と、操作対象オブジェクトT_obj1の3次元座標データ3D_data(T_obj1)とに対して、3D-2D変換処理を行い、2次元座標データを取得する。
表示処理部26は、ペンPenの3次元空間の位置から、ユーザーの視点が存在するであろう領域を算出する。そして、表示処理部26は、当該領域に含まれる1点を視点位置として、入力オブジェクトIn_obj2の3次元座標データ3D_data(In_obj2)と、操作対象オブジェクトT_obj1の3次元座標データ3D_data(T_obj1)とを用いて、入力オブジェクトIn_obj1の3次元座標データ3D_data(In_obj2)と、操作対象オブジェクトT_obj1の3次元座標データ3D_data(T_obj1)とを構成するワールド座標上の各点が、設定した視点位置により決定される投影面に投影されたときの座標(2次元座標)を取得する。表示処理部26は、このように処理することで、3D-2D変換処理を行うことが好ましい。
そして、表示処理部26は、取得した2次元座標データを、表示データ(2次元表示データ)として、表示部3に出力する。
表示部3は、表示処理部26から出力された表示データを表示する。
このようにして、表示された画像を模式的に示したのが、図8の下図である。
なお、図8の下図において、ペンPenに対応する入力オブジェクトIn_obj2(t-1)として表示されている。
≪図9の場合≫
次に、時刻tにおいて、図9に示す状態となった場合について説明する。
次に、時刻tにおいて、図9に示す状態となった場合について説明する。
なお、センサー1、入力制御部21、動きベクトル算出部22、入力オブジェクト生成部23、および、操作対象オブジェクト生成部24の処理については、図8の場合と同様であるので、説明を省略する。
図9は、入力操作物体を先の細いペンとし、操作対象オブジェクトT_obj1が所定の硬さよりも硬くない場合(Hd(T_obj1)≦Th1の場合)の表示装置1000の動作を説明するための図である。図9の上図は、時刻tにおける表示部3と、ペンPenと、操作対象オブジェクトT_obj1との状態を示した上面図である。図9の中央図は、時刻tにおける表示部3と、ペンPenと、操作対象オブジェクトT_obj1との状態を示した側面図である。図9の下図は、時刻tにおいて、表示処理部26により、図9の上図、中央図の状態から取得される3次元座標データを2次元座標データに変換し、変換した2次元座標データを表示部3に表示させたときの画像Img2(t)を模式的に示している。
図10は、入力操作物体を先の細いペンとし、操作対象オブジェクトT_obj1が所定の硬さよりも硬くない場合(Hd(T_obj1)≦Th1の場合)の表示装置1000の動作を説明するための図である。図10の上図は、時刻tにおける表示部3と、ペンPenに対応する入力オブジェクトIn_obj2と、操作対象オブジェクトT_obj1との状態を示した上面図である。図10の中央図は、時刻tにおける表示部3と、ペンPenに対応する入力オブジェクトIn_obj2と、操作対象オブジェクトT_obj1との状態を示した側面図である。図10の下図は、時刻tにおいて、表示処理部26により、図9の上図、中央図の状態から取得される3次元座標データを2次元座標データに変換し、変換した2次元座標データを表示部3に表示させたときの画像Img2'(t)を模式的に示している。
表面処理部25は、図9の状態において、操作対象オブジェクトT_obj1の3次元座標データ3D_data(T_obj1)と、入力オブジェクトIn_obj2の3次元座標データ3D_data(In_obj2)とから、グローバル座標により規定される3次元空間において、入力オブジェクトIn_obj2を形成する空間が、操作対象オブジェクトT_obj1を形成する空間と重なる部分があると判定する。
表面処理部25は、入力オブジェクトIn_obj1の表面で囲まれた空間と、操作対象オブジェクトT_obj1の表面で囲まれた空間とが重複する空間である重複空間については、当該重複空間に含まれる操作対象オブジェクトT_obj1の表面を形成する頂点座標データを、当該重複空間に含まれる入力オブジェクトIn_obj1の表面を形成する頂点座標データに、置換することで、操作対象オブジェクトT_obj1の頂点座標データを取得(算出)する。例えば、図9の場合、表面処理部25は、図10に示す空間AR_dup(図10にハッチングを付して示した領域)を、3次元空間において、入力オブジェクトIn_obj2を形成する空間と、操作対象オブジェクトT_obj2を形成する空間とが重複する空間として決定する。そして、表面処理部25は、重複空間AR_dupに含まれる操作対象オブジェクトの表面を形成する頂点座標データを、重複空間AR_dupに含まれる入力オブジェクトの表面を形成する頂点座標データに置換する。これにより、操作対象オブジェクトT_obj1の表面は、図10の下図に示すように、指に相当する入力オブジェクトIn_obj2により凹まされたような表面となる。
表面処理部25は、このようにして生成した操作対象オブジェクトT_obj1の3次元座標データ3D_data(T_obj1)を、入力オブジェクトIn_obj2の3次元座標データ3D_data(In_obj2)とともに、表示処理部26に出力する。
そして、表示処理部26により、3D-2D変換処理が実行され、図9の下図に示す画像Img2(t)を形成する表示データが取得される。そして、表示処理部26により取得された表示データが表示部3で表示される。
このように、入力操作物体を先の細いペンとし、操作対象オブジェクトT_obj1が所定の硬さよりも硬くない場合(Hd(T_obj1)≦Th1の場合)、表示装置1000では、操作対象オブジェクトT_obj1の表面が、入力操作物体の大きさに応じた凹みが生じるように、変形する。つまり、表示装置1000では、先の細いペンで操作対象オブジェクトの表面をさらに奥に押したとき、操作対象オブジェクトに、ペンの大きさに対応した凹み(突き刺したような穴)が生じるため、ユーザーに違和感を抱かせない画像(映像)を表示させることができる。
なお、入力操作物体を先の細いペンとし、操作対象オブジェクトT_obj1が所定の硬さよりも硬い場合(Hd(T_obj1)>Th1の場合)の表示装置1000の動作は、(1)入力操作物体を指とし、操作対象オブジェクトT_obj1が所定の硬さよりも硬い場合(Hd(T_obj1)>Th1の場合)の動作と同様であるため、説明を省略する。
以上のように、表示装置1000では、操作対象オブジェクトの硬さが所定の硬さよりも硬くない値に設定されている場合、入力操作物体の大きさに応じて、操作対象オブジェクトの表面を変形させ、変形させた状態の操作対象オブジェクトの3次元座標データに基づいて、2次元座標データを取得し、取得したデータにより表示がなされる。また、表示装置1000では、操作対象オブジェクトの硬さが所定の硬さよりも硬い値に設定されている場合、入力操作物体の動きベクトルに応じて、操作対象オブジェクトを移動させ、移動させた状態の操作対象オブジェクトの3次元座標データに基づいて、2次元座標データを取得し、取得したデータにより表示がなされる。
つまり、表示装置1000の表示データ処理部2では、実世界の物理現象と類似した状態変化を示す画像(3Dオブジェクトを2次元変換させて取得した画像)を取得することができる。そして、この表示データ処理部2により取得された表示データを、表示部3に表示させることで、表示装置1000では、実世界の物理現象と類似した状態変化を示す画像(3Dオブジェクトを2次元変換させて取得した画像)を表示させることができる。
したがって、表示装置1000の表示データ処理部2(表示データ処理装置)では、どのような入力操作物体で、操作対象オブジェクトを操作した場合であっても、ユーザーに違和感を抱かせない画像(映像)を表示させるための表示データを生成することができる。そして、表示装置1000では、表示データ処理部2により取得された表示データを表示することで、どのような入力操作物体で、操作対象オブジェクトを操作した場合であっても、ユーザーに違和感を抱かせない画像(映像)を表示させることができる。
なお、本実施形態は、操作対象オブジェクトと入力オブジェクトを表示させた説明を実施しているが、操作時に入力のオブジェクトを意識することは少ないので、操作対象オブジェクトのみを表示するようにしてもよい。
[他の実施形態]
また、上記実施形態の一部または全部を組み合わせて、表示装置、表示データ処理部(表示データ処理装置)を実現するようにしてもよい。
また、上記実施形態の一部または全部を組み合わせて、表示装置、表示データ処理部(表示データ処理装置)を実現するようにしてもよい。
また、上記実施形態の表示装置、表示データ処理部(表示データ処理装置)の一部または全部は、集積回路(例えば、LSI、システムLSI等)として実現されるものであってもよい。
上記実施形態の各機能ブロックの処理の一部または全部は、プログラムにより実現されるものであってもよい。そして、上記実施形態の各機能ブロックの処理の一部または全部は、コンピュータにおいて、中央演算装置(CPU)、マイクロプロセッサ、プロセッサ等により実行されるものであってもよい。また、それぞれの処理を行うためのプログラムは、ハードディスク、ROMなどの記憶装置に格納されており、中央演算装置(CPU)が、ROM、あるいはRAMから当該プログラムを読み出し、実行されるものであってもよい。
また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェア(OS(オペレーティングシステム)、ミドルウェア、あるいは、所定のライブラリとともに実現される場合を含む。)により実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。
また、上記実施形態における処理方法の実行順序は、必ずしも、上記実施形態の記載に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えることができるものである。
前述した方法をコンピュータに実行させるコンピュータプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここで、コンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、大容量DVD、次世代DVD、半導体メモリを挙げることができる。
上記コンピュータプログラムは、上記記録媒体に記録されたものに限られず、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。
なお、本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。
[付記]
なお、本発明は、以下のようにも表現することができる。
なお、本発明は、以下のようにも表現することができる。
第1の発明は、入力操作物体の3次元空間内の位置と大きさとを検出するセンサーとともに用いられる表示データ処理装置であって、入力制御部と、入力オブジェクト生成部と、操作対象オブジェクト生成部と、表面処理部と、表示処理部と、を備える。
入力制御部は、センサーから出力されるセンサー検出信号に基づいて、入力操作物体の3次元空間内の位置と大きさとを取得し、入力操作物体の3次元空間内の座標データを取得する。
入力オブジェクト生成部は、入力制御部により取得された入力操作物体の3次元空間内の座標データに基づいて、入力操作物体の大きさに応じた大きさを有する入力オブジェクトを設定し、設定した入力オブジェクトの3次元空間内での頂点座標データを算出する。
操作対象オブジェクト生成部は、操作対象オブジェクトを設定し、設定した操作対象オブジェクトの3次元空間内での頂点座標データを算出する。
表面処理部は、入力オブジェクト生成部により算出された入力オブジェクトの頂点座標データと、操作対象オブジェクト生成部により算出された操作対象オブジェクトの頂点座標データとに基づいて、操作対象オブジェクトの表面状態を特定し、特定した操作対象オブジェクトの表面状態を形成するための操作対象オブジェクトの頂点座標データを算出する。
表示処理部は、表面処理部により算出された操作対象オブジェクトの頂点座標データと、入力オブジェクトの頂点座標データとに基づいて、表示装置に表示させるための表示データを生成する。
この表示データ処理装置では、入力操作物体の大きさに応じて、操作対象オブジェクトの表面を特定し、特定した状態の操作対象オブジェクトの3次元座標データに基づいて、2次元座標データを取得する。したがって、この表示データ処理装置では、実世界の物理現象と類似した状態変化を示す画像(3Dオブジェクトを2次元変換させて取得した画像)を取得することができる。
したがって、この表示データ処理部2(表示データ処理装置)では、どのような入力操作物体で、操作対象オブジェクトを操作した場合であっても、ユーザーに違和感を抱かせない画像(映像)を表示させるための表示データを生成することができる。
第2の発明は、第1の発明であって、入力操作物体の3次元空間内の座標データを時系列データとして記憶するとともに、入力操作物体の3次元空間内の座標データに基づいて、入力操作物体の動きベクトルを算出する動きベクトル算出部をさらに備える。
操作対象オブジェクト生成部は、操作対象オブジェクトの硬さを設定する。
表面処理部は、
(1)操作対象オブジェクトの硬さが所定の硬さよりも硬いことを示す値に設定されている場合であって、3次元空間において、入力オブジェクトの少なくとも一部が操作対象オブジェクトの表面で囲まれた空間の内部に存在すると判定される場合、動きベクトル算出部により算出された動きベクトルに基づいて、操作対象オブジェクトの3次元空間内の位置が移動するように、操作対象オブジェクトの頂点座標データを算出し、
(2)操作対象オブジェクトの硬さが所定の硬さよりも硬くないことを示す値に設定されている場合であって、3次元空間において、入力オブジェクトの少なくとも一部が操作対象オブジェクトの表面で囲まれた空間の内部に存在すると判定される場合、入力オブジェクトの表面で囲まれた空間と、操作対象オブジェクトの表面で囲まれた空間とが重複する空間である重複空間については、重複空間に含まれる操作対象オブジェクトの表面を形成する頂点座標データを、重複空間に含まれる入力オブジェクトの表面を形成する頂点座標データに、置換することで、操作対象オブジェクトの頂点座標データを取得する。
(1)操作対象オブジェクトの硬さが所定の硬さよりも硬いことを示す値に設定されている場合であって、3次元空間において、入力オブジェクトの少なくとも一部が操作対象オブジェクトの表面で囲まれた空間の内部に存在すると判定される場合、動きベクトル算出部により算出された動きベクトルに基づいて、操作対象オブジェクトの3次元空間内の位置が移動するように、操作対象オブジェクトの頂点座標データを算出し、
(2)操作対象オブジェクトの硬さが所定の硬さよりも硬くないことを示す値に設定されている場合であって、3次元空間において、入力オブジェクトの少なくとも一部が操作対象オブジェクトの表面で囲まれた空間の内部に存在すると判定される場合、入力オブジェクトの表面で囲まれた空間と、操作対象オブジェクトの表面で囲まれた空間とが重複する空間である重複空間については、重複空間に含まれる操作対象オブジェクトの表面を形成する頂点座標データを、重複空間に含まれる入力オブジェクトの表面を形成する頂点座標データに、置換することで、操作対象オブジェクトの頂点座標データを取得する。
この表示データ処理装置では、操作対象オブジェクトの硬さが所定の硬さよりも硬くない値に設定されている場合、入力操作物体の大きさに応じて、操作対象オブジェクトの表面を変形させ、変形させた状態の操作対象オブジェクトの3次元座標データに基づいて、2次元座標データを取得する。また、この表示データ処理装置では、操作対象オブジェクトの硬さが所定の硬さよりも硬い値に設定されている場合、入力操作物体の動きベクトルに応じて、操作対象オブジェクトを移動させ、移動させた状態の操作対象オブジェクトの3次元座標データに基づいて、2次元座標データを取得する。
つまり、この表示データ処理装置では、実世界の物理現象と類似した状態変化を示す画像(3Dオブジェクトを2次元変換させて取得した画像)を取得することができる。
したがって、この表示データ処理装置では、どのような入力操作物体で、操作対象オブジェクトを操作した場合であっても、ユーザーに違和感を抱かせない画像(映像)を表示させるための表示データを生成することができる。そして、この表示データ処理装置により生成された表示データを表示装置で表示させることで、どのような入力操作物体で、操作対象オブジェクトを操作した場合であっても、ユーザーに違和感を抱かせない画像(映像)を表示させることができる。
第3の発明は、第1または第2の発明である表示データ処理装置と、表示部とを備える表示装置である。
表示部は、表示データ処理装置により取得された表示データを表示する。
これにより、第1または第2の発明である表示データ処理装置を備える表示装置を実現することができる。
第4の発明は、入力操作物体の3次元空間内の位置と大きさとを検出するセンサーとともに用いられる表示データ処理方法をコンピュータに実行させるためのプログラムである。表示データ処理方法は、入力制御ステップと、入力オブジェクト生成ステップと、操作対象オブジェクト生成ステップと、表面処理ステップと、表示処理ステップと、を備える。
入力制御ステップは、センサーから出力されるセンサー検出信号に基づいて、入力操作物体の3次元空間内の位置と大きさとを取得し、入力操作物体の3次元空間内の座標データを取得する。
入力オブジェクト生成ステップは、入力制御ステップにより取得された入力操作物体の3次元空間内の座標データに基づいて、入力操作物体の大きさに応じた大きさを有する入力オブジェクトを設定し、設定した入力オブジェクトの3次元空間内での頂点座標データを算出する。
操作対象オブジェクト生成ステップは、操作対象オブジェクトを設定し、設定した操作
対象オブジェクトの3次元空間内での頂点座標データを算出する。
対象オブジェクトの3次元空間内での頂点座標データを算出する。
表面処理ステップは、入力オブジェクト生成ステップにより算出された入力オブジェクトの頂点座標データと、操作対象オブジェクト生成ステップにより算出された操作対象オブジェクトの頂点座標データとに基づいて、操作対象オブジェクトの表面状態を特定し、特定した操作対象オブジェクトの表面状態を形成するための操作対象オブジェクトの頂点座標データを算出する。
表示処理ステップは、表面処理ステップにより算出された操作対象オブジェクトの頂点座標データと、入力オブジェクトの頂点座標データとに基づいて、表示装置に表示させるための表示データを生成する。
これにより、第1の発明と同様の効果を奏する表示データ処理方法をコンピュータに実行させるためのプログラムを実現することができる。
本発明は、どのような入力操作物体で、操作対象オブジェクトを操作した場合であっても、ユーザーに違和感を抱かせない画像(映像)を表示させるための表示データを生成する表示データ処理装置、および、当該表示データ処理装置を備える表示装置を実現することができる。したがって、本発明は、映像関連産業分野において、有用であり、当該分野において実施することができる。
1000 表示装置
1 センサー
2 表示データ処理部(表示データ処理装置)
21 入力制御部
22 動きベクトル算出部
23 入力オブジェクト生成部
24 操作対象オブジェクト生成部
25 表面処理部
26 表示処理部
3 表示部
1 センサー
2 表示データ処理部(表示データ処理装置)
21 入力制御部
22 動きベクトル算出部
23 入力オブジェクト生成部
24 操作対象オブジェクト生成部
25 表面処理部
26 表示処理部
3 表示部
Claims (4)
- 入力操作物体の3次元空間内の位置と大きさとを検出するセンサーとともに用いられる表示データ処理装置であって、
前記センサーから出力されるセンサー検出信号に基づいて、入力操作物体の3次元空間内の位置と大きさとを取得し、前記入力操作物体の3次元空間内の座標データを取得する入力制御部と、
前記入力制御部により取得された前記入力操作物体の3次元空間内の座標データに基づいて、前記入力操作物体の大きさに応じた大きさを有する入力オブジェクトを設定し、設定した前記入力オブジェクトの3次元空間内での頂点座標データを算出する入力オブジェクト生成部と、
操作対象オブジェクトを設定し、設定した前記操作対象オブジェクトの3次元空間内での頂点座標データを算出する操作対象オブジェクト生成部と、
前記入力オブジェクト生成部により算出された前記入力オブジェクトの頂点座標データと、前記操作対象オブジェクト生成部により算出された前記操作対象オブジェクトの頂点座標データとに基づいて、前記操作対象オブジェクトの表面状態を特定し、特定した前記操作対象オブジェクトの表面状態を形成するための前記操作対象オブジェクトの頂点座標データを算出する表面処理部と、
前記表面処理部により算出された前記操作対象オブジェクトの頂点座標データと、前記入力オブジェクトの頂点座標データとに基づいて、表示装置に表示させるための表示データを生成する表示処理部と、
を備える表示データ処理装置。 - 前記入力操作物体の3次元空間内の座標データを時系列データとして記憶するとともに、前記入力操作物体の3次元空間内の座標データに基づいて、前記入力操作物体の動きベクトルを算出する動きベクトル算出部をさらに備え、
前記操作対象オブジェクト生成部は、
前記操作対象オブジェクトの硬さを設定し、
前記表面処理部は、
(1)前記操作対象オブジェクトの硬さが所定の硬さよりも硬いことを示す値に設定されている場合であって、3次元空間において、前記入力オブジェクトの少なくとも一部が前記操作対象オブジェクトの表面で囲まれた空間の内部に存在すると判定される場合、前記動きベクトル算出部により算出された前記動きベクトルに基づいて、前記操作対象オブジェクトの3次元空間内の位置が移動するように、前記操作対象オブジェクトの頂点座標データを算出し、
(2)前記操作対象オブジェクトの硬さが所定の硬さよりも硬くないことを示す値に設定されている場合であって、3次元空間において、前記入力オブジェクトの少なくとも一部が前記操作対象オブジェクトの表面で囲まれた空間の内部に存在すると判定される場合、
前記入力オブジェクトの表面で囲まれた空間と、前記操作対象オブジェクトの表面で囲まれた空間とが重複する空間である重複空間については、前記重複空間に含まれる前記操作対象オブジェクトの表面を形成する頂点座標データを、前記重複空間に含まれる前記入力オブジェクトの表面を形成する頂点座標データに、置換することで、前記操作対象オブジェクトの頂点座標データを取得する、
請求項1に記載の表示データ処理装置。 - 請求項1又は2に記載の表示データ処理装置と、
前記表示データ処理装置により取得された表示データを表示する表示部と、
を備える表示装置。 - 入力操作物体の3次元空間内の位置と大きさとを検出するセンサーとともに用いられる表示データ処理方法をコンピュータに実行させるためのプログラムであって、
前記センサーから出力されるセンサー検出信号に基づいて、入力操作物体の3次元空間内の位置と大きさとを取得し、前記入力操作物体の3次元空間内の座標データを取得する入力制御ステップと、
前記入力制御ステップにより取得された前記入力操作物体の3次元空間内の座標データに基づいて、前記入力操作物体の大きさに応じた大きさを有する入力オブジェクトを設定し、設定した前記入力オブジェクトの3次元空間内での頂点座標データを算出する入力オブジェクト生成ステップと、
操作対象オブジェクトを設定し、設定した前記操作対象オブジェクトの3次元空間内での頂点座標データを算出する操作対象オブジェクト生成ステップと、
前記入力オブジェクト生成ステップにより算出された前記入力オブジェクトの頂点座標データと、前記操作対象オブジェクト生成ステップにより算出された前記操作対象オブジェクトの頂点座標データとに基づいて、前記操作対象オブジェクトの表面状態を特定し、特定した前記操作対象オブジェクトの表面状態を形成するための前記操作対象オブジェクトの頂点座標データを算出する表面処理ステップと、
前記表面処理ステップにより算出された前記操作対象オブジェクトの頂点座標データと、前記入力オブジェクトの頂点座標データとに基づいて、表示装置に表示させるための表示データを生成する表示処理ステップと、
を備える表示データ処理方法をコンピュータに実行させるためのプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015-052090 | 2015-03-16 | ||
JP2015052090 | 2015-03-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016148142A1 true WO2016148142A1 (ja) | 2016-09-22 |
Family
ID=56919150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2016/058158 WO2016148142A1 (ja) | 2015-03-16 | 2016-03-15 | 表示データ処理装置、表示装置、および、プログラム |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2016148142A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011175439A (ja) * | 2010-02-24 | 2011-09-08 | Sony Corp | 画像処理装置、画像処理方法、プログラム及び画像処理システム |
JP2014072576A (ja) * | 2012-09-27 | 2014-04-21 | Kyocera Corp | 表示装置および制御方法 |
-
2016
- 2016-03-15 WO PCT/JP2016/058158 patent/WO2016148142A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011175439A (ja) * | 2010-02-24 | 2011-09-08 | Sony Corp | 画像処理装置、画像処理方法、プログラム及び画像処理システム |
JP2014072576A (ja) * | 2012-09-27 | 2014-04-21 | Kyocera Corp | 表示装置および制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180285636A1 (en) | Methods and systems for hand tracking | |
US8395620B2 (en) | Method and system for tracking of a subject | |
US20140015831A1 (en) | Apparatus and method for processing manipulation of 3d virtual object | |
US10453235B2 (en) | Image processing apparatus displaying image of virtual object and method of displaying the same | |
US20100302145A1 (en) | Virtual desktop coordinate transformation | |
JP5709440B2 (ja) | 情報処理装置、情報処理方法 | |
US20150199850A1 (en) | Information processing apparatus and information processing method | |
US9786085B2 (en) | Method and system for directly manipulating the constrained model of a computer-generated character | |
US11477432B2 (en) | Information processing apparatus, information processing method and storage medium | |
JP7490072B2 (ja) | マルチビュー画像を使用した3d人間ポーズ推定に基づく視覚ベースのリハビリ訓練システム | |
KR20160063163A (ko) | 터치 제스쳐 인식 방법 및 장치 | |
JP2017191492A5 (ja) | ||
US20170186237A1 (en) | Information processing apparatus, information processing method, and storage medium | |
US9122346B2 (en) | Methods for input-output calibration and image rendering | |
US10088910B2 (en) | Information processing apparatus and information processing method | |
CN109584148A (zh) | 一种在vr设备中处理二维界面的方法和装置 | |
EP3309713B1 (en) | Method and device for interacting with virtual objects | |
WO2016148142A1 (ja) | 表示データ処理装置、表示装置、および、プログラム | |
JP7513262B2 (ja) | 端末装置、仮想オブジェクト操作方法、及び仮想オブジェクト操作プログラム | |
JP6170696B2 (ja) | 画像処理装置及び画像処理方法 | |
US20170160814A1 (en) | Tactile feedback method and apparatus, and virtual reality interactive system | |
US20200258193A1 (en) | Information processing apparatus, information processing method, and storage medium | |
CN111103973A (zh) | 模型处理方法、装置、计算机设备和存储介质 | |
US8890889B1 (en) | System and method for generating a pose of an object | |
JP2018190397A5 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16764972 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
NENP | Non-entry into the national phase |
Ref country code: JP |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 16764972 Country of ref document: EP Kind code of ref document: A1 |