[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2010038693A1 - 情報処理装置、情報処理方法、プログラム及び情報記憶媒体 - Google Patents

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

Info

Publication number
WO2010038693A1
WO2010038693A1 PCT/JP2009/066749 JP2009066749W WO2010038693A1 WO 2010038693 A1 WO2010038693 A1 WO 2010038693A1 JP 2009066749 W JP2009066749 W JP 2009066749W WO 2010038693 A1 WO2010038693 A1 WO 2010038693A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
image
motion data
basic
moving body
Prior art date
Application number
PCT/JP2009/066749
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
Priority claimed from JP2008256599A external-priority patent/JP5015109B2/ja
Priority claimed from JP2008256597A external-priority patent/JP5066047B2/ja
Application filed by 株式会社ソニー・コンピュータエンタテインメント filed Critical 株式会社ソニー・コンピュータエンタテインメント
Priority to US13/121,318 priority Critical patent/US8724849B2/en
Priority to CN200980139029.5A priority patent/CN102171726B/zh
Priority to EP09817726.4A priority patent/EP2343685B1/en
Publication of WO2010038693A1 publication Critical patent/WO2010038693A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • 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/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1087Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera
    • A63F2300/1093Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera using visible light
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6607Methods for processing data by generating or executing the game program for rendering three dimensional images for animating game characters, e.g. skeleton kinematics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • 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/30196Human being; Person

Definitions

  • the present invention relates to an information processing apparatus, an information processing method, a program, and an information storage medium.
  • a technology related to motion capture that captures the movement of a moving body such as a human being imaged by a video camera or the like into an information processing apparatus is known.
  • an information processing apparatus that generates motion data indicating the movement of a moving object based on a series of images generated by imaging the moving object with a video camera.
  • a user marks several positions in an image to be generated and specifies the context of each mark to simulate the three-dimensional movement of a moving object.
  • motion data indicating the movement of a moving object based on a series of images generated by imaging the moving object with a video camera.
  • a user marks several positions in an image to be generated and specifies the context of each mark to simulate the three-dimensional movement of a moving object.
  • something that can generate motion data There is something that can generate motion data.
  • the program according to the present invention is a program that causes a computer to function as an information processing apparatus that generates motion data indicating a motion of a predetermined moving body, and an imaging unit images at least one object including the moving body.
  • Basic data acquisition means for acquiring a plurality of basic data including an image generated by the measurement and distance data indicating a distance between the object displayed in the image and the imaging means based on a measurement result by the distance measurement means A position in the image that is specified by the position specifying means in the image, and a position in the image that is specified by the position specifying means in the image based on the image included in each basic data And a distance that specifies a distance between the moving body and the imaging means based on the distance data included in the basic data including the image.
  • the position coordinate of the missing element when the position coordinate of the missing element is not calculated by the position coordinate calculation means, the position coordinate of the missing element is calculated based on each of a plurality of basic data different from the basic data. You may calculate based on the difference of the position coordinate of a missing element. In this way, when the position coordinates of the missing element in the three-dimensional space are not calculated based on the basic data, the position of the missing element in the three-dimensional space calculated based on a plurality of basic data different from the basic data. Using the coordinate difference information, the position coordinates of the missing element can be calculated.
  • the basic data is distance data indicating a distance between an image generated by each of a plurality of imaging units, an imaging unit that captured each of the images, and an object displayed in the image.
  • the position specifying means in the image specifies the position where the moving body is displayed in each image based on each of the plurality of images included in the basic data, and the distance specifying means.
  • the distance between the moving body and each imaging means is specified, and the position coordinate calculating means is specified by the distance specifying means and the positions in the plurality of images specified by the in-image position specifying means.
  • the position coordinates are calculated based on a plurality of the distances. In this way, since the blind spot when the object is imaged by the imaging means is reduced, it is possible to reduce the possibility that the position coordinates of the moving body in the three-dimensional space are not calculated based on the basic data.
  • Another information processing apparatus is an information processing apparatus that generates generated motion data indicating the movement of another moving body based on basic motion data indicating the movement of a predetermined moving body.
  • rule data storage means for storing a plurality of rule data indicating rules for determining the movement of the moving object indicated by the identifier based on the movement of the predetermined moving object
  • identifier receiving means for receiving the identifier of the moving object
  • the basic motion data acquired by the data selection means and the basic motion data acquisition means are included in the rules.
  • Generating motion data generating means for generating generated motion data indicating the movement of the moving object indicated by the identifier received by the identifier receiving means by applying the rule indicated by the rule data selected by the data selecting means.
  • Another information processing method is an information processing method for generating generated motion data indicating the movement of another moving body based on basic motion data indicating the movement of a predetermined moving body.
  • a plurality of rule data indicating a rule for determining a movement of the moving body indicated by the identifier based on the movement of the predetermined moving body in association with a body identifier in a rule data storage means; and the basic motion data The basic motion data acquisition step to be acquired, the identifier reception step for receiving the identifier of the moving object, and the rule data associated with the identifier received in the identifier reception step among the plurality of rule data stored in the rule data storage means
  • the rule data selection step for selecting the basic motion data acquisition step and the basic motion data acquisition step.
  • Another program is a program that causes a computer to function as an information processing apparatus that generates generated motion data indicating the movement of another moving body based on basic motion data indicating the movement of a predetermined moving body.
  • Basic motion data acquisition means for acquiring motion data, identifier reception means for receiving an identifier of a moving body, and a rule associated with an identifier received by the identifier reception means from among a plurality of rule data stored in the rule data storage means
  • Rule data selection means for selecting data, the basic motion data acquisition means Generating the generated motion data indicating the motion of the moving object indicated by the identifier received by the identifier receiving means by applying the rule indicated by the rule data selected by the rule data selecting means to the basic motion data acquired
  • the computer is caused to
  • Another information storage medium causes a computer to function as an information processing apparatus that generates generated motion data indicating the movement of another moving body based on basic motion data indicating the movement of a predetermined moving body.
  • a computer-readable information storage medium in which a program is stored, and rule data indicating rules for determining the movement of the moving object indicated by the identifier based on the movement of the predetermined moving object in association with the identifier of the moving object A plurality of rule data stored in the rule data storage means, a basic motion data acquisition means for acquiring the basic motion data, an identifier reception means for receiving an identifier of a moving object, The rule for selecting rule data associated with the identifier received by the identifier receiving means Applying the rule indicated by the rule data selected by the rule data selection unit to the basic motion data acquired by the data selection unit and the basic motion data acquisition unit, and the mobile unit indicated by the identifier received by the identifier reception unit
  • a computer-readable information storage medium storing a program for causing the computer to function as generated motion data generating
  • the motion data indicating the motion of the mobile body corresponding to the identifier received by the identifier receiving means is generated based on the basic motion data indicating the motion of the predetermined mobile body. Can reduce the time and effort of the creator when producing
  • the basic motion data indicates the position of the predetermined moving body in each frame
  • the rule data storage means sets the position of the moving body indicated by the identifier in each frame.
  • Rule data indicating rules to be determined based on the position of each moving body in each frame is stored, the basic motion data acquisition means sequentially acquires the basic motion data, and the generated motion data generation means is sequentially acquired.
  • the generated motion data indicating the position in each frame of the moving body indicated by the identifier received by the identifier receiving means by sequentially applying the rules indicated by the rule data selected by the rule data selecting means to each basic motion data Are sequentially generated. In this way, the generated motion data indicating the position of the moving body in each frame can be generated based on the position of the moving body in each frame indicated by the basic motion data.
  • the rule data storage means indicates a rule for determining the position of the moving body indicated by the identifier in each frame based on a combination of positions of the predetermined moving body in a plurality of different frames.
  • Rule data may be stored.
  • the basic motion data indicates movement of each of a plurality of elements included in the predetermined moving body
  • the rule data storage means is a moving body including a plurality of elements.
  • the generated motion data generating means In association with the identifier, storing rule data indicating a rule for determining the movement of each of the plurality of elements included in the moving body indicated by the identifier based on the movement of each of the plurality of elements included in the predetermined moving body, The generated motion data generating means generates generated motion data indicating the motion of each of the plurality of elements included in the moving object indicated by the identifier received by the identifier receiving means. In this way, the movement of each element included in the moving body corresponding to the identifier received by the identifier receiving unit indicated by the generated motion data can be associated with the movement of each element included in the predetermined moving body.
  • the rule data storage means includes a combination of positions of a plurality of elements included in one of the predetermined mobile body or the mobile body indicated by the identifier, and one element included in the other.
  • the rule data indicating the rule for associating with each other may be stored.
  • the position of one element included in the moving body corresponding to the identifier received by the identifier receiving means is calculated based on the combination of the positions of the plurality of elements included in the predetermined moving body, or Based on the position of one element included in the moving body, it is possible to calculate the position of each of the plurality of elements included in the moving body according to the identifier received by the identifier receiving unit.
  • FIG. 1 is a diagram illustrating an example of a hardware configuration of the information processing system 1 according to the first embodiment.
  • the information processing system 1 according to the first embodiment includes an information processing device 2 and a portable game device 3.
  • FIG. 2 is a perspective view showing an example of the portable game apparatus 3 according to the first embodiment.
  • the information processing apparatus 2 includes a control unit 21, a storage unit 22, a communication unit 23, and a user interface (UI) unit 24.
  • the control unit 21, the storage unit 22, the communication unit 23, and the UI unit 24 are connected via a bus.
  • the storage unit 22 of the information processing apparatus 2 is a storage element such as a RAM or a hard disk drive.
  • the storage unit 22 of the information processing device 2 stores a program executed by the control unit 21 of the information processing device 2.
  • the storage unit 22 of the information processing device 2 also operates as a work memory of the control unit 21 of the information processing device 2.
  • the communication unit 23 of the information processing apparatus 2 is, for example, a network interface and transmits information according to an instruction input from the control unit 21 of the information processing apparatus 2.
  • the communication unit 23 of the information processing apparatus 2 outputs information received via a network such as a LAN to the control unit 21 of the information processing apparatus 2.
  • the UI unit 24 of the information processing apparatus 2 is a display, a microphone, a speaker, a button, and the like, and outputs the content of the operation performed by the user and the voice input by the user to the control unit 21.
  • the UI unit 24 of the information processing device 2 displays and outputs information according to an instruction input from the control unit 21 of the information processing device 2.
  • the shape of the housing 30 of the portable game apparatus 3 according to the first embodiment is a box shape.
  • the portable game device 3 according to the first embodiment includes a control unit 31, a storage unit 32, a communication unit 33, a display unit 34, an operation unit 35, an imaging unit 36, and a distance measurement unit 37. It is equipped with.
  • the control unit 31 of the portable game apparatus 3 is a program control device such as a CPU, and operates according to a program stored in the storage unit 32 of the portable game apparatus 3.
  • the display unit 34 of the portable game apparatus 3 is, for example, a liquid crystal display, and displays an image according to an instruction from the control unit 31 of the portable game apparatus 3.
  • the display unit 34 of the portable game apparatus 3 is provided in the center of the front surface of the housing 30 of the portable game apparatus 3.
  • the control unit 31 of the portable game apparatus 3 may instruct the display unit 34 of the portable game apparatus 3 together with attributes such as the resolution and aspect ratio of the displayed image.
  • the control unit 31 of the portable game apparatus 3 displays an image displayed on the display unit 34 of the portable game apparatus 3 in accordance with the contents of attribute information indicating attributes such as image resolution and aspect ratio included in the program to be executed. You may indicate the attribute.
  • the operation unit 35 of the portable game apparatus 3 is, for example, an operation member (specifically, for example, a cross key or a button), and output data corresponding to an operation on the operation member is output to the control unit of the portable game apparatus 3. 31 is output.
  • the control unit 31 of the portable game apparatus 3 acquires the output data, and executes processing corresponding to the operation of the player on the operation member by using the output data.
  • the operation unit 35 of the portable game apparatus 3 is provided on the left and right of the display unit 34 of the portable game apparatus 3. In other words, the operation unit 35 of the portable game apparatus 3 is arranged separately on the front left side and the front right side of the housing 30 of the portable game apparatus 3.
  • the imaging unit 36 of the portable game device 3 includes, for example, a known digital camera, and is a black and white, grayscale, or color image (for example, an image in JPEG format) every predetermined time (for example, 1/60 seconds). ) Is generated.
  • the imaging unit 36 of the portable game apparatus 3 may be a standard camera, a telephoto camera, or a wide-angle camera.
  • the imaging unit 36 of the portable game device 3 is provided on the upper side of the display unit 34 of the portable game device 3. That is, the imaging unit 36 of the portable game apparatus 3 is provided on the upper side near the front center of the housing 30.
  • the distance measuring unit 37 of the portable game device 3 measures the distance between the portable game device 3 and an external object existing outside.
  • the distance measuring unit 37 of the portable game apparatus 3 is, for example, a distance between the imaging unit 36 of the portable game apparatus 3 and an external object (more specifically, for example, the surface of the external object) (hereinafter referred to as object distance).
  • object distance a distance between the imaging unit 36 of the portable game apparatus 3 and an external object (more specifically, for example, the surface of the external object) (hereinafter referred to as object distance).
  • object distance a distance between the imaging unit 36 of the portable game apparatus 3 and an external object (more specifically, for example, the surface of the external object) (hereinafter referred to as object distance).
  • the distance measuring unit 37 of the portable game apparatus 3 associates each pixel included in the image generated by the imaging unit 36 of the portable game apparatus 3 with the object distance corresponding to each pixel.
  • Distance data 44 is generated. That is, in the first embodiment, the pixel position in the image generated by the imaging unit 36 of the portable game device 3 and the object distance measured by the distance measurement unit 37 of the portable game device 3 are one-to-one. It is matched.
  • the distance measuring unit 37 of the portable game apparatus 3 is, for example, a stereo camera composed of a plurality of lenses. Based on the parallax of each lens, the distance between the external object and the portable game apparatus 3 is determined. Measure distance.
  • the distance measuring unit 37 of the portable game apparatus 3 is not limited to a stereo camera, and the distance measuring unit 37 of the portable game apparatus 3 outputs infrared rays, and the infrared rays are reflected back to the imaging target object. You may measure the time until it comes and measure the distance between the external object and the portable game apparatus 3 based on the measured time.
  • the distance measuring unit 37 of the portable game apparatus 3 includes a plurality of lenses having different focal lengths, and among these lenses, the external object and the portable type are based on a lens that is in focus with respect to the external object. The distance from the game apparatus 3 may be measured.
  • the distance measurement unit 37 of the portable game apparatus 3 is formed integrally with the imaging unit 36 of the portable game apparatus 3 and is provided on the upper side of the display unit 34. That is, the distance measuring unit 37 of the portable game apparatus 3 is provided on the upper side near the front center.
  • the portable game apparatus 3 generates basic data 40 and transmits it to the information processing apparatus 2 (see FIG. 3).
  • FIG. 3 is a diagram illustrating an example of the data structure of the basic data 40.
  • the basic data 40 includes a user image 42 and distance data 44.
  • the imaging unit 36 of the portable game apparatus 3 captures the movement of the subject user 46 every predetermined time (for example, 1/60 seconds), and generates a series of user images 42 (FIG. 4A). See FIG. 4E).
  • the subject user 46 is only shown as an example of a moving object.
  • the imaging unit 36 may capture a moving body other than the subject user 46 and generate an image of the moving body.
  • 4A shows an example of the first user image 42-1
  • FIG. 4B shows an example of the second user image 42-2
  • FIG. 4C shows an example of the third user image 42-3
  • FIG. 4D shows the fourth user image 42-2.
  • FIG. 4E shows an example of the fifth user image 42-5.
  • the user image 42 according to the first embodiment displays not only the subject user 46 but also the ground 48. That is, at least one object including a moving body such as the subject user 46 is displayed in the image generated by the imaging unit 36.
  • the distance measuring unit 37 of the portable game apparatus 3 sequentially measures the distance between the subject user 46 and the portable game apparatus 3, and associates the object distance corresponding to each pixel in the nth user image 42-n. N-th distance data 44-n is generated. Then, the control unit 31 of the portable game apparatus 3 generates the nth basic data 40-n including the nth user image 42-n and the nth distance data 44-n corresponding to the user image 42. .
  • the communication unit 33 of the portable game apparatus 3 transmits the basic data 40 to the information processing apparatus 2. Then, the communication unit 23 of the information processing device 2 receives the basic data 40.
  • FIG. 5 is a functional block diagram of the information processing apparatus 2 according to the present embodiment.
  • the information processing apparatus 2 according to the first embodiment functionally includes a basic data acquisition unit 50, an in-image position specifying unit 52, a distance specifying unit 54, a position coordinate calculating unit 56, motion data. It functions as including the generation unit 58.
  • These elements are realized by executing a program installed in the information processing apparatus 2, which is a computer, by the control unit 21 such as a CPU included in the information processing apparatus 2.
  • This program is supplied to the information processing apparatus 2 via a computer-readable information transmission medium such as a CD-ROM or DVD-ROM, or via a communication network such as the Internet.
  • the basic data acquisition unit 50 acquires a plurality of basic data 40 including images and distance data 44.
  • the basic data acquisition unit 50 includes a user image 42 and distance data 44 that are transmitted by the communication unit 33 of the portable game apparatus 3 and received by the communication unit 23 of the information processing apparatus 2. Data 40 is acquired sequentially.
  • the in-image position specifying unit 52 displays an image in which a predetermined moving body (subject user 46 in the first embodiment) is displayed based on an image included in the basic data 40 (a user image 42 in the first embodiment). The position in the user image 42 in the first embodiment is specified.
  • the subject user 46 includes a plurality of elements 60 (see FIG. 6).
  • each element 60 corresponds to a body part of the subject user 46 such as a head, a torso, a left knee, a right knee, a left foot, a right foot, a left hand, and a right hand.
  • the in-image position specifying unit 52 specifies the position of each element 60 in the user image 42 using, for example, a pattern recognition technique.
  • FIG. 6 is a diagram illustrating an example of the position of each element 60 including the right hand element 60a indicating the right hand and the body element 60b indicating the body in the first user image 42-1 specified by the in-image position specifying unit 52. It is.
  • the in-image position specifying unit 52 may specify the position of each element 60 based on the color of each pixel in the user image 42.
  • the in-image position specifying unit 52 may specify the position of each element 60 in the user image 42 using an existing optical motion capture technique or the like.
  • the in-image position specifying unit 52 specifies the elements 60 included in the subject user 46 and the positions of the respective elements 60 in the user image 42, which are stored in advance in the storage unit 22 of the information processing device 2. You may make it identify the position coordinate of each element using the specific method data which show a method.
  • the in-image position specifying unit 52 may specify the position coordinates of a representative point representing each element 60 (for example, the center of gravity of the area where each element 60 is displayed).
  • the in-image position specifying unit 52 includes the position coordinates (right hand nth image position coordinates) of the center of gravity (right hand center of gravity) of the area where the right hand element 60a is displayed in the nth user image 42-n. (X n , Y n ) is specified.
  • FIG. 6 also shows the right-hand first image position coordinates (X 1 , Y 1 ) specified by the image position specifying unit 52.
  • the position coordinates (X n , Y n ) in the right hand n-th image are two-dimensional coordinates with the upper left point of the n-th user image 42-n as the origin, the lower direction as the X axis, and the right direction as the Y axis. It is expressed in position coordinates in the system.
  • the method of expressing the position coordinates in the image is not limited to the above-described method.
  • the distance specifying unit 54 determines whether the mobile object and the portable game apparatus 3 are based on the position in the image specified by the in-image position specifying unit 52 and the distance data 44 included in the basic data 40 including the image.
  • the distance from the imaging unit 36 is specified.
  • the distance specifying unit 54 is an object distance associated with the position coordinates of the representative point of each element 60 in the user image 42 indicated by the distance data 44 included in the basic data 40 including the user image 42. Is identified. Specifically, for example, the right hand n th-image position coordinates (X n, Y n) is associated to a pixel of the object distance indicated by the n-th distance data 44-n, specified as the right hand n th object distance Z n To do.
  • Figure 7 shows a diagram illustrating an example of a right hand first object distance Z 1.
  • the distance specifying unit 54 may specify the object distance by a method different from that described above. Specifically, for example, the average value of the object distance associated with each pixel in the region where the right hand element 60a is displayed in the nth user image 42- n is specified as the right hand nth object distance Zn. May be.
  • the position coordinate calculation unit 56 calculates the position coordinates of the moving object in the three-dimensional space based on the position in the image specified by the in-image position specifying unit 52 and the distance specified by the distance specifying unit 54. To do.
  • the position coordinate calculating unit 56 specifies the position coordinates of the representative point of each element 60 in the nth user image 42-n and the distance specifying unit 54 based on the nth distance data 44-n.
  • the nth three-dimensional position coordinate of the representative point is calculated based on the object distance associated with the position coordinate.
  • the position coordinate calculation unit 56 determines the right hand n th three-dimensional position coordinates based on the right hand n th image position coordinates (X n , Y n ) and the right hand n th object distance Z n. (X n , y n , z n ) is calculated (see FIG. 8). Note that the position coordinate calculation unit 56 may calculate the fuselage n-th three-dimensional position coordinates (x n ′, y n ′, z n ′) by the same method. In the first embodiment, the three-dimensional position coordinates are expressed by the orthogonal coordinate system. However, the three-dimensional position coordinates may be expressed by another coordinate system such as a polar coordinate system.
  • the motion data generation unit 58 generates motion data indicating the movement of the moving object in the three-dimensional space based on the position coordinates calculated based on each basic data 40.
  • the motion indicating the movement of the subject user 46 in the three-dimensional space based on the three-dimensional position coordinates of the representative point of each element 60 included in the subject user 46 calculated based on each basic data 40.
  • Generate data More specifically, for example, a series of right-hand first 3D position coordinates (x 1 , y 1 , z 1 ), right-hand second 3D position coordinates (x 2 , y 2 , z 2 ), etc. n three-dimensional position coordinates (x n , y n , z n ) are combined to generate motion data indicating movement in the right-hand three-dimensional space.
  • the motion data generation unit 58 uses the connection relationship data indicating the connection relationship between the elements 60 stored in advance in the storage unit 22 of the information processing apparatus 2 as illustrated in FIG. 46 wire frame model data 62 may be generated. In this way, by combining motion data indicating the movement of each element, for example, motion data indicating how a person walks is generated.
  • motion data is generated based on a series of three-dimensional position coordinates. Therefore, according to the information processing apparatus 2 according to the first embodiment, it is possible to generate motion data in which the three-dimensional movement of the moving object is simulated.
  • the in-image position specifying unit 52 specifies the right-hand nth in-image position coordinates (X n , Y n ) based on the nth user image 42-n included in the nth basic data 40-n (S101). ).
  • the distance specifying unit 54 specifies the right-hand n-th object distance Z n indicated in the distance data 44 included in the basic data 40 corresponding to the position coordinates (X n , Y n ) in the right-hand n-th image (S102). ).
  • the position coordinate calculation unit 56 calculates the right hand n th three-dimensional position coordinates (x n , y) based on the right hand n th image position coordinates (X n , Y n ) and the right hand n th object distance Z n. n , z n ) is calculated (S103).
  • the position coordinate calculating unit 56 by the processing shown in S103, the right hand n th three-dimensional position coordinates (x n, y n, z n) checks whether the calculated (S104). If the right-hand nth three-dimensional position coordinates (x n , y n , z n ) have been calculated (S104: Y), this process ends.
  • the in-image position specifying unit 52 may not be able to specify the right-hand nth in-image position coordinates (X n , Y n ) based on the nth user image 42-n. More specifically, for example, as shown in FIG. 4C, since the right-hand element 60a is hidden behind the subject user 46, the in-image position specifying unit 52 is based on the nth user image 42-3. There are cases where the position coordinates (X 3 , Y 3 ) in the right-hand third image cannot be specified.
  • the distance specifying unit 54 based on the first n distance data 44-n, it may not determine the right hand n th object distance Z n. In such a case, in the processing shown in S104, based on the first n basic data 40-n, the right hand n th three-dimensional position coordinates (x n, y n, z n) is not calculated.
  • the position coordinate calculation unit 56 performs a three-dimensional analysis based on basic data 40 different from the nth basic data 40-n among the plurality of basic data 40 acquired by the basic data acquisition unit 50.
  • the position coordinates are calculated (S105).
  • the position coordinate calculation unit 56 performs three-dimensional position coordinates (body n-th three-dimensional position coordinates (x n ′, y n ′, z n ′)) of the element 60 (body element 60 b) indicating the body. ) from the right hand n th three-dimensional position coordinates (x n, y n, z n) using vector V n in the n-th three-dimensional position coordinates of the right hand element 60a, which are not calculated by the processing shown in S104 (x n , Y n , z n ) may be calculated.
  • the position coordinate calculation unit 56 calculates the third three-dimensional position coordinates (x 3 , y 3 , z 3 ) using the vector V n .
  • the position coordinate calculation unit 56 first calculates the right hand second vector V 2 and the right hand third vector V 3 based on the angle ⁇ 12 formed by the right hand first vector V 1 and the right hand second vector V 2.
  • the position coordinate calculation unit 56 calculates the right-hand first based on the vector sum of the position vector of the body third three-dimensional position coordinates (x 3 ′, y 3 ′, z 3 ′) and the right-hand third vector V 3 . 3 Three-dimensional position coordinates (x 3 , y 3 , z 3 ) are calculated.
  • the calculation method of the right-hand nth three-dimensional position coordinates (x n , y n , z n ) in the process shown in S105 is not limited to the above-described method.
  • the position coordinate calculation unit 56 generates a vector (x 2 ⁇ x) from the first 3D position coordinates (x 1 , y 1 , z 1 ) to the second 3D position coordinates (x 2 , y 2 , z 2 ).
  • the position coordinate calculation unit 56 calculates the position coordinates of the missing element based on basic data 40 different from the nth basic data 40-n among the plurality of basic data 40 acquired by the basic data acquisition unit 50. It does not matter (see S105). Further, the position coordinate calculation unit 56 may calculate the three-dimensional position coordinates of the missing element based on the difference of the three-dimensional position coordinates.
  • the node position coordinate 206 included in the motion data 204 (hereinafter referred to as second motion data 204-2) in which the value of the mobile object ID 174 is set to “2” is stored in the mobile object ID 174.
  • the rule data 210 selected by the rule data selection unit 164 indicates the node position coordinates 206 included in the motion data 204 for which “1” is set (hereinafter referred to as first motion data 204-1). Calculated by applying rules.
  • a rule to be set as the node position coordinates 206 may be indicated. By displaying such a rule in the rule data 210, even if the number of node elements 178 included in the subject user 140 and the number of node elements 178 included in the spider object 212 are different, they are included in the spider object 212.
  • the node position coordinates 206 of each node element 178 can be calculated. That is, the node element 178 can be added or deleted when generating the generated motion data based on the basic motion data.
  • the rule data 210 may indicate a rule other than the rules shown above. Specifically, for example, the rule data 210 is subjected to predetermined mathematical transformation such as linear transformation or affine transformation on the position coordinates of the elements included in the first moving body (for example, the subject user 140). The rule for calculating the position coordinates of the elements included in the second moving body (for example, the spider object 212) may be indicated. Further, for example, the rule data 210 may indicate rules such as changing the length of the link element 180, rotating the link element 180, or changing the size of the polygon element 182.
  • the rule data selection unit 164 sets the value of the first mobile body ID 174-1 to “1” from the mobile body correspondence management data 208 stored in the rule data storage unit 162, and the second mobile body ID 174.
  • the rule data 210 included in the moving object correspondence management data 208 whose value of ⁇ 2 is “2” is selected (S204).
  • the image generation unit 168 generates the spider image 214 based on the motion data 204 acquired by the process shown in S8, and outputs the spider image 214 to the UI unit 24 of the information processing apparatus 2 (S210).
  • the movement of various moving objects is indicated according to the moving object ID 174 received by the identifier receiving unit 150.
  • the motion data 204 it is possible to generate motion data 204 indicating movements of various moving objects and images based on the motion data 204.
  • the generated motion data 204 may be uploaded from the communication unit 23 of the information processing apparatus 2 to a server (not shown) connected via a network such as the Internet.
  • the user indicates data indicating the game title using the motion data 204, data indicating the author of the motion data 204, and motion data 204 (basic motion data) that is the basis for generating the motion data 204.
  • the motion data 204 may be uploaded in association with attribute data such as data indicating CG data generated based on the motion data 204 and data indicating a CG character.
  • the motion data 204 and the attribute data may be stored in association with each other. Further, the motion data 204 may be stored in the server after being converted into data described in an existing script language.
  • the user may be able to view the motion data 204 stored in the server using, for example, a browser.
  • the motion data 204 may be displayed after being classified into categories.
  • the motion data 204 may be iconified. Specifically, for example, the motion data 204 may be expressed by a browser as a movement of a wire frame or a character.
  • the motion data 204 to be browsed is a hyperlink to the network store of the motion data 204, and the user can purchase the motion data 204 by clicking the hyperlink. It may be.
  • the motion data 204 newly uploaded to the server may be downloaded sequentially by the information processing apparatus 2 via the network and cached in the storage unit 22 of the information processing apparatus 2. Further, for example, the motion data 204 may be stored in the storage unit 22 of the information processing apparatus 2 together with the game save data.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

 移動体の立体的な動きをシミュレートしてモーションデータを生成する際におけるユーザの手間を軽減することができる情報処理装置を提供する。基礎データ取得部(50)が、画像と、測定結果に基づく、当該画像に表示されている物体と撮像部との距離を示す距離データと、を含む基礎データを複数取得する。画像内位置特定部(52)が、取得される画像に基づいて、移動体が表示されている、その画像内の位置を特定する。距離特定部(54)が、特定される画像内の位置と、距離データと、に基づいて、移動体と撮像部との距離を特定する。位置座標算出部(56)が、特定される画像内の位置と特定される距離とに基づいて、移動体の三次元位置座標を算出する。モーションデータ生成部(58)が、算出される三次元位置座標に基づいて、移動体の三次元空間内における動きを示すモーションデータを生成する。

