You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add support for decoding and encoding with the JBIG2 standard.
See section 7.4.7 JBIG2Decode Filter in the PDF reference (PDF32000_2008):
The JBIG2Decode filter decodes monochrome (1 bit per pixel) image data
that has been encoded using JBIG2 encoding.
JBIG stands for the Joint Bi-Level Image Experts Group, a group within the ISO that developed the format. JBIG2 is the second version of a standard originally released as JBIG1.
JBIG2 encoding which provides for both lossy and lossless compression, is only useful monochrome images, not for color images, grayscale images or general data.
The algorithms are described in ISO/IEC 11544 published standard for the current JBIG2 specification.
In general JBIG2 provides considerably better compression than the existing CCITT standard.
The optional parameters for JBIG2Decode filter in PDF are:
JBIG2Globals - a stream containing the JBIG2 global (page 0) segments.
See also Example 1 in the standard which can be used as a testcase.
Implementation
Makes sense to implement as a package jbig2 that can be included internally in unidoc. Should be licensed with the same license as the unidoc project.
Start by focusing on decoding, can use the example provided in the PDF reference, and extract some JBIG2Decoded data from PDF files
Code should follow the unidoc style guide
Encoding should also be implemented in the package
Notes
I am currently not aware of any golang implementations of JBIG2. However, there are a few open source implementions in other languages that might be a good reference.
Add support for decoding and encoding with the JBIG2 standard.
See section 7.4.7 JBIG2Decode Filter in the PDF reference (PDF32000_2008):
The optional parameters for JBIG2Decode filter in PDF are:
See also Example 1 in the standard which can be used as a testcase.
Implementation
Notes
I am currently not aware of any golang implementations of JBIG2. However, there are a few open source implementions in other languages that might be a good reference.
The text was updated successfully, but these errors were encountered: