%! %%Title: "Laser Prep -- The Apple PostScript Dictionary (md)" %%Creator: Apple Software Engineering %%CreationDate: Thursday, March 19, 1987 %{appledict version #70 0 % ) CopyRight Apple Computer, Inc. 1984-89 All Rights Reserved. %%EndComments %%BeginProcSet: "(AppleDict md)" 70 0 statusdict begin product(LaserWriter II NT)eq revision 1 eq and {userdict begin/oldcds/cleardictstack load def/cleardictstack{31 sendpcmd 4 eq tonerlight/oldcds load exec}bind def end currentfile eexec }{save currentfile 359 string readhexstring pop pop restore}ifelse 35de8eabfc7fa5eac0431edc501ad43f5fcbdf9fdd321cce93b525f4439dd94696bf56ac13a0a2aad1e6bcf444711e941d7217138d20ae0500145f815439cc14e697ad201df728ea4ccad4ac 331aa03a7aacde10760bf4ee12bbf73c77cdcbf1796f26f0dd255d2407e1ac41 d27489a69d6b69c6a841468b46720b75ad65650700e0c528e7af61e7e3e821b59445c44b69831ebc9deaf0e3aecc14b7a1c2e18bc1fa42a59219f1e36f236e3d6c89114b1f231999c3dbce6b43f3e2918fcb85575941a9d1e65c86aa08e6eea86cc66ce90e5e4add57f2585e 7b1c0b5203cfc46868d6e3c0d66db79174e7091e32e307679732da062e440e41dabd36a161b611a7e4523a49694026206803dbfd5be5c5fe433f0f18a40057db6f1302848c8da4a10a7f14c6 3d512806362b1be092ad5dbd36d75fe63e4cae2ba9b72390f580cac344a08bdf6eb9e36ec45bad2a0b82829a72e0efa2d87332c482196e690361168271c55053341ab3 end /sc {60 45 {abs exch abs 2 copy add 1 gt{1.0 sub dup mul exch 1.0 sub dup mul add 1.0 sub}{dup mul exch dup mul add 1.0 exch sub} ifelse}setscreen} bind def statusdict begin product(LaserWriter II)anchorsearch end {pop pop/letter [/letter load /exec load /sc load /exec load]cvx def/legal [/legal load /exec load /sc load /exec load]cvx def/a4 [/a4 load /exec load /sc load /exec load]cvx def/b5 [/b5 load /exec load /sc load /exec load]cvx def /lettersmall [/lettersmall load /exec load /sc load /exec load]cvx def/a4small [/a4small load /exec load /sc load /exec load]cvx def/note [/note load /exec load /sc load /exec load]cvx def}{pop} ifelse systemdict/currentpacking known{currentpacking true setpacking}if /LW{save statusdict/product get(LaserWriter)anchorsearch exch pop{length 0 eq{1}{2}ifelse}{0}ifelse exch restore}bind def /LW+{LW 2 eq}bind def /ok{systemdict/statusdict known dup{LW 0 gt and}if}bind def ok{statusdict begin 9 sccinteractive 3 ne exch 0 ne or{9 0 3 setsccinteractive}if end}if /md 270 dict def md begin /av 0 def /T true def/F false def/mtx matrix def/s75 75 string def/sa8 8 string def/sb8 8 string def /sc8 8 string def/sd8 8 string def/s1 ( ) def/pxs 1 def/pys 1 def /ns false def 1 0 mtx defaultmatrix dtransform exch atan/pa exch def/nlw .24 def/ppr [-32 -29.52 762 582.48] def /pgr [0 0 0 0] def /pgs 1 def/por true def/xb 500 array def/so true def/tso true def/fillflag false def/pnm 1 def/fmv true def /sfl false def/ma 0 def/invertflag false def/dbinvertflag false def/xflip false def/yflip false def/noflips true def/scaleby96 false def/fNote true def/fBitStretch true def /4colors false def/3colors false def/2colors false def /wtkey false def statusdict begin/waittimeout where{pop waittimeout 300 lt{md /wtkey true put}if}if end wtkey{statusdict begin/setdefaulttimeouts where{pop 0 60 300 setdefaulttimeouts}if end}if /fg (Rvd\001\001\000\000\177) def /bdf{bind def}bind def /xdf{exch def}bdf /xl{neg exch neg translate}bdf /fp{pnsh 0 ne pnsv 0 ne and}bdf /nop{}bdf/lnop[/nop load]cvx bdf /vrb[ {fp{fg 6 get 0 ne{gsave stroke grestore}{gsave 1 setlinewidth pnsh pnsv scale stroke grestore}ifelse}if newpath}bind /eofill load dup /newpath load 2 index dup {clip newpath}bind {}bind dup 2 copy ]def systemdict/currentcolorscreen known{currentcolorscreen/dkspf xdf/dkrot xdf/dkfreq xdf/dyspf xdf/dyrot xdf/dyfreq xdf/dmspf xdf/dmrot xdf/dmfreq xdf /dcspf xdf/dcrot xdf/dcfreq xdf}{currentscreen/spf xdf/rot xdf/freq xdf}ifelse /doop{vrb exch get exec}bdf /psu{/udf xdf/tso xdf /fNote xdf/fBitStretch xdf/scaleby96 xdf/yflip xdf/xflip xdf /invertflag xdf/dbinvertflag invertflag statusdict begin version cvr 47.0 ge product (LaserWriter) eq not and end invertflag and {not}if def xflip yflip or{/noflips false def}if /pgs xdf 2 index .72 mul exch div/pys xdf div .72 mul/pxs xdf ppr astore pop pgr astore pop/por xdf sn and/so xdf}bdf /tab{statusdict /11x17 known{statusdict begin /11x17 load end}{statusdict /setpage known{statusdict begin 792 1224 1 setpage end}{statusdict /setpageparams known{statusdict begin 792 1224 0 1 setpageparams end}if}ifelse}ifelse}bdf /a3Size{statusdict /a3 known{statusdict begin /a3 load end}{statusdict /setpageparams known{statusdict begin 842 1191 0 1 setpageparams end}if}ifelse}bdf /txpose{fNote{smalls}{bigs}ifelse pgs get exec pxs pys scale ppr aload pop por{noflips{pop exch neg exch translate pop 1 -1 scale}if xflip yflip and{pop exch neg exch translate 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg translate}if xflip yflip not and{pop exch neg exch translate pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 translate}if yflip xflip not and{ppr 1 get neg ppr 0 get neg translate}if} {noflips{translate pop pop 270 rotate 1 -1 scale}if xflip yflip and{translate pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg translate}if xflip yflip not and{translate pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 translate}if yflip xflip not and{translate pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 exch translate}if} ifelse wtkey{statusdict/waittimeout 300 put}if scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy translate .96 dup scale neg exch neg exch translate}if}bdf /fr{4 copy pgr aload pop 3 -1 roll add 3 1 roll exch add 6 2 roll 3 -1 roll sub 3 1 roll exch sub 3 -1 roll exch div 3 1 roll div exch scale pop pop xl}bdf /obl{{0.212557 mul}{pop 0}ifelse}bdf /sfd{ps fg 5 -1 roll get mul 100 div 0 ps 5 -1 roll obl ps neg 0 0 6a astore makefont setfont}bdf /fnt{findfont sfd}bdf /bt{sa 3 1 roll 3 index and put}bdf /sa(\000\000\000\000\000\000\000\000\000\000)def /fs{0 1 bt 1 2 bt 2 4 bt 3 8 bt 4 16 bt 5 32 bt 6 64 bt 7 128 bt sa exch 8 exch put}bdf /mx1 matrix def /mx2 matrix def /mx3 matrix def /bu{currentpoint 4colors{currentcmykcolor}{currentrgbcolor}ifelse currentlinewidth currentlinecap currentlinejoin currentdash exch aload length fg 5 sfl{1}{0}ifelse put pnsv pnsh 2t aload pop 3a aload pop mx2 aload pop mx1 aload pop mtx currentmatrix aload pop mx3 aload pop ps pm restore/ps xdf mx3 astore pop}bdf /bn{/pm save def mx3 setmatrix newpath 0 0 moveto ct dup 39 get 0 exch getinterval cvx exec mtx astore setmatrix mx1 astore pop mx2 astore pop 3a astore pop 2t astore pop/pnsh xdf/pnsv xdf gw /sfl fg 5 get 0 ne def array astore exch setdash setlinejoin setlinecap setlinewidth 4colors{setcmykcolor}{setrgbcolor}ifelse moveto}bdf /fc{save vmstatus exch sub 50000 lt {(%%[|0|]%%)=print flush}if pop restore}bdf /tc{32768 div add 3 1 roll 32768 div add 2t astore pop}bdf /3a [0 0 0] def /2t 2 array def /tp{3a astore pop}bdf /tt{mx2 currentmatrix pop currentpoint 2 copy 2t aload pop qa 2 copy translate 3a aload pop exch dup 0 eq {pop}{1 eq{-1 1}{1 -1}ifelse scale}ifelse rotate pop neg exch neg exch translate moveto}bdf /te{mx2 setmatrix}bdf /th{3 -1 roll div 3 1 roll exch div 2 copy mx1 scale pop scale/sfl true def}bdf /tu{1 1 mx1 itransform scale/sfl false def}bdf /ts{1 1 mx1 transform scale/sfl true def}bdf /fz{/ps xdf}bdf /dv{dup 0 ne{div}{pop}ifelse}bdf /pop4{pop pop pop pop}bdf /it{sfl{mx1 itransform}if}bdf /gm{exch it moveto}bdf/rm{it rmoveto}bdf /lm{currentpoint sfl{mx1 transform}if exch pop sub 0 exch it rmoveto}bdf /fm{statusdict/manualfeed known}bdf /se{statusdict exch/manualfeed exch put}bdf /mf{dup/ma exch def 0 gt{fm se/t1 5 st ok ma 1 gt and{/t2 0 st/t3 0 st statusdict/manualfeedtimeout 3600 put }if}if}bdf /jn{/statusdict where exch pop{statusdict exch /jobname exch put}if}bdf /pen{pnm mul/pnsh xdf pnm mul/pnsv xdf pnsh setlinewidth}bdf /min{2 copy gt{exch}if pop}bdf /max{2 copy lt{exch}if pop}bdf /dh{fg 6 1 put array astore dup {1 pxs div mul exch}forall astore exch pop exch pop exch setdash}bdf /ih[currentdash]def /rh{fg 6 0 put ih aload pop setdash}bdf /dl{gsave nlw pys div setlinewidth 0 setgray}bdf /dlin{exch currentpoint currentlinewidth 2 div dup translate newpath moveto lineto currentpoint stroke grestore moveto}bdf /lin{fg 6 get 0 ne{exch lineto currentpoint 0 doop moveto} {exch currentpoint/pnlv xdf/pnlh xdf gsave newpath/@1 xdf/@2 xdf fp{pnlh @2 lt{pnlv @1 ge {pnlh pnlv moveto @2 @1 lineto pnsh 0 rlineto 0 pnsv rlineto pnlh pnsh add pnlv pnsv add lineto pnsh neg 0 rlineto} {pnlh pnlv moveto pnsh 0 rlineto @2 pnsh add @1 lineto 0 pnsv rlineto pnsh neg 0 rlineto pnlh pnlv pnsv add lineto}ifelse}{pnlv @1 gt {@2 @1 moveto pnsh 0 rlineto pnlh pnsh add pnlv lineto 0 pnsv rlineto pnsh neg 0 rlineto @2 @1 pnsv add lineto}{pnlh pnlv moveto pnsh 0 rlineto 0 pnsv rlineto @2 pnsh add @1 pnsv add lineto pnsh neg 0 rlineto 0 pnsv neg rlineto}ifelse}ifelse closepath fill}if @2 @1 grestore moveto}ifelse}bdf /gw{/pnm fg 3 get fg 4 get div def}bdf /lw{fg exch 4 exch put fg exch 3 exch put gw pnsv pnsh pen}bdf /barc{/@1 xdf/@2 xdf/@3 xdf/@4 xdf/@5 xdf /@6 xdf/@7 xdf/@8 xdf gsave @5 @7 add 2 div @6 @8 add 2 div translate newpath 0 0 moveto @5 @7 sub @6 @8 sub mtx currentmatrix pop scale @1{newpath}if 0 0 0.5 @4 @3 arc @4 @3 sub abs 360 ge{closepath}if mtx setmatrix @2 doop grestore}bdf /ar{dup 0 eq barc}bdf /ov{0 exch 360 exch true barc}bdf /rc{/@t xdf currentpoint 6 2 roll newpath 4 copy 4 2 roll exch moveto 6 -1 roll lineto lineto lineto closepath @t doop moveto}bdf /mup{dup pnsh 2 div le exch pnsv 2 div le or}bdf /rr{/@1 xdf 2. div/@2 xdf 2. div/@3 xdf /@4 xdf/@5 xdf/@6 xdf/@7 xdf @7 @5 eq @6 @4 eq @2 mup or or{@7 @6 @5 @4 @1 rc} {@4 @6 sub 2. div dup @2 lt{/@2 xdf}{pop}ifelse @5 @7 sub 2. div dup @2 lt{/@2 xdf}{pop}ifelse @1 0 eq{/@2 @2 pnsh 2 div 2 copy gt{sub def}{0 pop4}ifelse}if currentpoint newpath @4 @6 add 2. div @7 moveto @4 @7 @4 @5 @2 arcto pop4 @4 @5 @6 @5 @2 arcto pop4 @6 @5 @6 @7 @2 arcto pop4 @6 @7 @4 @7 @2 arcto pop4 closepath @1 doop moveto}ifelse}bdf /pr{gsave newpath/pl{exch moveto/pl{exch lineto}def}def}bdf /pl{exch lineto}bdf /ep{dup 0 eq{{moveto}{exch lin}{}{(%%[|1|]%%)= flush}pathforall pop grestore}{doop grestore}ifelse currentpoint newpath moveto}bdf /gr{64. div setgray}bdf /savescreen{ns not{/ns true def systemdict/currentcolorscreen known{currentcolorscreen/pkspf xdf/pkrot xdf/pkfreq xdf/pyspf xdf/pyrot xdf/pyfreq xdf/pmspf xdf/pmrot xdf/pmfreq xdf /pcspf xdf/pcrot xdf/pcfreq xdf}{currentscreen/sspf xdf/srot xdf/sfreq xdf}ifelse}if}bdf /restorescreen{/ns false def systemdict/setcolorscreen known{pcfreq pcrot/pcspf load pmfreq pmrot/pmspf load pyfreq pyrot/pyspf load pkfreq pkrot/pkspf load setcolorscreen}{sfreq srot/sspf load setscreen}ifelse}bdf /pat{savescreen sa8 copy pop 9.375 pa por not{90 add}if{1 add 4 mul cvi sa8 exch get exch 1 add 4 mul cvi 7 sub bitshift 1 and}setscreen exch not{gr}{pop}ifelse}bdf /sg{restorescreen gr}bdf /cpat{savescreen 10 2 roll 7 -1 roll sa8 copy pop 9.375 pa por not{90 add}if{1 add 4 mul cvi sa8 exch get exch 1 add 4 mul cvi 7 sub bitshift 1 and}8 -1 roll sb8 copy pop 9.375 pa por not{90 add}if{1 add 4 mul cvi sb8 exch get exch 1 add 4 mul cvi 7 sub bitshift 1 and}9 -1 roll sc8 copy pop 9.375 pa por not{90 add}if{1 add 4 mul cvi sc8 exch get exch 1 add 4 mul cvi 7 sub bitshift 1 and}10 -1 roll sd8 copy pop 9. 375 pa por not{90 add}if{1 add 4 mul cvi sd8 exch get exch 1 add 4 mul cvi 7 sub bitshift 1 and}psuedo1 dsc 4{4 -1 roll 1 exch 64 div sub}repeat setcmykcolor pop pop}bdf systemdict/setcolorscreen known{/psuedo1 lnop bdf/dsc/setcolorscreen load def}{/psuedo1{16{pop}repeat sa8 copy pop 9.375 pa por not{90 add}if{1 add 4 mul cvi sa8 exch get exch 1 add 4 mul cvi 7 sub bitshift 1 and}}bdf /bwsc{setscreen dup gr 0 exch 0 exch 64 exch 64 exch 64 exch}bdf/dsc/bwsc load def }ifelse systemdict/setcmykcolor known not{/setcmykcolor{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll}repeat setrgbcolor pop}bdf}if /dc{transform round .5 sub exch round .5 sub exch itransform}bdf /sn{userdict/smooth4 known}bdf /x8{3 bitshift}bdf /x4{2 bitshift}bdf /d4{-2 bitshift}bdf /d8{-3 bitshift}bdf /rb{15 add -4 bitshift 1 bitshift}bdf /db{/@7 save def/@1 xdf/@2 xdf/@3 xdf/@4 xdf/@5 xdf/@6 @5 @3 4 add mul def dc translate scale/xdbit 1 1 idtransform abs/ydbit exch def abs def{0 0 1 ydbit add 1 10 rc clip}if @1 0 eq @1 4 eq or{currentrgbcolor 1 setgray ydbit 0 1 ydbit add 1 2 rc setrgbcolor}if @1 3 eq @1 7 eq or{1 setgray}{currentrgbcolor 2 index eq exch 2 index eq and exch pop{0 setgray}if}ifelse/@9 @1 0 eq @1 1 eq @1 3 eq or or dbinvertflag xor def/@13 @6 def @2 fBitStretch or{/@10 @4 x4 def/@11 @3 x4 def/@12 @10 rb def/@13 @12 @11 mul def/@15 1 1 dtransform abs/calcY 1 index def round cvi/@14 exch def abs/calcX 1 index def round cvi scaleby96 not{1 add}if def/@16 @15 rb def/@17 @16 @14 mul def}if sn @13 60000 lt and @2 fBitStretch or and{mtx currentmatrix dup 1 get exch 2 get 0. eq exch 0. eq and @17 60000 lt and fBitStretch and{@16 3 bitshift @14 @9 [calcX 0 0 calcY 0 0]{@17 string @13 string currentfile @6 string readhexstring pop 1 index @4 @3 @5 @12 @2 smooth4 @10 @11 @12 dup string 5 index @15 @14 @16 dup string stretch}imagemask}{@12 x8 @11 @9 [@10 0 0 @11 0 0]{@13 string currentfile @6 string readhexstring pop 1 index @4 @3 @5 @12 @2 smooth4}imagemask}ifelse}{@5 3 bitshift @3 4 add @9 [@4 0 0 @3 0 2]{currentfile @6 string readhexstring pop}imagemask}ifelse @7 restore}bdf systemdict/setcmykcolor known{/psuedo lnop bdf/di/colorimage load def}{/routines[{.3 mul add 1}bind{.59 mul add 2}bind{.11 mul add round cvi str exch i exch put/i i 1 add def 0 0}bind]def /psuedo{/i 0 def 0 exch 0 exch{exch routines exch get exec}forall pop pop str}bdf/bwi{pop pop image}bdf/di/bwi load def}ifelse /cdb{/@7 save def/@1 xdf/@2 xdf/@3 xdf/@4 xdf/@5 xdf systemdict/setcmykcolor known not{dc}if translate scale /@6 xdf /@18 @5 dup 60000 ge{pop 60000}if string def @6 not{/str @18 0 @18 length 3 idiv getinterval def}if @4 @3 8 [@4 0 0 @3 0 0]@6{{currentfile @18 readhexstring pop}image}{{currentfile @18 readhexstring pop psuedo}false 3 di}ifelse @7 restore}bdf /wd 16 dict def /mfont 14 dict def /mdf{mfont wcheck not{/mfont 14 dict def}if mfont begin xdf end}bdf /cf{{1 index/FID ne{def}{pop pop}ifelse}forall}bdf/rf{/@1 exch def/@2 exch def FontDirectory @2 known{cleartomark pop}{findfont dup begin dup length @1 add dict begin cf{/Encoding macvec def}{Encoding dup length array copy/Encoding exch def counttomark 2 idiv{Encoding 3 1 roll put}repeat}ifelse pop exec currentdict end end @2 exch definefont pop}ifelse}bdf /bmbc{exch begin wd begin /cr xdf save CharTable cr 6 mul 6 getinterval{}forall /bitheight xdf/bitwidth xdf .96 div/width xdf Gkernmax add/XOffset xdf Gdescent add/YOffset xdf/rowbytes xdf rowbytes 255 eq{0 0 0 0 0 0 setcachedevice} {Gnormsize dup scale width 0 XOffset YOffset bitwidth XOffset add bitheight YOffset add setcachedevice rowbytes 0 ne{ XOffset YOffset translate newpath 0 0 moveto bitwidth bitheight scale sn{ /xSmt bitwidth x4 def /ySmt bitheight x4 def /rSmt xSmt rb def rSmt x8 ySmt true [xSmt 0 0 ySmt neg 0 ySmt] {rSmt ySmt mul string CharData cr get 1 index bitwidth bitheight rowbytes rSmt tso smooth4} }{rowbytes 3 bitshift bitheight 4 add true [bitwidth 0 0 bitheight neg 0 bitheight 2 add] {CharData cr get} }ifelse imagemask }if }ifelse restore end end }bdf /bb{.96 exch div/Gnormsize mdf 2 index /Gkernmax mdf 1 index/Gdescent mdf 3 index div 4 1 roll 2 index div 1. 5 2 roll exch div 4 1 roll 4 array astore/FontBBox mdf }bdf /cdf{mfont/CharData get 3 1 roll put}bdf /bf{ mfont begin /FontType 3 def /FontMatrix [1 0 0 1 0 0] def /Encoding macvec def /MFontType 0 def /BuildChar/bmbc load def end mfont definefont pop }bdf /wi LW 1 eq{{gsave 0 0 0 0 0 0 0 0 moveto lineto lineto lineto closepath clip stringwidth grestore}bind}{/stringwidth load}ifelse def /aps{0 get 124 eq}bdf /xc{s75 cvs dup}bdf /xp{put cvn}bdf /scs{xc 3 67 put dup 0 95 xp}bdf /sos{xc 3 79 xp}bdf /sbs{xc 1 66 xp}bdf /sis{xc 2 73 xp}bdf /sob{xc 2 79 xp}bdf /sss{xc 4 83 xp}bdf /dd{exch 1 index add 3 1 roll add exch}bdf /smc{moveto dup show}bdf /ndf2{udf{dup /FontType get 0 eq{/FDepVector get{dup /FontType get 0 eq{ndf2}{dup /df2 known{begin df2 0 null put end }{pop}ifelse}ifelse}forall}{/df2 known{dup begin df2 0 null put end}if}ifelse}{pop}ifelse}bdf /kwn{FontDirectory 1 index known{findfont dup ndf2 exch pop}}bdf /gl{1 currentgray sub setgray}bdf /newmm{dup /FontType get 0 eq{dup maxlength dict begin{1 index/FID ne 2 index/UniqueID ne and{def}{pop pop}ifelse}forall currentdict end dup /FDepVector 2 copy get[exch 6 index exch 6 index exch{newmm 3 1 roll}forall pop pop] put dup }{/mfont 10 dict def mfont begin/FontMatrix [1 0 0 1 0 0] def /FontType 3 def/Encoding macvec def/df 1 index def/df2 1 array def/FontBBox [0 0 1 1] def/StyleCode 2 index def /mbc{bcarray StyleCode get}def/BuildChar{exch begin wd begin/cr exch def/cs s1 dup 0 cr put def df /MFontType known not{ df2 0 get null eq{df dup length 2 add dict begin{1 index/FID ne 2 index/UniqueID ne and{def}{pop pop}ifelse}forall /StrokeWidth nlw 1000 mul pys div ps div dup 12 lt{pop 12}if def/PaintType 2 def currentdict end /q exch definefont df2 exch 0 exch put}if}if mbc exec end end}def end mfont}ifelse 3 index exch definefont exch pop}bdf /mb{dup sbs kwn{0 2 index findfont newmm exch pop exch pop exch pop}ifelse sfd}bdf /mo{dup sos kwn{2 2 index findfont newmm exch pop exch pop exch pop}ifelse sfd}bdf /ms{dup sss kwn{4 2 index findfont newmm exch pop exch pop exch pop}ifelse sfd}bdf /ou{dup sos kwn{mfont/df2 known{mfont begin df2 0 null put end}if 3 2 index findfont newmm exch pop exch pop exch pop}ifelse sfd}bdf /su{dup sss kwn{mfont/df2 known{mfont begin df2 0 null put end}if 5 2 index findfont newmm exch pop exch pop exch pop}ifelse sfd}bdf /ao{/fmv true def ou}bdf/as{/fmv true def su}bdf /vo{/fmv false def ou}bdf/vs{/fmv false def su}bdf /c{currentrgbcolor dup 4 1 roll eq 3 1 roll eq and/gray xdf}bdf /bcarray[{/da .03 def df setfont gsave cs wi 1 index 0 ne{exch da add exch}if grestore setcharwidth cs 0 0 smc da 0 smc da da smc 0 da moveto show}bind dup{/da 1 ps div def df setfont gsave cs wi 1 index 0 ne{exch da add exch}if grestore setcharwidth cs 0 0 smc da 0 smc da da smc 0 da smc c gray{gl}{1 setgray}ifelse da 2. div dup moveto show}bind {df setfont gsave cs wi grestore setcharwidth c gray{gl}{currentrgbcolor 1 setgray}ifelse cs 0 0 smc df2 0 get setfont gray{gl}{4 1 roll setrgbcolor}ifelse 0 0 moveto show}bind {/da 1 ps div def/ds .05 def/da2 da 2. div def df setfont gsave cs wi 1 index 0 ne{exch ds add da2 add exch}if grestore setcharwidth cs ds da2 add .01 add 0 smc 0 ds da2 sub translate 0 0 smc da 0 smc da da smc 0 da smc c gray{gl}{1 setgray}ifelse da 2. div dup moveto show}bind {/da .05 def df setfont gsave cs wi 1 index 0 ne{exch da add exch}if grestore setcharwidth c cs da .01 add 0 smc 0 da translate gray{gl}{currentrgbcolor 1 setgray 4 -1 roll}ifelse 0 0 smc gray{gl}{4 1 roll setrgbcolor}ifelse df2 0 get setfont 0 0 moveto show}bind]def /st{1000 mul usertime add dup 2147483647 gt{2147483647 sub}if def}bdf /the{usertime sub dup 0 lt exch -2147483648 gt and}bdf /6a 6 array def /2a 2 array def /3q 3 array def /qs{3 -1 roll sub exch 3 -1 roll sub exch}bdf /qa{3 -1 roll add exch 3 -1 roll add exch}bdf /qm{3 -1 roll 1 index mul 3 1 roll mul}bdf /qn{6a exch get mul}bdf /qA .166667 def/qB .833333 def/qC .5 def /qx{6a astore pop qA 0 qn qB 2 qn add qA 1 qn qB 3 qn add qB 2 qn qA 4 qn add qB 3 qn qA 5 qn add qC 2 qn qC 4 qn add qC 3 qn qC 5 qn add}bdf /qp{6 copy 12 -2 roll pop pop}bdf /qc{exch qp qx curveto}bdf /qi{{exch 4 copy 2a astore aload pop qa .5 qm newpath moveto}{exch 2 copy 6 -2 roll 2 qm qs 4 2 roll}ifelse}bdf /qq{{qc 2a aload pop qx curveto}{exch 4 copy qs qa qx curveto}ifelse}bdf /pt{currentpoint newpath moveto}bdf /qf{/fillflag true def}bdf /ec{dup 4 and 0 ne{closepath}if 1 and 0 ne{0 doop}if grestore currentpoint newpath moveto/fillflag false def}bdf /eu{currentpoint fp{0 ep}{grestore newpath}ifelse moveto/fillflag false def}bdf /bp{currentpoint newpath 2 copy moveto}bdf /ef{gsave fillflag{gsave eofill grestore}if}bdf /sm{0 exch{@1 eq{1 add}if}forall}bdf /lshow{4 1 roll exch/@1 exch def{1 index wi pop sub 1 index sm dv 0 @1 4 -1 roll widthshow}{1 index wi pop sub 1 index dup sm 10 mul exch length 1 sub add dv dup 10. mul 0 @1 4 -1 roll 0 6 -1 roll awidthshow}ifelse}bdf /setTxMode{sa 9 2 index put exch not{3 eq{1}{0}ifelse setgray}{pop}ifelse}bdf /SwToSym{{}mark false/Symbol/|______Symbol 0 rf 0 sa 6 get 0 ne{pop 1}{sa 7 get 0 eq{pop 2}if}ifelse sa 1 get 0 ne/|______Symbol sa 4 get 0 ne{vs}{sa 3 get 0 ne{vo}{fnt}ifelse}ifelse}bdf /mc{0 3 1 roll transform neg exch pop}bdf /ul{dup 0 ne sa 2 get 0 ne and{gsave 0 0 /UnderlinePosition kif{mc}{ps -10 div}ifelse/UnderlineThickness kif{mc}{ps 15 div}ifelse abs setlinewidth neg rmoveto sa 4 get 0 ne{gsave currentlinewidth 2. div dup rmoveto currentpoint newpath moveto 2 copy rlineto stroke grestore}if sa 3 get sa 4 get or 0 ne{gsave currentrgbcolor dup 4 1 roll eq 3 1 roll eq and{gl}{1 setgray}ifelse 2 copy rlineto stroke grestore rlineto strokepath nlw pys div setlinewidth}{rlineto}ifelse stroke grestore}{pop}ifelse}bdf /sgt{2 copy known{get true}{pop pop false}ifelse}bdf /kif{currentfont dup/FontMatrix get exch/FontInfo sgt{true}{currentfont/df sgt {dup/FontInfo sgt{3 1 roll/FontMatrix get mtx concatmatrix exch true}{pop pop pop false} ifelse}{pop pop false}ifelse}ifelse{3 -1 roll sgt{exch true}{pop false}ifelse}{false}ifelse}bdf /blank/Times-Roman findfont/CharStrings get/space get def /macvec 256 array def /NUL/SOH/STX/ETX/EOT/ENQ/ACK/BEL/BS/HT/LF/VT/FF/CR/SO/SI /DLE/DC1/DC2/DC3/DC4/NAK/SYN/ETB/CAN/EM/SUB/ESC/FS/GS/RS/US macvec 0 32 getinterval astore pop macvec 32/Times-Roman findfont/Encoding get 32 96 getinterval putinterval macvec dup 39/quotesingle put 96/grave put /Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis/Udieresis/aacute /agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute/egrave /ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde/oacute /ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex/udieresis /dagger/degree/cent/sterling/section/bullet/paragraph/germandbls /registered/copyright/trademark/acute/dieresis/notequal/AE/Oslash /infinity/plusminus/lessequal/greaterequal/yen/mu/partialdiff/summation /product/pi/integral/ordfeminine/ordmasculine/Omega/ae/oslash /questiondown/exclamdown/logicalnot/radical/florin/approxequal/Delta/guillemotleft /guillemotright/ellipsis/blank/Agrave/Atilde/Otilde/OE/oe /endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide/lozenge /ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright/fi/fl /daggerdbl/periodcentered/quotesinglbase/quotedblbase/perthousand/Acircumflex/Ecircumflex/Aacute /Edieresis/Egrave/Iacute/Icircumflex/Idieresis/Igrave/Oacute/Ocircumflex /apple/Ograve/Uacute/Ucircumflex/Ugrave/dotlessi/circumflex/tilde /macron/breve/dotaccent/ring/cedilla/hungarumlaut/ogonek/caron macvec 128 128 getinterval astore pop {}mark true/Courier/|______Courier 0 rf {/Metrics 21 dict begin/zero 600 def/one 600 def/two 600 def/three 600 def/four 600 def/five 600 def/six 600 def/seven 600 def/eight 600 def /nine 600 def/comma 600 def/period 600 def/dollar 600 def/numbersign 600 def/percent 600 def/plus 600 def/hyphen 600 def/E 600 def/parenleft 600 def/parenright 600 def/space 600 def currentdict end def currentdict/UniqueID known{/UniqueID 16#800000 def}if/FontBBox FontBBox 4 array astore def}mark true/Helvetica/|______Seattle 1 rf /oldsettransfer/settransfer load def /concatprocs{/proc2 exch cvlit def/proc1 exch cvlit def/newproc proc1 length proc2 length add array def newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval newproc cvx}def /settransfer{currenttransfer concatprocs oldsettransfer}def /PaintBlack{{1 exch sub}settransfer gsave newpath clippath 1 setgray fill grestore}def /od{(Rvd\001\001\000\000\177) fg copy pop txpose 1 0 mtx defaultmatrix dtransform exch atan/pa exch def newpath clippath mark {transform{itransform moveto}}{transform{itransform lineto}} {6 -2 roll transform 6 -2 roll transform 6 -2 roll transform {itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}} {{closepath}}pathforall newpath counttomark array astore/gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if statusdict/processcolors known{statusdict begin processcolors end dup 4 eq{/4colors true def pop}{3 eq{/3colors true def}{/2color true def}ifelse}ifelse}{/2colors true def}ifelse}bdf /cd{}bdf /op{/sfl false def systemdict/currentcolorscreen known{dcfreq dcrot/dcspf load dmfreq dmrot/dmspf load dyfreq dyrot/dyspf load dkfreq dkrot/dkspf load setcolorscreen}{freq rot/spf load setscreen}ifelse savescreen /ns false def/pm save def}bdf /cp{not{userdict/#copies 0 put}if ma 0 gt{{t1 the{exit}if}loop}if{copypage}{showpage}ifelse pm restore}bdf /px{0 3 1 roll tp tt}bdf /psb{/us save def}bdf /pse{us restore}bdf /ct 40 string def /nc{currentpoint initclip newpath gc{dup type dup/arraytype eq exch/packedarraytype eq or{exec}if} forall clip newpath moveto}def /kp{ct 0 2 index length 2 index 39 2 index put getinterval copy cvx exec mx3 currentmatrix pop}bdf /av 70 def end LW 1 eq userdict/a4small known not and{/a4small [[300 72 div 0 0 -300 72 div -120 3381] 280 3255 {statusdict/jobstate (printing) put 0 setblink margins exch 196 add exch 304 add 8 div round cvi frametoroket statusdict/jobstate (busy) put 1 setblink} /framedevice load 60 45{dup mul exch dup mul add 1.0 exch sub}/setscreen load {}/settransfer load/initgraphics load/erasepage load]cvx statusdict begin bind end readonly def}if md begin/bigs[lnop userdict/letter known{/letter load}{lnop}ifelse userdict/legal known{/legal load}{lnop}ifelse userdict/a4 known{/a4 load}{lnop}ifelse userdict/b5 known{/b5 load}{lnop}ifelse lnop lnop lnop /tab load/a3Size load]def /smalls[lnop userdict/lettersmall known{/lettersmall load}{userdict/note known{/note load}{lnop}ifelse}ifelse userdict/legal known{/legal load}{lnop}ifelse userdict/a4small known{/a4small load}{lnop}ifelse userdict/b5 known{/b5 load}{userdict/note known{/note load}{lnop}ifelse}ifelse lnop lnop lnop /tab load/a3Size load]def end systemdict/currentpacking known{setpacking}if /checkload{{currentfile eexec} {/junk save def/mystring 65000 string def /endexec (%endeexec) def{currentfile mystring readline not{stop}if endexec eq{exit}if}loop junk restore}ifelse}bind def ok userdict/stretch known not and checkload 373A767D4B7FD94FE5903B7014B1B8D3BED02632C855D56F458B118ACF3AF73FC4EF5E81F5749042B5F9CF1016D093B75F250B7D8280B2EACE05A37037F7BDF6E12226D7D4E2DF2C52FAFD5FD40FE72A0D3AC4BD485D8369D4C87636E920D1DAF222D92155A9CB1667E715F0B82799B37CC8F5B32B74B39CF494536DC3 9C7EF04A7BCB29E2CEC79073CADCCFB23B4AA1363F876F5121B618071B7B4EB1E5DE75FAA2368A3E5DB2B198623AFE92AE9484270FE7F57A850E88C0D3EEA156611C91D8E480D4370B025CCA6929A2BF40AD3D01B2CB7EE6DFB46E12A830542337F7819B67F9765210F76DB06F34DA5B13A11759305C582E16D2B85493 9F6D9121F2A4F285282F5DCD3D15896D121E3D6F5BE79E087451BB0ED233CDBEF090D3B4AC2DC34B97E70C61D95FB072B8C12D2ABD843520949A39DCF99E2C1AA8FBCD025E47E0A82A8D96E75BAF40F52AD402495BBD4DE0F356C8B14E764874E639C9F045A0D1908EC6456EB6C5B8A6F826192F767EF2C55A21C58F5F 9CC1F59247B55F2387828C7FE89D5E7D8484D1BC86CB6673BDBE4FE17DD9BDE95224FE645136F41330BF155A4DDE1B0A32233BF471CE58FBC660DC7E641B0A0D30018454E2191C414A3011FF3FED1C0D88FE1FF9F75DCC456D097947226FBEC92509146D3A4CFFC0471B31C53222ED9DD88566F60F6C0D705AD79DACF5 3B070026F083ED28B5CF757AAA0A169F6F320A75E9D2ED50ABD939AF85B6346C2ADB25D168F10508E1516D194C635E6B187FADEA0829DBF0390C0F003F0265E215BC96CA3CC13D4A8E01570BE193CA75A620728CD275ACF1986EFFB3A13419FE55EA7C4467B7E7EEDC1FC29C9F8C46A557D2CCDB914EF7B93E7530D555 DFC2398AFC68CAD991F062EF85BAA1884EC166C7C5DF8543666D8C41BE267D706BD1588F1F662F705CAE4D29DC38EF66BFAA89470D8A099B6F1B4587F7B024412276106FCD3EB5AE17A5D1DF1781992DC40EA0A992F706F701304CEA9D9073E7A74F1E687D81C3E5841D31CF86855BAAAD9B5D30317C75150A857C6B11 4735315CDD1AEF36C26BBB0645499406DEE2F24B3B1C72FEC97C7BA31AA2CDAB25418BB1DC4C7E4757F1D625087B0FD0300C03A65F2A72CE734925735277E034CDCF599129679F70CC8B66E03878851DB75041F275E1E5761F3EC753BE1359CA364A22047AE4886217F9259FE19FF5B116E8019B98B143114B313E8BEF 87EC949D85C82E0812E6F50525E73890AF362CC8EE8A85F4197E6AC18638EF12E56A808D439AF1BFD363F140314BF4E534485C42F1856688CC35288E8D770120A420FB9F1FCF8AE8BD6D6156CC23E6C51119FE4DE1B68C9DF3487E9974BF9ED31F8D3CE93FF101867319F2FF492D5D398B4F09A66F2F55BCAB34B99173 B7EE89039D00DD21A7B3A52E9F028F8301B5FC12D409412E064513BC579AAC498F577EA8ECD1FE3E42DC3CC320786C7B00194FEDF344402C33FC492D4BA86992B01683F440220FFE756BC88A94223D316078D69D33560E8EAB76B24CB7AA4320CF435593D76F624324ABE00B5587A4F283C725EA24567133F25F472B5E 2E4474DDB5A16AC5F2DF32350395D3E3892FE361F4D5C9A610C654C9227614FBBAFF3356A90A2266E00F66234061075491571A65616211257F160000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %endeexec ok userdict/smooth4 known not and checkload F94E00EE41A71C59E5CAEED1EDBCF23D1DBA1EE99B9BB356492923BD8B1BA83A87CEB0E07377A31FD6241E814681118E17DC7CACE570399506E6E441B871B6043831BD03EFC11DBBD8001EE2FF8CFBD485065D455A2E15AC36F1A84AD8789FA6461199C7CD14CB9FD64D4B06452B7FC0A8FC263F70F1CCB893295D4DE7 0ADAB771C0F84396FA98C60B11DA02ABA157298DF0A23621853BEF167443A985ADC09BEFFD51CB4D29179E2B34609EF38A49DA61F4BFC256A3DE0732D7D29754A194857B9C9E9971227AA1DD0611FBB10E44E5FF66C062D9C24ED3290529330BC317825E876929582DB0E39B9FC5EFD20CC1D4F94920EB9C534D0DA90D E70D25BC7287319CF28602B3F46633C242CAFC8905E960317E3C2FA20AB8DB06ADBAF292FC7BA2CA14EE65DF28B99CC11666B70AD33E8E1D57D63D4B89ECC615AE5747C1CA752C833D8D6DE54CD4A0350B44310555CE3BD2C615ADD27B634CDB350AF3A432CE78AACD2909A5B586F666CD87919A36DB1CBE86B3CE281D FD01CD7E1B8A18A4B415CECBFF79A5C4390A15EA77D14D6BE12BAB5A8268C3F286D0590060647CABED674443CD258F11415E866AB330A251691B61F2422A61AFE59B6B4FBDCF85ED9BA0F8E483C034089E6877FF5923698D3A0DC0EED6B9CFD32DF0839BC4EA5F6D1FCB6DD0920391E57E84745131D02D100179F4E0A6 8EC0A5FF6680A6F463D038B04AF63FFA13D743B995A26A743C26D387209023C91DE43DF047A16F328AC9DDC08573B38BE9EA341EA16C78EC32F3A1B36B90D95A50610F4D050EC1C33497F3F3A81A1B4C8BEF0BA84EE2FAA32DC112DAC490AF53E1749C4A0D866CAF7B893E52383B0D38065C333FB122B700D7246F7EE8 7D942AE3DB5C1DD77E9E76C80CC5AD63D28DFED0E229CE604673F78CD47F258FDF5BF3A3EAEC5C9BC8E482D8DBA9D268A35DA8C095A690679ED2123E8B8F5E4826FA3B199EAA5D482D4B6AA86572E387CECEB7149C8947F41D6339328A748A17F8C4AD3B0555F1E409450BA0C564F1F488BB5096EB003568D4D5EF6489 897E27409547D0EE4487D30184793B0F27BD265A64BDB3EA6761569DA955620C612E718677B77D6D81B999C6298877AFE0D1D6F6F358377A8BD2402F669C64B972B3A065EF7DD4BDEFFFE17E63DB8898FA6E69166B710AAD6BA2EA9AF61E4B8C8701638D4D6E4DFFFC192AEF6BC027095C4C72D748979675BA29FAF61E 75343E14E61034602E5A79CD2519796ED6A9CC4EDEA46A9B59D4A807E786B5EE46F25B0360BC8E7C12D723122CDEEF247C9776F4C99C8EBED6828AA19744B5ADF0D07D95D98B3072372388D41B0FAB1CCE2775170679575ECDCA13B22A17FE9C6605C3445F58F1A829512DAB6C528F83580C8AA53C35D605F626F5AD0B 7FC1EA87D69A835E3F53A1F450FB0AF42A5772F89D92A50D10F15BDBDA409F50C0B8AB93FE8A16D029DD8BB5C480D1466735ED4D9CAF637E5ECD6C2ECB6BF3B3EFBEE7AB936D2C568E3009D156B87CACB1FB3A48A70BC91B2EC35CC9147FFB1A524E2B2F2E4E2C1B12F1C1C63768BB95CD62FEC01CBA79B9FA282DD4DF 49990F27FF8EE4E2DDE2F0ACD83BC9D4BE0090192C7A799967EC4DC2D63C0835E22D4C4B366D7FDCF3A05A4B53DF780F986EF25C79B665D5C00EFF7F17C0BB6D544F9D83A7FDAC47D9C5683A656011374253C918FF6EA64749DD971B2300DD5320033E01EC591F6318CCE94CE2B81C04322EC52B624E50643B52391CCD 2AB56396A2AD8E2D3CA61B80D9D4CC363B2DF7863526958CDF3497E36648406C317E58EC563E7C26149A2A3C643ADFB39A8DD92974C6D2A2A9D7B71CDF3FEBBF32BB02E7B45CF53AAEAD5E963A4AA4AF9A149A08A4EC303D5F2369977E93F54897EEAD31B06C5845D63F49D65F8E5573962241A57CCD717CE6CA8C784A 11192943616EA059B51BC38429E18D0121FCBB6FBD5D909B0D89E616C66DEF6A0F165A7030BD911A1B120468329CBB006C8D37720E531CF31E878CB4AAAC137633675C3D546F5162487AB35F470C042BDEB945E0F2532BF92AA6FD53434440221ECD3533A7AA89900CB19EFE2CD872DF8B7969AF0D3B72BF31DC5DD69C A6460966F61AB17CB507964098DBA3AF122EEC3128A9BAFE1034493F372B36BD1351205E9043A67C544402D8BCE24358C8A5CE33867A00794CF7097D59C88279A11EE9C854E7E7AAE881F9828C569D208F5F33375F59E9A3818CFA38AAD0CBFBA32F9F44A8BB79DE4C40E3886457C16DA4A27953AA1E99472E35F2323F 0BAA5E37DC28CBA46FEFB73B190016055ADD4D27615D748499A0E1C4B8C7EC339C1C4D95A813A85918A8D01EEB485DDCDCEA6EA3F2C2A9D85C139CD90CCB352634F9AFE836BCAC0C274E352BA2071B5269D5DE4CCDE3FF990CBA974980C7332AE1545A9C60D5D1459D3AE95C1AC065733AF14FADB440A110DD539563B8 D850CD0704C52F3F7CCCB53630D776560CBD22D8FF08F5B354487A171AEC15F5F54DE9CAB668BCAC573E788D92762EF63E76087005F4AC2D02E0CAC173C11BE62ACE5DC4D3374F2F9746C9981E125FF9AB8CAE76D13039E2C54DFD708E028A619EA1ED78E6B46F06DF0D0B74BBEDD8C190C7C0CEBDE8F7A4888CC36575 313478DD2CFE392E9BB7B2416955D44B7024A3BA43FBF37293B386D64746D7748895411D243FAEC50638F2AA33337D7FA018ADDAC5835A0DDFAE99AD6299DFB4CA6872C59853E3AC12FC9E3D26629C5B49CF844C87B3C4BFBE3074E3A1CE6984758C20C661084381CD6B4582D84F19C0000B5FC0DCB42B567E39603160 1C095D7016283EBE5F13CD8A3A374A74DDBBABD36081149F8BC242085F2F7297CC97FD3B8BAD206D8AC9707A39ECCC7963B522E08DA391A1EF12DD4D746DBDDDCC0834F88160CF189A9645567CEC2F023A571AF0DFD15DB85B744C28C000DF53B05F8F210841F6E87A04F20C777B7C0BE6182BE2E90226E5301A12532A 745F2FAAA81637CF11B78CD2B99A4D18B862D6C5DBD31793FB16A2D9AAD376D4484D75AA833D0068B1D34DB74E3302480854E3B5484D8A47E39A89A2FA927BC3641EA7F8E004FDE4C2F08D40D99F1ACB47CAF6887629BF6DFE12968D297596D28CE0CF148B12E7DCB49FB94F5ADBD214C3A6CE1E249831BA9EB8A189F2 CE1ABE39A7B537253E369A508A2AF2ADB9463F9B56BBBFF31D535FF997F537C6675C196E7ECBD493F652FA7CC6D9C1CA3379BFDB5AF7513C6E834054494296B91A6EE800114363D5D5D0759F41B4DECB653B9DE3E94583579EF549ED5F3FAFB12661ABC0C57A332406517ED3454EDED34B386C60F78DC976266E0EAF54 FC245FB0E3EFC8016236436B599C1C97A8C5E0AC8F7836161873C71F01ED9CC25C236420F41FD8277993D3959205912FA0927B59E3DAE7377D82079447D6E41EE5AEC0DFFF79AF8F4ED47F17EE708FEA45877860D56F8CBCE65A061E8E1CA4A5FBAF0E13429A7F0ADB6F178FA449F46CC539BBC0107E3A53B1C362A04B 20E6D721E7E6E1E4976A11DDC98C7614D22B53DFBB6DAE533AC9BE882021A735C30DAA4A44AED09F49A390E8CFF59BD9C30667AF21B03EC5CEBD5C2C3AA2769E8D714191A48E7DDF50B13D1560E82EFB65FCE601AE9E8C351FBA1DED80B7351314E7F9F9A784BFE3759B7E322A84E7B51F9DC5F5D9C8050CD79B27C0A4 B0DD68A3C27A948AD6858E35B960D2DEA838C479CAEA83B1A912174ACB2100E55E7A14892D7A9B3711FF0B20065C1995B49E1F23464A92DD140642E3A7B1973849E64D1A3CF60000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %endeexec %%EndProcSet %%EOF %!PS-Adobe-2.0 %%Title: JPEG TIFF %%Creator: Microsoft Word %%CreationDate: Monday, December 9, 1991 %%Pages: (atend) %%BoundingBox: ? ? ? ? %%PageBoundingBox: 30 31 582 761 %%For: eric %%IncludeProcSet: "(AppleDict md)" 70 0 %%EndComments %%EndProlog %%BeginDocumentSetup md begin T T 0 0 730 552 -31 -30 761 582 100 72 72 1 F F F F T T T F psu (eric; document: JPEG TIFF)jn 0 mf od %%EndDocumentSetup %%Page: ? 1 op 31 30 xl 1 1 pen 754 90 gm (nc 31 30 761 582 6 rc)kp 0 gr T 1 setTxMode 2 fs bu fc {}mark T /Helvetica-Oblique /|______Helvetica-Oblique 0 rf bn 10 fz bu fc 2 F /|______Helvetica-Oblique fnt bn 0.02059 0. 32 0.00205 0.(A C-Cube Draft Technical Memorandum: 10/12/91)awidthshow 754 516 gm 0 fs bu fc {}mark T /Helvetica /|______Helvetica 0 rf bn bu fc 2 F /|______Helvetica fnt bn (1)show 83 90 gm 1 fs bu fc {}mark T /Helvetica-Bold /|______Helvetica-Bold 0 rf bn 14 fz bu fc 2 F /|______Helvetica-Bold fnt bn 1.60079 0. 32 0.16007 0.(Appendix P: JPEG Compression)awidthshow 112 90 gm 0 fs bu fc {}mark T /Times-Roman /|______Times-Roman 0 rf bn 9 fz bu fc 2 F /|______Times-Roman fnt bn 0.66711 0. 32 0.06671 0.(This appendix, written after the release of Revision 5.0 of the TIFF specification, is still in draft form and is)awidthshow 122 90 gm 0.69442 0. 32 0.06944 0.(subject to change. Please send any comments to Eric Hamilton of C-Cube Microsystems.)awidthshow 171 90 gm 1 fs 14 fz bu fc 2 F /|______Helvetica-Bold fnt bn 0.48773 0.(Introduction)ashow 201 118 gm 0 fs 12 fz bu fc 2 F /|______Times-Roman fnt bn -0.09712 0.(Image compression reduces the storage requirements of pictorial data. In addition, it)ashow 213 90 gm -0.08203 0.(reduces the time necessary for access, communication and display of images. In order to)ashow 225 90 gm -0.08792 0.(address the standardization of compression techniques an international standards group was)ashow 237 90 gm -0.05886 0.(formed: the Joint Photographic Experts Group \(JPEG\). JPEG has as its objective to create)ashow 249 90 gm -0.09114 0.(a joint ISO/CCITT standard for continuous tone image compression \(color and grayscale\).)ashow 273 108 gm -0.08657 0.(JPEG decided that because of the broad scope of the standard, no one algorithmic)ashow 285 90 gm -0.09468 0.(procedure was able to satisfy the requirements of all applications. It was decided to specify)ashow 297 90 gm -0.10255 0.(different algorithmic processes where each process is targeted to satisfy the requirements of)ashow 309 90 gm -0.10272 0.(a class of applications. Thus the JPEG standard became a \322toolkit\323 whereby the particular)ashow 321 90 gm -0.13745 0.(algorithmic \322tools\323 are selected according to the needs of the application environment.)ashow 345 108 gm -0.07572 0.(The algorithmic processes fundamentally fall into two classes: lossy and lossless.)ashow 357 90 gm -0.08708 0.(Those based on the Discrete Cosine Transform \(DCT\) are lossy, and typically provide for)ashow 369 90 gm -0.11456 0.(substantial compression without significant degradation of the reconstructed image with)ashow 381 90 gm -0.09626 0.(respect to the source image.)ashow 405 108 gm -0.07273 0.(The simplest DCT-based coding process is the baseline process. It provides a)ashow 417 90 gm -0.11964 0.(capability which is sufficient for most applications. There are additional DCT-based)ashow 429 90 gm -0.07891 0.(processes which extend the baseline process to a broader range of applications.)ashow 453 108 gm -0.08543 0.(The second class of coding processes is targeted for those applications requiring)ashow 465 90 gm -0.06135 0.(lossless compression. The lossless processes are not DCT-based and are utilized)ashow 477 90 gm -0.06881 0.(independently of any of the DCT-based processes.)ashow 501 104 gm -0.05249 0.(This appendix describes the JPEG baseline and the JPEG lossless processes and the)ashow 513 90 gm -0.01744 0.(extensions to TIFF defined to support JPEG compression.)ashow 557 90 gm 1 fs 14 fz bu fc 2 F /|______Helvetica-Bold fnt bn 2.45986 0. 32 0.24598 0.(JPEG Baseline Process)awidthshow 581 108 gm 0 fs 12 fz bu fc 2 F /|______Times-Roman fnt bn -0.09577 0.(The baseline process is a DCT-based algorithm which compresses images having 8 bits)ashow 593 90 gm -0.07478 0.(per sample. The baseline process operates only in sequential mode. In sequential mode,)ashow 605 90 gm -0.09129 0.(the image is processed from left to right and top to bottom in a single pass by compressing)ashow 617 90 gm -0.08927 0.(the first row of data followed by the second row and continuing until the end of image is)ashow 629 90 gm -0.10913 0.(reached. Sequential operation has minimal buffering requirements and thus permits)ashow 641 90 gm -0.12211 0.(inexpensive implementations.)ashow 665 108 gm -0.09454 0.(The JPEG baseline process is an algorithm which inherently introduces error into the)ashow 677 90 gm -0.10539 0.(reconstructed image and cannot be utilized for lossless compression. The algorithm accepts)ashow 689 90 gm -0.07217 0.(as input only those images having 8 bits per sample. Images with fewer than 8 bits per)ashow 701 90 gm -0.10935 0.(sample may be compressed using the baseline process algorithm by left justifying each)ashow 713 90 gm -0.07987 0.(input sample within a byte before compression.)ashow F T cp %%Page: ? 2 op 31 30 xl 1 1 pen 754 90 gm (nc 31 30 761 582 6 rc)kp 0 gr T 1 setTxMode 2 fs 10 fz bu fc 2 F /|______Helvetica-Oblique fnt bn 0.02059 0. 32 0.00205 0.(A C-Cube Draft Technical Memorandum: 10/12/91)awidthshow 754 516 gm 0 fs bu fc 2 F /|______Helvetica fnt bn (2)show 0 0 gm (nc 82 206 267 406 6 rc)kp 56 gr 104 206 247 297 1 rc 0 gr 104.5 206.5 246.5 296.5 0 rc 64 gr 217 219 235 285 2 rc 0 gr 217.5 219.5 234.5 284.5 0 rc 474 514 185 200 th 224 233 gm 0 gr T 1 setTxMode 1 fs bu fc {}mark T /Times-Bold /|______Times-Bold 0 rf bn 14 fz bu fc 2 F /|______Times-Bold fnt bn 3.98376 0. 32 0.39837 0.(Entropy Coding)awidthshow 232 227 gm 2.16461 0. 32 0.21646 0.(2 DC and AC Tables)awidthshow tu 64 gr 117 219 135 285 2 rc 0 gr 117.5 219.5 134.5 284.5 0 rc ts 123 227 gm 0 gr T 1 setTxMode 4.35394 0. 32 0.43539 0.(Forward Transform)awidthshow 132 236 gm 3.56109 0. 32 0.35610 0.(8x8 2-D DCT)awidthshow tu 64 gr 154 219 172 285 2 rc 0 gr 154.5 219.5 171.5 284.5 0 rc ts 161 226 gm 0 gr T 1 setTxMode 4.35882 0. 32 0.43588 0.(Uniform Quantization)awidthshow 169 226 gm 2.52822 0. 32 0.25282 0.(Up to 4 Quant. Tables)awidthshow tu 64 gr 189 219 199 285 2 rc 0 gr 189.5 219.5 198.5 284.5 0 rc ts 196 230 gm 0 gr T 1 setTxMode 3.84002 0. 32 0.38400 0.(1-D DC Prediction)awidthshow tu 56 gr 104 315 247 406 1 rc 0 gr 104.5 315.5 246.5 405.5 0 rc 64 gr 217 327 235 393 2 rc 0 gr 217.5 327.5 234.5 392.5 0 rc ts 224 339 gm 0 gr T 1 setTxMode 4.69360 0. 32 0.46936 0.(Entropy Decoding)awidthshow 232 336 gm 3.37890 0. 32 0.33789 0.( Receives 2+2 Tables)awidthshow tu 64 gr 117 327 135 393 2 rc 0 gr 117.5 327.5 134.5 392.5 0 rc ts 123 338 gm 0 gr T 1 setTxMode 4.56771 0. 32 0.45677 0.(Inverse Transform)awidthshow 132 343 gm 3.62518 0. 32 0.36251 0.(8x8 2-D IDCT)awidthshow tu 64 gr 154 327 172 393 2 rc 0 gr 154.5 327.5 171.5 392.5 0 rc ts 161 335 gm 0 gr T 1 setTxMode 4.01321 0. 32 0.40132 0.(Inverse Quantization)awidthshow 169 340 gm 3.62060 0. 32 0.36206 0.(Receives 4 Tables)awidthshow tu 64 gr 189 327 199 393 2 rc 0 gr 189.5 327.5 198.5 392.5 0 rc ts 196 338 gm 0 gr T 1 setTxMode 3.84002 0. 32 0.38400 0.(1-D DC Prediction)awidthshow tu 93 250 gm 103 250 0 gr lin 105 250 gm (nc 82 206 113 406 6 rc)kp 117 250 lin (nc 82 206 267 406 6 rc)kp 110 243 124 257 253 287 1 ar 133 250 gm (nc 82 206 151 406 6 rc)kp 154 250 lin (nc 82 206 267 406 6 rc)kp 147 243 161 257 253 287 1 ar 173 250 gm (nc 82 206 186 406 6 rc)kp 189 250 lin (nc 82 206 267 406 6 rc)kp 182 243 196 257 253 287 1 ar 199 250 gm (nc 82 206 214 406 6 rc)kp 217 250 lin (nc 82 206 267 406 6 rc)kp 210 243 224 257 253 287 1 ar 236 250 gm 267 250 lin 103 357 gm 117 357 lin 266 250 gm 266 358 lin ts 88 231 gm 0 gr T 1 setTxMode 18 fz bu fc 2 F /|______Helvetica-Bold fnt bn 1.37161 0. 32 0.13716 0.(Input Picture)awidthshow 88 334 gm 1.31652 0. 32 0.13165 0.(Output Picture)awidthshow tu 267 357 gm 248 357 0 gr lin 103 357 gm (nc 94 206 267 406 6 rc)kp 91 357 lin (nc 82 206 267 406 6 rc)kp 84 351 98 365 73 107 1 ar 154 357 gm (nc 137 206 267 406 6 rc)kp 133 357 lin (nc 82 206 267 406 6 rc)kp 126 351 141 365 73 107 1 ar 189 357 gm (nc 174 206 267 406 6 rc)kp 171 357 lin (nc 82 206 267 406 6 rc)kp 164 351 178 365 73 107 1 ar 217 357 gm (nc 202 206 267 406 6 rc)kp 199 357 lin (nc 82 206 267 406 6 rc)kp 192 351 206 365 73 107 1 ar 248 357 gm (nc 237 206 267 406 6 rc)kp 234 357 lin (nc 82 206 267 406 6 rc)kp 227 351 241 365 73 107 1 ar 285 189 gm (nc 31 30 761 582 6 rc)kp 0 gr T 1 setTxMode 0 fs 12 fz bu fc 2 F /|______Times-Roman fnt bn -0.07019 0.(Figure 1. Baseline Process Encoder and Decoder)ashow 309 108 gm -0.11221 0.(A functional block diagram of the Baseline encoding and decoding processes is)ashow 321 90 gm -0.09220 0.(contained in Figure 1. Encoder operation consists of dividing each component of the input)ashow 333 90 gm -0.09617 0.(image into 8x8 blocks, performing the two-dimensional DCT on each block, quantizing)ashow 345 90 gm -0.14772 0.(each DCT coefficient uniformly, subtracting the quantized DC coefficient from the)ashow 357 90 gm -0.09713 0.(corresponding term in the previous block, and finally entropy coding the quantized)ashow 369 90 gm -0.10775 0.(coefficients using variable length codes \(VLCs\). Decoding is performed by inverting each)ashow 381 90 gm -0.07704 0.(of the encoder operations in the reverse order.)ashow 403 90 gm 1 fs bu fc 2 F /|______Times-Bold fnt bn 1.66809 0. 32 0.16680 0.(The DCT)awidthshow 419 108 gm 0 fs bu fc 2 F /|______Times-Roman fnt bn -0.11309 0.(Before performing the foward DCT input pixels are level-shifted so that they range)ashow 431 90 gm -0.05537 0.(from -128 to +127. Blocks of 8x8 pixels are transformed with the two-dimensional 8x8)ashow 443 90 gm -0.44372 0.(DCT:)ashow 474 157 gm 2 fs bu fc {}mark T /Times-Italic /|______Times-Italic 0 rf bn bu fc 2 F /|______Times-Italic fnt bn 0.07873 0. 32 0.00787 0.(F\(u,v\) = )awidthshow 0 -7 rm (1)show 480 201 gm (4)show -4096 -4096 gm -4095 -4095 0 gr lin 6 25 lw 470 201 gm 470 207 lin 25 6 lw 1 1 lw 474 207 gm 0 gr T 1 setTxMode 0.52200 0. 32 0.05220 0.( C\(u\)C\(v\) )awidthshow currentfont SwToSym 0.52200 0. 32 0.05220 0.(\345\345)awidthshow setfont 0.52200 0. 32 0.05220 0.( f\(x,y\) cos)awidthshow 0 -7 rm currentfont SwToSym 0.19059 0.(p)ashow setfont 0.19059 0.(\(2x+1\)u)ashow 480 342 gm (16)show -4096 -4096 gm -4095 -4095 0 gr lin 6 25 lw 470 325 gm 470 371 lin 25 6 lw 1 1 lw 474 371 gm 0 gr T 1 setTxMode 0.08941 0. 32 0.00894 0.( cos)awidthshow 0 -7 rm currentfont SwToSym 0.06579 0.(p)ashow setfont 0.06579 0.(\(2y+1\)v)ashow 480 410 gm (16)show -4096 -4096 gm -4095 -4095 0 gr lin 6 25 lw 470 393 gm 470 439 lin 25 6 lw 1 1 lw 504 90 gm 0 gr T 1 setTxMode 0 fs bu fc 2 F /|______Times-Roman fnt bn -0.10247 0.(and blocks are inverse transformed by the decoder with the Inverse DCT:)ashow 535 157 gm 2 fs bu fc 2 F /|______Times-Italic fnt bn 0.57678 0. 32 0.05767 0.(f\(x,y\) = )awidthshow 0 -7 rm (1)show 541 198 gm (4)show -4096 -4096 gm -4095 -4095 0 gr lin 6 25 lw 531 198 gm 531 204 lin 25 6 lw 1 1 lw 535 204 gm 0 gr T 1 setTxMode 0.28900 0. 32 0.02890 0.( )awidthshow currentfont SwToSym 0.28900 0. 32 0.02890 0.(\345)awidthshow setfont 0.28900 0. 32 0.02890 0.( )awidthshow currentfont SwToSym 0.28900 0. 32 0.02890 0.(\345)awidthshow setfont 0.28900 0. 32 0.02890 0.( C\(u\)C\(v\) F\(u,v\) cos)awidthshow 0 -7 rm currentfont SwToSym 0.11610 0.(p)ashow setfont 0.11610 0.(\(2x+1\)u)ashow 541 345 gm (16)show -4096 -4096 gm -4095 -4095 0 gr lin 6 25 lw 531 328 gm 531 374 lin 25 6 lw 1 1 lw 535 374 gm 0 gr T 1 setTxMode 0.08941 0. 32 0.00894 0.( cos)awidthshow 0 -7 rm currentfont SwToSym 0.06579 0.(p)ashow setfont 0.06579 0.(\(2y+1\)v)ashow 541 413 gm (16)show -4096 -4096 gm -4095 -4095 0 gr lin 6 25 lw 531 396 gm 531 442 lin 25 6 lw 1 1 lw 565 153 gm 0 gr T 1 setTxMode 0 fs bu fc 2 F /|______Times-Roman fnt bn 0.65322 0. 32 0.06532 0.(with )awidthshow 2 fs bu fc 2 F /|______Times-Italic fnt bn 0.47808 0.(u)ashow 0 fs bu fc 2 F /|______Times-Roman fnt bn 0.23904 0.(,)ashow 2 fs bu fc 2 F /|______Times-Italic fnt bn 0.55282 0. 32 0.05528 0.( v)awidthshow 0 fs bu fc 2 F /|______Times-Roman fnt bn 0.39840 0. 32 0.03984 0.(, )awidthshow 2 fs bu fc 2 F /|______Times-Italic fnt bn 0.42439 0.(x)ashow 0 fs bu fc 2 F /|______Times-Roman fnt bn 0.23904 0.(,)ashow 2 fs bu fc 2 F /|______Times-Italic fnt bn 0.55282 0. 32 0.05528 0.( y)awidthshow 0 fs bu fc 2 F /|______Times-Roman fnt bn 0.70007 0. 32 0.07000 0.( = 0, 1, 2, ... 7)awidthshow 577 153 gm -0.07714 0.(where)ashow 577 188 gm 2 fs bu fc 2 F /|______Times-Italic fnt bn (x)show 0 fs bu fc 2 F /|______Times-Roman fnt bn (,)show 2 fs bu fc 2 F /|______Times-Italic fnt bn -0.03430 0.( y)ashow 1 fs bu fc 2 F /|______Times-Bold fnt bn ( )show 0 fs bu fc 2 F /|______Times-Roman fnt bn -0.04034 0.(= spatial coordinates in the pel domain)ashow 589 188 gm 2 fs bu fc 2 F /|______Times-Italic fnt bn (u)show 0 fs bu fc 2 F /|______Times-Roman fnt bn (,)show 2 fs bu fc 2 F /|______Times-Italic fnt bn ( v)show 1 fs bu fc 2 F /|______Times-Bold fnt bn ( )show 0 fs bu fc 2 F /|______Times-Roman fnt bn -0.02577 0.(= coordinates in the transform domain)ashow 608 188 gm 2 fs bu fc 2 F /|______Times-Italic fnt bn 0.27229 0.(C\(u\))ashow 0 fs bu fc 2 F /|______Times-Roman fnt bn 0.14859 0.(,)ashow 2 fs bu fc 2 F /|______Times-Italic fnt bn 0.80291 0. 32 0.08029 0.( C\(v\))awidthshow 1 fs bu fc 2 F /|______Times-Bold fnt bn 0.13504 0. 32 0.01350 0.( )awidthshow 0 fs bu fc 2 F /|______Times-Roman fnt bn (=)show 601 262 gm (1)show 618 258 gm bu fc {}mark F /Symbol /|______Symbol 0 rf bn bu fc 2 F /|______Symbol fnt bn (\326)show 618 258 gm (`)show 617 266 gm bu fc 2 F /|______Times-Roman fnt bn (2)show -4096 -4096 gm -4095 -4095 0 gr lin 6 25 lw 604 258 gm 604 272 lin 25 6 lw 1 1 lw 608 286 gm 0 gr T 1 setTxMode (for)show 608 314 gm 2 fs bu fc 2 F /|______Times-Italic fnt bn 0.31686 0.(u)ashow 0 fs bu fc 2 F /|______Times-Roman fnt bn 0.15843 0.(,)ashow 2 fs bu fc 2 F /|______Times-Italic fnt bn 0.26000 0. 32 0.02600 0.( v )awidthshow 0 fs bu fc 2 F /|______Times-Roman fnt bn 0.69396 0. 32 0.06939 0.(= 0)awidthshow 629 258 gm (1)show 629 286 gm -0.08042 0.(otherwise)ashow 653 108 gm -0.13790 0.(Although the exact method for computation of the DCT and IDCT is not subject to)ashow 665 90 gm -0.08859 0.(standardization and will not be specified by JPEG, it is probable that JPEG will adopt DCT)ashow 677 90 gm -0.13275 0.(conformance specifications which designate the accuracy to which the DCT must be)ashow 689 90 gm -0.09268 0.(computed. The DCT conformance specifications will assure that any two JPEG)ashow 701 90 gm -0.12460 0.(implementations will produce visually similar reconstructed images.)ashow F T cp %%Page: ? 3 op 31 30 xl 1 1 pen 754 90 gm (nc 31 30 761 582 6 rc)kp 0 gr T 1 setTxMode 2 fs 10 fz bu fc 2 F /|______Helvetica-Oblique fnt bn 0.02059 0. 32 0.00205 0.(A C-Cube Draft Technical Memorandum: 10/12/91)awidthshow 754 516 gm 0 fs bu fc 2 F /|______Helvetica fnt bn (3)show 81 90 gm 1 fs 12 fz bu fc 2 F /|______Times-Bold fnt bn 0.33387 0.(Quantization)ashow 97 108 gm 0 fs bu fc 2 F /|______Times-Roman fnt bn -0.15414 0.(The coefficients of the DCT are quantized to reduce their magnitude and increase the)ashow 109 90 gm -0.12777 0.(number of zero-value coefficients. The DCT coefficients are independently quantized by)ashow 121 90 gm -0.10801 0.(uniform quantizers. A uniform quantizer divides the real number line into steps of equal)ashow 133 90 gm -0.10124 0.(size as shown in Figure 2. The quantization step-size applied to each coefficient is)ashow 145 90 gm -0.14079 0.(determined from the contents of a 64-element quantization table.)ashow 223 226 gm (nc 160 226 280 395 6 rc)kp 223 373 0 gr lin 170 300 gm 277 300 lin 206 295 gm 206 303 lin 170 296 gm 170 303 lin 188 296 gm 188 303 lin 277 296 gm 277 303 lin 241 295 gm 241 303 lin 259 296 gm 259 303 lin 220 317 gm 227 317 lin 220 335 gm 227 335 lin 220 282 gm 227 282 lin 220 246 gm 227 246 lin 220 264 gm 227 264 lin 365 511 120 169 th 207 292 gm 0 gr T 1 setTxMode 1 fs 14 fz bu fc 2 F /|______Times-Bold fnt bn (1)show 189 293 gm (2)show 172 293 gm (3)show 243 305 gm 2.34130 0.(-1)ashow 260 306 gm 2.34130 0.(-2)ashow 278 306 gm 2.34130 0.(-3)ashow 231 314 gm 2.17529 0. 32 0.21752 0.(1 Q)awidthshow 231 350 gm 2.17529 0. 32 0.21752 0.(3 Q)awidthshow 231 278 gm 3.03970 0. 32 0.30397 0.(-1 Q)awidthshow 231 259 gm 3.03970 0. 32 0.30397 0.(-2 Q)awidthshow 231 242 gm 3.03970 0. 32 0.30397 0.(-3 Q)awidthshow tu 220 353 gm 227 353 0 gr lin ts 166 290 gm 0 gr T 1 setTxMode 18 fz bu fc 2 F /|______Times-Bold fnt bn 4.38720 0. 32 0.43872 0.(C \(u,v\))awidthshow 226 375 gm 4.38690 0. 32 0.43869 0.(F \(u,v\))awidthshow 231 332 gm 14 fz bu fc 2 F /|______Times-Bold fnt bn 2.17529 0. 32 0.21752 0.(2 Q)awidthshow tu 223 293 gm 223 307 0 gr lin 221.5 290.5 224.5 293.5 0 ov 221.5 307.5 224.5 310.5 0 ov 241 275 gm 241 289 lin 240.5 272.5 243.5 275.5 0 ov 240 289 244 292 1 ov 240.5 289.5 243.5 291.5 0 ov 259 258 gm 259 271 lin 257.5 254.5 261.5 257.5 0 ov 257 271 262 275 1 ov 257.5 271.5 261.5 274.5 0 ov 276 241 gm 276 254 lin 274.5 237.5 278.5 240.5 0 ov 274 254 279 258 1 ov 274.5 254.5 278.5 257.5 0 ov 206 311 gm 206 325 lin 204 308 209 312 1 ov 204.5 308.5 208.5 311.5 0 ov 204.5 325.5 208.5 328.5 0 ov 188 329 gm 188 342 lin 187 325 191 329 1 ov 187.5 325.5 190.5 328.5 0 ov 187.5 342.5 190.5 345.5 0 ov 171 346 gm 171 359 lin 170 342 174 346 1 ov 170.5 342.5 173.5 345.5 0 ov 170.5 359.5 173.5 362.5 0 ov 294 234 gm (nc 31 30 761 582 6 rc)kp 0 gr T 1 setTxMode 0 fs 12 fz bu fc 2 F /|______Times-Roman fnt bn -0.08731 0.(Figure 2. Uniform Quantization)ashow 318 108 gm -0.10406 0.(The baseline process provides for up to 4 different quantization tables to be defined and)ashow 330 90 gm -0.10665 0.(assigned to separate interleaved components within a single scan of the input image.)ashow 342 90 gm -0.14065 0.(Although the values of each quantization table should ideally be determined through)ashow 354 90 gm -0.09136 0.(rigorous subjective testing which estimates the human psycho-visual thresholds for each)ashow 366 90 gm -0.10772 0.(DCT coefficient and for each color component of the input image, JPEG has developed)ashow 378 90 gm -0.08297 0.(quantization tables which work well for CCIR 601 resolution images and has published)ashow 390 90 gm -0.08865 0.(these in the informational section of the proposed standard.)ashow 412 90 gm 1 fs bu fc 2 F /|______Times-Bold fnt bn 2.89184 0. 32 0.28918 0.(DC Prediction)awidthshow 428 108 gm 0 fs bu fc 2 F /|______Times-Roman fnt bn -0.13745 0.(The DCT coefficient located in the upper-left hand corner of the transformed block)ashow 440 90 gm -0.11445 0.(represents the average spatial intensity of the block and is referred to as the "DC)ashow 452 90 gm -0.12348 0.( coefficient". After the DCT coefficients are quantized but before they are entropy coded,)ashow 464 90 gm -0.11724 0.(DC prediction is performed. DC prediction simply means that the DC term of the previous)ashow 476 90 gm -0.09910 0.(block is subtracted from the DC term of the current block prior to encoding.)ashow 498 90 gm 1 fs bu fc 2 F /|______Times-Bold fnt bn 3.33221 0. 32 0.33322 0.(Zig-Zag Scan)awidthshow 514 108 gm 0 fs bu fc 2 F /|______Times-Roman fnt bn -0.10768 0.(Prior to entropy coding, the DCT coefficients are ordered into a one-dimensional)ashow 526 90 gm -0.10643 0.(sequence according to a "zig-zag" scan. The DC coefficient is coded first followed by AC)ashow 538 90 gm -0.10922 0.(coefficient coding proceeding in the order illustrated in Figure 3.)ashow 0 0 gm (nc 558 246 676 364 6 rc)kp 0 gr 558 246 573 261 1 rc 558.5 246.5 572.5 260.5 0 rc 64 gr 558 261 573 276 1 rc 0 gr 558.5 261.5 572.5 275.5 0 rc 64 gr 558 275 573 291 1 rc 0 gr 558.5 275.5 572.5 290.5 0 rc 64 gr 558 290 573 305 1 rc 0 gr 558.5 290.5 572.5 304.5 0 rc 64 gr 558 305 573 320 1 rc 0 gr 558.5 305.5 572.5 319.5 0 rc 64 gr 558 319 573 335 1 rc 0 gr 558.5 319.5 572.5 334.5 0 rc 64 gr 558 334 573 349 1 rc 0 gr 558.5 334.5 572.5 348.5 0 rc 64 gr 558 349 573 364 1 rc 0 gr 558.5 349.5 572.5 363.5 0 rc 64 gr 573 246 588 261 1 rc 0 gr 573.5 246.5 587.5 260.5 0 rc 64 gr 573 261 588 276 1 rc 0 gr 573.5 261.5 587.5 275.5 0 rc 64 gr 573 275 588 291 1 rc 0 gr 573.5 275.5 587.5 290.5 0 rc 64 gr 573 290 588 305 1 rc 0 gr 573.5 290.5 587.5 304.5 0 rc 64 gr 573 305 588 320 1 rc 0 gr 573.5 305.5 587.5 319.5 0 rc 64 gr 573 319 588 335 1 rc 0 gr 573.5 319.5 587.5 334.5 0 rc 64 gr 573 334 588 349 1 rc 0 gr 573.5 334.5 587.5 348.5 0 rc 64 gr 573 349 588 364 1 rc 0 gr 573.5 349.5 587.5 363.5 0 rc 64 gr 587 246 603 261 1 rc 0 gr 587.5 246.5 602.5 260.5 0 rc 64 gr 587 261 603 276 1 rc 0 gr 587.5 261.5 602.5 275.5 0 rc 64 gr 587 275 603 291 1 rc 0 gr 587.5 275.5 602.5 290.5 0 rc 64 gr 587 290 603 305 1 rc 0 gr 587.5 290.5 602.5 304.5 0 rc 64 gr 587 305 603 320 1 rc 0 gr 587.5 305.5 602.5 319.5 0 rc 64 gr 587 319 603 335 1 rc 0 gr 587.5 319.5 602.5 334.5 0 rc 64 gr 587 334 603 349 1 rc 0 gr 587.5 334.5 602.5 348.5 0 rc 64 gr 587 349 603 364 1 rc 0 gr 587.5 349.5 602.5 363.5 0 rc 64 gr 602 246 617 261 1 rc 0 gr 602.5 246.5 616.5 260.5 0 rc 64 gr 602 261 617 276 1 rc 0 gr 602.5 261.5 616.5 275.5 0 rc 64 gr 602 275 617 291 1 rc 0 gr 602.5 275.5 616.5 290.5 0 rc 64 gr 602 290 617 305 1 rc 0 gr 602.5 290.5 616.5 304.5 0 rc 64 gr 602 305 617 320 1 rc 0 gr 602.5 305.5 616.5 319.5 0 rc 64 gr 602 319 617 335 1 rc 0 gr 602.5 319.5 616.5 334.5 0 rc 64 gr 602 334 617 349 1 rc 0 gr 602.5 334.5 616.5 348.5 0 rc 64 gr 602 349 617 364 1 rc 0 gr 602.5 349.5 616.5 363.5 0 rc 64 gr 617 246 632 261 1 rc 0 gr 617.5 246.5 631.5 260.5 0 rc 64 gr 617 261 632 276 1 rc 0 gr 617.5 261.5 631.5 275.5 0 rc 64 gr 617 275 632 291 1 rc 0 gr 617.5 275.5 631.5 290.5 0 rc 64 gr 617 290 632 305 1 rc 0 gr 617.5 290.5 631.5 304.5 0 rc 64 gr 617 305 632 320 1 rc 0 gr 617.5 305.5 631.5 319.5 0 rc 64 gr 617 319 632 335 1 rc 0 gr 617.5 319.5 631.5 334.5 0 rc 64 gr 617 334 632 349 1 rc 0 gr 617.5 334.5 631.5 348.5 0 rc 64 gr 617 349 632 364 1 rc 0 gr 617.5 349.5 631.5 363.5 0 rc 64 gr 631 246 647 261 1 rc 0 gr 631.5 246.5 646.5 260.5 0 rc 64 gr 631 261 647 276 1 rc 0 gr 631.5 261.5 646.5 275.5 0 rc 64 gr 631 275 647 291 1 rc 0 gr 631.5 275.5 646.5 290.5 0 rc 64 gr 631 290 647 305 1 rc 0 gr 631.5 290.5 646.5 304.5 0 rc 64 gr 631 305 647 320 1 rc 0 gr 631.5 305.5 646.5 319.5 0 rc 64 gr 631 319 647 335 1 rc 0 gr 631.5 319.5 646.5 334.5 0 rc 64 gr 631 334 647 349 1 rc 0 gr 631.5 334.5 646.5 348.5 0 rc 64 gr 631 349 647 364 1 rc 0 gr 631.5 349.5 646.5 363.5 0 rc 64 gr 646 246 661 261 1 rc 0 gr 646.5 246.5 660.5 260.5 0 rc 64 gr 646 261 661 276 1 rc 0 gr 646.5 261.5 660.5 275.5 0 rc 64 gr 646 275 661 291 1 rc 0 gr 646.5 275.5 660.5 290.5 0 rc 64 gr 646 290 661 305 1 rc 0 gr 646.5 290.5 660.5 304.5 0 rc 64 gr 646 305 661 320 1 rc 0 gr 646.5 305.5 660.5 319.5 0 rc 64 gr 646 319 661 335 1 rc 0 gr 646.5 319.5 660.5 334.5 0 rc 64 gr 646 334 661 349 1 rc 0 gr 646.5 334.5 660.5 348.5 0 rc 64 gr 646 349 661 364 1 rc 0 gr 646.5 349.5 660.5 363.5 0 rc 64 gr 661 246 676 261 1 rc 0 gr 661.5 246.5 675.5 260.5 0 rc 64 gr 661 261 676 276 1 rc 0 gr 661.5 261.5 675.5 275.5 0 rc 64 gr 661 275 676 291 1 rc 0 gr 661.5 275.5 675.5 290.5 0 rc 64 gr 661 290 676 305 1 rc 0 gr 661.5 290.5 675.5 304.5 0 rc 64 gr 661 305 676 320 1 rc 0 gr 661.5 305.5 675.5 319.5 0 rc 64 gr 661 319 676 335 1 rc 0 gr 661.5 319.5 675.5 334.5 0 rc 64 gr 661 334 676 349 1 rc 0 gr 661.5 334.5 675.5 348.5 0 rc 64 gr 661 349 676 364 1 rc 0 gr 661.5 349.5 675.5 363.5 0 rc 565 269 gm 580 254 lin 565 284 gm 595 254 lin 565 298 gm 609 254 lin 565 313 gm 624 254 lin 565 328 gm 639 254 lin 565 342 gm 654 254 lin 565 357 gm 668 254 lin 580 357 gm 668 269 lin 595 357 gm 668 284 lin 609 357 gm 668 298 lin 624 357 gm 668 313 lin 639 357 gm 668 328 lin 654 357 gm 668 342 lin 668 357 lin 565 284 gm 565 298 lin 565 313 gm 565 328 lin 565 342 gm 565 357 lin 580 357 gm 595 357 lin 609 357 gm 624 357 lin 639 357 gm 654 357 lin 580 254 gm 595 254 lin 609 254 gm 624 254 lin 639 254 gm 654 254 lin 668 254 gm 668 269 lin 668 284 gm 668 298 lin 668 313 gm 668 328 lin 690 199 gm (nc 31 30 761 582 6 rc)kp 0 gr T 1 setTxMode bu fc 2 F /|______Times-Roman fnt bn -0.08544 0.(Figure 3. Zig-Zag Scan of DCT Coefficients)ashow F T cp %%Page: ? 4 op 31 30 xl 1 1 pen 754 90 gm (nc 31 30 761 582 6 rc)kp 0 gr T 1 setTxMode 2 fs 10 fz bu fc 2 F /|______Helvetica-Oblique fnt bn 0.02059 0. 32 0.00205 0.(A C-Cube Draft Technical Memorandum: 10/12/91)awidthshow 754 516 gm 0 fs bu fc 2 F /|______Helvetica fnt bn (4)show 91 90 gm 1 fs 12 fz bu fc 2 F /|______Times-Bold fnt bn 3.04183 0. 32 0.30418 0.(Entropy Coding)awidthshow 107 108 gm 0 fs bu fc 2 F /|______Times-Roman fnt bn -0.10453 0.(The quantized DCT coefficients are further compressed using entropy coding. The)ashow 119 90 gm -0.09753 0.(baseline process performs entropy coding using variable length codes \(VLCs\) and variable)ashow 131 90 gm -0.07336 0.(length integers \(VLIs\).)ashow 155 108 gm -0.04536 0.(VLCs, commonly known as Huffman codes, compress data symbols by creating)ashow 167 90 gm -0.08491 0.(shorter codes to represent frequently occurring symbols and longer codes for occasionally)ashow 179 90 gm -0.09472 0.(occurring symbols. One reason for using VLCs is that they are easily implemented by)ashow 191 90 gm -0.04402 0.(means of lookup tables.)ashow 215 108 gm -0.11164 0.(Separate code tables are provided for the coding of DC and AC coefficients. The)ashow 227 90 gm -0.09999 0.(following sections describe the respective coding methods used for coding DC and AC)ashow 239 90 gm -0.08000 0.(coefficients.)ashow 261 90 gm 1 fs bu fc 2 F /|______Times-Bold fnt bn 3.34381 0. 32 0.33438 0.(DC Coefficient Coding)awidthshow 277 108 gm 0 fs bu fc 2 F /|______Times-Roman fnt bn -0.15432 0.(DC prediction produces a \322differential DC coefficient\323 which is typically small in)ashow 289 90 gm -0.13285 0.(magnitude due to the high correlation of neighboring DC coefficients. Each differential DC)ashow 301 90 gm -0.11936 0.(coefficient is encoded by a VLC which represents the number of significant bits in the DC)ashow 313 90 gm -0.10775 0.(term followed by a VLI representing the value itself. The VLC is coded by first)ashow 325 90 gm -0.09375 0.(determining the number of significant bits, SSSS, in the differential DC coefficient through)ashow 337 90 gm -0.15644 0.(the following table:)ashow 361 90 gm ( )show 361 174 gm 4 fs 26.08343 ul -0.15003 0.(SSSS)ashow 0 fs -0.06747 0.( )ashow 4 fs 104.86070 ul -0.12063 0.(Differential DC Value)ashow 385 188 gm 0 fs (0 0)show 397 188 gm 0.02914 0. 32 0.00291 0.(1 -1, 1)awidthshow 409 188 gm 0.09841 0. 32 0.00984 0.(2 -3,-2, 2,3)awidthshow 421 188 gm 0.16876 0. 32 0.01687 0.(3 -7..-4, 4..7)awidthshow 433 188 gm 0.18096 0. 32 0.01809 0.(4 -15..-8, 8..15)awidthshow 445 188 gm 0.19515 0. 32 0.01951 0.(5 -31..-16, 16..31)awidthshow 457 188 gm 0.19515 0. 32 0.01951 0.(6 -63..-32, 32..63)awidthshow 469 188 gm 0.21148 0. 32 0.02114 0.(7 -127..-64, 64..127)awidthshow 481 188 gm 0.21987 0. 32 0.02198 0.(8 -255..-128, 128..255)awidthshow 493 188 gm 0.21987 0. 32 0.02198 0.(9 -511..-256, 256..511)awidthshow 505 188 gm 0.25329 0. 32 0.02532 0.(10 -1023..-512, 512..1023)awidthshow 517 188 gm 0.26519 0. 32 0.02651 0.(11 -2047..-1024, 1024..2047)awidthshow 529 188 gm 0.26519 0. 32 0.02651 0.(12 -4095..-2048, 2048..4095)awidthshow 565 90 gm -0.10401 0.(SSSS is then coded from the selected DC VLC table. The VLC is followed by a VLI)ashow 577 90 gm -0.09489 0.(having SSSS bits which represents the value of the differential DC coefficient itself. If the)ashow 589 90 gm -0.09660 0.(coefficient is positive, the VLI is simply the low order bits of the coefficient. If the)ashow 601 90 gm -0.10614 0.(coefficient is negative, then the VLI is the low order bits of the coefficient-1.)ashow 623 90 gm 1 fs bu fc 2 F /|______Times-Bold fnt bn 3.34381 0. 32 0.33438 0.(AC Coefficient Coding)awidthshow 639 108 gm 0 fs bu fc 2 F /|______Times-Roman fnt bn -0.11163 0.(In a similar fashion, AC coefficients are coded with alternating VLC and VLI codes.)ashow 651 90 gm -0.09416 0.(The VLC table, however, is a two-dimensional table which is indexed by a composite 8-bit)ashow 663 90 gm -0.04617 0.(value. The lower 4 bits of the 8-bit value, i.e. the column index, is the number of)ashow 675 90 gm -0.03759 0.(significant bits, SSSS, of a non-zero AC coefficient. SSSS is computed through the same)ashow 687 90 gm -0.07070 0.(table as that used for coding the DC coefficient. The higher order 4 bits, the row index, is)ashow 699 90 gm -0.07174 0.(the number of zero coefficients, NNNN, which precede the non-zero AC coefficient. The)ashow F T cp %%Page: ? 5 op 31 30 xl 1 1 pen 754 90 gm (nc 31 30 761 582 6 rc)kp 0 gr T 1 setTxMode 2 fs 10 fz bu fc 2 F /|______Helvetica-Oblique fnt bn 0.02059 0. 32 0.00205 0.(A C-Cube Draft Technical Memorandum: 10/12/91)awidthshow 754 516 gm 0 fs bu fc 2 F /|______Helvetica fnt bn (5)show 81 90 gm 12 fz bu fc 2 F /|______Times-Roman fnt bn -0.10671 0.(first column of the two-dimensional coding table contains codes which represent control)ashow 93 90 gm -0.08921 0.(functions. Figure 4 illustrates the general structure of the AC coding table.)ashow 116 90 gm 0.72128 0. 32 0.07212 0.( )awidthshow 1 fs 9 fz bu fc 2 F /|______Times-Bold fnt bn 1.06002 0. 32 0.10600 0.( SSSS - Size of Non-Zero AC Coefs)awidthshow 126 90 gm 0 fs bu fc 2 F /|______Times-Roman fnt bn 0.20462 0. 32 0.02046 0.( )awidthshow 1 fs bu fc 2 F /|______Times-Bold fnt bn 0.36895 0. 32 0.03689 0.(0 1 2 . . . 10 11. . .15)awidthshow 302 90 gm 0 fs 12 fz bu fc 2 F /|______Times-Roman fnt bn ( )show 0 0 gm (nc 128 168 302 388 6 rc)kp 0 gr 129.5 210.5 287.5 387.5 0 rc 129 252 gm 288 252 lin 348 439 174 220 th 149 216 gm 0 gr T 1 setTxMode 1 fs 14 fz bu fc 2 F /|______Times-Bold fnt bn 1.56753 0. 32 0.15675 0.( E O B)awidthshow 275 219 gm 1.63345 0. 32 0.16334 0.( Z R L)awidthshow 149 198 gm (0)show 194 198 gm (.)show 209 198 gm (.)show 224 198 gm (.)show 277 198 gm 1.99993 0.(15)ashow tu F 48<81C06030180C0603>pat 159 210 261 253 1 rc 0 sg 159.5 210.5 260.5 252.5 0 rc F 48<81C06030180C0603>pat 129 342 288 388 1 rc 0 sg 129.5 342.5 287.5 387.5 0 rc ts 179 171 gm 0 gr T 1 setTxMode 1.19078 0.(NNNN)ashow 212 171 gm 2.34130 0.(of)ashow 227 171 gm 1.07815 0.(Zero)ashow 242 171 gm 0.16374 0.(Run)ashow 197 171 gm 0.64488 0.(Length)ashow tu 311 185 gm (nc 31 30 761 582 6 rc)kp 0 fs 12 fz bu fc 2 F /|______Times-Roman fnt bn -0.08302 0.(Figure 4. 2-D Run-Size Value Array for AC Coefs)ashow 323 170 gm -0.09313 0.(The shaded portions are undefined in the baseline process)ashow 347 108 gm -0.10748 0.(The flow chart in Figure 5 specifies the AC coefficient coding procedure. AC)ashow 359 90 gm -0.12564 0.(coefficients are coded by traversing the block in the zig-zag sequence and counting the)ashow 371 90 gm -0.11111 0.(number of zero coefficients until a non-zero AC coefficient is encountered. If the count of)ashow 383 90 gm -0.10990 0.(consecutive zero coefficients exceeds 15, then a ZRL code is coded and the zero run-length)ashow 395 90 gm -0.08335 0.(count is reset. When a non-zero AC coefficient is found, the number of significant bits in)ashow 407 90 gm -0.07470 0.(the non-zero coefficient, SSSS, is combined with the zero run-length which precedes that)ashow 419 90 gm -0.08540 0.(coefficient, NNNN, to form an index into the two-dimensional VLC table. The selected)ashow 431 90 gm -0.10662 0.(VLC is then coded. The VLC is followed by a VLI which represents the value of the AC)ashow 443 90 gm -0.09260 0.(coefficient. This process is repeated until the end of block is reached. If the last AC)ashow 455 90 gm -0.09471 0.(coefficient is zero, then an End of Block \(EOB\) VLC is encoded.)ashow 0 0 gm (nc 470 190 654 421 6 rc)kp 0 gr 493.5 290.5 510.5 335.5 0 rc 602.5 290.5 619.5 335.5 0 rc 604.5 373.5 621.5 418.5 0 rc 470.5 288.5 482.5 336.5 0 ov 565.5 209.5 581.5 254.5 0 rc 523.5 290.5 532.5 335.5 0 rc 523.5 373.5 532.5 417.5 0 rc 482 313 gm (nc 470 190 490 421 6 rc)kp 493 313 lin (nc 470 190 654 421 6 rc)kp 487 307 500 320 254 286 1 ar 511 313 gm (nc 470 190 520 421 6 rc)kp 523 313 lin (nc 470 190 654 421 6 rc)kp 517 307 529 320 254 286 1 ar 533 313 gm (nc 470 190 542 421 6 rc)kp 545 313 lin (nc 470 190 654 421 6 rc)kp 539 307 551 320 254 286 1 ar 561 313 gm (nc 470 190 574 421 6 rc)kp 577 313 lin (nc 470 190 654 421 6 rc)kp 571 307 583 320 254 286 1 ar 515 197 gm (nc 470 190 654 310 6 rc)kp 515 313 lin (nc 470 190 654 421 6 rc)kp 509 307 522 319 164 196 1 ar 562 232 gm (nc 470 190 654 310 6 rc)kp 562 313 lin (nc 470 190 654 421 6 rc)kp 556 307 568 319 164 196 1 ar 582 232 gm 585 232 lin 515 396 gm (nc 470 316 654 421 6 rc)kp 515 313 lin (nc 470 190 654 421 6 rc)kp 509 307 522 320 344 376 1 ar 544 396 gm (nc 536 190 654 421 6 rc)kp 533 396 lin (nc 470 190 654 421 6 rc)kp 527 390 539 403 74 106 1 ar 522 396 gm 515 396 lin 561 396 gm (nc 470 190 601 421 6 rc)kp 604 396 lin (nc 470 190 654 421 6 rc)kp 598 390 610 403 254 286 1 ar 621 396 gm (nc 470 190 639 421 6 rc)kp 642 396 lin (nc 470 190 654 421 6 rc)kp 636 390 648 403 254 286 1 ar 634 336 gm (nc 470 190 654 393 6 rc)kp 634 396 lin (nc 470 190 654 421 6 rc)kp 628 390 640 402 164 196 1 ar 585 291 gm (nc 470 235 654 421 6 rc)kp 585 232 lin (nc 470 190 654 421 6 rc)kp 579 226 591 239 344 376 1 ar 563 232 gm 565 232 lin 634 291 gm 634 196 lin 515 196 lin 552 336 gm (nc 470 190 654 371 6 rc)kp 552 373 lin (nc 470 190 654 421 6 rc)kp 546 367 559 380 164 196 1 ar 449 549 184 231 th 502 306 gm 0 gr T 1 setTxMode 12.47991 fz bu fc 2 F /|______Helvetica fnt bn 0.63156 0. 32 0.06315 0.(K = 0)awidthshow 508 306 gm 0.34591 0. 32 0.03459 0.(R = 0)awidthshow 530 300 gm 0.42404 0. 32 0.04240 0.(K = K + 1)awidthshow 530 383 gm 0.19165 0. 32 0.01916 0.(R = R + 1)awidthshow 555 385 gm 0.98037 0. 32 0.09803 0.(K = 63 ?)awidthshow 587 303 gm 0.67230 0. 32 0.06723 0.(R > 15 ?)awidthshow 611 292 gm 0.81863 0. 32 0.08186 0.(Code R,Coef \(K\))awidthshow 618 305 gm 0.34591 0. 32 0.03459 0.(R = 0)awidthshow 636 302 gm 0.98037 0. 32 0.09803 0.(K = 63 ?)awidthshow 478 305 gm 1.66270 0.(Start)ashow 615 382 gm -0.21681 0.(Code \(EOB\))ashow 573 218 gm -0.01844 0.(Code \(ZRL\))ashow 579 218 gm 0.97869 0. 32 0.09786 0.(R = R - 16)awidthshow 551 338 gm (Y)show 567 316 gm (N)show 601 316 gm (N)show 633 286 gm (N)show 545 399 gm (N)show 567 398 gm (Y)show 633 338 gm (Y)show 584 284 gm (Y)show tu 594 313 gm 602 313 0 gr lin 625 314 gm 620 314 lin ts 554 294 gm 0 gr T 1 setTxMode 1.53640 0. 32 0.15364 0.(Coef\(K\) = 0?)awidthshow tu 544 312 gm 552 288 0 gr lin 552 289 gm 561 313 lin 561 312 gm 552 335 lin 544 312 lin 641.5 372.5 653.5 420.5 0 ov ts 650 390 gm 0 gr T 1 setTxMode -0.27424 0.(Done)ashow tu 561 396 gm 553 418 0 gr lin 552 419 gm 544 396 lin 553 372 gm 561 396 lin 544 396 gm 552 372 lin 643 314 gm 634 336 lin 634 291 gm 643 315 lin 634 336 gm 625 313 lin 625 314 gm 634 290 lin 594 313 gm 586 336 lin 577 313 lin 585 289 lin 594 313 lin 675 173 gm (nc 31 30 761 582 6 rc)kp 0 gr T 1 setTxMode 12 fz bu fc 2 F /|______Times-Roman fnt bn -0.03889 0.(Figure 5. Encoding Procedure for AC Coefs)ashow F T cp %%Page: ? 6 op 31 30 xl 1 1 pen 754 90 gm (nc 31 30 761 582 6 rc)kp 0 gr T 1 setTxMode 2 fs 10 fz bu fc 2 F /|______Helvetica-Oblique fnt bn 0.02059 0. 32 0.00205 0.(A C-Cube Draft Technical Memorandum: 10/12/91)awidthshow 754 516 gm 0 fs bu fc 2 F /|______Helvetica fnt bn (6)show 83 90 gm 1 fs 14 fz bu fc 2 F /|______Helvetica-Bold fnt bn 2.36541 0. 32 0.23654 0.(JPEG Lossless Processes)awidthshow 109 108 gm 0 fs 12 fz bu fc 2 F /|______Times-Roman fnt bn -0.09257 0.(The JPEG lossless coding processes utilize a spatial prediction algorithm based upon a)ashow 121 90 gm -0.12980 0.(two-dimensional Differential Pulse Code Modulation \(DPCM\) technique. They are)ashow 133 90 gm -0.12185 0.(compatible with a wider range of input pixel precision than the DCT-based algorithms \(2 to)ashow 145 90 gm -0.10972 0.(16 bits per sample\). Although the primary motivation for specifying a spatial algorithm is)ashow 157 90 gm -0.05673 0.(to provide a method for lossless compression, JPEG allows for quantization of the input)ashow 169 90 gm -0.04455 0.(data, resulting in lossy compression and higher compression rates.)ashow 193 108 gm -0.09405 0.(Although JPEG provides for use of either the Huffman or Arithmetic entropy coding)ashow 205 90 gm -0.04515 0.(models by the processes for lossless coding, only the Huffman coding model is supported)ashow 217 90 gm -0.03295 0.(by this version of TIFF. The following is a brief overview of the lossless process with)ashow 229 90 gm (Huffman coding.)show 251 90 gm 1 fs bu fc 2 F /|______Times-Bold fnt bn 2.58041 0. 32 0.25804 0.(Control Structure)awidthshow 267 108 gm 0 fs bu fc 2 F /|______Times-Roman fnt bn -0.07247 0.(Much of the control structure developed for the sequential DCT procedures is also used)ashow 279 90 gm -0.02725 0.(for sequential lossless coding. Either interleaved or non-interleaved data ordering may be)ashow 291 90 gm 0.25170 0.(used.)ashow 313 90 gm 1 fs bu fc 2 F /|______Times-Bold fnt bn 3.33511 0. 32 0.33351 0.(Coding Model)awidthshow 329 108 gm 0 fs bu fc 2 F /|______Times-Roman fnt bn -0.09349 0.(The coding model developed for coding the DC coefficients of the DCT is extended to)ashow 341 90 gm 0.72952 0. 32 0.07295 0.(allow a number of one-dimensional and two-dimensional predictors for the lossless)awidthshow 353 90 gm -0.07887 0.(coding function. Each component uses an independent predictor.)ashow 375 90 gm 1 fs bu fc 2 F /|______Times-Bold fnt bn 0.52098 0.(Prediction)ashow 391 108 gm 0 fs bu fc 2 F /|______Times-Roman fnt bn -0.06896 0.(Figure 6 shows the relationship between the neighboring values used for prediction and)ashow 403 90 gm -0.08911 0.(the sample being coded.)ashow 426 180 gm bu fc {}mark T /Courier /|______Courier 0 rf bn 10 fz bu fc 2 F /|______Courier fnt bn ( | | | | |)show 437 180 gm ( --+---+---+---+---+--)show 448 180 gm ( | | C | B | |)show 459 180 gm ( --+---+---+---+---+--)show 470 180 gm ( | | A | Y | |)show 481 180 gm ( --+---+---+---+---+--)show 492 180 gm ( | | | | |)show 514 90 gm 12 fz bu fc 2 F /|______Times-Roman fnt bn ( )show 514 146 gm -0.09288 0.(Figure 6. Relationship between sample and prediction samples)ashow 537 90 gm 1.03149 0. 32 0.10314 0.(Y is the sample to be coded and A, B, and C are the samples immediately to the left,)awidthshow 549 90 gm -0.11743 0.(immediately above, and diagonally to the left and above.)ashow 573 90 gm -0.11120 0.(The allowed predictors are listed in the following table.)ashow 597 162 gm -0.09182 0.( Selection-value Prediction)ashow 621 162 gm -0.06744 0.( 0 no prediction \(differential coding\))ashow 633 162 gm -0.01791 0.( 1 A)ashow 645 162 gm ( 2 B)show 657 162 gm ( 3 C)show 669 162 gm -0.01051 0.( 4 A+B-C)ashow 681 162 gm -0.01571 0.( 5 A+\(\(B-C\)/2\))ashow 693 162 gm -0.01571 0.( 6 B+\(\(A-C\)/2\))ashow 705 162 gm -0.01757 0.( 7 \(A+B\)/2)ashow F T cp %%Page: ? 7 op 31 30 xl 1 1 pen 754 90 gm (nc 31 30 761 582 6 rc)kp 0 gr T 1 setTxMode 2 fs 10 fz bu fc 2 F /|______Helvetica-Oblique fnt bn 0.02059 0. 32 0.00205 0.(A C-Cube Draft Technical Memorandum: 10/12/91)awidthshow 754 516 gm 0 fs bu fc 2 F /|______Helvetica fnt bn (7)show 81 108 gm 12 fz bu fc 2 F /|______Times-Roman fnt bn 0.48019 0. 32 0.04801 0.(Selection-value 0 shall only be used for differential coding in the hierarchical mode.)awidthshow 93 90 gm 0.27587 0. 32 0.02758 0.(Selections 1, 2 and 3 are one dimensional predictors and selections 4, 5, 6, and 7 are two)awidthshow 105 90 gm 1.30447 0. 32 0.13044 0.(dimensional predictors. The divide by 2 in the prediction equations is done by a)awidthshow 117 90 gm -0.11906 0.(arithmetic-right-shift of the integer values.)ashow 141 108 gm 0.97396 0. 32 0.09739 0.(The difference between the prediction value and the input is calculated modulo)awidthshow 153 90 gm 0.37857 0. 32 0.03785 0.(2**16. Therefore, the prediction can also be treated as a modulo 2**16 value. In)awidthshow 165 90 gm -0.07720 0.(the decoder the difference is decoded and added, modulo 2**16, to the prediction.)ashow 187 90 gm 1 fs bu fc 2 F /|______Times-Bold fnt bn 2.26760 0. 32 0.22676 0.(Huffman Coding of the Prediction Error)awidthshow 203 108 gm 0 fs bu fc 2 F /|______Times-Roman fnt bn 0.40084 0. 32 0.04008 0.(The Huffman coding procedures defined for coding the DC coefficients are used to)awidthshow 215 90 gm 0.71853 0. 32 0.07185 0.(code the modulo 2**16 differences. The table for DC coding is extended to 17 entries)awidthshow 227 90 gm -0.05276 0.(which allows for coding of the modulo 2**16 differences.)ashow 249 90 gm 1 fs bu fc 2 F /|______Times-Bold fnt bn 2.84194 0. 32 0.28419 0.(Point Transformation Prior to Lossless Coding)awidthshow 265 108 gm 0 fs bu fc 2 F /|______Times-Roman fnt bn -0.08512 0.(For the lossless processes only, the input image data may optionally be scaled)ashow 277 90 gm -0.10931 0.(\(quantized\) prior to coding by specifying a nonzero value in the point transformation)ashow 289 90 gm -0.06143 0.(parameter. Point transformation is defined to be division by a power of 2.)ashow 313 108 gm -0.09112 0.(If the point transformation field is nonzero for a component, a point transformation of)ashow 325 90 gm -0.04907 0.(the input is performed prior to the lossless coding. The input is divided by 2**Pt, where)ashow 337 90 gm -0.08676 0.(Pt is the value of the point transform signaling field. The output of the decoder is)ashow 349 90 gm -0.09846 0.(rescaled to the input range by multiplying by 2**Pt. Note that the scaling of input and)ashow 361 90 gm -0.09658 0.(output can be performed by arithmetic shifts.)ashow 398 90 gm 1 fs 14 fz bu fc 2 F /|______Helvetica-Bold fnt bn 2.14202 0. 32 0.21420 0.(Overview of the JPEG extension to TIFF)awidthshow 428 104 gm 0 fs 12 fz bu fc 2 F /|______Times-Roman fnt bn -0.07876 0.(In extending the TIFF definition to include JPEG compressed data, it is necessary to)ashow 440 90 gm -0.12849 0.(note the following:)ashow 467 108 gm 14 fz bu fc 2 F /|______Times-Roman fnt bn (\245)show 467 126 gm 12 fz bu fc 2 F /|______Times-Roman fnt bn -0.07852 0.(JPEG is effective only on continuous-tone color spaces:)ashow 491 132 gm -0.12020 0.(Grayscale)ashow 491 188 gm -0.11938 0.(\(Photometric Interpretation = 1\))ashow 503 132 gm 0.16450 0.(RGB)ashow 503 188 gm -0.11938 0.(\(Photometric Interpretation = 2\))ashow 515 132 gm -0.33230 0.(CMYK)ashow 515 188 gm -0.11938 0.(\(Photometric Interpretation = 5\))ashow 515 356 gm -0.08641 0.(\(See Appendix K\))ashow 527 132 gm -0.15959 0.(YC)ashow 0 2 rm -0.11489 0.(b)ashow 0 -2 rm -0.15327 0.(C)ashow 0 2 rm (r)show 527 188 gm -0.11938 0.(\(Photometric Interpretation = 6\))ashow 527 356 gm -0.15309 0.(\(See Appendix O\))ashow 555 108 gm 14 fz bu fc 2 F /|______Times-Roman fnt bn 0.54733 0. 32 0.05473 0.(\245 )awidthshow 555 126 gm 12 fz bu fc 2 F /|______Times-Roman fnt bn -0.06523 0.(Color conversion to YC)ashow 0 2 rm -0.07489 0.(b)ashow 0 -2 rm -0.09989 0.(C)ashow 0 2 rm (r)show 0 -2 rm -0.06021 0.( is often used as part of the compression process)ashow 568 126 gm -0.11050 0.(because the chrominance components can be subsampled and compressed to a)ashow 580 126 gm -0.09638 0.(greater degree without significant visual loss of quality. Tags are defined to)ashow 592 126 gm -0.08930 0.(describe how this conversion has taken place and the degree of subsampling)ashow 604 126 gm -0.10447 0.(employed \(see Appendix O\).)ashow 631 108 gm 14 fz bu fc 2 F /|______Times-Roman fnt bn (\245)show 631 126 gm 12 fz bu fc 2 F /|______Times-Roman fnt bn -0.07128 0.(New tags have been defined to specify the JPEG parameters used for compression)ashow 643 126 gm -0.12666 0.(and to allow quantization tables and Huffman code tables to be incorporated into the)ashow 655 126 gm 0.18280 0. 32 0.01828 0.(TIFF file.)awidthshow 682 108 gm 14 fz bu fc 2 F /|______Times-Roman fnt bn (\245)show 12 fz bu fc 2 F /|______Times-Roman fnt bn 0.02670 0. 32 0.00267 0.( )awidthshow 682 126 gm -0.09486 0.(TIFF is compatible with compressed image data which conforms to the syntax of)ashow 694 126 gm -0.09278 0.(the JPEG interchange format for compressed image data. Tags are defined which)ashow 706 126 gm -0.12765 0.(may be utilized to facilitate conversion from TIFF to interchange format.)ashow F T cp %%Page: ? 8 op 31 30 xl 1 1 pen 754 90 gm (nc 31 30 761 582 6 rc)kp 0 gr T 1 setTxMode 2 fs 10 fz bu fc 2 F /|______Helvetica-Oblique fnt bn 0.02059 0. 32 0.00205 0.(A C-Cube Draft Technical Memorandum: 10/12/91)awidthshow 754 516 gm 0 fs bu fc 2 F /|______Helvetica fnt bn (8)show 96 108 gm 14 fz bu fc 2 F /|______Times-Roman fnt bn (\245)show 12 fz bu fc 2 F /|______Times-Roman fnt bn 0.02670 0. 32 0.00267 0.( )awidthshow 96 126 gm -0.09388 0.(The PlanarConfiguration Tag is used to specify whether or not the compressed data)ashow 108 126 gm -0.03193 0.(is interleaved as defined by JPEG. For any of the JPEG DCT-based processes, the)ashow 120 126 gm -0.10754 0.(interleaved data units are coded 8x8 blocks rather than component samples.)ashow 147 108 gm 14 fz bu fc 2 F /|______Times-Roman fnt bn (\245)show 147 126 gm 12 fz bu fc 2 F /|______Times-Roman fnt bn -0.09153 0.(Alhough JPEG codes consecutive image blocks in a single contiguous bitstream, it)ashow 159 126 gm -0.10818 0.(is extremely useful to employ the concept of tiles in an image. Appendix L proposes)ashow 171 126 gm -0.04249 0.(some new tags for tiles, which should be used in place of the older tags for strips.)ashow 183 126 gm -0.11128 0.(The concept of tiling an image in both dimensions is important because JPEG)ashow 195 126 gm -0.12107 0.(hardware may be limited in the size of each block that is handled.)ashow 222 108 gm 14 fz bu fc 2 F /|______Times-Roman fnt bn (\245)show 222 126 gm 12 fz bu fc 2 F /|______Times-Roman fnt bn -0.12197 0.(Note that the nomenclature used in the TIFF specification is different from the)ashow 234 126 gm -0.09480 0.(JPEG Draft International Standardittee Draft \(ISO DIS 10918-1\) in some respects.)ashow 246 126 gm -0.09738 0.(The following terms should be equated when reading this appendix:)ashow 270 146 gm 4 fs 52.99972 ul -0.08145 0.(TIFF name)ashow 270 342 gm 78.00012 ul -0.05369 0.(JPEG DIS name)ashow 294 146 gm 0 fs -0.21932 0.(ImageWidth)ashow 294 342 gm -0.04278 0.(Number of Pixels)ashow 318 146 gm -0.19697 0.(ImageLength)ashow 318 342 gm -0.06906 0.(Number of Lines)ashow 342 146 gm -0.09385 0.(SamplesPerPixel)ashow 342 342 gm -0.05131 0.(Number of Components)ashow 366 146 gm -0.14566 0.(JPEGQTable)ashow 366 342 gm -0.25257 0.(Quantization Table)ashow 390 146 gm -0.13145 0.(JPEGDCTable)ashow 390 342 gm -0.13250 0.(Huffman Table for DC coefficients)ashow 414 146 gm -0.13145 0.(JPEGACTable)ashow 414 342 gm -0.13250 0.(Huffman Table for AC coefficients)ashow 460 90 gm 1 fs 14 fz bu fc 2 F /|______Helvetica-Bold fnt bn 2.22061 0. 32 0.22206 0.(Strips and Tiles)awidthshow 486 108 gm 0 fs 12 fz bu fc 2 F /|______Times-Roman fnt bn -0.06716 0.(The JPEG extension to TIFF has been designed to be consistent with the existing TIFF)ashow 498 90 gm -0.10670 0.(strip and tile structures and to allow quick conversion to and from the stream-oriented)ashow 510 90 gm -0.05769 0.(compressed image format defined by JPEG.)ashow 534 108 gm -0.09515 0.(Compressed images conforming to the syntax of the JPEG interchange format can be)ashow 546 90 gm -0.11209 0.(converted to TIFF simply by defining a single strip or tile for the entire image and then)ashow 558 90 gm -0.10667 0.(concatenating the TIFF image description fields to the JPEG compressed image data. The)ashow 570 90 gm -0.10232 0.(strip or tile offset tag points directly to the start of the entropy coded data \(not to a JPEG)ashow 582 90 gm (marker\).)show 606 108 gm -0.07194 0.(Multiple strips or tiles are supported in JPEG compressed images using restart markers.)ashow 618 90 gm -0.12719 0.(Restart markers, inserted periodically into the compressed image data, delineate image)ashow 630 90 gm -0.08959 0.(segments known as restart intervals. At the start of each restart interval, coding state is)ashow 642 90 gm -0.11416 0.(reset to default values, allowing every restart interval to be decoded independently of)ashow 654 90 gm -0.07708 0.(previously decoded data. TIFF strip and tile offsets shall always point to the start of a)ashow 666 90 gm -0.11405 0.(restart interval. Equivalently, each strip or tile contains an integral number of restart)ashow 678 90 gm -0.11770 0.(intervals. Restart markers need not be present in a TIFF file; they are implicitly coded at)ashow 690 90 gm -0.08134 0.(the start of every strip or tile.)ashow F T cp %%Page: ? 9 op 31 30 xl 1 1 pen 754 90 gm (nc 31 30 761 582 6 rc)kp 0 gr T 1 setTxMode 2 fs 10 fz bu fc 2 F /|______Helvetica-Oblique fnt bn 0.02059 0. 32 0.00205 0.(A C-Cube Draft Technical Memorandum: 10/12/91)awidthshow 754 516 gm 0 fs bu fc 2 F /|______Helvetica fnt bn (9)show 81 108 gm 12 fz bu fc 2 F /|______Times-Roman fnt bn -0.10546 0.(In order to maximize interchangeability of TIFF files with other formats, a restriction is)ashow 93 90 gm -0.11840 0.(placed on tile height for files containing JPEG compressed image data conforming to the)ashow 105 90 gm -0.07389 0.(JPEG interchange format syntax. The restriction, imposed only when the tile width is)ashow 117 90 gm -0.09849 0.(defined to be shorter than the image width and when the JPEGInterchangeFormat Tag is)ashow 129 90 gm -0.09689 0.(present and non-zero, states that the tile height must be equal to the height of one JPEG)ashow 141 90 gm -0.09156 0.(Minimum Coded Unit \(MCU\). This restriction ensures that TIFF files may be converted to)ashow 153 90 gm -0.06375 0.(JPEG interchange format without undergoing decompression.)ashow 193 90 gm 1 fs 14 fz bu fc 2 F /|______Helvetica-Bold fnt bn 2.02377 0. 32 0.20237 0.(Extensions to Existing Tags)awidthshow 229 104 gm 12 fz bu fc 2 F /|______Times-Bold fnt bn 0.66819 0.(Compression)ashow 241 118 gm 0 fs bu fc 2 F /|______Times-Roman fnt bn -0.03872 0.(Tag = 259 \(103 hex\))ashow 253 118 gm -0.06867 0.(Type = SHORT)ashow 265 118 gm 0.09979 0. 32 0.00997 0.(N = 1)awidthshow 289 118 gm -0.07638 0.(This Tag indicates the type of compression used.)ashow 313 118 gm -0.00309 0.( 1 = No compression)ashow 325 118 gm -0.00350 0.( 2 = CCITT Group 3)ashow 337 118 gm -0.05387 0.( 5 = LZW)ashow 349 90 gm ( )show 349 132 gm 0.25604 0. 32 0.02560 0.( )awidthshow 1 fs bu fc 2 F /|______Times-Bold fnt bn 1.72180 0. 32 0.17218 0.(6 = JPEG)awidthshow 361 90 gm 0 fs bu fc 2 F /|______Times-Roman fnt bn -0.01786 0.( 32773 = PackBits)ashow 385 118 gm -0.11508 0.(A new value of 6 indicates that the image data in the TIFF file has been JPEG )ashow 397 104 gm 0.03604 0.(compressed.)ashow 437 90 gm 1 fs 14 fz bu fc 2 F /|______Helvetica-Bold fnt bn 3.33053 0. 32 0.33305 0.(New Tags)awidthshow 473 104 gm 12 fz bu fc 2 F /|______Times-Bold fnt bn 0.47854 0.(JPEGProc)ashow 485 118 gm 0 fs bu fc 2 F /|______Times-Roman fnt bn -0.03872 0.(Tag = 512 \(200 hex\))ashow 497 118 gm -0.06867 0.(Type = SHORT)ashow 509 118 gm 0.09979 0. 32 0.00997 0.(N = 1)awidthshow 533 118 gm -0.07165 0.(This Tag indicates the JPEG process used to produce the compressed data. The )ashow 545 104 gm -0.09919 0.(values for this tag are defined to be consistent with the numbering convention used in )ashow 557 104 gm -0.08631 0.(ISO DIS 10918-2. Two values are defined at this time:)ashow 581 132 gm (1 )show 581 160 gm -0.09684 0.(= Baseline sequential process)ashow 593 132 gm (14)show 593 160 gm -0.01904 0.(= Lossless process with Huffman coding)ashow 617 118 gm -0.05993 0.(When the lossless process with Huffman coding is selected by this Tag, the Huffman)ashow 629 104 gm -0.10911 0.(tables used to encode the image are specified by the JPEGDCTables tag, and the )ashow 641 104 gm -0.03463 0.(JPEGACTables tag is not used.)ashow 665 118 gm -0.10136 0.( Values indicating JPEG processes other than those specified above will be defined in)ashow 677 104 gm -0.03070 0.(the future.)ashow F T cp %%Page: ? 10 op 31 30 xl 1 1 pen 754 90 gm (nc 31 30 761 582 6 rc)kp 0 gr T 1 setTxMode 2 fs 10 fz bu fc 2 F /|______Helvetica-Oblique fnt bn 0.02059 0. 32 0.00205 0.(A C-Cube Draft Technical Memorandum: 10/12/91)awidthshow 754 510 gm 0 fs bu fc 2 F /|______Helvetica fnt bn 0.88183 0.(10)ashow 93 104 gm 1 fs 12 fz bu fc 2 F /|______Times-Bold fnt bn 3.73443 0. 32 0.37344 0.(JPEGProc \(cont\325d\))awidthshow 117 104 gm 0 fs bu fc 2 F /|______Times-Roman fnt bn ( )show 117 118 gm -0.09097 0.(Not all of the tags described in this appendix are relevant to the JPEG process )ashow 129 104 gm -0.12149 0.(selected by this Tag. The following table specifies the tags which are applicable to each)ashow 141 104 gm -0.07824 0.(value defined by this Tag.)ashow 165 146 gm 4 fs 48.99996 ul -0.18652 0.(Tag Name)ashow 165 314 gm 65.99960 ul 0.45532 0. 32 0.04553 0.(JPEGProc =1)awidthshow 165 412 gm 72.00004 ul 0.43395 0. 32 0.04339 0.(JPEGProc =14)awidthshow 189 118 gm 0 fs -0.08071 0.(JPEGInterchangeFormat)ashow 189 328 gm 0.10208 0. 32 0.01020 0.( X)awidthshow 189 440 gm 0.15319 0. 32 0.01531 0.( X)awidthshow 201 118 gm -0.10012 0.(JPEGInterchangeFormatLength)ashow 201 328 gm 0.10208 0. 32 0.01020 0.( X)awidthshow 201 440 gm 0.15319 0. 32 0.01531 0.( X)awidthshow 213 118 gm -0.08537 0.(JPEGRestart Interval)ashow 213 328 gm 0.10208 0. 32 0.01020 0.( X)awidthshow 213 440 gm 0.15319 0. 32 0.01531 0.( X)awidthshow 225 118 gm 0.01745 0.(JPEGLosslessPredictors)ashow 225 440 gm 0.15319 0. 32 0.01531 0.( X)awidthshow 237 118 gm (JPEGPointTransforms)show 237 440 gm 0.15319 0. 32 0.01531 0.( X)awidthshow 249 118 gm -0.09771 0.(JPEGQTables)ashow 249 328 gm 0.10208 0. 32 0.01020 0.( X)awidthshow 261 118 gm -0.08927 0.(JPEGDCTables)ashow 261 328 gm 0.10208 0. 32 0.01020 0.( X)awidthshow 261 440 gm 0.15319 0. 32 0.01531 0.( X)awidthshow 273 118 gm -0.08927 0.(JPEGACTables)ashow 273 328 gm 0.10208 0. 32 0.01020 0.( X)awidthshow 297 104 gm -0.05926 0.(This Tag is mandatory whenever the Compression Tag is JPEG \(no default\).)ashow 333 104 gm 1 fs bu fc 2 F /|______Times-Bold fnt bn 0.33555 0.(JPEGInterchangeFormat)ashow 345 118 gm 0 fs bu fc 2 F /|______Times-Roman fnt bn -0.03872 0.(Tag = 513 \(201 hex\))ashow 357 118 gm -0.07426 0.(Type = LONG)ashow 369 118 gm 0.09979 0. 32 0.00997 0.(N = 1)awidthshow 393 118 gm -0.10646 0.(This Tag indicates whether or not a JPEG interchange format bitstream is present in )ashow 405 104 gm -0.08450 0.(the TIFF file. If a JPEG interchange format bitstream is present then this Tag points to)ashow 417 104 gm -0.08967 0.(the Start of Image \(SOI\) marker code.)ashow 441 90 gm ( )show 441 118 gm -0.06777 0.(If this Tag is zero or not present, a JPEG interchange format bitstream is not present.)ashow 477 104 gm 1 fs bu fc 2 F /|______Times-Bold fnt bn 0.34794 0.(JPEGInterchangeFormatLength)ashow 489 118 gm 0 fs bu fc 2 F /|______Times-Roman fnt bn -0.03872 0.(Tag = 514 \(202 hex\))ashow 501 118 gm -0.07426 0.(Type = LONG)ashow 513 118 gm 0.09979 0. 32 0.00997 0.(N = 1)awidthshow 537 118 gm -0.10420 0.(This Tag indicates the length in bytes of the JPEG interchange format bitstream. This)ashow 549 104 gm -0.10661 0.(Tag is useful for extracting the JPEG interchange format bitstream without parsing the )ashow 561 104 gm -0.07205 0.(bitstream.)ashow 585 118 gm -0.08984 0.(This Tag is relevant only if the JPEGInterchangeFormat Tag is present and is non-)ashow 597 104 gm 0.08866 0.(zero.)ashow 633 104 gm 1 fs bu fc 2 F /|______Times-Bold fnt bn 0.33592 0.(JPEGRestartInterval)ashow 645 118 gm 0 fs bu fc 2 F /|______Times-Roman fnt bn -0.03872 0.(Tag = 515 \(203 hex\))ashow 657 118 gm -0.06867 0.(Type = SHORT)ashow 669 118 gm 0.09979 0. 32 0.00997 0.(N = 1)awidthshow 693 118 gm -0.12818 0.(This Tag indicates the length of the restart interval used in the compressed image )ashow 705 104 gm -0.09588 0.(data. The restart interval is defined as the number of Minimum Coded Units \(MCUs\) )ashow 717 104 gm -0.06912 0.(between restart markers.)ashow F T cp %%Page: ? 11 op 31 30 xl 1 1 pen 754 90 gm (nc 31 30 761 582 6 rc)kp 0 gr T 1 setTxMode 2 fs 10 fz bu fc 2 F /|______Helvetica-Oblique fnt bn 0.02059 0. 32 0.00205 0.(A C-Cube Draft Technical Memorandum: 10/12/91)awidthshow 754 510 gm 0 fs bu fc 2 F /|______Helvetica fnt bn 0.88183 0.(11)ashow 93 104 gm 1 fs 12 fz bu fc 2 F /|______Times-Bold fnt bn 3.35266 0. 32 0.33526 0.(JPEGRestartInterval \(cont\325d\))awidthshow 117 118 gm 0 fs bu fc 2 F /|______Times-Roman fnt bn -0.08662 0.(Restart intervals are used in JPEG compressed images to provide support for multiple)ashow 129 104 gm -0.08746 0.(strips or tiles. At the start of each restart interval, coding state is reset to default values, )ashow 141 104 gm -0.11033 0.(allowing every restart interval to be decoded independently of previously decoded data.)ashow 153 104 gm -0.08265 0.(TIFF strip and tile offsets shall always point to the start of a restart interval. )ashow 165 104 gm -0.10795 0.(Equivalently, each strip or tile contains an integral number of restart intervals. Restart )ashow 177 104 gm -0.12614 0.(markers need not be present in a TIFF file; they are implicitly coded at the start of every)ashow 189 104 gm -0.04997 0.(strip or tile.)ashow 213 118 gm -0.09373 0.(See the JPEG Draft International Standard \(ISO DIS 10918-1\) for more information )ashow 225 104 gm -0.10614 0.(about the restart interval and restart markers.)ashow 249 118 gm -0.07838 0.(If this Tag is zero or is not present, the compressed data does not contain restart )ashow 261 104 gm 0.05146 0.(markers.)ashow 297 104 gm 1 fs bu fc 2 F /|______Times-Bold fnt bn 0.65242 0.(JPEGLosslessPredictors)ashow 309 118 gm 0 fs bu fc 2 F /|______Times-Roman fnt bn -0.03872 0.(Tag = 517 \(205 hex\))ashow 321 118 gm -0.06867 0.(Type = SHORT)ashow 333 118 gm -0.03540 0.(N = SamplesPerPixel)ashow 357 118 gm -0.07073 0.(This Tag points to a list of lossless predictor selection-values, one per component.)ashow 381 118 gm -0.11120 0.(The allowed predictors are listed in the following table.)ashow 405 162 gm -0.11970 0.( Selection-value Prediction)ashow 429 162 gm -0.01791 0.( 1 A)ashow 441 162 gm ( 2 B)show 453 162 gm ( 3 C)show 465 162 gm -0.01051 0.( 4 A+B-C)ashow 477 162 gm -0.01571 0.( 5 A+\(\(B-C\)/2\))ashow 489 162 gm -0.01571 0.( 6 B+\(\(A-C\)/2\))ashow 501 162 gm -0.01757 0.( 7 \(A+B\)/2)ashow 525 90 gm 10 fz bu fc 2 F /|______Times-Roman fnt bn ( )show 525 118 gm 12 fz bu fc 2 F /|______Times-Roman fnt bn -0.10513 0.(A, B, and C are the samples immediately to the left, immediately above, and )ashow 537 104 gm -0.12562 0.(diagonally to the left and above the sample to be coded respectively.)ashow 561 118 gm -0.08119 0.(See the JPEG Draft International Standard \(ISO DIS 10918-1\) for more details.)ashow 585 118 gm -0.06738 0.(This Tag is mandatory whenever the JPEGProc Tag specifies one of the lossless )ashow 597 104 gm -0.01239 0.(processes \(no default\).)ashow 633 104 gm 1 fs bu fc 2 F /|______Times-Bold fnt bn 0.46426 0.(JPEGPointTransforms)ashow 645 118 gm 0 fs bu fc 2 F /|______Times-Roman fnt bn -0.03872 0.(Tag = 518 \(206 hex\))ashow 657 118 gm -0.06867 0.(Type = SHORT)ashow 669 118 gm -0.03540 0.(N = SamplesPerPixel)ashow 693 118 gm -0.06616 0.(This Tag points to a list of point transform values, one per component. This Tag is )ashow 705 104 gm -0.01651 0.(relevant only for lossless processes.)ashow F T cp %%Page: ? 12 op 31 30 xl 1 1 pen 754 90 gm (nc 31 30 761 582 6 rc)kp 0 gr T 1 setTxMode 2 fs 10 fz bu fc 2 F /|______Helvetica-Oblique fnt bn 0.02059 0. 32 0.00205 0.(A C-Cube Draft Technical Memorandum: 10/12/91)awidthshow 754 510 gm 0 fs bu fc 2 F /|______Helvetica fnt bn 0.88183 0.(12)ashow 93 104 gm 1 fs 12 fz bu fc 2 F /|______Times-Bold fnt bn 3.97735 0. 32 0.39773 0.(JPEGPointTransforms \(cont\325d\))awidthshow 117 118 gm 0 fs bu fc 2 F /|______Times-Roman fnt bn -0.09339 0.(If the point transformation value is nonzero for a component, a point transformation )ashow 129 104 gm -0.04718 0.(of the input is performed prior to the lossless coding. The input is divided by 2**Pt,)ashow 141 104 gm -0.08634 0.(where Pt is the point transform value. The output of the decoder is rescaled to the )ashow 153 104 gm -0.09210 0.(input range by multiplying by 2**Pt. Note that the scaling of input and output can be )ashow 165 104 gm -0.08677 0.(performed by arithmetic shifts.)ashow 189 118 gm -0.08119 0.(See the JPEG Draft International Standard \(ISO DIS 10918-1\) for more details.)ashow 213 118 gm -0.09394 0.(The default value of this Tag is 0 for each component \(no scaling\).)ashow 249 104 gm 1 fs bu fc 2 F /|______Times-Bold fnt bn 0.39962 0.(JPEGQTables)ashow 261 118 gm 0 fs bu fc 2 F /|______Times-Roman fnt bn -0.03872 0.(Tag = 519 \(207 hex\))ashow 273 118 gm -0.07426 0.(Type = LONG)ashow 285 118 gm -0.03540 0.(N = SamplesPerPixel)ashow 309 118 gm -0.08401 0.(This Tag points to a list of offsets to the quantization tables, one per component.)ashow 333 118 gm -0.10505 0.(Each table consists of 64 BYTES \(one for each DCT coefficient in the 8x8 block\). )ashow 345 104 gm -0.11764 0.(The quantization tables are stored in zigzag order.)ashow 369 118 gm -0.08119 0.(See the JPEG Draft International Standard \(ISO DIS 10918-1\) for more details.)ashow 381 118 gm -0.08076 0.(It is strongly recommended that, within the TIFF file, each component be assigned )ashow 393 104 gm -0.08573 0.(separate tables.)ashow 417 90 gm ( )show 417 118 gm -0.08004 0.(This Tag is mandatory whenever the JPEGProc Tag specifies a DCT-based process )ashow 429 104 gm -0.02496 0.(\(no default\).)ashow 465 104 gm 1 fs bu fc 2 F /|______Times-Bold fnt bn 0.45484 0.(JPEGDCTables)ashow 477 118 gm 0 fs bu fc 2 F /|______Times-Roman fnt bn -0.03872 0.(Tag = 520 \(208 hex\))ashow 489 118 gm -0.07426 0.(Type = LONG)ashow 501 118 gm -0.03540 0.(N = SamplesPerPixel)ashow 525 118 gm -0.07389 0.(This Tag points to a list of offsets to the DC Huffman tables or the lossless Huffman)ashow 537 104 gm -0.03810 0.(tables, one per component.)ashow 561 118 gm -0.11178 0.(The format of each table is as follows:)ashow 585 132 gm -0.06835 0.(16 BYTES of "BITS", indicating the number of codes of lengths 1 to 16;)ashow 597 132 gm -0.08970 0.(Up to 17 BYTES of "VALUES", indicating the values associated with those )ashow 609 132 gm (codes, in order of length.)show 633 118 gm -0.08119 0.(See the JPEG Draft International Standard \(ISO DIS 10918-1\) for more details.)ashow 657 118 gm -0.08076 0.(It is strongly recommended that, within the TIFF file, each component be assigned )ashow 669 104 gm -0.08573 0.(separate tables.)ashow 693 90 gm ( )show 693 118 gm -0.05062 0.(This Tag is mandatory for all JPEG processes \(no default\).)ashow F T cp %%Page: ? 13 op 31 30 xl 1 1 pen 754 90 gm (nc 31 30 761 582 6 rc)kp 0 gr T 1 setTxMode 2 fs 10 fz bu fc 2 F /|______Helvetica-Oblique fnt bn 0.02059 0. 32 0.00205 0.(A C-Cube Draft Technical Memorandum: 10/12/91)awidthshow 754 510 gm 0 fs bu fc 2 F /|______Helvetica fnt bn 0.88183 0.(13)ashow 93 104 gm 1 fs 12 fz bu fc 2 F /|______Times-Bold fnt bn 0.45484 0.(JPEGACTables)ashow 105 118 gm 0 fs bu fc 2 F /|______Times-Roman fnt bn -0.03872 0.(Tag = 521 \(209 hex\))ashow 117 118 gm -0.07426 0.(Type = LONG)ashow 129 118 gm -0.03540 0.(N = SamplesPerPixel)ashow 153 118 gm -0.06939 0.(This Tag points to a list of offsets to the Huffman AC tables, one per component.)ashow 177 118 gm -0.11178 0.(The format of each table is as follows:)ashow 201 132 gm -0.06835 0.(16 BYTES of "BITS", indicating the number of codes of lengths 1 to 16;)ashow 213 132 gm -0.08837 0.(Up to 256 BYTES of "VALUES", indicating the values associated with those )ashow 225 132 gm (codes, in order of length.)show 249 118 gm -0.08119 0.(See the JPEG Draft International Standard \(ISO DIS 10918-1\) for more details.)ashow 273 118 gm -0.08076 0.(It is strongly recommended that, within the TIFF file, each component be assigned )ashow 285 104 gm -0.08573 0.(separate tables.)ashow 309 90 gm ( )show 309 118 gm -0.08004 0.(This Tag is mandatory whenever the JPEGProc Tag specifies a DCT-based process )ashow 321 104 gm -0.02496 0.(\(no default\).)ashow F T cp %%Page: ? 14 op 31 30 xl 1 1 pen 754 90 gm (nc 31 30 761 582 6 rc)kp 0 gr T 1 setTxMode 2 fs 10 fz bu fc 2 F /|______Helvetica-Oblique fnt bn 0.02059 0. 32 0.00205 0.(A C-Cube Draft Technical Memorandum: 10/12/91)awidthshow 754 510 gm 0 fs bu fc 2 F /|______Helvetica fnt bn 0.88183 0.(14)ashow 95 90 gm 1 fs 14 fz bu fc 2 F /|______Helvetica-Bold fnt bn 2.44750 0. 32 0.24475 0.(Minimum Requirements for TIFF with JPEG Compression)awidthshow 125 104 gm 0 fs 12 fz bu fc 2 F /|______Times-Roman fnt bn -0.10162 0.(The following table shows the minimum requirements of a TIFF file using tiling and)ashow 137 90 gm -0.06837 0.(containing JPEG data compressed with the Baseline process.)ashow 168 90 gm 6 fz bu fc 2 F /|______Courier fnt bn -0.12052 0.(Tag = NewSubFileType \(254\))ashow 174 90 gm -0.14903 0.(Type = Long)ashow 180 90 gm -0.11013 0.(Length = 1)ashow 186 90 gm -0.11013 0.(Value = 0)ashow 168 306 gm -0.10813 0.(Single image)ashow 162 85 gm 162 85 0 gr lin 162 85 lin 162 86 gm 162 300 lin 162 301 gm 162 301 lin 162 302 gm 162 516 lin 162 517 gm 162 517 lin 162 517 lin 163 85 gm 186 85 lin 163 301 gm 186 301 lin 163 517 gm 186 517 lin 193 90 gm 0 gr T 1 setTxMode -0.12408 0.(Tag = ImageWidth \(256\))ashow 199 90 gm -0.14903 0.(Type = Long)ashow 205 90 gm -0.11013 0.(Length = 1)ashow 211 90 gm -0.11013 0.(Value = ?)ashow 187 85 gm 187 85 0 gr lin 187 86 gm 187 300 lin 187 301 gm 187 301 lin 187 302 gm 187 516 lin 187 517 gm 187 517 lin 188 85 gm 211 85 lin 188 301 gm 211 301 lin 188 517 gm 211 517 lin 218 90 gm 0 gr T 1 setTxMode -0.10308 0.(Tag = ImageLength \(257\))ashow 224 90 gm -0.14903 0.(Type = Long)ashow 230 90 gm -0.11013 0.(Length = 1)ashow 236 90 gm -0.11013 0.(Value = ?)ashow 212 85 gm 212 85 0 gr lin 212 86 gm 212 300 lin 212 301 gm 212 301 lin 212 302 gm 212 516 lin 212 517 gm 212 517 lin 213 85 gm 236 85 lin 213 301 gm 236 301 lin 213 517 gm 236 517 lin 243 90 gm 0 gr T 1 setTxMode -0.10279 0.(Tag = BitsPerSample \(258\))ashow 249 90 gm -0.10675 0.(Type = Short)ashow 255 90 gm -0.10343 0.(Length = SamplesPerPixel)ashow 261 90 gm -0.11013 0.(Value = ?)ashow 243 306 gm -0.10675 0.(8 : Monochrome)ashow 249 306 gm -0.15905 0.(8,8,8 : RGB)ashow 255 306 gm -0.14903 0.(8,8,8 : YCbCr)ashow 261 306 gm -0.10675 0.(8,8,8,8 : CMYK)ashow 237 85 gm 237 85 0 gr lin 237 86 gm 237 300 lin 237 301 gm 237 301 lin 237 302 gm 237 516 lin 237 517 gm 237 517 lin 238 85 gm 261 85 lin 238 301 gm 261 301 lin 238 517 gm 261 517 lin 268 90 gm 0 gr T 1 setTxMode -0.10308 0.(Tag = Compression \(259\))ashow 274 90 gm -0.14903 0.(Type = Long)ashow 280 90 gm -0.11013 0.(Length = 1)ashow 286 90 gm -0.11013 0.(Value = 6)ashow 268 306 gm -0.10433 0.(6 : JPEG compression)ashow 262 85 gm 262 85 0 gr lin 262 86 gm 262 300 lin 262 301 gm 262 301 lin 262 302 gm 262 516 lin 262 517 gm 262 517 lin 263 85 gm 286 85 lin 263 301 gm 286 301 lin 263 517 gm 286 517 lin 293 90 gm 0 gr T 1 setTxMode -0.10166 0.(Tag = PhotometricInterpretation \(262\))ashow 299 90 gm -0.10675 0.(Type = Short)ashow 305 90 gm -0.11013 0.(Length = 1)ashow 311 90 gm -0.11013 0.(Value = ?)ashow 293 306 gm -0.10574 0.(0,1 : Monochrome)ashow 299 306 gm -0.19900 0.(2 : RGB)ashow 305 306 gm -0.11328 0.(5 : CMYK)ashow 311 306 gm -0.17398 0.(6 : YCbCr)ashow 287 85 gm 287 85 0 gr lin 287 86 gm 287 300 lin 287 301 gm 287 301 lin 287 302 gm 287 516 lin 287 517 gm 287 517 lin 288 85 gm 311 85 lin 288 301 gm 311 301 lin 288 517 gm 311 517 lin 318 90 gm 0 gr T 1 setTxMode -0.10253 0.(Tag = SamplesPerPixel \(277\))ashow 324 90 gm -0.10675 0.(Type = Short)ashow 330 90 gm -0.11013 0.(Length = 1)ashow 336 90 gm -0.11013 0.(Value = ?)ashow 318 306 gm -0.10675 0.(1 : Monochrome)ashow 324 306 gm -0.19900 0.(3 : RGB)ashow 330 306 gm -0.17398 0.(3 : YCbCr)ashow 336 306 gm -0.11328 0.(4 : CMYK)ashow 312 85 gm 312 85 0 gr lin 312 86 gm 312 300 lin 312 301 gm 312 301 lin 312 302 gm 312 516 lin 312 517 gm 312 517 lin 313 85 gm 336 85 lin 313 301 gm 336 301 lin 313 517 gm 336 517 lin 343 90 gm 0 gr T 1 setTxMode -0.10308 0.(Tag = XResolution \(282\))ashow 349 90 gm -0.13653 0.(Type = Rational)ashow 355 90 gm -0.11013 0.(Length = 1)ashow 361 90 gm -0.11013 0.(Value = ?)ashow 337 85 gm 337 85 0 gr lin 337 86 gm 337 300 lin 337 301 gm 337 301 lin 337 302 gm 337 516 lin 337 517 gm 337 517 lin 338 85 gm 361 85 lin 338 301 gm 361 301 lin 338 517 gm 361 517 lin 368 90 gm 0 gr T 1 setTxMode -0.10308 0.(Tag = YResolution \(283\))ashow 374 90 gm -0.13653 0.(Type = Rational)ashow 380 90 gm -0.11013 0.(Length = 1)ashow 386 90 gm -0.11013 0.(Value = ?)ashow 362 85 gm 362 85 0 gr lin 362 86 gm 362 300 lin 362 301 gm 362 301 lin 362 302 gm 362 516 lin 362 517 gm 362 517 lin 363 85 gm 386 85 lin 363 301 gm 386 301 lin 363 517 gm 386 517 lin 393 90 gm 0 gr T 1 setTxMode -0.10212 0.(Tag = PlanarConfiguration \(284\))ashow 399 90 gm -0.10675 0.(Type = Short)ashow 405 90 gm -0.11013 0.(Length = 1)ashow 411 90 gm -0.11013 0.(Value = ?)ashow 393 306 gm -0.12905 0.(1 : Block Interleaved)ashow 399 306 gm -0.13240 0.(2 : Not interleaved)ashow 387 85 gm 387 85 0 gr lin 387 86 gm 387 300 lin 387 301 gm 387 301 lin 387 302 gm 387 516 lin 387 517 gm 387 517 lin 388 85 gm 411 85 lin 388 301 gm 411 301 lin 388 517 gm 411 517 lin 418 90 gm 0 gr T 1 setTxMode -0.12052 0.(Tag = ResolutionUnit \(296\))ashow 424 90 gm -0.10675 0.(Type = Short)ashow 430 90 gm -0.11013 0.(Length = 1)ashow 436 90 gm -0.11013 0.(Value = ?)ashow 412 85 gm 412 85 0 gr lin 412 86 gm 412 300 lin 412 301 gm 412 301 lin 412 302 gm 412 516 lin 412 517 gm 412 517 lin 413 85 gm 436 85 lin 413 301 gm 436 301 lin 413 517 gm 436 517 lin 443 90 gm 0 gr T 1 setTxMode -0.10343 0.(Tag = TileWidth \(322\))ashow 449 90 gm -0.10675 0.(Type = Short)ashow 455 90 gm -0.11013 0.(Length = 1)ashow 461 90 gm -0.11013 0.(Value = ?)ashow 443 306 gm -0.14903 0.(Multiple of 8)ashow 437 85 gm 437 85 0 gr lin 437 86 gm 437 300 lin 437 301 gm 437 301 lin 437 302 gm 437 516 lin 437 517 gm 437 517 lin 438 85 gm 461 85 lin 438 301 gm 461 301 lin 438 517 gm 461 517 lin 468 90 gm 0 gr T 1 setTxMode -0.12408 0.(Tag = TileLength \(323\))ashow 474 90 gm -0.10675 0.(Type = Short)ashow 480 90 gm -0.11013 0.(Length = 1)ashow 486 90 gm -0.11013 0.(Value = ?)ashow 468 306 gm -0.14903 0.(Multiple of 8)ashow 462 85 gm 462 85 0 gr lin 462 86 gm 462 300 lin 462 301 gm 462 301 lin 462 302 gm 462 516 lin 462 517 gm 462 517 lin 463 85 gm 486 85 lin 463 301 gm 486 301 lin 463 517 gm 486 517 lin 493 90 gm 0 gr T 1 setTxMode -0.10308 0.(Tag = TileOffsets \(324\))ashow 499 90 gm -0.14903 0.(Type = Long)ashow 505 90 gm -0.10343 0.(Length = Number of tiles)ashow 511 90 gm -0.11013 0.(Value = ?)ashow 487 85 gm 487 85 0 gr lin 487 86 gm 487 300 lin 487 301 gm 487 301 lin 487 302 gm 487 516 lin 487 517 gm 487 517 lin 488 85 gm 511 85 lin 488 301 gm 511 301 lin 488 517 gm 511 517 lin 518 90 gm 0 gr T 1 setTxMode -0.12052 0.(Tag = TileByteCounts \(325\))ashow 524 90 gm -0.14903 0.(Type = Long)ashow 530 90 gm -0.10343 0.(Length = Number of tiles)ashow 536 90 gm -0.11013 0.(Value = ?)ashow 512 85 gm 512 85 0 gr lin 512 86 gm 512 300 lin 512 301 gm 512 301 lin 512 302 gm 512 516 lin 512 517 gm 512 517 lin 513 85 gm 536 85 lin 513 301 gm 536 301 lin 513 517 gm 536 517 lin 543 90 gm 0 gr T 1 setTxMode -0.12637 0.(Tag = JPEGProc \(512\))ashow 549 90 gm -0.10675 0.(Type = Short)ashow 555 90 gm -0.11013 0.(Length = 1)ashow 561 90 gm -0.11013 0.(Value = ?)ashow 543 306 gm -0.10433 0.(1 : Baseline process)ashow 537 85 gm 537 85 0 gr lin 537 86 gm 537 300 lin 537 301 gm 537 301 lin 537 302 gm 537 516 lin 537 517 gm 537 517 lin 538 85 gm 561 85 lin 538 301 gm 561 301 lin 538 517 gm 561 517 lin 568 90 gm 0 gr T 1 setTxMode -0.10308 0.(Tag = JPEGQTables \(519\))ashow 574 90 gm -0.14903 0.(Type = Long)ashow 580 90 gm -0.10343 0.(Length = SamplesPerPixel)ashow 586 90 gm -0.11013 0.(Value = ?)ashow 568 306 gm -0.13653 0.(Offsets to tables)ashow 562 85 gm 562 85 0 gr lin 562 86 gm 562 300 lin 562 301 gm 562 301 lin 562 302 gm 562 516 lin 562 517 gm 562 517 lin 563 85 gm 586 85 lin 563 301 gm 586 301 lin 563 517 gm 586 517 lin 593 90 gm 0 gr T 1 setTxMode -0.12216 0.(Tag = JPEGDCTables \(520\))ashow 599 90 gm -0.14903 0.(Type = Long)ashow 605 90 gm -0.10343 0.(Length = SamplesPerPixel)ashow 611 90 gm -0.11013 0.(Value = ?)ashow 593 306 gm -0.13653 0.(Offsets to tables)ashow 587 85 gm 587 85 0 gr lin 587 86 gm 587 300 lin 587 301 gm 587 301 lin 587 302 gm 587 516 lin 587 517 gm 587 517 lin 588 85 gm 611 85 lin 588 301 gm 611 301 lin 588 517 gm 611 517 lin 618 90 gm 0 gr T 1 setTxMode -0.12216 0.(Tag = JPEGACTables \(521\))ashow 624 90 gm -0.14903 0.(Type = Long)ashow 630 90 gm -0.10343 0.(Length = SamplesPerPixel)ashow 636 90 gm -0.11013 0.(Value = ?)ashow 618 306 gm -0.13653 0.(Offsets to tables)ashow 612 85 gm 612 85 0 gr lin 612 86 gm 612 300 lin 612 301 gm 612 301 lin 612 302 gm 612 516 lin 612 517 gm 612 517 lin 613 85 gm 636 85 lin 637 85 gm 637 85 lin 637 85 lin 637 86 gm 637 300 lin 613 301 gm 636 301 lin 637 301 gm 637 301 lin 637 302 gm 637 516 lin 613 517 gm 636 517 lin 637 517 gm 637 517 lin 637 517 lin F T cp %%Page: ? 15 op 31 30 xl 1 1 pen 754 90 gm (nc 31 30 761 582 6 rc)kp 0 gr T 1 setTxMode 2 fs 10 fz bu fc 2 F /|______Helvetica-Oblique fnt bn 0.02059 0. 32 0.00205 0.(A C-Cube Draft Technical Memorandum: 10/12/91)awidthshow 754 510 gm 0 fs bu fc 2 F /|______Helvetica fnt bn 0.88183 0.(15)ashow 95 90 gm 1 fs 14 fz bu fc 2 F /|______Helvetica-Bold fnt bn 0.83796 0.(References)ashow 125 90 gm 0 fs 12 fz bu fc 2 F /|______Times-Roman fnt bn -0.06562 0.([1] Wallace, G., "Overview of the JPEG Still Picture Compression Algorithm", Electronic)ashow 137 90 gm 0.33248 0. 32 0.03324 0.(Imaging East '90.)awidthshow 161 90 gm -0.07411 0.([2] ISO/IEC DIS 10918-1, \322Digital Compression and Coding of Continuous-tone Still)ashow 173 90 gm 0.43487 0. 32 0.04348 0.(Images\323, Sept. 1991.)awidthshow F T cp %%Trailer cd end %%Pages: 15 0 %%EOF