Libupnp, Avc/h.264, Gnu general public license – Pioneer BDP-320 User Manual
Page 50
07
50
En
It a
ppears that the arithmetic coding option of the JPEG
s
pec is covered by patents owned by IBM, AT&T, and
Mitsubishi. Hence a
rithmetic coding cannot legally be
used without obtaining one o
r more licenses. For this
reason, support for arithmetic coding has been removed
f
rom the free JPEG software. (Since arithmetic coding
provides only a marginal gain over the unpatented Huffman
mode, it is unlikely that ve
ry many implementations will
su
pport it.) So far as we are aware, there are no patent
restrictions on the remaining code.
The IJG dist
ribution formerly included code to read and
w
rite GIF files. To avoid entanglement with the Unisys LZW
patent, GIF reading support has been removed altogether,
and the GIF w
riter has been simplified to produce
uncom
pressed GIFs. This technique does not use the LZW
algo
rithm; the resulting GIF files are larger than usual, but
a
re readable by all standard GIF decoders.
We a
re required to state that
“The G
raphics Interchange Format(c) is the Copyright
property of CompuServe Incorporated. GIF(sm) is a
Se
rvice Mark property of CompuServe Incorporated.”
REFERENCES
We highly
recommend reading one or more of these
references before trying to understand the innards of the
JPEG softwa
re.
The best sho
rt technical introduction to the JPEG
com
pression algorithm is
Wallace, G
regory K. “The JPEG Still Picture Compression
Standa
rd”,
Communications of the ACM, A
pril 1991 (vol. 34 no. 4),
pp. 30-44.
(Adjacent a
rticles in that issue discuss MPEG motion
picture compression, applications of JPEG, and related
to
pics.) If you don’t have the CACM issue handy, a
PostSc
ript file containing a revised version of Wallace’s
a
rticle is available at ftp://ftp.uu.net/graphics/jpeg/
wallace.
ps.gz. The file (actually a preprint for an article that
a
ppeared in IEEE Trans. Consumer Electronics) omits the
sam
ple images that appeared in CACM, but it includes
co
rrections and some added material. Note: the Wallace
a
rticle is copyright ACM and IEEE, and it may not be used
fo
r commercial purposes.
A somewhat less technical, mo
re leisurely introduction to
JPEG can be found in The Data Com
pression Book by Mark
Nelson and Jean-lou
p Gailly, published by M&T Books (New
Yo
rk), 2nd ed. 1996, ISBN 1-55851-434-1. This book provides
good ex
planations and example C code for a multitude of
com
pression methods including JPEG. It is an excellent
sou
rce if you are comfortable reading C code but don’t
know much about data com
pression in general. The book’s
JPEG sam
ple code is far from industrial-strength, but when
you a
re ready to look at a full implementation, you’ve got
one he
re...
The best full desc
ription of JPEG is the textbook “JPEG Still
Image Data Com
pression Standard” by William B.
Pennebake
r and Joan L. Mitchell, published by Van
Nost
rand Reinhold, 1993, ISBN 0-442-01272-1. Price
US$59.95, 638
pp. The book includes the complete text of
the ISO JPEG standa
rds (DIS 10918-1 and draft DIS 10918-
2). This is by fa
r the most complete exposition of JPEG in
existence, and we highly
recommend it.
The JPEG standa
rd itself is not available electronically; you
must o
rder a paper copy through ISO or ITU. (Unless you
feel a need to own a ce
rtified official copy, we recommend
buying the Pennebake
r and Mitchell book instead; it’s
much chea
per and includes a great deal of useful
ex
planatory material.) In the USA, copies of the standard
may be o
rdered from ANSI Sales at (212) 642-4900, or from
Global Enginee
ring Documents at (800) 854-7179. (ANSI
doesn’t take c
redit card orders, but Global does.) It’s not
chea
p: as of 1992, ANSI was charging $95 for Part 1 and $47
fo
r Part 2, plus 7% shipping/handling. The standard is
divided into two
parts, Part 1 being the actual specification,
while Pa
rt 2 covers compliance testing methods. Part 1 is
titled “Digital Com
pression and Coding of Continuous-tone
Still Images, Pa
rt 1: Requirements and guidelines” and has
document numbe
rs ISO/IEC IS 10918-1, ITU-T T.81. Part 2 is
titled “Digital Com
pression and Coding of Continuous-tone
Still Images, Pa
rt 2: Compliance testing” and has
document numbe
rs ISO/IEC IS 10918-2, ITU-T T.83.
Some extensions to the o
riginal JPEG standard are defined
in JPEG Pa
rt 3, a newer ISO standard numbered ISO/IEC IS
10918-3 and ITU-T T.84. IJG cu
rrently does not support any
Pa
rt 3 extensions.
The JPEG standa
rd does not specify all details of an
inte
rchangeable file format. For the omitted details we
follow the “JFIF” conventions,
revision 1.02. A copy of the
JFIF s
pec is available from:
Lite
rature Department
C-Cube Mic
rosystems, Inc.
1778 McCa
rthy Blvd.
Mil
pitas, CA 95035
phone (408) 944-6300, fax (408) 944-6314
A PostSc
ript version of this document is available by FTP at
ft
p://ftp.uu.net/graphics/jpeg/jfif.ps.gz. There is also a plain
text ve
rsion at ftp://ftp.uu.net/graphics/jpeg/jfif.txt.gz, but it
is missing the figu
res.
The TIFF 6.0 file fo
rmat specification can be obtained by FTP
f
rom ftp://ftp.sgi.com/graphics/tiff/TIFF6.ps.gz. The JPEG
inco
rporation scheme found in the TIFF 6.0 spec of 3-June-
92 has a numbe
r of serious problems. IJG does not
recommend use of the TIFF 6.0 design (TIFF Compression
tag 6). Instead, we
recommend the JPEG design proposed
by TIFF Technical Note #2 (Com
pression tag 7). Copies of
this Note can be obtained f
rom ftp.sgi.com or from ftp://
ft
p.uu.net/graphics/jpeg/. It is expected that the next
revision of the TIFF spec will replace the 6.0 JPEG design
with the Note’s design. Although IJG’s own code does not
su
pport TIFF/JPEG, the free libtiff library uses our library to
im
plement TIFF/JPEG per the Note. libtiff is available from
ft
p://ftp.sgi.com/graphics/tiff/.
ARCHIVE LOCATIONS
The “official” a
rchive site for this software is ftp.uu.net
(Inte
rnet address 192.48.96.9). The most recent released
ve
rsion can always be found there in directory graphics/
j
peg. This particular version will be archived as ftp://
ft
p.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz. If you don’t
have di
rect Internet access, UUNET’s archives are also
available via UUCP; contact hel
info
rmation on retrieving files that way.
Nume
rous Internet sites maintain copies of the UUNET
files. Howeve
r, only ftp.uu.net is guaranteed to have the
latest official ve
rsion.
You can also obtain this softwa
re in DOS-compatible “zip”
a
rchive format from the SimTel archives (ftp://
ft
p.simtel.net/pub/simtelnet/msdos/graphics/), or on
Com
puServe in the Graphics Support forum (GO
CIS:GRAPHSUP), lib
rary 12 JPEG Tools. Again, these
ve
rsions may sometimes lag behind the ftp.uu.net release.
The JPEG FAQ (F
requently Asked Questions) article is a
useful sou
rce of general information about JPEG. It is
u
pdated constantly and therefore is not included in this
dist
ribution. The FAQ is posted every two weeks to Usenet
newsg
roups comp.graphics.misc, news.answers, and
othe
r groups. It is available on the World Wide Web at http:/
/www.faqs.o
rg/faqs/jpeg-faq/ and other news.answers
a
rchive sites, including the official news.answers archive at
rtfm.mit.edu: ftp://rtfm.mit.edu/pub/usenet/news.answers/
j
peg-faq/. If you don’t have Web or FTP access, send e-mail
to mail-se
[email protected] with body
send usenet/news.answe
rs/jpeg-faq/part1
send usenet/news.answe
rs/jpeg-faq/part2
RELATED SOFTWARE
Nume
rous viewing and image manipulation programs now
su
pport JPEG. (Quite a few of them use this library to do so.)
The JPEG FAQ desc
ribed above lists some of the more
popular free and shareware viewers, and tells where to
obtain them on Inte
rnet.
If you a
re on a Unix machine, we highly recommend Jef
Poskanze
r’s free PBMPLUS software, which provides many
useful o
perations on PPM-format image files. In particular,
it can conve
rt PPM images to and from a wide range of
othe
r formats, thus making cjpeg/djpeg considerably more
useful. The latest ve
rsion is distributed by the NetPBM
g
roup, and is available from numerous sites, notably ftp://
wua
rchive.wustl.edu/graphics/graphics/packages/
NetPBM/. Unfo
rtunately PBMPLUS/NETPBM is not nearly
as
portable as the IJG software is; you are likely to have
difficulty making it wo
rk on any non-Unix machine.
A diffe
rent free JPEG implementation, written by the PVRG
g
roup at Stanford, is available from ftp://
havefun.stanford.edu/pub/jpeg/. This program is designed
fo
r research and experimentation rather than production
use; it is slowe
r, harder to use, and less portable than the
IJG code, but it is easie
r to read and modify. Also, the PVRG
code su
pports lossless JPEG, which we do not. (On the
othe
r hand, it doesn’t do progressive JPEG.)
FILE FORMAT WARS
Some JPEG
programs produce files that are not compatible
with ou
r library. The root of the problem is that the ISO
JPEG committee failed to s
pecify a concrete file format.
Some vendo
rs “filled in the blanks” on their own, creating
proprietary formats that no one else could read. (For
exam
ple, none of the early commercial JPEG
im
plementations for the Macintosh were able to exchange
com
pressed files.)
The file fo
rmat we have adopted is called JFIF (see
REFERENCES). This fo
rmat has been agreed to by a
numbe
r of major commercial JPEG vendors, and it has
become the de facto standa
rd. JFIF is a minimal or “low
end”
representation. We recommend the use of TIFF/JPEG
(TIFF
revision 6.0 as modified by TIFF Technical Note #2) for
“high end” a
pplications that need to record a lot of
additional data about an image. TIFF/JPEG is fai
rly new and
not yet widely su
pported, unfortunately.
The u
pcoming JPEG Part 3 standard defines a file format
called SPIFF. SPIFF is inte
roperable with JFIF, in the sense
that most JFIF decode
rs should be able to read the most
common va
riant of SPIFF. SPIFF has some technical
advantages ove
r JFIF, but its major claim to fame is simply
that it is an official standa
rd rather than an informal one. At
this
point it is unclear whether SPIFF will supersede JFIF or
whethe
r JFIF will remain the de-facto standard. IJG intends
to su
pport SPIFF once the standard is frozen, but we have
not decided whethe
r it should become our default output
fo
rmat or not. (In any case, our decoder will remain capable
of
reading JFIF indefinitely.)
Va
rious proprietary file formats incorporating JPEG
com
pression also exist. We have little or no sympathy for
the existence of these fo
rmats. Indeed, one of the original
reasons for developing this free software was to help force
conve
rgence on common, open format standards for JPEG
files. Don’t use a
proprietary file format!
TO DO
The majo
r thrust for v7 will probably be improvement of
visual quality. The cu
rrent method for scaling the
quantization tables is known not to be ve
ry good at low Q
values. We also intend to investigate block bounda
ry
smoothing, “
poor man’s variable quantization”, and other
means of im
proving quality-vs-file-size performance
without sac
rificing compatibility.
In futu
re versions, we are considering supporting some of
the u
pcoming JPEG Part 3 extensions --- principally,
va
riable quantization and the SPIFF file format.
As always, speeding things up is of great interest.
Please send bug
reports, offers of help, etc. to jpeg-
libupnp
Co
pyright (c) 2000-2003 Intel Corporation
All
rights reserved.
Redist
ribution and use in source and binary forms, with or
without modification, a
re permitted provided that the
following conditions a
re met:
* Redist
ributions of source code must retain the above
co
pyright notice, this list of conditions and the following
disclaime
r.
* Redist
ributions in binary form must reproduce the above
co
pyright notice, this list of conditions and the following
disclaime
r in the documentation and/or other materials
provided with the distribution.
* Neithe
r name of Intel Corporation nor the names of its
cont
ributors may be used to endorse or promote
products derived from this software without specific
prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS
“AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL INTEL OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.
AVC/H.264
THIS PRODUCT IS LICENSED UNDER THE AVC PATENT
PORTFOLIO LICENSE FOR THE PERSONAL AND NON-
COMMERCIAL USE OF A CONSUMER TO (i) ENCODE
VIDEO IN COMPLIANCE WITH THE AVC STANDARD (”AVC
VIDEO”) AND/OR (ii) DECODE AVC VIDEO THAT WAS
ENCODED BY A CONSUMER ENGAGED IN A PERSONAL
AND NON-COMMERCIAL ACTIVITY AND/OR WAS
OBTAINED FROM A VIDEO PROVIDER LICENSED TO
PROVIDE AVC VIDEO. No LICENSE IS GRANTED OR
SHALL BE IMPLIED FOR ANY OTHER USE. ADDITIONAL
INFORMATION MAY BE OBTAINED FROM MPEG LA, L.L.C.
SEE HTTP://MPEGLA.COM.
GNU GENERAL PUBLIC LICENSE
Ve
rsion 2, June 1991
Co
pyright © 1989, 1991 Free Software Foundation, Inc., 51
F
ranklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Eve
ryone is permitted to copy and distribute verbatim
co
pies of this license document, but changing it is not
allowed.
Preamble
The licenses fo
r most software are designed to take away
you
r freedom to share and change it. By contrast, the GNU
Gene
ral Public License is intended to guarantee your
f
reedom to share and change free software - to make sure
the softwa
re is free for all its users. This General Public
License a
pplies to most of the Free Software Foundation’s
softwa
re and to any other program whose authors commit
to using it. (Some othe
r Free Software Foundation software
is cove
red by the GNU Lesser General Public License
instead.) You can a
pply it to your programs, too.
When we s
peak of free software, we are referring to
f
reedom, not price. Our General Public Licenses are
320_VXJ5_IBD_EN.book 50 ページ 2009年2月25日 水曜日 午前10時57分