1
2 MPEG, CCITT H.261 (P*64), JPEG
3 Image and Image sequence compression/decompression C software engines.
4
5
6 The Portable Video Research Group at Stanford have developed
7 image/image sequence compression and decompression engines (codecs)
8 for MPEG, CCITT H.261, and JPEG. The primary goal of these codecs is
9 to provide the functionality - these codecs are not optimized for
10 speed, rather completeness, and some of the code is kludgey.
11
12 Development of MPEG, P64, and JPEG engines is not the primary goal of
13 the Portable Video Research Group. Our research is focused on
14 software and hardware for portable wireless digital video
15 communication. For more information about current research, please
16 send e-mail to Professor Teresa Meng at meng@tilden.stanford.edu.
17
18 COMMENTS/DISCLAIMERS:
19
20 This code has been compiled on the Sun Sparc and DECstation UNIX
21 machines; some code has been further checked on the HP workstations.
22
23 For comments, bugs, and other mail relating to the source code, we
24 appreciate any comments. The code author can be reached at Andy C.
25 Hung at achung@cs.stanford.edu. The standard public domain disclaimer
26 applies: Caveat Emptor - no guarantee on accuracy or software support.
27
28 References related to these codecs should NOT use any author's name,
29 or refer to Stanford University. Rather the Portable Video Research
30 Group or the acronym (PVRG) should be used, such as PVRG-MPEG,
31 PVRG-P64, PVRG-JPEG.
32
33 ANONYMOUS FTP:
34
35 The following files can be obtained through anonymous ftp from
36 havefun.stanford.edu, IP address [36.2.0.35]. The procedure is to use
37 ftp with the user name "anonymous" and an e-mail address for the
38 password.
39
40 CODEC DESCRIPTION:
41
42 I) PVRG-MPEG CODEC: (pub/mpeg/MPEGv1.2.tar.Z)
43
44 This public domain video encoder and decoder was generated according
45 to the Santa Clara August 1991 format. It has been tested
46 successfully with decoders using the Paris December 1991 format. The
47 codec is capable of encoding all MPEG types of frames. The algorithms
48 for rate control, buffer-constrained encoding, and quantization
49 decisions are similar, but not identical, to that of the (simulation
50 model 1-3) MPEG document. The rate control used is a simple
51 proportional Q-stepsize/Buffer loop that works though not very well -
52 better rate-control is the essence for good quality buffer-constrained
53 MPEG encoding. Verification of the buffering is possible so as to
54 provide streams for real-time decoders.
55
56 The MPEG codec performs compression and decompression on raw raster
57 scanned YCbCr (also known as digital YUV) files. The companion display
58 program for the X window system is described in section IV) below. A
59 manual of approximately 50 pages describes the program's use.
60
61 There are also MPEG compressed files from the table tennis sequence in
62 tennis.mpg and the flower garden sequence in flowg.mpg.
63
64 This codec was recently tested with the MPEG decoder of the Berkeley
65 Plateau Research group. If what you want is decoding and X display,
66 then you might want to look into their faster public domain MPEG
67 decoder/viewer. The Berkeley player is available via anonymous ftp
68 from toe.cs.berkeley.edu (128.32.149.117) in
69 /pub/multimedia/mpeg/mpeg-2.0.tar.Z.
70
71 II) PVRG-P64 CODEC: (pub/p64/P64v1.2.tar.Z)
72
73 This public domain video encoder and decoder is based on the CCITT
74 H.261 specification. Some encoding algorithms are based on the RM 8
75 encoder. We have tested it against a verified encoded sequence on the
76 CCITT 1992 specifications, but we would still appreciate anyone having
77 p64 video test sequences to let know. Like the MPEG codec, it
78 supports all the encoding and decoding modes, and has provisions for
79 buffer-constrained encoding, so it can produce streams for real-time
80 decoders.
81
82 The H.261 codec takes the similar YCbCr raster scanned files as the MPEG
83 codec, and performs compression and decompresion on raster scanned
84 YCbCr files. It can take standard CIF or NTSC-CIF files. The display
85 of these programs is described in section IV) below. A manual of
86 approximately 50 pages describes its use.
87
88 There are also P64 compressed files from the table tennis sequence in
89 table.p64 and the flower garden sequence in flowg.p64. The Inria
90 codec also performs H.261 video compression and is integrated into a
91 teleconferencing system; it can be obtained from avahi.inria.fr, in
92 /pub/h261.tar.Z.
93
94 III) PVRG-JPEG CODEC: (pub/jpeg/JPEGv1.2.tar.Z)
95
96 This public domain image encoder and decoder is based on the JPEG
97 Committee Draft. It supports all of the baseline for encoding and
98 decoding. The JPEG encoder is flexible in the variety of output
99 possible. It also supports lossless coding, though not as speedy as
100 we would like. The manual is approximately 50 pages long which
101 describes its use. The display program for JFIF-style (YCbCr) files is
102 described in section IV) below. The JFIF style is not a requirement
103 for this codec - it can compress and decompress CMYK, RGB, RGBalpha,
104 and other formats - this codec may be helpful if you wish to extract
105 information from non-JFIF encoded JPEG files.
106
107 This codec has been tested on publicly available JPEG data. For
108 general purpose X display, you might want to try the program "xv"
109 (version 2.0 or greater). The JPEG engine of the program "xv" is
110 based on the free, portable C code for JPEG compression available from
111 the Independent JPEG Group. (anonymous login - ftp.uu.net (137.39.1.9
112 or 192.48.96.9) /graphics/jpeg/jpegsrc.v4.tar.Z).
113
114 IV) X VIEWER: (pub/cv/CVv1.2.1.tar.Z)
115
116 This viewer allows the user to look at image or image sequences
117 generated through the codecs described above. These image or image
118 sequences are in the YCbCr (also known as digital YUV) colorspace
119 (either JFIF specified or CCIR 601 specified) and may be 4:1:1 (CIF,
120 or MPEG 4:2:0 style) or 2:1:1 (CCIR-601 4:2:2 style) or 1:1:1
121 (non-decimated or CCIR-601 4:4:4 style). A short manual of
122 approximately 2 pages describes its use.
123
124 ACKNOWLEDGEMENTS:
125
126 Funded by the Defense Advanced Research Projects Agency.
127
128 I am especially grateful to Hewlett Packard and Storm Technology for
129 their financial support during the earlier stages of codec
130 development. Any errors in the code and documentation are my own.
131 The following people are acknowledged for their advice and assistance.
132 Thanks, one and all.
133
134 The Portable Video Research Group at Stanford:
135 Teresa Meng, Peter Black, Navin Chaddha, Ben Gordon,
136 Sheila Hemami, Wee-Chiew Tan, Eli Tsern.
137
138 Adriaan Ligtenberg of Storm Technology.
139 Jeanne Wiseman, Andrew Fitzhugh, Gregory Yovanof and
140 Chuck Rosenberg of Hewlett Packard.
141 Eric Hamilton and Jean-Georges Fritsch of C-Cube Microsystems.
142
143 Lawrence Rowe of the Berkeley Plateau Research Group.
144 Tom Lane of the Independent JPEG Group.
145 Katsumi Tahara, Sony.
146 Ciaran Mc Goldrick.
147 Karl Lillevold.
148 Mats Lofkvist.
149 Hiroshi Saitoh, Panasonic.
150 Frank Gadegast.
151 Chad Fogg, Cascade.
152 Thierry Turletti, Inria.
153 Anders Klemets.
154 Graham Logan.
155 Jelle van Zeijl.
156 George Warner, AT&T.
157 Chris Adams, Hewlett Packard.
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.