Skip to Main Content
The optimal placement of a run-length coding extension to a dictionary-based lossless data compression algorithm is investigated. A hardware implementation of the proposed extension is completed and integrated into an existing design. The new hardware is benchmarked against commercially available software and hardware compression methods. Run-length coding replaces repetitive, identical sequences of a symbol with a pair formed by a code indicating the repeating symbol plus a code indicating the length or number of repetitions that occurred. This method of coding is of limited use for general compression due to its relatively poor performance. However, good results can be achieved when used as an extension to a general lossless data compression algorithm where it can improve compression, targeting the coding of repetitive data formats such as zeroes in memory or fax pages or a uniform colour in image backgrounds. It is shown that the run-length coding method can be extended to support more complex repeating patterns with little extra cost in terms of hardware or speed but providing significant superior compression performance.