Professional Documents
Culture Documents
ACKNOWLEDGEMENT
I would like to thank my advisor, Dr.K.R.Rao, for all his guidance, encouragement and support. This work was enabled and sustained by his vision and ideas. I am thankful to Dr. Zhengbing Zhang for his constant support and advice given throughout this project. Finally, I would like to thank my lab members Att, Vineeth and Pooja and also all the visiting professors for helping me resolving the issues and thus smooth completion of the project.
TABLE OF ACRONYMS
AIC advanced image coding
AVC advanced video coding BMP bit map format CABAC DCT context adaptive binary arithmetic coding discrete cosine transform embedded block coding with optimized truncation
DWT discrete wavelet transform EBCOT EZW embedded zero-tree wavelet coding FRExt fidelity range extensions GIF HVS I-frame JM joint model joint photographic experts group lossless coding joint photographic experts group extended range low complexity lossless compression for images graphics interchange format high-definition photo intra frame human visual perception HD-photo
MSE mean square error M-AIC modified advanced image coding PGM portable gray map PNM portable any map PPM portable pixel map PSNR peak signal to noise ratio ROI SI SP VLC region of interest switched intra switched predictive variable length coding Radhika Veerla, Graduate Student, UTA 3
LIST OF FIGURES Figure 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 The process flow of the AIC encoder and decoder Color conversion matrices for RGB and YCbCr YCbCr sampling formats - 4:4:4, 4:2:2 and 4:2:0 Different prediction modes used for prediction in AIC M-AIC encoder and decoder The specific coding parts of the profiles in H.264 Basic coding structure for a macroblock in H.264/ AVC Block diagram for CABAC Diagram for zig-zag scan and scan line order Block diagram of JPEG encoder and decoder Structure of JPEG 2000 codec Tiling, DC level shifting, color transformation, DWT of each image component Block diagram of JPEG-XR encoder and decoder JPEG-LS block diagram A causal template of LOCO-I Structural similarity (SSIM) measurement system
Implementation of AIC based on I-frame only coding in H.264 and comparison with other still frame image coding standards such as JPEG, JPEG 2000, JPEG-LS and JPEG-XR
Objective: Advanced image coding (AIC) is implemented based on I-frame only coding using Microsoft Visual C++ and results are compared with other image compression techniques like JPEG, JPEG2000, JPEG-LS, JPEG-XR and H.264. Coding simulations are performed on various sets of test images. Experimental results are measured in terms of bit-rate, quality- PSNR. This project considers only main and (FRExt) high profiles in H.264/AVC I-frame coding, JPEG using baseline method and all the codecs are considered in lossy compression. Introduction: The aim of AIC [1] is to provide better quality with reduced level of complexity while optimizing readability and clarity. Though its aim is not to optimize speed, it is faster than many of the JPEG 2000 codecs [10]. Because of its high quality images, the applications of AIC include medical imaging. H.264 technology aims to provide good video quality at considerably low bit rates, at reasonable level of complexity while providing flexibility to wide range of applications [2]. Coding efficiency is further improved in fidelity range extensions (FRExt) using 8x8 integer transform and works well for more complex visual content. JPEG [15] is first still image compression standard which uses 8x8 block based DCT decomposition, while JPEG 2000 is a wavelet-based compression standard which has improved coding performance over JPEG with additional features like scalability and lossless coding capability has best performance with smooth spatial data. JPEG performs well in low complexity applications whereas JPEG 2000 works well in high complexity, lower bit-rate applications. JPEG2000 has rate-distortion advantage over JPEG. Microsoft HD photo [19] is a new still-image compression algorithm for continuous-tone photographic images and it maintains highest image quality or delivers the most optimal performance. JPEG-XR [16] (extended range), a standard for HD-photo has high dynamic-range image coding and performance as the most desirable feature. Its performance is close to JPEG2000 with computational and memory requirements close to JPEG. With half the file size of JPEG, HD photo delivers lossy compressed image with better perceptual quality than JPEG and lossless compressed image at 2.5 times smaller than the original image. JPEG-LS [25] (lossless) is an ISO/ITU-T standard for lossless coding of still images. In addition, it also provides support for "near-lossless" compression. The main goal of JPEG-LS is to deliver a low complexity solution for lossless image coding with the best possible compression efficiency. JPEG uses Huffman coding, H.264/AVC and AIC systems adopt CABAC encoding technique, and HD photo uses reversible integer-integer-mapping lapped biorthogonal transform [7]. LOCO-I (low complexity lossless compression for images), an algorithm for JPEG-LS uses adaptive prediction, context modeling and Golomb coding. It supports near lossless compression by allowing a fixed maximum sample error. Although the above mentioned compression techniques are developed for different signals, they work well for still image compression and hence worthwhile for
Advanced Image Coding and its comparison with various codecs comparison. Different softwares like AIC reference software, JM software for H.264 [17], JPEG reference software [18] for JPEG, HD-photo reference software [19], JasPer [20] for JPEG2000, JPEG-LS reference software [21] are used for comparison between different codecs. The evaluation will be done using bit rates, different quality assessment metrics like PSNR, SSIM and complexity. The following topics are discussed in this report. AIC is described in detail as it is implemented and various other codecs used for comparison in brief. Different settings used in the softwares and evaluation methodology are discussed. The results obtained by evaluating different test images and test images of different sizes using AIC reference software are included. Advanced Image Coding Advanced image coding (AIC) is a still image compression system which combines the algorithms of H.264 and JPEG standard, shown in Fig.1, in order to achieve best compression capability in terms of quality factor with less complexity. The AIC is developed by solving the artifacts and increasing picture quality. The performance of AIC is close to JPEG 2000 and is lot better than JPEG. AIC uses the intra-frame block prediction, which is originally used in H.264 to reduce the large number of bits to code original input. Both AIC and H.264 use CABAC coding while AIC uses position of coefficient matrix as the context [1]. It is observed that each block in AIC is modified to get the best compression efficiency possible. Overview: The color conversion from RGB to YCbCr shown in Fig.2, allows better compression in channels as chrominance channels have less information content. Then each channel is divided into 8x8 blocks for prediction. Prediction is based on 9 modes shown in Fig.4 based on previously encoded and decoded blocks. Chrominance channels use same prediction modes as corresponding blocks in luminance. Entropy is reduced further when DCT is applied to the residual blocks. CABAC is used for encoding the bit stream which uses a context where commonly encoded prediction modes and DCT coefficients use less number of bits than rarely used prediction modes and coefficients [1]. It is observed that each block in AIC is modified to get the best compression efficiency possible.
Fig.1: The process flow of the AIC encoder and decoder [1]. Color conversion: Radhika Veerla, Graduate Student, UTA 7
Advanced Image Coding and its comparison with various codecs The color conversion from RGB to YCbCr shown in Fig.2 allows better compression in channels as chrominance channels have less information content. AIC achieves higher quality/ compression ratio without the use of sub-sampling, which was adopted in H.264 and JPEG. This is possible with the use of block prediction and binary arithmetic coding. AIC uses 4:4:4 format shown in Fig.3. Sub-sampling has negative impact on image quality.
R 1.164 0.0 0 1.596 Y 16 G = 1.164 0.392 0.813 Cb 128 B 1.164 2.017 0.0 0 Cr 128
Fig.2: Color conversion matrices for RGB and YCbCr
4:4:4
4:2:0
Y sample
Fig.3: YCbCr sampling formats - 4:4:4, 4:2:2 and 4:2:0 [33] Block prediction: Each channel is divided into 8x8 blocks for prediction. Each 8x8 block is encoded using scan line order from left to right and top to bottom. H.264 supports 4x4, 8x8 and 16x16 block prediction algorithms whereas AIC uses 4x4 block algorithms which are extended
Advanced Image Coding and its comparison with various codecs to 8x8 block case. Prediction is performed using all previously encoded and decoded blocks. Both H.264 and AIC use 9 prediction modes to predict the current block, shown in Fig.4. The mode which gives the minimum difference between the original and predicted block is chosen. Prediction needs information about all the pixels. The first block cannot be predicted by previous blocks. So DC mode is used for this purpose. Same prediction modes employed by Y are used for Cb, Cr in order to reduce complexity. Residual blocks are obtained by subtracting the predicted block from the original block. AIC Block Prediction Implementation Details: Different modes used for block prediction are shown in Fig.4.
Mode 0: Vertical
Mode 1: Horizontal
Mode 2: DC
10
Mode 5: Vertical-Right
Mode 6: Horizontal-Down
Mode 7: Vertical-Left
Mode 8: Horizontal-Up
DCT and Quantization: DCT is applied on each 8x8 residual block. DCT has a property of energy compaction. Uniform quantization is applied without actually discarding the bits. Quality level setting is nothing but setting the amount of quantization. AIC uses floating point algorithms to produce the best quality images. In JPEG, the DCT coefficients are transmitted in zig-zag order shown in Fig.9(a) rather than scan-line order shown in Fig.9(b) employed by AIC. Zig-zag scanning needs reordering of coefficients to form run of zeros which can be encoded using run length coding. CABAC does not need reordering of coefficients, so run length encoding is not needed. CABAC: The resulting prediction modes and DCT coefficients obtained from the above processes must be stored in a stream. AIC uses CABAC algorithms to minimize the bit stream. CABAC uses different contexts to encode symbols. Arithmetic coding can encode fractional number of bits and can outperform Huffman coding but is more complex and slower. Position of coefficient in a matrix may be context. This can be derived as DCT has high probability of zero coefficients in highfrequency domain. Different contexts AIC use are prediction-prediction mode, prediction mode, coefficient map, last coefficient, coefficient greater than 1, absolute coefficient value, coded block [1].
11
Modified AIC Encoder: As shown in Fig. 5 (a), the M-AIC is based on JPEG structure, to which a predictor is added. The predictor is composed of five parts including IDCT, Q1, Mode Select and Store, Block Predict and an Adder. The function of the predictor is to predict the current block to be encoded with the previously decoded blocks of the upper row and the left column. The R (Red), G (Green) and B (Blue) components of the original image are converted to three channels of Y (luminance), Cb and Cr (chrominances) without downsampling by the Color Conversion module. That is, the format of YCbCr channels is 4:4:4. The color conversion method same as in JPEG reference software [18] is used. The three channels of Y, Cb and Cr are compressed one after another with Y being the first and Cr being the last. As in JPEG, every channel is divided into non-overlapping 88 blocks which are encoded block by block in a scan order from left to right and from top to bottom. While encoding each block in Y channel, the first thing to do is to select a block prediction mode, which minimizes the prediction error measured with sum of absolute difference (SAD), by full search among the predefined 9 modes in [1]. The 9 block prediction modes, indexed by 0~8, are called as Mode 0 through Mode 8, representing vertical, horizontal, DC, diagonal down-left, diagonal down-right, verticalright, horizontal-down, vertical-left and horizontal-up predictions respectively. The selected prediction mode is stored and is used to predict not only the current block in Y but also the corresponding blocks in Cb and Cr with the same block index as that of the current block in Y. The prediction residual (Res) of the block to be encoded is transformed into DCT coefficients with a fast floating point DCT algorithm. Then the DCT coefficients are uniformly scalar-quantized. The same quantization parameter (QP) is used to quantize all the DCT coefficients of the whole image including all the channels of Y, Cb and Cr. The 2-dimensional array of the 64 quantized DCT coefficients is transferred into a one-dimensional sequence with a zig-zag scan order. All the 64 coefficients including both the DC coefficient and the AC coefficients are encoded together with the same algorithm as that for encoding the AC coefficients in JPEG standard. The Huffman table used in the proposed algorithm to encode all channels of Y, Cb and Cr is the same Huffman table for AC coefficients of chrominances recommended in baseline JPEG [11] [18]. The selected prediction modes are encoded by the ModeEnc module with a variable length algorithm. If the prediction mode of the current block is the same as that of the previous block, output only 1 bit of 0, else output 1 bit of 1 followed by 3 bits of the mode number message, which is the mode index itself or the mode index minus 1 if the mode index of the current block is less than or greater than that of the previous block respectively. To form a compressed stream, 11 bytes are used to construct a stream header including stream format flag, algorithm version, QP, image width, image height, pixel bit-count of the original image, and the code size of the compressed modes. The compressed stream is orderly composed of the header, the code of the prediction modes, the Huffman codes of Y-Res, the Huffman codes of Cb-Res and the Huffman codes of Cr-Res. An adaptive arithmetic coder is added at the end of our encoder. The source code of the adaptive arithmetic coder adapted from the program in [12] is downloaded from [34]. The AAC is fed with 8-bit symbols extracted byte-by-byte from the compressed stream (the header, the code of the prediction modes, and the Huffman
12
Advanced Image Coding and its comparison with various codecs codes of Y-Res, Cb-Res and Cr-Res). The output of AAC is stored as the finally compressed result. G B
CC
Cr Cb Y, Cb, Cr Blks Y
Y
+
Pred Blk
Res
FDCT
ZZ
Huff A A C
mode
Block Predict
Predictor
Tab
DecCb DecCr
DecY
FDCT:Forward DCT; Q: Quantization; Huff: Huffman encoder; ZZ: Zig-Zag scan; IDCT: Inverse DCT; Q1 : Inverse Quantization; Tab: Huffman table; AAC: Adaptive Arithmetic Coder; Res: Residual of block prediction; DecX: Decoded Blocks in channel X (X = Y, Cb, Cr) Res: Reconstructed Residual
Decoder The proposed M-AIC decoder is shown in Fig. 5(b). In fact, the decoding process is the
inversion of the encoding. The coded bitstream from the encoder is fed to AAD resulting in the stream header, the code of the prediction modes and the Huffman codes of the Y-Res, Cb-Res and Cr-Res. The code of the prediction modes is decoded into prediction modes and stored by the module of ModeDec and Store. The residual of the current block is obtained by a decoding algorithm similar to baseline JPEG decoder [18]. The prediction of the current block is produced from the previously decoded blocks according to its prediction mode. The reconstructed residual is added to the prediction to result in the reconstructed current block. After, all the blocks of Y, Cb and Cr are reconstructed, the 3 channels of Y, Cb and Cr are converted into R, G and B by the Inverse Color Conversion module as shown in Fig.2.
Dec Y
Res
IDCT
Q1
ModeEnc
13
ICC
IDCT
Q1
IZZ
IHuff A A D
Block Predict
Decoder
Fig. 5(b): M-AIC decoder H.264 standard H.264 or MPEG-4 part 10 aims at coding video sequences at approximately half the bit rate compared to MPEG-2 at the same quality. It also aims at having significant improvements in coding efficiency using CABAC entropy coder, error robustness and network friendliness. Parameter set concept, arbitrary slice ordering, flexible macroblock structure, redundant pictures, switched predictive and switched intra pictures have contributed to error resilience / robustness of this standard. Adaptive (directional) intra prediction (Fig. 4) is one of the factors which contributed to the high coding efficiency of this standard [2].
High Profiles Extended Profile Adaptive transform block size Quantization scaling matrices Main Profile Data partition B slice SI slice SP slice Weighted prediction I slice P slice CAVLC Arbitrary slice order Flexible macroblock order Redundant slice Baseline Profile CABAC
Fig. 6: The specific coding parts of the profiles in H.264 [2] Each profile specifies a subset of entire bitstream of syntax and limits that shall be supported by all decoders conforming to that profile. There are three profiles in the first version: baseline, main, and extended. Main profile is designed for digital storage media and television broadcasting. H.264 main profile which is the subset of high profile was designed with compression coding efficiency as its main target. Fidelity range extensions Radhika Veerla, Graduate Student, UTA 14
Advanced Image Coding and its comparison with various codecs [3] provide a major breakthrough with regard to compression efficiency. The profiles are shown in Fig. 6. There are four High profiles defined in the fidelity range extensions: High, High 10, High 4:2:2, and High 4:4:4. High profile is to support the 8-bit video with 4:2:0 sampling for applications using high resolution. High 10 profile is to support the 4:2:0 sampling with up to 10 bits of representation accuracy per sample. High 4:2:2 profile supports up to 10 bits per sample. High 4:4:4 profile supports up to 4:4:4 chroma sampling up to 12 bits per sample thereby supporting efficient lossless region coding [2]. H.264/AVC Main Profile Intra-Frame Coding: Main difference between H.264/AVC main profile intra-frame coding and JPEG 2000 is in the transformation stage. The characteristics of this stage also decide the quantization and entropy coding stages. H.264 uses block based coding, shown in Fig. 7 which is like block translational model employed in inter-frame coding framework [7]. 4x4 transform block size is used instead of 8x8. H.264 exploits spatial redundancies using intra-frame prediction of the macro-block using the neighboring pixels of the same frame, thus taking the advantage of inter-block spatial prediction. The result of applying spatial prediction and wavelet like 2-level transform iteration is effective in smooth image regions. This feature enables H.264 to be competitive with JPEG2000 in high resolution, high quality applications. JPEG cannot sustain in the competition even though it uses DCT based block coding. DCT coding framework is competitive with wavelet transform coding if the correlation between neighboring pixels is properly considered using context adaptive entropy coding. In H.264, after transformation, the coefficients are scalar quantized, zig-zag scanned and entropy coded by CABAC. Another entropy coding CAVLC operates by switching between different VLC tables which are designed using exponential Golomb codes [32] based on locally available contexts collected from neighboring blocks- used sacrificing some coding efficiency [2]. H.264/AVC FRExt High Profile Intra-Frame Coding: Main feature in FRExt that improves coding efficiency is the 8x8 integer transform- and all the coding methods as well as prediction modes associated with adaptive selection between 4x4 and 8x8 integer transforms. Other features include [3, 7] higher resolution for color representation such as YUV 4:2:2 and YUV 4:4:4, shown in Fig.2. addition of 8x8 block size is a key factor in very high resolution, high bit rates achieve very high fidelity even for selective lossless representation of video
15
Fig.7: Basic coding structure for a macroblock in H.264/AVC [2]. Context-based Adaptive Binary Arithmetic Coding (CABAC): CABAC utilizes the arithmetic coding, also in order to achieve good compression. The CABAC encoding process, shown in Fig. 8, consists of three elementary steps [11].
Fig.8: Block diagram for CABAC [8] step 1 : binarization Mapping non binary symbols into binary sequence before given to arithmetic coder. step 2 : context modeling It is a probability model for defining one or more elements based on previously encoded syntax elements. step 3 : binary arithmetic coding Encodes elements based on selected probability model. JPEG JPEG is the first ISO/ITU-T standard for continuous tone still images [15]. It allows lossy and lossless coding of still images. JPEG gives good compression results for Radhika Veerla, Graduate Student, UTA 16
Advanced Image Coding and its comparison with various codecs lossy compression with the least complexity. There are several modes defined for JPEG including baseline, progressive and hierarchical. The baseline mode, which supports lossy compression alone, is most popular. Average compression ratio of 15:1 is achieved using lossy coding with the help of DCT-block based compression. Lossless coding is made possible with predictive coding compression techniques which include differential coding, run length coding and Huffman coding. JPEG employs uniform quantization with HVS weighting. Zig-zag scanning is performed on quantized coefficients since it allows entropy coding to be performed in the order from low frequency to high frequency components [15].
The process flow of JPEG baseline (lossy) algorithm is shown in the Fig.10.
(a)
17
(b) Fig. 10(a): Block diagram of JPEG encoder (b): Block diagram of JPEG decoder [15] The process flow in the baseline mode, starts with the color conversion for color images followed by 8x8 block based DCT (process flow starts here for gray scale images), quantization, zig-zag ordering, and entropy coding using Huffman tables in the encoding process and vice versa for decoding process. Different quantization matrices are used for luminance and chrominance components. The quantization step size for each of the 64 DCT coefficients is specified in a quantization table, which remains the same for all blocks. The DC coefficients of all blocks are coded separately, using a predictive scheme. Quality factor Q is set using quantization tables and different kinds of artifacts in varied ranges are observed [15]. JPEG2000 JPEG 2000 [10] is image compression standard which supports lossy and lossless compression of gray scale or color images. In addition to the compression capability, JPEG 2000 supports excellent low bit rate performance without sacrificing the performance at high bit rate, region of interest coding, EBCOT (Embedded Block Coding with Optimized Truncation) which overcomes the limitations of EZW (embedded zerotree wavelet coding) which are random access to specific regions of the image, error resilience. It also supports flexible file format and progressive decoding of the image to allow from lossless to lossy by fidelity and resolution. Its architecture should lend itself to a wide range of uses from portable digital cameras through to advanced pre-press, medical imaging and other key sectors. JPEG2000 is based on DWT (discrete wavelet transform), scalar quantization, context modeling, arithmetic coding and post compression rate allocation. Wavelet transform has 3dB improvement over DCT based compression [14]. Lossless compression is the result of transform, entropy coding. The entropy coding is done in blocks, typically 64x64, inside each sub band. The DWT can be performed with reversible filters, which provide for lossless coding or non-reversible filters, which provide for higher coding efficiency without the possibility to do lossless. The coded data is organized in so called layers, which are quality levels, using post compression rate allocation and then output to the code stream in packets. JPEG 2000 provides for resolution, SNR and position progressivity, or any combination of them, parseable codestreams, error-resilience, arbitrarily shaped region of interest, random access (to the subband block level), lossy and lossless coding, etc., all in a unified algorithm. The JPEG2000 encoding procedure is as follows [30]:
18
Advanced Image Coding and its comparison with various codecs The image is decomposed into components. The image and its components can be decomposed into rectangular tiles. The tilecomponent is the basic unit of the original or reconstructed image. The wavelet transform is applied to each tile, decomposing it into different resolution levels. These decomposition levels are made up of sub-bands of coefficients that describe the frequency characteristics of local areas of the tile-component, rather than across the entire tile-component. Sub-bands of coefficients are quantized and partitioned into rectangular arrays of code-blocks. Bit-planes of the coefficients of a code-block are entropy coded. The encoding can be done such that certain ROIs can be coded with higher quality as compared to the background. Markers are added to the bit stream to allow error resilience. The code stream has a main header at the beginning that describes the original image and the various decomposition and coding styles that have to be used to locate, extract, decode, and reconstruct the image with the desired resolution, fidelity, region of interest or other characteristics.
Fig.11: Structure of JPEG 2000 codec. The structure of the (a) encoder and (b) decoder [23]
19
Advanced Image Coding and its comparison with various codecs Fig.12: Tiling, DC level shifting, color transformation, DWT of each image component [9] JPEG 2000 is successfully deployed in the areas of digital cinema, video surveillance, defense and medical imaging, computer graphics or animation due to the combination of important features like scalability, high bit-depth at the same time. JPEG XR JPEG XR [16], a coded file format is designed explicitly for next generation of digital cameras and for storage of continuous-tone photographic content based extensively on technology introduced by Microsoft, known as HD photo. It supports wide range of color formats including n-channel encodings using fixed and floating point numerical representations, bit depth varieties giving a way for wide range of data compression scenarios. The ultimate goal is to support wide range of color encodings, maintain forward compatibility with existing formats and keep device implementation simple. It also aims at providing same algorithm for lossless as well as lossy compression. HD photo format [19] is a new file format standardized using JPEG-XR. Just like JPEG-2000, Microsoft HD photo works on advanced features like lossy-lossless compression, bit-rate scalability, editing, region-of-interest decoding, integer implementation without division etc. on top of compression capability. HD photo minimizes objectionable spatial artifacts preserving high frequency detail and outperforms other lossy compression technologies in this regard.
Adaptive VLC table switching
8x8 blocks
Quantization tables
Scalar quantization
HD photo encoder
Original image
(b) HD photo decoder Fig. 13(a): Block diagram of JPEG-XR encoder (b): Block diagram of JPEG-XR decoder Radhika Veerla, Graduate Student, UTA 20
HD photo is a block-based image coder similar to traditional image-coding paradigm: color conversion, transform, coefficient scanning, scalar quantization and entropy coding. Main blocks of HD photo include transformation stage and the coefficient-encoding stage. HD photo employs a reversible integer-to-integer-mapping lapped bi-orthogonal transform (LBT) as its decorrelation engine. The reversible property of the algorithm supports both lossy and lossless compression. Thus, it simplifies the overall implementation of the system. HD photos encoder contains many adaptive elements: adaptive coefficient scanning, flexible quantization, inter-block coefficient prediction, adaptive VLC table switching, etc as shown in Fig. 13. JPEG XR supports a number of advanced pixel formats in order to avoid limitations and complexities of conversions between different unsigned integer representations. This feature allows flexible approach to numerical encoding of image data. This results in low- complexity implementations in the encoder and decoder [16]. JPEG-LS JPEG-LS compression [25] algorithm is one of the established standards for lossless compression of color and grayscale images. Hewlett Packard proposed a simpler predictive coder for low complexity [24]. LOCO-I (LOw COmplexity LOssless COmpression for Images) is a lossless compression algorithm for continuous-tone images which combines the simplicity of Huffman coding with the compression potential of context models. Lossless image compression schemes often consist of two distinct and independent components: modeling and coding. The modeling part can be formulated as an inductive inference problem, in which an image is observed pixel by pixel in some pre-defined order (e.g. raster-scan). The model is tuned for efficient performance in conjunction with an extended family of Golomb-type codes, which are adaptively chosen, and an embedded alphabet extension for coding of low-entropy image regions. LOCO-I algorithm attains compression ratios similar to those obtained with the state of the art schemes based on arithmetic coding. JPEG-LS can be used to compress images in lossless and near lossless modes which are defined as Lossless compression: As the name implies, there will be no information loss and the image can be reconstructed exactly the same as the original. Near Lossless mode: Every sample value in a reconstructed image component is guaranteed to differ from the corresponding value in the original image by up to a preset (small) amount NEAR. There are 3 modes in JPEG-LS compression. They are: 1. Plane by plane mode The image components are compressed one after the other. Only gray images are compressed in this mode. 2. Line interleaved mode One row per image component is processed at a time in an interleaved manner. Both gray and color image are compressed in this mode. 3. Sample interleaved mode One sample per image component is processed at a time. Only color image is compressed in this mode. In this project, JPEG-LS code has been optimized and tested only in line interleaved mode as it supports both the gray and color images.
21
JPEG-LS approach provides the following advantages: Low complexity in algorithm design Low cost in implementation Closer to lossless compression in terms of quality, compression, efficiency and processing speed JPEG-LS Algorithm Good prediction and efficient residual coding are sufficient to achieve competitive compression performance with most natural image sources. In JPEG-LS algorithm, a non linear algorithm is used for prediction. The context model and Golomb coder together are used to efficiently code the prediction residual.
Fig.14: JPEG-LS block diagram [25] Description of LOCO-I The prediction and modeling units in LOCO-I are based on the causal template depicted in Fig 12.
Fig.15: A causal template of LOCO-I [26] a) Prediction The prediction approach is a variation of median adaptive prediction in which the predicted value is the median of a, b, c pixels. The initial prediction is obtained using the following algorithm. if c>=max(a,b) x=max(a,b) else { if c<=min(a,b) x=min(a,b)
22
Advanced Image Coding and its comparison with various codecs else x=a+b-c } The initial prediction is then refined using the average value of the prediction error in that particular context [24]. b) Context modeling The key objective in a context modeling scheme is reducing the number of parameters. i) Coding distributions The distribution of prediction residuals in continuous tone images can often be approximated by a Laplacian distribution, i.e. a two-sided exponential decay centered at zero. For each context, the encoder adaptively chooses the best among a limited set of Huffman codes, matched to exponentially decaying distributions, based on past performance. As these distributions are assumed to be centered at 0, a single parameter (e.g., the average of error magnitudes at the corresponding context) is sufficient to characterize each one of them [24]. ii) Context determination The contexts in JPEG-LS also reflect the local variations in pixel values. The context that conditions the encoding of the current prediction residual in LOCO-I is built out of the differences g1=da; g2=ac; g3=cb, and g4=be, shown in Fig. 15. The context is built out of the prediction errors incurred in previous encodings. Since further parameter reduction is obviously needed, each difference gj, j = 1, 2, 3, 4 is quantized into a small number or approximately equiprobable regions (the same regions for j = 1, 2, 3, 4) [24]. c) Coding LOCO-I combines the simplicity of Huffman (as opposed to arithmetic) coding with the compression potential of context models [30]. The prediction errors are encoded using adaptively selected codes based on Golomb codes, which is also optimal for sequences with a geometric distribution [24]. i) Sequential parameter estimation A sequential scheme is mandatory in a context-based method, as pixels encoded in a given context are not necessarily contiguous in the image and, thus, cannot be easily blocked. ii) Bias cancellation Golomb-Rice codes [27] rely heavily on the distribution of prediction residuals being a two-sided, symmetric, exponential decay centered at zero. While these assumptions are usually satisfied in the case of memoryless models, the situation is quite different in the case of context-based models, where systematic, context-dependent biases in the prediction residuals are not uncommon. These systematic biases can produce a very significant deterioration in the compression performance of a Golomb-Rice coder. To alleviate the effect of systematic biases, LOCO-I uses an error feedback aimed at centering the distributions of prediction residuals [24]. (d) Embedded alphabet extension LOCO-I addresses the redundancy of Huffman or Golomb / Rice codes due to very skewed distributions, by embedding an alphabet extension into the context conditioning.
23
Because of the ability to function in multiple modes, it performs very well on compound documents, which may contain images along with text [25]. LOCO-I is within a few percentage points of the best available compression ratios (given by CALIC), at a complexity level close to an order of magnitude lower [24]. It may be used to compress satellite, medical, document, pictorial and biometric images in a lossless or near lossless manner. In some of these applications, such as high-speed scanning and satellite image transmission, large image volumes need to be processed in near real time and hardware solutions are very valuable. JPEG-LS algorithm is comparable to other leading lossless compression algorithms such as JPEG2000 [13] in terms of compression capability, but it is less complex than other leading algorithms. Another feature of JPEG-LS is that it allows for near lossless compression where the user can increase the compression ratio and speed of execution by specifying the error tolerance allowed. JPEG-LS can be used in still imaging and as well as video applications. It may be used to compress satellite, medical, document, pictorial and biometric images in a lossless or near lossless manner. It works well for cost sensitive and embedded applications that do not require any JPEG-2000 functionalities such as progressive bit-streams, error resilience, region of interest coding (ROI) etc. Main Differences [1, 3, 7, 16, 24, 25]: The main difference between the AIC, JPEG, JPEG2000, JPEG-LS and JPEG-XR codecs is at the transformation stage. JPEG2000 decorrelates image data via the global discrete wavelet transform (DWT) or the more general decomposition of wavelet packet while H.264 and HD Photo choose the block-based coding framework with the same 16x16 macro-block size and a core 4x4 block transform that is very similar to the discrete cosine transform (DCT). JPEG and AIC use discrete cosine transform (DCT) to de-correlate the image. The major difference between H.264s and HD Photos transformation stage is the way the two coders handle inter-block decorrelation. While H.264 relies heavily on adaptive spatial prediction of the current block from its neighbors, HD Photo employs an overlap operator which performs preprocessing of pixels along the block boundaries before feeding them into the core DCT-like 4x4 block transform. The main difference between JPEG and AIC transformation stage is the block based coefficients to which decorrelation is applied. The decorrelation is applied to all the coefficients in the original image in JPEG whereas in the AIC, it is applied to the residual block coefficients. Equivalently, the combination of the overlap operator and the core block transform generates a lapped transform. Similar to JPEG2000, the entire transform step of HD Photo is constructed with dyadic-rational lifting steps such that it maps integers to integers with perfect reversibility, allowing a unifying lossless to lossy coding framework. On the contrary, H.264 and AIC achieve lossless compression from residue coding. Another obvious difference is at the entropy coding stage where each coder tunes its context-based adaptive model to take advantage of the specific behavior of its transform coefficients and/or parameters. H.264/AVC employs intra prediction in spatial domain. AIC follows the same technique. This avoids propagating the error due to the motion compensation in inter-coded macro-blocks. On the other hand, all the previous video coding standards like H.263 and MPEG-4 visual use intra prediction in transform
24
Advanced Image Coding and its comparison with various codecs domain [10]. LOCO-I significantly outperforms other one-pass schemes (of comparable complexity (e.g. JPEG-Huffman), and it attains compression ratios similar or superior to those of higher complexity schemes based on arithmetic coding (e.g. JPEG-Arithmetic) [25]. The complexity of JPEG2000 is relatively high, compared with JPEG and JPEGLS. Evaluation Methodology: Image Test Sequences: In the evaluation using AIC, various color and gray scale images of same as well as different resolutions are considered to completely evaluate their performance. Test images that evaluate different textures and patterns of the image will be considered so that image can be analyzed in full detail and also have compatibility with different softwares in terms of file formats etc. Codec Settings: In the coding experiments, publicly available software implementations are used for AIC, H.264/AVC, JPEG-baseline, JPEG2000, HD photo and JPEG-LS. Reference software (JM 13.2) (latest is JM 14.1) [17] is used for H.264/AVC encoder, and each frame of the test sequences is coded in the Iframe mode. For JPEG, JPEG baseline reference software [18] is used. This software can handle image data in many formats like PGM/PPM, GIF, windows BMP. For JPEG 2000 coding, M.D. Adams JasPer (version 1.900.1) software [20] is used. This software can handle image data in many formats like PGM/PPM, windows BMP, but it does not accept all the BMP files. In JPEG 2000, it is used to code each frame to reach target rate specification in terms of compression factors, which is well defined for multi-component images. HD photo reference software [19] supports BMP, TIF and HDR formats. Both JPEG and HD photo reference softwares are used to code each frame to reach the target quality factor to indirectly control bit rate for lossy coding. JPEG-LS reference software [21] provided by HP labs is used for lossy compression using JPEG-LS. It supports only PGM/PPM image formats as input to the encoder and JLS format as output at the encoder. The configuration of the H.264/AVC JM13.2 encoder [15] is chosen as follows: ProfileIDC = 77 # Profile IDC (77=main, FREXT Profiles: 100=High) LevelIDC = 40 # Level IDC (e.g. 20 = level 2.0) IntraProfile = 1 # Activate Intra Profile for FRExt (0: false, 1: true) Deblocking filter: off QPISlice = 12 # Quant. param for I Slices (0-51) YUVFormat = 1 # YUV format (0=4:0:0, 1=4:2:0, 2=4:2:2, 3=4:4:4) The command line arguments for JM13.2 software are: Encoder: lencod f encoder.cfg Decoder: ldecod - i bitstream.264 - o output.yuv r reference (input).yuv The command line arguments for JPEG-baseline software [18] are as follows: Input image can be in bmp or ppm Encoder: Radhika Veerla, Graduate Student, UTA 25
Advanced Image Coding and its comparison with various codecs cjpeg quality N inputfile.bmp outputfile.jpg where quality factor N denotes the scale quantization tables to adjust image quality. Quality factor varies from 0 (worst) to 100 (best); default is 75. Decoder: djpeg outfile outputfilename.bmp outputfileformat inputfile.jpg The command line arguments for JPEG-2000 software [20] are as follows: Encoder: jasper --input inputfilename.bmp --output outputfilename.jp2 output-format jp2 O rate=0.01 (or) jasper f inputfilename.bmp F outputfilename.jp2 T jp2 O rate=0.01 where rate specify target rate as a positive real number. Rate=1 corresponds to no compression. Rate and bits per pixel are related by the expression: compression ratio=24/bpp= 1/rate for a color image and rate=bpp/8 for a gray scale image. For Microsoft HD Photo [19], all options are set to their default values with the only control coming from the quality factor setting: No tiling One-level of overlap in the transformation stage No color space sub-sampling Spatial bit-stream order All sub-bands are included without any skipping WMPEncApp command line converts certain uncompressed file formats into equivalent HD photo files. For example to create a HD photo file from a typical 24 bit .bmp using reasonably high quality lossy compression, the command line would be: Wmpencapp i input.bmp o output.wdp q 10 Increase in the quality factor q leads to lowering of PSNR resulting in lossy compression. q=0 is the case of lossless compression. WMPDecApp command line converts HD photo files to different uncompressed file formats. For example: wmpdecapp i input.wdp o output.bmp c 0 where c denotes format, c 0 for 24bppBGR, c-2 for 8bppGray For image comparison, the following command may be used. Imagecomp ImageFileName1 ImageFileName2 [-i InputFormat] [-M 0/1] where M (mode) = 0 (default) gives MSE and PSNR. The settings for JPEG-LS software[21] are as follows at the encoder. Decoder settings need not be changed from default as they follow the encoder settings. Images should be in ppm or pgm format. Line interleaved mode is considered in the project. Error value is varied from 1 to 60. Error value of zero corresponds to no compression.
26
Advanced Image Coding and its comparison with various codecs T1, T2, T3 are thresholds. While giving the settings the following condition need to be met. Error value+1<T1<T2<T3. Default RESET value of 64 is considered in the project Subjective vs. Objective Image Quality Measures Lossless and lossy compression use different methods to evaluate compression quality. Standard criteria like compression ratio, execution time, etc are used to evaluate the compression in lossless case, which is a simple task whereas in lossy compression, it is complex in the sense that it should evaluate both the type and amount of degradation induced in the reconstructed image [31] . The goal of image quality assessment is to accurately measure the difference between the original and reconstructed images. The result thus obtained is used to design optimal image codecs. The objective quality measure like PSNR, measures the difference between the individual image pixels of original and reconstructed images. JPEG encoder produces a larger MSE and PSNR. The SSIM [29] is designed to improve on traditional metrics like PSNR and MSE (which have proved to be inconsistent with human visual perception (HVS)). The SSIM metric gives the assumption that HVS is highly affected by structural information within the scene. The SSIM index is a full reference metric, in other words, the measure event of image quality is based on an initial uncompressed or distortion free image as reference. The SSIM measurement system is shown in Fig. 16. The SSIM metric is based on the evaluation of three different measures, the luminance, contrast, and structure comparison measures which are computed as [29]: 2 + C l (x, y ) = 2 x y 2 1 , x + y + C1 2 + C c(x, y ) = 2 x y 2 2 , x + y + C2 + C3 s (x, y ) = xy , x y + C3 where x and y correspond to two different signals that we would like to match, i.e. two 2 xy the mean of x , the variance different blocks in two separate images, x , x , and of x , and the covariance of x and y respectively, while C1, C2, and C3 are constants 2 2 given by C1 = ( K1L ) , C2 = ( K 2 L ) , and C3 = C2 / 2 . L is the dynamic range for the sample data, i.e. L=255 for 8 bit content and K1<<1 and K2<<1 are two scalar constants.
Given the above measures the structural similarity can be computed as SSIM ( x, y ) = [l ( x, y )] [ c( x, y )] [ s ( x, y )]
where
27
Fig.16: Structural similarity (SSIM) measurement system [38] The MS-SSIM metric, on the other hand, is an extension of the SSIM which computes these measures at various scales and combines them using an equation of the form:
MSSSIM ( x, y ) = [lM ( x, y )]
M
c j ( x, y )
j =1
] [s
j
( x, y )
where M corresponds to the maximum scale we have used for our computation, while j=1 corresponds the original resolution of the image. The SSIM metric works for YUV and RGB color spaces. Typical artifacts are: Blocking effect is due to block-based DCT coding schemes. So it can be observed in AIC and JPEG. HD-photo has reduced block boundary artifacts. Blurring effect results from wavelet based encoders. JPEG 2000 suffers from this kind of artifact due to its compression algorithms. Ringing- result of quantization. Occurs in both luminance and chrominance components Almost all codecs employ quantization. So it can be an important factor. Color bleeding- due to chroma sub-sampling. In AIC, color bleeding can be neglected as it does not employ sub-sampling. All other codecs have this artifact. Conclusions and Future work: The project implemented AIC encoder and decoder shown in Fig.1 and compared the results with the AIC reference software. It is found that M-AIC results are close to AIC. Thus a comparatively better result is obtained by reducing complexity without considering the CABAC for the entropy coding. These results are compared with those of Radhika Veerla, Graduate Student, UTA 28
Advanced Image Coding and its comparison with various codecs other compression techniques in terms of bit rates, objective measures (quality- PSNR, SSIM) using different softwares like JM software for H.264 [17], JPEG-baseline reference software [18], JasPer for JPEG2000 [20], HD-photo reference software [19] and JPEG-LS reference software [21]. It is observed from the results that AIC is competitive with other codecs which have considerably higher complexity. Based on SSIM measurement, AIC outperforms up to 5.5bpp and remains in competition even beyond that bpp range. Thus by its performance, it finds wide range of applications in digital camera market, internet browsing, multimedia products such as mobile phones and entertainment appliances. Different test images are used to evaluate varied textures and patterns of the image so that image compression technique can be studied in full detail. This project can also be extended to compare the lossless compression. The easier implementation of CABAC can be a future study.
References: [1] AIC website: http://www.bilsen.com/aic/ [2] T. Wiegand et.al, Overview of the H.264/AVC Video Coding Standard, IEEE Transactions on Circuits and Systems for Video Technology, vol. 13, pp.560-576, July 2003. [3] G. Sullivan, P. Topiwala and A. Luthra, The H.264/AVC Advanced Video Coding Standard: Overview and Introduction to the Fidelity Range Extensions, SPIE Conference on Applications of Digital Image Processing XXVII, vol. 5558, pp. 53-74, Aug. 2004.
29
Advanced Image Coding and its comparison with various codecs [4] I. Richardson, H.264 and MPEG-4 Video Compression: Video Coding for NextGeneration Multimedia, Hoboken, NJ; Wiley, 2003. [5] P. Topiwala, Comparative study of JPEG2000 and H.264/AVC FRExt I-frame coding on high definition video sequences, Proc. SPIE Intl Symposium, Digital Image Processing, San Diego, Aug. 2005. [6] P. Topiwala, T. Tran and W.Dai, Performance comparison of JPEG2000 and H.264/AVC high profile intra-frame coding on HD video sequences, Proc. SPIE Intl Symposium, Digital Image Processing, applications of digital image processing XXIX, vol. 6321, San Diego, Aug. 2006. [7] T. Tran, L.Liu and P. Topiwala, Performance comparison of leading image codecs: H.264/AVC intra, JPEG 2000, and Microsoft HD photo, Proc. SPIE Intl Symposium, Digital Image Processing, San Diego, Sept. 2007. [8] D. Marpe, T.Weigand and G. Sullivan, The H.264/MPEG4 advanced video coding standards and its applications, IEEE Communications Magazine, vol. 44, pp.134143, Aug. 2006. [9] A. Skodras, C. Christopoulus and T. Ebrahimi, The JPEG2000 still image compression standard, IEEE Signal Processing Magazine, vol. 18, pp. 36-58, Sept. 2001. [10] D.S. Taubman and M.W. Marcellin, JPEG 2000: Image compression fundamentals, standards and practice, Kluwer academic publishers, 2001. [11] W.B. Pennebaker and J.L. Mitchell, JPEG: Still image data compression standard, Kluwer academic publishers, 2003. [12] D. Marpe, V. George, and T.Weigand, Performance comparison of intra-only H.264/AVC HP and JPEG 2000 for a set of monochrome ISO/IEC test images, JVTM014, pp.18-22, Oct. 2004. [13] D. Marpe et.al, Performance evaluation of motion JPEG2000 in comparison with H.264 / operated in intra-coding mode, Proc. SPIE, vol. 5266, pp. 129-137, Feb. 2004. [14] Z. Xiong et.al, A comparative study of DCT- and wavelet-based image coding, IEEE Trans. on Circuits and Systems for Video Tech., vol.9, pp. 692-695, Aug. 1999. [15] G. K. Wallace, The JPEG still picture compression standard, Communication of the ACM, vol. 34, pp. 31-44, April 1991. [16] G. J. Sullivan, ISO/IEC 29199-2 (JpegDI part 2 JPEG XR image coding Specification), ISO/IEC JTC 1/SC 29/WG1 N 4492, Dec 2007 [17] H.264/AVC reference software (JM 13.2) Website: http://iphome.hhi.de/suehring/tml/download/ [18] JPEG reference software website: ftp://ftp.simtel.net/pub/simtelnet/msdos/graphics/jpegsr6.zip [19] Microsoft HD photo specification: http://www.microsoft.com/whdc/xps/wmphotoeula.mspx [20] JPEG2000 latest reference software (Jasper Version 1.900.0) Website: http://www.ece.ubc.ca/mdadams/jasper [21] JPEG-LS reference software website http://www.hpl.hp.com/loco/ [22] M.D. Adams, JasPer software reference manual (Version 1.900.0), ISO/IEC JTC 1/SC 29/WG 1 N 2415, Dec. 2007.
30
Advanced Image Coding and its comparison with various codecs [23] M.D. Adams and F. Kossentini, Jasper: A software-based JPEG-2000 codec implementation, in Proc. of IEEE Int. Conf. Image Processing, vol.2, pp 53-56, Vancouver, BC, Canada, Oct. 2000. [24] M. J. Weinberger, G. Seroussi, and G. Sapiro, LOCO-I: A low complexity, context-based, lossless image compression algorithm, Hewlett-Packard Laboratories, Palo Alto, CA. [25] M.J. Weinberger, G. Seroussi and G. Sapiro, The LOCO-I lossless image compression algorithm: principles and standardization into JPEG-LS, IEEE Trans. Image Processing, vol. 9, pp. 1309-1324, Aug.2000. [26] Ibid, LOCO-I A low complexity context-based, lossless image compression algorithm, Proc. 1996 DCC, pp.140-149, Snowbird, Utah, Mar. 1996. [27] K. Sayood, Introduction to Data Compression, Third Edition, Morgan Kaufmann Publishers, 2006. [28] M.Ghanbari, Standard Codecs: Image Compression to Advanced Video Coding. IEE, London, UK, 2003. [29] Z. Wang and A. C. Bovik, Modern image quality assessment, Morgan and Claypool Publishers, 2006. [30] Special Issue on JPEG-2000, Signal Processing: Image Communication, vol. 17, pp. 1-144, Jan 2002. [31] A. Stoica, C. Vertan, and C. Fernandez-Maloigne, Objective and subjective color image quality evaluation for JPEG 2000- compressed images, IEEE Intl Symposium on Signals, Circuits and Systems, vol. 1, pp. 137 140, July 2003. [32] J. J. Hwang and S. G. Cho, Proposal for objective distortion metrics for AIC
standardization, ISO/IEC JTC 1/SC 29/WG 1 N4548, Mar 2008.
[33] H. R. Wu and K. R. Rao, Digital video image quality and perceptual coding, Boca Raton, FL: Taylor and Francis, 2006. [34] I. H. Witten, R. M. Neal, and J. G. Cleary, Arithmetic coding for data compression, Communications of the ACM, vol. 30, pp. 520-540, June 1987. [35] Z. Zhang, R. Veerla and K. R. Rao, A modified advanced image coding, Proceedings of CANS 2008, Romania, Nov. 8-10, 2008. [36] X. Shang, Structural similarity based image quality assessment: pooling strategies and applications to image compression and digit recognition, M.S. Thesis, EE Department, The University of Texas at Arlington, Aug. 2006. [37] A. M. Eskicioglu and P. S. Fisher, Image quality measures and their performance, IEEE Signal Processing Letters, vol. 43, pp. 2959-2965, Dec. 1995. [38] Test images found in: http://www.hlevkin.com/default.html#testimages [39] Information collected for various topics included in the material: wwwee.uta.edu/dip [40] Y-L. Lee and K-H. Han, Complexity of the proposed lossless intra for 4:4:4, (ISO/IEC JTC1/SC29/WG11 and ITU-T SG 16 Q.6) document JVT-Q035, 17-21 Oct. 2005. [41] M. Ouaret F. Dufaux and T. Ebrahimi, On comparing JPEG 2000 and intraframe AVC Applications of digital image processing XXIX, vol.6312, Aug. 2006.
31
Advanced Image Coding and its comparison with various codecs [42] S-T. Hsiang, A new subband/wavelet framework for AVC/H.264 intraframe coding and performance comparison with motion-JPEG 2000, VCIP, Proc of SPIE-IS& T Electronic Imaging, SPIE vol. 6822, pp. 68220P-1 thru 68220P-12, Jan. 2008. [43] I. Richardson, H.264 Advanced Video Compression Standard, Hoboken, NJ: Wiley, 2010. Original and output decoded images : Lena (512x512x24)
Original
JPEG-LS Error value-11, JPEG2000 rate=0.12, H.264 quantization parameter-16, 2.8bpp, 32.425dB, SSIM- 0.818 2.95bpp, 37.53dB, SSIM-0.923 2.83bpp, 46.81dB, SSIM-0.917
32
JPEG
FIG: [Original 512512] [Reconstruted Lena,
MSE =17.9004 ] [SSIM maps] Mean SSIM=0.90267
JPEG 2000
FIG.4: [Original 512512] [Reconstruted Lena,
33
JPEG-LS
FIG.4: [Original 512512] [Reconstruted Lena,
MSE =38.1441 ] [SSIM maps] Mean SSIM=0.81879
H.264
FIG: [Original 512 512] [Reconstruted Lena,
MSE =15.9132 ] [SSIM maps] Mean SSIM=0.9173
34
0.9
0.8
SSIM
0.6
0.5
0.4
10
12
14
Quality vs Compression 70
60
50 PSNR dB
40
30
20
10
AIC AIC-Huffman AIC-Adapt-AC JPEG-Ref JPEG JPEG2000 H.264-Main H.264-High HDPhoto JPEG-LS 0 2 4 6 8 Bits Per Pixel 10 12 14
35
M-AIC Bit rate (bpp) 0.1525 3 0.1763 6 0.2196 7 0.2988 0.3613 0.4672 5 0.6549 4 1.0717 2.8346 5.4084 7.722 11.654 Compression Ratio (CR) 157.346096 136.08528 109.254791 80.3212851 66.4267921 51.364366 36.6445781 22.3943268 8.46680308 4.4375416 3.10800311 2.05937875
JPEG2000 Bit rate (bpp) 0.17 0.22 0.27 0.34 0.39 0.49 0.67 1.09 2.95 5.52 7.83 11.7 2 Compression Ratio (CR) 141.176471 109.090909 88.8888889 70.5882353 61.5384615 48.9795918 35.8208955 22.0183486 8.13559322 4.34782609 3.0651341 2.04778157
HD Photo Bit rate (bpp) 0.023621 0.033966 0.10373 0.26089 0.73004 2.6344 2.88 4.2151 7.6518 10.754 13.081 Compression Ratio (CR) 1016.045 706.58894 231.3699 91.992794 32.874911 9.1102338 8.3333333 5.6938151 3.1365169 2.2317277 1.8347221
H.264 Bit rate (bpp) 0.06 0.17 0.21 0.26 0.33 0.41 0.52 0.66 0.84 1.08 1.82 2.83 3.88 Compression Ratio (CR) 400 141.17647 114.28571 92.307692 72.727273 58.536585 46.153846 36.363636 28.571429 22.222222 13.186813 8.4805654 6.185567
JPEG-Baseline Bit rate (bpp) 0.1713 9 0.2192 1 0.2651 1 0.3387 8 0.3919 4 0.4945 1 0.6709 3 1.1064 2.938 6.2215 7.0051 Compression Ratio (CR) 140.031507 109.484056 90.5284599 70.8424346 61.2338623 48.5328911 35.7712429 21.691974 8.16882233 3.85759061 3.42607529
JPEG-LS Bit rate (bpp) 1.0155 1.3393 2.2652 2.641 2.8064 3.0009 3.8122 4.6875 6.1147 6.2256 9.3947 Compression Ratio (CR) 23.633678 17.9198089 10.5950909 9.08746687 8.55188141 7.99760072 6.29557736 5.12 3.9249677 3.85505012 2.55463187
PSNR
PSNR
PSNR
PSNR
PSNR
PSNR
26.91 28.25 29.15 30.16 30.86 31.63 32.6 34.01 36.61 39.21 41.39 44.11
28.74 29.48 30.24 31.04 31.46 32.1 33.02 34.19 37.53 40.55 43.6 50.72
13.04 20.04 26.62 30.28 33.51 37.38 37.74 39.67 45.3 50.47 54.17
26.24 31.3 32.31 33.27 34.38 35.33 36.37 37.48 38.53 39.73 42.73 46.81 50.81
18.92 24.29 26.64 28.49 29.34 30.51 31.7 33.1 35.6 37.38 37.49
22.17 24.56 30.13 6 31.79 7 32.42 5 33.12 35.67 38.14 42.09 42.1 49.93
Airplane (512x512x24)
Quality vs Compression 60 55 50 45 40 PSNR dB 35 30 25 20 15 10 AIC AIC-Huffman AIC-Adapt-AC JPEG-Ref JPEG JPEG2000 H.264 HDPhoto JPEG-LS
10
12
36
PSNR
Compression Ratio (CR) 209.973753 158.206987 124.287934 107.719928 86.0832138 64.7948164 54.5454545 43.3056658 32.3755565 21.6704289 10.5346326 6.05006428 4.09451506 2.4564492
PSNR
Compression Ratio (CR) 150 109.090909 92.3076923 77.4193548 58.5365854 52.173913 41.3793103 31.5789474 21.2389381 10.2564103 5.91133005 3.5982009
Bit rate (bpp) 0.023956 0.050842 0.12689 0.30249 0.73041 1.01 1.9229 2.9306 5.7585 8.7902 11.135
PSNR
Compression Ratio (CR) 1001.8367 472.05067 189.1402 79.341466 32.858258 23.762376 12.481148 8.1894493 4.167752 2.7303133 2.155366
PSNR
Compression Ratio (CR) 342.85714 200 120 70.588235 40.677966 23.762376 14.285714 8.8888889 5.9701493 4.1522491
Bit rate (bpp) 0.1560 7 0.1781 3 0.2196 7 0.2595 5 0.3125 9 0.41 0.4552 6 0.5822 1 0.7631 8 1.1266 2.3382 4.0624 6.671
PSNR
Compression Ratio (CR) 153.777151 134.73306 109.254791 92.4677326 76.777888 58.5365854 52.7171287 41.2222394 31.447365 21.3030357 10.2643059 5.90783773 3.59766152
Bit rate (bpp) 0.79056 1.007 1.3376 1.6153 2.1247 3.4128 4.6841 5.7483 7.429
PSNR
Compression Ratio (CR) 30.3582271 23.8331678 17.9425837 14.8579211 11.2957123 7.0323488 5.1237164 4.17514743 3.23058285
23.48 25.09 26.32 27.96 28.98 30.38 31.32 32.29 33.61 35.4 38.21 40.28 41.96 44.25
26.79 28.59 28.98 29.86 31.45 31.91 33 34.18 36.1 39.24 41.79 45.18
13.63 20.58 26.34 30.28 34.57 35.77 38.91 41.06 45.7 50.54 54.2
25.01 27.98 30.9 33.8 36.84 40.09 43.46 48.11 52.88 59.88
16.5 19.68 23.47 24.89 26.37 27.95 28.5 29.73 30.8 32.22 34.3 35.32 35.82
Peppers (512x512x24)
Quality vs Compression 70
60
50 PSNR dB
40
30
20
AIC AIC-Huffman AIC-Adapt-AC JPEG-Ref JPEG JPEG2000 H.264 HDPhoto JPEG-LS 0 5 Bits Per Pixel 10 15
10
37
Bit rate (bpp) 0.1213 4 0.1550 9 0.1962 3 0.224 0.2760 3 0.3684 1 0.4447 0.5672 6 0.8229 1 1.5903 4.2245 6.9234 9.193 13.128
PSNR
Compression Ratio (CR) 197.79133 154.748856 122.305458 107.142857 86.947071 65.1448115 53.9689678 42.3086415 29.1647932 15.0914922 5.6811457 3.4665049 2.61068204 1.82815356
PSNR
Compression Ratio (CR) 141.176471 114.285714 92.3076923 80 60 52.173913 41.3793103 28.2352941 13.9534884 4.94845361 3.16205534
Bit rate (bpp) 0.024567 0.039886 0.13266 0.214 0.32788 0.94431 1.9774 3.824 5.5888 8.9885 12.115 14.428
PSNR
Compression Ratio (CR) 976.92026 601.71489 180.91361 112.14953 73.197511 25.415383 12.13715 6.2761506 4.2943029 2.6700784 1.9810153 1.6634322
PSNR
Compression Ratio (CR) 266.66667 184.61538 114.28571 70.588235 39.344262 19.354839 10.480349 6.6298343 5.4298643 4.7808765 3.5242291
Bit rate (bpp) 0.1565 6 0.1741 3 0.2104 2 0.2624 8 0.2967 8 0.4001 5 0.4639 6 0.5849 6 0.8481 8 1.7238 4.8457 7.5877
PSNR
Compression Ratio (CR) 153.295861 137.828059 114.057599 91.4355379 80.867983 59.9775084 51.7285973 41.0284464 28.2958806 13.9227289 4.95284479 3.16301383
Bit rate (bpp) 0.63406 0.71481 0.77441 0.85931 0.95502 1.2293 1.7383 2.2233 3.1051 4.9356 6.3958 7.7596 9.7025
PSNR 19.02 5 19.9 20.66 8 21.63 22.65 6 25 28.16 5 30.24 33.1 38.24 42.12 7 45.12 8 49.89 6
Compression Ratio (CR) 37.8513074 33.5753557 30.9913353 27.9293852 25.1303638 19.5233059 13.8065926 10.7947645 7.72921967 4.86263068 3.75246255 3.09294294 2.47358928
23.21 24.88 25.93 27.3 28.18 29.14 29.8 30.5 31.42 32.83 36.09 39.12 41.44 44.25
26.87 27.35 28.24 28.95 29.83 30.45 31.08 32.13 33.65 37.59 41.22
12.66 19.74 25.66 27.58 29.22 32.09 33.79 36.38 39.19 45.31 50.51 54.24
26.27 28.91 31.3 33.44 35.4 38.26 42.55 48.06 51.02 53.08 60.33
13.87 17.97 22.31 24.61 25.41 27.04 27.7 28.45 29.4 30.8 32.46 32.8
38
Bit rate (bpp) 0.1491 1 0.2079 8 0.2771 9 0.3200 7 0.4155 9 0.5845 3 0.7355 7 1.0123 1.5753 2.8327 5.836 8.4369 10.61 14.704
PSNR
Compression Ratio (CR) 160.955 115.395711 86.5832101 74.9835973 57.749224 41.0586283 32.6277581 23.7083868 15.2351933 8.47248208 4.11240576 2.84464673 2.26201697 1.63220892
PSNR
Compression Ratio (CR) 150 100 75 70.5882353 55.8139535 39.3442623 31.5789474 23.0769231 14.6341463 7.97342193 3.79146919 2.82352941
Bit rate (bpp) 0.02417 0.039459 0.17169 0.3 0.48898 1.5885 4.9777 6.6033 9.9368 13.029 15.346
PSNR
Compression Ratio (CR) 992.96649 608.22626 139.78683 80 49.081762 15.108593 4.8215039 3.6345464 2.4152645 1.8420447 1.5639255
PSNR
Compression Ratio (CR) 266.66667 141.17647 80 44.444444 23.762376 12.631579 8 5.5944056 4.0747029
Bit rate (bpp) 0.1597 3 0.2382 2 0.3154 9 0.3392 9 0.4307 3 0.6079 1 0.7574 2 1.0437 1.6442 3.0138 6.334 8.5009
PSNR
Compression Ratio (CR) 150.253553 100.747208 76.0721417 70.7359486 55.7193602 39.4795282 31.6865147 22.9951135 14.5967644 7.9633685 3.78907483 2.82323048
Bit rate (bpp) 0.83322 0.92972 1.0504 1.177 1.3291 1.7169 2.3803 2.9586 3.9549 5.9442 7.6394 9.0952 11.027
PSNR 19.52 6 20.16 4 20.81 21.70 5 22.59 2 24.87 3 27.81 30.09 33.07 38.28 42.15 45.15 49.9
Compression Ratio (CR) 28.8039173 25.8142236 22.8484387 20.3908241 18.057332 13.9786825 10.0827627 8.11194484 6.06842145 4.03754921 3.14160798 2.63875451 2.17647592
21.83 22.92 23.88 25.11 25.94 26.97 27.66 28.5 29.69 31.68 35.82 39.06 41.37 44.13
23.34 24.83 25.6 25.76 26.35 27.58 28.25 29.22 30.5 32.44 37.77 41.2
12.99 18.68 23.9 25.64 27.15 30.53 36.31 39.35 45.34 50.46 54.17
14.96 21.15 23.3 23.75 24.9 26.19 26.84 27.66 28.71 29.96 31.37 31.49
Splash (512x512x24)
Quality vs Compression 70
60
50 PSNR dB
40
30
20
AIC AIC-Huffman AIC-Adapt-AC JPEG-Ref JPEG JPEG2000 H.264 HDPhoto JPEG-LS 0 2 4 6 Bits Per Pixel 8 10 12
10
39
Bit rate (bpp) 0.1025 4 0.1078 5 0.1449 3 0.1842 7 0.2721 9 0.3719 8 0.5983 1.6328 3.3429 5.3046 9.1562
PSNR
Compression Ratio (CR) 234.055003 222.531293 165.597185 130.243664 88.1737022 64.5195978 40.1136554 14.6986771 7.17939514 4.52437507 2.62117472
PSNR
Compression Ratio (CR) 160 126.315789 104.347826 80 61.5384615 38.7096774 13.6363636 6.62983425 3.8897893 2.62008734
Bit rate (bpp) 0.02359 0.030548 0.079132 0.17438 0.27927 0.5 0.75558 1.4252 2.474 3.7391 5.5261 8.5522 10.932
PSNR
Compression Ratio (CR) 339.13 261.88 101.1 45.877 28.646 16 10.588 5.6134 3.2337 2.1395 1.4477 0.93543 0.73183
PSNR
Compression Ratio (CR) 480 342.85714 240 109.09091 40 19.512195 10.526316 6.6298343 4.7808765
Bit rate (bpp) 0.1528 0.1665 3 0.1852 4 0.2312 6 0.2961 7 0.3934 9 0.6205 7 1.7577 3.6233 6.1726
PSNR
Compression Ratio (CR) 157.068063 144.118177 129.56165 103.779296 81.034541 60.9926555 38.6741222 13.6542072 6.62379599 3.88815086
Bit rate (bpp) 0.44095 0.46967 0.47461 0.61774 0.84161 1.0721 1.5586 2.8232 3.9319 4.8446 6.4945
PSNR 20.25 1 20.79 8 22.53 7 24.78 6 28.86 31.03 9 34.22 5 39 42.39 7 45.21 2 49.89 9
Compression Ratio (CR) 54.4279397 51.0997083 50.5678346 38.8512967 28.5167714 22.3859715 15.3984345 8.50099178 6.10391922 4.95396937 3.6954346
12.08 21.35 28.03 32.01 33.98 35.55 37.24 39.06 40.88 42.83 45.65 50.56 54.23
14.89 18.5 23.67 26.9 29.05 30.5 31.97 34.38 35.27 35.76
Couple (256x256x24)
Quality vs Compression 60 55 50 45 PSNR dB 40 35 30 25 20 15
AIC AIC-Huffman AIC-Adapt-AC JPEG-Ref JPEG JPEG2000 H.264-Main HDPhoto JPEG-LS 0 2 4 6 Bits Per Pixel 8 10 12
40
PSNR
PSNR
PSNR
PSNR
PSNR
PSNR 20.09 4 20.63 21.06 8 22.08 9 24.56 6 27.64 2 30.24 8 33.39 8 38.62 1 42.39 2 45.30 9 50.02 1
25.82 26.57 28.03 28.94 30.09 30.84 31.76 32.9 34.58 37.5 39.9 41.75 44.11
28.24 29.23 30.21 31.12 32.13 33.23 35.39 39.07 41.78 44.73
16.49 21.7 26.41 30.11 33.62 34.09 38.46 40.72 45.18 50.16 54.24
19.49 21.22 24.09 27.72 29.14 30.63 31.97 33.81 36.76 38.21 38.68
Cameraman (256x256x8)
Quality vs Compression 90 80 70 60 PSNR dB 50 40 30 20 10 AIC-Huffman JPEG-Ref JPEG2000 HDPhoto JPEG-LS
41
PSNR
PSNR
PSNR
PSNR
PSNR
24.19 25.69 27.09 28.19 29.71 30.74 32.05 33.84 36.44 40.75 43.93 46.48 49.98
26.15 27.73 28.73 30.4 31.33 32.97 35.16 38.81 43.15 45.97 48.87 54.66 57.86 60.93 81.52
15.08 19.97 25.73 30.18 35.14 35.82 41.45 44.15 49.24 53.83 59.83
16.91 23.39 25.4 27.49 28.76 30.15 31.74 34.15 38.8 43.06 45.6 58.53
45.5 42.46 38.73 33.46 30.33 4 27.68 24.07 21.68 20.92 20.66
Man (256x256x8)
Quality vs Compression 80
70
60
PSNR dB
50
40
30
20
10
0.5
1.5
3.5
42
Advanced Image Coding and its comparison with various codecs Simulation results for AIC, JPEG, JPEG2000, HD photo, H.264
M-AIC Bit rate (bpp) 0.09704 6 0.13342 0.16101 0.21375 0.25049 0.31982 0.45251 0.85022 1.332 1.8369 2.9894 Compression Ratio (CR) 82.435 59.96 49.686 37.428 31.938 25.014 17.679 9.4093 6.0059 4.3551 2.6761 JPEG2000 Bit rate (bpp ) 0.1 0.23 0.25 0.32 0.45 0.85 1.34 1.9 2.5 3 3.47 Compression Ratio (CR) 80 34.783 32 25 17.778 9.4118 5.9701 4.2105 3.2 2.6667 2.3055 HD Photo Bit rate (bpp) 0.044678 0.055298 0.10913 0.17114 0.20679 0.32117 0.38928 0.75366 1.0673 1.7921 2.7471 3.6007 Compression Ratio (CR) 179.06 144.67 73.306 46.745 38.687 24.909 20.551 10.615 7.4958 4.464 2.9122 2.2218 JPEG-Baseline Bit rate (bpp) 0.2265 6 0.2542 7 0.3160 4 0.4538 6 0.8530 3 1.3411 1.9014 3.4674 Compression Ratio (CR) 35.31 31.462 25.313 17.627 9.3784 5.9654 4.2075 2.3072 JPEG-LS Bit rate (bpp) 0.22131 0.24207 0.25549 0.31226 0.33435 0.3623 0.4585 0.54395 0.70203 0.9845 1.2136 1.4169 1.7649 Compression Ratio (CR) 36.148 33.049 31.312 25.62 23.927 22.081 17.448 14.707 11.396 8.126 6.5918 5.6462 4.5329
PSNR
PSNR
PSNR
PSNR
PSNR 19.37 3 19.88 20.27 5 21.51 23.51 24.64 27.79 30.22 5 33.43 38.77 42.59 8 45.45 50
28.03 31.59 33.25 34.9 36.01 37.47 39.42 42.89 45.5 47.49 50.28
29.26 35.71 36.05 37.66 39.21 43.15 45.66 48.76 51.29 58.02 71.41
15.76 22.77 29.53 32.66 34.04 37.6 38.87 43.48 45.86 49.99 54.05 59.7
Lena (32x32x24)
Quality vs Compression 60 55 50 45 40 PSNR dB 35 30 25 20 15 10 AIC-Huffman JPEG-Ref JPEG2000 H.264 HDPhoto JPEG-LS
20
25
43
PSNR
PSNR
PSNR
PSNR
PSNR 17.78 8 19.16 4 20.54 8 20.83 8 22.56 6 23.15 26.65 3 29.28 3 32.73 5 38.47 42.13 45.1 49.89
21.44 22.48 23.62 25.18 26.09 27.15 31.43 32.85 33.81 36.12 39.35 41.59 44.16
16.25 17.09 21.23 24.37 24.56 29.21 30.71 34.4 40.2 52.85
13.36 15.82 20.65 24.99 30.08 32.05 36.06 36.76 39.82 45.47 50.6 54.29
18.94 22.2 25.35 28.8 33.56 38.14 42.66 47.45 48.38 49.4 52.17 58.55
Lena (64x64x24)
44
12
14
16
18
PSNR
PSNR
PSNR
PSNR
PSNR
22.1 22.65 23.77 24.57 26.09 27.14 28.29 29.92 32.31 36.56 39.62 41.68 44.18
13.06 16.53 22.11 26.27 31.26 34.24 37.57 40.42 45.7 50.56 54.32
21.07 23.21 26.8 30.25 34.14 38.73 43.11 47.74 52.02 58.28
20.45 22.69 24.69 25.73 26.41 27.03 27.61 28.49 29.43 31.71
17.96 19.54 5 21.29 8 22.93 6 23.68 6 27.08 29.61 32.75 6 38.26 42.22 45.24 49.86 3
45
Advanced Image Coding and its comparison with various codecs Lena (128x128x24)
Quality vs Compression 60 55 50 45 40 PSNR dB 35 30 25 20 15 10 AIC-Huffman JPEG-Ref JPEG2000 H.264 HDPhoto JPEG-LS
10
12
14
PSNR
PSNR
PSNR
PSNR
PSNR 18.10 5 20.04 21.63 22.75 3 23.99 27.35 29.07 33.05 7 38.41 4 42.19 5 45.2 49.92 6
24.27 26.08 26.27 27.65 28.59 30.99 31.3 33.65 37.42 40.13 41.97 44.26
15.09 20.24 23.29 25.21 25.99 29.27 32.52 35.38 38.4 41.18 44.54 49.95
12.92 17.78 23.6 27.8 30.65 32.49 35.39 38.32 40.94 45.88 50.51 54.18
22.59 25.3 28.26 31.51 35.32 39.53 43.46 47.76 52.4 58.52
21.69 24.47 25.64 26.46 27.7 28.41 28.96 29.58 30.33 31.42
46
Advanced Image Coding and its comparison with various codecs Lena (256x256x24)
Quality vs Compression 80
70
60
PSNR dB
50
40
30
20
10
10
12
14
PSNR
PSNR
PSNR
PSNR
PSNR 18.20 6 19.45 5 20.04 1 20.58 3 21.90 6 22.98 8 24.31 4 27.64 5 29.92 4 33.27 6 38.56 8 42.32 4 45.23 3 49.89 5
26.11 26.92 27.85 29.2 30.09 31.12 32.45 34.45 37.6 39.89 41.8 44.25
12.96 19.04 23.2 25.22 29.3 33.69 38.49 40.68 45.54 50.48 54.19
24.45 26.92 29.87 32.81 36.2 39.94 43.4 47.76 52.63 59.32 76.17
23.15 26 27.46 28.33 29 29.52 30.3 30.94 31.5 32.21 33.25 35.1
47
Test Images
M-AIC
JPEG2000 Bit rate (bpp) 1.13 2.95 1.72 0.32 3.62 0.71 6.69 3.64 1.18 0.46 0.94 0.32
HD Photo
H.26 4 Compressio n Ratio (CR) Bit rate (bpp) 1.01 2.83 1.24 0.3 3.62 0.57 6.69 3.64 1.18 0.46 Compressio n Ratio (CR)
JPEG-Baseline
JPEG-LS
PSNR
PSNR
PSNR
PSNR
PSNR
PSNR
Airplane (512x512x24) Lena (512x512x24) Peppers (512x512x24) Sailboat on Lake (512x512x24) Splash (512x512x24) Couple (256x256x24) Lena (32x32x24) Lena (64x64x24) Lena (128x128x24) Lena (256x256x24) Cameraman (256x256x8) Man (256x256x8)
1.1075 2.8346 1.5903 0.3200 7 3.3429 0.7077 6 6.68 3.59 1.08 0.44 0.9440 9 0.3198 2
35.4 36.61 32.83 25.11 40.4 32.9 32.85 32.31 30.99 29.2 33.84 37.47
21.670429 8.4668031 15.091492 74.983597 7.1793951 33.9098 3.5928144 6.6852368 22.222222 54.545455 8.4738 25.014
36.1 37.53 33.65 25.6 41.3 33.23 29.21 31.99 29.27 28.98 35.16 37.66
21.238938 8.1355932 13.953488 75 6.6298343 33.802817 3.5874439 6.5934066 20.338983 52.173913 8.5106 25
1.01 2.88 1.9774 0.3 3.7391 0.70605 7.1 3.6328 1.2 0.44263 0.939 0.32117
35.77 37.74 33.79 25.64 42.83 33.62 36.06 34.24 30.65 29.3 35.14 37.6
23.762376 8.3333333 12.13715 80 2.1395 33.991927 3.3802817 6.6064743 20 54.221359 8.5156 24.909
40.09 46.81 38.26 28.7 52.96 36.95 47.45 43.11 35.32 32.81
1.1266 2.938 1.7238 0.3154 9 3.6233 0.7070 3 6.66 3.92 1.22 0.45 0.9421 4 0.3160 4
32.22 35.6 30.8 23.3 35.27 31.97 24.76 29.43 27.7 26 31.74 31.55
21.303036 8.1688223 13.922729 76.072142 6.623796 33.944811 3.6036036 6.122449 19.672131 53.333333 8.4913 25.313
1.007 2.8064 1.7383 0.83322 3.9319 0.76807 6.3438 3.8184 1.3438 1.0103 0.91016 0.31226
24.76 32.42 5 28.16 5 19.52 6 42.39 7 21.06 8 32.73 5 27.08 18.10 5 18.20 6 30.33 4 21.51
23.833168 8.5518814 13.806593 28.803917 6.1039192 31.247152 3.7832214 6.2853551 17.859801 23.75532 8.7897 25.62
48