KODER FÖR FAKSIMIL ÖVERFÖRING Eva Kornfeldt
Lars Wallin
INTERNSKRIFT LiTH-ISY-I-0201
INNEHÅLL
l. Sammanfattning
2. Inledning
3. Koder
3.1 Modified Huffman Code
3.2 In termedia te Ternary Code
3.3 Blockkod
4. Beräkningar och resultat 5. slutsatser 6. Histogram 7. Referenser Appendix: Programlistningar Sid l 2 3 3 3 6 8 12 13 15
l. SAMMANFATTNING
Två endimensionella koder för faksimil överföring av dokument har studerats, Modified Huffman Code (MHC} och Intermediate Ternary Code (ITC}. Båda koderna är före-slagna t i l l CCITT för standardisering. Vi har beräknat hur bra kompression man får med de båda koderna på CCITT:s 8 testdokument. skillnaderna är inte så stora men MHC har en något bättre kompressionsförmåga.
2.
2. INLEDNING
De koder som används för att minska redundansen vid faksimilkodning är antingen en- eller tvådimensionella. Endimensionella koder tar ~ndast vara på beroende inom en avsökningslinje. Tvådimensionella koder däremot, tar hänsyn även t i l l beroende mellan linjer.
CCITT's åtta testdokument är av A4-storlek med 2128
avsökningslinjer, vardera om 1728 pels ("picture elements"). Att överföra ett sådant dokument utan kodning, med hastig-heten 4800 baud skulle ta ungefär 13 minuter. Ett mål är att minska överföringstiden t i l l mindre än l minut.
Mätningar har visat [l] att vid halva denna vertikalupp-lösning är de endimensionella koderna tillräckligt bra. Vi har undersökt två av de endimensionella koder som har föreslagits t i l l CCITT för standardisering, Modified Ruffman Code (MHC) [2] och Intermediate Ternary Code
(ITC) [3], med avseende på kompressionsförmåga. En enkel blockkod med valfri (l, 2, 4 eller 8 pels) blocklängd har undersökts som jämförelse. För beräkningarna har data med den högre upplösningen enligt ovan använts.
3. KODER
Som modell för ett faksimildokument väljs någon upprep-ande källa. För MHC och ITC har valts en källa som alstrar skurar av olika längd, s k skurlängskodning. Varje kod-ord representerar då en svart eller vit skur av viss
längd. För blockkoden används en källa bestående av block om valfritt och konstant antal pels.
3.1 Modified Huffman Code [2)
Med hjälp av de beräknade sannolikhetsfördelningarna för svarta och vita skurlängder kan man med Huffman-kodning
[4] optimalt beräkna kodord t i l l de olika skurarna.
I MHC har de 64 kortaste skurarna (inklusive skurlängd 0) Huffman-kodats. skurlängder i området 64 t i l l 1728 pels kodas med två ord, ett "make up" ord som representerar en multipel av 64 och ett "terminating" ord som anger skillnaden mellan skurlängden och make up-kodordet (se tabell l och figur l) .
Varje avsökningslinje förutsätts börja med en vit skur. När en linje börjar med svart skur sänds därför först kodordet för vit skur av längd O.
Viss redundansökande information tillsätts efter kodningen i syfte att ge god reproducerbarhet i avkodaren. I MHC tillsätts linjesynkroniseringsord (End Of Line) samt ett ord som anger när sidan är· slut (End Of Page).
3.2 Intermediate Ternary Code [3]
skurlängd
o
l 2.
.
.
.
.
63 Kodord för vita skurar 00110101 000111 0111 1000.
.
.
.
00110100 4. Kodord för svarta skurar 0000110111 010 11 lO.
.
.
.
000001100111--- ---
---64 11011 000001111 128 10010.
192 010111.
.
.
.
.
.
.
•.
.
1728 010011011 0000001100101linje synk. ord 00000000001 00000000001
Tabell l
t
458 VITA 3 SVARTA 32v
2 s 21v
... """' -....o
l lo o
lo
010o
l l l lo o o o
l lo
l l l lo o
lo
l l l MA KE UP 448 1TERM 10 l T 3 T 32 T 2 T 21VIT l VIT
sv
VITsv
VITFigur l
~ )
11
6 VITAl
2sv
27v
7sv
18v
11
pel-sekvens HHL HL HHLHH HHH HL LHL binär repre-sentation av skurlängder 110 20 11011 222 10010 översättning'---v---/
~ ~ kod t i l l ternär 11020 11011 22210 ternära pentader 114 112 237 decimala tal 01110010 01110000 11101101 binära oktader Figur 2Längden hos varje skur anges med ett binärt tal där "H" (hög) och "L" (låg) omvandlas t i l l "l" och "O"
respektive "2" och "O" för vit respektive svart skur. Denna ternära kod omvandlas t i l l 8-bitars binär kod via ett decimalt stadium. För hel vit respektive svart linje finns speciella 8-bitars binära kodord. Binär-ternär-binäromvandlingen görs för att förbättra felåterhämt-ningen. (Resynkronisering av ord möjlig). ITC är trots det tredje tillståndet en effektiv kod (se resultat).
ITC är en icke-momentan kod, ty man vet inte att det ternära kodordet är slut förrän man läst första siffran i nästa kodord.
Redundansökande är dels de s k "padding"-bitarna, dels
kodord med speciell innebörd (se tabell 2). Padding-bitar tillsätts i det ternära stadiet i slutet av varje linje där den sista pentaden ej är full.
Decimaltal 000 001 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 Tabell 2 Binär representation 00000000 00000001 11110001 11110010 11110011 11110100 11110101 11110110 11110111 11111000 11111001 11111010 11111011 11111100 11111101 11111110 11111111 3.3 Blockkod
Källorden bildas enligt figur 3.
Betydelse
35 st. kod-ord för
bild-innehållet
hel vit linje 6.
ej använd
dokumentet börjar hel svart linje
linjens sista skur svart EOL l (End Of Line)
EOL 2 EOL 3 EOL 4 ej använd ej använd ej använd
EOP (dokumentet slutar)
pel-sekvens
J
s
V V V V S S V S V V V V S S S V V V V V V V V V S S S V Vi
binär
represen-- tation av 8-pels block som ~edan Huffmankodas och ger kodorden
o o o
l lo
lo o o o
l l lo o o o o o o o o
lKällalfabetet kommer att bestå av 2k st symboler (k
=
blocklängden) . Även i blockkoder måste redundant infor-mation insättas vid överföring.8.
4. BERÄKNINGAR OCH RESULTAT
De storheter som beräknas i programmen är 11
compression bound" (CB*), 11
Compression ratio11
(CR), effektivitet (n)
och totala antalet kodade bitar per sida (NBTOT).
Med den valda källan beräknas entropin för dokumentet. Pelentropin, HPEL, anger det minimala antal bitar som i medel behövs för att representera en pel.
HSYM HPEL
=
ANPSYMdär
[bit/pel]
HSYM [bit/symbol]
=
entropi per symbol(l)
ANPSYM [bit/symbol]
=
medelantalet pels per symbol* P g a att ITC är en icke-momentan kod kan entropibe-räkning på vanligt sätt ej utföras. CB för ITC har där-för beräknats där-för en i övrigt ekvivalent, men momentan kod.
Den motsvarande momentana kod·en fås genom att första siff-ran i varje ternärt kodord stryks och istället tillfogas första siffran i nästa kodord. Första siffran på varje avsökningslinje bibehålls dock som 11
färg11
-information. Koden beskrivs av Elias [5].
CB definieras som inversen t i l l entropin.
CB
=
lHPEL [pel/bit] ( 2)
CR anger det antal pels som varje bit i den valda koden representerar.
Kodens effektivitet beräknas som kvoten mellan CR och CB.
=
CR 100n CB [%] ( 3)
NBTOT anger hur många bitar koden behöver för att repre-sentera dokumentet.
Alla dessa storheter beräknas utan den efter kodning
in-förda redundanta informationen, s k "overhead". För att
kunna jämföra resultaten med [l] beräknade vi CR
0, dvs
CR inklusive overhead. Andelen overhead beräknades som
CR - CR
0
PO
=
CR 100 [%] (4)Resultaten av beräkningarna visas i tabell 3.
Transmissionstiderna (Hastighet 4800 baud) för de olika dokumenten med de båda koderna visas i figur 4.
Blockkoden har testats endast på dokument l , men med fyra blockstorlekar. Dessa resultat visas i tabell 4.
•
CB CR
Kod Dokum. [pel/bit] [pel/bit]
l 19,814 17,040 2 22,376 16,835 3 10,938 9,256 4 6,052 5,535 MHC
s
10,117 8,980 6 14,720 10,960 7 5,583 4,995 8 11,265 8,359 l 19,814 16,976 2 22,376 16,855 3 10,939 9,092 4 6,053 5,414 ITCs
10,117 8,839 6 14,720 10,699 7 5,583 4,586 8 11,416 8,909 ~- - - - -Tabell 3 n NBTOT [%] [bit] 86,0 215.801 75,2 218.431 84,6 397.272 91,5 664.311 88,8 409.491 74,5 335.508 89,5 736.180 74,2 439.895 85,7 216.613 75,3 218.162 83,1 404.440 89,4 679.219 87,4 416.040 72,7 343.690 82,1 801.806 78,0 412.739 CR0 [pel/bit] 15,369 15,202 8,740 5,347 8,493 10,244 4,841 7,936 14,664 14,574 8,384 5,155 8,168 9,732 4,399 8,075 P o [ % ] 9,8 9,7 5,6 3,4 5,4 6,5 3,1 5,1 13,6 13,5 7,7 4,8 7,6 9,0 4,1 9,4 ... oBlocklängd CB CR n NBTOT [pel] [pel/ bit] [pel/ bit] [%l [bit]
l 5,967 1,000 16,8 3.677.184 2 8,508 1,921 22,6 1.915.813 4 10,871 3,564 32,8 l . 033.289 8 12,867 6,149 47,8 599.381 Tabell 4 200 Transmissionstid (s) 2 min . __ _ ___ - ___ - - - -100 l min l 2 3 4 5 6 7 8 Figur 4 Dokument nr
12.
5. SLUTSATSER
Blockkoden är (se tabell 4} inte så effektiv som skur-längdskoderna, men effektiviteten ökar med blockstor-leken. ökningen beror på att man får med mer beroende inom blocket med ökad blocklängd.
MHC och ITC har i stort sett samma värden på CR (se tabell 3). Till ITC fogas sedan mer "overhead" så att transmissionstiden i genomsnitt blir något högre än för MHC (se figur 4). Det uppsatta målet för transmissions-tiden, l minut, har däremot inte uppnåtts (endast dok. l och 2), men det är ändå en avsevärd minskning i för-hållande t i l l transmissionstiden för den okodade sidan
(13 minuter) •
CCITT arbetar nu med att standardisera en endimensionell kod vid halva den upplösningen vi har använt [1]. MHC är den kod som väntas bli standard. Vi skall därför simu-lera transmission med MHC. Anledningen t i l l att vi an-vänder den högre upplösningen är att de tvådimensionella koder som CCITT senare skall standardisera arbetar vid den högre upplösningen och förmodligen kommer att bygga på den enklare standardiserade endimensionella koden.
6. HISTOGRAM
Ett histogram för antal kodade bitar per linje för dokument l, kodat med MHC och utan overhead visas i figur 5. storleken på histogram och dokument har hal-verats vid kopieringen.
Man kan se att i textraderna, där informationen finns, blir staplarna i histogrammet långa, dvs ju större informationsmängd desto större antal bitar.
-<:t
..
-THE SLEREXE COMPANY LIMITED
SAPORS lANE • alOUl . DOJt.SBT • BB l5 ll!ll ,..,..._. _ . (MS U) 51617 , - IDe56 Our . . f. lSO/PJCfE.Al; Dr. P.N. Cundell, Minin& Surveye Ltd., Rolroyd aoad, Read in&. lierita. Dear Peta, 11th J.nuary, 1972.
Perait - to iotrochaca ~ to t.be facility of facehd.le tranellliae i on.
In faceiaile a pbotocell ie caueed to perfor. a raeter eceo ov.r the·aubje:~ copy. The veriati~ of priot deneity on the docua.ot cause the photocell to senerate &D analoaoae electrical video eisnal. Thia •iiD•l ia ueed to aodulate a earrier, vhich ie trana.dtted to a re=ote deatination over a radio or cable co.municationa link.
At the reaote ter.ioal, de.odulation recooatructe the video eignal, vhich ie uaed to aodulate the deneity of print produced by • printina device. Tbia deviee ie ecaanina in a reater eceo tynchronieed with that at the craotedttina ter.inal. Ae a reeult0 a faceimile
copy of the aubjaet docuaent ie produced.
Probably you bav. ueee for tbie Cecility in your oraanieation. Toure eincarely.
-~XL.
P.J. ClWSS
Croup Leeder - Fecai.tle a.aearch
~~-~ ... : No.ll'<XHS
"--.-...d om... .,
v...
IA.~Ho. Jltord.. . . .U") ~ :J Ol •.-i lL..
7. REFERENSER
[l] H.G. Musmann, D. Preuss: "Comparison of Re-dundancy Reducing Codes for Facsimile Trans-mission of Documents". IEEE Trans. on Comm., Nov. 1977, pp 1425-1433.
[2] CCITT Study Group XIV, Graphic Sciences, Inc. et al: "Modified Huffman Code". Temp. doc. No. 11, Sept. 1976.
[3] U. Rothgordt: "Runlength Coding Method for Black-and-White Facsimile with a Ternary Code as an Intermediate Step". Electronics Letters, Vol. 11, 6 March 1975, pp 101.
[4] D.A. Huffman: "A Method for the Construction of Minimum Redundancy Codes". Proc. IRE, Vol. 40, Sept 1952, pp 1098-1101.
[5] P. Elias: "Predicitive Coding". !RE Trans on Inf. Theory, March 1955, pp 16-33.
.•
APPENDIX: Programlistningar
Modified Huffman Code
T'(PE Yf'lA I r·i2. FOR
00100 C•••• MHlN P~OGRAM +++++++++++++++++++++++++++++++++++++++++
00200
c
•••••••••••••••••••••••••••••••••••••••••••••••••••••
00300 C + PROGRAM ' MA1N1 ' ORGANIZ~S AN ALGORITHM STUDY INTO+
00400 C • TH~~E MHJU~ ~UBROUTIN~S: •
0050U C • <l> MOU~L: UEFINES A REPEATING LOCAL SOURCE •
00600 C • AND ES11MH1ES ITS PROBABILITIES •
00700 C • <~> BOUNU: CALCULATES COMPR~SSION BOUNDS •
00800
o
(1'9o o
011)(10 01100 01200 013(11) 01401.1 ·01500 016 (Il) 01700 01900 0200(1 0210U 02120 02140 02160 0218o
02:300 024(10 02~5 0(1 0261Jo
02700 02E: (ttJ 02';.1) (l o·~: (Il) (l (l ::.::t (Il)o
:
::
:c· o
o
0331)0 034UO (1.350o
03600 1)3?01.1o
:
.::::: o
u (1 . .:: (="o
(l 04 (lo
u 041(11) 04200 0431.10 04400 04'::11_1 o 1)461.1 u 04 7 (1(1 1"148 u (l Ct
F~DM lH~ MODEL DATA +r • <3> CODE: CALCULATES COMPPESSION RATIOS FOR +
C • PRACTICAL CODES APPLIED TO TH~ MODEL +
C + WHEN THESE SUB~OUllNES HAVE BEEN RUN, THE MAIN +
C ~ PROG~AM SUMMA~IZES BOUND VS. CODE PERFORMANCE + C • BY COMPUliNG THE CODE EFFICIENCY. +
c
l ~ •c
c
c
c
c
c
c
c
c
c
• VA~IABLE LIST: • HLP~L=
HV~~Hb~ L~NGTH P~R P~L <FROM CODE>• ANPSYM
=
HVE~HbE P~LS PER SYMBOL (FROM MODEL) • EF~!C=
EFFICIENCY OF CODE COMPARED TO BOUND • HPEL=
ENlROPY PER PEL <FROM BOUND)• ISMAX
=
MHXIMUM INDEX NUMBER FOR SYMBOLS• I,.I.,:'R$YM
=
H~~HY: 1\IH I TE SYMBOL PROBAB I L I T I ES • BPR$YM=
H~~HY: BLACK SYMBOL PROBABILITIES + NhiS:=
NLH•lf:E~ OF ~1.IH I TE S"r'MBOL S:• NBS
=
NUMBER OF BLACK SYMBOLS•
•
•
•
•
•
•
•
•
•
c
l • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • C••••••••••••••• INITIALIZE ••••••••••••••••••••••••••••••••DIMENSlON WPRSYM(1729>,BPRSYM(1729>
I $Mft:><:
=
l 7~~ HPEL = -'::1'::199. ALF'EL=
-'S19'SI9.C••••••••••••••• PROCE$S: ••••+++++++••••••••••••••••••••••••
CHLL MODEL (I$MAX,WPRSYM,BPRSYM,ANPSYM,NWS,NBS)
CALL BUUND <ISMHX,WPRSYM,BPRSYM,ANPSYM,HPEL,NWS,NBS> CHLL C U liE. U S:MHX d•IF'RS:YM, BPRS:YM' ANPSYM, ALPEL' NtoiS:' NBS> TYPE 101.1
TYPE 1(11
IF <ALPEU 090·091h060
Obl.l EFFIC
=
lOO.+<HPEL/ ALPEL>lYPE 102·EFFIC
t<E. 1 UFo:N 09 O l YPE l U:::<
RET URf'i
C+++•••••••••••• ~U~MHI ••••••••••••••••••••••••••••••••••••
100 FOI':Mt1T <lHII, ·· MHJt'i PROI:;Fo•AM' >
(:
c
l O 1 t=ORf•lH 1 < l H O• 2X' ' S:UMMHf.<'Y: ")
l O~ F URMH l <l H • 4X' ··~F F I C I EN l~: Y
=
'
•
F 6. 1' ·· :,.~' )Ht::: ~DRMI11 nH •4><:• ' ERR[IR: P~OBABLY IN MODEL S:UBROUTitiE"')
0'5::: (Il) C • F ROt-l H F l L E. l•lll H 1 HE. HFLP OF FtS:SEME:L Y LFtN(;UFtGE •
05900 C • s:uf!f<'OUllt'IE ·· AIJNF'AC'. SYMBOL PROBAF:ILI TIE:5: AF'E •
06000 C • E.SllMHTE.D USING SUBROUTINE 'PROBAB' AND THEN THE+
06100 C • HVE.RAGE. NUMBE.R OF .PELS PER SYMBOL IS CALCULATED. +
061
o:.
c
•
•
06110 C • THE. !MHb~ UHlH IU BE PROCE.SSE.D IS SPECIFlED BY A •
06115 C • flLE. IN lH~ 'OPE.N' STATEMENT AND THE RANGE OF THE+
0612 O C • L I r'ft: HNll HL.UI.:K. I N (11 CES (I LM I N-I LMA>< • I Bf'l I N-I BMAX> •
+
062 (Il)
c
•
•
063 U O C • AF<'I.::tllf'lf N l L I Sl: +
06400 C • lSMHX = MHXIMUM INDEX NUMBER FOR SYMBOLS(INPUT) + 06600 C • ANPSYM = AV~~AGE PELS PER SYMBOL COUTRUT) •
06700
c
•
•
06800
c
•
LOCAL VARIABLE LIST:•
06900
c
•
IB = Ir'iliE.X FOR BLOC!<' IN IMAGE DATA Lit'fE•
070(1(1 07100 07200 0?300 074 (l
o
O?~iOO . 076 (l (l (l ?7 (Il) 0?801) 07810 0?820 07830 07'84(1 07850 0790(1o:::
(lo
(lo:::
l (Il)o:::2o o
o:=::::: o o 0:33~·0o:::4u o
o:::45 o
08500 o:::':o2o
o::::o4 (l o:::t.l) u o:::? (l (l l) t:::; 1_1u
o:::::,.
(l (l o·~u u o
(191 (Il) 1)'312 (l (l 1)•:,.250 o-:;.:;: o u 1)941)1) o·;.·s u o r· _.c
c
c
c
(: (;c
t:.:c
c
c
(;c
•
•
•
•
•
•
•
•
•
•
•
•
•
•
l BMA:X: lk!MH't IL ILMlt'f lLMHXIS
lP LINe N:l:T'Ol LBLOCI<. LINF.P N t..! P NBP PBP= MA><:IMUM INDEX NUMBE.R FOR BLOCI<:S:
•
= f'l J. N l MUt•1 lNLtE.X NUMf:ER FOR BLOCt::.S•
= 1Nl.lt:.X t-UR LINE IN IMAI::.E DATA PAGE•
= f'llNlMUM l r'IDEX NUMBER FOR BLOCI<S•
=
MH>< 1MUM INilEX NUMP.eR FOR BLOCI<S•
= lNtlt.X f-OR SYMBOL IN $0URCE ALPHABET
•
..
lNlJE><: FORPEL
IN I t'IAGE DATA BLOCK•
= Hlo!'~HYI LINE. OF PACI<ED IMAGE DATA BLOCK$•
•TlJlAL t'IUf·1BER OF SYMf:OL occu~·RANC:ES:•
Il: AR~:Fr·..-: BL. OCk OF UNPACI<.Eli DATA•
•
ARRA'r'l LINE OF UNPAC:K.E [t Ilf=tTA FILOCKS•
c NUMBER OF ltiHITE PELS:•
=
NUM.I:IER OF BLACK PELS•
=
Pt:~L:t:.N 1 Al.!ol::. BLFtCI<. F'E.LS•
c
•••••••••••••••••••••••••••••••••••••••••••••••••••••
C+++++++++++++++ lN!TIHLllE. +++++++++++++++++++++++++++++++•DIME.NSION W~HSYM<lSMAX),BPRSYM<ISMAX) DIMENSlON LlNE.(54>,LBLOCI<C32),LINEPt1728)
OPENtUN11=4U,FlLE.=·AIMl.DAT·,MODE=' lMAGE~,RErORD SIZE=54,
$DIREC1URY='4'1~3') DO OUt IS=l,ISMHX ltiPRSYI'1 <l$:) = O. 001 BF'RSYM<l$> = O. NhiP
=
U NBP=
O lLMlN=
OliUl !LMH>< = cl28 !Eif'1l N=
01 lBMHX=
~4C••••••••••••••• PRE-PROCE.SS
•••••••••••••••••••••••••••••••
l Y P F. 1 U l) fYPE. 101•lLM1N,lLMAX,lBMlN,lBMHX l YPE 104 IF ULMJN-1> 00~· 005,002 002 DO 004 lL=l' (JLMJN-1> 004 l<'t.A[H4fD <LINE<lB),U:=b54)09f:.Ull 09?00 o·:;.::: u u l) •;,. ::: ':• IJ 09900 10UIJU 101)20 1 (11)4 u 10(161) 10070 10080 lO 091.1 10110 l 0120 10160 10170 102lll l (126 (l l 0320 1 03b0 10370 10410 10460 10510 10~·2
o
1 0':•61.1 l 061 (l l Ot·2 O l 071 (l 1 (1?2o
1 0?:3o
1 074 (l l 0/42 11)750 1 076(1 10800 1 Ot:2~· 108"30 10841_1 1 (1~:45 1084? 1o:::su 1 o:::?~· 111)1_1(1 111 (Il) 11201.1 11 .;: IJ (l 114 (Il) ll~o(ll) 1161.10 117(1(1 11 ::: IJIJ 11 S' (11_1 11'3:111.1 11920 11930 11'3:1~'.0 120öu 1211) u 122UIJ C••••••••••~•••• P~Ul~SS ••••••••••••••••••••••••••••••••••• 1.105 DU IJIJ( 1L=1LM1N•1LMHX f.'E:.H].I0:41D (LlN!:.<1kO•lJ:!=l~~·4) HHIE:::<;=
-:.::~ 110 1.11_11:-> 1 ~=l ' ~4 CHLL UNPHCK<LlNE<IB>,LBLOCk> lNDE.><=
1Nl1E:X+32 DU U 1.16 1 P= 1 • :.:<2 01.16 LlNE.P<IP+JNDEX) = LBLOCK<IP>c
c
c
lF<LlNE.P<t>> (115•015•010 O l (l liiP~:S:Y~l < l) = loiPRS:Yt'1 o: l)+ t 015 11=
l 110 I)U? I=c~l?29 !F <.l.t:t;!.l/2Y> b010 025 lF<LlNE.P<l>-LINEP<l-1>> 040,007,030 IJ~5c
tF
<LlNcPu-1>
>rL=<'-''
o:::~o,
04t)c
030 WPRSYM<l-11+1)=
WPRSYM<l-11+1)+1 11=
l bOl O (11.17 041.1 ~~RSYM<l-11+1> • ~~~~YM<l-11+1>+1 11 • I U07 CONllNLit:. ItU ll4~~ 1a:c,
1 ?29NbiP
=
NltiP+ (.1-1>
+t,IP~SYM (.l)045 NBP
=
NB~+<l-l>•~P~SYM<l>T YPE l O b, NbiP, NBP
PBP = FLOAl cNBP•tOIJ)/FLOATCNBP+NWP) TYPE 109,PBP
CALL PROBRB <ISMHX,WPRSYM~BPRSYM•NWS•NBS)
NP
=
<ILMHX-ILMIN+l>•<IBMAX-IBMIN+l>+32lYPE lf.lf•NW~'NB~
AV,..:U~I
=
F L Off 1 <.f'i'•l~ ;• ,.~ LOA T <.Nl~l$)HVRLB = FLDRT<NBP>/FLOAT(NBS>
N~:-1 U l = Nlot~:+NB~:
ffN~~YM = ~LOAl CNP>/FLOAT<NSTOT) IYf-'E 105,N:::>HJ1
~f:.lURN
C•••••••••••••••
FORMH1 •••••••••••••••••••••••••••••••••••• 1 OIJ t-=D~MRl c.tHll• ··s:uBROUl INE MOIIEL'.)101 FOl~l'lHT (1Hthi!X~··tMHhE DATA PROC:ES:SEitl'•/
ClH •4X, 'LlNES: ' l4,' -''l4' ' BLOCk$:'14,'-''14> lUc' fo-ORr'1Hl <.lHli,~X, ·':SYMt<UL FREQLtt:.NCit:.S: ')
l (18 F 0Rf'1H l < l H • 4X • lllfo-b. IJ)
l 04 FORMH l (l HU• 2X, -- CALCULAl I ON:S:: ')
105 ~ORr'lH r q H '4>::• ·· NS:l Dl = 'd5)
l 1.16 F 01-'MH r ( l H , 4X, ·· f'fuiP= ' ~ I 1 0/ l H • 4X, ' NBP= ' , I 1 0)
1U7 FORMAT <lH ~4X,' NW$= ' ' I10/1H ,4x,•NBS~ ',110)
11J8 1'-0I<'MH"f <lH '4X,'HVf<'Lbl= ·~F7.3/1H '4X•'AVRLB= ',F7.3)
11.1~ ·FOI-:'MHr (1HIJ•4X,'PE~'CE.N1AGE BLACK PELS:'•F6.3~ '%')
130(11.1 131(11) 1 321) (l 13:300 1:3400 13500 13600 1 :380 1.1 139(11) 1400(1 1411.10 14200 143(1(1 14400 14500 146(11) 14700 1480(1 149(1(1 1 ~o(II)IJ 15100 15200 l ~·2~i l) 1531.11) 1560(1 15700 1 :.:30 (l 159UU 16(100 16101) 1621)1) 16:.:: l) 1_1 16400 1 t:. c;. (l (l 16b00 16 70 IJ l f::. t: 1_11_1 tt:.·:,. (Il) 170(1(1 17100 17201) 17::::1)(1 1741)(1 1 ?~:.u u
C • lH~ R~P~HTING LUCHL SOURCE~ GIVEN ITS PROBABILITY+
C • DISTPIBUTIDN. 11 NOPMALIZES THIS TO PEL ENTROF'Y • C • US I fil::. 1 HE. HVEF.·t=u: .. E NIJMBEP OF PELS PEP S:'tMBOL AND + C • THE N COMPUTE:S: I TS I NVER:S:E ~ THE COMP'"'ES:S: l Of'f BOLIN Il.+
c
•
•
C + ~R6Uf'1EN1 LISl: +
C + 1SMHX
=
MHXlMUM INDEX NUMBER FO'"' SYMBOLSCINPUT> + L ~ HNPSYM=
HV~~Hb~ PELS PE'"' SYMBOL llNPUT) •C + HPEL
=
E.NTROPY PER PEL COUTPUT) +c
•
•
C
.J
LOCHL VARIABLE LIS:T: •C + CB
=
COMPRE.SSION BOUND +C , + HSYM
=
E.NlRUPY PER SYMBOL •c
•
·
••••••••••••••••••••••••••••••••••••••••••••••••••••
C••••••••••••••• INITIAL J?.E ++++++++++++++++++++++++++++++++
Il l f'lEf'fS: I ON lotPRSYM < I SM.AX) , BPPS:YM (I S:MAX>
H~:YM
=
O. HPEL=
O. CB=
-'i~~~. C+++++++++++++++ PRUC~SS +++++++++++++++++++++++++++++++++++ TYPE 101) ·1 YPE 11.11 lYPE:. 103C~L.L EN l f.i'OP <.1 :S:MAX ·l~IPRS:YM • BPRSYM ~ Nt,IS ~ NBS: ~ HSYM>
lYPE lliS,H~YM T YPE l
o.:,,
Af'fPSYI'l HPEL=
HSYM/ANPSYM TYPE 107,HPEL IF <.HPEL) 054,(154,052 052 CB=
1./HPE.L 0'j4 l YPE lt.lt<, t: B ~E.TU~N C+++++++•••••••• FORMAT ••••••+++++++++++++++++++++++++++++• 1 tJOr
ORf'IH 1 <l H t), ' ~UI:Ih'Ulll I NE BO U N [l")c
c
101 rORMHT C1H0,2x,·PROBABILIT1ES: ') 102 F0f.<'I"1A.I t. l H '4;c;, 1 OF6. :;!> 10:.3 1-0Rf'!Hl (}HI.I,~X' 'CHLCULRTIONS:: ') l 05 FORMHl < 1 H • 4X • ··H~: 't' M = ' , F5. 3, ' 106 FOPMHT <lH ,4X~'ANPSYM=
·,F8.3, ' 107 FORMAl CtH ,4X• 'HPEL=
•,F5.3, " lOB FORMAl <tH ,4X···cB = •,F7.3, ... EN[t B I T /S't'MBOL' > PEL/S:'t'MBOL"' > BJT/PEL') PEL/BlT")1?60(1 l??lll.l l 7):;: (l 1.1 1 7'9(11.1 18UUO 1 :::u
o:.
1:3100 18200 18:.30(1 184 (IIJ 18~·0(1 18b00 18?00 188(11_1 1891)1_1 19000 1910ll 19200 19300 19400 19500 19600 197'00 19900 20000 2(1020 20040 20060 200:30 20201J 20:301.1 20400 2 05 (11.1 20600 20620 20t.4 IJ 20?00 20E:OO 20900 211(11) 214 (11.1 21420 21440 214f:.IJ 21480 215 (Il) 21 ~·20 21540 21'561) 21~·8(1 21:.:::5 215'~1.1 21601J 21620 2164(1 2166(1 21?01J 21:::uu 21901.1 22o
(l (l 22101.1 222(11.1 22:.:: (l l) 22401.1 l· . ..
t_: C•••• SUBROIJIINE CODE ••••••••••••••••••••••++++++++++++++++c
c
c
c
c
c
c
c
c
c
c
c
c
c
(: (:~U B F-:' UU l 1 N t:. l.: U {lE. .:. 1 S:f'lH>< ~ l_,lf-'PS:Yt'l ~ BPRS:Yt'l ~ AtiPS:YM ~ ALPEL ~ Nl .• l:$ ~ NBS)
•••••••••••••••••••••••••••••••••••••••••••••••••••••
• SUBROUTIN~ ·con~· APPLIES A PPRCTICRL CODE TO THE •
+ t'lOliEL OF THE P.EPEATHiG LOCRL S:OI.IPC:E. THE C(l!tE IS •
• :S:F'E.C I F I E [l Hi l ERr'lS: OF S:YMBOL CODHIORD L Et-iGTH:5:, +
• WHICH ARE THt:.N COMBINE!t hllTH SYMBOL PROBRBILITIES+
+ l O t: HL UJLH l t. l H t: t-iVERHI~E L Hi G l H PER SYMBOL. I T •
• NO~MHL!Z~S THI~ 10 HVERRGE LENGlH PER PEL USING •
+ THE HVERAGE. NUMBtH OF PELS PER SYMBOL AND THEN +
+ COM~UIES ITS INVERSE, THE COMPRESSION PATIO. •
•
•
• AI-'GUr·1Etil L l Sl: +
+ I~MHX = MAXIMUM iNDEX NUMBER FOR SYMBOLS<lNPUT> +
+ PPSYM = RRRAY: SYMBOL PROBABlLITlfS ClNPUl> +
• ANPSYM = AVEPAGE PELS PER SYMBOL CINPUTl +
+' ALPEL = AVERAt::.E LENt:;TH PER PEL <:OUTPI.ITl •
•
•
C + LOCAL VHklABLE LlS:T:· •
C +i HLWURD = HVt:.kHb~ LENGTH PER WORD •
C: • CR = C:OMPRESSION PATIO •
C , + lS = INDEX FOR SYMBOL IN SOURCE ALPHABET •
L: +' Ll•IOf.'Itt_,, = Rf<f.!'H'n L~N1:5TH OF I,JHl TE COIIEWDRDS •
C 1 + LI.IIOP.{If: = HkRAY: L~NGTH OF BLACK CODEWORDS +
C + HL I.~I(JF.'Itl = HVfRHbE LENGTH PER WHITE WOR!tS +
C • AU•IO!-<~ = HV~RHbE LENGTH PER BLACK WOR!tS •
c
•••••••••••••••••••••••••••••••••••••••••••••••••••••
t_:+++++++++++++++ INI11AI.1ZE.++++++++••••••••••••••••••••••••
DIMENSION WPRSYM<ISMAX,,BP~SYMCJSMAX)
D I MEr·rs: I ON U~IOfö'[lltt< l 729;t 'LI.IJORitB <.1 729)
AL 1...10~' fl
=
(1. RLJ,.Il]RI.tl = u. HL hJUl-' B = U. HU-'EL = U. (:R=
-~~~9. L:+++++++++++++++ f-'ROt:E S:$ +++++++++++++++++++++++++++++++++++ TYPE 100 1YPE 11.13 DH T A <LJ,IOP.Dl•l <l S:>, l :S:=l ~ 64)...-s,
bit 6+4, 4+5, 6+6, 11+7, 35+8/ {IHTR <LltiOP.[IIol <.l S:> • l S:=65, 1_ 729• 64) /5, 5, 6, 7, 6+8, 15+9• 6, 17/ DRlH(LioiORDB< IS:>, lS:=1,64)/1(1,3,2~2'3'4~4'5'6'6•3+7'8'8'9' $3+10,?+11·38+12/ DAl R <U•tORDB o: I :S:>, 1S=b5, 172~' 64) / l (1, 6+12~ 19+13' 23/ .[IU lll IJ 11=c'
b4 DU UlU 12=b4,lbb5,b4LbiOI''III•I < 11 +l C'> = Ll.•llJRDl•J <. 11) +Ll~IOI"~DI.•J <I 2+ 1)
010 LWORliB<Il+l~>
=
LWCJRDB<.lll+LWOR!tB<l2+1)DU 02U l=b4,1664,64
U~IORIIl•l < 1 +l) = L l.ti0!-<111•1 < 1.) +LlliOR!ti,J < I+ 1)
020 LWOI-'DB<1+1)
=
LWU~UB<.l>+LWORDB<.l+l>DO 030 IS =1,J~MHX
ALloJOfö'ltl = AU.IOF.'Ioi+I•IF'RS:Yt-1 ( I$) +U•JOP[II.ol < l S:)
030 ALI.tiOF.'P. = HU•.IOF.'B+ BPPS:YM <I S:• +UtiORDB < l$:)
AU..IOF:'D = O'il.•fS:+AU.IOPI.tt+ri"BS+AU•.IORB> / <"NI,IS:+NBS>
TYPE l 1)4, RU.IOF.'D TYPE l IJ~' HNP~:'d'l HLPEL = HLWO~D/HNPSYM TYPE lUb,HLPEL IF <HLP~L> Ub4•Lib4,Ub2 U62 L~ • 1./HLPEL 064 lYPE 1117' CR f.l't:.TUIO'N
232 (Il) 2:3300 2340(1 23501) 23600 2370(1 23801) 23900 2400(1 24100 24105 24110 24115 2412(1 2412~5 24131) 241:::::. 2414(1 24150 24155 24160 24170 241re· 2421)(1 2431)(1 2435(1 244 (11.1 2461.10 24?01) 247':·0 24::: l) (l 24::::. (l 249(1(1 24'::450 2e.ouu 25(12~1 2':·
o:.
(l 2~·u?:. 25100 2512~::. 251 ':d) 2'52 (Il) 2':·"31.11.1 25400 t.::c
c
Lc
lOb FOI"~lHl UH ,4>::,··HLPE-L = ··,Fs.3,··
1 O? FO~'f'IHl (l H • 4:x:, ··1.:J<• = ·· 'F7. 3,'
E.Nll
I< I T /PEL')
PEL/BIT'')
C••••
S:UBROUT Ir~E ENT~·OPY•••++••••••••••••••••••·••••••++••••
SliBROU l I NE ENT ROP ( 1 SMAX • I~IPRS:YM • I<PRSYM, NbiS, NBS:, HS:Yt1)
c
... .
C• • ~UB~OUTINE ' ENIROP' COMPUTES SIMPLE ENTRDPY FOR A•
C + SET OF SYMBOL PPOBAI<ILITIES. AN ALPHABET SYMBOL +
c : • l!.ll IH ZERO PROf:ABILITY bi1LL HAVE ITS UNCERTFtiNTY •
C • OR SELF-INFORMHTION lAKEN TO BE ZERO. •
c
•
•
C + H~GUM~NI LJST: •
C + l~MAX
=
MAXIMUM INDEX NUMF:ER FOP SYMBOLSCINPUT) •C • HSYM = ENTROPY PEP SYMBOL COUTPUT) •
c: • •
c
c
• • LOCAL VARIABLE LIST: IS=
INDE.X FOR SYMBOL IN SOURCE ALPHABET•
•
C• •••••••••••••••••••••••••••••••••••••••••••••••••••••
C•••••••••••••••
INlllHLJlE ••••••••••••••••••••••••••••••••[Il Mt::.N~: I Ut'i ltiPk:S:'r'M < 1 ~MAX> 'BPRS:'t'M < I SMAX)
HldSYM
=
O.HB~YM = (1.
C•••••••••••••••
PROCESS •••••••••••••••••••••••••••••••••••DO 1.116 lS=l,JSMHX
IF<.hiPRSYM<.l$)) 1112,012,(111)
01 (l HI,I:S:Yt1 = HltiS:Yt'l-hiPR:S:YM <l S:':t •ALOG n~IF'f<'S:YM <I S:))
012 IF<BF'RSYMtiS'.I) 016,(116,014 014 HBSYM
=
HBSYM-BPRSYM<IS)•ALOG(BPRSYMCIS>> 016 CDr'il I NU~ HSYM=
tNWS+HWS~M+NB~+HBSYM>/ttNWS+NBS>+AL0G(2.)) Hl.•.!::< YM=
HI .• I:~:YM/HLUb < 2. ) HBSYM = HB~YM/AL0b(2.,lYPE. liJU•HWSYM,HBSYM
RE. l UI"'N
C•••••••••••••••
FORMAT •••••••••••••••••••••••••••••••• . . • •c
c
llll.l FU~MHl <IH ,4X,'Hiti~YM= ',F7.3/1H ,4X,'HBSYr1= 'F7.3)
2'5~i l)
o
c
25600c
2~·?01.1 25::: l) (l 259(1(1 2!::··~o:.
25911) 2591!::• 25920 25';.25 259'3o
25935 2594(1 25945 25'31':·o
25960 25970 26(11)(1 26100 26150 2E·2 00 263 (Il) 2641.10 264:•0 2E.:• (l U 26:·5 (l 2661)(1 266~·(1 26701.1 2t.?50 26::: (lo
268':·o
272(10 ;)l C++++ ~UB~UUllNE PROBHBIL!lY +++++++++++++++++++++++++++++++ SUBROUTINE ~RUBHB <.JSMAX~WP~SYM~BPRSYM,NWS,NBS)c
•••••••••••••••••••••••••••••••••••••••••••••••••••••
L • SUBROUllNE ·PkOBHB' ESTIMATES A PROBABILITY • 1·· + DlSlRIBUflON~ GIVEN A SET OF SYMBOL FPEQUENCY OF • L + UCCU~~RNCE VHLUE~. THE H~RAY P~SYM IS USED FO~ • C • BO T H FREQUE.NI~:y Ll1 S:TR I BUT I ON INPUT AN [l P~OBAF: I l I TY+ C : • D I S:T~ l BUT I ON OUTPUT. IF ALL THE FREQI.IENC I ES: A~E +
C • ZERO~ THE PROBABILITIES A~F ALL TAKEN TO BE ZERO.+
c
•
•
C l • ARGUMENT L I Sl: •
C + 1SMHX
=
MHXIMUM 1NDE.X NUMBE.R FOR SYMBOLSCINPUT> +C + NS101
=
1UIHL NUMBE~ OF SYMBOL OCCURRANCES · +c
'
.
•
1~: + LOCHL VHR l RBU:. L l Sl: +
C + IS
=
INDEX FOR SYMBOL IN SOURCE ALPHABET •c
•••••••••••••••••••••••••••••••••••••••••••••••••••••
C•••••••••••••••
1Nl1IHL12E •••••••••••••••••••••••••••••••• DIMENSION WPRSYM<lSMHX),BPRSYM(lSMAX>·NIJIS = l) Nf:S.
=
l)c•••••••••••••••
P~oc:E.s:s: ••••••••••••••••••·~• . . •••••~•••••••DO 011.1 IS:~t , ISMHX
Nl•I:S
=
l•W~SYM <.l S> +NIAI~1.111.1 NBS
=
BPRS:YM<.iS>+NB~DU 018 1S=l•l$MHX
1F<NW~> 014• U14, U1~
012 W~RSYM <.IS> • WP~SYM<l$)/FLOAT CNWS>
014 1F <.NBS:> 018' 018, ll1f!.
1.116 BPRSYM<.l$)
=
~P~SYM<l~)/FLO~T <.NBS)U18 CON1INUE. RETURN E.t·W
o
(140o
o~.uo
00600 (1(1?(1(1 00801) 00900 l) lo
l) l) 01100 0120(1 01:300 01400 01500 01600o
191.10 02000 02100 02200 1)2225 022'.:·1) 02270:. 1)2300 02401.1 02~t1) u 0260(1 02700 028 (l (l 02':;.1) (l 1):30 1.1o
o::::
1)5 (l 0-:3100 03151) 0321)(1 03250 03:3(1(1 (l ;:4 (11.1o-::::.
ou
o
:::6 (Il)o
:::7oo
o
·
::::::(''-'
o::::·;.t) •) 1)4 1.101.1 041 (l u 1)42 (l (l 04 ·::: 1.1o
04401) 04':· (l u 046 (l (l 041'::.5 (l 04?01.1c;
(: 1_: (:c
(:c
(: (: (:c
c
C •c
(: 1c
c
(;c
+ 1Hf<'EE. MA.JO~· S:UBJ((IUTINE:S:: +
• ( l ) MODEL: DEFINES H ~EPEATJNG LOCRL SOUPCE • + ANU E.SliMATES ITS PROBHBILITIES +
+ <2> BUUNU: CHLCULATES COMPRESSION BOUNDS +
+ ~ROM TH~ MODEL DAlA +
• <.~> CODE.: CHLCULATES COMPRESSION RATIOS FOR •
• ~RRCliCAL CODES APPLIED TO THE MODEL •
• WHE.N lHESE. SUBRUUllNES HAVE BEEN RUN, THE MAIN •
+
P~06f.''Ht1 S:UMMAf.,' l ZES BOUND \1$. CODE. PERFORMAt'iCE •• BY COM~UllNG lHE CODE. EFFICIENCY. •
•
•
•
VAld A BL E. LISl:•
•
ALPEL=
AVERAt;.E LENt3TH PE~ PEL <.FROM CODE>•
•
EFFlC=
EFF ICIE.tKY OF C O !lE COMPARED TO BO UND•
•
H f-' EL :: ENTROPY PER PEL <"FROM BOUND>•
•
1 S:1"1HX :a 1"1HX1 MUM lNLIE.X NUM.E:ER FOR SYMBOLS•
•
I.~IPFr'~:YM=
Hl-<'kHY: htHI TE SYMBOL PROBFtB I L I T I ES:•
•
<.f=~OM MODE U•
•
l<f-'RS:'y'M•
HR1ot'AY2 BLACK: SYMBOL PROP.AB I L I T I ES:•
•
<.FROM MDitEU•
c
•••••••••••••••••••••••••••••••••••••••••••••••••••••
C++++••••••••••• lNlliHLilE. ++++++++++++•••••••••••••••• . . ••
Il I ME
t·r
s:
I ON l•IP""~.:YM < 1 72EO 'BPPSYM < 1 7c'8)l ~r1A:><;
=
1 ?28 Hf-'EL=
-99q·..;.. AU-'EL = -9999.C:•••••••••••••••
PROCESS ••••••••••••••••••••••••••••••••••• CHLL MUU~L llSMHX,WPRSYM,P,PRSYM,PRLSW,PRLSB,NSTOTW, $ NS101B,LSTOT,ANPSYM>CALL BOUND <lSMAX•WPRSYM,P.PRSYM,ANPSYM,PPLSW,PRLSB'
$ NS:l OTltt, N~~TOTB, LS:TOl' HPEL>
CALL CODE <ISMAX,WPRS:YM•BPPSYM•NSTOTW,NSTOTB,LSTOT,
$ ANPSYM,ALPEL>
lYPE 11.11.1
l Y f-' E l 1J 1
!F <.AL.PE"U 09U~09fto(l6(1
060 EFFIC
=
lOO.+<.HPEL/ALPEL>lYPE. l flc• EFF IC RElURN 1..1'91.1 1 'y"p~ l (l.j lot't.lU~N
c•••••••••••••••
FOkMAl •••••••••••••••••••••••••••••••••••• 1 O l) F Of'·t·lH 1 t;. l H U • ' 1"1!=11 N PR06RAM' )c
c
101 ~Df•'t•1HI <.1HU,2X, ··sur-lr1HRYZ ")
102 FOPI"1Al (lH ,4x,··t:FF-ICIE.NCY
=
'•F6.1•" %')103 F [JF.'I"1H l r l H , 4><, 'ERf.iOR: PROBAE:L Y I ti MODE. L SUP.ROIJT l NE'
>
0475u 1)48 (Il) 04 :=:~5 (l 0491.11.1 049'::.(1 os (1 ou (1~.
o:.
1_1 OS10(1 05150 0'::·2 (l (l 052~·0 (15 .:::(l (l 05:351) 0':·40 (l 0~::.450 05500 05'::·50 05601.1 0565(1 05700 0575 (l 0580U 05850 05900 05950 (16(1(11) 06 05 (l 061fJ(I 061 ':ol) 06200 062:· (l 06:30(1 06:350 064 (lo
064'::·0 1)6500 o.:.~;:.o
06600 1)66'::· (l 06700 06750 OE.800o;:.::::. o
1)6 '?l) l) 069'::· l) (171) l) 1.1 07 os (l 0?100 1)71:·0 07200 072':• (l 07.3 (11_1 07:310 07::::21) 07331.1 07341_1 Q?::::~. 1_1c
c
c
C++++ ~:ul-:1-'UU T l NI:-. MU lit:. L •••••••••••••••••••••••••••••••••••••
:::::IJBf.'UU l 1 r; E MUDEL <l :::::r'lFi:>< • l.tF-·RS:YM ~ BPRS:'t''r1, PRLS:t .• l, PRLS:B, NS:TOTI,J,
c
c
t.:: f• -· r·-·
c
c
c
c
c
c
c
c
c
c
c
c
l c lc
c
c
c
c
c
c
c
c
lc
c
c
c
c
cc
c
c
c
c
c
(: L:c
t::c
c
c
L:c
c
$ N$10TB,LSTOT,ANPSYM>•••••••••••••••••••••••••••••••••••••••••••••••••••••
• :s:UHf·"DUliNf: 'r1Ullt:L' DEFHiES: A REPE.ATING LOCAL •
• ~OU~CE. HND CDUNlS SYMBOL FREOUENCIES OF OCCURANCE•
• FROM SHMPLE IMHbE DATA. THE IMAGE DATA IS READ + • F RDr1 H F- I LE Iot l l H l HE HELP OF ASS:EMBL Y LANGIJAGE • • S:UBRCIUI JtiE ''AI.I~iF'AC' .. SYMBOL P~:O'E<ABILITIES ARE • • ES:l Ir1H1 E D I.IS Jr'il.:. S:UBF.~OUT I NE 'PROE:AB' ANT.I THEN THE • • HVERAGE NUMBER OF PELS PER SYMBUL IS CALCULATED. •
•
• lHE iMHbE l!HlH•
10 BE. PROCESSED lS SPECIFlED BY A • • FILE. IN THE ' OPEN' STATEMENT AND THE RANGE OF THE+ • LINE AND BLOC~ INDICES ciLMIN-ILMAX,IBMIN-IBMAX).•
.:
.
•
ARGUMENT+ I Sf1HX =
.J
WF'RS'r'M=
L 1
sr:
•
MAX I 1'1Uf1 I r'iit.EX tiUMBER FOR S:YMBO.LS c I f'iPUT> + ARRHY: WHITE SYMBOL PROBABILITIES •
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
BPkSYM PRLSlol 1-'RL$~ N~: TU fiJ.I NS:TOTB LSTOl HNF-'SYM LUCRL IBMAX IBMIN I LM IN l LMH>< LINE Nl.o.IH! TE r-tl:ILH(:K. L S:l•J L~:B tit .•. tp NBP PE:P AVF<'Litt AVRLB NP r-t~: LBLUt_:K. Lir'iBl T LHCiflf:l B.IO l B1011P cOUTPUT) +=
HRRAY: BLACK SYMBOL PRDBABILITIES •(OUTPUT> •
m PRUBABILllY OF WHITE LINE START (OUTPUT)+
• 1-'RUl:IHBlLlTY OF BLACK. LINE SlART (OUTPUT)+
=
TOIHL NUMBER OF WHITE SYMBOL OCCURANCES ~(OUTPUT> •·
=
TOTAL NUMBER OF BL~C~ SYMBOL OCCURANCES •tOUTPUl) •
=
TOTAL NUMBER OF LINE STARTS <OUTPUT> •=
HV~RHb~ PELS PER SYMBOL <OUTPUT> + VAld FiBLE. L l Sl:=
MAXIMUM INDEX NUMBER FOR BLDCKS= MINIMUM INDEX NUMBER FOR BLOCKS
•
•
•
•
=
MINIMUM INDEX NUMBER FOR LINES •=
MHXlMUM lNDE.X NUMBER FOR LINES •=
~RRHY: LINE OF PACKED IMAGE DATA BLOCKS += NUMBE.R UF WHITE PELS IN A RUN
=
NUMBE.R Uf BLACK PELS IN A RUN=
NUM~ER OF WHITE LINE SlARTS=
NUM~~R OF BLACK LINE STARTS=
TUlHL NUMBER OF WHITE PE.LS= T01HL NliMBER OF BLACK PELS
=
PERCENlAGE BLACK PELS= AVERAGE lotHITE RUNLENGTH
=
RVER~GE BLACK RUNLENGTH=
TOTAL NUMBER OF PELS= IOIHL NUMBER OF SYMBOL$
=
H~~HY: UNPHCKED IMAGE DAlA BLOCKS=
H~~Ay: NUMBER OF CODE.D BITS PER LINE=
NUMBEP OF PADDING BIT$=
TOTAL NUMBER OF CODED BIT$= TOTHL fil.lt'lBER OF BIT:S: JNCLUIIING PADDING
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•••••••••••••••
•••••••••••••••••••••••••
- --··· ··--- ·--··---•••••••••••••
· ·· -- -- - - ··o:::24 u 08260 o:::2:::u 0840U 08450 o:::s o o 08600 08700 08800 08901) (1:::91ll 08920
o:::9::: o
1)::3940 0~:94'::• 089~·0 o:?.9bu 08980 090(10 o·~ 1u o
1)•::,.2 (l (1 lj'~20~· 0'~210 (l':il215 O':il220 1)·~225 09235 O':il240 0924:· 0'?25(1 09:300 09400 095o
(l DO U80 1S=9,JSM~Xl.dUr.IORD (1:-i:,;.
=
O.U8U BLWOHDf..IS)
=
u.
l10 (11)1 l S= 1 d "S:f1Ft~; l,lf'RS:YM (.1 ::::: > = O. 001 BPRS:YM<IS> = O. ILMIN=
UOOl l LMA~:=
2128 I.BMIN = 01 l :BMFt~< = 54 Nl.riH Il E. = IJ NI:<LFit:K=
O LSI.rl = IJ L~B=
U LAliDf:l=
O E:TOl = n. DU 1.18~ 1L=1LM1N,1LMHX 085 LINBiltlL) =O C+++++++++++++++ PPE-P~OCESS ••••••••••••••••••••••••••••••• lYPE 11.11.1 lYPE 1U1,JLMlN•lLMAX~IBMIN,JBMFIX DO 095 IS=9, 'ISMAX-1) ,.J :: 1$ 09 (l j=
.j...-'2 WLWORDciS>=
WLWORDcl$)+1. lF tJ.N~.O> 6010 090 BLWO~Dcl$>=
WLWOPD<lS> O'SI5 CONliNLIE 002 004 WLWOWD~!SMAX> ~ ~. BLWORD<ISMAX)=
8. IF <.ILMIN-1)o
nr;~ 005• 0(12 DO 004 lL=l, < lLMlN-1) READ<40, <LINE<JB,,JB=1,54>09600 (197' (Il) l) 9:?,1) l) (1'?9 (l (l 10001) 1 002U 1
o
041_1 10061) 10080 10100 11) 105 10110 10120 10141.1 10160 10180 10200 102 05 10210 l 0220 1024o
l 026 (l 1 028o
1o:::: o o
1 o::::2 o 1 084 (l 1 0360 10381.1 1 04 (Il) l 0420 1042~· 104:3 (l 10440 10460 l 04::: l) 10482 1 04:::5 104'~o
10~00 l 050':· 10510 10":· l !:l 1052 (l 1052':) l o':) ':o! J l 06 (Il) 10650 107'1)(1 10800 to:::~; o 1 O t:.:.u
10:::?0 1 o:::E:u 1o::::::::.
l1)t:91) l (1'~o
(l 11001.1 11 02 (l 11040 11 06o
110:3(1 11100 C••••••••••••••• PROCt$S •••••••••••••••••••••••••••••••••••UU~ UD U/0 IL=lLMIN•ILMHX
~~HU(41J) <L1N~(18),}~=1,54) DO 0~5 lB=lBMJN,JBMHX CALL UNPAC~<LlNE~IB,•LBLOCK) DU O~~· l P= 1 , 3c IF (}B.~Q.IBMIN.HND.!P.EQ.l) GOTO 040 IF (LBLlJCk.<lF'.>.> 11llh011J,I)i:'5 1)1(1 IF o:NBLHCI·O 1)2U•IIc'I.I•Ol5
Ul5 BPRSYM<NBLACK.>
=
BPRSYM<NBLACK)+1IF tNBLACk.EQ.l?28) GOTO 017 LINBITCIL> = LINBIT(lL,+BLWORD(NBLACK> 01 7' NBLHO: = (l l) C: l) Nl.o.IH l T E = r·il.oiH 1 l t:.+ l bU llJ O ':l':• 025 l F tNloiH 11 E> (I~:C5, (1:3~ .. u:.HI
0:3 O l~IPRS:'n'l (NioiH I T E> = loiPRS:YM <f"iloiH l T E)+ l 1 f- Oil.oiH 11 E. EO. 1 ?28) GOTO 032
L INB l T (I L, = L 1 r; B I T ( l U +I .• ILI.o.IORD (NI.o.IH I TE> 1):32 tii~IH 1 l t:. = U U~5 NBLHCK = NBLACK+1 1;01
o
(155 040 IF (LE:LOCI<<JP).> 04': .. (145•050 1)4:, LS:lol=
L~:l~l+ l G010 020 U~O LSB = L~B+1 GO l O 1.1:..~!::•oe.s
CON T 1 tiUEIF (LE:LOCI< <.:.:<2.>.) 061h (16(1, 065
IJt:.IJ l.~lf-'~S'd'l (Nlo1H11E) z l.oiPfoi:S:YM <til•.IHl TE> +1 IF tNWHlTE.E~.1728) GDTO 062
L 1 NB Il <.I U
=
L l NB l T <.l U +l~lllo.IORD q;I\IH I TE> 062 Nl.oiH l T E = 1.1 6010 070 065 BPRSYM<NBLA~K) = BPRSYMCNBLACK)+1 IF lNBLACI<.EQ.1728) GOTO 067 LINBITliL) = LINBllliL>+BLWDRD<.NBLAC~) 067 NBLHU<: = IJ 0?0 LHDDBl = LHUDBT+5-~+lFLOAT<LINBIT<IL)/5)-lLINBIT<IL)/5)) DO 072 IL=lLMlN• lLMHX 0?2 BlOT = B10T+LJNBiltiL>Bl Dl
=
l. 6•81 01 +hiPioi.S:YM <.l SMAX) •hiU~IORD <I SMAX> +$ BPR$YM <l S:MH>O •BL.I.o.IORD <I SMAX) + 1. 6• <LSloi+LSB>
BTUllf-'
=
Bllll+t.b•LHUUB1 DO U?~ l=t,lSMHXNloiP = NloiP+ l •t.lf-'RS:YM < l)
0?5 NBP = NBP+l•BPRSYM<l)
PBP
=
1 (II)•F L. OHT (NBP> /F LOAT <NEIP+NI.oiP)CALL PROBAB <ISMHX•WPRSYM•BPRS:YM,LSW•LSB,NSTOTW•NSTOTB,
'ii L~llJl 'f-'RL~:~I, PRLS.;"E:)
N~= (}LMH~-ILMlN+l.)•<IBMAX-IBMlN+l>•32
NS = NS:TOlhi+NS:T(ITB+LS:TOl
HNf-'SYM = FLOHl <NP>/FLOAltN$)
HVRLbl
=
F LOHT \.NWI<• /t-LOAT < NSTOTl~l)HV~LB = FLOAl(NBP)/fLOHT(NSTOTB)
l YPE 11.14
T'i'PE l OS • N:::::T D T t•• • NS:lOT B, LS TOT
TYF'E l Ob• NloiF', NFW
TYPE 107•PBP
T YPE 1 08, HVf.illol, H V F:' L B
TYPE lU9•BlOT,BTDllP
11941.1 1196
o
119:::: l) 11990 12(1(1(1 12100 12201.1 106 FO~'MHl <!H ,4X, ' NI.t1P =' d7/ 1H ~4><, 'NBP · =' 17) 107 FORMAT <lH ,4x, ·PBP =' •F6.3• ~ %')108 FUf<'l'lAl <.l H , 4X, • AVPLI.~.I =· ~ F7. 3/ 1H ' 4X, • AVRLB =· ~ F7. 3)
109 FDf.'MAl <!H ,4x,·BT01 =· ,F7.0/ lH •4X, ·'BTOTIF' =··,F7.1).>
126(1(1 12?UU 12750 12:::ou 1291.1(1 1:30 (11.1 1.~:101.1 1:3200 1 :;: :3 (Il) 1 34 (Il) 1350ll 13600 1:;:?00 137'50 13E: O O l:;:::: 1 (l 1 :;:~:2 (l 138~..:: o 13840 138~11) 1:38b0 13:3?0 13':i:l(l(l 140(1(1 14101.1 1421)1.1 14:j(IU 1441)
o
145(11) 146(11_1 14700 14800 14'~ (11.1 15001.1 1510(1 15300 15:::~.(1 15~·01.1 15600 157'00 15800 15900 1601.11.1 161(1U 1621.11) lt. ..::u
u
l t:o41.11.1 16~·1.11) 16:::1.11.1 1r:.·;:.uu 1701.10 1 7' l (Il) 1? 2 (Il) 1 ?3 (Il) l 7401.1 l ?~· (11.1t
:••
••
~:uJ::~·uur 1 r·H: t:our·w •••••••••••••••••••••••••••••••••••••SUBPOUl H-tE BUUf'i[l ( 1 S:t•lH~•;, I~IPRS:Yt·h BP~S:YM• ANPS:'r't'1, PPL:S:I.olo PRLS:B,
c
c
c
(:c
c
c
1 -· ..c
c:
c
c
c
c
c
c
L r·-·
c
t_: (.; (:!ii r·E lOTlol, N:5:TOTB, LS:TOT • HPEU
•••••••••••••••••••••••••••••••••••••••••••••••••••••
• SU~ROU11N~ 'BUUND' CALCULATES SYMBOL ENTROPY FOR •
• 1 H E: I<'EPEA l I N !:o LUCHL :S:OURCE., 6 I VEN I T S: PRDBAB I L ITY•
• DJSIRJBUIIUN. 11 NU~MHLlZ~S lHIS: TO PEL E.NTROPY •
• USlNb lH~ HVE~Hb~ NUMBER OF PELS PER SYMBOL AND •
• lHEN COMPU1ES ITS INVERSE, THE COMPRES:SION BOUND.•
•
•
• HR6U~1E.NT L I $1: •
• ISMHX = MHXIMUM INDEX NUMBER FO~ SYMBOLS(INPUT> •
• t\IP,..,:S:Yt1 = A""F:'HY: l.oiHITE SYMB. PROBABILITIES: (INPUT>•
• BPRS:YM = A~""HY: ~LHCk SYMB. PROBABILITIES CINPUT>• • HNPSYM = AVE~At.:.E PELS: PER SYMBOL (INPUT) •
• PRLS:I ... I = PROBAB l L I T 'r' OF ltiH I TE L l NE S:TA~~T (J NP1_1T) •
• PRLSB = P~DBHBILITY OF BLACK LINE S:TARt (INPUT) •
• t'1Sl 01lo.t = TO l Al NUt1BER OF loiH I TE S'01BOL OCCUf<~At-K:ES: •
• <.!Nt-'U l) •
• N~1U1B
=
lDlAL NUMBER OF BLACk SYMBOL OCCURANCES: •• < INF-'U'I > •
• LS101
=
101HL NUMBER OF LINE STARTS: <INPUT) •• HPE.l
=
ENl~DPY PER PEL <OUTPUT) ••
• LOLHL VH~lH~L~ Ll~ll• CB c cOMP~ESSlON SOUND + HSYM
=
ENT~OPY PER SYMBOL•
•
•
•
c
•••••••••••••••••••••••••••••••••••••••••••••••••••••
C••••••••••••••• INITIHLIZE ••••••••••••••••••••••••••••••••Il l t1Etf~.: 1 UN l.oiPRS:YM ( l ~MHK> ' BPRSYM <.I S:MA>O
H~'I,.M
=
1.1.Ht-'E.L
=
U.CB
=
-9999.C•••••••••••••••
PROCESS ••••••••••••••••••••••••••••••••••• 1 YPE. l 0(1CALL EN l ROP ' I SMH><, ltiPRS'r'M, BPRSYM, PRLS:lol, Pf<:LSB, NSTOTltl,
$ NSlDrB,LSTOT,HSYM> TYPE 11)3 TYPE 105,HSYM TYPE lt'.t6,ANPSYM HPEL
=
HSYM/ANPSYM l'r'PE lO?,HPE.l l F < Ht-'I:::.L> IJ~4 • ll':14' 1.1~2 0~2 CB=
1./HP~L (1~•4 l YPE 11.18 • C B f.<'t:.lu,..,r-1
c•••••••••••••••
FORMH1 ••••••••••••••••••••••••••••••••••••11.10 FO,..,f'lHl (}HII•''5:UBRDU11NE BOLIN[I' )
(:
c
Iu
:
.::
FU,..,MHI <.tHu,;:~<''LHLCULHliDr'iS:•) 105 FORMAl <.lH •4X•'H~YM = ',F6.3,· 106 FORMAT <.lH •4X•'RNPSYM =· ,F7.3,• 107 FOPMHT <1H •4X• ' HPEL=
·,F6.3,· lut: F0~1'1H1 <.lH ,4;:-:;,•cB = ",F6.3,·' Et'iD B I T /$'(MBOL • ~.' PEL,..S:YMBOL· > F: I T /PEL···) PEL/ BIT')18100 1820 l) 18:.300 184(10 18500 1 ~:61) (l 1871)1) 1 ::: ::: (l (l 18'31)1.1 1901.10 1911)(1 192(1(1 192'50 19::3(1(1 19:'311.1 1 9.:::21) 19.331.1 l ·;.:;;4 (l 1 ';t:;::t (l 19401) l 9'::· (Il) 196(11_1 t•:;.((ll) 19?50 l 9::: (Il) 19850 19901.1 l •:;10::,"', fl 2 (l (Il) l) 2
o o:.
(l 2 (12 (Il)t.:: • SUBROUl I t'IE ·· COJIE' APPL l ES R F'I"ACT I C:RL CODE TO THE +
C • MODEL OF 1HE REPERliNG LOCAL SOURCE. THE CODE IS •
C • :S:PE.C I f I E. D If'! ·r E.F<:MS OF :S:Yt'1f:OL CODEI.oiORfl LENGTH:S: ~ •
C • WH1CH H~t:. 1Ht:.N CUMBINE.D WITH SYMBOL PROBAE<ILITIES+
C • 10 CALCULHlt:. IHt:. AVERAGE LENGTH PER SYMBOL. IT •
C + NO~MALlZES lHIS 10 AVEPAGE LENGTH PER PEL USING •
C • lHt:. AVE.RHGE. NUMBE.R OF PELS PER SYMBOL AND THEN +
C • COM~UlE.S IlS INV~PSE~ THE COMPRESSION ~ATIO. •
c
•
•
c
c
.-·
c
(:c
(:c
c
c
c
c
c
c
c
c
c
c
c
c:
•
•
•
•
•
•
•
•
•
•
•
•
I SMA::<: loiP~SYM BPRS.Yt1 RNP$YM•
=
MR>< l t'11Jt·1 INDEX NU~1BEI\' F OJ;" SYMBOL S <:INPUT> •=
AJ;"RAY: WHITE SYMB. PROE<ABILJTIES llNPUT>•=
HRRAY: BLAC~ SYMB. PROE<RBILITIES <INPUT)•=
HVE.RAGE. PELS PER SYMBOL liNPUT> •N:';. l O Tlo.l
=
TOTAL NIJMBER OF l,IH I TE SYMBOL OCC:URANC:ES + t'I'S:r m
BLS:l U1 ALP EL
<.!NPU l> +
=
rorHL NUMBE.R OF BLRC~ SYMBOL OCCUPANCES +({N~Ul) •
=
TOlAL NUMBER OF LINE STARTS (INPUT> •=
AVt:.RHGt:. LENGTH PER PEL lOUTPUT> •• LDCAL VAklAE<lt:. LIST:
•
•
•
•
•
•
•
•
•
•
• Allo.IORII=
HVH•'HI:,E LENI;.TH PER b.IORD• ALW
=
AVERRGF LENGTH PEJ;o WHITE WORD • ALB=
AVERAGE. LENGTH PER BLAC~ WOPD+ ALS
=
AVERAGE LENGTH PER LINE START WORD • CR=
COMPRESSION RA110• loiLhllJt-<:LI
=
Hf.::RH'n LE.NGTH OF l,IHllE CODEI.oiORitS• BLWDRU = Hf.::RHY: LENG1H OF BLACK CODEWORDS
• SLWOf.::D
=
LENGlH UF LINE START CODEWORDSl 2 o·;: u u 20401.1 20'::· (l
u
20'::·1 (l 20520 20'::·30 20541.1 205':t1) 206(1(1 20700 2 (l;f.IJ (l 20'300 2 09 O':• 20910 2o-;..::
u 20941.1 20950 20960 21 (1(11) 21010 21020 2102~j 21o::::o 211.141.1 210':t1) 21100 21401.1 21 ':tl) (l 21525 215!::tl) 21570 21575 21600 216':t1) 21700 21800 21·;.ou 22 (Il)o
2211)0 222(10 2230(1 22400 225(1(1 22600 2291)(1 2300U 23101.1 2::::2(1 1.1 233(11) 2341.1(1 234c0 2.:::44U ~+++++++++++++++ lN111AL1iE ++++++++++++++++++++++++++++++++D l r•H:-N:~~ I Uf'i lolf.'r;oS:YM < l ~;:r'lHX' • BPP.~:YM < l S:MA~<:'
D HH:r'i::::.l Dr'i I(ILl(IOf.'[l < l ?28) 'l::U..IOF' [l ( l 728.:.
DO 01.15 IS=~,JSMHX l.o.IL IJIOI': [l < 1 ~::.
=
O. 005 BLWORD<lS.:O=
O. A Ll.o.l=
l) • ALE:=
O. HLI.o.IUI-:' D=
l). HLI-'EL=
U. CR = -·:,.·~·;:..9. C+++++++++++++++ 1-'ROCESS +++++++++++++++++++++++++++++++++++ DA l A <lollloiURD ( 1 S:.:o • t S=l • 8) /6. 4, 2+4. 8, 3. 2, 1. 6' 3. 2, 2+4. 8/ 11 R 1 H .: B l loll]lö• (l < l ~:;o , 1 ~=
l • 8 ;o /4. 8 , 3 • 2 , l • 6 , :3 • 2 , 3 + 4 • 8 , 6 • 4 ,.,. liU O 15 l S.=~, <.l :::::MH:X:-1 > ~l=
l :s:o
l l) ~l=
.
l/ c' loiLI.(IORD \l :S:) = l.oll.l\IQr;o[l <l :S:) +l •u:
<...1. r·iE.o
.:o 601o
(Ilo
l(ILI.oiOFdl < l S:)
=
1 • 6+1olllo.IUP.D <l S: >BLWUI-' ll <.l~ . .,
=
loiLWUt-~D < 1 :i.>015 CDr-iT l NUt:. WLWORD<ISMHX;t
=
8. BLWU~(I(JSMAX>=
~. SLI.o.IUR D=
l • b TYPE 1 OU TYPE. }IJ:.:< DO 020 IS=l,ISMAXALI.o.l
=
Hllol+l.oiPRS'y't'l < l S;o +l.oiLI.oiOPD (I S:>ALE:
=
ALE:+E::PRS:YM <I S:O +f:LIJIOPD <.l$)(121) CDr'iT I r'iUE.
ALS
=
~:Lt(IOPDHLWU~D
=
(N~JOJW+HLW+N~lOlB+HLB+LSlUT+ALS)/$ FLOR l <.N~ l O lloi+NS:TOl B+LS:TOn
l YPE 104' ALI,IOR [l
lYf-'t:. 11.1~•HNP$YM
HLPEL
=
HlloiO~li/H~iP:5:YMTYP!: 11.1,..•• ALPE.L
l F <.ALr'E.U Ob4 • Uf:>4 ~ l.lb2
Ub2 CR
=
1./ HLPEL 064 TYPE 107•CR PE l UF.'ti C+++++++++++++++ FORMAT •••••••••••••••••••••••••••••••••••• t::c
l (1(1 FOiö::MAl OH(I, 'SUBROLlliNE COIIE')
tu:.:: F Of.<' f'! H l (l H U~ c: ;x:~ 'C.:Hu_:ULAl l Of-f$: ··)
104 FO~·r·lH·r <.lH ,4~<:,··Hl.h1Ufo([l
=
''F6.3''105 FOf.':MHI <lH ,4;-.;,··At'iP~:Yt-1 =· ,F7.:,3,··
106 t-Diö:'f'1Al UH ,4X,'ALPE.L
=
' ,Ft..:j,·· 1(17 FOF'MHl UH ,4;..;,··(:p, = ··,Ft-.:3,' Ef'HI I<IT/SYME<OL' ) PEL/S'r'MBDL ,. :O BlT/PEL') PEL/ BIT'.>2::::6(1
u
2362(1 23641) 23661.1 236::: (l 2371)1) 2.3720 23760 2:3781) 22:8(1(1 23820 2:.::;::4 (l 2'3:::.:1 IJ 2::::88(1 23'::HII) 2.3·~21) 2394(1 2~:960 239~:(1 24(11)(1 24020 2404 (l 2406(1 24o::: o
241 (Il) 243UtJ 2441.11'1 2451)(1 24520 24'.:·4o
245t;. (l 2458(1 246(1(1 24621) 241:-40 2466(1 24f:::.:::: '-' 24 7 (Il) 24 ?c-: o 247'4(1 2476(1 24 7::: (l 24:::1.11.1 248.::u 24::::41.1 24861.1 .=· 4:::::: 1.1 24'~ Ul.l 24St2ll 2494 (1 2496(1 (;c
c
c
c
c
c
•••••••••••••••••••••••••••••••••••••••••••••••••••••
+ ~UBRDUTIN~ 'ENTROP' COMPUTES SIMPLE ENTROPY FOR A+
+ SET OF SYMBOL PROBABILITIES. AN ALPHABET SYMBOL +
+ l•lll H ZEI"O PF:'OBHB I L I l Y ltll LL HAVE l TS: Ul'iCEIHA ItHY +
+ UR ~~LF-1NFDRMA11UN TAKEN TO BE ZE~O. +
•
•
+ HRGUF•lE.Nl L l Sl: +
+ I :S.t'IAX
=
MA>< I t1Uf'1 I N [lEX NUMBE~<: FOP. SYMBOLS: (INPUT> ++ l.tiPP:S:YM
=
A~RAY: hiH!TE S:YMB. PPOBABILIT·JES: <:INPUT>++ BP~SYM
=
HRRAY: BLACK :S.YMB. PROBABILITIES: (INPUT)++ PRL~W
=
PROBHB!LlTY OF WHITE LINE START (JNPLIT) ++ P~L:S:B
=
Ploi'OBHB l '_ll Y OF BLFtCI<. LINE START <:INPUT> ++ NSTOTW
=
TOTAL NU~BER OF WHITE SYMBOL OCCURANCES ++ <.1 NPUT' +
+ NSTOlB
=
IOTAL NUMB~R OF BLACK SYMBOL OCCUP.ANCES ++ (!NPUll +
+ LSlOT
=
TOTHL NUMBER OF LINE STARTS tlNPUT> + + HSYM=
ENli"OPY PER SYMBOL COUTPUT) +•
+ LOCFtL VAktABLE LIST:
• ltiH:S:YM :: ENT ROPY PER loJHI TE SYMBOL
+ BHSYM
=
ENTROPY PER BLACK SYMBOL+ WSHSYM
=
~NTRUPY PER WHITE LINE START SYMBOL + B~HSYM=
ENII"OPY PER BLACK LINE START SYMBOL + SLHSYM=
ENlROPY PER LINE S:TAPT SYMBOL•
•
•
•
•
•
•
c
•••••••••••••••••••••••••••••••••••••••••••••••••••••
(+++++++++++++++ INITIHL!ZE ++++++++++++++++++++++++++++++++ It I r·ll::.rr:,: I !Jr'! l.oiF'RS:YM (l :S:I'lHX.J ~ BPRS'r't1 < I S:r1AX)WH:>:::Yf·l
=
O.BH~:Yt1
=
O.l,I~:HS'r'M = O.
BS:HS.Yt1
=
1.1.C+++++++++++++++ PPOCE.SS +++++++++++++++++++++++++++++++++++
[IQ U25 IS=l~lSMAX
IF <.to.lt-'R~:YM( 1~::•) 1.11~~ 1.115~ 010
01 1.1 IJ.IHSYf·l = loiH.::::YM-Iott-'R~YM <I$) +ALOG <.I.,IPRSYM <.l s·) ) O 15 l F < E:t-•P.:~Yt1 < l $) ., Oc'~ • 025' 020
020 BHSYM
=
BH~YM-BPPSYM<lS)+ALOG<BPRSYM<I$))025 CON l I tiUE:.
l F (P f<' L ~:lol) 1):3':• •
o
:
::::.
•
O;: (l(t:;: U loi~:H:>;:. 'l' r·l
=
-r' l<' L ·s:loi+HLUb ,. PRLS:t.o.l) u::::5 1 F ( PRL ::;: t:., (14':,. 04':• • 1)4 (l1.140 BSHSYM
=
-PPLSB+HLOG<PRLSB)045 SLHSYM
=
WSHSYM+BSHSYMH ~:'d1
= (
r
·
r
s·
r
OTiol+loiH~-:~·'t'l+N S:TOTB+BHS'\'M+LS:TOT +S:LHS:'r'M) /'f; \ lf'iSl OTI.ol+t-tS:T OTI::+L 'S:TOn +AL OG 12. >)
loiH~.'i'f•l
=
loiH~YI'VHLUl:lt..2 • .)BHSYM
=
BH~YM/HLUb\~ • .)rYPE 10li•WH~YM•BHSYM PE.'f 11~:N
(:+++++++++++++++ FORMHT +++++++++++++++++++++++++++++++++++
1(10 FOh'MHl <1HIJ•4X• ' ltiHS.YM
=
"',F6.:~V1H,4
x,
··BHSYM = ' ,F6.3) E.ND\ 252E· O 253(11) 2:.:32(1 2534U 25·:::.:. (l 2'5:::::~: 1_1 254(1(1 2542U 25441.1 2:·4t:. (l 254:::
u
2550(1 25520 25540 2~i':·60 255:3(1 25600 2'::i62(1 2:i64(1 2566(1 2570(1 25?20 25?40 257E·O 25?80 258UU 25F.:2 (l 2584(1 2'5:36 (l 20:· l (11.1 262 (IIJ 262':•1.1 263(11) 2641)(1 264:il) 2651)1) 26'5:·0 266(1(1 2665(1 26?0(1 2E· 7:, O 26!31)u
268'::·0 2E.'30 U 2E.'~':t1J 27(11)1) 2?1UU 2?2(11.1 -ilc
c
c
C•••• SUBkUUliN~ ~~UBHBlLllY •••••••••••••••••••••••••••••••::;:u.t:,._·uu
l J rH: f-'f'-'Uf!Hr: 0:. l :5:r•1H>:: ~ la1Pf":S:Yt1 ~ f:PP:S:'·{M ~ L:S:I .•. I ~ L:S:E:: ~ t·E TO T hl~$ NSlOTB,L:S:TOT~PPLSW~PPLSB)
c
•••••••••••••••••••••••••••••••••••••••••••••••••••••
C • SUB~UUllNE ·PPUBAB' E:S:TIMATES A PROBABILITY •
C + DIS1PIBU1ION• GIVEN A SET OF SYMBOL FPEQUENCY OF •
c + UCCURWANCE VALU~S. lHE ARPAYS WPRSYM AND BPRSYM +
C + HPE USED FO~ ~OTH FPEQUENCY DISTPlBUTION INPUT +
C • Hr·W PPOf:Ht.: l L I l 'y' D I :S:TP I BUT J Dt'i OUTPUT. I F ALL THE •
C + FPEQUENCJES ARE ZEPO, THE PROBABlliTIES APE ALL +
C + HW~t·-t TO BE. ZEPO. •
c
•
•
c
c
(:c
r-. -·c
(:c
c
c
c
(:c
c
c
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
HF<:I:oUMt.ti r 1 :~:r'lH;x: = l•IPP:S:YM = Bf-',..'S:YM = L :~:l.a.l=
LSB = N :5: 1 U Hl=
f'iS:l OTB=
L:S:lOl = I,,IPR:~:'(t1 = BPRSYt1=
PRL~:I.al=
PRL:S:B = L l :.:::T :•
t'lH:x; l f'lUM J r·t!IE>< t'lUr.,E:EP FO~· S'r'MBOLS: (INPUT>
•
Hf<'f<'H'i: la.IHl TE SYMB. FREG!UENC I ES: ( Ir'iPUT)
•
H ... ..,.AY: BLHÖ< S:'(MB. FREOUENCJES: ONPUT>
•
NUr1BE:.f" OF l.aiHITE LINE STARTS: <:It'iPUn
•
r·-t u r•lE: f.Y OF- BLACI< L I t-iE STARTS: <:Ir·~Pun
•
101AL t·il_lf•l.E:E.f;' OF la.IH I TE S'r't1F:OL OCCUPAtKES:
•
(OIJ'I PU T )
•
l [!TAL t·iUr·lf:ER OF BLACK S:'('MBOL OCCUF.'ANCES
•
<.OUTPUT)
•
1 O r AL tiUt·ll::EP OF L I t·iE 'S:TAI<'TS: (OUTPUT)
•
FiRRAY: I,~.IHI TE :S:'r't1B. PROE:RB I L I T I E'S: (OUTPUT+
HR.-.HY: BL HCK :S:'r't1B. Pf':OBAB I L I T I ES: <.OUTPUT+
f-'R[J.I::!H B l L Il Y lJF I,.IHI TE L I t-iE. STAPT <:OUTPUT) •
PPOBHBILll'r' OF BLRCI< LINE S:TAPT (QI_ITPUn •
c •••••••••••••••••••••••••••••••••••••••••••••••••••••
C•••••••••••••••
INI riALlZE ••••••••••••••••••••••••••••••••[Il t'lEt·C l Dr'i h.IPPS:''(t'l ( l :::::MH/0 , BPRS''(t1 (I S:t.,A::<:)
N :s: T
o r,,,
.. u
t'f::::l O T B
=
(lC+++++++++++++++ PPOCF~~ •••••••••••••••••••••••••••••••••••
DO UlU lS=l,lSMRX
t·fi. TOTI.a.l
=
t·Elllll.ti+I,.IPP:S:YM <I S:)010 NSlOTB
=
NSlOlB+BPPSYM(IS>l F u·L: 1 U II.•.U U c~•, l.lc~·, 1.11 ":•
015 DO U20 lS=l•lSMHX
020 1 .• 1PI'::~.:'d'1 a: 1 ::;:;o = l.a1PRS:Yr1 ( 1 s: :o /F LORT HiS:l Oll.a,l;a
02":· I F n-r·;: 1 Dl B> 1.140, U4 O, 0:30
030 DO 035 IS=l,JSMHX
035 BP~~YMa:JS:o
=
BPPSYM(l$)/FLOAT(N$TOTB)04u COf'i 1 1 r·-tut:
LS:l O T
=
LSI.ai+L.:S:BPf-''LSI·I = FLOAl a:L:~:IoD /Fl.ORT (LS:TOn
PPLSB
=
FLOHl (L$8)/FLORT(LSTOTlPE.lU~t'i Er' iV