Description

情報処理装置、情報処理方法、プログラム及び情報記憶媒体
 本発明は、情報処理装置、情報処理方法、プログラム及び情報記憶媒体に関する。
 ビデオカメラなどで撮像される人間などの移動体の動きを情報処理装置に取り込むモーションキャプチャに関する技術が知られている。例えば、ビデオカメラで移動体を撮像することにより生成される一連の画像に基づいて、その移動体の動きを示すモーションデータを生成する情報処理装置が存在する。このような情報処理装置のなかには、ユーザが、生成される画像内のいくつかの位置をマーキングし、それぞれのマークの前後関係を指定することで、移動体の立体的な動きをシミュレートしてモーションデータを生成することができるものが存在する。
 しかしながら、従来の情報処理装置では、移動体の立体的な動きをシミュレートしてモーションデータを生成する際に、ユーザが画像内の位置を指定する必要があり、手間がかかっていた。
 また、モーションキャプチャなどにより生成されるモーションデータは、コンピュータグラフィックス(CG)を制作する際などに活用されている。例えば、人間の動きを撮像することにより生成されるモーションデータを用いて、人間の動きを表すCGを容易に制作することができる。しかし、例えば、クモの動きを表すCGを制作する場面では、人間の動きを撮像することにより生成されるモーションデータに対して適切な加工を施すなどの工夫をする必要があった。このように、従来は、モーションデータを利用してCGを制作する際には、制作者の手間がかかっていた。特に、所定の移動体の動きを示すモーションデータを用いて、他の移動体の動きを表すCGを制作する際には、制作者の手間がかかっていた。
 本発明は、上記課題に鑑みてなされたものであって、その目的の1つは、移動体の立体的な動きをシミュレートしてモーションデータを生成する際におけるユーザの手間を軽減することができる情報処理装置、情報処理方法、プログラム及び情報記憶媒体を提供することにある。
 また、本発明の別の目的は、モーションデータを利用してCGを制作する際における制作者の手間を軽減することができる情報処理装置、情報処理方法、プログラム及び情報記憶媒体を提供することにある。
 上記課題を解決するために、本発明に係る情報処理装置は、所定の移動体の動きを示すモーションデータを生成する情報処理装置であって、前記移動体を含む少なくとも1つの物体を撮像手段が撮像することにより生成される画像と、距離測定手段による測定結果に基づく、当該画像に表示されている物体と前記撮像手段との距離を示す距離データと、を含む基礎データを複数取得する基礎データ取得手段と、前記各基礎データに含まれる画像に基づいて、前記移動体が表示されている当該画像内の位置を特定する画像内位置特定手段と、前記画像内位置特定手段により特定される前記画像内の位置と、当該画像を含む基礎データに含まれる前記距離データと、に基づいて、前記移動体と前記撮像手段との距離を特定する距離特定手段と、前記画像内位置特定手段により特定される前記画像内の位置と、前記距離特定手段により特定される距離と、に基づいて、前記移動体の三次元空間内における位置座標を算出する位置座標算出手段と、前記各基礎データに基づいて算出される前記位置座標に基づいて、前記移動体の三次元空間内における動きを示すモーションデータを生成するモーションデータ生成手段と、を含むことを特徴とする。
 また、本発明に係る情報処理方法は、所定の移動体の動きを示すモーションデータを生成する情報処理方法であって、前記移動体を含む少なくとも1つの物体を撮像手段が撮像することにより生成される画像と、距離測定手段による測定結果に基づく、当該画像に表示されている物体と前記撮像手段との距離を示す距離データと、を含む基礎データを複数取得する基礎データ取得ステップと、前記各基礎データに含まれる画像に基づいて、前記移動体が表示されている当該画像内の位置を特定する画像内位置特定ステップと、前記画像内位置特定ステップにより特定される前記画像内の位置と、当該画像を含む基礎データに含まれる前記距離データと、に基づいて、前記移動体と前記撮像手段との距離を特定する距離特定ステップと、前記画像内位置特定ステップにより特定される前記画像内の位置と、前記距離特定ステップにより特定される距離と、に基づいて、前記移動体の三次元空間内における位置座標を算出する位置座標算出ステップと、前記各基礎データに基づいて算出される前記位置座標に基づいて、前記移動体の三次元空間内における動きを示すモーションデータを生成するモーションデータ生成ステップと、を含むことを特徴とする。
 また、本発明に係るプログラムは、所定の移動体の動きを示すモーションデータを生成する情報処理装置としてコンピュータを機能させるプログラムであって、前記移動体を含む少なくとも1つの物体を撮像手段が撮像することにより生成される画像と、距離測定手段による測定結果に基づく、当該画像に表示されている物体と前記撮像手段との距離を示す距離データと、を含む基礎データを複数取得する基礎データ取得手段、前記各基礎データに含まれる画像に基づいて、前記移動体が表示されている当該画像内の位置を特定する画像内位置特定手段、前記画像内位置特定手段により特定される前記画像内の位置と、当該画像を含む基礎データに含まれる前記距離データと、に基づいて、前記移動体と前記撮像手段との距離を特定する距離特定手段、前記画像内位置特定手段により特定される前記画像内の位置と、前記距離特定手段により特定される距離と、に基づいて、前記移動体の三次元空間内における位置座標を算出する位置座標算出手段、前記各基礎データに基づいて算出される前記位置座標に基づいて、前記移動体の三次元空間内における動きを示すモーションデータを生成するモーションデータ生成手段として前記コンピュータを機能させることを特徴とする。
 また、本発明に係る情報記憶媒体は、所定の移動体の動きを示すモーションデータを生成する情報処理装置としてコンピュータを機能させるプログラムが記憶されたコンピュータ読み取り可能な情報記憶媒体であって、前記移動体を含む少なくとも1つの物体を撮像手段が撮像することにより生成される画像と、距離測定手段による測定結果に基づく、当該画像に表示されている物体と前記撮像手段との距離を示す距離データと、を含む基礎データを複数取得する基礎データ取得手段、前記各基礎データに含まれる画像に基づいて、前記移動体が表示されている当該画像内の位置を特定する画像内位置特定手段、前記画像内位置特定手段により特定される前記画像内の位置と、当該画像を含む基礎データに含まれる前記距離データと、に基づいて、前記移動体と前記撮像手段との距離を特定する距離特定手段、前記画像内位置特定手段により特定される前記画像内の位置と、前記距離特定手段により特定される距離と、に基づいて、前記移動体の三次元空間内における位置座標を算出する位置座標算出手段、前記各基礎データに基づいて算出される前記位置座標に基づいて、前記移動体の三次元空間内における動きを示すモーションデータを生成するモーションデータ生成手段、として前記コンピュータを機能させることを特徴とするプログラムが記憶されたコンピュータ読み取り可能な情報記憶媒体である。
 本発明によると、距離測定手段による測定結果に基づく距離データに基づいて、移動体の三次元空間内における位置座標が算出されるので、移動体の立体的な動きをシミュレートしてモーションデータを生成する際におけるユーザの手間を軽減することができる。
 本発明の一態様では、前記移動体が複数の要素を含み、前記画像内位置特定手段が、前記移動体に含まれる要素のうちの少なくとも一部の各要素が表示されている当該画像内の位置を特定し、前記距離特定手段が、前記移動体に含まれる要素のうちの少なくとも一部の各要素と前記撮像手段との距離を特定し、前記位置座標算出手段が、前記移動体に含まれる要素のうちの少なくとも一部の各要素の三次元空間内における位置座標を算出し、前記位置座標算出手段により、前記基礎データに基づいて前記移動体に含まれる複数の要素のうちの欠落要素の位置座標が算出されない場合は、前記位置座標算出手段が、当該欠落要素の位置座標を、前記基礎データ取得手段が取得する複数の基礎データのうちの、当該基礎データとは異なる基礎データに基づいて算出することを特徴とする。こうすれば、基礎データからは三次元空間内における欠落要素の位置座標が算出されない場合に、基礎データ取得手段が取得する複数の基礎データのうちの、当該基礎データとは異なる基礎データに基づいて、この欠落要素の三次元空間内における位置座標を算出することができる。
 また、この態様では、前記位置座標算出手段により前記欠落要素の位置座標が算出されない状態が所定時間にわたり継続する場合は、前記位置座標算出手段が、当該欠落要素の位置座標を、前記時間の前において最後に算出される当該欠落要素の位置座標と、前記時間の後において最初に算出される当該欠落要素の位置座標と、に基づいて算出してもよい。こうすれば、三次元空間内における欠落要素の位置座標の算出が所定時間にわたりできない場合に、三次元空間内におけるこれらの欠落要素の位置座標を、この所定時間の直前及び直後に算出される当該欠落要素の位置座標に基づいて算出することができる。
 また、この態様では、前記位置座標算出手段により前記欠落要素の位置座標が算出されない場合は、当該欠落要素の位置座標を、当該基礎データとは異なる複数の基礎データそれぞれに基づいて算出される当該欠落要素の位置座標の差分に基づいて算出してもよい。こうすれば、基礎データに基づいて三次元空間内における欠落要素の位置座標が算出されない場合に、この基礎データとは異なる複数の基礎データに基づいて算出される三次元空間内における欠落要素の位置座標の差分の情報を用いて、当該欠落要素の位置座標を算出することができる。
 また、本発明の一態様では、前記基礎データが、複数の撮像手段それぞれにより生成される画像と、前記各画像を撮像した撮像手段と当該画像に表示されている物体との距離を示す距離データと、を含み、前記画像内位置特定手段が、前記基礎データに含まれる複数の画像それぞれに基づいて、それぞれの画像内の前記移動体が表示されている位置を特定し、前記距離特定手段が、前記移動体と前記各撮像手段との距離を特定し、前記位置座標算出手段が、前記画像内位置特定手段により特定される複数の前記画像内の位置と、前記距離特定手段により特定される複数の前記距離と、に基づいて、前記位置座標を算出することを特徴とする。こうすれば、撮像手段により物体を撮像する際における死角が少なくなるので、基礎データに基づいて移動体の三次元空間内における位置座標が算出されない可能性を減らすことができる。
 本発明に係る別の情報処理装置は、所定の移動体の動きを示す基礎モーションデータに基づいて、他の移動体の動きを示す生成モーションデータを生成する情報処理装置であって、移動体の識別子に関連付けて、当該識別子が示す移動体の動きを前記所定の移動体の動きに基づいて決定する規則を示す規則データを複数記憶する規則データ記憶手段と、移動体の識別子を受け付ける識別子受付手段と、前記基礎モーションデータを取得する基礎モーションデータ取得手段と、前記規則データ記憶手段に記憶されている複数の規則データのうちから、前記識別子受付手段が受け付ける識別子と関連付けられる規則データを選択する規則データ選択手段と、前記基礎モーションデータ取得手段により取得される基礎モーションデータに、前記規則データ選択手段により選択される規則データが示す規則を適用して、前記識別子受付手段が受け付ける識別子が示す移動体の動きを示す生成モーションデータを生成する生成モーションデータ生成手段と、を含むことを特徴とする。
 また、本発明に係る別の情報処理方法は、所定の移動体の動きを示す基礎モーションデータに基づいて、他の移動体の動きを示す生成モーションデータを生成する情報処理方法であって、移動体の識別子に関連付けて、当該識別子が示す移動体の動きを前記所定の移動体の動きに基づいて決定する規則を示す規則データを規則データ記憶手段に複数記憶させるステップと、前記基礎モーションデータを取得する基礎モーションデータ取得ステップと、移動体の識別子を受け付ける識別子受付ステップと、前記規則データ記憶手段に記憶されている複数の規則データのうちから、前記識別子受付ステップで受け付ける識別子と関連付けられる規則データを選択する規則データ選択ステップと、前記基礎モーションデータ取得ステップにより取得される基礎モーションデータに、前記規則データ選択ステップにより選択される規則データが示す規則を適用して、前記識別子受付ステップで受け付ける識別子が示す移動体の動きを示す生成モーションデータを生成する生成モーションデータ生成ステップと、を含むことを特徴とする。
 また、本発明に係る別のプログラムは、所定の移動体の動きを示す基礎モーションデータに基づいて、他の移動体の動きを示す生成モーションデータを生成する情報処理装置としてコンピュータを機能させるプログラムであって、移動体の識別子に関連付けて、当該識別子が示す移動体の動きを前記所定の移動体の動きに基づいて決定する規則を示す規則データを規則データ記憶手段に複数記憶させる手段、前記基礎モーションデータを取得する基礎モーションデータ取得手段、移動体の識別子を受け付ける識別子受付手段、前記規則データ記憶手段に記憶されている複数の規則データのうちから、前記識別子受付手段が受け付ける識別子と関連付けられる規則データを選択する規則データ選択手段、前記基礎モーションデータ取得手段により取得される基礎モーションデータに、前記規則データ選択手段により選択される規則データが示す規則を適用して、前記識別子受付手段が受け付ける識別子が示す移動体の動きを示す生成モーションデータを生成する生成モーションデータ生成手段、として前記コンピュータを機能させることを特徴とする。
 また、本発明に係る別の情報記憶媒体は、所定の移動体の動きを示す基礎モーションデータに基づいて、他の移動体の動きを示す生成モーションデータを生成する情報処理装置としてコンピュータを機能させるプログラムが記憶されたコンピュータ読み取り可能な情報記憶媒体であって、移動体の識別子に関連付けて、当該識別子が示す移動体の動きを前記所定の移動体の動きに基づいて決定する規則を示す規則データを規則データ記憶手段に複数記憶させる手段、前記基礎モーションデータを取得する基礎モーションデータ取得手段、移動体の識別子を受け付ける識別子受付手段、前記規則データ記憶手段に記憶されている複数の規則データのうちから、前記識別子受付手段が受け付ける識別子と関連付けられる規則データを選択する規則データ選択手段、前記基礎モーションデータ取得手段により取得される基礎モーションデータに、前記規則データ選択手段により選択される規則データが示す規則を適用して、前記識別子受付手段が受け付ける識別子が示す移動体の動きを示す生成モーションデータを生成する生成モーションデータ生成手段、として前記コンピュータを機能させることを特徴とするプログラムが記憶されたコンピュータ読み取り可能な情報記憶媒体である。
 本発明によると、所定の移動体の動きを示す基礎モーションデータに基づいて、識別子受付手段が受け付ける識別子に応じた移動体の動きを示すモーションデータが生成されるので、モーションデータを利用してCGを制作する際における制作者の手間を軽減することができる。
 本発明の一態様では、前記基礎モーションデータが、各フレームにおける前記所定の移動体の位置を示しており、前記規則データ記憶手段が、前記識別子が示す移動体の各フレームにおける位置を、前記所定の移動体の各フレームにおける位置に基づいて決定する規則を示す規則データを記憶し、前記基礎モーションデータ取得手段が、前記基礎モーションデータを順次取得し、前記生成モーションデータ生成手段が、順次取得される前記各基礎モーションデータに、前記規則データ選択手段により選択される規則データが示す規則を順次適用して、前記識別子受付手段が受け付ける識別子が示す移動体の各フレームにおける位置を示す前記生成モーションデータを順次生成することを特徴とする。こうすれば、各フレームにおける移動体の位置が示された生成モーションデータを、基礎モーションデータが示す各フレームにおける移動体の位置に基づいて生成することができる。
 また、この態様では、前記規則データ記憶手段が、前記識別子が示す移動体の各フレームにおける位置を、前記所定の移動体の、互いに異なる複数のフレームにおける位置の組合せに基づいて決定する規則を示す規則データを記憶してもよい。こうすれば、異なるフレームにおける所定の移動体の位置に基づいて、生成モーションデータが生成されるので、生成モーションデータのバリエーションを豊かにすることができる。
 また、本発明の一態様では、前記基礎モーションデータが、前記所定の移動体に含まれる複数の要素それぞれの動きを示しており、前記規則データ記憶手段が、複数の要素が含まれる移動体の識別子に関連付けて、当該識別子が示す移動体に含まれる複数の要素それぞれの動きを前記所定の移動体に含まれる複数の要素それぞれの動きに基づいて決定する規則を示す規則データを記憶し、前記生成モーションデータ生成手段が、前記識別子受付手段が受け付ける識別子が示す移動体に含まれる複数の要素それぞれの動きを示す生成モーションデータを生成することを特徴とする。こうすれば、生成モーションデータが示す、識別子受付手段が受け付ける識別子に応じた移動体に含まれる要素それぞれの動きを、所定の移動体に含まれる要素それぞれの動きに対応づけることができる。
 また、この態様では、前記規則データ記憶手段が、前記所定の移動体又は前記識別子が示す移動体のうちの一方に含まれる複数の要素それぞれの位置の組合せと、他方に含まれる1つの要素とを対応づける規則を示す規則データを記憶してもよい。こうすれば、所定の移動体に含まれる複数の要素の位置の組合せに基づいて、識別子受付手段が受け付ける識別子に応じた移動体に含まれる1つの要素の位置を算出すること、あるいは、所定の移動体に含まれる1つの要素の位置に基づいて、識別子受付手段が受け付ける識別子に応じた移動体に含まれる複数の要素それぞれの位置を算出することが可能となる。
