JBIG2 is an international standard for bilevel image compression. By segmenting an image into overlapping and/or non-overlapping regions of text, halftone and generic content, compression techniques that are specially optimized for each type of content are employed:
- Text regions:
Text regions are composed of characters that are ideally suited for symbol based coding approach. Typically, each symbol will correspond to a character bitmap- a subimage representing a character or text. There is normally only one character bitmap (or subimage) in the symbol dictionary for each upper and lowercase character of the front being used.
For example, there would be one “a” bitmap in the dictionary, one “A” bitmap, one”b” bitmap, and so on.
- Halftone regions:
Halftone regions are similar to text regions in that they are composed of patterns arranged in regular grid.The symbols that are stored in dictionary, however are not character bitmaps but periodic patterns that represents intensities (e.g., of a photograph) that have been dithered to produce bilevel images of printing.
- Generic regions:
Generic region contain non-text, non-halftone information like line art and noise, and are compressed using either arithmetic or MMR coding.
lossy JBIG2 compression:
In losy JBIG2 compression, often called perceptually lossless or visually lossless, we neglect differences between dictionary bitmaps (i.e., the reference character bitmaps or character templates) and specific instances of the corresponding characters in the image.In lossless compression, the differences are stored and used in conjunction with the triplets encoding each character (by the decoder) to produce an actual image bitmaps.
- Compression of GIF images
- Difference between JPEG and Bitmap
- Different between Graphics Card and Video Card
- Introduction of JIRA
- Signal Processing and Time Series (Data Analysis)
- Cryptocurrency and Cryptojacking
- Detecting top nodes on a Social Network - The VoteRank Algorithm
- Introduction of Hyperledger
- Comparison Networks
- MongoDB - Embedded Documents
- HijrahDate getEra() method in Java with Example
- HijrahDate getChronology() method in Java with Example
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.