WO2023282049A1 - 情報処理装置、情報処理方法、情報処理システム、コンピュータプログラム及び記録媒体 - Google Patents

情報処理装置、情報処理方法、情報処理システム、コンピュータプログラム及び記録媒体 Download PDF

Info

Publication number
WO2023282049A1
WO2023282049A1 PCT/JP2022/024647 JP2022024647W WO2023282049A1 WO 2023282049 A1 WO2023282049 A1 WO 2023282049A1 JP 2022024647 W JP2022024647 W JP 2022024647W WO 2023282049 A1 WO2023282049 A1 WO 2023282049A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion
content
change
information
information processing
Prior art date
Application number
PCT/JP2022/024647
Other languages
English (en)
French (fr)
Inventor
遼 深澤
智彦 後藤
和典 淺山
Original Assignee
ソニーグループ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Priority to CN202280046827.9A priority Critical patent/CN117597706A/zh
Publication of WO2023282049A1 publication Critical patent/WO2023282049A1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data

Definitions

  • the present disclosure relates to an information processing device, an information processing method, an information processing system, a computer program, and a computer-readable recording medium.
  • avatars character avatars
  • An example of distributed content is live content with a performer's avatar.
  • various ideas have been devised for delivery methods.
  • content was recently distributed in which a 3D representation of a performer's avatar performed in a virtual space on an online game.
  • Metaverse services provided by online games and XR (X-reality) displays such as VR-HMD (Head Mount Display) and spatial reality display (Spatial Reality display) are expected to become more and more popular in the future.
  • the XR display can enhance the sense of reality and immersion by displaying characters such as avatars in 3D in the virtual space. With the spread of such XR displays, the field of distribution services such as live content using 3D display avatars is expected to become even more popular in the future.
  • the avatar motions played in current general live content are either assets based on motion capture photography, or realized by assets created in advance by the creator.
  • the asset means data including, for example, a plurality of bones forming an avatar and sequence information for operating the bones. Then, avatars with the same motion are usually reproduced for all viewers.
  • live content up until now has been one-way content from the broadcaster to the viewer, without, for example, avatar reactions that match the movements of the viewer, and lacks interactivity.
  • general live content does not take into account the situation on the viewer's side, and does not provide personalized content to the viewer.
  • live content such as the above may be distributed online in a virtual space that realizes multiplayer multiplayer.
  • the present disclosure has been made in consideration of the above circumstances, and provides an information processing device, an information processing method, an information processing system, a computer program, and a recording medium that can provide content with high added value.
  • the information processing apparatus of the present disclosure includes a motion control unit that changes the motion of an object in the content based on recognition information about the content of the user viewing the content.
  • the information processing method of the present disclosure includes a process of acquiring recognition information about the content of a user viewing the content, and a process of changing the motion of an object in the content based on the recognition information.
  • An information processing system includes a server device and a client device that reproduces content under the control of the server device, wherein at least one of the server device and the client device reproduces the content in the client device. and a motion control unit that changes the motion of an object in the content based on recognition information of the content of a user who views the content.
  • a computer program causes a computer to change the motion of an object in the content based on recognition information of the content of a user viewing the content.
  • a recording medium of the present disclosure is a computer-readable recording medium recording a computer program for causing a computer to execute a step of changing the motion of an object in the content based on recognition information of the content of the user viewing the content. is.
  • FIG. 2 is a block diagram of a content data distribution device that configures the information processing system according to the first embodiment
  • 3 is a block diagram of each of a server device and a client device that configure the information processing system according to the first embodiment
  • FIG. 4 is a flow chart showing an example of the operation of the content data distribution device according to the first embodiment
  • 4 is a front view of an object whose motion is reproduced by object motion data created by the content data distribution device according to the first embodiment
  • FIG. FIG. 5B is a side view of the object corresponding to FIG. 5A
  • FIG. 5B is a top view of the object corresponding to FIG. 5A
  • FIG. 5A is a side view of an object reproducing a different motion than in FIGS. 5A-C;
  • FIG. 7 is a front view of an object reproducing a motion different from FIGS. 5A-C and FIG. 6;
  • FIG. 4 is a diagram for explaining an example of motion change tolerance set for objects in content;
  • FIG. 4 is a diagram for explaining an example of motion change tolerance set for objects in content;
  • FIG. 4 is a diagram for explaining an example of motion change tolerance set for objects in content;
  • FIG. 4 is a diagram for explaining an example of motion change tolerance set for objects in content;
  • FIG. 4 is a conceptual diagram for explaining motion change logic used when changing the motion of an object in content displayed on the client device side based on the user's content recognition information; 4 is a flowchart showing an example of the operation of the server device according to the first embodiment; 4 is a flow chart showing an example of the operation of the client device according to the first embodiment; FIG. 4 is a view for explaining an example of a state when content is displayed in a virtual space displayed on a display device by the client device according to the first embodiment; FIG. 11 is a diagram for explaining an example of post-change motion in which the motion of an object in content is changed based on the motion change logic; FIG.
  • FIG. 11 is a diagram for explaining an example of a case where a post-change motion that has been changed based on the motion change logic is determined to be broken;
  • FIG. 15 is a diagram for explaining an example of a post-change motion that is different from that in FIG. 15;
  • FIG. 17 is a diagram for explaining an example of an after-change motion that is determined to be broken, different from FIG. 16;
  • FIG. 18 is a diagram for explaining an example of a post-change motion that is different from FIGS. 15 and 17;
  • FIG. FIG. 10 is a diagram for explaining an example of post-change motions in which the motions of multiple objects in content are changed based on the motion change logic; The figure explaining the modification of 1st Embodiment which uses a spatial reproduction display as a display apparatus.
  • FIG. 10 is a block diagram of each of a content data distribution device, a server device, and a client device that configure an information processing system according to a second embodiment; 10 is a flow chart showing an example of the operation of the server device according to the second embodiment; 9 is a flow chart showing an example of the operation of the client device according to the second embodiment; 1 is a diagram showing an example of a hardware configuration of an information processing device that can constitute a content data distribution device, a server device, and a client device according to an embodiment; FIG.
  • FIG. 1 shows a configuration example of an information processing system S1 according to the first embodiment.
  • An information processing system S1 shown in FIG. 1 includes a content data distribution device 10, a server device 20, a plurality of client devices 30, and a plurality of display devices 31.
  • the content data distribution device 10, the server device 20, and the client device 30 are connected to each other via a communication network 40, and are capable of two-way communication.
  • the communication network 40 may be a wide area network such as the Internet, or a local area network such as a wireless LAN (Local Area Network) or Ethernet (registered trademark).
  • the client device 30 is a device operated by a user.
  • the client device 30 causes the display device 31 to display content provided from the content data distribution device 10 or the server device 20 .
  • the server apparatus 20 performs control so that the contents are reproduced simultaneously in each client apparatus 30, that is, the contents are reproduced in multiplay.
  • various data for reproducing content are provided from the content data distribution device 10 to the client device 30 in advance. Then, the server device 20 controls reproduction of content in the client device 30 in response to a reproduction request from the client device 30 .
  • the present disclosure is not limited to such a reproduction method.
  • Various data for reproducing content may be provided from the server device 20 to the client device 30, in particular, in real time.
  • the content data distribution device 10 the server device 20, the client device 30, and the display device 31 that configure the information processing system S1 will be described below.
  • FIG. 2 shows a block diagram of the content data delivery device 10.
  • the content data distribution device 10 is a device that generates and distributes various data and applications for reproducing content.
  • the content data distribution device 10 may be, for example, a device used by a content creator in a company that provides a distribution service.
  • the content data distribution device 10 can be configured with an information processing device (computer) including a CPU, various storage devices, input/output interfaces, and the like.
  • various functions realized by the content data distribution device 10 can be realized by computer programs expanded from the storage device.
  • the content data distribution device 10 shown in FIG. 2 has a motion material acquisition unit 100 and a motion data generation unit 110.
  • the motion material acquisition unit 100 and the motion data generation unit 110 may be composed of one information processing device. Alternatively, the motion material acquisition unit 100 and the motion data generation unit 110 may each be composed of separate information processing devices.
  • the motion material acquisition unit 100 includes a motion capture section 101 and a motion editing section 102.
  • the motion data generation unit 110 includes a motion acquisition unit 111, a motion shaping unit 112, a motion change tolerance setting unit 113, a motion change logic setting unit 114, a reproduction application generation unit 115, a communication unit 116, including. Each of these units can be implemented by a computer program developed from a storage device.
  • the motion capture unit 101 acquires, for example, the actual motion of performer P's performance as a motion material for digital information using motion capture technology.
  • the motion capture technology used is, for example, an optical type that captures multiple markers attached to the performer with multiple imaging devices, an inertial sensor method that analyzes position information by attaching an acceleration sensor to the performer, and an imaged performer's actual motion analysis.
  • a video analysis method or the like may be used.
  • the motion materials are, for example, (1) a plurality of bones corresponding to the actor P connected via joints, (2) body parts composed of polygons corresponding to the bones, and (3) real motions of the actor P. It includes motion information (for example, sequence information or so-called script) that reproduces the motion of the bones followed, (4) motion playback speed information, and the like.
  • the motion information is information that defines the order of the motion of the object that changes in chronological order.
  • a plurality of bones and body parts corresponding thereto constitute an avatar of a performer P as an object.
  • bones, or bones and body parts corresponding to them may be referred to as elemental objects that make up an object.
  • the motion editing unit 102 edits the above motion material acquired by the motion capturing unit 101 according to the operation of the creator or automatically.
  • the editing content may be molding or modification of the shape or position of the object.
  • the motion editing unit 102 performs editing such as making the motion of a specific part of the performer look natural. Then, the motion editing unit 102 provides the motion data generation unit 110 with the motion material after editing or as it is.
  • the motion acquisition section 111 acquires the above motion material from the motion editing section 102 and provides it to the motion shaping section 112 .
  • the motion molding unit 112 molds the motion material provided from the motion capture unit 111 according to the content creator's operation or automatically.
  • the various editing processing functions for motion materials possessed by the motion data generation unit 110 may not have good compatibility with the motion materials from the motion editing unit 102 .
  • the motion shaping section 112 shapes the motion material into a format that is easy for the motion data generating unit 110 to handle.
  • At least part of the various functions of the motion data generation unit 110 may be realized by a versatile game engine. In such a case, a situation may arise in which compatibility between the motion material and the functions of the motion data generation unit 110 is not good. At this time, the motion molding unit 112 molds the motion material, so that the processing can be performed efficiently.
  • the motion shaping unit 112 generates the motion materials described above as object motion data.
  • the object motion data basically has the same data structure as the motion material, and consists of (1) multiple bones, (2) corresponding body parts, and (3) motion of the bones according to the actual motion of actor P. It includes motion information to be reproduced, (4) motion playback speed information, and the like.
  • the motion change tolerance setting unit 113 sets the motion change tolerance for the object whose motion is reproduced by the object motion data described above.
  • the motion change tolerance setting unit 113 sets the tolerance, for example, according to the content creator's operation or automatically. Although the details will be described later, in this embodiment, when an object corresponding to the performer P in the content is displayed on the display device 31, motion (strictly speaking, can change a part of the overall motion).
  • the motion change tolerance setting unit 113 is used when presetting the tolerance for such motion change.
  • the tolerance is set in the range of 0% to 100%, for example.
  • the method of setting the tolerance is not particularly limited, for example, a high tolerance is set for motions of low importance, and a low tolerance is set for motions of high importance.
  • the less important motion may be, for example, a motion of the performer P walking on the stage while singing, a motion of simply walking on the stage, a waiting time between songs, or a silent time.
  • a motion with a high degree of importance may be a scene of speech between songs, a scene of vigorous dancing, and the like. That is, the tolerance can be set to different values depending on the content of the motion. That is, different tolerance values may be set for the object depending on the content of some motions in the overall motion.
  • the bones included in the object motion data consist of a plurality of bones corresponding to element objects.
  • the motion of the object is composed of a combination of element motions set for each bone, that is, each element object.
  • the above-described tolerance is determined for each element object as the tolerance for changing the element motion. That is, the motion change tolerance setting unit 113 sets the tolerance for each element object.
  • the elemental motion is composed of, for example, a movement that changes the posture of the elemental object relative to the corresponding joint, and/or a movement that changes the state of each elemental object itself (such as moving the mouth). .
  • the motion change logic setting unit 114 creates motion change logic that defines a change pattern for changing motion based on the user's recognition information as described above.
  • the motion change logic setting unit 114 is used, for example, when creating motion change logic in advance according to the operation of the content creator.
  • the motion change logic is information that defines the relationship between the user's recognition information for the content and the motion change pattern corresponding to the recognition information.
  • Motion change logic is created, for example, as a table.
  • the user's recognition information is information detected by the client device 30, and includes, for example, the user's position, line of sight, gestures, operations on the operation unit, and combinations thereof.
  • the change pattern includes, for example, a change in the movement path of the object corresponding to the performer P toward the user's position, a change in the direction of the object's head and line of sight toward the user's line of sight, an object laughing toward the user, and a hand movement. It is a change that adds an action such as shaking the .
  • the motion change logic is developed on the client device 30 side, and is used when the client device 30 changes the motion of the object being played back based on the user's recognition information for the content being played back on the client device 30 side.
  • the client device 30 changes the motion of the object based on the motion change logic
  • the motion change pattern corresponding to the detected recognition information is determined.
  • the part of the element object to be changed is selected based on the tolerance set for the object in the motion to be changed, and the change based on the change pattern of the selected part is performed. determine the degree.
  • the process of selecting the part of the element object to be changed based on the tolerance is, for example, when a hand waving motion is selected as the change pattern, the left hand side, which has a high tolerance, is selected as the part whose motion is to be changed. It means the processing to do. Further, the process of determining the degree of change of the selected part based on the tolerance means that when the hand waving motion is selected as the change pattern, if the tolerance of the part to be changed is 50%, the change It means a process of deciding to perform a hand waving motion with a movement that reflects 50% of the hand waving motion defined by the pattern, that is, a smaller movement than the hand waving motion defined by the change pattern. .
  • the user's recognition information for content as described above can be detected in multiple patterns at the same time. At this time, a situation in which the change patterns conflict may occur.
  • priority is set for the change pattern, and the change pattern is selected based on the priority.
  • the motion change logic setting unit 114 also sets such priority. The motion change logic as described above will be described in detail with reference to FIG. 11 and the like.
  • the reproduction application generation unit 115 generates content in cooperation with the object motion data created as described above, the tolerance and motion change logic set therein, and the object whose motion is reproduced by the object motion data. and/or object motion data of other objects, and pre-written server and client applications. Then, the reproduction application generation unit 115 processes server reproduction data to be provided to the server device 20 and client reproduction data to be provided to the client device 30 based on these pieces of information.
  • the data for server reproduction includes a server application and at least motion information and reproduction speed information in object motion data.
  • Client playback data includes client applications, object motion data, tolerances and motion change logic set therein, peripherals such as stages that form content in cooperation with objects whose motions are reproduced by the object motion data. Partial data and/or object motion data for other objects are included.
  • the server application is an application provided to the server device 20 and used by the server device 20 to control the reproduction of content on the client device 30 .
  • the server application includes a computer program that causes the server device 20 to implement, for example, motion information for reproducing the motion of an object in the content and processing for determining reproduction timing information for the motion reproduced by the motion information.
  • the client application is an application provided to the client device 30 and used by the client device 30 to reproduce content on the display device 31 based on control signals from the server device 20 .
  • the client application performs processing for reproducing content based on a control signal received from the server device 20, processing for acquiring user recognition information, processing for changing the motion of an object in the content based on the recognition information, etc. to the client device 30. It includes a computer program that makes it possible.
  • the communication unit 116 transmits the server application, the client application, etc. recorded or generated by the reproduction application generation unit 115 to the server device 20 or the client device 30 via the communication network 40 .
  • the communication unit 116 transmits the server application to the server device 20 in response to a request from the server device 20 .
  • the communication unit 116 may also transmit client applications, object motion data, tolerances set therein, motion change logic, etc., to an online store, for example.
  • the online store provides client applications, object motion data, tolerances set therein, motion change logic, etc., upon request from the client device 30 .
  • the method of providing applications as described above is not particularly limited.
  • the client application may be downloaded from the website of the content distribution company, or may be provided to the user in a state recorded on a recording medium or installed in an information processing apparatus.
  • FIG. 3 shows a block diagram of the server device 20.
  • the server device 20 is a device that controls reproduction of content in the client device 30 as described above.
  • the server device 20 may be, for example, a server device of a company that provides distribution services.
  • the server device 20 can be configured by an information processing device (computer) including a CPU, various storage devices, input/output interfaces, and the like.
  • various functions implemented by the server device can be implemented by computer programs expanded from the storage device.
  • the server device 20 includes an application logic control section 201, a timeline control section 202, a multiplay control section 203, and a communication section 204.
  • Each of these units can be implemented by a computer program expanded from a storage device, and more specifically, at least a part of each of these units is implemented by the server application described above.
  • the application logic control unit 201 determines motion information for reproducing the motion of the object in the content displayed on the client device 30 side.
  • the application logic control unit 201 is implemented by the server application provided by the content data distribution apparatus 10 .
  • the motion information determined by the application logic control unit 201 is determined based on the object motion information provided to the server device 20 together with the server application.
  • the timeline control unit 202 determines reproduction timing information for the determined motion information when the application logic control unit 201 determines the motion information as described above.
  • the reproduction timing information includes the reproduction start timing of motion information, the reproduction speed (frame rate switching speed), and the like.
  • the timeline control unit 202 in this embodiment is also implemented by the server application, and the reproduction timing information determined by the timeline control unit 202 is determined based on the object reproduction speed information provided to the server device 20 together with the server application. be done.
  • the server device 20 controls each client device 30 to reproduce content in multiplay.
  • the multiplay control unit 203 is provided with the motion information determined by the application logic control unit 201 and the reproduction timing information determined by the timeline control unit 202 as described above, and generates a control signal for performing multiplay.
  • the multiplay control unit 203 when the server device 20 receives content reproduction requests from a plurality of client devices 30, the multiplay control unit 203 generates a control signal for advancing the content displayed on each client device 30 side at the same timing. Generate.
  • the motion information determined by the application logic control unit 201 and the reproduction timing information determined by the timeline control unit 202 are processed as part of the control signal for reproducing the content.
  • the information processing system S1 displays content in the virtual space where the avatar operated by the user of the client device 30 exists.
  • avatars of users of multiple client devices 30 are displayed in the virtual space.
  • the multiplay control unit 203 also generates a signal for displaying each user's avatar in the virtual space as part of the control signal.
  • the control signals for reproducing content generated by the multiplay control unit 203 include, in addition to the above-described signals corresponding to motion information, signals corresponding to reproduction timing information, and signals for displaying avatars, It also includes a signal corresponding to data for reproducing the peripheral portion forming the content, a signal related to sound information, and the like.
  • the server device 20 provides such a control signal to each client device 30 at the same timing through the multiplay control unit 203, thereby realizing display of content and each user's avatar in multiplay on each client device 30. do.
  • the communication unit 204 receives the above-described control signal from the multiplay control unit 203, for example, and transmits it to each client device 30 via the communication network 40.
  • the communication unit 204 may encode the control signal and transmit it to the client device 30 .
  • the communication unit 204 is also used when receiving server applications.
  • the application logic control unit 201 and the timeline control unit 202 are implemented by the server application, but the multiplay control unit 203 may be further implemented by the server application.
  • the implementation method of such application logic control unit 201, timeline control unit 202, etc. is not particularly limited.
  • the client device 30 is a device that causes the display device 31 to display content under the control of the server device 20 as described above.
  • the client device 30 can be configured by an information processing device (computer) including a CPU, various storage devices, input/output interfaces, and the like.
  • various functions implemented by the server device can be implemented by computer programs expanded from the storage device.
  • the client device 30 includes a communication unit 301, a multiplay control unit 302, an application logic control unit 303, a timeline control unit 304, a user recognition information acquisition unit 305, a motion generation unit 306, a motion control unit 307, and a drawing playback unit 308.
  • Each of these units can be implemented by a computer program expanded from a storage device, and more specifically, at least a part of each of these units is implemented by the client application described above.
  • the client device 30 prior to content playback, the client device 30 cooperates with the client application, the object motion data, the tolerance and motion change logic set therein, and the object whose motion is reproduced by the object motion data. It receives various data such as data of surrounding parts such as a stage that forms the content and/or object motion data of other objects.
  • the communication unit 301 receives the various data described above from the content data distribution device 10 via the communication network 40 . Further, when the client device 30 reproduces content, the communication unit 301 transmits a content reproduction request to the server device 20 . The communication unit 301 also receives a control signal for reproducing the content transmitted by the server device 20 in response to this reproduction request.
  • the multiplay control unit 302 receives the control signal from the communication unit 301 when the communication unit 301 receives the control signal from the server device 20 . At this time, the multiplay control unit 302 sends a signal corresponding to motion information for reproducing the motion of the object among the control signals to the application logic control unit 303 . Also, the multiplay control section 302 sends a signal corresponding to the reproduction timing information to the timeline control section 304 . The multiplay control unit 302 also controls other signals, for example, a signal corresponding to data for reproducing peripheral parts forming content together with an object, a signal for displaying an avatar corresponding to another user, a signal related to sound information, and so on. Signals and the like are sent to the drawing reproduction unit 308 .
  • the application logic control unit 303 receives from the multiplay control unit 302 a signal corresponding to the motion information from the server device 20 described above, and based on this signal, determines motion information for reproducing the motion of the object in the content.
  • the timeline control unit 304 receives from the multiplay control unit 302 a signal corresponding to the reproduction timing from the server device 20 described above, and based on this signal, the application logic control unit 303 determines the motion information reproduction timing. to decide.
  • the playback timing includes playback start timing, playback speed (frame rate switching speed), and the like.
  • the basic motion of objects in content is determined by the motion information determined by the application logic control unit 303 and the playback timing determined by the timeline control unit 304 described above.
  • the application logic control section 303 sends the determined motion information to the motion control section 307
  • the timeline control section 304 sends the determined reproduction timing to the motion control section 307 .
  • the control signal from the server device 20 includes a signal corresponding to motion information and reproduction timing information of another object
  • the application logic control unit 303 and the timeline control unit 304 control the motion information related to the other object.
  • the reproduction timing is also determined and sent to the motion control section 307 .
  • the motion control unit 307 reproduces the motion of an object in the content based on the motion information from the application logic control unit 303, or the motion information is detected by the user recognition information acquisition unit 305. Make an informed decision to modify and reproduce.
  • the motion generation unit 306 When changing the motion, the motion generation unit 306 generates replacement motion information (to be described later) based on the recognition information detected by the user recognition information acquisition unit 305, and the application logic control unit 303 determines this replacement motion information. is reflected in the motion information.
  • the user recognition information acquisition unit 305 functions together with content reproduction, and acquires content recognition information of the user viewing the content.
  • the user's recognition information includes, for example, the user's position, line of sight, gesture, operation on the operation unit, and combinations thereof.
  • content is displayed in a virtual space in which an avatar operated by the user of the client device 30 exists.
  • the user recognition information acquisition unit 305 detects the relative position between the object in the content displayed in the virtual space and the avatar operated by the user, as the position of the user. do.
  • the user recognition information acquisition unit 305 also detects the line of sight of the avatar operated by the user as the line of sight of the user.
  • the user recognition information acquisition unit 305 also detects gestures of the avatar operated by the user as user gestures.
  • the content may be displayed in a virtual space or an augmented reality space that is directly viewed by the user.
  • the user recognition information acquisition unit 305 detects, as the user's position, the relative position between the object and the user's viewpoint based on the position of the head-mounted display.
  • the user recognition information acquisition unit 305 detects the orientation of the head mounted display and/or the user's line of sight with an internal sensor as the line of sight of the user.
  • the user recognition information acquisition unit 305 detects gestures as user gestures using a sensor attached to the arm or the like of the user while wearing the head-mounted display.
  • the display device 31 is a spatial reality display
  • the content is stereoscopically displayed on the spatial reality display.
  • the user's face can be detected with a sensor attached to the spatial rendition display.
  • the user recognition information acquisition unit 305 may detect the user's position, line of sight, and gesture from the detection information of this sensor.
  • the motion generation unit 306 receives recognition information from the user recognition information acquisition unit 305 when the user recognition information acquisition unit 305 detects recognition information as described above. Then, the motion generation unit 306 generates replacement motion information in which the motion information of the object is changed based on the recognition information and the motion change logic. Specifically, at this time, the motion generator 306 first identifies a change pattern based on the recognition information and the motion change logic. Next, the motion generation unit 306 changes the motion information (a part of the motion information in this embodiment) of the object in the content after the detection of the recognition information based on the change pattern, thereby generating replacement motion information. Generate.
  • the motion generation unit 306 selects the part of the element object to be changed based on the tolerance set for the object in the motion to be changed. Next, the motion generator 306 changes the elemental motion information of the selected elemental object based on the change pattern to generate replacement motion information different from the motion information defining the basic motion.
  • the motion control unit 307 receives the motion information determined by the application logic control unit 303 and the playback timing determined by the timeline control unit 304 as described above. receives the changed motion information from the motion generator 306 . Based on the received information, the motion control unit 307 reproduces the motion of the object in the content using the motion information from the application logic control unit 303, or the user recognition information acquisition unit 305 detects this motion information. Decide whether to change and reproduce based on the recognition information.
  • the motion control unit 307 receives only the motion information determined by the application logic control unit 303 and the reproduction timing determined by the timeline control unit 304, the motion of the object in the content is controlled by the application logic control unit. 303 decides to reproduce according to the determined motion information. In this case, the motion control unit 307 provides the motion information determined by the application logic control unit 303 as it is to the drawing/playback unit 308 .
  • the motion control unit 307 receives the motion information determined by the application logic control unit 303, the reproduction timing determined by the timeline control unit 304, and the replacement motion information
  • the application logic control unit 303 Post-change motion information is generated by reflecting the replacement motion information on the determined motion information.
  • the extent to which the replacement motion information is reflected in the motion information determined by the application logic control unit 303 is determined based on tolerance. For example, when a motion of waving a hand is selected as a change pattern, replacement motion information corresponding to the motion of waving a hand defined by the change pattern is generated.
  • the tolerance of the element object to be changed is 50%
  • 50% of the replacement motion information is reflected in the motion information determined by the application logic control unit 303 as the post-change motion information. Information is generated.
  • the motion control unit 307 determines whether or not the post-change motion of the object reproduced by the post-change motion information exceeds a predetermined allowable motion range.
  • a predetermined allowable motion range for example, when an object walks on the stage, the object walks outside the stage while floating in the air, or when the object moves beyond the range of motion of its joints. be.
  • the allowable range of motion means the walking range of the stage, the limit range of motion of the body, and the like.
  • the motion control unit 307 provides the post-change motion information to the drawing reproduction unit 308 .
  • the motion is not changed, or the post-change motion is corrected.
  • the correction may be handled by eg IK (Inverse Kinematics) embedded in the application.
  • the motion control unit 307 when it is determined that the post-change motion exceeds the allowable range of motion, the motion control unit 307 corrects the post-change motion and then determines whether the corrected post-change motion exceeds the allowable range of motion. do. Then, when it is determined that the corrected post-change motion does not exceed the allowable range of motion, the motion control unit 307 provides the post-change motion information to the drawing/playback unit 308 . On the other hand, when it is determined that the corrected motion after change exceeds the allowable operation range, the motion control unit 307 determines not to change the motion, and draws the motion information from the application logic control unit 303 as it is. Provided to the playback unit 308 .
  • the drawing playback unit 308 receives from the motion control unit 307 the motion information determined by the application logic control unit 303 or the changed motion information generated by the motion control unit 307 and the playback timing determined by the timeline control unit 304 . Then, the drawing reproduction unit 308 performs processing (rendering) so that the motion object according to the received information is displayed on the display device 31 . At this time, the drawing/reproducing unit 308 receives signals provided from the multi-play control unit 302, for example, signals corresponding to data for reproducing peripheral parts forming content together with objects, signals for displaying avatars corresponding to other users, And when receiving signals related to sound information, it also performs display processing (rendering) of content components based on these signals.
  • the display device 31 is electrically connected to the client device 30, and displays virtual space and content through processing by the drawing/playback unit 308 of the client device 30 described above.
  • Content including objects is displayed on the display device 31, and the user can view the content.
  • the motion of the object can be changed according to the user's recognition information for the content as described above. This allows the user to obtain interactivity in the content.
  • the display device 31 may be an LCD (liquid crystal display), an organic electroluminescence display, a PDP (plasma display), a head-up display, a spatial reproduction display, or the like.
  • the display device is an LCD, and content is displayed in a virtual space displayed on the LCD.
  • the client device 30 may be built in the display device 31, or may be connected to the client device 30 by wire or wirelessly as a separate device from the display device 31. FIG.
  • FIG. 4 shows a flowchart for explaining an example of the operation of the content data distribution device 10. As shown in FIG. An example of the operation of the content data distribution device 10 will be described below with reference to FIGS. 2 and 4.
  • FIG. 4 shows a flowchart for explaining an example of the operation of the content data distribution device 10. As shown in FIG. An example of the operation of the content data distribution device 10 will be described below with reference to FIGS. 2 and 4.
  • FIG. 4 shows a flowchart for explaining an example of the operation of the content data distribution device 10. As shown in FIG. An example of the operation of the content data distribution device 10 will be described below with reference to FIGS. 2 and 4.
  • FIG. 4 shows a flowchart for explaining an example of the operation of the content data distribution device 10. As shown in FIG. An example of the operation of the content data distribution device 10 will be described below with reference to FIGS. 2 and 4.
  • FIG. 4 shows a flowchart for explaining an example of the operation of the content data distribution device 10. As shown in FIG. An example of the operation of
  • the content data distribution device 10 first creates object motion data (S41).
  • Object motion data is created by passing motion material acquired by the motion capture unit 101 through the motion editing unit 102 , the motion capturing unit 111 and the motion shaping unit 112 .
  • the content data distribution device 10 sets the motion change tolerance for the object whose motion is reproduced by the object motion data (S42). This setting is performed by the motion change tolerance setting unit 113 . Specifically, in this embodiment, the tolerance is set for each bone (element object) that constitutes an object. Also, different values are set for the tolerance depending on the content of the motion that changes in time series.
  • the content data distribution device 10 creates motion change logic and sets priorities for change patterns defined in the motion change logic (S43). This processing is performed by the motion change logic setting unit 114 .
  • the content data distribution device 10 processes the server reproduction data to be provided to the server device 20 and the client reproduction data to be provided to the client device 30 (S44). This processing is performed by the reproduction application generation unit 115 .
  • the server reproduction data includes the server application and at least the motion information and reproduction speed information in the object motion data.
  • Client playback data includes client applications, object motion data and tolerances and motion change logic set therein, stages that form content in cooperation with objects whose motions are reproduced by object motion data, etc. Perimeter data and/or object motion data for other objects are included.
  • the content data distribution device 10 monitors whether there is an application transmission request from the server device 20, client device 30, online store, etc. (S45). When there is a transmission request, the data for server reproduction is transmitted to the server device 20, or the data for client reproduction is transmitted to the client device 30 directly or via an online store (S46). ). Then, in this example, when a request reception stop instruction is received while monitoring whether or not there is a transmission request (YES in S47), the processing of the content data distribution apparatus 10 ends.
  • FIGS. 5A-C are respectively a front view, a side view and a top view of an object whose motion is reproduced by object motion data created by the content data distribution device 10.
  • FIG. 6 is a side view of an object reproducing a different motion than in FIGS. 5A-C.
  • FIG. 7 is a front view of an object reproducing yet another different motion.
  • the object motion data created by the content data distribution device 10 includes a plurality of bones, the corresponding body parts, motion information for reproducing the motion of the bones according to the actual motion of the performer P, motion playback speed information, and the like.
  • symbols B1 to B15 in FIG. 5A(A) correspond to a plurality of bones (element objects).
  • the object motion data is data for displaying an object with a predetermined motion as shown in FIGS. 5A to 7 by operating such bones B1 to B15 based on motion information.
  • the bones B1 to B15 are appropriately omitted in FIGS. 5A to 5C, 6, and 7 for ease of viewing.
  • FIGS. 5A to 5C show how the performer's object P1 sings while walking on the object corresponding to the stage S in the order of (A) ⁇ (B) ⁇ (C).
  • the motion information that reproduces such motions includes elemental motion information that reproduces the motion of moving the foot alternately back and forth, elemental motion information that reproduces the motion of repeatedly moving the left hand back and forth, and singing motion information. It is configured by setting elemental motion information that reproduces the movement corresponding to the mouth when it is in.
  • FIG. 6 shows how the motion of the performer's object P1 dancing is reproduced in the order of (A) ⁇ (B) ⁇ (C).
  • the motion information that reproduces such motions includes elemental motion information that reproduces the motion of moving the legs alternately back and forth, elemental motion information that reproduces the motion of moving the arm up and down, etc. It consists of FIG. 7 shows how the motion of the actor's object P1 speaking is reproduced.
  • Motion information for reproducing such motions is composed of elemental motion information for reproducing movements corresponding to the mouth during singing.
  • the overall motion information of the object is constructed by connecting each piece of motion information as described above.
  • the object motion data created in the above step S41 includes, for example, the plurality of bones B1 to B15 mentioned above, the body parts corresponding thereto, the motion information composed of the elemental motions set to the bones B1 to B15, and the motion reproduction. It is created as data including speed information.
  • a plurality of object motion data corresponding to each object are created.
  • FIGS. 5A-C show an example of tolerance set for the object P1 that reproduces the motions shown in FIGS. 5A-C.
  • FIG. 9 shows an example of tolerance set for the object P1 that reproduces the motion shown in FIG.
  • FIG. 10 shows an example of tolerance set for the object P1 that reproduces the motion shown in FIG.
  • FIG. 8 shows the motion of the object P1 singing while walking on the object corresponding to the stage S.
  • a low tolerance (0%) is set for bones B3, B4, and B5, which are element objects on the right hand side.
  • the left hand side can be said to be a motion of low importance. Therefore, a high tolerance (100%) is set for bones B6, B7, and B8, which are element objects on the left hand side.
  • a high tolerance (100%) is set for the bones B10 to B15 corresponding to the feet.
  • FIG. 9 shows the motion of the object P1 dancing.
  • this motion for example, changing the movement of parts below the head may impair the natural performance. Therefore, a low tolerance (0%) is set for the bones B2 to B15 located below the bone B1 corresponding to the head.
  • a tolerance of 30% is set for the bone B1 corresponding to the head.
  • FIG. 10 shows the motion of object P1 speaking.
  • a low tolerance (0%) is set for bones B3, B4, and B5, which are element objects on the right hand side.
  • a low tolerance (0%) is set for the bones B10 to B15 corresponding to the feet.
  • the bone B1 corresponding to the head is allowed to be changed, but a tolerance of 30% is set so as not to allow a large change.
  • a high tolerance (80%) is set for bones B6, B7, and B8, which are element objects on the left hand side.
  • the tolerance is set for each of the bones B1 to B15 as described above. If multiple objects are to be displayed in the content, a tolerance is set for each object. Also, when delivering object motion data in real time, the tolerance may be set automatically. In this case, the motion change tolerance setting unit 113 may analyze the movement of the object motion data and sequentially set the tolerance based on a predetermined standard.
  • FIG. 11 is a conceptual diagram illustrating motion change logic.
  • Logic title in FIG. 11 indicates the type of change pattern.
  • Recognition information indicates the type of recognition information corresponding to the change pattern.
  • Change pattern content indicates the change content of the motion.
  • Priority indicates a priority value set for each change pattern.
  • change pattern I defines logic for causing the user to change the movement path of the object when the user's position is detected as the recognition information.
  • the change pattern II defines logic for changing the head and line of sight of the object to the user side when the user's position is detected as the recognition information.
  • Modification pattern III defines the logic for synthesizing the motion of the object waving its hand toward the user when the user's position, line of sight, and gesture are detected as recognition information.
  • Modification pattern IV defines the logic for synthesizing the motion of the object smiling at the user when the user's position, line of sight and gesture are detected as recognition information.
  • the change pattern N defines the logic for starting the post-change motion when the user's position and line of sight are detected as recognition information.
  • the motion change logic as described above for example, when the position of the user is detected as recognition information of the user who is viewing the content on the client device 30 side, the movement path of the object is changed by the user side. Display becomes possible (change pattern I). Further, when the user's position and line of sight are detected as the recognition information, for example, it is possible to display the head and line of sight of the object to the user side (change pattern II).
  • a tolerance a is set for change pattern I
  • a tolerance c is set for change pattern II
  • a tolerance b is set for change pattern III
  • a tolerance d is set for change pattern IV ( a>b>c>d).
  • change pattern I and change pattern II can be selected.
  • Priority is set to determine the change pattern to be selected in the event of such a conflict. That is, in this example, change pattern I is selected because priority a is higher than priority c.
  • the change pattern N is logic for adjusting the start timing of the post-change motion. For example, when a user's position is detected as recognition information and a change pattern is selected, post-change motion information for reproducing the post-change motion is created based on the change pattern (motion generation unit 306). At this time, after the recognition information is detected, the user may take his/her line of sight from the object and then turn his/her line of sight to the object again.
  • the change pattern N is for performing control so that the post-change motion is not started when the user looks away from the object, and the post-change motion is started when the user looks at the object again.
  • step S43 motion change logic as described above is created.
  • the tolerance may be set automatically.
  • the change based on the change pattern determined by the motion change logic is performed by changing the description of sequence information or motion information made up of a script.
  • the change pattern may be configured as separately shot object motion data, and the motion may be changed by replacing this data.
  • the motion change logic is processed as data for client reproduction together with the object motion data created in step S41, the tolerance set in step S42, the client application, etc. .
  • the client device 30 After receiving the client reproduction data, the client device 30 transmits a content reproduction request to the server device 20 and waits for a control signal from the server device 20 . After the server device 20 transmits the control signal to the client device 30, display of the content on the client device 30 side is started.
  • FIG. 12 shows a flowchart explaining an example of the operation of the server device 20 .
  • An example of the operation of the server device 20 will be described below.
  • the server device 20 After receiving the server reproduction application (data) (S121), the server device 20 waits for a content reproduction request from the client device 30 (S122). Then, when a reproduction request is received (YES in S122), a control signal for content reproduction is transmitted to the client device 30 (S123). Then, the server apparatus 20 transmits the control signal until it receives the instruction signal to end the reproduction, and terminates the process when the instruction signal to end the reproduction is received (S124).
  • a control signal for content reproduction is generated by the multiplay control unit 203, and is generated based on information from the application logic control unit 201 and the timeline control unit 202 as described above.
  • Control signals for content reproduction include signals corresponding to motion information, signals corresponding to reproduction timing information, signals for displaying avatars (avatars of the user and other users), and content together with objects.
  • a signal corresponding to data for reproducing the peripheral portion, a signal related to sound information, and the like are included.
  • the client device 30 receives the client reproduction application (data) (S121) and transmits a content reproduction request to the server device 20 (S132). Wait (S133).
  • a signal corresponding to the motion information for reproducing the motion of the object among the control signals is sent to the application logic control unit 303, and the reproduction timing is determined.
  • a signal corresponding to the information is sent to the timeline controller 304 .
  • other signals for example, signals corresponding to data for reproducing peripheral parts forming content together with objects, signals for displaying avatars corresponding to other users, signals related to sound information, etc. 308.
  • the signal transmission processing described above is performed by the multiplay control unit 302 .
  • the client device 30 monitors whether or not the user recognition information is acquired by the user recognition information acquisition unit 305 (S134).
  • the recognition information is not acquired (NO in S134)
  • the object is reproduced with the basic motion of the object (S141).
  • the client device 30 selects a change pattern based on the recognition information and the motion change logic, and generates replacement motion information obtained by changing the motion information of the object based on the change pattern. Generate (S135).
  • the motion information to be changed is specified based on the motion information determined by the application logic control unit 303 .
  • the replacement motion information is generated by changing the motion information (part of the motion information in this embodiment) of the object in the content after the detection of the recognition information based on the change pattern.
  • the motion generation unit 306 performs the process of generating replacement motion information.
  • the replacement motion information generated in this manner is sent to the motion control section 307 .
  • motion information determined by the application logic control unit 303 and reproduction timing determined by the timeline control unit 304 are also sent to the motion control unit 307 based on the control signal from the server device 20 .
  • the client device 30 causes the motion control unit 307 to send the motion information after change in which the replacement motion information is reflected in the motion information determined by the application logic control unit 303.
  • Generate S136
  • the extent to which the replacement motion information is reflected in the motion information determined by the application logic control unit 303 is determined based on the tolerance.
  • the client device 30 determines whether or not the post-change motion of the object reproduced by this post-change motion information is broken (S137). Determination of the presence or absence of failure is performed by determining whether or not the post-change motion exceeds a predetermined allowable motion range. As mentioned above, if the motion after change exceeds the allowable range of motion, for example, when the object walks on the stage, the object is floating in the air outside the stage and the object moves beyond the range of motion of the joints. situation, etc.
  • the client device 30 If no failure is determined (YES in S137), the client device 30 reproduces the object with the post-change motion determined by the post-change motion information and the reproduction timing determined by the timeline control unit 304 (S138). Content playback processing is performed by the drawing playback unit 308 .
  • the client device 30 corrects the post-change motion (S139), and then determines whether or not the corrected post-change motion exceeds the allowable operation range ( S140).
  • failure is not determined (YES in S140)
  • the client device 30 reproduces the object with the corrected post-change motion (S138).
  • Content playback processing is performed by the drawing playback unit 308 .
  • the client device 30 determines not to change the motion, and the motion information from the application logic control unit 303 is is provided to the rendering reproduction unit 308 as it is. In this case, based on the control signal from the server device 20, the object is reproduced with the basic motion of the object determined by the motion information determined by the application logic control unit 303 and the reproduction timing determined by the timeline control unit 304 ( S141).
  • the client device 30 After the processing of steps S138 and S141, the client device 30 continuously receives control signals from the server device 20. Then, the client device 30 reproduces the motion of the object in the content based on the motion information from the application logic control unit 303, or obtains the user recognition information based on the motion information, until the client device 30 receives an instruction to end the reproduction (YES in S142). The process of determining whether to change and reproduce based on the recognition information detected by the unit 305 is repeated.
  • FIG. 14 is a diagram for explaining an example of a state when contents are displayed in the virtual space displayed on the display device 31.
  • an object P1 as a performer's avatar is positioned on a stage S displayed in the virtual space.
  • stage S displayed in the virtual space.
  • user avatars UA1-UA4 operated by the user of the client device 30 are displayed.
  • the state shown in FIG. 14 is the state before performing the motions described in FIGS. 5A to 5C.
  • Examples 1 to 3 below are examples in which the motion of the object P1 is changed after the object P1 is displayed in the state of FIG.
  • Example 1 Change of Movement Path
  • the position of the user avatar UA1 shown in FIG. A post-change motion in which such an object P1 walks toward the user avatar UA1 can be generated (S133-S138).
  • Such a post-change motion is generated based on the change pattern I shown in FIG.
  • the client device 30 may adopt the post-change motion.
  • Example 2 Change of head and line of sight 1
  • the object P1 shown in FIG. 17 corresponds to the states of FIGS. 5A(C), 5B(C) and 5C(C). That is, the object P1 in FIG. 17 has reached the tip of the stage S.
  • the tolerance of the object P1 is changed from the walking state. Specifically, since it is difficult to change the movement path, a low tolerance (0%) is set for the foot-related bones. On the other hand, a high tolerance (100%) is maintained for the bone B1 corresponding to the left hand side and head.
  • a post-change motion for changing the bone B1 corresponding to the head of the object P1 to the side of the user avatar UA1 can be generated (S133 to S138).
  • Such a post-change motion is generated based on the change pattern II shown in FIG.
  • the bone B1 of the head of the object P1 does not move unnaturally, that is, it does not exceed the range of motion of the joint, so there is no breakdown.
  • the client device 30 may adopt the post-change motion.
  • FIGS. 18A and 18B show the same situations as those shown in FIGS. 17A and 17B.
  • the position of the user avatar UA3 is detected as shown in FIG. 18B.
  • the client device 30 uses the motion generation unit 306 and the motion control unit 307 to generate post-change motion in which the bone B1 corresponding to the head of the object P1 is changed to the side of the user avatar UA3 as shown in FIG. (S133-S136).
  • the bone B1 of the object P1 moves unnaturally, as can be seen from FIG. 18(C).
  • the range of motion of the joint is exceeded and failure occurs (NO in S137).
  • the client device 30 does not adopt the post-change motion.
  • FIGS. 19A and 19B correspond to the states of FIGS. 6A to 6C. That is, in FIGS. 19A and 19B, the object P1 is dancing at the leading edge of the stage S. FIG. At this time, the tolerance of the object P1 is 0% except for the bone B1 corresponding to the head.
  • the degree of change is adjusted by tolerance. That is, since the tolerance of the bone B1 corresponding to the head is set to 30%, 30% of the change based on the change pattern II is set as the post-change motion. Specifically, when the change based on change pattern II is reflected 100%, the bone B1 corresponding to the head moves at an angle ⁇ as shown in FIG. 19D, but the tolerance of 30% is reflected. As a result, the change angle of the bone B1 corresponding to the head in the post-change motion is 0.3 ⁇ .
  • the client device 30 can change the motions of the two objects P1 and P2 according to the user's recognition information.
  • the objects P1 and P2 walk toward the front of the stage S as indicated by the dashed arrows.
  • the client device 30 causes the motion generation unit 306 and the motion control unit 307 to generate objects P1 and P2 as indicated by solid-line arrows in FIG. can generate post-change motions respectively corresponding to the objects P1 and P2 walking toward the user avatar UA1 (S133-S138). Such a post-change motion is generated based on the change pattern I shown in FIG.
  • the client device 30 corrects at least one of the post-change motions (S139). In the corrected motion after change, there is no interference between the objects P1 and P2, and no failure occurs. In this case, the client device 30 may adopt the post-change motion.
  • Examples 1 to 4 described above are merely examples, and various motion changes different from Examples 1 to 4 can be implemented in this embodiment.
  • this embodiment it is possible to change the motion of an object in content based on the content recognition information of the user viewing the content. As a result, it is possible to secure the interactivity between the user's viewing state and the content in a manner that allows the user to personalize it. Specifically, it is possible to simulate interactions between an object as a performer and a user (user avatar) as an audience, and a reaction to what has happened between them, and the user can feel a sense of unity with the object as a performer and a premium experience. you can get a feel. This makes it possible to provide content with high added value.
  • the client device 30 side changes the motion of the object in the content based on the user's content recognition information detected on the client device 30 side.
  • the motion change load is borne by the client device 30 . Therefore, it is possible to suppress the time lag due to the processing delay, etc., and to provide the content to the user. That is, the motion of the object may be performed on the server device 20 side, but in this case, a delay is likely to occur until the change is reflected.
  • FIG. 21 is a diagram illustrating a modification of the first embodiment using a spatial reproduction display as the display device 31.
  • FIG. Reference numeral 31A in FIG. 21 indicates a sensor provided on the outer surface of the display device 31, which is a spatial reproduction display.
  • the sensor 31A may be an imaging device or the like.
  • the display device 31 stereoscopically displays the object P1. In this configuration, the sensor 31A can detect the position, line of sight, and gestures of the user RU viewing the object P1 (content), and can change the motion of the object P1 accordingly.
  • FIG. 22 is a diagram illustrating a modification of the first embodiment using a head-mounted display as the display device 31.
  • FIG. 22A and symbol Im2 in FIG. 22B the content is displayed in a virtual space that the user RU directly visually recognizes on the head-mounted display.
  • Reference Im1 indicates that the user is visually recognizing the object P1 on the stage S from a position away from the stage S.
  • FIG. Reference Im2 shows the user RU looking up at the object P1 on the stage S from directly below the stage S.
  • the head-mounted display is provided with a gyro sensor and a line-of-sight detection sensor. As indicated by the arrow in FIG.
  • the virtual space is displayed like this.
  • the tilt of the head is detected by the gyro sensor, and the display of the virtual space is switched.
  • the position, line of sight, and gestures of the user RU can be detected by the gyro sensor, line-of-sight detection sensor, and sensor attached to the arm of the user RU, and the motion of the object P1 can be changed accordingly.
  • FIG. 23 shows a block diagram of each of the content data distribution device 10, the server device 20 and the client device 30 that configure the information processing system S2 according to the second embodiment.
  • Components of the second embodiment that are the same as those of the first embodiment are denoted by the same reference numerals, and overlapping descriptions are omitted.
  • the information processing system S2 provides the acquired motion material to the client device 30 via the server device 20 in real time.
  • a multiplay control unit 203 In order to realize such a configuration, as shown in FIG. , a multiplay control unit 203 , and a communication unit 204 .
  • the function of each part is the same as that of the first embodiment.
  • the content data distribution device 10 has the motion capture unit 101, the motion editing unit 102, and the motion change tolerance setting unit 113 removed from the configuration of the first embodiment. Also, the configuration of the client device 30 is the same as that of the first embodiment.
  • FIG. 24 shows a flowchart for explaining an example of the operation of the server device 20 according to the second embodiment.
  • the server device 20 receives the server reproduction application (data) (S241), Create object motion data (S242).
  • Object motion data is created from motion materials acquired by the motion capture unit 101 through the motion editing unit 102 , the application logic control unit 201 and the timeline control unit 202 .
  • the application logic control unit 201 and the timeline control unit 202 respectively analyze the motion material acquired by the motion capture unit 101 to create motion information and motion playback speed information constituting object motion data.
  • the server device 20 sets the motion change tolerance for the object whose motion is reproduced by the object motion data (S243). This setting is performed by the motion change tolerance setting unit 113 .
  • the server device 20 transmits a plurality of bones constituting the object motion data, the corresponding body parts, motion information for reproducing the motion of the bones according to the actual motion of the performer, motion playback speed information, etc. as control signals. and transmitted to the client device 30 (S244). Then, when the server device 20 receives the reproduction end signal, it stops transmitting the control signal and ends the process (S245).
  • FIG. 25 explains an example of the operation of the client device 30 according to the second embodiment.
  • the server device 20 waits for a control signal (S133).
  • the present embodiment differs from the first embodiment in that only the client reproduction application and the motion change logic information are received from the content data distribution apparatus 10 in step S251. Subsequent steps S133 to S142 are the same as in the first embodiment.
  • Content with high added value can be provided in the second embodiment described above as well.
  • FIG. 26 shows an example of the hardware configuration of an information processing device 400 that can constitute the content data distribution device 10, the server device 20 and the client device 30 in each of the above-described embodiments.
  • An information processing apparatus 400 shown in FIG. 26 includes a CPU 401, an input interface 402, an external interface 403, a communication device 404, a main memory device 405, and an external memory device 406, which are interconnected by a bus 407. It is
  • the information processing device 400 is configured as, for example, a smart phone, tablet, desktop PC, or notebook PC.
  • a CPU (Central Processing Unit) 401 executes an information processing program, which is a computer program, on a main storage device 405 .
  • An information processing program is a program that implements each functional configuration of the information processing apparatus 400 .
  • the information processing program may be realized by a combination of a plurality of programs and scripts instead of a single program.
  • Each functional configuration is realized by the CPU 401 executing the information processing program.
  • the input interface 402 is a circuit for inputting operation signals from input devices such as hand controllers, keyboards, mice, and touch panels to the information processing device 400 .
  • the input interface 402 may include an imaging device such as a camera, a TOF (Time Of Flight) sensor, a LiDAR (Light Detection and Ranging) sensor, and the like.
  • the external interface 403 outputs data or information to an external device such as an HMD, LCD (liquid crystal display), organic electroluminescence display, CRT (cathode-ray tube), or PDP (plasma display).
  • an external device such as an HMD, LCD (liquid crystal display), organic electroluminescence display, CRT (cathode-ray tube), or PDP (plasma display).
  • the communication device 404 is a circuit for the information processing device 400 to communicate wirelessly or by wire with an external device. Data can be input from an external device via communication device 404 . Data input from an external device can be stored in the main storage device 405 or the external storage device 406 .
  • the main storage device 405 stores an information processing program, data necessary for executing the information processing program, data generated by executing the information processing program, and the like.
  • the information processing program is expanded on the main storage device 405 and executed.
  • the main storage device 405 is, for example, RAM, DRAM, or SRAM, but is not limited thereto.
  • the external storage device 406 stores an information processing program, data necessary for executing the information processing program, data generated by executing the information processing program, and the like. These information processing programs and data are read out to the main memory device 405 when the information processing programs are executed.
  • the external storage device 406 is, for example, a hard disk, an optical disk, a flash memory, and a magnetic tape, but is not limited to these.
  • the information processing program may be pre-installed in the information processing device 400, or may be stored in a storage medium such as a CD-ROM. Also, the information processing program may be uploaded on the Internet.
  • the information processing device 400 may be configured by a single information processing device, or may be configured as a system composed of a plurality of mutually connected information processing devices.
  • An information processing apparatus comprising: a motion control unit that changes a motion of an object in the content based on recognition information of the content of a user viewing the content.
  • the motion control unit changes the motion based on a motion change logic that defines the relationship between the recognition information and the motion change pattern.
  • the information processing apparatus according to Item 1.
  • a priority is defined for the change pattern, The motion control unit selects the change pattern based on the priority when a plurality of the change patterns corresponding to the recognition information can be selected.
  • the information processing device according to item 2.
  • the object has a tolerance for changing the motion by the motion control unit;
  • the motion control unit changes the degree to which the motion is changed or does not change the motion according to the tolerance.
  • the information processing apparatus according to any one of items 1 to 3.
  • the tolerance is set to a different value depending on the content of the motion,
  • the object has a plurality of element objects,
  • the motion is configured by a combination of element motions set for each of the element objects,
  • the tolerance is defined for each element object as a tolerance for changing the element motion,
  • the element object whose element motion is to be changed is selected based on the tolerance determined for each element object, and the motion control unit changes the element motion corresponding to the selected element object. changing said motion;
  • the plurality of element objects are connected via joints,
  • the element motion consists of a movement that changes the orientation of the element object relative to the corresponding joint, and/or a movement that changes the state of each element object itself.
  • the motion control unit determines whether the changed motion after changing the motion exceeds a predetermined allowable range of motion. 9.
  • the information processing apparatus according to any one of Items 1 to 8.
  • the motion control unit does not change the motion when it is determined that the changed motion exceeds the allowable range of motion.
  • the information processing device according to item 9. [Item 11] The motion control unit corrects the post-change motion when it is determined that the post-change motion exceeds the allowable operating range.
  • the information processing device according to item 9. [Item 12] When changing the motion of each of the plurality of objects, the motion control unit causes the different objects to interfere with each other when the plurality of objects are operated in each of the changed motions obtained by changing the motion of each of the objects. If so, correct at least one of the modified motions of the objects that are different from each other; 12.
  • the information processing apparatus according to any one of items 1 to 11.
  • [Item 13] the content is displayed in a virtual space in which an avatar operated by the user exists; 13.
  • the recognition information includes information about relative positions of the avatar and the object in the virtual space; 14.
  • the content is displayed on a display device viewed by the user; 13.
  • the recognition information includes information about the direction of the user's line of sight with respect to the display device; 16.
  • the display device is a head-mounted display,
  • the recognition information includes information on at least one of posture, position and direction of the head mounted display, 16.
  • [Item 18] a process of acquiring recognition information for the content of a user viewing the content; and modifying a motion of an object in the content based on the recognition information.
  • An information handling system comprising a motion controller for modifying motion of objects in the content based on the information.
  • a computer-readable recording medium recording a computer program for causing a computer to execute a step of changing the motion of an object in said content based on recognition information of said content of a user viewing said content.
  • S1, S2 -- information processing system 10 content data distribution device 100 -- motion material acquisition unit 101 -- motion capture section 102 -- motion editing section 110 -- motion data generation unit 111 -- motion capture section 112 -- motion shaping section 113 -- motion change Tolerance setting unit 114 Motion change logic setting unit 115 Playback application generation unit 116 Communication unit 20 Server device 201 Application logic control unit 202 Timeline control unit 203 Multiplay control unit 204 Communication unit 30 Client Device 301 Communication unit 302 Multiplay control unit 303 Application logic control unit 304 Timeline control unit 305 User recognition information acquisition unit 306 Motion generation unit 307 Motion control unit 308 Drawing playback unit 40 Communication network 400 Information processing device 401 ... CPU 402 Input interface 403 External interface 404 Communication device 405 Main storage device 406 External storage device 407 Bus P Performer P1 Object UA1-4 User avatar

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