本発明の第1実施形態に係る情報処理システムのハードウェア構成の一例を示すハードウェア構成図である。 本発明の第1実施形態に係る携帯型ゲーム装置の一例を示す斜視図である。 基礎データのデータ構造の一例を示す図である。 第1ユーザ画像の一例を示す図である。 第2ユーザ画像の一例を示す図である。 第3ユーザ画像の一例を示す図である。 第4ユーザ画像の一例を示す図である。 第5ユーザ画像の一例を示す図である。 本発明の第1実施形態に係る情報処理装置の機能の一例を示す機能ブロック図である。 第1ユーザ画像内の各要素の位置の一例を示す図である。 右手第1物体距離の一例を示す図である。 ワイヤーフレームモデルデータの一例を示す図である。 本発明の第1実施形態に係る情報処理装置で行われる処理のフローの一例を示す図である。 第3三次元位置座標の算出方法の一例を示す図である。 複数の携帯型ゲーム装置の撮像部によりユーザを撮像する様子の一例を示す図である。 ユーザ画像の一例を示す図である。 画像データのデータ構造の一例を示す図である。 本発明の第2実施形態に係る情報処理装置の機能ブロック図である。 第1移動体選択画面の一例を示す図である。 受付識別子データのデータ構造の一例を示す図である。 被写体ユーザに含まれる各要素の一例を示す図である。 移動体要素データのデータ構造の一例を示す図である。 モーションデータのデータ構造の一例を示す図である。 移動体対応管理データのデータ構造の一例を示す図である。 クモオブジェクトに含まれる各要素の一例を示す図である。 クモ画像の一例を示す図である。 本発明の第2実施形態に係る情報処理装置で行われる処理のフローの一例を示す図である。
[第1実施形態]
 以下、本発明の一実施形態である第1実施形態について図面に基づき詳細に説明する。
 図1は、第1実施形態に係る情報処理システム1のハードウェア構成の一例を示す図である。図1に示すように、第1実施形態に係る情報処理システム1は、情報処理装置2と、携帯型ゲーム装置3と、を含んでいる。そして、図2は、第1実施形態に係る携帯型ゲーム装置3の一例を示す斜視図である。
 情報処理装置2は、制御部21、記憶部22、通信部23、ユーザインタフェース(UI)部24、を含んで構成される。制御部21、記憶部22、通信部23、UI部24、はバスを介して接続される。
 情報処理装置2の制御部21はCPU等のプログラム制御デバイスであり、情報処理装置2にインストールされるプログラムに従って動作する。
 情報処理装置2の記憶部22は、RAM等の記憶素子やハードディスクドライブなどである。情報処理装置2の記憶部22には、情報処理装置2の制御部21によって実行されるプログラムなどが記憶される。また、情報処理装置2の記憶部22は、情報処理装置2の制御部21のワークメモリとしても動作する。
 情報処理装置2の通信部23は、例えば、ネットワークインタフェースなどであり、情報処理装置2の制御部21から入力される指示に従って、情報を送信する。また、この情報処理装置2の通信部23は、LANなどのネットワークを介して受信される情報を情報処理装置2の制御部21に出力する。
 情報処理装置2のUI部24は、ディスプレイ、マイク、スピーカ、ボタンなどであり、利用者が行った操作の内容や、利用者が入力した音声を制御部21に出力する。また、この情報処理装置2のUI部24は、情報処理装置2の制御部21から入力される指示に従って情報を表示出力したり音声出力したりする。
 図2に示すように、第1実施形態に係る携帯型ゲーム装置3の筐体30の形状は、箱形である。そして、図1に示すように、第1実施形態に係る携帯型ゲーム装置3は、制御部31、記憶部32、通信部33、表示部34、操作部35、撮像部36、距離測定部37、を備えている。
 携帯型ゲーム装置3の制御部31はCPU等のプログラム制御デバイスであり、携帯型ゲーム装置3の記憶部32に格納されたプログラムに従って動作する。
 携帯型ゲーム装置3の記憶部32は、RAM等の記憶素子やハードディスクドライブなどである。携帯型ゲーム装置3の記憶部32には、携帯型ゲーム装置3の制御部31によって実行されるプログラムなどが格納される。具体的には、例えば、携帯型ゲーム装置3の制御部31で実行されるゲームプログラムが格納される。このゲームプログラムは、例えば、ディスク、CD-ROM、DVD-ROM等の情報伝達媒体を介して、あるいは、インターネット等の通信ネットワークを介して携帯型ゲーム装置3に供給される。また、携帯型ゲーム装置3の記憶部32は、携帯型ゲーム装置3の制御部31のワークメモリとしても動作する。
 携帯型ゲーム装置3の通信部33は、例えば、ネットワークインタフェースなど(具体的には、例えば、無線LANモジュール)であり、携帯型ゲーム装置3の制御部31から入力される指示に従って、情報処理装置2などへ情報を送信する。また、この携帯型ゲーム装置3の通信部33は、受信される情報を携帯型ゲーム装置3の制御部31に出力する。
 第1実施形態においては、情報処理装置2の通信部23、及び、携帯型ゲーム装置3の通信部33は、LANなどのネットワークに接続されており互いに通信することができるようになっている。なお、ネットワークは有線であっても無線であっても構わない。
 携帯型ゲーム装置3の表示部34は、例えば液晶ディスプレイ等であり、携帯型ゲーム装置3の制御部31からの指示に従って、画像の表示を行う。第1実施形態では、携帯型ゲーム装置3の表示部34は、携帯型ゲーム装置3の筐体30の正面中央部に設けられている。ここで、携帯型ゲーム装置3の制御部31は、携帯型ゲーム装置3の表示部34に、表示される画像の解像度やアスペクト比などといった属性を併せて指示してもよい。また、携帯型ゲーム装置3の制御部31は、実行するプログラムに含まれる、画像の解像度やアスペクト比などといった属性を示す属性情報の内容に従って携帯型ゲーム装置3の表示部34に表示される画像の属性を指示してもよい。
 携帯型ゲーム装置3の操作部35は、例えば、操作部材(具体的には、例えば、十字キーやボタン)であり、当該操作部材に対する操作に応じた出力データを携帯型ゲーム装置3の制御部31に対して出力する。携帯型ゲーム装置3の制御部31は、この出力データを取得することで、当該出力データを用いてプレイヤの操作部材に対する操作に応じた処理を実行する。第1実施形態では、携帯型ゲーム装置3の操作部35は、携帯型ゲーム装置3の表示部34の左右に設けられている。すなわち、携帯型ゲーム装置3の操作部35は、携帯型ゲーム装置3の筐体30の正面左側及び正面右側に分かれて配置されている。
 携帯型ゲーム装置3の撮像部36は、例えば、公知のデジタルカメラを含んで構成され、所定時間(例えば1/60秒)ごとに、白黒、グレイスケール又はカラーの画像(例えば、JPEG形式の画像)を生成する。なお、携帯型ゲーム装置3の撮像部36は、標準カメラであっても、望遠カメラであっても、広角カメラであっても構わない。第1実施形態では、携帯型ゲーム装置3の撮像部36は、携帯型ゲーム装置3の表示部34の上側に設けられている。すなわち、携帯型ゲーム装置3の撮像部36は、筐体30の正面中央付近上側に設けられている。
 携帯型ゲーム装置3の距離測定部37は、携帯型ゲーム装置3と、その外部に存在する外部物体との距離を測定する。携帯型ゲーム装置3の距離測定部37は、例えば、携帯型ゲーム装置3の撮像部36と、外部物体(より具体的には、例えば、外部物体の表面)との距離(以下、物体距離と呼ぶ。)を測定し、物体距離を示す距離データ44を生成する(図3参照)。なお、距離データ44の詳細については後述する。
 第1実施形態では、携帯型ゲーム装置3の距離測定部37は、携帯型ゲーム装置3の撮像部36によって生成される画像に含まれる各画素と、各画素に対応する物体距離とを対応づけた距離データ44を生成する。すなわち、第1実施形態では、携帯型ゲーム装置3の撮像部36によって生成される画像内の画素の位置と、携帯型ゲーム装置3の距離測定部37で測定される物体距離とは一対一で対応づけられる。
 携帯型ゲーム装置3の距離測定部37は、具体的には、例えば、複数のレンズから構成されるステレオカメラであり、それぞれのレンズの視差に基づいて、外部物体と携帯型ゲーム装置3との距離を測定する。携帯型ゲーム装置3の距離測定部37は、ステレオカメラにはもちろん限定されず、携帯型ゲーム装置3の距離測定部37は、赤外線を出力して、その赤外線が撮像対象オブジェクトに反射して戻ってくるまでの時間を測定して、その測定された時間に基づいて、外部物体と携帯型ゲーム装置3との距離を測定しても構わない。また、携帯型ゲーム装置3の距離測定部37が、焦点距離の異なる複数のレンズから構成され、これらのレンズのうち、外部物体に対してピントが合ったレンズに基づいて、外部物体と携帯型ゲーム装置3との距離を測定しても構わない。なお、第1実施形態では、携帯型ゲーム装置3の距離測定部37は、携帯型ゲーム装置3の撮像部36と一体的に形成されており、表示部34の上側に設けられている。すなわち、携帯型ゲーム装置3の距離測定部37は、正面中央付近上側に設けられている。
 第1実施形態では、携帯型ゲーム装置3は、基礎データ40を生成し、情報処理装置2に送信する(図3参照)。図3は、基礎データ40のデータ構造の一例を示す図である。図3に示すように、基礎データ40は、ユーザ画像42と距離データ44とを含んでいる。
 第1実施形態では、携帯型ゲーム装置3の撮像部36が、所定時間(例えば1/60秒)ごとに、被写体ユーザ46の動く様子を撮像し、一連のユーザ画像42を生成する(図4A~図4E参照)。ここで、被写体ユーザ46は移動体の一例として示しているにすぎない。撮像部36が、被写体ユーザ46以外の移動体が動く様子を撮像して、その移動体の画像を生成するようにしても構わない。
 第1実施形態では、具体的には、例えば、撮像部36が、被写体ユーザ46を撮像し、順次第nユーザ画像42-n(n=1,2,3・・・)を生成する。図4Aに第1ユーザ画像42-1の一例を、図4Bに第2ユーザ画像42-2の一例を、図4Cに第3ユーザ画像42-3の一例を、図4Dに第4ユーザ画像42-4の一例を、図4Eに第5ユーザ画像42-5の一例を示す。そして、図4A~図4Eに示すように、第1実施形態に係るユーザ画像42には、被写体ユーザ46だけではなく、地面48も表示されている。すなわち、撮像部36により生成される画像には、被写体ユーザ46などの移動体を含む少なくとも1つの物体が表示されている。また、携帯型ゲーム装置3の距離測定部37は、被写体ユーザ46と携帯型ゲーム装置3との距離を順次測定し、第nユーザ画像42-n内の各画素に対応する物体距離を対応づけた第n距離データ44-nを生成する。そして、携帯型ゲーム装置3の制御部31が、第nユーザ画像42-nと、そのユーザ画像42に対応する第n距離データ44-nと、を含む第n基礎データ40-nを生成する。
 そして、携帯型ゲーム装置3の通信部33が基礎データ40を情報処理装置2に送信する。そして、情報処理装置2の通信部23がこの基礎データ40を受信する。
 次に、第1実施形態に係る情報処理装置2により実現される機能を説明する。図5は、本実施形態に係る情報処理装置2の機能ブロック図である。図5に示すように、第1実施形態に係る情報処理装置2は、機能的には、基礎データ取得部50、画像内位置特定部52、距離特定部54、位置座標算出部56、モーションデータ生成部58を含むものとして機能する。これらの要素は、コンピュータである情報処理装置2にインストールされたプログラムを、情報処理装置2に含まれるCPU等の制御部21で実行することにより実現されている。なお、このプログラムは、例えば、CD-ROM、DVD-ROMなどのコンピュータ可読な情報伝達媒体を介して、あるいは、インターネットなどの通信ネットワークを介して情報処理装置2に供給される。
 基礎データ取得部50は、画像と距離データ44とを含む基礎データ40を複数取得する。第1実施形態では、基礎データ取得部50は、携帯型ゲーム装置3の通信部33が送信して、情報処理装置2の通信部23が受信する、ユーザ画像42と距離データ44とを含む基礎データ40を順次取得する。
 画像内位置特定部52は、基礎データ40に含まれる画像(第1実施形態ではユーザ画像42)に基づいて、所定の移動体(第1実施形態では被写体ユーザ46)が表示されている、画像(第1実施形態ではユーザ画像42)内の位置を特定する。
 第1実施形態では、被写体ユーザ46は複数の要素60を含んでいる(図6参照)。本実施形態では、各要素60は、例えば、頭、胴体、左ひざ、右ひざ、左足、右足、左手、右手などといった被写体ユーザ46の体の部位に対応している。そして、画像内位置特定部52は、例えば、パターン認識技術を用いて、各要素60の、ユーザ画像42内の位置を特定する。図6は、画像内位置特定部52により特定された、第1ユーザ画像42-1内の、右手を示す右手要素60a及び胴体を示す胴体要素60bを含む各要素60の位置の一例を示す図である。
 ここで、画像内位置特定部52は、ユーザ画像42内の各画素の色に基づいて、各要素60の位置を特定するようにしても、もちろん構わない。また、画像内位置特定部52は、既存の光学式モーションキャプチャ技術などを利用して、各要素60の、ユーザ画像42内の位置を特定しても構わない。
 なお、画像内位置特定部52が、情報処理装置2の記憶部22に予め記憶されている、被写体ユーザ46に含まれる要素60、及び、その各要素60のユーザ画像42内における位置を特定する方法を示す特定方法データを用いて、各要素の位置座標を特定するようにしても構わない。
 画像内位置特定部52は、各要素60を代表する代表点(例えば、各要素60が表示されている領域の重心)の位置座標を特定するようにしても構わない。第1実施形態では、画像内位置特定部52は、第nユーザ画像42-n内において右手要素60aが表示されている領域の重心(右手重心)の位置座標(右手第n画像内位置座標)(X,Y)を特定する。図6に、画像内位置特定部52により特定された右手第1画像内位置座標(X,Y)を併せて示す。ここで、右手第n画像内位置座標(X,Y)は、第nユーザ画像42-nの左上の点を原点とし、下方向をX軸、右方向をY軸とする二次元座標系における位置座標で表現されている。なお、画像内位置座標の表現方法は上述の方法にもちろん限定されない。
 距離特定部54は、画像内位置特定部52により特定される画像内の位置と、その画像を含む基礎データ40に含まれる距離データ44と、に基づいて、移動体と携帯型ゲーム装置3の撮像部36との距離を特定する。第1実施形態では、距離特定部54は、ユーザ画像42を含む基礎データ40に含まれる距離データ44が示す、ユーザ画像42内の各要素60の代表点の位置座標に対応づけられた物体距離を特定する。具体的には、例えば、右手第n画像内位置座標(X,Y)の画素に対応づけられる、第n距離データ44-nが示す物体距離を、右手第n物体距離Zとして特定する。図7に、右手第1物体距離Zの一例を示す図を示す。なお、距離特定部54は、上述とは異なる方法により物体距離を特定しても構わない。具体的には、例えば、第nユーザ画像42-n内において右手要素60aが表示されている領域内の各画素に対応づけられる物体距離の平均値を、右手第n物体距離Zとして特定してもよい。
 位置座標算出部56は、画像内位置特定部52により特定される画像内の位置と、距離特定部54により特定される距離と、に基づいて、移動体の三次元空間内における位置座標を算出する。第1実施形態では、位置座標算出部56は、第nユーザ画像42-n内の各要素60の代表点の位置座標と、距離特定部54により、第n距離データ44-nに基づいて特定される、その位置座標に対応づけられた物体距離と、に基づいて、その代表点の第n三次元位置座標を算出する。より具体的には、例えば、位置座標算出部56は、右手第n画像内位置座標(X,Y)と、右手第n物体距離Zとに基づいて、右手第n三次元位置座標(x,y,z)を算出する(図8参照)。なお、位置座標算出部56は、同様の方法により、胴体第n三次元位置座標(x’,y’,z’)を算出しても構わない。なお、第1実施形態では直交座標系により、三次元位置座標が表現されているが、極座標系など他の座標系により、三次元位置座標が表現されてももちろん構わない。
 モーションデータ生成部58は、各基礎データ40に基づいて算出される位置座標に基づいて、移動体の三次元空間内における動きを示すモーションデータを生成する。本実施形態では、各基礎データ40に基づいて算出される、被写体ユーザ46に含まれる各要素60の代表点の三次元位置座標に基づいて、被写体ユーザ46の三次元空間内における動きを示すモーションデータを生成する。より具体的には、例えば、右手第1三次元位置座標(x,y,z)、右手第2三次元位置座標(x,y,z)などの、一連の右手第n三次元位置座標(x,y,z)を組み合わせて、右手の三次元空間内における動きを示すモーションデータを生成する。
 なお、モーションデータ生成部58が、例えば、情報処理装置2の記憶部22に予め記憶されている、要素60間の接続関係を示す接続関係データを用いて、図8に示すような、被写体ユーザ46のワイヤーフレームモデルデータ62を生成するようにしても構わない。このように、各要素の動きを示すモーションデータを組み合わせることで、例えば、人間が歩く様子を示すモーションデータが生成される。
 第1実施形態では、一連の三次元位置座標に基づいてモーションデータが生成される。そのため、第1実施形態に係る情報処理装置2によれば、移動体の立体的な動きがシミュレートされたモーションデータを生成することができる。
 次に、第1実施形態に係る情報処理装置2の基礎データ取得部50が取得する第n基礎データ40-nに基づいて、被写体ユーザ46に含まれる右手要素60aの三次元空間内における第n三次元位置座標(x,y,z)を算出する処理の流れの一例を、図9に示すフロー図を参照しながら説明する。
 まず、画像内位置特定部52が、第n基礎データ40-nに含まれる第nユーザ画像42-nに基づいて、右手第n画像内位置座標(X,Y)を特定する(S101)。
 そして、距離特定部54が、右手第n画像内位置座標(X,Y)に対応する、基礎データ40に含まれる距離データ44に示される右手第n物体距離Zを特定する(S102)。
 そして、位置座標算出部56が、右手第n画像内位置座標(X,Y)と、右手第n物体距離Zと、に基づいて、右手第n三次元位置座標(x,y,z)を算出する(S103)。
 そして、位置座標算出部56は、S103に示す処理により、右手第n三次元位置座標(x,y,z)が算出されたか否かを確認する(S104)。ここで、右手第n三次元位置座標(x,y,z)が算出されている場合は(S104:Y)、この処理を終了する。
 ここで、例えば、画像内位置特定部52が、第nユーザ画像42-nに基づいて右手第n画像内位置座標(X,Y)を特定できない場合がある。より具体的には、例えば、図4Cに示すように、右手要素60aが被写体ユーザ46の陰に隠れているために、画像内位置特定部52が、第nユーザ画像42-3に基づいて、右手第3画像内位置座標(X,Y)を特定できない場合がある。また、距離特定部54が、第n距離データ44-nに基づいて、右手第n物体距離Zを特定できない場合がある。このような場合は、S104に示す処理において、第n基礎データ40-nに基づいて、右手第n三次元位置座標(x,y,z)が算出されない。
 このように、S104に示す処理において、第n基礎データ40-nに基づいて、右手第n三次元位置座標(x,y,z)が算出されていない場合は(S104:N)、この右手要素60aについては、位置座標算出部56が、基礎データ取得部50が取得する複数の基礎データ40のうち、第n基礎データ40-nとは異なる基礎データ40に基づいて、三次元位置座標を算出する(S105)。
 具体的には、例えば、位置座標算出部56が、胴体を示す要素60(胴体要素60b)の三次元位置座標(胴体第n三次元位置座標(x’,y’,z’))から右手第n三次元位置座標(x,y,z)へのベクトルVを用いて、S104に示す処理により算出されていない右手要素60aの第n三次元位置座標(x,y,z)を算出するようにしてもよい。図10に、位置座標算出部56が、ベクトルVを用いて第3三次元位置座標(x,y,z)を算出する方法の一例を示す。例えば、位置座標算出部56が、まず、右手第1ベクトルVと、右手第2ベクトルVとがなす角θ12に基づいて、右手第2ベクトルVと右手第3ベクトルVとがなす角θ23が等しくなり(θ12=θ23)、右手第2ベクトルVのノルム|V|と、右手第3ベクトルVのノルム|V|が等しくなり(|V|=|V|)、右手第1ベクトルV、右手第2ベクトルV、右手第3ベクトルVが同一平面上のベクトルとなるよう、右手第3ベクトルVの値を算出する。そして、位置座標算出部56が、胴体第3三次元位置座標(x’,y’,z’)の位置ベクトルと、右手第3ベクトルVとのベクトル和に基づいて、右手第3三次元位置座標(x,y,z)を算出する。
 なお、S105に示す処理における右手第n三次元位置座標(x,y,z)の算出方法は上述の方法に限定されない。例えば、位置座標算出部56は、第1三次元位置座標(x,y,z)から第2三次元位置座標(x,y,z)へのベクトル(x-x,y-y,z-z)と、第2三次元位置座標(x,y,z)の位置ベクトルとのベクトル和に基づいて、第3三次元位置座標(x,y,z)を算出するようにしても構わない((x,y,z)=(2x-x,2y-y,2z-z))。
 また、位置座標算出部56は、例えば、右手第2三次元位置座標(x,y,z)と、右手第4三次元位置座標(x,y,z)とに基づいて、右手第3三次元位置座標(x,y,z)を算出するようにしても構わない。より具体的には、例えば、右手第2三次元位置座標(x,y,z)と右手第4三次元位置座標(x,y,z)との中点を右手第3三次元位置座標(x,y,z)として算出するようにしても構わない。
 このように、位置座標算出部56により、第n基礎データ40-nに基づいて、移動体に含まれる複数の要素のうちの欠落要素の位置座標が算出されない場合は(S104参照)、位置座標算出部56が、この欠落要素の位置座標を、基礎データ取得部50が取得する複数の基礎データ40のうちの、第n基礎データ40-nとは異なる基礎データ40に基づいて算出するようにしても構わない(S105参照)。また、位置座標算出部56が、欠落要素の三次元位置座標を、三次元位置座標の差分に基づいて算出するようにしても構わない。
 また、S104に示す処理において、右手第3三次元位置座標(x,y,z)と、右手第4三次元位置座標(x,y,z)とが算出されていないことが確認された場合は、S105に示す処理において、位置座標算出部56が、右手第2三次元位置座標(x,y,z)と、右手第5三次元位置座標(x,y,z)とに基づいて、右手第3三次元位置座標(x,y,z)及び右手第4三次元位置座標(x,y,z)を算出するようにしても構わない。このように、例えば、時刻t1から時刻t2にわたって欠落要素の位置座標が算出されない状態が継続する場合は、位置座標算出部56が、欠落要素の位置座標を、時刻t1より前において最後に算出される欠落要素の位置座標と、時刻t2後において最初に算出される欠落要素の位置座標と、に基づいて算出するようにしても構わない。
 S105に示す処理でも三次元位置座標が特定されない場合には、情報処理装置2の制御部21が、スピーカなどの、情報処理装置2のUI部24に対してアラーム音を出力するよう指示してもよい。また、携帯型ゲーム装置3がスピーカを備えている場合は、情報処理装置2の制御部21が、情報処理装置2の通信部23を介して、携帯型ゲーム装置3のスピーカにアラーム音を出力するよう指示してもよい。
 上記の処理例においては、右手第n三次元位置座標(x,y,z)を算出する処理例を示したが、同様の方法により、右手要素60a以外の要素60の、三次元位置座標を算出することができるのはもちろんである。
 このように、第1実施形態においては、携帯型ゲーム装置3の撮像部36により生成されるユーザ画像42と、携帯型ゲーム装置3の距離測定部37により生成される距離データ44とに基づいて、各フレームにおける移動体の三次元位置座標が算出される。そしてこの一連の三次元位置座標に基づいてモーションデータが生成されるので、移動体の立体的な動きをシミュレートしてモーションデータを生成する際におけるユーザの手間が軽減される。
 さらに、第n基礎データ40-nだけからでは、第n三次元位置座標が算出されず、他の基礎データ40から算出される位置座標に基づいて、第n三次元位置座標を算出する場合において、他の基礎データ40から算出される三次元の位置座標に関する情報を活用することができるので、算出される第n三次元位置座標の精度をより高めることができる。
 なお、本発明は上述の実施形態に限定されるものではない。
 例えば、図11に示すように、複数の携帯型ゲーム装置3(第1携帯型ゲーム装置3-1、及び、第2携帯型ゲーム装置3-2)の撮像部36が互いにタイミングを合わせて、被写体ユーザ46などの移動体を撮像し、第1携帯型ゲーム装置3-1の距離測定部37が、第1携帯型ゲーム装置3-1と被写体ユーザ46などの移動体との距離を測定し、第2携帯型ゲーム装置3-2の距離測定部37が、第2携帯型ゲーム装置3-2と被写体ユーザ46などの移動体との距離を測定するようにしても構わない。このとき、それぞれの携帯型ゲーム装置3から送信される基礎データ40の組合せに基づいて、位置座標算出部56が、三次元位置座標を算出するようにしても構わない。
 具体的には、例えば、まず、第1携帯型ゲーム装置3-1の撮像部36で予め被写体ユーザ46を撮像することにより生成されるユーザ画像42を第1携帯型ゲーム装置3-1の表示部34に表示する。そして、ユーザが、このユーザ画像42内のある要素60(例えば右手要素60a)の位置を、第1携帯型ゲーム装置3-1の操作部35により指定する。そして、第1携帯型ゲーム装置3-1の制御部31が、ユーザにより指定された位置を示すデータを取得する。そして、第2携帯型ゲーム装置3-2の撮像部36で予め被写体ユーザ46を撮像することにより生成されるユーザ画像42を第2携帯型ゲーム装置3-2の表示部34に表示する。そして、ユーザが、このユーザ画像42内の要素60(例えば右手要素60a)の位置を、第2携帯型ゲーム装置3-2の操作部35により指定する。そして、第2携帯型ゲーム装置3-2の制御部31が、ユーザにより指定された位置を示すデータを取得する。このようにして、それぞれの携帯型ゲーム装置3において、互いに対応する要素60の位置を予め指定した上で、被写体ユーザ46の動く様子をそれぞれの携帯型ゲーム装置3の撮像部36で撮像して、一連のユーザ画像42を生成し、それぞれの携帯型ゲーム装置3の距離測定部37が一連の距離データ44を生成する。そしてそれぞれの携帯型ゲーム装置3がユーザ画像42と距離データ44とを含む基礎データ40を生成し、情報処理装置2へ送信する。そして、情報処理装置2がそれぞれの携帯型ゲーム装置3から送信される基礎データ40を受信して、これらの基礎データ40の組合せに基づいて、位置座標算出部56が、三次元位置座標を算出する。
 こうすれば、例えば、一方の携帯型ゲーム装置3で生成されるユーザ画像42には表示されていない要素60が、他方の携帯型ゲーム装置3で生成されるユーザ画像42には表示されているような場合があるので、上述の処理例のS105に示すような、第n基礎データ40-nとは異なる基礎データ40を用いて第n三次元位置座標を算出する場面を減らすことができる。
 なお、それぞれの携帯型ゲーム装置3が、その携帯型ゲーム装置3が配置されている位置を示すデータを基礎データ40と併せて情報処理装置2へ送信するようにしても構わない。こうすれば、それぞれの携帯型ゲーム装置3の位置を示すデータに基づいて、各要素60の三次元位置座標を算出することができる。
 また、例えば、情報処理システム1が、携帯型ゲーム装置3の代わりに、撮像機能と距離測定機能を有するビデオカメラなどを含んでいても構わない。すなわち、携帯型ゲーム装置3の代わりとして、撮像機能と距離測定機能を有するビデオカメラを用いても構わない。
 また、上述の情報処理装置2と携帯型ゲーム装置3とが一つの筐体により実装されていても構わない。
 次に、このようにして生成されるモーションデータの活用例を以下に示す。
 例えば、生成されるモーションデータが情報処理装置2の通信部23からインターネットワークなどのネットワークを介して接続されているサーバ(図示せず)にアップロードされてもよい。その際に、ユーザが、モーションデータを使用しているゲームタイトルを示すデータ、モーションデータの作者を示すデータ、このモーションデータに基づいて生成されたCGのキャラクタを示すデータなどの属性データを関連付けてモーションデータを併せてアップロードできるようにしてもよい。そして、サーバでは、モーションデータと属性データとが関連付けられて記憶されるようにしても構わない。また、モーションデータは、既存のスクリプト言語で記述されたデータに変換された上で、サーバに記憶されるようにしてもよい。
 ユーザが、サーバに記憶されているモーションデータを、例えば、ブラウザなどで閲覧できるようにしてもよい。このとき、モーションデータが、カテゴリに分類されて表示されるようにしてもよい。また、モーションデータがアイコン化されていてもよい。具体的には、例えば、モーションデータが、ワイヤーフレームや、キャラクタなどの動きとしてブラウザで表現されるようにしてもよい。
 また、モーションデータをアップロードするユーザが、このモーションデータの公開対象となるユーザを設定して、設定されたユーザのみがモーションデータを閲覧することができるようにしてもよい。
 そして、閲覧の対象であるモーションデータが、モーションデータのネットワークストアへのハイパーリンクとなっており、ユーザがそのハイパーリンクをクリックすることにより、モーションデータを購入することができるようになっていてもよい。
 また、新たにサーバにアップロードされるモーションデータを、情報処理装置2が、ネットワークを介して逐次ダウンロードして、情報処理装置2の記憶部22にキャッシュするようにしてもよい。また、例えば、ゲームのセーブデータと共に、モーションデータが情報処理装置2の記憶部22に記憶されていても構わない。
 また、例えば、情報処理装置2が、サーバに記憶されている、人間がダンスをしている様子や人間がゴルフのスイングをしている様子が示されているモーションデータと、携帯型ゲーム装置3の撮像部36で撮像される一連のユーザ画像42に基づいて生成されるモーションデータとを比較して、それぞれのモーションデータの対応度に基づく点数を算出するようにしても構わない。
[第2実施形態]
 以下、本発明の別の実施形態である第2実施形態について説明する。なお、第2実施形態については、第1実施形態と異なる特徴を中心に説明し、第1実施形態と同様の特徴については説明を省略する。
 図1は、第2実施形態に係る情報処理システム1のハードウェア構成の一例を示す図でもある。第2実施形態に係る情報処理システム1のハードウェア構成は、第1実施形態に係る情報処理システム1のハードウェア構成と同様であるので、説明を省略する。図2は、第2実施形態に係る携帯型ゲーム装置3の一例を示す斜視図でもある。第2実施形態に係る携帯型ゲーム装置3の筐体30の形状やハードウェア構成は、第1実施形態に係る携帯型ゲーム装置3の筐体30の形状やハードウェア構成と同様であるので、説明を省略する。
 第2実施形態では、携帯型ゲーム装置3の撮像部36が、所定の時間(例えば1/60秒)ごとに、被写体ユーザ140の動く様子を撮像し、順次、ユーザ画像142(フレーム画像)を生成する(図12参照)。ここで、順次生成されるユーザ画像142には、フレームの識別子であるフレームID144が関連付けられる(図13参照)。図12に、順次生成されるユーザ画像142のうちの1つの一例を示す。ここで、被写体ユーザ140は移動体の一例として示しているにすぎない。撮像部36が、被写体ユーザ140以外の移動体が動く様子を撮像して、その移動体の画像を生成するようにしても構わない。
 そして、携帯型ゲーム装置3の通信部33が、互いに関連付けられているフレームID144とユーザ画像142とを含む画像データ146を情報処理装置2に送信する。そして、情報処理装置2の通信部23がこの画像データ146を受信する。図13に、画像データ146のデータ構造の一例を示す。
 次に、第2実施形態に係る情報処理装置2により実現される機能を説明する。図14は、第2実施形態に係る情報処理装置2の機能ブロック図である。図14に示すように、第2実施形態に係る情報処理装置2は、機能的には、識別子受付部150、受付識別子データ保持部152、移動体要素データ記憶部154、基礎モーションデータ生成部156、基礎モーションデータ取得部158、モーションデータ記憶部160、規則データ記憶部162、規則データ選択部164、生成モーションデータ生成部166、画像生成部168を含むものとして機能する。識別子受付部150、基礎モーションデータ生成部156、基礎モーションデータ取得部158、規則データ選択部164、生成モーションデータ生成部166、画像生成部168は情報処理装置2の制御部21を主として実現されている。受付識別子データ保持部152、移動体要素データ記憶部154、モーションデータ記憶部160、規則データ記憶部162は情報処理装置2の記憶部22を主として実現されている。これらの要素は、コンピュータである情報処理装置2にインストールされたプログラムを、情報処理装置2に含まれるCPU等の制御部21で実行することにより実現されている。なお、このプログラムは、例えば、CD-ROM、DVD-ROMなどのコンピュータ可読な情報伝達媒体を介して、あるいは、インターネットなどの通信ネットワークを介して情報処理装置2に供給される。
 識別子受付部150は、移動体の識別子を受け付ける。第2実施形態では、識別子受付部150は、図15に示すような、移動体選択画面170(第1移動体選択画面)を情報処理装置2のディスプレイなどのUI部24に表示出力する。移動体選択画面170には、移動体の種類を示す移動体名ボタン172が複数表示されている。それぞれの移動体名ボタン172は、その移動体の識別子である移動体ID174と関連付けられている(図16参照)。そして、ユーザにより移動体名ボタン172(例えば、「人間」と表示されている移動体名ボタン172)がクリックされると、識別子受付部150は、その移動体名ボタン172に関連付けられている移動体ID174(例えば、「1」)を取得して、取得した移動体ID174の値を、受付識別子データ176に含まれる第1移動体ID174-1の値に設定する(図16参照)。そして、識別子受付部150は、図15に示す移動体選択画面170と同様の画面構成である、移動体選択画面170(第2移動体選択画面(図示せず))を情報処理装置2のディスプレイなどのUI部24に表示出力する。そして、ユーザにより移動体名ボタン172(例えば、「クモ」と表示されている移動体名ボタン172)がクリックされると、識別子受付部150は、その移動体名ボタン172に関連付けられている移動体ID174(例えば、「2」)を取得して、取得した移動体ID174の値を、受付識別子データ176に含まれる第2移動体ID174-2の値に設定する(図16参照)。
 図16は、受付識別子データ176のデータ構造の一例を示す図である。図16に示すように、受付識別子データ176は、第1移動体ID174-1と、第2移動体ID174-2とを含んでいる。受付識別子データ保持部152は、この受付識別子データ176を保持する。受付識別子データ保持部152は、具体的には、例えば、第1移動体ID174-1の値が「1」であり、第2移動体ID174-2の値が「2」である受付識別子データを保持する。
 第2実施形態では、図17に示すように、被写体ユーザ140は、例えば、右肩ノード要素178-1、右腰ノード要素178-2、右ひじノード要素178-3、右手ノード要素178-4、右ひざノード要素178-5、右足ノード要素178-6などの複数のノード要素178を含んでいる。また、被写体ユーザ140は、これらのノード要素178を接続するリンク要素180や、複数のリンク要素180により構成されるポリゴン要素182も含んでいる。図17は、被写体ユーザ140に含まれる各要素の一例を示す図である。なお、このように、移動体は複数の要素を含んでいてもよい。
 そして、移動体要素データ記憶部154は、第2実施形態では、図18に示すような、それぞれのノード要素178を示すノードデータ184、それぞれのリンク要素180を示すリンクデータ186、それぞれのポリゴン要素182を示すポリゴンデータ188を含む移動体要素データ190を記憶する。このように、移動体要素データ記憶部154は、移動体に含まれる要素を示す移動体要素データ190を複数記憶する。
 ノードデータ184は、移動体ID174、ノード要素178の識別子であるノードID192、ノード要素178の名称を示すノード名194を含む。リンクデータ186は、移動体ID174、リンク要素180の識別子であるリンクID196、リンク要素180の名称を示すリンク名198、リンク要素180の始点となるノード要素178の識別子である始点ノードID192a、リンク要素180の終点となるノード要素178の識別子である終点ノードID192bを含む。ポリゴンデータ188は、移動体ID174、ポリゴン要素182の識別子であるポリゴンID200、ポリゴン要素182の名称を示すポリゴン名202、複数のリンクID196(第1リンクID196-1、第2リンクID196-2、・・・)を含む。ここで、ポリゴンデータ188に含まれる複数のリンクID196は、ポリゴンID200が示すポリゴン要素182を構成するリンク要素180を示している。なお、第2実施形態では、移動体要素データ190は、要素間の接続関係も併せて示している。
 基礎モーションデータ生成部156は、携帯型ゲーム装置3から送信される画像に基づいて、所定の移動体の動きを示すモーションデータ204(基礎モーションデータ)を生成する(図19参照)。具体的には、例えば、基礎モーションデータ生成部156は、携帯型ゲーム装置3から送信される各ユーザ画像142に基づいて、例えば、パターン認識技術を用いて、受付識別子データ保持部152が保持している受付識別子データ176に含まれる第1移動体ID174-1に対応する各要素の位置座標を特定する。なお、第2実施形態では、被写体ユーザ140に含まれるノード要素178の位置座標が特定されることにより、移動体要素データ190により示されている要素間の接続関係に基づいて、被写体ユーザ140に含まれるすべての要素の位置座標が特定される。
 ここで、基礎モーションデータ生成部156は、ユーザ画像142内の各画素の色に基づいて、各要素の位置座標を特定するようにしても、もちろん構わない。また、基礎モーションデータ生成部156は、既存の光学式モーションキャプチャ技術などを利用して各要素のユーザ画像142内の位置座標を特定しても構わない。また、情報処理装置2のディスプレイなどのUI部24にユーザ画像142を表示して、マウスなどのUI部24からユーザにより入力される位置情報を取得して、その位置情報に基づいて、各要素の位置座標を特定するようにしてもよい。
 そして、第2実施形態では、基礎モーションデータ生成部156は、図19に示す、ユーザ画像142に関連付けられているフレームID144、移動体ID174、各ノード要素178(第2実施形態では、被写体ユーザ140に含まれるノード要素178)に対応するノードID192、基礎モーションデータ生成部156により特定される、ノード要素178の位置座標の値を示すノード位置座標206を含むモーションデータ204(基礎モーションデータ)を生成する。ここで、第2実施形態では、基礎モーションデータ生成部156は、モーションデータ204に含まれる移動体ID174の値として、受付識別子データ176に含まれる第1移動体ID174-1の値(例えば、「1」)を設定する。このように、第2実施形態では、モーションデータ204は、各フレームにおける、移動体に含まれる各要素の位置座標を示している。そして、所定の移動体ID174と関連付けられているモーションデータ204をフレームID144順に組み合わせることによって、移動体に含まれる各要素の動きが示されることとなる。
 なお、基礎モーションデータ生成部156が、移動体ID174と関連付けられて情報処理装置2の記憶部22に予め記憶されている、移動体ID174が示す移動体の画像から、その移動体に含まれる各要素の位置座標を特定する方法を示す特定方法データを用いて、各要素の位置座標を特定するようにしてもよい。
 基礎モーションデータ取得部158は、所定の移動体の動きを示すモーションデータ204(基礎モーションデータ)を取得する。第2実施形態では、基礎モーションデータ取得部158は、基礎モーションデータ生成部156により生成されるモーションデータ204を取得して、モーションデータ記憶部160に出力する。
 モーションデータ記憶部160は、基礎モーションデータ取得部158により取得されるモーションデータ204(基礎モーションデータ)を記憶する。
 規則データ記憶部162は、移動体の識別子に関連付けて、この識別子が示す移動体の動きを、所定の移動体の動きに基づいて決定する規則を示す規則データ210を複数記憶する(図20参照)。そして、第2実施形態では、規則データ記憶部162は、図20に示す、第1の移動体(第2実施形態では、例えば「人間」)の識別子である第1移動体ID174-1、第1移動体ID174-1が示す移動体とは異なる第2の移動体(第2実施形態では、例えば「クモ」)の識別子である第2移動体ID174-2、第1移動体ID174-1が示す移動体の動きに基づいて、第2移動体ID174-2が示す移動体の動きを決定する規則を示す規則データ210と、を含む移動体対応管理データ208を複数記憶する。
 具体的には、例えば、規則データ210は、第1移動体ID174-1が示す移動体に含まれる各要素の位置座標(例えば、ノード位置座標206)に基づいて、第2移動体ID174-2が示す移動体に含まれる各要素の位置座標(例えば、ノード位置座標206)を算出する規則を示している。規則データ210が示す規則の詳細については後述する。
 規則データ選択部164は、規則データ記憶部162に記憶されている複数の規則データ210のうちから、識別子受付部150が受け付ける識別子と関連付けられる規則データ210を選択する。第2実施形態では、規則データ選択部164は、規則データ記憶部162に記憶されている複数の移動体対応管理データ208のうちから、第1移動体ID174-1の値が、受付識別子データ保持部152が保持している受付識別子データ176に含まれる第1移動体ID174-1の値(例えば、「1」)と対応しており、第2移動体ID174-2の値が、受付識別子データ保持部152が保持している受付識別子データ176に含まれる第2移動体ID174-2の値(例えば、「2」)と対応している移動体対応管理データ208を選択する。そして、規則データ選択部164は、この移動体対応管理データ208に含まれる規則データ210を選択する。
 生成モーションデータ生成部166は、基礎モーションデータ取得部158により取得される、受付識別子データ保持部152が保持している受付識別子データ176に含まれる第1移動体ID174-1の値(例えば、「1」)が示す移動体(例えば、人間)の動きを示すモーションデータ204(基礎モーションデータ)に、規則データ選択部164により選択される規則データ210が示す規則を適用して、受付識別子データ保持部152が保持している受付識別子データ176に含まれる第2移動体ID174-2の値(例えば、「2」)が示す移動体(例えば、クモ)の動きを示すモーションデータ204(生成モーションデータ)を生成する。
 図21は、生成モーションデータ生成部166が、図17に示す被写体ユーザ140に含まれる各要素に規則データ210が示す規則を適用することにより生成されるクモオブジェクト212に含まれる各要素を示す図である。
 第2実施形態では、クモオブジェクト212が、例えば、第1右足付け根ノード要素178-7、第2右足付け根ノード要素178-8、第3右足付け根ノード要素178-9、第4右足付け根ノード要素178-10、第1右足関節ノード要素178-11、第2右足関節ノード要素178-12、第3右足関節ノード要素178-13、第4右足関節ノード要素178-14などを含んでいる。
 また、クモオブジェクト212は、これらのノード要素178を接続するリンク要素180や、複数のリンク要素180により構成されるポリゴン要素182も含んでいる。
 そして、生成モーションデータ生成部166は、生成の基礎となるユーザ画像142に関連付けられているフレームID144、移動体ID174、各ノード要素178(第2実施形態では、クモオブジェクト212に含まれるノード要素178)に対応するノードID192、ノード要素178の位置座標の値を示すノード位置座標206を含むモーションデータ204(生成モーションデータ)を生成する。ここで、第2実施形態では、生成モーションデータ生成部166は、モーションデータ204に含まれる移動体ID174の値として、受付識別子データ176に含まれる第2移動体ID174-2の値(例えば、「2」)を設定する。
 そして、このような、移動体ID174の値に「2」が設定されているモーションデータ204(以下、第2モーションデータ204-2と呼ぶ。)に含まれるノード位置座標206は、移動体ID174に「1」が設定されているモーションデータ204(以下、第1モーションデータ204-1と呼ぶ。)に含まれるノード位置座標206に対して、規則データ選択部164により選択される規則データ210が示す規則を適用することにより算出される。
 規則データ210には、例えば、第1モーションデータ204-1に含まれるノード位置座標206を、第2モーションデータ204-2に含まれるノード位置座標206に設定する規則が示されていてもよい。具体的には、例えば、規則データ210には、右肩ノード要素178-1に対応する第1モーションデータ204-1に含まれるノード位置座標206を、第1右足付け根ノード要素178-7に対応する第2モーションデータ204-2に含まれるノード位置座標206として設定する規則が示されていてもよい。
 また、規則データ210には、例えば、第1モーションデータ204-1と第2モーションデータ204-2とのうちの一方に含まれる複数のノード位置座標206の組合せと、他方に含まれる1つのノード位置座標206とを対応づける規則が示されていてもよい。具体的には、例えば、規則データ210には、右肩ノード要素178-1に対応する第1モーションデータ204-1に含まれるノード位置座標206と、右腰ノード要素178-2に対応する第1モーションデータ204-1に含まれるノード位置座標206とを、1:2に内分する点の位置座標を、第2右足付け根ノード要素178-8に対応する第2モーションデータ204-2に含まれるノード位置座標206として設定する規則が示されていてもよい。このような規則が規則データ210に示されることで、被写体ユーザ140に含まれるノード要素178の数と、クモオブジェクト212に含まれるノード要素178の数が異なっていても、クモオブジェクト212に含まれる各ノード要素178のノード位置座標206を算出することができる。すなわち、基礎モーションデータに基づいて生成モーションデータを生成する際に、ノード要素178を追加したり削除したりすることが可能となる。
 また、規則データ210には、例えば、互いに異なる複数のフレームID144それぞれに対応づけられている複数の第1モーションデータ204-1に含まれるノード位置座標206の組合せに基づいて、第2モーションデータ204-2に含まれるノード位置座標206を算出する規則が示されていてもよい。具体的には、例えば、規則データ210には、フレームID144の値が「1」である、右ひじノード要素178-3に対応する第1モーションデータ204-1に含まれるノード位置座標206と、フレームID144の値が「2」である、右ひざノード要素178-5に対応する第1モーションデータ204-1に含まれるノード位置座標206とを、1:2に内分する点の位置座標を、フレームID144の値が「3」である、第2右足関節ノード要素178-12に対応する第2モーションデータ204-2のノード位置座標206として設定する規則が示されていてもよい。このような規則が規則データ210に示されることで、生成モーションデータ生成部166は、被写体ユーザ140が撮像されたタイミングのずれを活かした生成モーションデータの生成が可能となる。このことにより、後述する画像生成部168により生成される動画像(第2実施形態では一連のクモ画像214(図22参照)から構成される動画像)の不自然さが軽減されることがある。
 また、規則データ210が上述に示されている規則以外の規則を示してもよい。具体的には、例えば、規則データ210には、第1の移動体(例えば、被写体ユーザ140)に含まれる要素の位置座標に対して、線形変換やアフィン変換などといった所定の数学的な変換を施して、第2の移動体(例えば、クモオブジェクト212)に含まれる要素の位置座標を算出する規則が示されていてもよい。また、例えば、規則データ210には、リンク要素180の長さを変更したり、リンク要素180を回転したり、ポリゴン要素182の大きさを変更するなどの規則が示されていてもよい。なお、規則データ210には、第2の移動体(例えば、クモオブジェクト212)に含まれるリンク要素180(あるいは、ポリゴン要素182)の位置を、第1の移動体(例えば、被写体ユーザ140)に含まれるリンク要素180(あるいは、ポリゴン要素182)に基づいて決定する規則が示されていてもよい。
 また、規則データ210には、例えば、第1モーションデータ204-1に含まれる、乱数に基づいて決定される、ノード位置座標206のうちの1つを、第2モーションデータ204-2のノード位置座標206として設定する規則が示されていてもよい。
 そして、生成モーションデータ生成部166は、このようにして生成される生成モーションデータを、モーションデータ記憶部160に出力する。
 画像生成部168は、生成モーションデータ生成部166により生成される生成モーションデータに基づいて、受付識別子データ保持部152が保持している受付識別子データ176に含まれる第2移動体ID174-2が示す移動体の画像を生成する。第2実施形態では、画像生成部168は、生成された移動体の画像を情報処理装置2のディスプレイなどのUI部24に表示出力する。
 具体的には、例えば、画像生成部168は、図21に示すクモオブジェクト212に含まれる各要素の位置座標に基づいて、図22に示すクモ画像214を生成する。また、第2実施形態では、画像生成部168は、移動体の画像を順次生成し、情報処理装置2のUI部24に順次出力するので、移動体が動く様子が情報処理装置2のUI部24に表示されることとなる。
 ここで、第1移動体ID174-1の値が「1」であり、第2移動体ID174-2の値が「2」である受付識別子データ176が受付識別子データ保持部152に保持されている場合において、図12に示すユーザ画像142(値が「t」であるフレームID144に関連付けられている)を取得してから、図22に示すクモ画像214が情報処理装置2のUI部24に表示出力されるまでの処理の流れを図23に示すフロー図を参照しながら説明する。
 まず、基礎モーションデータ生成部156が、ユーザ画像142に表示されている被写体ユーザ140に含まれる各ノード要素178の位置座標を特定する(S201)。そして、基礎モーションデータ生成部156が、「t」の値が設定されるフレームID144、「1」の値が設定される移動体ID174、被写体ユーザ140に含まれる各ノード要素178のノードID192、そのノード要素178のノード位置座標206を含むモーションデータ204を生成する(S202)。このとき、ユーザ画像142に表示されている被写体ユーザ140には、複数のノード要素178が含まれているので、基礎モーションデータ生成部156は、モーションデータ204を複数生成することとなる。
 そして、基礎モーションデータ取得部158が、S102に示す処理により生成されるモーションデータ204を取得して、モーションデータ記憶部160に出力する(S203)。
 そして、規則データ選択部164が、規則データ記憶部162に記憶されている移動体対応管理データ208のうちから、第1移動体ID174-1の値が「1」であり、第2移動体ID174-2の値が「2」である移動体対応管理データ208に含まれる規則データ210を選択する(S204)。
 そして、生成モーションデータ生成部166が、S3に示す処理によりモーションデータ記憶部160に出力された、移動体ID174の値が「1」であるモーションデータ204を取得する(S205)。
 そして、生成モーションデータ生成部166が、S5に示す処理により取得されたモーションデータ204に、S104に示す処理により選択される規則データ210が示す規則を適用して、クモオブジェクト212に含まれる各ノード要素178の位置座標を算出する(S206)。
 そして、生成モーションデータ生成部166が、「t」の値が設定されるフレームID144、「2」の値が設定される移動体ID174、クモオブジェクト212に含まれる各ノード要素178のノードID192、そのノード要素178のノード位置座標206を含むモーションデータ204を生成する(S207)。そして、生成モーションデータ生成部166が、S7に示す処理により生成されたモーションデータ記憶部160に出力する(S208)。
 そして、画像生成部168が、「t」の値が設定されるフレームID144、及び、「2」の値が設定される移動体ID174が含まれるモーションデータ204を取得する(S209)。
 そして、画像生成部168が、S8に示す処理により取得されるモーションデータ204に基づいて、クモ画像214を生成し、情報処理装置2のUI部24に出力する(S210)。
 上述の処理例では、各フレームについて、基礎モーションデータ取得部158が、それぞれのフレームにおける、被写体ユーザ140に含まれるノード要素178のノード位置座標206が含まれるモーションデータ204を順次取得する。そして、生成モーションデータ生成部166が、基礎モーションデータ取得部158により順次取得される各モーションデータ204に、規則データ選択部164により選択される規則データが示す規則を順次適用する。そして、生成モーションデータ生成部166が、それぞれのフレームにおける、クモオブジェクト212に含まれるノード要素178のノード位置座標206が含まれるモーションデータ204を順次生成する。そのため、上記の処理例では、ユーザ画像142の順次取得と連携した、クモ画像214の順次生成が可能となる。上述の処理例によれば、被写体ユーザ140(人間)が動く様子を携帯型ゲーム装置3の撮像部36が撮像しながら、ほぼリアルタイムで、情報処理装置2のUI部24にクモオブジェクト212が動く様子を示す動画像を表示出力することができる。
 このようにして、被写体ユーザ140のユーザ画像142に基づいて、クモ画像214を容易に生成することができる。もちろん、上述の第2移動体選択画面において、ユーザにより「カニ」や、「タコ」や、「車」や、「飛行機」と表示されている移動体名ボタン172がクリックされると、規則データ選択部164が、それぞれの移動体に対応する規則データ210を選択することとなるので、被写体ユーザ140のユーザ画像142に基づいて、例えば、かに画像や、たこ画像や、車画像や、飛行機画像などといった様々な画像を容易に生成することができる。
 なお、基礎モーションデータが、被写体ユーザ140の動く様子を示すモーションデータ204である必要はない。また、生成モーションデータが、クモオブジェクト212の動く様子を示すモーションデータ204である必要はない。すなわち、携帯型ゲーム装置3の撮像部36によりクモが撮像されるにより生成されるクモ画像214を情報処理装置2が受信してもよい。そして、基礎モーションデータ生成部156が、このクモ画像214に基づいて、クモオブジェクト212の動く様子を示すモーションデータ204(基礎モーションデータ)を生成するようにしてもよい。そして、生成モーションデータ生成部166が、クモオブジェクト212の動く様子を示すモーションデータ204に基づいて、人間が動く様子を示すモーションデータ204(生成モーションデータ)を生成するようにしても構わない。
 このように、様々な移動体に対応する規則データ210が規則データ記憶部162に記憶されている場合には、識別子受付部150が受け付ける移動体ID174に応じて、様々な移動体の動きを示すモーションデータ204に基づいて、様々な移動体の動きを示すモーションデータ204や、そのモーションデータ204に基づく画像を生成することができる。
 第2実施形態によれば、ユーザから受け付ける識別子が示す移動体の画像や動画像を容易に生成することができるので、モーションデータを利用してCGを制作する際における制作者の手間を軽減することができる。
 なお、本発明は上述の実施形態に限定されるものではない。
 例えば、インターネットなどのネットワークを介して情報処理装置2と接続されているサーバ(図示せず)などに、予め所定の移動体の動く様子を示すモーションデータ204が記憶されているような場合において、基礎モーションデータ取得部158が、サーバなどに記憶されているモーションデータ204を取得して、生成モーションデータ生成部166が、このモーションデータ204を用いて新たなモーションデータ204を生成するようにしてもよい。
 また、携帯型ゲーム装置3の距離測定部37が生成する距離データを、携帯型ゲーム装置3が情報処理装置2に併せて送信するようにして、基礎モーションデータ生成部156が、距離データが示す、携帯型ゲーム装置3と被写体ユーザ140との距離を用いて、各ノード要素178の位置座標(例えば、三次元位置座標)を決定するようにしても構わない。すなわち、携帯型ゲーム装置3の通信部33が、フレームID144とユーザ画像142と距離データとを含む画像データ146を情報処理装置2に送信して、情報処理装置2の通信部23がこの画像データ146を受信するようにしてもよい。
 また、例えば、情報処理システム1が、携帯型ゲーム装置3の代わりに、撮像機能と距離測定機能を有するビデオカメラなどを含んでいても構わない。すなわち、携帯型ゲーム装置3の代わりとして、撮像機能と距離測定機能を有するビデオカメラを用いても構わない。
 また、上述の情報処理装置2と携帯型ゲーム装置3とが一つの筐体により実装されていても構わない。
 また、移動体が複数の要素を含んでいる必要はない。
 次に、このようにして生成されるモーションデータの活用例を以下に示す。
 例えば、生成されるモーションデータ204が情報処理装置2の通信部23からインターネットなどのネットワークを介して接続されているサーバ(図示せず)にアップロードされてもよい。その際に、ユーザが、モーションデータ204を使用しているゲームタイトルを示すデータ、モーションデータ204の作者を示すデータ、このモーションデータ204が生成される基礎となったモーションデータ204(基礎モーションデータ)を示すデータ、このモーションデータ204に基づいて生成されたCGのキャラクタを示すデータなどの属性データを関連付けてモーションデータ204をアップロードできるようにしてもよい。そして、サーバでは、モーションデータ204と属性データとが関連付けられて記憶されるようにしてもよい。また、モーションデータ204は、既存のスクリプト言語で記述されたデータに変換された上で、サーバに記憶されるようにしてもよい。
 ユーザが、サーバに記憶されているモーションデータ204を、例えば、ブラウザなどで閲覧できるようにしてもよい。このとき、モーションデータ204が、カテゴリに分類されて表示されるようにしてもよい。また、モーションデータ204がアイコン化されていてもよい。具体的には、例えば、モーションデータ204が、ワイヤーフレームや、キャラクタなどの動きとしてブラウザで表現されるようにしてもよい。
 また、モーションデータ204をアップロードするユーザが、このモーションデータ204の公開対象となるユーザを設定して、設定されたユーザのみがモーションデータ204を閲覧することができるようにしてもよい。
 そして、閲覧の対象であるモーションデータ204が、モーションデータ204のネットワークストアへのハイパーリンクとなっており、ユーザがそのハイパーリンクをクリックすることにより、モーションデータ204を購入することができるようになっていてもよい。
 また、新たにサーバにアップロードされるモーションデータ204を、情報処理装置2が、ネットワークを介して逐次ダウンロードして、情報処理装置2の記憶部22にキャッシュするようにしてもよい。また、例えば、ゲームのセーブデータと共に、モーションデータ204が情報処理装置2の記憶部22に記憶されていても構わない。
 また、例えば、情報処理装置2が、サーバに記憶されている、人間がダンスをしている様子や人間がゴルフのスイングをしている様子が示されているモーションデータ204と、携帯型ゲーム装置3の撮像部36で撮像される一連のユーザ画像142に基づいて生成されるモーションデータ204とを比較して、それぞれのモーションデータ204の対応度に基づく点数を算出するようにしても構わない。

Claims (16)

  1.  所定の移動体の動きを示すモーションデータを生成する情報処理装置であって、
     前記移動体を含む少なくとも1つの物体を撮像手段が撮像することにより生成される画像と、距離測定手段による測定結果に基づく、当該画像に表示されている物体と前記撮像手段との距離を示す距離データと、を含む基礎データを複数取得する基礎データ取得手段と、
     前記各基礎データに含まれる画像に基づいて、前記移動体が表示されている当該画像内の位置を特定する画像内位置特定手段と、
     前記画像内位置特定手段により特定される前記画像内の位置と、当該画像を含む基礎データに含まれる前記距離データと、に基づいて、前記移動体と前記撮像手段との距離を特定する距離特定手段と、
     前記画像内位置特定手段により特定される前記画像内の位置と、前記距離特定手段により特定される距離と、に基づいて、前記移動体の三次元空間内における位置座標を算出する位置座標算出手段と、
     前記各基礎データに基づいて算出される前記位置座標に基づいて、前記移動体の三次元空間内における動きを示すモーションデータを生成するモーションデータ生成手段と、
     を含むことを特徴とする情報処理装置。
  2.  前記移動体が複数の要素を含み、
     前記画像内位置特定手段が、前記移動体に含まれる要素のうちの少なくとも一部の各要素が表示されている当該画像内の位置を特定し、
     前記距離特定手段が、前記移動体に含まれる要素のうちの少なくとも一部の各要素と前記撮像手段との距離を特定し、
     前記位置座標算出手段が、前記移動体に含まれる要素のうちの少なくとも一部の各要素の三次元空間内における位置座標を算出し、
     前記位置座標算出手段により、前記基礎データに基づいて前記移動体に含まれる複数の要素のうちの欠落要素の位置座標が算出されない場合は、前記位置座標算出手段が、当該欠落要素の位置座標を、前記基礎データ取得手段が取得する複数の基礎データのうちの、当該基礎データとは異なる基礎データに基づいて算出する、
     ことを特徴とする請求項1に記載の情報処理装置。
  3.  前記位置座標算出手段により前記欠落要素の位置座標が算出されない状態が所定時間にわたり継続する場合は、前記位置座標算出手段が、当該欠落要素の位置座標を、前記時間の前において最後に算出される当該欠落要素の位置座標と、前記時間の後において最初に算出される当該欠落要素の位置座標と、に基づいて算出する、
     ことを特徴とする請求項2に記載の情報処理装置。
  4.  前記位置座標算出手段により前記欠落要素の位置座標が算出されない場合は、当該欠落要素の位置座標を、当該基礎データとは異なる複数の基礎データそれぞれに基づいて算出される当該欠落要素の位置座標の差分に基づいて算出する、
     ことを特徴とする請求項2に記載の情報処理装置。
  5.  前記基礎データが、複数の撮像手段それぞれにより生成される画像と、前記各画像を撮像した撮像手段と当該画像に表示されている物体との距離を示す距離データと、を含み、
     前記画像内位置特定手段が、前記基礎データに含まれる複数の画像それぞれに基づいて、それぞれの画像内の前記移動体が表示されている位置を特定し、
     前記距離特定手段が、前記移動体と前記各撮像手段との距離を特定し、
     前記位置座標算出手段が、前記画像内位置特定手段により特定される複数の前記画像内の位置と、前記距離特定手段により特定される複数の前記距離と、に基づいて、前記位置座標を算出する、
     ことを特徴とする請求項1に記載の画像処理装置。
  6.  所定の移動体の動きを示すモーションデータを生成する情報処理方法であって、
     前記移動体を含む少なくとも1つの物体を撮像手段が撮像することにより生成される画像と、距離測定手段による測定結果に基づく、当該画像に表示されている物体と前記撮像手段との距離を示す距離データと、を含む基礎データを複数取得する基礎データ取得ステップと、
     前記各基礎データに含まれる画像に基づいて、前記移動体が表示されている当該画像内の位置を特定する画像内位置特定ステップと、
     前記画像内位置特定ステップにより特定される前記画像内の位置と、当該画像を含む基礎データに含まれる前記距離データと、に基づいて、前記移動体と前記撮像手段との距離を特定する距離特定ステップと、
     前記画像内位置特定ステップにより特定される前記画像内の位置と、前記距離特定ステップにより特定される距離と、に基づいて、前記移動体の三次元空間内における位置座標を算出する位置座標算出ステップと、
     前記各基礎データに基づいて算出される前記位置座標に基づいて、前記移動体の三次元空間内における動きを示すモーションデータを生成するモーションデータ生成ステップと、
     を含むことを特徴とする情報処理方法。
  7.  所定の移動体の動きを示すモーションデータを生成する情報処理装置としてコンピュータを機能させるプログラムであって、
     前記移動体を含む少なくとも1つの物体を撮像手段が撮像することにより生成される画像と、距離測定手段による測定結果に基づく、当該画像に表示されている物体と前記撮像手段との距離を示す距離データと、を含む基礎データを複数取得する基礎データ取得手段、
     前記各基礎データに含まれる画像に基づいて、前記移動体が表示されている当該画像内の位置を特定する画像内位置特定手段、
     前記画像内位置特定手段により特定される前記画像内の位置と、当該画像を含む基礎データに含まれる前記距離データと、に基づいて、前記移動体と前記撮像手段との距離を特定する距離特定手段、
     前記画像内位置特定手段により特定される前記画像内の位置と、前記距離特定手段により特定される距離と、に基づいて、前記移動体の三次元空間内における位置座標を算出する位置座標算出手段、
     前記各基礎データに基づいて算出される前記位置座標に基づいて、前記移動体の三次元空間内における動きを示すモーションデータを生成するモーションデータ生成手段、
     として前記コンピュータを機能させることを特徴とするプログラム。
  8.  所定の移動体の動きを示すモーションデータを生成する情報処理装置としてコンピュータを機能させるプログラムが記憶されたコンピュータ読み取り可能な情報記憶媒体であって、
     前記移動体を含む少なくとも1つの物体を撮像手段が撮像することにより生成される画像と、距離測定手段による測定結果に基づく、当該画像に表示されている物体と前記撮像手段との距離を示す距離データと、を含む基礎データを複数取得する基礎データ取得手段、
     前記各基礎データに含まれる画像に基づいて、前記移動体が表示されている当該画像内の位置を特定する画像内位置特定手段、
     前記画像内位置特定手段により特定される前記画像内の位置と、当該画像を含む基礎データに含まれる前記距離データと、に基づいて、前記移動体と前記撮像手段との距離を特定する距離特定手段、
     前記画像内位置特定手段により特定される前記画像内の位置と、前記距離特定手段により特定される距離と、に基づいて、前記移動体の三次元空間内における位置座標を算出する位置座標算出手段、
     前記各基礎データに基づいて算出される前記位置座標に基づいて、前記移動体の三次元空間内における動きを示すモーションデータを生成するモーションデータ生成手段、
     として前記コンピュータを機能させることを特徴とするプログラムが記憶されたコンピュータ読み取り可能な情報記憶媒体。
  9.  所定の移動体の動きを示す基礎モーションデータに基づいて、他の移動体の動きを示す生成モーションデータを生成する情報処理装置であって、
     移動体の識別子に関連付けて、当該識別子が示す移動体の動きを前記所定の移動体の動きに基づいて決定する規則を示す規則データを複数記憶する規則データ記憶手段と、
     移動体の識別子を受け付ける識別子受付手段と、
     前記基礎モーションデータを取得する基礎モーションデータ取得手段と、
     前記規則データ記憶手段に記憶されている複数の規則データのうちから、前記識別子受付手段が受け付ける識別子と関連付けられる規則データを選択する規則データ選択手段と、
     前記基礎モーションデータ取得手段により取得される基礎モーションデータに、前記規則データ選択手段により選択される規則データが示す規則を適用して、前記識別子受付手段が受け付ける識別子が示す移動体の動きを示す生成モーションデータを生成する生成モーションデータ生成手段と、
     を含むことを特徴とする情報処理装置。
  10.  前記基礎モーションデータが、各フレームにおける前記所定の移動体の位置を示しており、
     前記規則データ記憶手段が、前記識別子が示す移動体の各フレームにおける位置を、前記所定の移動体の各フレームにおける位置に基づいて決定する規則を示す規則データを記憶し、
     前記基礎モーションデータ取得手段が、前記基礎モーションデータを順次取得し、
     前記生成モーションデータ生成手段が、順次取得される前記各基礎モーションデータに、前記規則データ選択手段により選択される規則データが示す規則を順次適用して、前記識別子受付手段が受け付ける識別子が示す移動体の各フレームにおける位置を示す前記生成モーションデータを順次生成する、
     ことを特徴とする請求項9に記載の情報処理装置。
  11.  前記規則データ記憶手段が、前記識別子が示す移動体の各フレームにおける位置を、前記所定の移動体の、互いに異なる複数のフレームにおける位置の組合せに基づいて決定する規則を示す規則データを記憶する、
     ことを特徴とする請求項10に記載の情報処理装置。
  12.  前記基礎モーションデータが、前記所定の移動体に含まれる複数の要素それぞれの動きを示しており、
     前記規則データ記憶手段が、複数の要素が含まれる移動体の識別子に関連付けて、当該識別子が示す移動体に含まれる複数の要素それぞれの動きを前記所定の移動体に含まれる複数の要素それぞれの動きに基づいて決定する規則を示す規則データを記憶し、
     前記生成モーションデータ生成手段が、前記識別子受付手段が受け付ける識別子が示す移動体に含まれる複数の要素それぞれの動きを示す生成モーションデータを生成する、
     ことを特徴とする請求項9に記載の情報処理装置。
  13.  前記規則データ記憶手段が、前記所定の移動体又は前記識別子が示す移動体のうちの一方に含まれる複数の要素それぞれの位置の組合せと、他方に含まれる1つの要素とを対応づける規則を示す規則データを記憶する、
     ことを特徴とする請求項12に記載の情報処理装置。
  14.  所定の移動体の動きを示す基礎モーションデータに基づいて、他の移動体の動きを示す生成モーションデータを生成する情報処理方法であって、
     移動体の識別子に関連付けて、当該識別子が示す移動体の動きを前記所定の移動体の動きに基づいて決定する規則を示す規則データを規則データ記憶手段に複数記憶させるステップと、
     前記基礎モーションデータを取得する基礎モーションデータ取得ステップと、
     移動体の識別子を受け付ける識別子受付ステップと、
     前記規則データ記憶手段に記憶されている複数の規則データのうちから、前記識別子受付ステップで受け付ける識別子と関連付けられる規則データを選択する規則データ選択ステップと、
     前記基礎モーションデータ取得ステップにより取得される基礎モーションデータに、前記規則データ選択ステップにより選択される規則データが示す規則を適用して、前記識別子受付ステップで受け付ける識別子が示す移動体の動きを示す生成モーションデータを生成する生成モーションデータ生成ステップと、
     を含むことを特徴とする情報処理方法。
  15.  所定の移動体の動きを示す基礎モーションデータに基づいて、他の移動体の動きを示す生成モーションデータを生成する情報処理装置としてコンピュータを機能させるプログラムであって、
     移動体の識別子に関連付けて、当該識別子が示す移動体の動きを前記所定の移動体の動きに基づいて決定する規則を示す規則データを規則データ記憶手段に複数記憶させる手段、
     前記基礎モーションデータを取得する基礎モーションデータ取得手段、
     移動体の識別子を受け付ける識別子受付手段、
     前記規則データ記憶手段に記憶されている複数の規則データのうちから、前記識別子受付手段が受け付ける識別子と関連付けられる規則データを選択する規則データ選択手段、
     前記基礎モーションデータ取得手段により取得される基礎モーションデータに、前記規則データ選択手段により選択される規則データが示す規則を適用して、前記識別子受付手段が受け付ける識別子が示す移動体の動きを示す生成モーションデータを生成する生成モーションデータ生成手段、
     として前記コンピュータを機能させることを特徴とするプログラム。
  16.  所定の移動体の動きを示す基礎モーションデータに基づいて、他の移動体の動きを示す生成モーションデータを生成する情報処理装置としてコンピュータを機能させるプログラムが記憶されたコンピュータ読み取り可能な情報記憶媒体であって、
     移動体の識別子に関連付けて、当該識別子が示す移動体の動きを前記所定の移動体の動きに基づいて決定する規則を示す規則データを規則データ記憶手段に複数記憶させる手段、
     前記基礎モーションデータを取得する基礎モーションデータ取得手段、
     移動体の識別子を受け付ける識別子受付手段、
     前記規則データ記憶手段に記憶されている複数の規則データのうちから、前記識別子受付手段が受け付ける識別子と関連付けられる規則データを選択する規則データ選択手段、
     前記基礎モーションデータ取得手段により取得される基礎モーションデータに、前記規則データ選択手段により選択される規則データが示す規則を適用して、前記識別子受付手段が受け付ける識別子が示す移動体の動きを示す生成モーションデータを生成する生成モーションデータ生成手段、
     として前記コンピュータを機能させることを特徴とするプログラムが記憶されたコンピュータ読み取り可能な情報記憶媒体。
