WO2015011762A1 - 画像生成システムおよび画像生成用プログラム - Google Patents

画像生成システムおよび画像生成用プログラム Download PDF

Info

Publication number
WO2015011762A1
WO2015011762A1 PCT/JP2013/069799 JP2013069799W WO2015011762A1 WO 2015011762 A1 WO2015011762 A1 WO 2015011762A1 JP 2013069799 W JP2013069799 W JP 2013069799W WO 2015011762 A1 WO2015011762 A1 WO 2015011762A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
terminal
side image
image
unit
Prior art date
Application number
PCT/JP2013/069799
Other languages
English (en)
French (fr)
Inventor
正 對馬
佳樹 柏谷
Original Assignee
株式会社fuzz
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 株式会社fuzz filed Critical 株式会社fuzz
Priority to PCT/JP2013/069799 priority Critical patent/WO2015011762A1/ja
Priority to JP2013553708A priority patent/JP5481606B1/ja
Priority to EP13890017.0A priority patent/EP3026919A4/en
Priority to US14/769,215 priority patent/US20160001177A1/en
Publication of WO2015011762A1 publication Critical patent/WO2015011762A1/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
    • A63F13/355Performing 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
    • 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
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23103Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion using load balancing strategies, e.g. by placing or distributing content on different disks, different memories or different servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4781Games
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6373Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number

Definitions

  • the present invention relates to an image generation system and an image generation program, and in particular, performs image generation processing in a distributed manner between a terminal and a server, and synthesizes an image generated at the terminal and an image generated at the server at the terminal. It is suitable for use in an image generation system adapted to be displayed.
  • a cloud game service in which a game is operated on a server and a game screen and audio are streamed to terminals via a line.
  • operation information input on the terminal side is transmitted to the server, and image processing such as calculation and rendering based on the operation information is executed on the server side. Then, the game screen and sound obtained as the execution result are streamed to the terminal.
  • the player terminal does not need an environment such as a storage medium for storing game programs and data and high-performance graphic processing performance. Therefore, if these high-performance operating environments are prepared on the server side, the game can be comfortably executed on various terminals other than dedicated game machines and high-end personal computers.
  • image rendering is distributed between the terminal and the server, and the image generated by the terminal and the image distributed from the server are combined and displayed. Conceivable.
  • the data amount of the image generated on the server side that is, the data amount of the image distributed from the server to the terminal can be reduced.
  • a background image is generated by a drawing engine of a server, encoded by a video encoding device, and transmitted to a user terminal via a network.
  • the user terminal decodes this using the video decoding device, combines it with the foreground image generated by the drawing device, and displays it on the display.
  • the image management server device has a high correlation that is highly correlated with the image data corresponding to the metadata transmitted from the client terminal among the registered image data stored in the image data storage unit.
  • Image data is searched, and highly correlated image data obtained as a result of the search is transmitted to the client terminal via the network.
  • the client terminal generates composite image data using the highly correlated image data received from the image management server device and the image data corresponding to the metadata transmitted to the image management server device.
  • the present invention has been made to solve such a problem, and in order to synchronize and synthesize an image when processing for generating a display image to be displayed on a terminal is distributed between the terminal and the server.
  • the purpose is to improve the response performance of the screen display by shortening the waiting time on the terminal side as necessary.
  • the generation processing of the display image to be displayed on the terminal is performed in a distributed manner between the terminal and the server.
  • Control is performed so as to execute either distributed processing for generating a display image by combining the server-side image with the server-side image or single processing for generating the server-side image itself as a display image.
  • the communication speed when the server-side image is transmitted from the server to the terminal is stored in the communication history storage unit as a history.
  • the data amount of the server-side image generated by the server is adjusted based on the communication speed history stored in the communication history storage unit.
  • the processing for generating the display image to be displayed on the terminal when the processing for generating the display image to be displayed on the terminal is performed in a distributed manner between the terminal and the server, the history of the communication speed when the server-side image is transmitted to the terminal in the past. Based on this, the data amount of the server-side image is adjusted so that the communication time does not become long. Thereby, the waiting time on the terminal side required for synthesizing the terminal side image and the server side image can be shortened as much as possible, and the response performance of the screen display can be improved.
  • FIG. 1 is a block diagram illustrating a network configuration example of the image generation system according to the present embodiment.
  • the image generation system includes a terminal 100 used by a cloud game player, and a server 200 for streaming distribution of game screens and sounds used in the cloud game.
  • the terminal 100 and the server 200 are configured to be connectable via a communication network such as the Internet 300.
  • FIG. 2 is a block diagram illustrating a functional configuration example of the terminal 100 according to the present embodiment.
  • FIG. 3 is a block diagram illustrating a functional configuration example of the server 200 according to the present embodiment.
  • the terminal 100 includes, as its functional configuration, a distribution request unit 11, a terminal-side image generation unit 12, a server-side image reception unit 13, an image composition unit 14, a display control unit 15, and a determination.
  • Unit 16 control unit 17, communication speed detection unit 18, recording unit 19, data amount adjustment unit 20, and communication history storage unit 30.
  • the server 200 includes a distribution request receiving unit 21, a server-side image generation unit 22, and a server-side image transmission unit 23 as functional configurations.
  • the functions of the blocks 11 to 20 of the terminal 100 are realized by, for example, an image generation program incorporated in a game application (hereinafter referred to as a terminal-side game application) installed in the terminal 100 in advance. That is, each of the blocks 11 to 20 is actually configured with a CPU, RAM, ROM, etc. of a computer, and an image generation program stored in a recording medium such as a RAM, ROM, hard disk, or semiconductor memory operates. Is realized.
  • a game application hereinafter referred to as a terminal-side game application
  • the functions of the blocks 21 to 23 of the server 200 are realized by, for example, an image generation program incorporated in a game application (hereinafter referred to as a server-side game application) installed in the server 200 in advance. That is, each of the blocks 21 to 23 is actually configured with a CPU, RAM, ROM, etc. of a computer, and an image generation program stored in a recording medium such as a RAM, ROM, hard disk, or semiconductor memory operates. Is realized.
  • a game application hereinafter referred to as a server-side game application
  • the cloud game is executed by the cooperation of the terminal-side game application and the server-side game application.
  • the image generation system of the present embodiment performs display image generation processing to be displayed on the terminal 100 in a distributed manner between the terminal 100 and the server 200, and an image generated by the terminal 100 (hereinafter, referred to as “cloud display”).
  • a terminal-side image) and an image generated by the server 200 (hereinafter referred to as a server-side image) are combined and displayed on the terminal 100.
  • the image may be a moving image or a still image.
  • the distribution request unit 11 of the terminal 100 requests the server 200 to distribute an image to be displayed on the terminal 100 according to the progress state of the cloud game.
  • the distribution request unit 11 is a server when the screen changes according to the game operation by the player, or when the program automatically changes the screen according to the game execution result. 200 is requested to distribute necessary images.
  • the terminal-side image generation unit 12 performs a terminal-side image generation process as necessary when the distribution request unit 11 requests the server 200 to distribute an image. When necessary, it means that the terminal side image and the server side image are combined and displayed on the terminal 100. In the present embodiment, image synthesis is not always performed, and a display image may be configured by only the server-side image received from the server 200. Whether or not to perform image composition is controlled by the determination unit 16 and the control unit 17, which will be described later.
  • the terminal-side image generation unit 12 since the terminal 100 does not have a graphic processing environment as high as the server 200, the terminal-side image generation unit 12 generates a character image that does not require a high quality.
  • the server-side image generation unit 22 In the server 200 having a high-performance graphic processing environment, the server-side image generation unit 22 generates a main body image other than a character image, that is, an image such as a background or a character that requires high quality.
  • the server side image receiving unit 13 receives the server side image generated by the server side image generating unit 22 from the server 200.
  • the image synthesizing unit 14 generates a display image by synthesizing the terminal-side image generated by the terminal-side image generating unit 12 and the server-side image received by the server-side image receiving unit 13.
  • the timing at which the terminal-side image generation processing by the terminal-side image generation unit 12 is completed and the timing at which the reception processing by the server-side image reception unit 13 of the server-side image generated and transmitted by the server 200 is necessarily the same. do not do. Therefore, the image composition unit 14 needs to compose the terminal-side image and the server-side image in synchronization with each other.
  • the server 200 has a high-performance graphic processing environment, the server 200 generates and transmits a server-side image having a higher quality level and a larger amount of data than the terminal-side image. Therefore, in many cases, the image synthesis unit 14 waits for the server-side image reception unit 13 to receive the server-side image after the terminal-side image generation unit 12 generates the terminal-side image, and then performs image synthesis. Will do.
  • the waiting time for synchronization is made as short as possible by adjusting the data amount of the server-side image as described later.
  • the display images can be switched smoothly so that the game can be enjoyed comfortably without causing the player to feel stress.
  • the display control unit 15 displays the display image on the screen of the terminal 100.
  • the display image may be configured by combining the terminal-side image generated by the terminal-side image generation unit 12 and the server-side image received by the server-side image reception unit 13. There may be a case where only the server side image received by the side image receiving unit 13 is configured.
  • the determination unit 16 determines whether or not to perform display image generation processing in a distributed manner between the terminal 100 and the server 200. That is, the determination unit 16 determines whether to generate a display image by combining the terminal-side image and the server-side image, or to generate a display image using only the server-side image.
  • the determination unit 16 determines whether to perform display image generation processing in a distributed manner between the terminal 100 and the server 200 depending on whether or not a character image is included in a display image to be generated. Determine whether. That is, when a character image is included in the display image, it is determined that image generation distribution processing is performed, and when a character image is not included, it is determined that image generation distribution processing is not performed.
  • a character image is included in a display image to be generated according to the progress state of the game can be determined, for example, based on information previously incorporated in the terminal-side game application.
  • a terminal-side game application is constructed by dividing an execution instruction relating to generation of a character image and an execution instruction relating to generation of other main body images, and by confirming whether such an execution instruction form is obtained. You may make it determine.
  • the determination method given here is only an example, and is not limited to this method.
  • the control unit 17 controls to execute either distributed processing or single processing according to the determination result by the determination unit 16.
  • the distributed process is a process of generating a display image by operating the terminal-side image generation unit 12 and the image synthesis unit 14 and synthesizing the terminal-side image and the server-side image.
  • the single processing is processing for generating a display image only from the server-side image received by the server-side image receiving unit 13 without operating the terminal-side image generating unit 12 and the image synthesizing unit 14. Further, the control unit 17 controls the operations of the distribution request unit 11, the communication speed detection unit 18, the recording unit 19, and the data amount adjustment unit 20 according to the determination result by the determination unit 16.
  • the communication speed detection unit 18 detects the communication speed of the Internet 300 that connects the terminal 100 and the server 200. For example, the communication speed detection unit 18 detects a communication speed when the server side image reception unit 13 receives a server side image from the server 200. The communication speed may be detected at least during execution of the single process for generating the server-side image received by the server-side image receiving unit 13 as a display image. *
  • the recording unit 19 stores the communication speed detected by the communication speed detection unit 18 in the communication history storage unit 30 as a history when executing the single process under the control of the control unit 17. That is, the communication history storage unit 30 stores the communication speed when the server-side image is transmitted from the server 200 to the terminal 100 as a history by executing a single process.
  • the data amount adjustment unit 20 determines the quality level of the server-side image generated by the server 200 based on the communication speed history stored in the communication history storage unit 30 when executing the distributed processing. Adjust the data amount of the server side image. Specifically, the data amount adjustment unit 20 has a predetermined processing time (timeout time) when the server-side image is transmitted at the slowest communication speed among the communication speeds stored in the communication history storage unit 30. Adjust the amount of data to fit within.
  • the time-out time is a time until the display image is switched without the player feeling stress, and is determined in advance for each type of display image generated according to the progress state of the game.
  • This time-out time is incorporated as information in advance in the program of the terminal-side game application, for example.
  • table information may be provided separately from the program, and a timeout time for each type of display image may be stored in the table information.
  • the data amount adjusting unit 20 completes the image delivery within 1 second.
  • the quality level of the server-side image is adjusted so that The quality level of the server-side image is specified by the size of the image compression rate, for example.
  • the data amount adjustment unit 20 notifies the distribution request unit 11 of the adjusted quality level of the server-side image.
  • the distribution request unit 11 notifies the server 200 of this quality level together with the above-described image distribution request.
  • the time required from when the distribution request unit 11 transmits an image distribution request to the server 200 until the server-side image is sent as a response is generated by generating the server-side image. It is the total of the time to perform and the time to transmit the server side image. Therefore, it is preferable to adjust the data amount (curity level) of the server-side image so that the total time is within the timeout time.
  • the distribution request receiving unit 21 of the server 200 receives an image distribution request sent from the terminal 100.
  • the server side image generating unit 22 performs a server side image generation process.
  • the server-side image transmission unit 23 transmits the server-side image generated by the server-side image generation unit 22 to the terminal 100.
  • the server side image generation unit 22 when the quality level is notified together with the image distribution request, the server side image generation unit 22 generates the server side image according to the quality level.
  • the server-side image generation unit 22 when there is no notification of the quality level, the server-side image generation unit 22 generates a server-side image at a predetermined quality level (a level that realizes high image quality), for example.
  • the server 200 detects the communication speed when the image distribution request is received, and the amount of data that can be processed within the timeout time when the server-side image is transmitted from the server 200 to the terminal 100 at the communication speed.
  • the server-side image may be generated at the quality level set as described above.
  • FIG. 4 is a flowchart showing an operation example of the image generation system according to the present embodiment configured as described above. The flowchart illustrated in FIG. 4 starts when the terminal-side game application installed in the terminal 100 is activated.
  • the determination unit 16 of the terminal 100 determines whether or not a display image switching scene has been reached according to the progress of the cloud game (step S1). If it is not an image switching scene, the game continues as it is, and it is determined whether or not a display image switching scene has been reached.
  • the determination unit 16 performs the display image generation process depending on whether or not a character image is included in the display image to be generated. It is determined whether or not the process is performed in a distributed manner (step S2). If the determination unit 16 determines that the distributed processing is to be performed, the control unit 17 is notified accordingly.
  • the data amount adjusting unit 20 is controlled by the control unit 17 and based on the communication speed history stored in the communication history storage unit 30, a server-side image (main body image other than a character image) generated by the server 200. ) Quality level is determined (step S3). Specifically, the data amount adjustment unit 20 requires processing time when transmitting the server-side image from the server 200 to the terminal 100 at the slowest communication speed among the communication speeds stored in the communication history storage unit 30. The quality level of the server-side image is determined so that the amount of data can be accommodated within the timeout time.
  • the distribution request unit 11 transmits an image distribution request to the server 200 together with information on the quality level determined by the data amount adjustment unit 20 (step S4). Further, the terminal-side image generation unit 12 performs a terminal-side image (character image) generation process under the control of the control unit 17 (step S5).
  • step S2 if it is determined in step S2 that the character image is not included in the display image to be generated and the determination unit 16 determines that the server 200 performs the display image generation processing alone, the distribution is performed.
  • the request unit 11 transmits an image distribution request to the server 200 without quality level information regarding the server-side image (step S6).
  • the distribution request receiving unit 21 of the server 200 receives the image distribution request transmitted from the terminal 100 in step S4 or step S6 (step S7).
  • the server-side image generation unit 22 performs a server-side image generation process (step S8).
  • the server side image generation unit 22 generates the server side image according to the quality level.
  • the server-side image transmission unit 23 transmits the server-side image generated by the server-side image generation unit 22 to the terminal 100 (Step S9).
  • the server-side image receiving unit 13 receives the server-side image transmitted by the server-side image transmitting unit 23 (step S10).
  • the determination unit 16 determines whether or not the distributed processing is being executed (step S11).
  • the image composition unit 14 receives the terminal-side image generated by the terminal-side image generation unit 12 in step S5 and the server-side image reception unit 13 in step S10 under the control of the control unit 17.
  • a display image is generated by synthesizing the server-side image thus created (step S12).
  • the display control unit 15 displays the display image generated by the image composition unit 14 on the screen of the terminal 100 (Step S13).
  • the communication speed detection unit 18 receives the server-side image according to the control by the control unit 17.
  • the communication speed when the unit 13 receives the server-side image from the server 200 is detected (step S14).
  • the recording unit 19 stores the communication speed detected by the communication speed detection unit 18 in the communication history storage unit 30 as a history (Step S15).
  • the display control unit 15 displays the server side image itself received by the server side image reception unit 13 in step S10 on the screen of the terminal 100 as a display image (step S13).
  • step S16 determines whether or not the game is over. That is, the determination unit 16 determines whether the game is over due to the progress of the game, or whether the game is instructed by an operation by the user. If the game has not ended, the process returns to step S1. On the other hand, when the game ends, the process of the flowchart shown in FIG. 4 ends.
  • the display image generation processing is distributed between the terminal 100 and the server 200. It is determined whether the server 200 performs it alone. And when performing an independent process, the communication speed when the server side image is received in the terminal 100 is detected and stored in the communication history storage unit 30 as a history. On the other hand, when performing distributed processing, the data amount (quality level) of the server-side image generated by the server 200 is adjusted based on the communication speed history stored in the communication history storage unit 30.
  • the server-side image is transmitted from the server 200 to the terminal 100 in the past. Based on the history of communication speed at that time, the data amount of the server-side image is adjusted so that the communication time does not become longer. Thereby, the waiting time on the terminal 100 side required for synthesizing the terminal side image and the server side image can be shortened as much as possible, and the response performance of the screen display at the time of switching the display image is improved. be able to.
  • the terminal-side game application may be downloaded from the server 200 to the terminal 100 when the game is activated. Further, for each scene where the display image is switched according to the progress of the game, a script describing an execution instruction necessary for displaying an image in the scene may be downloaded from the server 200 to the terminal 100.
  • the communication speed detection unit 18, the recording unit 19, the data amount adjustment unit 20, and the communication history storage unit 30 are provided in the terminal 100. However, these may be provided in the server 200. .
  • the distribution request unit 11 transmits an image distribution request to the server 200 together with a notification that informs the result of determination by the determination unit 16.
  • the determination unit 16 and the control unit 17 are provided in the terminal 100 .
  • these may be provided in the server 200.
  • the determination unit 16 of the server 200 determines whether or not to perform the distributed processing, and if the distributed processing is performed, notifies the terminal 100 to that effect. To do. Thereafter, generation and transmission of the server-side image at the server 200 and generation of the terminal-side image at the terminal 100 are performed in parallel, and the synthesis processing of both images is performed at the terminal 100.
  • the processing time required for transmitting the server-side image at the slowest communication speed among the communication speeds stored in the communication history storage unit 30 is within the timeout time when executing the distributed processing. In this way, the data amount of the server-side image is adjusted. However, if the actual communication speed at that time is further slower than the slowest communication speed in the past, the server-side image cannot be transmitted within the timeout time.
  • the terminal 100 may display only the terminal-side image when the timeout time is reached. It is considered that it is less stressed by the player to display only the character image than to wait until the server-side image is sent even after the timeout period, and no image is displayed during that time. is there. If only a character image is displayed, at least the meaning of the screen can be conveyed to the player even if there is no other main body image.
  • the terminal-side image is a character image and the server-side image is another main body image
  • the present invention is not limited to this.
  • a background image that does not move in a series of moving images may be generated as a terminal-side image
  • a moving character image or the like may be generated as a server-side image.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • Processing Or Creating Images (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

 端末100に表示させる表示画像の生成処理をサーバ200だけで行う際には、サーバ200から端末100にサーバ側画像(表示画像)が送信されたときの通信速度を履歴として通信履歴記憶部30に記憶しておき、表示画像の生成処理を端末100とサーバ200とで分散して行う際には、通信履歴記憶部30に記憶されている通信速度の履歴に基づいて、サーバ200で生成するサーバ側画像のデータ量を調整することにより、通信時間が長くならないようにし、端末側画像とサーバ側画像とを同期をとって画像合成するために要する端末100側での待ち時間ができるだけ短くなるようにする。

Description

画像生成システムおよび画像生成用プログラム
 本発明は、画像生成システムおよび画像生成用プログラムに関し、特に、画像の生成処理を端末とサーバとで分散して行い、端末で生成された画像とサーバで生成された画像とを端末において合成して表示させるようになされた画像生成システムに用いて好適なものである。
 従来、サーバ上でゲームを動作させ、回線を通じて端末にゲーム画面と音声とをストリーミング配信するようにしたクラウドゲームサービスが提供されている。クラウドゲームサービスでは、端末側で入力された操作情報がサーバに送信され、それに基づいた演算やレンダリング等の画像処理がサーバ側で実行される。そして、その実行結果として得られるゲーム画面や音声が端末にストリーミング配信される。
 このクラウドゲームサービスによれば、プレイヤ側の端末には、ゲームプログラムやデータを保存する記憶媒体、高性能なグラフィック処理性能といった環境が不要になる。そのため、これらの高性能な動作環境をサーバ側に用意しておけば、専用のゲーム機やハイエンドのパーソナルコンピュータ以外にも様々な端末で快適にゲームを実行することができるようになる。
 ただし、クラウドゲームサービスの場合、サーバから端末に対して配信する画像のデータ量が大きくなるため、回線のトラフィックが増大した場合には通信に遅延が発生する。そのため、ユーザが端末で何らかの操作を行った後、それに応じた演算結果の画像データがサーバから返信されて画面表示されるまでのレスポンス時間が長くなってしまい、ユーザが快適にゲーム楽しむことができないという問題があった。
 このような問題を解決するための1つの手段として、画像のレンダリングを端末とサーバとで分散して行い、端末で生成した画像とサーバから配信されてきた画像とを合成して表示させることが考えられる。少なくとも一部の画像を端末側で生成することにより、サーバ側で生成する画像のデータ量、つまりサーバから端末に配信する画像のデータ量を減らすことができる。
 なお、サーバで生成した画像と端末で生成した画像とを端末で合成して表示する技術自体は、従来から知られている(例えば、特許文献1,2参照)。
特開平8-69545号公報 特開2008-67290号公報
 特許文献1に記載の技術では、サーバの描画エンジンにおいて背景画像を生成し、映像符号化装置において符号化し、ネットワークを介してユーザ端末に伝送する。ユーザ端末は、映像復号化装置によりこれを復号化し、描画装置において生成した近景画像と画像合成装置において合成し、ディスプレイに表示する。
 特許文献2に記載の技術では、画像管理サーバ装置は、画像データ保存部に保存された登録画像データの中から、クライアント端末から送信されるメタデータに対応する画像データと相関の高い高相関性画像データを検索し、検索の結果得られた高相関性画像データを、ネットワークを介してクライアント端末に送信する。クライアント端末は、画像管理サーバ装置から受信した高相関性画像データおよび画像管理サーバ装置に対して送信したメタデータに対応する画像データを用いて合成画像データを生成する。
 しかしながら、端末に表示させる画像の生成処理を端末とサーバとで分散して行う場合、端末側で画像を生成するのに要する処理時間と、サーバ側で画像を生成して端末に配信するのに要する処理時間とが異なるので、同期をとって画像合成する必要がある。同期をとるためには、端末側の処理時間(画像生成時間)およびサーバ側の処理時間(画像生成時間+通信時間)のうち遅い方の時間に合わせる必要がある。
 そのため、例えば端末側で一部の画像を生成し終わっても、サーバから残りの画像が配信してこなければ、端末では画像合成を行うまでに一定の待ち時間が生じてしまう。この待ち時間により、合成画像が画面表示されるまでのレスポンス時間が長くなってしまい、ユーザが快適にゲーム楽しむことができる程度まで十分に画面表示の応答性能を上げることができないという問題があった。
 本発明は、このような問題を解決するために成されたものであり、端末に表示させる表示画像の生成処理を端末とサーバとで分散して行う場合において、同期をとって画像合成するために要する端末側での待ち時間をできるだけ短くすることにより、画面表示の応答性能を上げることを目的とする。
 上記した課題を解決するために、本発明では、端末に表示させる表示画像の生成処理を端末とサーバとで分散して行うか否かを判定し、その判定の結果に応じて、端末側画像とサーバ側画像とを合成することによって表示画像を生成する分散処理、または、サーバ側画像そのものを表示画像として生成する単独処理の何れかを実行するように制御する。単独処理を実行する際には、サーバから端末にサーバ側画像を送信したときの通信速度を履歴として通信履歴記憶部に記憶しておく。また、分散処理を実行する際には、通信履歴記憶部に記憶されている通信速度の履歴に基づいて、サーバで生成するサーバ側画像のデータ量を調整するようにしている。
 上記のように構成した本発明によれば、端末に表示させる表示画像の生成処理を端末とサーバとで分散して行う場合、過去にサーバ側画像を端末に送信したときの通信速度の履歴に基づいて、通信時間が長くならないようにサーバ側画像のデータ量が調整されることとなる。これにより、端末側画像とサーバ側画像とを同期をとって画像合成するために要する端末側での待ち時間をできるだけ短くすることができ、画面表示の応答性能を上げることができる。
本実施形態による画像生成システムのネットワーク構成例を示すブロック図である。 本実施形態による端末の機能構成例を示すブロック図である。 本実施形態によるサーバの機能構成例を示すブロック図である。 本実施形態による画像生成システムの動作例を示すフローチャートである。
 以下、本発明の一実施形態を図面に基づいて説明する。図1は、本実施形態による画像生成システムのネットワーク構成例を示すブロック図である。
 図1に示すように、本実施形態の画像生成システムは、クラウドゲームのプレイヤが使用する端末100と、クラウドゲームで使用するゲーム画面や音声をストリーミング配信するサーバ200とを備えて構成される。端末100とサーバ200とは、インターネット300等の通信ネットワークを介して接続可能性に構成されている。
 図2は、本実施形態による端末100の機能構成例を示すブロック図である。また、図3は、本実施形態によるサーバ200の機能構成例を示すブロック図である。
 図2に示すように、本実施形態の端末100は、その機能構成として、配信要求部11、端末側画像生成部12、サーバ側画像受信部13、画像合成部14、表示制御部15、判定部16および制御部17、通信速度検出部18、記録部19、データ量調整部20および通信履歴記憶部30を備えている。また、図3に示すように、本実施形態のサーバ200は、その機能構成として、配信要求受信部21、サーバ側画像生成部22およびサーバ側画像送信部23を備えている。
 端末100の各ブロック11~20の機能は、例えば、端末100に事前にインストールされるゲームアプリケーション(以下、端末側ゲームアプリという)に組み込まれている画像生成用プログラムによって実現される。すなわち、上記各ブロック11~20は、実際にはコンピュータのCPU、RAM、ROMなどを備えて構成され、RAMやROM、ハードディスクまたは半導体メモリ等の記録媒体に記憶された画像生成用プログラムが動作することによって実現される。
 一方、サーバ200の各ブロック21~23の機能は、例えば、サーバ200にあらかじめインストールされているゲームアプリケーション(以下、サーバ側ゲームアプリという)に組み込まれた画像生成用プログラムによって実現される。すなわち、上記各ブロック21~23は、実際にはコンピュータのCPU、RAM、ROMなどを備えて構成され、RAMやROM、ハードディスクまたは半導体メモリ等の記録媒体に記憶された画像生成用プログラムが動作することによって実現される。
 本実施形態では、端末側ゲームアプリとサーバ側ゲームアプリとが協働することによってクラウドゲームが実行される。このクラウドゲームの実行の中で、本実施形態の画像生成システムは、端末100に表示させる表示画像の生成処理を端末100とサーバ200とで分散して行い、端末100で生成された画像(以下、端末側画像という)とサーバ200で生成された画像(以下、サーバ側画像という)とを端末100において合成して表示させるようになされている。なお、本実施形態において画像とは、動画であってもよいし、静止画であってもよい。
 以下に、この画像合成の仕組みについて詳しく説明する。端末100の配信要求部11は、クラウドゲームの進行の状態に応じて、端末100に画面表示させる画像の配信をサーバ200に対して要求する。典型的には、プレイヤによるゲーム操作に応じて画面を切り替える場面になったとき、ゲームの実行結果に応じてプログラムが画面を自動的に切り替える場面になったときなどに、配信要求部11がサーバ200に対して必要な画像の配信を要求する。
 端末側画像生成部12は、配信要求部11がサーバ200に対して画像の配信を要求する際に、必要に応じて端末側画像の生成処理を行う。必要に応じてというのは、端末側画像とサーバ側画像とを端末100において合成して表示させる場合、という意味である。本実施形態では、常に画像合成を行うわけではなく、サーバ200から受信するサーバ側画像だけで表示画像を構成する場合もある。画像合成を行うか否かの制御は判定部16および制御部17によって行われるのであるが、これについては後述する。
 ここで、端末100はサーバ200ほどの高性能なグラフィック処理環境を持たないため、それほどクオリティの高さが要求されない文字画像を端末側画像生成部12により生成する。一方、高性能なグラフィック処理環境を有するサーバ200では、文字画像以外の本体画像、すなわち、クオリティの高さが要求される背景やキャラクタ等の画像をサーバ側画像生成部22により生成する。
 サーバ側画像受信部13は、サーバ側画像生成部22により生成されたサーバ側画像をサーバ200から受信する。画像合成部14は、端末側画像生成部12により生成された端末側画像と、サーバ側画像受信部13により受信されたサーバ側画像とを合成することによって表示画像を生成する。
 なお、端末側画像生成部12による端末側画像の生成処理が完了するタイミングと、サーバ200で生成され送信されたサーバ側画像のサーバ側画像受信部13による受信処理が完了するタイミングとは必ずしも一致しない。よって、画像合成部14は、端末側画像とサーバ側画像とを、互いの同期をとって合成する必要がある。
 サーバ200は高性能なグラフィック処理環境を有しているものの、端末側画像に比べてクオリティレベルが高くデータ量も多いサーバ側画像を生成して送信する。そのため、多くの場合、画像合成部14は、端末側画像生成部12により端末側画像が生成された後、サーバ側画像受信部13によりサーバ側画像が受信されるのを待って、画像合成を行うことになる。
 ただし、本実施形態では、後述するようにサーバ側画像のデータ量を調整することにより、同期のための待ち時間ができるだけ短くなるようにしている。これにより、表示画像の切り替わりがスムーズに行われるようにして、プレイヤにストレスを感じさせずに気持ちよくゲームを楽しむことができるようにしている。
 表示制御部15は、表示画像を端末100の画面上に表示させる。上述したように、表示画像は、端末側画像生成部12により生成された端末側画像と、サーバ側画像受信部13により受信されたサーバ側画像との合成によって構成される場合もあるし、サーバ側画像受信部13により受信されたサーバ側画像だけで構成される場合もある。
 判定部16は、表示画像の生成処理を端末100とサーバ200とで分散して行うか否かを判定する。つまり、判定部16は、端末側画像とサーバ側画像とを合成して表示画像を生成するか、それともサーバ側画像だけで表示画像を生成するかを判定する。
 本実施形態では、判定部16は、これから生成しようとする表示画像の中に文字画像が含まれているか否かによって、表示画像の生成処理を端末100とサーバ200とで分散して行うか否かを判定する。すなわち、表示画像の中に文字画像が含まれている場合には画像生成の分散処理を行い、文字画像が含まれていない場合には画像生成の分散処理を行わないと判定する。
 なお、ゲームの進行状態に応じてこれから生成しようとする表示画像の中に文字画像が含まれているか否かは、例えば、端末側ゲームアプリにあらかじめ組み込まれた情報によって判定することができる。あるいは、文字画像の生成に関する実行命令と、それ以外の本体画像の生成に関する実行命令とを分けて端末側ゲームアプリを構築しておき、このような実行命令形態になっているかを確認することによって判定するようにしてもよい。なお、ここに挙げた判定方法は一例に過ぎず、このやり方に限定されるものではない。
 制御部17は、判定部16による判定の結果に応じて、分散処理または単独処理の何れかを実行するように制御する。分散処理は、端末側画像生成部12および画像合成部14を動作させて、端末側画像とサーバ側画像とを合成することによって表示画像を生成する処理である。また、単独処理は、端末側画像生成部12および画像合成部14を動作させずに、サーバ側画像受信部13で受信されるサーバ側画像だけから表示画像を生成する処理である。また、制御部17は、判定部16による判定の結果に応じて、配信要求部11、通信速度検出部18、記録部19およびデータ量調整部20の動作を制御する。
 通信速度検出部18は、端末100とサーバ200との間を接続するインターネット300の通信速度を検出する。例えば、通信速度検出部18は、サーバ側画像受信部13がサーバ200からサーバ側画像を受信するときにおける通信速度を検出する。なお、通信速度の検出は、少なくとも、サーバ側画像受信部13で受信されるサーバ側画像を表示画像として生成する単独処理の実行時に行えばよい。 
 記録部19は、制御部17の制御によって単独処理を実行する際に、通信速度検出部18により検出された通信速度を通信履歴記憶部30に履歴として記憶させる。すなわち、通信履歴記憶部30は、単独処理を実行してサーバ200から端末100にサーバ側画像を送信したときの通信速度を履歴として記憶する。
 データ量調整部20は、分散処理の実行時に、通信履歴記憶部30に記憶されている通信速度の履歴に基づいて、サーバ200にて生成するサーバ側画像のクオリティレベルを決定することにより、当該サーバ側画像のデータ量を調整する。具体的には、データ量調整部20は、通信履歴記憶部30に記憶されている通信速度のうち、最も遅い通信速度でサーバ側画像を送信する場合の要処理時間が所定時間(タイムアウト時間)以内に収まるデータ量に調整する。
 ここで、タイムアウト時間は、プレイヤがストレスを感じることなく表示画像が切り替わるまでの時間であり、ゲームの進行状態に応じて生成される表示画像の種類毎にあらかじめ決められている。このタイムアウト時間は、例えば、端末側ゲームアプリのプログラム中にあらかじめ情報として組み込まれている。あるいは、当該プログラムとは別にテーブル情報を有し、表示画像の種類毎のタイムアウト時間をテーブル情報に記憶しておくようにしてもよい。
 通信速度がビット毎秒(bps:bit per second)で表されている場合において、タイムアウト時間が1秒に設定されているとき、データ量調整部20は、その1秒間で画像配信が完了するデータ量となるようにサーバ側画像のクオリティレベルを調整する。サーバ側画像のクオリティレベルは、例えば、画像圧縮率の大きさによって指定する。データ量調整部20は、調整したサーバ側画像のクオリティレベルを配信要求部11に通知する。配信要求部11は、上述した画像配信要求と共にこのクオリティレベルをサーバ200に通知する。
 なお、実際には、配信要求部11がサーバ200に対して画像の配信要求を送信してから、その応答としてサーバ側画像が送られてくるまでの間に要する時間は、サーバ側画像を生成する時間とサーバ側画像を送信する時間との合計となる。そこで、この合計時間がタイムアウト時間以内となるようにサーバ側画像のデータ量(クリティレベル)を調整するのが好ましい。
 サーバ200の配信要求受信部21は、端末100から送られてくる画像配信要求を受信する。サーバ側画像生成部22は、配信要求受信部21により画像配信要求を受信したときに、サーバ側画像の生成処理を行う。サーバ側画像送信部23は、サーバ側画像生成部22により生成されたサーバ側画像を端末100に送信する。
 ここで、サーバ側画像生成部22は、画像配信要求と共にクオリティレベルが通知されているときは、そのクオリティレベルに従ってサーバ側画像を生成する。一方、クオリティレベルの通知がない場合、サーバ側画像生成部22は、例えば、あらかじめ決められたクオリティレベル(高画質を実現するレベル)でサーバ側画像を生成する。あるいは、画像配信要求を受信したときの通信速度をサーバ200側で検出し、その通信速度でサーバ200から端末100にサーバ側画像を送信する場合の要処理時間がタイムアウト時間以内に収まるデータ量となるように設定したクオリティレベルでサーバ側画像を生成するようにしてもよい。
 図4は、上記のように構成した本実施形態による画像生成システムの動作例を示すフローチャートである。図4に示すフローチャートは、端末100にインストールされた端末側ゲームアプリを起動したときに開始する。
 まず、端末100の判定部16は、クラウドゲームの進行の状態に応じて、表示画像を切り替える場面になったか否かを判定する(ステップS1)。画像切替の場面になっていない場合は、そのままゲームの進行を続け、表示画像を切り替える場面になったか否かを判定し続ける。
 一方、表示画像を切り替える場面になったと判定した場合、判定部16は、これから生成しようとする表示画像の中に文字画像が含まれているか否かによって、表示画像の生成処理を端末100とサーバ200とで分散して行うか否かを判定する(ステップS2)。ここで、分散処理を行うと判定部16により判定された場合、その旨を制御部17に通知する。
 データ量調整部20は、制御部17による制御を受けて、通信履歴記憶部30に記憶されている通信速度の履歴に基づいて、サーバ200にて生成するサーバ側画像(文字画像以外の本体画像)のクオリティレベルを決定する(ステップS3)。具体的には、データ量調整部20は、通信履歴記憶部30に記憶されている通信速度のうち、最も遅い通信速度でサーバ200から端末100にサーバ側画像を送信する場合の要処理時間がタイムアウト時間以内に収まるデータ量となるように、サーバ側画像のクオリティレベルを決定する。
 その後、配信要求部11は、データ量調整部20により決定されたクオリティレベルの情報と共に画像配信要求をサーバ200に送信する(ステップS4)。さらに、端末側画像生成部12は、制御部17からの制御を受けて、端末側画像(文字画像)の生成処理を行う(ステップS5)。
 一方、上記ステップS2において、これから生成しようとする表示画像の中に文字画像が含まれておらず、表示画像の生成処理をサーバ200が単独で行うと判定部16にて判定された場合、配信要求部11は、サーバ側画像に関するクオリティレベルの情報無しで画像配信要求をサーバ200に送信する(ステップS6)。
 サーバ200の配信要求受信部21は、ステップS4またはステップS6で端末100から送信された画像配信要求を受信する(ステップS7)。この画像配信要求を受けて、サーバ側画像生成部22は、サーバ側画像の生成処理を行う(ステップS8)。このときサーバ側画像生成部22は、画像配信要求と共にクオリティレベルの情報が通知されているときは、そのクオリティレベルに従ってサーバ側画像を生成する。そして、サーバ側画像送信部23は、サーバ側画像生成部22により生成されたサーバ側画像を端末100に送信する(ステップS9)。
 端末100では、サーバ側画像送信部23により送信されたサーバ側画像をサーバ側画像受信部13で受信する(ステップS10)。ここで、判定部16は、分散処理の実行中か否かを判定する(ステップS11)。分散処理を実行中の場合、画像合成部14は、制御部17による制御に従って、ステップS5で端末側画像生成部12により生成された端末側画像と、ステップS10でサーバ側画像受信部13により受信されたサーバ側画像とを合成することによって表示画像を生成する(ステップS12)。そして、表示制御部15は、画像合成部14により生成された表示画像を端末100の画面上に表示させる(ステップS13)。
 一方、ステップS11で分散処理を実行中ではないと判定部16にて判定された場合、つまり単独処理を実行中の場合、通信速度検出部18は、制御部17による制御に従って、サーバ側画像受信部13がサーバ200からサーバ側画像を受信したときにおける通信速度を検出する(ステップS14)。そして、記録部19は、通信速度検出部18により検出された通信速度を通信履歴記憶部30に履歴として記憶させる(ステップS15)。その後、表示制御部15は、ステップS10でサーバ側画像受信部13により受信されたサーバ側画像そのものを表示画像として端末100の画面上に表示させる(ステップS13)。
 その後、判定部16は、ゲームが終了となったか否かを判定する(ステップS16)。すなわち、判定部16は、ゲームの進行によりゲームオーバーとなったり、ユーザによる操作によってゲームの終了が指示されたりしたかどうかを判定する。ゲームが終了となっていない場合、処理はステップS1に戻る。一方、ゲームが終了となった場合、図4に示すフローチャートの処理は終了する。
 以上詳しく説明したように、本実施形態では、ゲームの進行に応じて端末100に表示させる画像を切り替える必要が生じたとき、その表示画像の生成処理を端末100とサーバ200とで分散して行うか否か、サーバ200において単独で行うかを判定する。そして、単独処理を行う場合は、端末100にてサーバ側画像を受信したときの通信速度を検出して履歴として通信履歴記憶部30に記憶しておく。一方、分散処理を行う場合は、通信履歴記憶部30に記憶されている通信速度の履歴に基づいて、サーバ200で生成するサーバ側画像のデータ量(クオリティレベル)を調整するようにしている。
 このように構成した本実施形態によれば、端末100に表示させる表示画像の生成処理を端末100とサーバ200とで分散して行う場合、過去にサーバ側画像をサーバ200から端末100に送信したときの通信速度の履歴に基づいて、通信時間が長くならないようにサーバ側画像のデータ量が調整されることとなる。これにより、端末側画像とサーバ側画像とを同期をとって画像合成するために要する端末100側での待ち時間をできるだけ短くすることができ、表示画像の切り替え時における画面表示の応答性能を上げることができる。
 なお、上記実施形態では、端末100に端末側ゲームアプリを事前にインストールしておく例について説明したが、本発明はこれに限定されない。例えば、ゲーム起動時に端末側ゲームアプリをサーバ200から端末100にダウンロードするようにしてもよい。また、ゲームの進行に応じて表示画像を切り替える場面ごとに、その場面での画像表示に必要な実行命令を記述したスクリプトをサーバ200から端末100にダウンロードするようにしてもよい。
 また、上記実施形態では、通信速度検出部18、記録部19、データ量調整部20および通信履歴記憶部30を端末100に設ける例について説明したが、これらをサーバ200に設けるようにしてもよい。この場合、配信要求部11は、判定部16による判定の結果を知らせる通知と共に画像配信要求をサーバ200に送信する。
 また、上記実施形態では、判定部16および制御部17を端末100に設ける例について説明したが、これらをサーバ200に設けるようにしてもよい。この場合、ゲームの進行に応じて表示画像を切り替える場面になったとき、サーバ200の判定部16において分散処理を行うか否かを判定し、分散処理を行う場合はその旨を端末100に通知する。その後、サーバ200でのサーバ側画像の生成および送信と、端末100での端末側画像の生成とを並行して行い、両画像の合成処理を端末100にて行う。
 また、上記実施形態では、分散処理の実行時に、通信履歴記憶部30に記憶されている通信速度のうち、最も遅い通信速度でサーバ側画像を送信する場合の要処理時間がタイムアウト時間以内に収まるようにサーバ側画像のデータ量を調整するようにしている。しかし、そのときの実際の通信速度が過去の最も遅い通信速度よりも更に遅かった場合には、サーバ側画像をタイムアウト時間内に送信することができなくなる。
 この場合、端末100では、タイムアウト時間になった時点で端末側画像のみを表示させるようにしてもよい。タイムアウト時間を過ぎてもサーバ側画像が送られてくるまで待ってその間は何も画像が表示されない状態となるよりも、文字画像だけでも表示させた方がプレイヤのストレスが少ないと考えられるからである。文字画像さえ表示されていれば、それ以外の本体画像がなくても、少なくともその画面の意味をプレイヤに伝えることは可能である。
 また、上記実施形態では、端末側画像を文字画像とし、サーバ側画像をそれ以外の本体画像とする例について説明したが、本発明はこれに限定されない。例えば、一連の動画の中で動きのない背景画像を端末側画像として生成し、動きのあるキャラクタ画像等をサーバ側画像として生成するようにしてもよい。
 その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
 11 配信要求部
 12 端末側画像生成部
 13 サーバ側画像受信部
 14 画像合成部
 15 表示制御部
 16 判定部
 17 制御部
 18 通信速度検出部
 19 記録部
 20 データ量調整部
 21 配信要求受信部
 22 サーバ側画像生成部
 23 サーバ側画像送信部
 30 通信履歴記憶部
 100 端末
 200 サーバ

Claims (8)

  1. 端末に表示させる表示画像の生成処理を上記端末とサーバとで分散して行い、上記端末で生成された端末側画像と上記サーバで生成されたサーバ側画像とを上記端末において合成して表示させるようになされた画像生成システムであって、
     上記表示画像の生成処理を上記端末と上記サーバとで分散して行うか否かを判定する判定部と、
     上記判定部による判定の結果に応じて、上記端末側画像と上記サーバ側画像とを合成することによって上記表示画像を生成する分散処理、または、上記サーバ側画像を上記表示画像として生成する単独処理の何れかを実行するように制御する制御部と、
     上記単独処理を実行して上記サーバから上記端末に上記サーバ側画像を送信したときの通信速度を履歴として記憶する通信履歴記憶部と、
     上記分散処理を実行して上記サーバ側画像を生成する際に、上記通信履歴記憶部に記憶されている通信速度の履歴に基づいて、上記サーバ側画像のデータ量を調整するデータ量調整部とを備えたことを特徴とする画像生成システム。
  2. 上記データ量調整部は、上記通信履歴記憶部に記憶されている通信速度のうち最も遅い通信速度で上記サーバ側画像を送信する場合の要処理時間が所定時間以内に収まるデータ量に調整することを特徴とする請求項1に記載の画像生成システム。
  3. 上記所定時間は、上記表示画像の種類毎にあらかじめ決められたタイムアウト時間であることを特徴とする請求項2に記載の画像生成システム。
  4. 上記分散処理の実行時に上記端末で生成される上記端末側画像は上記表示画像に含まれる文字画像であり、上記分散処理の実行時に上記サーバで生成される上記サーバ側画像は上記文字画像以外の画像であり、
     上記判定部は、上記表示画像の中に上記文字画像が含まれているか否かによって、上記表示画像の生成処理を上記端末と上記サーバとで分散して行うか否かを判定することを特徴とする請求項1に記載の画像生成システム。
  5. 端末に表示させる表示画像の生成処理を上記端末とサーバとで分散して行い、上記端末で生成された端末側画像と上記サーバで生成されたサーバ側画像とを上記端末において合成して表示させるようになされた画像生成システムであって、
     上記端末は、
     画像の配信を要求する配信要求部と、
     上記端末側画像の生成処理を行う端末側画像生成部と、
     上記サーバ側画像を受信するサーバ側画像受信部と、
     上記端末側画像生成部により生成された上記端末側画像および上記サーバ側画像受信部により受信された上記サーバ側画像を合成することによって上記表示画像を生成する画像合成部と、
     上記表示画像を表示させる表示制御部と、
     上記表示画像の生成処理を上記端末と上記サーバとで分散して行うか否かを判定する判定部と、
     上記判定部による判定の結果に応じて、上記端末側画像生成部および上記画像合成部を動作させて上記表示画像を生成する分散処理、または、上記端末側画像生成部および上記画像合成部を動作させずに上記サーバ側画像受信部で受信される上記サーバ側画像を上記表示画像として生成する単独処理の何れかを実行するように制御する制御部と、
     上記端末と上記サーバとの間を接続する回線の通信速度を検出する通信速度検出部と、
     上記単独処理の実行時に、上記サーバ側画像受信部により上記サーバ側画像を受信したときに上記通信速度検出部により検出された通信速度を通信履歴記憶部に履歴として記憶させる記録部と、
     上記分散処理の実行時に、上記通信履歴記憶部に記憶されている通信速度の履歴に基づいて、上記サーバ側画像のデータ量を調整するデータ量調整部とを備え、
     上記サーバは、
     上記端末から送られてくる画像の配信要求を受信する配信要求受信部と、
     上記配信要求受信部により上記配信要求を受信したときに、上記データ量調整部により調整されたデータ量となるように上記サーバ側画像の生成処理を行うサーバ側画像生成部と、
     上記サーバ側画像生成部により生成された上記サーバ側画像を上記端末に送信するサーバ側画像送信部とを備えたことを特徴とする画像生成システム。
  6. 端末に表示させる表示画像の生成処理を上記端末とサーバとで分散して行い、上記端末で生成された端末側画像と上記サーバで生成されたサーバ側画像とを上記端末において合成して表示させるようになされた画像生成システムであって、
     上記端末は、
     画像の配信を要求する配信要求部と、
     上記端末側画像の生成処理を行う端末側画像生成部と、
     上記サーバ側画像を受信するサーバ側画像受信部と、
     上記端末側画像生成部により生成された上記端末側画像および上記サーバ側画像受信部により受信された上記サーバ側画像を合成することによって上記表示画像を生成する画像合成部と、
     上記表示画像を表示させる表示制御部と、
     上記表示画像の生成処理を上記端末と上記サーバとで分散して行うか否かを判定する判定部と、
     上記判定部による判定の結果に応じて、上記端末側画像生成部および上記画像合成部を動作させて上記表示画像を生成する分散処理、または、上記端末側画像生成部および上記画像合成部を動作させずに上記サーバ側画像受信部で受信される上記サーバ側画像を上記表示画像として生成する単独処理の何れかを実行するように制御する制御部とを備え、
     上記サーバは、
     上記端末から送られてくる画像の配信要求を受信する配信要求受信部と、
     上記配信要求受信部により上記配信要求を受信したときに、上記サーバ側画像の生成処理を行うサーバ側画像生成部と、
     上記サーバ側画像生成部により生成された上記サーバ側画像を上記端末に送信するサーバ側画像送信部と、
     上記端末と上記サーバとの間を接続する回線の通信速度を検出する通信速度検出部と、
     上記単独処理の実行時に、上記サーバ側画像送信部により上記サーバ側画像を送信したときに上記通信速度検出部により検出された通信速度を通信履歴記憶部に履歴として記憶させる記録部と、
     上記分散処理の実行時に、上記通信履歴記憶部に記憶されている通信速度の履歴に基づいて、上記サーバ側画像のデータ量を調整するデータ量調整部とを備え、
     上記サーバ側画像生成部は、上記配信要求受信部により上記配信要求を受信したときに、上記データ量調整部により調整されたデータ量となるように上記サーバ側画像の生成処理を行うことを特徴とする画像生成システム。
  7. 端末に表示させる表示画像の生成処理を上記端末とサーバとで分散して行い、上記端末で生成された端末側画像と上記サーバで生成されたサーバ側画像とを上記端末において合成して表示させるようになされた画像生成システムであって、
     上記端末は、
     画像の配信を要求する配信要求部と、
     上記端末側画像の生成処理を行う端末側画像生成部と、
     上記サーバ側画像を受信するサーバ側画像受信部と、
     上記端末側画像生成部により生成された上記端末側画像および上記サーバ側画像受信部により受信された上記サーバ側画像を合成することによって上記表示画像を生成する画像合成部と、
     上記表示画像を表示させる表示制御部とを備え、
     上記サーバは、
     上記端末から送られてくる画像の配信要求を受信する配信要求受信部と、
     上記配信要求受信部により上記配信要求を受信したときに、上記サーバ側画像の生成処理を行うサーバ側画像生成部と、
     上記サーバ側画像生成部により生成された上記サーバ側画像を上記端末に送信するサーバ側画像送信部と、
     上記表示画像の生成処理を上記端末と上記サーバとで分散して行うか否かを判定する判定部と、
     上記判定部による判定の結果に応じて、上記端末側画像と上記サーバ側画像とを別に生成してこれらを上記画像合成部で合成することによって上記表示画像を生成する分散処理、または、上記サーバ側画像だけで上記表示画像を生成する単独処理の何れかを実行するように制御する制御部と、
     上記端末と上記サーバとの間を接続する回線の通信速度を検出する通信速度検出部と、
     上記単独処理の実行時に、上記サーバ側画像送信部により上記サーバ側画像を送信したときに上記通信速度検出部により検出された通信速度を通信履歴記憶部に履歴として記憶させる記録部と、
     上記分散処理の実行時に、上記通信履歴記憶部に記憶されている通信速度の履歴に基づいて、上記サーバ側画像のデータ量を調整するデータ量調整部とを備え、
     上記サーバ側画像生成部は、上記配信要求受信部により上記配信要求を受信したときに、上記データ量調整部により調整されたデータ量となるように上記サーバ側画像の生成処理を行うことを特徴とする画像生成システム。
  8. 端末に表示させる表示画像の生成処理を上記端末とサーバとで分散して行い、上記端末で生成された端末側画像と上記サーバで生成されたサーバ側画像とを上記端末において合成して表示させるようになされた画像生成システムに適用される画像生成用プログラムであって、
     上記表示画像の生成処理を上記端末と上記サーバとで分散して行うか否かを判定する判定手段、
     上記判定手段による判定の結果に応じて、上記端末側画像と上記サーバ側画像とを合成することによって上記表示画像を生成する分散処理、または、上記サーバ側画像を上記表示画像として生成する単独処理の何れかを実行するように制御する制御手段、
     上記単独処理を実行して上記サーバから上記端末に上記サーバ側画像を送信したときの通信速度を履歴として通信履歴記憶部に記憶させる記録手段、および
     上記分散処理を実行して上記サーバ側画像を生成する際に、上記通信履歴記憶部に記憶されている通信速度の履歴に基づいて、上記サーバ側画像のデータ量を調整するデータ量調整手段
    としてコンピュータを機能させるための画像生成用プログラム。
PCT/JP2013/069799 2013-07-22 2013-07-22 画像生成システムおよび画像生成用プログラム WO2015011762A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/JP2013/069799 WO2015011762A1 (ja) 2013-07-22 2013-07-22 画像生成システムおよび画像生成用プログラム
JP2013553708A JP5481606B1 (ja) 2013-07-22 2013-07-22 画像生成システムおよび画像生成用プログラム
EP13890017.0A EP3026919A4 (en) 2013-07-22 2013-07-22 Image generation system and image generation-purpose program
US14/769,215 US20160001177A1 (en) 2013-07-22 2013-07-22 Image generation system and image generation-purpose program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/069799 WO2015011762A1 (ja) 2013-07-22 2013-07-22 画像生成システムおよび画像生成用プログラム

Publications (1)

Publication Number Publication Date
WO2015011762A1 true WO2015011762A1 (ja) 2015-01-29

Family

ID=50749993

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/069799 WO2015011762A1 (ja) 2013-07-22 2013-07-22 画像生成システムおよび画像生成用プログラム

Country Status (4)

Country Link
US (1) US20160001177A1 (ja)
EP (1) EP3026919A4 (ja)
JP (1) JP5481606B1 (ja)
WO (1) WO2015011762A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017120637A (ja) * 2015-12-31 2017-07-06 エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation モジュール処理方法およびシステム、並びに記録媒体
JP2021149753A (ja) * 2020-03-23 2021-09-27 グリー株式会社 コンピュータプログラム、サーバ装置、端末装置、及び方法

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9821222B1 (en) 2014-11-14 2017-11-21 Amazon Technologies, Inc. Coordination of content presentation operations
US10158700B1 (en) 2014-11-14 2018-12-18 Amazon Technologies, Inc. Coordination of content presentation operations
US9839843B1 (en) 2014-11-14 2017-12-12 Amazon Technologies, Inc. Coordination of content presentation operations
JP6161645B2 (ja) * 2015-01-20 2017-07-12 株式会社サミーネットワークス ゲーム制御プログラム、ゲーム制御装置及びゲーム制御方法
JP2016131756A (ja) * 2015-01-20 2016-07-25 株式会社サミーネットワークス ゲームサーバ、ゲーム制御プログラム及びゲーム制御方法
CN107368776B (zh) * 2017-04-28 2020-07-03 阿里巴巴集团控股有限公司 车辆定损图像获取方法、装置、服务器和终端设备
US11865434B2 (en) 2019-10-01 2024-01-09 Sony Interactive Entertainment Inc. Reducing latency in cloud gaming applications by overlapping receive and decode of video frames and their display at the client
US11458391B2 (en) 2019-10-01 2022-10-04 Sony Interactive Entertainment Inc. System and method for improving smoothness in cloud gaming applications
US11344799B2 (en) * 2019-10-01 2022-05-31 Sony Interactive Entertainment Inc. Scene change hint and client bandwidth used at encoder for handling video frames after a scene change in cloud gaming applications
US11539960B2 (en) 2019-10-01 2022-12-27 Sony Interactive Entertainment Inc. Game application providing scene change hint for encoding at a cloud gaming server
US10974142B1 (en) 2019-10-01 2021-04-13 Sony Interactive Entertainment Inc. Synchronization and offset of VSYNC between cloud gaming server and client
CN113419802B (zh) * 2021-06-21 2022-08-05 网易(杭州)网络有限公司 图集生成方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0869545A (ja) 1994-08-31 1996-03-12 Sony Corp 対話型画像提供方法
JP2006121267A (ja) * 2004-10-20 2006-05-11 Sharp Corp 連続再生システム
JP2008067290A (ja) 2006-09-11 2008-03-21 Victor Co Of Japan Ltd 画像表示システム、クライアント端末、および画像管理サーバ装置
JP2008148071A (ja) * 2006-12-11 2008-06-26 Dowango:Kk 表示装置、コメント表示方法、及びプログラム
JP2011199727A (ja) * 2010-03-23 2011-10-06 Mitsubishi Electric Corp 複数公衆回線を用いた高帯域動画伝送システムおよび方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7634531B2 (en) * 2002-01-23 2009-12-15 Ali Abdolsalehi Interactive internet browser based media broadcast
US9211473B2 (en) * 2008-12-15 2015-12-15 Sony Computer Entertainment America Llc Program mode transition
US9723319B1 (en) * 2009-06-01 2017-08-01 Sony Interactive Entertainment America Llc Differentiation for achieving buffered decoding and bufferless decoding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0869545A (ja) 1994-08-31 1996-03-12 Sony Corp 対話型画像提供方法
JP2006121267A (ja) * 2004-10-20 2006-05-11 Sharp Corp 連続再生システム
JP2008067290A (ja) 2006-09-11 2008-03-21 Victor Co Of Japan Ltd 画像表示システム、クライアント端末、および画像管理サーバ装置
JP2008148071A (ja) * 2006-12-11 2008-06-26 Dowango:Kk 表示装置、コメント表示方法、及びプログラム
JP2011199727A (ja) * 2010-03-23 2011-10-06 Mitsubishi Electric Corp 複数公衆回線を用いた高帯域動画伝送システムおよび方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3026919A4

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017120637A (ja) * 2015-12-31 2017-07-06 エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation モジュール処理方法およびシステム、並びに記録媒体
JP2021149753A (ja) * 2020-03-23 2021-09-27 グリー株式会社 コンピュータプログラム、サーバ装置、端末装置、及び方法
JP7250721B2 (ja) 2020-03-23 2023-04-03 グリー株式会社 コンピュータプログラム、サーバ装置、端末装置、及び方法

Also Published As

Publication number Publication date
JP5481606B1 (ja) 2014-04-23
EP3026919A4 (en) 2017-04-05
EP3026919A1 (en) 2016-06-01
JPWO2015011762A1 (ja) 2017-03-02
US20160001177A1 (en) 2016-01-07

Similar Documents

Publication Publication Date Title
JP5481606B1 (ja) 画像生成システムおよび画像生成用プログラム
US11012338B2 (en) Network adaptive latency reduction through frame rate control
JP6695449B2 (ja) ブラウザベースのクラウドゲーム
US10771565B2 (en) Sending application input commands over a network
US8549167B2 (en) Just-in-time transcoding of application content
EP2603848B1 (en) Cloning or extending a computer desktop on a wireless display surface
US9843825B1 (en) Distributed and synchronized media switching
CN104918072A (zh) 低延时实况视频流传输
WO2017107911A1 (zh) 一种视频云平台播放视频的方法及装置
JP2019135828A (ja) ビデオストリームからのビデオフレームをディスプレイ及び対応する機器に伝送する方法
JP2012521268A5 (ja)
US11201903B1 (en) Time synchronization between live video streaming and live metadata
US20150195531A1 (en) Encoding control apparatus and encoding control method
KR101931514B1 (ko) 웹 브라우저에서 미디어의 재생과 백업을 동시에 수행하는 장치 및 방법
TW201642942A (zh) 針對輸出裝置及網路品質的雲遊戲資料流動態調整
WO2017088394A1 (zh) 在线直播视频播放器及方法
JP2015130164A (ja) ネットワークを通してメディアを伝送するシステム及び方法
US20220355196A1 (en) Scan-out of server display buffer based on a frame rate setting for cloud gaming applications
JP6560696B2 (ja) データのセグメント受信を制御するクライアント、プログラム及び方法
JP6513054B2 (ja) コンテンツ配信システムのクライアント装置、コンテンツの取得方法及びプログラム
KR101480140B1 (ko) 멀티 인젝션 서버 및 그 방법
CN110536171B (zh) 互动场景中的多媒体处理方法、装置及电子设备
KR20130109904A (ko) 멀티스크린 기반의 다차원 게임 서비스 방법 및 그 장치

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2013553708

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 13890017

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14769215

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2013890017

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE