Methods, systems, media, electronic devices, and program products for cloud rendering

CN122924911APending Publication Date: 2026-10-16VASTAI TECH (SHANGHAI) INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611424430.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-09-15
Publication Date
2026-10-16

AI Technical Summary

Technical Problem

[0003]然而,不同终端所连接的显示设备在分辨率、位深、颜色格式、色彩空间、伽马特性及动态范围等方面存在差异,终端解码器对位深及动态范围元数据的解析能力也可能不同

Benefits of technology

[0004] Some embodiments of this disclosure provide solutions for cloud rendering with the aim of at least partially addressing one or more of the problems described above and other potential problems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122924911A_ABST
    Figure CN122924911A_ABST
Patent Text Reader

Abstract

Methods, systems, media, electronic devices, and program products for cloud rendering are provided. The method includes: receiving terminal attribute information of a first terminal device, the terminal attribute information including display attribute information of a first display device and decoding capability information of the first terminal device; configuring a virtual display device of a cloud based on the display attribute information; rendering first content based on at least one display attribute of the virtual display device to obtain a first rendered picture; determining first encoding parameters based on at least one display attribute of the virtual display device and the decoding capability information, and encoding the first rendered picture according to the first encoding parameters to obtain a first code stream; and sending the first code stream to the first terminal device, so that the first terminal device decodes the first code stream to obtain a target decoded picture, and displays the target decoded picture through the first display device. In this way, the picture rendering quality can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The exemplary embodiments disclosed herein relate generally to the field of computers, and in particular to methods, systems, media, electronic devices, and program products for cloud rendering. Background Technology

[0002] With the development of cloud applications such as cloud desktops, cloud phones, and cloud gaming, terminal devices receive images generated in the cloud via the network. Existing solutions typically involve a cloud graphics processor rendering the content according to preset display parameters, then encoding the rendered image into a bitstream according to preset encoding formats and parameters, and sending it to the terminal for decoding and display.

[0003] However, different terminals connect to display devices that differ in resolution, bit depth, color format, color space, gamma characteristics, and dynamic range. The terminal decoder's ability to parse bit depth and dynamic range metadata may also vary. When using fixed display and encoding parameters, the cloud rendering results and bitstream may not match the target terminal, easily causing color distortion, decreased brightness or grayscale performance, incorrect dynamic range characteristics, and decoding compatibility issues. Therefore, improving the consistency between the terminal display and the local display effect is a pressing technical problem that needs to be solved. Summary of the Invention

[0004] Some embodiments of this disclosure provide solutions for cloud rendering with the aim of at least partially addressing one or more of the problems described above and other potential problems.

[0005] In a first aspect of this disclosure, a method for cloud rendering is provided. The method includes: receiving terminal attribute information of a first terminal device, the terminal attribute information including display attribute information of a first display device and decoding capability information of the first terminal device, the first display device being used to display a screen decoded by the first terminal device; configuring a virtual display device in the cloud based on the display attribute information, such that the virtual display device has at least one display attribute indicated by the display attribute information; rendering first content based on the at least one display attribute of the virtual display device to obtain a first rendered screen; determining first encoding parameters based on the at least one display attribute of the virtual display device and the decoding capability information, and encoding the first rendered screen according to the first encoding parameters to obtain a first bitstream; and sending the first bitstream to the first terminal device, so that the first terminal device decodes the first bitstream to obtain a target decoded screen, and displays the target decoded screen through the first display device.

[0006] In a second aspect of this disclosure, a cloud rendering system is provided. The cloud rendering system includes: an attribute receiving unit configured to receive terminal attribute information of a first terminal device, the terminal attribute information including display attribute information of a first display device and decoding capability information of the first terminal device, the first display device being used to display a screen decoded by the first terminal device; a display configuration unit configured to configure a virtual display device in the cloud based on the display attribute information, such that the virtual display device has at least one display attribute indicated by the display attribute information; a rendering unit configured to render first content based on at least one display attribute of the virtual display device to obtain a first rendered screen; an encoding unit configured to determine first encoding parameters based on at least one display attribute of the virtual display device and the decoding capability information, and to encode the first rendered screen according to the first encoding parameters to obtain a first bitstream; and a sending unit configured to send the first bitstream to the first terminal device, so that the first terminal device decodes the first bitstream to obtain a target decoded screen, and displays the target decoded screen through the first display device.

[0007] In a third aspect of this disclosure, an electronic device is provided. The device includes at least one processor; and at least one memory coupled to the at least one processor and storing instructions for execution by the at least one processor. When executed by the at least one processor, the instructions cause the device to perform the method of the first aspect.

[0008] In a fourth aspect of this disclosure, a computer-readable storage medium is provided. A computer program is stored on the computer-readable storage medium, and the computer program can be executed by a processor to implement the method of the first aspect described above.

[0009] In a fifth aspect of this disclosure, a computer program product is provided, which is tangibly stored in a computer storage medium and includes computer-executable instructions that, when executed by a device, cause the device to perform the method of the first aspect.

[0010] The embodiments of this disclosure can configure a cloud-based virtual display device according to the display attribute information of a first display device, and render the first content based on the display attributes of the virtual display device, so that the cloud rendering process is adapted to the display capabilities of the first display device; simultaneously, encoding parameters are determined based on the display attribute information and the decoding capability information of the first terminal device, the first rendered image is encoded, and sent to the first terminal device. Therefore, it can reduce the loss of image information and display deviation caused by mismatch between cloud rendering parameters, encoding parameters, and terminal display and decoding capabilities, and improve the consistency between the decoded image on the terminal and the display capabilities of the first display device.

[0011] It should be understood that the content described in this content section is not intended to limit the key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0012] The above and other features, advantages, and aspects of the various embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. In the drawings, the same or similar reference numerals denote the same or similar elements, wherein: Figure 1 A schematic diagram of a rendered architecture capable of implementing multiple embodiments of the present disclosure is shown; Figure 2 A flowchart illustrating an example process for cloud rendering according to some embodiments of the present disclosure is shown; Figure 3 A schematic structural block diagram of an example scenario according to some embodiments of the present disclosure is shown; Figure 4 A schematic block diagram of a cloud rendering system according to some embodiments of the present disclosure is shown; Figure 5 A schematic block diagram of an electronic device capable of implementing one or more embodiments of the present disclosure is shown. Detailed Implementation

[0013] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.

[0014] It should be noted that the headings of any section / subsection provided in this disclosure are not limiting. This disclosure describes various embodiments throughout, and any type of embodiment may be included under any section / subsection. Furthermore, embodiments described in any section / subsection may be combined in any way with any other embodiments described in the same section / subsection and / or different sections / subsections.

[0015] In the description of embodiments of this disclosure, the term "comprising" and similar terms should be understood as open-ended inclusion, i.e., "including but not limited to". The term "based on" should be understood as "at least partially based on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The term "some embodiments" should be understood as "at least some embodiments". Other explicit and implicit definitions may also be included below. The terms "first", "second", etc., may refer to different or the same objects. Other explicit and implicit definitions may also be included below.

[0016] The embodiments of this disclosure may involve user data, data acquisition, and / or use. All of these aspects comply with relevant laws, regulations, and related provisions. In the embodiments of this disclosure, all data collection, acquisition, processing, manipulation, forwarding, and use are conducted with the user's knowledge and confirmation. Accordingly, in implementing each embodiment of this disclosure, the type, scope of use, and usage scenarios of the data or information that may be involved should be communicated to the user and their authorization obtained through appropriate means in accordance with relevant laws and regulations. The specific methods of notification and / or authorization may vary depending on the actual situation and application scenario, and the scope of this disclosure is not limited in this respect.

[0017] In this manual and its implementation methods, any schemes involving the processing of personal information will be carried out under the premise of legality (such as obtaining the consent of the personal information subject, or being necessary for the performance of a contract), and will only be processed within the scope stipulated or agreed upon. A user's refusal to process personal information beyond that required for basic functions will not affect the user's use of basic functions.

[0018] To facilitate understanding of the embodiments described in this disclosure, some of the terminology used in this disclosure will be explained below. It should be understood that the following description is exemplary and is not intended to limit the scope of this disclosure.

[0019] As used in this disclosure, the term "terminal device" refers to an electronic device used to receive, decode, and display a stream of data sent from the cloud, such as a personal computer, laptop computer, mobile phone, tablet computer, cloud desktop client device, cloud mobile client device, cloud gaming client device, or other electronic device with display and decoding capabilities.

[0020] As used in this disclosure, the term "display device" refers to a device used to display images decoded by a terminal device. This device can be a display screen built into the terminal device, or an external monitor, television device, or other display device connected to the terminal device. The same terminal device can correspond to one or more available display devices.

[0021] As used in this disclosure, the term "first display device" refers to a display device that is bound to a rendering session and used to display the decoded screen corresponding to that rendering session.

[0022] As used in this disclosure, the term "terminal attribute information" refers to information used to describe the attributes of a terminal device and its display device. Terminal attribute information may include display attribute information and decoding capability information, and may also include other information used to identify the terminal device, display device, or rendering session.

[0023] As used in this disclosure, the term "display attribute information" refers to information used to describe the display mode, color performance capability, and dynamic range capability of a display device, and may include, for example, at least one of resolution information, bit depth information, color format information, color space information, gamma curve information, white balance information, and dynamic range mode information.

[0024] As used in this disclosure, the term "display mode information" refers to information used to describe the display mode of a display device, which may include, for example, output resolution, refresh rate, display orientation, display ratio, and other information used to determine the output mode of the display device.

[0025] As used in this disclosure, the term "resolution information" refers to information used to indicate the image resolution that a display device can support or currently uses, such as the number of pixels in the horizontal direction and the number of pixels in the vertical direction.

[0026] As used in this disclosure, the term "color information" refers to information used to describe the color processing or color display capabilities of a display device, and may include, for example, at least one of bit depth information, color format information, color space information, gamma curve information, white balance information, and dynamic range mode information.

[0027] As used in this disclosure, the term "bit depth information" refers to information used to indicate the number of bits used by a display device to quantize pixel data or color components.

[0028] As used in this disclosure, the term "color format information" refers to information used to describe how color components are organized in image data.

[0029] As used in this disclosure, the term "color space information" refers to information used to describe the range of color component values ​​and the color representation reference in image data.

[0030] As used in this disclosure, the term "gamma curve information" refers to information describing the mapping relationship between image signal values ​​and display brightness. Gamma curve information can be used to adjust the brightness and color of rendered or encoded images.

[0031] As used in this disclosure, the term "dynamic range mode" refers to information describing the brightness dynamic range mode employed by a display device or image processing link, which may include, for example, Standard Dynamic Range (SDR) mode and High Dynamic Range (HDR) mode.

[0032] As used in this disclosure, the term "decoding capability information" refers to information describing the processing capabilities of a terminal device when decoding a bitstream sent from the cloud. For example, it may include at least one of the following: decoding bit depth capability, ability to parse dynamic range information metadata, ability to process specific color formats, and ability to support specific dynamic range modes.

[0033] As used in this disclosure, the term "decoding bit depth capability" refers to the pixel data bit depth or color component bit depth that the decoder of the terminal device can process.

[0034] As used in this disclosure, the term "dynamic range information metadata" refers to additional data used to describe the dynamic range, brightness mapping, or related display parameters of an image or video content. The terminal device can perform corresponding display processing on the decoded image based on its ability to parse the dynamic range information metadata.

[0035] As used in this disclosure, the term "terminal sampling tool" refers to a software tool or software function module deployed in a terminal device for obtaining terminal attribute information. The terminal sampling tool can obtain display attribute information by reading the extended display identifier data of the display device; it can also obtain decoding capability information by querying the decoder attributes of the terminal device.

[0036] As used in this disclosure, the term "extended display identification data" refers to data provided by a display device to describe the display device's identity information and display capability information, which may include, for example, display device identification, supported display modes, resolution, bit depth, color space, dynamic range capability, and other display capability data.

[0037] As used in this disclosure, the term "cloud" refers to a remote computing environment used to perform content rendering, image encoding, and bitstream transmission, which may include cloud servers, cloud virtual machines, cloud computing platforms, or a pool of computing resources consisting of multiple computing devices.

[0038] As used in this disclosure, the term "virtual display device" refers to a virtual device created in the cloud via software, drivers, or virtualization technology for providing display mode and color capabilities to a cloud operating system. A virtual display device can be configured according to the display attributes of a terminal display device, enabling the virtual display device to possess at least one display attribute that matches the first display device.

[0039] As used in this disclosure, the term "virtual device configuration data" refers to data used to create or configure a virtual display device. Virtual device configuration data may include virtual device identification data, display mode data, color capability data, dynamic range capability data, and other data used to describe the attributes of the virtual display device.

[0040] As used in this disclosure, the term "virtual device identification data" refers to data used to identify a virtual display device in the cloud. Virtual device identification data may be generated based on extended display identification data read from a first display device and may include display mode data and color capability data of the first display device.

[0041] As used in this disclosure, the term "virtual display driver" refers to a software driver or driver module that runs in the cloud and is used to load virtual device configuration data and create or configure virtual display devices. The virtual display driver can also provide the cloud operating system with the display mode capabilities and color capabilities supported by the virtual display device.

[0042] As used in this disclosure, the term "cloud operating system" refers to an operating system running on a cloud computing device or a cloud virtual machine, which can configure the output parameters of the graphics processor and perform corresponding display processing according to the display capabilities provided by the virtual display device.

[0043] As used in this disclosure, the term "first content" refers to content rendered in the cloud, which may include, for example, cloud desktop content, cloud phone content, cloud gaming content, application interface content, video content, or other renderable content.

[0044] As used in this disclosure, the term "rendered screen" refers to an image generated in the cloud based on the content to be rendered and the display attributes of the virtual display device.

[0045] As used in this disclosure, the term "encoding parameters" refers to parameters used to control the encoder to convert the rendered image into a bitstream, such as encoding bit depth parameters, color space parameters, gamma curve parameters, dynamic range parameters, metadata parameters, bit rate parameters, frame rate parameters, and other encoding control parameters.

[0046] As used in this disclosure, the term "hardware encoder" refers to an encoder that performs image encoding using dedicated hardware circuitry, a graphics processor, or other hardware acceleration resources. A hardware encoder can encode rendered images in real-time or near real-time based on defined encoding parameters.

[0047] As used in this disclosure, the term "bitstream" refers to a data stream formed by encoding rendered images in the cloud and then sending it to a terminal device for decoding. A bitstream may include encoded image data and metadata related to dynamic range, color, or display processing.

[0048] As used in this disclosure, the term "rendering session" refers to a session established for a terminal device to associate terminal attribute information, virtual display devices, encoders, and bitstream transmission connections. A rendering session can correspond to a single run of a cloud desktop, cloud phone, cloud gaming, or other cloud-based rendering service.

[0049] As used in this disclosure, the term "one-to-one" means that one rendering session corresponds to one target terminal device or one bitstream transmission connection. The number of terminal devices establishing bitstream transmission connections with a rendering session at any given time may be less than a preset number.

[0050] As used in this disclosure, the term "configuration" refers to setting, loading, updating, or establishing a device, driver, processor, encoder, or related data to enable it to perform a target function or adopt target parameters.

[0051] As mentioned above, with the development of cloud applications such as cloud desktops, cloud phones, and cloud gaming, terminal devices receive images generated by the cloud via the network. Existing solutions typically involve a cloud graphics processor rendering the content according to preset display parameters, then encoding the rendered image into a bitstream according to preset encoding formats and parameters, and sending it to the terminal for decoding and display.

[0052] However, different terminals connect to display devices that differ in resolution, bit depth, color format, color space, gamma characteristics, and dynamic range. The terminal decoder's ability to parse bit depth and dynamic range metadata may also vary. When using fixed display and encoding parameters, the cloud rendering results and bitstream may not match the target terminal, easily causing color distortion, decreased brightness or grayscale performance, incorrect dynamic range characteristics, and decoding compatibility issues. Therefore, improving the consistency between the terminal display and the local display effect is a pressing technical problem that needs to be solved.

[0053] This disclosure proposes a scheme for cloud rendering. The scheme includes: receiving terminal attribute information of a first terminal device, the terminal attribute information including display attribute information of a first display device and decoding capability information of the first terminal device, the first display device being used to display a screen decoded by the first terminal device; configuring a virtual display device in the cloud based on the display attribute information, such that the virtual display device has at least one display attribute indicated by the display attribute information; rendering first content based on the at least one display attribute of the virtual display device to obtain a first rendered screen; determining first encoding parameters based on the at least one display attribute of the virtual display device and the decoding capability information, and encoding the first rendered screen according to the first encoding parameters to obtain a first bitstream; and sending the first bitstream to the first terminal device, so that the first terminal device decodes the first bitstream to obtain a target decoded screen, and displays the target decoded screen through the first display device.

[0054] Based on this approach, the embodiments of this disclosure can configure a cloud-based virtual display device according to the display attribute information of the first display device, and render the first content based on the display attributes of the virtual display device, thus adapting the cloud rendering process to the display capabilities of the first display device. Simultaneously, encoding parameters are determined based on the display attribute information and the decoding capability information of the first terminal device, the first rendered image is encoded, and sent to the first terminal device. Therefore, it can reduce image information loss and display deviation caused by mismatches between cloud rendering parameters, encoding parameters, and terminal display and decoding capabilities, and improve the consistency between the decoded image on the terminal and the display capabilities of the first display device. Various example implementations of this solution will be further described in detail below with reference to the accompanying drawings.

[0055] The various embodiments of this disclosure will now be described in detail with reference to the accompanying drawings.

[0056] Figure 1 A schematic diagram of a rendered architecture 100 capable of implementing multiple embodiments of the present disclosure is shown. (See attached diagram.) Figure 1 As shown, architecture 100 may include terminal device 110, application 120, cloud server 130, user 140, and screen 150 presented to user 140. Application 120 may run on terminal device 110, and it may establish a communication connection with cloud server 130 via a communication network. Cloud server 130 may provide cloud rendering services to terminal device 110, enabling terminal device 110 to present screen 150 to user 140.

[0057] As an example, terminal device 110 may be a personal computer, laptop, mobile terminal, tablet computer, or other terminal device capable of running applications and decoding bitstreams. Terminal device 110 may include a display device, or may be connected to at least one external display device. The display device may be used to display the screen 150 obtained by terminal device 110 decoding the bitstream sent by cloud server 130. When terminal device 110 has multiple available display devices, a first display device for displaying screen 150 may be determined from the multiple available display devices according to the selection of user 140 or the configuration of application 120.

[0058] In some cases, terminal device 110 communicates with cloud server 130 to provide services to application 120. Terminal device 110 can be any type of mobile terminal, fixed terminal, or portable terminal, including mobile phones, desktop computers, laptop computers, notebook computers, netbook computers, tablet computers, media computers, multimedia tablets, handheld computers, portable gaming terminals, virtual reality (VR) / augmented reality (AR) devices, personal communication system (PCS) devices, personal navigation devices, personal digital assistants (PDAs), audio / video players, digital cameras / camcorders, positioning devices, television receivers, radio receivers, e-book devices, gaming devices, or any combination of the foregoing, including accessories and peripherals of these devices or any combination thereof. In some cases, terminal device 110 may also support any type of user-facing interface (such as "wearable" circuitry).

[0059] The cloud server 130 can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks, and big data and artificial intelligence platforms. The cloud server 130 may include, for example, computing systems / servers such as mainframes, edge computing nodes, and computing devices in a cloud environment. The cloud server 130 can provide background services for the application 120 that supports screen viewing on the terminal device 110.

[0060] A communication connection can be established between the cloud server 130 and the terminal device 110. This communication connection can be established via wired or wireless means. The communication connection can include, but is not limited to, Bluetooth, mobile network, Universal Serial Bus (USB), and Wireless Fidelity (WiFi) connections. In some cases, the cloud server 130 and the terminal device 110 can exchange signaling signals through their communication connection.

[0061] It should be understood that the structure and function of the various elements in architecture 100 are described for illustrative purposes only and do not imply any limitation on the scope of the scheme.

[0062] The following description will continue with reference to the accompanying drawings, which will provide some exemplary embodiments of this disclosure.

[0063] Figure 2 A flowchart of an example process 200 for cloud rendering according to some embodiments of the present disclosure is shown. Process 200 can be applied to cloud desktops, cloud phones, cloud games, or other scenarios where images are rendered in the cloud and transmitted to terminal devices. Process 200 can be executed by a server or a cloud virtual device configured on a server. For ease of discussion, the following is combined with... Figure 1 Process 200 is described below. For example, the first terminal device mentioned below could be... Figure 1 The terminal device 110 shown can be used to display the image obtained by the first terminal device decoding the cloud stream. The server can be, for example, a... Figure 1 The cloud server 130 shown.

[0064] In box 210, the server receives terminal attribute information from the first terminal device. The terminal attribute information includes display attribute information of the first display device and decoding capability information of the first terminal device.

[0065] The first display device can be a display device integrated with the first terminal device, or it can be an external display device connected to the first terminal device. For example, if the first terminal device is a laptop, tablet, or mobile phone, the first display device can be the display screen included in the first terminal device; if the first terminal device is a desktop computer, cloud desktop terminal, or other computing device, the first display device can be a monitor connected to the first terminal device via a corresponding display interface.

[0066] Display attribute information is used to indicate the display modes and / or color capabilities supported by the first display device. For example, display attribute information may include display mode information and color information. Display mode information may include the resolution information of the first display device. Color information may include bit depth information, color format information, color space information, gamma curve information, and at least one of the dynamic range modes supported by the first display device. Dynamic range modes may include, for example, a standard dynamic range (SDR) mode or a high dynamic range (HDR) mode.

[0067] The decoding capability information of the first terminal device is used to indicate the first terminal device's ability to decode and parse the bitstream. For example, the decoding capability information may include first decoding capability information and second decoding capability information. The first decoding capability information may indicate the first terminal device's decoding bit depth capability, such as whether the first terminal device supports decoding a 10-bit bitstream. The second decoding capability information may indicate the first terminal device's ability to parse dynamic range information metadata, such as whether the first terminal device can parse the high dynamic range information metadata carried in the bitstream.

[0068] It should be understood that the display capability of the first display device and the decoding capability of the first terminal device are two related but different attributes. The first display device may support specific bit depths, color spaces, or dynamic range modes, while the decoder configured on the first terminal device may not be able to decode or parse the bitstream corresponding to that display capability. Therefore, by obtaining display attribute information and decoding capability information separately, the display requirements of the image and the actual decoding capability of the terminal can be considered simultaneously in subsequent processing, avoiding the generation of bitstreams that the first terminal device cannot correctly decode or parse based solely on the display capability of the display device.

[0069] In some implementations, terminal attribute information can be obtained by a terminal sampling tool installed in the first terminal device. The terminal sampling tool can obtain the display attribute information of the first display device by reading the extended display identifier data. The extended display identifier data can record display mode data and color capability data supported by the first display device, from which the terminal sampling tool can obtain at least one of resolution, bit depth, color format, color space, gamma curve, and dynamic range mode. Therefore, the cloud can obtain display attribute information corresponding to the actual first display device, providing reliable data for subsequently configuring virtual display devices according to these display attributes.

[0070] The terminal sampling tool can also query the decoder attributes of the first terminal device to obtain its decoding capability information. After obtaining the display attribute information and decoding capability information, the terminal sampling tool can send these information to the server through the cloud rendering tool on the first terminal device. Thus, the cloud can simultaneously obtain both the display capability of the first display device and the actual decoding capability of the terminal, providing a basis for subsequently determining compatible encoding parameters.

[0071] When a first terminal device has multiple available display devices, a first display device for displaying the cloud stream can be determined from among these available display devices. For example, the display device bound to this rendering session can be determined as the first display device, and the terminal sampling tool can collect the display attribute information of this first display device. Thus, the display attribute information sent to the server corresponds to the display device actually used to display the rendered image, rather than other display devices connected to the first terminal device.

[0072] In box 220, the server configures a virtual display device in the cloud based on display attribute information, so that the virtual display device has at least one display attribute indicated by the display attribute information.

[0073] A virtual display device can be a display device set up in a cloud-based virtual device. Although a physical display screen may not exist in a cloud-based virtual device, the virtual display device can provide the cloud operating system with the display mode capabilities and color capabilities that a display device has, enabling the cloud operating system to recognize the virtual display device as a display device used for outputting images.

[0074] In some implementations, the server can set the display mode attributes of the virtual display device based on display mode information. For example, the server can set the output resolution of the virtual display device to a value indicated by the resolution information of the first display device. Thus, the virtual display device can receive the cloud-rendered image at a resolution matching that of the first display device.

[0075] Alternatively or additionally, the server can set the color attributes of the virtual display device based on color information. For example, the server can set at least one of the corresponding parameters of the virtual display device's output bit depth, output color format, output color space, and gamma curve based on at least one of the bit depth information, color format information, color space information, and gamma curve information of the first display device.

[0076] If the first display device supports the first dynamic range mode, the server can also configure the virtual display device to support the first dynamic range mode. For example, when the first display device supports the high dynamic range (HDR) mode, the virtual display device can provide the corresponding high dynamic range (HDR) display capability to the cloud operating system, enabling the cloud operating system and cloud graphics processor to enable the image processing functions corresponding to that dynamic range mode.

[0077] In some implementations, the server can generate virtual device configuration data based on display attribute information and load the virtual device configuration data using a cloud-based virtual display driver to create or configure a virtual display device. The virtual device configuration data may include virtual device identification data. This virtual device identification data can be generated based on extended display identification data read from the first display device and may include the first display device's display mode data and color capability data. This allows the virtual display device to present a display mode and color capability corresponding to the first display device to the cloud operating system, providing a basis for establishing a matching cloud display environment.

[0078] In response to the virtual display device being permitted for screen output, the virtual display driver can provide the cloud operating system with display mode capabilities and color capabilities indicated by display attribute information through the virtual display device. From the perspective of the cloud operating system, the virtual display device can appear as a display device possessing at least some of the display attributes of a first display device. The cloud operating system can thus determine the display modes and color modes available for use by applications and the graphics processor based on the display capabilities presented by the virtual display device.

[0079] The configuration of the virtual display device based on the display attribute information of the first display device, as described in this disclosure, can mean that the virtual display device possesses one or more display attributes of the first display device, without requiring the virtual display device to be identical to the first display device in all physical structures or all device attributes. For example, the virtual display device can match the first display device at least in terms of output resolution, output bit depth, output color format, output color space, gamma curve parameters, or dynamic range mode. Thus, a display environment connecting the first display device and the cloud-based virtual device can be simulated in a cloud operating system.

[0080] In box 230, the server renders the first content based on at least one display attribute of the virtual display device to obtain the first rendered screen.

[0081] The first content can be content generated by cloud applications, cloud desktops, cloud phones, or cloud games to be displayed. The server can configure the rendering output resolution, rendering output color space, and rendering dynamic range mode of the cloud graphics processor according to the current display mode and current color attributes of the virtual display device, and then use the configured cloud graphics processor to render the first content.

[0082] For example, when the virtual display device is configured to have the output resolution and color space supported by the first display device, the cloud operating system can establish a corresponding screen output environment according to the output resolution and color space, and the cloud graphics processor can render the first content in this screen output environment. When the virtual display device is also configured to support the high dynamic range (HDR) mode supported by the first display device, the cloud operating system and the cloud graphics processor can render the first content according to the high dynamic range (HDR) mode.

[0083] The first rendered image, obtained by the cloud-based graphics processor, can be output to a virtual display device. Since at least one display attribute of the virtual display device is configured based on the display attribute information of the first display device, the resolution, color space, or dynamic range mode of the first rendered image can be matched with the corresponding attributes supported by the first display device. Therefore, the cloud-based rendering process can be tailored to the display characteristics of the first display device, rather than to pre-fixed general display parameters.

[0084] In box 240, the server determines the first encoding parameters based on at least one display attribute of the virtual display device and the decoding capability information of the first terminal device, and encodes the first rendered screen according to the first encoding parameters to obtain the first bitstream.

[0085] The first encoding parameters may include at least one of the following: encoding bit depth parameter, dynamic range parameter, metadata parameter, first gamma curve parameter, and first encoding color space parameter. The server can determine the encoding bit depth parameter based on the first decoding capability information, and determine the dynamic range parameter and metadata parameter based on the second decoding capability information.

[0086] For example, if the first terminal device supports a decoding bit depth corresponding to the display bit depth of the first display device, the server can encode the first rendered image using encoding bit depth parameters that match the display bit depth. If the first display device supports High Dynamic Range (HDR) mode and the first terminal device is able to parse the corresponding HDR information metadata, the server can determine the dynamic range parameters and metadata parameters used to maintain the image characteristics of HDR.

[0087] The first encoding parameters are not determined solely by the display attributes of the first display device, but are also constrained by the decoding capabilities of the first terminal device. Therefore, the encoded first bitstream can both retain the screen characteristics compatible with the first display device and be correctly decoded and parsed by the first terminal device.

[0088] In some implementations, the server can configure the second gamma curve parameters and the second encoded color space parameters of the hardware encoder in the cloud graphics processor based on the first gamma curve parameters and the first encoded color space parameters, and then use the configured hardware encoder to encode the first rendered image. The second gamma curve parameters can be determined based on the gamma curve information of the first display device, and the second encoded color space parameters can be determined based on the color space information of the first display device.

[0089] Compared to methods that use fixed gamma curves and fixed color spaces to encode images from different terminal devices, the above method can dynamically configure the encoding process according to the display characteristics of the first display device, reducing color deviations or loss of image characteristics caused by mismatches between the rendered image and encoding parameters. Furthermore, since the encoding parameters also consider the decoding capabilities of the first terminal device, the possibility of the first bitstream exceeding the actual decoding or parsing capabilities of the first terminal device can be reduced.

[0090] In box 250, the server sends a first bitstream to the first terminal device so that the first terminal device can decode the first bitstream to obtain the target decoded screen and display the target decoded screen through the first display device.

[0091] The first terminal device can receive the first bitstream through a network connection with the server, and decode the first bitstream according to its encoding method using a decoder in the first terminal device. The decoded target image can be displayed by the first display device bound to this rendering session.

[0092] In some implementations, the server can establish a first rendering session for the first terminal device and associate a virtual display device, an encoder for encoding the first rendered image, and a first bitstream with the first rendering session. Thus, the display attributes of the first display device, the virtual display device configured based on those display attributes, the first rendered image generated for the virtual display device, and the first bitstream obtained by encoding the first rendered image can correspond to each other through the first rendering session.

[0093] At any given time, the number of terminal devices establishing a stream transmission connection with the first rendering session can be less than a preset number. For example, in a private rendering scenario of a cloud desktop or cloud phone, the first rendering session can be used to establish a one-to-one stream transmission relationship between the server and the first terminal device. When another terminal device requests to access the same rendering session, the original terminal device's stream transmission connection can be disconnected, or the other terminal device can be prevented from establishing a stream transmission connection simultaneously.

[0094] Based on this approach, process 200 sequentially uses the display attributes of the first display device for configuring the virtual display device, rendering the first content, and encoding the first rendered image, while further considering the decoding capabilities of the first terminal device during the encoding stage. This allows the generation conditions of the first rendered image, the encoding conditions of the first bitstream, and the actual display conditions of the target decoded image to be mutually compatible, reducing color distortion, brightness abnormalities, or loss of dynamic range characteristics that may occur when using fixed rendering and encoding parameters, thereby improving the display effect of the cloud-rendered image on the first display device.

[0095] For ease of understanding, the specific execution methods of each step in process 200 on the terminal side and the cloud side can be referred to the following combination. Figure 3 Example description. The following will combine... Figure 3 Some exemplary implementations of this disclosure are further described below.

[0096] Figure 3 A schematic structural block diagram of an example scenario 300 according to some embodiments of this disclosure is shown. Figure 3 As shown, example scenario 300 may include a local terminal device 302 and a cloud virtual device 304. The local terminal device 302 can communicate with the cloud virtual device 304 via a network. Figure 3 The local terminal device 302 shown can be the first terminal device mentioned above, and the cloud virtual device 304 can be implemented by a virtual machine in the server or other cloud computing environment.

[0097] The local terminal device 302 may include a terminal display device 306 and a terminal sampling program 308. The terminal display device 306 may be a display device included in or connected to the local terminal device 302, and can be used to display the image obtained by the local terminal device 302 decoding the cloud stream. The terminal sampling program 308 may be an implementation of the aforementioned terminal sampling tool. The terminal sampling program 308 may be set within the local terminal device 302. For example, the terminal sampling program 308 may be embedded in the cloud rendering tool of the local terminal device 302.

[0098] The cloud virtual device 304 may include a virtual display device 310, a cloud rendering service 312, and a cloud encoding service 314. The virtual display device 310 can be used to simulate at least one display attribute of the terminal display device 306 within the cloud virtual device 304. The cloud rendering service 312 can be used to render content to be displayed based on at least one display attribute of the virtual display device 310. The cloud encoding service 314 can be used to encode the rendered image generated by the cloud rendering service 312 based on at least one display attribute of the virtual display device 310 and the decoding capability of the local terminal device 302.

[0099] In step 316, the terminal sampling program 308 may collect the display parameters and image characteristics of the terminal display device 306. The display parameters and image characteristics may constitute the display attribute information of the terminal display device 306. For example, the display parameters may include the resolution information of the terminal display device 306, and the image characteristics may include at least one of the following: bit depth information, color format information, color space information, gamma curve information, and supported dynamic range modes.

[0100] In some implementations, the terminal sampling program 308 can obtain display attribute information of the terminal display device 306 by reading the extended display identifier data of the terminal display device 306. The extended display identifier data may include display mode data and color capability data supported by the terminal display device 306. The terminal sampling program 308 can obtain information such as the resolution, bit depth, color format, color space, gamma curve, or dynamic range mode of the terminal display device 306 from the extended display identifier data.

[0101] The terminal sampling program 308 can also query the decoder attributes of the local terminal device 302 to obtain decoding capability information of the local terminal device 302. The decoding capability information may include first decoding capability information indicating the decoding bit depth capability of the local terminal device 302, and second decoding capability information indicating the local terminal device 302's ability to parse dynamic range information metadata. For example, the terminal sampling program 308 can determine whether the local terminal device 302 supports 10-bit decoding and whether it supports parsing high dynamic range information metadata.

[0102] In some implementations, the local terminal device 302 may have multiple available display devices. The terminal display device 306 may be one of the multiple available display devices that is bound to the current rendering session and used to display the bitstream corresponding to the current rendering session. In this case, the terminal sampling program 308 can collect the display attribute information of the terminal display device 306 bound to the current rendering session. Thus, the display attribute information sent to the cloud virtual device 304 can correspond to the terminal display device 306 actually used to display the decoded screen.

[0103] In step 318, the terminal sampling program 308 can transmit parameters back to the cloud via a network service. For example, the terminal sampling program 308 can transmit terminal attribute information to the cloud virtual device 304 via a network service. The terminal attribute information may include display attribute information of the terminal display device 306 and decoding capability information of the local terminal device 302. For example, the terminal sampling program 308 can send the obtained display attribute information and decoding capability information to the cloud virtual device 304 via a cloud rendering tool in the local terminal device 302.

[0104] In step 320, the cloud-based virtual device 304 can simulate a virtual display device 310 with the same parameters based on display attribute information. Specifically, the cloud-based virtual device 304 can generate virtual device configuration data based on display attribute information and load the virtual device configuration data using a cloud-based virtual display driver to create or configure the virtual display device 310.

[0105] In some implementations, the virtual device configuration data may include virtual device identification data. The virtual device identification data may be generated based on extended display identification data read from the terminal display device 306, and may include display mode data and color capability data of the terminal display device 306.

[0106] In response to the virtual display device 310 being permitted for screen output, the virtual display driver can provide the cloud operating system with display mode capabilities and color capabilities indicated by display attribute information through the virtual display device 310. For the cloud operating system, the virtual display device 310 can appear as a display device possessing at least one of the display attributes of the terminal display device 306. The cloud operating system can thus determine the display mode and color mode available for use by cloud applications, cloud rendering service 312, and cloud graphics processor based on the display capabilities provided by the virtual display device 310.

[0107] For example, the cloud-based virtual device 304 can set the output resolution of the virtual display device 310 to a value indicated by the resolution information of the terminal display device 306. Alternatively or additionally, the cloud-based virtual device 304 can set at least one of the corresponding parameters of the output bit depth, output color format, output color space, and gamma curve of the virtual display device 310 based on at least one of the bit depth information, color format information, color space information, and gamma curve information of the terminal display device 306.

[0108] When the terminal display device 306 supports the first dynamic range mode, the cloud virtual device 304 can also configure the virtual display device 310 to support the first dynamic range mode. For example, when the terminal display device 306 supports the high dynamic range (HDR) mode, the virtual display device 310 can provide the corresponding high dynamic range (HDR) display capability to the cloud operating system, enabling the cloud operating system and the cloud graphics processor to enable the image processing functions corresponding to the high dynamic range mode.

[0109] Figure 3 The phrase "having the same parameters" as used here can mean that the virtual display device 310 has at least one display attribute indicated by the display attribute information of the terminal display device 306, without requiring that the virtual display device 310 be identical to the terminal display device 306 in terms of physical structure or all device attributes. For example, the virtual display device 310 may match the terminal display device 306 in at least one or more of the following aspects: output resolution, output bit depth, output color format, output color space, gamma curve parameters, or dynamic range mode.

[0110] In this way, the cloud virtual device 304 can present at least part of the display capabilities of the terminal display device 306 to the cloud operating system through the virtual display device 310 in the absence of a corresponding physical display device, thereby forming a display environment in the cloud that is compatible with the terminal display device 306.

[0111] In step 322, the cloud rendering service 312 can render a screen one-to-one and send it to the virtual display device. For example, the cloud rendering service 312 can perform one-to-one screen rendering for the virtual display device 310 and send the first rendered screen to the virtual display device 310. Specifically, the cloud rendering service 312 can establish a rendering and display path corresponding to the local terminal device 302 based on the virtual display device 310, and output the first rendered screen to the virtual display device 310 through this rendering and display path.

[0112] In some implementations, the cloud operating system can determine the current display mode and current color attributes of the virtual display device 310 based on the display mode capabilities and color capabilities provided by the virtual display device 310. The cloud rendering service 312 can configure the rendering output resolution, rendering output color space, and rendering dynamic range mode of the cloud graphics processor based on the current display mode and current color attributes of the virtual display device 310.

[0113] The cloud rendering service 312 can use a configured cloud graphics processor to render the first content, resulting in a first rendered image. The first content may include content to be displayed generated by cloud applications, cloud desktops, cloud phones, or cloud games. The cloud rendering service 312 can output the first rendered image to the virtual display device 310.

[0114] For example, if the terminal display device 306 supports High Dynamic Range (HDR) mode, the virtual display device 310 can be configured to provide the corresponding HDR display capability to the cloud operating system. The cloud operating system and cloud graphics processor can enable the corresponding HDR rendering function based on this display capability and render the first content according to the corresponding HDR mode.

[0115] Since at least one display attribute of the virtual display device 310 is configured based on the display attribute information of the terminal display device 306, the cloud rendering service 312 can determine the corresponding rendering parameters for the display characteristics of the terminal display device 306, instead of always rendering according to a pre-set set of fixed parameters.

[0116] In step 324, the cloud encoding service 314 can dynamically adjust the encoding parameters according to the parameters of the virtual display device for encoding. For example, the cloud encoding service 314 can dynamically adjust the encoding parameters according to the display parameters of the virtual display device 310 and then perform encoding. In some embodiments, the cloud encoding service 314 can determine the first encoding parameters based on at least one display attribute of the virtual display device 310 and the decoding capability information of the local terminal device 302, and encode the first rendered image according to the first encoding parameters to obtain the first bitstream.

[0117] In step 326, the cloud encoding service 314 can send the first bitstream to the local terminal device 302 via a network service. The local terminal device 302 can receive the first bitstream and decode it using the decoder in the local terminal device 302 to obtain the target decoded image.

[0118] In step 328, the local terminal device 302 can display the target decoded screen via the terminal display device 306. Since the rendering parameters of the first rendered screen are adapted to the display attributes of the terminal display device 306, and the encoding parameters of the first bitstream take into account both the display attributes of the terminal display device 306 and the decoding capabilities of the local terminal device 302, the resolution, color space, or dynamic range characteristics of the target decoded screen can be adapted to the corresponding display capabilities of the terminal display device 306.

[0119] Based on this approach, the display attributes of the terminal display device 306 can be used sequentially for configuring the virtual display device 310, rendering the first content, and encoding the first rendered image. During the rendering phase, the virtual display device 310 enables the cloud operating system and cloud graphics processor to perform rendering based on the display capabilities of the terminal display device 306; during the encoding phase, the cloud encoding service 314 further dynamically determines the encoding parameters by combining them with the decoding capabilities of the local terminal device 302. Therefore, the generation conditions of the first rendered image, the encoding conditions of the first bitstream, and the actual display conditions of the target decoded image can be mutually adapted, reducing color distortion, brightness abnormalities, or loss of dynamic range characteristics that may occur when using fixed rendering and encoding parameters. It should be understood that... Figure 3 The example scenario 300 shown is merely exemplary and is not intended to limit the scope of this disclosure.

[0120] Figure 4 A schematic block diagram of a cloud rendering system 400 according to some embodiments of the present disclosure is shown. System 400 may be implemented as or included in a cloud server 130. The various units / components in system 400 may be implemented by hardware, software, firmware, or any combination thereof.

[0121] like Figure 4 As shown, the system 400 includes an attribute receiving unit 410, configured to receive terminal attribute information of a first terminal device, the terminal attribute information including display attribute information of a first display device and decoding capability information of the first terminal device, the first display device being used to display the screen decoded by the first terminal device; a display configuration unit 420, configured to configure a virtual display device in the cloud based on the display attribute information, so that the virtual display device has at least one display attribute indicated by the display attribute information; a rendering unit 430, configured to render first content based on at least one display attribute of the virtual display device to obtain a first rendered screen; an encoding unit 440, configured to determine first encoding parameters based on at least one display attribute and decoding capability information of the virtual display device, and encode the first rendered screen according to the first encoding parameters to obtain a first bitstream; and a sending unit 450, configured to send the first bitstream to the first terminal device so that the first terminal device decodes the first bitstream to obtain a target decoded screen, and displays the target decoded screen through the first display device.

[0122] In some cases, the display attribute information includes display mode information and color information, and at least one display attribute includes a display mode attribute supported by the first display device and a color attribute supported by the first display device; and the display configuration unit 420 is further configured to: set the display mode attribute of the virtual display device according to the display mode information; and set the color attribute of the virtual display device according to the color information.

[0123] In some cases, the display mode information includes the resolution information of the first display device; and the display configuration unit 420 is further configured to set the output resolution of the virtual display device to the value indicated by the resolution information.

[0124] In some cases, the color information includes at least one of the bit depth information, color format information, color space information, and gamma curve information of the first display device; and the display configuration unit 420 is further configured to: set at least one of the output bit depth, output color format, output color space, and gamma curve parameters of the virtual display device according to at least one of the bit depth information, color format information, color space information, and gamma curve information.

[0125] In some cases, the color information includes a first dynamic range mode supported by the first display device; and the display configuration unit 420 is further configured to configure the virtual display device to support the first dynamic range mode.

[0126] In some cases, the decoding capability information includes: first decoding capability information, which indicates the decoding bit depth capability of the first terminal device; and second decoding capability information, which indicates the first terminal device's ability to parse dynamic range information metadata.

[0127] In some cases, the first encoding parameters include encoding bit depth parameters, dynamic range parameters, and metadata parameters; and the encoding unit 440 is further configured to: determine the encoding bit depth parameters based on the first decoding capability information; and determine the dynamic range parameters and metadata parameters based on the second decoding capability information.

[0128] In some cases, terminal attribute information is obtained by a terminal sampling tool in the first terminal device by reading the extended display identifier data of the first display device.

[0129] In some cases, the terminal sampling tool is also configured to: query the decoder attributes of the first terminal device to obtain decoding capability information; and send the display attribute information and decoding capability information to the cloud through the cloud rendering tool of the first terminal device.

[0130] In some cases, the display configuration unit 420 is also configured to: generate virtual device configuration data based on display attribute information; and load the virtual device configuration data using a cloud-based virtual display driver to create a virtual display device.

[0131] In some cases, the virtual device configuration data includes virtual device identification data, which is generated based on extended display identification data read from the first display device, and includes display mode data and color capability data of the first display device.

[0132] In some cases, the display configuration unit 420 is also configured to: in response to the virtual display device being permitted for screen output, provide the cloud operating system with display mode capabilities and color capabilities indicated by display attribute information through the virtual display device.

[0133] In some cases, the rendering unit 430 is also configured to: configure the rendering output resolution, rendering output color space, and rendering dynamic range mode of the cloud graphics processor according to the current display mode and current color attributes of the virtual display device; and render the first content using the configured cloud graphics processor and output the first rendered image to the virtual display device.

[0134] In some cases, the first encoding parameters include a first gamma curve parameter and a first encoded color space parameter; and the encoding unit 440 is further configured to: configure a second gamma curve parameter and a second encoded color space parameter of the hardware encoder in the cloud graphics processor according to the first gamma curve parameter and the first encoded color space parameter; and encode the first rendered image using the configured hardware encoder.

[0135] In some cases, the system 400 also includes a session management unit configured to: establish a first rendering session for a first terminal device, and associate a virtual display device, an encoder for encoding the first rendered screen, and a first bitstream with the first rendering session; wherein, at the same time, the number of terminal devices that establish bitstream transmission connections with the first rendering session is less than a preset number.

[0136] In some cases, the first terminal device has multiple available display devices; the first display device is the display device among the multiple available display devices that is bound to the first rendering session and used to display the first bitstream, and the display attribute information corresponds to the first display device.

[0137] The units included in the cloud rendering system 400 can be implemented in various ways, including software, hardware, firmware, or any combination thereof. In some implementations, one or more units may be implemented using software and / or firmware, such as machine-executable instructions stored on a storage medium. In addition to or as an alternative to machine-executable instructions, some or all of the units in the cloud rendering system 400 may be implemented at least partially by one or more hardware logic components. By way of example and not limitation, exemplary types of hardware logic components that may be used include Field-Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application-Specific Standard Products (ASSPs), Systems on Chips (SoCs / SOCs), Complex Programmable Logic Devices (CPLDs), and so on.

[0138] Figure 5 A block diagram of an electronic device 500 in which one or more embodiments of the present disclosure may be implemented is shown. It should be understood that... Figure 5 The electronic device 500 shown is merely exemplary and should not be construed as limiting the functionality and scope of the embodiments described in this disclosure. Figure 5 The electronic device 500 shown can be used to achieve Figure 1 cloud server 130 or Figure 4 The cloud rendering system 400.

[0139] like Figure 5 As shown, electronic device 500 is in the form of a general-purpose electronic device. Components of electronic device 500 may include, but are not limited to, at least one processor 510 or processing unit, memory 520, storage device 530, one or more communication units 540, one or more input devices 550, and one or more output devices 560. Processor 510 may be a physical or virtual processor and is capable of performing various processes according to programs stored in memory 520. In a multiprocessor system, multiple processors execute computer-executable instructions in parallel to improve the parallel processing capability of electronic device 500.

[0140] Electronic device 500 typically includes multiple computer storage media. Such media can be any accessible media that is accessible to electronic device 500, including but not limited to volatile and non-volatile media, removable and non-removable media. Memory 520 can be volatile memory (e.g., registers, cache, random access memory), non-volatile memory (e.g., read-only memory, electrically erasable programmable read-only memory, flash memory), or some combination thereof. Storage device 530 can be removable or non-removable media and may include machine-readable media, such as flash drives, disks, or any other media capable of storing information and / or data and accessible within electronic device 500.

[0141] Electronic device 500 may further include additional removable / non-removable, volatile / non-volatile storage media. Although not explicitly stated... Figure 5 As shown, disk drives for reading from or writing to removable, non-volatile disks (e.g., "floppy disks") and optical disk drives for reading from or writing to removable, non-volatile optical disks can be provided. In these cases, each drive can be connected to a bus (not shown) via one or more data media interfaces. Memory 520 may include computer program product 525 having one or more program modules configured to perform various methods or actions of various embodiments of this disclosure.

[0142] The communication unit 540 enables communication with other electronic devices via a communication medium. Additionally, the functionality of the components of the electronic device 500 can be implemented using a single computing cluster or multiple computing machines capable of communicating via communication connections. Therefore, the electronic device 500 can operate in a networked environment using logical connections to one or more other servers, networked personal computers, or another network node.

[0143] Input device 550 can be one or more input devices, such as a mouse, keyboard, trackball, etc. Output device 560 can be one or more output devices, such as a monitor, speaker, printer, etc. Electronic device 500 can also communicate with one or more external devices (not shown) via communication unit 540 as needed. These external devices include storage devices, display devices, etc., and can communicate with one or more devices that enable user interaction with electronic device 500, or with any device that enables electronic device 500 to communicate with one or more other electronic devices (e.g., network card, modem, etc.). Such communication can be performed via an input / output (I / O) interface.

[0144] According to an exemplary implementation of this disclosure, a computer-readable storage medium is provided that stores computer-executable instructions thereon, wherein the computer-executable instructions are executed by a processor to implement the methods described above. According to an exemplary implementation of this disclosure, a computer program product is also provided, which is tangibly stored on a non-transitory computer-readable medium and includes computer-executable instructions, which are executed by a processor to implement the methods described above.

[0145] Various aspects of this disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, systems, apparatuses, and computer program products implemented according to this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0146] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processor of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner, such that the computer-readable medium storing the instructions comprises an article of manufacture including instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.

[0147] Computer-readable program instructions may be loaded onto a computer, other programmable data processing apparatus or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus or other device to produce a computer-implemented process, thereby causing the instructions that execute on the computer, other programmable data processing apparatus or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.

[0148] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction, which contains one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.

[0149] Various implementations of this disclosure have been described above. The foregoing description is exemplary and not exhaustive, nor is it limited to the disclosed implementations. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described implementations. The terminology used in this disclosure is chosen to best explain the principles, practical applications, or improvements to technology in the market, or to enable others skilled in the art to understand the various implementations disclosed herein.

Claims

1. A method for cloud rendering, characterized in that, include: The terminal attribute information of the first terminal device is received. The terminal attribute information includes the display attribute information of the first display device and the decoding capability information of the first terminal device. The first display device is used to display the screen decoded by the first terminal device. Based on the display attribute information, configure the virtual display device in the cloud so that the virtual display device has at least one display attribute indicated by the display attribute information; Based on at least one display attribute of the virtual display device, render the first content to obtain the first rendered screen; Based on the at least one display attribute of the virtual display device and the decoding capability information, a first encoding parameter is determined, and the first rendered screen is encoded according to the first encoding parameter to obtain a first bitstream; as well as The first bitstream is sent to the first terminal device so that the first terminal device can decode the first bitstream to obtain the target decoded screen, and display the target decoded screen through the first display device.

2. The method according to claim 1, characterized in that, The display attribute information includes display mode information and color information, and the at least one display attribute includes a display mode attribute supported by the first display device and a color attribute supported by the first display device. The virtual display device configured in the cloud includes: Based on the display mode information, the display mode attributes of the virtual display device are set; as well as Based on the color information, the color attributes of the virtual display device are set.

3. The method according to claim 2, characterized in that, The display mode information includes the resolution information of the first display device; The step of setting the display mode attribute of the virtual display device according to the display mode information includes: setting the output resolution of the virtual display device to the value indicated by the resolution information.

4. The method according to claim 2, characterized in that, The color information includes at least one of the following: bit depth information, color format information, color space information, and gamma curve information of the first display device; Setting the color attributes of the virtual display device according to the color information includes: setting at least one of the output bit depth, output color format, output color space, and gamma curve parameters of the virtual display device according to at least one of the bit depth information, the color format information, the color space information, and the gamma curve information.

5. The method according to claim 2, characterized in that, The color information includes a first dynamic range mode supported by the first display device. Setting the color attributes of the virtual display device based on the color information includes configuring the virtual display device to support the first dynamic range mode.

6. The method according to claim 1, characterized in that, The decoding capability information includes: First decoding capability information, the first decoding capability information indicating the decoding bit depth capability of the first terminal device; The second decoding capability information indicates the first terminal device's ability to parse dynamic range information metadata.

7. The method according to claim 6, characterized in that, The first encoding parameters include encoding bit depth parameters, dynamic range parameters, and metadata parameters; Determining the first encoding parameter includes: The encoding bit depth parameter is determined based on the first decoding capability information; Based on the second decoding capability information, the dynamic range parameter and the metadata parameter are determined.

8. The method according to claim 1, characterized in that, The terminal attribute information is obtained by the terminal sampling tool in the first terminal device; The terminal sampling tool is configured to obtain the display attribute information by reading the extended display identifier data of the first display device.

9. The method according to claim 8, characterized in that, The terminal sampling tool is also configured to: Query the decoder attributes of the first terminal device to obtain the decoding capability information; The display attribute information and the decoding capability information are sent to the cloud via the cloud rendering tool of the first terminal device.

10. The method according to claim 1, characterized in that, The virtual display device configured in the cloud includes: Based on the aforementioned display attribute information, virtual device configuration data is generated; and The virtual device configuration data is loaded using a cloud-based virtual display driver to create the virtual display device.

11. The method according to claim 10, characterized in that, The virtual device configuration data includes virtual device identification data, which is generated based on extended display identification data read from the first display device, and includes display mode data and color capability data of the first display device.

12. The method according to claim 10, characterized in that, The process of loading the virtual device configuration data using a cloud-based virtual display driver includes: In response to the virtual display device being permitted for screen output, the display mode capability and color capability indicated by the display attribute information are provided to the cloud operating system through the virtual display device.

13. The method according to claim 1, characterized in that, Rendering the first content based on at least one display attribute of the virtual display device includes: Based on the current display mode and current color attributes of the virtual display device, configure the rendering output resolution, rendering output color space, and rendering dynamic range mode of the cloud graphics processor; and The first content is rendered using the configured cloud graphics processor, and the first rendered image is output to the virtual display device.

14. The method according to claim 1, characterized in that, The first encoding parameters include the first gamma curve parameters and the first encoding color space parameters; Encoding the first rendered image according to the first encoding parameters includes: Based on the first gamma curve parameters and the first encoded color space parameters, configure the second gamma curve parameters and the second encoded color space parameters of the hardware encoder in the cloud graphics processor; and The first rendered image is encoded using the configured hardware encoder.

15. The method according to claim 1, characterized in that, Also includes: A first rendering session is established for the first terminal device, and the virtual display device, the encoder used to encode the first rendered image, and the first bitstream are associated with the first rendering session; During the same period, the number of terminal devices that establish a bitstream transmission connection with the first rendering session is less than a preset number.

16. The method according to claim 15, characterized in that, The first terminal device has multiple available display devices; The first display device is one of the plurality of available display devices that is bound to the first rendering session and used to display the first bitstream, and the display attribute information corresponds to the first display device.

17. A cloud-based rendering system, characterized in that, include: An attribute receiving unit is configured to receive terminal attribute information of a first terminal device, the terminal attribute information including display attribute information of a first display device and decoding capability information of the first terminal device, the first display device being used to display the screen decoded by the first terminal device; The display configuration unit is configured to configure a virtual display device in the cloud based on the display attribute information, so that the virtual display device has at least one display attribute indicated by the display attribute information; The rendering unit is configured to render first content based on at least one display attribute of the virtual display device to obtain a first rendered screen. An encoding unit is configured to determine a first encoding parameter based on at least one display attribute of the virtual display device and the decoding capability information, and to encode the first rendered image according to the first encoding parameter to obtain a first bitstream; as well as The sending unit is configured to send the first bitstream to the first terminal device, so that the first terminal device decodes the first bitstream to obtain a target decoded screen, and displays the target decoded screen through the first display device.

18. An electronic device, characterized in that, include: At least one processor; as well as At least one memory coupled to the at least one processor and storing instructions for execution by the at least one processor, the instructions causing the electronic device to perform the method according to any one of claims 1 to 16 when executed by the at least one processor.

19. A computer-readable storage medium, characterized in that, It stores computer-executable instructions that can be executed by a processor to implement the method according to any one of claims 1 to 16.

20. A computer program product, characterized in that, The computer program product is tangibly stored in a computer storage medium and includes computer-executable instructions that, when executed by a device, cause the device to perform the method according to any one of claims 1 to 16.