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

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

Info

Publication number
WO2018235744A1
WO2018235744A1 PCT/JP2018/022980 JP2018022980W WO2018235744A1 WO 2018235744 A1 WO2018235744 A1 WO 2018235744A1 JP 2018022980 W JP2018022980 W JP 2018022980W WO 2018235744 A1 WO2018235744 A1 WO 2018235744A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
virtual space
virtual
bone
point
Prior art date
Application number
PCT/JP2018/022980
Other languages
English (en)
French (fr)
Inventor
達紀 網本
昭 西山
Original Assignee
株式会社ソニー・インタラクティブエンタテインメント
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社ソニー・インタラクティブエンタテインメント filed Critical 株式会社ソニー・インタラクティブエンタテインメント
Priority to US16/620,101 priority Critical patent/US20200202609A1/en
Priority to JP2019525579A priority patent/JP6698946B2/ja
Publication of WO2018235744A1 publication Critical patent/WO2018235744A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/65Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0012Biomedical image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30004Biomedical image processing
    • G06T2207/30008Bone

Definitions

  • the present invention relates to an information processing apparatus, a control method, and a program.
  • the speed of acquiring information in the depth sensor is generally lower than the drawing frame rate, so The reflection of the situation in the real space may be delayed, which may impair the sense of reality.
  • the present invention has been made in view of the above-described circumstances, and an object thereof is to provide an information processing apparatus, a control method, and a program that can execute information presentation processing without impairing the sense of reality.
  • the present invention for solving the problems of the conventional example is an information processing apparatus, which is a means for acquiring information related to the position and appearance of an object in a physical space, and the position of the acquired object in the physical space
  • a plurality of virtual volume elements are arranged at positions in the virtual space corresponding to at least along the appearance of the object to generate information of the virtual space representing the object by a set of the virtual volume elements
  • Virtual space information generation means holding means for holding information of the generated virtual space, and information of the virtual space representing movement of at least a part of the virtual volume element with reference to the held information
  • Generation of virtual space information including detection means for detecting information on time change, and estimation means for estimating the position of the virtual volume element after a predetermined time based on the detected time change information; hand Based on the result of the estimation is obtained by the fact that generates and outputs information of the virtual space after a predetermined time.
  • information presentation processing can be performed without losing the sense of reality.
  • FIG. 1 is a configuration block diagram showing an example of a display device connected to an information processing device according to an embodiment of the present invention. It is a functional block diagram showing the example of the information processor concerning an embodiment of the invention. It is a flowchart figure showing the operation example of the information processor concerning an embodiment of the invention. It is an explanatory view showing an example of contents of processing in an information processor concerning an embodiment of the invention. It is an explanatory view showing an example of drawing timing by an information processor concerning an embodiment of the invention. It is an explanatory view showing an example of processing of an information processor concerning an embodiment of the invention.
  • the information processing apparatus 1 is, for example, a home game machine, as illustrated in FIG. 1, and includes a control unit 11, a storage unit 12, an operation receiving unit 13, and an imaging unit 14. , And the communication unit 15.
  • the information processing apparatus 1 is communicably connected to a display device 2 such as a head mounted display (HMD) worn by the user on the head.
  • HMD head mounted display
  • An example of the display device 2 worn by the user on the head in the present embodiment is a display device worn by the user on the head and used, and as illustrated in FIG. 2, the control unit 21 and the communication unit 22 and a display unit 23.
  • the control unit 21 of the display device 2 is a program control device such as a microcomputer, and operates according to a program stored in a memory (not shown) such as a built-in storage unit etc.
  • An image corresponding to the information input via the unit 22 is displayed on the display unit 23 and is viewed by the user.
  • the communication unit 22 is communicably connected to the information processing apparatus 1 by wire or wirelessly.
  • the communication unit 22 outputs the information transmitted from the information processing device 1 to the display device 2 to the control unit 21.
  • the display unit 23 displays an image corresponding to each of the eyes of the user's right and left eyes.
  • the display unit 23 includes display elements such as an organic EL display panel and a liquid crystal display panel.
  • the display element displays an image in accordance with an instruction input from the control unit 21.
  • the display element may be a single display element that displays the left-eye video and the right-eye video in a line, or a pair of images that independently display the left-eye video and the right-eye video. It may be a display element.
  • the display device 2 is a non-transmission type display device in which the user can not visually recognize the appearance of the outside world, but this is not essential, and it is a transmission type display device. I don't care.
  • the control unit 11 of the information processing apparatus 1 is a program control device such as a CPU, and executes a program stored in the storage unit 12.
  • the control unit 11 causes the imaging unit 14 to acquire information related to the position and appearance of the target in the physical space, and a virtual space corresponding to the acquired position of the target in the physical space.
  • a plurality of virtual volume elements are arranged at at least a position of the object along at least an appearance of the object, and a process of generating information of a virtual space representing the object by a set of the virtual volume elements is performed.
  • This process arranges a plurality of virtual volume elements called voxels, for example, and expresses an object, or a point cloud (point cloud data, hereinafter simply referred to as “point cloud”), etc.
  • This processing is performed by widely known processing such as processing for representing an object by arranging a point group at a position corresponding to.
  • control unit 11 detects information on time change of information on the virtual space, which represents movement of at least a part of the virtual volume element, and based on the detected time change information, the control unit 11 performs a predetermined time later. , Estimate the position of the virtual volume element. And control part 11 performs processing which generates and outputs information on virtual space after only predetermined time based on a result of the estimation concerned. Further, the control unit 11 renders a point group in the field of view of a virtual camera arranged at a predetermined position in the virtual space, generates image data, and transmits the communication unit 15 to the display device 2 of the user. Output through. The detailed operation of the control unit 11 will be described later.
  • the storage unit 12 is a memory device such as a RAM or a disk device, and stores a program executed by the control unit 11.
  • the storage unit 12 also operates as a work memory of the control unit 11, and stores data used by the control unit 11 in the process of program execution.
  • the program may be provided stored in a computer readable non-transitory recording medium and may be stored in the storage unit 12.
  • the operation receiving unit 13 receives a user's instruction operation from a not-shown operation device by wire or wirelessly.
  • the operation device is, for example, a controller of a home game machine or the like.
  • the operation accepting unit 13 outputs, to the control unit 11, information representing the content of the instruction operation performed by the user on the operation device.
  • the user does not necessarily have to operate the operation device.
  • the imaging unit 14 includes an optical camera, a depth sensor, and the like.
  • the imaging unit 14 repeatedly acquires image data obtained by imaging an image within a predetermined visual field in front of the user (head ahead), and an object in real space corresponding to each pixel of the image data within the predetermined visual field. It repeatedly acquires distance information to an object (other users, furniture in a room where the user is located, etc.), and outputs the acquired distance information to the control unit 11.
  • the communication unit 15 is communicably connected to the display device 2 of the user by wire or wirelessly.
  • the communication unit 15 receives image data output from the display device 2 and sends the image data to the control unit 11. Further, the communication unit 15 receives information including image data to be transmitted from the control unit 11 to the display device 2, and outputs the information to the display device 2.
  • the communication unit 15 may include a network interface, and may transmit and receive various data to and from an external server computer or another information processing apparatus via a network.
  • control unit 11 functionally has, as illustrated in FIG. 3, a real space information acquisition unit 31, a point cloud arrangement unit 32, a storage unit 33, and an estimation unit 34, It comprises an estimated point group arrangement unit 35, a virtual space information generation unit 36, and an output unit 37.
  • the real space information acquisition unit 31 receives, from the imaging unit 14, the captured image data and information on the distance to the object in the real space captured by each pixel of the image data.
  • the real space information acquisition unit 31 thereby acquires information (color information) related to the position and appearance of the object in the real space.
  • the position of the object for example, with the imaging unit 14 as the origin, the Z-axis direction of the field of view imaged by the imaging unit 14 and the vertical direction of the image data imaged by the imaging unit 14
  • the direction of gravity is represented by an Y-axis, and an XYZ orthogonal coordinate system in which an axis orthogonal to these is an X-axis.
  • the point cloud arranging unit 32 determines the color and position of each point (each virtual volume element) of a point cloud in the virtual space representing an object in the real space. Do. Since such a method of setting a point group is widely known, the detailed description here is omitted.
  • the storage unit 33 stores information on the position and color of each point included in the point group set by the point group arrangement unit 32 in the storage unit 12.
  • the storage unit 33 acquires date and time information indicating a date and time when the point cloud placement unit 32 sets a point group from a timer unit (calendar IC etc., not shown), and the acquired date and time information Information of point cloud is stored in storage unit 12 in association with each other.
  • the storage unit 33 stores at least a part of the information acquired by the real space information acquisition unit 31 (for example, imaged image data, etc.), which is the source of the point cloud information at this time, Good.
  • the estimation unit 34 at least a part of a virtual volume element (each point included in a point group in the example here, hereinafter, the virtual volume element when the virtual volume element is expressed by a point group is described as “point”)
  • point group information Information on point groups in the virtual space (information on color and position of each point of point group, hereinafter referred to as point group information) is referred to.
  • the estimation unit 34 identifies corresponding points for each point in the referenced point group. That is, the point of the current point group corresponding to a certain point in the previous point group is identified (the same identification information is set to the corresponding point at each time). Then, the estimation unit 34 obtains the movement amount for each corresponding point in the point group at each time point.
  • the amount of movement is represented using a coordinate system of virtual space, for example, ⁇ , ⁇ , ⁇ orthogonal coordinates.
  • this estimation unit 34 assumes that the position of the imaging unit 14 has not moved. Then, the estimation unit 34 estimates the movement amount of the point in the corresponding point group using the detection result of the corresponding portion by comparison of the predetermined feature amount etc. in the image data stored together with the referred point group.
  • a process such as a flow is performed to refer to each of the information of point clouds for N times in the past, and a process of identifying corresponding points is performed for each point included in each time point cloud referred to.
  • the estimation unit 34 obtains information on time change for each point identified here.
  • the information on time change is, for example, the movement amount of each point (difference corresponding to the derivative of the coordinates of each point in the virtual space) or the difference value of the movement amount (second derivative of the coordinates in the virtual space)
  • the corresponding difference the difference (the difference corresponding to the third derivative of the coordinates in the virtual space), and the like may be used.
  • the estimation unit 34 estimates the position in the virtual space of each point of the point group which is a virtual volume element after a predetermined time from the time of operation based on the information of the time change obtained here. .
  • This estimation can be performed by extrapolation based on the movement amount of each point, the difference thereof, and the like. Specifically, estimation can be performed by numerically integrating the amount of movement of each point, the difference thereof, and the like. The operation of the estimation unit 34 will be described in more detail later including various modifications.
  • the estimated point group arrangement unit 35 generates point group information in which each point is arranged at a position in the virtual space of each point after a predetermined time based on the result of estimation by the estimation unit 34.
  • the virtual space information generation unit 36 generates and outputs information of a virtual space including the point group arranged by the estimated point group arrangement unit 35.
  • the output unit 37 renders a point group within the field of view of a virtual camera, which is generated by the virtual space information generation unit 36 and disposed at a predetermined position in the virtual space (for example, the position of the user's eyes) Are generated and output to the display device 2 of the user via the communication unit 15.
  • the present embodiment basically includes the above configuration and operates as follows. That is, as illustrated in FIG. 4, the information processing apparatus 1 according to the present embodiment includes the image data captured by the imaging unit 14 and the target object in the real space captured by each pixel of the image data. Information on the distance to the point is received (S1), and the color and position of each point of the point group in the virtual space representing the object in the real space are determined based on the acquired information (S2). The information processing apparatus 1 stores and stores information on the position and color of each point included in the point group set here in the storage unit 12 (S3).
  • the information processing apparatus 1 acquires date and time information indicating a date and time when the point cloud is set in the processing S2 from a calendar IC or the like (not shown), associates it with the acquired date and time information, and stores the point cloud information Store in 12 and save. Also, the captured image data, which is the source of the point cloud information determined in the processing S2, is stored together.
  • the information processing apparatus 1 is set at the time of execution of the process S2 N times in the past, takes out and refers to the information of the point cloud stored in the process S3 (S4), and corresponds to each point included in the point cloud Identify points (S5). Specifically, for the point p included in one of the point groups G representing the object as shown in FIG. 5, each point at time t1 is sequentially selected as an attention point and corresponds to the selected attention point A point in the point group at a time t0 in the past (t0 ⁇ t1) is specified, and a common identifier is set for each of the selected target point and the specified point.
  • the information processing apparatus 1 obtains time change information for each point identified here (S6). Specifically, the difference between the coordinates of the point pa 'at time t0 when the same identifier is set in the process S5 and the point pa at time t1 is divided by the time difference (t1-t0) to obtain the point pa It is set as information (DELTA) P of time change of. This process is performed for each point of the point group at time t1.
  • the information processing apparatus 1 determines the position in the virtual space of each point of the point group (t1 + ⁇ t) after the predetermined time ⁇ t from the time of operation (time t1) based on the information on the time change obtained in the processing S6. It estimates (S7). Specifically, each point of the point group at time t1 is sequentially selected as an attention point, and the coordinates P ( ⁇ N, NN, ⁇ N) of the selected attention point pN and the attention point pN are processed in processing S6.
  • the coordinates of the attention point pN at (t1 + ⁇ t) after a predetermined time ⁇ t from the time of operation (time t1) are estimated as P + ⁇ P ⁇ ⁇ t using the information ⁇ P of the time change thus determined.
  • the point of interest pN for which information on time change is not obtained in process S6 (a point that does not correspond to time t0 and appears at time t1) is estimated as not moving from time t1. Good.
  • the examples of the processes S5 to S7 in this operation example are one example, and the other examples will be described later as modified examples.
  • the information processing apparatus 1 generates point cloud information in which each point is arranged at a position in the virtual space of each point after a predetermined time based on the estimation result in the processing S7 (S8). Then, the information processing apparatus 1 generates information of a virtual space including the point group, and further, a point group within the visual field of a virtual camera arranged at a predetermined position (for example, the position of the user's eyes) in the virtual space. Are rendered to generate image data (S9), and output to the display device 2 of the user via the communication unit 15 (S10). Then, the information processing device 1 returns to the process S1 and continues the process. Further, the display device 2 presents the rendered image data transmitted by the information processing device 1 to the user.
  • the information processing apparatus 1 may execute the processes of the processes S1 to S3 and the processes of the processes S4 to S10 in parallel and repeatedly.
  • point cloud information at the time of display is estimated and generated regardless of imaging timing.
  • For actual imaging should be rendered at timings .tau.0, .tau.1, .tau.2.
  • Is 30 fps it is possible to provide an image based on the information of point cloud at the timings .tau.0, .tau.1, .tau.2.
  • the control unit 11 may perform estimation based on the virtual volume element itself.
  • the group information is referenced, the corresponding point is identified for each point in the referred point group, and the movement amount for each corresponding point (expressed in the coordinate system of virtual space, for example, ⁇ , ⁇ , ⁇ orthogonal coordinates) Ask for).
  • control unit 11 refers to each of the information of the point group for the past N times by the optical flow processing, and identifies corresponding points for each point included in the point groups for each time referred to Find the amount of movement of the point you want to
  • a system for example, ⁇ , ⁇ , ⁇ (represented by orthogonal coordinates) may be obtained, and the movement amount of the corresponding voxel between the past N times may be obtained by processing such as optical flow.
  • processing by optical flow when there is a constraint on deformation such as a human body, such as a vertebrate (in the case of a vertebrate body including a human body, movement of each part such as an arm by joints and bones) Even if the range is constrained, the point may be treated as having moved regardless of the constraint. Therefore, when the movement amount of the virtual volume element is determined by processing such as optical flow as described above, grouping is performed for each virtual volume element moving in the same direction (sorted by k neighborhood method etc.), and the movement amount within the group The virtual volume element of the movement amount which is separated by the variance ⁇ with respect to the average value of H may be filtered and treated as noise.
  • a human body such as a vertebrate (in the case of a vertebrate body including a human body, movement of each part such as an arm by joints and bones)
  • grouping is performed for each virtual volume element moving in the same direction (sorted by k neighborhood method etc.), and the movement amount within the group
  • the control unit 11 estimates the position of the virtual volume element in the virtual space after the predetermined time from the time of the operation based on the information of the time change thus obtained. This estimation may be performed by numerically integrating on the basis of the movement amount of each virtual volume element or the difference thereof.
  • each of the virtual volume elements by the control unit 11 of the information processing device 1 is a target vertebrate
  • the control unit 11 of the information processing device 1 groups each of the virtual volume elements by each virtual volume element moving in the same direction.
  • the grouping process is performed by methods such as independent component analysis (ICA), principal component analysis (PCA), k-neighbor method, and the like.
  • ICA independent component analysis
  • PCA principal component analysis
  • k-neighbor method k-neighbor method
  • the control unit 11 specifies a group (referred to as a maximum group) in which the number of virtual volume elements belonging to the group is the largest among the groups of virtual volume elements considered to correspond to each part of the human body.
  • the control unit 11 determines that the group of virtual volume elements in the largest group corresponds to the body of the human body, and in the virtual space, the group of virtual volume elements in the gravity direction (downward in the Y-axis direction)
  • the side closer to the head is the upper limbs, and the side farther from the trunk is the group representing the lower limbs (a pair of upper limbs and lower limbs are detected on the left and right (in the X-axis direction)).
  • a virtual volume element group having the largest number of virtual volume elements belonging to the group of virtual volume elements on the opposite side (upward in the Y-axis direction) in the virtual space from the center of the trunk represents a head
  • one of the groups of virtual volume elements is a group of volume elements, one group of virtual volume elements being close to the upper part of the trunk, and the other is a virtual volume of one end close to the other end of the upper arm.
  • the group of elements be the lower arm.
  • the upper arm and the lower arm are also generally detected two by two.
  • the control unit 11 includes the identified trunk, the left leg on the X axis left (corresponding to the right leg leg), the upper arm on the X axis left (corresponding to the right leg upper leg), the lower leg on the X axis right (corresponding to the left leg).
  • the control unit 11 includes a torso portion, a left leg on the left side of the X axis (corresponding to the right leg and a lower leg), an upper leg on the left side of the X axis (corresponding to the upper leg on the right leg), a lower leg on the right side of the X axis (corresponding to the left leg and lower leg)
  • Upper arm (corresponding to left upper arm), head, upper arm on left side of X axis (corresponding to upper arm on right hand), lower arm on the left side of X axis (corresponding to lower arm on right hand), upper arm on the right side of X axis (on left upper arm
  • the circumscribed cylindrical shape is determined, and the rotational symmetry axis of this circumscribed cylindrical shape (a pair of circular cylinders) Let a line segment end point of each center of the board be a bone.
  • the control unit 11 sets a joint corresponding to each bone along the model of the human body. For example, a joint corresponding to a cervical joint is set between the head and the torso. Such a method of setting joints is widely known in processing using a bone model of a human body or the like, and thus detailed description thereof is omitted here. Note that a group in which adjacent cylindrical virtual volume element groups do not exist (a joint can not be set) may be processed as a point group that is not a human body (a bone model can not be used). For such a point group, the control unit 11 performs estimation based on the virtual volume element itself (point or voxel) as described above.
  • the information is referred to, for each point in the point group, the corresponding point is identified, and the movement amount for each corresponding point (represented by the coordinate system of the virtual space, for example, ⁇ , ⁇ , ⁇ orthogonal coordinates) is determined. Then, the control unit 11 obtains, for each label, a statistical value (for example, an average value or a median value) of the movement amount of each point at which the label is set.
  • a statistical value for example, an average value or a median value
  • the control unit 11 estimates the movement amount of each bone by this. .
  • the control unit 11 adds, for example, a label relating to the movement of the bone (lower arm, lower leg) corresponding to the end in the bone model, as described above, to the point group (left and right lower arms, respectively).
  • the movement amount of the upper arm and the upper arm connected thereto is estimated by inverse kinematics (IK) calculation, and the body connected to the movement of the upper arm and the upper limb
  • IK inverse kinematics
  • the movement amount of each bone may be estimated using a so-called inverse kinematics method, as in the same manner as in the movement amount of the part.
  • the movement amount of each point may be estimated by combining these results using the estimation result of the amount (the movement amount is assumed to be ⁇ IK, ⁇ IK, ⁇ IK).
  • control unit 11 sets a distance r from a bone to a certain point (virtual volume element) as a point group representing a portion corresponding to the bone, with a point group labeled
  • the range of the existing virtual space is defined as the distance from the rotation axis of the cylinder when approximated by the cylinder to the point.
  • the control unit 11 uses this ⁇ to determine the movement amount ( ⁇ _i, ⁇ _i, ⁇ _i) of the i-th point.
  • the point closer to the bone is moved by the movement amount corresponding to the estimation result based on the bone
  • the point farther from the bone reflects the movement amount estimated for the point group itself.
  • the movement of clothes in the part corresponding to the upper arm is reflected based on the actual movement, and moves to a place significantly away from the estimation result of the bone movement amount It is prevented that it becomes an unnatural movement.
  • the parameter ⁇ may be set differently for each part.
  • the center of the bone (longitudinal direction of the axis of rotation of the cylinder when the range of the virtual space where the point group whose label is set as the point group representing the portion corresponding to the bone exists is approximated by a cylinder)
  • the control unit 11 generates point group information in which each point is arranged at a position in the virtual space of each point after a predetermined time using the movement amount estimated for each point of the point group in this manner. . Thereby, based on the information of the time change concerning the position and direction of each detected bone, the information concerning the position and direction of each bone after a predetermined time is estimated, and the position of each bone estimated Based on, the movement position of the virtual volume element identified as moving with each bone is estimated.
  • the control unit 11 generates information of a virtual space including this point group, and further renders a point group within the field of view of a virtual camera arranged at a predetermined position (for example, the position of the user's eye) in the virtual space. Then, image data is generated, and the image data is output to the display device 2 of the user and presented to the user.
  • the control unit 11 can estimate the position and angle of the bone or joint of the object based on the image data captured by the imaging unit 14 (without using the point group information) (bone or joint based on the image data Since the estimation method of is widely known, the detailed description is omitted here, the movement amount of each bone (each bone) is determined based on the estimated position and angle, not based on the movement amount of the point group. Information on time change related to the position and direction of In this case, when the movement amount of the bone can not be estimated based on the image data, the movement amount of the bone may be estimated from the movement amount of the point group subjected to the labeling processing by the control unit 11.
  • the estimation result of the position and angle of the bone after a predetermined time based on the movement amount (time change of position and angle) of the bone corresponds to the movement amount per unit time of the bone.
  • the present embodiment is not limited to this.
  • typical pose changes measured in the past
  • An estimation result of the position and angle of the bone after time may be obtained.
  • the database may be stored in the storage unit 12 or may be stored in an external server computer and accessible via the communication unit 15.
  • the point closer to the bone is moved by the amount of movement corresponding to the estimation result based on the bone
  • the point farther from the bone reflects the amount of movement estimated for the point group itself.
  • the amount of movement estimated for the point group itself may be more greatly reflected at a point that is separated downward in the direction of gravity by a predetermined distance or more from the bone. That is, for a point located at a predetermined distance or more from the bone and located below the bone in the direction of gravity, the parameter ⁇ is closer to “1” than the other points (the point group itself is estimated Set a value that reflects the movement amount more strongly).
  • This is considered to move along with the arm itself of the human body, for example, as illustrated in FIG. 7 while a point in the vicinity of the bone is considered to move with a predetermined distance (a distance corresponding to the size of the part, such as arm thickness)
  • the point (point which can be in the area A of FIG. 7) which is separated and labeled corresponding to the site concerned follows the movement of the site of the human body such as clothing, but the movement of the site itself Because it is influenced by external force such as gravity and wind, the movement is the movement of the part itself as it is lower from the bone in the direction of gravity. Is based on what is considered to be independent.
  • a label corresponding to the bone of the position and direction is attached.
  • the positions of the points included in the point group may be distributed and disposed at a predetermined density in a cylindrical range including the bone.
  • a method such as a non-linear optimization method can be adopted.
  • the virtual volume elements may be distributed so as to enclose the bone relatively upward in the direction of gravity.
  • each virtual volume element refers to the position of the previous virtual volume element, and this time, it is present at the closest position to the position corresponding to the position where the virtual volume element whose color is to be determined is arranged.
  • the color of the virtual volume element can be determined by a method such as using it as it is.
  • the control unit 11 of the information processing device 1 refers to the information (information of the virtual space) of the arrangement position and the color of the virtual volume element in the virtual space stored in the past, and at least a part of the virtual volume elements Alternatively, information on time change of information in virtual space, which represents the past movement, may be detected to estimate the position and color of each virtual volume element at the past timing. Specifically, the control unit 11 detects image data captured by the imaging unit 14 at past times T0, T1, T2, T3, ..., and an object in real space captured by each pixel of the image data. Information of colors and positions of virtual volume elements (point cloud etc.) in the virtual space representing the object in the real space, determined based on the information of the distance to the point, is stored in the storage unit 12 Do.
  • control unit 11 determines past time .tau.1, .tau.2, .tau.3 (.tau.1 ⁇ .tau.2 ⁇ .tau.3 ⁇ ... ⁇ Tnow, where T0 ⁇ T1.ltoreq..tau.1.
  • the control unit 11 selects information stored at a time before time ⁇ 1 among the stored information. It may be determined based on (information at time T0, T1). In this case, the same extrapolation processing as in the above-described example of estimating information at a predetermined time in the future is performed.
  • the control unit 11 estimates at time points ⁇ 1, ⁇ 2, ⁇ 3... By estimation processing.
  • Information on the position and color of the volume element may be obtained. That is, the control unit 11 determines the information on the position and color of each virtual volume element that should be disposed in the virtual space at the time of ⁇ 1, among the stored information, the information at the time before time ⁇ 1. Using (information at time T0, T1) and information at time later than time ⁇ 1 (information at time T2, T3 ...), they are interpolated to obtain information at time ⁇ 1. A widely known method can be adopted for such an interpolation operation, so the detailed description here is omitted.
  • the control unit 11 determines the predetermined position in the virtual space (for example, the position of the user's eyes)
  • the image (point cloud etc.) of the virtual space obtained as a result of the estimation within the field of view of the virtual camera arranged in the is rendered to generate image data, and the communication unit for the display device 2 of the user Output through 15.
  • the image at such a predetermined time is not the information acquired at that time but the information acquired before or after that time. It is what is obtained by estimation.
  • the control unit 11 determines each virtual volume element at a predetermined future timing or a past timing based on the time change of the information of the position and color of the virtual volume element arranged in the virtual space.
  • the position and color of were estimated by extrapolation.
  • the present embodiment is not limited to this, and the control unit 11 performs a simulation by a predetermined simulation engine based on the time change of the information of the position and color of the virtual volume element arranged in the virtual space, and as a result of the simulation
  • the position and color of each virtual volume element at predetermined future timings or past timings may be estimated.
  • the simulation here is a simulation based on a physical phenomenon (so-called physical simulation), a simulation of an animation-like effect that exaggerates the physical phenomenon (exaggerating deformation, setting an effect so as to scatter as particles as soon as it is touched, Various simulation processes such as application simulation of animation processing), simulation of chemical phenomena (reaction simulation), and the like can be used.
  • a change in movement direction or a change in shape due to an interaction (for example, a collision between objects) between objects arranged in a virtual space
  • Information such as changes in speed is reflected, and more natural estimation can be performed.
  • control unit 11 of the information processing apparatus 1 includes the real space information acquisition unit 31, the point cloud arrangement unit 32, the storage unit 33, the estimation unit 34, and the estimation point group arrangement unit 35.
  • the control unit 11 may use the image data captured by the imaging unit 14 or the distance to the target in the real space acquired.
  • the information is sent to a separately prepared server device, and in this server device, the real space information acquiring unit 31, the point cloud arranging unit 32, the storing unit 33, the estimating unit 34, and the estimated point group arranging unit 35 , At least one operation of the virtual space information generation unit 36 and the output unit 37 is performed, and the server device is disposed at a predetermined position (for example, the position of the user's eyes) in the virtual space as a result of the processing A rendered image of a point cloud within the field of view of a virtual camera
  • the result of the processing of data, etc., to the information processing apparatus 1 or the display device 2 of the user, to send output, the subsequent processing may be performed by the information processing apparatus 1 or the display apparatus 2.
  • the server apparatus performing the operation as the output unit 37 does not use the information processing apparatus 1 and does not have communication means (network interface etc.) included in the server apparatus.
  • the image data is transmitted and output to the display device 2 of the user via the interface.
  • the server device performing the operation as the real space information acquisition unit 31 includes the image data captured by the imaging unit 14 of the information processing device 1 from the information processing device 1 and the image data Information on the distance to the object in the real space captured by the pixels is accepted.
  • the exchange of information between the information processing apparatus 1 and the server apparatus in this case may be performed via the Internet, or a communication path such as a cellular phone line. That is, the server apparatus of this example may be accessible via the Internet.
  • the server apparatus performs the processing of the point cloud placement unit 32, the storage unit 33, and the estimation unit 34, and estimates the position of each point included in the point group as It may be made to transmit to the information processing apparatus 1 of the user who is the provision source of the image data to be subjected to the processing, the information of the appearance and the like.
  • the processing of the estimated point group placement unit 35, the virtual space information generation unit 36, the output unit 37, and the like in the latter stage is performed on the information processing apparatus 1 side of the user.
  • the server device may perform the processing up to the estimated point group placement unit 35 or the virtual space information generation unit 36 and may perform the subsequent processing on the information processing device 1 side of the user.
  • Reference Signs List 1 information processing apparatus 2 display device, 11 control unit, 12 storage unit, 13 operation receiving unit, 14 imaging unit, 15 communication unit, 21 control unit, 22 communication unit, 23 display unit, 31 real space information acquisition unit, 32 Point group placement unit, 33 storage unit, 34 estimation unit, 35 estimated point group placement unit, 36 virtual space information generation unit, 37 output unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Radiology & Medical Imaging (AREA)
  • Quality & Reliability (AREA)
  • Geometry (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)

Abstract

現実空間内の対象物の位置及び外観に係る情報を取得し、取得した対象物の現実空間内の位置に対応する仮想空間内の位置に、当該対象物の少なくとも外観に沿って、複数の仮想体積要素を配して、当該仮想体積要素の集合により前記対象物を表現した仮想空間の情報を生成する。当該仮想体積要素の少なくとも一部についての移動を表す、仮想空間の情報の時間変化の情報を検出し、当該検出した時間変化の情報に基づいて、所定の時間だけ後の、当該仮想体積要素の位置を推定する情報処理装置である。

Description

情報処理装置、制御方法、及びプログラム
 本発明は、情報処理装置、制御方法、及びプログラムに関する。
 仮想現実(VR)技術等、比較的情報処理負荷の高い技術を利用したゲームでは、処理の遅延による応答の遅れを隠蔽するため、将来提示する情報を予測により得ており、当該予測された情報に基づいて、ゲーム画面の描画処理等を行っている。
 現実空間の情報をデプスセンサ等で取得し、仮想空間に表示する技術を利用している場合、一般に、デプスセンサの情報取得の速度が、描画のフレームレートに比して低速であるため、仮想空間への現実空間の状況反映が遅延することがあり、臨場感を損ねることとなる。
 本発明は上記実情に鑑みて為されたもので、臨場感を損ねることなく情報提示処理を実行できる情報処理装置、制御方法、及びプログラムを提供することを、その目的の一つとする。
 上記従来例の問題点を解決する本発明は、情報処理装置であって、現実空間内の対象物の位置及び外観に係る情報を取得する手段と、前記取得した対象物の現実空間内の位置に対応する仮想空間内の位置に、当該対象物の少なくとも外観に沿って、複数の仮想体積要素を配して、当該仮想体積要素の集合により前記対象物を表現した仮想空間の情報を生成する仮想空間情報生成手段と、当該生成した仮想空間の情報を保持する保持手段と、前記保持された情報を参照し、前記仮想体積要素の少なくとも一部についての移動を表す、前記仮想空間の情報の時間変化の情報を検出する検出手段と、当該検出した時間変化の情報に基づいて、所定の時間だけ後の、当該仮想体積要素の位置を推定する推定手段と、を含み、前記仮想空間情報生成手段は、当該推定の結果に基づいて、所定の時間だけ後の仮想空間の情報を生成して出力することとしたものである。
 本発明によると、臨場感を損ねることなく情報提示処理を実行できる。
本発明の実施の形態に係る情報処理装置の構成例を表すブロック図である。 本発明の実施の形態に係る情報処理装置に接続される表示装置の例を表す構成ブロック図である。 本発明の実施の形態に係る情報処理装置の例を表す機能ブロック図である。 本発明の実施の形態に係る情報処理装置の動作例を表すフローチャート図である。 本発明の実施の形態に係る情報処理装置における処理の内容例を表す説明図である。 本発明の実施の形態に係る情報処理装置による描画タイミングの例を表す説明図である。 本発明の実施の形態に係る情報処理装置の処理例を表す説明図である。
 本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る情報処理装置1は、図1に例示するように、例えば家庭用ゲーム機であり、制御部11と、記憶部12と、操作受入部13と、撮像部14と、通信部15とを含んで構成される。またこの情報処理装置1は、ユーザが頭部に装着するヘッドマウントディスプレイ(HMD)などの表示装置2との間で通信可能に接続されている。
 本実施の形態においてユーザが頭部に装着する表示装置2の一例は、ユーザが頭部に装着して使用する表示デバイスであって、図2に例示するように、制御部21と、通信部22と、表示部23とを含む。ここでの例では表示装置2の制御部21は、マイクロコンピュータ等のプログラム制御デバイスであって、内蔵する記憶部等の図示しないメモリ等に格納されたプログラムに従って動作し、情報処理装置1から通信部22を介して入力される情報に応じた映像を表示部23に表示させて、ユーザに閲覧させる。
 通信部22は、有線または無線にて情報処理装置1との間で通信可能に接続される。この通信部22は、情報処理装置1から表示装置2宛に送信された情報を、制御部21に出力する。
 表示部23は、ユーザの右目と左目とのそれぞれの目の前に、それぞれの目に対応した映像を表示するものとする。この表示部23は、有機EL表示パネルや液晶表示パネルなどの表示素子を含む。この表示素子が制御部21から入力される指示に従って映像を表示する。この表示素子は、左目用の映像と右目用の映像とを一列に並べて表示する1つの表示素子であってもよいし、左目用の映像と右目用の映像とをそれぞれ独立に表示する一対の表示素子であってもよい。なお、本実施形態においてこの表示装置2は、ユーザが外界の様子を視認することができない非透過型の表示装置であるものとするが、これは必須ではなく、透過型の表示装置であっても構わない。
 また情報処理装置1の制御部11は、CPU等のプログラム制御デバイスであり、記憶部12に格納されているプログラムを実行する。本実施の形態では、この制御部11は、撮像部14により、現実空間内の対象物の位置及び外観に係る情報を取得し、当該取得した対象物の現実空間内の位置に対応する仮想空間内の位置に、当該対象物の少なくとも外観に沿って、複数の仮想体積要素を配して、当該仮想体積要素の集合により対象物を表現した仮想空間の情報を生成する処理を行う。この処理は、例えばボクセル等と呼ばれる仮想体積要素を複数配置して、対象物を表現する処理や、ポイントクラウド(点群データ、以下単に「点群」と称する)等のように、対象物表面に対応する位置に点群を配することで対象物を表現する処理等、広く知られた処理により行われる。
 またこの制御部11は、仮想体積要素の少なくとも一部についての移動を表す、仮想空間の情報の時間変化の情報を検出し、この検出した時間変化の情報に基づいて、所定の時間だけ後の、当該仮想体積要素の位置を推定する。そして制御部11は、当該推定の結果に基づいて、所定の時間だけ後の仮想空間の情報を生成して出力する処理を実行する。また制御部11は、仮想空間内の所定の位置に配した仮想的なカメラの視野内の点群をレンダリングして、画像データを生成し、ユーザの表示装置2に対して、通信部15を介して出力する。この制御部11の詳しい動作については、後に述べる。
 記憶部12は、RAM等のメモリデバイスやディスクデバイス等であり、制御部11が実行するプログラムを格納する。また、この記憶部12は制御部11のワークメモリとしても動作し、制御部11がプログラム実行の過程で使用するデータを格納する。このプログラムは、コンピュータ可読かつ非一時的な記録媒体に格納されて提供され、この記憶部12に格納されたものであってもよい。
 操作受入部13は、図示しない操作デバイスからユーザの指示操作を有線または無線にて受け入れる。ここで操作デバイスは例えば、家庭用ゲーム機のコントローラ等である。操作受入部13は操作デバイスに対してユーザが行った指示操作の内容を表す情報を制御部11に出力する。なお、本実施の形態では、ユーザは必ずしも操作デバイスを操作する必要はない。
 撮像部14は、光学カメラやデプスセンサ等を含む。この撮像部14は、ユーザの前方(頭部前方)の所定視野内の画像を撮像した画像データを繰り返し取得するとともに、当該所定視野内の画像データの各画素に対応する、実空間内の対象物(他のユーザや、ユーザが所在する部屋内の家具等)までの距離情報を繰り返し取得し、取得した距離情報を制御部11に出力する。
 通信部15は、有線または無線にてユーザの表示装置2との間で通信可能に接続される。この通信部15は、表示装置2が出力する画像データを受信して、制御部11へ送出する。またこの通信部15は、制御部11から表示装置2宛に送信する画像データを含む情報を受け入れて、当該情報を、表示装置2に出力する。さらにこの通信部15は、ネットワークインタフェースを含んでもよく、ネットワークを介して外部のサーバコンピュータや、他の情報処理装置との間で種々のデータを送受することとしてもよい。
 次に本実施の形態の制御部11の動作について説明する。本実施の形態の一例では、制御部11は機能的には、図3に例示するように、実空間情報取得部31と、点群配置部32と、保存部33と、推定部34と、推定点群配置部35と、仮想空間情報生成部36と、出力部37とを含んで構成される。
 実空間情報取得部31は、撮像部14から、撮像された画像データ、及び、当該画像データの各画素に撮像されている実空間内の対象物までの距離の情報を受け入れる。実空間情報取得部31は、これにより現実空間内の対象物の位置、及び外観に係る情報(色の情報)を取得する。なお、本実施の形態の一例では、対象物の位置等は、例えば撮像部14を原点として、撮像部14が撮像する視野の方向をZ軸、撮像部14が撮像する画像データの縦方向(重力方向)をY軸、これらに直交する軸をX軸としたXYZ直交座標系で表す。
 点群配置部32は、実空間情報取得部31が取得した情報に基づいて、実空間内の対象物を表す仮想空間内の点群の各点(各仮想体積要素)の色及び位置を決定する。このような点群の設定方法については広く知られているので、ここでの詳しい説明は省略する。
 保存部33は、点群配置部32が設定した点群に含まれる各点の位置及び色の情報を記憶部12に格納して保存する。本実施の形態では、この保存部33は、図示しない計時部(カレンダーIC等)から点群配置部32が点群を設定した時点の日時を表す日時情報を取得し、当該取得した日時情報に関連付けて、点群の情報を記憶部12に格納して保存するものとする。なお、保存部33は、このとき、点群の情報の元となった、実空間情報取得部31が取得した情報の少なくとも一部(例えば撮像された画像データ等)を併せて保存してもよい。
 推定部34は、仮想体積要素(ここでの例では点群に含まれる各点、以下仮想体積要素を点群で表現するときの仮想体積要素を「点」と表記する)の少なくとも一部についての移動を表す、仮想空間の情報の時間変化の情報を検出する。具体的に、この時間変化の情報は次のように検出する。すなわち推定部34は、保存部33が保存した過去N回分(Nは2以上の正の整数であり、例えばN=2(前回の点群と今回の点群の2つ))の各時点における仮想空間内の点群の情報(点群の各点の色や位置の情報、以下点群情報と呼ぶ)を参照する。推定部34は、当該参照した点群内の各点について、対応する点を識別する。つまり、前回の点群内のある点に対応する今回の点群の点を識別する(各時点で対応する点に同じ識別情報を設定する)。そして、推定部34は、各時点の点群における互いに対応する点ごとの移動量を求める。この移動量は、仮想空間の座標系、例えばξ,η,ζ直交座標を用いて表される。
 一例として、この推定部34は、撮像部14の位置は移動していないものと仮定する。そして推定部34は、参照した点群とともに保存されている画像データにおける所定の特徴量等の比較による対応部分の検出結果を用いて対応する点群内の点の移動量を推定する方法やオプティカルフロー等の処理等により、過去N回分の点群の情報のそれぞれを参照し、当該参照した各回の点群に含まれる各点について、対応する点を識別する処理を行う。
 推定部34は、ここで識別した各点について、時間変化の情報を求める。ここで時間変化の情報は例えば識別された各点の移動量(仮想空間内の各点の座標の微分に相当する差分)や、当該移動量の差分値(仮想空間内の座標の二階微分に相当する差分)、さらにその差分(仮想空間内の座標の三階微分に相当する差分)…などでよい。
 推定部34は、さらに、ここで求めた時間変化の情報に基づいて、演算の時点より所定の時間だけ後の、仮想体積要素である点群の各点の、仮想空間内の位置を推定する。この推定は、各点の移動量やその差分等に基づく外挿演算により行い得る。具体的には、各点の移動量やその差分等を数値的に積分して推定を行うことができる。この推定部34の動作については、後に種々の変形例を含めてさらに詳しく説明する。
 推定点群配置部35は、推定部34による推定の結果に基づいて、所定の時間だけ後の各点の仮想空間内の位置に各点を配置した、点群情報を生成する。仮想空間情報生成部36は、推定点群配置部35により配された点群を含む仮想空間の情報を生成して出力する。
 出力部37は、仮想空間情報生成部36が生成した、仮想空間内の所定の位置(例えばユーザの目の位置)に配した仮想的なカメラの視野内の点群をレンダリングして、画像データを生成し、ユーザの表示装置2に対して、通信部15を介して出力する。
[動作]
 本実施の形態は、以上の構成を基本的に備え、次のように動作する。すなわち、本実施の形態の情報処理装置1は、図4に例示するように、撮像部14で撮像された画像データ、及び、当該画像データの各画素に撮像されている実空間内の対象物までの距離の情報を受け入れ(S1)、当該取得した情報に基づいて、実空間内の対象物を表す仮想空間内の点群の各点の色及び位置を決定する(S2)。情報処理装置1は、ここで設定した点群に含まれる各点の位置及び色の情報を記憶部12に格納して保存する(S3)。
 このとき情報処理装置1は、処理S2にて点群を設定した時点の日時を表す日時情報を図示しないカレンダーIC等から取得し、当該取得した日時情報に関連付けて、点群の情報を記憶部12に格納して保存する。また、処理S2において求めた点群の情報の元となった、撮像された画像データを併せて保存する。
 情報処理装置1は、過去N回の処理S2の実行時に設定され、処理S3にて保存された点群の情報を取り出して参照し(S4)、当該点群に含まれる各点について、対応する点を識別する(S5)。具体的に、図5のように対象物を表現する点群Gの一つに含まれる点pについて、時刻t1における各点を順次、注目点として選択し、選択した注目点に対応する、それより過去の時刻t0(t0<t1)における点群内の点を特定し、選択している注目点と、特定した点とにそれぞれ共通の識別子を設定する。
 情報処理装置1は、ここで識別した各点について、時間変化の情報を求める(S6)。具体的には、処理S5にて同じ識別子を設定した時刻t0における点pa′と、時刻t1における点paとの座標の差を、時刻の差(t1-t0)で除して、点paについての時間変化の情報ΔPとする。この処理を、時刻t1における点群の各点について行う。
 情報処理装置1は、処理S6で求めた時間変化の情報に基づいて、演算の時点(時刻t1)より所定の時間Δtだけ後(t1+Δt)の点群の各点の、仮想空間内の位置を推定する(S7)。具体的には、時刻t1における点群の各点のそれぞれを順次、注目点として選択し、選択した注目点pNの座標P(ξN,ηN,ζN)と、この注目点pNについて処理S6にて求めた時間変化の情報ΔPとを用い、P+ΔP×Δtとして、演算の時点(時刻t1)より所定の時間Δtだけ後(t1+Δt)での注目点pNの座標を推定する。なお、処理S6にて時間変化の情報が求められていない注目点pN(時刻t0には対応する点がなく、時刻t1で現れた点)については、時刻t1から移動しないものとして推定してもよい。なお、この動作例における処理S5からS7の例は一つの例示であり、他の例についても、後に変形例として述べる。
 情報処理装置1は、処理S7での推定の結果に基づいて、所定の時間だけ後の各点の仮想空間内の位置に各点を配置した、点群情報を生成する(S8)。そして情報処理装置1は、この点群を含む仮想空間の情報を生成し、さらに仮想空間内の所定の位置(例えばユーザの目の位置)に配した仮想的なカメラの視野内にある点群をレンダリングして、画像データを生成し(S9)、ユーザの表示装置2に対して、通信部15を介して出力する(S10)。そして情報処理装置1は、処理S1に戻って処理を続ける。また、表示装置2は、この情報処理装置1が送信する、レンダリングされた画像データをユーザに提示する。
 なお、ここで情報処理装置1は、処理S1からS3までの処理と、処理S4からS10までの処理とをそれぞれ並列して実行し、それぞれ繰り返し実行してもよい。
 本実施の形態のこの例によると、撮像のタイミングとは関わりなく、表示(レンダリング)を行う時点の点群情報を推定して生成する。このため、一般的には、図6に例示するように、実際の撮像のタイミングt0,t1,t2…がレンダリングを行うべきタイミングτ0,τ1,τ2…(フレームレートによって定められるタイミング、例えばフレームレートが30fpsであれば、1/30秒ごとのタイミング)と異なっているとしても、レンダリングを行うべきタイミングτ0,τ1,τ2…での点群の情報に基づく画像を提供できる。
 すなわち本実施の形態では、例えば上記処理S7において、時刻t1(ここではτ0<t1<τ1<τ2<t2としている)での点群の情報と、時刻t0での点群の情報とに基づいてそれからΔt1=τ1-t1だけ後の時点での点群の情報と、Δt2=τ2-t1だけ後の時点での点群の情報とを推定(今後の所定の描画のタイミングに合致する時刻までの時間だけ後の時点での点群の情報を推定)することとし、また、これらτ1,τ2の時点での点群の情報を処理S8にて生成することとすれば、図6に例示するように、時刻t1から時刻t2の間にある描画タイミングの画像をユーザに提示できる。このことで、たとえ撮像タイミングが15.1fpsであるなど、フレームレートに対して若干のずれを持っている場合であっても、フレームレートに従ったタイミングでの画像が生成されることとなる。また、撮像タイミングに対して高速なフレームレートで描画を行わせることも可能となる。
[点またはボクセルを基準とした推定]
 以下、情報処理装置1の制御部11による仮想体積要素の移動の推定の処理のいくつかの例について説明する。まず、この制御部11は、仮想体積要素そのものを基準として推定を行うこととしてもよい。具体的に、この例では、記憶部12に保存した過去N回分(Nは2以上の正の整数であり、例えばN=2(前回の点群と今回の点群の2つ))の点群情報を参照し、当該参照した点群内の各点について、対応する点を識別し、対応する点ごとの移動量(仮想空間の座標系、例えばξ,η,ζ直交座標で表される)を求める。
 そして、制御部11は、オプティカルフローの処理により、過去N回分の点群の情報のそれぞれを参照し、当該参照した各回の点群に含まれる各点について、対応する点を識別しつつ、対応する点の移動量を求める。
 なお、ここでは点群の例について説明したがボクセルについても同様に、制御部11が記憶部12に保存した過去N回分(Nは2以上の正の整数であり、例えばN=2(前回と今回の2つ))のボクセルの位置や色などの情報を参照し、当該参照したボクセルの情報において、各時点での対応するボクセルを識別し、対応するボクセルごとの移動量(仮想空間の座標系、例えばξ,η,ζ直交座標で表される)を求め、オプティカルフロー等の処理により過去N回の各時点間での対応するボクセルの移動量を求めることとすればよい。
 またここでオプティカルフローによる処理を行う場合、例えば人体等、脊椎動物のように変形に拘束のある場合(人体を含む脊椎動物の体の場合、関節とボーンとにより例えば腕等の各部位の移動範囲が拘束される)であっても、当該拘束とは関わりなく点が移動したものとして扱われる場合がある。そこで、このように仮想体積要素についてオプティカルフロー等の処理によって移動量を求める場合、同方向に移動する仮想体積要素ごとにグループ化(k近傍法などで分類する)し、当該グループ内の移動量の平均値に対して分散σだけ離れている移動量の仮想体積要素については、ノイズとしてフィルタリングして扱ってもよい。
 制御部11は、こうして求めた時間変化の情報に基づいて、演算の時点より所定の時間だけ後の、仮想体積要素の、仮想空間内の位置を推定する。この推定は、各仮想体積要素の移動量やその差分等に基づいて数値的に積分を行うことで行えばよい。
[モデルに基づく推定]
 また、仮想体積要素が、人体などのように、ボーンモデルによって推定が可能な対象を表す場合は、情報処理装置1の制御部11による仮想体積要素のそれぞれを、対象となった脊椎動物(以下の説明では人体を例とする)のどのボーンに対応するものかを識別しておき、ボーンモデルに基づいて仮想体積要素の移動量を推定してもよい。
 具体的に、本実施の形態の一例では、情報処理装置1の制御部11は、仮想体積要素のそれぞれを、同方向に移動する仮想体積要素ごとにグループ化する。このグループ化の処理は、独立成分分析(ICA)や主成分分析(PCA)、k近傍法等の方法によって行う。また、人体の各部位(胴体、上肢、下肢、上腕、下腕、頭部)は、それぞれ円筒形により近似できるので、円筒形状部分を認識する処理を組み合わせてもよい。また、仮想体積要素の密度が比較的高い場所を認識する処理をさらに含め、グループ化の処理に供してもよい。
 制御部11は、人体の各部位に対応すると考えられる仮想体積要素のグループのうち、グループに属する仮想体積要素の数が最大となっているグループ(最大グループと呼ぶ)を特定する。制御部11は、当該最大グループの仮想体積要素のグループが、人体の胴体部に対応するものとし、仮想空間内で、重力方向(Y軸方向下方)にある仮想体積要素のグループのうち、胴体部に近い側を上肢、胴体部から遠い側を下肢を表すグループとする(左右(X軸方向)にそれぞれ1対の上肢、下肢が検出される)。また、胴体部の中心から仮想空間内で、重力方向とは反対側(Y軸方向上方)にある仮想体積要素のグループのうち、属する仮想体積要素の数が最も多いものを頭部を表す仮想体積要素のグループとし、その他の仮想体積要素のグループのうち、一方端が胴体部上方に近接している仮想体積要素のグループを上腕、上腕の他方端に、一方端が近接している仮想体積要素のグループを下腕とする。この上腕、下腕についても、一般には2つずつ検出される。
 制御部11は、それぞれ識別した胴体部、X軸左側の下肢(右足下肢に相当する)、X軸左側の上肢(右足上肢に相当する)、X軸右側の下肢(左足下肢に相当する)、X軸右側の上肢(左足上肢に相当する)、頭部、X軸左側の上腕(右手上腕に相当する)、X軸左側の下腕(右手下腕に相当する)、X軸右側の上腕(左手上腕に相当する)、X軸右側の下腕(左手下腕に相当する)の各グループに属する仮想体積要素について、それぞれのグループに対応する、グループごとに固有の識別情報(ラベル)を設定する(ラベリング処理)。
 制御部11は、胴体部、X軸左側の下肢(右足下肢に相当する)、X軸左側の上肢(右足上肢に相当する)、X軸右側の下肢(左足下肢に相当する)、X軸右側の上肢(左足上肢に相当する)、頭部、X軸左側の上腕(右手上腕に相当する)、X軸左側の下腕(右手下腕に相当する)、X軸右側の上腕(左手上腕に相当する)、X軸右側の下腕(左手下腕に相当する)の各グループに属する仮想体積要素について、それぞれ、外接円筒形状を求め、この外接円筒形状の回転対称軸(円筒の一対の円盤面のそれぞれの中心を端点とする線分)をボーンとする。なお、この外接円筒形状を求める方法としては、レーベンバーグ・マーカート(Levenberg-Marquardt)法等の非線形最適化法により、仮想体積要素に相当する外接円筒形状を最尤推定する方法などがある。
 制御部11は、人体のモデルに沿って、各ボーンに対応するジョイントを設定する。例えば頭部と胴体部との間には頚椎の関節に対応するジョイントを設定する。このようなジョイントの設定方法は、人体等のボーンモデルを用いた処理において広く知られているので、ここでの詳しい説明を省略する。なお、隣接する円柱状の仮想体積要素群が存在しない(ジョイントが設定できない)グループについては、人体ではない(ボーンモデルを用いることができない)点群として処理を行うこととしてもよい。このような点群については、制御部11は、既に述べたような、仮想体積要素そのもの(点やボクセル)を基準とした推定を行うこととする。
 制御部11は、また、記憶部12に保存した過去N回分(Nは2以上の正の整数であり、例えばN=2(前回の点群と今回の点群の2つ))の点群情報を参照し、点群内の各点について、対応する点を識別し、対応する点ごとの移動量(仮想空間の座標系、例えばξ,η,ζ直交座標で表される)を求める。そして制御部11は、ラベルごとに、当該ラベルが設定されている各点の移動量の統計値(例えば平均値または中央値等)を求める。
 この移動量の統計値は、ラベルに対応するボーンの移動量(各ボーンの位置及び方向に係る時間変化の情報)に相当するので、制御部11は、これにより各ボーンの移動量を推定する。また、制御部11は、例えばボーンモデルのうち末端に相当するボーン(下腕,下肢)の移動量を、上述のように点群(左右の各下腕,左右の各下肢に係るラベルが付された各点の移動量)に基づいて推定した後、これに連結する上腕、上肢の移動量をインバース・キネマティック(IK)演算により推定し、さらに当該上腕,上肢の動きからそれに連結する胴体部の移動量についても同様に推定し…というように、いわゆるインバース・キネマティクスの方法を用いて、各ボーンの移動量を推定してもよい。
 また制御部11は、点群そのものに基づく推定(各点ごとに移動量がΔξpc_i,Δηpc_i,Δζpc_i(ここでiは、i=1,2,…であり、各共通のラベルが付された各点に固有の識別子を便宜的に表したものである)であるとする)と、ボーン上の点であって、当該i番目の点に最も近い位置にある点のインバース・キネマティックスによる移動量の推定結果(その移動量はΔξIK,ΔηIK,ΔζIKであるとする)と、を用いて、これらの結果を組み合わせて、各点の移動量の推定を行ってもよい。
 例えば、本実施の形態のある例では、制御部11は、ボーンからある点(仮想体積要素)までの距離rを、当該ボーンに対応する部位を表す点群としてラベルが設定された点群が存在する仮想空間の範囲を円柱で近似したときの当該円柱の回転軸から、当該点までの距離として定めておく。
 そしてこの例の制御部11は、この距離rの情報を用い、rが大きいほど「1」に近づき、r=0のとき「0」となる、rについて単調増加するパラメータαを定める。制御部11は、このαを用いて、i番目の点の移動量(Δξ_i,Δη_i,Δζ_i)を、
Δξ_i=(1-α)・ΔξIK+α・Δξpc_i
Δη_i=(1-α)・ΔηIK+α・Δηpc_i
Δζ_i=(1-α)・ΔζIK+α・Δζpc_i
などと定めてもよい。この例によると、ボーンに近い点ほどボーンに基づく推定結果に対応する移動量だけ移動したものと推定され、ボーンから離れた点ほど、点群そのものについて推定された移動量が反映されることとなり、例えば上腕部に対応する部分の衣服(ボーンから比較的離れた場所となる)の動きが実際の動きに基づいて反映されるとともに、ボーンの移動量の推定結果から著しく離れた場所に移動するという不自然な動きとなることが阻止される。
 なお、このパラメータαは、部位ごとに異なって設定されてもよい。例えば頭部においては、ボーンの中心(当該ボーンに対応する部位を表す点群としてラベルが設定された点群が存在する仮想空間の範囲を円柱で近似したときの当該円柱の回転軸の長手方向の中心、つまり円柱の中心)からの距離rを用い、rが大きいほど「1」に近づき、r=0のとき「0」となる、rについて単調増加するパラメータαを定めてもよい。これにより、ボーン近傍であり、かつ、頭頂側にある点群(髪と考えられる)が、剛体的に、ボーンに従って移動することがなくなる。
 制御部11は、このようにして点群の各点について推定した移動量を用いて、所定の時間だけ後の各点の仮想空間内の位置に各点を配置した、点群情報を生成する。これにより、検出された各ボーンの位置及び方向に係る時間変化の情報に基づき、所定の時間だけ後の、各ボーンの位置及び方向に係る情報が推定され、また当該推定された各ボーンの位置に基づいて、各ボーンとともに移動するものとして識別された仮想体積要素の移動位置が推定される。
 制御部11は、この点群を含む仮想空間の情報を生成し、さらに仮想空間内の所定の位置(例えばユーザの目の位置)に配した仮想的なカメラの視野内にある点群をレンダリングして、画像データを生成し、当該画像データをユーザの表示装置2に対して出力して、ユーザに提示させる。
[ボーンが検出できる場合]
 また撮像部14が撮像した画像データ等に基づいて(点群の情報を用いずに)、制御部11が対象物のボーンやジョイントの位置及び角度を推定できる場合(画像データに基づくボーンやジョイントの推定方法は広く知られているので、ここでの詳しい説明を省略する)は、点群の移動量に基づくことなく、当該推定された位置及び角度に基づいて各ボーンの移動量(各ボーンの位置及び方向に係る時間変化の情報)を推定してもよい。この場合、画像データに基づいてボーンの移動量が推定できない場合に、制御部11がラベリング処理した点群の移動量から、ボーンの移動量を推定するようにしてもよい。
[データベースを用いた推定]
 さらにここでは、ボーンの移動量(位置及び角度の時間変化)に基づく、所定の時間だけ後のボーンの位置及び角度の推定結果は、当該ボーンの単位時間あたりの移動量に、上記所定の時間の長さを乗じて得ることとしていたが本実施の形態はこれに限られない。このようなボーンの移動量の変化については、代表的なポーズの変化(過去に実測されたもの)を機械学習させてデータベースとして記録しておき、ボーンの移動量を入力したときに、所定の時間だけ後のボーンの位置及び角度の推定結果が得られるようにしておいてもよい。
 またこのデータベースは、記憶部12に格納されていてもよいし、外部のサーバコンピュータに格納され、通信部15を介してアクセス可能となっていてもよい。
[補正]
 また、ここでの例では、ボーンに近い点ほどボーンに基づく推定結果に対応する移動量だけ移動したものと推定され、ボーンから離れた点ほど、点群そのものについて推定された移動量が反映されるものとしたが、本実施の形態はこれに限られない。例えば、ボーンから所定の距離以上に重力方向下方に離れている点については、点群そのものについて推定された移動量がより大きく反映されるようにしてもよい。すなわち、ボーンから所定の距離以上離れた位置にあり、かつボーンから重力方向下方に存在する点については、そうでない点に比べ、上記パラメータαを「1」により近い値(点群そのものについて推定された移動量をより強く反映する値)に設定する。
 これは図7に例示するように、ボーン近傍の点が、例えば人体の腕そのものとともに移動すると考えられるのに対し、所定の距離(腕の太さ等、部位の大きさに相当する距離)以上離れており、かつ、当該部位に対応するラベルが付されている点(図7の領域A内に存在し得る点)は、被服等、人体の部位の移動に追従するものの、部位そのものの動きとは独立している(いわば軟体的に移動し得る)こと、そして、当該動きは重力や、風等の外力に影響されるため、ボーンから重力方向に下方にあるものほど、部位そのものの動きとは独立していると考えられることに基づく。
[ボーンに対する点群の位置の設定例]
 また、ここまでの説明では、ボーンの情報を用いつつ、点群の各点など、個々の仮想体積要素の過去の移動量に基づいて、個々の仮想体積要素の所定タイミングでの位置を推定することとしていたが、本実施の形態はこれに限られない。
 本実施の形態の一例では、個々の仮想体積要素の過去の移動量を用いる代わりに、所定のタイミングでのボーンの位置及び方向を推定した後、当該位置及び方向のボーンに対応するラベルが付された点群に含まれる各点の位置を、当該ボーンを内包する円柱状の範囲に、予め定めた密度で分散して配置してもよい。このような配置の位置を決定する方法としては、非線形最適化法などの方法を採用できる。また、この場合も、ボーンを重力方向に対して比較的上方に内包するよう、各仮想体積要素を分散して配置してもよい。また、各仮想体積要素の色は、過去の仮想体積要素の位置を参照し、今回、色を決定しようとする仮想体積要素が配置された位置に対応する位置に、最も近い位置に存在していた仮想体積要素の色をそのまま用いる等の方法で決定できる。
[過去画像とスローモーション]
 さらに情報処理装置1の制御部11は、過去に保存した、仮想空間内の仮想体積要素の配置位置と色との情報(仮想空間の情報)を参照し、当該仮想体積要素の少なくとも一部について、その過去の移動を表す、仮想空間の情報の時間変化の情報を検出して、過去のタイミングにおける各仮想体積要素の位置及び色を推定してもよい。具体的に、制御部11は、過去の時刻T0,T1,T2,T3…において、撮像部14が撮像した画像データ、及び、当該画像データの各画素に撮像されている実空間内の対象物までの距離の情報に基づいて決定された、実空間内の対象物を表す仮想空間内の仮想体積要素(点群等)の色及び位置の情報を、記憶部12に保存しているものとする。
 制御部11は、その後の時刻Tnow(T0<T1<T2<T3…<Tnow)において、過去の時刻τ1,τ2,τ3…(τ1<τ2<τ3<…<Tnow、なお、T0<T1≦τ1とし、Δτ=τi+1-τi(i=1,2,3…)は、一定であり、フレームレートのタイミングとする)にて仮想空間内に配置されているべき各仮想体積要素の位置及び色の情報を、上記保存された情報に基づいて定める。ここで例えば時刻τ1にて仮想空間内に配置されているべき各仮想体積要素の位置及び色の情報については、制御部11は、保存された情報のうち、時刻τ1より以前の時刻での情報(時刻T0,T1での情報)に基づいて定めてもよい。この場合は、既に述べた、将来の所定の時点での情報を推定する例と同様の外挿演算の処理となる。
 もっとも、本実施の形態のここでの例では、推定する時点より後の情報が得られているので、制御部11は、内挿処理により、推定を行う時点τ1,τ2,τ3…での仮想体積要素の位置及び色の情報を求めてもよい。つまり、制御部11は、τ1の時点での仮想空間内に配置されているべき各仮想体積要素の位置及び色の情報については、保存された情報のうち、時刻τ1より以前の時刻での情報(時刻T0,T1での情報)と、時刻τ1より後の時刻での情報(時刻T2,T3…での情報)とを用いて、これらを内挿して時刻τ1での情報を得る。このような内挿演算については広く知られた方法を採用できるので、ここでの詳しい説明は省略する。
 この例によると、過去の時刻τ1,τ2,τ3…での仮想空間内の点群の配置が推定されるので、制御部11は、仮想空間内の所定の位置(例えばユーザの目の位置)に配した仮想的なカメラの視野内の、当該推定の結果として得られた仮想空間の画像(点群等)をレンダリングして画像データを生成し、ユーザの表示装置2に対して、通信部15を介して出力する。このとき、過去の時刻τ1,τ2,τ3…での仮想空間の画像を、これらΔτ=τi+1-τi(一定の値であるとする)のタイミングごとの画像として出力すると、過去の画像がリピート再生できることとなる。
 なお、ここではΔτ=τi+1-τiをフレームレートのタイミングとしたが、本実施の形態ではこの限りではなく、制御部11は、Δτ=τi+1-τiを、フレームレートの整数倍のタイミングとしてもよい。具体的にフレームレートが30fpsであるときには、Δτを1/120としてもよい。そして制御部11は、過去の時刻τ1,τ2,τ3…での仮想空間の画像を、フレームレート通りに出力する。この例では、整数倍のスローモーション映像として、過去の映像が生成され、提供されることとなる。本実施の形態において特徴的なことの一つは、このような所定の時点での画像が、当該時点において取得された情報ではなく、その時点の前、あるいは前後に取得された情報に基づいて推定して得られていることである。
[シミュレーションエンジン]
 また、ここまでの説明の例では、制御部11は仮想空間に配した仮想体積要素の位置及び色の情報の時間変化に基づいて、将来の所定のタイミング、または過去のタイミングにおける各仮想体積要素の位置及び色を外挿により推定していた。しかしながら、本実施の形態はこれに限られず、制御部11は仮想空間に配した仮想体積要素の位置及び色の情報の時間変化に基づき、所定のシミュレーションエンジンによるシミュレーションを行い、当該シミュレーションの結果として将来の所定のタイミング、または過去のタイミングにおける各仮想体積要素の位置及び色を推定してもよい。ここでのシミュレーションは、物理現象に基づくシミュレーション(いわゆる物理シミュレーション)や、物理現象を誇張したアニメーション的効果のシミュレーション(変形を誇張したり、触れたとたんに粒子として飛び散るように効果を設定したり、といったアニメーション処理の適用シミュレーション)、化学現象のシミュレーション(反応シミュレーション)等、種々のシミュレーション処理を用いることができる。
 この例によると、例えば仮想空間内に配された対象物間の相互作用(例えば物体同士の衝突など)による移動方向の変化や形状の変化(ボールなどの弾性変形等)、重力の影響による移動速度の変化等の情報が反映され、より自然な推定を行うことが可能となる。またこの場合においては、個々の仮想体積要素を、剛体粒子とした粒子運動のシミュレーションとすることとしてもよい。
[処理の一部をネットワーク経由で行う例]
 またここまでの説明では、情報処理装置1の制御部11が、実空間情報取得部31と、点群配置部32と、保存部33と、推定部34と、推定点群配置部35と、仮想空間情報生成部36としての動作を行うものとしたが、この例に代えて、制御部11は、撮像部14が撮像した画像データや、取得した、実空間内の対象物までの距離の情報を、別途用意されたサーバ装置へ送出し、このサーバ装置にて実空間情報取得部31と、点群配置部32と、保存部33と、推定部34と、推定点群配置部35と、仮想空間情報生成部36と、出力部37のうち少なくとも一つの動作を行わせ、サーバ装置に、当該処理の結果としての仮想空間内の所定の位置(例えばユーザの目の位置)に配した仮想的なカメラの視野内の点群をレンダリングした画像データ等の処理の結果を、ユーザの情報処理装置1または表示装置2に対して、送信出力させ、その後の処理を情報処理装置1または表示装置2側にて行うようにしてもよい。
 例えば、サーバ装置側にて出力部37までの処理を行う場合、出力部37としての動作を行うサーバ装置は、情報処理装置1を介することなく、サーバ装置が備える通信手段(ネットワークインタフェース等)を介して、ユーザの表示装置2に対して、画像データを送信出力する。
 またこの例では、実空間情報取得部31としての動作を行うサーバ装置は、情報処理装置1から、当該情報処理装置1の撮像部14にて撮像された画像データ、及び、当該画像データの各画素に撮像されている実空間内の対象物までの距離の情報を受け入れることとなる。
 この場合の情報処理装置1とサーバ装置との間の情報の授受は、インターネットや、携帯電話回線等の通信経路を介して行われてもよい。すなわち、この例のサーバ装置は、インターネットを介してアクセス可能となっていてもよい。
 さらに、本実施の形態の別の例では、サーバ装置が、点群配置部32と保存部33と推定部34との処理を行って、点群に含まれる各点の位置の推定結果を、それらの処理の対象とした画像データや、外観の情報等の提供元であるユーザの情報処理装置1に対して送信出力するようにしてもよい。この場合、その後段の推定点群配置部35、仮想空間情報生成部36、及び出力部37などの処理は、ユーザの情報処理装置1側にて行われる。同様に、サーバ装置が、推定点群配置部35または、仮想空間情報生成部36までの処理を行って、その後段の処理をユーザの情報処理装置1側にて行うようにしてもよい。
 また、本実施の形態の説明は一例であり、本発明の趣旨を逸脱しない範囲で種々の変形が可能である。例えばここまでの説明において点群の例で説明した処理は、他の仮想体積要素の例、例えばボクセルについても同様に適用できる。
 1 情報処理装置、2 表示装置、11 制御部、12 記憶部、13 操作受入部、14 撮像部、15 通信部、21 制御部、22 通信部、23 表示部、31 実空間情報取得部、32 点群配置部、33 保存部、34 推定部、35 推定点群配置部、36 仮想空間情報生成部、37 出力部。

Claims (8)

  1.  現実空間内の対象物の位置及び外観に係る情報を取得する手段と、
     前記取得した対象物の現実空間内の位置に対応する仮想空間内の位置に、当該対象物の少なくとも外観に沿って、複数の仮想体積要素を配して、当該仮想体積要素の集合により前記対象物を表現した仮想空間の情報を生成する仮想空間情報生成手段と、
     当該生成した仮想空間の情報を保持する保持手段と、
     前記保持された情報を参照し、前記仮想体積要素の少なくとも一部についての移動を表す、前記仮想空間の情報の時間変化の情報を検出する検出手段と、
     当該検出した時間変化の情報に基づいて、所定の時間だけ後の、当該仮想体積要素の位置を推定する推定手段と、を含み、
     前記仮想空間情報生成手段は、当該推定の結果に基づいて、所定の時間だけ後の仮想空間の情報を生成して出力する情報処理装置。
  2.  請求項1に記載の情報処理装置であって、
     前記対象物のうち、対象物の移動または姿勢変化が、予め定められたボーンモデルに基づいて行われる対象物については、前記検出手段が、当該ボーンモデルに含まれる各ボーンについて、当該ボーンとともに移動する仮想体積要素を識別するとともに、前記仮想空間の情報の時間変化の情報として、当該ボーンモデルの各ボーンの位置及び方向に係る時間変化の情報を検出し、
     前記推定手段は、前記検出された各ボーンの位置及び方向に係る時間変化の情報に基づいて、所定の時間だけ後の、各ボーンの位置及び方向に係る情報を推定し、当該推定された各ボーンの位置に基づいて、各ボーンとともに移動するものとして識別された仮想体積要素の移動位置を推定する情報処理装置。
  3.  請求項2に記載の情報処理装置であって、
     前記ボーンの位置及び方向に係る時間変化の情報に対し、過去に実測された、当該時間変化の情報が得られた後のボーンの移動後の位置を表す情報を関連付けて保持するデータベースにアクセス可能に接続され、
     前記推定手段は、前記検出したボーンの位置及び方向に係る時間変化の情報に基づいて、所定の時間だけ後の、当該ボーンの位置及び方向を、当該データベースに保持される情報に基づいて推定する情報処理装置。
  4.  請求項1から3のいずれか一項に記載の情報処理装置であって、
     前記所定の時間は、今後の所定の描画のタイミングに合致する時刻までの時間である情報処理装置。
  5.  請求項1から3のいずれか一項に記載の情報処理装置であって、
     過去に保持された前記仮想空間の情報を参照し、前記仮想体積要素の少なくとも一部についての過去の移動を表す、前記仮想空間の情報の時間変化の情報を検出し、当該検出した時間変化の情報に基づいて、過去の所定のタイミングにおける、当該仮想体積要素の位置を推定して、当該推定の結果に基づいて、所定の時間だけ後の仮想空間の情報を生成して出力する情報処理装置。
  6.  請求項1から5のいずれか一項に記載の情報処理装置であって、
     前記推定手段は、さらに、所定の時間だけ後の、当該仮想体積要素の姿勢または形状を、予め定められた物理シミュレーションエンジンを用いて推定する情報処理装置。
  7.  コンピュータを用い、
     取得手段が、現実空間内の対象物の位置及び外観に係る情報を取得する工程と、
     仮想空間情報生成手段が、前記取得した対象物の現実空間内の位置に対応する仮想空間内の位置に、当該対象物の少なくとも外観に沿って、複数の仮想体積要素を配して、当該仮想体積要素の集合により前記対象物を表現した仮想空間の情報を生成する工程と、
     保持手段が、当該生成した仮想空間の情報を保持する工程と、
     検出手段が、前記仮想体積要素の少なくとも一部についての移動を表す、前記仮想空間の情報の時間変化の情報を検出する工程と、
     推定手段が、当該検出した時間変化の情報に基づいて、所定の時間だけ後の、当該仮想体積要素の位置を推定する工程と、を含み、
     当該推定の結果に基づいて、所定の時間だけ後の仮想空間の情報を生成して出力する情報処理装置の制御方法。
  8.  コンピュータを、
     現実空間内の対象物の位置及び外観に係る情報を取得する手段と、
     前記取得した対象物の現実空間内の位置に対応する仮想空間内の位置に、当該対象物の少なくとも外観に沿って、複数の仮想体積要素を配して、当該仮想体積要素の集合により前記対象物を表現した仮想空間の情報を生成する仮想空間情報生成手段と、
     当該生成した仮想空間の情報を保持する保持手段と、
     前記仮想体積要素の少なくとも一部についての移動を表す、前記仮想空間の情報の時間変化の情報を検出する検出手段と、
     当該検出した時間変化の情報に基づいて、所定の時間だけ後の、当該仮想体積要素の位置を推定する推定手段と、
     として機能させ、当該推定の結果に基づいて、所定の時間だけ後の仮想空間の情報を生成して出力させるプログラム。

     
PCT/JP2018/022980 2017-06-22 2018-06-15 情報処理装置、制御方法、及びプログラム WO2018235744A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/620,101 US20200202609A1 (en) 2017-06-22 2018-06-15 Information processor, control method, and program
JP2019525579A JP6698946B2 (ja) 2017-06-22 2018-06-15 情報処理装置、制御方法、及びプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-122407 2017-06-22
JP2017122407 2017-06-22

Publications (1)

Publication Number Publication Date
WO2018235744A1 true WO2018235744A1 (ja) 2018-12-27

Family

ID=64737100

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/022980 WO2018235744A1 (ja) 2017-06-22 2018-06-15 情報処理装置、制御方法、及びプログラム

Country Status (3)

Country Link
US (1) US20200202609A1 (ja)
JP (1) JP6698946B2 (ja)
WO (1) WO2018235744A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020175176A1 (ja) * 2019-02-28 2020-09-03 ソニー株式会社 情報処理装置および方法、並びに、再生装置および方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11830131B2 (en) * 2018-02-06 2023-11-28 Veo Robotics, Inc. Workpiece sensing for process management and orchestration
JP6971282B2 (ja) * 2019-08-30 2021-11-24 株式会社コロプラ プログラム、方法、および情報端末装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249472A (ja) * 1995-03-15 1996-09-27 Toshiba Corp 移動物体検知装置及び移動物体検知方法
JP2015095045A (ja) * 2013-11-11 2015-05-18 株式会社ソニー・コンピュータエンタテインメント 画像生成装置および画像生成方法
WO2015098292A1 (ja) * 2013-12-25 2015-07-02 ソニー株式会社 画像処理装置及び画像処理方法、コンピューター・プログラム、並びに画像表示システム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9110163B2 (en) * 2013-06-14 2015-08-18 Microsoft Technology Licensing, Llc Lidar-based classification of object movement

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249472A (ja) * 1995-03-15 1996-09-27 Toshiba Corp 移動物体検知装置及び移動物体検知方法
JP2015095045A (ja) * 2013-11-11 2015-05-18 株式会社ソニー・コンピュータエンタテインメント 画像生成装置および画像生成方法
WO2015098292A1 (ja) * 2013-12-25 2015-07-02 ソニー株式会社 画像処理装置及び画像処理方法、コンピューター・プログラム、並びに画像表示システム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KAWADE, HIROSHI ET AL.: "Development of AR-based information presentation device considering interaction with real objects and virtual objects", ITE TECHNICAL REPORT, vol. 35, no. 9, 14 February 2011 (2011-02-14), pages 59 - 63, ISSN: 1342-6893 *
KOBAYASHI DAISUKE ET AL.: "Dynamic spatial augmented reality by using real-time object tracking with a depth sensor", PROCEEDINGS D OF IEICE, vol. J99-D, no. 3, 1 March 2016 (2016-03-01), pages 264 - 272, ISSN: 1881-0225 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020175176A1 (ja) * 2019-02-28 2020-09-03 ソニー株式会社 情報処理装置および方法、並びに、再生装置および方法

Also Published As

Publication number Publication date
US20200202609A1 (en) 2020-06-25
JP6698946B2 (ja) 2020-05-27
JPWO2018235744A1 (ja) 2020-01-23

Similar Documents

Publication Publication Date Title
US10593025B2 (en) Method and system for reconstructing obstructed face portions for virtual reality environment
US20210177124A1 (en) Information processing apparatus, information processing method, and computer-readable storage medium
US10725297B2 (en) Method and system for implementing a virtual representation of a physical environment using a virtual reality environment
TWI659335B (zh) 圖形處理方法和裝置、虛擬實境系統和計算機儲存介質
CN114072846A (zh) 动画化来自头戴式装置相机的虚拟形象
US20150277555A1 (en) Three-dimensional user interface apparatus and three-dimensional operation method
JP2020535536A5 (ja)
WO2016191159A1 (en) Augmenting ar/vr displays with image projections
US11170521B1 (en) Position estimation based on eye gaze
US20210166460A1 (en) Information processing apparatus and information processing method
CN113315878A (zh) 单程对象扫描
WO2018235744A1 (ja) 情報処理装置、制御方法、及びプログラム
JP2016105279A (ja) 視覚データを処理するための装置および方法、ならびに関連するコンピュータプログラム製品
JP2016518647A5 (ja)
US20210264684A1 (en) Fitting of glasses frames including live fitting
US11763479B2 (en) Automatic measurements based on object classification
JP2022550644A (ja) パススルー視覚化
Rocca et al. Head pose estimation by perspective-n-point solution based on 2d markerless face tracking
CN116523579A (zh) 一种显示设备、虚拟试衣系统及方法
US20200211275A1 (en) Information processing device, information processing method, and recording medium
JP6695997B2 (ja) 情報処理装置
CN112987914A (zh) 用于内容放置的方法和设备
US10798360B2 (en) Information processing system, method for controlling same, and program
US20240005600A1 (en) Nformation processing apparatus, information processing method, and information processing program
KR20220083166A (ko) 인체 추정 방법 및 장치

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019525579

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18819589

Country of ref document: EP

Kind code of ref document: A1