Host device, display method and display system
By using a virtual display driver unit and a decoder to process the data to be displayed in the host device, the problem of the secondary display operating occupying graphics card resources is solved, and the effect of efficient operation of the main display and the secondary display at the same time is achieved.
Patent Information
- Application Number
- CN202411931799.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-26
- Publication Date
- 2025-04-29
- Estimated Expiration
- 2044-12-26
AI Technical Summary
In a monitoring scenario, when the main monitor and the secondary monitor are running at the same time, the operation of the secondary monitor may occupy the graphics card resources of the host device, affecting the performance of the main monitor.
By introducing a virtual display driver unit and a decoder into the host device, a virtual display is established and the data to be displayed is converted and decoded, avoiding consuming graphics card resources.
Ensure that the main monitor and the secondary monitor can operate efficiently at the same time, reduce the burden on the graphics card of the host device, and improve overall performance.
Smart Images

Figure CN119473201B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a host device, a display method and a display system. Background Art
[0002] In surveillance scenarios, computers are usually required to meet daily usage needs and display surveillance videos in real time. To this end, a common solution is to connect multiple displays through a host device to achieve multi-task parallel processing and information display.
[0003] Among them, the main display is generally used for daily operations such as processing documents, browsing the web, and conducting video conferencing; the secondary display is used to display surveillance videos in real time or handle other tasks.
[0004] However, when the main monitor and the sub-monitor are running at the same time, it means that they are occupying the graphics card resources of the host device. When the monitored video stream is large and the decoding task is heavy, the operation of the sub-monitor may have a certain impact on the performance of the host device, thereby affecting the normal use of the main monitor. Summary of the invention
[0005] The present application provides a host device, a display method and a display system, which can enable a secondary display to operate efficiently at the same time without occupying the graphics card resources of the host device during operation.
[0006] In a first aspect, the present application provides a host device, the host device comprising a decoder and a processor; the decoder is used to connect to at least one first display; the processor comprises a virtual display driving unit and a display control unit;
[0007] The virtual display driving unit is used to establish a virtual display, convert the first to-be-displayed data corresponding to the virtual display, and transmit the converted target display data to the display control unit;
[0008] The display control unit is used to write the target display data into a preset first address space;
[0009] The decoder is used for acquiring target display data from the first address space, and transmitting the target display data to the first display after decoding the target display data.
[0010] In some embodiments, the target display data includes cursor position morphology data and / or desktop display frame data;
[0011] The display control unit is specifically used for: performing a first preprocessing on the received target display data; writing the first preprocessed target display data into a first address space, and sending indication information to the decoder; the first preprocessing includes data integration processing and / or format conversion processing; the first address space includes a high-speed serial computer expansion bus standard (Peripheral Component Interconnect Express, PCIE) address space;
[0012] The decoder is specifically used for: upon receiving the above indication information, obtaining the target display data from the first address space, decoding the target display data and transmitting the decoded data to the frame buffer corresponding to the first display.
[0013] In some implementations, the processor further includes a video access unit;
[0014] The video access unit is used to: receive at least one video code stream data; write the video code stream data into a preset second address space; and write control information corresponding to the video code stream data into the first address space; the second address space includes a direct memory access (DMA) address space, and the control information includes display area information corresponding to the video code stream data;
[0015] The decoder is specifically used to: obtain target display data and control information from the first address space, and obtain video code stream data from the second address space; according to the target display data and control information, decode the target display data and video code stream data and transmit them to the frame buffer corresponding to the first display.
[0016] In some implementations, the target display data includes cursor position shape data and / or key data; the decoder is specifically used to:
[0017] When the cursor position and shape data are acquired, a cursor display image is determined according to the cursor position and shape data, and the cursor display image is sent to the first display;
[0018] When the key data is acquired, adjusting the video display mode of the first display according to the key data;
[0019] When the video code stream data is acquired, the target display area corresponding to the video code stream data is determined according to the control information corresponding to the video code stream data; the video code stream data is decoded and processed, and the decoded video code stream data is output to the target display area in the first display for display.
[0020] In some implementations, the target display data further includes desktop display frame data;
[0021] The decoder is further specifically used for: when obtaining the desktop display frame data, decoding the desktop display frame data and transmitting the decoded data to the frame buffer corresponding to the first display.
[0022] In some implementations, the decoder is further configured to:
[0023] After determining the target display area corresponding to the video code stream data, the display background of the target display area in the first display is adjusted to be transparent.
[0024] In some embodiments, the display control unit is further configured to:
[0025] A preset watermark is added to the target display data.
[0026] In some embodiments, the host device further comprises a graphics card; the graphics card is used to connect to a second display;
[0027] The graphics card is used for converting the second data to be displayed corresponding to the second display, and decoding the converted second data to be displayed and transmitting the decoded data to the second display.
[0028] In a second aspect, the present application provides a display method, which is applied to a host device, wherein the host device includes a decoder and a processor; the decoder is used to connect to at least one first display; the method includes:
[0029] The processor establishes a virtual display in response to the virtual display creation instruction, converts the first to-be-displayed data corresponding to the virtual display, and writes the converted target display data into a preset first address space;
[0030] The decoder responds to the instruction information sent by the processor, obtains the target display data from the first address space, decodes the target display data, and transmits it to the first display.
[0031] In a third aspect, the present application provides a display system, which includes a host device, a second display and at least one first display; the host device includes a decoder and a graphics card; the decoder is used to connect to at least one first display; the graphics card is used to connect to the second display; the above-mentioned host device is the host device provided in the first aspect.
[0032] The host device, display method and display system provided by the present application can receive and process the to-be-displayed data corresponding to the first display that originally needs to be processed by the graphics card by utilizing a virtual display driver unit and a decoder. This not only ensures that the to-be-displayed data can be displayed smoothly on the first display, but also enables the first display to not occupy the graphics card resources of the host device during operation, effectively reducing the burden on the graphics card of the host device, thereby ensuring that the second display can operate efficiently. BRIEF DESCRIPTION OF THE DRAWINGS
[0033] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0034] Figure 1 A schematic diagram of a display system provided in this application;
[0035] Figure 2 A schematic diagram of the structure of a host device provided in this application;
[0036] Figure 3 This is a schematic diagram of a scene in which the first display is in a desktop display mode in an embodiment of the present application;
[0037] Figure 4 Schematic diagram of the program architecture when the first display is in desktop display mode in the embodiment of the present application;
[0038] Figure 5 This is a schematic diagram of a scene in which the first display is in a video playback mode in an embodiment of the present application;
[0039] Figure 6 Schematic diagram of the program architecture of the first display in the video playback mode in the embodiment of the present application;
[0040] Figure 7 This is a schematic diagram of a scene in which the first display is in a fusion mode in an embodiment of the present application;
[0041] Figure 8 Schematic diagram of the program architecture of the first display in the fusion mode in the embodiment of the present application.
[0042] The above drawings have shown clear embodiments of the present application, which will be described in more detail later. These drawings and text descriptions are not intended to limit the scope of the present application in any way, but to illustrate the concept of the present application to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION
[0043] Here, each exemplary embodiment of the present application will be described in detail. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application.
[0044] In order to facilitate the clear description of the technical solutions of the embodiments of the present application, in the embodiments of the present application, words such as "exemplary" and "for example" are used to indicate examples, illustrations or explanations. Any embodiment or design described as "exemplary" or "for example" in the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.
[0045] In the embodiments of the present application, words such as "first" and "second" are used to distinguish the same or similar items with substantially the same functions and effects. For example, the first display and the second display are only used to distinguish different displays, and their order is not limited. Those skilled in the art can understand that words such as "first" and "second" do not limit the quantity and execution order, and words such as "first" and "second" do not necessarily limit them to be different.
[0046] In the embodiments of the present application, "at least one" refers to one or more, and "plurality" refers to two or more. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc. "And / or" describes the association relationship of associated objects, indicating that three relationships can exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the previous and subsequent associated objects are in an "or" relationship.
[0047] In order to clearly describe the technical solutions of the embodiments of the present application, some of the terms and technologies involved in the embodiments of the present application are briefly introduced below:
[0048] 1. Graphics card
[0049] The full name of the display interface card, also known as display adapter or graphics processing unit (GPU), is a hardware device used to process graphics-related operations in the computer. Its core task is to generate images on the display. It processes the image data sent by the central processing unit (CPU) into a format that the display can recognize, and then transmits it to the display to form an image.
[0050] Specifically, the graphics card can convert the graphics data processed by the CPU into pixel information that can be displayed by the monitor, thereby realizing the rendering and display of graphics. In addition, the graphics card also has a video decoding function, which can efficiently process video files and provide a smooth video playback experience.
[0051] 2. Virtual display driver
[0052] A software program that allows a computer's operating system to recognize and manage virtual display devices. These virtual devices do not actually exist but are simulated by software. The functions of a virtual display driver include:
[0053] Adding virtual displays: With the virtual display driver, users can add one or more virtual displays to their computers to expand their workspace or meet specific display requirements.
[0054] Configure display parameters: Users can configure the resolution, refresh rate and other parameters of each virtual display to meet different application scenarios.
[0055] 3. Virtual Display
[0056] A display device created and managed by a virtual display driver. It does not have a physical form, but is a display area simulated by software. The characteristics of a virtual display include:
[0057] Simulated display: The virtual display simulates the display area through software, in which the user can perform various operations, such as opening windows and browsing web pages using the mouse or keyboard.
[0058] Expand your workspace: By adding virtual displays, users can expand their computer's workspace to multitask more efficiently.
[0059] Flexibility: The configuration and parameters of the virtual display can be flexibly adjusted according to user needs.
[0060] 4. Decoder
[0061] A specially designed hardware device that can be used to solve the problem of incompatible video encoding formats and realize multi-channel video decoding output. In a video surveillance system, it can decode video signals of different encoding formats and output them as analog or digital signals for subsequent devices such as monitors to display.
[0062] In monitoring scenarios, a host device usually needs to be connected to multiple displays to achieve multi-task parallel processing and information display. Figure 1 , Figure 1 A schematic diagram of a display system provided in this application. Figure 1The display system shown includes a host device 101, a first display 102, and a second display 103. The second display 103 can be used as a main display for daily operations such as processing documents, browsing web pages, and conducting video conferences; the first display 102 can be used as a secondary display for real-time monitoring video or processing other tasks.
[0063] However, when the first display 102 and the second display 103 are running at the same time, it means that they are occupying the graphics card resources of the host device 101. When the monitored video stream is large and the decoding task is heavy, the operation of the first display 102 may have a certain impact on the performance of the host device 101, thereby affecting the normal use of the second display 103, such as causing video freezes, picture delays and other problems in the second display 103.
[0064] In view of the above technical problems, a host device is provided in an embodiment of the present application. The host device uses innovative technical means to enable the first display to operate without relying on the graphics card resources of the host device, thereby ensuring that the second display can operate efficiently and stably.
[0065] The technical solution provided by the present application is described in detail below through specific embodiments. It should be noted that the following embodiments can exist independently or in combination with each other, and the same or similar contents will not be described repeatedly in different embodiments.
[0066] Reference Figure 2 , Figure 2 A schematic diagram of the structure of a host device provided in this application.
[0067] In some embodiments, the host device 210 includes a processor 211, a decoder 212, and a graphics card 213; the processor 211 is connected to the decoder 212 and the graphics card 213 respectively; the decoder 212 is connected to the first display 220, and the graphics card 213 is connected to the second display 230. The second display 230 can be used as a main display for daily operations such as processing documents, browsing web pages, and conducting video conferences; the first display 220 can be used as a secondary display for real-time display of surveillance videos or processing other tasks.
[0068] In some embodiments, the processor 211 includes a virtual display driver unit and a display control unit. The virtual display driver unit is used to establish a virtual display, convert the first to-be-displayed data corresponding to the virtual display, and transmit the converted target display data to the display control unit. The display control unit is used to write the target display data into a preset first address space.
[0069] In some implementations, the decoder 212 is used to obtain the target display data from the first address space, and decode the target display data and transmit the decoded data to the first display 220 .
[0070] In some embodiments, the virtual display driver unit establishes a virtual display, which can be used to receive and process data that originally needs to be processed by the graphics card 213. Specifically, when the first data to be displayed (which can be a monitoring video stream, chart information or any other visual content) is generated, the virtual display driver unit will first capture the data and perform a series of conversion processes according to preset rules and algorithms. Optionally, the conversion process may include format adjustment, resolution adaptation, color correction, etc. to ensure that the first data to be displayed can be displayed in the virtual display.
[0071] The converted data, i.e., the target display data, is transmitted to the display control unit. The display control unit receives the target display data from the virtual display driver unit and writes the target display data into a preset address space. The address space opens up an independent area in the memory for temporarily storing the data to be decoded, thereby avoiding data conflicts with other processes of the host device.
[0072] The decoder 212 may be integrated with a variety of decoding algorithms to efficiently restore the encoded data to the original image or video information. After decoding, the data may be transmitted to the first display 220 for real-time viewing by the user.
[0073] In some embodiments, the graphics card 213 is used to convert the second data to be displayed corresponding to the second display 230 , and decode the converted second data to be displayed and transmit it to the second display 230 .
[0074] The host device provided in the embodiment of the present application can receive and process the data to be displayed that originally needs to be processed by the graphics card by utilizing the virtual display driver unit and the decoder. This not only ensures that the data to be displayed can be displayed smoothly on the first display, but also allows the first display to not occupy the graphics card resources of the host device during operation, effectively reducing the burden on the graphics card of the host device, thereby ensuring that the second display can operate efficiently.
[0075] Based on the contents described in the above embodiments, in some embodiments of the present application, the display mode of the above first display may include: desktop display mode, video playback mode, and a fusion mode of desktop display + video playback.
[0076] For example, refer to Figure 3 , Figure 3 This is a schematic diagram of a scene in which the first display is in desktop display mode in an embodiment of the present application.
[0077] In some embodiments, the second display 230 can serve as a main display to display any content, and the first display 220 serves as a secondary display. When no program is opened, the first display 220 can display a preset desktop image, which may be the same as or different from the desktop image corresponding to the second display 230. When a program is opened, the first display 220 can display the program window corresponding to the program on the desktop, such as displaying "Program Window 1" and "Program Window 2".
[0078] In some implementations, the “program window 1 ” and the “program window 2 ” can be dragged arbitrarily between the first display 220 and the second display 230 .
[0079] Reference Figure 4 , Figure 4 Schematic diagram of the program architecture when the first display is in desktop display mode in an embodiment of the present application.
[0080] In some implementations, the target display data includes cursor position shape data and / or desktop display frame data. The cursor may be a mouse pointer.
[0081] Optionally, the cursor position and shape data may include information such as the current position, size, shape and color of the cursor. The desktop display frame data may include desktop image information, which may be generated by a processor rendering system according to currently running programs and user interfaces.
[0082] In some implementations, the virtual display driver can simulate a virtual display connected to the system, process desktop display frame data from the processor rendering system, and complete functions such as power management, resolution adjustment, and plug-in events.
[0083] In some implementations, the display control unit may perform a first preprocessing on the received target display data; write the first preprocessed target display data into the first address space, and send indication information to the decoder.
[0084] Optionally, the first preprocessing includes data integration processing and / or format conversion processing; and the first address space includes a PCIE address space.
[0085] Optionally, the display control unit may include:
[0086] The acquisition module is used to acquire cursor position shape data and / or desktop display frame data.
[0087] A processing module includes a thread pool, which allows multiple threads to run simultaneously to process different tasks and can be used to perform data integration processing and / or format conversion processing on the above-mentioned cursor position morphology data and / or desktop display frame data.
[0088] Optionally, the data integration process can integrate multiple scattered data fragments (such as window images from different applications) into a complete display frame. The format conversion process can convert the format of the data into a format suitable for display hardware or virtual display processing.
[0089] The control module is used to perform smoothing control and output control on the output cursor position shape data and / or desktop display frame data.
[0090] In some embodiments, by using the above smooth control, by adjusting the output rate and synchronization mechanism of the data, the smooth movement and update of the cursor and desktop image can be ensured to avoid stuttering or tearing. The above output control can be used to send the processed data to the display hardware or virtual display for display.
[0091] In some implementations, the display control unit may write the cursor position shape data and / or desktop display frame data into the PCIE address space by address mapping in accordance with a certain frame rate control strategy, and instruct the decoder by interruption or the like.
[0092] In some implementations, upon receiving the indication information, the decoder obtains the target display data from the PCIE address space, decodes the target display data, and transmits the decoded data to a frame buffer corresponding to the first display.
[0093] Optionally, the decoder may include a display processing unit and a display output unit. The display processing unit is used to obtain the target display data from the PCIE address space after receiving the indication information, and regularly update the target display data to the frame buffer of the display driver after certain processing.
[0094] Optionally, the display processing unit includes:
[0095] The acquisition module is used to acquire cursor position shape data and / or desktop display frame data from the above PCIE address space.
[0096] The processing module is used to perform user interface (UI) layer processing based on the acquired cursor position shape data and / or desktop display frame data to generate a UI image.
[0097] Optionally, the above UI layer processing may include image synthesis, coordinate transformation, color correction, etc. to generate a UI image to be displayed.
[0098] In some implementations, the display output unit may utilize the UI layer to output the generated UI image to the first display 220 for display.
[0099] The host device provided in the present application can receive and process the cursor position morphology data and / or desktop display frame data corresponding to the first display that originally needs to be processed by the graphics card by utilizing the virtual display driver unit and the decoder. This not only ensures that the cursor position morphology data and / or the desktop display frame data can be displayed smoothly on the first display, but also enables the first display to not occupy the graphics card resources of the host device during operation, effectively reducing the burden on the graphics card of the host device, thereby ensuring that the second display can operate efficiently.
[0100] For example, refer to Figure 5 , Figure 5 This is a schematic diagram of a scene in which the first display is in a video playback mode in an embodiment of the present application.
[0101] In some embodiments, the second display 230 can be used as a main display to display any content, and the first display 220 can be used as a secondary display to display one or more videos. For example, the first display 220 can be divided into four independent display areas, which are used to display "video stream 1", "video stream 2", "video stream 3", and "video stream 4" respectively.
[0102] In some embodiments, the target display data includes cursor position shape data and / or key data.
[0103] Optionally, the above-mentioned key data may refer to instructions or data input by the user through a keyboard or other input devices (such as virtual keys on a touch screen), and these data may be used to control the operation of the computer, such as opening a file, closing a window, inputting text, etc.
[0104] In some implementations, the user can control the UI interface of the first display through a mouse or keyboard connected to the host device.
[0105] In some implementations, the first display and the second display display independently without interfering with each other, and the first display can accept mouse and keyboard input only when the first display is currently activated.
[0106] In some embodiments, the processor further includes a video access unit, which can be used to receive at least one video stream data, write the video stream data into a preset second address space, and write control information corresponding to the video stream data into the first address space.
[0107] Optionally, the second address space includes a DMA address space, and the control information includes display area information corresponding to the video code stream data.
[0108] In some embodiments, the decoder can be used to obtain the target display data and the control information from the first address space, and to obtain the video stream data from the second address space; according to the target display data and the control information, the target display data and the video stream data are decoded and transmitted to the frame buffer corresponding to the first display.
[0109] For example, refer to Figure 6 , Figure 6 Schematic diagram of the program architecture of the first display in the video playback mode in the embodiment of the present application.
[0110] In some implementations, the video access unit may first establish a control plane data transmission channel and a data plane data transmission channel with the decoder side.
[0111] Furthermore, the video access unit can receive video stream data from one or more video sources (such as "video source 1", "video source 2", ..., "video source n"). After processing the received video stream data, the video stream data is written into the cache queue, and the decoding library can be used to update the video stream data to the DMA address space, and the control information corresponding to the video stream data is written into the PCIE address space through the control plane data transmission channel.
[0112] In some implementations, the display control unit may write the cursor position shape data and / or key data into the PCIE address space according to a certain frame rate control strategy, and instruct the decoder through an interrupt or the like.
[0113] In some embodiments, the above decoder may be used to:
[0114] When the cursor position and shape data are acquired, a cursor display image is determined according to the cursor position and shape data, and the cursor display image is sent to the first display.
[0115] When the key data is acquired, the video display mode of the first display is adjusted according to the key data, for example, the full screen display mode is adjusted to the window display mode.
[0116] When the video code stream data is obtained, the target display area corresponding to the video code stream data is determined according to the control information corresponding to the video code stream data; the above video code stream data is decoded and the decoded video code stream data is output to the target display area in the first display for display.
[0117] For example, Figure 6 As shown, the decoder may include a display processing unit and a display output unit. The display processing unit includes:
[0118] The acquisition module is used to acquire target display data from the above PCIE address space, including cursor position shape data, button data, control information, etc.
[0119] The processing module is used to perform UI layer processing, key processing, cursor processing, decoding processing, video layer processing, etc. based on the acquired target display data.
[0120] Optionally, the above-mentioned key processing may include parsing and responding to key data, and performing various operations triggered by the user through keys. Cursor processing may include rendering and updating the position of the cursor based on the cursor position morphology data to ensure that the cursor can be accurately reflected on the first display. Decoding processing may include decoding the video stream data and restoring it to the original image frame data for subsequent display processing. Video layer processing may include further optimization and processing of the decoded image frame data, such as adjusting the resolution, color correction, etc., to ensure that the quality of the video picture is optimal.
[0121] In some embodiments, the display output unit may utilize the UI layer, the video layer, and the cursor layer to output the received UI image, the video stream data, and the cursor position shape data to the first display 220 for display.
[0122] The host device provided in the present application can receive and process the video stream data corresponding to the first display that requires graphics card processing by utilizing a virtual display driver unit and a decoder. This not only ensures that the video stream data can be displayed smoothly on the first display, but also allows the first display to not occupy the graphics card resources of the host device during operation, effectively reducing the burden on the graphics card of the host device, thereby ensuring that the second display can operate efficiently.
[0123] For example, refer to Figure 7 , Figure 7 This is a schematic diagram of a scene in which the first display is in a fusion mode in an embodiment of the present application.
[0124] In some embodiments, the second display 230 as a main display can display any content, and the first display 220 as a secondary display can include one or more program windows and one or more video playback windows, and the video playback window can display one or more videos. Figure 7 In the embodiment, the first display 220 can simultaneously display the "program window 1" and the "video playback window", and the "video playback window" can be divided into four independent display areas, which are used to display "video stream 1", "video stream 2", "video stream 3" and "video stream 4" respectively.
[0125] In some implementations, the target display data may include one or more of the following: cursor position shape data, key data, desktop display frame data, and video code stream data.
[0126] For example, refer to Figure 8 , Figure 8 Schematic diagram of the program architecture of the first display in the fusion mode in the embodiment of the present application.
[0127] In some implementations, the video access unit can receive video stream data from one or more video sources (such as "video source 1", "video source 2", ..., "video source n"). After processing the received video stream data, the video stream data is written into the cache queue, and the decoding library can be used to update the above video stream data to the DMA address space, and the control information corresponding to the above video stream data is written into the PCIE address space through the control plane data transmission channel. The above control information includes the display area information corresponding to the above video stream data.
[0128] In some implementations, the display control unit may write the cursor position shape data and / or key data into the PCIE address space according to a certain frame rate control strategy, and instruct the decoder through an interrupt or the like.
[0129] In some embodiments, the above decoder may be used to:
[0130] When the desktop display frame data is acquired, the desktop display frame data may be decoded and then transmitted to a frame buffer corresponding to the first display.
[0131] When the cursor position and shape data are acquired, a cursor display image is determined according to the cursor position and shape data, and the cursor display image is sent to the first display.
[0132] When the key data is acquired, the video display mode of the first display is adjusted according to the key data, for example, the full screen display mode is adjusted to the window display mode.
[0133] When the video code stream data is obtained, the target display area corresponding to the video code stream data is determined according to the control information corresponding to the video code stream data; the above video code stream data is decoded and the decoded video code stream data is output to the target display area in the first display for display.
[0134] For example, Figure 8 As shown, the decoder may include a display processing unit and a display output unit. The display processing unit includes:
[0135] The acquisition module is used to acquire target display data from the above PCIE address space, including desktop display frame data, cursor position shape data, button data, control information, etc.
[0136] The processing module is used to perform UI layer processing, key processing, cursor processing, decoding processing, video layer processing, and video UI fusion based on the acquired target display data.
[0137] Among them, UI layer processing, button processing, cursor processing, decoding processing, and video layer processing can refer to the description in the above embodiments; video UI fusion includes fusion processing of video display data and desktop display data.
[0138] In some implementations, after determining the target display area corresponding to the video code stream data, the decoder may adjust the display background of the target display area in the first display to be transparent.
[0139] In some embodiments, when processing the video code stream data, the decoder first identifies and determines the display area corresponding to the data, i.e., the target display area. Subsequently, the decoder sets the background of the target display area to be transparent, which means that in this area, the video content will be directly covered on the original background, and the background itself will no longer be displayed.
[0140] In some implementations, the display control unit may draw the cursor directly into the display frame to ensure that the cursor is correctly displayed on the first display.
[0141] In some implementations, the playback area of the video on the first display is an absolute coordinate rectangular area, thereby ensuring accurate positioning and display of the video content.
[0142] In some embodiments, if the cursor is located in the video playback area, in order to ensure the visibility and operability of the cursor, the display control unit may draw the cursor on the cursor layer, thereby preventing the cursor from being covered or blocked by the video content.
[0143] In some implementations, the display control unit may also add a preset watermark to the target display data.
[0144] The host device provided in the present application can receive and process data corresponding to the first display that requires graphics card processing by utilizing a virtual display driver unit and a decoder, which not only ensures that the video stream data can be displayed smoothly on the first display, but also enables the first display to not occupy the graphics card resources of the host device during operation, effectively reducing the burden on the graphics card of the host device, thereby ensuring that the second display can operate efficiently.
[0145] In some embodiments of the present application, a display method is also provided, which can be applied to the above host device, and the method includes:
[0146] S1. The processor establishes a virtual display in response to a virtual display creation instruction, converts first to-be-displayed data corresponding to the virtual display, and writes the converted target display data into a preset first address space;
[0147] S2. The decoder obtains target display data from the first address space in response to the instruction information sent by the processor, and decodes the target display data and transmits it to the first display.
[0148] The display method provided in the present application can receive and process the to-be-displayed data corresponding to the first display that originally needs to be processed by the graphics card by utilizing a virtual display driver unit and a decoder. This not only ensures that the to-be-displayed data can be displayed smoothly on the first display, but also enables the first display to not occupy the graphics card resources of the host device during operation, effectively reducing the burden on the graphics card of the host device, thereby ensuring that the second display can operate efficiently.
[0149] It is understandable that the division of the various units or modules in the above-mentioned host device is only a division of logical functions. Each function may correspond to a unit / functional module, or two or more functions may be integrated into one unit / functional module. In actual implementation, all or part of the units / modules may be integrated into one physical entity, or they may be distributed in different physical entities. In addition, the above-mentioned functional modules may be implemented in the form of hardware, software, or a combination of hardware and software, depending on the actual situation. Whether a function is executed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0150] In the above embodiments, the processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), etc. A general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc. The steps of the method applied in the present application may be directly embodied as being executed by a hardware processor, or may be executed by a combination of hardware and software modules in the processor.
[0151] The functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0152] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can essentially or in other words, the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, and other media that can store program codes.
[0153] Finally, it should be noted that those skilled in the art will easily think of other embodiments of the present application after considering the specification and practicing the present application. The embodiments of the present application are intended to cover any modification, use or adaptation of the present application, which follows the general principles of the present application and includes common knowledge or customary technical means in the technical field that are not applied for by the present application, is not limited to the precise structure described above and shown in the drawings, and can be modified and changed in various ways without departing from the scope thereof. The scope of the present application is limited only by the appended claims.
Claims
1. A host device, characterized in that: The host device includes a decoder, a processor and a graphics card; the decoder is used to connect to at least one first display; the graphics card is connected to a second display to transmit the processed second data to be displayed to the second display; the processor includes a virtual display driver unit and a display control unit; The virtual display driving unit is used to establish a virtual display, convert the first to-be-displayed data corresponding to the virtual display, and transmit the converted target display data to the display control unit; The display control unit is used to write the target display data into a preset first address space; The decoder is used for acquiring the target display data from the first address space, and transmitting the target display data to the first display after decoding the target display data.
2. The host device according to claim 1, characterized in that: The target display data includes cursor position shape data and / or desktop display frame data; The display control unit is specifically configured to: perform first preprocessing on the received target display data; write the first preprocessed target display data into the first address space, and send indication information to the decoder; The first preprocessing includes data integration processing and / or format conversion processing; the first address space includes a high-speed serial computer expansion bus standard PCIE address space; The decoder is specifically configured to: upon receiving the indication information, obtain the target display data from the first address space, and decode the target display data and transmit the decoded data to a frame buffer corresponding to the first display.
3. The host device according to claim 1, characterized in that: The processor also includes a video access unit; The video access unit is used to: receive at least one video code stream data; write the video code stream data into a preset second address space, and write control information corresponding to the video code stream data into the first address space; the second address space includes a direct memory access DMA address space, and the control information includes display area information corresponding to the video code stream data; The decoder is specifically used to: obtain the target display data and the control information from the first address space, and obtain the video code stream data from the second address space; according to the target display data and the control information, decode the target display data and the video code stream data and transmit them to the frame buffer corresponding to the first display.
4. The host device according to claim 3, characterized in that: The target display data includes cursor position shape data and / or key data; the decoder is specifically used for: When the cursor position and form data are acquired, determining a cursor display image according to the cursor position and form data, and sending the cursor display image to the first display; When the key data is acquired, adjusting the video display mode of the first display according to the key data; When the video code stream data is acquired, determining a target display area corresponding to the video code stream data according to control information corresponding to the video code stream data; The video code stream data is decoded and the decoded video code stream data is output to the target display area in the first display for display.
5. The host device according to claim 4, characterized in that: The target display data also includes desktop display frame data; The decoder is further specifically configured to: when acquiring the desktop display frame data, decode the desktop display frame data and transmit the decoded data to a frame buffer corresponding to the first display.
6. The host device according to claim 4, characterized in that: The decoder is further specifically used for: After determining the target display area corresponding to the video code stream data, the display background of the target display area in the first display is adjusted to be transparent.
7. The host device according to claim 4, characterized in that: The display control unit is also used for: A preset watermark is added to the target display data.
8. The host device according to any one of claims 1 to 7, characterized in that: The host device also includes a graphics card; the graphics card is used to connect to a second display; The graphics card is used for converting the second data to be displayed corresponding to the second display, and decoding the converted second data to be displayed and transmitting the decoded data to the second display.
9. A display method, characterized in that: Applied to a host device, the host device comprising a decoder, a processor and a graphics card; The decoder is used to connect to at least one first display; The graphics card is connected to a second display to transmit the processed second data to be displayed to the second display; the method comprises: The processor establishes a virtual display in response to a virtual display creation instruction, converts first to-be-displayed data corresponding to the virtual display, and writes the converted target display data into a preset first address space; The decoder obtains the target display data from the first address space in response to the instruction information sent by the processor, and transmits the target display data to the first display after decoding the target display data.
10. A display system, characterized in that: The display system comprises a host device, a second display and at least one first display; the host device comprises a decoder and a graphics card; the decoder is used to connect to the at least one first display; The graphics card is used to connect to the second display; The host device is the host device according to any one of claims 1 to 8.
Citation Information
Patent Citations
Display processing method and system
CN109522070A