[課題]付加価値の高いコンテンツを提供可能な情報処理装置を提供する。 [解決手段]一実施形態に係る情報処理装置は、コンテンツを視聴するユーザの前記コンテンツに対する認識情報に基づき、前記コンテンツ内のオブジェクトのモーションを変更するモーション制御部を備える。

Description

情報処理装置、情報処理方法、情報処理システム、コンピュータプログラム及び記録媒体
 本開示は、情報処理装置、情報処理方法、情報処理システム、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体に関する。
 VR(Virtual Reality)やセンシング技術の進歩及び普及により、キャラクターアバタ(以下、単にアバタと呼ぶ。)を用いた配信コンテンツが普及しつつある。配信コンテンツの例として、演者のアバタによるライブコンテンツがある。こうしたライブコンテンツでは、配信手法にも種々の工夫がなされている。興味深いライブコンテンツの例として、最近、3D表示の演者のアバタがオンラインゲーム上の仮想空間内でパフォーマンスを実施するコンテンツが配信された。
 例えばオンラインゲームが提供するメタバースサービスや、VR-HMD(Head Mount Display)、空間再現ディスプレイ(Spatial Reality display)などのXR(X-reality)ディスプレイは、今後ますます普及すると予想される。XRディスプレイでは、仮想空間内にアバタなどのキャラクターを3D表示することで、実在感や没入感を高めることができる。このようなXRディスプレイの普及に伴い、3D表示のアバタを用いたライブコンテンツなどの配信サービスの分野は今後ますます盛況になると考えられる。
