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

WO2024190569A1 - 情報処理装置、情報処理方法、プログラムおよびコンテンツ配信システム - Google Patents

情報処理装置、情報処理方法、プログラムおよびコンテンツ配信システム Download PDF

Info

Publication number
WO2024190569A1
WO2024190569A1 PCT/JP2024/008580 JP2024008580W WO2024190569A1 WO 2024190569 A1 WO2024190569 A1 WO 2024190569A1 JP 2024008580 W JP2024008580 W JP 2024008580W WO 2024190569 A1 WO2024190569 A1 WO 2024190569A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual space
content
information processing
rendering
viewpoint
Prior art date
Application number
PCT/JP2024/008580
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 ソニーグループ株式会社
Publication of WO2024190569A1 publication Critical patent/WO2024190569A1/ja

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • 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/241Operating system [OS] processes, e.g. server setup

Definitions

  • This technology relates to an information processing device, an information processing method, a program, and a content distribution system.
  • rendering In order for players to participate in such content, a drawing process called rendering is required, and rendering requires as many GPUs (Graphics Processing Units) as there are players' viewpoints.
  • GPUs Graphics Processing Units
  • a high-performance GPU is needed to improve the video quality of the content, but this is very costly and therefore not realistic for content used by many players.
  • Patent Document 1 a technology has been proposed for the rendering system of a multi-online game in which multiple GPU servers use a repository of static objects (resources) to efficiently exchange data and reduce the load on data centers.
  • Patent Document 1 can perform rendering processing while reducing the load in certain online multiplayer games, even when rendering content that requires different GPU processing (light content or movie-quality content), the GPU server is provided uniformly, so it is not necessarily possible to provide high-quality content according to the needs of the content type, player requests, etc.
  • This technology has been developed in consideration of these problems, and aims to provide an information processing device, information processing method, program, and content distribution system that can generate high-quality content according to needs such as the type of content and requests from players.
  • the first technology is an information processing device that includes a monitoring unit that detects a predefined trigger based on a snapshot from a first virtual space, which is a dedicated server, and a launching unit that, when the monitoring unit detects the trigger, launches an instance that operates a second virtual space, which is a dedicated server different from the first virtual space and generates content by rendering it.
  • the second technology is an information processing method that detects a predefined trigger based on a snapshot from a first virtual space, which is a dedicated server, and when the trigger is detected, launches an instance that operates a second virtual space, which is a dedicated server different from the first virtual space and generates content by rendering it.
  • the third technology is a program that causes a computer to execute an information processing method that detects a predefined trigger based on a snapshot from a first virtual space, which is a dedicated server, and when the trigger is detected, launches an instance that operates a second virtual space, which is a dedicated server different from the first virtual space and generates content by rendering it.
  • the fourth technology is a content distribution system comprising an information processing device having a first virtual space which is a dedicated server, a second virtual space which is a dedicated server different from the first virtual space and which generates content by rendering it, a monitoring unit which detects a trigger based on a snapshot sent from the first virtual space, and a launching unit which launches an instance that operates the second virtual space when the monitoring unit detects a trigger.
  • FIG. 1 is a diagram showing a typical physical configuration of a multiplayer online game.
  • FIG. 1 is a block diagram showing a configuration of a content distribution system 10.
  • FIG. 3 is a block diagram showing a configuration of an information processing device 300.
  • FIG. 13 is a diagram showing a first virtual space table.
  • FIG. 13 is a diagram showing a content table.
  • FIG. 13 is a diagram showing a trigger table.
  • FIG. 13 is a diagram showing a second virtual space table.
  • FIG. 13 is a diagram showing a sensor table.
  • FIG. 13 is a diagram showing a distribution destination table.
  • FIG. 13 is a diagram showing a rendering table.
  • FIG. 13 is a diagram showing a viewpoint table.
  • FIG. 13 is a diagram showing a viewpoint selection parameter table.
  • FIG. 13 is a flowchart showing a process in the information processing device 300.
  • FIG. 11 is a sequence diagram of a process related to trigger detection.
  • FIG. 11 is a sequence diagram of a process related to scale-out.
  • 11 is a sequence diagram of a process for constructing a second virtual space 200.
  • FIG. 17A is a map of a game space constructed in first virtual space 100
  • FIG. 17B is a diagram showing a fixed viewpoint set on the map of the game space.
  • FIG. 18A is a first-person perspective game screen
  • FIG. 18B is a third-person perspective game screen rendered in second virtual space 200.
  • FIG. 11 is a sequence diagram of a process related to viewpoint switching.
  • FIG. 20A is a diagram showing a virtual live space in a modified example of the present technology
  • FIG. 20B is a diagram showing a fixed viewpoint set in the virtual live space.
  • a multi-online game (hereinafter sometimes simply referred to as a game) is an online game in which multiple players (several to several thousand players, etc.) can participate simultaneously via a network.
  • players can operate their own avatars to fight or compete with other players, and further players can cooperate or hinder each other and communicate with each other while playing.
  • An avatar is an image or 3D model that represents a character associated with a player of a multi-online game.
  • a client is an electronic device such as a game console, a portable game device, a personal computer, or a smartphone that is used by a player who plays a multi-online game.
  • Figure 1 shows the system configuration of a typical multi-online game in the cases of client-side rendering and server-side rendering.
  • the multi-online game system is composed of clients, a dedicated server, and a rendering/streaming server. As it is a multi-online game, each client shares the same game space.
  • a dedicated server is one of the operating modes of the client-server model in online games, etc., where there is a dedicated machine that acts only as a server, and all clients access it.
  • a rendering/streaming server is a server that renders the game screen of a multiplayer online game and streams that game screen.
  • rendering to generate a game screen including the game space and avatars is performed on the client side.
  • commands and settings (interactions) entered by the player on the client are sent to the Dedicated Server.
  • the Dedicated Server updates the game space based on input from the players on each client sharing the game space, and sends snapshots, spatial information, drawing commands, etc. to each client. Snapshots include information such as the coordinates and status of avatars and objects in the game space, and information entered by players via clients (instructions and information entered using a game console controller or smartphone).
  • Spatial information includes map data and terrain data for the game space.
  • rendering is performed based on the information received by the client to generate a game screen. This process is repeated in order until the game ends.
  • the client connects to the Dedicated Server via the rendering/streaming server.
  • commands and settings (interactions) entered by the player on the client are sent to the Dedicated Server via the rendering/streaming server.
  • the Dedicated Server updates the game space based on input from the players on each client sharing the game space, and sends a snapshot and spatial information to each rendering/streaming server.
  • the rendering/streaming server then renders the game space and the received avatar status to generate a game screen, and streams the game screen data to the client. This process is repeated in sequence until the game ends.
  • the content distribution system 10 is composed of a first virtual space 100, a second virtual space 200, an information processing device 300, a client 400, a viewer terminal 500, and a sensor 600.
  • the first virtual space 100 is a Dedicated Game Server in a multiplayer online game that involves interaction with multiple clients 400.
  • the first virtual space 100 communicates with the clients 400, which perform client-side rendering, and with the server, which performs server-side rendering, and exchanges snapshots, spatial information, commands, etc. on the Dedicated Game Server.
  • the first virtual space 100 has the function of a Dedicated Game Server that constructs a game space from avatar and object information and map data in the game, reflects the player's input via the client 400, and transmits the state of the game space, drawing commands, and the like to the client 400 used by the player.
  • the first virtual space 100 also transmits snapshots and spatial information to the second virtual space 200 in response to a request from the information processing device 300.
  • the first virtual space 100 is a Dedicated Server for a general multi-online game, and therefore has interactivity but no rendering function.
  • the present technology is not limited to this, and the first virtual space 100 may have a rendering function.
  • the first virtual space 100 has no limit on the number of viewpoints on the game screen.
  • the server that runs the Dedicated Game Server which is the first virtual space 100, may be an on-premise server or a server on a public cloud or the like.
  • the first virtual space 100 is connected to the second virtual space 200, the information processing device 300, and the client 400.
  • Connection methods that can be used include RPC (Remote Procedure Call) and gRPC (Google Remote Procedure Call) via HTTP (Hyper Text Transfer Protocol), HTTP2, HTTP3, etc.
  • the second virtual space 200 is a Dedicated Game Server that constructs a game space based on the snapshots and spatial information sent from the first virtual space 100. Furthermore, the second virtual space 200 has a function as a rendering server to render and generate a game screen, and a function as a streaming server to distribute the generated game screen.
  • the game screen is an example of video content rendered by the second virtual space 200.
  • the second virtual space 200 performs rendering from a predefined fixed viewpoint based on the snapshots and spatial information sent from the first virtual space 100, and distributes the game screen that is the rendering result to the client 400 of the player who was interacting in the first virtual space 100, the viewer terminal 500, etc.
  • the second virtual space 200 has a limited number of rendering viewpoints, which allows for higher spec GPU processing than the first virtual space 100. This allows more resources to be allocated to rendering the game screen, making it possible to generate and distribute higher quality video content (game screen) than that rendered by the client 400 in client-side rendering.
  • High quality video content may be high resolution video content, high frame rate video content, or both high resolution and high frame rate video content.
  • the video content generated by rendering the second virtual space 200 may be static content or dynamic content available to a specific player.
  • the second virtual space 200 When generating static content, the second virtual space 200 does not have interactivity because the content is distributed unilaterally to the player or viewers. On the other hand, when generating dynamic content, the player inputs information based on the distributed content, so the second virtual space 200 has interactivity.
  • the second virtual space 200 may be configured with an on-premise server, or may be configured with a server such as a public cloud.
  • the second virtual space 200 is configured as a virtual server that can dynamically secure computing resources.
  • the second virtual space 200 can render and generate a game screen as more advanced video content by integrating the sensing data acquired by sensing the real world with a pre-placed sensor 600 as necessary into the spatial information of the first virtual space 100.
  • Examples of integrating sensing data into spatial information include making it rain in the game space when sensing data indicates that it is raining in the real world, making the game space night when sensing data indicates that it is a dark night in the real world, displaying viewers' comments and chats in the game space, and reflecting them in the game.
  • the second virtual space 200 streams the game screen using a CDN (Contents Delivery Network) or similar, depending on the type of content (static content or dynamic content).
  • CDN Contents Delivery Network
  • a CDN is a system that uses distributed cache servers to distribute various content such as video content, games, live broadcasts, and websites.
  • clients 400 and viewer terminals 500 obtain content from cache servers provided by the CDN, which reduces the load on the second virtual space 200 that provides the content and on the network.
  • the information processing device 300 monitors the first virtual space 100, and when it detects a trigger defined in advance in a table, it launches an instance (virtual server) that operates the second virtual space 200.
  • the configuration of the information processing device 300 will be described later.
  • the client 400 is a terminal used by a player playing a multiplayer online game, and may be a game console, a portable game device, a personal computer, a smartphone, a tablet terminal, etc.
  • the viewer terminal 500 is a terminal used by a viewer who does not play the multiplayer online game but watches the broadcast of the game.
  • the viewer terminal 500 may be a game console, a portable game device, a personal computer, a smartphone, a tablet terminal, etc.
  • the information processing device 300 includes a monitoring unit 301, a start-up unit 302, a delivery destination setting unit 303, a viewpoint selection unit 304, and a table 305.
  • the monitoring unit 301 communicates with the Dedicated Game Server, which is the first virtual space 100, and monitors whether a predefined trigger is detected.
  • the monitoring unit 301 is assumed to use RPC, gRPC, etc. via HTTP, HTTP2, and HTTP3.
  • the launch unit 302 launches an instance (virtual server) that operates the second virtual space 200.
  • Program code (daemon, etc.) on the instance that operates the second virtual space 200 constructs a game space that is processed in the second virtual space 200.
  • construction means determining the state and placement of avatars and objects in the game based on snapshots and spatial information from the first virtual space 100, and rendering of the game screen as video content in the second virtual space 200 is performed based on this information.
  • the startup unit 302 also performs processing to scale out resources for constructing the second virtual space 200.
  • the delivery destination setting unit 303 sets the delivery destination of the content when the content generated by the second virtual space through rendering is static content.
  • the viewpoint selection unit 304 selects a particular viewpoint from among the multiple viewpoints as the new rendering viewpoint.
  • Table 305 is set in advance for the information processing device 300 to perform processing.
  • the tables include a first virtual space table, a content table, a trigger table, a second virtual space table, a sensor table, a distribution destination table, a rendering table, a viewpoint table, and a viewpoint selection parameter table.
  • the first virtual space table shown in FIG. 4 manages the address where the first virtual space 100 is constructed, the type of content, and the region in which the space is constructed, in association with each other.
  • the content may also include virtual live shows and metaverses.
  • the content table shown in FIG. 5 manages the first virtual space ID, second virtual space ID, sensor ID, and trigger ID in association with each other.
  • the trigger table shown in FIG. 6 manages multiple pre-set triggers that trigger the launch of an instance that operates the second virtual space 200.
  • the following triggers are pre-set: distribution request, distance between avatars, collision detection or object destruction, number of views, and number of viewers waiting for distribution.
  • a broadcast request is when a player requests a broadcast of video of the game they are playing.
  • broadcasting gameplay over the internet has become popular, and so there is a demand for broadcasting video of the games they themselves play.
  • the distance between avatars is the distance between the player's avatar and the avatar of another player in the game.
  • events such as battles occur, and there is a demand to start distributing game footage from the point in time when this state occurs. Therefore, by using the distance between avatars as a trigger, rendering of the game screen is automatically performed in the second virtual space 200 when the distance between the avatars becomes closer than a certain distance.
  • the distance between avatars it is possible to generate highlight footage of a car overtaking scene in a racing game, for example, in addition to battles.
  • the distance between avatars can be calculated based on the coordinates of the avatars included in the snapshot.
  • Collision detection refers to contact or attack between a player's avatar and another player's avatar in the game.
  • contact between avatars can cause events such as battles to occur, so there is a demand to start streaming game footage from the point in time when this state occurs. Therefore, by using collision detection as a trigger, the game screen is automatically rendered in the second virtual space 200 when avatars come into contact with each other.
  • Object destruction is the destruction of an object in the game by a player's avatar.
  • object destruction By using object destruction as a trigger, the game screen is automatically rendered in the second virtual space 200 when the player's avatar destroys an object and an event begins.
  • Collision detection can be detected based on the coordinates of the avatar contained in the snapshot, and object destruction can be detected based on information about the state of the object contained in the snapshot.
  • the number of viewing avatars is the number of avatars of other players who are watching the expressive activities of a player's avatar in a virtual live or metaverse.
  • expressive activities are taking place in a virtual live or metaverse and there are a certain number or more of viewing avatars (a large number of viewers)
  • the number of viewing avatars can be detected, for example, by counting the number of avatars gathered at a specific position in the first virtual space 100. Furthermore, when the number of viewing avatars is small, unnecessary consumption of resources can be prevented by not constructing the second virtual space 200.
  • the number of viewers waiting for distribution is the number of viewers waiting for the player's distribution.
  • the number of viewers waiting for distribution is the number of viewers waiting for the player's distribution.
  • there are a certain number or more viewers waiting for distribution there is a demand to distribute live footage or highlight footage. Therefore, by using the number of viewers waiting for distribution as a trigger, video content is rendered and distributed in the second virtual space 200 when the number of viewers waiting for distribution is large.
  • unnecessary consumption of resources can be prevented by not rendering the video content in the second virtual space 200.
  • the number of viewing avatars can be detected, for example, by counting the number of avatars when multiple avatars are gathered at a specific location in a virtual live show or metaverse.
  • the second virtual space table shown in FIG. 7 manages the addresses that construct the second virtual space 200, the types of content, the resources used when constructing the second virtual space 200, and the applications in association with each other.
  • the types of content are static content and dynamic content.
  • the sensor table shown in FIG. 8 manages the address of the database that aggregates the sensing data, the type of sensor 600, and the location where the sensing data is collected, in association with each other.
  • the delivery destination table shown in FIG. 9 manages the type of CDN used to deliver static content generated in the second virtual space 200, in association with the destination region and the first virtual space ID.
  • the rendering table shown in FIG. 10 is a table for linking viewpoints for rendering content in the second virtual space 200, and manages combinations of content IDs, viewpoint IDs for the second virtual space 200, and viewpoint selection parameter IDs.
  • the viewpoint table shown in FIG. 11 manages the viewpoints (first person viewpoint and third person viewpoint) when rendering the game screen in the second virtual space 200, in association with whether or not the viewpoint is switched during rendering. For example, in a game with content ID 3, the viewpoint position is third person, and it is set that viewpoint switching is performed.
  • the viewpoint selection parameter table shown in FIG. 12 manages parameters that are the criteria by which the viewpoint selection unit 304 selects a viewpoint in order to switch the rendering viewpoint when rendering a game screen in the second virtual space 200.
  • the information processing device 300 is configured as described above.
  • the information processing device 300 may be configured in an on-premise server, a public cloud server, or the like, or an electronic device such as a server or a personal computer may have the functions of the information processing device 300 in advance, and the information processing device 300 and the information processing method may be realized by the electronic device executing a program.
  • the program may be installed in the electronic device in advance, or may be distributed by download or a storage medium, etc., and installed by the operator of a multi-online game, etc.
  • the information processing device 300 may be configured as a stand-alone device.
  • the game that the player plays is "Game A” registered in first virtual space ID 1 in the first virtual space table shown in FIG. 4, and uses a Dedicated Server in the "Shinjuku-1" region.
  • the player also requests live streaming of the game screen generated by rendering in the second virtual space 200 while playing the game.
  • This live streaming request can be made, for example, by the player inputting information into a game console controller or smartphone serving as a client 400.
  • the input information for requesting the live streaming is included in the snapshot sent from the first virtual space 100 to the information processing device 300.
  • the monitoring unit 301 refers to the content table shown in FIG. 5.
  • the player is playing game A using a Dedicated Server in the "Shinjuku-1" region, which has first virtual space ID 1 in the first virtual space table, and therefore the corresponding content ID in the content table is content ID 1 or content ID 3.
  • the monitoring unit 301 refers to the trigger table shown in FIG. 6 and monitors the occurrence of a trigger in the first virtual space 100.
  • the information processing device 300 requests the first virtual space 100 to transmit a snapshot and spatial information for monitoring.
  • the first virtual space 100 sends a snapshot and spatial information to the information processing device 300, which then acquires them and detects the trigger contained in the snapshot or spatial information.
  • the player requests live streaming of the game screen generated in the second virtual space 200 while playing the game, so trigger ID1 in the trigger table is detected and processing proceeds from step S103 to step S104 (Yes in step S103).
  • second virtual space ID3 and sensor ID4 can be identified based on first virtual space ID1 and content ID3 corresponding to trigger ID1 in the content table.
  • the content table makes it possible to identify the second virtual space ID and sensor ID based on the first virtual space ID and trigger ID.
  • step S104 the information processing device 300 establishes communication with the server identified by second virtual space ID 3 in the second virtual space table shown in FIG. 7, and with the sensor 600 identified by sensor ID 4 in the sensor table shown in FIG. 8.
  • sensor 600 since sensor ID 4 is identified, sensor 600 becomes a sensor for acquiring data on comments in game A (such as text chat during the game and comments from viewers).
  • step S105 the launch unit 302 checks the number of sessions between the first virtual space 100 and the client 400. If the number of sessions in the first virtual space 100 is equal to or greater than a predetermined number, the launch unit 302 performs scaling, and since it is necessary to scale out the resources for constructing the second virtual space 200, the process proceeds from step S106 to step S107 (Yes in step S106). Then, in step S107, the new resources of the instance for constructing the second virtual space 200 are enabled.
  • a session is a series of communications from the client 400 from the start to the end of access to the first virtual space 100, and the number of sessions increases when there are many players playing a multiplayer online game.
  • the pre-set resources may not be sufficient to build the second virtual space 200. In such a case, resources are strengthened or different resources are used to enable resources for building the second virtual space 200.
  • the information processing device 300 transmits instructions and information for enabling resources and scaling out, as shown in FIG. 15.
  • the information processing device 300 transmits an instruction to enable the sensor 600 and perform sensing. Upon receiving the instruction, the sensor 600 performs sensing.
  • step S108 the information processing device 300 updates the resource column for the second virtual space ID 3 in the second virtual space table.
  • step S109 the launch unit 302 launches an instance that operates the second virtual space 200.
  • the program code on the instance that operates the second virtual space 200 constructs a game space to be processed in the second virtual space 200.
  • step S110 the information processing device 300 requests the first virtual space 100 and the sensor 600 to transmit data for constructing the second virtual space 200.
  • This data transmission request is shown in FIG. 16.
  • the second virtual space 200 is constructed by the instance that operates the second virtual space 200, using snapshots and spatial information transmitted from the first virtual space 100 and sensing data transmitted from the corresponding sensor 600. Therefore, as shown in FIG. 16, the information processing device 300 requests the first virtual space 100 specified by the content table shown in FIG. 5 to transmit snapshots and spatial information for constructing the second virtual space 200. In response to this request, the first virtual space 100 transmits the snapshots and spatial information to the instance that operates the second virtual space 200.
  • the information processing device 300 requests the sensor 600 identified by the content table shown in FIG. 5 to transmit sensing data for constructing the second virtual space 200. Then, upon receiving the request, the sensor 600 transmits the sensing data to the instance that operates the second virtual space 200.
  • the instance that operates the second virtual space 200 constructs the second virtual space 200 using the snapshot and spatial information of the first virtual space 100, and sensing data from the sensor 600.
  • a virtual server is constructed as the second virtual space 200 using a hypervisor that operates on a physical server.
  • step S111 the delivery destination setting unit 303 refers to the second virtual space table shown in FIG. 7 to check whether the game screen, which is the video content generated by rendering in the constructed second virtual space 200, is static content or dynamic content.
  • the game screen which is the video content generated by rendering in the constructed second virtual space 200
  • the second virtual space ID is 3 in the second virtual space table
  • the game screen which is the video content
  • the process proceeds to step S112 (Yes in step S111).
  • the delivery destination setting unit 303 refers to the delivery destination table shown in FIG. 9 and sets the region closest to the first virtual space 100 as the delivery destination for the static content generated in the second virtual space 200. Setting the region closest to the first virtual space 100 as the delivery destination is based on the expectation that the destination that both the player and the viewer of the content will access to view the content is the region closest to the first virtual space 100.
  • the content generated in the second virtual space 200 is dynamic content
  • the content is streamed from the second virtual space 200, which functions as a streaming server, to the client 400.
  • the content generated in the second virtual space 200 is static content, it is still dynamic content and the content is delivered.
  • delivery is performed using a CDN.
  • dynamic content it is delivered from the second virtual space 200 to the client 400 without using a CDN, so the information processing device 300 transmits to the second virtual space 200 region information of the delivery destination of the dynamic content.
  • the viewpoint selection unit 304 refers to the rendering table shown in FIG. 10 and identifies a viewpoint ID and viewpoint selection parameter ID for rendering in the second virtual space 200 in order to generate a game screen by rendering in the second virtual space 200.
  • viewpoint ID 4 and viewpoint selection parameter ID 5 are identified from the rendering table.
  • a player playing a first-person perspective multiplayer online game can usually only view the game screen from the perspective of his or her own avatar (first-person perspective). However, by generating the game screen through rendering in a third-person perspective in the second virtual space 200, players can view their own play objectively, including the appearance of their own avatar, and can also broadcast the game screen from the third-person perspective.
  • viewpoint ID 4 is a third-person viewpoint.
  • Fixed viewpoint coordinates are used as the coordinates of the rendering viewpoint in the second virtual space 200. Therefore, the rendering viewpoint is set as a fixed viewpoint of a third-person viewpoint.
  • the map of the game space constructed by the first virtual space 100 is as shown in FIG. 17A. Since the multiplayer online game being played by the player is a first-person viewpoint game, a first-person viewpoint game screen is displayed on the client 400 as shown in FIG. 18A. Since it is a first-person viewpoint, the player's avatar is not drawn, and instead, the avatar AVE of the other player facing the player's avatar is drawn.
  • multiple fixed viewpoints are set in advance on the game map in the second virtual space 200 based on the map data and topographical data included in the spatial information received from the first virtual space 100.
  • three fixed viewpoints are set: fixed viewpoint a, fixed viewpoint b, and fixed viewpoint c.
  • the number of three fixed viewpoints is merely an example, and the number of fixed viewpoints may be more than three or less than three.
  • the fixed viewpoint that serves as the rendering viewpoint is limited in advance, enabling higher spec GPU processing compared to the first virtual space 100. This allows more resources to be allocated to rendering the game screen, making it possible to generate and deliver a game screen of higher quality than that rendered by the client 400 in client-side rendering.
  • High quality may be high resolution, high frame rate, or both high resolution and high frame rate.
  • viewpoint selection parameter ID5 in the viewpoint selection parameter table shown in FIG. 12 is "distance between the avatar and the fixed viewpoint.” Therefore, the rendering viewpoint when rendering the game screen in the second virtual space 200 is selected from among multiple fixed viewpoints based on the distance between the avatar operated by the client 400 and each fixed viewpoint.
  • step S114 the viewpoint selection unit 304 monitors for synchronization between the first virtual space 100 and the second virtual space 200 and for dynamic switching of the rendering viewpoint.
  • the unit manages the periodic transmission of snapshots and spatial information including avatar coordinate data and status from the first virtual space 100 to the second virtual space 200. If switching of the rendering viewpoint is to be performed, the process proceeds from step S115 to step S116 (Yes in step S115).
  • Synchronization between the first virtual space 100 and the second virtual space 200 means repeating a request for snapshots and spatial information from the information processing device 300 to the first virtual space 100, and transmission of snapshots and spatial information from the first virtual space 100 to the second virtual space 200 until the end of the session in the first virtual space 100.
  • Monitoring of synchronization means monitoring the change in the value of the viewpoint selection parameter transmitted from the second virtual space 200 to the information processing device 300, that is, monitoring whether the second virtual space 200 is being updated in accordance with the change over time in the first virtual space 100.
  • step S115 will be No. Even if “Switching of rendering viewpoint” is "Yes” in the viewpoint table, for example, if the viewpoint selection parameter is "Distance between the avatar and the fixed viewpoint” and the avatar does not move at all, no switching of viewpoint will occur (no need to switch viewpoints) and step S115 will be No. On the other hand, if the viewpoint ID corresponding to the content ID in the rendering table has "Yes" for “Switching of rendering viewpoint” in the viewpoint table, step S115 will be Yes. In this embodiment, the viewpoint ID is 4 and therefore "Switching of rendering viewpoint” is "Yes".
  • step S116 the viewpoint selection unit 304 selects a viewpoint to be used as the rendering viewpoint from the viewpoints of the avatar, character, or object in the second virtual space 200 or from a number of fixed viewpoints that are set in advance in the game space, and updates the rendering viewpoint.
  • the updated rendering viewpoint becomes the rendering viewpoint after switching.
  • the information processing device 300 requests a viewpoint selection parameter from the second virtual space 200, as shown in FIG. 19.
  • the second virtual space 200 transmits the viewpoint selection parameter to the information processing device 300.
  • the viewpoint selection parameter is the "distance between the avatar and the fixed viewpoint," so the second virtual space 200 transmits distance information between the avatar and each fixed viewpoint to the information processing device 300 as a viewpoint selection parameter.
  • the viewpoint selection unit 304 selects the fixed viewpoint that is the shortest distance from the avatar from among multiple fixed viewpoints set on the map of the game space, and the information processing device 300 transmits the coordinates of the selected fixed viewpoint to the second virtual space 200.
  • the second virtual space 200 renders the selected fixed viewpoint as a rendering viewpoint to generate a game screen. This allows the viewpoint of the game screen to be switched, and a new game screen can be generated in which the player's avatar is always reflected, even if the avatar moves. In this way, the information processing device 300 switches the rendering viewpoint based on position information and event information as viewpoint selection parameters.
  • the game screen is rendered in the second virtual space 200 with the fixed viewpoint a as the rendering viewpoint.
  • the fixed viewpoint b is selected from the multiple fixed viewpoints by the processing of step S116 described above, and the rendering viewpoint is switched from the fixed viewpoint a to the fixed viewpoint b.
  • the second virtual space 200 generates a game screen by rendering the fixed viewpoint after the switching as the rendering viewpoint, so that it is possible to generate a third-person perspective game screen in which the player's avatar is always reflected even when the viewpoint is switched, as shown in FIG. 18B. Since the game screen in FIG. 18B is a third-person perspective, the player's avatar AVP and the avatar AVE of the other player facing it are drawn. In this way, the second virtual space 200 switches the rendering viewpoint to the fixed viewpoint selected by the information processing device 300 and renders the game screen.
  • step S117 the information processing device 300 checks whether the session in the first virtual space 100 is continuing. If the session in the first virtual space 100 is continuing, the process proceeds to step S114, and steps S114 to S117 are repeated as long as the session is continuing (Yes in step S117). On the other hand, if the session in the first virtual space 100 is not continuing, the update of the corresponding second virtual space 200 is terminated, the virtual space is closed, and the process ends (No in step S117).
  • the processing according to this embodiment is carried out as described above. According to this technology, when the information processing device 300 detects a trigger in the first virtual space 100 involving interactions with multiple players, it launches an instance that operates the second virtual space 200 capable of generating high-quality content.
  • a snapshot and spatial information in the first virtual space 100 are sent to the second virtual space 200, which performs rendering from a predefined viewpoint based on that information, and distributes the video content resulting from the rendering to the player who was interacting in the first virtual space 100, other players, viewers, etc.
  • the second virtual space 200 When a fixed viewpoint is used in rendering, the second virtual space 200 is scaled according to the number of sessions of the first virtual space 100, and the number of fixed viewpoints as rendering viewpoints is limited, allowing for higher spec GPU processing than the first virtual space 100.
  • the second virtual space 200 When a viewpoint of an avatar, character, or object is used in rendering, the second virtual space 200 is scaled according to the number of sessions of the first virtual space 100, allowing for higher spec GPU processing than the first virtual space 100.
  • This allows more resources to be allocated to rendering the game screen, and a higher quality game screen can be generated and delivered than one rendered by the client 400 in client-side rendering. This makes it possible to provide players and viewers with a new video experience with high quality video and video rendered from new viewpoints.
  • high-quality content also includes video content to which information acquired by the sensor 600 has been added.
  • the first virtual space 100 can be used for purposes such as games, virtual live shows, and metaverses that involve interaction between many players, while at the same time, high-quality content with a limited number of viewpoints can be generated and distributed in the second virtual space 200 based on information from the first virtual space 100, making it possible to provide the same type of content of different qualities for different purposes.
  • the information processing device 300 scales out resources for launching an instance that operates the second virtual space 200 according to the number of sessions in the first virtual space 100, so that appropriate resources can be allocated to launching an instance that operates the second virtual space 200.
  • a multi-online game has been used as an example, but this technology is not limited to multi-online games and can also be applied to content such as virtual live shows and metaverses.
  • the virtual live show space may be as shown in FIG. 20A, for example, and when rendering is performed from fixed viewpoints, the multiple fixed viewpoints that are set as rendering viewpoints may be as shown in FIG. 20B, for example.
  • the rendering viewpoint may be a first-person viewpoint such as that of an audience member.
  • This technology can also be used in various real-world situations, such as airplane flight simulations and automobile driving simulations.
  • high-quality video content for the simulation is generated by rendering in the second virtual space 200.
  • weather information acquired by the sensor 600 to the video content rendered in the second virtual space 200, it is possible to generate video content of even higher quality. For example, if it is raining in the real world, it can also be made to rain in the video content.
  • the game screen generated based on information from the first virtual space 100 has a first-person perspective
  • the game screen generated by the second virtual space 200 has a third-person perspective
  • the game screen generated based on information from the first virtual space 100 may have a third-person perspective
  • the game screen generated by the second virtual space 200 may have a first-person perspective
  • both the game screen generated based on information from the first virtual space 100 and the game screen generated by the second virtual space 200 may have a first-person perspective, or may have a third-person perspective.
  • a fixed viewpoint is set in advance in the second virtual space 200 and selected as the rendering viewpoint, but the viewpoint is not limited to a fixed viewpoint and may be a dynamically changing viewpoint.
  • the content to be refined is described as a game screen, which is video content, but this technology is not limited to video content and can also be applied to image content.
  • the present technology can also be configured as follows.
  • a monitoring unit that detects a predefined trigger based on a snapshot from a first virtual space that is a dedicated server; a launching unit that, when the monitoring unit detects the trigger, launches an instance that operates a second virtual space that is a dedicated server different from the first virtual space and that renders and generates content;
  • An information processing device comprising: (2) An information processing device according to (1), which selects one of a plurality of viewpoints preset in a space constructed by the second virtual space as a viewpoint for rendering in the second virtual space. (3) The information processing device according to (2), wherein one of the plurality of viewpoints is selected based on a viewpoint selection parameter transmitted from the second virtual space.
  • An information processing device described in any of (1) to (8) which scales out resources for constructing the second virtual space when the number of sessions between the first virtual space and a client to which the content is provided is greater than or equal to a predetermined number.
  • Detecting a predefined trigger based on a snapshot from a first virtual space which is a dedicated server When the trigger is detected, an instance is launched that operates a second virtual space that is a dedicated server different from the first virtual space and that renders and generates content.
  • Detecting a predefined trigger based on a snapshot from a first virtual space which is a dedicated server A program that causes a computer to execute an information processing method for launching an instance that operates a second virtual space that is a dedicated server different from the first virtual space and that generates content by rendering it when the trigger is detected.
  • a first virtual space which is a dedicated server
  • a second virtual space that is a dedicated server different from the first virtual space and that renders and generates content
  • an information processing device including: a monitoring unit that detects a trigger based on a snapshot transmitted from the first virtual space; and a launching unit that launches an instance that operates the second virtual space when the monitoring unit detects the trigger;
  • a content distribution system comprising:
  • Content distribution system 100 First virtual space 200.
  • Second virtual space 300 Information processing device 301.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