PCT/JP2009/066749 2008-10-01 2009-09-28 情報処理装置、情報処理方法、プログラム及び情報記憶媒体 WO2010038693A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US13/121,318 US8724849B2 (en) 2008-10-01 2009-09-28 Information processing device, information processing method, program, and information storage medium
CN200980139029.5A CN102171726B (zh) 2008-10-01 2009-09-28 信息处理装置、信息处理方法、程序以及信息存储介质
EP09817726.4A EP2343685B1 (en) 2008-10-01 2009-09-28 Information processing device, information processing method, program, and information storage medium

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008256599A JP5015109B2 (ja) 2008-10-01 2008-10-01 情報処理装置、情報処理方法、プログラム及び情報記憶媒体
JP2008-256597 2008-10-01
JP2008256597A JP5066047B2 (ja) 2008-10-01 2008-10-01 情報処理装置、情報処理方法、プログラム及び情報記憶媒体
JP2008-256599 2008-10-01

Publications (1)

Publication Number Publication Date
WO2010038693A1 true WO2010038693A1 (ja) 2010-04-08

Family

ID=42073457

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/066749 WO2010038693A1 (ja) 2008-10-01 2009-09-28 情報処理装置、情報処理方法、プログラム及び情報記憶媒体

Country Status (4)

Country Link
US (1) US8724849B2 (ja)
EP (1) EP2343685B1 (ja)
CN (1) CN102171726B (ja)
WO (1) WO2010038693A1 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012516504A (ja) * 2009-01-30 2012-07-19 マイクロソフト コーポレーション 視覚的目標追跡
US8565477B2 (en) 2009-01-30 2013-10-22 Microsoft Corporation Visual target tracking
US8565476B2 (en) 2009-01-30 2013-10-22 Microsoft Corporation Visual target tracking
US8577085B2 (en) 2009-01-30 2013-11-05 Microsoft Corporation Visual target tracking
US8577084B2 (en) 2009-01-30 2013-11-05 Microsoft Corporation Visual target tracking
US8588465B2 (en) 2009-01-30 2013-11-19 Microsoft Corporation Visual target tracking
US8682028B2 (en) 2009-01-30 2014-03-25 Microsoft Corporation Visual target tracking
CN107481305A (zh) * 2017-08-18 2017-12-15 苏州歌者网络科技有限公司 游戏动画制作方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN204007506U (zh) * 2012-12-27 2014-12-10 广州市地下铁道总公司 一种用于三维空间坐标寻迹的数据采集装置
WO2017085857A1 (ja) 2015-11-20 2017-05-26 三菱電機株式会社 運転支援装置、運転支援システム、運転支援方法及び運転支援プログラム
GB2571306A (en) 2018-02-23 2019-08-28 Sony Interactive Entertainment Europe Ltd Video recording and playback systems and methods

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000268161A (ja) * 1999-03-17 2000-09-29 Atr Media Integration & Communications Res Lab 実時間表情検出装置
JP2002024143A (ja) * 2000-07-06 2002-01-25 Sony Corp 受信端末、通信端末およびアニメーション・キャラクタ表示方法
JP2002259984A (ja) * 2001-03-01 2002-09-13 Matsushita Electric Ind Co Ltd 動作解析装置及び動作解析方法
JP2004259114A (ja) * 2003-02-27 2004-09-16 Seiko Epson Corp 物体識別方法および物体識別装置、並びに物体識別プログラム
JP2004344418A (ja) * 2003-05-22 2004-12-09 Anima Kk 三次元動作解析装置
JP2007004732A (ja) * 2005-06-27 2007-01-11 Matsushita Electric Ind Co Ltd 画像生成装置及び画像生成方法
JP2007333690A (ja) * 2006-06-19 2007-12-27 Sony Corp モーションキャプチャ装置及びモーションキャプチャ方法、並びにモーションキャプチャプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7003134B1 (en) * 1999-03-08 2006-02-21 Vulcan Patents Llc Three dimensional object pose estimation which employs dense depth information
US6674877B1 (en) * 2000-02-03 2004-01-06 Microsoft Corporation System and method for visually tracking occluded objects in real time
KR100415266B1 (ko) * 2000-05-11 2004-01-16 가부시끼가이샤 도시바 물체영역정보 기술방법과 물체영역정보 생성장치 및 기록매체
US7292711B2 (en) * 2002-06-06 2007-11-06 Wintriss Engineering Corporation Flight parameter measurement system
US7251346B2 (en) * 2002-11-19 2007-07-31 Honda Motor Co., Ltd. Moving object detection device, moving object detection method, and moving object detection program
JP4095491B2 (ja) * 2003-05-19 2008-06-04 本田技研工業株式会社 距離測定装置、距離測定方法、及び距離測定プログラム
US7874917B2 (en) * 2003-09-15 2011-01-25 Sony Computer Entertainment Inc. Methods and systems for enabling depth and direction detection when interfacing with a computer program
JP4800163B2 (ja) * 2006-09-29 2011-10-26 株式会社トプコン 位置測定装置及びその方法
US8588464B2 (en) * 2007-01-12 2013-11-19 International Business Machines Corporation Assisting a vision-impaired user with navigation based on a 3D captured image stream
US20090017910A1 (en) * 2007-06-22 2009-01-15 Broadcom Corporation Position and motion tracking of an object

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000268161A (ja) * 1999-03-17 2000-09-29 Atr Media Integration & Communications Res Lab 実時間表情検出装置
JP2002024143A (ja) * 2000-07-06 2002-01-25 Sony Corp 受信端末、通信端末およびアニメーション・キャラクタ表示方法
JP2002259984A (ja) * 2001-03-01 2002-09-13 Matsushita Electric Ind Co Ltd 動作解析装置及び動作解析方法
JP2004259114A (ja) * 2003-02-27 2004-09-16 Seiko Epson Corp 物体識別方法および物体識別装置、並びに物体識別プログラム
JP2004344418A (ja) * 2003-05-22 2004-12-09 Anima Kk 三次元動作解析装置
JP2007004732A (ja) * 2005-06-27 2007-01-11 Matsushita Electric Ind Co Ltd 画像生成装置及び画像生成方法
JP2007333690A (ja) * 2006-06-19 2007-12-27 Sony Corp モーションキャプチャ装置及びモーションキャプチャ方法、並びにモーションキャプチャプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MAEDA ET AL.: "Style Henkan o Mochiita Koritsuteki na Shisoku Hoko Animation Seisei", INFORMATION PROCESSING SOCIETY OF JAPAN KENKYU HOKOKU CG, vol. 20, no. 80, 22 August 2008 (2008-08-22), pages 55 - 60, XP008146301 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012516504A (ja) * 2009-01-30 2012-07-19 マイクロソフト コーポレーション 視覚的目標追跡
US8565477B2 (en) 2009-01-30 2013-10-22 Microsoft Corporation Visual target tracking
US8565476B2 (en) 2009-01-30 2013-10-22 Microsoft Corporation Visual target tracking
US8577085B2 (en) 2009-01-30 2013-11-05 Microsoft Corporation Visual target tracking
US8577084B2 (en) 2009-01-30 2013-11-05 Microsoft Corporation Visual target tracking
US8588465B2 (en) 2009-01-30 2013-11-19 Microsoft Corporation Visual target tracking
US8682028B2 (en) 2009-01-30 2014-03-25 Microsoft Corporation Visual target tracking
US9039528B2 (en) 2009-01-30 2015-05-26 Microsoft Technology Licensing, Llc Visual target tracking
US9842405B2 (en) 2009-01-30 2017-12-12 Microsoft Technology Licensing, Llc Visual target tracking
CN107481305A (zh) * 2017-08-18 2017-12-15 苏州歌者网络科技有限公司 游戏动画制作方法
CN107481305B (zh) * 2017-08-18 2021-02-09 苏州歌者网络科技有限公司 游戏动画制作方法

