The present invention relates generally to display systems, and, more particularly, to a multi-layer display system for displaying a plurality of images on multiple planes of a single frame.
In a display screen, multiple windows are opened and viewed simultaneously, and they can be displayed at different layers and overlapped with one another, and have opaque or translucent shading. The screen can be part of any electronic device having a multi-layer display system, such as a computer, a portable device, or a television. The multiple windows can be displayed as a plurality of images and changed from frame to frame.
A multi-layer display system has a plurality of arbiters for displaying images on a plurality of planes each of which is mapped with one of the arbiters. The images are split and assigned to different planes.
Pixels of the images 102-108 displayed on the screen are mapped with data of the images stored in the memory, and each of the arbiters fetches the data of the images mapped with the pixels to be displayed at the plane mapped with the arbiter from the memory. However, if one of the images is in a compression encoded format, such as Run-Length Encoding (RLE), Joint Photographic Experts Group (JPEG), or Lempel Ziv Welch (LZW), the data should be decoded before being fetched by the arbiters. In addition, if an image in a compression encoded format is one that is split and assigned to different planes, for example, the third image 106, random access of the data in the memory for a given pixel number by the arbiters cannot be performed without prior decoding of the third image 106 due to no fixed mapping between the data and the pixels on the screen, thus, the data of the third image 106 should be pre-decoded and kept in the memory for the arbiters to access, which requires a lot of memory for the decoded data and die area for the decoders. Therefore, it would be beneficial to save the memory and die area required by the multi-layer display system.
The following detailed description of the preferred embodiments of the present invention will be better understood when read in conjunction with the appended drawings. The present invention is illustrated by way of example, and not limited by the accompanying figures, in which like references indicate similar elements.
The detailed description of the appended drawings is intended as a description of the currently preferred embodiments of the present invention, and is not intended to represent the only form in which the present invention may be practiced. It is to be understood that the same or equivalent functions may be accomplished by different embodiments that are intended to be encompassed within the spirit and scope of the present invention.
In an embodiment of the present invention, a display system for displaying a plurality of images at multiple planes in a single frame is provided. The plurality of images includes at least one compressed image. The display system includes a compressed image decoder for decoding the compressed image into a plurality of sets of decoded data, and a plurality of arbiters for reading the sets of decoded data from the compressed image decoder, wherein one of the sets of decoded data read by one of the arbiters is to be displayed at one of the multiple planes mapped with the one of the plurality of arbiters. A decoder arbitration and semaphore control unit is connected between the compressed image decoder and the arbiters for splitting the compressed image into a plurality of segments, assigning at least one of the segments to one of the multiple planes, and allowing the one of the arbiters to access the compressed image decoder to read the one of the plurality of sets of decoded data of the one of the plurality of segments assigned to the one of the multiple planes mapped with the one of the plurality of arbiters.
In another embodiment, the present invention provides a method for displaying a plurality of images at multiple planes in a single frame with a display system. The plurality of images includes at least one compressed image, and the display system includes a plurality of arbiters and a compressed image decoder for decoding the compressed image, where one of the arbiters is mapped with one of the multiple planes. The method includes splitting the compressed image into a plurality of segments, assigning at least one of the segments to the one of the multiple planes, allowing the one of the plurality of arbiters mapped with the one of the multiple planes to access the compressed image decoder; and decoding the plurality of segments into a plurality of sets of decoded data.
Referring now to
The multi-layer display system 300 further includes a decoder arbitration and semaphore control (DASC) unit 310 connected between the compressed image decoder 304 and the N arbiters 306_1˜306_N for splitting the at least one compressed image into a plurality of segments, assigning at least one of the plurality of segments to one of the N planes. For example, referring back to
In a preferred embodiment, the compressed image decoder 304 decodes the compressed image according to a sequence of encoding the compressed image. For example, pixel data of the compressed image that is first encoded will be decoded first. In another preferred embodiment, sets of decoded data of the plurality of segments that are not assigned to any one of the N planes are discarded by the DASC unit 310.
The compressed image decoder 304 is shared among the N arbiters and dynamically accessed by the N arbiters with the DASC unit 310, so that only one compressed image decoder is required and memory for storing decoded data of the compressed image is saved.
In a further preferred embodiment, the multi-layer display system 300 further includes a blending and display unit 312 connected to the N arbiters 306_1˜306_N for receiving and blending the plurality of sets of decoded data of the at least one compressed image from the N arbiters, and displaying the at least one compressed image. The compressed image decoder 304, the DASC unit 310, the N arbiters 306_1˜306_N and the blending and display unit 312 can be a part of a processor, such as a CPU, a MCU or a DPU.
Referring now to
The plurality of images are stored in the memory 302 connected to the compressed image decoder 304 of the multi-layer display system. In this example, the third image 106 is in a compressed form, for example, encoded through algorithms like Run-Length Encoding (RLE), Joint Photographic Experts Group (JPEG), or Lempel Ziv Welch (LZW).
Starting at step 402, the compressed image decoder 304 reads the third image 106 from the memory 302. At step 404, the decoder arbitration and semaphore control (DASC) unit 310 accesses the compressed image decoder 304 and splits the third image 106 into a plurality of segments, such as the segments 106a, 106b_1, 106b_2 and 106c. In a preferred embodiment, the DASC unit 310 splits the compressed image (106) into the plurality of segments by determining a boundary of each of the four segments 106a, 106b_1, 106b_2 and 106c. At step 406, the DASC unit 310 assigns the plurality of segments to multiple planes, for example, the first segment 106a is assigned to the first plane 110, the second and third segments 106b_1 and 106b_2 are assigned to the second plane 112, and the fourth segment 106c is assigned to the third plane 114. The plurality of segments are used for defining barriers during decoding of the compressed image.
At step 408, the compressed image decoder 304 starts to decode the third image 106. In a preferred embodiment, the compressed image decoder 304 decodes the third image 106 according to a sequence of encoding the third image 106. For example, data of pixels of the third image 106 that is first encoded will be decoded first. Meanwhile, the DASC unit 310 allows one of the N arbiters 306_1˜306_N to access the compressed image decoder 304 when one of the plurality of segments that is assigned to a plane mapped with the one of the N arbiters 306_1˜306_N is being decoded and required by the one of the N arbiters, so that the one of the N arbiters 306_1˜306_N can read decoded data of the one of the plurality of segments. In a preferred embodiment, the DASC unit 310 stops the one of the N arbiters 306_1˜306_N from accessing the compressed image decoder 304 when the decoding of the one of the plurality of segments is not being performed. For example, when the first segment 106a is being decoded, the DASC unit 310 allows the first arbiter 306_1 to access the compressed image decoder 304 to read decoded data of the first segment 106a, which is to be displayed at the first plane 110, and stops other arbiters from accessing the compressed image decoder 304. In another preferred embodiment, sets of decoded data of the plurality of segments that are not assigned to any one of the N planes are discarded by the DASC unit 310.
At step 410, the blending and display unit 312 receives the plurality of sets of decoded data of the third image 106 from the N arbiters 306_1˜306_N, blends the plurality of sets of decoded data from the N arbiters, and displays the third image 106 at the N planes in a single frame. Therefore, the compressed image decoder 304 is shared among the N arbiters and dynamically accessed by the N arbiters with the DASC unit 310, so that only one compressed image decoder is required and memory for storing decoded data of the compressed image is also saved.
While various embodiments of the present invention have been illustrated and described, it will be clear that the present invention is not limited to these embodiments only. Numerous modifications, changes, variations, substitutions, and equivalents will be apparent to those skilled in the art, without departing from the spirit and scope of the present invention, as described in the claims.