What is JPEG2000 Robert Han University of Wisconsin – Madison, College of Engineering ECE533 Final Project report 1. Introduction In the digital image processing area, there are many different methods to compress images. Each compression method has different aspects and different characteristics. Among those methods, the compression standard developed by Joint Photographic Expert Group (JPEG) is currently the most widely used in many applications such as web applications. It is because that JPEG compression method can compress large amount of image data into relatively small amount of data size. About ten years later when JPEG image standard was developed, the new compression standard for image compression was developed in year 2000 and it was named JPEG2000. JPEG2000 is new image compression standard from JPEG and it adapts different algorithm from previous JPEG standard. With this new algorithm, JPEG2000 can perform much improved image compression with higher quality. However, JPEG2000 is not yet widely used in both commercial and non-commercial applications and most of general image application users do not know about this new image compression standard. Therefore, in this report, I will explore features and characteristics of JPEG2000 compression standard. First, I will explain the basic features of JPEG2000 image standard and make technical comparisons between JPEG2000 and JPEG technology. And introduce the Kakadu software which is developed to implement JPEG2000 images. And implement some JPEG2000 image samples with the Kakadu 2 software and demonstrate results. Finally, I will perform the actual experiments with JPEG and JPEG2000 image and determine how JPEG2000 is improved over previous JPEG standard. 2. Background information of JPEG2000 In digital image processing area, there was a need for a standard image compression method to enable interoperation among applications and equipments from different manufacturer. Therefore, the Joint Photographic Expert group (JPEG) was established with specialists from CCITT and ISO, and developed the first international digital image compression standard for continuous-tone images in late 1980s. Currently, JPEG images are the most widely used compressed image. In year 2000, about ten years after the JPEG standard was developed, the Joint photographic expert group developed new standard for JPEG image with different algorithm and this standard was named JPEG2000. JPEG2000 is a new image-encoding standard that provides a feature set vital to many high-end and emerging imaging applications. JPEG2000 provides high compression with image quality superior to all existing standard encoding techniques. This high compression and quality performance is due to the adaptation of wavelet transforms. Wavelet transforms are mathematical formulas that represent complex structures in the image, thereby compressing an extremely large amount of image data into a relatively small amount of compressed data. This compression technique allows applications to save compressed images with higher compression ratio and better image quality as compared to any other software currently in production. And due to the wavelet based compression algorithm, JPEG2000 image can store the image data 3 in a hierarchical format which contains several stored resolutions of the image in the same file without duplication. For this reason, a compressed with JPEG2000 standard image can then be sent to a device in the resolution that best fits without additional storage overhead. And the file structure of the image becomes very flexible, so that it can be used for a variety of applications such as internet images, digital photography, medical images, and wireless images. However, JPEG2000 images are not yet currently widely used in current commercial or non-commercial applications. Figure 1. JPEG2000 compression algorithm Although JPEG and JPEG2000 standard adapt different algorithm for image data compression, they share same basic architecture of standard. As shown in figure 2, source image data is quantized after the forward transform. And after the quantization, the data set is encoded through entropy encoding and transformed in to compressed image data. Source Forward image data Transform Quantization Entropy Compressed Encoding image data Figure 2. Basic Architecture of standard for JPEG/JPEG2000 image compression This basic structure is applicable to both discrete cosine transform for JPEG standard and discrete wavelet transform for JPEG2000 standard. 4 3. The KAKADU software The Kakadu software is a complete implementation of the JPEG2000 standard, Part 1. This new image compression standard is substantially more complex than the existing JPEG standard, both from a computational and a conceptual perspective. The Kakadu software also provides a comprehensive implementation for several of the most useful features from Part 2 of the JPEG2000 standard, including general multi-component transforms and arbitrary wavelet transform kernels. The Kakadu software framework provides a solid foundation for a range of commercial and non-commercial applications. The objective of Kakadu software is to encourage the widespread adoption of JPEG2000 image standard by making a consistent and efficient implementation of the standard widely available for both academic and commercial applications. The Kakadu software has been written specifically with a variety of different types of applications in mind. These include: Image and volume compression Image and volume decompression/rendering Trans-coding between related representations Interactive rendering applications Client-server applications Digital Cinema applications For the experimental purpose, I actually performed implementations of JPEG2000 images with some basic functions of the Kakadu software and demonstrated results in this report. 5 Figure 3. Basic figure of the Kakadu software 4. Kakadu implementation examples JPEG2000 image may contain multiple embedded image structure, which form the foundation of quality progressive remote image browsing. By default, local files are opened at maximum quality in the Kakadu software. With the Kakadu software, it is possible to reduce the number of layers of the image and to compare the visual quality associated with each compressed quality layer. Original Image JPEG2000 Image JPEG2000 Image With 5 layers With 1 layer Figure 4. The Kakadu software implementation – Layer reducing examples The format of the original image is in the png format which stands for Portable 6 Network Graphics. The png compression method is known to be able to compress the image without losing the image information. As seen in figure 4, JPEG2000 image with all of its layers shows almost as same quality as the quality of original png image. And after reducing its layer to one, then the quality of the image decreased dramatically. Along with layer reducing function, the Kakadu software supports single component mode which can extract only one compositing layer of the JPEG2000 image. Original Image First component of image Last component of image Figure 5. The Kakadu software implementation – Extracting image component examples Each Image components typically correspond to color channels such as red, green, blue, or luminance, and chrominance channels, and represented as gray scale image. An image component may also correspond to alpha blending channels, palette indices, or anything else. Since JPEG2000 image is composed with layered code-streams, users can add metadata to edit the JPEG2000 image of the selected region. When the codestream is added to the image, then the image is edited and the visual differences after editing are shown in figure 6. 7 Adding code-stream Adding code-stream Adding code-stream Figure 6. The Kakadu software implementation – Adding metadata examples Just as other imaging software applications, the Kakadu software also has basic image editing functions such as flipping, cropping, rotating, and zooming. These operations for JPEG2000 images are not yet supported in most of commercial image editing applications. Therefore, the Kakadu software is currently most suitable application in editing JPEG2000 images. Original Image Horizontal flip Vertical flip Figure 7. The Kakadu software implementation – Flipping examples Currently the Kakadu software is the most suitable and widely used imaging software for JPEG2000 images. And the Kakadu is freely distributed to people who want to have experiments with JPEG2000 images. 8 5. Visual performance comparison between JPEG and JPEG2000 JPEG2000 standard was developed in order to improve previous JPEG standard. With the adaptation of Discrete Wavelet Transform (DWT) algorithm, much more image data can be compressed into much smaller data set with improved image quality. However, this quality improvement is often very hard to see with human visual system even though there is an actual improvement in image quality. Therefore, in this report, I focused on demonstration of the quality difference between JPEG image and JPEG2000 image which can be distinguishable with human visual system respect to different compression ratio. I used four different kinds of image in the experiments, regular color image, gray scale image, scanned document image, and computer generated animation image. Each type of image was generated from original png format image. Therefore, file size of compressed image could be the comparison criteria of two compression standard other than visual image quality difference. The regular color image used in the experiment was 439kb png format image. I transformed this image into three JPEG2000 and three JPEG images. JPEG2000, 10:1 76.8kb JPEG 100% quality 247kb JPEG2000, 50:1 15.4kb JPEG2000, 100:1 7.78kb JPEG 50% quality 34.7kb JPEG 0% quality Figure 8. Visual performance comparison – Color image 23.4kb 9 As mentioned above, the actual quality difference in regular size images were very difficult to distinguish with human eye. Therefore, I enlarged the certain region of the images in order to make it easier to compare the actual quality differences of images. Regularly, the file sizes of JPEG2000 images were much smaller than JPEG images respect to similar compression ratio. Especially in 10:1 compression ratio, the file size of JPEG2000 image was four times smaller than JPEG image. And the file size of the most compressed JPEG image was even larger than the file size of the JPEG2000 image with 50:1 compression ratio which has better image quality. The gray scale image used in the experiment was png format image with 168kb file size. Generated images were compressed as same ratio as previous regular color image experiment. Jpeg2000, 100:1 File size : 4.54kb Jpeg2000, 50:1 File size : 24.5kb Jpeg2000, 10:1 File size : 156kb Jpeg, 0% quality File size : 41.7kb Jpeg, 50% quality File size : 79.1kb Jpeg, 100% quality File size : 193kb Figure 9. Visual performance comparison – Gray scale image For the gray scale image, the noticeable result was that the image sizes for the compressed images with best quality were not much reduced from the original image for both JPEG2000 and JPEG image. The size of JPEG image was even larger than the size original image. And, unlike the color image, the quality difference was not 10 easy to distinguish even in the enlarged images. That is probably because the gray scale images do not contain as much data information as regular color images. Therefore, it might be recommended to use highly compressed gray scale image in some applications if smaller file size of the image is preferable, since the file size decreased dramatically with higher compression ratio with relatively small changes in image quality. One of most dramatic improvement of JPEG2000 standard over JPEG standard could be found in scanned document. JPEG2000 image could represent much more details in characters in this experiment, and I think this improvement can be the most useful application of JPEG2000 standard. JPEG2000 format JPEG format Figure 10. Visual performance comparison – Scanned document As seen in figure 10, JPEG2000 image represented the details of each character much more correctly than JPEG image. And as with all other experiments, the file size of the scanned document was also smaller in JPEG2000 image. Therefore, with this 11 improvement, JPEG2000 image standard can be used in applications such as fax machine and wireless document transfer with higher quality and reduced transmission cost. For the experiment in cartoon image, I actually created a png format cartoon image with the Adobe Photoshop and converted this image into three JPEG2000 images and three JPEG images. Jpeg2000, 100:1 File size : 54.6kb Jpeg2000, 50:1 File size : 114kb Jpeg2000, 10:1 File size : 243kb Jpeg, 0% quality File size : 77.8kb Jpeg, 50% quality File size : 109kb Jpeg, 100% quality File size : 278kb Figure 11. Visual performance comparison – Cartoon image JPEG2000 image JPEG image Figure 12. Visual performance comparison – Cartoon image 12 In this experiment, the result was somewhat different from previous experiments. JPEG2000 images still showed better performance than JPEG images, but the file size of the compressed images were larger than the original png format image in certain compression ratio. JPEG2000 images represented perfect color information of the original image regardless of the compression ratio, but a JPEG image with the highest compression ratio failed to represent the exact color information of the original image. As seen in the figure 12, the green color of the JPEG image was darker than the original image and the JPEG2000 image. The representation of details of the image was also poor in JPEG image than JPEG2000 image. 6. Conclusion JPEG2000 standard showed improved performance over JPEG standard throughout my experiment. It reduced the image size while enhanced the image quality. Then why JPEG2000 images are not currently widely used in practical applications? Since JPEG2000 standard has past only about five years from its development and most of applications in current digital image processing area were developed to apply the compression standard that were developed earlier than JPEG2000 standard. And those standards are already adapted in various applications. However, there is more public attention to JPEG2000 in these days, and many application developers began to apply JPEG2000 standard to their application software. Therefore, it is clear that JPEG2000 standard will become the one of most widely used image compression standard in very near future, and with this new powerful standard the area of digital image processing will generate more powerful applications to the practical usage. 13 7. Reference 1. Requirements ad hoc group, JPEG2000 requirements and profiles version 6.3, July 2000 2. ISO/IEC JTC1/SC29/WG1, Call for contributions for JPEG2000 image coding system, March 1997 3. Takahiro Fukuhara, David Singer, Motion JPEG2000 Final Committee draft, March 2001 4. JPEG2000 Part VI FCD, JPEG2000 Image coding system: Compound image file format, November 2001 5. http://www.jpeg.org , The official JPEG committee homepage 6. David Taubman , User Manual for Kakadu’s “kdu_show” Tool, March 2005