WO2022022729A1 - 渲染控制方法、设备以及系统 - Google Patents

渲染控制方法、设备以及系统 Download PDF

Info

Publication number
WO2022022729A1
WO2022022729A1 PCT/CN2021/109939 CN2021109939W WO2022022729A1 WO 2022022729 A1 WO2022022729 A1 WO 2022022729A1 CN 2021109939 W CN2021109939 W CN 2021109939W WO 2022022729 A1 WO2022022729 A1 WO 2022022729A1
Authority
WO
WIPO (PCT)
Prior art keywords
rendering
terminal device
moment
cloud
rendered image
Prior art date
Application number
PCT/CN2021/109939
Other languages
English (en)
French (fr)
Inventor
王新猴
余洲
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2022022729A1 publication Critical patent/WO2022022729A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images

Definitions

  • the present application relates to image rendering, and in particular, to a rendering control method, device, and system.
  • Rendering refers to the process of using software to generate an image from a model, where a model is a description of a three-dimensional object in a strictly defined language or data structure, including geometry, viewpoint, texture, and lighting information.
  • the images are digital images or bitmap images.
  • Rendering is a term similar to "an artist's rendering of a scene", and is also used to describe "the process of computing effects in a video editing file to produce the final video output”.
  • Rendering can include pre-rendering/offline rendering or real-time rendering/online rendering, where pre-rendering is usually used for real-world simulation with predetermined scripts such as movies and advertisements; real-time rendering is usually used Unscripted live-action simulation for flight training, 3D games, and interactive architectural demonstrations.
  • Rendering refers to the process of using software to generate an image from a model, where a model is a description of a three-dimensional object in a strictly defined language or data structure, including geometry, viewpoint, texture, and lighting information.
  • the images are digital images or bitmap images.
  • Rendering is a term similar to "an artist's rendering of a scene", and is also used to describe "the process of computing effects in a video editing file to produce the final video output”.
  • Rendering can include pre-rendering/offline rendering or real-time rendering/online rendering, where pre-rendering is usually used for real-world simulation with predetermined scripts such as movies and advertisements; real-time rendering is usually used Unscripted live-action simulation for flight training, 3D games, and interactive architectural demonstrations.
  • Real-time rendering requires very high computing speed. Taking a 3D game as an example, for a refresh rate of 30 frames per second, the time of each frame of image is about 33 milliseconds, so the rendering time of each frame of image must not exceed 33 milliseconds.
  • the ray tracing rendering method is usually used for real-time rendering. However, the method of ray tracing rendering is very resource intensive.
  • the present application provides a rendering control method, device, and system, which can effectively reduce resource requirements.
  • a cloud rendering control method is provided, which is applied to a cloud rendering system.
  • the cloud rendering system includes a terminal device and a cloud rendering platform, the cloud rendering platform is provided with a rendering application, and the terminal device is provided with a rendering application.
  • An application client where communication is established between the rendering application and the rendering application client, where the rendering application client is configured to display the rendered image rendered by the rendering application on the terminal device, and the method includes:
  • the cloud rendering platform may When the image rendering is stopped, the terminal device can repeatedly display the rendered image displayed at the first moment, thereby effectively reducing the waste of resources of the cloud rendering platform.
  • the terminal device acquires second operation data, where the second operation data is generated by the user operating the rendering application client at a second moment, and the second moment later than the first time; it is determined according to the second operation data that the difference between the rendered image to be displayed by the rendering application client after the second time and the rendered image displayed at the second time is greater than or equal to the
  • the preset threshold is set, and a rendering resumption instruction is sent to the cloud rendering platform to instruct the rendering application to resume image rendering.
  • the user who operates on the terminal device at the first moment and the user who operates on the terminal device at the second moment may be the same person or may not be the same person.
  • the user who operates on the terminal device at the first moment refers to a user who operates on the same terminal device with a unique device identifier.
  • the cloud rendering system further includes another terminal device, the other terminal device is provided with another rendering application client, the rendering application establishes communication with the another rendering application client, The another rendering application client is configured to display another rendered image rendered by the rendering application on the other terminal device; the method further includes:
  • the terminal device acquires another second operation data, wherein the other second operation data is the client of the other rendering application performed by the other user at another second moment resulting from the operation;
  • a threshold is set to stop repeatedly displaying the rendered image displayed at the other second moment, and send another rendering resumption instruction to the cloud rendering platform to instruct the rendering application to resume image rendering.
  • the rendering application client of the terminal device when another user operates another rendering application client on another terminal device, the rendering application client of the terminal device causes the image to be displayed after another second moment and the image displayed at the other second moment. If the difference between the rendered images is greater than or equal to the preset threshold, the cloud rendering platform is instructed to resume rendering, which can well prevent the operations of other users from not being displayed, causing the screen of the terminal device to jump.
  • the terminal device repeatedly displaying the rendered image displayed at the first moment includes: the terminal device repeatedly displaying the rendered image displayed at the first moment stored in itself.
  • the terminal device can repeatedly display the rendered image stored in itself, which can effectively reduce the computing resources required for the cloud rendering platform to repeatedly render the image, and the bandwidth required for the data sent by the cloud rendering platform to the terminal device. resource.
  • the terminal device repeatedly displaying the rendered image displayed at the first moment includes: the terminal device repeatedly receiving and displaying the rendered image displayed at the first moment sent by the cloud rendering platform.
  • the cloud rendering platform can repeatedly send the previously rendered rendered image displayed at the first moment to the terminal device, which can effectively reduce the computing resources required by the cloud rendering platform for image rendering.
  • the terminal device It is only necessary to display the received rendered image displayed at the first moment according to the original mechanism, and there is no need to additionally set up a repeated display mechanism to repeatedly display the rendered image displayed at the first moment stored in itself.
  • a cloud rendering control method is provided, which is applied to a cloud rendering system, where the cloud rendering system includes a terminal device and a cloud rendering platform, the cloud rendering platform is provided with a rendering application, and the terminal device is provided with A rendering application client, where communication is established between the rendering application and the rendering application client, the rendering application client is configured to display the rendered image rendered by the rendering application on the terminal device, and the method includes :
  • the cloud rendering platform receives a rendering pause instruction sent by the terminal device, wherein the rendering pause instruction is generated by the terminal device according to first operation data, and the first operation data is the user's response to the rendering at the first moment.
  • the first operation data is used to indicate that the difference between the rendered image to be displayed by the rendering application client after the first moment and the rendered image displayed at the first moment is less than preset threshold;
  • Image rendering is stopped according to the rendering pause instruction.
  • the cloud rendering platform receives a resumption rendering instruction sent by the terminal device, wherein the resumption rendering instruction is generated by the terminal device according to second operation data, and the second operation data is The second operation data is generated by the user operating the rendering application client at the second moment, and the second operation data is used to instruct the rendering application client to display the rendered image and the first rendering application after the second moment.
  • the difference between the rendered images displayed at two moments is greater than or equal to the preset threshold;
  • Image rendering is resumed according to the resume rendering instruction.
  • the cloud rendering system further includes another terminal device, the other terminal device is provided with another rendering application client, the rendering application establishes communication with the another rendering application client, The another rendering application client is configured to display another rendered image rendered by the rendering application on the other terminal device; the method further includes:
  • the cloud rendering platform receives another rendering pause instruction sent by the terminal device, wherein the other rendering pause instruction is generated by the terminal device according to another first operation data, and the another first operation data is in It is generated by another user operating the other rendering application client at another first moment, and the other first operation data is used to indicate that the rendering application client will display the display after the other first moment
  • the difference between the rendered image and the rendered image displayed at the other first moment is less than a preset threshold
  • Image rendering is stopped according to the another rendering pause instruction.
  • the method further includes:
  • the cloud rendering platform receives another resuming rendering instruction sent by the terminal device, wherein the other resuming rendering instruction is generated by the terminal device according to another second operation data, and the other second operation data is generated by the other user operating the other rendering application client at another second moment, and the other second operation data is used to indicate that the rendering application client is in the other second
  • the difference between the rendered image to be displayed after the moment and the rendered image displayed at the second second moment is greater than or equal to the preset threshold
  • Image rendering is resumed according to the another resume rendering instruction.
  • the method further includes:
  • the cloud rendering platform repeatedly sends the rendered image displayed at the first moment to the terminal device.
  • a cloud rendering control method is provided, which is applied to a cloud rendering system.
  • the cloud rendering system includes a terminal device and a cloud rendering platform.
  • the cloud rendering platform is provided with a rendering application
  • the terminal device is provided with a A rendering application client, where communication is established between the rendering application and the rendering application client, the rendering application client is configured to display the rendered image rendered by the rendering application on the terminal device, and the method includes :
  • the terminal device sends first operation data to the cloud rendering platform, wherein the first operation data is generated by the user operating the rendering application client at the first moment;
  • the rendered image displayed at the first moment is repeatedly displayed according to the repeated display command.
  • the terminal device sends second operation data to the cloud rendering platform, where the second operation data is generated by the user operating the rendering application client at the second moment ;
  • the cloud rendering system further includes another terminal device, the other terminal device is provided with another rendering application client, the rendering application establishes communication with the another rendering application client, The another rendering application client is configured to display another rendered image rendered by the rendering application on the other terminal device;
  • Receive another repeated display command sent by the cloud rendering platform wherein the other repeated display command is generated by the cloud rendering platform according to another first operation data, and the other first operand is used to indicate The difference between the rendered image to be displayed by the rendering application client after the other first moment and the rendered image displayed at the other first moment is less than a preset threshold; Describe another rendered image displayed at the first moment.
  • the terminal device sends another second operation data to the cloud rendering platform, wherein the other second operation data is the user's response to the other user at another second moment. Generated by the operation of another rendering application client;
  • Receive another display recovery command sent by the cloud rendering platform wherein the other display recovery command is generated by the cloud rendering platform according to the other second operation data, and the other second operand is instructing the rendering application client to display a difference between the rendered image to be displayed after the other second moment and the rendered image displayed at the other second moment greater than or equal to the preset threshold;
  • the repeated display of the rendered image displayed at the other second moment is stopped according to the another display resumption command.
  • the terminal device repeatedly displaying the rendered image displayed at the first moment includes: the terminal device repeatedly displaying the rendered image displayed at the first moment stored in itself.
  • the terminal device repeatedly displaying the rendered image displayed at the first moment includes: the terminal device repeatedly receiving and displaying the rendered image displayed at the first moment sent by the cloud rendering platform.
  • a cloud rendering control method is provided, which is applied to a cloud rendering system.
  • the cloud rendering system includes a terminal device and a cloud rendering platform.
  • the cloud rendering platform is provided with a rendering application
  • the terminal device is provided with a A rendering application client, where communication is established between the rendering application and the rendering application client, the rendering application client is configured to display the rendered image rendered by the rendering application on the terminal device, and the method includes :
  • the cloud rendering platform receives the first operation data sent by the terminal device, wherein the first operation data is generated by the user operating the rendering application client at the first moment;
  • the cloud rendering platform receives second operation data sent by the terminal device, where the second operation data is generated by the user operating the rendering application client at the second moment ;
  • a display resumption command is generated, and the display resumption command is sent to the terminal device, wherein the display resumption command is used to instruct the terminal device to stop repeatedly displaying the rendered image displayed at the second moment.
  • the cloud rendering system further includes another terminal device, the other terminal device is provided with another rendering application client, the rendering application establishes communication with the another rendering application client, The another rendering application client is configured to display another rendered image rendered by the rendering application on the other terminal device; the method further includes:
  • the cloud rendering platform receives another first operation data sent by the terminal device, wherein the other first operation data is generated by another user operating the other rendering application client at another first moment of;
  • the other repeated display command is sent to the terminal device, wherein the another repeated display command is used to instruct the terminal device to repeatedly display the another rendered image displayed at the first moment.
  • the method further includes:
  • the cloud rendering platform receives another second operation data sent by the terminal device, wherein the other second operation data is generated by the user operating the other rendering application client at another second moment of;
  • a fifth aspect provides a terminal device applied to a cloud rendering system
  • the cloud rendering system includes a terminal device and a cloud rendering platform
  • the cloud rendering platform is provided with a rendering application
  • the terminal device is provided with a rendering application client communication is established between the rendering application and the rendering application client
  • the rendering application client is used to display the rendered image rendered by the rendering application on the terminal device
  • the terminal device includes an acquisition module , determine module, display module and sending module,
  • the obtaining module is configured to obtain first operation data, wherein the first operation data is generated by the user operating the rendering application client at the first moment;
  • the determining module is configured to determine, according to the first operation data, that the difference between the rendered image to be displayed by the rendering application client after the first moment and the rendered image displayed at the first moment is smaller than a preset threshold,
  • the display module is configured to repeatedly display the rendered image displayed at the first moment
  • the sending module is configured to send a rendering pause instruction to the cloud rendering platform to instruct the rendering application to stop image rendering.
  • the obtaining module is configured to obtain second operation data, wherein the second operation data is generated by the user operating the rendering application client at a second moment, and the first The second time is later than the first time;
  • the determining module is configured to determine, according to the second operation data, that the difference between the rendered image to be displayed by the rendering application client after the second moment and the rendered image displayed at the second moment is greater than or equal to the predetermined difference. set a threshold,
  • the sending module is configured to send a rendering resumption instruction to the cloud rendering platform to instruct the rendering application to resume image rendering.
  • the cloud rendering system further includes another terminal device, the other terminal device is provided with another rendering application client, the rendering application establishes communication with the another rendering application client, The another rendering application client is configured to display another rendered image rendered by the rendering application on the other terminal device;
  • the obtaining module is configured to obtain another first operation data, wherein the another first operation data is generated by another user operating the other rendering application client at another first moment;
  • the determining module is configured to determine, according to the other first operation data, a difference between the rendered image to be displayed by the rendering application client after the other first moment and the rendered image displayed at the other first moment less than the preset threshold,
  • the display module is configured to repeatedly display the rendered image displayed at the other first moment
  • the sending module is configured to send another rendering pause instruction to the cloud rendering platform to instruct the rendering application to stop image rendering.
  • the terminal device acquires another second operation data, wherein the other second operation data is the client of the other rendering application performed by the other user at another second moment resulting from the operation;
  • the determining module is configured to determine, according to the other second operation data, a difference between the rendered image to be displayed by the rendering application client after the other second moment and the rendered image displayed at the other second moment greater than or equal to the preset threshold,
  • the display module is configured to stop repeatedly displaying the rendered image displayed at the other second moment
  • the sending module is configured to send another rendering resumption instruction to the cloud rendering platform to instruct the rendering application to resume image rendering.
  • the display module is configured to repeatedly display the rendered image displayed at the first moment stored in itself.
  • the terminal device further includes a receiving module
  • the receiving module is configured to repeatedly receive the rendered image displayed at the first moment sent by the cloud rendering platform
  • the display module is configured to display the rendered image displayed at the first moment sent by the cloud rendering platform.
  • a cloud rendering platform is provided, applied to a cloud rendering system, the cloud rendering system includes a terminal device and a cloud rendering platform, the cloud rendering platform is provided with a rendering application, and the terminal device is provided with a rendering An application client, where communication is established between the rendering application and the rendering application client, and the rendering application client is configured to display the rendered image rendered by the rendering application on the terminal device, including: a receiving module and render module,
  • the receiving module is configured to receive a rendering pause instruction sent by the terminal device, wherein the rendering pause instruction is generated by the terminal device according to first operation data, and the first operation data is the user's response at the first moment. Generated by the rendering application client performing an operation, the first operation data is used to indicate the difference between the rendered image to be displayed by the rendering application client after the first moment and the rendered image displayed at the first moment less than the preset threshold;
  • the rendering module is configured to stop image rendering according to the rendering pause instruction.
  • the receiving module is configured to receive a resumption rendering instruction sent by the terminal device, wherein the resumption rendering instruction is generated by the terminal device according to second operation data, and the second operation data is generated by the user operating the rendering application client at the second moment, and the second operation data is used to instruct the rendering application client to display the rendered image and the rendering application after the second moment.
  • the difference between the rendered images displayed at the second moment is greater than or equal to the preset threshold;
  • the rendering module is configured to resume image rendering according to the resume rendering instruction.
  • the cloud rendering system further includes another terminal device, the other terminal device is provided with another rendering application client, the rendering application establishes communication with the another rendering application client, The another rendering application client is configured to display another rendered image rendered by the rendering application on the other terminal device;
  • the receiving module is configured to receive another rendering pause instruction sent by the terminal device, wherein the another rendering pause instruction is generated by the terminal device according to another first operation data, and the other first operation
  • the data is generated by another user operating the other rendering application client at another first moment, and the other first operation data is used to instruct the rendering application client at the other first moment
  • the difference between the rendered image to be displayed later and the rendered image displayed at the other first moment is less than a preset threshold
  • the rendering module is configured to stop image rendering according to the another rendering pause instruction.
  • the method further includes:
  • the receiving module is configured to receive another resuming rendering instruction sent by the terminal device, wherein the other resuming rendering instruction is generated by the terminal device according to another second operation data, and the other second operation
  • the data is generated by the other user operating the other rendering application client at another second moment, and the other second operation data is used to instruct the rendering application client to perform an operation on the other rendering application client at the other second moment.
  • the difference between the rendered image to be displayed after two moments and the rendered image displayed at the second second moment is greater than or equal to the preset threshold;
  • the rendering module is used for resuming image rendering according to the other resuming rendering instruction.
  • the cloud rendering platform further includes a sending module, and the sending module is configured to repeatedly send the rendered image displayed at the first moment to the terminal device.
  • a terminal device is provided, applied to a cloud rendering system, the cloud rendering system includes a terminal device and a cloud rendering platform, the cloud rendering platform is provided with a rendering application, and the terminal device is provided with a rendering application client communication is established between the rendering application and the rendering application client, the rendering application client is used to display the rendered image rendered by the rendering application on the terminal device, and the terminal device includes a sending module , receiving module and display module,
  • the sending module is configured to send first operation data to the cloud rendering platform, wherein the first operation data is generated by the user operating the rendering application client at the first moment;
  • the receiving module is configured to receive a repeated display command sent by the cloud rendering platform, wherein the repeated display command is generated by the cloud rendering platform according to the first operation data, and the first operand is used to indicate the The difference between the rendered image to be displayed by the rendering application client after the first moment and the rendered image displayed at the first moment is less than a preset threshold;
  • the display module is configured to repeatedly display the rendered image displayed at the first moment according to the repeated display command.
  • the terminal device sends second operation data to the cloud rendering platform, where the second operation data is generated by the user operating the rendering application client at the second moment ;
  • the receiving module is configured to receive a resume display command sent by the cloud rendering platform, wherein the resume display command is generated by the cloud rendering platform according to the second operation data, and the second operand is used to indicate The difference between the rendered image to be displayed by the rendering application client after the second moment and the rendered image displayed at the second moment is greater than or equal to a preset threshold;
  • the display module is configured to stop repeatedly displaying the rendered image displayed at the second moment according to the display resumption command.
  • the cloud rendering system further includes another terminal device, the other terminal device is provided with another rendering application client, the rendering application establishes communication with the another rendering application client, The another rendering application client is configured to display another rendered image rendered by the rendering application on the other terminal device;
  • the receiving module is configured to receive another repeated display command sent by the cloud rendering platform, wherein the other repeated display command is generated by the cloud rendering platform according to another first operation data, and the other repeated display command is generated by the cloud rendering platform according to another first operation data.
  • An operand is used to indicate that the difference between the rendered image to be displayed by the rendering application client after the other first moment and the rendered image displayed at the other first moment is less than a preset threshold;
  • the display module is configured to repeatedly display the rendered image displayed at the other first moment according to the another repeated display command.
  • the terminal device sends another second operation data to the cloud rendering platform, wherein the other second operation data is the user's response to the other user at another second moment. Generated by the operation of another rendering application client;
  • the receiving module is configured to receive another display restoration command sent by the cloud rendering platform, wherein the other restoration display command is generated by the cloud rendering platform according to the other second operation data, and the other display restoration command is generated by the cloud rendering platform according to the other second operation data.
  • a second operand is used to indicate that the difference between the rendered image to be displayed by the rendering application client after the other second time and the rendered image displayed at the other second time is greater than or equal to the preset threshold ;
  • the display module is configured to stop the repeated display of the rendered image displayed at the other second moment according to the another display resumption command.
  • the display module is configured to repeatedly display the rendered image displayed at the first moment stored in itself.
  • the receiving module is configured to repeatedly receive the rendered image displayed at the first moment sent by the cloud rendering platform
  • the display module is configured to display the rendered image displayed at the first moment sent by the cloud rendering platform.
  • An eighth aspect provides a cloud rendering platform, applied to a cloud rendering system
  • the cloud rendering system includes a terminal device and a cloud rendering platform
  • the cloud rendering platform is provided with a rendering application
  • the terminal device is provided with a rendering application A client, establishes communication between the rendering application and the rendering application client, and the rendering application client is used to display the rendered image rendered by the rendering application on the terminal device, including a receiving module, a determining module , rendering module, generating module and sending module,
  • the receiving module is configured to receive the first operation data sent by the terminal device, wherein the first operation data is generated by the user operating the rendering application client at the first moment;
  • the determining module is configured to determine, according to the first operation data, that the difference between the rendered image to be displayed by the rendering application client after the first moment and the rendered image displayed at the first moment is smaller than a preset threshold;
  • the rendering module is used to stop image rendering
  • the generating module is used to generate repeated display commands
  • the sending module is configured to send the repeated display command to the terminal device, wherein the repeated display command is used to instruct the terminal device to repeatedly display the rendered image displayed at the first moment.
  • the cloud rendering platform receives second operation data sent by the terminal device, where the second operation data is generated by the user operating the rendering application client at the second moment ;
  • the determining module is configured to determine, according to the second operation data, that the difference between the rendered image to be displayed by the rendering application client after the second time and the rendered image displayed at the second time is greater than or equal to the predetermined difference. set threshold;
  • the rendering module is used for resuming image rendering
  • the generating module is used to generate a recovery display command
  • the sending module is configured to send the display resumption command to the terminal device, wherein the display resumption command is used to instruct the terminal device to stop repeatedly displaying the rendered image displayed at the second moment.
  • the cloud rendering system further includes another terminal device, the other terminal device is provided with another rendering application client, the rendering application establishes communication with the another rendering application client, The another rendering application client is configured to display another rendered image rendered by the rendering application on the other terminal device;
  • the receiving module is configured to receive another first operation data sent by the terminal device, wherein the other first operation data is that another user operates the other rendering application client at another first moment produced;
  • the determining module is configured to determine, according to the other first operation data, a difference between the rendered image to be displayed by the rendering application client after the other first moment and the rendered image displayed at the other first moment less than the preset threshold;
  • the rendering module is used to stop image rendering
  • the generating module is used for generating another repeated display command
  • the sending module is configured to send the other repeated display command to the terminal device, wherein the another repeated display command is used to instruct the terminal device to repeatedly display the another rendered image displayed at the first moment.
  • the receiving module is configured to receive another second operation data sent by the terminal device, wherein the other second operation data is the user's response to the other operation data at another second moment.
  • a rendering application client performs an operation
  • the determining module is configured to determine, according to the other second operation data, a difference between the rendered image to be displayed by the rendering application client after the other second moment and the rendered image displayed at the other second moment greater than or equal to the preset threshold;
  • the rendering module is used for resuming image rendering
  • the generating module is used to generate another restoration display command
  • the sending module is configured to send the other display restoration command to the terminal device, wherein the another display restoration command is used to instruct the terminal device to stop repeatedly displaying the rendered image displayed at the second moment .
  • a terminal device in a ninth aspect, includes a processor and a memory, the processor executes a program in the memory, thereby executing the method according to any one of the first aspect or the third aspect .
  • a cloud rendering platform includes a plurality of cloud rendering nodes, each cloud rendering node includes a processor and a memory, the processor executes a program in the memory, thereby executing the following steps: The method of any one of the second aspect or the fourth aspect.
  • a computer-readable storage medium which is characterized by comprising instructions, when the instructions are executed on a terminal device, the terminal device is caused to perform any one of the first aspect or the third aspect the method described.
  • a twelfth aspect provides a computer-readable storage medium, characterized by comprising instructions, when the instructions are executed on a cloud rendering node, the cloud rendering node causes the cloud rendering node to perform any one of the second aspect or the fourth aspect. one of the methods described.
  • a thirteenth aspect provides a cloud rendering system, including a terminal device, a network device, and a cloud rendering platform, wherein the terminal device is connected to the cloud rendering platform through the network device, and the cloud rendering platform includes a plurality of Cloud rendering node, when the terminal device is used to execute the method of any one of the first aspect, the cloud rendering node is used to execute the method of any one of the second aspect; when the terminal device is used to In the method of any one of the third aspect, the cloud rendering node is configured to execute the method of any one of the fourth aspect.
  • FIGS. 1A-1B are schematic structural diagrams of some cloud rendering systems provided by the present application.
  • FIG. 2 is a schematic flowchart of a cloud rendering method provided by the present application.
  • FIG. 3 is a schematic diagram of observing a rendering scene from different angles provided by the present application.
  • FIG. 4 is a schematic flowchart of a first cloud rendering control method provided by the present application.
  • FIG. 5 is a schematic structural diagram of a prediction model provided by the application.
  • FIG. 6 is a schematic flowchart of a second cloud rendering control method provided by the present application.
  • FIG. 7 is a schematic flowchart of a third cloud rendering control method provided by the present application.
  • FIG. 8 is a schematic flowchart of a fourth cloud rendering control method provided by the present application.
  • FIG. 9 is a schematic diagram of a cloud rendering system provided by the present application.
  • FIG. 10 is a schematic diagram of another cloud rendering system provided by the present application.
  • FIG. 11 is a structural block diagram of an intelligent terminal of an implementation
  • Figure 12 is a structural block diagram of a computer of an implementation
  • FIG. 13 is a structural block diagram of a cloud rendering platform in an implementation manner.
  • FIG. 1A is a schematic structural diagram of a cloud rendering system involved in the present application.
  • the cloud rendering system of the present application is used for a 2D image obtained by rendering a 3D model of a rendered scene by a rendering method, that is, a rendered image.
  • the rendering method may include ray tracing rendering and the like.
  • the cloud rendering system of the present application may include: a terminal device 110 , a network device 120 and a cloud rendering platform 130 .
  • the terminal device 110 is a client that can run a rendering application.
  • the rendering application client is an intermediary between the user and the server.
  • the user inputs an instruction to the rendering application client, and the rendering application client translates the instruction into data and sends it to the cloud rendering platform 130.
  • Cloud rendering The platform 130 returns the rendered image after processing the data, and then the rendered image is presented to the user by the rendering application client, such as game application client, VR application client, movie special effect application client, animation application client, etc. Wait.
  • the number of terminal devices 110 may be one or multiple.
  • a rendering application client may be installed on one terminal device 110, and the rendering application client on the terminal device 110 may communicate with the rendering application in the cloud rendering platform 130, and another rendering application client may be installed on the terminal device 110.
  • Another rendering application client may be installed on a terminal device 110 , and the rendering application client on the other terminal device 110 may also communicate with the rendering application in the cloud rendering platform 130 .
  • the terminal device 110 may be a virtual reality device (Virtual Reality, VR) for displaying flight training scenarios, a computer for displaying virtual game scenarios, and a smartphone for displaying virtual shopping mall scenarios etc., which are not specifically limited here.
  • the terminal device can be a device with high configuration and high performance (for example, multi-core, high frequency, large memory, etc.), or a device with low configuration and low performance (for example, single core, low frequency, small memory, etc.) equipment.
  • the network device 120 is used to transmit data between the terminal device 110 and the cloud rendering platform 23 through a communication network of any communication mechanism/communication standard.
  • the communication network may be a wide area network, a local area network, a point-to-point connection, etc., or any combination thereof.
  • the cloud rendering platform 130 includes a plurality of cloud rendering nodes, and each cloud rendering node includes rendering hardware, a virtualization service, a rendering engine, and a rendering server application from bottom to top. in,
  • Rendering hardware includes computing resources, storage resources, and network resources.
  • the computing resources can adopt a heterogeneous computing architecture, for example, a central processing unit (Central Processing Unit, CPU) + graphics processing unit (Graphics Processing Unit, GPU) architecture, CPU+AI chip, CPU+GPU+AI chip architecture, etc. , which is not specifically limited here.
  • Storage resources can include memory and so on.
  • computing resources may be divided into multiple computing unit resources, storage resources may be divided into multiple storage unit resources, and network resources may be divided into multiple network unit resources. Therefore, the cloud rendering platform can be freely combined on the basis of unit resources according to the user's resource requirements, so as to provide resources according to the user's needs.
  • computing resources can be divided into 5u computing unit resources, and storage resources can be divided into 10G storage unit resources, then the combination of computing resources and storage resources can be, 5u+10G, 5u+20G, 5u+30u, ..., 10u +10G, 10u+20G, 10u+30u, ....
  • Virtualization service is a service that builds the resources of multiple physical hosts into a unified resource pool through virtualization technology, and flexibly isolates independent resources according to the needs of users to run the user's application program.
  • the virtualization service may include a virtual machine (Virtual Machine, VM) service, a bare metal server (Bare Metal Server, BMS) service, and a container (Container) service.
  • the VM service may be a service that virtualizes a virtual machine (Virtual Machine, VM) resource pool on multiple physical hosts by using a virtualization technology to provide a user with a VM for use on demand.
  • the BMS service is a service that virtualizes a BMS resource pool on multiple physical hosts to provide users with a BMS for use on demand.
  • Container service is a service that virtualizes container resource pools on multiple physical hosts to provide users with containers for use on demand.
  • a VM is a simulated virtual computer, that is, a logical computer.
  • BMS is an elastically scalable high-performance computing service. Its computing performance is the same as that of traditional physical machines, and it has the characteristics of safe physical isolation.
  • Containers are a kernel virtualization technology that provides lightweight virtualization to isolate user space, processes, and resources. It should be understood that the VM services, BMS services and container services in the above-mentioned virtualization services are only specific examples. In practical applications, the virtualization services can also be other lightweight or heavyweight virtualization services, which are not described here. limited.
  • Rendering engines can be used to implement image rendering algorithms, eg, Optix, Unity, etc.
  • the rendering server application can be used to call the rendering engine to complete the rendering of the rendered image.
  • Common rendering server applications include: game server applications, VR server applications, movie special effects server applications, and animation server applications.
  • a management device 140 may also be included.
  • the management device 140 may be a third-party device, for example, providing a 3D game
  • the application, the game developer's device, etc., are not specifically limited here.
  • FIG. 2 is a schematic flowchart of a cloud rendering method provided by the present application. As shown in Figure 2, the cloud rendering method of the present application includes the following steps:
  • the terminal device sends a rendering request to the network device.
  • the network device receives the rendering request sent by the terminal device.
  • the network device sends a rendering request to the cloud rendering platform.
  • the cloud rendering platform receives the rendering request sent by the network device.
  • the cloud rendering platform performs rendering according to the rendering request to obtain a rendered image.
  • S104 The cloud rendering platform sends the rendered image to the network device.
  • the network device receives the rendered image sent by the cloud rendering platform.
  • the network device sends the rendered image to the terminal device.
  • the terminal device receives the rendered image sent by the network device.
  • the terminal device can be connected to the cloud rendering platform through the network device, perform complex rendering work with the help of the powerful hardware of the cloud rendering platform to obtain the rendered image, and then transmit the rendered image to the terminal device, Therefore, the terminal device only needs to have ordinary computing capability.
  • the cloud rendering system separates the computing load from the terminal device, and the operation of the rendering application is no longer subject to the hardware capabilities of the terminal device, which is beneficial to the development, promotion and sales of the rendering application.
  • the cloud rendering platform is continuously rendering, that is to say, even when the game screen is in a static state, it will still be rendered repeatedly, which requires huge computing resources.
  • the cloud rendering platform and terminal equipment It also needs to continuously transmit data (including rendering requests and rendering images), which requires a lot of network resources and storage resources.
  • the present application proposes a cloud rendering control method, device and system, which can effectively reduce the demand for resources.
  • the rendering scene may be a game scene, a virtual shopping mall scene, a simulated actual combat scene, etc.
  • the rendering scene includes at least one light source and at least one 3D model.
  • the game character in the game scene is a 3D model
  • the lake is a 3D model.
  • Models, mountains are 3D models
  • monsters are 3D models, etc.
  • the viewing angle is the angle from which the user observes the rendered scene. It goes without saying that when the viewing angle is the same and the rendered scene is different, the rendered image will be different. This is very easy to understand, and no additional examples are given here. When the rendered scene is the same and the viewing angle is different, the rendered image will also be different.
  • the rendered scene can be as shown in (a) in Figure 3.
  • the obtained rendered image is shown in (b) of FIG. 3
  • the obtained rendered image is shown as (c) of FIG. 3 .
  • the rendered scene is the same, and the viewing angle is the same, the rendered image is also the same.
  • the change of the rendering scene will affect the change of the rendered image. However, there are many factors that affect whether the rendering scene changes. Different rendering scenes have different influencing factors. Taking the rendering scene as a game scene as an example, whether the rendering scene changes may be caused by the following factors: whether the position of the game character operated by the user has changed, whether the angle at which the user observes the rendering scene has changed, or whether the game auxiliary operation has occurred. Whether there has been a change, whether the operation of others has caused a change.
  • the rendered scene will change, and if the position of the game character operated by the user does not change, the rendered scene will not change.
  • the rendered scene will change. If the angle at which the game character operated by the user observes the rendered scene does not change, the rendered scene will not change. change.
  • the auxiliary operation of the game changes, the rendered scene will change, and if the auxiliary operation of the game does not change, the rendered scene will not change.
  • the rendered scene will change.
  • the game scene will change.
  • the game auxiliary operation assuming that the game character changing operation is performed, obviously, the game scene will change. From the perspective of the game character observing the rendered scene, assuming that the game character operated by the user changes from looking up at the sky to looking down at the ground, obviously, the game scene will change.
  • the game characters operated by the user and the game characters operated by others are killing monsters by the lake. Obviously, killing monsters by others will also cause the game scene to change. .
  • the changes of the game scene caused by the position of the game character, the auxiliary operation of the game, and the operation of others are only specific examples, and are not specifically limited here.
  • x 1 is the first abscissa of the game character on the screen (display screen or touch screen)
  • y 1 is the first ordinate of the game character on the screen (display screen or touch screen)
  • x 2 is the game character on the screen ( The second abscissa in the display screen or the touch screen)
  • y 2 is the second ordinate of the game character in the screen (the display screen or the touch screen).
  • Front, back, left and right when the terminal device is a VR device, the user can control the character to move forward, back, left and right through the handle or gesture detection.
  • the above-mentioned traveling mode of the game character is only an example.
  • the left and right buttons of the mouse may also be used to control the game character to move forward and backward, etc., which is not specifically limited here.
  • Whether the game auxiliary operation has changed can be detected by the following methods: Suppose the game has n game auxiliary operations P 1 , P 2 ,...,P n , if the game auxiliary operation P i is not executed, then the game auxiliary operation It can be recorded as 0, and if the game auxiliary operation of P i is executed, the game auxiliary operation can be recorded as 1.
  • the game auxiliary operation may refer to operations such as changing clothes for the game character, adding special effects of fireworks, adding attacking weapons to the game character, and so on.
  • the terminal device is a computer
  • the user can use shortcut keys to perform game auxiliary operations, or click the game menu with a mouse to perform game auxiliary operations.
  • the terminal device is a VR device, the user can perform game auxiliary operation through handle or gesture detection.
  • each model can be other game characters or environmental features, etc., denoted as M 1 , M 2 ,...,M n .
  • the position of the game character, the angle from which the game character observes the rendered scene, the game auxiliary operation, and the operation of others are used as examples for description.
  • the influencing factors of whether the rendering scene changes may also be It is the change caused by the timing operation of the game, for example, the change caused by the game timing a monster, which is not specifically limited here.
  • FIG. 4 is a schematic flowchart of the first cloud rendering control method provided by the present application.
  • the cloud rendering system of this embodiment includes a terminal device and a cloud rendering platform, the cloud rendering platform is provided with a rendering application, the terminal device is provided with a rendering application client, and there is a connection between the rendering application and the rendering application client. Communication is established, and the rendering application client is configured to display the rendered image rendered by the rendering application on the terminal device.
  • the cloud rendering control method of this embodiment can be implemented on the cloud rendering system shown in FIG. 1A or FIG. 1B , including the following steps:
  • the terminal device acquires first operation data, wherein the first operation data is generated according to the operation state of the rendering application client by the user at the first moment.
  • a user may refer to a person using a terminal device, and the person using the terminal device may be the same person or a different person.
  • the rendering application client is a game application client installed in a personal computer
  • the person who uses the rendering application client can be the same
  • the rendering application client is a movie special effect application client installed in a company computer
  • the person using the rendering application client may change, that is, different employees take turns to operate the rendering application client.
  • the first operation data may include first user position data, first viewing angle direction data, and first game auxiliary operation data.
  • the first user position data is used to indicate whether the position of the game character changes due to a user operation at the first moment.
  • the first user position data When represented by binary data, when the first user position data is "0", it means that there is no change in the position of the game character due to the user's operation at the first moment, and when the first user position data is "1", it means that the first user position data is "1".
  • the position of the game character changes at a moment due to user operation.
  • the first viewing angle direction data is used to indicate whether the viewing angle of the game character viewing the game scene has changed due to a user operation at the first moment.
  • the first viewing angle direction data when represented by binary data, when the first viewing angle direction data is "0", it means that the viewing angle of the game character observing the game scene does not change due to the user's operation at the first moment, and when the first viewing angle direction data is "1", Indicates that the viewing angle of the game character to observe the game scene has changed due to the user's operation at the first moment.
  • the first game auxiliary operation data is used to indicate whether the rendering scene has changed due to the user auxiliary operation at the first moment.
  • the terminal device determines, according to the first operation data, that the difference between the rendered image to be displayed by the rendering application client after the first moment and the rendered image displayed at the first moment is smaller than a preset threshold.
  • the difference between the rendered image to be displayed by the rendering application client after the first moment and the rendered image displayed at the first moment is less than a preset threshold means that the rendering application client is in There is no difference between the rendered image to be displayed after the first moment and the rendered image displayed at the first moment, or there is little difference.
  • no difference means that the rendered image to be displayed after the first moment is exactly the same as the rendered image displayed at the first moment, that is, the residual image obtained by subtracting the rendered image displayed at the first moment from the rendered image to be displayed after the first moment
  • the elements in the difference image are all zero, and the difference is small, which means that the rendered image to be displayed after the first moment is not exactly the same as the rendered image displayed at the first moment, that is, the rendered image to be displayed after the first moment minus the
  • the elements in the residual image obtained from the rendered image displayed at the first moment are not all zero, but this difference is difficult to be found by the naked eye.
  • the length of the time interval between the first moment and the time after the first moment can be set as required, for example, it can be 30 milliseconds, 1 second, 2 seconds, and so on.
  • the length of the time interval between the first moment and the time after the first moment may be separated by one frame of images, two frames of images or more.
  • the difference between the rendered image to be displayed by the rendering application client after the first moment and the rendered image displayed at the first moment is smaller than a preset threshold
  • y 1 is the first prediction result
  • x 1 is the first operation data
  • f( ) contains the mapping relationship between the first operation data and the first prediction result.
  • the prediction model may include deep neural networks (DNN).
  • DNN deep neural networks
  • the deep neural network includes an input layer, a hidden layer and an output layer.
  • the input of the input layer is the first operand x 1
  • the input layer does not perform any processing.
  • the input layer may be processed such as normalization, which is not specifically limited here.
  • W l is the weight vector of the lth layer
  • b l is the bias vector of the lth layer
  • a l+1 is the intermediate vector of the l+1th layer
  • f l+1 is the excitation of the l+1th layer function
  • Z l+1 is the hidden layer result of the l+1th layer.
  • the excitation function can be any one of a sigmoid function, a hyperbolic tangent function, a Relu function, an ELU (Exponential Linear Units) function, and the like.
  • the prediction result Z L of the Lth layer is specifically (z 1 , z 2 ), where z 1 is used to indicate that the image content of the rendered image of the next frame of the rendering client application and the image content of the rendered image of the current frame are not If there is a change, z 2 is used to indicate that the screen content of the rendered image of the next frame of the rendering client application and the screen content of the rendered image of the current frame have changed, then the predicted results of the running data obtained by the softmax function z 1 and z The observed probability of 2 is:
  • the first prediction result y1 is the prediction result z1 ; when the observation probability of the prediction result z1 is less than or equal to the observation probability of the prediction result z2 , The first prediction result y 1 is the prediction result z 2 .
  • the prediction model can be trained as follows: For a single training, because the output of the prediction model is as close as possible to the real desired prediction result, the known operating data can be input into the prediction model to obtain the predicted value, and Take the corresponding known prediction result as the real desired target value, compare the predicted value and the target value, and then update the weight vector of each layer of the deep neural network in the prediction model according to the difference between the two (of course, Before the first update, there is usually an initialization process, that is, pre-configuring parameters for each layer in the prediction model). Adjust continuously according to the above method until the difference between the predicted value output by the prediction model and the target value is sufficiently small.
  • the terminal device sends a rendering pause instruction to the cloud rendering platform through the network device.
  • the cloud rendering platform receives a rendering pause instruction sent by the terminal device through the network device.
  • S205 The cloud rendering platform stops image rendering according to the rendering pause instruction.
  • S206 The terminal device acquires second operation data, wherein the second operation data is generated according to an operation state of the user on the rendering application client at the second moment.
  • the users who use the terminal device at the first moment and at the second moment may be the same person or may not be the same person.
  • the second operation data may include second user position data, second viewing angle direction data, and second game auxiliary operation data.
  • the second user position data is used to indicate whether the position of the game character changes due to a user operation at the second moment.
  • the second user position data When represented by binary data, when the second user position data is "0", it means that there is no change in the position of the game character due to the user's operation at the second moment, and when the second user position data is "1", it means that the second user position data is "1".
  • the position of the game character changes due to user operation.
  • the second viewing angle direction data is used to indicate whether the viewing angle of the game character viewing the game scene has changed due to the user operation at the second moment.
  • the second viewing angle direction data when represented by binary data, when the second viewing angle direction data is "0", it means that there is no change in the viewing angle of the game character viewing the game scene caused by the user's operation at the second moment, and when the second viewing angle direction data is "1", Indicates that the viewing angle of the game character observing the game scene has changed due to the user's operation at the second moment.
  • the second game auxiliary operation data is used to indicate whether the rendering scene has changed due to the user auxiliary operation at the second moment.
  • the terminal device determines, according to the second operation data, that the difference between the rendered image to be displayed by the rendering application client after the second moment and the rendered image displayed at the second moment is greater than or equal to a preset threshold.
  • the difference between the rendered image to be displayed by the rendering application client after the second moment and the rendered image displayed at the second moment is greater than or equal to a preset threshold means: the rendering application client
  • the rendered image to be displayed by the terminal after the second moment is quite different from the rendered image displayed at the second moment.
  • the large difference is that most of the elements in the residual image obtained by subtracting the rendered image displayed at the second time from the rendered image to be displayed after the second time are not zero, and the human eye can easily detect this difference.
  • the length of the time interval between the second moment and the second moment can be set as required, for example, it can be 30 milliseconds, 1 second, 2 seconds, and so on.
  • the second time and the time interval after the second time may be separated by 1 frame, 2 frames or more.
  • the difference between the rendered image to be displayed by the rendering application client after the second moment and the rendered image displayed at the second moment is greater than or equal to a predetermined difference.
  • the method of setting the threshold is:
  • y 2 is the second prediction result
  • x 2 is the second operation data
  • f( ) includes the mapping relationship between the second operation data and the second prediction result.
  • the specific process of using the prediction model for prediction, and the training process of the prediction model is similar to the process of using the prediction model for prediction in step S202, and the training process of the prediction model is similar. For details, please refer to step S202, which is not repeated here. Expand the description.
  • the second moment is later than the first moment, and if from the first moment to the second moment, the rendered image to be displayed at the first moment and the rendered image to be displayed at the second moment have no difference or little difference. , then, the rendered image displayed at the first moment and the rendered image displayed at the second moment may be the same frame of rendered image.
  • S209 The terminal device sends a rendering resume instruction to the cloud rendering platform through the network device.
  • the cloud rendering platform receives the resume rendering instruction sent by the terminal device through the network device.
  • S210 The cloud rendering platform resumes image rendering according to the resume rendering instruction, thereby obtaining a new rendered image.
  • the cloud rendering platform sends the new rendered image to the terminal device.
  • the terminal device receives the new rendered image sent by the cloud rendering platform.
  • S212 The terminal device displays the new rendered image sent by the cloud rendering platform at the third moment.
  • the prediction model can be trained offline and then set in the terminal device.
  • the cloud rendering platform stops image rendering, and the terminal device repeatedly displays the rendered image stored in the first moment displayed by itself, which can effectively reduce the waste of computing resources of the cloud rendering platform, and can effectively It can greatly reduce the bandwidth resources required for data transmission between the terminal device and the cloud rendering platform.
  • the terminal device repeatedly displays the rendered image displayed at the first moment stored by itself as an example for description.
  • the terminal device may also repeatedly receive the display at the first moment sent by the cloud rendering platform.
  • the bandwidth resources required for data transmission between the terminal device and the cloud rendering platform need to be occupied as soon as possible.
  • the terminal device only needs to normally receive the rendered image displayed at the first moment. Terminal equipment improvements.
  • FIG. 6 is a schematic flowchart of a second cloud rendering control method provided by the present application.
  • the cloud rendering system of this embodiment includes a terminal device and a cloud rendering platform, the cloud rendering platform is provided with a rendering application, the terminal device is provided with a rendering application client, and there is a connection between the rendering application and the rendering application client. Communication is established, and the rendering application client is configured to display the rendered image rendered by the rendering application on the terminal device.
  • the cloud rendering control method of this embodiment can be implemented on the cloud rendering system shown in FIG. 1A or 1B, including the following steps:
  • the terminal device acquires first operation data, wherein the first operation data is generated according to the operation state of the rendering application client by the user at the first moment.
  • S302 The terminal device sends the first operation data to the cloud rendering platform.
  • the cloud rendering platform receives the first operation data sent by the terminal device.
  • the cloud rendering platform determines, according to the first operation data, that the difference between the rendered image to be displayed by the rendering application client after the first moment and the rendered image displayed at the first moment is smaller than a preset threshold.
  • the difference between the rendered image to be displayed by the rendering application client after the first moment and the rendered image displayed at the first moment is smaller than a preset threshold
  • y 1 is the first prediction result
  • x 1 is the first operation data
  • f( ) contains the mapping relationship between the first operation data and the first prediction result.
  • S305 The cloud rendering platform sends a repeated display command to the terminal device through the network device.
  • the terminal device receives the repeated display command sent by the cloud rendering platform through the network device.
  • the terminal device According to the repeated display command, the terminal device repeatedly displays the rendered image displayed at the first moment stored in itself.
  • S307 The terminal device acquires second operation data, wherein the second operation data is generated according to an operation state of the rendering application client by the user at the second moment.
  • S308 The terminal device sends the second operation data to the cloud rendering platform.
  • the cloud rendering platform receives the second operation data sent by the terminal device.
  • the cloud rendering platform determines, according to the second operation data, that the difference between the rendered image to be displayed by the rendering application client after the second moment and the rendered image displayed at the second moment is greater than or equal to a preset threshold.
  • the second operation data is input into a prediction model, so as to obtain a second prediction result, wherein the second prediction result is used to indicate that the rendering application client will display after the second moment Whether the difference between the rendered image displayed at the second moment and the rendered image displayed at the second moment is greater than or equal to the preset threshold, specifically expressed as:
  • y 2 is the second prediction result
  • x 2 is the second operation data
  • f( ) includes the mapping relationship between the second operation data and the second prediction result.
  • the cloud rendering platform sends a display restoration command and a new rendered image to the terminal device through the network device.
  • the terminal device receives the display restoration command and the new rendered image sent by the cloud rendering platform through the network device.
  • S312 The terminal device stops repeatedly displaying the rendered image displayed at the second moment stored in itself according to the display resumption command, and displays the new image.
  • the prediction model is set in the cloud rendering platform, and offline training or online training is adopted.
  • the cloud rendering platform stops image rendering, and the terminal device repeatedly displays the rendered image stored in the first moment displayed by itself, which can effectively reduce the waste of computing resources of the cloud rendering platform, and can effectively It can effectively reduce the bandwidth resources required for data transmission between the terminal device and the cloud rendering platform, and setting the prediction model on the cloud rendering platform can effectively reduce the requirements for the terminal device and help reduce the cost of the terminal device.
  • the above-mentioned cloud rendering control methods shown in FIG. 4 and FIG. 6 can be applied in a single-machine mode or a multi-machine mode.
  • FIG. 7 is a schematic flowchart of a second cloud rendering control method provided by the present application.
  • the cloud rendering control method of this embodiment is applied to a cloud rendering system, where the cloud rendering system includes a terminal device and a cloud rendering platform, the cloud rendering platform is provided with a rendering application, and the terminal device is provided with a rendering application client, Communication is established between the rendering application and the rendering application client, where the rendering application client is configured to display the rendered image rendered by the rendering application on the terminal device, and the cloud rendering system further includes another A terminal device, the other terminal device is provided with another rendering application client, the rendering application establishes communication with the other rendering application client, and the another rendering application client is used to Another rendered image rendered by the rendering application is displayed on the device.
  • the cloud rendering control method of this embodiment can be implemented on the cloud rendering system shown in FIG. 1A or FIG. 1B , including the following steps:
  • the terminal device acquires another first operation data, wherein the another first operation data is generated by another user operating the other rendering application client at another first moment.
  • another user may refer to a person using another terminal device, and the person using the other terminal device may be the same person or a different person.
  • another rendering application client is a game application client installed in a personal computer
  • the person who uses the other rendering application client may be constant, and when the other rendering application client is installed in a company
  • the person using the other rendering application client may change, that is, different employees take turns to operate the other rendering application client.
  • the other first operation data may include the first other person's operation data, wherein the first other person's operation data is used to indicate that another first Whether the rendering scene of this rendering application client changes at any time due to other people's operations on another rendering application client.
  • the first other person's operation data When represented by binary data, when the first other person's operation data is "0", it means that there is no change in the rendering scene of this rendering application client due to the operation of another rendering application client at another first moment.
  • the operation data of one other person is "1" it means that the rendering scene of the client of the rendering application changes at another first moment due to the operation of another client on another client of the rendering application.
  • the terminal device determines, according to the other first operation data, that the difference between the rendered image to be displayed by the rendering application client after the other first moment and the rendered image displayed at the other first moment is smaller than a predetermined difference. Set the threshold.
  • the difference between the rendered image to be displayed by the rendering application client after the other first moment and the rendered image displayed at the other first moment is less than a preset threshold means: rendering The rendered image to be displayed by the application client after another first moment is no different from the rendered image displayed at another first moment, or there is little difference.
  • no difference means that the rendered image to be displayed after the other first moment is exactly the same as the rendered image displayed at the other first moment, that is, the rendered image to be displayed after the other first moment minus the other first moment
  • the elements in the residual image obtained from the rendered image displayed at the moment are all zero, and the difference is small, which means that the rendered image to be displayed after another first moment is not exactly the same as the rendered image displayed at another first moment, that , the elements in the residual image obtained by subtracting the rendered image displayed at another first moment from the rendered image to be displayed after another first moment are not all zero, but this difference is difficult to be found by the naked eye.
  • the length of the time interval between another first moment and another first moment can be set as required, for example, it can be 30 milliseconds, 1 second, 2 seconds and so on.
  • the length of the time interval between another first moment and another first moment may be separated by 1 frame, 2 frames or more.
  • a rendered image to be displayed by the rendering application client after the other first moment and a rendered image displayed by the other first moment are determined according to the other first operation data
  • the difference is less than the preset threshold method is:
  • the other first operation data is input into the prediction model, so as to obtain a third prediction result, wherein the third prediction result is used to represent the rendered image and the rendering image to be displayed by the rendering application client after the other first moment.
  • the difference between the rendered images displayed at the other first moment is smaller than the preset threshold is specifically expressed as:
  • y 3 is the third prediction result
  • x 3 is another first operation data
  • f( ) includes a mapping relationship between another first operation data and a third prediction result.
  • the specific process of using the prediction model for prediction, and the training process of the prediction model is similar to the process of using the prediction model for prediction in step S202, and the training process of the prediction model is similar. For details, please refer to step S202, which is not repeated here. Expand the description.
  • the terminal device sends another rendering pause instruction to the cloud rendering platform through the network device.
  • the cloud rendering platform receives another rendering pause instruction sent by the terminal device through the network device.
  • S405 The cloud rendering platform stops image rendering according to the another rendering pause instruction.
  • the terminal device acquires another second operation data, wherein the another second operation data is generated according to an operation state of another user on the other rendering application client at another second moment.
  • another user who uses the other terminal device at another first moment and another second moment may be the same person or may not be the same person.
  • the other first operation data may include second other people's operation data, wherein the second other people's operation data is used to indicate whether another person performs operations on another rendering application client at another second moment.
  • the rendering scene of the rendering application client causes the rendering scene of the rendering application client to change.
  • the operation data of the second person is "0"
  • the operation data of the other person is "1" it means that the rendering scene of the client of the rendering application changes due to the operation performed by the other person on the client of another rendering application at another second moment.
  • the terminal device determines, according to the other second operation data, that the difference between the rendered image to be displayed by the rendering application client after the other second moment and the rendered image displayed at the other second moment is greater than or equal to the preset threshold.
  • the difference between the rendered image to be displayed by the rendering application client after the other second moment and the rendered image displayed at the other second moment is greater than or equal to a preset threshold means that :
  • the rendered image to be displayed by the rendering application client after another second moment is quite different from the rendered image displayed at another second moment.
  • the big difference is that most of the elements in the residual image obtained by subtracting the rendered image to be displayed after another second time from the rendered image displayed at another second time are not zero. This difference is easy for the human eye to see. found.
  • the length of the time interval between another second moment and another second moment can be set as required, for example, it can be 30 milliseconds, 1 second, 2 seconds, and so on.
  • the length of the time interval between the other second moment and the time after the other second moment may be separated by 1 frame, 2 frames or more.
  • a rendered image to be displayed by the rendering application client after the other second time and the rendered image displayed at the other second time are determined according to the other second operation data
  • the difference is greater than or equal to the preset threshold method is:
  • y 4 is the fourth prediction result
  • x 4 is another second operation data
  • f( ) includes the mapping relationship between another second operation data and the fourth prediction result.
  • another second time is later than another first time, if from another first time to another second time, the rendered image to be displayed at another first time and another second time If there is no difference or little difference between the rendered images to be displayed at the moment, then another rendered image displayed at the first moment and another rendered image displayed at the second moment may be the same frame of rendered images.
  • S409 The terminal device sends another rendering resume instruction to the cloud rendering platform through the network device.
  • the cloud rendering platform receives another resuming rendering instruction sent by the terminal device through the network device.
  • S410 The cloud rendering platform resumes image rendering according to the another rendering resume instruction, thereby obtaining a new rendered image.
  • S411 The cloud rendering platform sends the another new rendered image to the terminal device.
  • the terminal device receives another new rendered image sent by the cloud rendering platform.
  • S412 The terminal device displays the other new rendered image sent by the cloud rendering platform at another third moment.
  • FIG. 8 is a schematic flowchart of a fourth cloud rendering control method provided by the present application.
  • the cloud rendering control method of this embodiment is applied to a cloud rendering system, where the cloud rendering system includes a terminal device and a cloud rendering platform, the cloud rendering platform is provided with a rendering application, and the terminal device is provided with a rendering application client, Communication is established between the rendering application and the rendering application client, where the rendering application client is configured to display the rendered image rendered by the rendering application on the terminal device, and the cloud rendering system further includes another A terminal device, the other terminal device is provided with another rendering application client, the rendering application establishes communication with the other rendering application client, and the another rendering application client is used to Another rendered image rendered by the rendering application is displayed on the device.
  • the cloud rendering control method of this embodiment can be implemented on the cloud rendering system shown in FIG. 1A or FIG. 1B , including the following steps:
  • S501 The terminal device acquires another first operation data, wherein the another first operation data is generated by another user operating the other rendering application client at another first moment.
  • another user may refer to a person using another terminal device, and the person using the other terminal device may be the same person or a different person.
  • another rendering application client is a game application client installed in a personal computer
  • the person who uses the other rendering application client may be constant, and when the other rendering application client is installed in a company
  • the person using the other rendering application client may change, that is, different employees take turns to operate the other rendering application client.
  • the other first operation data may include the first other person's operation data, wherein the first other person's operation data is used to indicate that another first Whether the rendering scene of this rendering application client changes at any time due to other people's operations on another rendering application client.
  • the first other person's operation data When represented by binary data, when the first other person's operation data is "0", it means that there is no change in the rendering scene of this rendering application client due to the operation of another rendering application client at another first moment.
  • the operation data of one other person is "1" it means that the rendering scene of the client of the rendering application changes at another first moment due to the operation of another client on another client of the rendering application.
  • S502 The terminal device sends another first operation data to the cloud rendering platform.
  • the cloud rendering platform receives another first operation data sent by the terminal device.
  • the cloud rendering platform determines, according to the other first operation data, that the difference between the rendered image to be displayed by the rendering application client after the other first moment and the rendered image displayed at the other first moment is less than Preset threshold.
  • a rendered image to be displayed by the rendering application client after the other first moment and a rendered image displayed by the other first moment are determined according to the other first operation data
  • the difference is less than the preset threshold method is:
  • the other first operation data is input into the prediction model, so as to obtain a third prediction result, wherein the third prediction result is used to represent the rendered image and the rendering image to be displayed by the rendering application client after the other first moment.
  • the difference between the rendered images displayed at the other first moment is smaller than the preset threshold is specifically expressed as:
  • y 3 is the third prediction result
  • x 3 is another first operation data
  • f( ) includes a mapping relationship between another first operation data and a third prediction result.
  • the specific process of using the prediction model for prediction, and the training process of the prediction model is similar to the process of using the prediction model for prediction in step S202, and the training process of the prediction model is similar. For details, please refer to step S202, which is not repeated here. Expand the description.
  • S505 The cloud rendering platform sends another repeated display command to the terminal device through the network device.
  • the terminal device receives another repeated display command sent by the cloud rendering platform through the network device.
  • S506 The terminal device repeatedly displays the rendered image stored at another first moment stored in itself according to the other repeated display command.
  • S507 The terminal device acquires another second operation data, wherein the other second operation data is generated according to an operation state of the rendering application client by the user at another first moment.
  • S508 The terminal device sends another second operation data to the cloud rendering platform.
  • the cloud rendering platform receives another second operation data sent by the terminal device.
  • the cloud rendering platform determines, according to the other second operation data, that the difference between the rendered image to be displayed by the rendering application client after the other second moment and the rendered image displayed at the other second moment is greater than or equal to the preset threshold.
  • the other second operation data is input into a prediction model, so as to obtain a fourth prediction result, wherein the fourth prediction result is used to indicate that the rendering application client is in the other second Whether the difference between the rendered image to be displayed after the moment and the rendered image displayed at the second second moment is greater than or equal to the preset threshold, specifically expressed as:
  • y 4 is the fourth prediction result
  • x 4 is another second operation data
  • f( ) includes the mapping relationship between another second operation data and the fourth prediction result.
  • another second time is later than another first time, if from another first time to another second time, the rendered image to be displayed at another first time and another second time If there is no difference or little difference between the rendered images to be displayed at the moment, then another rendered image displayed at the first moment and another rendered image displayed at the second moment may be the same frame of rendered images.
  • S510 In a case where it is determined that the difference between the rendered image to be displayed by the rendering application client after the other second moment and the rendered image displayed at the other second moment is greater than or equal to a preset threshold, cloud rendering The platform resumes image rendering to obtain a new rendered image and generates another resume display command.
  • the cloud rendering platform sends another display restoration command and another new rendered image to the terminal device through the network device.
  • the terminal device receives another display restoration command and a new rendered image sent by the cloud rendering platform through the network device.
  • the above-mentioned cloud rendering control methods shown in FIG. 7 and FIG. 8 can be applied in a multi-machine mode, for example, a two-player battle game and the like. It should be understood that in the multi-machine mode, the cloud rendering control method shown in FIG. 7 and the cloud rendering control method shown in FIG. 4 can be used in combination, and the cloud rendering control method shown in FIG. The cloud rendering control method is used, which is not specifically limited here.
  • FIG. 9 is a schematic diagram of a cloud rendering system provided by the present application.
  • the cloud rendering system of this embodiment includes a terminal device and a cloud rendering platform. Wherein, the terminal device and the cloud rendering platform communicate with each other.
  • the terminal device includes: an acquisition module 210 , a determination module 220 , a display module 230 and a transmission module 240 .
  • the cloud rendering platform includes: a receiving module 310 , a rendering module 320 and a sending module 330 .
  • the terminal device and the cloud rendering platform can be respectively used to implement the following functions:
  • the various modules in the terminal equipment can be used to realize the following functions:
  • the obtaining module 210 is configured to obtain first operation data, wherein the first operation data is generated by the user operating the rendering application client at the first moment;
  • the determining module 220 is configured to determine, according to the first operation data, that the difference between the rendered image to be displayed by the rendering application client after the first moment and the rendered image displayed at the first moment is less than a preset threshold,
  • the display module 230 is configured to repeatedly display the rendered image displayed at the first moment
  • the sending module 240 is configured to send a rendering pause instruction to the cloud rendering platform to instruct the rendering application to stop image rendering.
  • Each module in the cloud rendering platform can be used to implement the following functions:
  • the receiving module 310 is configured to receive a rendering pause instruction sent by the terminal device, wherein the rendering pause instruction is generated by the terminal device according to first operation data, and the first operation data is the user at the first moment. Generated by operating the rendering application client, the first operation data is used to indicate the rendered image to be displayed by the rendering application client after the first moment and the value of the rendered image displayed at the first moment. The difference is less than a preset threshold.
  • the rendering module 320 is configured to stop image rendering according to the rendering pause instruction.
  • the sending module 330 is configured to repeatedly send the rendered image displayed at the first moment to the terminal device.
  • FIG. 9 can run the cloud rendering control methods shown in FIG. 4 and FIG. 7 .
  • FIG. 4 and FIG. 7 and related descriptions please refer to FIG. 4 and FIG. 7 and related descriptions, which will not be repeated here.
  • FIG. 10 is a schematic diagram of a cloud rendering system provided by the present application.
  • the cloud rendering system of this embodiment includes a terminal device and a cloud rendering platform. Wherein, the terminal device and the cloud rendering platform communicate with each other.
  • the terminal device includes: a sending module 410 , a receiving module 420 and a display module 430
  • the cloud rendering platform includes: a receiving module 510 , a determining module 520 , a rendering module 530 , a generating module 540 and a sending module 550 .
  • the terminal device can be used to implement the following functions:
  • the sending module 410 is configured to send first operation data to the cloud rendering platform, where the first operation data is generated by a user operating the rendering application client at the first moment.
  • the receiving module 420 is used to receive the repeated display command sent by the cloud rendering platform, wherein the repeated display command is generated by the cloud rendering platform according to the first operation data, and the first operand is used to indicate The difference between the rendered image to be displayed by the rendering application client after the first moment and the rendered image displayed at the first moment is smaller than a preset threshold.
  • the display module 430 is configured to repeatedly display the rendered image displayed at the first moment according to the repeat display command.
  • the cloud rendering platform can be used to implement the following functions:
  • the receiving module 510 is configured to receive the first operation data sent by the terminal device, wherein the first operation data is generated by the user operating the rendering application client at the first moment;
  • the determining module 520 is configured to determine, according to the first operation data, that the difference between the rendered image to be displayed by the rendering application client after the first moment and the rendered image displayed at the first moment is smaller than a preset threshold;
  • the rendering module 530 is configured to stop image rendering
  • the generating module 540 is used to generate a repeat display command
  • the sending module 550 is configured to send the repeated display command to the terminal device, wherein the repeated display command is used to instruct the terminal device to repeatedly display the rendered image displayed at the first moment.
  • FIG. 10 can run the cloud rendering control method shown in FIG. 6 and FIG. 8 .
  • FIG. 6 and FIG. 8 and related descriptions please refer to FIG. 6 and FIG. 8 and related descriptions, which will not be repeated here.
  • a cloud rendering system includes a terminal device, a network device, and a cloud rendering platform.
  • the terminal device can communicate with the cloud rendering platform through a network device.
  • Terminal devices can be VR devices, computers, smart phones, and so on.
  • the cloud rendering platform includes one or more cloud rendering nodes.
  • FIG. 11 is a structural block diagram of an intelligent terminal in an implementation manner.
  • the smart terminal may include: a baseband chip 710 , a memory 715 including one or more computer-readable storage media, a radio frequency (RF) module 716 , and a peripheral system 717 . These components may communicate on one or more communication buses 714 .
  • RF radio frequency
  • the peripheral system 717 is mainly used to realize the interaction function between the intelligent terminal and the user/external environment, and mainly includes the input and output devices of the intelligent terminal.
  • the peripheral system 717 may include: a touch screen controller 718 , a key controller 719 , an audio controller 720 and a sensor management module 721 .
  • each controller can be coupled with its corresponding peripheral devices, such as the touch screen 723 , the keys 724 , the audio circuit 725 and the sensor 726 .
  • a gesture sensor in sensor 726 may be used to receive user input for gesture control operations.
  • the pressure sensor in the sensor 726 can be disposed below the touch screen 723, and can be used to collect the touch pressure acting on the touch screen 723 when the user inputs a touch operation through the touch screen 723. It should be noted that the peripheral system 717 may also include other I/O peripherals.
  • the baseband chip 710 may integrally include: one or more processors 711 , a clock module 712 and a power management module 713 .
  • the clock module 712 integrated in the baseband chip 710 is mainly used to generate the clock required for data transmission and timing control for the processor 711 .
  • the power management module 713 integrated in the baseband chip 710 is mainly used to provide a stable and high-precision voltage for the processor 711 , the radio frequency module 716 and peripheral systems.
  • the radio frequency (RF) module 716 is used for receiving and transmitting radio frequency signals, and mainly integrates the receiver and the transmitter of the smart terminal.
  • a radio frequency (RF) module 716 communicates with communication networks and other communication devices via radio frequency signals.
  • the radio frequency (RF) module 716 may include, but is not limited to, an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a CODEC chip, a SIM card, and storage media, etc.
  • the radio frequency module 716 may also include short-range wireless communication modules such as WIFI, Bluetooth, and the like.
  • radio frequency (RF) module 716 may be implemented on a separate chip.
  • the memory 715 may include random access memory (Random Access Memory, RAM), flash memory (Flash Memory), etc., or may be RAM, read-only memory (Read-Only Memory, ROM) or hard disk (Hard Disk Drive, HDD) or Solid-State Drive (Solid-StateDrive, SSD).
  • the memory 815 may store operating systems, communication programs, user interface programs, browsers, rendering applications.
  • the rendering applications include game applications and other rendering applications.
  • FIG. 12 is a structural block diagram of a computer in an implementation manner.
  • the computer may include a host 810 , an output device 820 and an input device 830 .
  • the host 810 may integrally include: one or more processors, a clock module, and a power management module.
  • the clock module integrated in the host 810 is mainly used to generate clocks required for data transmission and timing control for the processor.
  • the power management module integrated in the host 810 is mainly used to provide stable and high-precision voltages for the processor, the output device 820 and the input device 830 .
  • the host 810 also integrates memory for storing various software programs and/or sets of instructions.
  • the memory may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state storage devices.
  • the memory can store operating systems, such as ANDROID, IOS, WINDOWS, or embedded operating systems such as LINUX.
  • the memory can also store a communication program that can be used to communicate with one or more input devices or output devices.
  • the memory can also store a user interface program, which can vividly display the content of the browser through a graphical operation interface, and receive user control operations on the browser through input controls such as menus, dialog boxes, and keys.
  • the memory may also store operating systems, communication programs, user interface programs, browsers, and rendering applications, among others.
  • the rendering applications include game applications and other rendering applications.
  • the output device 820 mainly includes a display, and the display may include a cathode ray tube display (CRT), a plasma display (PDP), a liquid crystal display (LCD), and the like.
  • the liquid crystal display includes a liquid crystal panel and a backlight module, wherein the liquid crystal display panel includes a polarizing film, a glass substrate, a black matrix, a color filter, a protective film, a common electrode, a calibration layer, and a liquid crystal layer (liquid crystal layer). , spacers, sealants), capacitors, display electrodes, prism layers, diffuser layers.
  • the backlight module includes: lighting source, reflective plate, light guide plate, diffuser, brightness enhancement film (prism sheet) and frame, etc.
  • Input devices 830 may include a keyboard and a mouse. Keyboard and mouse are the most commonly used and most important input devices. Through the keyboard, English letters, numbers, punctuation marks, etc. can be input into the computer, so as to issue commands and input data to the computer, and the mouse can quickly locate the vertical and horizontal coordinates. This simplifies the operation.
  • the keyboard may include mechanical keyboard, plastic film keyboard (Mechanical), conductive rubber keyboard (Membrane), contactless electrostatic capacitive keyboard (Capacitives), etc.
  • the mouse may include rolling mouse, optical mouse, wireless mouse and so on.
  • FIG. 13 is a structural block diagram of a cloud rendering platform in an implementation manner.
  • the cloud rendering platform may include one or more cloud rendering nodes.
  • the cloud rendering node includes: a processing system 910 , a first memory 920 , an intelligent network card 930 and a bus 940 .
  • the processing system 910 may be of a heterogeneous architecture, that is, including one or more general-purpose processors, and one or more special-purpose processors, such as GPUs or AI chips, etc., wherein the general-purpose processors may be capable of processing electronic Any type of device for instructions, including a central processing unit (CPU), a microprocessor, a microcontroller, a main processor, a controller, and an application specific integrated circuit (ASIC), etc.
  • the general-purpose processor executes various types of digitally stored instructions, such as software or firmware programs stored in the first memory 920 .
  • the general purpose processor may be an x86 processor or the like.
  • the general-purpose processor sends commands to the first memory 920 through a physical interface to complete storage-related tasks.
  • the general-purpose processor may provide commands including read commands, write commands, copy commands, and erase commands.
  • the commands may specify operations related to specific pages and blocks of the first memory 920 .
  • Special processors are used to perform complex operations for image rendering and more.
  • the first memory 920 may include a random access memory (Random Access Memory, RAM), a flash memory (FlashMemory), etc., or may be a RAM, a read-only memory (Read-Only Memory, ROM) or a hard disk (Hard Disk Drive, HDD) ) or solid-state drive (Solid-StateDrive, SSD).
  • the first memory 920 stores program codes implementing the rendering engine and rendering applications.
  • the smart network card 930 is also referred to as a network interface controller, a network interface card or a local area network (LAN) adapter. Each smart network card 930 has a unique MAC address, which is burned into the read-only memory chip by the manufacturer of the smart network card 930 during production.
  • the smart network card 930 includes a processor 931 , a second memory 932 and a transceiver 933 .
  • the processor 931 is similar to a general purpose processor, however, the performance requirements of the processor 931 may be lower than those of a general purpose processor. In a specific embodiment, the processor 931 may be an ARM processor or the like.
  • the second memory 932 may also be a flash memory, an HDD or an SDD, and the storage capacity of the second memory 932 may be smaller than that of the first memory 920 .
  • the transceiver 933 can be used to receive and transmit messages, and upload the received messages to the processor 931 for processing.
  • the smart network card 930 may also include a plurality of ports, and the ports may be any one or more of three types of interfaces, a thick cable interface, a thin cable interface, and a twisted pair interface.
  • the terminal device in the cloud rendering system of this embodiment may be used to execute the steps performed by the terminal device in the cloud rendering control method in FIG. 4 and FIG. 6 to FIG. 8 .
  • the platform can be used to execute the steps performed by the cloud rendering platform in the cloud rendering control method in Figs. 4 and 6-8.
  • the terminal device in the cloud rendering system of this embodiment may also be the terminal device in the cloud rendering system in FIG. 9-FIG. 10, and the cloud rendering platform in the cloud rendering system in this embodiment may also be FIG. 9-FIG. 10
  • the above-mentioned embodiments it may be implemented in whole or in part by software, hardware, firmware or any combination thereof.
  • software it can be implemented in whole or in part in the form of a computer program product.
  • the computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present application are generated.
  • the computer may be a general purpose computer, special purpose computer, computer network, or other programmable device.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be downloaded from a website site, computer, server, or data center Transmission to another website site, computer, server, or data center by wire (eg, coaxial cable, optical fiber, digital subscriber line) or wireless (eg, infrared, wireless, microwave, etc.).
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that includes an integration of one or more available media.
  • the usable media may be magnetic media (eg, floppy disks, storage disks, magnetic tapes), optical media (eg, DVD), or semiconductor media (eg, Solid State Disk (SSD)), among others.

