WO2011071615A1 - Rendu côté serveur - Google Patents
Rendu côté serveur Download PDFInfo
- Publication number
- WO2011071615A1 WO2011071615A1 PCT/US2010/055185 US2010055185W WO2011071615A1 WO 2011071615 A1 WO2011071615 A1 WO 2011071615A1 US 2010055185 W US2010055185 W US 2010055185W WO 2011071615 A1 WO2011071615 A1 WO 2011071615A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- user
- video images
- future
- computer
- state
- Prior art date
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 23
- 230000009471 action Effects 0.000 claims abstract description 117
- 238000004883 computer application Methods 0.000 claims abstract description 35
- 238000000034 method Methods 0.000 claims description 39
- 230000015654 memory Effects 0.000 claims description 30
- 230000006835 compression Effects 0.000 claims description 10
- 238000007906 compression Methods 0.000 claims description 10
- 244000182067 Fraxinus ornus Species 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013474 audit trail Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/355—Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/53—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
- A63F2300/538—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for performing operations on behalf of the game client, e.g. rendering
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/55—Details of game data or player data management
- A63F2300/5526—Game data structure
- A63F2300/5533—Game data structure using program state or machine event data, e.g. server keeps track of the state of multiple players on in a multiple player game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/63—Methods for processing data by generating or executing the game program for controlling the execution of the game in time
- A63F2300/632—Methods for processing data by generating or executing the game program for controlling the execution of the game in time by branching, e.g. choosing one of several possible story developments at a given point in time
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/251—Learning process for intelligent management, e.g. learning user preferences for recommending movies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4781—Games
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6587—Control parameters, e.g. trick play commands, viewpoint selection
Definitions
- the present disclosure relates to server side rendering.
- Online applications such as online gaming systems typically include a user device which communicates with a server computer over a network.
- a user provides input regarding a user action via a user input device such as a joystick.
- the input is communicated to the server, and the user input may determine in part the content of the video images subsequently displayed on a user display.
- the user input may determine in part the content of the video images subsequently displayed on a user display.
- This delay may be caused for example by network conditions or the complexity of the rendition process.
- Video images for online applications may also be rendered on a user device, but such solutions require that the user device have a relatively high performance graphics system, which adds to the cost of the user device. Accordingly, an improved solution for rendering video images to be displayed on user devices used in online applications would be desireable.
- a solution for server-side rendering includes, at a server configured to store a video images representing states of users in a computer application, identifying future user actions based at least in part on a state of a user in the computer application.
- the solution also includes, responsive to the identifying, rendering video images for sending to a user device associated with the user.
- a state of the user in a computer application is sent to the server.
- video images are stored, each of the video images representing a future state of the user after the user performs a future action.
- one of the video images is selected for display on a user display of the user device.
- the future user actions identified by the server are limited to less than a possible number of user actions for users having the state.
- FIG. 1 is a block diagram that illustrates a system for server side rendering in accordance with one embodiment.
- FIG. 2 is a block diagram that illustrates a system for server side rendering using images from a computer game manipulating a computer-generated character in accordance with one embodiment.
- FIG. 3 is a diagram that illustrates limiting future moves to most likely future moves in accordance with one embodiment.
- FIG. 4A is a tree diagram that illustrates video images representing a user state following one future user action in accordance with one embodiment.
- FIG. 4B is a tree diagram that illustrates video images representing a user state following two future user actions in accordance with one embodiment.
- FIG. 5 is a flow diagram that illustrates a method for server side rendering from the perspective of a server in accordance with one embodiment.
- FIG. 6 is a flow diagram that illustrates a method for server side rendering from the perspective of a user device in accordance with one embodiment.
- FIG. 7 is a block diagram of a computer system suitable for implementing aspects of the present disclosure.
- the components, process steps, and/or data structures may be implemented using various types of operating systems (OS), computing platforms, firmware, computer programs, computer languages, and/or general-purpose machines.
- the method can be run as a programmed process running on processing circuitry.
- the processing circuitry can take the form of numerous combinations of processors and operating systems, connections and networks, data stores, or a stand-alone device.
- the process can be implemented as instructions executed by such hardware, hardware alone, or any combination thereof.
- the software may be stored on a program storage device readable by a machine.
- the components, processes and/or data structures may be implemented using machine language, assembler, C or C++, Java and/or other high level language programs running on a data processing computer such as a personal computer, workstation computer, mainframe computer, or high performance server running an OS such as Solaris® available from Sun Microsystems, Inc. of Santa Clara, California, Windows VistaTM, Windows NT®, Windows XP, Windows XP PRO, and Windows® 2000, available from Sun Microsystems, Inc. of Santa Clara, California, Windows VistaTM, Windows NT®, Windows XP, Windows XP PRO, and Windows® 2000, available from Sun Microsystems, Inc. of Santa Clara, California, Windows VistaTM, Windows NT®, Windows XP, Windows XP PRO, and Windows® 2000, available from Sun Microsystems, Inc. of Santa Clara, California, Windows VistaTM, Windows NT®, Windows XP, Windows XP PRO, and Windows® 2000, available from Sun Microsystems, Inc. of Santa Clara, California, Windows VistaTM, Windows
- the method may also be implemented on a multiple- processor system, or in a computing environment including various peripherals such as input devices, output devices, displays, pointing devices, memories, storage devices, media interfaces for transferring data to and from the processors), and the like.
- a computer system or computing environment may be networked locally, or over the Internet or other networks.
- Different implementations may be used and may include other types of operating systems, computing platforms, computer programs, firmware, computer languages and/or general-purpose machines; and.
- network includes local area networks (LANs), wide area networks (WANs), metro area networks, residential networks, corporate networks, inter-networks, the Internet, the World Wide Web, cable television systems, telephone systems, wireless telecommunications systems, fiber optic networks, token ring networks, Ethernet networks, ATM networks, frame relay networks, satellite communications systems, and the like.
- LANs local area networks
- WANs wide area networks
- metro area networks residential networks
- corporate networks corporate networks
- inter-networks the Internet
- the World Wide Web cable television systems
- telephone systems wireless telecommunications systems
- fiber optic networks token ring networks
- Ethernet networks ATM networks
- frame relay networks frame relay networks
- satellite communications systems and the like.
- identifier describes an ordered series of one or more numbers, characters, symbols, or the like. More generally, an “identifier” describes any entity that can be represented by one or more bits.
- the term "distributed” describes a digital information system dispersed over multiple computers and not centralized at a single location.
- processor describes a physical computer (either stand-alone or distributed) or a virtual machine (either stand-alone or distributed) that processes or transforms data.
- the processor may be implemented in hardware, software, firmware, or a combination thereof.
- data store describes a hardware and/or software means or apparatus, either local or distributed, for storing digital or analog information or data.
- the term “Data store” describes, by way of example, any such devices as random access memory (RAM), read-only memory (ROM), dynamic random access memory (DRAM), static dynamic random access memory (SDRAM), Flash memory, hard drives, disk drives, floppy drives, tape drives, CD drives, DVD drives, magnetic tape devices (audio, visual, analog, digital, or a combination thereof), optical storage devices, electrically erasable programmable read-only memory (EEPROM), solid state memory devices and Universal Serial Bus (USB) storage devices, and the like.
- RAM random access memory
- ROM read-only memory
- DRAM dynamic random access memory
- SDRAM static dynamic random access memory
- Flash memory hard drives, disk drives, floppy drives, tape drives, CD drives, DVD drives, magnetic tape devices (audio, visual, analog, digital, or a combination thereof), optical storage devices, electrically erasable programmable read-only memory (EEPROM), solid
- network interface describes the means by which users access a network for the purposes of communicating across it or retrieving information from it.
- system describes any computer information and or control device, devices or network of devices, of hardware and/or software, comprising processor means, data storage means, program means, and/or user interface means, which is adapted to communicate with the embodiments of the present invention, via one or more data networks or connections, and is adapted for use in conjunction with the embodiments of the present invention.
- server side rendering system is illustrated and discussed herein as having various modules which perform particular functions and interact with one another. It should be understood that these modules are merely segregated based on their function for the sake of description and represent computer hardware and/or executable software code which is stored on a computer-readable medium for execution by appropriate computing hardware. The various functions of the different modules and units can be combined or segregated as hardware and/or software stored on a computer-readable medium as above as modules in any manner, and can be used separately or in combination.
- a server computer renders the video images that result from user actions in an online computer application such as an online computer game.
- the video images are transmitted to a user device.
- the user device accepts input from a user, selects the appropriate video image, and displays that image.
- the user device also sends the computer application user action to the server.
- the image transmission method can be optimized for the network conditions by variable video compression.
- the tightness of the feedback from user device to server can be reduced by creating on the server a tree of possible future computer game-player actions and rendering video images several iterations into the future.
- the number of user actions in the online computer application may be limited to less than the number of possible user actions.
- FIG. 1 is a block diagram that illustrates a system for server side rendering in accordance with one embodiment.
- a system for server side rendering includes a user device 110 communicably coupled to server 140 via network 115.
- Server 140 is communicably coupled to data store 120, which is configured to store video images representing states of users in a computer application.
- One or more of the video images stored in data store 120 may be dynamically generated based at least in part on possible user states.
- User device 110 is configured to receive input from user 125 via user input device 105.
- User device 110 is configured to store a state of a user 125 in a computer application for sending (130) to server computer 140.
- User device 110 is further configured to receive and store in a memory one or more video images 135 that represent a future state of the user 125 after the user 125 performs a future action. User device 110 is further configured to, responsive to a user action, select one of the one or more video images for display on user display device 110. According to one embodiment, the number of future actions is limited to less than a possible number of future actions.
- server 140 is configured to receive a current user state 130 indicating the state of user 125 in a computer application, and identify one or more future user actions based on the current user state 130.
- Server 140 is further configured to, based on the identification, render one or more video images and send the one or more video images to user device 110 via network 115.
- the one or more future user actions are limited to less than a possible number of user actions for users having the state.
- the computer application comprises a computer game.
- the computer game comprises an online computer game.
- server 140 is further configured to compress the video images 135 before sending them to user device 110, and user device 110 is further configured to decompress the video images 135 prior to displaying one of the video images on user display device 100.
- the compressing comprises selecting an amount of compression based at least in part on a degree of network congestion between the server computer 1 0 and the user device 110.
- the selection of a particular compression method may take into account the amount of time required to perform the compression, and the expected amount of compression. For example, a relatively high level of compression may be selected during times of relatively high network congestion. Additionally, a relatively low level of compression may be selected during times of relatively low network congestion.
- FIG. 2 is a block diagram that illustrates a system for server side rendering using images from a computer game manipulating a computer-generated character in accordance with one embodiment.
- Figure 2 provides more detail for communications 130 and 135 in FIG. 1.
- An image representing a current state of a user is shown at reference numeral 275, indicating a right- facing character.
- an indication of the current user state indicated by reference numeral 275 is sent to server 240.
- Server 240 receives the indication of the current user state and renders video images for a next user state.
- the rendered video images 235 are extracted from data store 220.
- the next user state could be represented by a video image of a downward-facing character 250, a left-facing character 255, an upwards-facing character 260, a right-facing character 265, or a right-facing character 270 ingesting a circular object.
- the user action subsequent to the sending of the current state 230 determines which of video images 250, 255, 260, 265, and 270 is actually selected by user device 210 and displayed on user device 200 to represent the new state resulting from the subsequent user action.
- video image 265 is displayed.
- the user action indicates an upward direction
- video image 260 is displayed.
- video image 270 is displayed.
- the number of future user actions is limited based at least in part on a probability of the future user actions. This is explained in more detail below with reference to FIG. 3.
- Figure 3 is a diagram that illustrates limiting future moves to most likely future moves in accordance with one embodiment.
- some user applications have relatively few future states (305), thus relatively few video images are required to represent the states.
- An example of such a user application is the video computer game illustrated in FIG. 2.
- Other user applications, such as airplane flight simulation user applications have a relatively large number of future states (310). According to one embodiment, the number of next states is limited to the most likely future states (300).
- the determination of most likely future states may take into account previous actions of the user when in a particular state. For example, if a user in a state with possible user actions A, B, C, and D has never chosen action C in the past while in the same state, images resulting from user action C are not generated in the set of images sent from the server to the user device. In the event the user does in fact choose action C, the associated image may be generated by the user device in real-time, or requested from the server.
- the determination of most likely future states may also take into account the previous actions of other users when in the particular state. For example, if more than a predetermined percentage of users in a state with possible user actions A, B, C, and D has never chosen action C in the past if a particular user is in the same state, images resulting from user action C are not generated in the set of images sent from the server to the user device. In the event the user does in fact choose action C, the associated image may be generated by the user device in real-time, or requested from the server.
- FIG. 4A is a tree diagram that illustrates video images representing a user state following one future user action in accordance with one embodiment. Starting with current user state 400, the identification of a particular user action will determine a future user state (405, 410, 415, 420). Only four future user states are shown. Other numbers of future states are possible.
- FIG.4B is a tree diagram that illustrates video images representing a user state following two future user actions in accordance with one embodiment.
- the identification of a first user action will determine a first future user state (425, 430, 435, 440). If the first future user state is user state 425, the identification of a second user action will determine a second future state (445, 450). If the first future user state is user state 430, the identification of a second user action will determine a second future state (455, 460, 465). If the first future user state is user state 435, the identification of a second user action will determine a second future state (470, 475).
- FIGS. 4A and 4B show video images representing a user state following one and two future user actions, respectively. Video images representing a user state following more than two future user actions are possible as well.
- the predetermined number of successive future user actions is based at least in part on a data store constraint of the server computer. For example, a relatively high number successive future user actions may be represented in a memory of the server computer if the amount of available memory is relatively high. And a relatively low number successive future user actions may be represented in a memory of the server computer if the amount of available memory is relatively low.
- the predetermined number of successive future user actions is based at least in part on a data store constraint of the user device. For example, a relatively high number successive future user actions may be represented in a memory of the client device if the amount of available memory is relatively high. And a relatively low number successive future user actions may be represented in a memory of the client device if the amount of available memory is relatively low.
- the predetermined number of successive future user actions is based at least in part on a network bandwidth constraint. For example, a relatively high number successive future user actions may be represented in a memory if the amount of available bandwidth is relatively high. And a relatively low number successive future user actions may be represented in a memory if the amount of available bandwidth is relatively low.
- the predetermined number of successive future user actions is based at least in part on an amount of time required for the server computer to compress the video images. For example, a relatively high number successive future user actions may be represented in a memory if the time required for the server computer to compress the video images is relatively low. And a relatively low number successive future user actions may be represented in a memory if the time required for the server computer to compress the video images is relatively high.
- the predetermined number of successive future user actions is based at least in part on an amount of time required for the user device to decompress the video images. For example, a relatively high number successive future user actions may be represented in a memory if the time required for the client device to decompress the video images is relatively low. A relatively low number successive future user actions may be represented in a memory if the time required for the client device to decompress the video images is relatively high.
- the predetermined number of successive future user actions is based at least in part on an amount of time required for the server computer to dynamically render the video images. For example, a relatively high number successive future user actions may be represented in a memory if the time required for the server computer to dynamically render the video images is relatively low. A relatively low number successive future user actions may be represented in a memory if the time required for the server computer to dynamically render the video images is relatively high.
- FIG. 5 is a flow diagram that illustrates a method for server side rendering from the perspective of a server in accordance with one embodiment.
- the processes illustrated in FIG. 5 may be implemented in hardware, software, firmware, or a combination thereof.
- one or more future user actions are identified based at least in part on a state of a user in a computer application.
- SOS based on the identification at 500, one or more video images are rendered for sending to a user device associated with the user.
- the one or more future user actions are limited to less than a possible number of user actions for users having the state.
- FIG. 6 is a flow diagram that illustrates a method for server side rendering from the perspective of a user device in accordance with one embodiment.
- the processes illustrated in FIG. 6 may be implemented in hardware, software, firmware, or a combination thereof.
- a state of a user in a computer application is stored for sending to a server computer storing a plurality of images representing states of users in the computer application.
- one or more video images that represent a future state of the user after the user performs a future action are stored. According to one embodiment, the number of future actions is limited to less than a possible number of future actions.
- one of the one or more video images is selected for display on a user display of a user device associated with the user.
- FIG. 7 depicts a block diagram of a computer system 700 suitable for implementing aspects of the present invention.
- system 700 includes a bus 702 which interconnects major subsystems such as a processor 704, an internal memory 706 (such as a RAM), an input/output (I/O) controller 708, a removable memory (such as a memory card) 722, an external device such as a display screen 710 via display adapter 712, a roller-type input device 714, a joystick 716, a numeric keyboard 718, an alphanumeric keyboard 718, directional navigation pad 726, smart card acceptance device 730, and a wireless interface 720.
- Many other devices can be connected.
- Wireless network interface 720, wired network interface 728, or both, may be used to interface to a local or wide area network (such as the Internet) using any network interface system known to those skilled in the art.
- Code to implement the present invention may be operably disposed in internal memory 706 or stored on storage media such as removable memory 722, a floppy disk, a thumb drive, a CompactFlash® storage device, a DVD-R ("Digital Versatile Disc” or “Digital Video Disc” recordable), a DVD-ROM ("Digital Versatile Disc” or “Digital Video Disc” read-only memory), a CD-R (Compact Disc-Recordable), or a CD-ROM (Compact Disc read-only memory).
- storage media such as removable memory 722, a floppy disk, a thumb drive, a CompactFlash® storage device, a DVD-R ("Digital Versatile Disc” or “Digital Video Disc” recordable), a DVD-ROM ("Digital Versatile Disc” or “Digital Video Disc” read-only memory), a CD-R (Compact Disc-Recordable), or a CD-ROM (Compact Disc read-only memory).
- embodiments of the present invention have been illustrated using examples from the illustrated character game, embodiments of the present invention apply to any online user application where states of a user are represented by video images.
- Such online user applications include online games.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
- Information Transfer Between Computers (AREA)
Abstract
L'invention porte sur une solution de rendu côté serveur qui consiste, au niveau d'un serveur configuré pour stocker des images vidéo représentant des états d'utilisateurs dans une application informatique, à identifier de futures actions d'utilisateur sur la base au moins en partie d'un état d'un utilisateur dans l'application informatique. La solution consiste également, en réponse à l'identification, à rendre des images vidéo en vue d'un envoi à un dispositif utilisateur associé à l'utilisateur. Au niveau du dispositif utilisateur, un état de l'utilisateur dans une application informatique est envoyé au serveur. En réponse à l'envoi, des images vidéo sont stockées, chacune des images vidéo représentant un état futur de l'utilisateur après que l'utilisateur aura effectué une action future. En réponse à une action de l'utilisateur, l'une des images vidéo est sélectionnée pour être affichée sur un dispositif d'affichage de l'utilisateur du dispositif utilisateur. Selon un aspect, les futures actions d'utilisateur identifiées par le serveur sont limitées à moins d'un nombre possible d'actions d'utilisateur pour des utilisateurs ayant l'état.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201080063433.1A CN102754093B (zh) | 2009-12-09 | 2010-11-02 | 服务器方渲染 |
EP10836380.5A EP2510457A4 (fr) | 2009-12-09 | 2010-11-02 | Rendu côté serveur |
JP2012543108A JP5668078B2 (ja) | 2009-12-09 | 2010-11-02 | サーバサイドレンダリング |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/634,570 US8429269B2 (en) | 2009-12-09 | 2009-12-09 | Server-side rendering |
US12/634,570 | 2009-12-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011071615A1 true WO2011071615A1 (fr) | 2011-06-16 |
Family
ID=44083117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2010/055185 WO2011071615A1 (fr) | 2009-12-09 | 2010-11-02 | Rendu côté serveur |
Country Status (5)
Country | Link |
---|---|
US (1) | US8429269B2 (fr) |
EP (1) | EP2510457A4 (fr) |
JP (1) | JP5668078B2 (fr) |
CN (1) | CN102754093B (fr) |
WO (1) | WO2011071615A1 (fr) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014064291A (ja) * | 2012-04-12 | 2014-04-10 | Square Enix Holdings Co Ltd | 動画配信サーバ、制御方法、プログラム、記録媒体、及び動画配信システム |
US9491433B2 (en) | 2012-02-23 | 2016-11-08 | Square Enix Holdings Co., Ltd. | Moving image distribution server, moving image playback apparatus, control method, and recording medium |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10349069B2 (en) * | 2012-12-11 | 2019-07-09 | Sony Interactive Entertainment Inc. | Software hardware hybrid video encoder |
US20160293134A1 (en) * | 2013-12-26 | 2016-10-06 | Square Enix Holdings Co., Ltd. | Rendering system, control method and storage medium |
US20150338648A1 (en) * | 2014-01-09 | 2015-11-26 | Square Enix Holdings Co., Ltd., | Methods and systems for efficient rendering of game screens for multi-player video game |
WO2015181851A1 (fr) * | 2014-05-28 | 2015-12-03 | 株式会社スクウェア・エニックス・ホールディングス | Dispositif, procédé et programme de prévision d'extension, et support d'enregistrement |
US9798567B2 (en) | 2014-11-25 | 2017-10-24 | The Research Foundation For The State University Of New York | Multi-hypervisor virtual machines |
CN105677282B (zh) * | 2016-01-29 | 2019-04-26 | 腾讯科技(深圳)有限公司 | 一种图像绘制的方法、用户设备、服务器及系统 |
WO2017194439A1 (fr) * | 2016-05-09 | 2017-11-16 | Lego A/S | Système et procédé de reconnaissance de jouet |
CN107370714A (zh) * | 2016-05-13 | 2017-11-21 | 吉林纪元时空动漫游戏科技集团股份有限公司 | 面向云渲染的高效通讯方法 |
US11016798B2 (en) | 2018-06-01 | 2021-05-25 | The Research Foundation for the State University | Multi-hypervisor virtual machines that run on multiple co-located hypervisors |
CN114708377B (zh) * | 2022-06-02 | 2022-09-30 | 杭州华鲤智能科技有限公司 | 一种虚拟空间中的3d图像渲染方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006081634A2 (fr) | 2005-02-04 | 2006-08-10 | Barco N.V. | Methode et dispositif pour une transmission d'image et de video sur des canaux de transmission a faible bande passante et a haute latence |
US20080183801A1 (en) | 2007-01-29 | 2008-07-31 | Nokia Corporation | System, Methods, Apparatuses and Computer Program Products for Providing Step-Ahead Computing |
US20090165043A1 (en) | 2007-12-19 | 2009-06-25 | At&T Knowledge Ventures, Lp | System and Method of Delivering Video Content |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10171722A (ja) * | 1996-12-11 | 1998-06-26 | Casio Comput Co Ltd | 情報通信システム及び情報通信方法 |
JP2003024636A (ja) * | 2001-07-13 | 2003-01-28 | Square Co Ltd | ビデオゲームのプログラムを記録したコンピュータ読み取り可能な記録媒体及びビデオゲームのプログラム及びビデオゲーム処理方法及びビデオゲーム処理装置 |
US7627139B2 (en) * | 2002-07-27 | 2009-12-01 | Sony Computer Entertainment Inc. | Computer image and audio processing of intensity and input devices for interfacing with a computer program |
US9077991B2 (en) * | 2002-12-10 | 2015-07-07 | Sony Computer Entertainment America Llc | System and method for utilizing forward error correction with video compression |
US7675519B2 (en) * | 2004-08-05 | 2010-03-09 | Elite Avatars, Inc. | Persistent, immersible and extractable avatars |
US7680038B1 (en) * | 2005-04-25 | 2010-03-16 | Electronic Arts, Inc. | Dynamic bandwidth detection and response for online games |
US8118676B2 (en) * | 2005-07-08 | 2012-02-21 | Activevideo Networks, Inc. | Video game system using pre-encoded macro-blocks |
CN100394448C (zh) * | 2006-05-17 | 2008-06-11 | 浙江大学 | 基于图像传输的三维远程渲染系统及其方法 |
CN100544439C (zh) * | 2006-11-21 | 2009-09-23 | 华为技术有限公司 | 一种支持多种编码格式的媒体数据的方法及系统 |
US9522332B2 (en) * | 2006-12-13 | 2016-12-20 | Voodoo Gaming Llc | Video games including real-life attributes and/or fantasy team settings |
US20090017910A1 (en) * | 2007-06-22 | 2009-01-15 | Broadcom Corporation | Position and motion tracking of an object |
JP5264335B2 (ja) * | 2008-07-10 | 2013-08-14 | 株式会社コナミデジタルエンタテインメント | ゲームシステム、ゲーム装置の制御方法、及びプログラム |
JP5161182B2 (ja) * | 2009-09-28 | 2013-03-13 | 任天堂株式会社 | 情報処理プログラム及び情報処理装置 |
US9101831B2 (en) * | 2009-11-24 | 2015-08-11 | Activision Publishing, Inc. | Video game and peripheral for same |
-
2009
- 2009-12-09 US US12/634,570 patent/US8429269B2/en active Active
-
2010
- 2010-11-02 EP EP10836380.5A patent/EP2510457A4/fr not_active Ceased
- 2010-11-02 WO PCT/US2010/055185 patent/WO2011071615A1/fr active Application Filing
- 2010-11-02 CN CN201080063433.1A patent/CN102754093B/zh active Active
- 2010-11-02 JP JP2012543108A patent/JP5668078B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006081634A2 (fr) | 2005-02-04 | 2006-08-10 | Barco N.V. | Methode et dispositif pour une transmission d'image et de video sur des canaux de transmission a faible bande passante et a haute latence |
US20070183493A1 (en) * | 2005-02-04 | 2007-08-09 | Tom Kimpe | Method and device for image and video transmission over low-bandwidth and high-latency transmission channels |
US20080183801A1 (en) | 2007-01-29 | 2008-07-31 | Nokia Corporation | System, Methods, Apparatuses and Computer Program Products for Providing Step-Ahead Computing |
US20090165043A1 (en) | 2007-12-19 | 2009-06-25 | At&T Knowledge Ventures, Lp | System and Method of Delivering Video Content |
Non-Patent Citations (1)
Title |
---|
See also references of EP2510457A4 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9491433B2 (en) | 2012-02-23 | 2016-11-08 | Square Enix Holdings Co., Ltd. | Moving image distribution server, moving image playback apparatus, control method, and recording medium |
JP2014064291A (ja) * | 2012-04-12 | 2014-04-10 | Square Enix Holdings Co Ltd | 動画配信サーバ、制御方法、プログラム、記録媒体、及び動画配信システム |
US9868060B2 (en) | 2012-04-12 | 2018-01-16 | Square Enix Holdings Co., Ltd. | Moving image distribution server, moving image reproduction apparatus, control method, and recording medium |
US10004983B2 (en) | 2012-04-12 | 2018-06-26 | Square Enix Holdings Co., Ltd. | Moving image distribution server, moving image reproduction apparatus, control method, and recording medium |
Also Published As
Publication number | Publication date |
---|---|
CN102754093A (zh) | 2012-10-24 |
JP2013513858A (ja) | 2013-04-22 |
EP2510457A4 (fr) | 2014-07-09 |
EP2510457A1 (fr) | 2012-10-17 |
CN102754093B (zh) | 2016-03-09 |
US20110138072A1 (en) | 2011-06-09 |
JP5668078B2 (ja) | 2015-02-12 |
US8429269B2 (en) | 2013-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8429269B2 (en) | Server-side rendering | |
US7921078B2 (en) | System for negotiated differential compression | |
JP6189738B2 (ja) | クラウドベースのゲームスライス生成および即時再生との無摩擦ソーシャルシェアリング | |
US8150914B1 (en) | Simultaneous download of application file portions | |
US20150186376A1 (en) | Tile Cache | |
US20090062007A1 (en) | Injecting Content into Episodic Video Games | |
CN110351572A (zh) | 直播间信息的更新方法、装置、设备及存储介质 | |
US9582969B2 (en) | Method and device for providing allotted game items from decks having rare items | |
US20100120528A1 (en) | Game System, Storage Server, Score Server, Game System Control Method, Information Recording Medium, and Program | |
EP2281283A1 (fr) | Serveur de jeu | |
US20160217018A1 (en) | Type Agnostic Data Engine | |
US8738742B2 (en) | Tiered XML services in a content management system | |
JP2019155103A (ja) | ゲームリプレイ方法およびシステム | |
US6715070B1 (en) | System and method for selectively enabling and disabling plug-ins features in a logical volume management enviornment | |
CN109246082B (zh) | 数据传输方法、装置、电子设备及存储介质 | |
KR101996034B1 (ko) | 게임 프로그램의 친구 추천 방법 및 서버 | |
KR20210028376A (ko) | 클라우드 게임 서비스 제공 방법, 장치 및 이를 이용한 시스템 | |
CN112269741A (zh) | 应用程序兼容性测试方法及相关设备 | |
CN111494955A (zh) | 基于游戏的角色互动方法、装置、服务器及介质 | |
US20100023479A1 (en) | Hexadecimal file fast decompression method | |
US11504618B2 (en) | Server-based video help in a video game | |
JP2002099521A (ja) | ネットワークコンピューティングシステムとプログラム実行処理方法および負荷分散処理プログラム | |
CN114143612B (zh) | 视频展示方法、装置、电子设备、存储介质及程序产品 | |
JP7029094B2 (ja) | コンピュータプログラム、およびコンピュータ装置 | |
CN117459805A (zh) | 3d动画驱动方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201080063433.1 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10836380 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2010836380 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012543108 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |