Fast and lightweight writing or reading of 2D-shaped pixels in active matrix digital displays

By using static memory and interface design in active matrix digital displays, only a specific subset of pixels of the display screen is solved, and more efficient pixel operation is achieved.

CN120457477APending Publication Date: 2025-08-08MIKE ROYALE CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380085898.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-12-23
Filing Date
2023-12-19
Publication Date
2025-08-08

AI Technical Summary

Technical Problem

Existing active matrix digital displays need to transmit intensity values for all pixels when writing or reading pixels, resulting in significant delays and energy consumption.

Method used

Using static memory and interface design, the data transmission amount is reduced by receiving the type identifier of the command and predefined position parameters.

Benefits of technology

It realizes faster pixel reading/writing process, saving energy consumption, and is especially suitable for efficient data transmission when dynamically modifying display content.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120457477A_ABST
    Figure CN120457477A_ABST
Patent Text Reader

Abstract

The present invention relates to an active matrix digital display comprising: a plurality of pixels, each pixel comprising a static memory storing one or more values of an intensity of the pixel; an interface configured to, upon receiving at least one command (Cmd4): obtain an identifier (Id4) of the type of said command; if the type of the command belongs to at least one type related to the 2D shape: reading at least one parameter (RowCorl4) related to at least one pixel position in the display screen in a predefined position of the payload of the command; based at least on the at least one parameter, a value of the intensity of the subset of pixels is written from the commanded payload (PixInt4) to a static memory of the subset of pixels of the screen, or a value of the intensity of the subset of pixels is read from the static memory of the subset of pixels.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of active matrix digital displays; more particularly, the present disclosure relates to the field of writing or reading pixels in active matrix digital displays. Background Art

[0002] An active matrix digital display is a display in which each pixel is associated with an address and comprises a memory storing one or more pixel intensities, and each pixel can be independently read or written. An active matrix display may be, for example, an LCD, AMOLED or AMLED display, or a microdisplay.

[0003] If the pixel is a grayscale pixel, the pixel's memory may store a single intensity value, or if the pixel is a color pixel, such as an RGB pixel, the memory may store multiple intensity values for multiple color layers. Each pixel may further include a digital-to-analog converter (DAC) that converts the intensity value stored in the pixel's memory into a voltage or current for one or more electroluminescent elements of the pixel.

[0004] The pixel's memory can be static memory, such as static random access memory (SRAM), or volatile memory. Volatile memory requires refreshing, while the value stored in static memory remains stored indefinitely until it is erased and replaced by a new value. Pixels including static memory are described, for example, by Hao, D., Aiying, G., and Feng, R. (November 2020), A New Low-power Pixel Circuit for OLEDoS Microdisplay, in 2020 17th China International Forum on Solid State Lighting and 2020 International Forum on Wide Bandgap SemiconductorsChina (SSLChina: IFWS) (pp. 211-214), IEEE.; and Vogel, U., Beyer, B., Schober, M., Wartenberg, P., Brenner, S., Bunk, G., ..., and Richter, B. (May 2017), 77-1: Invited Paper: Ultra-low Power OLED Microdisplay for Extended Battery Life in NTE Displays. NTE Displays), in SID Symposium Digest of Technical Papers (Vol. 48, No. 1, pp. 1125-1128).

[0005] Active-matrix digital displays typically have an interface that receives commands and writes pixel intensities to memory, or conversely, reads pixel intensities from memory. The interface can be a serial interface or a parallel interface. Examples of serial interfaces include I2C, SPI, or CAN interfaces, but virtually any type of serial interface can be used in an active-matrix digital display.

[0006] When writing to or reading from an active-matrix display, a command is typically sent that includes a bitmap image of all the pixels of the display to be written or read. Consequently, all intensity values for all pixels of the image are transmitted across the interface. This results in significant delays when writing or reading these values and consumes a lot of energy.

[0007] Therefore, there is a need to reduce the amount of data to be transferred for writing to or reading from an active matrix display screen. Summary of the Invention

[0008] The present disclosure improves this situation.

[0009] An active matrix digital display is proposed, comprising: a plurality of pixels, each pixel comprising a static memory storing one or more values of intensity of the pixel; an interface configured to, upon receiving at least one command: obtain an identifier of the type of the command; if the type of the command belongs to at least one type related to a 2D shape, then: read at least one parameter related to at least one pixel position in a display screen in a predefined position of a payload of the command; and based at least on the at least one parameter, write the values of the intensity of a subset of pixels from the payload of the command to the static memory of the subset of pixels of the screen, or read the values of the intensity of the subset of pixels from the static memory of the subset of pixels.

[0010] By "static memory" we mean memory in which values are permanently stored until further modified. Static memory may be, for example, static random access memory ("SRAM"). In a static memory digital display, the static memory stores the intensities of the pixels, and the display screen shows at any time the current value of the intensity of each pixel stored in the static memory.

[0011] By "interface," we mean an interface capable of receiving commands and analyzing them to write or read data from or to static memory. An interface may include wires and electronic circuitry. An interface may, for example, be a serial or parallel input interface. For example, a serial interface may be an SPI interface. An interface may be an input interface, or both an input and output interface.

[0012] By “identifier of the type of command” we specify a part of the command, for example a bit pattern, which specifies to which type the command belongs.

[0013] By "2D shape" we mean a shape defined as a sequence of pixels in 2 dimensions. A 2D shape can be a general shape associated with at least one parameter of size (rectangle, triangle, square...), or a specific shape defined by a precise sequence of pixels, such as a mouse arrow.

[0014] By "at least one parameter related to at least one pixel position in the display screen" we specify at least one parameter allowing to retrieve the pixel position in the screen so that the position of a 2D shape in the display screen can be identified.

[0015] By "one or more value intensities" we specify at least one intensity that defines the layout of pixels.

[0016] For example, if the pixel is a grayscale pixel, the layout of the pixel can be defined by a single intensity value, or, for example, if the pixel is defined by multiple color channels, the layout of the pixel can be defined by multiple intensity values. For example, an RGB pixel includes three sub-pixels, each of which is associated with an intensity value. Other color representations are also available, such as RG (two color channels for red and green, two sub-pixels for each pixel) or RGBW (four color channels for red, green, blue, and white, two sub-pixels for each pixel).

[0017] The pixel position may be, for example, the position of a specific pixel of a shape, such as the upper left corner of a rectangle or the end of an arrow. However, the present invention is not limited to this example, and each pixel position that allows precise positioning of a 2D shape in the screen may be used.

[0018] Pixel positions may be expressed, for example, using row and column numbers.

[0019] In some cases, the at least one parameter may include other parameters besides the pixel position. Such other parameters may include, for example:

[0020] - indicates a 2D shape (e.g., is a 2D shape, a square, a rectangle, or a triangle), if this is not specified by the command type;

[0021] - the size of the 2D shape;

[0022] - Orientation of 2D shapes;

[0023] -etc.

[0024] This allows reading or writing only a portion of the screen's pixels. Because the screen is equipped with static memory, in the event of a write, the intensity of the pixel is retained as long as it is not overwritten. This therefore provides faster pixel reading / writing and saves energy compared to writing / reading a complete set of screen pixels.

[0025] In another aspect, a display device is provided, comprising: an active matrix digital display according to an embodiment of the present invention; and a processing unit configured to send at least one command to an interface of the digital display.

[0026] By "processing unit" we designate an electronic component capable of performing electronic or computer calculations for a function. A processing unit may designate any type of processor or electronic component capable of performing digital calculations. For example, a processing unit may be an integrated circuit, an ASIC (from the English acronym "Application-Specific Integrated Circuit", which literally means "integrated circuit specific to an application" in French), a microcontroller, a microprocessor, a digital signal processor (DSP), a processor, a graphics processing unit (GPU). The processing unit according to the present invention is not limited to a specific type of computing architecture. For example, the processor may implement a Harvard or Von Neumann type architecture.

[0027] On the other hand, a method performed by a digital display is proposed, wherein the digital display includes: a plurality of pixels, each pixel including a static memory, the static memory storing one or more values of the intensity of the pixel; an interface; the method including: receiving at least one command through the interface; if the command type of the command belongs to at least one type related to a 2D shape, then: reading at least one parameter related to at least one pixel position in a display screen in a predefined position of a payload of the command; based at least on the at least one parameter, writing the values of the intensities of a subset of pixels from the payload of the command to the static memory of the subset of pixels of the screen, or reading the values of the intensities of the subset of pixels from the static memory of the subset of pixels.

[0028] In another aspect, software or system firmware is proposed, which comprises instructions for implementing at least a part of the method according to an embodiment of the invention when the software or system firmware is executed by a processor.

[0029] By "system firmware" we specify the software that is directly embedded in a device and participates in the operation of the device.

[0030] In another aspect, a computer-readable non-transitory recording medium is provided in which software or system firmware is registered to implement a method according to an embodiment of the present invention when the software or system firmware is executed by a processor.

[0031] The following features may optionally be implemented alone or in combination with other features:

[0032] In various embodiments of the present invention, the payload of the command further comprises at least one parameter defining a layout of the 2D shape, and the interface is configured to write or read a value of the intensity according to the at least one parameter defining the layout of the 2D shape.

[0033] By “at least one parameter defining the layout of the 2D shape” we specify at least one parametric shape or intensity of the pixels of the 2D shape. The at least one parameter defining the layout of the 2D shape may include at least one of the following:

[0034] - pixel intensity or color of all pixels of the shape;

[0035] - at least one parameter defining the effect applied to the 2D shape, such as a color gradient;

[0036] -etc.

[0037] This allows 2D shapes to be read or written using only parameters, thus resulting in more efficient storage of 2D shapes that can be defined by parameters.

[0038] In various embodiments of the invention, the payload of the command comprises intensity values for a subset of pixels, and the interface is configured to write or read the intensity values according to a pixel path associated with the 2D shape.

[0039] By "pixel path", we specify a series of absolute or relative positions of pixels throughout the 2D shape. For example:

[0040] If the 2D shape is a rectangle, the pixel path may comprise lines that read or write the rectangle from top to bottom and from left to right;

[0041] If the 2D shape is a mouse arrow, the pixel path may include reading or writing pixels of the arrow from top to bottom and from left to right, with a different number of pixels at each line;

[0042] -etc.

[0043] The pixel path may be associated with the command type or defined by one or more parameters of the command. For example, if the command is intended to write a rectangle, at least one parameter may define whether the rectangle is written from top to bottom or from bottom to top.

[0044] This allows a 2D shape to be read or written pixel by pixel while only the pixels of the 2D shape are read or written at a time, thereby providing faster reading or writing of a 2D shape defined by pixel values.

[0045] In various embodiments of the present invention, the type of command defines a 2D shape associated with a predefined pixel path.

[0046] With "predefined pixel paths," we specify a path for a shape that is known in advance and fully defined. For example, if the 2D shape is a mouse arrow, the arrow's pixels can be numbered, and the command's payload can contain the pixels in increasing order, so pixels can be read or written in relative positions based solely on the command type and a single pixel position.

[0047] This allows for a reduction in the command size for certain 2D shapes, as the command payload does not need to contain parameters related to the dimensions of the shape to determine the pixel path.The reduction in command size further reduces the energy consumption of the digital display.

[0048] In various embodiments of the present invention, the at least one parameter further comprises at least one parameter related to at least one dimension of the 2D shape; the size of the payload of the command depends on the at least one dimension; and the pixel path is a parameter according to the at least one dimension.

[0049] By "at least one dimension of a 2D shape", we specify at least one parameter defining at least one dimension of the shape. Such at least one dimension may be, for example:

[0050] - height and width of the rectangle;

[0051] - the radius of a circle, the length of one side of a square;

[0052] - a square surface;

[0053] - a second pixel position, which allows to infer the size of the shape;

[0054] -etc.

[0055] This allows you to define shapes of different sizes, such as rectangles, squares, or triangles of different sizes, and only store data related to 2D shapes of that size in the command. This allows you to send and process only useful data based on the size of the shape. The combination of pixel position and size of the shape allows you to define shapes of various positions and sizes.

[0056] In multiple embodiments of the present invention, the 2D shape is a rectangle; the at least one parameter includes: the row index of the first predefined corner of the rectangle; the column index of the first predefined corner of the rectangle; the row index of the second predefined corner of the rectangle, the second predefined corner is opposite to the first predefined corner; the column index of the second predefined corner of the rectangle.

[0057] By "opposite to...", we specify that the second corner of the rectangle is exactly opposite to the first corner of the rectangle. For example:

[0058] -The upper left corner and the lower right corner are relative corners;

[0059] -The upper right corner and the lower left corner are relative corners.

[0060] This provides an efficient way to define all the parameters required to locate the rectangle and thus reduce the command size for reading or writing the rectangle.The reduction in command size further reduces the energy consumption of the digital display.

[0061] In multiple embodiments of the present invention, the 2D shape is a rectangle; the at least one parameter includes: a row index of a first predefined corner of the rectangle; a column index of a first predefined corner of the rectangle; a height of the rectangle; and a width of the rectangle.

[0062] This provides an efficient way to define all the parameters required to locate the rectangle and thus reduce the command size for reading or writing the rectangle.The reduction in command size further reduces the energy consumption of the digital display.

[0063] In multiple embodiments of the present invention, the 2D shape is a disk shape; the at least one parameter includes: a row index of a predefined point associated with the disk shape; a column index of a predefined point associated with the disk shape; and a parameter related to the size of the disk shape.

[0064] By "predefined point associated with the disk", we specify a point that can be precisely located with reference to the disk. Such a predefined point may be, for example, the center of the disk, the top, bottom, extreme left or extreme point of the disk, a corner of a square containing a square, or more generally any point that can be located relative to the disk and whose position therefore allows the disk to be located.

[0065] By "parameters related to the size of the circle", we define parameters that define the size of the disk. Such parameters may be, for example, the radius, diameter, surface or circumference of the disk.

[0066] The position of the predefined points and the parameters related to the size of the circle allow the position of the size of the disk to be fully defined.

[0067] This provides an efficient way to define all the parameters required to position the disc and thus reduce the command size for reading or writing the disc.The reduction in command size further reduces the energy consumption of the digital display.

[0068] In various embodiments of the present invention, the 2D shape is a triangle; and the at least one parameter includes positions of three corners of the triangle.

[0069] By "position of the 3 corners of the triangle", we define the row and column index of each of the 3 corners of the triangle.

[0070] The positions of the 3 corners of a triangle allow to define any triangle and to determine which pixels are included or not included in the triangle.

[0071] This provides an efficient way to define all the parameters required to position a triangle and thus reduce the size of commands used to read or write a triangle.The reduction in command size further reduces the energy consumption of the digital display.

[0072] In various embodiments of the invention, the at least one parameter comprises a parameter defining a command pixel depth lower than the depth of the pixels in the static memory; the interface is configured to perform conversion between the command pixel depth and the depth of the pixels in the static memory.

