IP Library Granted Patent US 8,817,331
Granted Patent B2
US 8,817,331 · App. 12/703,933 · Granted Aug 26, 2014

Transcoding run length limited datastreams for object level halftoning

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,817,331
App. No.
12/703,933
Granted
Aug 26, 2014
Kind
B2
Abstract

Methods and systems for transcoding continuous tone Run Length Limited (RLL) encoded datastreams for including information for identifying halftone screens within the datastream are disclosed. Sequential packets comprising headers and bitmap data are identified within the datastream. Halftone screens associated with bitmap data within the packets are identified and merged into the packets to generate a modified RLL output.

Claims (52)

1. A method comprising:

identifying a first packet within a Run Length Limited (RLL) encoded datastream, wherein the first packet comprises a first header and a first block of at least one byte of continuous tone bitmap data, and wherein the first header is a byte that defines a type of RLL encoding for the first block of bitmap data and a number of bytes in the first block subsequent to the first header;

identifying a first halftone screen for halftoning the first block of bitmap data; and

merging information for identifying the first halftone screen within the first header to generate a modified RLL output by:

reducing a number of bits used in the first header to define the number of bytes in the first block to form an unused number of bits in the first header; and

inserting the information for identifying the first halftone screen in the unused number of bits.

2. The method of claim 1 further comprising:

identifying a second packet within the RLL datastream, wherein the second packet comprises a second header subsequent to the first packet and a second block of at least one byte of continuous tone bitmap data, and wherein the second header is a byte that defines a type of RLL encoding for the second block of bitmap data and a number of bytes in the second block subsequent to the second header;

identifying a second halftone screen for halftoning the second block of bitmap data, wherein the first halftone screen and the second halftone screen are different halftone screens; and

merging information for identifying the second halftone screen within the second header to generate the modified RLL output.

3. The method of claim 1 wherein merging the information further comprises:

generating at least one block of screen information based on the first halftone screen; and

inserting the at least one block of screen information within the first header.

4. The method of claim 1 further comprising:

processing the modified RLL output to identify the first block of bitmap data;

decoding the first block of bitmap data based on an RLL encoding defined by the first header;

processing the modified RLL output to identify the merged information for identifying the first halftone screen; and

providing the decoded first block of bitmap data and the information for identifying the first halftone screen to a halftoning system for generating a halftone output.

5. The method of claim 1 further comprising:

determining that the first block of bitmap data within the first packet includes a first portion of data associated with the first halftone screen and a second portion of data associated with a different halftone screen than the first halftone screen; and

parsing the first packet into a first sub-packet including the first portion of data associated with the first halftone screen and a second sub-packet including the second portion of data associated with the different halftone screen.

6. A system comprising:

a transcoding system including:

an identification system operable to identify a first packet within a Run Length Limited (RLL) encoded datastream, wherein the first packet comprises a first header and a first block of at least one byte of continuous tone bitmap data, wherein the first header is a byte that defines a type of RLL encoding for the first block of bitmap data and a number of bytes in the first block subsequent to the first header, and wherein the identification system is further operable to identify a first halftone screen for halftoning the first block of bitmap data; and

an insertion system operable to merge information for identifying the first halftone screen within the first header to generate a modified RLL output by:

reducing a number of bits used in the first header to define the number of bytes in the first block to form an unused number of bits in the first header, and inserting the information for identifying the first halftone screen in the unused number of bits.

7. The system of claim 6 wherein:

the identification system is further operable to identify a second packet within the RLL datastream, wherein the second packet comprises a second header subsequent to the first packet and a second block of at least one byte of continuous tone bitmap data, wherein the second header is a byte that defines a type of RLL encoding for the second block of bitmap data and a number of bytes in the second block subsequent to the second header;

the identification system is further operable to identify a second halftone screen for halftoning the second block of bitmap data, wherein the first halftone screen and the second halftone screen are different halftone screens; and

the insertion system is further operable to merge information for identifying the second halftone screen within the second header to generate the modified RLL output.

