# US 8,471,861 B2 · Method and system for cost-efficient, high-resolution graphics/image display system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,471,861 B2
- Document ID: US8471861B2
- Status: Granted
- Kind: B2
- Application number: 12/159,090
- Filed: 2006-12-15
- Published: 2009-01-01
- Granted: 2013-06-25
- Earliest claimed: 2005-12-27
- Assignees: Imsys AB
- Applicants: Stefan Blixt
- Inventors: Stefan Blixt
- Web page: https://patentgrep.com/patent/US8471861B2

## CPC

- G06F 3/1415: {with means for detecting differences between the image stored in the host and the images displayed on the displays}
- G09G 2330/021: Power management, e.g. power saving
- G09G 2340/02: Handling of images in compressed format, e.g. JPEG, MPEG
- G09G 2340/0407: Resolution change, inclusive of the use of different resolutions for different screen areas
- G09G 2360/125: using unified memory architecture [UMA]
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G09G: ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION (arrangements for transferring data between digital computers and displays G06F3/14; static indicating arrangements comprising an association of a number of separate sources or light control cells G09F9/00; static indicating arrangements comprising integral associations of a number of light sources H01J, H01K, H10H, H05B33/12; scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission, details thereof H04N1/00)

## Abstract

An image display system comprises a processor 10, a main memory 20 and a display panel 30, where the main memory 20 includes an uncompressed image area 24 for storing image data relating to an image and a compressed image area 26 for storing compressed image data. The processor is microcode-programmed, and executes, after changes have been made in the uncompressed image area, a special sequence of microcode words in a micro program memory 12 of the processor for compressing at least those parts of the uncompressed image area that are subject to changes. The microcode-compressed parts of the image data are then stored in the compressed image area 26 of the main memory. Compressed image data may then be fetched from the compressed image area 26 and decompressed for enabling generation of an appropriate image signal. The generated image signal can finally be applied to the display 30 for refreshing the image.

## Claims

### Claim 1

A method for updating and refreshing an image in an image display system having a processor configured as a central processing unit (CPU), a main memory associated with the processor, and a display, the CPU being a microcode-controlled processor having a CPU-internal micro program memory for storing microcode words and execution circuitry for executing the microcode words, the CPU-internal micro program memory comprising microcode words for controlling an internal operation of the CPU, and a special sequence of microcode words for performing compression, the method comprising:
storing image data relating to the image in an uncompressed image area of said main memory of the processor, the uncompressed image area being divided into segments; performing compression according to a first transformation process to ensure a specific level of compression by executing, after changes have been made in the uncompressed image area, said special sequence of microcode words in said CPU-internal micro program memory, for reading and compressing segments of the uncompressed image area that are subject to said changes, each segment able to be independently compressed and decompressed;
performing further compression, when there is available processing time, according to a second transformation process to improve the compression level by selecting one or more segments to work on and further compress the data;
storing the compressed segments of the image data in a compressed image area of the main memory of the processor, each segment having a dedicated space;
fetching compressed image data from the compressed image area;
decompressing the compressed image data fetched from the compressed image area, and generating an appropriate image signal based on the compressed image area; and
applying the generated image signal to said display to refresh said image,
wherein the processor enables refreshing of the image only with the compressed image data in the main memory of the processor.

### Claim 2 (depends on 1)

The method of claim 1, wherein said special sequence of microcode words is adapted for allowing changes of a limited part of the image contents without having to recompress the entire image.

### Claim 3 (depends on 1)

The method of claim 1, wherein said special sequence of microcode words is adapted for performing compression on a rectangular area of said image corresponding to the smallest rectangle containing said changes.

### Claim 4 (depends on 3)

The method of claim 3, wherein said rectangular area of said image has a number of line segments, which when compressed by said special sequence of microcode words are written one at a time without interruption into the compressed image area of the main memory.

### Claim 5 (depends on 4)