[0073] By "converting between command pixel depth and the depth of the pixel in static memory," we specify the conversion between two pixel representations. For example, if the pixel is being written from the command payload, the interface converts the bit depth of the pixel in the command payload to the bit depth of the pixel in static memory. Conversely, if the command is a read command that requires a lower bit depth than the bit depth of the pixel representation in static memory, the interface performs a conversion of the bit depth of the pixel in static memory to the bit depth required by the command.

[0074] This allows commands to be sent for writing or reading pixels with a lower bit depth than the bit depth of the pixel representation in static RAM. This reduces the size of the pixel representation of a 2D shape, as fewer bits are required to represent the pixel. At the same time, the conversion performed by the interface ensures that the pixel is correctly represented. Consequently, when only a lower bit depth is required, the size of the command or the backward message when reading pixels can be reduced. This reduction in command size further reduces the energy consumption of digital displays.

[0075] In multiple embodiments of the present invention, the processing unit is configured to, when an object shifts from an initial position to a final position in a 2D scene: send a first command for writing pixels of a first 2D shape to the interface of the digital display, wherein the first 2D shape includes the area where the object was located at the initial position and represents the background of the 2D scene; and send a second command for writing pixels of a second 2D shape to the interface of the digital display, wherein the second 2D shape includes the area where the object was located at the final position and represents the object.

[0076] This allows, when an object moves from a first position to a second position in a 2D scene, the background to be redrawn first in the first position, followed by the object to be drawn in the second position. Thus, if the representations of the object in the first and second positions overlap, the object will not be rendered twice.

[0077] Furthermore, this allows sending a minimal amount of data to represent the displacement of the object, provided that the rest of the 2D scene is not affected by the displacement. BRIEF DESCRIPTION OF THE DRAWINGS

[0078] Additional features, details, and advantages will be apparent from the following detailed description and accompanying drawings, in which:

[0079] Figure 1

[0080] [ Figure 1 ] represents an example of a system in which the present invention may be implemented in its various embodiments.

[0081] Figure 2

[0082] [ Figure 2 ] represents an example of the architecture of the display system in multiple embodiments of the present invention.

[0083] Figure 3

[0084] [ Figure 3 ] represents an example of a method according to multiple embodiments of the present invention.

[0085] Figure 4

[0086] [ Figure 4 ] represents an example of a command for writing a rectangle in multiple embodiments of the present invention, the position and size of the rectangle being defined by the positions of two opposing corners.

[0087] Figure 5

[0088] [ Figure 5 ] represents an example of a command for writing a rectangle in multiple embodiments of the present invention, the position and size of the rectangle being defined by the positions of the corners of the rectangle and their size. DETAILED DESCRIPTION

[0089] Now refer to Figure 1 .

[0090] Figure 1 An example of a system Sys1 is shown in which the present invention may be implemented.

[0091] The system Sys1 includes a user device Udev1 and a pair of glasses Glas1.

[0092] exist Figure 1 In the example of FIG, the user device represented is a smartphone. However, the present invention is not limited to this example, and different user devices with connectivity capabilities may be used, such as smart watches, tablet computers, etc.

[0093] The user device Udev1 is connected to a pair of glasses Glas1 , for example via a short-range radio connection, such as a Bluetooth connection.

[0094] The pair of glasses Glas1 may be glasses configured to display information superimposed on the field of view of the glasses, for example using an OLED display. Glasses that use a micro OLED display to present information superimposed on the scene viewed by the wearer through the glasses. Activelook glasses are equipped with lightweight memory and computing resources to process display commands sent by the user device Udev1, making Activelook glasses light, comfortable and perfectly suitable for sports or other outdoor uses.

[0095] The user device Udev1 can therefore send a command to the glasses Glas1 to display information superimposed on the scene viewed through the glasses. For example, if the user is running, the user device Udev1 can be equipped with sensors to measure information such as running speed, the user's heart rate, and the duration of the run. Commands representing this information can be sent to the glasses Glas1, allowing the user to view their running speed, heart rate, and other information through the glasses while running. At the same time, the glasses Glas1 only receive display commands and do not need to be equipped with a powerful processor to process complex information, such as that provided by the sensors.

[0096] One of the objectives of the system Sys1 is to minimize the amount of data to be transferred from the device Udev1 to the pair of glasses Glas1 and processed by the pair of glasses Glas1. The invention can be used to this effect in order to reduce the size of the data frames transmitted by the user device Udev1 to the pair of glasses Glas1.

[0097] However, the system Sys1 is provided merely by way of non-limiting example of a system in which the present invention may be implemented. The present invention may in fact be implemented by other systems comprising active matrix displays. For example, other kinds of near-eye display devices may be used besides glasses.

[0098] Now refer to Figure 2 .

[0099] Figure 2 This figure shows an example of the architecture of a display device in various embodiments of the present invention.

[0100] The display device Dev includes:

[0101] - an active matrix digital display Disp comprising:

[0102] o a plurality of pixels, each pixel comprising a static memory storing one or more values of an intensity of the pixel;

[0103] ○Interface Int;

[0104] - a processing unit configured to send at least one command to the interface of said digital display.

[0105] The processing unit is thus configured to send to the interface Int commands for writing to the memory of the pixels of the display Disp in order to cause a modification of the display, or conversely to send commands for reading the current values of the memory of the pixels in order to determine the content currently displayed.

