LEADTOOLS supports CCITT Group3 and Group4 industry standards for compressing bitonal (1-bit) image data. Both Group3 and Group4 encode the source image line by line. The difference between the two algorithms is in the way the two standards handle successive scan lines.
In Group3 1D, each scan line is encoded independently, whereas in Group4, scan lines are encoded with reference to the previous one, resulting in improved compression ratios. In Group3 1D, a scan line is encoded as a set of runs, each representing a number of white or black pixels, with white runs alternating with black runs. Every run is encoded using a variable number of bits, which can be uniquely identified upon decoding. This means that frequently occurring lengths of run may be encoded very efficiently, while infrequent ones cause the data to grow. For example, a white run of 2 or 3 pixels can be encoded using just 2 bits, while a run of 1000 pixels can be encoded in 25.
Group4 encoding is more complex as compared to Group3 encoding. Each scan line is compared with the previous one. Because of this, vertical features in the source image are used to achieve high compression ratios.
There is also a Group3 2D algorithm. Group3 2D is a combination of Group3 1D and Group4 compression schemes.
Overview of LEADTOOLS CCITT G3/G4 Image Compression SDK Technology
- Load and save CCITT G3/G4 compressed image data in many formats including TIFF, PDF and Intergraph
- Keep 1-bit images CCITT G3/G4 compressed in memory reducing application memory footprint
- CCITT G3/G4 image compression technology available as C DLL, C++ classes, .NET classes (C# & VB), WinRT Libraries, iOS, OS X, Android, Linux, Silverlight classes and Web services
- Add CCITT G3/G4 image compression to single and multithreaded applications
- Native 32 and 64-bit binaries for CCITT G3/G4 image compression