WO2019237821A1 - 虚拟场景的场景图像传输方法、装置、计算机设备及计算机可读存储介质 - Google Patents

虚拟场景的场景图像传输方法、装置、计算机设备及计算机可读存储介质 Download PDF

Info

Publication number
WO2019237821A1
WO2019237821A1 PCT/CN2019/082724 CN2019082724W WO2019237821A1 WO 2019237821 A1 WO2019237821 A1 WO 2019237821A1 CN 2019082724 W CN2019082724 W CN 2019082724W WO 2019237821 A1 WO2019237821 A1 WO 2019237821A1
Authority
WO
WIPO (PCT)
Prior art keywords
time point
image
rendered
time
rendering
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/CN2019/082724
Other languages
English (en)
French (fr)
Inventor
许敏华
孙大伟
方亮
任韬
阚传奇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to JP2020565018A priority Critical patent/JP7072677B2/ja
Priority to EP19819038.1A priority patent/EP3809706B1/en
Publication of WO2019237821A1 publication Critical patent/WO2019237821A1/zh
Priority to US16/991,891 priority patent/US11831566B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/00Two-dimensional [2D] image generation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/00Three-dimensional [3D] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/16Indexing scheme for image data processing or generation, in general involving adaptation to the client's capabilities

Definitions

  • Embodiments of the present application relate to the field of image processing technologies, and in particular, to a scene image transmission method, device, computer device, and computer-readable storage medium for a virtual scene.
  • an image rendering process of a cloud virtual scene is performed in a server.
  • the server collects and renders the image of the display interface of the virtual scene to obtain a rendered image; on the other hand, the server determines whether there is a rendered image to be encoded at a predetermined time interval according to a fixed frame rate.
  • the rendered image is encoded and sent to the terminal.
  • the terminal decodes the obtained rendered image and displays the image.
  • a scene image transmission method for a virtual scene a computer device, and a computer-readable storage medium are provided.
  • a scene image transmission method for a virtual scene is executed by a server, and the method includes:
  • a scene image transmission device for a virtual scene includes:
  • a rendering module configured to render an image to be displayed to obtain a first rendered image, where the image to be displayed is obtained by performing data collection when display data of the virtual scene changes;
  • a time point obtaining module configured to obtain a first time point, where the first time point is a time point when the rendering of the first rendered image is completed;
  • An encoding module configured to encode the first rendered image to obtain a coded image when a duration between the first time point and the second time point is not less than a first duration threshold, and the second time point is The time of the last image encoding;
  • a sending module configured to send the encoded image to a terminal for decoding and display.
  • a computer device includes a processor and a memory.
  • the memory stores at least one instruction, at least one program, code set, or instruction set, the at least one instruction, the at least one program,
  • the code set or instruction set is loaded and executed by the processor to implement a scene image transmission method of a virtual scene as described above.
  • a computer-readable storage medium stores at least one instruction, at least one program, code set, or instruction set, and the at least one instruction, the at least one program, code, or instruction set A scene image transmission method that is loaded and executed by a processor to implement a virtual scene as described above.
  • Fig. 1 is a schematic structural diagram of a terminal according to an exemplary embodiment
  • Fig. 2 is a schematic diagram showing a display interface of a virtual scene according to an exemplary embodiment
  • Fig. 3 is a schematic structural diagram of a scene image transmission system according to an exemplary embodiment
  • FIG. 4 is a system architecture diagram of a cloud game system according to the embodiment shown in FIG. 3;
  • Fig. 5 is a flowchart of a scene image transmission of a virtual scene according to an exemplary embodiment
  • Fig. 6 is a flowchart of a scene image transmission of a virtual scene according to an exemplary embodiment
  • FIG. 7 to FIG. 10 are schematic diagrams of adjacent frame rendering time intervals and counting times of display interfaces of four application programs or virtual scenes involved in the embodiment shown in FIG. 6;
  • FIG. 11 is a schematic diagram of a sequence of image rendering and encoding according to the embodiment shown in FIG. 6;
  • FIG. 12 is a schematic diagram of processing a newly generated rendered image according to the embodiment shown in FIG. 6;
  • FIG. 13 is a schematic diagram of encoding a cached rendered image according to the embodiment shown in FIG. 6;
  • FIG. 14 is another schematic diagram of image rendering and encoding timing involved in the embodiment shown in FIG. 6; FIG.
  • Fig. 15 is a block diagram showing a structure of a scene image transmission device according to an exemplary embodiment
  • Fig. 16 is a schematic structural diagram of a computer device according to an exemplary embodiment.
  • Cloud games are based on cloud computing. Under the cloud game running mode, all games are run on the server. The server compresses the rendered game screen and transmits it to the user through the network. The terminal on the side is displayed directly after being decoded by the terminal.
  • a virtual scene refers to a virtual scene environment generated by a computer.
  • the virtual scene may be a game scene.
  • the virtual scene can provide a multimedia virtual world.
  • the user can control the operable virtual objects in the virtual scene through the operation device or operation interface, observe the objects, characters, landscapes, etc. in the virtual scene from the perspective of the virtual object, or through the virtual Objects interact with objects, characters, landscapes, or other virtual objects in the virtual scene, for example, by operating a virtual soldier to attack the target enemy.
  • a virtual scene is usually generated by an application program in a computer device such as a terminal and displayed based on the hardware (such as a screen) in the terminal.
  • the terminal may be a mobile terminal such as a smart phone, a tablet computer, or an e-book reader; or the terminal may also be a personal computer device of a notebook computer or a fixed computer.
  • FIG. 1 is a schematic structural diagram of a terminal according to an exemplary embodiment.
  • the terminal includes a main board 110, an external output / input device 120, a memory 130, an external interface 140, a capacitive touch system 150, and a power source 160.
  • the main board 110 integrates processing elements such as a processor and a controller.
  • the external output / input device 120 may include a display component (such as a display screen), a sound playback component (such as a speaker), a sound collection component (such as a microphone), various types of keys, and the like.
  • a display component such as a display screen
  • a sound playback component such as a speaker
  • a sound collection component such as a microphone
  • the memory 130 stores program codes and data.
  • the external interface 140 may include a headphone interface, a charging interface, a data interface, and the like.
  • the capacitive touch system 150 may be integrated into a display component or a key of the external output / input device 120, and the capacitive touch system 150 is used to detect a touch operation performed by the user on the display component or the key.
  • the power supply 160 is used to supply power to other components in the terminal.
  • the processor in the main board 110 may generate or generate an image of a virtual scene by executing or calling program codes and data stored in a memory, and display the generated image of the virtual scene through an external output / input device 120.
  • the above-mentioned data for generating an image of the virtual scene may be image data sent by the cloud server after rendering.
  • the capacitive touch system 150 can be used to detect a touch operation performed when the user interacts with the virtual scene.
  • the virtual scene may be a three-dimensional virtual scene, or the virtual scene may be a two-dimensional virtual scene.
  • the display interface 200 of the virtual scene includes a virtual object 210, an environment screen 220 of a three-dimensional virtual scene, at least one set of virtual control buttons 230, and a virtual object 240.
  • the virtual object 210 may be the current control object of the user account corresponding to the terminal.
  • the virtual control button 230 is an optional control element, that is, the user can control the virtual object 210 through the virtual control button 230.
  • the virtual object 240 may be a non-user control object. That is, the virtual object 240 is controlled by the application itself, or the virtual object 240 can also be a virtual object controlled by a user account corresponding to another terminal. The user can interact with the virtual object 240 by controlling the virtual object 210, for example, controlling the virtual object 210 The virtual object 240 is attacked.
  • the virtual object 210 and the virtual object 240 are three-dimensional models in a three-dimensional virtual scene
  • the environmental screen of the three-dimensional virtual scene displayed on the display interface 200 is an object observed from the perspective of the virtual object 210.
  • the displayed environment picture 220 of the three-dimensional virtual scene is the earth 224, the sky 225, the horizon 223, the hill 221, and the plant 222.
  • the virtual object 210 can be moved instantly under the control of the user.
  • the virtual control button 230 shown in FIG. 2 is a virtual button for controlling the movement of the virtual object 210.
  • the virtual object 210 can be In the virtual scene, the touch point is moved in a direction relative to the center of the virtual control button 230.
  • Fig. 3 is a schematic structural diagram of a scene image transmission system for a virtual scene according to an exemplary embodiment.
  • the system includes: a plurality of terminals 320 and a server 340.
  • the terminal 320 can be a mobile phone, a tablet, an e-book reader, smart glasses, a smart watch, an MP3 player (Moving Pictures Experts Group Audio Layer III, moving image expert compression standard audio layer 3), MP4 (Moving Pictures Experts Group Audio Audio Layer IV, motion picture expert compression standard audio level 4) player and so on.
  • MP3 player Moving Pictures Experts Group Audio Layer III, moving image expert compression standard audio layer 3
  • MP4 Moving Pictures Experts Group Audio Audio Layer IV, motion picture expert compression standard audio level 4
  • the terminal 320 may be a terminal for displaying a display interface of a virtual scene.
  • the server 340 may be a server corresponding to an application program supporting a virtual scene.
  • the terminal 320 and the server 340 are connected through a communication network.
  • the communication network is a wired network or a wireless network.
  • the server 340 is a server, or a server cluster composed of several servers, or a virtualization platform, or a cloud computing service center.
  • the system may further include a management device 360, and the management device 360 and the server 340 are connected through a communication network.
  • the communication network is a wired network or a wireless network.
  • the aforementioned wireless network or wired network uses standard communication technologies and / or protocols.
  • the network is usually the Internet, but it can also be any network, including but not limited to a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), mobile, wired, or wireless Network, private network, or any combination of virtual private networks).
  • technologies and / or formats including HyperText Markup Language (HTML), Extensible Markup Language (XML), and the like are used to represent data exchanged over a network.
  • SSL Secure Socket Layer
  • TLS Transport Layer Security
  • VPN Virtual Private Network
  • IPsec Internet Protocol Security
  • customized and / or dedicated data communication technologies may also be used in place of or in addition to the aforementioned data communication technologies.
  • the scene image transmission system of the foregoing virtual scene may be a cloud game system.
  • FIG. 4 shows a system architecture diagram of a cloud game system according to an embodiment of the present application.
  • the cloud game system includes a virtualized cloud 41, a cloud research research control center 42, a manager equipment 43, a research staff terminal 44, and a player terminal 45.
  • the virtualized cloud 41 and the cloud research control center 42 are deployed in the server 340, and the staff device 43 corresponds to the management device 360, and the researcher terminal 44 and the player terminal 45 correspond to the terminal 320.
  • the virtualization cloud 41 may be a virtual machine running on a hardware device, and the virtual machine runs an emulator (such as an Android emulator, a Windows emulator, an iOS emulator, a web emulator, and the like). ),
  • the simulator is used to simulate the system environment where the player terminal 45 is located, and the game program is run based on the simulated system environment to generate a virtual scene (that is, the scene corresponding to the game or the app), and the image of the virtual scene is controlled by the cloud use research control center 42 It is sent to the player terminal 45 and the researcher terminal 44 for display.
  • the player terminal 45 also receives the player's operation, and sends the player's operation data to the cloud use research control center 42.
  • the simulator in Huayun 41 controls the virtual scene according to the player's operation data.
  • the virtualization cloud 41 may encode the interface and sound of the virtual scene generated by the virtual machine into an H264 / Advanced Audio Coding (AAC) audio and video stream, and transmit the stream to the
  • AAC Advanced Audio Coding
  • the client installed in the terminal collects the touch operation events of the client and sends them back to the emulator of the virtualized cloud 41 to control the game or app.
  • the cloud use research control center 42 also archives the screens and user operations of the virtual scene.
  • FIG. 5 is a flowchart of scene image transmission of a virtual scene according to an exemplary embodiment.
  • the server renders an image to be displayed to obtain a first rendered image, and the image to be displayed is obtained by collecting the display data when the display data of the virtual scene changes (51).
  • the server obtains a first time point, where the first time point is a time point when the rendering of the first rendered image is completed (52).
  • the server encodes the first rendered image to obtain a coded image, and the second time point is the time when the image was last encoded Point (53).
  • the server sends the encoded image to the terminal for decoding and display (54).
  • the server generates a virtual scene, and collects and renders an image to be rendered when the display data of the virtual scene changes, and obtains a first rendered image.
  • the first rendered image is encoded and sent without waiting for the next fixed encoding cycle to arrive, thereby improving the timeliness of image encoding and reducing Delay of image display on the terminal side.
  • the server collects and renders the image to be rendered only when the display data of the virtual scene changes, reducing unnecessary rendering and encoding steps, and improving the utilization of network resources.
  • FIG. 6 is a flowchart of a method for transmitting a scene image of a virtual scene according to an exemplary embodiment.
  • the scene image transmission method of the virtual scene can be applied to a server of the system shown in FIG. 3.
  • the scene image transmission method of the virtual scene may include the following steps:
  • Step 601 When the display data of the virtual scene changes, collect the changed display data to obtain an image to be displayed.
  • the display data may be image data used for display on a display interface of a virtual scene.
  • the display interface of the virtual scene may refer to a display interface when the virtual scene is displayed in a certain terminal.
  • the display interface displayed by the virtual scene in different terminals may be the same or different.
  • the server can monitor the interface content (ie, display data) in the display interface of the virtual scene.
  • the interface content ie, display data
  • the interface image is collected to obtain the image to be displayed. Conversely, if the interface content is not changed, the interface image may not be collected.
  • the server can be virtualized through Qemu (a software-only virtualization simulator that can be used to simulate hardware devices) + KVM (an open-source system virtualization module).
  • Qemu a software-only virtualization simulator that can be used to simulate hardware devices
  • KVM an open-source system virtualization module
  • Rendering for example, OpenGL (Open Graphics Library) rendering is performed only when the content of the interface changes.
  • Step 602 Render the image to be displayed to obtain a first rendered image.
  • the Android simulator calls the eglSwapBuffers function in the simulated Android system to render the final screen content.
  • the virtual machine may add a callback at the code where rendering is completed to trigger a subsequent process of determining whether to perform encoding.
  • Step 603 Obtain a first time point, where the first time point is a time point when the rendering of the first rendered image is completed.
  • the virtual machine in the server renders the image to be displayed, and when rendering is completed, the virtual machine may obtain the time point when the rendering is completed as the first time point.
  • Step 604 Determine whether the time duration between the first time point and the second time point is not less than the first time duration threshold. If yes, go to step 605; otherwise, go to step 606.
  • the second time point is the time point when the image coding was performed last time.
  • the performance parameters of different terminals are different. Some terminals have higher hardware performance and can support higher frame rate image decoding and display, while some terminals have lower hardware performance and can support images.
  • the decoded frame rate is low.
  • the server may set a minimum encoding interval (that is, the above-mentioned first duration threshold). After rendering a frame of image at night, the server may determine the rendered image obtained by the current rendering. Whether it needs to be encoded immediately and transmitted to the user-side terminal.
  • a minimum encoding interval that is, the above-mentioned first duration threshold.
  • Step 605 Encode the first rendered image to obtain an encoded image.
  • the server may immediately encode the newly obtained rendered image. .
  • T n represents the time when the current image (the first rendered image above) was rendered
  • E last represents the time of the most recent encoding before T n
  • I min represents the minimum interval allowed for encoding, that is, the first
  • the duration threshold is an example. If the condition is met: T n -E last ⁇ I min , the server can immediately encode the current image and update E last to T n .
  • Step 606 Obtain the duration between the third time point and the second time point.
  • the third time point is a time point at which the second rendered image is expected to be rendered, and the second rendered image is a next frame rendered image of the first rendered image.
  • the third time point may be obtained through prediction.
  • the server may refer to the time point when the previous frame image rendering is completed to predict the time point when the next frame image rendering is completed (that is, the third time point mentioned above).
  • the server may obtain a time point when each of the rendered images is completed, and the rendering time is completed according to the first time point and each adjacent two rendered images in the respective rendered images. The time between the time points, to obtain the third time point.
  • the server may average the time length between the time points of each of the two rendered images for each adjacent two rendered images to complete the average time length, and obtain the basis at the first time point. Add this average time to get the third point in time.
  • the server will collect and render images only when the display data of the virtual scene changes. Therefore, the difference between the time points when two adjacent frames of images are rendered may be large (for example, When the display interface of the virtual scene remains unchanged for a long time, the time interval between successively capturing and rendering two frames of images may be large) or it may be small (for example, when the display interface of the virtual scene changes frequently, continuously collecting and rendering The time interval between rendering two frames of images may be small). Therefore, when the server obtains the third time point described above, it may also comprehensively consider the influence of the time point when the rendering of each rendered image is completed on the prediction result to different degrees.
  • the interval between the time points when two adjacent frames of the image that are closer to the current point in time are rendered is often more important in predicting the result of the time point when the next frame of image is rendered. For example, assuming that the interval between the time when the two recently rendered images are rendered is large, the time when the next frame of image rendering is completed is likely to be larger than the current time point. Conversely, if the interval between the time points when the two recently rendered images are rendered is small, there is a high possibility that the time point when the next frame of image rendering is completed is smaller than the current time point.
  • the server may calculate the third time point T n + 1 by using the following formula:
  • T n + 1 is the third time point
  • T n is the first time point
  • T ni is the time point when the i-th frame image rendering before the first rendered image is completed.
  • Step 607 Determine whether the time period between the third time point and the second time point is greater than the second time period threshold; if yes, go to step 608; otherwise, go to step 609.
  • the second duration threshold is greater than the first duration threshold.
  • the server predicts the time point when the rendering of the next frame of the predicted image is completed through the above steps to determine whether The current rendered image (that is, the first rendered image) needs to be retained.
  • Step 608 Buffer the first rendered image.
  • the server may preset a maximum coding frame interval I max . If T n + 1 -E last > I max , it means At the time when the next encoding is needed, it is expected that no new rendered image will be generated. At this time, the server can cache the currently rendered image and wait for the next encoding time to be encoded.
  • Imin's main purpose is to set a maximum encoding rate that the user terminal can accept (to avoid sending too fast and causing the user terminal to have time to decode), and Imax is mainly to allow users to see the latest pictures in time. Every I max time, try to get the newly generated and unencoded picture, and transfer it to the user terminal for display in time.
  • the server may perform statistics on the encoding and decoding capabilities of a large number of mobile terminals such as mobile phones in advance, obtain a frame rate range that can be received by most terminals, and combine the actual frame rate range with the actual situation.
  • the refresh frame rates of various virtual scenes in the application are counted and the above I min and I max are determined .
  • FIG. 7 to FIG. 10 are schematic diagrams of rendering time intervals and counting times of adjacent frames of display interfaces of four application programs or virtual scenes involved in the embodiments of the present application.
  • the refresh rate of the display interface of the application or virtual scene is usually 30FPS or 60FPS, and the corresponding refresh interval is 15ms and 30ms.
  • the abscissa is the time interval of adjacent frame rendering
  • the ordinate is the number of times that the time interval of adjacent frame rendering obtained by statistics is in the corresponding time interval.
  • I min and I max can be set to about 30 ms.
  • I min can be set to 29 ms and I max. Set it to 34ms.
  • the server can also set I min and I max to other values of about 30 ms, and only needs to satisfy I min ⁇ I max .
  • the server when the server caches the first rendered image, if the previously rendered image already exists in the cache, then when the first rendered image is cached, the server may The stored rendered image is deleted. In other words, if the rendering of a certain frame is completed, the server predicts that no new rendered image will be generated before the next encoding time arrives, and the current rendered image will be cached, but in fact, it will be generated before the next encoding time arrives. In order to ensure that the latest interface of the virtual scene is displayed to the user in time, the previously cached rendered images need to be discarded. At the next encoding, the server will directly encode the newly rendered images.
  • Step 609 Discard the first rendered image.
  • a new rendered image ie, a second rendered image
  • the server can directly discard the currently rendered image and directly encode the new rendered image when the next encoding is needed.
  • FIG. 11 shows a schematic diagram of an image rendering and encoding sequence involved in an embodiment of the present application.
  • the server can take one frame of the two-frame rendered images, and immediately encode the video and transmit it to User terminal.
  • T n -E last ⁇ I min and T n + 1 -E last ⁇ I max
  • the server discards one of two adjacent frames (shown in FIG. 11 as discarding the rendered image B , Rendered image D and rendered image F, encoding rendered image A, rendered image C, and rendered image E).
  • the cloud server can encode the rendered image of each frame.
  • the server uses an unsteady dynamic frame rate to encode the newly generated rendered image in real time, integrates the decoding capability of the terminal and the rendering frame rate of the server, and sets reasonable I min and I max .
  • FIG. 12 illustrates a schematic diagram of processing a newly generated rendered image according to an embodiment of the present application.
  • the server detects a newly generated rendered image (step 1201), it updates the estimated generation time point of the next frame rendered image (step 1202), and judges the current time point (that is, the above-mentioned first time point) ) Is in the codeable time (step 1203), that is, it is judged whether the interval between the latest coding time and the current time point is not less than I min .
  • step 1204 If the current time point is in the encodeable time (that is, the interval between the last encoding time and the current time point is greater than I min ), H264 encoding is performed on the newly generated rendered image (step 1204), and the latest encoding time is updated (step 1205) ); If the current time point is not in the codeable time (that is, the interval between the last coding time and the current time point is not greater than I min ), then it is further judged whether the newly generated rendered image needs to be cached (step 1206), that is, the most recent Whether the interval between the encoding time and the estimated generation time point of the next frame rendered image is greater than I max ; if it is necessary to cache the newly generated rendered image (that is, the latest encoding time and the estimated generation time point of the next frame rendered image) If the interval between them is greater than I max ), the newly generated rendered image is cached (step 1207); otherwise, if it is determined that the newly generated rendered image does not need to be cached (that is, the latest en
  • Step 610 When the fourth time point arrives, if the second rendered image has not been rendered yet, the first rendered image is encoded to obtain an encoded image.
  • the fourth time point is after the second time point, and a time period between the fourth time point and the second time point is an integer multiple of the second time period threshold.
  • the server in order to deal with situations other than real-time encoding of a newly generated rendered image by the server using a dynamic frame rate, the server also periodically performs encoding monitoring on the rendered image in the cache, so as to reach a point in time when encoding is required, and Encode the cached rendered image when a new rendered image that does not require immediate encoding is generated.
  • FIG. 13 illustrates a schematic diagram of encoding a cached rendered image according to an embodiment of the present application.
  • the server determines a wake-up time, the wake-up time e last .
  • the wake-up time represents a point in time that is expected to be encoded. Among them, each time the encoding is performed, the first determined wake-up is performed. The time is the time point E last of the encoding.
  • the server determines that the encoding interval exceeds the maximum time interval I max (step 1301), that is, the interval between the current time T n and the last wake-up time is I max , and when T n ⁇ e last + I max , the server performs an encoding check to It is determined whether the latest rendered image exists in the cache (step 1302).
  • FIG. 14 illustrates another schematic diagram of image rendering and encoding timing involved in the embodiment of the present application. As shown in Figure 14:
  • the server has finished rendering the rendered image B at time T1, and the time from the last encoding at time T1 is less than I min , so the rendered image B cannot be directly encoded and transmitted to the client.
  • the estimated generation time of the next frame of the rendered image C exceeds the time T2 of the next encoding, so the server buffers the rendered image B.
  • the server finds that there is a rendered image B in the cache, and the last encoded rendering image is a rendered image A, it encodes the rendered image B and transmits it to the terminal.
  • the image C is generated and rendered.
  • the time from T3 to T2 is less than I min , and the next encoding time is T2 + I max .
  • the server estimates that the generation time of the next frame rendered image D is that Tp exceeds T2 + I max . Therefore, the rendered image C is buffered. However, the actual generation time of the rendered image D is T4, and T4-T2 is greater than I max . At this time, the server immediately encodes the rendered image D and transmits it to the terminal.
  • the server may not perform encoding. If the estimated encoding time is reached, but no new rendered image is found, at this time No encoding will be performed, thus saving server-side processing resource consumption.
  • the server may also encode the rendered image by using other encoding methods (such as H265) other than H264. .
  • the embodiments of the present application are not limited in comparison with the encoding mode.
  • Step 611 Send the encoded image to the terminal for decoding and display.
  • the real-time encoding method shown in the embodiment of the present application can effectively reduce the time interval between the generation of the rendered image and the encoding time.
  • the experimental results show that the solution shown in the present application and the related technology adopt a fixed encoding frame rate solution.
  • the average frame image can reduce the delay by 16ms, which greatly improves the user experience of cloud games.
  • encoding is not performed when the screen content has not changed, which effectively reduces resource consumption and network transmission traffic caused by the server performing image encoding.
  • the server generates a virtual scene, and collects and renders an image to be rendered when the display data of the virtual scene changes, to obtain a first rendered image, and when the first rendered image is rendered
  • the first rendered image is encoded and sent without waiting for the arrival of the next fixed encoding cycle, thereby improving image encoding Timeliness reduces the delay of image display on the terminal side.
  • the server will collect and render the image to be rendered only when the display interface of the virtual scene changes, reducing unnecessary rendering and encoding steps, and improving the use of network resources. rate.
  • the first rendered image is cached, and when the subsequent time arrives at the fourth time point, if the second rendered image has not been rendered, the first rendered image is encoded, and the dynamic frame rate encoding is compared with the traditional fixed sampling encoding.
  • the combination of these methods can be used to process situations other than real-time encoding of newly generated rendered images using dynamic frame rates.
  • Fig. 15 is a block diagram showing the structure of a scene image transmission device for a virtual scene according to an exemplary embodiment.
  • the scene image transmission device in the virtual scene may be used in a server to perform all or part of the steps performed by the server in the embodiment shown in FIG. 5 or FIG. 6.
  • the scene image transmission device in the virtual scene may include:
  • a rendering module 1501 configured to render an image to be displayed to obtain a first rendered image, where the image to be displayed is obtained by performing data collection when display data of the virtual scene changes;
  • a time point obtaining module 1502 is configured to obtain a first time point, where the first time point is a time point when the rendering of the first rendered image is completed;
  • An encoding module 1503 configured to encode the first rendered image to obtain an encoded image when the duration between the first time point and the second time point is not less than a first duration threshold, and the second time point Is the point in time when the last image was encoded;
  • a sending module 1504 is configured to send the encoded image to a terminal for decoding and display.
  • the time point obtaining module 1502 is further configured to obtain a third time point, where the third time point is a time point at which the second rendered image is expected to be rendered, and the second rendered image is the first time point Render the next frame of the rendered image;
  • the device further includes:
  • a duration obtaining module configured to obtain the duration between the third time point and the second time point when the duration between the first time point and the second time point is less than the first duration threshold; duration;
  • a cache module configured to cache the first rendered image when a time period between the third time point and the second time point is greater than a second time period threshold, and the second time period threshold value is greater than the first time period Threshold.
  • the time point obtaining module 1502 is specifically configured to:
  • the obtaining module 1502 is specifically used to:
  • the third time point T n + 1 is calculated by the following formula:
  • T n + 1 is the third time point
  • T n is the first time point
  • T ni is the time point when the i-th frame image rendering before the first rendered image is completed.
  • the encoding module 1503 is further configured to, after the first rendered image is buffered, arrive at a fourth time point, if the second rendered image has not been rendered, the first rendered image is Performing encoding to obtain the encoded image; the fourth time point is after the second time point, and a time period between the fourth time point and the second time point is the second time period threshold Multiples.
  • the device further includes:
  • the discarding module is configured to discard the first rendered image when a time period between the third time point and the second time point is not greater than the second time period threshold.
  • steps in the flowcharts of FIGS. 5 and 6 are sequentially displayed in accordance with the directions of the arrows, these steps are not necessarily performed in the order indicated by the arrows. Unless explicitly stated in this document, the execution of these steps is not strictly limited, and these steps can be performed in other orders. Moreover, at least a part of the steps in FIGS. 5 and 6 may include multiple sub-steps or stages. These sub-steps or stages are not necessarily performed at the same time, but may be performed at different times. These sub-steps or stages The execution order of is not necessarily performed sequentially, but can be executed in turn or at least partially with other steps or sub-steps or stages of other steps.
  • Fig. 16 is a schematic structural diagram of a computer device according to an exemplary embodiment.
  • the computer device 1600 includes a central processing unit (CPU) 1601, a system memory 1604 including a random access memory (RAM) 1602 and a read-only memory (ROM) 1603, and a system bus 1605 connecting the system memory 1604 and the central processing unit 1601. .
  • the computer device 1600 also includes a basic input / output system (I / O system) 1606 that helps transfer information between various devices in the computer, and a large capacity for storing the operating system 1613, application programs 1614, and other program modules 1615.
  • the basic input / output system 1606 includes a display 1608 for displaying information and an input device 1609 such as a mouse, a keyboard, or the like for a user to input information.
  • the display 1608 and the input device 1609 are both connected to the central processing unit 1601 through an input-output controller 1610 connected to the system bus 1605.
  • the basic input / output system 1606 may further include an input / output controller 1610 for receiving and processing input from a plurality of other devices such as a keyboard, a mouse, or an electronic stylus.
  • the input-output controller 1610 also provides output to a display screen, printer, or other type of output device.
  • the mass storage device 1607 is connected to the central processing unit 1601 through a mass storage controller (not shown) connected to the system bus 1605.
  • the mass storage device 1607 and its associated computer-readable medium provide non-volatile storage for the computer device 1600. That is, the mass storage device 1607 may include a computer-readable medium (not shown) such as a hard disk or a CD-ROM drive.
  • the computer-readable media may include computer storage media and communication media.
  • Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data.
  • Computer storage media include RAM, ROM, EPROM, EEPROM, flash memory, or other solid-state storage technologies, CD-ROM, DVD or other optical storage, tape cartridges, magnetic tape, disk storage, or other magnetic storage devices.
  • RAM random access memory
  • ROM read-only memory
  • EPROM Erasable programmable read-only memory
  • EEPROM electrically erasable programmable read-only memory
  • flash memory or other solid-state storage technologies
  • CD-ROM, DVD or other optical storage CD-ROM, DVD or other optical storage
  • tape cartridges magnetic tape
  • disk storage or other magnetic storage devices.
  • the above-mentioned system memory 1604 and mass storage device 1607 may be collectively referred to as a memory.
  • the computer device 1600 may be connected to the Internet or other network devices through a network interface unit 1611 connected to the system bus 1605.
  • the memory further includes one or more programs, the one or more programs are stored in the memory, and the central processing unit 1601 implements the scenario of the virtual scenario shown in FIG. 5 or FIG. 6 by executing the one or more programs. Steps of image transmission method.
  • a non-transitory computer-readable storage medium including instructions such as a memory including a computer program (instruction), may be executed by a processor of a computer device to complete the present application. Steps of a scene image transmission method for a virtual scene in various embodiments.
  • the non-transitory computer-readable storage medium may be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like.
  • Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory.
  • Volatile memory can include random access memory (RAM) or external cache memory.
  • RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous chain (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).
  • SRAM static RAM
  • DRAM dynamic RAM
  • SDRAM synchronous DRAM
  • DDRSDRAM dual data rate SDRAM
  • ESDRAM enhanced SDRAM
  • SLDRAM synchronous chain (Synchlink) DRAM
  • SLDRAM synchronous chain (Synchlink) DRAM
  • Rambus direct RAM
  • DRAM direct memory bus dynamic RAM
  • RDRAM memory bus dynamic RAM

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Graphics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请是关于一种虚拟场景的场景图像传输方法。该方法包括:对待显示图像进行渲染,获得第一渲染图像,所述待显示图像是所述虚拟场景的显示数据发生变化时进行数据采集获得的;获取第一时间点,所述第一时间点是所述第一渲染图像渲染完成的时间点;当所述第一时间点和第二时间点之间的时长不小于第一时长阈值时,对所述第一渲染图像进行编码,获得编码图像,所述第二时间点是上一次进行图像编码的时间点;将所述编码图像发送给终端进行解码并显示。

Description

虚拟场景的场景图像传输方法、装置、计算机设备及计算机可读存储介质
相关申请的交叉引用
本申请要求于2018年06月15日提交中国专利局,申请号为2018106210567,发明名称为“虚拟场景的场景图像传输方法、计算机设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及图像处理技术领域,特别涉及一种虚拟场景的场景图像传输方法、装置、计算机设备及计算机可读存储介质。
背景技术
随着网络及电子技术的不断发展,网络云应用的应用范围也越来越广泛,而云端虚拟场景(比如云游戏)则是网络云应用中较为重要的应用之一。
在相关技术中,云端虚拟场景的图像渲染过程在服务器中进行。一方面,服务器采集虚拟场景的显示界面的图像并进行渲染,获得渲染图像;另一方面,服务器按照固定的帧率,每隔预定时长判断是否存在待编码的渲染图像,若存在,则对待编码的渲染图像进行编码后发送至终端,由终端解码获得渲染图像并进行图像的显示。
发明内容
根据本申请的各种实施例,提供一种虚拟场景的场景图像传输方法、计算机设备及计算机可读存储介质。
一种虚拟场景的场景图像传输方法,由服务器执行,所述方法包括:
对待显示图像进行渲染,获得第一渲染图像,所述待显示图像是所述虚拟场景的显示数据发生变化时进行数据采集获得的;
获取第一时间点,所述第一时间点是所述第一渲染图像渲染完成的时间点;
当所述第一时间点和第二时间点之间的时长不小于第一时长阈值时,对所述第一渲染图像进行编码,获得编码图像,所述第二时间点是上一次进行图像编码的时间点;
将所述编码图像发送给终端进行解码并显示。
提供了一种虚拟场景的场景图像传输装置,所述装置包括:
渲染模块,用于对待显示图像进行渲染,获得第一渲染图像,所述待显示图像是所述虚拟场景的显示数据发生变化时进行数据采集获得的;
时间点获取模块,用于获取第一时间点,所述第一时间点是所述第一渲染图像渲染完成的时间点;
编码模块,用于当所述第一时间点和第二时间点之间的时长不小于第一时长阈值时,对所述第一渲染图像进行编码,获得编码图像,所述第二时间点是上一次进行图像编码的时间点;
发送模块,用于将所述编码图像发送给终端进行解码并显示。
提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的虚拟场景的场景图像传输方法。
提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上所述的虚拟场景的场景图像传输方法。
本申请的一个或多个实施例的细节在下面的附图和描述中提出。本申请的其它特征和优点将从说明书、附图以及权利要求书变得明显。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是根据一示例性实施例示出的终端的结构示意图;
图2是根据一示例性实施例示出的虚拟场景的显示界面示意图;
图3是根据一示例性实施例示出的一种场景图像传输系统的结构示意图;
图4是图3所示实施例涉及的一种云游戏系统的系统架构图;
图5是根据一示例性实施例示出的一种虚拟场景的场景图像传输流程图;
图6是根据一示例性实施例示出的一种虚拟场景的场景图像传输流程图;
图7至图10是图6所示实施例涉及的四种应用程序或虚拟场景的显示界面的相邻帧渲染时间间隔和统计次数示意图;
图11是图6所示实施例涉及的一种图像渲染和编码时序示意图;
图12是图6所示实施例涉及的对新生成的渲染图像的处理示意图;
图13是图6所示实施例涉及的对缓存的渲染图像进行编码的示意图;
图14是图6所示实施例涉及的另一种图像渲染和编码时序示意图;
图15是根据一示例性实施例示出的场景图像传输装置的结构方框图;
图16是根据一示例性实施例示出的一种计算机设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
本申请实施例提出了一种图像显示的方案,该方案能够在多名用户面对面的状态下,进行虚拟场景的场景参数的同步。为了便于理解,下面对本申请实施例涉及的几个名词进行解释。
(1)云游戏:云游戏是以云计算为基础的游戏方式,在云游戏的运行模式下,所有游戏都在服务器端运行,服务器端将渲染完毕后的游戏画面压缩后通过网络传送给用户侧的终端,并由终端解码后直接显示。
(2)虚拟场景是指用计算机生成的一种虚拟的场景环境,比如,虚拟场景可以是游戏场景。虚拟场景能够提供一个多媒体的虚拟世界,用户可通过操作设备或操作界面对虚拟场景中可操作的虚拟对象进行控制,以虚拟对象的视角观察虚拟场景中的物体、人物、风景等,或通过虚拟对象和虚拟场景中的物体、人物、风景或者其它虚拟对象等进行互动,例如,通过操作一个虚拟士兵对目标敌军进行攻击等。
虚拟场景通常由终端等计算机设备中的应用程序生成基于终端中的硬件(比如屏幕)进行展示。该终端可以是智能手机、平板电脑或者电子书阅读器等移动终端;或者,该终端也可以是笔记本电脑或者固定式计算机的个人计算机设备。
请参考图1,其是根据一示例性实施例示出的终端的结构示意图。如图1所示,该终端包括主板110、外部输出/输入设备120、存储器130、外部接口140、电容触控系统150以及电源160。
其中,主板110中集成有处理器和控制器等处理元件。
外部输出/输入设备120可以包括显示组件(比如显示屏)、声音播放组件(比如扬声器)、声音采集组件(比如麦克风)以及各类按键等。
存储器130中存储有程序代码和数据。
外部接口140可以包括耳机接口、充电接口以及数据接口等。
电容触控系统150可以集成在外部输出/输入设备120的显示组件或者按键中,电容触控系统150用于检测用户在显示组件或者按键上执行的触控操作。
电源160用于对终端中的其它各个部件进行供电。
在本申请实施例中,主板110中的处理器可以通过执行或者调用存储器中存储的程序代码和数据生成虚拟场景的图像,并将生成的虚拟场景的图像通过外部输出/输入设备120进行展示。其中,上述用于生成虚拟场景的图像的数据, 可以是云端服务器发送的,渲染后的图像数据。在展示虚拟场景的过程中,可以通过电容触控系统150检测用户与虚拟场景进行交互时执行的触控操作。
其中,虚拟场景可以是三维的虚拟场景,或者,虚拟场景也可以是二维的虚拟场景。以虚拟场景是三维的虚拟场景为例,请参考图2,其是根据一示例性实施例示出的虚拟场景的显示界面示意图。如图2所示,虚拟场景的显示界面200包括虚拟对象210、三维的虚拟场景的环境画面220、至少一组虚拟控制按钮230以及虚拟对象240。其中,虚拟对象210可以是终端对应的用户账号的当前控制对象,虚拟控制按钮230为可选的控制元素,即用户可通过虚拟控制按钮230操控虚拟对象210;而虚拟对象240可以是非用户控制对象,即虚拟对象240由应用程序自行控制,或者,虚拟对象240也可以是其它终端对应的用户账号控制的虚拟对象,用户可以通过控制虚拟对象210与虚拟对象240进行交互,比如,控制虚拟对象210对虚拟对象240进行攻击。
在图2中,虚拟对象210与虚拟对象240是在三维的虚拟场景中的三维模型,在显示界面200中显示的三维的虚拟场景的环境画面为虚拟对象210的视角所观察到的物体,示例性的,如图2所示,在虚拟对象210的视角观察下,显示的三维虚拟场景的环境画面220为大地224、天空225、地平线223、小山221以及厂房222。
虚拟对象210可以在用户的控制下即时移动,比如,图2示出的虚拟控制按钮230是用于控制虚拟对象210移动的虚拟按钮,用户触控该虚拟控制按钮230时,虚拟对象210可以在虚拟场景中,向触控点相对于虚拟控制按钮230的中心的方向移动。
图3是根据一示例性实施例示出的一种虚拟场景的场景图像传输系统的结构示意图。该系统包括:若干个终端320和服务器340。
终端320可以是手机、平板电脑、电子书阅读器、智能眼镜、智能手表、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影 像专家压缩标准音频层面4)播放器等等。
终端320可以是用于展示虚拟场景的显示界面的终端,相应的,服务器340可以是支持虚拟场景的应用程序对应的服务器。
终端320与服务器340之间通过通信网络相连。可选的,通信网络是有线网络或无线网络。
服务器340是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个虚拟化平台,或者是一个云计算服务中心。
可选的,该系统还可以包括管理设备360,该管理设备360与服务器340之间通过通信网络相连。可选的,通信网络是有线网络或无线网络。
可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(Extensible Markup Language,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(Internet Protocol Security,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
在一种可能的实现方式中,上述虚拟场景的场景图像传输系统可以是云游戏系统。比如,请参考图4,其示出了本申请实施例涉及的一种云游戏系统的系统架构图。如图4所示,云游戏系统包括虚拟化云41、云用研控制中心42、管理人员设备43、用研人员终端44以及玩家终端45。其中,虚拟化云41和云用研控制中心42部署在上述服务器340中,理人员设备43对应上述管理设备360,而用研人员终端44以及玩家终端45这对应上述终端320。
在图4所示的系统中,虚拟化云41可以是基于硬件设备运行的虚拟机,该 虚拟机中运行有模拟器(比如安卓模拟器、Windows模拟器、iOS模拟器以及Web模拟器等等),模拟器用于模拟玩家终端45所在的系统环境,并基于模拟的系统环境运行游戏程序以生成虚拟场景(即游戏或者app对应的场景),并通过云用研控制中心42将虚拟场景的图像发送给玩家终端45和用研人员终端44进行显示。玩家终端45在显示虚拟场景的图像的过程中,还接收玩家的操作,并将玩家的操作数据发送至云用研控制中心42,仅云用研控制中心42发送至虚拟化云41,由虚拟化云41中的模拟器根据玩家的操作数据对虚拟场景进行控制。比如,在本申请实施例中,虚拟化云41可以将虚拟机生成的虚拟场景的界面和声音编码为H264/高级音频编码(Advanced Audio Coding,AAC)音视频流,并以流的方式传输至终端中安装的客户端,同时收集客户端的touch(触摸)操作事件并回传至虚拟化云41的模拟器,以达到操控游戏或app的目的。
此外,云用研控制中心42还对虚拟场景的画面和用户操作进行存档。
在本申请所示的方案中,可以对服务器执行图像编码的过程进行改进,以降低终端侧展示虚拟场景的延时。请参考图5,其是根据一示例性实施例示出的一种虚拟场景的场景图像传输流程图。如图5所示,服务器对待显示图像进行渲染,获得第一渲染图像,该待显示图像是该虚拟场景的显示数据发生变化时,对该显示数据进行采集获得的(51)。服务器获取第一时间点,该第一时间点是该第一渲染图像渲染完成的时间点(52)。当该第一时间点和第二时间点之间的时长不小于第一时长阈值时,服务器对该第一渲染图像进行编码,获得编码图像,该第二时间点是上一次进行图像编码的时间点(53)。服务器将该编码图像发送给终端进行解码并显示(54)。
通过上述图5所示的方案,服务器生成虚拟场景,并在虚拟场景的显示数据发生变化时采集待渲染图像并进行渲染,获得第一渲染图像,当第一渲染图像渲染完成的时间点与上一次执行图像编码的时间点之间的间隔不小于一定阈值时,即对第一渲染图像进行编码和发送,不需要等待下一次固定的编码周期的到达,从而提高图像编码的及时性,降低了终端侧的图像展示的延时。
此外,上述图5所示的方案,服务器只有在虚拟场景的显示数据发生变化时才会采集待渲染图像并进行渲染,减少了不必要的渲染和编码的步骤,提高了网络资源的利用率。
请参考图6,其是根据一示例性实施例示出的一种虚拟场景的场景图像传输方法的流程图。该虚拟场景的场景图像传输方法可以应用在如图3所示的系统的服务器中。如图6所示,该虚拟场景的场景图像传输方法可以包括如下步骤:
步骤601,当虚拟场景的显示数据发生变化时,采集变化后的显示数据以获得待显示图像。
其中,显示数据可以是用于在虚拟场景的显示界面上进行显示的图像数据。虚拟场景的显示界面可以指该虚拟场景在某一个终端中进行显示时的显示界面。对于同一个虚拟场景,该虚拟场景在不同的终端中显示的显示界面可能相同,也可能不同。
在本申请实施例中,服务器在生成虚拟场景后,可以监控虚拟场景的显示界面中的界面内容(即显示数据),当监控到界面内容发生变化时,即采集界面图像,获得待显示图像。反之,如果监控到界面内容未发生变化,则可以不采集界面图像。
比如,在实际应用中,服务器可以通过Qemu(一种纯软件实现的虚拟化模拟器,可以用于模拟硬件设备)+KVM(一种开源的系统虚拟化模块)的虚拟机可做到按需渲染,比如,只有在界面内容发生变化时才会进行OpenGL(Open Graphics Library,开放图形库)渲染。
步骤602,对待显示图像进行渲染,获得第一渲染图像。
比如,以模拟Android系统环境为例,Android模拟器在模拟出的Android系统中调用eglSwapBuffers函数,进行最终的屏幕内容的渲染。
在本申请实施例中,一帧图像渲染完成后,虚拟机可以在渲染完成的代码处增加回调,以触发后续判断是否进行编码的流程。
步骤603,获取第一时间点,该第一时间点是第一渲染图像渲染完成的时间 点。
比如,在服务器中的虚拟机对上述待显示图像进行渲染,并渲染完成时,虚拟机可以将渲染完成的时间点获取为上述第一时间点。
步骤604,判断第一时间点和第二时间点之间的时长是否不小于第一时长阈值,若是,进入步骤605,否则,进入步骤606。
其中,该第二时间点是上一次进行图像编码的时间点。
在实际应用中,不同的终端的性能参数各不相同,某些终端的硬件性能较高,可以支持较高帧率的图像解码和显示,而某些终端的硬件性能较差,能够支持的图像解码的帧率较低。
在本申请实施例中,为了兼顾低性能终端的解码性能,服务器中可以设置一个最小编码间隔(即上述第一时长阈值),当渲染晚上一帧图像之后,服务器可以判断当前渲染获得的渲染图像是否需要立刻进行编码并传输给用户侧的终端。
步骤605,对该第一渲染图像进行编码,获得编码图像。
在本申请实施例中,如果判断出第一渲染图像渲染完成的时间点距离上一次编码的时间点之间的时长已经达到或超过最小编码间隔,则服务器可以立刻对新获得的渲染图像进行编码。
比如,以T n表示当前图像(即上述第一渲染图像)被渲染完成的时间点,E last表示T n之前的最近一次编码的时间点,I min表示编码允许的最小间隔,即上述第一时长阈值为例,如果符合条件:T n-E last≥I min,则服务器可以立刻对当前图像进行编码,并更新E last为T n
步骤606,获取第三时间点和该第二时间点之间的时长。
其中,该第三时间点是第二渲染图像预计渲染完成的时间点,该第二渲染图像是该第一渲染图像的下一帧渲染图像。
在本申请实施例中,上述第三时间点可以通过预测获得。比如,服务器可以参考之前各帧图像渲染完成的时间点,来预测下一帧图像被渲染完成的时间点(即上述第三时间点)。
可选的,在获取上述第三时间点时,服务器可以获取已渲染的各个渲染图像各自渲染完成的时间点;根据第一时间点和该各个渲染图像中每相邻两个渲染图像各自渲染完成的时间点之间的时长,获取该第三时间点。
在一种可能的实现方式中,服务器可以将各个渲染图像中,每相邻两个渲染图像各自渲染完成的时间点之间的时长做平均值,获得平均时长,并在第一时间点的基础上加上该平均时长,获得第三时间点。
在本申请实施例中,服务器只有在虚拟场景的显示数据发生变化时,才会采集并渲染图像,因此,相邻两帧图像被渲染完成的时间点之间的差值可能很大(比如,当虚拟场景的显示界面长时间保持不变时,连续采集并渲染两帧图像之间的时间间隔可能很大),也可能很小(比如,当虚拟场景的显示界面频繁变化时,连续采集并渲染两帧图像之间的时间间隔可能很小)。因此,服务器在获取上述第三时间点时,也可以综合考虑各个渲染图像渲染完成的时间点对于预测结果的不同程度的影响。
在实际应用中,距离当前时间点越近的相邻两帧图像被渲染完成的时间点之间的间隔,往往对于预测下一帧图像渲染完成的时间点的结果影响越大。比如,假设最近渲染完成的两帧图像被渲染完成的时间点之间的间隔较大,则下一帧图像渲染完成的时间点有很大的可能距离当前时间点之间的间隔也较大,反之,若最近渲染完成的两帧图像被渲染完成的时间点之间的间隔较小,则下一帧图像渲染完成的时间点有很大的可能距离当前时间点之间的间隔也较小。
基于上述分析,在本申请实施例中,服务器可以通过下述公式计算该第三时间点T n+1
Figure PCTCN2019082724-appb-000001
其中,T n+1是该第三时间点,T n是该第一时间点,T n-i是该第一渲染图像之前的第i帧图像渲染完成的时间点。如上述公式所示,在已渲染完成的各个渲染图像中,距离当前时间点越近的相邻两帧图像被渲染完成的时间点之间的间隔,对T n+1的预测结果的影响越大,其中,当前时间点之前的第一帧图像和第二帧图像被渲染完成的时间点之间的间隔对预测结果影响最大(即权重最大),后续 每相邻两帧图像被渲染完成的时间点之间的间隔对预测结果影响呈指数降低(即权重呈指数降低)。
步骤607,判断第三时间点和第二时间点之间的时长是否大于第二时长阈值;若是,进入步骤608,否则,进入步骤609。
其中,第二时长阈值大于上述第一时长阈值。
在本申请实施例中,如果判断出第一渲染图像渲染完成的时间点距离上一次编码的时间点之间的时长没有达到最小编码间隔,如果此时对新获得的渲染图像进行编码并发送给终端,可能会导致部分性能较差的终端还在解码并显示上一帧图像而来不及解码显示当前图像的问题。因此,当第一渲染图像渲染完成的时间点距离上一次编码的时间点之间的时长没有达到最小编码间隔时,服务器通过上述步骤预测出的下一帧渲染图像渲染完成的时间点,确定是否需要保留当前渲染图像(即第一渲染图像)。
步骤608,缓存该第一渲染图像。
在本申请实施例中,为了使得终端能够及时的向用户展示虚拟场景最新变化的显示界面,服务器可以预先设置一个最大编码帧间隔I max,如果T n+1-E last>I max,则表示在下一次需要编码的时间点,预计不会再产生新的渲染图像,此时,服务器可以对当前渲染图像进行缓存,等待到下次需要编码的时间进行编码。
由上述分析可知,I min主要目的是设置一个用户终端可以接受的最大编码速率(避免发送太快导致用户终端来不及解码),而I max主要是为了让用户能够及时看到最新的画面,服务器每隔I max时长,尝试获取最新产生且没编码过的图片,以及时编码传输到用户终端进行展示。
在本申请实施例中,服务器可以预先对大量的手机等移动终端的编解码能力的统计,获得一个可以被大部分终端所接收的帧率范围,并在该帧率范围的基础上,结合实际应用中的各种虚拟场景的刷新帧率进行统计并确定上述I min和I max
请参考图7至图10,其是本申请实施例涉及的四种应用程序或虚拟场景的显示界面的相邻帧渲染时间间隔和统计次数示意图。实际应用中,应用程序或 者虚拟场景的显示界面的刷新率通常为30FPS或者60FPS,对应的刷新时间间隔为15ms和30ms。在图7至图10中,横坐标为相邻帧渲染的时间间隔,纵坐标为统计获得的相邻帧渲染的时间间隔处于对应的时间间隔的次数。通过图7至图10可见,大部分应用程序或者虚拟场景的显示界面中,相邻帧渲染的时间间隔集中在15-17ms和32-34ms这两个区间内,且同一时间段内的间隔大体上是一致的,结合上述可以被大部分终端所接收的帧率范围,在本申请实施例中,可以将I min和I max设置在30ms左右,比如,可以将I min设置为29ms,I max设置为34ms。当然,实际应用中,服务器也可以将I min和I max设置为30ms左右的其它数值,只需要满足I min<I max即可。
需要说明的是,在本申请实施例中,服务器在缓存第一渲染图像时,如果缓存中已存在上一次渲染获得的渲染图像,则在缓存第一渲染图像时,服务器可以将上一次渲染并存储的渲染图像删除。也即是说,若某一帧渲染图像渲染完成后,服务器预测在下一次编码时间到达之前不会产生新的渲染图像,并将当前渲染图像进行缓存,但实际上,在下一次编码时间到达之前产生了新的渲染图像,此时,为了保证向用户及时的展示虚拟场景的最新界面,之前缓存的渲染图像需要被丢弃,在下一次编码时,服务器将直接编码最新渲染完成的渲染图像。
步骤609,将该第一渲染图像丢弃。
在本申请实施例中,如果T n+1-E last≤I max,则预估在进行下一次编码之前,还会产生一帧新的渲染图像(即第二渲染图像),为了使得用户能够及时看到最新的虚拟场景的显示界面,此时,服务器可以直接丢弃当前渲染图像,并在下一次需要编码时,直接对新的渲染图像进行编码。
比如,请参考图11,其示出了其示出了本申请实施例涉及的一种图像渲染和编码时序示意图。通过上述方案,当虚拟场景的显示界面的刷新间隔集中在15-17ms之间时,在理想情况下,服务器可以在两帧渲染图像中取一帧渲染图像,并立即进行视频编码,并传输至用户终端。如图11所示,当T n-E last<I min,且T n+1-E last≤I max时,服务器丢弃相邻两帧中的一帧(图11中示出为丢弃渲染图像 B、渲染图像D以及渲染图像F,编码渲染图像A、渲染图像C以及渲染图像E)。当虚拟场景的显示界面的刷新间隔集中在32-34ms之间时,在理想情况下,云端服务器可以对每一帧渲染图像都进行编码。
本申请通过上述方案,服务器采用不固定的动态帧率,对新产生的渲染图像实时编码,综合终端的解码能力与服务器的渲染帧率,设置合理的I min和I max。请参考图12,其示出了本申请实施例涉及的对新生成的渲染图像的处理示意图。如图12所示,服务器检测到新生成的渲染图像(步骤1201)时,更新预估的下一帧渲染图像的生成时间点(步骤1202),并判断当前时间点(即上述第一时间点)是否处于可编码时间(步骤1203),即判断最近编码时间与当前时间点之间的间隔是否不小于I min。若当前时间点处于可编码时间(即上一次编码时间与当前时间点之间的间隔大于I min),则对新生成的渲染图像进行H264编码(步骤1204),并更新最近编码时间(步骤1205);若当前时间点不处于可编码时间(即上一次编码时间与当前时间点之间的间隔不大于I min),则进一步判断是否需要缓存新生成的渲染图像(步骤1206),即判断最近编码时间与预估的下一帧渲染图像的生成时间点之间的间隔是否大于I max;若需要缓存新生成的渲染图像(即最近编码时间与预估的下一帧渲染图像的生成时间点之间的间隔大于I max),则将该新生成的渲染图像进行缓存(步骤1207);反之,如果判断不需要缓存新生成的渲染图像(即最近编码时间与预估的下一帧渲染图像的生成时间点之间的间隔不大于I max),则将该新生成的渲染图像丢弃(步骤1208)。
步骤610,在第四时间点到达时,若该第二渲染图像尚未渲染完成,则对该第一渲染图像进行编码,获得编码图像。
其中,该第四时间点处于该第二时间点之后,且该第四时间点与该第二时间点之间的时长是该第二时长阈值的整数倍。
在本申请实施例中,为了处理服务器采用动态帧率对新产生的渲染图像实时编码之外的情况,服务器还定时对缓存中的渲染图像进行编码监控,以便在到达需要编码的时间点,且未产生需要即时编码的新的渲染图像时,对缓存的渲染图像进行编码。
比如,请参考图13,其示出了本申请实施例涉及的对缓存的渲染图像进行编码的示意图。如图13所示,服务器在编码监控的过程中,确定唤醒时间,该唤醒时间e last,该唤醒时间表示预计要编码的时间点,其中,每次进行一次编码之后,第一次确定的唤醒时间为该次编码的时间点E last
a)服务器确定编码间隔超出最长时间间隔I max(步骤1301),即当前时间T n距离上一次唤醒时间的间隔为I max,T n≥e last+I max时,服务器进行编码检查,以判断缓存中是否存在最新的渲染图像(步骤1302)。
b)如果缓存中有新的渲染图像,则对尚未编码过的渲染图像进行H264编码(步骤1303),编码后更新最新的编码时间E last=e last(步骤1304)。
c)如果缓存中无新的尚未编码过的渲染图像,则不进行编码,仅更新唤醒时间e last,更新后的唤醒时间是上一次的唤醒时间加上I max
请参考图14,其示出了本申请实施例涉及的另一种图像渲染和编码时序示意图。如图14所示:
服务器在T1时刻完成了渲染图像B的渲染,且T1时刻距离上次编码的时间小于I min,因此无法将渲染图像B直接编码传输给客户端。并且,下一帧渲染图像C的预估产生时间超过下一次需要编码的时间T2,因此,服务器对渲染图像B进行缓存。到了T2时刻,服务器发现缓存中存在渲染图像B,且上一次编码的渲染图像为渲染图像A,则对渲染图像B进行编码并传输至终端。在T3时刻渲染图像C渲染生成,T3距离T2的时间小于I min,且下一次编码的时间为T2+I max,服务器预计下一帧渲染图像D的产生时间为Tp超过了T2+I max,因此对渲染图像C进行缓存。但是,实际渲染图像D的产生时间为T4,而T4-T2大于I max,此时,服务器会立即对渲染图像D进行编码并传输至终端。
通过本申请所示的方案,虚拟场景(比如云游戏)的显示界面中的内容不发生变化时,服务器可以不进行编码,如果到达预计编码的时间,但是发现没有新的渲染图像产生,此时也不会进行编码,从而节省服务器端的处理资源的消耗,将动态帧率编码与传统固定采样编码的方式相结合,实现对采用动态帧率对新产生的渲染图像实时编码之外的情况的处理。
在本申请上述方案以及图11至图14中,仅以编码方式为H264为例进行说明,在实际应用中,服务器也可以通过H264之外的其它编码方式(比如H265等)对渲染图像进行编码。本申请实施例不对比编码方式进行限定。
步骤611,将编码图像发送给终端进行解码并显示。
通过本申请实施例所示的实时编码的方式,能够有效减少渲染图像的生成与编码时间之间的时间间隔,实验结果表明,本申请所示的方案与相关技术中采用固定编码帧率的方案相比,平均每一帧图像能够降低延迟16ms,从而极大的提高云游戏的用户体验。此外,在本申请实施例中,当屏幕内容没有发生变化时不进行编码,有效降低服务器执行图像编码带来的资源消耗和网络传输的流量。
综上所述,通过本申请实施例所示的方案,服务器生成虚拟场景,并在虚拟场景的显示数据发生变化时采集待渲染图像并进行渲染,获得第一渲染图像,当第一渲染图像渲染完成的时间点与上一次执行图像编码的时间点之间的间隔不小于一定阈值时,即对第一渲染图像进行编码和发送,不需要等待下一次固定的编码周期的到达,从而提高图像编码的及时性,降低了终端侧的图像展示的延时。
此外,通过本申请实施例所示的方案,服务器只有在虚拟场景的显示界面发生变化时才会采集待渲染图像并进行渲染,减少了不必要的渲染和编码的步骤,提高了网络资源的利用率。
另外,通过本申请实施例所示的方案,当第一时间点和该第二时间点之间的时长小于该第一时长阈值,且第三时间点和第二时间点之间的时长大于第二时长阈值时,缓存第一渲染图像,后续在第四时间点到达时,若该第二渲染图像尚未渲染完成,则对该第一渲染图像进行编码,将动态帧率编码与传统固定采样编码的方式相结合,实现对采用动态帧率对新产生的渲染图像实时编码之外的情况的处理。
图15是根据一示例性实施例示出的一种虚拟场景的场景图像传输装置的结 构方框图。该虚拟场景中的场景图像传输装置可以用于服务器中,以执行图5或图6所示实施例中由服务器执行的全部或者部分步骤。该虚拟场景中的场景图像传输装置可以包括:
渲染模块1501,用于对待显示图像进行渲染,获得第一渲染图像,所述待显示图像是所述虚拟场景的显示数据发生变化时进行数据采集获得的;
时间点获取模块1502,用于获取第一时间点,所述第一时间点是所述第一渲染图像渲染完成的时间点;
编码模块1503,用于当所述第一时间点和第二时间点之间的时长不小于第一时长阈值时,对所述第一渲染图像进行编码,获得编码图像,所述第二时间点是上一次进行图像编码的时间点;
发送模块1504,用于将所述编码图像发送给终端进行解码并显示。
可选的,所述时间点获取模块1502,还用于获取第三时间点,所述第三时间点是第二渲染图像预计渲染完成的时间点,所述第二渲染图像是所述第一渲染图像的下一帧渲染图像;
所述装置还包括:
时长获取模块,用于当所述第一时间点和所述第二时间点之间的时长小于所述第一时长阈值时,获取所述第三时间点和所述第二时间点之间的时长;
缓存模块,用于当所述第三时间点和所述第二时间点之间的时长大于第二时长阈值时,缓存所述第一渲染图像,所述第二时长阈值大于所述第一时长阈值。
可选的,在获取第三时间点时,所述时间点获取模块1502,具体用于,
获取已渲染的各个渲染图像各自渲染完成的时间点;
根据所述第一时间点和所述各个渲染图像中每相邻两个渲染图像各自渲染完成的时间点之间的时长,获取所述第三时间点。
可选的,在根据所述第一时间点和所述各个渲染图像中每相邻两个渲染图像各自渲染完成的时间点之间的时长,获取所述第三时间点时,所述时间点获取模块1502,具体用于,
通过下述公式计算所述第三时间点T n+1
Figure PCTCN2019082724-appb-000002
其中,T n+1是所述第三时间点,T n是所述第一时间点,T n-i是所述第一渲染图像之前的第i帧图像渲染完成的时间点。
可选的,所述编码模块1503,还用于在缓存所述第一渲染图像之后,在第四时间点到达时,若所述第二渲染图像尚未渲染完成,则对所述第一渲染图像进行编码,获得所述编码图像;所述第四时间点处于所述第二时间点之后,且所述第四时间点与所述第二时间点之间的时长是所述第二时长阈值的整数倍。
可选的,所述装置还包括:
丢弃模块,用于当所述第三时间点和所述第二时间点之间的时长不大于所述第二时长阈值时,丢弃所述第一渲染图像。
上述各个模块的功能的实现过程可以参考图5或图6所示的实施例中的描述。
应该理解的是,虽然图5、6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图5、6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交底地执行。
图16是根据一示例性实施例示出的一种计算机设备的结构示意图。所述计算机设备1600包括中央处理单元(CPU)1601、包括随机存取存储器(RAM)1602和只读存储器(ROM)1603的系统存储器1604,以及连接系统存储器1604和中央处理单元1601的系统总线1605。所述计算机设备1600还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)1606,和用于存储操作系统1613、应用程序1614和其他程序模块1615的大容量存储设备1607。
所述基本输入/输出系统1606包括有用于显示信息的显示器1608和用于用户输入信息的诸如鼠标、键盘之类的输入设备1609。其中所述显示器1608和输入设备1609都通过连接到系统总线1605的输入输出控制器1610连接到中央处理单元1601。所述基本输入/输出系统1606还可以包括输入输出控制器1610以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1610还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1607通过连接到系统总线1605的大容量存储控制器(未示出)连接到中央处理单元1601。所述大容量存储设备1607及其相关联的计算机可读介质为计算机设备1600提供非易失性存储。也就是说,所述大容量存储设备1607可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1604和大容量存储设备1607可以统称为存储器。
计算机设备1600可以通过连接在所述系统总线1605上的网络接口单元1611连接到互联网或者其它网络设备。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理器1601通过执行该一个或一个以上程序来实现图5或图6所示的虚拟场景的场景图像传输方法的步骤。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括计算机程序(指令)的存储器,上述程序(指令)可由计算机设 备的处理器执行以完成本申请各个实施例中的虚拟场景的场景图像传输方法的步骤。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (20)

  1. 一种虚拟场景的场景图像传输方法,由服务器执行,其特征在于,所述方法包括:
    对待显示图像进行渲染,获得第一渲染图像,所述待显示图像是所述虚拟场景的显示数据发生变化时进行采集获得的;
    获取第一时间点,所述第一时间点是所述第一渲染图像渲染完成的时间点;
    当所述第一时间点和第二时间点之间的时长不小于第一时长阈值时,对所述第一渲染图像进行编码,获得编码图像,所述第二时间点是上一次进行图像编码的时间点;
    将所述编码图像发送给终端进行解码并显示。
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    获取第三时间点,所述第三时间点是第二渲染图像预计渲染完成的时间点,所述第二渲染图像是所述第一渲染图像的下一帧渲染图像;
    当所述第一时间点和所述第二时间点之间的时长小于所述第一时长阈值时,获取所述第三时间点和所述第二时间点之间的时长;
    当所述第三时间点和所述第二时间点之间的时长大于第二时长阈值时,缓存所述第一渲染图像,所述第二时长阈值大于所述第一时长阈值。
  3. 根据权利要求2所述的方法,其特征在于,所述获取第三时间点,包括:
    获取已渲染的各个渲染图像各自渲染完成的时间点;
    根据所述第一时间点和所述各个渲染图像中每相邻两个渲染图像各自渲染完成的时间点之间的时长,获取所述第三时间点。
  4. 根据权利要求3所述的方法,其特征在于,所述根据所述第一时间点和所述各个渲染图像中每相邻两个渲染图像各自渲染完成的时间点之间的时长,获取所述第三时间点,包括:
    通过下述公式计算所述第三时间点T n+1
    Figure PCTCN2019082724-appb-100001
    其中,T n+1是所述第三时间点,T n是所述第一时间点,T n-i是所述第一渲染 图像之前的第i帧图像渲染完成的时间点。
  5. 根据权利要求2所述的方法,其特征在于,在缓存所述第一渲染图像之后,所述方法还包括:
    在第四时间点到达时,若所述第二渲染图像尚未渲染完成,则对所述第一渲染图像进行编码,获得所述编码图像;所述第四时间点处于所述第二时间点之后,且所述第四时间点与所述第二时间点之间的时长是所述第二时长阈值的整数倍。
  6. 根据权利要求2所述的方法,其特征在于,所述方法还包括:
    当所述第三时间点和所述第二时间点之间的时长不大于所述第二时长阈值时,丢弃所述第一渲染图像。
  7. 一种虚拟场景的场景图像传输装置,其特征在于,所述装置包括:
    渲染模块,用于对待显示图像进行渲染,获得第一渲染图像,所述待显示图像是所述虚拟场景的显示数据发生变化时进行数据采集获得的;
    时间点获取模块,用于获取第一时间点,所述第一时间点是所述第一渲染图像渲染完成的时间点;
    编码模块,用于当所述第一时间点和第二时间点之间的时长不小于第一时长阈值时,对所述第一渲染图像进行编码,获得编码图像,所述第二时间点是上一次进行图像编码的时间点;
    发送模块,用于将所述编码图像发送给终端进行解码并显示。
  8. 根据权利要求7所述的装置,其特征在于,
    所述时间点获取模块,还用于获取第三时间点,所述第三时间点是第二渲染图像预计渲染完成的时间点,所述第二渲染图像是所述第一渲染图像的下一帧渲染图像;
    所述装置还包括:
    时长获取模块,用于当所述第一时间点和所述第二时间点之间的时长小于所述第一时长阈值时,获取所述第三时间点和所述第二时间点之间的时长;
    缓存模块,用于当所述第三时间点和所述第二时间点之间的时长大于第二 时长阈值时,缓存所述第一渲染图像,所述第二时长阈值大于所述第一时长阈值。
  9. 根据权利要求8所述的装置,其特征在于,在获取第三时间点时,所述时间点获取模块,具体用于,
    获取已渲染的各个渲染图像各自渲染完成的时间点;
    根据所述第一时间点和所述各个渲染图像中每相邻两个渲染图像各自渲染完成的时间点之间的时长,获取所述第三时间点。
  10. 根据权利要求9所述的装置,其特征在于,在根据所述各个渲染图像中,每相邻两个渲染图像各自渲染完成的时间点之间的时长,获取所述第三时间点时,所述时间点获取模块,具体用于,
    通过下述公式计算所述第三时间点T n+1
    Figure PCTCN2019082724-appb-100002
    其中,T n+1是所述第三时间点,T n是所述第一时间点,T n-i是所述第一渲染图像之前的第i帧图像渲染完成的时间点。
  11. 根据权利要求8所述的装置,其特征在于,
    所述编码模块,还用于在缓存所述第一渲染图像之后,在第四时间点到达时,若所述第二渲染图像尚未渲染完成,则对所述第一渲染图像进行编码,获得所述编码图像;所述第四时间点处于所述第二时间点之后,且所述第四时间点与所述第二时间点之间的时长是所述第二时长阈值的整数倍。
  12. 根据权利要求8所述的装置,其特征在于,所述装置还包括:
    丢弃模块,用于当所述第三时间点和所述第二时间点之间的时长不大于所述第二时长阈值时,丢弃所述第一渲染图像。
  13. 一种计算机设备,其特征在于,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行时,使得所述处理器执行以下步骤:
    对待显示图像进行渲染,获得第一渲染图像,所述待显示图像是所述虚拟 场景的显示数据发生变化时进行数据采集获得的;
    获取第一时间点,所述第一时间点是所述第一渲染图像渲染完成的时间点;
    当所述第一时间点和第二时间点之间的时长不小于第一时长阈值时,对所述第一渲染图像进行编码,获得编码图像,所述第二时间点是上一次进行图像编码的时间点;
    将所述编码图像发送给终端进行解码并显示。
  14. 根据权利要求13所述的计算机设备,其特征在于,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行时,使得所述处理器还执行以下步骤:
    获取第三时间点,所述第三时间点是第二渲染图像预计渲染完成的时间点,所述第二渲染图像是所述第一渲染图像的下一帧渲染图像;
    当所述第一时间点和所述第二时间点之间的时长小于所述第一时长阈值时,获取所述第三时间点和所述第二时间点之间的时长;
    当所述第三时间点和所述第二时间点之间的时长大于第二时长阈值时,缓存所述第一渲染图像,所述第二时长阈值大于所述第一时长阈值。
  15. 根据权利要求14所述的计算机设备,其特征在于,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行所述获取第三时间点的步骤时,使得所述处理器具体执行以下步骤:
    获取已渲染的各个渲染图像各自渲染完成的时间点;
    根据所述第一时间点和所述各个渲染图像中每相邻两个渲染图像各自渲染完成的时间点之间的时长,获取所述第三时间点。
  16. 根据权利要求15所述的计算机设备,其特征在于,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行所述第一时间点和所述根据所述各个渲染图像中每相邻两个渲染图像各自渲染完成的时间点之间的时长,获取所述第三时间点的步骤时,使得所述处理器具体执行以下步骤:
    通过下述公式计算所述第三时间点T n+1
    Figure PCTCN2019082724-appb-100003
    其中,T n+1是所述第三时间点,T n是所述第一时间点,T n-i是所述第一渲染图像之前的第i帧图像渲染完成的时间点。
  17. 一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行时,使得所述处理器执行以下步骤:
    对待显示图像进行渲染,获得第一渲染图像,所述待显示图像是所述虚拟场景的显示数据发生变化时进行数据采集获得的;
    获取第一时间点,所述第一时间点是所述第一渲染图像渲染完成的时间点;
    当所述第一时间点和第二时间点之间的时长不小于第一时长阈值时,对所述第一渲染图像进行编码,获得编码图像,所述第二时间点是上一次进行图像编码的时间点;
    将所述编码图像发送给终端进行解码并显示。
  18. 根据权利要求17所述的计算机可读存储介质,其特征在于,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行时,使得所述处理器还执行以下步骤:
    获取第三时间点,所述第三时间点是第二渲染图像预计渲染完成的时间点,所述第二渲染图像是所述第一渲染图像的下一帧渲染图像;
    当所述第一时间点和所述第二时间点之间的时长小于所述第一时长阈值时,获取所述第三时间点和所述第二时间点之间的时长;
    当所述第三时间点和所述第二时间点之间的时长大于第二时长阈值时,缓存所述第一渲染图像,所述第二时长阈值大于所述第一时长阈值。
  19. 根据权利要求18所述的计算机可读存储介质,其特征在于,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行所述获取第三时间点的步骤时,使得所述处理器具体执行以下步骤:
    获取已渲染的各个渲染图像各自渲染完成的时间点;
    根据所述第一时间点和所述各个渲染图像中每相邻两个渲染图像各自渲染完成的时间点之间的时长,获取所述第三时间点。
  20. 根据权利要求19所述的计算机可读存储介质,其特征在于,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行所述第一时间点和根据所述各个渲染图像中每相邻两个渲染图像各自渲染完成的时间点之间的时长,获取所述第三时间点的步骤时,使得所述处理器具体执行以下步骤:
    通过下述公式计算所述第三时间点T n+1
    Figure PCTCN2019082724-appb-100004
    其中,T n+1是所述第三时间点,T n是所述第一时间点,T n-i是所述第一渲染图像之前的第i帧图像渲染完成的时间点。
