Zhou Xu Xiaojun Weipu
(Xi An 7 10049, Institute of Artificial Intelligence and Robotics, Xi Jiao Tong University)
Abstract: JPEG2000 is a new still image compression standard to adapt to the development of image compression applications. This paper expounds the implementation process of JPEG2000 image coding system, describes the basic algorithms and key technologies adopted in it, introduces the characteristics and application occasions of this new standard, and analyzes its performance. ?
Keywords: JPEG2000 image compression; Discrete wavelet transform; Rate control; Region of interest
1 Introduction?
With the rapid growth of multimedia application and the continuous development of network, the traditional JPEG compression technology can no longer meet people's requirements for digital multimedia image data. A more powerful and efficient still image compression standard has been put on the agenda, which is JPEG2000. ?
JPEG (Joint Photographic Experts Group) is a committee that formulates still image compression standards under the leadership of the International Organization for Standardization (ISO), and the first set of international still image compression standards ISO10918-1(JPEG) was formulated by this committee. Because of its excellent quality, JPEG has achieved great success in just a few years, and has been widely used in Internet, digital cameras and other fields. 80% of the pictures on the website adopt JPEG compression standard. However, the current JPEG still image compression standard has good rate distortion characteristics at medium and high bit rates, but in the low bit rate range, there will be obvious blocking effect and its quality will become unacceptable. JPEG can't provide lossy and lossless compression of a single bit stream, and can't support image compression larger than 64× 64 K. At the same time, although the current JPEG standard has a restart interval, the image quality will be seriously damaged when encountering error code. ?
In order to solve these problems, the JPEG Image Compression Standards Committee began to formulate a new generation of image compression standards from March 1997 to solve the above problems. At the Tokyo conference in March, 2000, the coding algorithm of JPEG2000 image compression standard, a new generation of color still image coding method, was determined. ?
JPEG2000 system is divided into the following seven parts:?
①JPEG2000 image coding system; ?
② Expansion (adding more features and perfection to the core definition of ①); ?
③motion JPEG 2000; ; ?
④ Consistency; ?
⑤ Reference software (including Java and C implementation at present); ?
⑥ Composite image file format (for file scanning and fax applications); ?
⑦ ① Minimum support for technical reports. ?
① As a fully recognized ISO standard, the core compression technology and minimum file format are defined; ② ~ ⑥ Definition of compression and file format expansion. Among them, ① has been formulated, and the rest are still in the process of formulation. The JPEG2000 standard discussed in this paper is based on the 1 part.
What are the characteristics of 2 JPEG2000 system?
JPEG2000 makes up for the shortcomings of the current JPEG standard with its unique advantages. In the discrete wavelet transform algorithm, the image can be transformed into a series of subbands, which can store pixel modules more effectively. Therefore, the compression ratio of JPEG2000 format images can be increased by 10% ~ 30% on the basis of current JPEG, and the compressed images appear more delicate and smooth. In other words, watching JPEG2000 compressed images on the Internet not only makes the download speed nearly 30% faster than that of JPEG format, but also makes the quality better. For the current JPEG standard, it is impossible to provide both lossy and lossless compression in the same compressed code stream, but in JPEG2000 system, images can be compressed both lossy and lossless by selecting parameters, which can meet the processing needs of medical images and image libraries with high requirements for image quality. At present, JPEG images on the network are transmitted in blocks, so they can only be displayed line by line. Images in JPEG2000 format support progressive transmission, which allows images to be reconstructed according to the required resolution or pixel accuracy. Users can control image transmission as needed, and stop decoding without receiving the compressed code stream of the whole image after obtaining the required image resolution or quality requirements. Because JPEG2000 adopts wavelet technology and makes use of its local resolution characteristics, it can randomly obtain the compressed code stream of some image regions of interest (ROI) without decompression, and transmit and filter the compressed image data. ?
3 JPEG2000 image coding and decoding system?
This section mainly introduces JPEG2000 image coding and decoding system. The block diagram of its encoder and decoder is shown in figure 1. ?
In the encoder, the source image is preprocessed first, and the wavelet coefficients are obtained by discrete wavelet transform. Then the wavelet coefficients are quantized and entropy coded, and finally a standard output code stream (bit stream) is formed. Decoder is the reverse process of encoder. Firstly, the code stream is unpacked and entropy decoded, then inverse quantization and inverse discrete wavelet transform are performed, and the results of inverse transform are post-processed and synthesized to obtain reconstructed image data. Although the encoding and decoding process of JPEG2000 is similar to JPEG, there are great differences between them in the concrete implementation of each step. The general steps of the coding process are as follows:
(1) decomposes an image composed of multiple color components into an image with a single color component. There is a certain correlation between components. By decomposing the correlation component transformation, the redundancy between data can be reduced and the compression efficiency can be improved. ?
(2) The component images are decomposed into rectangular image blocks with the same size. Image slicing is the basic unit of transformation and coding and decoding; ?
(3) carrying out wavelet transform on each image slice. Generate multi-level coefficient images. These different series of coefficient images can reconstruct images with different resolutions; ?
(4) The result of multilevel decomposition is multiple subbands composed of wavelet coefficients. They represent the frequency characteristics of local areas (not the whole image) in the image; ?
(5) quantizing the coefficient subbands and forming a "code block" of a rectangular array; ?
(6) entropy coding the coefficient bit plane in a code block (that is, those bits with the same weight in the whole coefficient in a code block); ?
(7) Compared with the background area of the image, the region of interest can be encoded with higher quality; ?
(8) adding a mask to the bit stream to increase anti-interference; ?
(9) There is a header structure in front of each code stream, which describes the attributes, decomposition and coding style of the source image. This head structure can be used to locate, extract, decode and reconstruct images, and the obtained images can have desired resolution, reproduction accuracy, region of interest or other characteristics. ?
The coding process is mainly divided into the following processes: preprocessing, core processing and bit stream organization. The preprocessing part includes image segmentation, direct current level (DC) displacement and component transformation. The core processing part includes discrete wavelet transform, quantization and entropy coding. The bit stream organization includes region division, code block, layer and packet organization. ?
3. 1 pretreatment?
(1) image segmentation?
Segmentation refers to dividing the source image into non-overlapping rectangular blocks-image slices, and each image slice is compressed and encoded as an independent image. All operations in coding are aimed at image slicing. Image slicing is the basic unit of transformation and coding and decoding. Image segmentation reduces the demand for storage space, and because they are independently reconstructed, they can be used to decode a specific area of an image instead of the whole image. Of course, image segmentation will affect the image quality. Smaller images will produce more distortion than larger images. When the image is represented at a low bit rate, image fragmentation will lead to more serious image distortion.
(2)DC horizontal transfer?
Before each image slice is subjected to forward discrete wavelet transform, DC horizontal shift is needed. The purpose is to correctly recover the reconstructed unsigned sample values from the signed values during decoding. DC level shift is performed on pixels of an image slice only with unsigned numbers. Level shift will not affect the image quality. At the decoding end, after the inverse transform of discrete wavelet, the reconstructed image is shifted on the inverse DC level. ?
(3) Component conversion?
JPEG2000 supports multi-component images. Different components do not need to have the same bit depth, nor do they all need to be unsigned or signed. For a recoverable (lossless) system, the only requirement is that the bit depth of each output component image must be consistent with that of the corresponding input component image. ?
3.2 core processing?
(1) wavelet transform?
Different from the traditional DCT transform, wavelet transform has the characteristics of multi-resolution analysis of signals and reflection of local characteristics of signals. The wavelet coefficient image is obtained by discrete wavelet transform on the image slice, and the number of decomposition layers depends on the specific situation. The wavelet coefficient image is composed of several sub-band coefficient images. These sub-band coefficient images describe the spatial frequency characteristics of image slices in horizontal and vertical directions. The wavelet coefficients of different subbands reflect the characteristics of different spatial resolutions of image slices. Through multi-level wavelet decomposition, wavelet coefficients can represent both high-frequency information (such as image edges) and low-frequency information (such as image background) in image slices. In this way, even in the case of low-order rule, more image details (such as edges) can be preserved. In addition, the resolution of the image represented by the coefficients obtained by the next level decomposition is only half that of the image represented by the wavelet coefficients of the previous level. Therefore, by decoding different series of coefficient images, images with different spatial resolutions (either clear or blurred) can be obtained. ?
Wavelet transform is adopted by JPEG2000 standard because of its advantages. In the coding system, Mallat tower wavelet decomposition is performed for each image slice. After a lot of tests, JPEG2000 chose two kinds of wavelet filters: LeGall 5/3 filter and Daubechies 9/7 filter. The former can be used for lossy or lossless image compression, while the latter can only be used for lossy compression. ?
In JPEG2000 standard, there are two ways to realize wavelet filter: convolution-based and lifting-based. In the concrete implementation, the image edge should be periodically and symmetrically expanded, which can prevent the filter from distorting the image edge. In addition, in order to reduce the space cost required by the transformation, the line-based wavelet transform technology is also applied in the standard. ?
(2) quantification?
Because the human visual system has certain limitations on the resolution of the image, reducing the accuracy of the transform coefficients through appropriate quantization can achieve the purpose of image compression without affecting the subjective quality of the image. The key of quantization is to design a reasonable quantization step according to the characteristics of transformed images and the quality requirements of reconstructed images. Quantization operation is lossy and will produce quantization error. Except for one case, that is, the quantization step is 1, the wavelet coefficients are all integers. The results of wavelet transform using recoverable integer 5/3 beat wavelet filter are consistent with this situation. ?
In JPEG2000 standard, each subband can have different quantization step size. But there is only one quantization step in a sub-band. After quantization, each wavelet coefficient has two parts: symbol and amplitude. The quantized wavelet coefficients are encoded. For lossless compression, the quantization step must be 1. ?
(3) Entropy coding?
After the image is transformed and quantized, the redundancy in spatial domain and frequency domain is reduced to some extent, but these data still have a certain statistical correlation, so entropy coding is used to eliminate the statistical correlation between the data. The quantized subband coefficients are divided into small rectangular units-code blocks.
As shown in Figure 2, a two-layer coding strategy is adopted. Firstly, the context-based arithmetic encoder is used to encode each code block independently, and the embedded compressed bit stream of this code block is obtained. Then, according to the principle of rate-distortion optimization and the idea of PCRD (Post Compression Rate Distortion) optimization algorithm, the compressed bit streams of all code blocks are appropriately intercepted and organized into compressed bit stream layers with different quality levels. The compressed bit stream on each layer is the same as that of all the previous layers, and a certain quality image can be reconstructed. When the compressed bit stream is organized hierarchically, the contribution information of each code block on each layer must be encoded, that is, the truncation point information of the code block bit stream of that layer should be encoded. Because the image adopts wavelet transform, the whole image compressed code stream is scalable in resolution, so the compressed code stream is scalable in quality and resolution. Because the code block is coded independently, the compressed bit stream corresponding to the code block can be randomly obtained and decoded as needed to reconstruct the required image area.
① The first layer coding algorithm?
Different from the traditional arithmetic entropy coding for each coefficient in turn, JPEG2000 coding system organizes the quantized coefficients in the code block into several bit planes, and performs arithmetic coding on the wavelet coefficients in each bit plane in turn from the most significant bit plane (MSB). ?
The first layer coding can be regarded as two parts: context generation (CF) and arithmetic encoder (AE). In the context generation, all bits in the code block are scanned in a certain order. On each bit plane of the code block, starting from the coefficient in the upper left corner, scanning from left to right and from top to bottom, and generating a context for each bit. The arithmetic encoder encodes each bit according to the generated context.
After quantization, wavelet coefficients are converted into symbol amplitude patterns. When coding from MSB to LSB, when the first bit of 1 is encountered, it is said that this pixel is significant, otherwise it is not significant. The context of all bits is generated by their neighborhood in the following four ways:?
Zero coding (ZC) is used to code whether pixels that are not important in the current bit plane will become important. ?
Run-length coding (RLC) is used to code four unimportant pixels in the same column if all their neighbors are unimportant; ?
Symbol encoding, SC) encoding a symbol bit when it becomes valid;
Amplitude refinement (MR) is used to encode significant bits. ?
Each bit plane is encoded in three encoding channels. Channel 1 is an importance propagation channel with at least one pixel in its importance neighborhood. ZC and SC are used for coding in this channel. Channel 2 is an amplitude adjustment channel, in which all important bits are encoded and MR is used. The third channel is the cleaning channel. Using ZC, LRC and SC, all pixels that were not encoded in the last two channels are encoded in this channel. Each bit in the bit plane is examined in 3 channels to determine whether it should be encoded.
The context and corresponding data obtained by the encoding channel are sent to the arithmetic encoder for encoding. Adaptive binary arithmetic coding [1] is adopted here, mainly considering the complexity of calculation and the convenience of implementation. After arithmetic coding, an independent embedded code block compressed bitstream is obtained for each code block. ?
② The second layer coding algorithm?
In the second layer coding algorithm, the idea of PCRD rate-distortion optimization algorithm [1, 2] is adopted, and all the compressed bitstreams embedded in code blocks are appropriately intercepted and hierarchically organized to form a compressed bitstream with scalable image quality. The second layer coding algorithm can also be regarded as two parts: rate control and layered organization compression code stream. Rate control refers to obtaining the best reconstructed image quality at a given compression rate through certain coding and decoding measures. Hierarchical organization compressed bit stream estimates the rate distortion threshold of each layer according to the number of layers and the coding rate of each layer specified by the coding parameters, then finds the truncation point of each code block embedded compressed bit stream in this layer according to the estimated rate distortion threshold of each layer and the code block rate distortion algorithm, and packages and stores the truncated code block compressed bit stream according to the specified format to form an image compressed bit stream. The code stream is organized in layers, and each layer contains certain quality information, which improves the image quality on the basis of the previous layer. In this way, users can control image transmission according to their own needs and stop transmission after obtaining satisfactory image effects, thus alleviating the bottleneck problem caused by limited network bandwidth and large image data to some extent.
3.3 bit stream organization?
In order to adapt to the image exchange and better apply the function of JPEG2000 to compress the bit stream, JPEG2000 standard stipulates the format of storing the compressed bit stream and the parameters needed for decoding, and organizes the compressed bit stream into packets to form the final bit stream.
Key technologies in 4 JPEG2000?
In this section, the key technologies used in JPEG2000 are explained. ?
4. 1 discrete wavelet transform?
The biggest difference between JPEG2000 and traditional JPEG is that it abandons the block coding method based on discrete cosine transform (DCT) and adopts the multi-resolution coding method based on wavelet transform (DWT). ?
Cosine transform is a classical spectral analysis tool, which examines the frequency domain characteristics of the whole time domain process or the time domain characteristics of the whole frequency domain process, so it has a good effect on stationary processes, but it has many shortcomings for non-stationary processes. In JPEG, the discrete cosine transform compresses the image into 8×8 small pieces, and then puts them into the file in turn. This algorithm realizes compression by discarding frequency information, so the higher the compression rate of the image, the more frequency information is discarded. In extreme cases, JPEG images only retain the basic information reflecting the appearance of the image, and all the fine image details are lost. Wavelet transform is a modern spectral analysis tool, which can not only examine the frequency characteristics of local time-domain processes, but also examine the time-domain characteristics of local frequency-domain processes, so it is also handy for dealing with non-stationary processes. He can transform the image into a series of wavelet coefficients, which can be effectively compressed and stored. In addition, the rough edge of wavelet can better represent the image, because it eliminates the blocking effect that is common in DCT compression.
4.2 rate control algorithm?
JPEG2000 uses the rate control method to calculate the ideal cut-off point of the code stream, so as to obtain the best reconstructed image quality under a given compression ratio. Rate control uses PCRD rate distortion optimization algorithm. Rate-distortion optimization, that is, given the maximum coding rate of the whole compressed bit stream, finds out the appropriate truncation point of the compressed bit stream of each code block, and minimizes the distortion of the reconstructed image under satisfying conditions. Therefore, embedded code block coding has the following characteristics: the generated compressed bit stream can be truncated into bit stream subsets with different lengths as needed; By organizing the truncated bit streams of all code blocks, a certain quality image can be reconstructed. ?
4.3 Progressive transmission characteristics?
At present, JPEG images on the network are downloaded in blocks and can only be displayed line by line, while JPEG2000 images support progressive transmission. There are two kinds of progressive transmission in JPEG2000, progressive transmission according to resolution and progressive transmission according to quality. Progressive transmission by quality means that the image contour data is transmitted first, and then the detailed data is transmitted step by step to continuously improve the image quality, while progressive transmission by resolution means that the image with lower resolution is transmitted first, and the latter image will improve its resolution on the basis of the previous image. The gradual transmission of images makes it unnecessary for users to wait until all the images are downloaded before deciding whether they need them, which is helpful to browse and select a large number of images quickly, thus effectively solving the bottleneck problem of network transmission. ?
4.4 Region of Interest Compression?
One of the most important advantages of JPEG2000 is ROI (Region of Interest). Users can arbitrarily specify the areas of interest in the picture, and then specify the compression quality of these areas when compressing, or specify the decompression requirements of some areas when restoring. This is because wavelet is localized in space and frequency domain. To completely restore a part of an image, it is not necessary to keep all the codes accurately, as long as some corresponding codes are error-free. In practical application, we can use low compression ratio for the interested part of the image to get better image effect, and use high compression ratio for other parts to save storage space. This can effectively reduce the amount of data without losing important information and realize real "interactive" compression. ?
Application of 5 JPEG2000 standard?
With the development of science and technology, the network has penetrated into everyone's life. However, due to the limitation of network bandwidth, the transmission delay of high-quality images on the network is very large because of the large amount of data. Therefore, it is very necessary for users who use PC, notebook, PDA or PDA to access the Internet through modem and let them choose the appropriate image resolution for browsing and transmission. ?
In military reconnaissance and weather forecast, images obtained by satellite remote sensing must be transmitted through long-distance wireless channels, and transmission errors are inevitable. The unique code stream organization form of JPEG2000 encoder is that the output code stream has the ability to effectively suppress error codes. In this way, after the code stream is sent back to the ground receiving station through the wireless satellite communication channel, the ground receiving station can use the internal code stream organization form of JPEG2000 to avoid erroneous decoding caused by transmission errors. ?
In addition, JPEG2000 is widely used in security confirmation, identity authentication and medical field. It can be predicted that in the near future, JPEG2000 will be widely used in the following fields: Internet, mobile and portable equipment, printing, scanning (publication preview), digital camera, remote sensing, fax (including color fax and network fax), medical application, digital library and e-commerce.
6 conclusion?
JPEG2000 aims to create a new image coding system. The rate distortion and subjective image quality of the compression coding system are superior to the existing JPEG standards, which can provide low bit rate compression of images and flexibly handle compressed code streams, such as randomly obtaining partial compressed code streams, gradually transmitting images, realizing regions of interest, and having strong fault tolerance of compressed code streams. This standard will be compatible with the existing JPEG standard. With its excellent performance, JPEG2000 image compression standard will be widely used in digital cameras, remote sensing, fax, medical care and e-commerce, and become the mainstream still image compression standard in 2 1 century.
refer to
[1] JPEG 2000 Image Coding ystem.JPEG 2000 Final Committee Draft Version1.0,2000, 16(3)?
[2] Taubman D. High performance scalable image compression using EBCOT. IEEE Trans? Image processing,1994,3 (9): 572 ~ 578?
[3] Zhang Xiao-dao et al. A new generation of still image compression standard JPEG2000. Telecommunication Science, 200 1(5)?
Li Dongmei. The developing still image compression standard JPEG2000. Television technology, 200 1(6)?
[5] Wang Ruixuan. VLSI Design and Simulation of JPEG2000 and 2002 2D Wavelet Transform
Wisher_lxy | has been visited 1 19 times 0 comments | Quote (0) | Join Cai Bo Center.
Latest publications
Say goodbye to Cambridge again
The most important thing in life is to be positive!
Have nothing to say
Four xml Parsers and Their Performance Comparison (Reprint)
Overview of JPEG2000 [turn]
Why are people always so complicated?
Never know giving up is a kind of beauty!
I want to be free alone!
I want to be free alone!
Life is so easy.
Latest reply
Hehe, complexity is complicated.
Powered by BlogChina.com.