特開2002-74838号公報
 現状の一般的なライブコンテンツで再生されるアバタのモーションは、モーションキャプチャによる撮影に基づくアセットであるか、又は、制作者が予め創作したアセットによって実現される。なお、アセットとは、例えばアバタを構成する複数のボーンと、ボーンを動作させるためのシーケンス情報とを含むデータを意味する。そして、通常、すべての視聴者に対し同じモーションのアバタが再生される。
 そのため、これまでのライブコンテンツは、例えば視聴者の動きに合わせたアバタのリアクションなどが行われておらず、配信者から視聴者への一方向のコンテンツになっており、インタラクション性に乏しかった。すなわち、一般的なライブコンテンツでは、視聴者側の状況は考慮されておらず、視聴者に対して個人化処理されたコンテンツの提供はなされていない。
 現実のライブ(コンサート)では、演者と観客の掛け合いやその場で起きたことに対するリアクションが発生し、これが、一体感や体験のプレミアム感の提供や共有につながる。仮想空間でのライブであっても、このような双方向のリアクションを実現すれば、視聴者をより魅了するコンテンツを提供できると考えられる。
 なお、予め用意された複数種類のモーションデータの組合せによりモーションを合成したり、音声に合わせた口のモーションを合成したりする技術は既に知られている。しかしながら、このような既知の技術は、ゲームなどで発生したイベントや入力に応じて合成されたモーションを生成するのみである。そのため、各視聴者が実際のライブで行うような動作に応じてモーションを変化させるような個人化処理については考慮されていない。したがって、現実のライブに近い双方向のリアクションを実現することは困難である。
 また、上記のようなライブコンテンツは、多人数マルチプレイを実現する仮想空間でオンライン配信されることがある。この際、同時参加人数に制限はないが、1つのサーバから多数のクライアント装置(視聴者)に配信を行うと、処理負荷が大きくなる。そこで、処理負荷の軽減のために、例えば100人程度の視聴者毎に対応するサーバーインスタンスをサーバ上に複数生成して、クライアント装置を分散することにより、数万人規模が参加可能なライブコンテンツの配信を実現することがある。
 上記のように複数のサーバーインスタンスを生成した場合には、コンテンツ配信の負荷は軽減できる。しかしながら、同一のコンテンツ(モーション)を複数のサーバーインスタンス経由で配信しているため、各視聴者の動きやリアクションを配信側にフィードバックしても、リアルタイムでインタラクションや、視聴者に合わせたリアクションを行うことは難しい。
 また、サーバからコンテンツを配信する場合、データのエンコード・デコードや、コンテンツ再生時の計算処理、ネットワーク遅延により、配信からコンテンツ視聴までに数秒から数分のラグが発生することも考えられる。このようなラグも各視聴者に合わせた双方向のインタラクション又はリアクションの実現の障壁となり得る。そのため、個人化処理されたコンテンツの提供を実現する場合、配信環境も懸念される。
 本開示は上記事情を考慮してなされたものであり、付加価値の高いコンテンツを提供できる情報処理装置、情報処理方法、情報処理システム、コンピュータプログラム及び記録媒体を提供する。
 本開示の情報処理装置は、コンテンツを視聴するユーザの前記コンテンツに対する認識情報に基づき、前記コンテンツ内のオブジェクトのモーションを変更するモーション制御部を備える。
 本開示の情報処理方法は、コンテンツを視聴するユーザの前記コンテンツに対する認識情報を取得する処理と、前記認識情報に基づき、前記コンテンツ内のオブジェクトのモーションを変更する処理と、を有する。
 本開示の情報処理システムは、サーバ装置と、前記サーバ装置の制御によりコンテンツを再生させるクライアント装置と、を備え、前記サーバ装置及び前記クライアント装置のうちの少なくともいずれかが、前記クライアント装置で前記コンテンツを視聴するユーザの前記コンテンツに対する認識情報に基づき、前記コンテンツ内のオブジェクトのモーションを変更するモーション制御部を有する。
 本開示のコンピュータプログラムは、コンテンツを視聴するユーザの前記コンテンツに対する認識情報に基づき、前記コンテンツ内のオブジェクトのモーションを変更するステップをコンピュータに実行させる。
 本開示の記録媒体は、コンテンツを視聴するユーザの前記コンテンツに対する認識情報に基づき、前記コンテンツ内のオブジェクトのモーションを変更するステップをコンピュータに実行させるためのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体である。
