Enhanced Binary MQ Arithmetic Coder with Look-Up Table
Abstract
:1. Introduction
2. Related Works
2.1. Shannon–Fano–Elias Arithmetic Coder
2.2. Binary MQ Arithmetic Coder (ITU-T Recommendation T.88, 2000)
2.2.1. MPS Encoder in Binary MQ Coder (CODEMPS)
2.2.2. LPS Encoder in Binary MQ Coder (CODELPS)
2.2.3. Renormalization (RENORME) and Byte-Out (BYTEOUT) in Binary MQ Coder
2.2.4. Adaptive Coding with Probability Estimation Table
2.3. M-Coder (Marpe, D)
3. Proposal of Enhanced Binary MQ Coder
3.1. Problem of Existing Binary MQ Coder
3.2. Proposed LPS Probability Estimation Look Up Table Method
3.2.1. 2-Level LUT
3.2.2. 4-Level LUT
3.2.3. 8-Level LUT
4. Experimental Results
4.1. Experimental Enviroment
4.2. Basic Context-Free MQ Coding Experimental Results
4.3. JBIG2 Experimental Results
4.4. JPEG2000 Experimental Results
5. Discussion and Conclusions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
References
- Rissanen, J.J. Generalized Kraft Inequality and Arithmetic Coding. IBM J. Res. Dev. 1976, 20, 198–203. [Google Scholar] [CrossRef]
- Abramson, N. Information Theory and Coding; McGraw-Hill: New York, NY, USA, 1963. [Google Scholar]
- Tian, X.; Le, T.M.; Lian, M. Chap. 2 Review of CAVLC, Arithmetic Coding, and CABAC. In Entropy Coders of the H.264/AVC Standard, Signals and Communication Technology; Springer: Berlin, Germany, 2011; pp. 29–39. [Google Scholar]
- Jelinek, F. Probabilistic Information Theory; McGraw-Hill: New York, NY, USA, 1968. [Google Scholar]
- Gilbert, E.N.; Moore, E.F. Variable-Length Binary Encodings. Bell Syst. Tech. J. 1959, 7, 932–967. [Google Scholar] [CrossRef]
- Cover, T.; Thomas, J. Elements of Information Theory; Wiley-InterScience: New York, NY, USA, 2005. [Google Scholar]
- Pasco, R. Source Coding Algorithms for Fast Data Compression. Ph.D. Thesis, Stanford University, Stanford, CA, USA, 1976. [Google Scholar]
- Cover, T.M. Enumerative Source Encoding. IEEE Trans. Inf. Theory 1973, 19, 73–77. [Google Scholar] [CrossRef]
- Witten, I.H.; Neal, R.M.; Cleary, J.G. Arithmetic Coding for Data Compression. Commun. ACM 1987, 30, 520–540. [Google Scholar] [CrossRef]
- Langdon, G., Jr. An Introduction to Arithmetic Coding. IBM J. Res. Dev. 1984, 28, 135–149. [Google Scholar] [CrossRef]
- Howard, P.; Vitter, J. Arithmetic Coding for Data Compression. Proc. IEEE 1994, 82, 856–865. [Google Scholar] [CrossRef]
- Moffat, A.; Neal, R.M.; Witten, H. Arithmetic Coding, Revisited. ACM Trans. Inf. Syst. 1998, 16, 256–294. [Google Scholar] [CrossRef] [Green Version]
- Said, A. Introduction to Arithmetic Coding: Theory and Practice, Technical Report; HPL-2004-76; HP Laboratories: Palo Alto, CA, USA, 2004. [Google Scholar]
- Yu, Q.; Yu, W.; Yang, P.; Zheng, J.; Zheng, X.; He, Y. An Efficient Adaptive Binary Arithmetic Coder Based on Logarithmic Domain. IEEE Trans. Image Process. 2015, 24, 4225–4239. [Google Scholar] [CrossRef] [PubMed]
- Belyaev, E.; Liu, K.; Gabbouj, M.; Li, Y. An Efficient Adaptive Binary Range Coder and Its VLSI Architecture. IEEE Trans. Circuits Syst. Video Technol. 2015, 225, 1435–1446. [Google Scholar] [CrossRef]
- Belyaev, E.; Turlikov, A.; Egiazarian, K.; Gabbouj, M. An Efficient Adaptive Binary Arithmetic Coder with Low Memory Requirement. IEEE J. Sel. Top. Signal Process Spec. Issue Video Coding HEVC Beyond 2013, 7, 1053–1061. [Google Scholar] [CrossRef]
- Pennebaker, W.; Mitchell, J.; Langdon, G., Jr.; Arps, R. An Overview of the Basic Principles of the Q-coder Adaptive Binary Arithmetic Coder. IBM J. Res. Dev. 1988, 32, 717–726. [Google Scholar] [CrossRef]
- ITU-T Recommendation T.88. Information Technology—Lossy/Lossless Coding of Bi-Level Images. February 2000. Available online: https://www.itu.int/rec/T-REC-T.88/en (accessed on 5 January 2021).
- ITU-T Recommendation T.89. Application Profiles for Recommendation T.88—Lossy/Lossless Coding of Bi-Level Images for Facsimile. September 2001. Available online: https://www.itu.int/rec/T-REC-T.89/en (accessed on 5 January 2021).
- Marpe, D. Fast Adaptive Binary Arithmetic Coding (M Coder). Available online: http://iphome.hhi.de/marpe/mcoder.htm (accessed on 5 January 2021).
- Marpe, D.; Wiegand, T. A Highly Efficient Multiplication-free Binary Arithmetic Coder and Its Application in Video Coding. In Proceedings of the IEEE International Conference Image Processing (ICIP), Barcelona, Spain, 14–17 September 2003. [Google Scholar]
- Marpe, D.; Schwartz, H.; Wigland, T. Context-based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard. IEEE Trans. Circuits Syst. Video Technol. 2003, 13, 620–636. [Google Scholar] [CrossRef] [Green Version]
- Marpe, D.; Marten, G.; Cycon, H.L. A Fast Renormalization Technique for H.264/MPEG4-AVC Arithmetic Coding. In Proceedings of the 51st Internationales Wissenschaftliches Kolloquium (IWK), Ilmenau, Germany, 11–15 September 2006; Ilmenau University of Technology: Ilmenau, Germany, 2006. [Google Scholar]
- Mitchell, L.; Pennebaker, W.; Goertzel, G. Log Encoder/Decoder System. U.S. Patent 4,791,403, 13 December 1988. Available online: https://patents.google.com/patent/US4791403A/ (accessed on 5 January 2021).
- Niu, B.; Cao, X.; Wang, L.; Wei, Z.; Yu, Q.; Zheng, J.; He, Y. An Efficient Probability Estimation Design for Logarithmic Binary Arithmetic Coding. In Proceedings of the Picture Coding Symposium (PCS), Ningbo, China, 12–15 November 2019. [Google Scholar]
- Belyaev, E.; Gilmutdinov, M.; Turlikov, A. Binary Arithmetic Coding System with Adaptive Probability Estimation by Virtual Sliding Window. In Proceedings of the 10th IEEE International Symposium on Consumer Electronics, St Petersburg, Russia, 28 June–1 July 2006; pp. 194–198. [Google Scholar]
- ITU-T Recommendation T.81. Information Technology—Digital Compression and Coding of Continuous-tone Still Images—Requirements and Guidelines. September 1992. Available online: https://www.itu.int/rec/T-REC-T.81 (accessed on 5 January 2021).
- ITU-T Recommendation T.82. Information Technology—Coded Representation of Picture and Audio Information—Progressive Bi-Level Image Compression. March 1993. Available online: https://www.itu.int/rec/T-REC-T.82 (accessed on 5 January 2021).
- ISO/IEC 15444-1:2004. Information Technology—JPEG 2000 Image Coding System: Part 1: Core Coding System. September 2004. Available online: https://www.iso.org/standard/37674.html (accessed on 5 January 2021).
- ITU-T Recommendation H.265. High Efficiency Video Coding. April 2013. Available online: https://www.itu.int/rec/T-REC-H.265 (accessed on 5 January 2021).
- Ma, C.D.; Liu, D.; Peng, X.; Li, L.; Wu, F. Convolutional Neural Network-Based Arithmetic Coding for HEVC Intra-Predicted Residues. IEEE Trans. Circuits Syst. Video Technol. 2020, 30, 1901–1916. [Google Scholar] [CrossRef]
- Michael Adams, JPEG2000 Jasper Project. Available online: http://www.ece.uvic.ca/~frodo/jasper/ (accessed on 5 January 2021).
Index | Qe (Hex) | Qe (Decimal) | NMPS | NLPS | Switch |
---|---|---|---|---|---|
0 | 0x5601 | 0.503960 | 1 | 1 | 1 |
1 | 0x3401 | 0.304729 | 2 | 6 | 0 |
2 | 0x1801 | 0.140656 | 3 | 9 | 0 |
3 | 0x0ac1 | 0.063015 | 4 | 12 | 0 |
4 | 0x0521 | 0.030054 | 5 | 29 | 0 |
5 | 0x0221 | 0.012475 | 38 | 33 | 0 |
6 | 0x5601 | 0.503960 | 7 | 6 | 1 |
7 | 0x5401 | 0.492240 | 8 | 14 | 0 |
8 | 0x4801 | 0.421924 | 9 | 14 | 0 |
9 | 0x3801 | 0.328168 | 10 | 14 | 0 |
10 | 0x3001 | 0.281290 | 11 | 17 | 0 |
11 | 0x2401 | 0.210973 | 12 | 18 | 0 |
12 | 0x1c01 | 0.164095 | 13 | 20 | 0 |
13 | 0x1601 | 0.128937 | 29 | 21 | 0 |
14 | 0x5601 | 0.503960 | 15 | 14 | 1 |
15 | 0x5401 | 0.492240 | 16 | 14 | 0 |
16 | 0x5101 | 0.474661 | 17 | 15 | 0 |
17 | 0x4801 | 0.421924 | 18 | 16 | 0 |
18 | 0x3801 | 0.328168 | 19 | 17 | 0 |
19 | 0x3401 | 0.304729 | 20 | 18 | 0 |
20 | 0x3001 | 0.281290 | 21 | 19 | 0 |
21 | 0x2801 | 0.234412 | 22 | 19 | 0 |
22 | 0x2401 | 0.210973 | 23 | 20 | 0 |
23 | 0x2201 | 0.199254 | 24 | 21 | 0 |
24 | 0x1c01 | 0.164095 | 25 | 22 | 0 |
25 | 0x1801 | 0.140656 | 26 | 23 | 0 |
26 | 0x1601 | 0.128937 | 27 | 24 | 0 |
27 | 0x1401 | 0.117218 | 28 | 25 | 0 |
28 | 0x1201 | 0.105498 | 29 | 26 | 0 |
29 | 0x1101 | 0.099638 | 30 | 27 | 0 |
30 | 0x0ac1 | 0.063015 | 31 | 28 | 0 |
31 | 0x09c1 | 0.057155 | 32 | 29 | 0 |
32 | 0x08a1 | 0.050563 | 33 | 30 | 0 |
33 | 0x0521 | 0.030054 | 34 | 31 | 0 |
34 | 0x0441 | 0.024927 | 35 | 32 | 0 |
35 | 0x02a1 | 0.015405 | 36 | 33 | 0 |
36 | 0x0221 | 0.012475 | 37 | 34 | 0 |
37 | 0x0141 | 0.007348 | 38 | 35 | 0 |
38 | 0x0111 | 0.006249 | 39 | 36 | 0 |
39 | 0x0085 | 0.003044 | 40 | 37 | 0 |
40 | 0x0049 | 0.001671 | 41 | 38 | 0 |
41 | 0x0025 | 0.000847 | 42 | 39 | 0 |
42 | 0x0015 | 0.000481 | 43 | 40 | 0 |
43 | 0x0009 | 0.000206 | 44 | 41 | 0 |
44 | 0x0005 | 0.000114 | 45 | 42 | 0 |
45 | 0x0001 | 0.000023 | 45 | 43 | 0 |
46 | 0x5601 | 0.503960 | 46 | 46 | 0 |
m | Q0 | Q1 | Q2 | Q3 |
---|---|---|---|---|
0 | 128 | 176 | 208 | 240 |
1 | 128 | 167 | 197 | 227 |
2 | 128 | 158 | 187 | 216 |
3 | 123 | 150 | 178 | 205 |
4 | 116 | 142 | 169 | 195 |
5 | 111 | 135 | 160 | 185 |
6 | 105 | 128 | 152 | 175 |
7 | 100 | 122 | 144 | 166 |
8 | 95 | 116 | 137 | 158 |
9 | ⋯ | ⋯ | ⋯ | ⋯ |
62 | 6 | 7 | 8 | 9 |
63 | 2 | 2 | 2 | 2 |
A1 | A2 | |
---|---|---|
Mode-1 | α × 0.75 × (1 + 1/4) | β × 0.75 × (1 + 3/4) |
Mode-2 | α × 0.75 × (1 + 1/3) | β × 0.75 × (1 + 2/3) |
Qe | Mode-1 | Mode-2 | |||
---|---|---|---|---|---|
Index | A1 × Qe | A2 × Qe | A1 × Qe | A2 × Qe | |
0 | 0x5601 | 0x50A2 | 0x70E3 | 0x5602 | 0x6B83 |
1 | 0x3401 | 0x30C2 | 0x4442 | 0x3402 | 0x4102 |
2 | 0x1801 | 0x1681 | 0x1F82 | 0x1801 | 0x1E02 |
3 | 0x0AC1 | 0x0A15 | 0x0E1E | 0xAC1 | 0x0D71 |
4 | 0x0521 | 0x04CF | 0x06BB | 0x0521 | 0x0669 |
5 | 0x0221 | 0x01FF | 0x02CB | 0x0221 | 0x02A9 |
6 | 0x5601 | 0x50A2 | 0x70E3 | 0x5602 | 0x6B83 |
7 | 0x5401 | 0x4EC2 | 0x6E43 | 0x5402 | 0x6903 |
8 | 0x4801 | 0x4382 | 0x5E83 | 0x4802 | 0x5A03 |
9 | 0x3801 | 0x3482 | 0x4982 | 0x3802 | 0x4602 |
10 | 0x3001 | 0x2D02 | 0x3F02 | 0x3002 | 0x3C02 |
11 | 0x2401 | 0x21C1 | 0x2F42 | 0x2402 | 0x2D02 |
12 | 0x1C01 | 0x1A41 | 0x24C2 | 0x1C01 | 0x2302 |
13 | 0x1601 | 0x14A1 | 0x1CE2 | 0x1601 | 0x1B82 |
14 | 0x5601 | 0x50A2 | 0x70E3 | 0x5602 | 0x6B83 |
15 | 0x5401 | 0x4EC2 | 0x6E43 | 0x5402 | 0x6903 |
16 | 0x5101 | 0x4BF2 | 0x6A53 | 0x5102 | 0x6543 |
17 | 0x4801 | 0x4382 | 0x5E83 | 0x4802 | 0x5A03 |
18 | 0x3801 | 0x3482 | 0x4982 | 0x3802 | 0x4602 |
19 | 0x3401 | 0x30C2 | 0x4442 | 0x3402 | 0x4102 |
20 | 0x3001 | 0x2D02 | 0x3F02 | 0x3002 | 0x3C02 |
21 | 0x2801 | 0x2582 | 0x3482 | 0x2802 | 0x3202 |
22 | 0x2401 | 0x21C1 | 0x2F42 | 0x2402 | 0x2D02 |
23 | 0x2201 | 0x1FE1 | 0x2CA2 | 0x2202 | 0x2A82 |
24 | 0x1C01 | 0x1A41 | 0x24C2 | 0x1C01 | 0x2302 |
25 | 0x1801 | 0x1681 | 0x1F82 | 0x1801 | 0x1E02 |
26 | 0x1601 | 0x14A1 | 0x1CE2 | 0x1601 | 0x1B82 |
27 | 0x1401 | 0x12C1 | 0x1A42 | 0x1401 | 0x1902 |
28 | 0x1201 | 0x10E1 | 0x17A2 | 0x1201 | 0x1682 |
29 | 0x1101 | 0x0FF1 | 0x1652 | 0x1101 | 0x1542 |
30 | 0x0AC1 | 0x0A15 | 0x0E1E | 0x0AC1 | 0x0D71 |
31 | 0x09C1 | 0x0925 | 0x0CCE | 0x09C1 | 0x0C31 |
32 | 0x08C1 | 0x0817 | 0x0B53 | 0x08A1 | 0x0AC9 |
33 | 0x0521 | 0x04CF | 0x06BB | 0x0521 | 0x0669 |
34 | 0x0441 | 0x03FD | 0x0595 | 0x0441 | 0x0551 |
35 | 0x02A1 | 0x0277 | 0x0373 | 0x02A1 | 0x0349 |
36 | 0x0221 | 0x01FF | 0x02CB | 0x0221 | 0x02A9 |
37 | 0x0141 | 0x012D | 0x01A5 | 0x0141 | 0x0191 |
38 | 0x0111 | 0x0100 | 0x0166 | 0x0111 | 0x0155 |
39 | 0x0085 | 0x007D | 0x00AF | 0x0085 | 0x00A6 |
40 | 0x0049 | 0x0044 | 0x0060 | 0x0049 | 0x005B |
41 | 0x0025 | 0x0023 | 0x0031 | 0x0025 | 0x002E |
42 | 0x0015 | 0x0014 | 0x001C | 0x0015 | 0x001A |
43 | 0x0009 | 0x0008 | 0x000C | 0x0009 | 0x000B |
44 | 0x0005 | 0x0005 | 0x0007 | 0x0005 | 0x0006 |
45 | 0x0001 | 0x0001 | 0x0001 | 0x0001 | 0x0001 |
46 | 0x5601 | 0x50A2 | 0x70E3 | 0x5602 | 0x6B83 |
if (0x8000 ≤ A < 0xA000) then A = A1 (shown in Table 6) |
else if (0xA000 ≤ A < 0xC000) then A = A2 (shown in Table 6) |
else if (0xC000 ≤ A < 0xE000) then A = A3 (shown in Table 6) |
else then A = A4 (shown in Table 6) |
A1 | A2 | A3 | A4 | |
---|---|---|---|---|
Mode-1 | α × 0.75 × (1 + 1/8) | β × 0.75 × (1 + 3/8) | β × 0.75 × (1 + 5/8) | α × 0.75 × (1 + 7/8) |
Mode-2 | α × 0.75 × (1 + 1/5) | β × 0.75 × (1 + 2/5) | β × 0.75 × (1 + 3/5) | α × 0.75 × (1 + 4/5) |
Mode-3 | α × 0.75 × (1 + 1/5) | β × 0.75 × (1 + 3/8) | β × 0.75 × (1 + 5/8) | α × 0.75 × (1 + 4/5) |
Mode-4 | α × 0.75 × (1 + 1/8) | β × 0.75 × (1 + 2/5) | β × 0.75 × (1 + 3/5) | α × 0.75 × (1 + 7/8) |
Mode | Index | A1 × Qe | A2 × Qe | A3 × Qe | A4 × Qe | NMPS | NLPS | Switch |
---|---|---|---|---|---|---|---|---|
1 | 0 | 0x4892 | 0x58B2 | 0x68D3 | 0x78F3 | 1 | 1 | 1 |
1 | 0x2BE2 | 0x35A2 | 0x3F62 | 0x4923 | 2 | 6 | 0 | |
2 | 0x1441 | 0x18C1 | 0x1D42 | 0x21C2 | 3 | 9 | 0 | |
3 | 0x0913 | 0x0B17 | 0x0D1B | 0x0F20 | 4 | 12 | 0 | |
4 | 0x0454 | 0x054A | 0x0640 | 0x0737 | 5 | 29 | 0 | |
5 | 0x01CC | 0x0232 | 0x0298 | 0x02FE | 38 | 33 | 0 | |
6 | 0x4892 | 0x58B2 | 0x68D3 | 0x78F3 | 7 | 6 | 1 | |
··· | ··· | ··· | ··· | ··· | ··· | ··· | ··· | |
2 | 0 | 0x4D69 | 0x5A4F | 0x6736 | 0x741D | 1 | 1 | 1 |
1 | 0x2ECE | 0x369C | 0x3E69 | 0x4636 | 2 | 6 | 0 | |
2 | 0x159B | 0x1935 | 0x1CCE | 0x2068 | 3 | 9 | 0 | |
3 | 0x09AE | 0x0B4B | 0x0CE8 | 0x0E85 | 4 | 12 | 0 | |
4 | 0x049E | 0x0563 | 0x0628 | 0x06ED | 5 | 29 | 0 | |
5 | 0x01EB | 0x023C | 0x028E | 0x02E0 | 38 | 33 | 0 | |
6 | 0x4D69 | 0x5A4F | 0x6736 | 0x741D | 7 | 6 | 1 | |
··· | ··· | ··· | ··· | ··· | ··· | ··· | ··· | |
3 | 0 | 0x4D69 | 0x58B2 | 0x68D3 | 0x741D | 1 | 1 | 1 |
1 | 0x2ECE | 0x35A2 | 0x3F62 | 0x4636 | 2 | 6 | 0 | |
2 | 0x159B | 0x18C1 | 0x1D42 | 0x2068 | 3 | 9 | 0 | |
3 | 0x09AE | 0x0B17 | 0x0D1B | 0x0E85 | 4 | 12 | 0 | |
4 | 0x049E | 0x054A | 0x0640 | 0x06ED | 5 | 29 | 0 | |
5 | 0x01EB | 0x0232 | 0x0298 | 0x02E0 | 38 | 33 | 0 | |
6 | 0x4D69 | 0x58B2 | 0x68D3 | 0x741D | 7 | 6 | 1 | |
··· | ··· | ··· | ··· | ··· | ··· | ··· | ··· | |
4 | 0 | 0x4892 | 0x5A4F | 0x6736 | 0x78F3 | 1 | 1 | 1 |
1 | 0x2BE2 | 0x369C | 0x3E69 | 0x4923 | 2 | 6 | 0 | |
2 | 0x1441 | 0x1935 | 0x1CCE | 0x21C2 | 3 | 9 | 0 | |
3 | 0x0913 | 0x0B4B | 0x0CE8 | 0x0F20 | 4 | 12 | 0 | |
4 | 0x0454 | 0x0563 | 0x0628 | 0x0737 | 5 | 29 | 0 | |
5 | 0x01CC | 0x023C | 0x028E | 0x02FE | 38 | 33 | 0 | |
6 | 0x4892 | 0x5A4F | 0x6736 | 0x78F3 | 7 | 6 | 1 | |
··· | ··· | ··· | ··· | ··· | ··· | ··· | ··· |
if (0x8000 ≤ A < 0x9000) then A = A1 |
else if (0x9000 ≤ A < 0xA000) then A = A2 |
else if (0xA000 ≤ A < 0xB000) then A = A3 |
else if (0xB000 ≤ A < 0xC000) then A = A4 |
else if (0xC000 ≤ A < 0xD000) then A = A5 |
else if (0xD000 ≤ A < 0xE000) then A = A6 |
else if (0xE000 ≤ A < 0xF000) then A = A7 |
else then A = A8 |
Mode | A1 | A2 | A3 | A4 | A5 | A6 | A7 | A8 |
---|---|---|---|---|---|---|---|---|
1 | α × 0.75 × (1 + 1/9) | α × 0.75 × (1 + 2/9) | α × 0.75 × (1 + 3/9) | α × 0.75 × (1 + 4/9) | β × 0.75 × (1 + 5/9) | β × 0.75 × (1 + 6/9) | β × 0.75 × (1 + 7/9) | β × 0.75 × (1 + 8/9) |
2 | α × 0.75 × (1 + 1/9) | α × 0.75 × (1 + 2/9) | α × 0.75 × (1 + 5/16) | α × 0.75 × (1 + 7/16) | β × 0.75 × (1 + 9/16) | β × 0.75 × (1 + 11/16) | β × 0.75 × (1 + 7/9) | β × 0.75 × (1 + 8/9) |
Mode | Idx | A1 × Qe | A2 × Qe | A3 × Qe | A4 × Qe | A5 × Qe | A6 × Qe | A7 × Qe | A8 × Qe |
---|---|---|---|---|---|---|---|---|---|
1 | 0 | 0x47AC | 0x4ED7 | 0x5602 | 0x5D2D | 0x6457 | 0x6B82 | 0x72AD | 0x79D8 |
1 | 0x2B56 | 0x2FAC | 0x3401 | 0x3857 | 0x3CAC | 0x4102 | 0x4557 | 0x49AD | |
2 | 0x1401 | 0x1601 | 0x1801 | 0x1A01 | 0x1C01 | 0x1E01 | 0x2001 | 0x2201 | |
3 | 0x08F6 | 0x9DB | 0xAC1 | 0xBA6 | 0x0C8C | 0x0D71 | 0x0E56 | 0x0F3C | |
4 | 0x0446 | 0x04B3 | 0x0521 | 0x058E | 0x05FB | 0x0669 | 0x06D6 | 0x0744 | |
5 | 0x1C6 | 0x01F3 | 0x0221 | 0x024E | 0x027B | 0x02A9 | 0x02D6 | 0x0304 | |
6 | 0x47AC | 0x4ED7 | 0x5602 | 0x5D2D | 0x6457 | 0x6B82 | 0x72AD | 0x79D8 | |
··· | ··· | ··· | ··· | ··· | ··· | ··· | ··· | ··· | |
2 | 0 | 0x47AC | 0x4ED7 | 0x54AA | 0x5CBA | 0x64CA | 0x6CDA | 0x72AD | 0x79D8 |
1 | 0x2B56 | 0x2FAC | 0x3331 | 0x3811 | 0x3CF2 | 0x41D2 | 0x4557 | 0x49AD | |
2 | 0x1401 | 0x1601 | 0x17A1 | 0x19E1 | 0x1C21 | 0x1E61 | 0x2001 | 0x2201 | |
3 | 0x08F6 | 0x09DB | 0x0A96 | 0x0B98 | 0x0C9A | 0x0D9C | 0x0E56 | 0x0F3C | |
4 | 0x0446 | 0x04B3 | 0x050C | 0x0587 | 0x0602 | 0x067D | 0x6D6 | 0x0744 | |
5 | 0x01C6 | 0x01F3 | 0x0218 | 0x024B | 0x027E | 0x02B1 | 0x02D6 | 0x0304 | |
6 | 0x47AC | 0x4ED7 | 0x54AA | 0x5CBA | 0x64CA | 0x6CDA | 0x72AD | 0x79D8 | |
··· | ··· | ··· | ··· | ··· | ··· | ··· | ··· | ··· |
Document | Resolution (dpi) | Original MQ Byte | Proposed MQ Byte | Improvement (%) | ||
---|---|---|---|---|---|---|
Mode | mode-1 | mode-2 | mode-1 | mode-2 | ||
(α, β) | (1.02, 1.02) | (1.0, 1.0) | (1.02, 1.02) | (1.0, 1.0) | ||
CCITT1 | 200 | 50,784 | 48,814 | 49,084 | 3.88% | 3.35% |
CCITT4 | 200 | 156,129 | 149,394 | 150,249 | 4.31% | 3.77% |
CCITT5 | 200 | 99,719 | 97,802 | 98,187 | 1.92% | 1.54% |
CCITT7 | 200 | 169,154 | 167,048 | 168,072 | 1.25% | 0.64% |
Hangeul-1 | 200 | 72,416 | 70,225 | 70,698 | 3.03% | 2.37% |
Hangeul-2 | 200 | 87,902 | 84,763 | 85,482 | 3.57% | 2.75% |
Avg improvement in 200 | 2.99% | 2.40% | ||||
CCITT1 | 300 | 92,705 | 89,516 | 90,052 | 3.44% | 2.86% |
CCITT4 | 300 | 332,320 | 316,943 | 319,075 | 4.63% | 3.99% |
CCITT5 | 300 | 180,281 | 175,457 | 176,546 | 2.68% | 2.07% |
CCITT7 | 300 | 334,128 | 331,311 | 332,923 | 0.84% | 0.36% |
Hangeul-1 | 300 | 148,594 | 144,376 | 145,673 | 2.84% | 1.97% |
Hangeul-2 | 300 | 183,611 | 177,237 | 178,824 | 3.47% | 2.61% |
Avg Improvement in 300 | 2.98% | 2.31% | ||||
Overall Improvement | 2.99% | 2.36% |
Document | Resol. (dpi) | Original MQ Byte | Proposed MQ Improvement (%) | |||
---|---|---|---|---|---|---|
Mode | mode-1 | mode-2 | mode-3 | mode-4 | ||
(α, β) | (1.02, 1.02) | (1.05, 1.05) | (1.05, 1.05) | (1.03, 1.03) | ||
CCITT1 | 200 | 50,784 | 2.96% | 3.01% | 3.01% | 3.03% |
CCITT4 | 200 | 156,129 | 3.59% | 3.44% | 3.46% | 3.61% |
CCITT5 | 200 | 99,719 | 1.23% | 1.21% | 1.19% | 1.16% |
CCITT7 | 200 | 169,154 | 0.68% | 0.61% | 0.55% | 0.59% |
Hangeul-1 | 200 | 72,416 | 2.24% | 2.15% | 2.17% | 2.27% |
Hangeul-2 | 200 | 87,902 | 2.64% | 2.60% | 2.60% | 2.69% |
Avg Improvement in 200 | 2.22% | 2.17% | 2.16% | 2.23% | ||
CCITT1 | 300 | 92,705 | 2.34% | 2.53% | 2.54% | 2.45% |
CCITT4 | 300 | 332,320 | 3.57% | 3.50% | 3.61% | 3.70% |
CCITT5 | 300 | 180,281 | 1.75% | 1.79% | 1.81% | 1.82% |
CCITT7 | 300 | 334,128 | 0.25% | 0.18% | 0.12% | 0.23% |
Hangeul-1 | 300 | 148,594 | 1.89% | 1.64% | 1.69% | 1.83% |
Hangeul-2 | 300 | 183,611 | 2.48% | 2.25% | 2.26% | 2.49% |
Avg Improvement in 300 | 2.04% | 1.98% | 2.01% | 2.09% | ||
Overall improvement | 2.13% | 2.08% | 2.08% | 2.16% |
Documents | Resol. (dpi) | Original MQ Byte | Proposed MQ Byte | Improvement (%) | ||
---|---|---|---|---|---|---|
Mode | mode-1 | mode-2 | mode-1 | mode-2 | ||
(α, β) | (1.0, 1.0) | (1.03, 1.03) | (1.0, 1.0) | (1.03, 1.03) | ||
CCITT1 | 200 | 50,784 | 49,342 | 49,298 | 2.84% | 2.93% |
CCITT4 | 200 | 156,129 | 150,970 | 150,860 | 3.30% | 3.37% |
CCITT5 | 200 | 99,719 | 98,598 | 98,565 | 1.12% | 1.16% |
CCITT7 | 200 | 169,154 | 167,733 | 168,049 | 0.84% | 0.65% |
Hanguel-1 | 200 | 72,416 | 70,717 | 70,856 | 2.35% | 2.15% |
Hanguel-2 | 200 | 87,902 | 85,579 | 85,665 | 2.64% | 2.54% |
Avg Improvement in 200 | 2.18% | 2.14% | ||||
CCITT1 | 300 | 92,705 | 90,457 | 90,449 | 2.42% | 2.43% |
CCITT4 | 300 | 332,320 | 320,778 | 320,512 | 3.47% | 3.55% |
CCITT5 | 300 | 180,281 | 177,392 | 177,125 | 1.60% | 1.75% |
CCITT7 | 300 | 334,128 | 332,777 | 333,297 | 0.40% | 0.25% |
Hanguel-1 | 300 | 148,594 | 145,605 | 145,974 | 2.01% | 1.76% |
Hanguel-2 | 300 | 183,611 | 178,919 | 179,237 | 2.56% | 2.38% |
Avg Improvement in 200 | 2.08% | 2.02% | ||||
Overall Improvement | 2.13% | 2.08% |
Documents | Resol. (dpi) | Original JB2 Byte | Proposed JB2 Byte | Improvement (%) | ||
---|---|---|---|---|---|---|
Mode | mode-1 | mode-2 | mode-1 | mode-2 | ||
CCITT1 | 200 | 16,116 | 16,032 | 16,026 | 0.52% | 0.56% |
CCITT4 | 200 | 60,737 | 60,268 | 60,292 | 0.78% | 0.73% |
CCITT5 | 200 | 28,109 | 27,962 | 27,980 | 0.53% | 0.46% |
CCITT7 | 200 | 60,456 | 60,143 | 60,184 | 0.52% | 0.45% |
Hanguel-1 | 200 | 19,681 | 19,591 | 19,602 | 0.46% | 0.40% |
Hanguel-2 | 200 | 25,998 | 25,862 | 25,858 | 0.53% | 0.54% |
Avg improvement in 200 | 0.56% | 0.52% | ||||
CCITT1 | 300 | 22,026 | 21,895 | 21,893 | 0.60% | 0.60% |
CCITT4 | 300 | 85,167 | 84,748 | 84,726 | 0.49% | 0.52% |
CCITT5 | 300 | 39,049 | 38,793 | 38,867 | 0.66% | 0.47% |
CCITT7 | 300 | 87,132 | 86,620 | 86,693 | 0.59% | 0.50% |
Hanguel-1 | 300 | 27,938 | 27,782 | 27,788 | 0.56% | 0.54% |
Hanguel-2 | 300 | 37,471 | 37,220 | 37,226 | 0.67% | 0.65% |
Avg improvement in 300 | 0.60% | 0.52% | ||||
Overall improvement | 0.58% | 0.52% |
Document | Resol (dpi) | Original JB2 Byte | Improvement (%) | |||
---|---|---|---|---|---|---|
Mode | mode-1 | mode-2 | mode-3 | mode-4 | ||
CCITT1 | 200 | 16,116 | 0.81% | 0.79% | 0.94% | 0.77% |
CCITT4 | 200 | 60,737 | 0.96% | 0.98% | 1.06% | 0.94% |
CCITT5 | 200 | 28,109 | 0.76% | 0.70% | 0.73% | 0.74% |
CCITT7 | 200 | 60,456 | 0.69% | 0.72% | 0.65% | 0.70% |
Hangeul-1 | 200 | 19,681 | 0.68% | 0.71% | 0.69% | 0.68% |
Hangeul-2 | 200 | 25,998 | 0.68% | 0.77% | 0.77% | 0.76% |
Avg improvement in 200 | 0.76% | 0.78% | 0.81% | 0.76% | ||
CCITT1 | 300 | 22,026 | 0.70% | 0.74% | 0.78% | 0.74% |
CCITT4 | 300 | 85,167 | 0.74% | 0.68% | 0.74% | 0.75% |
CCITT5 | 300 | 39,049 | 0.78% | 0.78% | 0.76% | 0.87% |
CCITT7 | 300 | 87,132 | 0.77% | 0.82% | 0.85% | 0.77% |
Hangeul-1 | 300 | 27,938 | 0.72% | 0.72% | 0.82% | 0.71% |
Hangeul-2 | 300 | 37,471 | 0.83% | 0.81% | 0.81% | 0.78% |
Avg improvement in 300 | 0.76% | 0.76% | 0.79% | 0.77% | ||
Overall improvement | 0.76% | 0.77% | 0.80% | 0.77% |
Document | Resolution (dpi) | Original JB2 Byte | Proposed JB2 Byte | Improvement (%) | ||
---|---|---|---|---|---|---|
Mode | mode-1 | mode-2 | mode-1 | mode-2 | ||
CCITT1 | 200 | 16,116 | 15,970 | 15,955 | 0.91% | 1.00% |
CCITT4 | 200 | 60,737 | 60,071 | 60,096 | 1.10% | 1.06% |
CCITT5 | 200 | 28,109 | 27,857 | 27,861 | 0.90% | 0.88% |
CCITT7 | 200 | 60,456 | 59,954 | 59,961 | 0.83% | 0.82% |
Hangeul-1 | 200 | 19,681 | 19,524 | 19,537 | 0.80% | 0.73% |
Hangeul-2 | 200 | 25,998 | 25,764 | 25,779 | 0.90% | 0.84% |
Avg improvement in 300 | 0.90% | 0.89% | ||||
CCITT1 | 300 | 22,026 | 21,823 | 21,839 | 0.92% | 0.85% |
CCITT4 | 300 | 85,167 | 84,442 | 84,428 | 0.85% | 0.87% |
CCITT5 | 300 | 39,049 | 38,689 | 38,687 | 0.92% | 0.93% |
CCITT7 | 300 | 87,132 | 86,359 | 86,377 | 0.89% | 0.87% |
Hangeul-1 | 300 | 27,938 | 27,698 | 27,724 | 0.86% | 0.77% |
Hangeul-2 | 300 | 37,471 | 37,112 | 37,116 | 0.96% | 0.95% |
Avg improvement in 300 | 0.90% | 0.87% | ||||
Overall improvement | 0.90% | 0.88% |
Image | Image Size | Original JP2k Byte | 2-Level | 2-Level | 8-Level | 8-Level | |
---|---|---|---|---|---|---|---|
Mode | W | H | mode-1 | mode-2 | mode-1 | mode-2 | |
Baboon | 500 | 480 | 570,089 | 1.18% | 1.40% | 1.60% | 1.61% |
Lena | 512 | 512 | 446,062 | 1.23% | 1.27% | 1.55% | 1.55% |
Monarch | 768 | 512 | 442,830 | 1.19% | 1.13% | 1.44% | 1.43% |
Barbara | 720 | 576 | 646,509 | 1.22% | 1.26% | 1.54% | 1.53% |
Zelda | 780 | 576 | 564,745 | 0.98% | 0.93% | 1.25% | 1.24% |
Man | 1024 | 1024 | 633,199 | 1.21% | 1.30% | 1.55% | 1.54% |
Four people | 1280 | 720 | 823,889 | 1.25% | 1.19% | 1.58% | 1.57% |
Jockey | 1920 | 1080 | 1,851,880 | 1.25% | 1.18% | 1.57% | 1.56% |
Average Improvement | 1.19% | 1.21% | 1.51% | 1.50% |
Image | Image Size | Original JP2k Byte | 4-Level | 4-Level | 4-Level | 4-Level | |
---|---|---|---|---|---|---|---|
Mode | W | H | mode-1 | mode-2 | mode-3 | mode-4 | |
Baboon | 500 | 480 | 570,089 | 1.55% | 1.45% | 1.56% | 1.54% |
Lena | 512 | 512 | 446,062 | 1.47% | 1.41% | 1.47% | 1.49% |
Monarch | 768 | 512 | 442,830 | 1.36% | 1.35% | 1.38% | 1.38% |
Barbara | 720 | 576 | 646,509 | 1.47% | 1.42% | 1.48% | 1.48% |
Zelda | 780 | 576 | 564,745 | 1.18% | 1.12% | 1.17% | 1.19% |
Man | 1024 | 1024 | 633,199 | 1.47% | 1.42% | 1.48% | 1.48% |
Four people | 1280 | 720 | 823,889 | 1.51% | 1.43% | 1.51% | 1.54% |
Jockey | 1920 | 1080 | 1,851,880 | 1.51% | 1.43% | 1.50% | 1.52% |
Average Improvement | 1.44% | 1.38% | 1.44% | 1.45% |
Image | Color | Original JPEG2000 PSNR (dB) | 2-Level | 2-Level | 8 Level | 8-Level |
mode | mode-1 | mode-2 | model-1 | mode-2 | ||
(α, β) | (1.0, 1.0) | (1.0, 1.0) | (1.05, 1.05) | (1.05, 1.05) | ||
Baboon | G | 26.025 | 0.21% | 0.31% | 0.20% | 0.38% |
Lena | G | 35.943 | 0.38% | 0.39% | 0.44% | 0.44% |
Monarch | G | 40.269 | 0.34% | 0.33% | 0.38% | 0.39% |
Barbara | G | 35.953 | 0.34% | 0.33% | 0.40% | 0.42% |
Zelda | G | 41.754 | 0.12% | 0.13% | 0.12% | 0.15% |
Man | Gray | 32.441 | 0.42% | 0.42% | 0.48% | 0.44% |
Four people | G | 44.364 | 0.28% | 0.28% | 0.29% | 0.31% |
Jockey | G | 45.473 | 0.16% | 0.16% | 0.19% | 0.19% |
Average improvement | 0.28% | 0.29% | 0.31% | 0.34% |
Image | Color | Original JPEG2000 PSNR (dB) | 4-Level | 4-Level | 4-Level | 4-Level |
Mode | mode-1 | mode-2 | mode-3 | mode-4 | ||
(α, β) | (1.0, 1.0) | (1.0, 1.0) | (1.0, 1.0) | (1.05, 1.05) | ||
Baboon | G | 26.025 | 0.33% | 0.21% | 0.23% | 0.36% |
Lena | G | 35.943 | 0.44% | 0.44% | 0.44% | 0.43% |
Monarch | G | 40.269 | 0.38% | 0.37% | 0.38% | 0.37% |
Barbara | G | 35.953 | 0.37% | 0.41% | 0.37% | 0.40% |
Zelda | G | 41.754 | 0.14% | 0.18% | 0.13% | 0.15% |
Man | Gray | 32.441 | 0.45% | 0.40% | 0.44% | 0.48% |
Four people | G | 44.364 | 0.29% | 0.29% | 0.29% | 0.31% |
Jockey | G | 45.473 | 0.18% | 0.17% | 0.18% | 0.18% |
Average improvement | 0.32% | 0.31% | 0.31% | 0.34% |
PSNR Improve | Color | Original JPEG2000 PSNR (dB) | 2-Level | 2-Level | 8-Level | 8-Level |
Mode | mode-1 | mode-2 | model-1 | mode-2 | ||
(α, β) | (1.0, 1.0) | (1.0, 1.0) | (1.05, 1.05) | (1.0, 1.0) | ||
Baboon | G | 22.874 | 0.29% | 0.33% | 0.36% | 0.32% |
Lena | G | 32.894 | 0.26% | 0.27% | 0.27% | 0.26% |
Monarch | G | 33.868 | 0.54% | 0.51% | 0.58% | 0.56% |
Barbara | G | 30.601 | 0.32% | 0.31% | 0.39% | 0.40% |
Zelda | G | 39.060 | 0.13% | 0.13% | 0.19% | 0.21% |
Man | Gray | 29.040 | 0.21% | 0.17% | 0.22% | 0.21% |
Four people | G | 39.398 | 0.25% | 0.22% | 0.20% | 0.28% |
Jockey | G | 42.456 | 0.12% | 0.11% | 0.16% | 0.15% |
Average improvement | 0.27% | 0.26% | 0.30% | 0.30% |
PSNR Improve | Color | Original JPEG2000 PSNR (dB) | 4-Level | 4-Level | 4-Level | 4-Level |
Mode | mode-1 | mode-2 | model-3 | mode-4 | ||
(α, β) | (1.0, 1.0) | (1.0, 1.0) | (1.05, 1.05) | (1.0, 1.0) | ||
Baboon | G | 22.874 | 0.29% | 0.30% | 0.41% | 0.30% |
Lena | G | 32.894 | 0.27% | 0.25% | 0.25% | 0.26% |
Monarch | G | 33.868 | 0.59% | 0.51% | 0.59% | 0.54% |
Barbara | G | 30.601 | 0.31% | 0.34% | 0.39% | 0.39% |
Zelda | G | 39.060 | 0.19% | 0.18% | 0.19% | 0.22% |
Man | Gray | 29.040 | 0.19% | 0.23% | 0.20% | 0.25% |
Four people | G | 39.398 | 0.27% | 0.24% | 0.27% | 0.23% |
Jockey | G | 42.456 | 0.15% | 0.14% | 0.16% | 0.15% |
Average improvement | 0.28% | 0.27% | 0.31% | 0.29% |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the author. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Ko, H.-H. Enhanced Binary MQ Arithmetic Coder with Look-Up Table. Information 2021, 12, 143. https://doi.org/10.3390/info12040143
Ko H-H. Enhanced Binary MQ Arithmetic Coder with Look-Up Table. Information. 2021; 12(4):143. https://doi.org/10.3390/info12040143
Chicago/Turabian StyleKo, Hyung-Hwa. 2021. "Enhanced Binary MQ Arithmetic Coder with Look-Up Table" Information 12, no. 4: 143. https://doi.org/10.3390/info12040143
APA StyleKo, H. -H. (2021). Enhanced Binary MQ Arithmetic Coder with Look-Up Table. Information, 12(4), 143. https://doi.org/10.3390/info12040143