PCT/CN2019/082724 2018-06-15 2019-04-15 虚拟场景的场景图像传输方法、装置、计算机设备及计算机可读存储介质 Ceased WO2019237821A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020565018A JP7072677B2 (ja) 2018-06-15 2019-04-15 仮想シーンのシーン画像を送信するための方法及び装置、コンピュータデバイス並びにコンピュータ読み取り可能記憶媒体
EP19819038.1A EP3809706B1 (en) 2018-06-15 2019-04-15 Method and apparatus for transmitting scene image of virtual scene, computer device and computer readable storage medium
US16/991,891 US11831566B2 (en) 2018-06-15 2020-08-12 Method and apparatus for transmitting scene image of virtual scene, computer device, and computer-readable storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810621056.7 2018-06-15
CN201810621056.7A CN108810554B (zh) 2018-06-15 2018-06-15 虚拟场景的场景图像传输方法、计算机设备及存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/991,891 Continuation US11831566B2 (en) 2018-06-15 2020-08-12 Method and apparatus for transmitting scene image of virtual scene, computer device, and computer-readable storage medium

Publications (1)

Publication Number Publication Date
WO2019237821A1 true WO2019237821A1 (zh) 2019-12-19

Family

ID=64086607

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/082724 Ceased WO2019237821A1 (zh) 2018-06-15 2019-04-15 虚拟场景的场景图像传输方法、装置、计算机设备及计算机可读存储介质

Country Status (5)

Country Link
US (1) US11831566B2 (zh)
EP (1) EP3809706B1 (zh)
JP (1) JP7072677B2 (zh)
CN (1) CN108810554B (zh)
WO (1) WO2019237821A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111831284A (zh) * 2020-07-29 2020-10-27 网易(杭州)网络有限公司 渲染调试方法、装置及设备
CN113542795A (zh) * 2020-04-21 2021-10-22 腾讯科技(深圳)有限公司 视频处理方法、装置、电子设备及计算机可读存储介质
EP3903896A1 (en) * 2020-04-30 2021-11-03 INTEL Corporation Cloud gaming adaptive synchronization mechanism
CN113973224A (zh) * 2021-09-18 2022-01-25 阿里巴巴(中国)有限公司 媒体信息的传输方法、计算设备及存储介质
CN114579076A (zh) * 2022-01-30 2022-06-03 荣耀终端有限公司 数据处理方法和相关装置
JP2022534670A (ja) * 2020-04-01 2022-08-03 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド ゲームアプリケーションにおけるフレーム表示方法、装置、端末およびコンピュータプログラム
US11446571B2 (en) 2020-04-30 2022-09-20 Intel Corporation Cloud gaming adaptive synchronization mechanism
JP2024074918A (ja) * 2020-03-16 2024-05-31 テンセント・アメリカ・エルエルシー クラウドゲーム用の方法および装置

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108810554B (zh) 2018-06-15 2021-06-22 腾讯科技(深圳)有限公司 虚拟场景的场景图像传输方法、计算机设备及存储介质
US12039655B2 (en) * 2020-02-28 2024-07-16 Nippon Telegraph And Telephone Corporation Resource estimation apparatus, resource estimation method and program
CN111314764B (zh) * 2020-03-04 2022-05-20 南方电网科学研究院有限责任公司 跨屏动画在分布式渲染环境中的同步方法
CN111475240B (zh) * 2020-03-25 2024-06-04 西安万像电子科技有限公司 数据处理方法及系统
CN113491877B (zh) * 2020-04-01 2023-12-08 华为技术有限公司 触发信号生成方法及装置
CN111583350B (zh) * 2020-05-29 2024-09-17 联想(北京)有限公司 图像处理方法、装置、系统及服务器
CN113559497B (zh) * 2021-09-24 2021-12-21 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备以及可读存储介质
CN113988569B (zh) * 2021-10-22 2024-11-26 杭州海康威视数字技术股份有限公司 坐席管理系统、图像显示方法、图像显示装置及输出设备
CN114253649B (zh) * 2021-12-24 2024-04-09 武汉噢易云计算股份有限公司 图像渲染方法、装置、设备及可读存储介质
CN115914198A (zh) * 2022-03-08 2023-04-04 杨立群 用于远程操控的图像动态传输方法及装置
CN115278309A (zh) * 2022-09-27 2022-11-01 海马云(天津)信息技术有限公司 云应用渲染视频帧处理方法与装置
CN115845363A (zh) * 2022-11-14 2023-03-28 网易(杭州)网络有限公司 渲染方法、装置和电子设备
KR20240082771A (ko) * 2022-12-02 2024-06-11 삼성전자주식회사 디스플레이 장치, 서버 장치 및 그 제어 방법
CN120166288B (zh) * 2025-03-17 2026-03-24 深圳精位智能科技有限公司 一种图像处理方法及相关设备
CN120563702B (zh) * 2025-07-29 2025-10-28 杭州秋果计划科技有限公司 渲染方法、电子设备及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102143360A (zh) * 2010-06-30 2011-08-03 华为技术有限公司 一种图像编码的方法及设备
CN103716596A (zh) * 2012-10-05 2014-04-09 索尼公司 图像处理装置和图像处理方法
CN107370714A (zh) * 2016-05-13 2017-11-21 吉林纪元时空动漫游戏科技集团股份有限公司 面向云渲染的高效通讯方法
US20180063602A1 (en) * 2014-05-22 2018-03-01 Idomoo Ltd. System and method to generate a video on-the-fly
CN107979763A (zh) * 2016-10-21 2018-05-01 阿里巴巴集团控股有限公司 一种虚拟现实设备生成视频、播放方法、装置及系统
CN108810554A (zh) * 2018-06-15 2018-11-13 腾讯科技(深圳)有限公司 虚拟场景的场景图像传输方法、计算机设备及存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001268575A (ja) * 2000-03-14 2001-09-28 Pioneer Electronic Corp 画像変化検出装置及び画像変化検出方法、画像符号化装置並びに画像変化検出用プログラムがコンピュータで読取可能に記録された情報記録媒体
JP4596693B2 (ja) * 2000-07-06 2010-12-08 パナソニック株式会社 ストリーミング方法およびそれを実行するシステム
JP3935419B2 (ja) * 2002-11-19 2007-06-20 Kddi株式会社 動画像符号化ビットレート選択方式
US7743183B2 (en) * 2005-05-23 2010-06-22 Microsoft Corporation Flow control for media streaming
JP5538843B2 (ja) * 2009-12-03 2014-07-02 三菱電機株式会社 コンテンツ再生装置及び方法
JP5418350B2 (ja) * 2010-03-24 2014-02-19 富士通モバイルコミュニケーションズ株式会社 情報処理装置
JP5625543B2 (ja) * 2010-06-28 2014-11-19 ソニー株式会社 符号化装置、電子機器、撮像装置、および撮像システム
CN103077015B (zh) * 2012-12-25 2015-08-05 福州博远无线网络科技有限公司 一种动态控制游戏帧率的方法
WO2014111160A1 (en) * 2013-01-18 2014-07-24 Divert Technologies Gmbh Device and method for rendering of moving images and set of time coded data containers
US20140327698A1 (en) * 2013-05-06 2014-11-06 Nvidia Corporation System and method for hybrid graphics and text rendering and client computer and graphics processing unit incorporating the same
US10158868B2 (en) * 2013-10-15 2018-12-18 Nvidia Corporation Systems and methods to limit lag between a client and a server for remote computing
US10255021B2 (en) * 2015-05-28 2019-04-09 Qualcomm Incorporated Low latency screen mirroring
CN105094920B (zh) * 2015-08-14 2018-07-03 网易(杭州)网络有限公司 一种游戏渲染方法和装置
CN105118077B (zh) * 2015-09-02 2018-02-09 广东建设职业技术学院 一种提高文件拍摄流畅性的方法及系统
US10229540B2 (en) * 2015-12-22 2019-03-12 Google Llc Adjusting video rendering rate of virtual reality content and processing of a stereoscopic image
US9940898B2 (en) * 2016-02-25 2018-04-10 Nvidia Corporation Variable refresh rate video capture and playback

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102143360A (zh) * 2010-06-30 2011-08-03 华为技术有限公司 一种图像编码的方法及设备
CN103716596A (zh) * 2012-10-05 2014-04-09 索尼公司 图像处理装置和图像处理方法
US20180063602A1 (en) * 2014-05-22 2018-03-01 Idomoo Ltd. System and method to generate a video on-the-fly
CN107370714A (zh) * 2016-05-13 2017-11-21 吉林纪元时空动漫游戏科技集团股份有限公司 面向云渲染的高效通讯方法
CN107979763A (zh) * 2016-10-21 2018-05-01 阿里巴巴集团控股有限公司 一种虚拟现实设备生成视频、播放方法、装置及系统
CN108810554A (zh) * 2018-06-15 2018-11-13 腾讯科技(深圳)有限公司 虚拟场景的场景图像传输方法、计算机设备及存储介质

Non-Patent Citations (1)

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

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2024074918A (ja) * 2020-03-16 2024-05-31 テンセント・アメリカ・エルエルシー クラウドゲーム用の方法および装置
JP7652966B2 (ja) 2020-03-16 2025-03-27 テンセント・アメリカ・エルエルシー クラウドゲーム用の方法および装置
US12029976B2 (en) 2020-04-01 2024-07-09 Tencent Technology (Shenzhen) Company Limited Frame display method and apparatus in game application, terminal, and storage medium
JP2022534670A (ja) * 2020-04-01 2022-08-03 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド ゲームアプリケーションにおけるフレーム表示方法、装置、端末およびコンピュータプログラム
JP7301161B2 (ja) 2020-04-01 2023-06-30 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド ゲームアプリケーションにおけるフレーム表示方法、装置、端末およびコンピュータプログラム
CN113542795A (zh) * 2020-04-21 2021-10-22 腾讯科技(深圳)有限公司 视频处理方法、装置、电子设备及计算机可读存储介质
CN113542795B (zh) * 2020-04-21 2023-04-18 腾讯科技(深圳)有限公司 视频处理方法、装置、电子设备及计算机可读存储介质
EP3903896A1 (en) * 2020-04-30 2021-11-03 INTEL Corporation Cloud gaming adaptive synchronization mechanism
US11446571B2 (en) 2020-04-30 2022-09-20 Intel Corporation Cloud gaming adaptive synchronization mechanism
CN111831284B (zh) * 2020-07-29 2023-08-08 网易(杭州)网络有限公司 渲染调试方法、装置及设备
CN111831284A (zh) * 2020-07-29 2020-10-27 网易(杭州)网络有限公司 渲染调试方法、装置及设备
CN113973224B (zh) * 2021-09-18 2024-05-28 阿里巴巴(中国)有限公司 媒体信息的传输方法、计算设备及存储介质
CN113973224A (zh) * 2021-09-18 2022-01-25 阿里巴巴(中国)有限公司 媒体信息的传输方法、计算设备及存储介质
CN114579076A (zh) * 2022-01-30 2022-06-03 荣耀终端有限公司 数据处理方法和相关装置

Also Published As

Publication number Publication date
US11831566B2 (en) 2023-11-28
EP3809706B1 (en) 2022-12-07
EP3809706A4 (en) 2021-05-05
JP2021513440A (ja) 2021-05-27
US20200374242A1 (en) 2020-11-26
CN108810554A (zh) 2018-11-13
JP7072677B2 (ja) 2022-05-20
EP3809706A1 (en) 2021-04-21
CN108810554B (zh) 2021-06-22

Similar Documents

Publication Publication Date Title
WO2019237821A1 (zh) 虚拟场景的场景图像传输方法、装置、计算机设备及计算机可读存储介质
US20240108980A1 (en) Method, apparatuses and systems directed to adapting user input in cloud gaming
CN106713485B (zh) 云计算移动终端
CN108012156B (zh) 一种视频处理方法及控制平台
CN114679607B (zh) 一种视频帧率控制方法、装置、电子设备及存储介质
CN106843537B (zh) 鼠标同步的方法、装置和系统
US10044576B2 (en) Estimation of power consumption of individual websites
KR20230028250A (ko) 강화 학습 기반 속도 제어
CN112650755B (zh) 数据存储方法、查询数据的方法、数据库、以及可读介质
CN113906764A (zh) 可中断视频转码
CN111208960A (zh) 基于抽帧控制和时间同步算法的远程显示降延迟方法
CN112530205A (zh) 机场停机坪飞机状态检测方法及装置
CN120342966A (zh) 基于长短期记忆网络的显式拥塞通知动态优化方法、装置、设备及存储介质
CN109991967A (zh) 一种机器人运动的控制方法、系统及终端设备
CN119781924B (zh) 任务调度方法、装置、电子设备及计算机可读存储介质
CN116939212A (zh) 视频处理方法、装置、计算机可读存储介质及计算机设备
CN113810773A (zh) 视频下载方法及装置、电子设备和存储介质
US9560105B2 (en) Server device and information processing method
US20170093674A1 (en) Real-Time End-To-End Latency Monitoring
CN115941968B (zh) 解码处理方法、装置、计算机设备及存储介质
WO2015151547A1 (ja) 情報処理装置および記録媒体
CN115344840A (zh) 图像识别方法、装置和系统
CN120283395A (zh) 用于3d应用程序的交互式视频流
CN115002452A (zh) 一种视频处理方法、视频处理装置、电子设备及存储介质
CN120730106A (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: 19819038

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020565018

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2019819038

Country of ref document: EP