# US 11,113,012 B2 · Reprocessing of page strips responsive to low memory condition

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

- Number: US 11,113,012 B2
- Document ID: US11113012B2
- Status: Granted
- Kind: B2
- Application number: 16/605,016
- Filed: 2018-03-28
- Published: 2021-05-06
- Granted: 2021-09-07
- Earliest claimed: 2018-03-28
- Assignees: Hewlett-Packard Development Company, L.P.
- Applicants: Hewlett-Packard Development Company, L.P.
- Inventors: Mark Shaw; Kurt Robert Bengston; Dominic Wayda
- Web page: https://patentgrep.com/patent/US11113012B2

## CPC

- G06F 3/122: {with regard to computing resources, e.g. memory, CPU}
- G06F 12/0875: with dedicated cache, e.g. instruction or stack
- G06F 3/1219: {with regard to consumables, e.g. ink, toner, paper}
- G06F 3/1241: {Dividing a job according to job requirements, e.g. black/white and colour pages, covers and body of books, tabs}
- G06F 3/126: {Job scheduling, e.g. queuing, determine appropriate device}
- G06F 11/3037: {where the computing system component is a memory, e.g. virtual memory, cache (accessing, addressing or allocating within memory systems or architectures G06F12/00; checking stores for correct operation G11C29/00)}
- G06F 12/0882: Page mode
- G06K 15/1817: {Buffers}
- G06K 15/1823: {for evaluating the resources needed, e.g. rasterizing time, ink, paper stock}
- G06K 15/1865: {by compressing the rasterized print data}
- G06T 1/60: Memory management
- G06F 2212/1032: Reliability improvement, data loss prevention, degraded operation etc
- G06F 2212/401: Compressed data
- G06F 2212/455: Image or video data
- G06F 2212/502: using adaptive policy
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06K: GRAPHICAL DATA READING (image or video recognition or understanding G06V); PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

Strips of a page are processed according to a rendering technique, compressed, and stored in a memory buffer until a low memory condition of the buffer occurs. When the low memory condition occurs, the strips that are already stored in the buffer are decompressed, processed according to a memory utilization reduction technique, compressed, and stored in the memory buffer. Strips that are not yet already stored in the buffer when the low memory condition occurs are processed according to the rendering technique and then according to the memory utilization reduction technique before being compressed and stored in the memory buffer.

## Claims

### Claim 1

A method comprising: detecting a low memory condition of a memory buffer storing a plurality of already processed and compressed first strips of a page, the first strips processed according to a rendering technique; responsive to detecting the low memory condition, decompressing, reprocessing, compressing, and storing the first strips in the memory buffer, the first strips reprocessed according to a memory utilization reduction technique; and processing, compressing, and storing a plurality of additional, second strips of the page in the memory buffer, the second strips processed according to the rendering technique and then according to the memory utilization reduction technique; again detecting the low memory condition of the memory buffer; responsive to again detecting the low memory condition, decompressing, reprocessing, compressing, and storing the first and second strips in the memory buffer, the first and second strips reprocessed according to an additional memory utilization reduction technique; and processing, compressing, and storing a plurality of additional, third strips of the page in the memory buffer, the third strips processing according to the rendering technique, then according to the memory utilization reduction technique, and then according to the additional memory utilization reduction technique.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
decompressing the first and second strips of the page from the memory buffer; and
printing, by a print engine, the decompressed first and second strips of the page,
wherein the page is divided over the first and second strips.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
prior to detecting the low memory condition, processing, compressing, and storing the first strips of the page in the memory buffer, the first strips processed according to the rendering technique.

### Claim 4 (depends on 1)

The method of claim 1, further comprising: decompressing the first, second, and third strips of the page from the memory buffer; and printing, by a print engine, the decompressed first, second, and third strips of the page, wherein the page k divided over the first, second, and third strips.

### Claim 5 (depends on 1)

The method of claim 1, wherein the third strips are processed according to the memory utilization reduction technique without being compressed after having been processed according to the rendering technique, and are processed according to the additional memory utilization reduction technique without being compressed after having been processed according to the memory utilization reduction technique.

### Claim 6

The method of 1, wherein the rendering technique comprises a JxK-resolution, N-bit per pixel (bpp) halftoning technique, the memory utilization reduction technique comprises a M<N-bpp conversion technique, and the additional memory utilization reduction techniques comprises an FxG-resolution sampling technique, wherein one or more of F<J and G<K.

### Claim 7 (depends on 1)

The method of claim 1, wherein detecting the low memory condition comprises:
determining that an amount of free space of the memory buffer is insufficient to store one more strip of the page after the one more strip is processed according to the rendering technique and compressed.

### Claim 8 (depends on 1)

The method of claim 1, wherein detecting the low memory condition of the memory buffer comprises:
comparing an amount of free space of the memory buffer to a predicted size of a current strip of the page after compression according to a compression rate of previously compressed strips.

### Claim 9 (depends on 1)

The method of claim 1, wherein the second strips are processed according to the memory utilization reduction technique without being compressed after having been processed according to the rendering technique.

### Claim 10 (depends on 1)

The method of claim 1, wherein the rendering technique comprises a N-bit per pixel (bpp) halftoning technique, and the memory utilization reduction technique comprises a M<N-bpp conversion technique.

### Claim 11

A non-transitory computer-readable data storage medium storing program code executable by a printing device to: successively render, compress, and store in a memory buffer a plurality of strips of a page until a low memory condition of the memory buffer occurs; responsive to occurrence of the low memory condition, decompress, process, compress and store in the memory buffer the strips that were already rendered when the low memory condition occurred; and after the occurrence of the low memory condition, render, process, compress, and store in the memory buffer the strips that were not already rendered when the low memory condition occurred; wherein the program code is executable by the printing device to further: responsive to a second occurrence of the low memory condition, decompress, progress again, compress, and store in the memory buffer the strips that were already rendered and processed when the low memory condition again occurred; and after the second occurrence of the low memory condition, render, process, process again, compress, and store in the memory buffer the strips that were not already rendered and processed when the low memory condition again occurred.

### Claim 12

A printing device comprising: a print engine to print a page; a memory buffer to store a plurality of strips of the page in a compressed manner until the print engine is ready to print the page; and logic implemented at least in hardware to: process according to a rendering technique and compress the strips of the page before storing the strips in the memory buffer, until a low memory condition of the memory buffer occurs; responsive to occurrence of the low memory condition, decompress and process according to a memory utilization reduction technique, and compress the strips already stored in the memory buffer when the low memory condition occurred; and after the occurrence of the low memory condition, process according to the rendering technique and then according to the memory utilization reduction technique, compress, and store in the memory buffer the strips of the page that were not already stored in the memory buffer when the low memory condition occurred;
wherein the logic is further to: responsive to a second occurrence of the low memory condition, decompress, process according to an additional memory utilization reduction technique, and compress the strips already stored in the memory buffer when the low memory condition occurred again; and after the second occurrence of the low memory condition, process according to the rendering technique, then according to the memory utilization reduction technique, and then according to the additional memory utilization reduction technique, compress, and store in the memory buffer the strips that were not already stored in the memory buffer when the low memory condition occurred again.
