Image display method, program product, substrate management controller and system

By using interlaced scanning and adaptive selection of display methods in the BMC system, the display problem caused by insufficient video memory bandwidth is solved, and the effect of reducing video memory bandwidth and improving user experience is achieved.

CN120179200AActive Publication Date: 2025-06-20SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
CN202510661944.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-22
Publication Date
2025-06-20
Estimated Expiration
2045-05-22

AI Technical Summary

Technical Problem

When the BMC system is loading high, insufficient memory bandwidth will lead to problems such as display screens and image tearing, affecting the user experience.

Method used

Use interlaced scanning to read image data from the video memory, and analyze image changes based on historical image data. Adaptively select the display method of interlaced or progressive scanning to reduce the problem of video memory reading and jagged tearing.

Benefits of technology

On the basis of not affecting the display effect as much as possible, reduce the memory bandwidth required for BMC display, reduce jagging and tearing problems, and improve user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120179200A_ABST
    Figure CN120179200A_ABST
Patent Text Reader

Abstract

The invention discloses an image display method, a program product, a substrate management controller and a system, and relates to the technical field of servers, the method is applied to the substrate management controller, and the method comprises the following steps: when a first field of data of a current frame image is read from a video memory by adopting an interlaced scanning mode, according to historical image data stored in a preset buffer area, obtaining a first field of data of the current frame image; acquiring an image change condition of the current frame image; if the image change condition is that the picture change is not obvious, outputting first field data of the current frame image; if the image change condition is that the picture change is obvious, outputting a first field of progressive scanning image corresponding to the current frame image; the current image change degree can be analyzed and determined to adaptively select the display mode of interlaced scanning or progressive scanning, so that the reading behavior on the video memory is reduced through interlaced scanning, the display problems of sawteeth, tearing and the like are reduced through progressive scanning, and the display efficiency can be improved on the basis of not influencing the display effect as far as possible. And the video memory bandwidth required by the display of the BMC is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of servers, and in particular to an image display method, a program product, a baseboard management controller and a system. Background Art

[0002] At present, the images displayed on the local display or remote page of the server need to be processed by the internal integrated graphics card of the BMC (Baseboard Management Controller) and output to the local display or web page for display. The video memory used by the integrated graphics card generally uses a part of the reserved space in the system memory of the BMC system. In the BMC system, the system memory is often used not only as video memory, but also as the CPU (Central Processing Unit) calculation, network and operating system kernel operation in the BMC; therefore, when the BMC system load is high and the utilization rate of the BMC system memory is high, the memory bandwidth will be insufficient, resulting in display distortion and image tearing, which affects the display perception. Therefore, in order to reduce the bandwidth required for display without affecting other services of the BMC, it is possible to directly avoid the situation of insufficient memory bandwidth.

[0003] In the related art, in order to reduce the bandwidth required for BMC display, most of them save video memory bandwidth by reducing the CPU's consumption of video memory read and write resources, such as reducing the display frame rate and resolution, but this method will affect the actual display viewing effect of users. Therefore, how to reduce the video memory bandwidth required for BMC display without affecting the display effect as much as possible and improve the user experience is an urgent problem to be solved today. Summary of the invention

[0004] The object of the present invention is to provide an image display method, a computer program product, a baseboard management controller and a baseboard management controller system, so as to reduce the video memory bandwidth required for BMC display without affecting the display effect as much as possible, thereby improving the user experience.

[0005] In order to solve the above technical problems, the present invention provides an image display method, which is applied to a baseboard management controller, comprising: Adopting interlaced scanning mode, reading the first field data and the second field data of each frame of the image to be displayed from the video memory in sequence; wherein the first field data is odd field data or even field data; When reading the first - field data of the current - frame image from the video memory using the interlaced scanning method, obtain the image change situation of the current - frame image according to the historical image data stored in the preset buffer; wherein, the current - frame image is any one of the to - be - displayed images, and the historical image data includes at least two to - be - displayed images before the current - frame image; If the image change situation is that the picture change is not obvious, output the first - field data of the current - frame image to display the first - field interlaced scanning image on the local display and / or the remote page; wherein, the first - field interlaced scanning image includes the first - field data of the current - frame image and the second - field data of the previous - frame image; If the image change situation is that the picture change is obvious, output the first - field progressive scanning image corresponding to the current - frame image to display the first - field progressive scanning image on the local display and / or the remote page; wherein, the first - field progressive scanning image is an image generated according to the historical image data and the first - field data of the current - frame image.

[0006] On the other hand, the historical image data includes the first - frame image and the second - frame image before the current - frame image, the first - frame image is consecutive with the current - frame image, and the second - frame image is consecutive with the first - frame image.

[0007] On the other hand, obtaining the image change situation of the current - frame image according to the historical image data stored in the preset buffer includes: Perform pixel - block matching on the first - frame image and the second - frame image according to the preset pixel - block size to obtain the movement - vector information of each pair of matching pixel - blocks; wherein, each pair of the matching pixel - blocks includes two pixel - blocks of the preset pixel - block size matched in the first - frame image and the second - frame image; Determine the image change situation of the current - frame image according to the movement - vector information.

[0008] On the other hand, performing pixel - block matching on the first - frame image and the second - frame image according to the preset pixel - block size to obtain the movement - vector information of each pair of matching pixel - blocks includes: Calculate the absolute value of the difference between the pixel values at the same position between the first - frame image and the second - frame image to obtain a difference image; Determine the target transformation region according to the difference image and the pixel - gap threshold; wherein, the target transformation region includes the pixel - point positions in the difference image where the pixel values are greater than the pixel - gap threshold; According to the target transformation region, perform pixel - block matching on the first - frame image and the second - frame image according to the preset pixel - block size to obtain the movement - vector information of each pair of matching pixel - blocks; wherein, at least one pixel - block in each pair of the matching pixel - blocks is within the target transformation region.

[0009] On the other hand, according to the motion vector information, determine the image change situation of the current frame image, including: According to the motion vector information, calculate the average displacement degree of all the matching pixel blocks; If the average displacement degree is not greater than the displacement degree threshold, determine that the image change situation is that the picture change is not obvious; If the average displacement degree is greater than the displacement degree threshold, determine that the image change situation is that the picture change is obvious.

[0010] On the other hand, the motion vector information of each pair of the matching pixel blocks includes a horizontal motion vector and a vertical motion vector; the horizontal motion vector in the motion vector information of the current pair of matching pixel blocks is x b -x a , and the vertical motion vector in the motion vector information of the current pair of matching pixel blocks is y b -y a , and the coordinates of the pixel block in the first frame image in the current pair of matching pixel blocks are (x b , y b ), and the coordinates of the pixel block in the second frame image in the current pair of matching pixel blocks are (x a , y a ).

[0011] On the other hand, the preset buffer includes a first buffer, a second buffer, a third buffer, and a fourth buffer. The first buffer is used to store the first field data of the first frame image, the second buffer is used to store the second field data of the first frame image, the third buffer is used to store the first field data of the second frame image, and the fourth buffer is used to store the second field data of the second frame image.

[0012] On the other hand, the method further includes: When reading the second field data of the current frame image from the video memory in the interlaced scanning mode, output the second field data of the current frame image to display the second field interlaced scanning image on the local display and / or the remote page; wherein, the second field interlaced scanning image includes the first field data and the second field data of the current frame image.

[0013] On the other hand, the first field data is odd field data, and the second field data is even field data.

[0014] On the other hand, outputting the first field data of the current frame image includes: Sequentially output the pixel data of each row of the first field data of the current frame image to the local display through a video graphics array interface; Correspondingly, output the first progressive scan image corresponding to the current frame image, including: Output each row of pixel data of the first progressive scan image to the local display progressively through the video graphics array interface.

[0015] On the other hand, output each row of pixel data of the first field data of the current frame image to the local display sequentially through the video graphics array interface, including: Generate an image timing corresponding to the first field data of the current frame image; Output each row of pixel data of the first field data of the current frame image to the local display sequentially through the video graphics array interface according to the image timing.

[0016] On the other hand, the first progressive scan image includes the first field data of the current frame image and the second field prediction data, and the second field prediction data is interpolation data calculated according to the historical image data or the historical image data and the first field data of the current frame image.

[0017] On the other hand, the historical image data includes the first frame image and the second frame image before the current frame image; output the first progressive scan image corresponding to the current frame image, including: Calculate the second field prediction data according to the first frame image, the second frame image, the first field data of the current frame image, and the motion vector information of each pair of matching pixel blocks; wherein, each pair of the matching pixel blocks includes two pixel blocks of a preset pixel block size that are matched through pixel block matching in the first frame image and the second frame image.

[0018] On the other hand, calculate the second field prediction data according to the first frame image, the second frame image, the first field data of the current frame image, and the motion vector information of each pair of matching pixel blocks, including: If the pixel position of the current pixel point in the second field prediction data is not within the matching pixel block in the first frame image or the second frame image, or the vertical motion vector in the motion vector information corresponding to the matching pixel block where the pixel position of the current pixel point is located in the first frame image or the second frame image is not 0, then through B2' h =(A 1h / (A 1h +A 0h ))*B 0h +(A 2h / (A 1h +A 2h ))*B 1h, calculate the pixel value of the current pixel in the second - field prediction data; where the current pixel h is any pixel in the second - field prediction data, B2' h is the pixel value of the current pixel in the second - field prediction data, A 1h is the pixel value of the pixel position of the current pixel in the first - field data of the first frame image, A 0h is the pixel value of the pixel position of the current pixel in the first - field data of the second frame image, B 0h is the pixel value of the pixel position of the current pixel in the second - field data of the second frame image, A 2h is the pixel value of the pixel position of the current pixel in the first - field data of the current frame image, B 1h is the pixel value of the pixel position of the current pixel in the second - field data of the first frame image; If the pixel position of the current pixel in the second - field prediction data is within the matching pixel block in the first frame image or the second frame image and the vertical movement vector in the movement vector information corresponding to the matching pixel block is 0, then through B2' h =(A 1h / (A 1h +A 0h ))*B 0h(x-x0) +(A 2h / (A 1h +A 2h ))*B 1h(x-x0) , calculate the pixel value of the current pixel in the second - field prediction data; where B 0h(x-x0) is the pixel value of the movement pixel position corresponding to the current pixel in the second - field data of the second frame image, B 1h(x-x0) is the pixel value of the movement pixel position h(x - x0) corresponding to the current pixel in the second - field data of the first frame image, and the movement pixel position corresponding to the current pixel is the pixel position corresponding to the difference between the horizontal coordinate of the current pixel and the horizontal movement vector x0 in the movement vector information corresponding to the matching pixel block.

[0019] The present invention also provides a computer program product, including computer programs / instructions, which when executed by a processor implement the steps of the image display method as described above.

[0020] The present invention also provides a baseboard management controller, including: A memory for storing computer programs; A processor for implementing the steps of the image display method as described above when executing the computer programs.

[0021] In addition, the present invention also provides a baseboard management controller system, including: a control module, a preset buffer, a motion detection module, a pixel value prediction module, and an output module; wherein, The control module is configured to sequentially read the first-field data and the second-field data of each frame of the image to be displayed from the video memory in an interlaced scanning manner; wherein, the first-field data is odd-field data or even-field data; The motion detection module is configured to, under the control of the control module, when reading the first-field data of the current frame image from the video memory in the interlaced scanning manner, obtain the image change situation of the current frame image according to the historical image data stored in the preset buffer; wherein, the current frame image is any one of the images to be displayed, and the historical image data includes at least two frames of the images to be displayed before the current frame image; The output module is configured to, under the control of the control module, when the image change situation is that the change of the picture is not obvious, output the first-field data of the current frame image to display the first interlaced scanning image on the local display and / or the remote page; when the image change situation is that the change of the picture is obvious, output the first progressive scanning image corresponding to the current frame image to display the first progressive scanning image on the local display and / or the remote page; wherein, the first interlaced scanning image includes the first-field data of the current frame image and the second-field data of the previous frame image; The pixel value prediction module is configured to, under the control of the control module, when the image change situation is that the change of the picture is obvious, generate the first progressive scanning image according to the historical image data and the first-field data of the current frame image.

[0022] An image display method provided by the present invention is applied to a baseboard management controller, including: sequentially reading the first-field data and the second-field data of each frame of the image to be displayed from the video memory in an interlaced scanning manner; wherein, the first-field data is odd-field data or even-field data; when reading the first-field data of the current frame image from the video memory in the interlaced scanning manner, obtaining the image change situation of the current frame image according to the historical image data stored in the preset buffer; wherein, the current frame image is any one of the images to be displayed, and the historical image data includes at least two frames of the images to be displayed before the current frame image; if the image change situation is that the change of the picture is not obvious, output the first-field data of the current frame image to display the first interlaced scanning image on the local display and / or the remote page; wherein, the first interlaced scanning image includes the first-field data of the current frame image and the second-field data of the previous frame image; if the image change situation is that the change of the picture is obvious, output the first progressive scanning image corresponding to the current frame image to display the first progressive scanning image on the local display and / or the remote page; wherein, the first progressive scanning image is an image generated according to the historical image data and the first-field data of the current frame image.

[0023] It can be seen that when the present invention reads the first - field data of the current - frame image from the video memory in an interlaced scanning manner, it obtains the image change situation of the current - frame image according to the historical image data stored in the preset buffer, can analyze and determine the degree of current - image change, and adaptively selects an interlaced scanning or progressive scanning display mode. Thus, the read behavior of the video memory is reduced through interlaced scanning, and display problems such as jaggedness and tearing are reduced through progressive scanning. It can reduce the video - memory bandwidth required for the BMC display on the basis of not affecting the display effect as much as possible, and improve the user experience. In addition, the present invention also provides a computer - program product, a baseboard management controller, and a baseboard management controller system, which also have the above - mentioned beneficial effects. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the drawings in the following description are only the embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained according to the provided drawings without creative efforts.

[0025] Figure 1 It is a schematic diagram of progressive scanning in the related art. Among them, (a) is the vertical scanning of progressive scanning, and (b) is the horizontal scanning of progressive scanning; Figure 2 It is a schematic diagram of interlaced scanning in the related art. Among them, (a) is the vertical scanning of interlaced scanning, (b) is the horizontal scanning field 1 of interlaced scanning, and (c) is the horizontal scanning field 2 of interlaced scanning; Figure 3 It is a flowchart of an image - display method provided by an embodiment of the present invention; Figure 4 It is a display diagram of an image transformation provided by an embodiment of the present invention; Figure 5 It is a display diagram of an interlaced - scanning output provided by an embodiment of the present invention; Figure 6 It is a display diagram of a progressive - scanning output provided by an embodiment of the present invention; Figure 7 It is a schematic flowchart of another image - display method provided by an embodiment of the present invention; Figure 8 It is a structural block diagram of an image - display device provided by an embodiment of the present invention; Figure 9 It is a structural schematic diagram of a baseboard management controller provided by an embodiment of the present invention; Figure 10A schematic structural diagram of a substrate management controller system provided by an embodiment of the present invention. Detailed implementation manners

[0026] To make the objectives, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Apparently, the described embodiments are some, but not all, of the embodiments of the present invention. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.

[0027] It can be understood that progressive scanning is that each frame of image is continuously scanned row by row in sequence, such as Figure 1 shown in (b) from left to right horizontally, such as Figure 1 shown in (a) from top to bottom vertically in the order of rows. Interlaced scanning is that a frame of image is scanned twice, that is, divided into two fields; as Figure 2 shown in (a) from top to bottom vertically, as Figure 2 shown in (b) the first field scans odd rows such as 1, 3, and 5, which is called the odd field, as Figure 2 shown in (c) the second field scans even rows such as 2, 4, and 6, which is called the even field; the odd field and the even field are combined to form a complete frame of image. Since the two scanning methods are different, the amount of pixel data transmitted per field is different. For example, for an image with a resolution of 640x480, the amount of data transmitted per field in progressive scanning is 640x480 pixels, while the amount of data transmitted per field in interlaced scanning is 640x240 pixels. Therefore, interlaced scanning can greatly reduce the bandwidth required for image transmission.

[0028] That is to say, compared with progressive scanning, if the BMC adopts interlaced scanning, it can effectively reduce the pixel density, so that the amount of data read from the video memory can be reduced by half, bringing a better bandwidth optimization effect. However, using the interlaced scanning method will introduce some display problems in image transmission, such as image tearing and jaggedness. Therefore, the embodiments of the present invention can adaptively select the display method of interlaced scanning or progressive scanning after interpolation by analyzing and determining the current degree of image change, so as to reduce the read behavior of the video memory through interlaced scanning, and reduce display problems such as jaggedness and tearing through progressive scanning, and can reduce the video memory bandwidth required for the display of the BMC on the basis of not affecting the display effect as much as possible, and improve the user experience.

[0029] Specifically, please refer to Figure 3 , Figure 3 which is a flowchart of an image display method provided by an embodiment of the present invention. This method is applied to a substrate management controller and includes: Step 101: In an interlaced scanning manner, sequentially read the first-field data and the second-field data of each frame of the image to be displayed from the video memory.

[0030] Among them, the first-field data is either odd-field data or even-field data.

[0031] It can be understood that in this embodiment, when the BMC (Baseboard Management Controller) reads each frame of the image to be displayed from the video memory, it can adopt an interlaced scanning manner to sequentially scan and read the first-field data and the second-field data of the frame of the image to be displayed. Among them, the first-field data can be the first field of data read first by interlaced scanning, and the second-field data can be the second field of data read later by interlaced scanning.

[0032] Correspondingly, this embodiment does not limit the specific data content of the first-field data and the second-field data. For example, the first-field data can be odd-field data (i.e., data of odd-numbered rows), or even-field data (i.e., data of even-numbered rows); correspondingly, when the first-field data is odd-field data, the second-field data is even-field data; when the first-field data is even-field data, the second-field data is odd-field data.

[0033] Correspondingly, the image to be displayed in this embodiment can be an image that needs to be stored in the video memory and needs to be displayed through the local display and / or remote display functions of the BMC. That is to say, when the local display function and / or the remote display function is started, the BMC can adopt an interlaced scanning manner to sequentially read the first-field data and the second-field data of each frame of the image to be displayed from the video memory, so as to display the corresponding image on the local display and / or the remote page.

[0034] Step 102: When reading the first-field data of the current frame image from the video memory in an interlaced scanning manner, obtain the image change situation of the current frame image according to the historical image data stored in the preset buffer.

[0035] Among them, the current frame image is any frame of the image to be displayed, and the historical image data includes at least two frames of the image to be displayed before the current frame image.

[0036] It should be noted that in this embodiment, when the BMC reads the first-field data (such as odd-field data) of the current frame of the image to be displayed (i.e., the current frame image) from the video memory in an interlaced scanning manner, it can determine the image change situation of the current frame image according to the historical image data stored in the preset buffer, that is, estimate the picture change situation of the current frame image compared with the previous frame image, so as to output the corresponding content through Step 103 and Step 104.

[0037] Correspondingly, the historical image data in this embodiment may include all or part of the images to be displayed in at least two frames before the current frame image. For the specific content of the historical image data, designers can set it according to the practical scenario and user requirements. For example, the historical image data may include all the images to be displayed in at least two frames before the current frame image; the historical image data may also include part of the images to be displayed in at least two frames before the current frame image (such as the second field data of each). For example, the historical image data may include the first frame image and the second frame image before the current frame image. The first frame image is consecutive with the current frame image, and the second frame image is consecutive with the first frame image, that is, the historical image data includes two consecutive frame images before the current frame image; the historical image data may also include more frame images to improve the prediction accuracy of the image change situation of the current frame image. This embodiment does not impose any restrictions on this.

[0038] Correspondingly, the preset buffer in this embodiment can be a buffer pre-set for storing historical image data. For the specific quantity and specifications of the preset buffer in this embodiment, designers can set them according to the practical scenario and user requirements. For example, when the historical image data includes all the images to be displayed in two frames before the current frame image, the quantity of the preset buffer can be 4 to store the first field data and the second field data of these two frames of images to be displayed respectively; when the historical image data includes all the images to be displayed in three frames before the current frame image, the quantity of the preset buffer can be 6; when the historical image data also includes the second field data of the images to be displayed in two frames before the current frame image, the quantity of the preset buffer can be 2. This embodiment does not impose any restrictions on this.

[0039] For example, when the historical image data includes the first frame image and the second frame image before the current frame image, the preset buffer includes a first buffer (M1), a second buffer (M2), a third buffer (M3), and a fourth buffer (M4). The first buffer is used to store the first field data of the first frame image, the second buffer is used to store the second field data of the first frame image, the third buffer is used to store the first field data of the second frame image, and the fourth buffer is used to store the second field data of the second frame image. That is to say, the four field data of the second frame image and the first frame image read from the video memory in sequence according to the interlaced scanning method can be sequentially stored in the four preset buffers M3, M4, M1, and M2; among them, M1 and M3 can store the first field data (such as odd field data), M2 and M4 can store the second field data, and each preset buffer can store one field data of the interlaced scanning to facilitate the update of the data stored in each preset buffer.

[0040] Correspondingly, when the BMC starts to read the first - field data (A2) of the current frame image from the video memory, the first - field data (A0) and second - field data (B0) of the second - frame image, as well as the first - field data (A1) and second - field data (B1) of the first - frame image, are stored in the four preset buffers M3, M4, M1, and M2 in sequence; correspondingly, when the BMC starts to read the second - field data (B2) of the current frame image from the video memory, the four preset buffers can store the second - field data (B0) of the second - frame image, the first - field data (A1) and second - field data (B1) of the first - frame image, and the first - field data (A2) of the current frame image, that is, A0 in M3 is replaced by A2; when the first - field data (A3) of the next frame image is read in, the read - out B2 can be stored in M4, replacing the oldest - stored B0.

[0041] Correspondingly, when reading the first - field data of the current frame image from the video memory in an interlaced scanning manner, the second - frame image (S2) can be obtained by merging A0 and B0 in M3 and M4, and the first - frame image (S1) can be obtained by merging A1 and B1 in M1 and M2.

[0042] It can be understood that for the specific method of obtaining the image change situation of the current frame image according to the historical image data stored in the preset buffer in this step, the designer can set it according to the practical scenario and user requirements. For example, pixel - block matching is performed on the first - frame image and the second - frame image according to a preset pixel - block size (such as 8 * 8) to obtain the motion - vector information of each pair of matching pixel blocks; according to the motion - vector information, the image change situation of the current frame image is determined; where each pair of matching pixel blocks includes two pixel blocks of the preset pixel - block size matched in the first - frame image and the second - frame image.

[0043] Correspondingly, for the process of performing pixel - block matching on the first - frame image and the second - frame image according to the preset pixel - block size to obtain the motion - vector information of each pair of matching pixel blocks, pixel - block matching can be directly performed on the first - frame image and the second - frame image according to the preset pixel - block size to obtain the motion - vector information of each pair of matching pixel blocks. To reduce the computational amount of pixel - block matching, this process can also include calculating the absolute value of the difference between the pixel values at the same position between the first - frame image and the second - frame image to obtain a difference image; determining a target transformation region according to the difference image and a pixel - gap threshold; where the target transformation region includes the pixel - point positions in the difference image where the pixel values are greater than the pixel - gap threshold; performing pixel - block matching on the first - frame image and the second - frame image according to the preset pixel - block size based on the target transformation region to obtain the motion - vector information of each pair of matching pixel blocks; where at least one pixel block in each pair of matching pixel blocks is within the target transformation region, such as the pixel block in the second - frame image in each pair of matching pixel blocks is within the target transformation region, or the pixel block in the first - frame image in each pair of matching pixel blocks is within the target transformation region.

[0044] For example, by calculating the difference image C1 = |S2 - S1| between the pixels of the second frame image (S2) and the first frame image (S1); using the pixel difference threshold H, the positions in the difference image C1 that are greater than H are considered as the parts of the image transformation to determine the area where pixel block matching needs to be performed (i.e., the target transformation area). As Figure 4 shown, during the process of the window moving from position A to position B, the CPU refreshed 2 frames of images to be displayed, and it can be seen that the area where the image changes greatly (i.e., the pixel difference changes greatly) (i.e., the target transformation area) is Figure 4 the white window part in, and the shaded part changes less; therefore, pixel block matching can be performed on the target transformation area where the image changes greatly with 8 * 8 (i.e., the preset pixel block size) pixel blocks; for the target transformation area that is not an integer multiple of 8 * 8, it can be bottom - cropped and then divided into blocks for pixel block matching. For the pixel blocks in the second frame image that match the corresponding pixel blocks in the first frame image, these two pixel blocks can be used as a pair of matching pixel blocks. By recording the movement vector information of each pair of matching pixel blocks, the movement positions of each pixel point within the matching pixel blocks can be marked.

[0045] Correspondingly, for the specific content of the movement vector information of each pair of the above - mentioned matching pixel blocks, it can be set by the designer according to the practical scenario and user requirements. For example, the movement vector information of each pair of matching pixel blocks includes a horizontal movement vector and a vertical movement vector; the horizontal movement vector in the movement vector information of the current pair of matching pixel blocks is x b -x a (or x a -x b ), the vertical movement vector in the movement vector information of the current pair of matching pixel blocks is y b -y a (or y a -y b ), the coordinates of the pixel block in the first frame image of the current pair of matching pixel blocks are (x b ,y b ), such as the coordinates of the top - left pixel point; the coordinates of the pixel block in the second frame image of the current pair of matching pixel blocks are (x a ,y a ), so as to use the coordinates of each pair of matching pixel blocks to represent the movement positions of each pixel point inside; for example, an 8 * 8 pixel block A (x a ,y a ) in the second frame image matches an 8 * 8 pixel block B(x b ,y b ) in the first frame image. After that, the movement vector information corresponding to pixel block A is marked as (x b -x a ,yb -y a ), which is used to record the relative movement direction of pixel block A; after matching all pixel blocks, a motion vector table (V) is generated, and the motion direction vectors (i.e., motion vector information) of the matched pixel blocks are recorded in the vector table V.

[0046] Correspondingly, for the pixel blocks in the second frame image that do not match the appropriate pixel blocks in the first frame image, the corresponding motion vector information can be recorded in the motion vector table as (0, 0), indicating that there is no displacement operation.

[0047] Among them, for the specific method of determining the image change situation of the current frame image according to the motion vector information above, it can be set by the designer according to the practical scenario and user requirements. For example, BMC can calculate the average displacement degree of all paired pixel blocks according to the motion vector information; if the average displacement degree is not greater than the displacement degree threshold, it is determined that the image change situation is that the picture change is not obvious; if the average displacement degree is greater than the displacement degree threshold, it is determined that the image change situation is that the picture change is obvious. For example, for the motion vector information corresponding to all the paired pixel blocks (such as the above pixel block B) in the motion vector table, the average displacement degree is calculated according to the following formula: .

[0048] In the above formula, W is the average displacement degree, Xij can be the displacement degree corresponding to the pixel block in the i-th row and j-th column, , and the motion vector information corresponding to the pixel block in the i-th row and j-th column is (x b -x a , y b -y a ), m is the number of rows of pixel blocks in the first frame image or the second frame image, and n is the number of columns of pixel blocks in the first frame image or the second frame image.

[0049] Correspondingly, when the average displacement degree W is greater than the pre-set displacement degree threshold, it is considered that the image change is large and subsequent interpolation and line-by-line scanning output operations need to be performed through step 104; otherwise, through step 103, the first field data of the current frame image is directly output.

[0050] In some other embodiments, the process of obtaining the image change condition of the current frame image according to the historical image data stored in the preset buffer may include: calculating the absolute value of the difference between the pixel values at the same position between the first frame image and the second frame image to obtain a difference image; determining the image change condition of the current frame image according to the difference image and the pixel gap threshold. If there are no target pixel points in the difference image, it is determined that the image change condition is that the picture change is not obvious; wherein, the target pixel points are pixel points with pixel values greater than the pixel gap threshold. If there are target pixel points in the difference image, it is judged whether the number of target pixel points is greater than the quantity threshold. If it is not greater than the quantity threshold, it is determined that the image change condition is that the picture change is not obvious. If it is greater than the quantity threshold, it is determined that the image change condition is that the picture change is obvious.

[0051] Step 103: If the image change condition is that the picture change is not obvious, output the first field data of the current frame image to display the first field interlaced image on the local display and / or the remote page; wherein, the first field interlaced image includes the first field data of the current frame image and the second field data of the previous frame image.

[0052] It can be understood that in this embodiment, when the image change condition of the current frame image is that the picture change is not obvious, that is, when the current image change is small and it is a quasi-static image, the first field data of the current frame image is output to the local display and / or the remote web page, and the image (i.e., the first field interlaced image) composed of the first field data of the current frame image and the second field data of the previous frame image (such as the above-mentioned first frame image) is displayed on the local display and / or the remote web page.

[0053] As Figure 5 shown, A2 can represent the first field data of the current frame image, B2 can represent the second field data of the current frame image, A1 can represent the first field data of the first frame image (i.e., the previous frame image) before the current frame image, B1 can represent the second field data of the first frame image (i.e., the previous frame image) before the current frame image, B0 can represent the second field data of the second frame image before the current frame image, and B0 / A1 can represent that the image displayed on the local display at this time is the combination of B0 and A1. When the image change condition of the current frame image is that the picture change is not obvious, the normal interlaced scanning output method is adopted, and A1, B1, A2, and B2 are output in sequence through the VGA (Video Graphic Array) interface, so that the image actually displayed on the local display is the corresponding B0 / A1, A1 / B1, B2 / A2, and A2 / B2.

[0054] Correspondingly, for the specific method of the BMC to output the first - field data of the current frame image in this step, it can be set by the designer according to the practical scenario and user requirements. For example, it can be implemented in the same or similar way as the local display output and remote display output methods of the BMC in the related technology. When outputting the first - field data of the current frame image to the local display, since the BMC's VGA reads data from the video memory row by row, an output - while - reading method is adopted, that is, for each row of pixels read, a row is output according to the VGA interface timing. In this step, the BMC can sequentially output each row of pixel data of the first - field data of the current frame image to the local display through the VGA interface. For example, the BMC can generate the image timing corresponding to the first - field data of the current frame image; according to the image timing, sequentially output each row of pixel data of the first - field data of the current frame image to the local display through the Video Graphics Array (VGA) interface. For instance, the BMC stores the first - field data of the current frame image read from the video memory in an interlaced scanning manner into the corresponding area in the video memory, and uses the image timing corresponding to the first - field data of the current frame image (i.e., the interlaced scanning timing), and outputs the first - field data of the current frame image in the video memory through the VGA interface in the odd - and - even field manner.

[0055] Step 104: If the image change situation is that the picture changes significantly, output the first - field progressive - scan image corresponding to the current frame image to display the first - field progressive - scan image on the local display and / or the remote page; where the first - field progressive - scan image is an image generated based on the historical image data and the first - field data of the current frame image.

[0056] It can be understood that in this embodiment, when the image change situation of the current frame image is that the picture changes significantly, that is, when the current image changes greatly, a complete image (i.e., the first - field progressive - scan image) generated using the historical image data and the first - field data of the current frame image is output to the local display and / or the remote web page to complete the image interpolation and progressive - scan output operations.

[0057] Correspondingly, for the specific content of the first - field progressive - scan image in this step, that is, the specific method of generating the first - field progressive - scan image based on historical image data and the first - field data of the current frame image, it can be set by designers according to the practical scenario and user requirements. For example, the first - field progressive - scan image can include the first - field data of the current frame image and the second - field prediction data, and the second - field prediction data is interpolation data calculated based on historical image data or historical image data and the first - field data of the current frame image. That is to say, the first - field progressive - scan image can include the complete first - field data of the current frame image and the estimated second - field data (i.e., the second - field prediction data). The first - field progressive - scan image can also include part of the first - field data of the current frame image, another part of the estimated and adjusted first - field data, and the estimated second - field data (i.e., the second - field prediction data) to improve the display effect by estimating and adjusting part of the first - field data.

[0058] As Figure 6 shown, A2 can represent the first - field data of the current frame image, B2 can represent the second - field data of the current frame image, A1 can represent the first - field data of the first frame image (i.e., the previous frame image) before the current frame image, B1 can represent the second - field data of the first frame image (i.e., the previous frame image) before the current frame image, B0 can represent the second - field data of the second frame image before the current frame image, and B0 / A1 can represent that the image displayed on the local display at this time is the combination of B0 and A1. When the image change situation of the current frame image is that the picture changes significantly, the output timing is changed to the progressive - scan output timing, and the amount of pixel - value data output is twice that of the previous field B1. Among them, B2' is the second - field prediction data. Then, in the next field, the interlaced scan of B2 is resumed for output. Subsequently, if it is determined that the image change situation of the new current frame image is that the picture changes significantly, the output timing can be changed to the progressive - scan output timing to output the corresponding first - field progressive - scan image, and then the interlaced scan of the corresponding second - field data is resumed in the next field. That is to say, in this embodiment, the progressive - scan output and the interlaced - scan output are alternated. After each progressive output of the first - field progressive - scan image, the interlaced scan is performed in the next field. And each prediction is for the second - field data of a frame of the image to be displayed. If the image change situation of the current frame image is that the picture changes insignificantly, the first - field data is directly output by interlaced scan. Only when the picture changes significantly, the output method is modified from interlaced - scan output to progressive - scan output.

[0059] Correspondingly, when the first field-by-field scanned image includes the first field data and the second field prediction data of the current frame image, this step may include the prediction calculation process of the second field prediction data. For example, when the historical image data includes the first frame image and the second frame image before the current frame image, the prediction calculation process of the second field prediction data may include: calculating the second field prediction data based on the first frame image, the second frame image, and the first field data of the current frame image; for example, through B2' h =(A 1h / (A 1h +A 0h ))*B 0h +(A 2h / (A 1h +A 2h ))*B 1h , the pixel value of the current pixel point in the second field prediction data is calculated; where the current pixel point is any pixel point in the second field prediction data, and h in the above formula can represent the current pixel point, B2' h is the pixel value of the current pixel point in the second field prediction data, A 1h is the pixel value of the pixel position of the current pixel point in the first field data of the first frame image, A 0h is the pixel value of the pixel position of the current pixel point in the first field data of the second frame image, B 0h is the pixel value of the pixel position of the current pixel point in the second field data of the second frame image, A 2h is the pixel value of the pixel position of the current pixel point in the first field data of the current frame image, B 1h is the pixel value of the pixel position of the current pixel point in the second field data of the first frame image.

[0060] Correspondingly, in order to improve the prediction accuracy of the second field prediction data, the above prediction calculation process of the second field prediction data may include: calculating the second field prediction data based on the first frame image, the second frame image, the first field data of the current frame image, and the motion vector information of each pair of matching pixel blocks; where each pair of matching pixel blocks includes two pixel blocks of a preset pixel block size that are matched through pixel block matching in the first frame image and the second frame image. For example, if the pixel position of the current pixel point in the second field prediction data is not within the matching pixel block in the first frame image or the second frame image, or the vertical motion vector in the motion vector information corresponding to the matching pixel block where the pixel position of the current pixel point is located in the first frame image or the second frame image is not 0, then through B2' h =(A 1h / (A 1h +A 0h ))*B 0h +(A 2h / (A1h +A 2h ))*B 1h , calculate the pixel value of the current pixel in the second - field prediction data; if the pixel position of the current pixel in the second - field prediction data is within the matching pixel block in the first - frame image or the second - frame image and the vertical motion vector in the motion vector information corresponding to the matching pixel block is 0, then through B2' h =(A 1h / (A 1h +A 0h ))*B 0h(x-x0) +(A 2h / (A 1h +A 2h ))*B 1h(x-x0) , calculate the pixel value of the current pixel in the second - field prediction data; where B 0h(x-x0) is the pixel value of the corresponding moving pixel position of the current pixel in the second - field data of the second - frame image, B 1h(x-x0) is the pixel value of the corresponding moving pixel position h(x - x0) of the current pixel in the second - field data of the first - frame image, and the corresponding moving pixel position of the current pixel is the pixel position corresponding to the difference between the horizontal coordinate of the current pixel and the horizontal motion vector x0 in the motion vector information corresponding to the matching pixel block where the current pixel is located.

[0061] For example, when the VGA of BMC reads the first - field data (A2) of the current frame image from the video memory row - by - row, the first - field data of the current frame image read will overwrite the first - field data (A0) of the previous second - frame image in the preset buffer. During the prediction calculation process of the above - mentioned second - field prediction data, the pixel rows in the first - field data of the second - frame image that need to be overwritten can be read and saved to avoid being overwritten when written by A2; during prediction, the motion vector table V obtained from the previous image change detection can be used. The data in V is a motion vector information (x, y) for each pair of 8 * 8 matching pixel blocks. When predicting the pixel in the second - field prediction data, it can be first confirmed whether the pixel falls inside the successfully - matched pixel block (such as the matching pixel block in the second - frame image). If it does not fall inside the successfully - matched pixel block, then through B2' h =(A 1h / (A 1h +A 0h ))*B 0h +(A 2h / (A 1h +A 2h ))*B 1h, predict and calculate the pixel value of this pixel point; if it falls within the successfully matched pixel block, and the motion vector information corresponding to this pixel block is (x0, y0), then first confirm whether y0 is equal to 0. If it is not equal to 0, it is considered that the up and down motion range is too large, and it is still possible to pass B2' h =(A 1h / (A 1h +A 0h ))*B 0h +(A 2h / (A 1h +A 2h ))*B 1h , predict and calculate the pixel value of this pixel point; if it is equal to 0, it is considered that the matched pixel block only moves in the left and right directions. Therefore, when predicting, an offset calculation can be performed on the pixel point calculation, and it can be passed according to B2' h =(A 1h / (A 1h +A 0h ))*B 0h(x-x0) +(A 2h / (A 1h +A 2h ))*B 1h(x-x0) , predict and calculate the pixel value of this pixel point. By calculating the second field prediction data in the above manner, the first field progressive scan image can be obtained to complete the progressive scan output of this field. For example, the pixel data of each row of the first field progressive scan image can be output row by row to the local display through the video graphics array interface. For example, BMC can generate the image timing corresponding to the first field progressive scan image; according to the image timing, the pixel data of each row of the first field progressive scan image is output to the local display in sequence through the video graphics array interface; for example, BMC uses the first field data of the current frame image read from the video memory in an interlaced scanning manner to generate the first field progressive scan image and store it in the corresponding area of the video memory, and uses the image timing corresponding to the first field progressive scan image (i.e., the progressive scan timing) to output the first field progressive scan image in the video memory through the VGA interface.

[0062] For example, such as Figure 7As shown, after the BMC is powered on, it can read the 4-field data of the first 2 frames of images from the video memory in an interlaced scanning manner and store them in 4 preset buffers; each preset buffer stores one field of data obtained by interlaced scanning; when reading the first field of data of the current frame of image from the video memory, the data in the corresponding preset buffer can be merged to obtain the first 2 frames of images, and it is calculated whether the degree of change of the first 2 frames of images is greater than the threshold; if it does not exceed the threshold, it is considered that the current image change is not obvious and it is a quasi-static image, and the interlaced scanning method can continue to be used to read the first field of data of the current frame of image from the video memory, store it in the video memory, and then output the first field of data in the video memory in the odd-even field manner according to the interlaced scanning timing; if it exceeds the threshold, it can be considered that the first 2 frames of images have changed too much. At this time, the interlaced scanning method continues to be used to read the video memory, and the progressive scanning method is adopted to output the display timing to output the current frame with predicted interpolation completion.

[0063] It should be noted that the method provided in this embodiment may further include: when reading the second field of data of the current frame of image from the video memory in an interlaced scanning manner, outputting the second field of data of the current frame of image to display the second interlaced scanning image on the local display and / or the remote page; wherein, the second interlaced scanning image includes the first field of data and the second field of data of the current frame of image. As Figure 5 and Figure 6 shown, when the BMC reads the second field of data (B2) of the current frame of image from the video memory in an interlaced scanning manner, it adopts the normal interlaced scanning output method and outputs the timing of B2 through VGA, so that the local display actually displays the image as A2 / B2, that is, the second interlaced scanning image composed of the merged first field of data (A2) and the second field of data (B2) of the current frame of image.

[0064] In this embodiment, by obtaining the image change situation of the current frame of image according to the historical image data stored in the preset buffer when reading the first field of data of the current frame of image from the video memory in an interlaced scanning manner, the present invention embodiment can analyze and determine the degree of change of the current image, so as to adaptively select the display method of interlaced scanning or progressive scanning, thereby reducing the read behavior of the video memory through interlaced scanning, reducing display problems such as jaggedness and tearing through progressive scanning, and being able to reduce the video memory bandwidth required for the display of the BMC and improve the user experience on the basis of not affecting the display effect as much as possible.

[0065] Corresponding to the above method embodiment, the present invention embodiment also provides an image display device, and an image display device described below can be mutually referred to with an image display method described above.

[0066] Please refer to Figure 8 , Figure 8The block diagram of an image display device provided by an embodiment of the present invention. The device is applied to a baseboard management controller and may include: An interlaced scanning unit 10, configured to sequentially read the first-field data and the second-field data of each frame of the image to be displayed from the video memory in an interlaced scanning manner; wherein, the first-field data is odd-field data or even-field data; A transformation detection unit 20, configured to obtain the image change condition of the current frame image according to the historical image data stored in a preset buffer when reading the first-field data of the current frame image from the video memory in an interlaced scanning manner; wherein, the current frame image is any frame of the image to be displayed, and the historical image data includes at least two frames of the images to be displayed before the current frame image; A first output unit 30, configured to output the first-field data of the current frame image if the image change condition is that the change of the picture is not obvious, so as to display the first-field interlaced scanning image on the local display and / or the remote page; wherein, the first-field interlaced scanning image includes the first-field data of the current frame image and the second-field data of the previous frame image; A second output unit 40, configured to output the first-field progressive scanning image corresponding to the current frame image if the image change condition is that the change of the picture is obvious, so as to display the first-field progressive scanning image on the local display and / or the remote page; wherein, the first-field progressive scanning image is an image generated according to the historical image data and the first-field data of the current frame image.

[0067] In some embodiments, the historical image data includes the first frame image and the second frame image before the current frame image, the first frame image is consecutive with the current frame image, and the second frame image is consecutive with the first frame image.

[0068] In some embodiments, the transformation detection unit 20 may include: A matching subunit, configured to perform pixel block matching on the first frame image and the second frame image according to a preset pixel block size to obtain the movement vector information of each pair of matching pixel blocks; wherein, each pair of matching pixel blocks includes two pixel blocks with a preset pixel block size matched in the first frame image and the second frame image; A determination subunit, configured to determine the image change condition of the current frame image according to the movement vector information.

[0069] In some embodiments, the matching subunit may be specifically configured to calculate the absolute value of the difference between the pixel values at the same positions of the first frame image and the second frame image to obtain a difference image; determine a target transformation region according to the difference image and a pixel gap threshold; perform pixel block matching on the first frame image and the second frame image according to the target transformation region and a preset pixel block size to obtain the movement vector information of each pair of matching pixel blocks; wherein, the target transformation region includes the positions of the pixel points in the difference image whose pixel values are greater than the pixel gap threshold, and at least one pixel block in each pair of matching pixel blocks is within the target transformation region.

[0070] In some embodiments, the determining subunit may be specifically configured to calculate the average displacement degree of all pairs of matching pixel blocks according to the movement vector information; if the average displacement degree is not greater than a displacement degree threshold, determine that the image change situation is that the picture change is not obvious; if the average displacement degree is greater than the displacement degree threshold, determine that the image change situation is that the picture change is obvious.

[0071] In some embodiments, the movement vector information of each pair of matching pixel blocks includes a horizontal movement vector and a vertical movement vector; the horizontal movement vector in the movement vector information of the current pair of matching pixel blocks is x b -x a , and the vertical movement vector in the movement vector information of the current pair of matching pixel blocks is y b -y a , the coordinates of the pixel block in the first frame image of the current pair of matching pixel blocks are (x b , y b ), and the coordinates of the pixel block in the second frame image of the current pair of matching pixel blocks are (x a , y a ).

[0072] In some embodiments, the preset buffer includes a first buffer, a second buffer, a third buffer, and a fourth buffer. The first buffer is used to store the first field data of the first frame image, the second buffer is used to store the second field data of the first frame image, the third buffer is used to store the first field data of the second frame image, and the fourth buffer is used to store the second field data of the second frame image.

[0073] In some embodiments, the apparatus may further include: A third output unit, configured to output the second field data of the current frame image when reading the second field data of the current frame image from the video memory in an interlaced scanning manner, so as to display the second interlaced scanning image on the local display and / or the remote page; wherein, the second interlaced scanning image includes the first field data and the second field data of the current frame image.

[0074] In some embodiments, the first field data is odd-field data, and the second field data is even-field data.

[0075] In some embodiments, the first output unit 30 may be specifically configured to sequentially output each row of pixel data of the first field data of the current frame image to a local display through a video graphics array interface; Correspondingly, the second output unit 40 may be specifically configured to output each row of pixel data of the first field progressive scan image to the local display row by row through the video graphics array interface.

[0076] In some embodiments, the first output unit 30 may include: A timing generation subunit, configured to generate an image timing corresponding to the first field data of the current frame image; An output subunit, configured to sequentially output each row of pixel data of the first field data of the current frame image to the local display through the video graphics array interface according to the image timing.

[0077] In some embodiments, the first field progressive scan image includes the first field data of the current frame image and second field prediction data, and the second field prediction data is interpolation data calculated according to historical image data or historical image data and the first field data of the current frame image.

[0078] In some embodiments, the historical image data includes a first frame image and a second frame image before the current frame image; the second output unit 40 may include: An interpolation prediction subunit, configured to calculate second field prediction data according to the first frame image, the second frame image, the first field data of the current frame image, and the motion vector information of each pair of matching pixel blocks; wherein, each pair of matching pixel blocks includes two pixel blocks of a preset pixel block size that are matched through pixel block matching in the first frame image and the second frame image.

[0079] In some embodiments, the interpolation prediction subunit may be specifically configured to, if the pixel position of the current pixel point in the second field prediction data is not within the matching pixel block in the first frame image or the second frame image, or the vertical motion vector in the motion vector information corresponding to the matching pixel block where the pixel position of the current pixel point is located in the first frame image or the second frame image is not 0, then through B2' h =(A 1h / (A 1h +A 0h ))*B 0h +(A 2h / (A 1h +A 2h ))*B 1h , calculate the pixel value of the current pixel point in the second field prediction data; wherein, the current pixel point h is any pixel point in the second field prediction data, and B2' h is the pixel value of the current pixel point in the second field prediction data, A1h is the pixel value at the pixel position of the current pixel in the first field data of the first frame image, A 0h is the pixel value at the pixel position of the current pixel in the first field data of the second frame image, B 0h is the pixel value at the pixel position of the current pixel in the second field data of the second frame image, A 2h is the pixel value at the pixel position of the current pixel in the first field data of the current frame image, B 1h is the pixel value at the pixel position of the current pixel in the second field data of the first frame image; If the pixel position of the current pixel in the second field prediction data is within the matching pixel block in the first frame image or the second frame image and the vertical motion vector in the motion vector information corresponding to the matching pixel block is 0, then through B2' h =(A 1h / (A 1h +A 0h ))*B 0h(x-x0) +(A 2h / (A 1h +A 2h ))*B 1h(x-x0) , calculate the pixel value of the current pixel in the second field prediction data; where, B 0h(x-x0) is the pixel value at the moving pixel position corresponding to the current pixel in the second field data of the second frame image, B 1h(x-x0) is the pixel value at the moving pixel position h(x - x0) corresponding to the current pixel in the second field data of the first frame image, and the moving pixel position corresponding to the current pixel is the pixel position corresponding to the difference between the horizontal coordinate of the current pixel and the horizontal motion vector x0 in the motion vector information corresponding to the matching pixel block where the current pixel is located.

[0080] In this embodiment, in the embodiment of the present invention, when the transformation detection unit 20 reads the first field data of the current frame image from the video memory in an interlaced scanning manner, according to the historical image data stored in the preset buffer, the image change situation of the current frame image is obtained, and the current image change degree can be analyzed and determined to adaptively select an interlaced scanning or progressive scanning display mode, so as to reduce the read behavior of the video memory through interlaced scanning, reduce display problems such as jaggedness and tearing through progressive scanning, and can reduce the video memory bandwidth required for the display of BMC on the basis of not affecting the display effect as much as possible, improving the user experience.

[0081] Corresponding to the above method embodiment, the embodiment of the present invention also provides a computer program product, and a computer program product described below can be mutually corresponding and referred to with an image display method described above.

[0082] A computer program product includes a computer program / instructions. When the computer program / instructions are executed by a processor, the steps of the image display method provided by the above method embodiment are implemented.

[0083] Corresponding to the above method embodiment, an embodiment of the present invention further provides a baseboard management controller. A baseboard management controller described below can be correspondingly referred to with an image display method described above.

[0084] Please refer to Figure 9 , Figure 9 which is a schematic structural diagram of a baseboard management controller provided by an embodiment of the present invention. The baseboard management controller may include: A memory D1 for storing a computer program; A processor D2 for implementing the steps of the image display method provided by the above method embodiment when executing the computer program.

[0085] Corresponding to the above method embodiment, an embodiment of the present invention further provides a computer-readable storage medium. A computer-readable storage medium described below can be correspondingly referred to with an image display method described above.

[0086] A computer-readable storage medium has a computer program stored thereon. When the computer program is executed by a processor, the steps of the image display method of the above method embodiment are implemented.

[0087] The computer-readable storage medium may specifically be various readable storage media such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disc that can store program codes.

[0088] Corresponding to the above method embodiment, an embodiment of the present invention further provides a baseboard management controller system. A baseboard management controller system described below can be correspondingly referred to with an image display method described above.

[0089] Please refer to Figure 10 , Figure 10 which is a schematic structural diagram of a baseboard management controller system provided by an embodiment of the present invention. The baseboard management controller system may include: a control module 100, a preset buffer 200, a motion detection module 300, a pixel value prediction module 400, and an output module 500; wherein, The control module 100 is configured to sequentially read the first field data and the second field data of each frame of the image to be displayed from the video memory in an interlaced scanning manner; wherein, the first field data is odd field data or even field data; The motion detection module 300 is configured to, under the control of the control module 100, when reading the first - field data of the current frame image from the video memory in an interlaced scanning mode, obtain the image change situation of the current frame image according to the historical image data stored in the preset buffer 200; wherein, the current frame image is any frame of the image to be displayed, and the historical image data includes at least two frames of the images to be displayed before the current frame image; The output module 500 is configured to, under the control of the control module 100, when the image change situation is that the change of the picture is not obvious, output the first - field data of the current frame image to display the first - field interlaced scanning image on the local display and / or the remote page; when the image change situation is that the change of the picture is obvious, output the first - field progressive scanning image corresponding to the current frame image to display the first - field progressive scanning image on the local display and / or the remote page; wherein, the first - field interlaced scanning image includes the first - field data of the current frame image and the second - field data of the previous frame image; The pixel value prediction module 400 is configured to, under the control of the control module 100, when the image change situation is that the change of the picture is obvious, generate the first - field progressive scanning image according to the historical image data and the first - field data of the current frame image.

[0090] It can be understood that each module setting in this embodiment can be a hardware module set in the BMC system. The control module 100 in this embodiment can be a control center, coordinating and controlling the data interaction between each module. The preset buffer 200 in this embodiment can be a buffer for storing the historical image data of interlaced scanning.

[0091] In some embodiments, the historical image data includes the first frame image and the second frame image before the current frame image, the first frame image is consecutive with the current frame image, and the second frame image is consecutive with the first frame image.

[0092] In some embodiments, obtaining the image change situation of the current frame image according to the historical image data stored in the preset buffer 200 includes: Performing pixel - block matching on the first frame image and the second frame image according to the preset pixel - block size to obtain the motion vector information of each pair of matching pixel blocks; wherein, each pair of matching pixel blocks includes two pixel blocks with the preset pixel - block size matched in the first frame image and the second frame image; Determining the image change situation of the current frame image according to the motion vector information.

[0093] In some embodiments, performing pixel - block matching on the first frame image and the second frame image according to the preset pixel - block size to obtain the motion vector information of each pair of matching pixel blocks includes: Calculating the absolute value of the difference between the pixel values at the same position between the first frame image and the second frame image to obtain a difference image; Determine the target transformation region according to the difference image and the pixel gap threshold; wherein, the target transformation region includes the positions of the pixel points in the difference image whose pixel values are greater than the pixel gap threshold. According to the target transformation region, perform pixel block matching on the first frame image and the second frame image according to the preset pixel block size to obtain the motion vector information of each pair of matching pixel blocks; wherein, at least one pixel block in each pair of matching pixel blocks is within the target transformation region.

[0094] Correspondingly, as Figure 10 shown, the system provided in this embodiment may further include a motion vector control module 600 for storing the motion vector information of each pair of matching pixel blocks.

[0095] In some embodiments, determining the image change situation of the current frame image according to the motion vector information includes: Calculate the average displacement degree of all pairs of matching pixel blocks according to the motion vector information. If the average displacement degree is not greater than the displacement degree threshold, determine that the image change situation is that the picture change is not obvious. If the average displacement degree is greater than the displacement degree threshold, determine that the image change situation is that the picture change is obvious.

[0096] In some embodiments, the motion vector information of each pair of matching pixel blocks includes a horizontal motion vector and a vertical motion vector; the horizontal motion vector in the motion vector information of the current pair of matching pixel blocks is x b -x a and the vertical motion vector in the motion vector information of the current pair of matching pixel blocks is y b -y a The coordinates of the pixel block in the first frame image in the current pair of matching pixel blocks are (x b , y b ), and the coordinates of the pixel block in the second frame image in the current pair of matching pixel blocks are (x a , y a ).

[0097] In some embodiments, the preset buffer includes a first buffer, a second buffer, a third buffer, and a fourth buffer. The first buffer is used to store the first field data of the first frame image, the second buffer is used to store the second field data of the first frame image, the third buffer is used to store the first field data of the second frame image, and the fourth buffer is used to store the second field data of the second frame image.

[0098] In some embodiments, the output module 500 is further configured to output the second field data of the current frame image when reading the second field data of the current frame image from the video memory in an interlaced scanning manner according to the control of the control module 100, so as to display the second field interlaced scanning image on the local display and / or the remote page; wherein, the second field interlaced scanning image includes the first field data and the second field data of the current frame image.

[0099] In some embodiments, the first field data is odd field data and the second field data is even field data.

[0100] In some embodiments, outputting the first field data of the current frame image includes: Sequentially outputting the pixel data of each row of the first field data of the current frame image to the local display through a video graphics array interface; Correspondingly, outputting the first field progressive scanning image corresponding to the current frame image includes: Progressive scanning and outputting the pixel data of each row of the first field progressive scanning image to the local display through a video graphics array interface.

[0101] In some embodiments, sequentially outputting the pixel data of each row of the first field data of the current frame image to the local display through a video graphics array interface includes: Generating an image timing corresponding to the first field data of the current frame image; According to the image timing, sequentially outputting the pixel data of each row of the first field data of the current frame image to the local display through a video graphics array interface.

[0102] As Figure 10 shown, the output module 500 may include a timing generation module and a selection module. The timing generation module may be configured to generate an image timing for progressive scanning output or interlaced scanning output; the selection module may select the progressive scanning output or interlaced scanning output image timing output by the timing generation module and output it to the video graphics array interface, so as to sequentially output the pixel data of each row of the first field data of the current frame image to the local display through the video graphics array interface.

[0103] In some embodiments, the first field progressive scanning image includes the first field data and the second field prediction data of the current frame image. The pixel value prediction module 400 may be specifically configured to calculate the second field prediction data according to the historical image data or the historical image data and the first field data of the current frame image.

[0104] In some embodiments, the historical image data includes the first frame image and the second frame image before the current frame image; the second field prediction data calculated according to the historical image data or the historical image data and the first field data of the current frame image includes: Calculate the predicted data for the second field based on the first frame image, the second frame image, the first field data of the current frame image, and the motion vector information of each pair of matching pixel blocks; wherein, each pair of matching pixel blocks includes two pixel blocks of a preset pixel block size that are matched through pixel block matching in the first frame image and the second frame image.

[0105] In some embodiments, calculating the predicted data for the second field based on the first frame image, the second frame image, the first field data of the current frame image, and the motion vector information of each pair of matching pixel blocks includes: If the pixel position of the current pixel point in the predicted data for the second field is not within the matching pixel block in the first frame image or the second frame image, or the vertical motion vector in the motion vector information corresponding to the matching pixel block where the pixel position of the current pixel point is located in the first frame image or the second frame image is not 0, then through B2' h =(A 1h / (A 1h +A 0h ))*B 0h +(A 2h / (A 1h +A 2h ))*B 1h , calculate the pixel value of the current pixel point in the predicted data for the second field; wherein, the current pixel point h is any pixel point in the predicted data for the second field, B2' h is the pixel value of the current pixel point in the predicted data for the second field, A 1h is the pixel value of the pixel position of the current pixel point in the first field data of the first frame image, A 0h is the pixel value of the pixel position of the current pixel point in the first field data of the second frame image, B 0h is the pixel value of the pixel position of the current pixel point in the second field data of the second frame image, A 2h is the pixel value of the pixel position of the current pixel point in the first field data of the current frame image, B 1h is the pixel value of the pixel position of the current pixel point in the second field data of the first frame image; If the pixel position of the current pixel point in the predicted data for the second field is within the matching pixel block in the first frame image or the second frame image and the vertical motion vector in the motion vector information corresponding to the matching pixel block where the pixel position of the current pixel point is located is 0, then through B2' h =(A 1h / (A 1h +A 0h ))*B 0h(x-x0) +(A 2h / (A 1h +A 2h ))*B 1h(x-x0), the pixel value of the current pixel in the predicted data of the second field is calculated; where B 0h(x-x0) is the pixel value of the position of the moving pixel corresponding to the current pixel in the second field data of the second frame image, and B 1h(x-x0) is the pixel value of the position of the moving pixel corresponding to the current pixel h(x - x0) in the second field data of the first frame image. The position of the moving pixel corresponding to the current pixel is the pixel position corresponding to the difference between the horizontal coordinate of the current pixel and the horizontal movement vector x0 in the movement vector information of the corresponding matching pixel block.

[0106] In this embodiment, when the motion detection module 300 reads the first field data of the current frame image from the video memory in an interlaced scanning mode, according to the historical image data stored in the preset buffer, the image change situation of the current frame image is obtained, and the current image change degree can be analyzed and determined to adaptively select an interlaced scanning or progressive scanning display mode. Thus, the read behavior of the video memory is reduced by interlaced scanning, and display problems such as jaggedness and tearing are reduced by progressive scanning. On the basis of not affecting the display effect as much as possible, the video memory bandwidth required for the display of BMC can be reduced, and the user experience can be improved.

[0107] The various embodiments in the specification are described in a progressive manner. Each embodiment focuses on the differences from other embodiments. The same or similar parts among the various embodiments can be referred to each other. For the apparatus, computer program product, computer-readable storage medium, baseboard management controller, and system disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the description is relatively simple, and the relevant parts can be referred to the description of the method part.

[0108] The above has introduced in detail an image display method, a computer program product, a baseboard management controller, and a baseboard management controller system provided by the present invention. Specific examples are used in this article to elaborate on the principle and implementation manner of the present invention. The description of the above embodiments is only used to help understand the method and its core idea of the present invention. It should be noted that for those of ordinary skill in the art in this technical field, without departing from the principle of the present invention, several improvements and modifications can be made to the present invention, and these improvements and modifications also fall within the protection scope of the present invention.

Claims

1. An image display method, characterized in that, Applied to a baseboard management controller, including: Adopting an interlaced scanning method to sequentially read the first - field data and the second - field data of each frame of the image to be displayed from the video memory; wherein, the first - field data is odd - field data or even - field data; When reading the first - field data of the current frame image from the video memory using the interlaced scanning method, obtaining the image change situation of the current frame image according to the historical image data stored in a preset buffer; wherein, the current frame image is any one of the images to be displayed, and the historical image data includes at least two frames of images to be displayed before the current frame image; If the image change situation is that the change of the picture is not obvious, output the first - field data of the current frame image to display the first - field interlaced scanning image on a local display and / or a remote page; wherein, the first - field interlaced scanning image includes the first - field data of the current frame image and the second - field data of the previous frame image; If the image change situation is that the change of the picture is obvious, output the first - field progressive scanning image corresponding to the current frame image to display the first - field progressive scanning image on the local display and / or the remote page; wherein, the first - field progressive scanning image is an image generated according to the historical image data and the first - field data of the current frame image.