第1実施形態に係る情報処理システムの構成例を示す図。 第1実施形態に係る情報処理システムを構成するコンテンツデータ配信装置のブロック図。 第1実施形態に係る情報処理システムを構成するサーバ装置及びクライアント装置それぞれのブロック図。 第1実施形態に係るコンテンツデータ配信装置の動作の一例を示すフローチャート。 第1実施形態に係るコンテンツデータ配信装置が作成するオブジェクトモーションデータによりモーションを再現するオブジェクトの正面図。 図5Aに対応するオブジェクトの側面図。 図5Aに対応するオブジェクトの上面図。 図5A~Cとは異なるモーションを再現するオブジェクトの側面図。 図5A~C及び図6とは異なるモーションを再現するオブジェクトの正面図。 コンテンツ内のオブジェクトに設定されるモーション変更に関する許容度の一例を説明する図。 コンテンツ内のオブジェクトに設定されるモーション変更に関する許容度の一例を説明する図。 コンテンツ内のオブジェクトに設定されるモーション変更に関する許容度の一例を説明する図。 クライアント装置側で表示されるコンテンツ内のオブジェクトのモーションをユーザのコンテンツに対する認識情報に基づき変更する際に用いるモーション変更ロジックを説明する概念図。 第1実施形態に係るサーバ装置の動作の一例を示すフローチャート。 第1実施形態に係るクライアント装置の動作の一例を示すフローチャート。 第1実施形態に係るクライアント装置が表示装置に表示される仮想空間内にコンテンツを表示した際の状態の一例を説明する図。 コンテンツ内のオブジェクトのモーションをモーション変更ロジックに基づき変更した変更後モーションの一例を説明する図。 モーション変更ロジックに基づき変更された変更後モーションが破綻と判定される場合の一例を説明する図。 図15とは異なる変更後モーションの一例を説明する図。 図16とは異なる、破綻と判定される変更後モーションの一例を説明する図。 図15及び図17とは異なる変更後モーションの一例を説明する図。 コンテンツ内の複数のオブジェクトのモーションをモーション変更ロジックに基づき変更した変更後モーションの一例を説明する図。 表示装置として空間再現ディスプレイを使用した第1実施形態の変形例を説明する図。 表示装置としてヘッドマウントディスプレイを使用した第1実施形態の変形例を説明する図。 第2実施形態に係る情報処理システムを構成するコンテンツデータ配信装置、サーバ装置及びクライアント装置それぞれのブロック図。 第2実施形態に係るサーバ装置の動作の一例を示すフローチャート。 第2実施形態に係るクライアント装置の動作の一例を示すフローチャート。 実施形態に係るコンテンツデータ配信装置、サーバ装置及びクライアント装置を構成し得る情報処理装置のハードウェア構成の一例を示す図。
 以下、図面を参照して、本開示の実施形態について説明する。本開示において示される1以上の実施形態において、各実施形態が含む要素を互いに組み合わせることができ、かつ、当該組み合わせられた結果物も本開示が示す実施形態の一部をなす。
<<第1実施形態>>
 図1は、第1実施形態に係る情報処理システムS1の構成例を示す。図1に示す情報処理システムS1は、コンテンツデータ配信装置10、サーバ装置20、複数のクライアント装置30、及び複数の表示装置31を備える。コンテンツデータ配信装置10、サーバ装置20及びクライアント装置30は、それぞれ相互に通信ネットワーク40を介して接続され、双方向に通信可能である。
 通信ネットワーク40は、インターネットなどのワイドエリアネットワークでも、無線LAN(Local Area Network)又はイーサネット(登録商標)などのローカエルネットワークでもよい。クライアント装置30はユーザが操作する装置である。クライアント装置30は、コンテンツデータ配信装置10又はサーバ装置20から提供されるコンテンツを表示装置31に表示させる。この際、サーバ装置20は、各クライアント装置30においてコンテンツが同時に再生されるように、すなわちマルチプレイで再生されるように制御を行う。
 本実施形態では、コンテンツを再生するための各種データが、コンテンツデータ配信装置10からクライアント装置30に予め提供される。そして、サーバ装置20が、クライアント装置30からの再生要求に応じて、クライアント装置30におけるコンテンツの再生に関する制御を行う。ただし、本開示は、このような再生手法に限られるものではない。コンテンツを再生するための各種データが例えばサーバ装置20からクライアント装置30に提供されてもよく、特にリアルタイムで提供されてもよい。
 以下、情報処理システムS1を構成するコンテンツデータ配信装置10、サーバ装置20、クライアント装置30、及び表示装置31について説明する。