The method of claim 4, wherein each line segment can be compressed and decompressed independently of all other line segments in said rectangular area.

### Claim 6 (depends on 1)

The method of claim 1, wherein said special sequence of microcode words causes writing the compressed parts of the image into said compressed image area of the main memory of the processor in a way that ensures that only complete image objects are output to the compressed image area.

### Claim 7 (depends on 1)

The method of claim 1, wherein said special sequence of microcode words is a part of the microcode words in the micro program memory that is triggered as and when needed for compressing at least parts of the uncompressed image area that are subject to said changes, and compressed image data is fetched from the compressed image area in phase with the refresh scanning of the display.

### Claim 8 (depends on 1)

The method of claim 1, wherein the microcode-implemented compressing is executed time-shared with ordinary control operations of the microcode-controlled processor.

### Claim 9 (depends on 1)

The method of claim 1, wherein an application program, running from the main memory, performs changes in the image in the uncompressed image area and calls a routine for making the changes visible on the display, wherein said routine initiates said special sequence of microcode words stored in the micro program memory.

### Claim 10 (depends on 1)

The method of claim 1, wherein said first transformation process is based on color difference coding and said second transformation process is based on data repetition coding.

### Claim 11 (depends on 1)

The method of claim 1, wherein selected line segments of the compressed image area are double buffered, and for each pair of double-buffered line segments, the compression process may target the line segment not in use for display refresh and the refresh process may target the other line segment,
each pair of double-buffered line segment is associated with a control code controlling which of the line segments is to be used for refresh and which can be used for storing new compressed image data,
the method further comprising changing, when all line segments corresponding to a sub-image containing changes have been compressed, associated control codes such that the new compressed line segments are used for refresh.

### Claim 12 (depends on 11)

The method of claim 11, wherein, for each segment, the corresponding control code is arranged in a preceding segment in the refresh process.

### Claim 13 (depends on 11)

The method of claim 11, wherein the control codes are implemented in a table for access by the refresh process.

### Claim 14

An image display system, comprising:
a display;
a processor configured as a central processing unit (CPU), the CPU being a microcode-controlled processor having a CPU-internal micro program memory for storing microcode words and execution circuitry for executing the microcode words, the CPU-internal micro program memory comprising
microcode words for controlling an internal operation of the CPU, and
a special sequence of microcode words for performing compression;
a main memory associated with the processor, the main memory having an uncompressed image area for storing image data, the uncompressed image area being divided into segments, and a corresponding compressed image area for storing compressed image data; and
circuitry for decompression and video signal generation,
wherein the processor is configured to perform compression according to a first transformation process to ensure a given level of compression by executing, after changes have been made in the uncompressed image area, said special sequence of microcode words in said CPU-internal micro program memory, for reading and compressing segments of the uncompressed image area that are subject to said changes, each segment able to be independently compressed and decompressed,
wherein the processor is configured to perform further compression, when there is available processing time, according to a second transformation process to improve the compression level by selecting one or more segments to work on and further compress the data,
wherein said processor is configured to store the compressed segments of the image data in said compressed image area of the main memory of the processor, each segment having a dedicated space,
wherein the circuitry for decompression and video signal generation is configured to decompress compressed image data fetched from the compressed image area to generate an appropriate image signal based on data from the compressed image area and to apply the generated image signal to said display to refresh said image, and
wherein the processor is configured to enable refresh of an image only with the compressed image data in the main memory of the processor.

### Claim 15 (depends on 14)

The image display system of claim 14, wherein said special sequence of microcode words in said micro program memory is adapted for allowing changes of a limited part of the image contents without having to recompress the entire image.

### Claim 16 (depends on 14)

The image display system of claim 14, wherein said special sequence of microcode words in said micro program memory is adapted for performing compression on a rectangular area of said image corresponding to the smallest rectangle containing said changes.

### Claim 17 (depends on 16)

The image display system of claim 16, wherein said rectangular area of said image has a number of line segments, which when compressed by said special sequence of microcode words are written one at a time without interruption into the compressed image area of the main memory.

### Claim 18 (depends on 17)

The image display system of claim 17, wherein each line segment can be compressed and decompressed independently of all other line segments in said rectangular area.

### Claim 19 (depends on 14)

The image display system of claim 14, wherein said special sequence of microcode words in said micro program memory causes writing the compressed parts of the image into said compressed image area of the main memory of the processor in a way that ensures that only complete image objects are output to the compressed image area.

### Claim 20 (depends on 14)

The image display system of claim 14, wherein said special sequence of microcode words is a part of the microcode words in the micro program memory that is triggered as and when needed for compressing at least parts of the uncompressed image area that are subject to said changes, and compressed image data is fetched from the compressed image area in phase with the refresh scanning of the display.

### Claim 21 (depends on 14)

The image display system of claim 14, wherein said processor is configured to execute the microcode-implemented compressing time-shared with ordinary control operations of the microcode-controlled processor.

### Claim 22 (depends on 14)

The image display system of claim 14, wherein said main memory includes an application program, which when executed by said processor performs changes in the image in the uncompressed image area and calls a routine for making the changes visible on the display, wherein said routine initiates said special sequence of microcode words stored in the micro program memory.

### Claim 23 (depends on 14)

The image display system of claim 14, wherein said processor is implemented as a microcontroller core formed in an integrated circuit.

### Claim 24 (depends on 14)

The image display system of claim 14, wherein said circuitry configured to decompress the compressed image data fetched from the compressed image area comprises decompression logic with associated memory buffers, and the compressed image data is transferred from the compressed image area to the decompression logic by a direct memory access (DMA) unit.

### Claim 25 (depends on 24)

The image display system of claim 24, wherein said DMA unit is implemented within said microcode-controlled processor and the direct memory access process is implemented by a special sequence of microcode words in the internal micro program memory.

### Claim 26

A processor for use in an image display system and adapted for cooperating with a main memory having an uncompressed image area for storing image data, the uncompressed image area being divided into segments, and a compressed image area for storing compressed image data, the processor comprising:
a central processing unit (CPU), the CPU being a microcode-controlled processor having
a CPU-internal micro program memory for storing microcode words, and
execution circuitry for executing the microcode words,
wherein the CPU-internal micro program memory comprises microcode words for controlling an internal operation of the CPU, and a special sequence of microcode words for performing compression,
wherein the processor is configured to perform compression according to a first transformation process to ensure a specific level of compression by executing, after changes have been made in the uncompressed image area, said special sequence of microcode words in said CPU-internal micro program memory, for reading and compressing segments of the uncompressed image area that are subject to said changes, compression of one of the segments being independent of the other segments,
wherein the processor is configured to perform further compression, when there is available processing time, according to a second transformation process to improve the compression level by selecting one or more segments to work on and further compress the data,
wherein said processor is configured to store the compressed segments of the image data in said compressed image area of the main memory of the process, each segment having a dedicated space, and
wherein the processor is configured to enable refreshing of an image only with the compressed image data in the main memory of the processor.

### Claim 27 (depends on 26)

The processor of claim 26, wherein said special sequence of microcode words in said micro program memory is adapted for allowing changes of a limited part of the image contents without having to recompress the entire image.

### Claim 28 (depends on 26)

The processor of claim 26, wherein said processor is operable for executing the microcode-implemented compressing time-shared with ordinary control operations of the microcode-controlled processor.

### Claim 29 (depends on 26)

The processor of claim 26, wherein said main memory includes an application program, which when executed by said processor performs changes in the image in the uncompressed image area and calls a routine for making the changes visible on a screen, wherein said routine initiates said special sequence of microcode words stored in the micro program memory.

### Claim 30 (depends on 26)

The processor of claim 26, wherein said processor is implemented as a microcontroller core formed in an integrated circuit.