2. The image display method according to claim 1, characterized in that, The historical image data includes a first - frame image and a second - frame image before the current frame image, the first - frame image is consecutive with the current frame image, and the second - frame image is consecutive with the first - frame image.

3. The image display method according to claim 2, characterized in that, Obtaining the image change situation of the current frame image according to the historical image data stored in a preset buffer includes: Performing pixel - block matching on the first - frame image and the second - frame image according to a preset pixel - block size to obtain the movement vector information of each pair of matching pixel blocks; wherein, each pair of the matching pixel blocks includes two pixel blocks of the preset pixel - block size matched in the first - frame image and the second - frame image; Determining the image change situation of the current frame image according to the movement vector information.

4. The image display method according to claim 3, characterized in that, Performing pixel - block matching on the first - frame image and the second - frame image according to a preset pixel - block size to obtain the movement vector information of each pair of matching pixel blocks includes: Calculating the absolute value of the difference between the pixel values at the same position between the first - frame image and the second - frame image to obtain a difference image; Determining a target transformation region according to the difference image and a pixel - gap threshold; wherein, the target transformation region includes the positions of the pixel points in the difference image whose pixel values are greater than the pixel - gap threshold; Performing pixel - block matching on the first - frame image and the second - frame image according to the preset pixel - block size according to the target transformation region to obtain the movement vector information of each pair of matching pixel blocks; wherein, at least one pixel block in each pair of the matching pixel blocks is within the target transformation region.

5. The image display method according to claim 3, characterized in that, Determining the image change situation of the current frame image according to the movement vector information includes: Calculating the average displacement degree of all pairs of the matching pixel blocks according to the movement vector information; If the average displacement degree is not greater than the displacement - degree threshold, determining that the image change situation is that the change of the picture is not obvious; If the average displacement degree is greater than the displacement degree threshold, it is determined that the image change situation is that the picture change is obvious.

6. The image display method according to claim 3, characterized in that, The motion vector information of each pair of the matching pixel blocks includes a horizontal motion vector and a vertical motion vector; the horizontal motion vector in the motion vector information of the current pair of matching pixel blocks is x b -x a , and the vertical motion vector in the motion vector information of the current pair of matching pixel blocks is y b -y a , the coordinates of the pixel block in the first frame image in the current pair of matching pixel blocks are (x b ,y b ), and the coordinates of the pixel block in the second frame image in the current pair of matching pixel blocks are (x a ,y a ).

7. The image display method according to claim 2, characterized in that, The preset buffer includes a first buffer, a second buffer, a third buffer, and a fourth buffer. The first buffer is used to store the first field data of the first frame image, the second buffer is used to store the second field data of the first frame image, the third buffer is used to store the first field data of the second frame image, and the fourth buffer is used to store the second field data of the second frame image.

8. The image display method according to claim 1, characterized in that, It further includes: When reading the second field data of the current frame image from the video memory in the interlaced scanning mode, output the second field data of the current frame image to display the second field interlaced scanning image on the local display and / or the remote page; wherein, the second field interlaced scanning image includes the first field data and the second field data of the current frame image.

9. The image display method according to claim 1, characterized in that, The first field data is odd field data, and the second field data is even field data.

10. The image display method according to claim 1, characterized in that, Outputting the first field data of the current frame image includes: Sequentially outputting each row of pixel data of the first field data of the current frame image to the local display through a video graphics array interface; Correspondingly, outputting the first field progressive scanning image corresponding to the current frame image includes: Progressive outputting each row of pixel data of the first field progressive scanning image to the local display through the video graphics array interface.

11. The image display method according to claim 10, characterized in that, Sequentially outputting each row of pixel data of the first field data of the current frame image to the local display through a video graphics array interface includes: Generating an image timing corresponding to the first field data of the current frame image; According to the image timing, sequentially outputting each row of pixel data of the first field data of the current frame image to the local display through a video graphics array interface.

12. The image display method according to any one of claims 1 to 11, characterized in that, The first field progressive scanning image includes the first field data of the current frame image and second field prediction data, and the second field prediction data is interpolation data calculated according to the historical image data or the historical image data and the first field data of the current frame image.

13. The image display method according to claim 12, characterized in that, The historical image data includes the first frame image and the second frame image before the current frame image; Outputting the first field progressive scanning image corresponding to the current frame image includes: Calculating the second field prediction data according to the first frame image, the second frame image, the first field data of the current frame image, and the motion vector information of each pair of matching pixel blocks; wherein, each pair of the matching pixel blocks includes two pixel blocks of a preset pixel block size that are matched through pixel block matching in the first frame image and the second frame image.

14. The image display method according to claim 13, characterized in that, Calculating the second field prediction data according to the first frame image, the second frame image, the first field data of the current frame image, and the motion vector information of each pair of matching pixel blocks includes: If the pixel position of the current pixel in the second field prediction data is not within the matching pixel block in the first frame image or the second frame image, or the vertical motion vector in the motion vector information corresponding to the matching pixel block where the pixel position of the current pixel is located in the first frame image or the second frame image is not 0, then through B2' h =(A 1h / (A 1h +A 0h ))*B 0h +(A 2h / (A 1h +A 2h ))*B 1h , calculate the pixel value of the current pixel in the second field prediction data; where the current pixel h is any pixel in the second field prediction data, and B2' h is the pixel value of the current pixel in the second field prediction data, A 1h is the pixel value of the pixel position of the current pixel in the first field data of the first frame image, A 0h is the pixel value of the pixel position of the current pixel in the first field data of the second frame image, B 0h is the pixel value of the pixel position of the current pixel in the second field data of the second frame image, A 2h is the pixel value of the pixel position of the current pixel in the first field data of the current frame image, and B 1h is the pixel value of the pixel position of the current pixel in the second field data of the first frame image; If the pixel position of the current pixel in the second field prediction data is within the matching pixel block in the first frame image or the second frame image and the vertical motion vector in the motion vector information corresponding to the matching pixel block is 0, then through B2' h =(A 1h / (A 1h +A 0h ))*B 0h(x-x0) +(A 2h / (A 1h +A 2h ))*B 1h(x-x0) , calculate the pixel value of the current pixel in the second field prediction data; where B 0h(x-x0) is the pixel value of the corresponding motion pixel position of the current pixel in the second field data of the second frame image, B 1h(x-x0) is the pixel value of the corresponding motion pixel position h(x - x0) of the current pixel in the second field data of the first frame image, and the corresponding motion pixel position of the current pixel is the pixel position corresponding to the difference between the horizontal coordinate of the current pixel and the horizontal motion vector x0 in the motion vector information corresponding to the matching pixel block where the current pixel is located.

15. A computer program product, comprising a computer program / instructions, characterized in that, When the computer program / instructions are executed by a processor, the steps of the image display method according to any one of claims 1 to 14 are implemented.

16. A baseboard management controller, characterized in that, It includes: A memory for storing a computer program; A processor for implementing the steps of the image display method according to any one of claims 1 to 14 when executing the computer program.

17. A baseboard management controller system, characterized in that, It includes: A control module, a preset buffer, a motion detection module, a pixel value prediction module, and an output module; wherein, The control module is configured to sequentially read the first - field data and the second - field data of each frame of the image to be displayed from the video memory in an interlaced scanning manner; wherein, the first - field data is odd - field data or even - field data; The motion detection module is configured to, under the control of the control module, when reading the first - field data of the current - frame image from the video memory in the interlaced scanning manner, obtain the image change situation of the current - frame image according to the historical image data stored in the preset buffer; wherein, the current - frame image is any one of the images to be displayed, and the historical image data includes at least two frames of the images to be displayed before the current - frame image; The output module is configured to, under the control of the control module, when the image change situation is that the change of the picture is not obvious, output the first - field data of the current - frame image to display the first - field interlaced scanning image on the local display and / or the remote page; when the image change situation is that the change of the picture is obvious, output the first - field progressive scanning image corresponding to the current - frame image to display the first - field progressive scanning image on the local display and / or the remote page; wherein, the first - field interlaced scanning image includes the first - field data of the current - frame image and the second - field data of the previous - frame image; The pixel value prediction module is configured to, under the control of the control module, when the image change situation is that the change of the picture is obvious, generate the first - field progressive scanning image according to the historical image data and the first - field data of the current - frame image.

Citation Information

Patent Citations

  • Video data processing method, central processing unit and terminal

    CN102104712A

  • Video image de-interlacing scanning method and device

    CN102186046A

  • Liquid crystal display driving method, time sequence control device and liquid crystal display device

    CN102968971A

  • Video scanning mode detection, correction method and video play method and device

    CN108134938A

  • Image display method and device, electronic equipment and medium

    CN117667000A