専用サーバである第1仮想空間からのスナップショットに基づいて、予め定義した所定のトリガーを検知する監視部と、監視部がトリガーを検知した場合、第1仮想空間とは異なる専用サーバであり、コンテンツをレンダリングして生成する第2仮想空間を動作させるインスタンスを立ち上げる立ち上げ部とを備える情報処理装置である。

Description

情報処理装置、情報処理方法、プログラムおよびコンテンツ配信システム
 本技術は、情報処理装置、情報処理方法、プログラムおよびコンテンツ配信システムに関する。
 近年、多数のプレイヤーが参加するオンライン上の様々なコンテンツが提供されている。そのようなコンテンツとしては、一つのゲームを同時にプレイするマルチオンラインゲーム(クラウドゲームと呼ばれる場合もある)、CG(Computer Graphics)などで描画された仮想の空間で開催されるバーチャルライブ、多数のプレイヤーがアバターとして仮想空間で様々な活動を行うメタバースなどがある。
 それらのコンテンツにプレイヤーが参加するためには、レンダリングという描画処理が必要であり、レンダリングを行うにはプレイヤーの視点数と同じだけのGPU(Graphics Processing Unit)が必要とある。コンテンツの映像品質を向上させるには高性能なGPUが必要とあるが、それには多くのコストがかかるため、多くのプレイヤーが利用するコンテンツでは現実的ではない。
 そこで、マルチオンラインゲームの描画システムにおいて、複数のGPUサーバが静的オブジェクト(リソース)のレポジトリを使うことで効率よくデータのやり取りを行い、データセンターの負荷を減らす技術が提案されている(特許文献1)。
特表2017-510862号公報
 しかし、特許文献1の技術では、特定のマルチオンラインゲームなどにおいては負荷を軽減しながら描画処理を実行できる一方で、異なるGPU処理を要求するコンテンツ(ライトなコンテンツや映画クオリティのコンテンツ)をレンダリングする場合でも、GPUサーバは一律に提供されるため、コンテンツの種類やプレイヤーからの要求などのニーズに応じて高品質なコンテンツを提供できるとは限らない。
 本技術はこのような問題点に鑑みなされたものであり、コンテンツの種類やプレイヤーからの要求などのニーズに応じて高品質なコンテンツを生成することができる情報処理装置、情報処理方法、プログラムおよびコンテンツ配信システムを提供することを目的とする。
 上述した課題を解決するために、第1の技術は、専用サーバである第1仮想空間からのスナップショットに基づいて、予め定義した所定のトリガーを検知する監視部と、監視部がトリガーを検知した場合、第1仮想空間とは異なる専用サーバであり、コンテンツをレンダリングして生成する第2仮想空間を動作させるインスタンスを立ち上げる立ち上げ部とを備える情報処理装置である。
 また、第2の技術は、専用サーバである第1仮想空間からのスナップショットに基づいて、予め定義した所定のトリガーを検知し、トリガーを検知した場合、第1仮想空間とは異なる専用サーバであり、コンテンツをレンダリングして生成する第2仮想空間を動作させるインスタンスを立ち上げる情報処理方法である。
 また、第3の技術は、専用サーバである第1仮想空間からのスナップショットに基づいて、予め定義した所定のトリガーを検知し、トリガーを検知した場合、第1仮想空間とは異なる専用サーバであり、コンテンツをレンダリングして生成する第2仮想空間を動作させるインスタンスを立ち上げる情報処理方法をコンピュータに実行させるプログラムである。
 さらに、第4の技術は、専用サーバである第1仮想空間と、第1仮想空間とは異なる専用サーバであり、コンテンツをレンダリングして生成する第2仮想空間と、第1仮想空間から送信されるスナップショットに基づいて、トリガーを検知する監視部と、監視部がトリガーを検知した場合、第2仮想空間を動作させるインスタンスを立ち上げる立ち上げ部とを備える情報処理装置とからなるコンテンツ配信システムである。
マルチオンラインゲームの一般的な物理構成を示す図である。 コンテンツ配信システム10の構成を示すブロック図である。 情報処理装置300の構成を示すブロック図である。 第1仮想空間テーブルを示す図である。 コンテンツテーブルを示す図である。 トリガーテーブルを示す図である。 第2仮想空間テーブルを示す図である。 センサテーブルを示す図である。 配信先テーブルを示す図である。 レンダリングテーブルを示す図である。 視点テーブルを示す図である。 視点選択パラメータテーブルを示す図である。 情報処理装置300における処理を示すフローチャートである。 トリガー検知に関する処理のシーケンス図である。 スケールアウトに関する処理のシーケンス図である。 第2仮想空間200の構築に関する処理のシーケンス図である。 図17Aは第1仮想空間100において構築されたゲーム空間のマップであり、図17Bはゲーム空間のマップに設定された固定視点を示す図である。 図18Aは、一人称視点のゲーム画面であり、図18Bは第2仮想空間200においてレンダリングされた三人称視点のゲーム画面である。 視点切り替えに関する処理のシーケンス図である。 図20Aは本技術の変形例におけるバーチャルライブの空間を示す図であり、図20Bはバーチャルライブ空間に設定された固定視点を示す図である。
 以下、本技術の実施の形態について図面を参照しながら説明する。なお、説明は以下の順序で行う。
<1.実施の形態>
[1-1.コンテンツ配信システム10の構成]
[1-2.情報処理装置300の構成]
[1-3.コンテンツ配信システム10および情報処理装置300における処理]
<2.変形例>
<1.実施の形態>
[1-1.コンテンツ配信システム10の構成]
 本実施の形態では、ゲームをプレイする者(以下プレイヤーと称する)がクライアントを用いてマルチオンラインゲームをプレイする場合を例にして説明を行う。まず、図1を参照してマルチオンラインゲームの一般的なシステム構成について説明する。マルチオンラインゲーム(以下、単にゲームと称する場合がある)とは、ネットワークを介して複数人(数人~数千人などの規模)のプレイヤーが同時に参加できるオンライン上におけるゲームである。マルチオンラインゲームでは、プレイヤーは自身のアバターを操作してプレイヤー同士で戦闘や競争をしたり、さらにプレイヤー同士で協力や妨害をし合い、コミュニケーションをとりながらプレイすることができる。アバターとは、マルチオンラインゲームのプレイヤーに紐付けられたキャラクターを表す画像や3Dモデルなどである。クライアントとは、マルチオンラインゲームをプレイするプレイヤーが使用するゲームコンソール、携帯ゲーム機、パーソナルコンピュータ、スマートフォンなどの電子機器である。
 図1は、一般的なマルチオンラインゲームのシステム構成をクライアントサイドレンダリングの場合と、サーバサイドレンダリングの場合について示している。マルチオンラインゲームシステムは、クライアント、Dedicated Server、レンダリング・ストリーミングサーバにより構成されている。マルチオンラインゲームであるため、各クライアントは同一のゲーム空間を共有している。
 Dedicated Server(専用サーバ)とはオンラインゲームなどにおけるクライアントサーバモデルの運用形態の1つであり、サーバのみの役割を果たす専用のマシンが存在し、そこに全てのクライアントがアクセスする。レンダリング・ストリーミングサーバはマルチオンラインゲームのゲーム画面のレンダリングとそのゲーム画面のストリーミングを行うサーバである。
 クライアントサイドレンダリングでは、ゲームの空間やアバターなどを含むゲーム画面を生成するためのレンダリングがクライアント側で行われる。まず、クライアントでプレイヤーにより入力されたコマンドや設定(インタラクション)が、Dedicated Serverへ送信される。次にDedicated Serverは、ゲーム空間を共有する各クライアントにおけるプレイヤーからの入力に基づいてゲーム空間を更新し、各クライアントに、スナップショット、空間情報、描画コマンドなどを送信する。スナップショットとは、ゲーム空間におけるアバターやオブジェクトの座標や状態などの情報、プレイヤーがクライアントを介して入力した情報(ゲームコンソールのコントローラーやスマートフォンで入力した指示や情報)などである。空間情報とは、ゲーム空間におけるマップデータや地形データなどである。そして、クライアントが受信した情報に基づいてレンダリングを実行してゲーム画面を生成する。ゲームが終了するまでこの処理が順番に繰り返される。
 一方、サーバサイドレンダリングでは、クライアントはレンダリング・ストリーミングサーバを介してDedicated Serverと接続する。まず、クライアントでプレイヤーにより入力されたコマンドや設定(インタラクション)がレンダリング・ストリーミングサーバを経由してDedicated Serverに送信される。次にDedicated Serverで、ゲーム空間を共有する各クライアントにおけるプレイヤーからの入力に基づいてゲーム空間を更新し、各レンダリング・ストリーミングサーバにスナップショットと空間情報を送信する。そしてレンダリング・ストリーミングサーバ上で、ゲーム空間や受信したアバターの状況をレンダリングしてゲーム画面を生成して、ゲーム画面データをクライアントにストリーミングする。ゲームが終了するまでこの処理が順番に繰り返される。
 次に図2を参照して、コンテンツ配信システム10の構成について説明する。コンテンツ配信システム10は、第1仮想空間100、第2仮想空間200、情報処理装置300、クライアント400、視聴者端末500、センサ600により構成されている。
 第1仮想空間100は、複数のクライアント400とインタラクションを伴う、マルチオンラインゲームにおけるDedicated Game Server(専用サーバ)である。第1仮想空間100はクライアントサイドレンダリングを行うクライアント400、サーバサイドレンダリングを行うサーバと通信を行い、Dedicated Game Server上のスナップショット、空間情報、コマンドなどのやり取りを行う。
 第1仮想空間100は、ゲームにおけるアバターやオブジェクトの情報やマップデータからゲーム空間を構築するDedicated Game Serverの機能を有し、クライアント400を介したプレイヤーの入力を反映し、プレイヤーが使用するクライアント400に向けてゲーム空間の状態や描画コマンドなどを送信する。また、第1仮想空間100は情報処理装置300からの要求に応じて第2仮想空間200へスナップショットと空間情報を送信する。本実施の形態では第1仮想空間100は一般的なマルチオンラインゲームのDedicated Serverであるため、インタラクティブ性を有し、レンダリング機能は有さない。ただし本技術はこれに限定されるものではなく、第1仮想空間100はレンダリング機能を有するものであってもよい。また、第1仮想空間100は第2仮想空間200とは異なり、ゲーム画面の視点数に限定がない。
 第1仮想空間100であるDedicated Game Serverを動作させるサーバはオンプレミスのサーバでもよいし、パブリッククラウド等のサーバでもよい。第1仮想空間100は、第2仮想空間200と情報処理装置300とクライアント400に接続されている。接続方法としては、HTTP(Hyper Text Transfer Protocol)、HTTP2、HTTP3などを経由してRPC(Remote Procedure Call)や、gRPC(Google Remote Procedure Call)などを利用することができる。
 第2仮想空間200は、第1仮想空間100から送信されるスナップショットと空間情報に基づいてゲーム空間を構築するDedicated Game Serverである。さらに第2仮想空間200は、レンダリングサーバとしてのゲーム画面をレンダリングして生成する機能と、ストリーミングサーバとしての生成したゲーム画面を配信する機能を有する。ゲーム画面は第2仮想空間200がレンダリングする映像コンテンツの一例である。
 第2仮想空間200は、第1仮想空間100から送信されるスナップショットや空間情報に基づいて、予め定義した固定視点においてレンダリングを行い、レンダリング結果であるゲーム画面を第1仮想空間100でインタラクションを行っていたプレイヤーのクライアント400や視聴者端末500などに配信する。
 第2仮想空間200は、レンダリング視点としての視点の数を限定しているため、第1仮想空間100に比べて高スペックなGPU処理が可能となっている。それにより、ゲーム画面のレンダリングに多くのリソースを割り当てることができ、クライアントサイドレンダリングでクライアント400がレンダリングするものよりも高品質な映像コンテンツ(ゲーム画面)を生成して配信することができる。高品質な映像コンテンツとは高解像度な映像コンテンツであってもよいし、高フレームレートな映像コンテンツであってもよいし、高解像度かつ高フレームレートな映像コンテンツでもよい。
 第2仮想空間200のレンダリングにより生成される映像コンテンツは、静的コンテンツでもよいし、特定のプレイヤーが利用できる動的コンテンツでもよい。
 第2仮想空間200は、静的コンテンツを生成する場合、プレイヤーや視聴者に向けて一方的にコンテンツを配信するのでインタラクティブ性を有さない。一方、動的コンテンツを生成する場合、配信したコンテンツを基にプレイヤーが入力を行うのでインタラクティブ性を有する。
 第2仮想空間200はオンプレミスのサーバで構成されてもよいし、パブリッククラウド等のサーバで構成されてもよい。本実施の形態では、第2仮想空間200は動的にコンピューティングリソースを確保可能な仮想サーバとして構成されているものとする。
 第2仮想空間200は、必要に応じて予め配置されたセンサ600で現実世界をセンシングして取得したセンシングデータを第1仮想空間100空間情報に統合することで、より高度な映像コンテンツとしてのゲーム画面をレンダリングして生成することができる。センシングデータの空間情報への統合としては、例えば、センシングデータとして現実世界で雨が降っていることをセンシングした場合にはゲーム空間に雨を降らせる、センシングデータとして現実世界は暗い夜であることをセンシングした場合にはゲーム空間を夜にする、視聴者のコメントやチャットなどをゲーム空間内に表示させたり、ゲームに反映させるなどである。
 第2仮想空間200はコンテンツ(静的コンテンツまたは動的コンテンツ)の種類によって、CDN(Contents Delivery Network)などを利用して、ゲーム画面をストリーミング配信する。
 CDNとは、分散配置されたキャッシュサーバを利用し、動画コンテンツ、ゲーム、ライブ配信、Webサイトなどの様々なコンテンツを配信する仕組みである。CDNではクライアント400や視聴者端末500はCDNで提供されるキャッシュサーバからコンテンツを取得するため、コンテンツを提供する第2仮想空間200やネットワークの負荷を軽減することができる。
 情報処理装置300は、第1仮想空間100を監視し、予めテーブルに定義されたトリガーを検知した場合、第2仮想空間200を動作させるインスタンス(仮想サーバ)を立ち上げる。情報処理装置300の構成は後述する。
 クライアント400は、マルチオンラインゲームをプレイするプレイヤーが使用する端末であり、ゲームコンソール、携帯ゲーム機、パーソナルコンピュータ、スマートフォン、タブレット端末などである。
 視聴者端末500は、マルチオンラインゲームをプレイしてはいないが、そのゲームの配信を見る視聴者が使用する端末である。視聴者端末500としてはゲームコンソール、携帯ゲーム機、パーソナルコンピュータ、スマートフォン、タブレット端末などである。
[1-2.情報処理装置300の構成]
 次に図3を参照して情報処理装置300の構成について説明する。情報処理装置300は、監視部301、立ち上げ部302、配信先設定部303、視点選択部304、テーブル305を備えて構成されている。
 監視部301は、第1仮想空間100であるDedicated Game Serverと通信し、予め定義したトリガーを検知するか否かを監視する。監視部301は、HTTP、HTTP2、HTTP3を経由してRPCやgRPCなどを利用することを想定している。
 立ち上げ部302は、監視部301がトリガーを検知した場合に、第2仮想空間200を動作させるインスタンス(仮想サーバ)の立ち上げを行う。第2仮想空間200を動作させるインスタンス上のプログラムコード(デーモン等)が第2仮想空間200で処理するゲーム空間の構築を行う。
 なお、構築とは第1仮想空間100からのスナップショットと空間情報に基づいてゲームにおけるアバターやオブジェクトの状態や配置を決定することなどを意味し、この情報に基づいて第2仮想空間200にて映像コンテンツとしてのゲーム画面のレンダリングが行われる。
 また、立ち上げ部302は、第2仮想空間200を構築するためのリソースをスケールアウトするための処理を行う。
 配信先設定部303は、第2仮想空間がレンダリングにより生成するコンテンツが静的コンテンツである場合にそのコンテンツの配信先を設定する。
 視点選択部304は、第2仮想空間200における映像コンテンツのレンダリングにおいて視点切り替えを行う場合、複数の視点の中のいずれか特定の視点を新たなレンダリング視点として選択する。
 テーブル305は情報処理装置300が処理を行うために予め設定しておくものである。テーブルとしては、図4乃至図12に示すように、第1仮想空間テーブル、コンテンツテーブル、トリガーテーブル、第2仮想空間テーブル、センサテーブル、配信先テーブル、レンダリングテーブル、視点テーブル、視点選択パラメータテーブルがある。
 図4に示す第1仮想空間テーブルは、第1仮想空間100が構築されているアドレス、コンテンツの種類、リージョンを対応付けて管理する。コンテンツとしては、マルチオンラインゲームの他にもバーチャルライブやメタバースなどがある。
 図5に示すコンテンツテーブルは、第1仮想空間ID、第2仮想空間ID、センサID、トリガーIDを対応付けて管理する。
 図6に示すトリガーテーブルは、第2仮想空間200を動作させるインスタンスを立ち上げるきっかけとなる、予め設定された複数のトリガーを管理する。本実施の形態では、配信リクエスト、アバター間の距離、当たり判定またはオブジェクト破壊、視聴数、配信待ち視聴者数というトリガーが予め設定されている。
 配信リクエストとは、プレイヤーがプレイしているゲームの映像の配信を要求することである。近年、ゲームプレイをインターネットを通じて配信することが盛んになっているため、自身がプレイするゲームの映像を配信したいという要望がある。
 アバター間の距離とは、ゲーム内におけるプレイヤーのアバターと他のプレイヤーのアバター間の距離である。マルチオンラインゲームにおいては、アバター同士が近づくと戦闘などのイベントが発生するため、その状態になった時点からゲーム映像の配信を開始したいという要望がある。そこで、アバター間の距離をトリガーにすることにより、アバター間の距離が一定の距離よりも近くなった場合に自動的に第2仮想空間200でゲーム画面のレンダリングを行う。アバター間の距離をトリガーにすることにより、例えば、戦闘以外でもレースゲームにおける自動車の追い抜きシーンのハイライト映像の生成なども行うことができる。アバター間の距離が遠い、すなわち、戦闘などのイベントが何も発生していない間は第2仮想空間200でゲーム画面のレンダリングは行われないので、不要なリソースの消費を防止することができる。アバター間の距離は、スナップショットに含まれるアバターの座標に基づいて算出することができる。
 当たり判定とは、ゲーム内におけるプレイヤーのアバターと他のプレイヤーのアバターの接触や攻撃の当たりである。マルチオンラインゲームにおいては、アバター同士の接触は戦闘などのイベントが発生するためその状態になった時点からゲーム映像の配信を開始したいという要望がある。そこで、当たり判定をトリガーにすることにより、アバター同士が接触すると自動的に第2仮想空間200をゲーム画面のレンダリングを行う。オブジェクト破壊とはプレイヤーのアバターによるゲーム内のオブジェクトの破壊である。オブジェクトの破壊をトリガーにすることにより、プレイヤーのアバターがオブジェクトを破壊してイベントが始まると自動的に第2仮想空間200でゲーム画面のレンダリングを行う。当たり判定は、スナップショットに含まれるアバターの座標に基づいて検出することができ、オブジェクト破壊はスナップショットに含まれるオブジェクトの状態に記載の関する情報に基づいて検出できるものとする。
 視聴アバター数とは、バーチャルライブやメタバースにおいてプレイヤーのアバターの表現活動などを視聴する他のプレイヤーのアバターの数である。バーチャルライブやメタバース内で表現活動をしていて、視聴アバターが所定数以上いる(視聴数が多い)場合、ライブ映像やハイライト映像の配信を行いたいという要求がある。そこで、視聴アバター数をトリガーとすることにより、視聴者が多い場合に第2仮想空間200で映像コンテンツをレンダリングして配信する。視聴アバター数は例えば第1仮想空間100内で複数のアバターが特定の位置に集まっている場合その数を数えることで検出することができる。また、視聴アバター数が少ない場合には第2仮想空間200を構築しないことによりリソースの不要な消費を防止することができる。
 配信待ち視聴者数とは、プレイヤーの配信を待っている視聴者の数である。配信を待っている視聴者が所定数以上いる場合にライブ映像やハイライト映像の配信を行いたいという要求がある。そこで、配信待ち視聴者数をトリガーとすることにより、配信待ち視聴者数が多い場合に第2仮想空間200で映像コンテンツをレンダリングして配信する。配信待ち視聴者数が少ない場合には第2仮想空間200で映像コンテンツをレンダリングしないことによりリソースの不要な消費を防止することができる。視聴アバター数は例えばバーチャルライブやメタバース内で複数のアバターが特定の位置に集まっている場合その数を数えることで検出することができる。
 図7に示す第2仮想空間テーブルは、第2仮想空間200を構築するアドレス、コンテンツの種類、第2仮想空間200を構築する際に利用するリソース、アプリケーションを対応付けて管理する。コンテンツの種類とは静的コンテンツと動的コンテンツである。
 図8に示すセンサテーブルは、センシングデータを集約するデータベースのアドレス、センサ600の種類、センシングデータの収集場所を対応付けて管理する。
 図9に示す配信先テーブルは、第2仮想空間200で生成された静的コンテンツの配信に利用するCDNの種類と、配信先のリージョン、第1仮想空間IDを対応付けて管理する。
 図10に示すレンダリングテーブルは、第2仮想空間200においてコンテンツをレンダリングための視点を紐づけるためのテーブルであり、コンテンツIDと、第2仮想空間200の視点IDと、視点選択パラメータIDの組み合わせを管理する。
 図11に示す視点テーブルは、第2仮想空間200においてゲーム画面をレンダリングする際の視点(一人称視点と三人称視点)と、レンダリングにおいて視点の切り替えを行うか否かを対応付けて管理する。例えば、コンテンツID3のゲームでは視点位置は3人称であり、視点の切り替えありと設定される。
 図12に示す視点選択パラメータテーブルは、第2仮想空間200においてゲーム画面をレンダリングする際のレンダリング視点の切り替えのために視点選択部304が視点を選択する基準となるパラメータを管理する。
 なお、図4乃至図12に示す各テーブルの内容はあくまで本実施の形態を説明するための一例であり、本技術はその内容に限定されるものではない。
 情報処理装置300は以上のようにして構成されている。本実施の形態では、情報処理装置300はオンプレミスのサーバやパブリッククラウド等のサーバにおいて構成されてもよいし、予めサーバやパーソナルコンピュータなどの電子機器が情報処理装置300としての機能を備えていてもよいし、それらの電子機器がプログラムを実行することにより情報処理装置300および情報処理方法が実現されてもよい。そのプログラムは予めそれらの電子機器にインストールされていてもよいし、ダウンロード、記憶媒体などで配布されて、マルチオンラインゲームの運営者などがインストールするようにしてもよい。また、情報処理装置300は単体の装置として構成されてもよい。
[1-2.コンテンツ配信システム10および情報処理装置300における処理]
 次に図13乃至図19を参照して、コンテンツ配信システム10と情報処理装置300における処理について説明する。本実施の形態ではプレイヤーがクライアント400を用いてクライアントサイドレンダリングで一人称視点のマルチオンラインゲームをプレイし、第2仮想空間200でレンダリングした映像コンテンツであるゲーム画面を視聴者に向けて配信する場合を例として説明を行う。
 図4乃至図12に示す各テーブルは、予め情報処理装置300において設定されているものとする。
 プレイヤーがプレイするゲームは、図4に示す第1仮想空間テーブルの第1仮想空間ID1に登録されている「ゲームA」であり、「Shinjuku-1」リージョンのDedicated Serverを利用するものとする。またプレイヤーは、ゲームプレイ中に第2仮想空間200のレンダリングにより生成されるゲーム画面のライブ配信をリクエストするものとする。このライブ配信のリクエストは例えばプレイヤーがクライアント400としてのゲームコンソールのコントローラーやスマートフォンに対する入力により行うことができる。そのライブ配信をリクエストする入力情報は第1仮想空間100から情報処理装置300に送信されるスナップショットに含まれるものである。
 まずステップS101で、監視部301は図5に示すコンテンツテーブルを参照する。上述したように、プレイヤーは「Shinjuku-1」リージョンのDedicated Serverを利用してゲームAをプレイしており、それは第1仮想空間テーブルにおいて第1仮想空間ID1であるため、コンテンツテーブルにおいて該当するのはコンテンツID1またはコンテンツID3である。
 次にステップS102で、監視部301は図6に示すトリガーテーブルを参照して、第1仮想空間100におけるトリガーの発生をモニタリングする。
 トリガーのモニタリングでは、図14に示すように情報処理装置300はモニタリングのために第1仮想空間100にスナップショットと空間情報の送信を要求する。
 その要求に対して、第1仮想空間100がスナップショットと空間情報を情報処理装置300に送信すると、情報処理装置300はそれらを取得し、スナップショットまたは空間情報に含まれるトリガーを検知する。
 本実施の形態では上述したように、プレイヤーはゲームプレイ時に第2仮想空間200において生成されるゲーム画面のライブ配信をリクエストしているため、トリガーテーブルのトリガーID1を検出し、処理はステップS103からステップS104に進む(ステップS103のYes)。
 また、モニタリングによりトリガーID1を検知したため、コンテンツテーブルにおいて第1仮想空間ID1およびトリガーID1に対応するコンテンツID3に基づいて、第2仮想空間ID3とセンサID4を特定することができる。このようにコンテンツテーブルにより、第1仮想空間IDとトリガーIDに基づいて第2仮想空間IDとセンサIDを特定することができる。
 次にステップS104で、情報処理装置300は図7に示す第2仮想空間テーブルにおける第2仮想空間ID3で特定されるサーバ、および、図8に示すセンサテーブルのセンサID4で特定されるセンサ600との通信を確立する。本実施の形態では特定されたのはセンサID4であるため、センサ600はゲームAにおけるコメント(ゲーム中のテキストチャットや視聴者のコメントなど)のデータを取得するためのセンサとなる。
 次にステップS105で、立ち上げ部302は第1仮想空間100とクライアント400間のセッション数を確認する。第1仮想空間100のセッション数が所定数以上である場合、立ち上げ部302はスケーリングを行い、第2仮想空間200を構築するためのリソースをスケールアウトする必要があるとして処理はステップS106からステップS107に進む(ステップS106のYes)。そしてステップS107で、第2仮想空間200を構築するためのインスタンスの新たなリソースを有効化する。
 セッションとはクライアント400から第1仮想空間100に対するアクセスの開始から終了まで一連の通信であり、マルチオンラインゲームをプレイするプレイヤーが多い場合にはセッション数も多くなる。セッション数が多い場合、予め設定しておいたリソースでは第2仮想空間200を構築には不足である可能性がある。そのような場合、リソース強化または違うリソースを用いて第2仮想空間200を構築するためのリソースを有効化する。
 スケールアウトする場合、図15に示すように情報処理装置300はリソースを有効化してスケールアウトするための指示や情報を送信する。
 また図15に示すように、情報処理装置300はセンサ600を有効化してセンシングを実行する指示を送信する。その指示を受けてセンサ600はセンシングを行う。
 第2仮想空間200を構築するためのリソースを有効化した後、ステップS108で、情報処理装置300は第2仮想空間テーブルにおける第2仮想空間ID3のリソース欄を更新する。
 次にステップS109で、立ち上げ部302は第2仮想空間200を動作させるインスタンスの立ち上げを行う。第2仮想空間200を動作させるインスタンス上のプログラムコードが第2仮想空間200で処理するゲーム空間の構築を行う。
 次にステップS110で、情報処理装置300は第1仮想空間100とセンサ600に対して第2仮想空間200の構築のためのデータの送信を要求する。このデータの送信要求について図16に示す。第2仮想空間200の構築は、第2仮想空間200を動作させるインスタンスが、第1仮想空間100から送信されるスナップショットと空間情報と、対応するセンサ600から送信されるセンシングデータを利用して行う。よって図16に示すように、情報処理装置300は図5に示すコンテンツテーブルにより特定された第1仮想空間100に第2仮想空間200を構築するためのスナップショットと空間情報の送信を要求する。その要求を受けて第1仮想空間100はスナップショットと空間情報を、第2仮想空間200を動作させるインスタンスに送信する。
 また、情報処理装置300は図5に示すコンテンツテーブルにより特定されたセンサ600に第2仮想空間200を構築するためのセンシングデータの送信を要求する。そして、センサ600がその要求を受けて、センシングデータを、第2仮想空間200を動作させるインスタンスに送信する。
 そして、第2仮想空間200を動作させるインスタンスが第1仮想空間100のスナップショットおよび空間情報と、センサ600からのセンシングデータを用いて第2仮想空間200を構築する。例えば、公知のサーバ技術を用いて、物理サーバにおいて動作するハイパーバイザーを利用して第2仮想空間200としての仮想サーバが構築される。
 次にステップS111で、配信先設定部303は、図7に示す第2仮想空間テーブルを参照して、構築された第2仮想空間200でレンダリングにより生成される映像コンテンツであるゲーム画面が静的コンテンツであるか動的コンテンツであるかを確認する。本実施の形態では、第2仮想空間テーブルにおいて第2仮想空間ID3であるため、映像コンテンツであるゲーム画面は静的コンテンツである。コンテンツが静的コンテンツである場合、処理はステップS112に進む(ステップS111のYes)。
 次にステップS112で、配信先設定部303は、図9に示す配信先テーブルを参照し、第2仮想空間200で生成する静的コンテンツの配信先として、第1仮想空間100に最も近いリージョンを設定する。第1仮想空間100に最も近いリージョンを配信先として設定するのは、プレイヤーもコンテンツの視聴者もコンテンツ視聴のためにアクセスする先は第1仮想空間100に最も近いリージョンであるという予想に基づくものである。
 一方、第2仮想空間200で生成されるコンテンツが動的コンテンツである場合、ストリーミングサーバとしての機能を有する第2仮想空間200からクライアント400に対してコンテンツがストリーミング配信される。
 第2仮想空間200で生成されるコンテンツが静的コンテンツであっても動的コンテンツであってコンテンツの配信は行われる。静的コンテンツの場合にはCDNを利用して配信を行う。一方、動的コンテンツの場合はCDNを利用せずに第2仮想空間200からクライアント400に配信されるので、情報処理装置300は動的コンテンツの配信先のリージョン情報を第2仮想空間200に送信する。
 次にステップS113で、視点選択部304は、第2仮想空間200におけるレンダリングでゲーム画面を生成するために、図10に示すレンダリングテーブルを参照し、第2仮想空間200におけるレンダリングのための視点IDと視点選択パラメータIDを特定する。本実施の形態では、コンテンツテーブルで特定されたのはコンテンツID3であるため、レンダリングテーブルから視点ID4および視点選択パラメータID5が特定される。
 一人称視点のマルチオンラインゲームをプレイしているプレイヤーは通常、自身のアバターの視点(一人称視点)でしかゲーム画面を見ることはできない。しかし、第2仮想空間200において三人称視点でレンダリングしてゲーム画面を生成することでプレイヤーは自身のアバターの姿も含めて客観的に自分のプレイを見ることができるし、その三人称視点のゲーム画面を配信することもできる。
 図11に示す視点テーブルにおいて視点ID4は三人称視点である。第2仮想空間200におけるレンダリング視点の座標は固定視点座標を用いるものとする。よってレンダリング視点は、三人称視点の固定視点として設定される。例えば、第1仮想空間100により構築されるゲーム空間のマップが図17Aに示すようなものであるとする。プレイヤーがプレイしているマルチオンラインゲームは一人称視点のゲームであるため、クライアント400においては図18Aに示すように一人称視点のゲーム画面が表示される。一人称視点であるため、プレイヤーのアバターは描画されておらず、プレイヤーのアバターの視点で対峙する他のプレイヤーのアバターAVEが描画されている。
 そして、図17Bに示すように、第1仮想空間100から受信した空間情報に含まれるマップデータや地形データに基づいて第2仮想空間200におけるゲームのマップにおいて複数の固定視点を予め設定する。図17Bでは固定視点a、固定視点b、固定視点cという3つの固定視点が設定されている。固定視点が3つであることはあくまで例示であり、固定視点の数は3つ以上でもよいし、3つ以下でもよい。
 第2仮想空間200ではレンダリングに固定視点を用いる場合、このようにレンダリング視点となる固定視点が予め限定されているため、第1仮想空間100に比べて高スペックなGPU処理が可能となっている。それにより、ゲーム画面のレンダリングに多くのリソースを割り当てることができ、クライアントサイドレンダリングでクライアント400がレンダリングするものよりも高品質なゲーム画面を生成して配信することができる。高品質とは高解像度であってもよいし、高フレームレートであってもよいし、高解像度かつ高フレームレートでもよい。
 また、図12に示す視点選択パラメータテーブルにおける視点選択パラメータID5は「アバターと固定視点間の距離」である。よって、第2仮想空間200でゲーム画面をレンダリングする際のレンダリング視点は、複数の固定視点の中からクライアント400が操作するアバターと各固定視点との距離を基準にして選択される。
 次にステップS114で、視点選択部304は、第1仮想空間100と第2仮想空間200との同期と、レンダリング視点の動的な切り替えのためにモニタリングを行う。第1仮想空間100と第2仮想空間200との同期については、第1仮想空間100から第2仮想空間200へのアバターの座標データや状態などを含む定期的なスナップショットと空間情報の送信を管理する。レンダリング視点の切り替えを行う場合、処理はステップS115からステップS116に進む(ステップS115のYes)。
 第1仮想空間100と第2仮想空間200との同期とは、情報処理装置300から第1仮想空間100へのスナップショットと空間情報の要求と、第1仮想空間100から第2仮想空間200へのスナップショットと空間情報の送信を第1仮想空間100でのセッション終了まで繰り返すことである。同期のモニタリングは、第2仮想空間200から情報処理装置300へ送信される視点選択パラメータの送信において、パラメータの値の変化、すなわち第1仮想空間100の時間的変化に伴って第2仮想空間200が更新されているのを監視することである。
 レンダリングテーブルにおいてコンテンツIDに対応する視点IDが視点テーブルにおいて「レンダリング視点の切り替え」が「なし」である場合、レンダリング視点の切り替えが起きないのでステップS115はNoとなる。また、視点テーブルにおいて「レンダリング視点の切り替え」が「あり」である場合であっても、例えば、視点選択パラメータが「アバターと固定視点間の距離」である場合でアバターが全く動かない場合、視点切り替えは発生しない(視点切り替え行う必要ない)のでステップS115はNoとなる。一方、レンダリングテーブルにおいてコンテンツIDに対応する視点IDが視点テーブルにおいて「レンダリング視点の切り替え」が「あり」である場合、ステップS115はYesとなる。本実施の形態では、視点IDは4であるため、「レンダリング視点の切り替え」は「あり」となる。
 レンダリング視点の切り替えを行う場合、ステップS116で視点選択部304は第2仮想空間200においてアバターやキャラクター、オブジェクトの有する視点もしくは予めゲーム空間に設定されている複数の固定視点からレンダリング視点とする視点を選択してレンダリング視点の更新を行う。更新されたレンダリング視点が切り替え後のレンダリング視点となる。
 図17Bに示すように、第2仮想空間200においてゲーム空間のマップに複数の三人称視点の固定視点の座標を設定した後、図19に示すように、情報処理装置300は第2仮想空間200に視点選択パラメータを要求する。その要求を受けて第2仮想空間200が視点選択パラメータを情報処理装置300に送信する。上述したように本実施の形態では視点選択パラメータは「アバターと固定視点間の距離」であるため、第2仮想空間200はアバターと各固定視点間の距離情報を視点選択パラメータとして情報処理装置300に送信する。
 そして視点選択部304は、ゲーム空間のマップに設定されている複数の固定視点のうち、アバターとの距離が最短である固定視点を選択して、情報処理装置300はその選択された固定視点の座標を第2仮想空間200に送信する。第2仮想空間200がその選択された固定視点をレンダリング視点としてレンダリングしてゲーム画面を生成する。これにより、ゲーム画面の視点が切り替えられ、プレイヤーのアバターが移動したとしてもそのアバターが常に映り込むゲーム画面を新たに生成することができる。このように情報処理装置300は、視点選択パラメータとしての位置情報やイベント情報に基づいてレンダリング視点を切り替える。
 例えば、図17Bに示すマップにおいてプレイヤーのアバターが左上の領域に存在しており、アバターと固定視点a間の距離が最短である場合、固定視点aをレンダリング視点として第2仮想空間200でゲーム画面がレンダリングされる。その後、アバターが右上の領域に移動してアバターと固定視点b間の距離が最短になったとする。その場合、上述のステップS116の処理により、複数の固定視点の中から固定視点bが選択され、レンダリング視点は固定視点aから固定視点bに切り替わる。第2仮想空間200はその切り替え後の固定視点をレンダリング視点としてレンダリングしてゲーム画面を生成することにより、図18Bに示すように、視点が切り替わってもプレイヤーのアバターが常に映り込む三人称視点のゲーム画面を生成することができる。図18Bのゲーム画面は三人称視点であるため、プレイヤーのアバターAVPとそれに対峙している他のプレイヤーのアバターAVEが描画されている。このように第2仮想空間200は、レンダリング視点を情報処理装置300が選択した固定視点に切り替えてゲーム画面のレンダリングを行う。
 視点切り替え後、ステップS117で情報処理装置300は第1仮想空間100におけるセッションが継続しているか否かを確認する。第1仮想空間100のセッションが継続している場合、処理はステップS114に進み、セッションが継続している限りステップS114乃至ステップS117を繰り返す(ステップS117のYes)。一方、第1仮想空間100のセッションが継続していない場合、対応する第2仮想空間200の更新を終了し、仮想空間を閉じて処理は終了となる(ステップS117のNo)。
 以上のようにして本実施の形態に係る処理が行われる。本技術によれば、情報処理装置300は、複数のプレイヤーとインタラクションを伴う第1仮想空間100におけるトリガーを検知すると、高品質なコンテンツを生成可能な第2仮想空間200を動作させるインスタンスを立ち上げる。
 さらに、第1仮想空間100におけるスナップショットと空間情報を第2仮想空間200に送信し、その情報をもとに予め定義した視点において第2仮想空間200がレンダリングし、レンダリング結果のである映像コンテンツを第1仮想空間100でインタラクションを行っていたプレイヤー、その他のプレイヤー、視聴者などに配信する。
 第2仮想空間200は、レンダリングで固定視点を用いる場合、第1仮想空間100のセッション数に応じてスケーリングされ、レンダリング視点としての固定視点の数を限定しているため、第1仮想空間100に比べて高スペックなGPU処理が可能となっている。レンダリングでアバターやキャラクター、オブジェクトの有する視点を用いる場合、第1仮想空間100のセッション数に応じてスケーリングされているため、第1仮想空間100に比べて高スペックなGPU処理が可能となっている。それにより、ゲーム画面のレンダリングに多くのリソースを割り当てることができ、クライアントサイドレンダリングでクライアント400がレンダリングするものよりも高品質なゲーム画面を生成して配信することができる。よって、高品質な映像や新たな視点でレンダリングされた映像などで新たな映像体験をプレイヤーや視聴者に提供することができる。
 第2仮想空間200を動作させるインスタンスの立ち上げ時に、センサ600を用いて実空間から取得した情報を第1仮想空間100のオブジェクト情報と組み合わせることで、第2仮想空間200で生成されるコンテンツをより高品質なものにすることができ、さらに、コンテンツの臨場感やリアルさも向上させることができる。よって高品質なコンテンツには、センサ600により取得された情報が付加された映像コンテンツも含まれる。
 第1仮想空間100は多くのプレイヤーがインタラクションを行うようなゲーム、バーチャルライブ、メタバースなどの用途として使うと同時に、第1仮想空間100の情報を基に、視点数を限定した高品質なコンテンツを第2仮想空間200で生成して配信することで、同種の異なる品質のコンテンツを目的別に提供することが可能となる。
 また、情報処理装置300は第1仮想空間100のセッション数に応じて第2仮想空間200を動作させるインスタンスを立ち上げるためのリソースをスケールアウトするので、第2仮想空間200を動作させるインスタンスの立ち上げに適切なリソースを割り当てることができる。
 また、静的コンテンツの配信にCDNを利用して静的コンテンツをキャッシュすることで第2仮想空間200のコンテンツ配信における処理の負荷の低減、クライアント400や視聴者端末500におけるレンダリング数の低減などを図ることができる。
<2.変形例>
 以上、本技術の実施の形態について具体的に説明したが、本技術は上述の実施の形態に限定されるものではなく、本技術の技術的思想に基づく各種の変形が可能である。
 実施の形態ではマルチオンラインゲームを例として説明を行ったが、本技術はマルチオンラインゲームに限らず、バーチャルライブ、メタバースなどのコンテンツにも応用可能である。バーチャルライブに本技術を応用する場合、バーチャルライブの空間が例えば図20Aに示すようなものであり、固定視点でレンダリングをする場合、設定されるレンダリング視点となる複数の固定視点は例えば図20Bのようになる。レンダリング視点は観客などの一人称視点でもよい。
 また、本技術は現実世界の様々な状況、例えば飛行機の飛行シミュレーションや自動車のドライブシミュレーションなどにも用いることができる。その場合、第2仮想空間200におけるレンダリングでシミュレーション用の高品質な映像コンテンツを生成する。その際、センサ600で取得した気象情報などを第2仮想空間200でレンダリングする映像コンテンツに付加させることにより、より高品質な映像コンテンツを生成することができる。例えば、現実世界で雨が降っている場合に映像コンテンツ内でも雨を降らせるなどである。
 実施の形態では、第1仮想空間100からの情報に基づいて生成されるゲーム画面が一人称視点であり、第2仮想空間200により生成されるゲーム画面が三人称視点である例で説明を行った。しかし、第1仮想空間100からの情報に基づいて生成されるゲーム画面が三人称視点であり、第2仮想空間200により生成されるゲーム画面が一人称視点であってもよい。さらに、第1仮想空間100からの情報に基づいて生成されるゲーム画面と第2仮想空間200により生成されるゲーム画面の両方が一人称視点であってもよいし、三人称視点でもよい。
 実施の形態では、第2仮想空間200において予め設定され、レンダリング視点として選択されるものを固定視点として説明したが、固定視点に限らず、動的に変化する視点であってもよい。
 実施の形態では精製するコンテンツを映像コンテンツであるゲーム画面として説明したが、映像コンテンツだけに限られず、本技術は画像コンテンツにも応用可能である。
 本技術は以下のような構成も取ることができる。
(1)
 専用サーバである第1仮想空間からのスナップショットに基づいて、予め定義した所定のトリガーを検知する監視部と、
 前記監視部が前記トリガーを検知した場合、前記第1仮想空間とは異なる専用サーバであり、コンテンツをレンダリングして生成する第2仮想空間を動作させるインスタンスを立ち上げる立ち上げ部と、
を備える
情報処理装置。
(2)
 前記第2仮想空間により構築された空間に予め設定された複数の視点のいずれかを前記第2仮想空間におけるレンダリングの視点として選択する(1)に記載の情報処理装置。
(3)
 前記第2仮想空間から送信された視点選択パラメータに基づいて前記複数の視点のいずれかを選択する(2)に記載の情報処理装置。