[0106] The interface can be a serial or parallel interface. For example, it can be a serial peripheral interface. The interface is capable of processing commands, writing and reading pixel intensities, receiving pixel intensities to be written, and sending pixel intensities that have been read.

[0107] The display device can be of various types. For example, it can be a pair of glasses, such as Glass 1, or another type of near-eye device.

[0108] The digital display Disp is configured to perform a method such as method P3 described below.

[0109] As will be explained in more detail below, this allows the processor Proc to send commands which define a subset of the display screen to be written to or read from and which only include information for reading or writing the intensity values of the pixels in the subset of the screen.

[0110] For example, when the contents of the display are to be modified, the display Disp may receive a command to modify only the modified subset of the display.

[0111] According to various embodiments of the present invention, the processing unit may perform complex operations to determine the command to be sent, that is, the type of command and the associated payload, or directly receive the command to be sent.

[0112] For example, if the display device Dev is the pair of glasses Glas1 , the processor Proc may directly receive commands to be sent from the user device Udev1 , or receive higher-level commands and perform calculations to determine commands to be sent to the display Disp.

[0113] For example:

[0114] - the processor Proc may receive a command from the user device Udev1 to display text in a corner of the display Disp. The text to be displayed may, for example, be the time of day in the format "HH:MM" (hours:minutes, for example "17:05" for 5:05 p.m.). The processor Proc may receive a new command every minute if the display needs to be modified;

[0115] When the pixels have a static memory, only the pixels whose intensity has been changed can thus be modified. Therefore, the processor Proc can be configured to send commands to the interface Int for modifying only the subset of the display whose pixels are to be modified. To this effect, the processor Proc can access a memory Mem in which the current state of the display is stored in the form of a bitmap image, so as to permanently know the state of each pixel of the display.

[0116] In another example, the processor Proc receives coordinates of an object, such as a mouse cursor, that is displaced from an initial position to a final position.

[0117] The processing unit may thus be configured to:

[0118] - sending to the interface Int a first command for writing pixels of a first 2D shape containing the area where the object is located at its initial position and representing the background of the 2D scene;

[0119] - sending to the interface Int a second command for writing pixels of a second 2D shape containing the area where the object is located in its final position and representing the object.

[0120] In other words, to shift an object in a 2D scene, the processing unit may send a first command to redraw the background of the 2D scene at an initial position, and then send a second command to draw the object at a final position.

[0121] For each command, only the pixels in the 2D shape containing the object are written. Thus, a minimum amount of data is sent to the interface.

[0122] These examples show how the invention can be used to dynamically modify a display while sending a minimum amount of data to the interface. However, they are provided by way of non-limiting examples of the use of the invention to modify the display of a display device Dev.

[0123] More generally, a processing unit sending commands to interface Int is able to use the commands to read or write pixels only in 2D shapes where there are pixel intensities to be read or written.

[0124] We will now describe in more detail how commands are handled by the interface Int.

[0125] Now refer to Figure 3 .

[0126] Figure 3 represents an example of a method according to various embodiments of the present invention.

[0127] Method P3 is a method performed by a display comprising a plurality of pixels, each pixel comprising a static memory storing one or more values of the intensity of the pixel, and an interface, e.g. Figure 2 The display Disp represented in .

[0128] The method P3 comprises a first step S31 of receiving at least one command via an interface.

[0129] The command may be a command for reading or writing a memory of a pixel.

[0130] The command may include:

[0131] - an identifier of the command, which defines the command type and the organization of the command's payload (e.g. the location of parameters in the payload, the size of the command, etc.);

[0132] - The command's payload.

[0133] The types of commands may be of different types. For example, some commands may be used to read or write the entire screen. Some other commands may be used to read or write 2D shapes that form a subset of the screen.

[0134] If the type of the command belongs to at least one type related to 2D shapes, the method P3 further comprises a second step S32 of reading at least one parameter related to at least one pixel position in the display screen in a predefined position of the payload of the command.

[0135] In other words, the type of command allows retrieval of a predefined type and position of at least one parameter of the command, and step S32 comprises reading at least one parameter of the command at the predefined position. For example, the position of a pixel may be expressed as a row and column index in the screen.

[0136] At least one parameter of the command includes at least a pixel position in the display screen, and may also include other parameters related to, for example, the size, shape, or orientation of the 2D shape.

[0137] Thus, at the output of step S32, the size and shape of the 2D shape is known from at least one parameter, command type, or a combination thereof.

[0138] For example:

[0139] - The command type may define a precise shape, such as an object of known size. Therefore, the use of parameters related to defined pixels of the shape (e.g., the pixels at the end of the mouse cursor) is sufficient to accurately determine all pixels on the screen that belong to the shape;

[0140] The command type may define the shape type, such as a rectangle, and at least one parameter may define the rectangle size, such as its height and width. Combined with the position of at least one pixel, this also allows to accurately determine all pixels on the screen that belong to the shape.

[0141] Thus, at the end of step S32, the size and position of the 2D shape are known.

[0142] Method P3 further comprises a third step S33 of writing or reading intensity values of a subset of pixels of the screen to or from a static memory of a subset of pixels based at least on said at least one parameter.

[0143] In other words, the intensity of the pixels is read or written only for the pixels in the 2D shape defined by the identifier and at least one parameter of the command. Thus, the amount of data transmitted is reduced. Thus, method P3 allows reducing the time for reading or writing pixels and saving energy in the process of writing or reading the intensity of the pixels.

[0144] Generally speaking, writing a pixel is based on reading the payload and writing the pixel's intensity in the pixel's memory accordingly, while reading a pixel is based on reading the pixel's intensity in the pixel's memory, filling the payload accordingly and sending the information back to, for example, the processing unit Proc.

[0145] Writing or reading pixel intensities can be performed in different ways.

[0146] In various embodiments of the present invention, the payload of the command further comprises at least one parameter defining a layout of the 2D shape, and the interface is configured to write or read a value of the intensity according to the at least one parameter defining the layout of the 2D shape.

[0147] For example, the payload may include at least one parameter defining an effect applied to the 2D shape, such as a color gradient or the like, and pixel intensities of the 2D shape may be written according to the effect.

[0148] Thus, the layout of 2D shapes can be defined based on a minimal amount of information.

[0149] However, it is often not possible to define pixel intensity as a parametric effect, and pixel intensity typically has to be defined on a pixel-by-pixel basis.

[0150] In other embodiments of the invention, the payload of the command comprises intensity values for a subset of pixels, and the interface is configured to write or read the intensity values according to a pixel path associated with the 2D shape.

[0151] In other words, the payload of the command therefore comprises the intensities of the pixels themselves in a predefined order corresponding to the pixel paths in the 2D shape, and the intensities of the pixels are written or read in the payload in the order defined by the pixel paths.

[0152] The number of intensity values to be read or written depends on the number of channels of the pixel's color representation.

[0153] For example:

[0154] If the color representation of a pixel is a grayscale representation, a single intensity value representing the luminosity of the pixel may be read or written;

[0155] If the color representation of a pixel includes multiple channels, multiple intensity values may be written, one for each of the multiple sub-pixels corresponding to each of the color channels. For example, an RGB representation may have three intensity values corresponding to red, green, and blue sub-pixels, an RG representation may have two intensity values corresponding to red and green sub-pixels, and an RGBW representation may have four intensity values corresponding to red, green, blue, and white sub-pixels. Any color representation including multiple channels may be used in accordance with various embodiments of the present invention.

[0156] For example, the type of command may define a 2D shape associated with a predefined pixel path.

[0157] In various embodiments of the invention, the type of command may correspond to a defined 2D shape defined pixel by pixel with a known predefined pixel path.

[0158] This is useful for representing specific 2D shapes. For example, a specific command can be defined to write a mouse pointer of a defined size. The payload then only needs to include the intensity of each of the pixels of the mouse cursor in the defined order.

[0159] In other embodiments of the present invention:

[0160] - the payload further comprises at least one parameter related to at least one dimension of the 2D shape;

[0161] - the size of the payload of the command depends on said at least one size;

[0162] - said pixel path is according to a parameter of said at least one dimension.

[0163] Such embodiments involve writing or reading shapes of variable size. For example, a 2D shape may be a rectangle that may have different sizes, a mouse cursor that may have different sizes, and so on.

[0164] As mentioned above, the parameter related to the at least one dimension may be any kind of parameter allowing to infer the dimension (the dimension itself, the surface of the shape, the second pixel position, etc.).

[0165] Thus, at least one dimension allows determining pixels belonging to a 2D shape, and the pixel path can be parameterized accordingly. For example, the pixel path can include pixel intensities of rows of pixels in a predefined direction (e.g., from left to right and from top to bottom).

[0166] Two specific examples of commands will now be described.

[0167] Now refer to Figure 4 .

[0168] Figure 4 1 shows an example of a command for writing a rectangle whose position and size are defined by the positions of two opposing corners in various embodiments of the present invention.

[0169] Command Cmd4 is used to write a rectangle on the display screen. The command includes:

[0170] - Identifier of the command Id4 (in this example, the command is 0x10);

[0171] -Payload Payl4, which includes:

[0172] ○ Parameters, which include:

[0173] ■ the pixel coordinates of one of the corners of the rectangle (e.g. the upper left corner), defined by its row index RowCor14 and column index ColCor14;

[0174] ■ The pixel coordinates of the opposite corner of the rectangle (e.g., the lower right corner), defined by its row index RowCor24 and column index ColCor24;

[0175] o Pixel intensities PixInt4, which for each pixel of the rectangle comprises its intensities PixInt14, PixInt24, ... PixIntn4 in the order defined by the pixel path.

[0176] The parameters therefore allow to fully define the size of the rectangle and the size of the payload, since the number of pixels to be written is equal to the height of the rectangle times the width.

[0177] The pixel path may correspond to, for example, a row-by-row traversal of a rectangle, e.g., from left to right and from top to bottom. Thus, the order in which the pixels are written is deterministic, and the pixel intensities PixInt14, PixInt24, ... PixIntn4 may be inserted in the correct order in the payload. According to various embodiments of the present invention, each pixel is associated with a number of intensity values, the number of which is equal to the number of color channels represented by the pixel.

[0178] A similar command can be used to read the pixel intensities in a rectangle. In this case, the parameters can be the same parameters that define the position and size of the rectangle, and the pixel intensities PixInt14, PixInt24, PixIntN4 in the payload can be read rather than written.

[0179] Now refer to Figure 5 .

[0180] Figure 5 shows an example of a command for writing a rectangle in various embodiments of the present invention, the position and size of the rectangle being defined by the positions of the corners of the rectangle and their size.

[0181] Command Cmd5 is used to write a rectangle on the display screen. The command includes:

[0182] - Identifier of the command Id5 (in this example, the command is 0x11);

[0183] -Payload Payl5, which includes:

[0184] ○ Parameters, which include:

[0185] ■ the pixel coordinates of one of the corners of the rectangle (e.g. the upper left corner), defined by its row index RowCor15 and column index ColCor15;

[0186] ■The dimensions of the rectangle, defined by its width W5 and height H5.

[0187] o Pixel intensities PixInt5, which for each pixel include its intensities PixInt15, PixInt25, ... PixIntn5 in the order defined by the pixel path.

[0188] Thus, the parameters allow the size of the rectangle and the size of the payload to be fully defined, since the number of pixels to be written is equal to the height of the rectangle multiplied by the width. It is worth noting that in other embodiments of the present invention, the position of the rectangle may be defined by pixel positions that are not the corners of the rectangle, such as its center.

[0189] As in the example of command Cmd4, the pixel path may correspond to a row-by-row traversal of a rectangle, e.g., from left to right and from top to bottom. Thus, the order in which the pixels are written is deterministic, and the pixel intensities PixInt15, PixInt25, ... PixIntn5 may be inserted in the correct order in the payload.

[0190] A similar command can be used to read the pixel intensities in a rectangle. In this case, the parameters can be the same parameters that define the position and size of the rectangle, and the pixel intensities PixInt15, PixInt25, PixIntn5 in the payload can be read rather than written.

[0191] Figure 4 and 5 The example provides a specific example of a command that represents a rectangle whose size and position are parameters in the command.

[0192] However, other shapes may be defined by position and size parameters.

[0193] For example:

[0194] - a command may define a disk shape by the location of predefined points (e.g., the center of the disk shape, the top, bottom, extreme left or pole of the disk shape, a corner of a square containing a square, or more generally, any point that can be positioned relative to the disk shape) and the size of the disk shape (e.g., the radius, diameter, surface or circumference of the disk shape);

[0195] - A command can define a triangle, where the parameters define the positions of the 3 corners of the triangle;

[0196] -etc.

[0197] Each of these commands allows deterministically defining pixels that do or do not belong to a shape. Once the pixels that belong to a shape are known, a predefined pixel path, such as a row-by-row or column-by-column traversal of the pixels that belong to the shape, can be applied to read or write the shape.

[0198] Figure 4 and 5 The example provides a specific example of the command where the pixel intensity itself is stored in the payload.

[0199] It is worth noting that the pixel representation in the payload may or may not be the same as the pixel representation in the pixel's memory.

[0200] The representation of pixels may in particular be defined by a bit depth.The values of pixels are usually represented as unsigned integers, but the invention is not limited to this type of representation.

[0201] For example, if the representation of a pixel in memory is a 24-bit RGB representation (8-bit intensity for each of the three color channels R, G, and B), then the pixel intensities PixInt14, PixInt24, PixIntn4, PixInt15, PixInt25, and PixIntn5 can be represented in the payload using the same 24-bit representation, which can be simply copied in the pixel's memory. Thus, the representation is identical between the payload and the pixel memory, and the size of the payload exactly matches the size of the pixel memory to be read or written.

[0202] In other embodiments of the invention, the pixel representation in the payload may be different from the pixel representation in the pixel's memory.

[0203] For example, the parameters of the command may include a parameter defining a command pixel depth that is lower than the depth of the pixels in the static memory, and the interface may be configured to perform a conversion between the command pixel depth and the depth of the pixels in the static memory.

[0204] For example, the color representation in the payload may be different from the color representation in the static memory of the pixel. For example, the pixel in the payload may be represented in grayscale format, while the pixel in the static memory may be represented in RGB format. In this example, the grayscale intensity stored in the payload may be replicated in each of the R, G, and B channels. In another example, for each pixel intensity, the pixel representation in the payload uses a lower pixel depth than the pixel depth in the static memory. For example, if the pixel depth in the payload is equal to 6 (where the pixel intensity is in the range of 0 to 63) and the pixel depth in the static memory is equal to 8 (where the pixel intensity is in the range of 0 to 255), then the conversion from the representation in the payload to the representation in the static memory may include multiplying the intensity value in the payload by 4 in write mode and dividing the intensity value in the static memory by 4 in read mode.

[0205] This therefore allows the size of the transmitted data to be further reduced.

[0206] The present disclosure is not limited to the digital displays, devices, methods, computer software, and computer-readable non-transitory recording media described herein, which are merely examples. The present disclosure encompasses every alternative that would occur to a person skilled in the art upon reading this text.

Claims

1. An active matrix digital display (Disp) comprising: - a plurality of pixels, each pixel comprising a static memory storing one or more values of the intensity of the pixel; - an interface (Int) configured, upon receipt of at least one command (Cmd4, Cmd5): o Obtain identifiers of the type of command (Ind4, Ind5); If the command type of the command belongs to at least one type related to 2D shapes, then: ■ reading at least one parameter (Param4, Param5) in a predefined location of a payload (Payl4, Payl5) of the command, the at least one parameter comprising at least one parameter related to at least one pixel position in a display screen and at least one parameter related to at least one dimension of the 2D shape, a size of the payload depending on the at least one dimension of the 2D shape, and a pixel path associated with the 2D shape being a parameter according to the at least one dimension of the 2D shape; ■Do one or more of the following: writing the values of the intensities (PixInt4, PixInt5) of the subset of pixels from the payload of the command to a static memory of the subset of pixels of the screen based on at least one parameter associated with at least one pixel position and according to the pixel path, and - Reading values of the intensities (PixInt4, PixInt5) of the subset of pixels from a static memory of the subset of pixels based at least on at least one parameter associated with at least one pixel position and according to said pixel path.

2. The digital display according to claim 1, characterized in that The payload of the command further includes at least one parameter defining a layout of the 2D shape, and the interface is configured to write or read a value of the intensity according to the at least one parameter defining the layout of the 2D shape.

3. A digital display according to any one of the preceding claims, characterized in that The type of command defines a 2D shape associated with a predefined pixel path.

4. A digital display according to any one of the preceding claims, characterised in that: - the 2D shape is a rectangle; - the at least one parameter comprises: o The row index of the first predefined corner of the rectangle (RowCor14); o The column index of the first predefined corner of the rectangle (ColCor14); o The row index (RowCor24) of the second predefined corner of the rectangle, the second predefined corner being opposite the first predefined corner; o The column index of the second predefined corner of the rectangle (ColCor24).

5. The digital display according to any one of claims 1 to 4, characterized in that: - the 2D shape is a rectangle; - the at least one parameter comprises: o The row index of the first predefined corner of the rectangle (RowCor15); o The column index of the first predefined corner of the rectangle (ColCor15); ○ The height of the rectangle (H5); o The width of the rectangle (W5).

6. A digital display according to any one of the preceding claims, characterised in that: - the 2D shape is a disc; - the at least one parameter comprises: o The row index of the predefined point associated with the disk; o The column index of the predefined point associated with the disk; o Parameters related to the size of the disc.

7. A digital display according to any one of the preceding claims, characterised in that: - the 2D shape is a triangle; - said at least one parameter comprises the positions of the three corners of said triangle.

8. A digital display according to any one of the preceding claims, characterised in that: - said at least one parameter comprises a parameter defining a command pixel depth lower than the depth of pixels in said static memory; - the interface being configured to perform a conversion between the command pixel depth and the depth of the pixels in the static memory.

9. A display device (Dev), comprising: - An active matrix digital display according to any one of the preceding claims; - a processing unit (Proc) configured to send at least one command to the interface of said digital display.

10. Display device according to the preceding claim, characterized in that The processing unit is configured to, when the object is displaced from an initial position to a final position in the 2D scene: - sending a first command for writing pixels of a first 2D shape to the interface of the digital display, the first 2D shape comprising the area where the object is located at the initial position and representing the background of the 2D scene; - sending a second command for writing pixels of a second 2D shape to the interface of the digital display, said second 2D shape comprising the area where the object is located in said final position and representing said object.

11. A method (P3) performed by a digital display (Disp), the digital display comprising: - a plurality of pixels, each pixel comprising a static memory storing one or more values of the intensity of the pixel; -Interface(Int); - The method comprises: o receiving ( S31 ) at least one command ( Cmd4 , Cmd5 ) via the interface; If the command type of the command belongs to at least one type related to 2D shapes, then: ■ reading (S32) at least one parameter (Param4, Param5) in a predefined location of a payload (Payl4, Payl5) of the command, the at least one parameter comprising at least one parameter related to at least one pixel position in a display screen and at least one parameter related to at least one dimension of the 2D shape, a size of the payload depending on the at least one dimension of the 2D shape, and a pixel path associated with the 2D shape being a parameter according to the at least one dimension of the 2D shape; ■Do one or more of the following: writing the values of the intensities (PixInt4, PixInt5) of the subset of pixels from the payload of the command to a static memory of the subset of pixels of the screen based on at least one parameter associated with at least one pixel position and according to the pixel path, and - reading (S33) the values of the intensities (PixInt4, PixInt5) of the subset of pixels from a static memory of the subset of pixels based at least on at least one parameter related to at least one pixel position and according to said pixel path.

12. Computer software or system firmware comprising instructions for implementing at least part of the method of claim 11 when said software or system firmware is executed by a processor. 13 . A computer-readable non-transitory recording medium having software or system firmware registered therein for implementing the method according to claim 11 when the software or system firmware is executed by a processor.