Also Published As

Publication number Publication date
US8724849B2 (en) 2014-05-13
EP2343685A1 (en) 2011-07-13
EP2343685B1 (en) 2020-07-29
EP2343685A4 (en) 2017-05-17
CN102171726A (zh) 2011-08-31
CN102171726B (zh) 2014-06-18
US20110216946A1 (en) 2011-09-08

Similar Documents

Publication Publication Date Title
WO2010038693A1 (ja) 情報処理装置、情報処理方法、プログラム及び情報記憶媒体
CN104243951B (zh) 图像处理设备、图像处理系统以及图像处理方法
CN102411783B (zh) 在视频聊天应用中自动跟踪用户移动
CN108537881B (zh) 一种人脸模型处理方法及其设备、存储介质
US8933965B2 (en) Method for calculating light source information and generating images combining real and virtual images
WO2018018957A1 (zh) 三维模型的实时控制方法和系统
JP5093053B2 (ja) 電子カメラ
JP2006249618A (ja) 仮想試着装置
WO2021104037A1 (zh) 数据处理方法、装置、电子设备及存储介质
JP2008275391A (ja) 位置姿勢計測装置及び位置姿勢計測方法
JP6656382B2 (ja) マルチメディア情報を処理する方法及び装置
JP2020065229A (ja) 映像通信方法、映像通信装置及び映像通信プログラム
JP7403967B2 (ja) 情報処理装置、映像生成装置、画像処理システム、それらの制御方法及びプログラム
US20230062973A1 (en) Image processing apparatus, image processing method, and storage medium
JP6431259B2 (ja) カラオケ装置、ダンス採点方法、およびプログラム
JPH10240908A (ja) 映像合成方法
US20240020901A1 (en) Method and application for animating computer generated images
KR101850134B1 (ko) 3차원 동작 모델 생성 방법 및 장치
JP5066047B2 (ja) 情報処理装置、情報処理方法、プログラム及び情報記憶媒体
JP2006059165A (ja) 3次元モデリング装置、幾何学パターン、3次元モデリングデータの生成方法、3次元モデリングプログラム、記録媒体
JP5015109B2 (ja) 情報処理装置、情報処理方法、プログラム及び情報記憶媒体
CN112416124A (zh) 舞蹈姿势反馈方法及装置
US20240249419A1 (en) Information processing apparatus, information processing method, and program
CN105164617B (zh) 自主nui设备的自发现
TWI505176B (zh) 動畫製作之方法及裝置

Legal Events

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

Ref document number: 200980139029.5

Country of ref document: CN

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

Ref document number: 09817726

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2009817726

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 13121318

Country of ref document: US