Run Length Compression Mechanism
A method is disclosed. The method includes receiving a data stream and performing Run Length Limited (RLL) encoding to encode the data stream, including adjusting run types and lengths and aligning headers to boundaries of a decoding system.
1 . A machine-readable medium including data that, when accessed by a machine, cause the machine to perform operations comprising:
receiving a data stream; and
performing Run Length Limited (RLL) encoding to encode the data stream, including:
adjusting run types and lengths; and
aligning headers to boundaries of a decoding system.
2 . The machine readable medium of claim 1 wherein aligning the headers comprises using only odd literal headers.
3 . The machine readable medium of claim 1 wherein aligning the headers comprises using only a minimum repeat header length of 3.
4 . The machine readable medium of claim 1 wherein aligning the headers comprises adding No operation headers as padding.
5 . The machine readable medium of claim 1 wherein aligning the headers comprises forcing short literal runs to push a next header to proper alignment.
6 . The machine readable medium of claim 1 wherein aligning the headers comprises minimizing short literal runs.
7 . The machine readable medium of claim 1 including data that, when accessed by a machine, cause the machine to further perform operations comprising decoding the encoded data stream, including:
identifying a first header within the encoded data stream that defines a first number of data blocks subsequent to the first header and a first RLL encoding of the first number of data blocks;
identifying a following header within the data stream that defines a following number of data blocks subsequent to the following header and a following RLL encoding of the following number of data blocks; and
decoding the first number of data blocks based on the first RLL encoding and the following number of data blocks based on the following RLL encoding in parallel to generate an output.
8 . The machine readable medium of claim 7 wherein identifying the first header further comprises identifying the first header based on a previous header and a previous number of data blocks preceding the first header in the encoded data stream and identifying the following header further comprises identifying the following header based on the first header and the first number of data blocks subsequent to the first header.
9 . A printing system comprising:
a decoding system; and
a print controller to receive a data stream and perform Run Length Limited (RLL) encoding to encode the data stream, including adjusting run types and lengths; and aligning headers to boundaries of the decoding system.
10 . The printing system of claim 9 wherein aligning the headers comprises using only odd literal headers.
11 . The printing system of claim 9 wherein aligning the headers comprises using only a minimum repeat header length of 3.
12 . The printing system of claim 9 wherein aligning the headers comprises adding No operation headers as padding.
13 . The printing system of claim 9 wherein aligning the headers comprises forcing short literal runs to push a next header to proper alignment.
14 . The printing system of claim 9 wherein aligning the headers comprises minimizing short literal runs.
15 . The printing system of claim 9 wherein the decoding system identifies a first header within the encoded data stream that defines a first number of data blocks subsequent to the first header and a first RLL encoding of the first number of data blocks, identifies a following header within the data stream that defines a following number of data blocks subsequent to the following header and a following RLL encoding of the following number of data blocks and decodes the first number of data blocks based on the first RLL encoding and the following number of data blocks based on the following RLL encoding in parallel to generate an output.
16 . A method comprising:
receiving a data stream; and
performing Run Length Limited (RLL) encoding to encode the data stream, including:
adjusting run types and lengths; and
aligning headers to boundaries of a decoding system.
17 . The method of claim 16 wherein aligning the headers comprises using only odd literal headers.
18 . The method of claim 16 wherein aligning the headers comprises using only a minimum repeat header length of 3.
19 . The method of claim 16 , wherein aligning the headers comprises adding No operation headers as padding.
20 . The method of claim 16 , wherein aligning the headers comprises forcing short literal runs to push a next header to proper alignment.