(4)
 前記第2仮想空間は、前記複数の視点から選択された視点をレンダリング視点として映像コンテンツをレンダリングして生成する(2)に記載の情報処理装置。
(5)
 前記第2仮想空間は、前記第1仮想空間からの情報に基づいて生成されるコンテンツよりも高品質なコンテンツを生成する(1)から(4)のいずれかに記載の情報処理装置。
(6)
 前記高品質なコンテンツとは、高解像度な映像コンテンツである(5)に記載の情報処理装置。
(7)
 前記高品質なコンテンツとは、高フレームレートな映像コンテンツである(5)または(6)に記載の情報処理装置。
(8)
 前記高品質なコンテンツとは、センサにより取得された情報が付加されたコンテンツである(5)から(7)のいずれかに記載の情報処理装置。
(9)
 前記第1仮想空間と前記コンテンツの提供先であるクライアントとのセッション数が所定数以上である場合、前記第2仮想空間を構築するためのリソースをスケールアウトする(1)から(8)のいずれかに記載の情報処理装置。
(10)
 前記第2仮想空間により生成される前記コンテンツは、前記第1仮想空間からの情報に基づいて生成されるコンテンツとは異なる人称視点でレンダリングされた映像コンテンツである(1)から(9)のいずれかに記載の情報処理装置。
(11)
 前記第1仮想空間らの情報に基づいて生成されるコンテンツが一人称視点のコンテンツである場合、前記第2仮想空間により生成される前記コンテンツは三人称視点の映像コンテンツである(10)に記載の情報処理装置。
(12)
 前記第2仮想空間により生成されたコンテンツはCDN(Content Delivery Network)により配信される(1)から(11)のいずれかに記載の情報処理装置。
(13)
 前記第2仮想空間により生成されたコンテンツが静的コンテンツである場合、前記コンテンツの配信先として前記第1仮想空間に最も近いリージョンを設定する(1)から(12)のいずれかに記載の情報処理装置。
(14)
 前記第1仮想空間は、Dedicated Game Serverである(1)から(13)のいずれかに記載の情報処理装置。
(15)
 前記第2仮想空間は、Dedicated Game Serverであり、さらにレンダリングおよびストリーミング機能を有するサーバである(1)から(14)のいずれかに記載の情報処理装置。
(16)
 専用サーバである第1仮想空間からのスナップショットに基づいて、予め定義した所定のトリガーを検知し、
 前記トリガーを検知した場合、前記第1仮想空間とは異なる専用サーバであり、コンテンツをレンダリングして生成する第2仮想空間を動作させるインスタンスを立ち上げる
情報処理方法。
(17)
 専用サーバである第1仮想空間からのスナップショットに基づいて、予め定義した所定のトリガーを検知し、
 前記トリガーを検知した場合、前記第1仮想空間とは異なる専用サーバであり、コンテンツをレンダリングして生成する第2仮想空間を動作させるインスタンスを立ち上げる
情報処理方法をコンピュータに実行させるプログラム。
(18)
 専用サーバである第1仮想空間と、
 前記第1仮想空間とは異なる専用サーバであり、コンテンツをレンダリングして生成する第2仮想空間と、
 前記第1仮想空間から送信されるスナップショットに基づいて、トリガーを検知する監視部と、前記監視部が前記トリガーを検知した場合、前記第2仮想空間を動作させるインスタンスを立ち上げる立ち上げ部と
を備える情報処理装置と、
からなるコンテンツ配信システム。
10・・・・コンテンツ配信システム
100・・・第1仮想空間
200・・・第2仮想空間
300・・・情報処理装置
301・・・監視部
302・・・立ち上げ部
304・・・視点選択部
400・・・クライアント

Claims (18)

  1.  専用サーバである第1仮想空間からのスナップショットに基づいて、予め定義した所定のトリガーを検知する監視部と、
     前記監視部が前記トリガーを検知した場合、前記第1仮想空間とは異なる専用サーバであり、コンテンツをレンダリングして生成する第2仮想空間を動作させるインスタンスを立ち上げる立ち上げ部と、
    を備える
    情報処理装置。
  2.  前記第2仮想空間により構築された空間に予め設定された複数の視点のいずれかを前記第2仮想空間におけるレンダリングの視点として選択する
    請求項1に記載の情報処理装置。
  3.  前記第2仮想空間から送信された視点選択パラメータに基づいて前記複数の視点のいずれかを選択する
    請求項2に記載の情報処理装置。
  4.  前記第2仮想空間は、前記複数の視点から選択された視点をレンダリング視点として映像コンテンツをレンダリングして生成する
    請求項2に記載の情報処理装置。
  5.  前記第2仮想空間は、前記第1仮想空間からの情報に基づいて生成されるコンテンツよりも高品質なコンテンツを生成する
    請求項1に記載の情報処理装置。
  6.  前記高品質なコンテンツとは、高解像度な映像コンテンツである
    請求項5に記載の情報処理装置。
  7.  前記高品質なコンテンツとは、高フレームレートな映像コンテンツである
    請求項5に記載の情報処理装置。
  8.  前記高品質なコンテンツとは、センサにより取得された情報が付加されたコンテンツである
    請求項5に記載の情報処理装置。
  9.  前記第1仮想空間と前記コンテンツの提供先であるクライアントとのセッション数が所定数以上である場合、前記第2仮想空間を構築するためのリソースをスケールアウトする
    請求項1に記載の情報処理装置。
  10.  前記第2仮想空間により生成される前記コンテンツは、前記第1仮想空間からの情報に基づいて生成されるコンテンツとは異なる人称視点でレンダリングされた映像コンテンツである
    請求項1に記載の情報処理装置。
  11.  前記第1仮想空間らの情報に基づいて生成されるコンテンツが一人称視点のコンテンツである場合、前記第2仮想空間により生成される前記コンテンツは三人称視点の映像コンテンツである
    請求項10に記載の情報処理装置。
  12.  前記第2仮想空間により生成されたコンテンツはCDN(Content Delivery Network)により配信される
    請求項1に記載の情報処理装置。
  13.  前記第2仮想空間により生成されたコンテンツが静的コンテンツである場合、前記コンテンツの配信先として前記第1仮想空間に最も近いリージョンを設定する
    請求項1に記載の情報処理装置。
  14.  前記第1仮想空間は、Dedicated Game Serverである
    請求項1に記載の情報処理装置。
  15.  前記第2仮想空間は、Dedicated Game Serverであり、さらにレンダリングおよびストリーミング機能を有するサーバである
    請求項1に記載の情報処理装置。
  16.  専用サーバである第1仮想空間からのスナップショットに基づいて、予め定義した所定のトリガーを検知し、
     前記トリガーを検知した場合、前記第1仮想空間とは異なる専用サーバであり、コンテンツをレンダリングして生成する第2仮想空間を動作させるインスタンスを立ち上げる
    情報処理方法。
  17.  専用サーバである第1仮想空間からのスナップショットに基づいて、予め定義した所定のトリガーを検知し、
     前記トリガーを検知した場合、前記第1仮想空間とは異なる専用サーバであり、コンテンツをレンダリングして生成する第2仮想空間を動作させるインスタンスを立ち上げる
    情報処理方法をコンピュータに実行させるプログラム。
  18.  専用サーバである第1仮想空間と、
     前記第1仮想空間とは異なる専用サーバであり、コンテンツをレンダリングして生成する第2仮想空間と、
     前記第1仮想空間から送信されるスナップショットに基づいて、トリガーを検知する監視部と、前記監視部が前記トリガーを検知した場合、前記第2仮想空間を動作させるインスタンスを立ち上げる立ち上げ部と
    を備える情報処理装置と、
    からなるコンテンツ配信システム。
PCT/JP2024/008580 2023-03-13 2024-03-06 情報処理装置、情報処理方法、プログラムおよびコンテンツ配信システム WO2024190569A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2023038308 2023-03-13
JP2023-038308 2023-03-13

Publications (1)

Publication Number Publication Date
WO2024190569A1 true WO2024190569A1 (ja) 2024-09-19

Family

ID=92755589

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2024/008580 WO2024190569A1 (ja) 2023-03-13 2024-03-06 情報処理装置、情報処理方法、プログラムおよびコンテンツ配信システム

Country Status (1)

Country Link
WO (1) WO2024190569A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070050482A1 (en) * 2005-08-23 2007-03-01 Microsoft Corporation System and method for executing web pages using a multi-tiered distributed framework
JP2014121610A (ja) * 2012-12-21 2014-07-03 Sony Computer Entertainment America Llc 記録されたゲームプレーに基づくクラウドゲーミングのための、提案されたミニゲームの自動作成
JP2017182269A (ja) * 2016-03-29 2017-10-05 株式会社日立ソリューションズ東日本 データ処理システムおよびデータ処理サーバ

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070050482A1 (en) * 2005-08-23 2007-03-01 Microsoft Corporation System and method for executing web pages using a multi-tiered distributed framework
JP2014121610A (ja) * 2012-12-21 2014-07-03 Sony Computer Entertainment America Llc 記録されたゲームプレーに基づくクラウドゲーミングのための、提案されたミニゲームの自動作成
JP2017182269A (ja) * 2016-03-29 2017-10-05 株式会社日立ソリューションズ東日本 データ処理システムおよびデータ処理サーバ

Similar Documents

Publication Publication Date Title
US11794102B2 (en) Cloud-based game streaming
US20210362050A1 (en) Video Game Overlay
JP6310073B2 (ja) 描画システム、制御方法、及び記憶媒体
US9656160B2 (en) Massive multi-player online (MMO) games server and methods for executing the same
CN107427721B (zh) 使用连接质量历史来优化用户体验
JP6727669B2 (ja) 情報インタラクション方法、デバイス、およびシステム
JP5987060B2 (ja) ゲームシステム、ゲーム装置、制御方法、プログラム及び記録媒体
US11786821B2 (en) Instant streaming of a mobile user interface to a device of a secondary user without application install
JP5952406B2 (ja) 遠隔描画能力を有するビデオゲーム装置
US8435121B1 (en) Providing remote access to games designed for a single-machine experience
US11130055B2 (en) System and method for granting remote access to a video game executed on a video game console or network client
US20110055320A1 (en) Apparatus and method of data transfer
US20220347565A1 (en) Massive Multi-Player Online (MMO) Games Server and Methods for Executing the Same
CN114257830B (zh) 直播游戏互动方法、系统、装置及计算机设备
CN111672132B (zh) 游戏的控制方法、控制装置、服务器和存储介质
CN114100145A (zh) 云游戏互动方法、装置、设备及介质
WO2024190569A1 (ja) 情報処理装置、情報処理方法、プログラムおよびコンテンツ配信システム
US10307680B1 (en) On-demand rich media content distribution responsive to on-line gamer position and status
EP4282500A1 (en) Multiplayer video game systems and methods
US20230293988A1 (en) Software application streaming system
US20240316453A1 (en) Information processing method and apparatus, storage medium, and electronic device
CN115120964A (zh) 一种单机云游戏玩家交互方法、系统及电子设备
CN117762539A (zh) 一种应用体验方法及相关装置
CN116248739A (zh) 实时通讯中的交互方法和装置、存储介质及电子设备

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

Country of ref document: EP

Kind code of ref document: A1