8. The system of claim 6 wherein the insertion system is further operable to generate at least one block of screen information based on the first halftone screen, and to insert the at least one block of screen information within the first header.

9. The system of claim 6 further comprising:

a decoding system including:

an identification system operable to identify the first block of bitmap data from the modified RLL output, and to identify the first halftone screen from the modified RLL output; and

an RLL processor operable to decode the first block of bitmap data based on an RLL encoding defined by the first header, and to provide the decoded first block of bitmap data and the information for identifying the first halftone screen to a halftoning system operable to generate a halftone output.

10. The system of claim 6 wherein:

the identification system is further operable to determine that the first block of bitmap data within the first packet includes a first portion of data associated with the first halftone screen and a second portion of data associated with a different halftone screen than the first halftone screen; and

the identification system is further operable to parse the first packet into a first sub-packet including the first portion of data associated with the first halftone screen and a second sub-packet including the second portion of data associated with the different halftone screen.

11. A printer comprising:

a print controller operable to identify a first packet within a Run Length Limited (RLL) encoded datastream, wherein the first packet comprises a first header and a first block of at least one byte of continuous tone bitmap data, wherein the first header is a byte that defines a type of RLL encoding for the first block of bitmap data and a number of bytes in the first block subsequent to the first header,

wherein the print controller is further operable to identify a first halftone screen for halftoning the first block of bitmap data, and to merge information for identifying the first halftone screen within the first header to generate a modified RLL output by:

reducing a number of bits used in the first header to define the number of bytes in the first block to form an unused number of bits in the first header, and inserting the information for identifying the first halftone screen in the unused number of bits.

12. The printer of claim 11 wherein:

the print controller is further operable to identify a second packet within the RLL datastream, wherein the second packet comprises a second header subsequent to the first packet and a second block of at least one byte of continuous tone bitmap data, and wherein the second header is a byte that defines a type of RLL encoding for the second block of bitmap data and a number of bytes in the second block subsequent to the second header; and

the print controller is further operable to identify a second halftone screen for halftoning the second block of bitmap data, wherein the first halftone screen and the second halftone screen are different halftone screens, and to merge information for identifying the second halftone screen within the second header to generate the modified RLL output.

13. The printer of claim 11 wherein the print controller is further operable to generate at least one block of screen information based on the first halftone screen, and to insert the at least one block of screen information within the first header.

14. The printer of claim 11 wherein:

the print controller is further operable to identify the first block of bitmap data from the modified RLL output, and to identify the first halftone screen from the modified RLL output, and to provide the information for identifying the first halftone screen to a halftoning system operable to generate a halftone output; and

the printer controller is further operable to decode the first block of bitmap data based on an RLL encoding defined by the first header, and to provide the decoded first block of bitmap data to the halftoning system.

15. The printer of claim 11 wherein:

the print controller is further operable to determine that the first block of bitmap data within the first packet includes a first portion of data associated with the first halftone screen and a second portion of data associated with a different halftone screen than the first halftone screen; and

the print controller is further operable to parse the first packet into a first sub-packet including the first portion of data associated with the first halftone screen and a second sub-packet including the second portion of data associated with the different halftone screen.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED ON REEL 037593 FRAME 0641. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME TO AN ASSIGNMENT. Recorded Feb 22, 2016
From: RICOH PRODUCTION PRINT
To: RICOH COMPANY, LTD.
Reel/Frame 037868/0632 →
CHANGE OF NAME Recorded Jan 26, 2016
From: RICOH PRODUCTION PRINT
To: RICOH COMPANY, LTD.
Reel/Frame 037593/0641 →
CHANGE OF NAME Recorded Jan 26, 2016
From: INFORPRINT SOLUTIONS COMPANY, LLC
To: RICOH PRODUCTION PRINT SOLUTIONS LLC
Reel/Frame 037593/0888 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2010
From: HOLLEY, MICHAEL J.
To: INFOPRINT SOLUTIONS COMPANY, LLC
Reel/Frame 023929/0263 →