A novel binary-image compression scheme

1,366 views

Published on

This is an ICASSP 2010 presentation of a novel binary and discrete-color image compression scheme.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,366
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
23
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

A novel binary-image compression scheme

  1. 1. A Fast Lossless Compression Scheme for Digital MapImages Using Color Separation by Saif Zahir and Arber Borici Department of Computer Science, University of Northern British Columbia ICASSP 2010
  2. 2. Huffman and Arithmetic Coding The Huffman method assigns shorter code to symbols with higher probabilities  Optimal encoder  Low efficiency with skewed probabilities  Higher efficiency on groups of symbols The Arithmetic method performs better by encoding a sequence of symbols  Higher complexity  Less efficient with larger alphabets  Affected by inaccurate probabilities more often than Huffman coding 2
  3. 3. Motivation and Objectives Proposing a new lossless compression method for discrete-color images  Constructing a universal Huffman-based codebook by studying the entropy of a system of randomly chosen binary images  Introducing and additional helper module, the RCRC algorithm Low-complexity and high-efficiency method Design a coding method notwithstanding the nature of a binary image 3
  4. 4. The Proposed Method Three components:1. Preprocessing  Perform color separation into binary layers  Make layer dimensions divisible by 82. A universal Huffman codebook  Designed by studying a relatively large sample of randomly chosen binary images  Huffman coding applied on 8x8 blocks of a binary image3. The Row-Column Reduction Coding  Attempts to compress 8x8 blocks which are not found in the codebook  Checks for identity between rows and columns 4
  5. 5. General Diagram of the Method No Use the original block BkAppendtest data Layers Yes Compressed RCRC(Bk) < Data Color 64 bits? Use reduced Separation block No 8x8 Yes blocks Bk Codebook ? Block Bk Use Huffman Code of block Bk 5
  6. 6. The Codebook Construction Build a system of binary images  Images contain no noise  The system is unbiased, i.e. images are randomly selected Perform a frequency analysis on 8x8 blocks of the system images Identify blocks that occur more than once Determine the system entropy Build correct Huffman codes for the most frequent blocks The resulting codebook is a fixed-to-variable dictionary containing 6952 entries 6
  7. 7. How is the codebook employed? Search the codebook for each 8x8 block of a given source image  The X-by-Y image is partitioned into XY/64 8x8 blocks If the block exists in the codebook, compress using the corresponding Huffman code An example of the codebook structure: 7
  8. 8. The first three codebook entries: 8
  9. 9. The Codebook Entropy The entropy of our codebook is 4.08 bits per 8x8 block  Thus, the compression limit is (64 – 4.08)/64 = 93.63% The average Huffman code length is 4.094 9
  10. 10. Row-Column Reduction Coding (RCRC) Operates on 8x8 blocks Uses two reference vectors  The Row Reference Vector (RRV) is a column vector  The Column Reference Vector (CRV) is a row vector Checks whether two consecutive row vectors are identical  If rows are identical, one is eliminated and the block is reduced by one row  If not, the next two consecutive row vectors are compared  The row reduction operation continues until the end of the block is reached 10
  11. 11. RCRC (cont.) The column reduction operation is similar and elimination operations are stored in the CRV The output of RCRC is a bit stream containing the RRV, CRV, and the reduced block  Concatenated as S = RRV+CRV+RB  Minimum length of S = 17 bits 11
  12. 12. RCRC Example: 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 Row reduced block RRV 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1Row 1 eliminates row 2Row 3 eliminates all other rowsColumn elimination is performed on the row-reduced block: CRV 1 0 0 0 0 0 1 0 1 1 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1 The reduced blockThe compressed bit stream for this example is: 10100000100000101011 12
  13. 13. The Coding Process  Summarized in the following table: Block encoding bits Description For the block with the shortestCase 1a ‘11’ Huffman code in the codebook ‘00’ + 5 bits + Huffman For other blocks found in theCase 1b Code codebook For blocks compressed byCase 2 ‘01’ + RRV + CRV + RB RCRCCase 3 ‘10’ + 64 bits For uncompressed blocks 13
  14. 14. Time Complexity Analytical Time Complexity  The codebook contains fixed entries  RCRC is executed on fixed, 8x8 blocks  The variable input is the source image size  Time complexity is O(XY), where X and Y are the image dimensions Empirical Metric  Average run time: less than 1s for various binary images  Worst case: Block B not in the dictionary; not compressed by RCRC. However, such blocks are rare (about 5% of, on average) 14
  15. 15. Preliminary Results Tested on several topographic maps Average compression of 0.036 bpp Very large image dimensions Original Compressed Compression Results reported in theImage literature for a similar Size (KB) Size (KB) Ratio (bpp) class of images vary 1 10,960 210.77 0.019 from 0.22 to 0.18 bpp. 2 220,979 7,489.27 0.034 (Franti et al., 2002) 3 173,769 6,626. 27 0.038 4 2,562 206.69 0.081Total 409,270 14,533.12 0.036 15
  16. 16. Selected Set of Test Images: Source: UNBC GIS Lab: Maps of British Columbia 16
  17. 17. The Four Layers of Map 1 Layer 1: Contour Lines Layer 2: Lakes 4 different colors Layer 3: Rivers Layer 4: Roads 17

×