Design Techniques and Challenges
Introduction
In January 2001, JPEG 2000 was introduced by ISO/IEC JTC1/SC20/WG1 as a new image compression standard [1]. This new standard supports a rich set of features that are not available in other JPEG standards, such as excellent low bit-rate performance, both lossy and lossless encoding in one algorithm, random code- stream access, precise single-pass rate control, region-of-interest coding, and improved error resiliency. All the above features intend to meet the continual expansion of multimedia and Internet applications, from consumer applications (e.g., digital cameras and PDA) to client/server communication, including both wired and wireless. More specially, to achieve the efficient transmission of JPEG 2000 imagery over an error-prone wireless network, JPEG 2000 wireless (JPWL), i.e., Part 11 of JPEG 2000 standard, extends the elements in the core coding system described in Part 1 of JPEG 2000 standard with mechanisms for error protection and correction. Besides the support of still images, the support of motion sequences is described in Motion JPEG 2000 (Part 3 of the JPEG 2000 standard) [2]. Motion JPEG 2000 preserves the best image quality after compression for use in high-quality images systems like medical imaging systems, HDTV cameras, or digital cinema cameras. The block diagram of JPEG 2000 is shown in Figure 81.1. The original image data are divided into nonoverlapping rectangular tiles. Then either (5,3) discrete wavelet transform (DWT) supporting lossless compression or (9,7) DWT supporting lossy compression is performed on the tiles by filtering each row and column of the image tiles with a high-pass and low-pass filter. Filtering the image in the DWT phase creates a set of DWT subbands (LL, HL, LH, and HH). If lossy compression is chosen, the wavelet coefficients in DWT subbands are scalar-quantized. Each wavelet subband is divided into code blocks. Then the wavelet coefficients in code blocks are entropy coded by using EBCOT tier-1 algorithm. Finally, data ordering and rate control organize the compressed data into a feature-rich codestream, i.e., the compressed image.
EBCOT tier-1, the entropy encoder of JPEG 2000 standard, is complicated, full of bit operations, and cannot be implemented efficiently in software. To evaluate performance of EBCOT tier-1, profiling techniques are used to evaluate software implementation of JPEG 2000 standard. The run-time profile for JPEG 2000 encoder VM 7.2 is shown in Table 81.1 [3]. The results show that the EBCOT tier-1 algorithm is a huge time-consuming part (typically more than 50%) [3,4].
Image size 1792 X 1200, five-level wavelet decomposition, one layer, profiling platform is a PIII-733 PC with 128 MRAM, Microsoft Visual C++ 6.0 and Windows ME.
real-time application, reducing power consumption has become more and more important in system design. With technology scaling, power density dramatically increases, leading to higher temperature that reduces noise immunity and system reliability. For example, hot-spots may malfunction, even destroy devices. Also, battery capacity is far behind the speed of digital circuit integration. With limited battery capacity, higher power consumption shortens battery life when battery life is expected to be as long as possible for portable system. Considering that specific hardware design is usually power- efficient, bit-based operations are more suitable for hardware implementation, EBCOT tier-1 hardware implementation could be a possible solution for all the bottleneck mentioned above.
In contrast, optimizing the individual components only may lead the overall encoding system to suffer from performance degradation [6,7], because different components have different I/O bandwidths and buffers. Memory issues in JPEG 2000 system illustrate this. In general, the larger the tile size parameter to perform JPEG 2000 compression, the higher is the compression ratio. But more memory is required. The tile memory occupies more than 50% of area in conventional JPEG 2000 architecture [8]. These bottlenecks are mainly caused by the different coding flow between the DWT and EBCOT tier-1 processes since the DWT process requires an entire time memory to carry out the subband transformation [9] and EBCOT tier-1 divides each subband into several code blocks and performs entropy coding. So EBCOT tier-1 hardware design should be considered under the context of the entire JPEG 2000 system.
EBCOT tier-1 hardware architectures can be divided into two categories: parallel bit-plane coding scheme (ParaBCS), where all bit-planes in a code block are coded in parallel, and serial bit-plane coding scheme (SeriBCS), where all bit-planes in a code-block are coded bit-plane by bit-plane. ParaBCS has more parallelism and does not need state memories required by SeriBCS. In either ParaBCS or SeriBCS, the architecture comprises of Bit-plane Coding (BC), Arithmetic Encoding (AE), and first-in, first-out (FIFO) buffer that connects BC with AE and balances the different throughputs between them. To clearly understand these VLSI architectures, several design techniques for BC, FIFO, and AE will be discussed. Then, two case studies are presented: one case study is based on SeriBCS and the other on ParaBCS.
This chapter is organized as follows. Section 81.2 describes EBCOT tier-1 algorithm in detail. Section 81.3 compares SeriBCS and ParaBCS and presents various VLSI architectures for EBCOT in JPEG 2000. Design techniques used by these architectures are discussed in Section 81.4. Two case studies are introduced in Section 81.5 and Section 81.6. Finally, Section 81.7 concludes this chapter.
Comments
Post a Comment