Landscapes

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

Abstract

本申请提供了一种云渲染控制方法、设备以及系统。应用于云渲染系统,云渲染系统包括终端设备以及云渲染平台,云渲染平台上设置有渲染应用,终端设备设置有渲染应用客户端,渲染应用与渲染应用客户端之间建立通信,渲染应用客户端用于在终端设备上显示渲染应用渲染得到的渲染图像,方法包括: 终端设备获取第一操作数据,其中,第一操作数据是用户在第一时刻对渲染应用客户端进行操作产生的; 根据第一操作数据确定渲染应用客户端在第一时刻之后将要显示的渲染图像和第一时刻显示的渲染图像的区别小于预设阈值,重复显示第一时刻显示的渲染图像,并向云渲染平台发出暂停渲染指令,以指示渲染应用停止图像渲染。上述方案能够有效减少资源的需求。

Description

渲染控制方法、设备以及系统 技术领域
本申请涉及图像渲染,尤其涉及一种渲染控制方法、设备以及系统。
背景技术
渲染是指用软件从模型生成图像的过程,其中,模型是用严格定义的语言或者数据结构对于三维物体的描述,它包括几何、视点、纹理以及照明信息。图像是数字图像或者位图图像。渲染这个术语类似于“艺术家对于场景的渲染”,另外,渲染也用于描述“计算视频编辑文件中的效果,以生成最终视频输出的过程”。渲染可以包括预渲染(pre-rendering/offline rendering)或者实时渲染(real-time rendering/online rendering),其中,预渲染通常是用于电影、广告等有预定脚本的实景仿真;实时渲染通常是用于飞行训练、3D游戏和交互式建筑演示等无预定脚本的实景仿真。
渲染是指用软件从模型生成图像的过程,其中,模型是用严格定义的语言或者数据结构对于三维物体的描述,它包括几何、视点、纹理以及照明信息。图像是数字图像或者位图图像。渲染这个术语类似于“艺术家对于场景的渲染”,另外,渲染也用于描述“计算视频编辑文件中的效果,以生成最终视频输出的过程”。渲染可以包括预渲染(pre-rendering/offline rendering)或者实时渲染(real-time rendering/online rendering),其中,预渲染通常是用于电影、广告等有预定脚本的实景仿真;实时渲染通常是用于飞行训练、3D游戏和交互式建筑演示等无预定脚本的实景仿真。
实时渲染对计算的速度要求是非常高的。以3D游戏为例,对于每秒30帧的刷新速率来说,每一帧图像的时间约为33毫秒,因此,每一帧图像的渲染时间绝对不能超过33毫秒。为了满足计算速度要求,通常采用光线跟踪渲染的方法来进行实时渲染。但是,光线跟踪渲染的方法需要耗费大量的资源。
发明内容
为了解决上述问题,本申请提供了一种渲染控制方法、设备以及系统,能够有效减少资源的需求。
第一方面,提供了一种云渲染控制方法,应用于云渲染系统,所述云渲染系统包括终端设备以及云渲染平台,所述云渲染平台上设置有渲染应用,所述终端设备设置有渲染应用客户端,所述渲染应用与所述渲染应用客户端之间建立通信,所述渲染应用客户端用于在所述终端设备上显示所述渲染应用渲染得到的渲染图像,所述方法包括:
所述终端设备获取第一操作数据,其中,所述第一操作数据是用户在第一时刻对所述渲染应用客户端进行操作产生的;
根据所述第一操作数据确定所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值,重复显示所述第一时刻显示的渲染图像,并向所述云渲染平台发出暂停渲染指令,以指示所述渲染应用停 止图像渲染。
在上述方案中,在第一操作数据确定所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值,云渲染平台可以停止进行图像渲染,终端设备可以将第一时刻显示的渲染图像重复进行显示,从而有效减少云渲染平台的资源的浪费。
在一些可能的设计中,所述终端设备获取第二操作数据,其中,所述第二操作数据是所述用户在第二时刻对所述渲染应用客户端进行操作产生的,所述第二时刻晚于所述第一时刻;根据所述第二操作数据确定所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别大于或等于所述预设阈值,向所述云渲染平台发出恢复渲染指令,以指示所述渲染应用恢复图像渲染。
可以理解,第一时刻在终端设备上进行操作的用户和第二时刻在终端设备上进行操作的用户可以是同一个人,也可以不是同一个人,这里,第一时刻在终端设备上进行操作的用户和第二时刻在终端设备上进行操作的用户是指对具有同一个具有唯一的设备标识的终端设备进行操作的用户。
在一些可能的设计中,所述云渲染系统还包括另一终端设备,所述另一终端设备设置有另一渲染应用客户端,所述渲染应用与所述另一渲染应用客户端建立通信,所述另一渲染应用客户端用于在所述另一终端设备上显示所述渲染应用渲染得到的另一渲染图像;所述方法还包括:
所述终端设备获取另一第一操作数据,其中,所述另一第一操作数据是另一用户在另一第一时刻对所述另一渲染应用客户端进行操作产生的;
根据所述另一第一操作数据确定所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别小于预设阈值,重复显示所述另一第一时刻显示的渲染图像,并向所述云渲染平台发出另一暂停渲染指令,以指示所述渲染应用停止图像渲染。
在一些可能的设计中,所述终端设备获取另一第二操作数据,其中,所述另一第二操作数据是所述另一用户在另一第二时刻对所述另一渲染应用客户端进行操作产生的;
根据所述另一第二操作数据确定所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别大于或等于所述预设阈值,停止重复显示所述另一第二时刻显示的渲染图像,并向所述云渲染平台发出另一恢复渲染指令,以指示所述渲染应用恢复进行图像渲染。
在上述方案中,另一用户在另一终端设备对另一渲染应用客户端进行操作引起终端设备的渲染应用客户端另一第二时刻之后将要显示的图像和所述另一第二时刻显示的渲染图像的区别大于或等于所述预设阈值,指示云渲染平台恢复进行渲染,能够很好地避免其他用户的操作不被显示,导致终端设备的画面出现跳跃。
在一些可能的设计中,所述终端设备重复显示所述第一时刻显示的渲染图像,包括:所述终端设备重复显示存储在自身的所述第一时刻显示的渲染图像。
在上述方案中,终端设备可以将存储在自身的渲染图像进行重复显示,能够有效减少云渲染平台重复进行图像渲染所需要的计算资源,以及,云渲染平台向终端设备 发送的数据所需要的带宽资源。
在一些可能的设计中,所述终端设备重复显示所述第一时刻显示的渲染图像,包括:所述终端设备重复接收并显示所述云渲染平台发送的所述第一时刻显示的渲染图像。
在上述方案中,云渲染平台可以将之前已经渲染好的第一时刻显示的渲染图像重复发送给所述终端设备,能够有效减少云渲染平台进行图像渲染所述需要的计算资源,同时,终端设备只需要按照原来的机制将接收到的第一时刻显示的渲染图像进行显示即可,不需要另外设置重复显示机制,以将存储在自身的所述第一时刻显示的渲染图像进行重复显示。
第二方面,提供了一种云渲染控制方法,应用于云渲染系统,所述云渲染系统包括中终端设备以及云渲染平台,所述云渲染平台上设置有渲染应用,所述终端设备设置有渲染应用客户端,所述渲染应用与所述渲染应用客户端之间建立通信,所述渲染应用客户端用于在所述终端设备上显示所述渲染应用渲染得到的渲染图像,所述方法包括:
所述云渲染平台接收所述终端设备发送的暂停渲染指令,其中,所述暂停渲染指令是所述终端设备根据第一操作数据生成的,所述第一操作数据是在第一时刻用户对所述渲染应用客户端进行操作产生的,所述第一操作数据用于指示所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值;
根据所述暂停渲染指令停止进行图像渲染。
在一些可能的设计中,所述云渲染平台接收所述终端设备发送的恢复渲染指令,其中,所述恢复渲染指令是所述终端设备根据第二操作数据生成的,所述第二操作数据是在第二时刻所述用户对所述渲染应用客户端进行操作产生的,所述第二操作数据用于指示所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别大于或者等于所述预设阈值;
根据所述恢复渲染指令恢复进行图像渲染。
在一些可能的设计中,所述云渲染系统还包括另一终端设备,所述另一终端设备设置有另一渲染应用客户端,所述渲染应用与所述另一渲染应用客户端建立通信,所述另一渲染应用客户端用于在所述另一终端设备上显示所述渲染应用渲染得到的另一渲染图像;所述方法还包括:
云渲染平台接收所述终端设备发送的另一暂停渲染指令,其中,所述另一暂停渲染指令是所述终端设备根据另一第一操作数据生成的,所述另一第一操作数据是在另一第一时刻另一用户对所述另一渲染应用客户端进行操作产生的,所述另一第一操作数据用于指示所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别小于预设阈值;
根据所述另一暂停渲染指令停止进行图像渲染。
在一些可能的设计中,所述方法还包括:
所述云渲染平台接收所述终端设备发送的另一恢复渲染指令,其中,所述另一恢复渲染指令是所述终端设备根据另一第二操作数据生成的,所述另一第二操作数据是 在另一第二时刻所述另一用户对所述另一渲染应用客户端进行操作产生的,所述另一第二操作数据用于指示所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别大于或者等于所述预设阈值;
根据所述另一恢复渲染指令恢复进行图像渲染。
在一些可能的设计中,云渲染平台接收所述终端设备发送的另一暂停渲染指令之后,所述方法还包括:
所述云渲染平台重复向所述终端设备发送所述第一时刻显示的渲染图像。
第三方面,提供了一种云渲染控制方法,应用于云渲染系统,所述云渲染系统包括中终端设备以及云渲染平台,所述云渲染平台上设置有渲染应用,所述终端设备设置有渲染应用客户端,所述渲染应用与所述渲染应用客户端之间建立通信,所述渲染应用客户端用于在所述终端设备上显示所述渲染应用渲染得到的渲染图像,所述方法包括:
所述终端设备向所述云渲染平台发送第一操作数据,其中,所述第一操作数据是在第一时刻用户对所述渲染应用客户端进行操作产生的;
接收云渲染平台发送的重复显示命令,其中,所述重复显示命令是所述云渲染平台根据所述第一操作数据生成的,所述第一操作数用于指示所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值;
根据所述重复显示命令重复显示所述第一时刻显示的渲染图像。
在一些可能的设计中,所述终端设备向所述云渲染平台发送第二操作数据,其中,所述第二操作数据是在第二时刻所述用户对所述渲染应用客户端进行操作产生的;
接收所述云渲染平台发送的恢复显示命令,其中,所述恢复显示命令是所述云渲染平台根据所述第二操作数据生成的,所述第二操作数用于指示所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别大于或者等于预设阈值;
根据所述恢复显示命令停止重复显示所述第二时刻显示的渲染图像。
在一些可能的设计中,所述云渲染系统还包括另一终端设备,所述另一终端设备设置有另一渲染应用客户端,所述渲染应用与所述另一渲染应用客户端建立通信,所述另一渲染应用客户端用于在所述另一终端设备上显示所述渲染应用渲染得到的另一渲染图像;
接收所述云渲染平台发送的另一重复显示命令,其中,所述另一重复显示命令是所述云渲染平台根据另一第一操作数据生成的,所述另一第一操作数用于指示所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别小于预设阈值;根据所述另一重复显示命令重复显示所述另一第一时刻显示的渲染图像。
在一些可能的设计中,所述终端设备向所述云渲染平台发送另一第二操作数据,其中,所述另一第二操作数据是在另一第二时刻所述另一用户对所述另一渲染应用客户端进行操作产生的;
接收所述云渲染平台发送的另一恢复显示命令,其中,所述另一恢复显示命令是 所述云渲染平台根据所述另一第二操作数据生成的,所述另一第二操作数用于指示所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别大于或者等于所述预设阈值;
根据所述另一恢复显示命令停止重复显示所述另一第二时刻显示的渲染图像。
在一些可能的设计中,所述终端设备重复显示所述第一时刻显示的渲染图像,包括:所述终端设备重复显示存储在自身的所述第一时刻显示的渲染图像。
在一些可能的设计中,所述终端设备重复显示所述第一时刻显示的渲染图像,包括:所述终端设备重复接收并显示所述云渲染平台发送的所述第一时刻显示的渲染图像。
第四方面,提供了一种云渲染控制方法,应用于云渲染系统,所述云渲染系统包括中终端设备以及云渲染平台,所述云渲染平台上设置有渲染应用,所述终端设备设置有渲染应用客户端,所述渲染应用与所述渲染应用客户端之间建立通信,所述渲染应用客户端用于在所述终端设备上显示所述渲染应用渲染得到的渲染图像,所述方法包括:
所述云渲染平台接收所述终端设备发送的第一操作数据,其中,所述第一操作数据是在第一时刻用户对所述渲染应用客户端进行操作产生的;
根据所述第一操作数据确定所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值;
停止进行图像渲染,并,生成重复显示命令;
向所述终端设备发送所述重复显示命令,其中,所述重复显示命令用于指示所述终端设备重复显示所述第一时刻显示的渲染图像。
在一些可能的设计中,所述云渲染平台接收所述终端设备发送第二操作数据,其中,所述第二操作数据是在第二时刻所述用户对所述渲染应用客户端进行操作产生的;
根据所述第二操作数据确定所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别大于或者等于所述预设阈值;
生成恢复显示命令,并向所述终端设备发送所述恢复显示命令,其中,所述恢复显示命令用于指示所述终端设备停止重复显示所述第二时刻显示的渲染图像。
在一些可能的设计中,所述云渲染系统还包括另一终端设备,所述另一终端设备设置有另一渲染应用客户端,所述渲染应用与所述另一渲染应用客户端建立通信,所述另一渲染应用客户端用于在所述另一终端设备上显示所述渲染应用渲染得到的另一渲染图像;所述方法还包括:
所述云渲染平台接收所述终端设备发送另一第一操作数据,其中,所述另一第一操作数据是在另一第一时刻另一用户对所述另一渲染应用客户端进行操作产生的;
根据所述另一第一操作数据确定所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别小于预设阈值;
停止进行图像渲染,并,生成另一重复显示命令;
向所述终端设备发送所述另一重复显示命令,其中,所述另一重复显示命令用于指示所述终端设备重复显示所述另一第一时刻显示的渲染图像。
在一些可能的设计中,所述方法还包括:
所述云渲染平台接收所述终端设备发送另一第二操作数据,其中,所述另一第二操作数据是在另一第二时刻所述用户对所述另一渲染应用客户端进行操作产生的;
根据所述另一第二操作数据确定所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别大于或者等于所述预设阈值;
恢复进行图像渲染,并,生成另一恢复显示命令,并向所述终端设备发送所述另一恢复显示命令,其中,所述另一恢复显示命令用于指示所述终端设备停止重复显示所述另一第二时刻显示的渲染图像。
第五方面,提供了一种终端设备,应用于云渲染系统,所述云渲染系统包括终端设备以及云渲染平台,所述云渲染平台上设置有渲染应用,所述终端设备设置有渲染应用客户端,所述渲染应用与所述渲染应用客户端之间建立通信,所述渲染应用客户端用于在所述终端设备上显示所述渲染应用渲染得到的渲染图像,所述终端设备包括获取模块、确定模块、显示模块以及发送模块,
所述获取模块用于获取第一操作数据,其中,所述第一操作数据是用户在第一时刻对所述渲染应用客户端进行操作产生的;
所述确定模块用于根据所述第一操作数据确定所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值,
所述显示模块用于重复显示所述第一时刻显示的渲染图像;
所述发送模块用于向所述云渲染平台发出暂停渲染指令,以指示所述渲染应用停止图像渲染。
在一些可能的设计中,所述获取模块用于获取第二操作数据,其中,所述第二操作数据是所述用户在第二时刻对所述渲染应用客户端进行操作产生的,所述第二时刻晚于所述第一时刻;
所述确定模块用于根据所述第二操作数据确定所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别大于或等于所述预设阈值,
所述发送模块用于向所述云渲染平台发出恢复渲染指令,以指示所述渲染应用恢复图像渲染。
在一些可能的设计中,所述云渲染系统还包括另一终端设备,所述另一终端设备设置有另一渲染应用客户端,所述渲染应用与所述另一渲染应用客户端建立通信,所述另一渲染应用客户端用于在所述另一终端设备上显示所述渲染应用渲染得到的另一渲染图像;
所述获取模块用于获取另一第一操作数据,其中,所述另一第一操作数据是另一用户在另一第一时刻对所述另一渲染应用客户端进行操作产生的;
所述确定模块用于根据所述另一第一操作数据确定所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别小于预设阈值,
所述显示模块用于重复显示所述另一第一时刻显示的渲染图像;
所述发送模块用于向所述云渲染平台发出另一暂停渲染指令,以指示所述渲染应 用停止图像渲染。
在一些可能的设计中,所述终端设备获取另一第二操作数据,其中,所述另一第二操作数据是所述另一用户在另一第二时刻对所述另一渲染应用客户端进行操作产生的;
所述确定模块用于根据所述另一第二操作数据确定所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别大于或等于所述预设阈值,
所述显示模块用于停止重复显示所述另一第二时刻显示的渲染图像;
所述发送模块用于向所述云渲染平台发出另一恢复渲染指令,以指示所述渲染应用恢复进行图像渲染。
在一些可能的设计中,所述显示模块用于重复显示存储在自身的所述第一时刻显示的渲染图像。
在一些可能的设计中,所述终端设备还包括接收模块,
所述接收模块用于重复接收所述云渲染平台发送的所述第一时刻显示的渲染图像;
所述显示模块用于显示所述云渲染平台发送的所述第一时刻显示的渲染图像。
第六方面,提供了一种云渲染平台,应用于云渲染系统,所述云渲染系统包括中终端设备以及云渲染平台,所述云渲染平台上设置有渲染应用,所述终端设备设置有渲染应用客户端,所述渲染应用与所述渲染应用客户端之间建立通信,所述渲染应用客户端用于在所述终端设备上显示所述渲染应用渲染得到的渲染图像,包括:接收模块以及渲染模块,
所述接收模块用于接收所述终端设备发送的暂停渲染指令,其中,所述暂停渲染指令是所述终端设备根据第一操作数据生成的,所述第一操作数据是在第一时刻用户对所述渲染应用客户端进行操作产生的,所述第一操作数据用于指示所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值;
所述渲染模块用于根据所述暂停渲染指令停止进行图像渲染。
在一些可能的设计中,所述接收模块用于接收所述终端设备发送的恢复渲染指令,其中,所述恢复渲染指令是所述终端设备根据第二操作数据生成的,所述第二操作数据是在第二时刻所述用户对所述渲染应用客户端进行操作产生的,所述第二操作数据用于指示所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别大于或者等于所述预设阈值;
所述渲染模块用于根据所述恢复渲染指令恢复进行图像渲染。
在一些可能的设计中,所述云渲染系统还包括另一终端设备,所述另一终端设备设置有另一渲染应用客户端,所述渲染应用与所述另一渲染应用客户端建立通信,所述另一渲染应用客户端用于在所述另一终端设备上显示所述渲染应用渲染得到的另一渲染图像;
所述接收模块用于接收所述终端设备发送的另一暂停渲染指令,其中,所述另一暂停渲染指令是所述终端设备根据另一第一操作数据生成的,所述另一第一操作数据是在另一第一时刻另一用户对所述另一渲染应用客户端进行操作产生的,所述另一第 一操作数据用于指示所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别小于预设阈值;
所述渲染模块用于根据所述另一暂停渲染指令停止进行图像渲染。
在一些可能的设计中,所述方法还包括:
所述接收模块用于接收所述终端设备发送的另一恢复渲染指令,其中,所述另一恢复渲染指令是所述终端设备根据另一第二操作数据生成的,所述另一第二操作数据是在另一第二时刻所述另一用户对所述另一渲染应用客户端进行操作产生的,所述另一第二操作数据用于指示所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别大于或者等于所述预设阈值;
所述渲染模块用于根据所述另一恢复渲染指令恢复进行图像渲染。
在一些可能的设计中,所述云渲染平台还包括发送模块,所述发送模块用于重复向所述终端设备发送所述第一时刻显示的渲染图像。
第七方面,提供了一种终端设备,应用于云渲染系统,所述云渲染系统包括终端设备以及云渲染平台,所述云渲染平台上设置有渲染应用,所述终端设备设置有渲染应用客户端,所述渲染应用与所述渲染应用客户端之间建立通信,所述渲染应用客户端用于在所述终端设备上显示所述渲染应用渲染得到的渲染图像,所述终端设备包括发送模块,接收模块以及显示模块,
所述发送模块用于向所述云渲染平台发送第一操作数据,其中,所述第一操作数据是在第一时刻用户对所述渲染应用客户端进行操作产生的;
所述接收模块用于接收云渲染平台发送的重复显示命令,其中,所述重复显示命令是所述云渲染平台根据所述第一操作数据生成的,所述第一操作数用于指示所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值;
所述显示模块用于根据所述重复显示命令重复显示所述第一时刻显示的渲染图像。
在一些可能的设计中,所述终端设备向所述云渲染平台发送第二操作数据,其中,所述第二操作数据是在第二时刻所述用户对所述渲染应用客户端进行操作产生的;
所述接收模块用于接收所述云渲染平台发送的恢复显示命令,其中,所述恢复显示命令是所述云渲染平台根据所述第二操作数据生成的,所述第二操作数用于指示所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别大于或者等于预设阈值;
所述显示模块用于根据所述恢复显示命令停止重复显示所述第二时刻显示的渲染图像。
在一些可能的设计中,所述云渲染系统还包括另一终端设备,所述另一终端设备设置有另一渲染应用客户端,所述渲染应用与所述另一渲染应用客户端建立通信,所述另一渲染应用客户端用于在所述另一终端设备上显示所述渲染应用渲染得到的另一渲染图像;
所述接收模块用于接收所述云渲染平台发送的另一重复显示命令,其中,所述另一重复显示命令是所述云渲染平台根据另一第一操作数据生成的,所述另一第一操作数用于指示所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述 另一第一时刻显示的渲染图像的区别小于预设阈值;
所述显示模块用于根据所述另一重复显示命令重复显示所述另一第一时刻显示的渲染图像。
在一些可能的设计中,所述终端设备向所述云渲染平台发送另一第二操作数据,其中,所述另一第二操作数据是在另一第二时刻所述另一用户对所述另一渲染应用客户端进行操作产生的;
所述接收模块用于接收所述云渲染平台发送的另一恢复显示命令,其中,所述另一恢复显示命令是所述云渲染平台根据所述另一第二操作数据生成的,所述另一第二操作数用于指示所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别大于或者等于所述预设阈值;
所述显示模块用于根据所述另一恢复显示命令停止重复显示所述另一第二时刻显示的渲染图像。
在一些可能的设计中,所述显示模块用于重复显示存储在自身的所述第一时刻显示的渲染图像。
在一些可能的设计中,所述接收模块用于重复接收所述云渲染平台发送的所述第一时刻显示的渲染图像;
所述显示模块用于显示所述云渲染平台发送的所述第一时刻显示的渲染图像。
第八方面提供了一种云渲染平台,应用于云渲染系统,所述云渲染系统包括中终端设备以及云渲染平台,所述云渲染平台上设置有渲染应用,所述终端设备设置有渲染应用客户端,所述渲染应用与所述渲染应用客户端之间建立通信,所述渲染应用客户端用于在所述终端设备上显示所述渲染应用渲染得到的渲染图像,包括接收模块、确定模块、渲染模块、生成模块以及发送模块,
所述接收模块用于接收所述终端设备发送的第一操作数据,其中,所述第一操作数据是在第一时刻用户对所述渲染应用客户端进行操作产生的;
所述确定模块用于根据所述第一操作数据确定所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值;
所述渲染模块用于停止进行图像渲染;
所述生成模块用于生成重复显示命令;
所述发送模块用于向所述终端设备发送所述重复显示命令,其中,所述重复显示命令用于指示所述终端设备重复显示所述第一时刻显示的渲染图像。
在一些可能的设计中,所述云渲染平台接收所述终端设备发送第二操作数据,其中,所述第二操作数据是在第二时刻所述用户对所述渲染应用客户端进行操作产生的;
所述确定模块用于根据所述第二操作数据确定所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别大于或者等于所述预设阈值;
所述渲染模块用于恢复进行图像渲染;
所述生成模块用于生成恢复显示命令;
所述发送模块用于向所述终端设备发送所述恢复显示命令,其中,所述恢复显示命令用于指示所述终端设备停止重复显示所述第二时刻显示的渲染图像。
在一些可能的设计中,所述云渲染系统还包括另一终端设备,所述另一终端设备设置有另一渲染应用客户端,所述渲染应用与所述另一渲染应用客户端建立通信,所述另一渲染应用客户端用于在所述另一终端设备上显示所述渲染应用渲染得到的另一渲染图像;
所述接收模块用于接收所述终端设备发送另一第一操作数据,其中,所述另一第一操作数据是在另一第一时刻另一用户对所述另一渲染应用客户端进行操作产生的;
所述确定模块用于根据所述另一第一操作数据确定所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别小于预设阈值;
所述渲染模块用于停止进行图像渲染;
所述生成模块用于生成另一重复显示命令;
所述发送模块用于向所述终端设备发送所述另一重复显示命令,其中,所述另一重复显示命令用于指示所述终端设备重复显示所述另一第一时刻显示的渲染图像。
在一些可能的设计中,所述接收模块用于接收所述终端设备发送另一第二操作数据,其中,所述另一第二操作数据是在另一第二时刻所述用户对所述另一渲染应用客户端进行操作产生的;
所述确定模块用于根据所述另一第二操作数据确定所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别大于或者等于所述预设阈值;
所述渲染模块用于恢复进行图像渲染;
所述生成模块用于生成另一恢复显示命令;
所述发送模块用于向所述终端设备发送所述另一恢复显示命令,其中,所述另一恢复显示命令用于指示所述终端设备停止重复显示所述另一第二时刻显示的渲染图像。
第九方面,提供了一种终端设备,所述终端设备包括处理器以及存储器,所述处理器执行所述存储器中的程序,从而执行如第一方面或者第三方面任一项所述的方法。
第十方面,提供了一种云渲染平台,所述云渲染平台包括多个云渲染节点,每个云渲染节点包括处理器以及存储器,所述处理器执行所述存储器中的程序,从而执行如第二方面或者第四方面任一项所述的方法。
第十一方面,提供了一种计算机可读存储介质,其特征在于,包括指令,当所述指令在终端设备上运行时,使得所述终端设备执行如第一方面或者第三方面任一项所述的方法。
第十二方面,提供了一种计算机可读存储介质,其特征在于,包括指令,当所述指令在云渲染节点上运行时,使得所述云渲染节点执行如第二方面或者第四方面任一项所述的方法。
第十三方面,提供了一种云渲染系统,包括终端设备、网络设备以及云渲染平台,其中,所述终端设备通过所述网络设备连接所述云渲染平台,所述云渲染平台包括多个云渲染节点,当所述终端设备用于执行第一方面任一项所述的方法时,所述云渲染节点用于执行第二方面任一项所述的方法;当所述终端设备用于第三方面任一项所述的方法时,所述云渲染节点用于执行第四方面任一项所述的方法。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1A-图1B是本申请提供的一些云渲染系统的结构示意图;
图2是本申请提供的一种云渲染方法的流程示意图;
图3是本申请提供的一种从不同角度观察渲染场景的示意图;
图4是本申请提供的第一种云渲染控制方法的流程示意图;
图5是本申请提供的一种预测模型的结构示意图;
图6是本申请提供的第二种云渲染控制方法的流程示意图;
图7是本申请提供的第三种云渲染控制方法的流程示意图;
图8是本申请提供的第四种云渲染控制方法的流程示意图;
图9是本申请提供的一种云渲染系统的示意图;
图10是本申请提供的另一种云渲染系统的示意图;
图11是一种实现方式的智能终端的结构框图;
图12是一种实现方式的电脑的结构框图;
图13是一种实现方式的云渲染平台的结构框图。
具体实施方式
参见图1A,图1A是本申请涉及的一种云渲染系统的结构示意图。本申请的云渲染系统用于通过渲染方法对渲染场景的3D模型进行渲染得到的2D图像,即渲染图像。其中,渲染方法可以包括光线跟踪渲染等等。本申请的云渲染系统可以包括:终端设备110、网络设备120以及云渲染平台130。
终端设备110是可以运行渲染应用客户端,渲染应用客户端是用户和服务器之间中介,用户向渲染应用客户端输入指令,渲染应用客户端将指令翻译成数据发送给云渲染平台130,云渲染平台130对数据处理完毕后返回渲染图像,然后,再由渲染应用客户端将渲染图像进行呈现给用户,例如,游戏应用客户端、VR应用客户端、电影特效应用客户端以及动画应用客户端等等。终端设备110的数量可以是一个,也可以是多个。以终端设备110的数量为两个为例,一个终端设备110上可以安装有一个渲染应用客户端,该终端设备110上的渲染应用客户端可以与云渲染平台130中的渲染应用进行通信,另一终端设备110上可以安装有另一渲染应用客户端,该另一终端设备110上的渲染应用客户端也可以与云渲染平台130中的渲染应用进行通信。在一些具体的实施例中,终端设备110可以是用于显示飞行训练情景的虚拟现实设备(Virtual Reality,VR)、可以是用于显示虚拟游戏情景的电脑以及用于显示虚拟商城场景的智能手机等等,此处不作具体限定。终端设备可以是高配置、高性能(例如,多核、高主频、内存大等等)的设备,也可以是低配置,低性能(例如,单核、低主频、内存小等等)的设备。
网络设备120用于在终端设备110通过任何通信机制/通信标准的通信网络与云渲染平台23之间传输数据。其中,通信网络可以是广域网、局域网、点对点连接等方式,或它们的任意组合。
云渲染平台130包括多个云渲染节点,每个云渲染节点自下而上包括渲染硬件、虚拟化服务、渲染引擎以及渲染服务端应用。其中,
渲染硬件包括计算资源、存储资源以及网络资源。计算资源可以采用异构计算架构,例如,可以采用中央处理器(Central Processing Unit,CPU)+图形处理器(Graphics Processing Unit,GPU)架构,CPU+AI芯片,CPU+GPU+AI芯片架构等等,此处不作具体限定。存储资源可以包括内存等等。这里,计算资源可以被分成多个计算单位资源,存储资源可以被分成多个存储单位资源,网络资源可以被分成多个网络单位资源。因此,云渲染平台可以按照用户的资源需求以单位资源为基础进行自由组合,从而用户的需要提供资源。例如,计算资源可以被分成5u的计算单位资源,存储资源可以被分成10G的存储单位资源,则计算资源和存储资源的组合可以是,5u+10G,5u+20G,5u+30u,…,10u+10G,10u+20G,10u+30u,…。虚拟化服务是通过虚拟化技术将多个物理主机的资源构建为统一的资源池,并按照用户的需要灵活地隔离出相互独立的资源以运行用户的应用程序的服务。
虚拟化服务可以包括虚拟机(Virtual Machine,VM)服务、裸金属服务器(Bare Metal Server,BMS)服务以及容器(Container)服务。其中,VM服务可以是通过虚拟化技术在多个物理主机上虚拟出虚拟机(Virtual Machine,VM)资源池以为用户按需提供VM进行使用的服务。BMS服务是在多个物理主机上虚拟出BMS资源池以为用户按需提供BMS进行使用的服务。容器服务是在多个物理主机上虚拟出容器资源池以为用户按需提供容器进行使用的服务。VM是模拟出来的一台虚拟的计算机,也即逻辑上的一台计算机。BMS是一种可弹性伸缩的高性能计算服务,计算性能与传统物理机无差别,具有安全物理隔离的特点。容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以达到隔离用户空间、进程和资源的目的。应理解,上述虚拟化服务中的VM服务、BMS服务以及容器服务仅仅是作为具体的事例,在实际应用中,虚拟化服务还可以其他轻量级或者重量级的虚拟化服务,此处不作具体限定。
渲染引擎可以用于实现图像渲染算法,例如,Optix、Unity等等。
渲染服务端应用可以用于调用渲染引擎以完成渲染图像的渲染,常见的渲染服务端应用可以包括:游戏服务端应用、VR服务端应用、电影特效服务端应用以及动画服务端应用等等。
应理解,图1A所示的云渲染系统仅仅是作为具体的示例,在实际应用中个,如图1B所示还可以包括管理设备140,管理设备140可以是第三方设备,例如,提供3D游戏的应用程序的游戏开发商的设备等等,此处不作具体限定。
参见图2,图2是本申请提供的一种云渲染方法的流程示意图。如图2所示,本申请的云渲染方法包括如下步骤:
S101:终端设备向网络设备发送渲染请求。相应地,网络设备接收终端设备发送的渲染请求。
S102:网络设备向云渲染平台发送渲染请求。相应地,云渲染平台接收网络设备发送的渲染请求。
S103:云渲染平台根据渲染请求进行渲染从而得到渲染图像。
S104:云渲染平台将渲染图像发送给网络设备。相应地,网络设备接收云渲染平台发送的渲染图像。
S105:网络设备将渲染图像发送给终端设备。相应地,终端设备接收网络设备发送的渲染图像。
上述图2所示的云渲染方法中,终端设备可以通过网络设备连接到云渲染平台,借助云渲染平台的强大硬件进行复杂的渲染工作从而得到渲染图像,然后,把渲染图像传输到终端设备,因此,终端设备只需要具备普通运算能力即可。云渲染系统将计算负载从终端设备分离出来,渲染应用的运行不再受制于终端设备侧的硬件能力,有利于渲染应用的开发和推广销售。但是,游戏进行中,云渲染平台是持续不断地进行渲染的,也就是说,即使游戏画面处于静止状态时,仍然会进行重复渲染,需要占用巨大的计算资源,同时,云渲染平台和终端设备还需要不断地将进行数据传输(包括渲染请求以及渲染图像),需要占用大量的网络资源和存储资源。
为了解决上述问题,本申请提出了一种云渲染控制方法、设备以及系统,能够有效降低对资源的需求。
渲染图像通常取决于渲染场景以及视角。其中,渲染场景可以是游戏场景、虚拟购物商城场景、模拟实战场景等等,渲染场景包括至少一个光源以及至少一个3维模型,例如,游戏场景中的游戏角色是3维模型、湖是3维模型、山是3维模型、怪物是3维模型等等。视角为用户观察所述渲染场景的角度。不言而喻,当视角相同,渲染场景不同时,渲染图像的将会不同,这个非常容易理解,此处不额外举例说明。当渲染场景相同,视角不同时,渲染图像也会不相同,以图3所示为例,渲染场景可以如图3中的(a)所示,此时,当用户通过第一角度观察渲染场景时,得到的渲染图像如图3中的(b)所示,当用户通过第二角度观察渲染场景时,得到的渲染图像如图3中的(c)所示。相反,当渲染场景相同,并且,视角相同时,渲染图像也相同。
渲染场景的变化将会影响渲染图像的变化,而,渲染场景是否发生变化的影响因素有很多,不同的渲染场景,影响因素也各不相同。以渲染场景为游戏场景为例,渲染场景是否发生变化可能是以下因素导致的:用户操作的游戏角色的位置是否发生了变化、用户观察所述渲染场景的角度是否发生了变化、游戏辅助操作发生是否了变化、他人操作是否引起了变化。
具体地,在忽略其他因素的情况下,如果用户操作的游戏角色的位置发生了变化,渲染场景将会发生变化,如果用户操作的游戏角色的位置没有发生变化,渲染场景将不会发生变化。在忽略其他因素的情况下,如果用户操作的游戏角色观察渲染场景的角度发生了变化,渲染场景将会发生变化,如果用户操作的游戏角色观察渲染场景的角度没有发生变化,渲染场景将不会发生变化。在忽略其他因素的情况下,如果游戏辅助操作发生了变化,渲染场景将会发生变化,如果游戏辅助操作没有发生变化,渲染场景将不会发生变化。在忽略其他因素的情况下,如果他人操作引起了变化,渲染场景将会发生变化,如果他人操作没有引起变化,渲染场景将不会发生变化。
结合一些具体的例子进行说明,对于游戏角色的位置来说,假设用户操作的游戏角色从位置从湖边移动到了山边,明显地,游戏场景将会发生变化。对于游戏辅助操作来说,假设进行了游戏角色的换装操作,明显地,游戏场景将会发生变化。对于游戏角色观察渲染场景的角度来说,假设用户操作的游戏角色从抬头看天空变成低头看地面,明显地,游戏场景将会发生变化。对于他人操作来说,假设用户和他人在联机 玩游戏,用户操作的游戏角色和他人操作的游戏角色都在湖边杀怪,明显地,他人灭杀怪物,也会引起游戏场景将会发生变化。应理解,上述例子中游戏角色位置、游戏辅助操作以及他人操作引起游戏场景的变化的例子仅仅是作为具体举例,此处不作具体限定。
下面将以用户操作的游戏角色的位置、游戏辅助操作以及他人操作为例,详细说明渲染图像是否发生变化的影响因素是如何检测出来的。具体地,
用户操作的游戏角色的位置是否发生变化可以通过以下方式检测出来:假设游戏角色的第一位置(x 1,y 1),之后,游戏角色行进到第二位置(x 2,y 2),如果x 2-x 1≠0或者y 2-y 1≠0,则用户操作的游戏角色的位置发生了变化,如果x 2-x 1=0,并且,y 2-y 1=0,则用户操作的游戏角色的位置没有发生变化。其中,x 1为游戏角色在屏幕(显示屏或者触摸屏)中的第一横坐标,y 1为游戏角色在屏幕(显示屏或者触摸屏)中的第一纵坐标,x 2为游戏角色在屏幕(显示屏或者触摸屏)中的第二横坐标,y 2为游戏角色在屏幕(显示屏或者触摸屏)中的第二纵坐标。当终端设备为电脑时,用户可以通过键盘上的方向键控制游戏角色前后左右行进,或者,通过鼠标的滚轮控制游戏角色前后行进,当终端设备为智能手机时,用户可以通过点击触摸屏控制游戏角色前后左右行进,当终端设备为VR设备时,用户可以通过手柄或者手势检测控制戏角色前后左右行进。可以理解,上述游戏角色的行进方式仅仅是作为举例,在其他的应用中,还可以是通过鼠标的左右键控制游戏角色前后行进等等,此处不作具体限定。
游戏角色观察渲染场景的角度是否发生变化可以通过以下方式检测出来:假设游戏角色观察渲染场景的角度为第一角度θ 1,之后,游戏角色观察渲染场景的角度变为第二角度θ 2,如果θ 21≠0,则用户操作的游戏角色观察渲染场景的角度发生了变化,如果θ 21=0,则用户操作的游戏角色观察渲染场景的角度没有发生变化。
游戏辅助操作是否发生了变化可以通过以下方式检测出来:假设游戏具有n项游戏辅助操作P 1,P 2,…,P n,如果没有执行了P i项游戏辅助操作,则该项游戏辅助操作可以记为0,如果执行了P i项游戏辅助操作,则该项游戏辅助操作可以记为1。这里,游戏辅助操作可以是指为游戏角色更换衣服,添加放烟花特效,为游戏角色增加攻击武器等等操作。
举个例子说明,如果游戏辅助操作的第一操作记录为(P 1=0,P 2=0,…,P n=0),之后,游戏辅助操作的第二操作记录为(P 1=0,P 2=1,…,P n=1),则可以判断游戏辅助操作发生了变化,如果游戏辅助操作的第一操作记录为(P 1=0,P 2=0,…,P n=0),之后,游戏辅助操作的第二操作记录为(P 1=0,P 2=0,…,P n=0),则可以判断游戏辅助操作没有发生变化。当终端设备为电脑时,用户可以快捷键进行游戏辅助操作,或者,通过鼠标对游戏的菜单进行点击从而执行游戏辅助操作,当终端设备为智能手机时,用户可以通过触控触摸屏,从而进行游戏辅助操作,当终端设备为VR设备时,用户可以通过手柄或者手势检测进行游戏辅助操作。
他人操作是否引起了变化可以通过以下方式检测出来:假设游戏场景中具有n个模型,每个模型可以是其他游戏人物或环境特征等,记为M 1,M 2,…,M n。选择能够出现在该用户视野范围内的模型子集,记为S 1,S 2,…,S k。如果该游戏模型子集中模型S i发生了变化,则该模型变化可以记为S i=1;如果该模型没有变化可以记为S i=0。举个例子说明,如果游戏场景的第一变化记录为(S 1=0,S 2=0,…,S n=0),之后,游 戏场景的第二变化记录为(S 1=0,S 2=1,…,S n=0),则可以判断该用户的视野空间因为他人操作引起了变化,反之,如果游戏场景的第一变化记录为(S 1=0,S 2=0,…,S n=0),之后,游戏场景的第二变化记录为(S 1=0,S 2=0,…,S n=0),则可以判断该用户的视野空间没有因为他人操作引起了变化。
应理解,上述例子中是以游戏角色的位置、游戏角色观察渲染场景的角度、游戏辅助操作以及他人操作为例进行说明的,在其他的实施例中,渲染场景是否发生变化的影响因素还可以是游戏定时操作引起的变化,例如,游戏定时投放怪物引起的变化,此处不作具体限定。
参见图4,图4是本申请提供的第一种云渲染控制方法的流程示意图。本实施方式的云渲染系统包括终端设备以及云渲染平台,所述云渲染平台上设置有渲染应用,所述终端设备设置有渲染应用客户端,所述渲染应用与所述渲染应用客户端之间建立通信,所述渲染应用客户端用于在所述终端设备上显示所述渲染应用渲染得到的渲染图像。如图4所示,本实施方式的云渲染控制方法能够在图1A或者图1B所示的云渲染系统上实现,包括如下步骤:
S201:终端设备获取第一操作数据,其中,所述第一操作数据是根据用户在第一时刻对所述渲染应用客户端的操作状态产生的。
在一些可能的实施方式中,用户可以是指使用终端设备的人,使用该终端设备的人可以是同一个人,也可以是不同的人。例如,当渲染应用客户端是安装在个人电脑中的游戏应用客户端时,使用该渲染应用客户端的人可以是一直不变的,当渲染应用客户端是安装在公司电脑中的电影特效应用客户端时,使用该渲染应用客户端的人可能会发生变化,即,由不同的员工轮流对该渲染应用客户端进行操作。
在一些可能的实施方式中,以渲染应用客户端为游戏应用客户端为例,第一操作数据可以包括第一用户位置数据,第一视角方向数据以及第一游戏辅助操作数据。其中,第一用户位置数据用于表示在第一时刻是否由于用户操作引起游戏角色的位置发生变化。以二元化数据表示时,第一用户位置数据为“0”时,表示在第一时刻没有由于用户操作引起游戏角色的位置发生变化,第一用户位置数据为“1”时,表示在第一时刻由于用户操作引起游戏角色的位置发生变化。第一视角方向数据用于表示在第一时刻是否由于用户操作引起游戏角色观察游戏场景的视角发生了变化。以二元化数据表示时,第一视角方向数据为“0”时,表示在第一时刻没有由于用户操作引起游戏角色观察游戏场景的视角发生变化,第一视角方向数据为“1”时,表示在第一时刻由于用户操作引起游戏角色观察游戏场景的视角发生了变化。第一游戏辅助操作数据用于表示在第一时刻是否由于用户辅助操作引起了渲染场景发生了变化。以二元化数据表示时,第一游戏辅助操作数据为“0”时,表示在第一时刻没有由于用户辅助操作引起了渲染场景发生了变化,第一游戏辅助操作数据为“1”时,表示在第一时刻由于用户辅助操作引起了渲染场景发生了变化。
S202:终端设备根据所述第一操作数据确定所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值。
在一些可能的实施方式中,所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值意味着:渲染应用客户 端在第一时刻之后要显示的渲染图像和第一时刻显示的渲染图像没有差别,或者,差别不大。这里,没有差别是指在第一时刻之后要显示的渲染图像和第一时刻显示的渲染图像完全相同,即,第一时刻之后要显示的渲染图像减去第一时刻显示的渲染图像得到的残差图像中的元素全部为零,差别不大是指在第一时刻之后要显示的渲染图像和第一时刻显示的渲染图像并不完全相同,即,第一时刻之后要显示的渲染图像减去第一时刻显示的渲染图像得到的残差图像中的元素不是元素全部为零,但是,这种差别人的肉眼是难以发现的。
在一些可能的实施方式中,第一时刻和第一时刻之后的时间间隔长度可以根据需要进行设置,例如,可以是30毫秒,1秒、2秒等等。另外,第一时刻和第一时刻之后的时间间隔长度可以相隔1帧图像,2帧图像或者更多。
在一些可能的实施方式中,根据所述第一操作数据确定所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值的方法为:
将所述第一操作数据输入预测模型,从而得到第一预测结果,其中,第一预测结果用于表示所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别是否小于预设阈值,具体表示为:
y 1=f(x 1)
其中,y 1为第一预测结果,x 1为第一操作数据。f()包含第一操作数据与第一预测结果的映射关系。
在一具体的实施例中,如图5所示,预测模型可以包括深度神经网络(deep neural networks,DNN)。其中,深度神经网络包括输入层、隐藏层以及输出层。
输入层:
假设输入层的输入为第一操作数x 1,输出和输入相等S i=x 1,即,不对输入进行任何处理。为了陈述简便,此处假设输入层不作任何处理,但是,在实际应用中,可以对输入层进行归一化等等处理,此处不作具体限定。
隐藏层:
将输入层输出的S i作为隐藏层的输入,假设总共L(L≥2)层隐藏层,设Z l表示第l层的输出结果,当l=1时,Z 1=S i,其中,1≤l≤L,那么,第l层和第l+1层之间的关系为:
a l+1=W lZ l+b l
Z l+1=f l+1(a l+1)
其中,W l为第l层的权值向量,b l为第l层的偏置向量,a l+1为第l+1层的中间向量,f l+1为第l+1层的激励函数,Z l+1为第l+1层的隐藏层结果。激励函数可以是sigmoid函数,双曲正切函数,Relu函数,ELU(Exponential Linear Units)函数等等中的任意一种。
输出层:
假设第L层的预测结果Z L具体为(z 1,z 2),其中,z 1用于表示渲染客户端应用的下一帧的渲染图像的画面内容和当前帧的渲染图像的画面内容没有发生变化,z 2用于表示渲染客户端应用的下一帧的渲染图像的画面内容和当前帧的渲染图像的画面内容发生了变化,则通过softmax函数得到的运行数据的预测结果z 1以及z 2的观察概率为:
Figure PCTCN2021109939-appb-000001
其中,
Figure PCTCN2021109939-appb-000002
为z 1的观察概率,
Figure PCTCN2021109939-appb-000003
为z 2的观察概率,e为自然数。可以理解,上述例子中以softmax函数为例进行说明,但是,在实际的应用中,还可以采用逻辑斯谛函数(logistic)函数等等,此处不作具体限定。
当预测结果z 1的观察概率大于预测结果z 2的观察概率时,第一预测结果y 1为预测结果z 1;当预测结果z 1的观察概率小于或者等于预测结果z 2的观察概率时,第一预测结果y 1为预测结果z 2
预测模型可以是这样训练得到的:对于单次训练来说,因为预测模型的输出尽可能的接近真正想要的预测结果,所以,可以将已知运行数据输入预测模型,从而得到预测值,并将对应的已知预测结果作为真正想要的目标值,比较预测值和目标值,再根据两者之间的差异值来更新预测模型中的深度神经网络的每一层的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为预测模型中的各层预先配置参数)。依照上述的方式不断地调整,直到预测模型输出的预测值与目标值的差异值足够的小。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值之间的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么预测模型的训练就变成了尽可能缩小这个loss的过程。
S203:在确定所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值的情况下,终端设备重复显示存储在自身的第一时刻显示的渲染图像。
S204:终端设备通过网络设备向云渲染平台发出暂停渲染指令。相应地,云渲染平台接收终端设备通过网络设备发送的暂停渲染指令。
S205:云渲染平台根据所述暂停渲染指令停止进行图像渲染。
S206:终端设备获取第二操作数据,其中,所述第二操作数据是根据用户在第二时刻对所述渲染应用客户端的操作状态产生的。
在一些可能的实施方式中,第一时刻和第二时刻使用所述终端设备的用户可以是同一个人,也可以不是同一个人。
在一些可能的实施方式中,以渲染应用客户端为游戏应用客户端为例,第二操作数据可以包括第二用户位置数据,第二视角方向数据以及第二游戏辅助操作数据。其中,第二用户位置数据用于表示在第二时刻是否由于用户操作引起游戏角色的位置发生变化。以二元化数据表示时,第二用户位置数据为“0”时,表示在第二时刻没有由于用户操作引起游戏角色的位置发生变化,第二用户位置数据为“1”时,表示在第二时刻由于用户操作引起游戏角色的位置发生变化。第二视角方向数据用于表示在第二时刻是否由于用户操作引起游戏角色观察游戏场景的视角发生了变化。以二元化数据表示时,第二视角方向数据为“0”时,表示在第二时刻没有由于用户操作引起游戏角色观察游戏场景的视角发生变化,第二视角方向数据为“1”时,表示在第二时刻由于用户操作引起游戏角色观察游戏场景的视角发生了变化。第二游戏辅助操作数据用于表示在第二时刻是否由于用户辅助操作引起了渲染场景发生了变化。以二元化数据表 示时,第二游戏辅助操作数据为“0”时,表示在第二时刻没有由于用户辅助操作引起了渲染场景发生了变化,第二游戏辅助操作数据为“1”时,表示在第二时刻由于用户辅助操作引起了渲染场景发生了变化。
S207:终端设备根据所述第二操作数据确定所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别大于或者等于预设阈值。
在一些可能的实施方式中,所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别大于或者等于预设阈值意味着:渲染应用客户端在第二时刻之后要显示的渲染图像和第二时刻显示的渲染图像差别比较大。这里,差别比较大是第二时刻之后要显示的渲染图像减去第二时刻显示的渲染图像得到的残差图像中的元素大部分不为零,这种差别人的肉眼是容易发现的。
在一些可能的实施方式中,第二时刻和第二时刻之后的时间间隔长度可以根据需要进行设置,例如,可以是30毫秒,1秒、2秒等等。另外,第二时刻和第二时刻之后的时间间隔长度可以相隔1帧图像,2帧图像或者更多。
在一些可能的实施方式中,根据所述第二操作数据确定所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别大于或者等于预设阈值的方法为:
将所述第二操作数据输入预测模型,从而得到第二预测结果,其中,第二预测结果用于表示所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别是否大于或者等于预设阈值,具体表示为:
y 2=f(x 2)
其中,y 2为第二预测结果,x 2为第二操作数据。f()包含第二操作数据与第二预测结果的映射关系。具体的使用预测模型进行预测的过程,以及,预测模型的训练过程与步骤S202中的使用预测模型进行预测的过程,以及,预测模型的训练过程相类似,具体可以参见步骤S202,此处不再展开描述。
在一具体的实施例中,第二时刻晚于第一时刻,如果从第一时刻至第二时刻,第一时刻要显示的渲染图像和第二时刻要显示的渲染图像没有差别或者差别不大,那么,第一时刻显示的渲染图像和第二时刻显示的渲染图像可以是同一帧渲染图像。
S208:在所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别大于或者等于预设阈值的情况下,终端设备停止重复显示第二时刻显示的渲染图像。
S209:终端设备通过网络设备向云渲染平台发出恢复渲染指令。相应地,云渲染平台通过网络设备接收终端设备发送的恢复渲染指令。
S210:云渲染平台根据所述恢复渲染指令恢复进行图像渲染,从而得到新的渲染图像。
S211:云渲染平台将所述新的渲染图像发送给终端设备。相应地,终端设备接收云渲染平台发送的新的渲染图像。
S212:终端设备在第三时刻显示所述云渲染平台发送的所述新的渲染图像。
在上述例子中,预测模型可以是离线训练好的,然后,设置在终端设备中的。云 渲染平台在接收到暂停渲染指令之后,停止进行图像渲染,终端设备将存储在自身的第一时刻显示的渲染图像进行重复显示,可以有效地减少云渲染平台的计算资源的浪费,也可以有效地减少终端设备和云渲染平台之间进行数据传输所需要的带宽资源。
应理解,上述例子中是以终端设备将自身存储的第一时刻显示的渲染图像进行重复显示为例进行说明,在其他的应用中,终端设备还可以重复接收云渲染平台发送的第一时刻显示的渲染图像并显示,此时,尽快需要占据终端设备和云渲染平台之间进行数据传输所需要的带宽资源,但是,终端设备只需要正常接收第一时刻显示的渲染图像即可,不需要对终端设备进行改进。
参见图6,图6是本申请提供的第二种云渲染控制方法的流程示意图。本实施方式的云渲染系统包括终端设备以及云渲染平台,所述云渲染平台上设置有渲染应用,所述终端设备设置有渲染应用客户端,所述渲染应用与所述渲染应用客户端之间建立通信,所述渲染应用客户端用于在所述终端设备上显示所述渲染应用渲染得到的渲染图像。如图6所示,本实施方式的云渲染控制方法能够在图1A或者图1B所示的云渲染系统上实现,包括如下步骤:
S301:终端设备获取第一操作数据,其中,所述第一操作数据是根据用户在第一时刻对所述渲染应用客户端的操作状态产生的。
S302:终端设备向云渲染平台发送第一操作数据。相应地,云渲染平台接收终端设备发送的第一操作数据。
S303:云渲染平台根据所述第一操作数据确定所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值。
在一些可能的实施方式中,根据所述第一操作数据确定所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值的方法为:
将所述第一操作数据输入预测模型,从而得到第一预测结果,其中,第一预测结果用于表示所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别是否小于预设阈值,具体表示为:
y 1=f(x 1)
其中,y 1为第一预测结果,x 1为第一操作数据。f()包含第一操作数据与第一预测结果的映射关系。
S304:在确定所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值的情况下,云渲染平台停止进行图像渲染,并生成重复显示命令。
S305:云渲染平台通过网络设备向终端设备发出重复显示命令。相应地,终端设备接收云渲染平台通过网络设备发送的重复显示命令。
S306:终端设备根据所述重复显示命令,重复显示存储在自身的第一时刻显示的渲染图像。
S307:终端设备获取第二操作数据,其中,所述第二操作数据是根据用户在第二时刻对所述渲染应用客户端的操作状态产生的。
S308:终端设备向云渲染平台发送第二操作数据。相应地,云渲染平台接收终端 设备发送的第二操作数据。
S309:云渲染平台根据所述第二操作数据确定所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别大于或者等于预设阈值。
在一些可能的实施方式中,将所述第二操作数据输入预测模型,从而得到第二预测结果,其中,第二预测结果用于表示所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别是否大于或者等于预设阈值,具体表示为:
y 2=f(x 2)
其中,y 2为第二预测结果,x 2为第二操作数据。f()包含第二操作数据与第二预测结果的映射关系。
S310:在确定所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别大于或者等于预设阈值的情况下,云渲染平台恢复进行图像渲染从而得到新的渲染图像,并生成恢复显示命令。
S311:云渲染平台通过网络设备向终端设备发出恢复显示命令以及新的渲染图像。相应地,终端设备接收云渲染平台通过网络设备发送的恢复显示命令以及新的渲染图像。
S312:终端设备根据所述恢复显示命令,停止重复显示存储在自身的第二时刻显示的渲染图像,并显示所述新的图像。
在本实施例中,预测模型设置在云渲染平台中,采用离线训练或者在线训练。云渲染平台在接收到暂停渲染指令之后,停止进行图像渲染,终端设备将存储在自身的第一时刻显示的渲染图像进行重复显示,可以有效地减少云渲染平台的计算资源的浪费,也可以有效地减少终端设备和云渲染平台之间进行数据传输所需要的带宽资源,并且,预测模型设置在云渲染平台可以有效减少对终端设备的要求,有利于降低终端设备的成本。
上述图4以及图6所示的云渲染控制方法可以应用于单机模式或者多机模式下。
参见图7,图7是本申请提供的第二种云渲染控制方法的流程示意图。本实施方式的云渲染控制方法,应用于云渲染系统,所述云渲染系统包括终端设备以及云渲染平台,所述云渲染平台上设置有渲染应用,所述终端设备设置有渲染应用客户端,所述渲染应用与所述渲染应用客户端之间建立通信,所述渲染应用客户端用于在所述终端设备上显示所述渲染应用渲染得到的渲染图像,所述云渲染系统还包括另一终端设备,所述另一终端设备设置有另一渲染应用客户端,所述渲染应用与所述另一渲染应用客户端建立通信,所述另一渲染应用客户端用于在所述另一终端设备上显示所述渲染应用渲染得到的另一渲染图像。如图7所示,本实施方式的云渲染控制方法能够在图1A或者图1B所示的云渲染系统上实现,包括如下步骤:
S401:终端设备获取另一第一操作数据,其中,所述另一第一操作数据是另一用户在另一第一时刻对所述另一渲染应用客户端进行操作产生的。
在一些可能的实施方式中,另一用户可以是指使用另一终端设备的人,使用该另一终端设备的人可以是同一个人,也可以是不同的人。例如,当另一渲染应用客户端 是安装在个人电脑中的游戏应用客户端时,使用该另一渲染应用客户端的人可以是一直不变的,当该另一渲染应用客户端是安装在公司电脑中的电影特效应用客户端时,使用该另一渲染应用客户端的人可能会发生变化,即,由不同的员工轮流对该另一渲染应用客户端进行操作。
在一些可能的实施方式中,以渲染应用客户端为游戏应用客户端为例,另一第一操作数据可以包括第一他人操作数据,其中,第一他人操作数据用于表示在另一第一时刻是否由于他人在另一渲染应用客户端进行操作引起本渲染应用客户端的渲染场景发生变化。以二元化数据表示时,第一他人操作数据为“0”时,表示在另一第一时刻没有由于他人在另一渲染应用客户端进行操作引起本渲染应用客户端的渲染场景发生变化,第一他人操作数据为“1”时,表示在另一第一时刻由于他人在另一渲染应用客户端进行操作引起本渲染应用客户端的渲染场景发生变化。
S402:终端设备根据所述另一第一操作数据确定所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别小于预设阈值。
在一些可能的实施方式中,所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别小于预设阈值意味着:渲染应用客户端在另一第一时刻之后要显示的渲染图像和另一第一时刻显示的渲染图像没有差别,或者,差别不大。这里,没有差别是指在另一第一时刻之后要显示的渲染图像和另一第一时刻显示的渲染图像完全相同,即,另一第一时刻之后要显示的渲染图像减去另一第一时刻显示的渲染图像得到的残差图像中的元素全部为零,差别不大是指在另一第一时刻之后要显示的渲染图像和另一第一时刻显示的渲染图像并不完全相同,即,另一第一时刻之后要显示的渲染图像减去另一第一时刻显示的渲染图像得到的残差图像中的元素不是元素全部为零,但是,这种差别人的肉眼是难以发现的。
在一些可能的实施方式中,另一第一时刻和另一第一时刻之后的时间间隔长度可以根据需要进行设置,例如,可以是30毫秒,1秒、2秒等等。另外,另一第一时刻和另一第一时刻之后的时间间隔长度可以相隔1帧图像,2帧图像或者更多。
在一些可能的实施方式中,根据所述另一第一操作数据确定所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别小于预设阈值的方法为:
将所述另一第一操作数据输入预测模型,从而得到第三预测结果,其中,第三预测结果用于表示所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别是否小于预设阈值,具体表示为:
y 3=f(x 3)
其中,y 3为第三预测结果,x 3为另一第一操作数据。f()包含另一第一操作数据与第三预测结果的映射关系。具体的使用预测模型进行预测的过程,以及,预测模型的训练过程与步骤S202中的使用预测模型进行预测的过程,以及,预测模型的训练过程相类似,具体可以参见步骤S202,此处不再展开描述。
S403:在确定所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别小于预设阈值的情况下,终端设备重复显 示存储在自身的另一第一时刻显示的渲染图像。
S404:终端设备通过网络设备向云渲染平台发出另一暂停渲染指令。相应地,云渲染平台接收终端设备通过网络设备发送的另一暂停渲染指令。
S405:云渲染平台根据所述另一暂停渲染指令停止进行图像渲染。
S406:终端设备获取另一第二操作数据,其中,所述另一第二操作数据是根据另一用户在另一第二时刻对所述另一渲染应用客户端的操作状态产生的。
在一些可能的实施方式中,另一第一时刻和另一第二时刻使用所述另一终端设备的另一用户可以是同一个人,也可以不是同一个人。
在一些可能的实施方式中,另一第一操作数据可以包括第二他人操作数据,其中,第二他人操作数据用于表示在另一第二时刻是否由于他人在另一渲染应用客户端进行操作引起本渲染应用客户端的渲染场景发生变化。以二元化数据表示时,第二他人操作数据为“0”时,表示在另一第二时刻没有由于他人在另一渲染应用客户端进行操作引起本渲染应用客户端的渲染场景发生变化,第二他人操作数据为“1”时,表示在另一第二时刻由于他人在另一渲染应用客户端进行操作引起本渲染应用客户端的渲染场景发生变化。
S407:终端设备根据所述另一第二操作数据确定所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别大于或者等于预设阈值。
在一些可能的实施方式中,所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别大于或者等于预设阈值意味着:渲染应用客户端在另一第二时刻之后要显示的渲染图像和另一第二时刻显示的渲染图像差别比较大。这里,差别比较大是另一第二时刻之后要显示的渲染图像减去另一第二时刻显示的渲染图像得到的残差图像中的元素大部分不为零,这种差别人的肉眼是容易发现的。
在一些可能的实施方式中,另一第二时刻和另一第二时刻之后的时间间隔长度可以根据需要进行设置,例如,可以是30毫秒,1秒、2秒等等。另外,另一第二时刻和另一第二时刻之后的时间间隔长度可以相隔1帧图像,2帧图像或者更多。
在一些可能的实施方式中,根据所述另一第二操作数据确定所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别大于或者等于预设阈值的方法为:
将所述另一第二操作数据输入预测模型,从而得到第四预测结果,其中,第四预测结果用于表示所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别是否大于或者等于预设阈值,具体表示为:
y 4=f(x 4)
其中,y 4为第四预测结果,x 4为另一第二操作数据。f()包含另一第二操作数据与第四预测结果的映射关系。具体的使用预测模型进行预测的过程,以及,预测模型的训练过程可以参见步骤S202,此处不再展开描述。
在一具体的实施例中,另一第二时刻晚于另一第一时刻,如果从另一第一时刻至另一第二时刻,另一第一时刻要显示的渲染图像和另一第二时刻要显示的渲染图像没 有差别或者差别不大,那么,另一第一时刻显示的渲染图像和另一第二时刻显示的渲染图像可以是同一帧渲染图像。
S408:在所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别大于或者等于预设阈值的情况下,终端设备停止重复显示另一第二时刻显示的渲染图像。
S409:终端设备通过网络设备向云渲染平台发出另一恢复渲染指令。相应地,云渲染平台通过网络设备接收终端设备发送的另一恢复渲染指令。
S410:云渲染平台根据所述另一恢复渲染指令恢复进行图像渲染,从而得到新的渲染图像。
S411:云渲染平台将所述另一新的渲染图像发送给终端设备。相应地,终端设备接收云渲染平台发送的另一新的渲染图像。
S412:终端设备在另一第三时刻显示所述云渲染平台发送的所述另一新的渲染图像。
参见图8,图8是本申请提供的第四种云渲染控制方法的流程示意图。本实施方式的云渲染控制方法,应用于云渲染系统,所述云渲染系统包括终端设备以及云渲染平台,所述云渲染平台上设置有渲染应用,所述终端设备设置有渲染应用客户端,所述渲染应用与所述渲染应用客户端之间建立通信,所述渲染应用客户端用于在所述终端设备上显示所述渲染应用渲染得到的渲染图像,所述云渲染系统还包括另一终端设备,所述另一终端设备设置有另一渲染应用客户端,所述渲染应用与所述另一渲染应用客户端建立通信,所述另一渲染应用客户端用于在所述另一终端设备上显示所述渲染应用渲染得到的另一渲染图像。如图8所示,本实施方式的云渲染控制方法能够在图1A或者图1B所示的云渲染系统上实现,包括如下步骤:
S501:终端设备获取另一第一操作数据,其中,所述另一第一操作数据是另一用户在另一第一时刻对所述另一渲染应用客户端进行操作产生的。
在一些可能的实施方式中,另一用户可以是指使用另一终端设备的人,使用该另一终端设备的人可以是同一个人,也可以是不同的人。例如,当另一渲染应用客户端是安装在个人电脑中的游戏应用客户端时,使用该另一渲染应用客户端的人可以是一直不变的,当该另一渲染应用客户端是安装在公司电脑中的电影特效应用客户端时,使用该另一渲染应用客户端的人可能会发生变化,即,由不同的员工轮流对该另一渲染应用客户端进行操作。
在一些可能的实施方式中,以渲染应用客户端为游戏应用客户端为例,另一第一操作数据可以包括第一他人操作数据,其中,第一他人操作数据用于表示在另一第一时刻是否由于他人在另一渲染应用客户端进行操作引起本渲染应用客户端的渲染场景发生变化。以二元化数据表示时,第一他人操作数据为“0”时,表示在另一第一时刻没有由于他人在另一渲染应用客户端进行操作引起本渲染应用客户端的渲染场景发生变化,第一他人操作数据为“1”时,表示在另一第一时刻由于他人在另一渲染应用客户端进行操作引起本渲染应用客户端的渲染场景发生变化。
S502:终端设备向云渲染平台发送另一第一操作数据。相应地,云渲染平台接收终端设备发送的另一第一操作数据。
S503:云渲染平台根据所述另一第一操作数据确定所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别小于预设阈值。
在一些可能的实施方式中,根据所述另一第一操作数据确定所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别小于预设阈值的方法为:
将所述另一第一操作数据输入预测模型,从而得到第三预测结果,其中,第三预测结果用于表示所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别是否小于预设阈值,具体表示为:
y 3=f(x 3)
其中,y 3为第三预测结果,x 3为另一第一操作数据。f()包含另一第一操作数据与第三预测结果的映射关系。具体的使用预测模型进行预测的过程,以及,预测模型的训练过程与步骤S202中的使用预测模型进行预测的过程,以及,预测模型的训练过程相类似,具体可以参见步骤S202,此处不再展开描述。
S504:在确定所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别小于预设阈值的情况下,云渲染平台停止进行图像渲染,并生成另一重复显示命令。
S505:云渲染平台通过网络设备向终端设备发出另一重复显示命令。相应地,终端设备接收云渲染平台通过网络设备发送的另一重复显示命令。
S506:终端设备根据所述另一重复显示命令,重复显示存储在自身的另一第一时刻显示的渲染图像。
S507:终端设备获取另一第二操作数据,其中,所述另一第二操作数据是根据用户在另一第一时刻对所述渲染应用客户端的操作状态产生的。
S508:终端设备向云渲染平台发送另一第二操作数据。相应地,云渲染平台接收终端设备发送的另一第二操作数据。
S509:云渲染平台根据所述另一第二操作数据确定所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别大于或者等于预设阈值。
在一些可能的实施方式中,将所述另一第二操作数据输入预测模型,从而得到第四预测结果,其中,第四预测结果用于表示所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别是否大于或者等于预设阈值,具体表示为:
y 4=f(x 4)
其中,y 4为第四预测结果,x 4为另一第二操作数据。f()包含另一第二操作数据与第四预测结果的映射关系。具体的使用预测模型进行预测的过程,以及,预测模型的训练过程可以参见步骤S202,此处不再展开描述。
在一具体的实施例中,另一第二时刻晚于另一第一时刻,如果从另一第一时刻至另一第二时刻,另一第一时刻要显示的渲染图像和另一第二时刻要显示的渲染图像没有差别或者差别不大,那么,另一第一时刻显示的渲染图像和另一第二时刻显示的渲 染图像可以是同一帧渲染图像。
S510:在确定所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别大于或者等于预设阈值的情况下,云渲染平台恢复进行图像渲染从而得到新的渲染图像,并生成另一恢复显示命令。
S511:云渲染平台通过网络设备向终端设备发出另一恢复显示命令以及另一新的渲染图像。相应地,终端设备接收云渲染平台通过网络设备发送的另一恢复显示命令以及新的渲染图像。
S512:终端设备根据所述另一恢复显示命令,停止重复显示存储在自身的另一第二时刻显示的渲染图像,并显示所述另一新的图像。
上述图7以及图8所示的云渲染控制方法可以应用于多机模式下,例如,双人对战游戏等等。应理解,在多机模式下,可以结合图7所示的云渲染控制方法以及图4所示的云渲染控制方法进行使用,可以结合图8所示的云渲染控制方法以及图6所示的云渲染控制方法进行使用,此处不作具体限定。
为了简便起见,图4、图6-图8所示的云渲染控制方法并没有展开描述,具体请参见上文中云渲染平台、渲染图像的画面内容、渲染场景以及视角引起画面内容的变化、渲染图像的画面内容是否发生变化的影响因素的检测方法等等,此处不再展开描述。
参见图9,图9是本申请提供的一种云渲染系统的示意图。本实施方式的云渲染系统包括终端设备以及云渲染平台。其中,所述终端设备与所述云渲染平台之间相互通信。其中,所述终端设备包括:获取模块210、确定模块220、显示模块230以及发送模块240。所述云渲染平台包括:接收模块310、渲染模块320以及发送模块330。
在一具体的实施方式中,终端设备和云渲染平台可以分别用于实现以下功能:
终端设备中的各个模块可以用于实现以下功能:
所述获取模块210用于获取第一操作数据,其中,所述第一操作数据是用户在第一时刻对所述渲染应用客户端进行操作产生的;
所述确定模块220用于根据所述第一操作数据确定所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值,
所述显示模块230用于重复显示所述第一时刻显示的渲染图像;
所述发送模块240用于向所述云渲染平台发出暂停渲染指令,以指示所述渲染应用停止图像渲染。
云渲染平台中的各个模块可以用于实现以下功能:
所述接收模块310用于接收所述终端设备发送的暂停渲染指令,其中,所述暂停渲染指令是所述终端设备根据第一操作数据生成的,所述第一操作数据是在第一时刻用户对所述渲染应用客户端进行操作产生的,所述第一操作数据用于指示所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值。
所述渲染模块320用于根据所述暂停渲染指令停止进行图像渲染。
所述发送模块330用于重复向所述终端设备发送所述第一时刻显示的渲染图像。
应理解,图9所示的云渲染系统能够运行如图4以及图7所示的云渲染控制方法, 具体请参见图4以及图7以及相关描述,此处不再展开赘述。
参见图10,图10是本申请提供的一种云渲染系统的示意图。本实施方式的云渲染系统包括终端设备以及云渲染平台。其中,所述终端设备与所述云渲染平台之间相互通信。所述终端设备包括:发送模块410,接收模块420以及显示模块430,所述云渲染平台包括:接收模块510、确定模块520、渲染模块530、生成模块540以及发送模块550。
在一具体的实施方式中,终端设备可以用于实现以下功能:
所述发送模块410用于向所述云渲染平台发送第一操作数据,其中,所述第一操作数据是在第一时刻用户对所述渲染应用客户端进行操作产生的。
所述接收模420块用于接收云渲染平台发送的重复显示命令,其中,所述重复显示命令是所述云渲染平台根据所述第一操作数据生成的,所述第一操作数用于指示所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值。
所述显示模块430用于根据所述重复显示命令重复显示所述第一时刻显示的渲染图像。
在一具体的实施方式中,云渲染平台可以用于实现以下功能:
所述接收模块510用于接收所述终端设备发送的第一操作数据,其中,所述第一操作数据是在第一时刻用户对所述渲染应用客户端进行操作产生的;
所述确定模块520用于根据所述第一操作数据确定所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值;
所述渲染模块530用于停止进行图像渲染;
所述生成模块540用于生成重复显示命令;
所述发送模块550用于向所述终端设备发送所述重复显示命令,其中,所述重复显示命令用于指示所述终端设备重复显示所述第一时刻显示的渲染图像。
应理解,图10所示的云渲染系统能够运行如图6以及图8所示的云渲染控制方法,具体请参见图6以及图8以及相关描述,此处不再展开赘述。
本申请提出的一实施例的云渲染系统,包括终端设备、网络设备以及云渲染平台。其中,终端设备可以通过网络设备与云渲染平台进行通信。终端设备可以是VR设备、电脑以及智能手机等等。云渲染平台包括一个或者多个云渲染节点。
以终端设备为智能终端为例,图11是一种实现方式的智能终端的结构框图。如图11所示,智能终端可包括:基带芯片710、存储器715,包括一个或多个计算机可读存储介质、射频(RF)模块716、外围系统717。这些部件可在一个或多个通信总线714上通信。
外围系统717主要用于实现智能终端和用户/外部环境之间的交互功能,主要包括智能终端的输入输出装置。具体实现中,外围系统717可包括:触摸屏控制器718、按键控制器719、音频控制器720以及传感器管理模块721。其中,各个控制器可与各自对应的外围设备,例如触摸屏723、按键724、音频电路725以及传感器726,耦合。在一些实施例中,传感器726中的手势传感器可用于接收用户输入的手势控制操作。传感器726中的压力传感器可设置于触摸屏723的下方,可用于采集用户通过触摸屏 723输入触控操作时作用于触摸屏723上的触控压力。需要说明的,外围系统717还可以包括其他I/O外设。
基带芯片710可集成包括:一个或多个处理器711、时钟模块712以及电源管理模块713。集成于基带芯片710中的时钟模块712主要用于为处理器711产生数据传输和时序控制所需要的时钟。集成于基带芯片710中的电源管理模块713主要用于为处理器711、射频模块716以及外围系统提供稳定的、高精确度的电压。
射频(RF)模块716用于接收和发送射频信号,主要集成了智能终端的接收器和发射器。射频(RF)模块716通过射频信号与通信网络和其他通信设备通信。具体实现中,射频(RF)模块716可包括但不限于:天线系统、RF收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC芯片、SIM卡和存储介质等。此外,射频模块716还可以包括WIFI,蓝牙等等短距离无线通信模块。在一些实施例中,可在单独的芯片上实现射频(RF)模块716。
存储器715可以包括是随机存取存储器(Random Access Memory,RAM)、快闪存储器(FlashMemory)等,也可以是RAM,只读存储器(Read-OnlyMemory,ROM)或者硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-StateDrive,SSD)。存储器815可以存储操作系统、通信程序、用户界面程序、浏览器、渲染应用。其中,渲染应用包括游戏应用以及其他渲染应用。
以终端设备为电脑为例,图12是一种实现方式的电脑的结构框图。如图12所示,电脑可包括:主机810、输出设备820以及输入设备830。
主机810可集成包括:一个或多个处理器、时钟模块以及电源管理模块。集成于主机810中的时钟模块主要用于为处理器产生数据传输和时序控制所需要的时钟。集成于主机810中的电源管理模块主要用于为处理器、输出设备820以及输入设备830提供稳定的、高精确度的电压。主机810还集成了存储器,用于存储各种软件程序和/或多组指令。具体实现中,存储器可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储器可以存储操作系统,例如ANDROID,IOS,WINDOWS,或者LINUX等嵌入式操作系统。存储器还可以存储通信程序,该通信程序可用于与一个或多个输入设备或者输出设备进行通信。存储器还可以存储用户界面程序,该用户界面程序可以通过图形化的操作界面将浏览器的内容形象逼真的显示出来,并通过菜单、对话框以及按键等输入控件接收用户对浏览器的控制操作。存储器还可以存储操作系统、通信程序、用户界面程序、浏览器以及渲染应用等等。其中,渲染应用包括游戏应用以及其他渲染应用。
输出设备820主要包括显示器,显示器可包括阴极射线管显示器(Cathode Ray Tube,CRT),等离子显示器(Plasma Display Panel,PDP),液晶显示器(Liquid Crystal Display,LCD)等等。以显示器为LCD为例,液晶显示包括液晶面板以及背光模组,其中,液晶显示面板包括偏振膜、玻璃基板、黑色矩阵、彩色滤光片、保护膜、普通电极、校准层、液晶层(液晶、间隔、密封剂)、电容、显示电极、棱镜层、散光层。背光模组包括:照明光源、反射板、导光板、扩散片、增亮膜(棱镜片)及框架等等。
输入设备830可以包括键盘和鼠标。键盘和鼠标是最常用也是最主要的输入设备, 通过键盘可以将英文字母、数字、标点符号等输入到计算机中,从而向计算机发出命令、输入数据等,通过鼠标可以快速地进行纵横坐标定位,从而简化操作。其中,键盘可以包括机械键盘、塑料薄膜式键盘(Mechanical)、导电橡胶式键盘(Membrane),无接点静电电容键盘(Capacitives)等等,鼠标可以包括滚球鼠标、光电鼠标以及无线鼠标等等。
图13是一种实现方式的云渲染平台的结构框图。如图13所示云渲染平台可以包括一个或者多个云渲染节点。云渲染节点包括:处理系统910、第一存储器920、智能网卡930以及总线940。
处理系统910可以是采用异构结构,即,包括一个或者多个通用处理器,以及,一个或者多个特殊处理器,例如,GPU或者AI芯片等等,其中,通用处理器可以是能够处理电子指令的任何类型的设备,包括中央处理器(Central Processing Unit,CPU)、微处理器、微控制器、主处理器、控制器以及专用集成电路(Application Specific Integrated Circuit,ASIC)等等。通用处理器执行各种类型的数字存储指令,例如存储在第一存储器920中的软件或者固件程序。在一具体的实施例中,通用处理器可以是x86处理器等等。通用处理器通过物理接口将命令发送给第一存储器920,以完成存储相关的任务,例如,通用处理器可以提供的命令包括读取命令、写入命令、复制命令以及擦除命令等等。所述命令可以指定与第一存储器920的特定页和块有关的操作。特殊处理器用于完成图像渲染的复杂运算等等。
第一存储器920可以包括是随机存取存储器(Random Access Memory,RAM)、快闪存储器(FlashMemory)等,也可以是RAM,只读存储器(Read-OnlyMemory,ROM)或者硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-StateDrive,SSD)。第一存储器920存储了实现渲染引擎以及渲染应用的程序代码。
智能网卡930,还被称为网络接口控制器、网络接口卡或者局域网(Local Area Network,LAN)适配器。每块智能网卡930都有一个唯一的MAC地址,是智能网卡930厂家在生产时烧入只读存储芯片中的。智能网卡930包括处理器931、第二存储器932以及收发器933。处理器931与通用处理器相类似,但是,处理器931的性能要求可以低于通用处理器的性能要求。在一具体的实施例中,处理器931可以是ARM处理器等等。第二存储器932也可以是快闪存储器、HDD或者SDD,第二存储器932的存储容量可以小于第一存储器920的存储容量。收发器933可以用于接收和发送报文,并将接收到的报文上传给处理器931进行处理。智能网卡930还可以包括多个端口,端口可以是粗缆接口、细缆接口和双绞线接口三种接口类型中的任意一种或者多种。
这里,本实施例的云渲染系统中的终端设备可以用于执行图4、图6-图8中的云渲染控制方法中终端设备所执行的步骤,本实施例的云渲染系统中的云渲染平台可以用于执行图4、图6-图8中的云渲染控制方法中云渲染平台所执行的步骤。另外,本实施例的云渲染系统中的终端设备还可以是图9-图10中云渲染系统中的终端设备,本实施例的云渲染系统中的云渲染平台还可以是图9-图10中云渲染系统中的云渲染平台。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实 现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、存储盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态存储盘Solid State Disk(SSD))等。

Claims (25)

  1. 一种云渲染控制方法,其特征在于,应用于云渲染系统,所述云渲染系统包括终端设备以及云渲染平台,所述云渲染平台上设置有渲染应用,所述终端设备设置有渲染应用客户端,所述渲染应用与所述渲染应用客户端之间建立通信,所述渲染应用客户端用于在所述终端设备上显示所述渲染应用渲染得到的渲染图像,所述方法包括:
    所述终端设备获取第一操作数据,其中,所述第一操作数据是用户在第一时刻对所述渲染应用客户端进行操作产生的;
    根据所述第一操作数据确定所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值,重复显示所述第一时刻显示的渲染图像,并向所述云渲染平台发出暂停渲染指令,以指示所述渲染应用停止图像渲染。
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    所述终端设备获取第二操作数据,其中,所述第二操作数据是所述用户在第二时刻用户对所述渲染应用客户端进行操作产生的,所述第二时刻晚于所述第一时刻;
    根据所述第二操作数据确定所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别大于或等于所述预设阈值,向所述云渲染平台发出恢复渲染指令,以指示所述渲染应用恢复图像渲染。
  3. 根据权利要求1或2所述的方法,其特征在于,所述云渲染系统还包括另一终端设备,所述另一终端设备设置有另一渲染应用客户端,所述渲染应用与所述另一渲染应用客户端建立通信,所述另一渲染应用客户端用于在所述另一终端设备上显示所述渲染应用渲染得到的另一渲染图像;所述方法还包括:
    所述终端设备获取另一第一操作数据,其中,所述另一第一操作数据是另一用户在另一第一时刻对所述另一渲染应用客户端进行操作产生的;
    根据所述另一第一操作数据确定所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别小于预设阈值,重复显示所述另一第一时刻显示的渲染图像,并向所述云渲染平台发出另一暂停渲染指令,以指示所述渲染应用停止图像渲染。
  4. 根据权利要求3所述的方法,其特征在于,
    所述终端设备获取另一第二操作数据,其中,所述另一第二操作数据是所述另一用户在另一第二时刻对所述另一渲染应用客户端进行操作产生的;
    根据所述另一第二操作数据确定所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别大于或等于所述预设阈值,停止重复显示所述另一第二时刻显示的渲染图像,并向所述云渲染平台发出另一恢复渲染指令,以指示所述渲染应用恢复进行图像渲染。
  5. 一种云渲染控制方法,其特征在于,应用于云渲染系统,所述云渲染系统包括中终端设备以及云渲染平台,所述云渲染平台上设置有渲染应用,所述终端设备设置有渲染应用客户端,所述渲染应用与所述渲染应用客户端之间建立通信,所述渲染应用客户端用于在所述终端设备上显示所述渲染应用渲染得到的渲染图像,所述方法包括:
    所述云渲染平台接收所述终端设备发送的暂停渲染指令,其中,所述暂停渲染指令是所述终端设备根据第一操作数据生成的,所述第一操作数据是在第一时刻用户对所述渲染应用客户端进行操作产生的,所述第一操作数据用于指示所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值;
    根据所述暂停渲染指令停止进行图像渲染。
  6. 根据权利要求5所述的方法,其特征在于,
    所述云渲染平台接收所述终端设备发送的恢复渲染指令,其中,所述恢复渲染指令是所述终端设备根据第二操作数据生成的,所述第二操作数据是在第二时刻所述用户对所述渲染应用客户端进行操作产生的,所述第二操作数据用于指示所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别大于或者等于所述预设阈值;
    根据所述恢复渲染指令恢复进行图像渲染。
  7. 根据权利要求5或6所述的方法,其特征在于,所述云渲染系统还包括另一终端设备,所述另一终端设备设置有另一渲染应用客户端,所述渲染应用与所述另一渲染应用客户端建立通信,所述另一渲染应用客户端用于在所述另一终端设备上显示所述渲染应用渲染得到的另一渲染图像;所述方法还包括:
    云渲染平台接收所述终端设备发送的另一暂停渲染指令,其中,所述另一暂停渲染指令是所述终端设备根据另一第一操作数据生成的,所述另一第一操作数据是在另一第一时刻另一用户对所述另一渲染应用客户端进行操作产生的,所述另一第一操作数据用于指示所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别小于预设阈值;
    根据所述另一暂停渲染指令停止进行图像渲染。
  8. 根据权利要求7所述的方法,其特征在于,所述方法还包括:
    所述云渲染平台接收所述终端设备发送的另一恢复渲染指令,其中,所述另一恢复渲染指令是所述终端设备根据另一第二操作数据生成的,所述另一第二操作数据是在另一第二时刻所述另一用户对所述另一渲染应用客户端进行操作产生的,所述另一第二操作数据用于指示所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别大于或者等于所述预设阈值;
    根据所述另一恢复渲染指令恢复进行图像渲染。
  9. 一种云渲染控制方法,其特征在于,应用于云渲染系统,所述云渲染系统包括中终端设备以及云渲染平台,所述云渲染平台上设置有渲染应用,所述终端设备设置有渲染应用客户端,所述渲染应用与所述渲染应用客户端之间建立通信,所述渲染应用客户端用于在所述终端设备上显示所述渲染应用渲染得到的渲染图像,所述方法包括:
    所述终端设备向所述云渲染平台发送第一操作数据,其中,所述第一操作数据是在第一时刻用户对所述渲染应用客户端进行操作产生的;
    接收云渲染平台发送的重复显示命令,其中,所述重复显示命令是所述云渲染平台根据所述第一操作数据生成的,所述第一操作数用于指示所述渲染应用客户端在所 述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值;
    根据所述重复显示命令重复显示所述第一时刻显示的渲染图像。
  10. 根据权利要求9所述的方法,其特征在于,所述方法还包括:
    所述终端设备向所述云渲染平台发送第二操作数据,其中,所述第二操作数据是在第二时刻所述用户对所述渲染应用客户端进行操作产生的;
    接收所述云渲染平台发送的恢复显示命令,其中,所述恢复显示命令是所述云渲染平台根据所述第二操作数据生成的,所述第二操作数用于指示所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别大于或者等于预设阈值;
    根据所述恢复显示命令停止重复显示所述第二时刻显示的渲染图像。
  11. 根据权利要求9或10所述的方法,其特征在于,所述云渲染系统还包括另一终端设备,所述另一终端设备设置有另一渲染应用客户端,所述渲染应用与所述另一渲染应用客户端建立通信,所述另一渲染应用客户端用于在所述另一终端设备上显示所述渲染应用渲染得到的另一渲染图像;
    接收所述云渲染平台发送的另一重复显示命令,其中,所述另一重复显示命令是所述云渲染平台根据另一第一操作数据生成的,所述另一第一操作数用于指示所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别小于预设阈值;
    根据所述另一重复显示命令重复显示所述另一第一时刻显示的渲染图像。
  12. 根据权利要求11所述的方法,其特征在于,
    所述终端设备向所述云渲染平台发送另一第二操作数据,其中,所述另一第二操作数据是在另一第二时刻所述另一用户对所述另一渲染应用客户端进行操作产生的;
    接收所述云渲染平台发送的另一恢复显示命令,其中,所述另一恢复显示命令是所述云渲染平台根据所述另一第二操作数据生成的,所述另一第二操作数用于指示所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别大于或者等于所述预设阈值;
    根据所述另一恢复显示命令停止重复显示所述另一第二时刻显示的渲染图像。
  13. 一种云渲染控制方法,其特征在于,应用于云渲染系统,所述云渲染系统包括中终端设备以及云渲染平台,所述云渲染平台上设置有渲染应用,所述终端设备设置有渲染应用客户端,所述渲染应用与所述渲染应用客户端之间建立通信,所述渲染应用客户端用于在所述终端设备上显示所述渲染应用渲染得到的渲染图像,所述方法包括:
    所述云渲染平台接收所述终端设备发送的第一操作数据,其中,所述第一操作数据是在第一时刻用户对所述渲染应用客户端进行操作产生的;
    根据所述第一操作数据确定所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值;
    停止进行图像渲染,并,生成重复显示命令;
    向所述终端设备发送所述重复显示命令,其中,所述重复显示命令用于指示所述 终端设备重复显示所述第一时刻显示的渲染图像。
  14. 根据权利要求13所述的方法,其特征在于,所述方法还包括:
    所述云渲染平台接收所述终端设备发送第二操作数据,其中,所述第二操作数据是在第二时刻所述用户对所述渲染应用客户端进行操作产生的;
    根据所述第二操作数据确定所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别大于或者等于所述预设阈值;
    停止进行图像渲染,并,生成恢复显示命令;
    向所述终端设备发送所述恢复显示命令,其中,所述恢复显示命令用于指示所述终端设备停止重复显示所述第二时刻显示的渲染图像。
  15. 根据权利要求13或14所述的方法,其特征在于,所述云渲染系统还包括另一终端设备,所述另一终端设备设置有另一渲染应用客户端,所述渲染应用与所述另一渲染应用客户端建立通信,所述另一渲染应用客户端用于在所述另一终端设备上显示所述渲染应用渲染得到的另一渲染图像;所述方法还包括:
    所述云渲染平台接收所述终端设备发送另一第一操作数据,其中,所述另一第一操作数据是在另一第一时刻另一用户对所述另一渲染应用客户端进行操作产生的;
    根据所述另一第一操作数据确定所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别小于预设阈值;
    停止进行图像渲染,并,生成另一重复显示命令;
    向所述终端设备发送所述另一重复显示命令,其中,所述另一重复显示命令用于指示所述终端设备重复显示所述另一第一时刻显示的渲染图像。
  16. 根据权利要求15所述的方法,其特征在于,所述方法还包括:
    所述云渲染平台接收所述终端设备发送另一第二操作数据,其中,所述另一第二操作数据是在另一第二时刻所述用户对所述另一渲染应用客户端进行操作产生的;
    根据所述另一第二操作数据确定所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别大于或者等于所述预设阈值;
    恢复进行图像渲染,并,生成另一恢复显示命令;
    向所述终端设备发送所述另一恢复显示命令,其中,所述另一恢复显示命令用于指示所述终端设备停止重复显示所述另一第二时刻显示的渲染图像。
  17. 一种终端设备,其特征在于,所述终端设备包括处理器以及存储器,所述处理器执行所述存储器中的程序,从而执行如权利要求1-4、9-12任一权利要求所述的方法。
  18. 一种云渲染平台,其特征在于,所述云渲染平台包括多个云渲染节点,每个云渲染节点包括处理器以及存储器,所述处理器执行所述存储器中的程序,从而执行如权利要求5-8、13-16任一权利要求所述的方法。
  19. 一种计算机可读存储介质,其特征在于,包括指令,当所述指令在终端设备上运行时,使得所述终端设备执行如权利要求1-4、9-12任一权利要求所述的方法。
  20. 一种计算机可读存储介质,其特征在于,包括指令,当所述指令在云渲染节点上运行时,使得所述云渲染节点执行如权利要求5-8、13-16任一权利要求所述的方 法。
  21. 一种云渲染系统,其特征在于,包括终端设备、网络设备以及云渲染平台,其中,所述终端设备通过所述网络设备连接所述云渲染平台,所述云渲染平台包括多个云渲染节点,当所述终端设备用于执行权利要求1-4任一权利要求所述的方法时,所述云渲染节点用于执行权利要求5-8任一权利要求所述的方法;当所述终端设备用于执行权利要求9-12任一权利要求所述的方法时,所述云渲染节点用于执行权利要求13-16任一权利要求所述的方法。
  22. 一种终端设备,其特征在于,应用于云渲染系统,所述云渲染系统包括终端设备以及云渲染平台,所述云渲染平台上设置有渲染应用,所述终端设备设置有渲染应用客户端,所述渲染应用与所述渲染应用客户端之间建立通信,所述渲染应用客户端用于在所述终端设备上显示所述渲染应用渲染得到的渲染图像,所述终端设备包括获取模块、确定模块、显示模块以及发送模块,
    所述获取模块用于获取第一操作数据,其中,所述第一操作数据是用户在第一时刻对所述渲染应用客户端进行操作产生的;
    所述确定模块用于根据所述第一操作数据确定所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值,
    所述显示模块用于重复显示所述第一时刻显示的渲染图像;
    所述发送模块用于向所述云渲染平台发出暂停渲染指令,以指示所述渲染应用停止图像渲染。
  23. 一种云渲染平台,其特征在于,应用于云渲染系统,所述云渲染系统包括中终端设备以及云渲染平台,所述云渲染平台上设置有渲染应用,所述终端设备设置有渲染应用客户端,所述渲染应用与所述渲染应用客户端之间建立通信,所述渲染应用客户端用于在所述终端设备上显示所述渲染应用渲染得到的渲染图像,包括:接收模块以及渲染模块,
    所述接收模块用于接收所述终端设备发送的暂停渲染指令,其中,所述暂停渲染指令是所述终端设备根据第一操作数据生成的,所述第一操作数据是在第一时刻用户对所述渲染应用客户端进行操作产生的,所述第一操作数据用于指示所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值;
    所述渲染模块用于根据所述暂停渲染指令停止进行图像渲染。
  24. 一种终端设备,其特征在于,应用于云渲染系统,所述云渲染系统包括终端设备以及云渲染平台,所述云渲染平台上设置有渲染应用,所述终端设备设置有渲染应用客户端,所述渲染应用与所述渲染应用客户端之间建立通信,所述渲染应用客户端用于在所述终端设备上显示所述渲染应用渲染得到的渲染图像,所述终端设备包括发送模块,接收模块以及显示模块,
    所述发送模块用于向所述云渲染平台发送第一操作数据,其中,所述第一操作数据是在第一时刻用户对所述渲染应用客户端进行操作产生的;
    所述接收模块用于接收云渲染平台发送的重复显示命令,其中,所述重复显示命令是所述云渲染平台根据所述第一操作数据生成的,所述第一操作数用于指示所述渲 染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值;
    所述显示模块用于根据所述重复显示命令重复显示所述第一时刻显示的渲染图像。
  25. 一种云渲染平台,其特征在于,应用于云渲染系统,所述云渲染系统包括中终端设备以及云渲染平台,所述云渲染平台上设置有渲染应用,所述终端设备设置有渲染应用客户端,所述渲染应用与所述渲染应用客户端之间建立通信,所述渲染应用客户端用于在所述终端设备上显示所述渲染应用渲染得到的渲染图像,包括接收模块、确定模块、渲染模块、生成模块以及发送模块,
    所述接收模块用于接收所述终端设备发送的第一操作数据,其中,所述第一操作数据是在第一时刻用户对所述渲染应用客户端进行操作产生的;
    所述确定模块用于根据所述第一操作数据确定所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值;
    所述渲染模块用于停止进行图像渲染;
    所述生成模块用于生成重复显示命令;
    所述发送模块用于向所述终端设备发送所述重复显示命令,其中,所述重复显示命令用于指示所述终端设备重复显示所述第一时刻显示的渲染图像。
PCT/CN2021/109939 2020-07-31 2021-07-31 渲染控制方法、设备以及系统 WO2022022729A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010757409.3A CN114067035A (zh) 2020-07-31 2020-07-31 渲染控制方法、设备以及系统
CN202010757409.3 2020-07-31

Publications (1)

Publication Number Publication Date
WO2022022729A1 true WO2022022729A1 (zh) 2022-02-03

Family

ID=80037674

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/109939 WO2022022729A1 (zh) 2020-07-31 2021-07-31 渲染控制方法、设备以及系统

Country Status (2)

Country Link
CN (1) CN114067035A (zh)
WO (1) WO2022022729A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115546154A (zh) * 2022-10-11 2022-12-30 数坤(北京)网络科技股份有限公司 图像处理方法、装置、计算设备及存储介质
CN117095100A (zh) * 2023-06-05 2023-11-21 北京虹宇科技有限公司 多任务系统中渲染三维内容的方法、装置及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107526623A (zh) * 2016-06-22 2017-12-29 腾讯科技(深圳)有限公司 一种数据处理方法及装置
CN108765531A (zh) * 2018-03-27 2018-11-06 广东欧珀移动通信有限公司 图像渲染方法、装置、存储介质及智能终端
KR101992829B1 (ko) * 2018-09-19 2019-06-25 (주)비디오몬스터 클라우드 기반 영상 렌더링 시스템 및 방법
CN111443814A (zh) * 2020-04-09 2020-07-24 深圳市瑞云科技有限公司 一种基于云渲染的ar眼镜系统及方法
CN111790145A (zh) * 2019-09-10 2020-10-20 厦门雅基软件有限公司 数据处理的方法、装置、云游戏引擎及计算机存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107526623A (zh) * 2016-06-22 2017-12-29 腾讯科技(深圳)有限公司 一种数据处理方法及装置
CN108765531A (zh) * 2018-03-27 2018-11-06 广东欧珀移动通信有限公司 图像渲染方法、装置、存储介质及智能终端
KR101992829B1 (ko) * 2018-09-19 2019-06-25 (주)비디오몬스터 클라우드 기반 영상 렌더링 시스템 및 방법
CN111790145A (zh) * 2019-09-10 2020-10-20 厦门雅基软件有限公司 数据处理的方法、装置、云游戏引擎及计算机存储介质
CN111443814A (zh) * 2020-04-09 2020-07-24 深圳市瑞云科技有限公司 一种基于云渲染的ar眼镜系统及方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115546154A (zh) * 2022-10-11 2022-12-30 数坤(北京)网络科技股份有限公司 图像处理方法、装置、计算设备及存储介质
CN115546154B (zh) * 2022-10-11 2024-02-06 数坤科技股份有限公司 图像处理方法、装置、计算设备及存储介质
CN117095100A (zh) * 2023-06-05 2023-11-21 北京虹宇科技有限公司 多任务系统中渲染三维内容的方法、装置及设备

Also Published As

Publication number Publication date
CN114067035A (zh) 2022-02-18

Similar Documents

Publication Publication Date Title
CN109598777B (zh) 图像渲染方法、装置、设备及存储介质
EP4070865A1 (en) Method and apparatus for displaying virtual scene, and device and storage medium
WO2016173427A1 (zh) 一种残影效果的实现方法,装置以及计算机可读介质
US11893702B2 (en) Virtual object processing method and apparatus, and storage medium and electronic device
WO2022022729A1 (zh) 渲染控制方法、设备以及系统
CN109725956B (zh) 一种场景渲染的方法以及相关装置
EP4160371A1 (en) Unread message display method and apparatus, and electronic device
US11294533B2 (en) Method and terminal for displaying 2D application in VR device
WO2021190651A1 (zh) 渲染质量调整方法以及相关设备
WO2023179346A1 (zh) 特效图像处理方法、装置、电子设备及存储介质
CN110826507A (zh) 人脸检测方法、装置、设备及存储介质
CN115482325B (zh) 画面渲染方法、装置、系统、设备及介质
US20230259260A1 (en) Interaction method and apparatus for video call
US20230405452A1 (en) Method for controlling game display, non-transitory computer-readable storage medium and electronic device
JP2018512899A (ja) 仮想キャラクタターンを実施するための方法および端末
CN108290071B (zh) 用于在预测游戏者的意图的情况下确定用于执行绘制的资源分配的介质、装置、系统和方法
CN114627268A (zh) 视觉地图更新方法、装置、电子设备及介质
CN112799801B (zh) 一种模拟鼠标指针绘制方法、装置、设备和介质
CN113516774A (zh) 渲染质量调整方法以及相关设备
WO2024021635A1 (zh) 移动控制的方法、装置、存储介质及电子设备
CN111275803A (zh) 3d模型渲染方法、装置、设备和存储介质
WO2022037506A1 (zh) 渲染方法、设备以及系统
CN114449355B (zh) 一种直播互动的方法、装置、设备及存储介质
CN113360064A (zh) 对图片的局部区域的搜索方法及装置、介质及电子设备
CN113487704B (zh) 一种燕尾箭头标的绘制方法、装置、存储介质及终端设备

Legal Events

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

Ref document number: 21848766

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21848766

Country of ref document: EP

Kind code of ref document: A1