<コンテンツデータ配信装置>
 図2は、コンテンツデータ配信装置10のブロック図を示す。コンテンツデータ配信装置10は、コンテンツを再生するための各種データ、アプリケーションなどを生成及び配信する装置である。コンテンツデータ配信装置10は、例えば配信サービスを提供する企業などにおいてコンテンツの作成者が使用する装置でもよい。
 コンテンツデータ配信装置10は、ハードウェア的には、CPU、各種記憶装置、入出力インタフェースなどを含む情報処理装置(コンピュータ)などで構成され得る。この場合、コンテンツデータ配信装置10が実現する各種機能は、記憶装置から展開されたコンピュータプログラムによって実現され得る。
 図2に示すコンテンツデータ配信装置10は、モーション素材取得ユニット100と、モーションデータ生成ユニット110とを有している。モーション素材取得ユニット100及びモーションデータ生成ユニット110は、1つの情報処理装置で構成されてもよい。または、モーション素材取得ユニット100及びモーションデータ生成ユニット110は、それぞれ別の情報処理装置で構成されてもよい。
 モーション素材取得ユニット100は、モーションキャプチャ部101と、モーション編集部102と、を含む。モーションデータ生成ユニット110は、モーション取込部111と、モーション成形部112と、モーション変更許容度設定部113と、モーション変更ロジック設定部114と、再生用アプリケーション生成部115と、通信部116と、を含む。これら各部は、記憶装置から展開されたコンピュータプログラムによって実現され得る。
 モーションキャプチャ部101は、図2に示すように、例えば演者Pのパフォーマンス時の実モーションをモーションキャプチャ技術によりデジタル情報のモーション素材として取得する。使用するモーションキャプチャ技術は、例えば演者に取り付けた複数のマーカを複数の撮像装置で撮像する光学式、演者に加速度センサを取り付けて位置情報を解析する慣性センサ方式、撮像した演者の実モーションを解析する映像解析方式などでもよい。
 モーション素材は、例えば(1)関節を介して接続される演者Pに対応する複数のボーン、(2)ボーンに対応するポリゴンなどで構成される身体の部位、(3)演者Pの実モーションに従ったボーンのモーションを再現させるモーション情報(例えばシーケンス情報や、いわゆるスクリプト)、(4)モーションの再生速度情報、などを含む。モーション情報は、時系列に変化するオブジェクトのモーションの順序を定める情報である。本実施形態では複数のボーン及びそれに対応する身体の部位が、オブジェクトとしての演者Pのアバタを構成する。以下において、ボーン、又はボーン及びそれに対応する身体の部位のことを、オブジェクトを構成する要素オブジェクトと呼ぶ場合がある。
 モーション編集部102は、モーションキャプチャ部101が取得した上述のモーション素材を、作成者の操作に応じて又は自動で編集する。編集内容は、オブジェクトの形状や位置の成形や修正などでもよい。モーションキャプチャ部101で取得したモーション素材では、演者Pの特定の部位の動作を撮像装置などで適正に取得できない状況などが生じ得る。このような場合に、モーション編集部102は、演者の特定の部位の動作を自然な動作にするなどの編集を行う。そして、モーション編集部102は、編集後又はそのままのモーション素材をモーションデータ生成ユニット110に提供する。
 モーションデータ生成ユニット110では、モーション取込部111が、モーション編集部102から上述のモーション素材を取得し、モーション成形部112に提供する。モーション成形部112は、コンテンツの作成者の操作に応じて又は自動で、モーション取込部111から提供されたモーション素材を成形する。
 モーションデータ生成ユニット110が有するモーション素材に対する各種編集処理機能は、モーション編集部102からのモーション素材との互換性が良好でない場合がある。このような場合に、モーション成形部112は、モーションデータ生成ユニット110で扱いやすい形式にモーション素材を成形する。モーションデータ生成ユニット110の各種機能の少なくとも一部は汎用性のあるゲームエンジンで実現できる場合がある。このような場合、モーション素材とモーションデータ生成ユニット110側の機能との互換性が良好でない状況が生じ得る。この際、モーション成形部112がモーション素材を成形することで、効率的に処理を行うことが可能となる。
 モーション成形部112は、上述のモーション素材をオブジェクトモーションデータとして生成する。オブジェクトモーションデータは、基本的にはモーション素材と同じデータ構造であり、(1)複数のボーン、(2)それに対応する身体の部位、(3)演者Pの実モーションに従ったボーンのモーションを再現させるモーション情報、(4)モーションの再生速度情報、などを含む。
 モーション変更許容度設定部113は、上述のオブジェクトモーションデータによりモーションが再現されるオブジェクトに対し、モーションの変更の許容度を設定するものである。モーション変更許容度設定部113における許容度の設定は、例えばコンテンツの作成者の操作に応じて又は自動で行われる。詳細は後述するが、本実施形態では、コンテンツ内の演者Pに対応するオブジェクトが表示装置31に表示された際、表示装置31に表示されるコンテンツに対するユーザの認識情報に基づき、モーション(厳密には、全体的なモーション中の一部のモーション)を変更できる。モーション変更許容度設定部113は、このようなモーションの変更に関する許容度を予め設定する際に用いられる。
 許容度は、高いほど、モーションの変更を大きく反映させ、低いほど、モーションの変更の影響を抑えるようにするための指標である。許容度は、例えば0%~100%の範囲で設定される。許容度の設定手法は特に限られるものではないが、例えば、重要度の低いモーションについては許容度が高く設定され、重要度の高いモーションについては許容度が低く設定される。重要度の低いモーションは、例えば演者Pがステージ上を歩きながら歌っている動作、ステージ上を単に歩いている動作、曲の間の待機時や無言時などでもよい。重要度の高いモーションは、曲の間のスピーチのシーンや、激しくダンスをしているシーンなどでもよい。つまり、許容度は、モーションの内容に応じて異なる値を設定され得る。すなわち、全体的なモーション中の一部のモーションの内容に応じて、オブジェクトに対して異なる許容度の値が設定され得る。
 また、本実施形態では、オブジェクトモーションデータに含まれるボーン、厳密にはボーンデータが、要素オブジェクトに対応する複数のボーンからなる。この場合、オブジェクトのモーションは、各ボーン、つまり各要素オブジェクトに設定された要素モーションの組合わせによって構成される。本実施形態では、上述の許容度が要素モーションの変更に関する許容度として要素オブジェクトごとに定められる。つまり、モーション変更許容度設定部113は、各要素オブジェクトごとに許容度を設定する。なお、要素モーションは、例えば、要素オブジェクトが対応する関節に対して姿勢を相対的に変化させる動き、及び/又は、各要素オブジェクト自体の状態が変化する動き(口を動かすなど)で構成される。
 モーション変更ロジック設定部114は、上述のようにユーザの認識情報に基づきモーションを変更する際の変更パターンが定められるモーション変更ロジックを作成する。モーション変更ロジック設定部114は、例えばコンテンツの作成者の操作に応じてモーション変更ロジックを予め作成する際に用いられる。モーション変更ロジックは、コンテンツに対するユーザの認識情報と、認識情報に対応するモーションの変更パターンとの関係を定める情報である。モーション変更ロジックは、例えばテーブルとして作成される。
 ユーザの認識情報は、クライアント装置30側で検出される情報であり、例えば、ユーザの位置、視線、ジェスチャー、操作部に対する操作、これらの組合わせなどである。変更パターンは、例えばユーザの位置に向けた演者Pに対応するオブジェクトの移動パスの変更、ユーザの視線に向けたオブジェクトの頭部及び視線の方向の変更、ユーザに向けてオブジェクトが笑ったり、手を振ったりするような動作を加える変更などである。
 モーション変更ロジックは、クライアント装置30側に展開され、クライアント装置30側で再生中のコンテンツに対するユーザの認識情報に基づき、再生中のオブジェクトのモーションをクライアント装置30が変更する際に使用される。
 詳細は後述するが、クライアント装置30は、モーション変更ロジックに基づきオブジェクトのモーションを変更する場合、まず、検出される認識情報に対応するモーションの変更パターンを決定する。そして、変更パターンが特定された後、変更の対象となるモーションにおいてオブジェクトに設定されている許容度に基づき、変更される要素オブジェクトの部位を選択し、且つ選択した部位の変更パターンに基づく変更の程度を決定する。
 許容度に基づき、変更される要素オブジェクトの部位を選択する処理とは、例えば、変更パターンとして手を振る動作が選択された際、許容度が高い例えば左手側を、モーションを変更する部位として選択する処理などを意味する。また、許容度に基づき選択された部位の変更の程度を決定する処理とは、変更パターンとして手を振る動作が選択された際、変更する部位の許容度が50%である場合には、変更パターンで定める手を振る動作を50%反映させた動きで、つまり、変更パターンで定める手を振る動作よりも小さい動きで、手を振る動作のモーションを実施することを決定する処理などを意味する。
 また、上述のようなコンテンツに対するユーザの認識情報は、同時に複数パターンで検出され得る。この際、変更パターンが競合する状況が起こり得る。このような状況を考慮し、本実施形態におけるモーション変更ロジックでは、変更パターンに優先度が設定され、優先度に基づき変更パターンが選択されるようにする。モーション変更ロジック設定部114は、このような優先度の設定も行う。以上のようなモーション変更ロジックは、図11などを用いて詳述する。
 再生用アプリケーション生成部115は、上述のようにして作成されたオブジェクトモーションデータと、これに設定される許容度及びモーション変更ロジックと、オブジェクトモーションデータによってモーションを再現されるオブジェクトと協働してコンテンツを形成するステージなどの周辺部分のデータ及び/又は他のオブジェクトのオブジェクトモーションデータと、予め作成されたサーバ用アプリケーション及びクライアント用アプリケーションと、を記録する。そして、再生用アプリケーション生成部115は、これらの情報を元に、サーバ装置20に提供するサーバ再生用データと、クライアント装置30に提供するクライアント再生用データとを加工する。
 サーバ再生用データには、サーバ用アプリケーションと、少なくともオブジェクトモーションデータにおけるモーション情報及び再生速度情報と、が含まれる。クライアント再生用データには、クライアント用アプリケーション、オブジェクトモーションデータ、これに設定される許容度及びモーション変更ロジック、オブジェクトモーションデータによってモーションを再現されるオブジェクトと協働してコンテンツを形成するステージなどの周辺部分のデータ及び/又は他のオブジェクトのオブジェクトモーションデータが含まれる。
 サーバ用アプリケーションは、サーバ装置20に提供されるアプリケーションであり、サーバ装置20が、クライアント装置30におけるコンテンツの再生を制御する際に使用する。サーバ用アプリケーションは、コンテンツ内のオブジェクトのモーションを再現するモーション情報及びそのモーション情報によって再現されるモーションの再生タイミングの情報を決定する処理などをサーバ装置20に実現させるコンピュータプログラムを含む。
 クライアント用アプリケーションは、クライアント装置30に提供されるアプリケーションであり、クライアント装置30が、サーバ装置20からの制御信号に基づき、表示装置31上でコンテンツを再生する際に使用する。クライアント用アプリケーションは、サーバ装置20から受信する制御信号に基づきコンテンツを再生する処理、ユーザの認識情報を取得する処理、認識情報に基づきコンテンツ内のオブジェクトのモーションを変更する処理などをクライアント装置30に実現させるコンピュータプログラムを含む。
 通信部116は、再生用アプリケーション生成部115が記録又は生成するサーバ用アプリケーション、クライアント用アプリケーションなどを、通信ネットワーク40を介してサーバ装置20又はクライアント装置30などに送信する。
 通信部116は、サーバ装置20からの要求に応じてサーバ用アプリケーションをサーバ装置20に送信する。また、通信部116は、例えばオンラインストアに、クライアント用アプリケーション、オブジェクトモーションデータ、これに設定される許容度及びモーション変更ロジックなどを送信してもよい。この場合、オンラインストアが、クライアント装置30からの要求に応じてクライアント用アプリケーション、オブジェクトモーションデータ、これに設定される許容度及びモーション変更ロジックなどを提供する。
 ただし、以上のようなアプリケーションの提供手法は特に限られるものではない。例えば、上記クライアント用アプリケーションなどは、コンテンツの配信企業のホームページからダウンロードされてもよいし、記録媒体に記録された状態又は情報処理装置に実装された状態でユーザに提供されてもよい。
<サーバ装置>
 図3は、サーバ装置20のブロック図を示す。サーバ装置20は、上述したようにクライアント装置30におけるコンテンツの再生を制御する装置である。サーバ装置20は、例えば配信サービスを提供する企業などのサーバ装置でもよい。サーバ装置20は、ハードウェア的には、CPU、各種記憶装置、入出力インタフェースなどを含む情報処理装置(コンピュータ)などで構成され得る。この場合、サーバ装置が実現する各種機能は、記憶装置から展開されたコンピュータプログラムによって実現され得る。
 図3に示すように、サーバ装置20は、アプリケーションロジック制御部201、タイムライン制御部202、マルチプレイ制御部203、及び通信部204を含む。これら各部は、記憶装置から展開されたコンピュータプログラムによって実現され得るものであり、詳しくは、これら各部の少なくとも一部は上述のサーバ用アプリケーションによって実現される。
 アプリケーションロジック制御部201は、サーバ装置20がクライアント装置30からのコンテンツの再生要求を受け取った際に、クライアント装置30側で表示するコンテンツ内のオブジェクトのモーションを再現するモーション情報を決定する。本実施形態では、アプリケーションロジック制御部201がコンテンツデータ配信装置10から提供される上述サーバ用アプリケーションによって実現される。この場合、アプリケーションロジック制御部201が決定するモーション情報は、サーバ用アプリケーションとともにサーバ装置20に提供されるオブジェクトのモーション情報に基づいて定められる。
 タイムライン制御部202は、上述のようにアプリケーションロジック制御部201がモーション情報を決定した際に、決定されたモーション情報の再生タイミング情報を決定する。再生タイミング情報は、モーション情報の再生開始タイミング、再生速度(フレームレートの切り替え速度)などである。本実施形態におけるタイムライン制御部202もサーバ用アプリケーションによって実現され、タイムライン制御部202が決定する再生タイミング情報は、サーバ用アプリケーションとともにサーバ装置20に提供されるオブジェクトの再生速度情報に基づいて定められる。
 上述したように、本実施形態では、サーバ装置20が各クライアント装置30においてマルチプレイでコンテンツが再生されるように制御を行う。マルチプレイ制御部203は、上述のようにしてアプリケーションロジック制御部201が決定するモーション情報及びタイムライン制御部202が決定する再生タイミング情報などを提供され、マルチプレイを行うための制御信号を生成する。
 マルチプレイ制御部203は、詳しくは、サーバ装置20が複数のクライアント装置30からコンテンツの再生要求を受け付けた際に、各クライアント装置30側で表示されるコンテンツを同じタイミングで進行させるための制御信号を生成する。ここで、アプリケーションロジック制御部201が決定するモーション情報及びタイムライン制御部202が決定する再生タイミング情報は、コンテンツの再生のための上記制御信号の一部として加工される。
 また、本実施形態に係る情報処理システムS1は、クライアント装置30のユーザが操作するアバタが存在する仮想空間内で、コンテンツを表示させる。この場合、仮想空間には、複数のクライアント装置30のユーザのアバタが表示される。ここで、マルチプレイ制御部203は、このような各ユーザのアバタを仮想空間に表示させるための信号も制御信号の一部として生成する。
 マルチプレイ制御部203で生成されるコンテンツの再生のための制御信号には、上述のモーション情報に対応する信号、再生タイミング情報に対応する信号、及びアバタの表示のための信号に加えて、オブジェクトとともにコンテンツを形成する周辺部分を再生するためのデータに対応する信号や、音情報に関する信号なども含まれる。サーバ装置20は、マルチプレイ制御部203により、このような制御信号を各クライアント装置30に同じタイミングで提供することで、各クライアント装置30においてマルチプレイでコンテンツ及び各ユーザのアバタが表示されることを実現する。
 通信部204は、例えばマルチプレイ制御部203から上述の制御信号を受け取り、通信ネットワーク40を介して各クライアント装置30に送信する。通信部204は、制御信号をエンコードしてクライアント装置30に送信してもよい。また、通信部204は、サーバ用アプリケーションを受信する際にも用いられる。なお、本実施形態では、アプリケーションロジック制御部201及びタイムライン制御部202がサーバ用アプリケーションによって実現されるが、マルチプレイ制御部203がさらにサーバ用アプリケーションによって実現されてもよい。ただし、このようなアプリケーションロジック制御部201、タイムライン制御部202などの具現化手法は特に限られるものでない。
<クライアント装置>
 クライアント装置30は、上述したようにサーバ装置20の制御によりコンテンツを表示装置31に表示させる装置である。クライアント装置30は、ハードウェア的には、CPU、各種記憶装置、入出力インタフェースなどを含む情報処理装置(コンピュータ)などで構成され得る。この場合、サーバ装置が実現する各種機能は、記憶装置から展開されたコンピュータプログラムによって実現され得る。
 図3にはクライアント装置30のブロック図も示されている。クライアント装置30は、通信部301、マルチプレイ制御部302、アプリケーションロジック制御部303、タイムライン制御部304、ユーザ認識情報取得部305、モーション生成部306、モーション制御部307、及び描画再生部308を含む。これら各部は、記憶装置から展開されたコンピュータプログラムによって実現され得るものであり、詳しくは、これら各部の少なくとも一部は上述のクライアント用アプリケーションによって実現される。
 本実施形態では、コンテンツの再生に先立ち、クライアント装置30が、クライアント用アプリケーション、オブジェクトモーションデータ、これに設定される許容度及びモーション変更ロジック、オブジェクトモーションデータによってモーションを再現されるオブジェクトと協働してコンテンツを形成するステージなどの周辺部分のデータ及び/又は他のオブジェクトのオブジェクトモーションデータなどの各種データを受信する。この際、通信部301は、通信ネットワーク40を介してコンテンツデータ配信装置10から上述の各種データを受信する。また、通信部301は、クライアント装置30でコンテンツを再生する際、サーバ装置20にコンテンツの再生要求を送信する。また、通信部301は、この再生要求に応じてサーバ装置20が送信するコンテンツの再生のための制御信号を受信する。
 マルチプレイ制御部302は、通信部301がサーバ装置20からの上述の制御信号を受信した際に、通信部301から制御信号を受け取る。この際、マルチプレイ制御部302は、制御信号のうちのオブジェクトのモーションを再現するためのモーション情報に対応する信号を、アプリケーションロジック制御部303に送る。また、マルチプレイ制御部302は、再生タイミング情報に対応する信号を、タイムライン制御部304に送る。また、マルチプレイ制御部302は、他の信号、例えば、オブジェクトとともにコンテンツを形成する周辺部分を再生するためのデータに対応する信号、他のユーザに対応するアバタを表示するための信号、音情報に関する信号などは、描画再生部308に送る。
 アプリケーションロジック制御部303は、上述したサーバ装置20からのモーション情報に対応する信号をマルチプレイ制御部302から受け取り、かかる信号に基づき、コンテンツ内のオブジェクトのモーションを再現するモーション情報を決定する。タイムライン制御部304は、上述したサーバ装置20からの再生タイミングに対応する信号を上述のようにマルチプレイ制御部302から受け取り、かかる信号に基づき、アプリケーションロジック制御部303が決定するモーション情報の再生タイミングを決定する。再生タイミングは、再生開始タイミング、再生速度(フレームレートの切り替え速度)などである。
 コンテンツ内のオブジェクトの基本的なモーションは、以上に説明したアプリケーションロジック制御部303が決定するモーション情報及びタイムライン制御部304が決定する再生タイミングにより定まる。アプリケーションロジック制御部303は、決定したモーション情報をモーション制御部307に送り、タイムライン制御部304は、決定した再生タイミングをモーション制御部307に送る。また、サーバ装置20からの制御信号に他のオブジェクトのモーション情報及び再生タイミング情報に対応する信号が含まれる場合には、アプリケーションロジック制御部303及びタイムライン制御部304は、他のオブジェクトに関するモーション情報及び再生タイミングも決定し、モーション制御部307に送る。
 詳細は後述するが、モーション制御部307は、コンテンツ内のオブジェクトのモーションを、アプリケーションロジック制御部303からのモーション情報により再現するか、又は、このモーション情報をユーザ認識情報取得部305が検出する認識情報に基づき変更して再現するかを決定する。モーションを変更する場合には、ユーザ認識情報取得部305で検出される認識情報に基づき、モーション生成部306が後述の差し替えモーション情報を生成し、この差し替えモーション情報が、アプリケーションロジック制御部303が決定したモーション情報に反映される。
 ユーザ認識情報取得部305は、コンテンツの再生とともに機能し、コンテンツを視聴しているユーザのコンテンツに対する認識情報を取得する。ユーザの認識情報は、上述したように、例えば、ユーザの位置、視線、ジェスチャー、操作部に対する操作、及びこれらの組合わせなどである。本実施形態では、クライアント装置30のユーザが操作するアバタが存在する仮想空間内でコンテンツが表示される。このように仮想空間内でコンテンツを表示する場合、ユーザ認識情報取得部305は、ユーザの位置として、仮想空間に表示されるコンテンツ内のオブジェクトとユーザが操作するアバタとの相対的な位置を検出する。また、ユーザ認識情報取得部305は、ユーザの視線として、ユーザが操作するアバタの視線を検出する。また、ユーザ認識情報取得部305は、ユーザのジェスチャーとして、ユーザが操作するアバタのジェスチャーを検出する。
 なお、表示装置31がヘッドマウントディスプレイである場合には、コンテンツが、ユーザが直接的に視認する仮想空間又は拡張現実空間内に表示されてもよい。この場合、ユーザ認識情報取得部305は、ユーザの位置として、ヘッドマウントディスプレイの位置に基づいてオブジェクトとユーザの視点との相対位置を検出する。また、ユーザ認識情報取得部305は、ユーザの視線として、ヘッドマウントディスプレイの姿勢及び/又はユーザの視線を内部のセンサで検出する。また、ユーザ認識情報取得部305は、ユーザのジェスチャーとして、ヘッドマウントディスプレイを装着しながらユーザが腕などに取り付けたセンサによりジェスチャーを検出する。また、表示装置31が空間再現ディスプレイ(Spatial Reality display)である場合には、空間再現ディスプレイにコンテンツが立体的に表示される。この場合、空間再現ディスプレイに取り付けられたセンサでユーザの顔が検出され得る。この場合、このセンサの検出情報から、ユーザ認識情報取得部305がユーザの位置、視線、ジェスチャーを検出してもよい。
 モーション生成部306は、上述のようにしてユーザ認識情報取得部305が認識情報を検出した場合に、ユーザ認識情報取得部305から認識情報を受け取る。そして、モーション生成部306は、認識情報とモーション変更ロジックとに基づき、オブジェクトのモーション情報を変更した差し替えモーション情報を生成する。詳しくは、この際、モーション生成部306は、まず認識情報とモーション変更ロジックとに基づき変更パターンを特定する。次いで、モーション生成部306は、認識情報が検出された後のコンテンツ内のオブジェクトのモーション情報(本実施形態では、モーション情報の一部)を変更パターンに基づき変更し、これにより、差し替えモーション情報を生成する。
 モーション生成部306は、より詳しくは、変更パターンが特定された後、変更の対象となるモーションにおいてオブジェクトに設定されている許容度に基づき、変更の対象とする要素オブジェクトの部位を選択する。次いで、モーション生成部306は、選択された要素オブジェクトの要素モーション情報を変更パターンに基づき変更し、基本的なモーションを規定するモーション情報とは異なる差し替えモーション情報を生成する。
 モーション制御部307は、上述したようにアプリケーションロジック制御部303が決定するモーション情報及びタイムライン制御部304が決定する再生タイミングを受け取るとともに、モーション生成部306で変更後モーション情報が生成された場合には、変更後モーション情報をモーション生成部306から受け取る。そして、モーション制御部307は、受け取った情報に基づき、コンテンツ内のオブジェクトのモーションをアプリケーションロジック制御部303からのモーション情報により再現するか、又は、このモーション情報をユーザ認識情報取得部305が検出する認識情報に基づき変更して再現するかを決定する。
 モーション制御部307は、詳しくは、アプリケーションロジック制御部303が決定するモーション情報及びタイムライン制御部304が決定する再生タイミングのみを受け取っている場合には、コンテンツ内のオブジェクトのモーションをアプリケーションロジック制御部303が決定したモーション情報により再現することを決定する。この場合、モーション制御部307は、アプリケーションロジック制御部303が決定したモーション情報をそのまま描画再生部308に提供する。
 一方で、モーション制御部307は、アプリケーションロジック制御部303が決定するモーション情報及びタイムライン制御部304が決定する再生タイミングと、差し替えモーション情報と、を受け取った場合には、アプリケーションロジック制御部303が決定したモーション情報に差し替えモーション情報を反映させた変更後モーション情報を生成する。
 変更後モーション情報を生成する際には、アプリケーションロジック制御部303が決定したモーション情報に差し替えモーション情報を反映させる程度が、許容度に基づき決定される。例えば、変更パターンとして手を振る動作が選択された際には、変更パターンで定める手を振る動作に対応する差し替えモーション情報が生成される。ここで、変更の対象となる要素オブジェクトの許容度が50%である場合には、変更後モーション情報として、差し替えモーション情報の50%が、アプリケーションロジック制御部303が決定したモーション情報に反映された情報が生成される。
 ただし、モーション制御部307は、上述のように変更後モーション情報を生成した場合、変更後モーション情報によって再現されるオブジェクトの変更後モーションが予め定められた許容動作範囲を越えるか否かを判定する。変更後モーションが許容動作範囲を越える場合とは、例えばオブジェクトがステージ上を歩くモーションにおいて、オブジェクトがステージ外で宙に浮いて歩く状況や、オブジェクトが関節の可動域を越えて動作する状況などである。許容動作範囲は、ステージの歩行可能範囲や、身体の限界の可動域などを意味する。
 そして、変更後モーションが許容動作範囲を越えないと判定される場合、モーション制御部307は、変更後モーション情報を描画再生部308に提供する。一方、変更後モーションが許容動作範囲を越えると判定される場合には、モーションの変更を行わないか、又は、変更後モーションを補正する。補正は、アプリケーションに組み込まれた例えばIK(Inverse Kinematics)によって処理されてもよい。
 本実施形態では変更後モーションが許容動作範囲を越えると判定される場合に、モーション制御部307は、変更後モーションを補正した後、補正した変更後モーションが許容動作範囲を越えるか否かを判定する。そして、補正した変更後モーションが許容動作範囲を越えないと判定される場合、モーション制御部307は、変更後モーション情報を描画再生部308に提供する。一方、補正した変更後モーションが許容動作範囲を越えると判定される場合には、モーション制御部307は、モーションの変更を行わないことを決定し、アプリケーションロジック制御部303からのモーション情報をそのまま描画再生部308に提供する。
 描画再生部308は、アプリケーションロジック制御部303が決定したモーション情報又はモーション制御部307が生成した変更後モーション情報と、タイムライン制御部304が決定する再生タイミングと、をモーション制御部307から受け取る。そして、描画再生部308は、受け取った情報に従うモーションのオブジェクトが表示装置31に表示されるように処理(レンダリング)する。この際、描画再生部308は、マルチプレイ制御部302から提供される例えばオブジェクトとともにコンテンツを形成する周辺部分を再生するためのデータに対応する信号、他のユーザに対応するアバタを表示するための信号及び音情報に関する信号を受け取っている場合には、これら信号に基づくコンテンツ構成要素などの表示の処理(レンダリング)も行う。
<表示装置>
 図1及び図3に示したように、表示装置31はクライアント装置30に電気的に接続されており、上述したクライアント装置30の描画再生部308の処理により仮想空間やコンテンツを表示する。表示装置31にはオブジェクトを含むコンテンツなどが表示され、ユーザはコンテンツを視聴できる。この際、本実施形態では、上述したようにコンテンツに対するユーザの認識情報に応じて、オブジェクトのモーションが変化され得る。これにより、ユーザはコンテンツにおいてインタラクション性を得ることが可能となる。
 表示装置31は、LCD(液晶ディスプレイ)、有機エレクトロルミネッセンスディスプレイ、PDP(プラズマディスプレイ)、ヘッドアップディスプレイ、空間再現ディスプレイなどでもよい。本実施形態では、一例として、表示装置がLCDであり、LCDに表示される仮想空間内にコンテンツを表示する態様を想定している。なお、クライアント装置30は表示装置31に内蔵されてもよいし、表示装置31とは別の装置として有線又は無線によりクライアント装置30に接続されてもよい。
<情報処理システムの各部動作>
 以下、コンテンツデータ配信装置10、サーバ装置20及びクライアント装置30の動作について説明する。
(コンテンツデータ配信装置の動作)
 図4は、コンテンツデータ配信装置10の動作の一例を説明するフローチャートを示す。以下、図2及び図4を参照しつつコンテンツデータ配信装置10の動作の一例を説明する。
 図4に示すように、コンテンツデータ配信装置10は、まず、オブジェクトモーションデータを作成する(S41)。オブジェクトモーションデータは、モーションキャプチャ部101が取得したモーション素材が、モーション編集部102、モーション取込部111及びモーション成形部112を経て作成される。
 オブジェクトモーションデータが作成された後、コンテンツデータ配信装置10は、オブジェクトモーションデータによりモーションが再現されるオブジェクトに対し、モーションの変更の許容度を設定する(S42)。この設定は、モーション変更許容度設定部113により行われる。本実施形態では、詳しくは、オブジェクトを構成するボーン(要素オブジェクト)ごとに許容度が設定される。また、許容度は、時系列に変化するモーションの内容に応じて異なる値が設定される。
 許容度が設定された後、コンテンツデータ配信装置10は、モーション変更ロジックを作成し、モーション変更ロジック内に定められる変更パターンに優先度を設定する(S43)。この処理は、モーション変更ロジック設定部114により行われる。
 モーション変更ロジックが作成された後、コンテンツデータ配信装置10は、サーバ装置20に提供するサーバ再生用データと、クライアント装置30に提供するクライアント再生用データとを加工する(S44)。この処理は、再生用アプリケーション生成部115により行われる。上述したように、サーバ再生用データには、サーバ用アプリケーションと、少なくともオブジェクトモーションデータにおけるモーション情報及び再生速度情報とが含まれる。クライアント再生用データには、クライアント用アプリケーション、オブジェクトモーションデータと、これに設定される許容度及びモーション変更ロジック、オブジェクトモーションデータによってモーションを再現されるオブジェクトと協働してコンテンツを形成するステージなどの周辺部分のデータ及び/又は他のオブジェクトのオブジェクトモーションデータが含まれる。
 その後、コンテンツデータ配信装置10は、サーバ装置20、クライアント装置30、オンラインストアなどからのアプリケーション送信要求の有無を監視する(S45)。そして、送信要求があった場合には、サーバ装置20にサーバ再生用データを送信するか、又は、クライアント装置30に直接的に又はオンラインストアなどを介して、クライアント再生用データを送信する(S46)。そして、この例では、送信要求の有無を監視中に要求受付停止指示を受信した場合(S47でYES)に、コンテンツデータ配信装置10の処理が終了する。
(オブジェクトモーションデータの概念)
 ステップ41で作成されるオブジェクトモーションデータの具体的なイメージを以下に説明する。図5A~Cはそれぞれ、コンテンツデータ配信装置10が作成するオブジェクトモーションデータによりモーションを再現するオブジェクトの正面図、側面図及び上面図である。図6は、図5A~Cとは異なるモーションを再現するオブジェクトの側面図である。図7は、さらに異なるモーションを再現するオブジェクトの正面図である。
 コンテンツデータ配信装置10が作成するオブジェクトモーションデータは、複数のボーン、それに対応する身体の部位、演者Pの実モーションに従ったボーンのモーションを再現させるモーション情報、モーションの再生速度情報などを含む。ここで、図5A(A)における符号B1~B15は、複数のボーン(要素オブジェクト)に対応する。オブジェクトモーションデータは、このようなボーンB1~B15をモーション情報などにより動作させることで、図5A~図7に示すような所定のモーションのオブジェクトを表示させるデータである。なお、ボーンB1~B15は、図示の見やすさのために図5A~C、図6、図7において適宜省略している。
 図5A~Cは、(A)→(B)→(C)の順で演者のオブジェクトP1がステージSに対応するオブジェクト上を歩きながら歌っているモーションが再現される様子を示す。このようなモーションを再現するモーション情報は、複数のボーンB1~B15の適所に、足を交互に前後させる動作を再現させる要素モーション情報、左手を繰り返し前後させる動作を再現させる要素モーション情報、歌っている際の口に対応する動作などを再現させる要素モーション情報などを設定することで構成される。
 図6は、(A)→(B)→(C)の順で演者のオブジェクトP1がダンスをしているモーションが再現される様子を示す。このようなモーションを再現するモーション情報は、複数のボーンB1~B15の適所に、足を交互に前後させる動作を再現させる要素モーション情報、腕を上下に動かす動作を再現させる要素モーション情報などを設定することで構成される。図7は、演者のオブジェクトP1がスピーチをしているモーションが再現される様子を示す。このようなモーションを再現させるモーション情報は、歌っている際の口に対応する動作などを再現させる要素モーション情報などから構成される。そして、オブジェクトの全体的なモーション情報は、上述のような各モーション情報が連なることで構成される。
 上述のステップS41で作成されるオブジェクトモーションデータは、例えば上述した複数のボーンB1~B15、それに対応する身体の部位、ボーンB1~B15に設定される要素モーションで構成されるモーション情報、モーションの再生速度情報などを含むデータとして作成される。コンテンツに複数のオブジェクトを表示させる場合には、各オブジェクトに対応する複数のオブジェクトモーションデータが作成されるようにする。
(許容度設定の概念)
 以下の説明は、ステップ42で行われる許容度の設定の具体的なイメージについての説明である。図8~図10はそれぞれ、オブジェクトに設定されるモーション変更に関する許容度の一例を説明する図である。図8は、図5A~Cに示したモーションを再現するオブジェクトP1に設定される許容度の例を示している。図9は、図6に示したモーションを再現するオブジェクトP1に設定される許容度の例を示している。図10は、図7に示したモーションを再現するオブジェクトP1に設定される許容度の例を示している。
 図8は、オブジェクトP1がステージSに対応するオブジェクト上を歩きながら歌っているモーションを示す。このモーションでは、マイクを握っている右手側の動きを変化させると自然なパフォーマンスが損なわれ得る。そのため、右手側の要素オブジェクトであるボーンB3、B4、B5に低い許容度(0%)が設定されている。一方、左手側は重要度の低いモーションといえる。そのため、左手側の要素オブジェクトであるボーンB6、B7、B8には高い許容度(100%)が設定されている。また、オブジェクトP1の移動パスを変更しても大きな問題は生じないといえる。そのため、足に対応するボーンB10~B15には高い許容度(100%)が設定されている。
 図9は、オブジェクトP1がダンスをしているモーションを示す。このモーションでは、例えば頭部以下の部位の動きを変化させると自然なパフォーマンスが損なわれ得る。そのため、頭部に対応するボーンB1よりも下に位置するボーンB2~B15に対し低い許容度(0%)が設定されている。一方、頭部に対応するボーンB1は大きく変化されなければ自然なパフォーマンスを損なわないといえる。そのため、頭部に対応するボーンB1には許容度30%が設定されている。
 図10は、オブジェクトP1がスピーチをしているモーションを示す。このモーションでは、マイクを握っている右手側の動きを変化させると自然なパフォーマンスが損なわれ得る。そのため、右手側の要素オブジェクトであるボーンB3、B4、B5に低い許容度(0%)が設定されている。また、動かずにスピーチしている状態から急に歩き始めるのは、自然なパフォーマンスが損なわれ得る。そのため、足に対応するボーンB10~B15に低い許容度(0%)が設定されている。一方、頭部に対応するボーンB1には変更を許容するが、大きくは許容しないよう30%の許容度が設定されている。また、左手側は自由度が高いため、左手側の要素オブジェクトであるボーンB6、B7、B8には高い許容度(80%)が設定されている。
 上述のステップS42の処理では、例えば、以上のようにしてボーンB1~B15ごとに許容度が設定される。コンテンツに複数のオブジェクトを表示させる場合には、各オブジェクトに対応する許容度が設定される。また、オブジェクトモーションデータをリアルタイムで配信する場合には、許容度は自動で設定されてもよい。この場合、モーション変更許容度設定部113は、オブジェクトモーションデータの動きを解析して予め定められた基準で許容度を順次設定してもよい。
(モーション変更ロジックの概念)
 以下の説明は、ステップ43で行われるモーション変更ロジックの作成の具体的なイメージについての説明である。図11は、モーション変更ロジックを説明する概念図である。図11における「ロジックタイトル」は、変更パターンの種別を示す。「認識情報」は、変更パターンに対応する認識情報の種別を示す。「変更パターン内容」は、モーションの変更内容を示す。「優先度」は、変更パターンごとに設定される優先度の値を示す。
 図11に示すモーション変更ロジックの例では、変更パターンIが、認識情報としてユーザの位置が検出された場合に、オブジェクトの移動パスをユーザ側に変更させるロジックを定める。
 変更パターンIIは、認識情報としてユーザの位置が検出された場合に、オブジェクトの頭部及び視線をユーザ側に変更させるロジックを定める。
 変更パターンIIIは、認識情報としてユーザの位置、視線及びジェスチャーが検出された場合に、オブジェクトがユーザに向けて手を振る動作を合成するロジックを定める。
 変更パターンIVは、認識情報としてユーザの位置、視線及びジェスチャーが検出された場合に、オブジェクトがユーザに向けて微笑む動作を合成するロジックを定める。
 また、変更パターンNは、認識情報としてユーザの位置及び視線が検出された場合に、変更後モーションを開始させるロジックを定める。
 以上のようなモーション変更ロジックを作成した場合、クライアント装置30側でコンテンツを視聴しているユーザの認識情報として、例えばユーザの位置が検出された場合に、オブジェクトの移動パスをユーザ側に変更させる表示が可能となる(変更パターンI)。また、認識情報として例えばユーザの位置及び視線が検出された場合に、オブジェクトの頭部及び視線をユーザ側に変更させる表示が可能となる(変更パターンII)。
 また、図11に示すモーション変更ロジックの例では、変更パターンIに許容度a、変更パターンIIに許容度c、変更パターンIIIに許容度b、変更パターンIVに許容度dが設定されている(a>b>c>d)。図11に示すモーション変更ロジックの例では、認識情報として例えばユーザの位置及び視線が検出された場合に、変更パターンIと、変更パターンIIとを選択可能となる。優先度は、このような競合状態となる場合において選択する変更パターンを決定するために設定されている。すなわち、この例では、優先度aが優先度cよりも大きいため、変更パターンIが選択されることになる。
 また、変更パターンNは、変更後モーションの開始タイミングを調整するロジックである。例えば、認識情報としてユーザの位置が検出され、変更パターンが選択された場合、変更パターンに基づき変更後モーションを再現する変更後モーション情報が作成される(モーション生成部306)。この際、ユーザは認識情報を検出された後、視線をオブジェクトから外し、その後、再度オブジェクトに視線を向ける場合がある。変更パターンNは、ユーザが視線をオブジェクトから外している場合には変更後モーションを開始させず、再度オブジェクトに視線を向ける場合に変更後モーションを開始させる制御を行うためのものである。
 上述のステップS43の処理では、例えば、以上に説明したようなモーション変更ロジックが作成される。なお、上述したように、リアルタイムでコンテンツを配信する場合には、許容度は自動で設定されてもよい。一方で、以上に説明したモーション変更ロジックは、リアルタイムでコンテンツを配信する場合であっても、コンテンツ再生前にクライアント装置30に予め提供しておくことが望ましい。本実施形態では、モーション変更ロジックで定める変更パターンに基づく変更を、シーケンス情報や、スクリプトでなるモーション情報の記述を変更することにより行うことを想定している。ただし、このような手法の他に、変更パターンが別撮りのオブジェクトモーションデータとして構成され、このデータの置換によりモーション変更が行われてもよい。
 以上のようにしてモーション変更ロジックが作成されると、モーション変更ロジックは、ステップS41で作成されたオブジェクトモーションデータ、ステップS42で設定した許容度、クライアント用アプリケーションなどともにクライアント再生用データとして加工される。クライアント装置30は、クライアント再生用データを提供された後、サーバ装置20にコンテンツの再生要求を送信し、サーバ装置20からの制御信号を待つ。そして、サーバ装置20が制御信号をクライアント装置30に送信した後、クライアント装置30側でのコンテンツの表示が開始される。
(サーバ装置の動作)
 図12は、サーバ装置20の動作の一例を説明するフローチャートを示す。以下、サーバ装置20の動作の一例を説明する。
 図12に示すように、サーバ装置20はサーバ再生用アプリケーション(データ)を受信した後(S121)、クライアント装置30からのコンテンツの再生要求を待つ(S122)。そして、再生要求を受信した場合(S122でYES)、コンテンツ再生用の制御信号をクライアント装置30に送信する(S123)。そして、サーバ装置20は、再生終了の指示信号を受信するまで制御信号を送信し、再生終了の指示信号を受信した場合に処理を終了する(S124)。
 コンテンツ再生用の制御信号は、マルチプレイ制御部203により生成され、上述したようにアプリケーションロジック制御部201及びタイムライン制御部202からの情報に基づき生成される。コンテンツの再生のための制御信号には、モーション情報に対応する信号、再生タイミング情報に対応する信号、アバタ(ユーザ自身及び他のユーザのアバタ)の表示のための信号、オブジェクトとともにコンテンツを形成する周辺部分を再生するためのデータに対応する信号、音情報に関する信号などが含まれる。サーバ装置20は、このような制御信号を各クライアント装置30に同じタイミングで提供することで(S123)、各クライアント装置30においてマルチプレイでコンテンツ及び各ユーザのアバタが表示されることを実現する。
(クライアント装置の動作)
 以下、図13のフローチャートを参照してクライアント装置30の動作の一例を説明する。図13に示すように、クライアント装置30は、クライアント再生用アプリケーション(データ)を受信し(S121)且つサーバ装置20にコンテンツの再生要求を送信した後(S132)、サーバ装置20からの制御信号を待つ(S133)。
 クライアント装置30がサーバ装置20からの制御信号を受信した場合には、制御信号のうちのオブジェクトのモーションを再現するためのモーション情報に対応する信号が、アプリケーションロジック制御部303に送られ、再生タイミング情報に対応する信号が、タイムライン制御部304に送られる。また、他の信号、例えば、オブジェクトとともにコンテンツを形成する周辺部分を再生するためのデータに対応する信号、他のユーザに対応するアバタを表示するための信号、音情報に関する信号などは、描画再生部308に送られる。以上の信号の送信処理は、マルチプレイ制御部302により行われる。
 ステップS133における処理後、クライアント装置30は、ユーザ認識情報取得部305でユーザの認識情報が取得されるか否かを監視する(S134)。ここで、認識情報が取得されない場合には(S134でNO)、サーバ装置20からの制御信号に基づき、アプリケーションロジック制御部303が決定するモーション情報及びタイムライン制御部304が決定する再生タイミングにより定まるオブジェクトの基本的なモーションで、オブジェクトが再生される(S141)。
 一方、認識情報が取得された場合(S134でYES)、クライアント装置30は、認識情報とモーション変更ロジックとに基づき変更パターンを選択し、変更パターンに基づきオブジェクトのモーション情報を変更した差し替えモーション情報を生成する(S135)。変更の対象となるモーション情報は、アプリケーションロジック制御部303が決定するモーション情報に基づき特定される。差し替えモーション情報は、認識情報が検出された後のコンテンツ内のオブジェクトのモーション情報(本実施形態では、モーション情報の一部)を変更パターンに基づき変更することで生成される。なお、差し替えモーション情報の生成処理は、モーション生成部306が行う。このようにして生成される差し替えモーション情報は、モーション制御部307に送られる。この際、モーション制御部307には、サーバ装置20からの制御信号に基づき、アプリケーションロジック制御部303が決定するモーション情報及びタイムライン制御部304が決定する再生タイミングも送られる。
 上述のように差し替えモーション情報がモーション制御部307に送られると、クライアント装置30は、アプリケーションロジック制御部303が決定したモーション情報に差し替えモーション情報を反映させた変更後モーション情報をモーション制御部307により生成する(S136)。上述したように、変更後モーション情報を生成する際には、アプリケーションロジック制御部303が決定したモーション情報に差し替えモーション情報を反映させる程度が、許容度に基づき決定される。
 上述のようにして変更後モーション情報が生成された後、クライアント装置30は、この変更後モーション情報によって再現されるオブジェクトの変更後モーションに破綻がないか否かを判定する(S137)。破綻の有無の判定は、変更後モーションが、予め定められた許容動作範囲を越えるか否かを判定することで行われる。上述したが、変更後モーションが許容動作範囲を越える場合は、例えばオブジェクトがステージ上を歩くモーションにおいて、オブジェクトがステージ外で宙に浮いて歩く状況や、オブジェクトが関節の可動域を越えて動作する状況などである。
 破綻が判定されない場合(S137でYES)、クライアント装置30は、変更後モーション情報及びタイムライン制御部304が決定する再生タイミングにより定まる変更後モーションでオブジェクトを再生する(S138)。コンテンツの再生処理は、描画再生部308により行われる。
 一方で、破綻が判定された場合(S137でNO)、クライアント装置30は、変更後モーションを補正し(S139)、その後、補正した変更後モーションが許容動作範囲を越えるか否かを判定する(S140)。ここで、破綻が判定されない場合(S140でYES)、クライアント装置30は、補正した変更後モーションでオブジェクトを再生する(S138)。コンテンツの再生処理は、描画再生部308により行われる。
 また、補正した変更後モーションが許容動作範囲を越える判定される場合(S140でNO)には、クライアント装置30は、モーションの変更を行わないことを決定し、アプリケーションロジック制御部303からのモーション情報をそのまま描画再生部308に提供する。この場合、サーバ装置20からの制御信号に基づき、アプリケーションロジック制御部303が決定するモーション情報及びタイムライン制御部304が決定する再生タイミングにより定まるオブジェクトの基本的なモーションで、オブジェクトが再生される(S141)。
 ステップS138及びS141の処理後、クライアント装置30はサーバ装置20からの制御信号を継続的に受信する。そして、クライアント装置30は再生終了の指令があるまで(S142でYES)、コンテンツ内のオブジェクトのモーションをアプリケーションロジック制御部303からのモーション情報により再現するか、又は、このモーション情報をユーザ認識情報取得部305が検出する認識情報に基づき変更して再現するかを決定する処理を繰り返す。
(変更されるモーションの例)
 以下、クライアント装置30で行われるモーション変更の例について図14~図20を参照しつつ具体的に説明する。まず、図14は、表示装置31に表示される仮想空間内にコンテンツを表示した際の状態の一例を説明する図である。図14に示される仮想空間では、仮想空間内に表示されたステージS上に演者のアバタとしてのオブジェクトP1が位置している。ステージSの下には、クライアント装置30のユーザが操作するユーザアバタUA1~4が表示されている。図14に示す状態は、図5A~Cで説明したモーションを行う前の状態である。以下の例1~3では、図14の状態でオブジェクトP1が表示された後、オブジェクトP1のモーションが変更される例である。
(例1)移動パスの変更
 図14に示すオブジェクトP1は、サーバ装置20からの制御信号に基づくモーション情報でモーションを再現される場合、図5A~Cに示すようにステージSの正面に向けて歌いながら歩く。このような状況下において図15(A)に示すユーザアバタUA1の位置が検出された場合、クライアント装置30は、モーション生成部306及びモーション制御部307により図15(A)~(C)に示すようなオブジェクトP1がユーザアバタUA1に向かって歩く変更後モーションを生成できる(S133~S138)。このような変更後モーションは、図11に示した変更パターンIに基づき生成される。この変更後モーションでは、オブジェクトP1の歩行範囲がステージS内であることで、破綻が生じていない。この場合、クライアント装置30は変更後モーションを採用してもよい。
 一方、図16(A)に示すようにユーザアバタUA2の位置が検出された場合、クライアント装置30は、モーション生成部306及びモーション制御部307により図16(A)~(C)に示すようなオブジェクトP1がユーザアバタUA2に向かって歩く変更後モーションの生成を試みる(S133~S136)。しかしながら、この変更後モーションでは、オブジェクトP1の歩行範囲がステージSを越えているため、破綻が生じている(S137でNO)。このような場合、クライアント装置30は変更後モーションを採用しない。
(例2)頭部及び視線の変更1
 図17に示すオブジェクトP1は、図5A(C)、図5B(C)及び図5C(C)の状態に対応する。すなわち、図17のオブジェクトP1はステージSの先端に到達している。この際、図17(A)に示すようにオブジェクトP1の許容度は、歩行中の状態から変更されている。具体的には、移動パスの変更は困難な状態であるため、足に関するボーンには低い許容度(0%)が設定されている。一方、左手側及び頭部に対応するボーンB1には、高い許容度(100%)が維持されている。
 図17(A)及び(B)に示す状況下においてユーザアバタUA1の位置及び視線が検出された場合、クライアント装置30は、モーション生成部306及びモーション制御部307により図17(C)に示すようなオブジェクトP1が頭部に対応するボーンB1をユーザアバタUA1側に変更する変更後モーションを生成できる(S133~S138)。このような変更後モーションは、図11に示した変更パターンIIに基づき生成される。この変更後モーションでは、オブジェクトP1の頭部のボーンB1が不自然な動きにならないため、つまり関節の可動域を越えていないため、破綻が生じていない。この場合、クライアント装置30は変更後モーションを採用してもよい。
 一方、図18(A)、(B)は図17(A)及び(B)に示す状況と同じ状況であり、この場合に、図18(B)に示すようにユーザアバタUA3の位置が検出されたとする。この場合、クライアント装置30は、モーション生成部306及びモーション制御部307により図18(C)に示すようなオブジェクトP1が頭部に対応するボーンB1をユーザアバタUA3側に変更する変更後モーションの生成を試みる(S133~S136)。しかしながら、この変更後モーションでは、図18(C)から理解されるように、オブジェクトP1のボーンB1が不自然な動きになっている。つまり関節の可動域を越えおり、破綻が生じている(S137でNO)。このような場合、クライアント装置30は変更後モーションを採用しない。
(例3)頭部及び視線の変更2
 図19(A)及び(B)は、図6(A)~(C)の状態に対応する。すなわち、図19(A)及び(B)では、オブジェクトP1がステージSの先端でダンスをしている。この際、オブジェクトP1の許容度は、頭部に対応するボーンB1を除き、許容度が0%になっている。
 図19(A)及び(B)に示す状況下においてユーザアバタUA3の位置及び視線が検出された場合、クライアント装置30は、モーション生成部306及びモーション制御部307により図19(C)及び(D)に示すようなオブジェクトP1が頭部に対応するボーンB1をユーザアバタUA3側に変更する変更後モーションを生成できる(S133~S138)。このような変更後モーションは、図11に示した変更パターンIIに基づき生成される。この変更後モーションでは、オブジェクトP1の頭部のボーンB1が不自然な動きにならないため、つまり関節の可動域を越えていないため、破綻が生じていない。この場合、クライアント装置30は変更後モーションを採用してもよい。
 また、図19(C)及び(D)に示す変更後モーションでは、許容度により変更の程度が調整されている。すなわち、頭部に対応するボーンB1の許容度が30%に設定されているため、変更パターンIIに基づく変更の30%が変更後モーションに設定される。具体的には、変更パターンIIに基づく変更が100%反映される場合には、図19(D)に示すように頭部に対応するボーンB1が角度θで動くが、許容度30%が反映されることで、変更後モーションにおける頭部に対応するボーンB1の変更角度は、0.3θになっている。
(例4)複数オブジェクトの移動パスの変更及び補正
 図20(A)は、ステージS上に複数のオブジェクトP1、P2が位置する状況を示す。このような場合、クライアント装置30は、ユーザの認識情報に応じて2つの複数のオブジェクトP1、P2のモーションを変更できる。図20では、基本的なモーション情報に従う場合、オブジェクトP1、P2は破線の矢印に示すようにステージSの正面に向かって歩く。
 図20(A)に示す状況下においてユーザアバタUA1の位置が検出された場合、クライアント装置30は、モーション生成部306及びモーション制御部307により図20の実線の矢印に示すようなオブジェクトP1、P2がユーザアバタUA1に向かって歩くオブジェクトP1、P2それぞれに対応する変更後モーションを生成できる(S133~S138)。このような変更後モーションは、図11に示した変更パターンIに基づき生成される。
 ただし、図20(A)の実線の矢印で示す変更後モーションの移動パスでは、変更後モーションのそれぞれでオブジェクトP1、P2を動作させたときに、互いに異なるオブジェクトP1、P2が干渉し得る。そこで、この例では、クライアント装置30が、図20(B)に示すように、変更後モーションの少なくともいずれかの補正を行う(S139)。補正した変更後モーションでは、オブジェクトP1、P2の干渉がなく、破綻が生じていない。この場合、クライアント装置30は変更後モーションを採用してもよい。
 なお、以上に説明した例1~例4は例示に過ぎず、本実施形態では例1~例4とは異なる各種のモーション変更を実施できる。
 以上に説明したように、本実施形態では、コンテンツを視聴するユーザのコンテンツに対する認識情報に基づき、コンテンツ内のオブジェクトのモーションを変更できる。これにより、ユーザの視聴状態とコンテンツとの間のインタラクション性をユーザに個人化させるかたちで確保できる。具体的には、演者であるオブジェクトと観客であるユーザ(ユーザアバタ)との掛け合い、両者の間で起きたことに対するリアクションを模擬でき、ユーザは、演者であるオブジェクトとの一体感や体験のプレミアム感を得ることができる。これにより、付加価値の高いコンテンツを提供できる。
 また、本実施形態では、クライアント装置30側で検出されるユーザのコンテンツに対する認識情報に基づき、クライアント装置30側でコンテンツ内のオブジェクトのモーションを変更する。この場合、モーションの変更負荷はクライアント装置30が負担する。そのため、処理遅延などによるタイムラグを抑えることができ、ユーザにとってコンテンツを提供できる。すなわち、オブジェクトのモーションをサーバ装置20側で行ってもよいが、この場合には変更を反映させるまでに遅延が生じ易くなる。
<コンテンツの表示の変形例>
 上述の第1実施形態では、表示装置31がLCDを使用する例を挙げた。図21は、表示装置31として空間再現ディスプレイを使用した第1実施形態の変形例を説明する図である。図21における符号31Aは、空間再現ディスプレイである表示装置31の外面に設けられたセンサを示す。センサ31Aは撮像装置などでもよい。表示装置31は、オブジェクトP1を立体的に表示する。この構成では、センサ31Aにより、オブジェクトP1(コンテンツ)を視聴しているユーザRUの位置、視線、ジェスチャーを検出でき、これに応じてオブジェクトP1のモーションを変更できる。
 図22は、表示装置31としてヘッドマウントディスプレイを使用した第1実施形態の変形例を説明する図である。図22(A)の符号Im1及び図22(B)の符号Im2に示すように、コンテンツが、ユーザRUがヘッドマウントディスプレイで直接的に視認する仮想空間内に表示されている。符号Im1では、ステージSから離れた位置からステージS上のオブジェクトP1をユーザが視認している様子を示す。符号Im2では、ステージSの直下からステージS上のオブジェクトP1をユーザRUが見上げている様子を示す。
 ヘッドマウントディスプレイにはジャイロセンサ及び視線検出センサが設けられており、図22(A)の矢印に示すように、ユーザが前進した場合にはジャイロセンサにより移動が検出され、ステージSにユーザに近づくように仮想空間が表示される。また、図22(B)の矢印に示すように、ユーザRUが上を向いた場合にはジャイロセンサにより頭の傾きが検出され、仮想空間の表示が切り替わる。この構成では、ジャイロセンサ、視線検出センサ、ユーザRUが腕などに取り付けたセンサにより、ユーザRUの位置、視線、ジェスチャーを検出でき、これに応じてオブジェクトP1のモーションを変更できる。
<<第2実施形態>>
 以下、第2実施形態に係る情報処理システムS2について説明する。図23は、第2実施形態に係る情報処理システムS2を構成するコンテンツデータ配信装置10、サーバ装置20及びクライアント装置30それぞれのブロック図を示す。第2実施形態における構成部分のうち第1実施形態と同様のものには同一の符号を付し、重複する説明は省略する。
 第2実施形態に係る情報処理システムS2は、取得したモーション素材をリアルタイムでサーバ装置20を介してクライアント装置30に提供する。このような構成を実現すべく、図23に示すように、サーバ装置20は、モーションキャプチャ部101、モーション編集部102、モーション変更許容度設定部113、アプリケーションロジック制御部201、タイムライン制御部202、マルチプレイ制御部203、及び通信部204を有する。各部の機能は第1実施形態と同様である。
 一方で、コンテンツデータ配信装置10は、第1実施形態の構成に対して、モーションキャプチャ部101、モーション編集部102、及びモーション変更許容度設定部113を取り除かれている。また、クライアント装置30の構成は、第1実施形態の構成と同じである。
 図24は第2実施形態に係るサーバ装置20の動作の一例を説明するフローチャートを示しており、第2実施形態では、サーバ装置20がサーバ再生用アプリケーション(データ)を受信した後(S241)、オブジェクトモーションデータを作成する(S242)。オブジェクトモーションデータは、モーションキャプチャ部101で取得したモーション素材が、モーション編集部102、アプリケーションロジック制御部201、及びタイムライン制御部202を経て作成される。アプリケーションロジック制御部201及びタイムライン制御部202はそれぞれ、モーションキャプチャ部101が取得したモーション素材を解析することにより、オブジェクトモーションデータを構成するモーション情報及びモーションの再生速度情報を作成する。
 オブジェクトモーションデータが作成された後、サーバ装置20は、オブジェクトモーションデータによりモーションが再現されるオブジェクトに対し、モーションの変更の許容度を設定する(S243)。この設定は、モーション変更許容度設定部113により行われる。
 その後、サーバ装置20は、オブジェクトモーションデータを構成する複数のボーン、それに対応する身体の部位、演者の実モーションに従ったボーンのモーションを再現させるモーション情報、モーションの再生速度情報などを制御信号などに加工し、クライアント装置30に送信する(S244)。そして、サーバ装置20は、再生終了の信号を受信した際に制御信号の送信を停止して、処理を終了する(S245)。
 図25は、第2実施形態に係るクライアント装置30の動作の一例を説明する。図25に示すように、第2実施形態では、クライアント装置30が、クライアント再生用アプリケーション(データ)を受信し(S251)且つサーバ装置20にコンテンツの再生要求を送信した後(S252)、サーバ装置20からの制御信号を待つ(S133)。本実施形態では、ステップS251でクライアント再生用アプリケーションと、モーション変更ロジックの情報だけをコンテンツデータ配信装置10から受信する点で、第1実施形態と異なる。以降の処理であるステップS133~S142は第1実施形態と同様である。
 以上に説明した第2実施形態においても、付加価値の高いコンテンツを提供できる。
<<ハードウェア構成>>
 図26は、上述した各実施形態におけるコンテンツデータ配信装置10、サーバ装置20及びクライアント装置30を構成し得る情報処理装置400のハードウェア構成の一例を示す。図26に示す情報処理装置400は、CPU401と、入力インタフェース402と、外部インタフェース403と、通信装置404と、主記憶装置405と、外部記憶装置406とを備え、これらはバス407により相互に接続されている。情報処理装置400は、一例として、スマートフォン、タブレット、デスクトップ型PC、又はノート型PCとして構成される。
 CPU(中央演算装置)401は、主記憶装置405上で、コンピュータプログラムである情報処理プログラムを実行する。情報処理プログラムは、情報処理装置400の各機能構成を実現するプログラムのことである。情報処理プログラムは、1つのプログラムではなく、複数のプログラムやスクリプトの組み合わせにより実現されていてもよい。CPU401が、情報処理プログラムを実行することにより、各機能構成は実現される。
 入力インタフェース402は、ハンドコントローラ、キーボード、マウス、およびタッチパネルなどの入力装置からの操作信号を、情報処理装置400に入力するための回路である。入力インタフェース402はカメラなどの撮像装置、TOF(Time Of Flight)センサ、LiDAR(Light Detection and Ranging)などのセンサを含んでもよい。
 外部インタフェース403は、HMD、LCD(液晶ディスプレイ)、有機エレクトロルミネッセンスディスプレイ、CRT(ブラウン管)、またはPDP(プラズマディスプレイ)などの外部装置にデータ又は情報を出力する。
 通信装置404は、情報処理装置400が外部装置と無線または有線で通信するための回路である。データは、通信装置404を介して外部装置から入力することができる。外部装置から入力したデータを、主記憶装置405や外部記憶装置406に格納することができる。
 主記憶装置405は、情報処理プログラム、情報処理プログラムの実行に必要なデータ、および情報処理プログラムの実行により生成されたデータなどを記憶する。情報処理プログラムは、主記憶装置405上で展開され、実行される。主記憶装置405は、例えば、RAM、DRAM、SRAMであるが、これに限られない。
 外部記憶装置406は、情報処理プログラム、情報処理プログラムの実行に必要なデータ、および情報処理プログラムの実行により生成されたデータなどを記憶する。これらの情報処理プログラムやデータは、情報処理プログラムの実行の際に、主記憶装置405に読み出される。外部記憶装置406は、例えば、ハードディスク、光ディスク、フラッシュメモリ、及び磁気テープであるが、これに限られない。
 なお、情報処理プログラムは、情報処理装置400に予めインストールされていてもよいし、CD-ROMなどの記憶媒体に記憶されていてもよい。また、情報処理プログラムは、インターネット上にアップロードされていてもよい。
 また、情報処理装置400は、単一の情報処理装置により構成されてもよいし、相互に接続された複数の情報処理装置からなるシステムとして構成されてもよい。
 なお、上述の実施形態は本開示を具現化するための一例を示したものであり、その他の様々な形態で本開示を実施することが可能である。例えば、本開示の要旨を逸脱しない範囲で、種々の変形、置換、省略又はこれらの組み合わせが可能である。そのような変形、置換、省略などを行った形態も、本開示の範囲に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
 また、本明細書に記載された本開示の効果は例示に過ぎず、その他の効果があってもよい。
 なお、本開示は以下のような構成を取ることもできる。
[項目1]
 コンテンツを視聴するユーザの前記コンテンツに対する認識情報に基づき、前記コンテンツ内のオブジェクトのモーションを変更するモーション制御部を備える、情報処理装置。
[項目2]
 前記モーション制御部は、前記認識情報と前記モーションの変更パターンとの関係を定めたモーション変更ロジックに基づき、前記モーションを変更する、
 項目1に記載の情報処理装置。
[項目3]
 前記変更パターンには優先度が定められており、
 前記モーション制御部は、前記認識情報に対応する前記変更パターンを複数選択可能である場合に、前記優先度に基づき前記変更パターンを選択する、
 項目2に記載の情報処理装置。
[項目4]
 前記オブジェクトには、前記モーション制御部による前記モーションの変更に関する許容度が定められており、
 前記モーション制御部は、前記許容度に応じて、前記モーションを変更させる程度を変化させるか又は前記モーションを変更しない、
 項目1乃至3のいずれかに記載の情報処理装置。
[項目5]
 前記許容度は、前記モーションの内容に応じて異なる値を設定されている、
 項目4に記載の情報処理装置。
[項目6]
 前記オブジェクトは、複数の要素オブジェクトを有し、
 前記モーションは、各前記要素オブジェクトに設定された要素モーションの組合わせによって構成されており、
 前記許容度は、前記要素モーションの変更に関する許容度として各前記要素オブジェクトごとに定められている、
 項目4又は5に記載の情報処理装置。
[項目7]
 前記要素オブジェクトごとに定められた前記許容度に基づき、前記要素モーションを変更させる前記要素オブジェクトが選択され、前記モーション制御部は、選択された前記要素オブジェクトに対応する前記要素モーションを変更することで前記モーションを変更する、
 項目6に記載の情報処理装置。
[項目8]
 複数の前記要素オブジェクトは関節を介して接続され、
 前記要素モーションは、前記要素オブジェクトが対応する前記関節に対して姿勢を相対的に変化させる動き、及び/又は、各前記要素オブジェクト自体の状態が変化する動きで構成される、
 項目6又は7に記載の情報処理装置。
[項目9]
 前記モーション制御部は、前記モーションを変更する際、前記モーションを変更した変更後モーションが予め定められた許容動作範囲を越えるか否かを判定する、
 項目1乃至8のいずれかに記載の情報処理装置。
[項目10]
 前記モーション制御部は、前記変更後モーションが前記許容動作範囲を越えると判定される場合に、前記モーションの変更を行わない、
 項目9に記載の情報処理装置。
[項目11]
 前記モーション制御部は、前記変更後モーションが前記許容動作範囲を越えると判定される場合に、前記変更後モーションを補正する、
 項目9に記載の情報処理装置。
[項目12]
 前記モーション制御部は、複数の前記オブジェクトのそれぞれのモーションを変更する際、各前記オブジェクトのモーションを変更した変更後モーションのそれぞれで複数の前記オブジェクトを動作させたときに、互いに異なる前記オブジェクトが干渉する場合には、互いに異なる前記オブジェクトの前記変更後モーションの少なくともいずれかの補正を行う、
 項目1乃至11のいずれかに記載の情報処理装置。
[項目13]
 前記コンテンツは、前記ユーザが操作するアバタが存在する仮想空間内で表示される、
 項目1乃至12のいずれかに記載の情報処理装置。
[項目14]
 前記認識情報は、前記仮想空間内の前記アバタと前記オブジェクトとの相対的な位置に関する情報を含む、
 項目13に記載の情報処理装置。
[項目15]
 前記コンテンツは、前記ユーザが視認する表示装置に表示される、
 項目1乃至12のいずれかに記載の情報処理装置。
[項目16]
 前記認識情報は、前記表示装置に対する前記ユーザの視線の方向に関する情報を含む、
 項目15に記載の情報処理装置。
[項目17]
 前記表示装置は、ヘッドマウントディスプレイであり、
 前記認識情報は、前記ヘッドマウントディスプレイの姿勢、位置及び方向のうちの少なくともいずれかの情報を含む、
 項目15に記載の情報処理装置。
[項目18]
 コンテンツを視聴するユーザの前記コンテンツに対する認識情報を取得する処理と、
 前記認識情報に基づき、前記コンテンツ内のオブジェクトのモーションを変更する処理と、を有する、情報処理方法。
[項目19]
 サーバ装置と、前記サーバ装置の制御によりコンテンツを再生させるクライアント装置と、を備え
 前記サーバ装置及び前記クライアント装置のうちの少なくともいずれかが、前記クライアント装置で前記コンテンツを視聴するユーザの前記コンテンツに対する認識情報に基づき、前記コンテンツ内のオブジェクトのモーションを変更するモーション制御部を有する、情報処理システム。
[項目20]
 コンテンツを視聴するユーザの前記コンテンツに対する認識情報に基づき、前記コンテンツ内のオブジェクトのモーションを変更するステップをコンピュータに実行させるためのコンピュータプログラム。
[項目21]
 コンテンツを視聴するユーザの前記コンテンツに対する認識情報に基づき、前記コンテンツ内のオブジェクトのモーションを変更するステップをコンピュータに実行させるためのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
S1,S2…情報処理システム
10…コンテンツデータ配信装置
100…モーション素材取得ユニット
101…モーションキャプチャ部
102…モーション編集部
110…モーションデータ生成ユニット
111…モーション取込部
112…モーション成形部
113…モーション変更許容度設定部
114…モーション変更ロジック設定部
115…再生用アプリケーション生成部
116…通信部
20…サーバ装置
201…アプリケーションロジック制御部
202…タイムライン制御部
203…マルチプレイ制御部
204…通信部
30…クライアント装置
301…通信部
302…マルチプレイ制御部
303…アプリケーションロジック制御部
304…タイムライン制御部
305…ユーザ認識情報取得部
306…モーション生成部
307…モーション制御部
308…描画再生部
40…通信ネットワーク
400…情報処理装置
401…CPU
402…入力インタフェース
403…外部インタフェース
404…通信装置
405…主記憶装置
406…外部記憶装置
407…バス
P…演者
P1…オブジェクト
UA1~4…ユーザアバタ

Claims (21)

  1.  コンテンツを視聴するユーザの前記コンテンツに対する認識情報に基づき、前記コンテンツ内のオブジェクトのモーションを変更するモーション制御部を備える、情報処理装置。
  2.  前記モーション制御部は、前記認識情報と前記モーションの変更パターンとの関係を定めたモーション変更ロジックに基づき、前記モーションを変更する、請求項1に記載の情報処理装置。
  3.  前記変更パターンには優先度が定められており、
     前記モーション制御部は、前記認識情報に対応する前記変更パターンを複数選択可能である場合に、前記優先度に基づき前記変更パターンを選択する、請求項2に記載の情報処理装置。
  4.  前記オブジェクトには、前記モーション制御部による前記モーションの変更に関する許容度が定められており、
     前記モーション制御部は、前記許容度に応じて、前記モーションを変更させる程度を変化させるか又は前記モーションを変更しない、請求項1に記載の情報処理装置。
  5.  前記許容度は、前記モーションの内容に応じて異なる値を設定されている、請求項4に記載の情報処理装置。
  6.  前記オブジェクトは、複数の要素オブジェクトを有し、
     前記モーションは、各前記要素オブジェクトに設定された要素モーションの組合わせによって構成されており、
     前記許容度は、前記要素モーションの変更に関する許容度として各前記要素オブジェクトごとに定められている、請求項4に記載の情報処理装置。
  7.  前記要素オブジェクトごとに定められた前記許容度に基づき、前記要素モーションを変更させる前記要素オブジェクトが選択され、前記モーション制御部は、選択された前記要素オブジェクトに対応する前記要素モーションを変更することで前記モーションを変更する、請求項6に記載の情報処理装置。
  8.  複数の前記要素オブジェクトは関節を介して接続され、
     前記要素モーションは、前記要素オブジェクトが対応する前記関節に対して姿勢を相対的に変化させる動き、及び/又は、各前記要素オブジェクト自体の状態が変化する動きで構成される、請求項6に記載の情報処理装置。
  9.  前記モーション制御部は、前記モーションを変更する際、前記モーションを変更した変更後モーションが予め定められた許容動作範囲を越えるか否かを判定する、請求項1に記載の情報処理装置。
  10.  前記モーション制御部は、前記変更後モーションが前記許容動作範囲を越えると判定される場合に、前記モーションの変更を行わない、請求項9に記載の情報処理装置。
  11.  前記モーション制御部は、前記変更後モーションが前記許容動作範囲を越えると判定される場合に、前記変更後モーションを補正する、請求項9に記載の情報処理装置。
  12.  前記モーション制御部は、複数の前記オブジェクトのそれぞれのモーションを変更する際、各前記オブジェクトのモーションを変更した変更後モーションのそれぞれで複数の前記オブジェクトを動作させたときに、互いに異なる前記オブジェクトが干渉する場合には、互いに異なる前記オブジェクトの前記変更後モーションの少なくともいずれかの補正を行う、請求項1に記載の情報処理装置。
  13.  前記コンテンツは、前記ユーザが操作するアバタが存在する仮想空間内で表示される、請求項1に記載の情報処理装置。
  14.  前記認識情報は、前記仮想空間内の前記アバタと前記オブジェクトとの相対的な位置に関する情報を含む、請求項13に記載の情報処理装置。
  15.  前記コンテンツは、前記ユーザが視認する表示装置に表示される、請求項1に記載の情報処理装置。
  16.  前記認識情報は、前記表示装置に対する前記ユーザの視線の方向に関する情報を含む、請求項15に記載の情報処理装置。
  17.  前記表示装置は、ヘッドマウントディスプレイであり、
     前記認識情報は、前記ヘッドマウントディスプレイの姿勢、位置及び方向のうちの少なくともいずれかの情報を含む、請求項15に記載の情報処理装置。
  18.  コンテンツを視聴するユーザの前記コンテンツに対する認識情報を取得する処理と、
     前記認識情報に基づき、前記コンテンツ内のオブジェクトのモーションを変更する処理と、を有する、情報処理方法。
  19.  サーバ装置と、前記サーバ装置の制御によりコンテンツを再生させるクライアント装置と、を備え、
     前記サーバ装置及び前記クライアント装置のうちの少なくともいずれかが、前記クライアント装置で前記コンテンツを視聴するユーザの前記コンテンツに対する認識情報に基づき、前記コンテンツ内のオブジェクトのモーションを変更するモーション制御部を有する、情報処理システム。
  20.  コンテンツを視聴するユーザの前記コンテンツに対する認識情報に基づき、前記コンテンツ内のオブジェクトのモーションを変更するステップをコンピュータに実行させるためのコンピュータプログラム。
  21.  コンテンツを視聴するユーザの前記コンテンツに対する認識情報に基づき、前記コンテンツ内のオブジェクトのモーションを変更するステップをコンピュータに実行させるためのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
PCT/JP2022/024647 2021-07-07 2022-06-21 情報処理装置、情報処理方法、情報処理システム、コンピュータプログラム及び記録媒体 WO2023282049A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202280046827.9A CN117597706A (zh) 2021-07-07 2022-06-21 信息处理装置、信息处理方法、信息处理系统、计算机程序和记录介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021112998 2021-07-07
JP2021-112998 2021-07-07

Publications (1)

Publication Number Publication Date
WO2023282049A1 true WO2023282049A1 (ja) 2023-01-12

Family

ID=84800272

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/024647 WO2023282049A1 (ja) 2021-07-07 2022-06-21 情報処理装置、情報処理方法、情報処理システム、コンピュータプログラム及び記録媒体

Country Status (2)

Country Link
CN (1) CN117597706A (ja)
WO (1) WO2023282049A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014098033A1 (ja) * 2012-12-17 2014-06-26 Iwata Haruyuki 携帯型移動支援装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014098033A1 (ja) * 2012-12-17 2014-06-26 Iwata Haruyuki 携帯型移動支援装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MUSASHIJIMA YURI, BANNAI YUICHI: "WakWak Tube 3D: An interactive VR theatre performance viewer", IPSJ SIG TECHNICAL REPORT, vol. 2020-SPT-037, no. 2, 14 May 2020 (2020-05-14), pages 1 - 7, XP093020508 *

Also Published As

Publication number Publication date
CN117597706A (zh) 2024-02-23

Similar Documents

Publication Publication Date Title
US9939887B2 (en) Avatar control system
US11050977B2 (en) Immersive interactive remote participation in live entertainment
US11514653B1 (en) Streaming mixed-reality environments between multiple devices
US10582191B1 (en) Dynamic angle viewing system
JP6775557B2 (ja) 動画配信システム、動画配信方法、及び動画配信プログラム
US20160163084A1 (en) Systems and methods for creating and distributing modifiable animated video messages
US11514690B2 (en) Scanning of 3D objects with a second screen device for insertion into a virtual environment
JP4725936B1 (ja) 入力支援装置、入力支援方法及びプログラム
Barakonyi et al. Agents that talk and hit back: Animated agents in augmented reality
US11688079B2 (en) Digital representation of multi-sensor data stream
US20230102054A1 (en) Method, an apparatus and a computer program product for video encoding and video decoding
US20240163528A1 (en) Video data generation method and apparatus, electronic device, and readable storage medium
CN113784160A (zh) 视频数据生成方法、装置、电子设备及可读存储介质
JP2023036740A (ja) 動画配信システム、動画配信方法、及び動画配信プログラム
Irawati et al. Varu framework: Enabling rapid prototyping of VR, AR and ubiquitous applications
WO2023282049A1 (ja) 情報処理装置、情報処理方法、情報処理システム、コンピュータプログラム及び記録媒体
CN115624740A (zh) 一种虚拟现实设备及其控制方法、装置、系统及互动系统
Cannavò et al. AR-MoCap: Using Augmented Reality to Support Motion Capture Acting
WO2023276252A1 (ja) 情報処理装置、情報処理方法及びプログラム
EP4306192A1 (en) Information processing device, information processing terminal, information processing method, and program
US11995768B2 (en) VR live broadcasting distribution system, distribution server, control method for distribution server control method, program for distribution server, and data structure of VR picture data
JP7324659B2 (ja) Vr生放送配信システム、配信サーバ、配信サーバの制御方法、配信サーバのプログラム、およびvr生写真データのデータ構造
Hunt et al. Puppet Show: Intuitive puppet interfaces for expressive character control
US20210400255A1 (en) Image processing apparatus, image processing method, and program
US20220180601A1 (en) Vr live broadcasting distribution system, distribution server, control method for distribution server control method, program for distribution server, and data structure of vr picture data

Legal Events

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

Ref document number: 22837466

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202280046827.9

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE