Video rendering system and method
By using rendering commands that render streaming video images, sharing the performance of the video conferencing host and rendering video on the host extension device, the problem of video streaming occupies bandwidth and delay in video projection across devices is solved, achieving higher video frame rate and fluency, and improving user experience.
Patent Information
- Application Number
- CN202510128611.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-05
- Publication Date
- 2025-05-09
AI Technical Summary
In the existing video cross-device screen projection technology, video streaming occupies a large network bandwidth, resulting in long delays and poor video playback, affecting the user experience.
The rendering stream is used to transmit rendering commands of the video screen, sharing the CPU and GPU performance of the video conferencing host to the host expansion device, reducing the use of codec performance, and rendering video on the host expansion device.
Reduces the delay and bandwidth usage of transmission rendering streams, improves the frame rate and playback fluency of videos, and thus improves the user experience.
Smart Images

Figure CN119967233A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of video rendering, and in particular relates to a video rendering system and method. Background Art
[0002] Video cross-device screen projection refers to the technology of transmitting a video on one device to another device for display via wireless or wired means. For example, you can project a video on a mobile phone to a TV for display.
[0003] However, in the related art, video streams are mainly used for cross-device video projection. For example, when projecting a video on a mobile phone to a TV, the video stream in the mobile phone is sent to the TV to play the video on the mobile phone on the TV. Since the video stream is usually large, a large network bandwidth is required during the transmission process. If the network bandwidth is insufficient, the video stream transmission will be blocked, resulting in a long video delay and freezes during the video playback of the projection device. Summary of the invention
[0004] The purpose of the present invention is to use a rendering stream to transmit rendering commands of video images. The CPU and GPU performance consumption of the video conferencing host is shared by the host expansion device, and the encoding and decoding performance of the video conferencing host is not occupied. The rendering stream is smaller than the video stream, so the delay in transmitting the rendering stream is shorter and the bandwidth occupied by transmitting the rendering stream is smaller.
[0005] In a first aspect, an embodiment of the present invention provides a video rendering system, the video rendering system comprising a video conference host and a host expansion device;
[0006] After the video conference host creates a virtual screen, a display window is created based on screen information of the virtual screen, wherein the virtual screen is created after the video conference host detects that it is connected to the host extension device, and the screen information of the virtual screen is the same as the screen information of the host extension device;
[0007] If the video conference host detects that the video picture of the display window needs to be displayed on the screen of the host extension device, converting the video picture information of the display window into a rendering stream;
[0008] The video conference host sends a rendering instruction to the host extension device, where the rendering instruction carries the rendering stream;
[0009] The host extension device performs video rendering based on the rendering instruction.
[0010] Optionally, the video conference host converts the video picture information of the display window into a rendering stream, including:
[0011] The video conference host starts a remote rendering thread and sends a drawing command of the display window to the remote rendering thread;
[0012] After receiving the drawing command, the remote rendering thread encodes the rendering function required to be called for rendering the video screen of the display window and the parameters of the rendering function into a byte stream, and determines the obtained byte stream as a rendering stream.
[0013] Optionally, the video conference host includes a remote rendering service module;
[0014] The video conference host sends a rendering instruction to the host extension device, including:
[0015] The video conference host sends a rendering stream to the remote rendering service module through the remote rendering thread;
[0016] The video conference host sends a rendering instruction carrying the rendering stream to the host extension device through the remote rendering service module.
[0017] Optionally, the host extension device includes a rendering stream display module;
[0018] The video conference host sends a rendering instruction to the host extension device, including:
[0019] The video conference host sends a rendering instruction to the rendering stream display module;
[0020] Accordingly, the host extension device performs video rendering based on the rendering instruction, including:
[0021] The rendering stream display module of the host extension device receives the rendering instruction, and parses the rendering instruction to obtain a rendering stream;
[0022] The rendering stream display module of the host extension device calls a rendering function according to the rendering stream, renders the video picture, and displays the rendered video picture on the screen of the host extension device.
[0023] Optionally, the host expansion device includes a host management module, and the video conference host includes a logic service module;
[0024] After the host extension device is connected to the video conference host, the host extension device sends a remote virtual screen display request to the logic service module of the video conference host through the host management module, and the remote virtual screen display request carries the screen information of the host extension device.
[0025] Optionally, the video conference host further includes a display service module and a display management service module;
[0026] After receiving the remote virtual screen display request, the logic service module of the video conference host sends a virtual screen creation request to the display service module of the video conference host, wherein the virtual screen creation request carries the screen information of the host extension device;
[0027] The display service module of the video conference host sends the virtual screen creation request to the display management service module;
[0028] The display management service module of the video conference host creates a virtual screen based on the screen information carried in the virtual screen creation request.
[0029] Optionally, the video conferencing host is installed with video conferencing software, and the video conferencing host further includes a window management service module;
[0030] The video conference host creates a display window based on the screen information of the virtual screen, including:
[0031] The display management service module of the video conference host sends screen information of the created screen to the video conference software;
[0032] After receiving the screen information, the video conferencing software creates a display window for the window management service module based on the screen information.
[0033] Optionally, the window management service module of the video conference host sends the window parameters of the created display window to the remote rendering service module;
[0034] Correspondingly, the video conference host sends a rendering instruction to the rendering stream display module, including:
[0035] The video conference host sends a rendering instruction to the rendering stream display module through the remote rendering service module, and the rendering instruction carries the rendering stream and the window parameters.
[0036] Optionally, the video conference host sends a rendering instruction to the host extension device, including:
[0037] When the video conference host detects that the layer state of the display window has changed, the host extension device sends a rendering instruction, wherein the rendering instruction also includes the changed layer state;
[0038] The host extension device performs video rendering based on the rendering instruction, including:
[0039] The host extension device changes the layer corresponding to the video image displayed on the screen according to the layer status carried by the rendering instruction.
[0040] In a second aspect, an embodiment of the present invention provides a video rendering method, which is applied to the video rendering system, wherein the video rendering system includes a video conference host and a host expansion device, and the method includes:
[0041] After the video conference host creates a virtual screen, a display window is created based on screen information of the virtual screen, wherein the virtual screen is created after the video conference host detects that it is connected to the host extension device;
[0042] If the video conference host detects that the video picture information of the display window needs to be displayed on the screen of the host extension device, converting the video picture information of the display window into a rendering stream;
[0043] The video conference host sends a rendering instruction to the host extension device, where the rendering instruction carries the rendering stream;
[0044] The host extension device performs video rendering based on the rendering instruction.
[0045] The technical solution provided by the embodiment of the present invention is a video rendering system including a video conference host and a host extension device. After the video conference host detects that it is connected to the host extension device, it creates a virtual screen based on the screen information of the host extension device, and creates a display window based on the screen information of the virtual screen; if the video conference host detects that the video screen of the display window needs to be displayed on the screen of the host extension device, the video screen information of the display window is converted into a rendering stream; and the video conference host sends a rendering instruction carrying the rendering stream to the host extension device, and after receiving the rendering instruction, the host extension device performs video rendering based on the rendering instruction.
[0046] It can be seen that the embodiment of the present invention uses a rendering stream to transmit rendering commands for video images. The CPU and GPU performance consumption of the video conferencing host is shared by the host expansion device, and the encoding and decoding performance of the video conferencing host is not occupied. In addition, the rendering stream is smaller than the video stream, so that the delay in transmitting the rendering stream is shorter, and the bandwidth occupied by transmitting the rendering stream is smaller. By performing video rendering on the host expansion device, the frame rate of the played video is also higher, and the smoothness of the video playback is higher, thereby improving the user experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] Figure 1 A schematic diagram of the interaction between a video conference host and a host extension device in a video rendering system provided by an embodiment of the present invention;
[0048] Figure 2 A flowchart of a video rendering method provided by an embodiment of the present invention;
[0049] Figure 3A schematic diagram of interaction between a module of a video conference host and a module of a host extension device in a video rendering system provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0050] The present invention will be described in detail below through examples.
[0051] Video cross-device screen projection refers to the technology of transmitting a video on one device to another device for display via wireless or wired means. In related technologies, video streaming is mainly used for video cross-device screen projection. Using video streaming for video cross-device screen projection has problems such as long video delay, low video display frame rate, and insufficient smooth video playback, resulting in a low user experience.
[0052] Specifically, since the video stream is usually large, it will occupy a large network bandwidth during the transmission process. If the network bandwidth is insufficient, the video stream transmission will be blocked, resulting in a long video delay, freezes during video playback on the projection device, and the video playback is not smooth enough. The video display frame rate is not high, resulting in a low user experience and other problems. In the related art, in order to reduce the network bandwidth occupied during the video stream transmission process, a video stream with a lower resolution can also be sent to the projection device, which will result in a lower resolution of the video played by the projection device and a blurry video.
[0053] The application scenario involved in the embodiment of the present invention is: projecting the video on the video conferencing host to the collaborative conference touch tablet. Among them, the collaborative conference touch tablet is used in conjunction with the video conferencing host. At present, a more important function is that when the video conferencing host installs video conferencing software such as Teams, the collaborative conference touch tablet will be used as an extended screen of the video conferencing host, so that when logging in with Teams multi-terminal accounts, the collaborative conference touch tablet can be used to switch multiple side-by-side windows, adjust the sound, and perform full-screen operations. The collaborative touch tablet is a desktop touch tablet that facilitates users to control video conferencing on the desktop.
[0054] In the related art, if the video of the video conference host is projected to the collaborative conference touch tablet, the video rendering needs to be performed on the video conference host, and the main frequency conference host sends the rendered video screen to the collaborative conference touch tablet for the collaborative conference touch tablet to play. Therefore, the overall performance of the video conference host is relatively tight, and video projection will consume additional GPU / CPU resources and encoding performance, which will have a relatively large impact on the performance of the video conference host.
[0055] In order to solve the above-mentioned technical problems existing in the related technologies, the embodiments of the present invention use rendering streams to transmit rendering instructions of video images. The CPU and GPU performance consumption of the video conferencing host is shared to the collaborative conference touch panel, and the encoding and decoding performance of the video conferencing host is not occupied. The frame rate of the video played by the collaborative conference touch panel is higher, the delay is shorter, and the bandwidth occupied by transmitting the rendering stream is smaller than the bandwidth occupied by video stream transmission. In other words, the important improvement point of the embodiments of the present invention is that in the key link of video image transmission, the video stream is replaced by a rendering stream. A video rendering system provided by an embodiment of the present invention will be described in detail below.
[0056] like Figure 1 As shown, the video rendering system includes a video conference host 11 and a host expansion device 12. The host expansion device 12 is the above-mentioned collaborative conference touch tablet.
[0057] The interaction process between the video conference host 11 and the host expansion device 12 is as follows: Figure 1 shown.
[0058] S110, after the video conference host creates a virtual screen, it creates a display window based on the screen information of the virtual screen.
[0059] The virtual screen is created after the video conference host detects that it is connected to the host extension device, and the screen information of the virtual screen is the same as the screen information of the host extension device.
[0060] In one implementation, the host extension device includes a host management module, and the video conference host includes a logic service module.
[0061] After the host extension device is connected to the video conference host, the host extension device sends a remote virtual screen display request to the logic service module of the video conference host through the host management module.
[0062] The remote virtual screen display request carries the screen information of the host expansion device.
[0063] Specifically, the host management module can be called HostManager, and the logic service module can be called LogicService. The host management module can monitor the port number of the TCP service of the host extension device and the screen information of the host extension device, and after the host extension device and the video conference host are in the same local area network, that is, after the host extension device and the video conference host are connected, the host management module can actively send a remote virtual screen display request to the logic service module, wherein the remote virtual screen display request carries the screen information of the host extension device and can also carry the port number of the TCP service.
[0064] In actual applications, the logic service module may include a device discovery submodule, which may be called a Device Scanner. After the host extension device is connected to the video conference host, the device discovery submodule may also monitor the host extension device and obtain screen information from the host extension device. In other words, the screen information of the host extension device may be actively reported to the video conference host by the host management module of the host extension device, or may be obtained from the host extension device by the device discovery submodule of the video conference host, which is reasonable.
[0065] In one implementation, the video conference host further includes a display service module and a display management service module, wherein the display service module may be called YASDisplayService, and the display manager service may be called DisplayManagerService.
[0066] After receiving the remote virtual screen display request, the logic service module of the video conference host sends a virtual screen creation request to the display service module of the video conference host, wherein the virtual screen creation request carries the screen information of the host extension device.
[0067] The display service module of the video conference host sends the above virtual screen creation request to the display management service module.
[0068] The display management service module of the video conference host creates a virtual screen based on the screen information carried in the virtual screen creation request.
[0069] The screen information of the created virtual screen is the same as the screen information of the host extension device. Since the video conference host and the host extension device are connected through a network instead of directly plugging the host extension device into the video conference host, after the video conference host and the host extension device are connected, a virtual screen consistent with the screen information of the host extension device needs to be established on the video conference host.
[0070] As an implementation method of an embodiment of the present invention, the video conference host is installed with video conference software, and the video conference host also includes a window management service module. The video conference software can be called Teams APP, and the window management service module can be called WindowManagerService.
[0071] At this time, the video conference host creates a display window based on the screen information of the virtual screen, which may include the following two steps, namely step 1 and step 2:
[0072] Step 1: The display management service module of the video conference host sends screen information of the created screen to the video conference software.
[0073] Step 2: After receiving the screen information, the video conferencing software creates a display window for the window management service module based on the screen information.
[0074] Specifically, after the display manager server module of the video conference host creates the virtual screen, it broadcasts the message of the virtual screen creation to the video conference software, that is, the screen information of the created virtual screen is sent to the video conference software. After the video conference software receives the screen information, it can start the Presentation Activity according to the existing implementation, and the Presentation Activity will create a display window for the window management service module. Among them, the window size of the created display window is the same as the screen size of the virtual screen. Among them, Presentation Activity is a function in the video conference software, which should be understood by those skilled in the art, and therefore, the embodiment of the present invention will not be specifically elaborated on this.
[0075] S120: If the video conference host detects that the video picture of the display window needs to be displayed on the screen of the host extension device, the video picture information of the display window is converted into a rendering stream.
[0076] Specifically, after the window management service module of the video conference host creates the display window, the Presentation Activity of the video conference software will perform operations such as layout and drawing on the display window. During the drawing process, if it is found that the video screen of the display window needs to be displayed on the screen of the host extension device, unlike the related art, the video screen information of the display window is directly rendered, but the video screen information of the display window is converted into a rendering stream. The rendering stream is based on the function call of the conventional rendering engine, and the rendering function and the parameters of the rendering function are encoded in a certain format to form a byte stream.
[0077] As an implementation method of an embodiment of the present invention, the video conference host converts the video picture information of the display window into a rendering stream, which may include the following steps, namely step 1 and step 2:
[0078] Step 1: The video conference host starts a remote rendering thread and sends a drawing command of a display window to the remote rendering thread.
[0079] Step 2: After receiving the drawing command, the remote rendering thread encodes the rendering function and the parameters of the rendering function required to render the video screen of the display window into a byte stream, and determines the obtained byte stream as the rendering stream.
[0080] Among them, the remote rendering thread can be called RemoteRenderThread.
[0081] Specifically, if the video conferencing host detects that the video screen of the display window needs to be displayed on the screen of the host expansion device, then the remote rendering thread is started through the video conferencing software, and a drawing command for the display window is sent to the remote rendering thread. After receiving the drawing command, the remote rendering thread will load the module rendering dynamic library and use related interface calls to encode the rendering function and rendering function parameters required to render the video screen of the display window into a byte stream in a certain format, thereby obtaining a rendering stream.
[0082] S130, the video conference host sends a rendering instruction to the host extension device.
[0083] Among them, the rendering instruction carries the rendering flow.
[0084] S140, the host extension device performs video rendering based on the rendering instruction.
[0085] Specifically, after the video conferencing host converts the video screen information of the display window into a rendering stream, it can send a rendering instruction carrying the rendering stream to the host extension device. In this way, after receiving the rendering instruction, the host extension device parses the rendering instruction to obtain the rendering stream, and decodes the rendering stream to obtain the rendering function and rendering function parameters required to render the video screen, and completes the video rendering by calling the rendering function, and displays the rendered video screen on the screen of the host extension device.
[0086] As an implementation method of the embodiment of the present invention, the video conference host includes a remote rendering service module;
[0087] At this time, the video conference host sends a rendering instruction to the host extension device, which may include the following two steps:
[0088] Step 1: The video conference host sends a rendering stream to the remote rendering service module of the video conference host through a remote rendering thread.
[0089] Step 2: The video conference host sends a rendering instruction carrying a rendering stream to the host extension device through the remote rendering service module.
[0090] Specifically, after the remote rendering thread of the video conferencing host obtains the rendering stream, it can send the rendering stream to the remote rendering service module of the video conferencing host. The remote rendering service module then sends a rendering instruction carrying the rendering stream to the host extension device, so that after the host extension device receives the rendering instruction, it performs video rendering according to the rendering stream.
[0091] As an implementation manner of the embodiment of the present invention, the host extension device includes a rendering stream display module.
[0092] At this time, the video conference host sends a rendering instruction to the host extension device, which may include the following steps:
[0093] The video conference host sends a rendering instruction to the rendering stream display module.
[0094] Accordingly, the host extension device performs video rendering based on the rendering instruction, which may include the following two steps:
[0095] Step 1: The rendering stream display module of the host extension device receives a rendering instruction, parses the rendering instruction, and obtains a rendering stream.
[0096] Step 2: The rendering stream display module of the host extension device calls a rendering function according to the rendering stream, renders the video image, and displays the rendered video image on the screen of the host extension device.
[0097] Specifically, the host extension device includes a rendering stream display module, and the remote rendering service module of the video conference host can send a rendering instruction to the rendering stream display module. After receiving the rendering instruction, the rendering stream display module parses the rendering instruction to obtain a rendering stream, and the rendering stream calls a rendering function to render the video screen, and then displays the rendered video screen on the screen of the host extension device. It can be seen that the technical solution provided by this embodiment is that the rendering stream display module of the host extension device completes the video screen rendering, the frame rate of the played video is high, and the smoothness of the video playback is high, thereby improving the user experience.
[0098] Furthermore, in one implementation, the window manager module of the video conference host sends the window parameters of the created display window to the remote rendering service module.
[0099] Accordingly, the video conference host sends a rendering instruction to the rendering stream display module, including:
[0100] The video conference host sends rendering instructions to the rendering stream display module through the remote rendering service module.
[0101] The rendering instruction carries rendering stream and window parameters.
[0102] Specifically, in this embodiment, the rendering instruction received by the rendering stream display module carries not only the rendering stream but also the window parameters of the display window. The window parameters can display the size of the window, whether the display window is visible, and the animation of the display window. In this way, the rendering stream display module can render the video according to the rendering stream and the window parameters.
[0103] The technical solution provided by the embodiment of the present invention is a video rendering system including a video conference host and a host extension device. After the video conference host detects that it is connected to the host extension device, it creates a virtual screen based on the screen information of the host extension device, and creates a display window based on the screen information of the virtual screen; if the video conference host detects that the video screen of the display window needs to be displayed on the screen of the host extension device, the video screen information of the display window is converted into a rendering stream; and the video conference host sends a rendering instruction carrying the rendering stream to the host extension device, and after receiving the rendering instruction, the host extension device performs video rendering based on the rendering instruction.
[0104] It can be seen that the embodiment of the present invention uses a rendering stream to transmit rendering commands for video images. The CPU and GPU performance consumption of the video conferencing host is shared by the host expansion device, and the encoding and decoding performance of the video conferencing host is not occupied. In addition, the rendering stream is smaller than the video stream, so that the delay in transmitting the rendering stream is shorter, and the bandwidth occupied by transmitting the rendering stream is smaller. By performing video rendering on the host expansion device, the frame rate of the played video is also higher, and the smoothness of the video playback is higher, thereby improving the user experience.
[0105] On the basis of the above embodiment, in order to ensure that the video screen displayed on the screen of the host extension device can be updated in time, in one implementation, the video conference host sends a rendering instruction to the host extension device, which may include the following steps:
[0106] When the video conference host detects that the layer state of the display window has changed, it sends a rendering instruction to the host extension device, wherein the rendering instruction also includes the changed layer state.
[0107] At this time, the host extension device performs video rendering based on the rendering instruction, which may include the following steps:
[0108] The host extension device changes the layer corresponding to the video image displayed on the screen according to the layer state carried by the rendering instruction.
[0109] Specifically, if the video conferencing host detects that the layer status of the display window has changed, then the rendering instruction needs to carry the changed layer status, and the host extension device can re-render the video screen based on the changed layer status, that is, the layer corresponding to the video screen displayed on the screen is changed.
[0110] The embodiment of the present invention also provides a video rendering method, such as Figure 2 As shown, the method is applied to a video rendering system, the video rendering system includes a video conference host and a host expansion device, and the method may include the following steps:
[0111] S210, after the video conference host creates a virtual screen, it creates a display window based on the screen information of the virtual screen.
[0112] The virtual screen is created after the video conferencing host detects the connection with the host extension device.
[0113] S220: If the video conference host detects that the video picture information of the display window needs to be displayed on the screen of the host extension device, the video picture information of the display window is converted into a rendering stream.
[0114] S230, the video conference host sends a rendering instruction to the host extension device.
[0115] Among them, the rendering instruction carries the rendering flow.
[0116] S240, the host extension device performs video rendering based on the rendering instruction.
[0117] It should be noted that the specific description of S210 to S240 has been described in detail in the embodiment of the video rendering system, and will not be repeated here.
[0118] In order to describe the solution clearly, the overall technical solution of this solution will be described in detail below. Figure 3 , which is a schematic diagram of the interaction between the modules of the video conference host 31 and the modules of the host extension device 32 in the video rendering system 30 .
[0119] from Figure 3 It can be seen that the video conference host 31 includes a logic service module 311, a display service module 312, a display management service module 313, and a window management service module 314. The video conference host is installed with video conference software, which may include Presentation Activity 315; the video conference software may start a remote rendering thread 316, and the video conference host also includes a remote rendering service module 317. The host extension device 32 may include a host management module 321 and a rendering stream display module 322.
[0120] The following will describe the interaction process between each module in the video conference host 31 and each module in the host extension device 32.
[0121] After the host expansion device 32 is powered on and started, the host management module 321 sends a remote virtual screen display request to the logic service module 311 . The remote virtual screen display request may carry the TCP port number and screen information of the host expansion device.
[0122] After receiving the remote virtual screen display request, the logic service module 311 sends a virtual screen creation request to the display service module 312 . The virtual screen creation request carries the TCP port number of the host extension device and screen information.
[0123] After determining that the network connection is normal, the display service module 312 sends a virtual screen creation request to the display management service module 313 to request the creation of a virtual screen.
[0124] After the display management service module 313 successfully creates the virtual screen, it will broadcast the message of the virtual screen creation to the outside, that is, the display management service module 313 sends the screen information of the created screen to the video conferencing software.
[0125] After receiving the screen information, the video conference software will start PresentationActivity315 according to the existing implementation. After Presentation Activity315 is started, it will create a display window for the window management service module 314 according to the existing process.
[0126] After creating the display window, the window management service module 314 sends the window parameters to the remote rendering service module 316 . The window parameters may include parameters such as the size of the display window, whether it is visible, and Alpha animation.
[0127] After Presentation Activity 315 creates a display window for the window management service module 314 according to the existing process, it will perform layout and drawing operations. During drawing, if it is detected that the video screen of the display window needs to be displayed on the screen of the host extension device, the remote rendering thread 317 is started and the drawing command is sent to the remote rendering thread 317.
[0128] The remote rendering thread 317 will load the module rendering dynamic library and use the relevant interface calls to convert the relevant call functions of GPU rendering into a rendering flow and pass it to the remote rendering service module 317.
[0129] The remote rendering service module 317 transmits the window parameters and the rendering stream to the rendering stream display module 322 of the host extension device. The rendering stream display module 322 completes the video rendering according to the window parameters and the rendering stream, and displays the rendered video picture on the screen of the host extension device.
[0130] It can be seen that the embodiment of the present invention uses a rendering stream to transmit rendering commands for video images. The CPU and GPU performance consumption of the video conferencing host is shared by the host expansion device, and the encoding and decoding performance of the video conferencing host is not occupied. In addition, the rendering stream is smaller than the video stream, so that the delay in transmitting the rendering stream is shorter, and the bandwidth occupied by transmitting the rendering stream is smaller. By performing video rendering on the host expansion device, the frame rate of the played video is also higher, and the smoothness of the video playback is higher, thereby improving the user experience.
[0131] Although the embodiments of the present invention have been shown and described above, it is to be understood that the above embodiments are exemplary and are not to be construed as limitations on the present invention. A person skilled in the art may change, modify, replace and modify the above embodiments within the scope of the present invention without departing from the principles and intent of the present invention.
Claims
1. A video rendering system, characterized in that: The video rendering system includes a video conference host and a host expansion device; After the video conference host creates a virtual screen, a display window is created based on screen information of the virtual screen, wherein the virtual screen is created after the video conference host detects that it is connected to the host extension device, and the screen information of the virtual screen is the same as the screen information of the host extension device; If the video conference host detects that the video picture of the display window needs to be displayed on the screen of the host extension device, converting the video picture information of the display window into a rendering stream; The video conference host sends a rendering instruction to the host extension device, where the rendering instruction carries the rendering stream; The host extension device performs video rendering based on the rendering instruction.
2. The system according to claim 1, characterized in that The video conference host converts the video picture information of the display window into a rendering stream, including: The video conference host starts a remote rendering thread and sends a drawing command of the display window to the remote rendering thread; After receiving the drawing command, the remote rendering thread encodes the rendering function required to be called for rendering the video screen of the display window and the parameters of the rendering function into a byte stream, and determines the obtained byte stream as a rendering stream.
3. The system according to claim 2, characterized in that The video conference host includes a remote rendering service module; The video conference host sends a rendering instruction to the host extension device, including: The video conference host sends a rendering stream to the remote rendering service module through the remote rendering thread; The video conference host sends a rendering instruction carrying the rendering stream to the host extension device through the remote rendering service module.
4. The system according to any one of claims 1 to 3, characterized in that: The host expansion device includes a rendering stream display module; The video conference host sends a rendering instruction to the host extension device, including: The video conference host sends a rendering instruction to the rendering stream display module; Accordingly, the host extension device performs video rendering based on the rendering instruction, including: The rendering stream display module of the host extension device receives the rendering instruction, and parses the rendering instruction to obtain a rendering stream; The rendering stream display module of the host extension device calls a rendering function according to the rendering stream, renders the video picture, and displays the rendered video picture on the screen of the host extension device.
5. The system according to any one of claims 1 to 3, characterized in that: The host expansion device includes a host management module, and the video conference host includes a logic service module; After the host extension device is connected to the video conference host, the host extension device sends a remote virtual screen display request to the logic service module of the video conference host through the host management module, and the remote virtual screen display request carries the screen information of the host extension device.
6. The system according to claim 5, characterized in that The video conference host also includes a display service module and a display management service module; After receiving the remote virtual screen display request, the logic service module of the video conference host sends a virtual screen creation request to the display service module of the video conference host, wherein the virtual screen creation request carries the screen information of the host extension device; The display service module of the video conference host sends the virtual screen creation request to the display management service module; The display management service module of the video conference host creates a virtual screen based on the screen information carried in the virtual screen creation request.
7. The system according to claim 6, characterized in that The video conference host is installed with video conference software, and the video conference host also includes a window management service module; The video conference host creates a display window based on the screen information of the virtual screen, including: The display management service module of the video conference host sends screen information of the created screen to the video conference software; After receiving the screen information, the video conferencing software creates a display window for the window management service module based on the screen information.
8. The system according to claim 4, characterized in that The window management service module of the video conference host sends the window parameters of the created display window to the remote rendering service module; Correspondingly, the video conference host sends a rendering instruction to the rendering stream display module, including: The video conference host sends a rendering instruction to the rendering stream display module through the remote rendering service module, and the rendering instruction carries the rendering stream and the window parameters.
9. The system according to any one of claims 1 to 3, characterized in that: The video conference host sends a rendering instruction to the host extension device, including: When the video conference host detects that the layer state of the display window has changed, the host extension device sends a rendering instruction, wherein the rendering instruction also includes the changed layer state; The host extension device performs video rendering based on the rendering instruction, including: The host extension device changes the layer corresponding to the video image displayed on the screen according to the layer status carried by the rendering instruction.
10. A video rendering method, characterized in that: Applied to a video rendering system, the video rendering system includes a video conference host and a host expansion device, and the method includes: After the video conference host creates a virtual screen, a display window is created based on screen information of the virtual screen, wherein the virtual screen is created after the video conference host detects that it is connected to the host extension device; If the video conference host detects that the video picture information of the display window needs to be displayed on the screen of the host extension device, converting the video picture information of the display window into a rendering stream; The video conference host sends a rendering instruction to the host extension device, where the rendering instruction carries the rendering stream; The host extension device performs video rendering based on the rendering instruction.