A screen display control method, device, equipment and medium

CN122967604APending Publication Date: 2026-10-23ACTIONS ZHUHAI TECH CO
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510481438.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-17
Publication Date
2026-10-23

AI Technical Summary

Technical Problem

对于非矩形屏幕(如圆形、椭圆形或不规则多边形),设备主控芯片的显示控制器负责给屏幕传输图像数据,不管图像数据是否会被屏幕显示,显示控制器都会从例如作为帧缓存的PSRAM(伪静态随机存储器,全称PseudoStatic Random Access Memory)的中读取图像数据,然而,从帧缓存中读取图像数据所需的时延较高,因此导致大量无效像素的图像数据的读取操作,影响屏幕显示的刷新效率,并且还有可能因为例如CPU、GPU等对PSRAM的并发访问,使得显示控制器没能及时读取到像素,导致屏幕出现图像显示异常

Benefits of technology

[0010]本申请实施例提供的屏幕显示控制方法,通过当需要对屏幕的图像显示进行逐个像素行刷新时,针对每一帧的图像数据区域内的每一行像素,确定当前像素在所述图像数据区域上所属的区域;若所述当前像素在所述图像数据区域上所属的区域,为所述图像数据区域的非可见区域,则将预设像素值传输给所述屏幕进行输出显示,从而可以减少对图像数据存储介质的读取访问操作;若所述当前像素在所述图像数据区域上所属的区域,为所述图像数据区域的可见区域,则从显示控制器的内部缓存中读取所述当前像素的像素值,并传输给所述屏幕进行输出显示,从而也可以进一步减少对显示控制器外部图像数据存储介质的读取访问操作;其中,所述图像数据区域与所述屏幕的显示区域的交集区域,为所述可见区域,所述图像数据区域上除了所述可见区域之外的区域,为所述非可见区域。因此,本申请实施例通过减少从帧缓存中读取图像数据的操作,从而降低数据读取时延,提高了屏幕显示的刷新效率,进而可以满足较高分辨率屏幕的刷新速度要求,并且减少或避免了屏幕出现图像显示异常的情况。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122967604A_ABST
    Figure CN122967604A_ABST
Patent Text Reader

Abstract

The application discloses a screen display control method, device, equipment and medium, which is used to reduce the operation of reading image data from the frame buffer, thereby reducing the data reading delay, improving the refresh efficiency of the screen display, and reducing or avoiding the image display abnormality of the screen. The method comprises the following steps: when it is required to perform the pixel-by-pixel row refresh on the image display of the screen, for each row of pixels in the image data region of each frame: determining the region to which the current pixel belongs on the image data region; if the region to which the current pixel belongs on the image data region is a non-visible region of the image data region, transmitting a preset pixel value to the screen for output display; if the region to which the current pixel belongs on the image data region is a visible region of the image data region, reading the pixel value of the current pixel from the internal cache of the display controller and transmitting the pixel value to the screen for output display.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of screen display technology, and in particular to a screen display control method, apparatus, device and medium. Background Technology

[0002] Many portable devices nowadays have screens, and their display technologies are mostly designed for standard rectangular screens. Data transmission typically uses a segmented rectangular block approach to transmit image data. For non-rectangular screens (such as circular, elliptical, or irregular polygonal screens), the display controller of the device's main control chip is responsible for transmitting image data to the screen. Regardless of whether the image data will be displayed, the display controller reads the image data from, for example, PSRAM (Pseudo-Static Random Access Memory), which serves as a frame buffer. However, the latency required to read image data from the frame buffer is high, resulting in a large number of invalid pixel read operations, affecting the screen's refresh rate. Furthermore, concurrent access to PSRAM by components such as the CPU and GPU may cause the display controller to fail to read pixels in time, leading to abnormal image display on the screen. Summary of the Invention

[0003] This application provides a screen display control method, apparatus, device, and medium to reduce the operation of reading image data from the frame buffer, thereby reducing data reading latency, improving screen display refresh efficiency, and reducing or avoiding screen image display abnormalities.

[0004] This application provides a screen display control method, including:

[0005] When it is necessary to refresh the screen image display pixel by pixel, for each row of pixels within the image data area of ​​each frame:

[0006] Determine the region to which the current pixel belongs in the image data area;

[0007] If the region to which the current pixel belongs in the image data area is a non-visible area of ​​the image data area, then the preset pixel value is transmitted to the screen for output display;

[0008] If the area to which the current pixel belongs in the image data area is a visible area of ​​the image data area, then the pixel value of the current pixel is read from the internal cache of the display controller and transmitted to the screen for output display;

[0009] The area where the image data area intersects with the display area of ​​the screen is the visible area, and the area on the image data area other than the visible area is the non-visible area.

[0010] The screen display control method provided in this application, when requiring pixel-by-pixel refresh of the screen's image display, determines the region to which the current pixel belongs within each row of pixels in the image data region of each frame. If the region to which the current pixel belongs is a non-visible region of the image data region, a preset pixel value is transmitted to the screen for output display, thereby reducing read access operations on the image data storage medium. If the region to which the current pixel belongs is a visible region of the image data region, the pixel value of the current pixel is read from the internal cache of the display controller and transmitted to the screen for output display, further reducing read access operations on the external image data storage medium of the display controller. The intersection of the image data region and the display area of ​​the screen is the visible region, and the region of the image data region other than the visible region is the non-visible region. Therefore, this application reduces data reading latency and improves screen refresh efficiency by reducing the operation of reading image data from the frame buffer, thereby meeting the refresh speed requirements of higher resolution screens and reducing or avoiding screen image display anomalies.

[0011] In some embodiments, the method further includes:

[0012] Multiple preset areas are determined by dividing the display area of ​​the screen according to preset rules;

[0013] Determining the region to which the current pixel belongs in the image data region includes:

[0014] Based on the preset region, the region to which the current pixel belongs in the image data region is determined.

[0015] In some embodiments, the method further includes:

[0016] Using the location information of the multiple preset areas, a list of on-screen areas is generated;

[0017] Save the list of screen areas to a preset storage medium.

[0018] In some implementations, determining the region to which the current pixel belongs in the image data region based on the preset region includes:

[0019] Read the list of on-screen areas from the preset storage medium;

[0020] According to the list of on-screen regions, when it is determined that the current pixel does not belong to the preset region, the region to which the current pixel belongs in the image data region is determined to be the non-visible region of the image data region.

[0021] According to the list of on-screen regions, when it is determined that the current pixel belongs to the preset region, the region to which the current pixel belongs in the image data region is determined to be the visible region of the image data region.

[0022] In some implementations, each of the preset regions is a row of pixels.

[0023] In some embodiments, the method further includes:

[0024] If the pixel value of the last pixel in the preset area corresponding to the current row of pixels has been transmitted to the screen, then the pixel value in the preset area corresponding to the next row of pixels in the current frame is read from the preset frame buffer used to store image data for each frame, and stored in the internal buffer of the display controller.

[0025] In some embodiments, the method further includes:

[0026] If it fails to read the pixel value of the current pixel from the internal cache of the display controller, then the pixel value of the current pixel is read from the preset frame cache used to store image data for each frame.

[0027] This application provides a screen display control device, comprising:

[0028] The pixel region determination unit is used to determine the region to which the current pixel belongs in the image data area for each row of pixels in each frame when the image display on the screen needs to be refreshed pixel by pixel.

[0029] Pixel value transmission unit, used for:

[0030] If the region to which the current pixel belongs in the image data area is a non-visible area of ​​the image data area, then the preset pixel value is transmitted to the screen for output display;

[0031] If the area to which the current pixel belongs in the image data area is a visible area of ​​the image data area, then the pixel value of the current pixel is read from the internal cache of the display controller and transmitted to the screen for output display;

[0032] The area where the image data area intersects with the display area of ​​the screen is the visible area, and the area on the image data area other than the visible area is the non-visible area.

[0033] Another embodiment of this application provides an electronic device including a memory and a processor, wherein the memory is used to store program instructions, and the processor is used to call the program instructions stored in the memory and execute any of the methods described above according to the obtained program.

[0034] Another embodiment of this application provides a computer-readable storage medium storing computer-executable instructions for causing the computer to perform any of the methods described above. Attached Figure Description

[0035] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0036] Figure 1 A schematic diagram of the overall flow of a screen display control method provided in an embodiment of this application;

[0037] Figure 2 A schematic diagram of the image data area and the screen display area provided in the embodiments of this application;

[0038] Figure 3 A schematic diagram illustrating the screen refresh synchronization signal and whether pixels are visible, provided in an embodiment of this application;

[0039] Figure 4 This is a schematic diagram illustrating the division of image data regions according to an embodiment of this application;

[0040] Figure 5 A schematic diagram of an on-screen area list provided in an embodiment of this application;

[0041] Figure 6 This is a schematic diagram illustrating another method for dividing image data regions, as provided in an embodiment of this application.

[0042] Figure 7 This is another schematic diagram of an on-screen area list provided in an embodiment of this application;

[0043] Figure 8 This is a schematic flowchart illustrating a screen display control method provided in an embodiment of this application.

[0044] Figure 9 A detailed flowchart illustrating another screen display control method provided in this application embodiment;

[0045] Figure 10 A comparative diagram showing normal and abnormal screen refresh display provided in an embodiment of this application;

[0046] Figure 11 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application;

[0047] Figure 12 This is a schematic diagram of the structure of a screen display control device provided in an embodiment of this application;

[0048] Figure 13 This is a schematic diagram of another screen display control device provided in an embodiment of this application. Detailed Implementation

[0049] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of the embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.

[0050] This application provides a screen display control method, apparatus, device, and medium to reduce the operation of reading image data from the frame buffer, thereby reducing data reading latency, improving screen display refresh efficiency, and reducing or avoiding screen image display abnormalities.

[0051] The methods, apparatus, equipment, and media are based on the same concept of the application. Since the methods, apparatus, equipment, and media solve problems in similar principles, the implementation of the apparatus, equipment, media, and methods can refer to each other, and repeated parts will not be described again.

[0052] The terms "first," "second," etc. (if present) in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0053] The following examples and embodiments are to be understood as illustrative only. While this specification may refer to "a," "an," or "some" examples or embodiments in several places, this does not mean that every such reference relates to the same example or embodiment, nor does it mean that the feature applies only to a single example or embodiment. Individual features of different embodiments may also be combined to provide other embodiments. Furthermore, terms such as "comprising" and "including" should be understood not to limit the described embodiments to consisting only of those features mentioned; such examples and embodiments may also include features, structures, units, modules, etc., not specifically mentioned.

[0054] The various embodiments of this application will now be described in detail with reference to the accompanying drawings. It should be noted that the order in which the embodiments are presented in this application represents only a chronological order and does not represent the superiority or inferiority of the technical solutions provided by the embodiments.

[0055] Current streaming display technologies (requiring frame and line synchronization signals from the main control chip) are mostly designed for standard rectangular screens, where data transmission covers the entire rectangular area. For non-rectangular screens (such as circular, elliptical, or irregular polygonal screens), a large number of invalid pixels need to be read. If these invalid pixels still need to be read from the storage medium, it will place high demands on the storage bandwidth latency, thus affecting control timing and causing unstable image refresh. For example, when using rectangular blocks in a circular screen, the four corner areas are mostly blank pixels, and these blank pixels still need to be read from storage, resulting in long time delays and affecting timing.

[0056] The screen described in this application embodiment, such as a streaming display, can be a common large screen, such as the screen of a mobile phone or television, or the screen of a wearable device such as a watch. These screens require a synchronization signal from the main control chip. Specifically, each pixel follows the synchronization signal and is transmitted and displayed at a fixed time (that is, the corresponding pixel data must be read before this time). For example, wearable devices typically use large storage bandwidth and latency. The frame buffer used to store image data, such as the commonly used PSRAM (Pseudo Static Random Access Memory), may have a clock of 100MHz. Each time data is read from the PSRAM, it takes 100 to 200 clock cycles. If other hardware modules, such as the CPU and GPU, also access the PSRAM concurrently, the display controller may fail to read the pixel value in time, resulting in abnormal screen refresh.

[0057] In summary, portable devices prioritizing low cost and low power consumption tend to use screens without GRAM (Graphics Random Access Memory, internal screen frame buffer). These screens require the main control chip to generate synchronization signals for screen scanning, and the transmitted pixels are directly displayed. To support higher screen resolutions and refresh rates, higher clock speeds are needed, which places certain requirements on the read latency of the storage medium containing the frame buffer images (i.e., the frame buffer), such as PSRAM (Pseudo Static Random Access Memory).

[0058] Therefore, the method provided in this application embodiment can meet the refresh rate requirements of higher resolution screens by reducing the number of read operations on the frame buffer for commonly used non-rectangular screens, such as circular screens. Furthermore, by reading less data from the frame buffer, more time can be allocated to read the visible pixel values ​​of the frame buffer, thereby reducing the read latency requirements of the storage medium, further improving the success rate of reading valid pixel values, and reducing or avoiding image display anomalies on the screen.

[0059] See Figure 1 This application provides a screen display control method, which, for example, can be applied to the main control chip of a portable device (specifically, it can be implemented by the display controller therein). The method includes:

[0060] S101. When it is necessary to refresh the image display on the screen pixel by pixel, for each row of pixels in the image data area of ​​each frame, determine the area to which the current pixel belongs in the image data area;

[0061] For example Figure 2 As shown, the screen, for example a non-rectangular screen, also has a non-rectangular display area, such as a circle, or of course other shapes. This application embodiment does not impose any limitations.

[0062] For example, when a user command is received to refresh the display screen image, the screen can be refreshed line by line (pixel by pixel) for the current frame image that needs to be displayed.

[0063] The image data region, i.e., the area occupied by a complete frame of image, includes multiple rows and columns of pixels. The specific number of pixel rows and columns depends on actual needs; the number of pixel rows and columns can be different or the same. For example... Figure 2 The area within the dashed box shown represents the outer rectangular region of the circular screen area. Of course, the image data area can also be any area larger than the screen display area, not limited to the outer rectangular region of the screen.

[0064] The current pixel refers to the pixel that the screen needs to output and display at the moment.

[0065] In some embodiments,

[0066] The present invention targets screens that require external (e.g., a main control chip) synchronization signals, while similar technologies do not address this type of screen. The synchronization signals include: a frame synchronization signal (marking the start of a frame of image, synchronizing vertical refresh; a signal or command needs to be sent to the screen before each frame begins transmission), and a line synchronization signal (marking the start of a line of image; a signal or command also needs to be sent to the screen before each line of pixels begins transmission).

[0067] S102. If the region to which the current pixel belongs in the image data area is a non-visible region of the image data area, then the preset pixel value is transmitted to the screen for output display.

[0068] The non-visible area of ​​the image data region, for example Figure 2 The area outside the circular screen area shown.

[0069] The preset pixel value can be, for example, a fixed pixel value (the specific value can be determined according to actual needs, and is not limited in this embodiment), or a random pixel value, that is, a pixel value that does not need to be read from the frame buffer, thereby reducing the reading operation of the frame buffer and reducing the latency required for each frame image to be refreshed to the screen display.

[0070] S103. If the area to which the current pixel belongs in the image data area is a visible area of ​​the image data area, then the pixel value of the current pixel is read from the internal cache of the display controller and transmitted to the screen for output display.

[0071] The visible area of ​​the image data region, for example Figure 2 The area within the circular screen area shown.

[0072] The pixel values ​​stored in the internal cache of the display controller, such as pixel values ​​pre-read from the frame buffer and stored in the internal cache of the display controller, can further reduce the reading operations of the frame buffer and further reduce the latency required for each frame image to be refreshed to the screen display.

[0073] The intersection area between the image data area and the display area of ​​the screen, for example... Figure 2 The area within the circular screen area shown is the visible area, and the area on the image data area other than the visible area is the non-visible area.

[0074] As can be seen, the embodiments of this application do not require improvements to the physical memory. Instead, pixels that are not originally displayed on the screen are not read from the storage medium (i.e., the frame buffer, which belongs to physical memory). Instead, they are directly replaced by random or fixed pixels through the display controller of the main control chip (i.e., the controller that provides pixels and timing to the screen from outside the screen). This reduces the latency pressure of reading pixel values ​​from the storage medium (physical memory) while meeting the timing requirements of the entire rectangular image data area required by the screen.

[0075] For example Figure 3 The diagram shown is a schematic of a panel interface with a synchronization signal, where:

[0076] HSYNC (Horizontal SYNC signal): Horizontal (line) synchronization signal, indicating the start of a line of pixels;

[0077] HBP (Horizontal Back Porch): The horizontal (line) sync signal back shoulder, indicating the number of clock cycles from the horizontal sync signal to the start of valid data for a line pixel;

[0078] HFP (Horizontal Front Porch): The front shoulder of the horizontal (line) sync signal, indicating the number of clock cycles between the end of valid data for a row of pixels and the start of the next horizontal sync signal;

[0079] VSYNC (Vertical SYNC signal): Vertical synchronization signal, indicating the start of a frame of image;

[0080] VBP (Vertical Back Porch): Vertical sync signal back shoulder, indicating the number of invalid pixel rows after the vertical sync signal at the beginning of a frame;

[0081] VFP (Vertical Font Porch): Vertical sync signal front shoulder, indicating the number of invalid pixel rows before the vertical sync signal after a frame of image ends.

[0082] visible, Figure 3 The rectangular region surrounding the circular area is the image data area that must be transmitted to the screen, but only the pixels corresponding to the circular area belong to the image area visible to the screen. Therefore, in this embodiment, pixels that are not normally displayed on the screen are not read from the storage medium, but are directly replaced with random or fixed pixels. This reduces the latency pressure of reading pixel values ​​from physical memory while meeting the timing requirements of the entire rectangular image data area required by the screen.

[0083] In some embodiments, the method further includes:

[0084] Multiple preset areas are determined by dividing the display area of ​​the screen according to preset rules;

[0085] Determining the region to which the current pixel belongs in the image data region includes:

[0086] Based on the preset region, the region to which the current pixel belongs in the image data region is determined.

[0087] Each of the preset regions can be, for example, a pixel row, i.e., a region; of course, a region can also include multiple pixel rows.

[0088] The shape of each preset area can be, for example, a rectangular area, or other shapes.

[0089] In some embodiments, the method further includes:

[0090] Using the location information of the multiple preset areas, a list of on-screen areas is generated;

[0091] Save the list of screen areas to a preset storage medium.

[0092] The location information of the preset region includes, for example, the vertex coordinates, region length, height, and other information of the preset region.

[0093] A preset storage medium, such as SRAM, is used to store the list of areas on the screen.

[0094] In some implementations, determining the region to which the current pixel belongs in the image data region based on the preset region includes:

[0095] Read the list of on-screen areas from the preset storage medium;

[0096] According to the on-screen region list, when it is determined that the current pixel does not belong to the preset region (for example, by querying the on-screen region list, it is determined that the position of the current pixel does not belong to any preset region), then the region to which the current pixel belongs in the image data region is determined to be the non-visible region of the image data region.

[0097] According to the list of on-screen regions, when it is determined that the current pixel belongs to the preset region (for example, by querying the list of on-screen regions to determine that the position of the current pixel belongs to a preset region), the region to which the current pixel belongs in the image data region is determined to be the visible region of the image data region.

[0098] In some implementations, each of the preset regions is a row of pixels.

[0099] In other words, if each row of pixels on the screen is taken as a preset area, then the list of areas on the screen only needs to store the x-coordinates of the starting and ending points of each row of pixels (or the x-coordinate of a point and the length information of the row of pixels), because the pixel height of each row is consistent.

[0100] For example Figure 4 As shown, for a circular screen, the screen is divided into regions using pixels as the unit, with each row representing a preset region. The corresponding list of screen regions, for example, needs to be stored... Figure 5 The information shown, for example for row 1 (i.e. region 1), only needs to record the X coordinate of point B1 and the length of line segment B1C1, and the same applies to other regions.

[0101] In some implementations, such as Figure 6 As shown, for a circular screen, the screen can be pre-divided into multiple rectangular regions. For example, region 1 is the rectangular region defined by vertices E1 (top left corner) and F1 (bottom right corner); region 2 is the rectangular region defined by vertices E2 and F2; and so on, region n is the rectangular region defined by vertices En and Fn. Therefore, a corresponding list of screen regions needs to be stored, for example... Figure 7 The information shown, for example, for region 1, requires recording the X and Y coordinates of point E1 and the width and height of region 1, and the same applies to other regions.

[0102] In some embodiments, the method further includes:

[0103] If the current row pixels (e.g.) Figure 4 The pixel value of the last pixel in the preset region corresponding to row n) shown (e.g. Figure 4 Once the image data of each frame (Cn) is transmitted to the screen, the pixel values ​​within a preset area corresponding to the next row of pixels in the current frame (e.g., the pixel values ​​of pixel Bn+1 at the beginning of row n+1 and all subsequent pixels) are read from a preset frame buffer (e.g., PSRAM) used to store image data for each frame, and stored in the internal buffer of the display controller. This ensures that the display controller can obtain the pixel values ​​of the next row more quickly and output them to the screen for display.

[0104] In some embodiments, the method further includes:

[0105] If it fails to read the pixel value of the current pixel from the internal cache of the display controller (i.e., the corresponding data in the frame buffer could not be read in advance), then the pixel value of the current pixel is read from the preset frame buffer used to store the image data of each frame.

[0106] The following is based on Figure 4Taking the area division method shown as an example, the screen display control method provided in this application embodiment includes:

[0107] Step 1: The CPU of the main control chip divides the physical visible area of ​​the non-rectangular screen (i.e., the display area of ​​the screen) vertically into multiple rectangular areas from top to bottom.

[0108] Step 2: The CPU of the main control chip generates a list of areas on the screen.

[0109] For example, it could be like Figure 4 The diagram shows the region division using individual pixel rows as units, and the generation... Figure 5 The list of areas shown on the screen.

[0110] The positional information of each rectangular region can include the coordinates of the region's vertices and is set in the on-screen region list. For example, if the region is divided in fixed units of pixels, the X and Y coordinates of the top-left and bottom-right corners do not need to be saved.

[0111] These rectangular regions do not intersect, and their union covers the entire visible physical display area of ​​the screen. For example, Figure 4 As shown, the circular screen is divided into regions, with each row as a unit. The set of line segments formed by the intersections of each row with the circular screen (e.g., line segment BC in the nth row) constitutes the display area of ​​the screen. The corresponding list of screen regions includes the positional information of these line segments. For example, for any line segment, it includes the X-coordinate of one endpoint and the length of the line segment. Alternatively, it could include the X-coordinates of both endpoints of the line segment. Since the height of the region is fixed at 1 (one pixel row equals a rectangle with a height of 1), the Y-coordinate can be ignored.

[0112] Step 3: The CPU of the main control chip stores the list of screen areas into high-speed random access memory (RAM), such as the static random-access memory (SRAM) inside the chip.

[0113] Step 4: When screen refresh is required, the display controller of the main control chip reads the list of screen areas from SRAM and sends a line synchronization signal to the screen at the beginning of each line to indicate the start of a line pixel transmission.

[0114] Depending on the screen interface signal, it can be controlled by a separate control signal line (for example, a large screen used in a mobile phone or television uses a separate signal line to send a pulse signal to indicate synchronization); or it can be controlled by sending a line synchronization command, such as the QSPI interface, which synchronizes by sending a line synchronization command.

[0115] Step 5: The main control chip's display controller determines whether the area to which the current pixel belongs in the image data area is a visible area;

[0116] For any pixel, for example Figure 4 The pixel in the nth row shown has an x-coordinate of Xn (where Xn is the x-coordinate of the pixel in the nth row shown). Figure 4 Point A1 shown is the origin of the coordinate system. If based on Figure 5 The list of screen areas shown must satisfy one of the following conditions:

[0117] Xn <Bn;

[0118] Xn>Cn;

[0119] Therefore, it can be determined that the pixel is not visible, and there is no need to read the actual pixel value from the frame buffer.

[0120] If the pixel to be transmitted (i.e., the current pixel) is not in the visible area corresponding to that row (i.e., the preset area corresponding to that row in the screen area list), a random or preset fixed pixel value is transmitted, such as a fixed black pixel 0, for output display. This eliminates the need to read the actual pixel value from the frame buffer in physical memory, allowing more time to prefetch visible pixel values ​​in the same or next row of the frame buffer. In other words, the display controller can prefetch pixels from the frame buffer into internal memory (e.g., a buffer size of about 16 pixel values) and send them directly to the screen when needed.

[0121] If the pixel to be transmitted is a pixel in the visible area, the display controller reads the pixel value from the internal memory. If it cannot be read, the pixel value can be read from the frame buffer.

[0122] For example, Figure 4 In the nth row, the pixels corresponding to the AnBn and CnDn segments are replaced with preset black pixels, while the pixels in the BnCn ​​segment can be read from the actual pixel values ​​in the frame buffer for transmission.

[0123] If adopted Figure 8 The screen refresh control flow shown, for the pixel refresh of row n, requires the display controller to read the pixel values ​​starting from An into its internal buffer, then send HSYNC and HBP to the screen, and continue reading the pixel values ​​not yet read in row n, transmitting the pixel values ​​from An to Dn to the screen for output display. Then, it starts reading the pixel values ​​starting from An+1 into the display controller's internal buffer and sends HFP to the screen. The subsequent pixel refresh of row n+1 follows the same logic and will not be described further.

[0124] If adopted Figure 9The screen refresh control flow shown, for the pixel refresh of row n, the display controller sequentially reads the pixel values ​​starting from Bn into its internal buffer, then sends HSYNC and HBP to the screen, and begins refreshing pixels from An to Bn, transmitting the preset fixed pixel values ​​to the screen. It then continues reading any unread pixel values ​​from row n and transmits the pixel values ​​from Bn to Cn to the screen for output display. Next, it begins reading pixel values ​​starting from Bn+1 into the display controller's internal buffer and refreshing pixels from Cn to Dn, transmitting the preset fixed pixel values ​​to the screen, and then sending HFP to the screen. The subsequent pixel refresh of row n+1 follows the same logic and will not be described further.

[0125] contrast Figure 8 and Figure 9 The screen display refresh process shown, regarding the reading of pixel values ​​for the BnCn ​​segment, differs from related technologies that only use the front and back shoulders of the line synchronization signal. It adds the time allotted for the AnBn segment of the same line and the Cn-1Dn-1 segment of the (n-1)th line, which can be used to pre-read the pixel values ​​of the BnCn ​​segment from the frame buffer. If it is the first line, then the time allotted for the A1B1 segment of the first line is used to pre-read the pixel values ​​of the B1C1 segment from the frame buffer.

[0126] For example, in related technologies, the pixel value of B2, the first visible pixel in the second row, can only be read after the pixel preceding B2 in that row has been read. However, using the method provided in this application, the pixel value of B2 can be read after the last visible pixel C1 in the first row, thus allowing more prefetch time. Specifically, the following time can be used to prefetch the pixel values ​​of B2 and its subsequent pixels:

[0127] HBP+HSYNC+HFP+A2B2 line segment pixel count / pixel clock frequency;

[0128] Therefore, the method provided in this application embodiment can tolerate greater latency in reading image data from the frame buffer.

[0129] In summary, the embodiments of this application establish a list of on-screen areas covering the entire physical screen. When the display controller of the main control chip transmits pixels that are not in the area list, it does not need to read the corresponding pixel value from the frame buffer in the storage medium. Instead, it transmits a fixed pixel value, thereby reading less data and having more time to read the visible pixels in the frame buffer, reducing the read latency requirements of the storage medium.

[0130] Furthermore, embodiments of this application can also improve the success rate of reading valid pixel values ​​and reduce or avoid image display abnormalities on the screen. For example, in a smart Bluetooth watch using a QSPI interface screen without GRAM, the main control chip needs to send synchronization timing to control the screen scanning; however, because the frame is buffered in PSRAM, the delay for each pixel reading is relatively large (each time reading begins, a relatively long read command needs to be sent beforehand, resulting in reading delay), which may lead to some pixels not being read in time, causing the entire image display to be offset, such as... Figure 10 As shown, the normal display effect is as shown on the left. However, if the frame buffer read speed is slightly slow, a short black line will appear in the middle of the image on the right (because no valid data was read, it displays an abnormal pixel, and it may not actually be black). From this "short black line," all image data is offset by the same number of pixels as the length of the "short black line." The method provided in this application allows more time to read the visible pixel values ​​of the frame buffer, thereby reducing the read latency requirements of the storage medium, further improving the success rate of reading valid pixel values, and reducing or avoiding screen image display abnormalities.

[0131] The following describes the device or apparatus provided in the embodiments of this application, and the explanations or examples of the same or corresponding technical features as those described in the above methods will not be repeated hereafter.

[0132] This application provides an electronic device, such as a display controller, or a main control chip including a display controller and a CPU, or an entire terminal device (e.g., a portable device). See [link to relevant documentation]. Figure 11 The electronic device includes, for example:

[0133] Processor 600 is used to read the program from memory 620 and execute the following procedures:

[0134] When it is necessary to refresh the screen image display pixel by pixel, for each row of pixels within the image data area of ​​each frame:

[0135] Determine the region to which the current pixel belongs in the image data area;

[0136] If the region to which the current pixel belongs in the image data area is a non-visible area of ​​the image data area, then the preset pixel value is transmitted to the screen for output display;

[0137] If the area to which the current pixel belongs in the image data area is a visible area of ​​the image data area, then the pixel value of the current pixel is read from the internal cache of the display controller and transmitted to the screen for output display;

[0138] The area where the image data area intersects with the display area of ​​the screen is the visible area, and the area on the image data area other than the visible area is the non-visible area.

[0139] In some embodiments, the processor 600 is further configured to read a program from the memory 620 and execute the following processes:

[0140] Multiple preset areas are determined by dividing the display area of ​​the screen according to preset rules;

[0141] Determining the region to which the current pixel belongs in the image data region includes:

[0142] Based on the preset region, the region to which the current pixel belongs in the image data region is determined.

[0143] In some embodiments, the processor 600 is further configured to read a program from the memory 620 and execute the following processes:

[0144] Using the location information of the multiple preset areas, a list of on-screen areas is generated;

[0145] Save the list of screen areas to a preset storage medium.

[0146] In some implementations, determining the region to which the current pixel belongs in the image data region based on the preset region includes:

[0147] Read the list of on-screen areas from the preset storage medium;

[0148] According to the list of on-screen regions, when it is determined that the current pixel does not belong to the preset region, the region to which the current pixel belongs in the image data region is determined to be the non-visible region of the image data region.

[0149] According to the list of on-screen regions, when it is determined that the current pixel belongs to the preset region, the region to which the current pixel belongs in the image data region is determined to be the visible region of the image data region.

[0150] In some implementations, each of the preset regions is a row of pixels.

[0151] In some embodiments, the processor 600 is further configured to read a program from the memory 620 and execute the following processes:

[0152] If the pixel value of the last pixel in the preset area corresponding to the current row of pixels has been transmitted to the screen, then the pixel value in the preset area corresponding to the next row of pixels in the current frame is read from the preset frame buffer used to store image data for each frame, and stored in the internal buffer of the display controller.

[0153] In some embodiments, the processor 600 is further configured to read a program from the memory 620 and execute the following processes:

[0154] If it fails to read the pixel value of the current pixel from the internal cache of the display controller, then the pixel value of the current pixel is read from the preset frame cache used to store image data for each frame.

[0155] Transceiver 610 is used to receive and send data under the control of processor 600.

[0156] Among them, Figure 11 In this context, the bus architecture can include any number of interconnected buses and bridges, specifically linking various circuits of one or more processors represented by processor 600 and memory represented by memory 620 together. The bus architecture can also link various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and therefore will not be described further herein. The bus interface provides an interface. The transceiver 610 can be multiple components, including transmitters and receivers, providing a unit for communicating with various other devices over a transmission medium, including wireless channels, wired channels, optical fibers, etc. For different user equipment, the user interface 630 can also be an interface capable of connecting external or internal devices, including but not limited to keypads, displays, speakers, microphones, joysticks, etc.

[0157] The processor 600 is responsible for managing the bus architecture and general processing, while the memory 620 can store the data used by the processor 600 when performing operations.

[0158] In some implementations, the processor 600 may be a CPU (Central Processing Unit), an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or a CPLD (Complex Programmable Logic Device), and the processor may also employ a multi-core architecture.

[0159] The processor executes any of the methods described in the embodiments of this application according to the obtained executable instructions by calling a computer program stored in memory. The processor and memory may also be physically separated.

[0160] It should be noted that the apparatus provided in this application embodiment can implement all the method steps implemented in the above method embodiment and can achieve the same technical effect. Here, the parts that are the same as those in the method embodiment and the beneficial effects will not be described in detail.

[0161] See Figure 12 This application provides a screen display control device, such as a display controller, or a main control chip including a display controller. The device includes:

[0162] The pixel region determination unit 11 is used to determine the region to which the current pixel belongs in the image data area for each row of pixels in the image data area of ​​each frame when it is necessary to refresh the image display of the screen pixel by pixel row;

[0163] Pixel value transmission unit 12, used for:

[0164] If the region to which the current pixel belongs in the image data area is a non-visible area of ​​the image data area, then the preset pixel value is transmitted to the screen for output display;

[0165] If the area to which the current pixel belongs in the image data area is a visible area of ​​the image data area, then the pixel value of the current pixel is read from the internal cache of the display controller and transmitted to the screen for output display;

[0166] The area where the image data area intersects with the display area of ​​the screen is the visible area, and the area on the image data area other than the visible area is the non-visible area.

[0167] In some implementations, see Figure 13 The screen display control device further includes:

[0168] The region division unit 10 (which may be implemented by a CPU, for example) is used to determine multiple preset regions obtained by dividing the display area of ​​the screen according to preset rules;

[0169] Determining the region to which the current pixel belongs in the image data region includes:

[0170] Based on the preset region, the region to which the current pixel belongs in the image data region is determined.

[0171] In some embodiments, the region division unit 10 is further configured to:

[0172] Using the location information of the multiple preset areas, a list of on-screen areas is generated;

[0173] Save the list of screen areas to a preset storage medium.

[0174] In some implementations, determining the region to which the current pixel belongs in the image data region based on the preset region includes:

[0175] Read the list of on-screen areas from the preset storage medium;

[0176] According to the list of on-screen regions, when it is determined that the current pixel does not belong to the preset region, the region to which the current pixel belongs in the image data region is determined to be the non-visible region of the image data region.

[0177] According to the list of on-screen regions, when it is determined that the current pixel belongs to the preset region, the region to which the current pixel belongs in the image data region is determined to be the visible region of the image data region.

[0178] In some implementations, each of the preset regions is a row of pixels.

[0179] In some embodiments, the pixel value transmission unit 12 is further configured to:

[0180] If the pixel value of the last pixel in the preset area corresponding to the current row of pixels has been transmitted to the screen, then the pixel value in the preset area corresponding to the next row of pixels in the current frame is read from the preset frame buffer used to store image data for each frame, and stored in the internal buffer of the display controller.

[0181] In some embodiments, the pixel value transmission unit 12 is further configured to:

[0182] If it fails to read the pixel value of the current pixel from the internal cache of the display controller, then the pixel value of the current pixel is read from the preset frame cache used to store image data for each frame.

[0183] It should be noted that the division of units in the embodiments of this application is illustrative and only represents one logical functional division. In actual implementation, other division methods may be used. Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated units described above can be implemented in hardware or as software functional units.

[0184] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0185] Any of the devices or apparatuses provided in the embodiments of this application can specifically be desktop computers, portable computers, smartphones, tablet computers, personal digital assistants (PDAs), etc. They may include a central processing unit (CPU), memory, input / output devices, etc. Input devices may include keyboards, mice, touchscreens, etc., and output devices may include display devices such as liquid crystal displays (LCDs) and cathode ray tubes (CRTs).

[0186] The memory may include read-only memory (ROM) and random access memory (RAM), and provides the processor with program instructions and data stored in the memory. In the embodiments of this application, the memory may be used to store the program of any of the methods provided in the embodiments of this application.

[0187] The processor executes any of the methods described in the embodiments of this application according to the program instructions stored in the memory.

[0188] This application also provides a computer program product or computer program that includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform any of the methods described in the above embodiments. The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof.

[0189] This application provides a computer-readable storage medium for storing computer program instructions used in the apparatus provided in the above-described embodiments, including a program for performing any of the methods provided in the above-described embodiments. The computer-readable storage medium may be a non-transitory computer-readable medium.

[0190] The computer-readable storage medium can be any available medium or data storage device that a computer can access, including but not limited to magnetic storage (e.g., floppy disks, hard disks, magnetic tapes, magneto-optical disks (MOs), etc.), optical storage (e.g., CDs, DVDs, BDs, HVDs, etc.), and semiconductor storage (e.g., ROMs, EPROMs, EEPROMs, non-volatile memory (NAND flash), solid-state drives (SSDs)).

[0191] It should be understood that:

[0192] The access technology used by entities in a communication network to transmit traffic can be any suitable current or future technology, such as WLAN (Wireless Local Access Network), WiMAX (Microwave Access Global Interoperability), LTE, LTE-A, 5G, Bluetooth, infrared, etc.; in addition, embodiments may also apply wired technologies, such as IP-based access technologies, such as wired networks or fixed lines.

[0193] An embodiment suitable for implementation as software code or as part thereof and for operation using a processor or processing function is independent of the software code and can be specified using any known or future-developed programming language, such as high-level programming languages ​​such as Objective-C, C, C++, C#, Java, Python, Javascript, other scripting languages, etc., or low-level programming languages ​​such as machine language or assembler.

[0194] The implementation of the embodiments is hardware-independent and can be implemented using any known or future-developed hardware technology or any combination thereof, such as microprocessors or CPUs (central processing units), MOS (metal-oxide-semiconductor), CMOS (complementary MOS), BiMOS (bipolar MOS), BiCMOS (bipolar CMOS), ECL (emitter-coupled logic), and / or TTL (transistor-transistor logic).

[0195] The embodiments may be implemented as individual devices, apparatuses, units, components or functions, or in a distributed manner. For example, one or more processors or processing functions may be used or shared in the process, or one or more processing segments or processing portions may be used and shared in the process, wherein one or more physical processors may be used to implement one or more processing portions dedicated to a particular process as described.

[0196] The device can be implemented by a semiconductor chip, a chipset, or a (hardware) module that includes such a chip or chipset.

[0197] The implementation can also be implemented as any combination of hardware and software, such as ASIC (Application-Specific IC (Integrated Circuit)) components, FPGA (Field Programmable Gate Array) or CPLD (Complex Programmable Logic Device) components or DSP (Digital Signal Processor) components.

[0198] The embodiments can also be implemented as computer program products, including a computer-usable medium in which computer-readable program code is embodied, the computer-usable program code being adapted to perform the processes described in the embodiments, wherein the computer-usable medium may be a non-transitory medium.

[0199] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage and optical storage) containing computer-usable program code.

[0200] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0201] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0202] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0203] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.

Claims

1. A screen display control method, characterized in that, The method includes: When it is necessary to refresh the screen image display pixel by pixel, for each row of pixels within the image data area of ​​each frame: Determine the region to which the current pixel belongs in the image data area; If the region to which the current pixel belongs in the image data area is a non-visible area of ​​the image data area, then the preset pixel value is transmitted to the screen for output display; If the area to which the current pixel belongs in the image data area is a visible area of ​​the image data area, then the pixel value of the current pixel is read from the internal cache of the display controller and transmitted to the screen for output display; The area where the image data area intersects with the display area of ​​the screen is the visible area, and the area on the image data area other than the visible area is the non-visible area.

2. The method according to claim 1, characterized in that, The method further includes: Multiple preset areas are determined by dividing the display area of ​​the screen according to preset rules; Determining the region to which the current pixel belongs in the image data region includes: Based on the preset region, the region to which the current pixel belongs in the image data region is determined.

3. The method according to claim 2, characterized in that, The method further includes: Using the location information of the multiple preset areas, a list of on-screen areas is generated; Save the list of screen areas to a preset storage medium.

4. The method according to claim 3, characterized in that, Based on the preset region, determining the region to which the current pixel belongs in the image data region includes: Read the list of on-screen areas from the preset storage medium; According to the list of on-screen regions, when it is determined that the current pixel does not belong to the preset region, the region to which the current pixel belongs in the image data region is determined to be the non-visible region of the image data region. According to the list of on-screen regions, when it is determined that the current pixel belongs to the preset region, the region to which the current pixel belongs in the image data region is determined to be the visible region of the image data region.

5. The method according to claim 2, characterized in that, Each of the aforementioned preset regions is a row of pixels.

6. The method according to claim 5, characterized in that, The method further includes: If the pixel value of the last pixel in the preset area corresponding to the current row of pixels has been transmitted to the screen, then the pixel value in the preset area corresponding to the next row of pixels in the current frame is read from the preset frame buffer used to store image data for each frame, and stored in the internal buffer of the display controller.

7. The method according to claim 1, characterized in that, The method further includes: If it fails to read the pixel value of the current pixel from the internal cache of the display controller, then the pixel value of the current pixel is read from the preset frame cache used to store image data for each frame.

8. A screen display control device, characterized in that, The device includes: The pixel region determination unit is used to determine the region to which the current pixel belongs in the image data area for each row of pixels in each frame when the image display on the screen needs to be refreshed pixel by pixel. Pixel value transmission unit, used for: If the region to which the current pixel belongs in the image data area is a non-visible area of ​​the image data area, then the preset pixel value is transmitted to the screen for output display; If the area to which the current pixel belongs in the image data area is a visible area of ​​the image data area, then the pixel value of the current pixel is read from the internal cache of the display controller and transmitted to the screen for output display; The area where the image data area intersects with the display area of ​​the screen is the visible area, and the area on the image data area other than the visible area is the non-visible area.

9. An electronic device, characterized in that, include: Memory, used to store program instructions; A processor is configured to invoke program instructions stored in the memory and execute the method according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions for causing the computer to perform the method according to any one of claims 1 to 7.