没有合适的资源?快使用搜索试试~ 我知道了~
The JPEG-2000 Still Image Compression Standard
3星 · 超过75%的资源 需积分: 10 49 下载量 166 浏览量
2008-03-21
15:51:33
上传
评论 1
收藏 256KB PDF 举报
温馨提示
试读
16页
The JPEG-2000 Still Image Compression Standard.
资源推荐
资源详情
资源评论
ISO/IEC JTC 1/SC 29/WG 1 N 2412
Date: September 1, 2001
ISO/IEC JTC 1/SC 29/WG 1
(ITU-T SG8)
Coding of Still Pictures
JBIG JPEG
Joint Bi-level Image Joint Photographic
Experts Group Experts Group
TITLE: The JPEG-2000 Still Image Compression
Standard
SOURCE: Michael D. Adams
Dept. of Electrical and Computer Engineering
University of British Columbia
Vancouver, BC, Canada V6T 1Z4
E-mail: mdadams@ece.ubc.ca
PROJECT: JPEG 2000
STATUS:
REQUESTED ACTION:
DISTRIBUTION: Public
Contact:
ISO/IEC JTC1/SC29/WG1 Convener—Dr. Daniel Lee
Yahoo!, 3420 Central Expressway, Santa Clara, California 95051, USA
Tel: +1 408 992 7051, Fax: +1 253 830 0372, E-mail: dlee@yahoo-inc.com
1
The JPEG-2000 Still Image Compression Standard
∗
(Last Revised: September 1, 2001)
Michael D. Adams
Dept. of Elec. and Comp. Engineering, University of British Columbia
Vancouver, BC, Canada V6T 1Z4
mailto:mdadams@ieee.org http://www.ece.ubc.ca/˜mdadams
Abstract—JPEG 2000, a new international standard for still image com-
pression, is discussed at length. A high-level introduction to the JPEG-2000
standard is given, followed by a detailed technical description of the JPEG-
2000 Part-1 codec.
Keywords—JPEG 2000, still image compression/coding, standards.
I. INTRODUCTION
Digital imagery is pervasive in our world today. Conse-
quently, standards for the efficient representation and inter-
change of digital images are essential. To date, some of the
most successful still image compression standards have re-
sulted from the ongoing work of the Joint Photographic Experts
Group (JPEG). This group operates under the auspices of Joint
Technical Committee 1, Subcommittee 29, Working Group 1
(JTC 1/SC 29/WG 1), a collaborative effort between the In-
ternational Organization for Standardization (ISO) and Interna-
tional Telecommunication Union Standardization Sector (ITU-
T). Both the JPEG [1, 2] and JPEG-LS [3] standards were born
from the work of the JPEG committee. For the last few years,
the JPEG committee has been working towards the establish-
ment of a new standard known as JPEG 2000 (i.e., ISO/IEC
15444). The fruits of these labors are now coming to bear, as
JPEG-2000 Part 1 (i.e., ISO/IEC 15444-1 [4]) has recently been
approved as a new international standard.
In this paper, we provide a detailed technical description of
the JPEG-2000 Part-1 codec, in addition to a brief overview of
the JPEG-2000 standard. This exposition is intended to serve as
a reader-friendly starting point for those interested in learning
about JPEG 2000. Although many details are included in our
presentation, some details are necessarily omitted. The reader
should, therefore, refer to the standard [4] before attempting an
implementation. The JPEG-2000 codec realization in the JasPer
software [5–7] may also serve as a practical guide for imple-
mentors. (See Appendix A for more information about JasPer.)
The remainder of this paper is structured as follows. Sec-
tion II begins with a overview of the JPEG-2000 standard. This
is followed, in Section III, by a detailed description of the JPEG-
2000 Part-1 codec. Finally, we conclude with some closing re-
marks in Section IV. Throughout our presentation, a basic un-
derstanding of image coding is assumed.
∗
This document is a revised version of the JPEG-2000 tutorial that I wrote
which appeared in the JPEG working group document WG1N1734. The original
tutorial contained numerous inaccuracies, some of which were introduced by
changes in the evolving draft standard while others were due to typographical
errors. Hopefully, most of these inaccuracies have been corrected in this revised
document. In any case, this document will probably continue to evolve over
time. Subsequent versions of this document will be made available from my
home page (the URL for which is provided with my contact information).
II. JPEG 2000
The JPEG-2000 standard supports lossy and lossless com-
pression of single-component (e.g., grayscale) and multi-
component (e.g., color) imagery. In addition to this basic com-
pression functionality, however, numerous other features are
provided, including: 1) progressive recovery of an image by fi-
delity or resolution; 2) region of interest coding, whereby differ-
ent parts of an image can be coded with differing fidelity; 3) ran-
dom access to particular regions of an image without needing to
decode the entire code stream; 4) a flexible file format with pro-
visions for specifying opacity information and image sequences;
and 5) good error resilience. Due to its excellent coding per-
formance and many attractive features, JPEG 2000 has a very
large potential application base. Some possible application ar-
eas include: image archiving, Internet, web browsing, document
imaging, digital photography, medical imaging, remote sensing,
and desktop publishing.
A. Why JPEG 2000?
Work on the JPEG-2000 standard commenced with an initial
call for contributions [8] in March 1997. The purpose of having
a new standard was twofold. First, it would address a number
of weaknesses in the existing JPEG standard. Second, it would
provide a number of new features not available in the JPEG stan-
dard. The preceding points led to several key objectives for the
new standard, namely that it should: 1) allow efficient lossy and
lossless compression within a single unified coding framework,
2) provide superior image quality, both objectively and subjec-
tively, at low bit rates, 3) support additional features such as re-
gion of interest coding, and a more flexible file format, 4) avoid
excessive computational and memory complexity. Undoubtedly,
much of the success of the original JPEG standard can be at-
tributed to its royalty-free nature. Consequently, considerable
effort has been made to ensure that minimally-compliant JPEG-
2000 codec can be implemented free of royalties
1
.
B. Structure of the Standard
The JPEG-2000 standard is comprised of numerous parts,
several of which are listed in Table I. For convenience, we will
refer to the codec defined in Part 1 of the standard as the baseline
codec. The baseline codec is simply the core (or minimal func-
tionality) coding system for the JPEG-2000 standard. Parts 2
and 3 describe extensions to the baseline codec that are useful
for certain specific applications such as intraframe-style video
1
Whether these efforts ultimately prove successful remains to be seen, how-
ever, as there are still some unresolved intellectual property issues at the time of
this writing.
2
compression. In this paper, we will, for the most part, limit our
discussion to the baseline codec. Some of the extensions pro-
posed for inclusion in Part 2 will be discussed briefly. Unless
otherwise indicated, our exposition considers only the baseline
system.
For the most part, the JPEG-2000 standard is written from the
point of view of the decoder. That is, the decoder is defined quite
precisely with many details being normative in nature (i.e., re-
quired for compliance), while many parts of the encoder are less
rigidly specified. Obviously, implementors must make a very
clear distinction between normative and informative clauses in
the standard. For the purposes of our discussion, however, we
will only make such distinctions when absolutely necessary.
III. JPEG-2000 CODEC
Having briefly introduced the JPEG-2000 standard, we are
now in a position to begin examining the JPEG-2000 codec in
detail. The codec is based on wavelet/subband coding tech-
niques [9,10]. It handles both lossy and lossless compression us-
ing the same transform-based framework, and borrows heavily
on ideas from the embedded block coding with optimized trun-
cation (EBCOT) scheme [11,12]. In order to facilitate both lossy
and lossless coding in an efficient manner, reversible integer-
to-integer [13, 14] and nonreversible real-to-real transforms are
employed. To code transform data, the codec makes use of bit-
plane coding techniques. For entropy coding, a context-based
adaptive binary arithmetic coder [15] is used—more specifi-
cally, the MQ coder from the JBIG2 standard [16]. Two levels
of syntax are employed to represent the coded image: a code
stream and file format syntax. The code stream syntax is similar
in spirit to that used in the JPEG standard.
The remainder of Section III is structured as follows. First,
Sections III-A to III-C, discuss the source image model and
how an image is internally represented by the codec. Next, Sec-
tion III-D examines the basic structure of the codec. This is fol-
lowed, in Sections III-E to III-M by a detailed explanation of the
coding engine itself. Next, Sections III-N and III-O explain the
syntax used to represent a coded image. Finally, Section III-P
briefly describes some extensions proposed for inclusion in Part
2 of the standard.
A. Source Image Model
Before examining the internals of the codec, it is important to
understand the image model that it employs. From the codec’s
point of view, an image is comprised of one or more compo-
nents (up to a limit of 2
14
), as shown in Fig. 1(a). As illustrated
in Fig. 1(b), each component consists of a rectangular array of
samples. The sample values for each component are integer val-
ued, and can be either signed or unsigned with a precision from
1 to 38 bits/sample. The signedness and precision of the sample
data are specified on a per-component basis.
All of the components are associated with the same spatial ex-
tent in the source image, but represent different spectral or aux-
iliary information. For example, a RGB color image has three
components with one component representing each of the red,
green, and blue color planes. In the simple case of a grayscale
image, there is only one component, corresponding to the lu-
minance plane. The various components of an image need not
Component 1
Component 2
...
Component 0
Component N−1
(a)
Component i
...
...
...
(b)
Fig. 1. Source image model. (a) An image with N components. (b) Individual
component.
(Xsiz−1,Ysiz−1)
(XOsiz,YOsiz)
Xsiz−XOsiz
Image Area
(0,0)
Xsiz
Ysiz−YOsiz
Ysiz
XOsiz
YOsiz
Fig. 2. Reference grid.
be sampled at the same resolution. Consequently, the compo-
nents themselves can have different sizes. For example, when
color images are represented in a luminance-chrominance color
space, the luminance information is often more finely sampled
than the chrominance data.
B. Reference Grid
Given an image, the codec describes the geometry of the var-
ious components in terms of a rectangular grid called the ref-
erence grid. The reference grid has the general form shown
in Fig. 2. The grid is of size Xsiz × Ysiz with the origin lo-
cated at its top-left corner. The region with its top-left corner at
(XOsiz, YOsiz) and bottom-right corner at (Xsiz − 1, Ysiz − 1)
is called the image area, and corresponds to the picture data to
be represented. The width and height of the reference grid can-
not exceed 2
32
− 1 units, imposing an upper bound on the size
of an image that can be handled by the codec.
All of the components are mapped onto the image area of
the reference grid. Since components need not be sampled at
the full resolution of the reference grid, additional information
is required in order to establish this mapping. For each com-
ponent, we indicate the horizontal and vertical sampling period
in units of the reference grid, denoted as XRsiz and YRsiz, re-
3
TABLE I
PARTS OF THE STANDARD
Part Title Purpose
1 Core coding system Specifies the core (or minimum functionality) codec for the JPEG-2000 family of standards.
2 Extensions Specifies additional functionalities that are useful in some applications but need not be supported
by all codecs.
3 Motion JPEG-2000 Specifies extensions to JPEG-2000 for intraframe-style video compression.
4 Conformance testing Specifies the procedure to be employed for compliance testing.
5 Reference software Provides sample software implementations of the standard to serve as a guide for implementors.
spectively. These two parameters uniquely specify a (rectangu-
lar) sampling grid consisting of all points whose horizontal and
vertical positions are integer multiples of XRsiz and YRsiz, re-
spectively. All such points that fall within the image area, con-
stitute samples of the component in question. Thus, in terms
of its own coordinate system, a component will have the size
¡§
Xsiz
XRsiz
¨
−
§
XOsiz
XRsiz
¨¢
×
¡§
Ysiz
YRsiz
¨
−
§
YOsiz
YRsiz
¨¢
and its top-left sam-
ple will correspond to the point
¡§
XOsiz
XRsiz
¨
,
§
YOsiz
YRsiz
¨¢
. Note that
the reference grid also imposes a particular alignment of sam-
ples from the various components relative to one another.
From the diagram, the size of the image area is (Xsiz −
XOsiz)×(Ysiz−YOsiz). For a given image, many combinations
of the Xsiz, Ysiz, XOsiz, and YOsiz parameters can be chosen to
obtain an image area with the same size. Thus, one might won-
der why the XOsiz and YOsiz parameters are not fixed at zero
while the Xsiz and Ysiz parameters are set to the size of the
image. As it turns out, there are subtle implications to chang-
ing the XOsiz and YOsiz parameters (while keeping the size of
the image area constant). Such changes affect codec behavior in
several important ways, as will be described later. This behavior
allows a number of basic operations to be performed efficiently
on coded images, such as cropping, horizontal/vertical flipping,
and rotation by an integer multiple of 90 degrees.
C. Tiling
In some situations, an image may be quite large in compar-
ison to the amount of memory available to the codec. Conse-
quently, it is not always feasible to code the entire image as a
single atomic unit. To solve this problem, the codec allows an
image to be broken into smaller pieces, each of which is inde-
pendently coded. More specifically, an image is partitioned into
one or more disjoint rectangular regions called tiles. As shown
in Fig. 3, this partitioning is performed with respect to the ref-
erence grid by overlaying the reference grid with a rectangu-
lar tiling grid having horizontal and vertical spacings of XTsiz
and YTsiz, respectively. The origin of the tiling grid is aligned
with the point (XTOsiz, YTOsiz). Tiles have a nominal size of
XTsiz × YTsiz, but those bordering on the edges of the image
area may have a size which differs from the nominal size. The
tiles are numbered in raster scan order (starting at zero).
By mapping the position of each tile from the reference grid
to the coordinate systems of the individual components, a parti-
tioning of the components themselves is obtained. For example,
suppose that a tile has an upper left corner and lower right corner
with coordinates (tx
0
, ty
0
) and (tx
1
− 1, ty
1
− 1), respectively.
Then, in the coordinate space of a particular component, the tile
would have an upper left corner and lower right corner with co-
ordinates (tcx
0
, tcy
0
) and (tcx
1
−1, tcy
1
−1), respectively, where
T
7
T
0
T
1
T
2
T
3
T
4
T
5
T
6
T
8
(XOsiz,YOsiz)
(0,0)
(XTOsiz,YTOsiz)
XTOsiz XTsiz XTsiz XTsiz
YTsiz
YTsiz
YTsiz
YTOsiz
Ysiz
Xsiz
Fig. 3. Tiling on the reference grid.
tcx
0
tcy
0
tcx
1
tcy
1
(0,0)
Tile−Component Data
( , )
( −1, −1)
Fig. 4. Tile-component coordinate system.
(tcx
0
, tcy
0
) = (dtx
0
/XRsize , dty
0
/YRsize) (1a)
(tcx
1
, tcy
1
) = (dtx
1
/XRsize , dty
1
/YRsize) . (1b)
These equations correspond to the illustration in Fig. 4. The por-
tion of a component that corresponds to a single tile is referred
to as a tile-component. Although the tiling grid is regular with
respect to the reference grid, it is important to note that the grid
may not necessarily be regular with respect to the coordinate
systems of the components.
剩余15页未读,继续阅读
资源评论
- kapoyegou2021-04-02资源确实是jpeg2000的,是adams的会议论文,就是我要找的。人家也没说是官方标准啊。。
- Ihatec2s3d4n52011-10-07不是jpeg2000标准就别在那里浪费别人的时间了-100
infototsta
- 粉丝: 1
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功