@CT 1 @LM 1 @RM 61 @PL 65 @TB -----T-----T-----T-----T-----T-----T-----T-----T-----T-----T-----T-----T-----T-----T-----T-----T-----T-----T-----T-----T-----T-----T @MT 3 @MB 3 @PO 10 @PN 1 @OP @LH 6 vodn strana @LH 3 @LH 6 @LH 3 @LH 6 @LH 3 estn prehlsenie estne prehlasujem, e diplomov prcu som vypracoval samostatne na zklade literatry, ktor citujem v zozname pouitej literatry. @LH 6 V Bratislave da .......... .............. Podpis @LH 3 @LH 6 @LH 3 Poakovanie Na tomto mieste by som rd vyjadril poakovanie Ing.J.Polecovi,CSc Doc.Ing.J.Kotuliakovej,CSc Ing.M.Oravcovi. za ich cenn rady a pripomienky a vestrann pomoc pri @LH 6 vypracovan diplomovej prce. @LH 3 OBSAH: Pouit skratky a symboly ................................XX vod...................................................... 1 Transforman kompresn postupy......................... 1.1 Kombinovan transforman kdovanie .................. 2 Homomorfn filtrcia.................................... 3 Diskrtne ortogonlne transformcie..................... 3.1 Jednorozmern DOT..................................... 3.2 Dvojrozmern DOT...................................... 3.3 Pouit ortogonlne transformcie..................... 3.3.1 Diskrtna fourierova transformcia (DFT)............ 3.3.2 Diskrtna hartleyho transformcia (DHYT)............ 3.3.3 Diskrtna kosnusov transformcia (DCT)............ 3.3.4 Haarova transformcia (HT).......................... 3.3.5 Walsh - Hadamardove transformcie (WHT,WPT,WST)..... 3.3.6 ikm transformcia(SHT,SPT,ST)..................... 3.3.7 DFT a DHYT s preusporiadanymi bzami................ 3.3.7.1 Preusporiadanie vsledku DFT...................... 3.3.7.2 Preusporiadanie vsledku a bzy DHYT (DHYT2)...... 4 Popis programovho vybavenia............................ 4.1 Veobecn charakteristiky programu.................... 4.2 Popis uvateskho rozhrania......................... 4.2.1 Reim Normal........................................ 4.2.1.1 pecifikcia vstupov.............................. 4.2.1.1.1 Zadvanie vstupnch parametrov.................. 4.2.1.1.2 Pomocn vstupn sbory.......................... 4.2.1.2 pecifikcia vstupov............................. 4.2.1.2.1 Vstupy do sborov.............................. 4.2.1.2.2 Textov vstupy na terminlov obrazovku........ 4.2.1.2.3 Vstupy grafickho charakteru na terminl....... 4.2.2 Dekompresn reim................................... 4.2.3 Manulny reim...................................... 4.2.4 Grafick nadstavba.................................. 4.2.4.1 Vizualizcia obrazovch dt....................... 4.2.4.2 Histogramy obrazovch dt......................... 4.3 Popis tuktry programu.............................. 4.3.1 Kompletn truktra v reime normal................. 4.3.2 Kompletn trukra programu v dekompresnom reime... 4.3.3 Kompletn trukra programu v manulnom reime...... 4.4 Popis jednotlivch funknch skupn blokov............ 4.4.1 Logaritmus a exponovanie dt........................ 4.4.2 Spracovanie UIS zloky pri CTC kdovan............. 4.4.2.1 Ziv - Lempel kdovanie............................ 4.4.2.2 Kdovanie Run Lenght a Huffmanovm kdom.......... 4.4.3 Delenie na bloky.................................... 4.4.4 DOT................................................. 4.4.5 Kvantizcia a filtrcia maticou..................... 4.4.6 Linerna kvantizcia................................ 4.4.7 Orezvanie a naberanie spektra...................... 4.4.8 Kdovanie/dekdovanie spektra....................... 4.4.9 Ruenie spektra..................................... 4.5 Popis zdrojovch sborov.............................. Zver..................................................... Zoznam pouitej literatry................................ Prloha................................................... Pouit skratky a symboly 1D - Jednodimenzilny 2D - Dvojdimenzionlny BC - kdovanie typu bzy, DOT - diskrtna ortogonlna transformcia, DFT - Diskrtna Fourierova transformcia DFT2 - 2D DFT s preusporiadanou bzou DCT - Diskrtna Cosnusov trasformcia DHYT - Diskrtna Hartleyho transformcia DHYT2 - DHYT s preusporiadanou bzou DI - dvojkov inverzia EC - entropick kodr EOB - End Of Block F - Filter GI - Preusporiadanie pomocou Grayovho kdu H - Entropia HT - Haarova transformcia JSM - Jednosmern zloky spektra KOE - Koeficienty obnovy energie LIS - doln obrazov sbor, MS - pam sekvennch spektier. O - otzka slo P - predspracovanie, PBL - poet blokov PBR - poet bitov potrebn na uschovanie relneho sla Q - kvantiztor, R - znenie redundancie S - Rozdelenie obrazu na subbloky SI - Prepoet koeficientov pri ST SHT - ST s Hadamardovm poradm bzovch funkci SPT - ST s Palleyho poradm bzovch funkci ST - Diskrtna ikm transformcia STR - Striedav zloky spektra UIS - horn obrazov sbor, VB - vber najlepej bzy, WHT - Walsh - Hadamardova transformcia s Hadamardovm poradm bzovch funkci WPT - Walsh - Hadamardova transformcia s Palleyho poradm bzovch funkci WST - Walsh - Hadamardova transformcia s usporiadanm Hadamardovm poradm bzovch funkci @LH 6 vod @LH 3 1 Transforman kompresn postupy  Signl je obvykle vysoko tatisticky zvisl proces. Potom vhodnou aproximciou je mon dekorelova tatistick zvislosti medzi signlovmi vzorkami a dosiahnu znenie nadbytonosti informcie signlu. Algoritmy pre transforman kompresn postupy meme rozdeli na tri asti : transformcia, kvantizcia a entropick kodvanie (alebo veobecnejie ako znenie redundancie a kdovanie) @LH 6 vstup vzork. sig. Ŀ Ŀ Ŀ vstup  Ĵ DOT Ĵ Q Ĵ R   @LH 3 Obr. 1.1. Idealizovan transforman kodr.  V prvej asti je na signl aplikovan invertovaten transformcia. V tejto asti sa plne prejavuje snaha o pln dekorelciu tatistickch zvislost v asovom priebehu signlu pomocou funkci niektorej ortogonlnej bzy a s tm spojen snahu o o najkratiu aproximciu. Druh as je uren na znenie potu pouitch isel, ktormi je vyjadren prslun sekvenn spektrum kdovanho signlu. V tejto asti ide o o najviu redukciu potu rovn pri o najmenej kvantizanej chybe, ktor sa prejav pri rekontrukcii takto kdovanho signlu. Kvantiztory s vemi dleitou sasou celho kdovacieho procesu, lebo tie vnaj do procesu chyby, ktor spsobuj degradciu signlu. S vak dleit aj pre zvyovanie innosti kompresie, lebo s to prve oni, ktor produkuj seln informciu pre entropick kodry v zvere celho kdovania. Vber kvantiztora je vak obmedzen prve poiadavkami stupa @LH 6 degradcie obrazu. @LH 3 Tret blok vyuva vlastnosti sel, zskanch aplikciou transformcie a kvantiztora, teda ich opakovanie s rznou poetnosou a existenciu mnostva nl v takto zskanom vsledku. S vhodou s tu preto pouit kdy s variabilnou dkou znakov, ktor je priamo zvisl od poetnosti vskytu jednotlivch z mnoiny sel, zskanch po kvantizcii a rzne typy tzv. zonlnych filtrov. Najastejie pouvanmi kdmi s rzne modifikcie Huffmanovho kdu a jednorozmernch a dvojrozmernch kdov Ziva, Lempela a Welcha ,Run Lenght kodu a ich kombincie. V sasnosti je v rmci kadej tejto asti vypracovanch mnostvo postupov, vedcich k neustlemu zvyovaniu innosti transformanch kompresnch postupov. Za vchodz postup sa me povaova odporanie Joint Photographic Expert Group (JPEG). Pouva vemi efektvny postup s pouitm dvojdimenzionlnej diskrtnej kosnusovej transformcie (2D DCT) na kdovanie blokov obrazu s rozmerom 8 x 8 bodov, Danov Fuhrmannov a Arunov Kumarov maticov kvantiztor DCT - sekvennch zloiek a Huffmanov, Lempelov - Zivov alebo Lempelov - Zivov - Welchov entropick kodr kvantovanch koeficientov : @LH 6 vstup Ŀ Ŀ Ŀ Ŀ vstup  Ĵ S Ĵ2D DCTĴ Q Ĵ EC  vzork.   @LH 3  sig. Obr. 1.2. Blokov schma JPEG - transformanho kodra. Tmto, v sasnosti u tandardnm, postupom je mon dosahova vysok kompresn pomery pri ete dostatonej "itatenosti" obrazu. Schmu transformanho kdera meme vylepi pouitm pouitm novch transformci, alebo oivenm niektorch starch, pouvanch doteraz na kdovanie alebo aproximciu inch druhov signlov, prpadne ich adaptvnym vberom. Systm sa me taktie adaptova aj vekosou transformovanho bloku: @LH 6 Ŀ Ŀ Ŀ   VB Ĵ BC Ĵ   vstup   EC vstup Ŀ Ŀ Ŀ Ŀ Ĵ S Ĵ DOT Ĵ Ĵ Q Ĵ vzork. MS sig.       Ŀ  Ĵ ...8, 16, 32,... @LH 3   Obr.1.3. Transforman kodr s adaptvnou vekosou  transformovanch blokov a s adaptvnym vberom 2D  diskrtnej ortogonlnej transformcie. 1.1 Kombinovan transforman kdovanie  V tejto modifikcii sa obrazov sbor rozdel na 2 asti podla jeho stochastickch vlastnost. Prvou asou je horn obrazov sbor, ktor je reprezentovan najvym hornm bitom obrazovch vzoriek (UIS) alebo niekokmi najvymi bitmi. Druhou je doln obrazov sbor, reprezentovan zvynmi dolnmi bitmi obrazovch vzoriek (LIS). UIS je nositeom vysokej vznamovej informcie, preto je vhodn, kdova ho bez degradcie. Na to sa vyuva niektor z entropickch kodrov, asto Zivov - Lempelov entropick kodr, prpadne Run - length kodr v kombincii s niektorm alm entropickm kodrom. LIS je potom mon, poda uvateom danch obmedzen, kdova so stratou vznamovej informcie. Preto sa prve na tento sbor aplikuje klasick postup poda JPEG. Vaka svojim vlastnostiam tento typ kodovania pouva najviac na obrazov spracovanie v medicne . @LH 6 Ŀ Ŀ vstup 1  Ĵ UIS Ĵ EC    vstup Ŀ  Ĵ P  vzork.  sig. Ŀ Ŀ Ŀ Ŀ vstup 2  Ĵ LIS ĴS-DOTĴ Q Ĵ EC @LH 3   Obr.1.4. Kombinovan transforman kodr. 2 Homomorfn filtrcia  Obrazov signl, prenan prostredm, bva asto ruen multiplikatvnym umom. Z tohoto faktu vyplva potreba odstraovania multiplikatvneho umu. Jedna z monost je homomorfn filtrcia, ktor umouje prevod multiplikatvneho umu na aditvny, ktor je vo veobecnosti ahie odstrniten. Nech a(n1,n2) je pvodn obrazov signl a b(n1,n2) je multiplikatvny um, n1 = 0,1,...N-1 a n2 = 0,1,...M-1. Potom obraz f(n1,n2) me by vyjadren pomocou zloiek pvodnho signlu a umu poda vzahu: f(n1,n2) = a(n1,n2).b(n1,n2) Avak priamou aplikciou dvojrozmernej diskrtnej ortogonlnej transformcie na tento vzah nie je mon oddeli sekvenn zloky pvodnho signlu od multiplikatvneho umu. Preto je na rieenie tohoto problmu vhodn poui nasledovn postup: z(n1,n2) = ln[f(n1,n2)] @LH 6  = ln[a(n1,n2)] + ln[b(n1,n2)] @LH 3 Po transformcii: Z(k1,k2) = A(k1,k2) + B(k1,k2)  k1 = 0,1,...N-1 a k2 = 0,1,...M-1. kde A(k1,k2) (resp. B(k1,k2)) je dvojrozmern ortogonlna transformcia vrazu ln[a(n1,n2)] (resp. ln[b(n1,n2)]). V tomto momente podrobme signl Z(k1,k2) filtrcii s prenosovou funkciou filtra H(k1,k2): S(k1,k2) = H(k1,k2).Z(k1,k2)  = H(k1,k2).A(k1,k2) + H(k1,k2).B(k1,k2) kde S(k1,k2) je transformcia vsledku. Po sptnej transformcii: @LH 6 s(n1,n2) = a'(n1,n2) + b'(n1,n2) @LH 3 kde a'(n1,n2) = T-1{H(k1,k2).A(k1,k2)} @LH 6  b'(n1,n2) = T-1{H(k1,k2).B(k1,k2)} @LH 3 Keԧe pvodn signl sme predspracovali operciou prirodzenho logaritmu, aby sme zskali iadan odruen obrazov signl, musme signl s(n1,n2) podrobi inverznej, @LH 6 ie exponencilnej, opercii: @LH 3 g(n1,n2) = exp{s(n1,n2)} = ao(n1,n2)bo(n1,n2) kde ao(n1,n2) = exp{a'(n1,n2)}  bo(n1,n2) = exp{b'(n1,n2)} @LH 6 s zloky signlu a umu vstupnho obrazovho signlu. @LH 3 @LH 6 f(n1,n2) Z(k1,k2) s(n1,n2)  Ŀ Ŀ Ŀ Ŀ Ŀ    Ĵ ln Ĵ DT Ĵ F Ĵ IDT Ĵ exp      z(n1,n2) S(k1,k2) g(n1,n2) @LH 3  OBR. 1.5 Veobecn schma systmu na homomorfn filtrciu 3 Diskrtne ortogonlne transformcie 3.1 Jednorozmern diskrtna ortogonlna transformcia  Uvaujme aproximciu diskrtnych signlov x(n.T), kde T je diskretizan perida, s potom vzoriek N, poda niektorej diskrtnej ortogonlnej bzy funkci V(n.T,k), kde k = 0,1,..,N-1. Potom : N-1 @LH 6  x(n.T) =  X(k).V(n.T,k) n = 0,1,...,N - 1 @LH 3 k=0 kde hodnoty X(k), pre k = 0,1,..,N-1, mme povaova za ortogonlnu transformciu signlu x(n.T). Skrtene budeme psa N-1 @LH 6  X(k) = 1/N  x(n).U(n,k) k = 0,1,...,N - 1 @LH 3 n=0 Ke U(n,k) s prvky matice U a V(n,k) s prvky matice V, potom pre vektory XT = (X(1), X(2),..,X(k),..,X(N)) a xT = (x(1),x(2),..,x(n),..,x(N)), plat X = 1/N.U.x  x = U*'.X kde U*'= V je transponovan konjugovan matica U , popisujca bzu ortogonlnych funkci prslunej transformcie. 3.2 Dvojrozmern diskrtna ortogonlna transformcia  Dvojrozmern diskrtna ortogonlna transformcia dvojrozmernej funkcie x(n1,n2) je definovan : N-1 M-1 @LH 6  X(k1,k2) = 1/(N.M) .   x(n1,n2).U(n1,n2,k1,k2) @LH 3 n1=0 n2=0 k1 = 0,1,...,N - 1 k2 = 0,1,...,M - 1 Sptn transformcia potom je: N-1 M-1 @LH 6  x(n1,n2) =   X(k1,k2).V(n1,n2,k1,k2) @LH 3 k1=0 k2=0 n1 = 0,1,...,N - 1 n2 = 0,1,...,M - 1 Ak je funkcia U(n1,n2,k1,k2) separovaten, tj. e plat U(n1,n2,k1,k2) = U(n1,k1).U(n2,k2) potom meme transformciu rozdeli osobitne na transformciu po stpcoch a na transformciu po riadkoch. Potom M-1 @LH 6  X(n1,k2) = 1/M .  x(n1,n2).U(n2,k2) @LH 3 n2=0 n1 = 0,1,...,N - 1 k2 = 0,1,...,M - 1 N-1 @LH 6  X(k1,k2) = 1/N .  X(n1,k2).U(n1,k1) @LH 3 n1=0 k1 = 0,1,...,N - 1 k2 = 0,1,...,M - 1 Rovnako to plat aj pre sptn transformciu a separovanie jej transformanho jadra V(n1,n2,k1,k2). Ak x je dvojrozmern diskrtna funkcia v tvare matice, potom pre dvojrozmern diskrtnu ortogonlnu transformciu plat X = 1/(N.M).U1.x.U2'  x = U1*'.X.U*2 kde U1 a U2 s transforman stpcov a riadkov matice a U1*' a U2*' s ich transponovan konjugovan podoby, U2' je transponovan matica U2. V alom s len v krtkosti spomenut pouit diskrtne ortogonlne transformcie. Vetky okrem DHYT maj v dvojrozmernej podobe separovaten transforman jadro, preto ich dvojrozmern vpoet je mon robi v dvoch krokoch: 1. 1D transformcie riadkovch vektorov obrazovej matice 2. 1D transformcie stpcovch vektorov obrazovej matice V prpade DHYT pouitej v tchto dvoch krokoch dostvame CAS-CAS transformciu. @LH 6 3.3 Pouit ortogonlne transformcie 3.3.1 Diskrtna fourierova transformcia ( DFT )  Je definovan vzahom [1] @LH 3 N-1 @LH 6 XF(k) = 1/N  x(n).Wn.k  n=0  k = 0,1,...,N - 1 kde W = exp(-j.2./N) je systm bzovch funkci. Inverzn transformcia potom je @LH 3 N-1 @LH 6  x(n) =  XF(k).W-n.k  n=0  n = 0,1,...,N - 1 @LH 3 Z dvodu inho selnho i geometrickho tvaru Fourieroveho diskrtneho spektra ( symetria okolo stredu ) , ne maj transformcie s relnym vstupom , sa tto prca pouitm diskrtnej Fourierovej transformcie na kdovanie signlov zaober osobitne . Venuje sa preusporiadaniu Fourierovych spektrlnych koeficientov do postupnosti alebo poa tak, aby bolo tvarovo i selne podobn s vstupom diskrtnych ortogonlnych transformci s relnym vstupom ( sstredenie energie na zaiatok postupnosti spektrlnych koeficientov, prpadne do avho hornho rohu dvojrozmernho spektra ). Takto ju potom bude mon poui ako relnu transformciu do adaptvnych truktr tak, e nevyaduje osobitn rieenie zonlneho filtra, prpadne spsobu naberania spektrlnych koeficientov vo viacrozmernch spektrch. @LH 6 @LH 3 3.3.2 Diskrtna hartleyho transformcia ( DHYT ) Je definovan vzahom : N-1 @LH 6 XHY(k) = 1/N  x(n).cas(2..n.k/N) n=0 k = 0,1,...,N - 1 kde cas() = cos() + sin(). @LH 3 Inverzn transformcia potom je : N-1 @LH 6 x(n) =  XHY(k).cas(2..n.k/N) k=0 @LH 3 n = 0,1,...,N - 1 Je ahko zskaten z DFT a naopak, a to : XHY(k) = Re{DFT[x(n)]} - Im{DFT[x(n)]} Re{DFT[x(n)]} = 1/2.{DHYT[x(N - n)] + DHYT[x(n)]} Im{DFT[x(n)]} = 1/2.{DHYT[x(N - n)] - DHYT[x(n)]} Pretoe tvar amplitdovho spektra je npadne podobn svojm geometrickm tvarom tvaru Fourieroveho spektra ( kvazi - symetria okolo stredu ), vynraj sa s jej pouitm podobn problmy ako pri pouvan DFT ( zonlna filtrcia, nacitavanie spekt. koeficientov). Preto je preusporiadaniu sekvennch zloiek DHYT venovan pozornos na rovnakom mieste ako pri rieen problmu preusporiadania spektrlnych @LH 6 koeficientov DFT. 3.3.3 Diskrtna kosnusov transformcia ( DCT ) Je definovan vzahom : @LH 3 N-1 @LH 6 XC(k)=2.ck/N  x(n).cos((2.n + 1).k./(2.N)) n=0 k = 0,1,...,N - 1 Inverzn transformcia potom je : @LH 3 N-1 @LH 6 x(n) =  ck.XC(k).cos((2.n + 1).k./(2.N)) @LH 3 k=0 @LH 6 n = 0,1,...,N - 1 1/2 pre k = 0 kde ck = Ĵ 1 pre k = 1,2,..,N-1 3.3.4 Haarova transformcia ( HT ) @LH 3  Haarove funkcie meme definova [6] @LH 6 HAR(n,0/N) = 1 pre n = 0,1,...,N - 1 @LH 3 @LH 6 (2)p pre m.(N/2p)n<(m+(1/2)).(N/2p) HAR(n,2p+m/N)= -(2)p pre (m+(1/2)).(N/2p)n<(m+1).(N/2p) @LH 3 0 in pre p = 0,1,... a m = 0,1,..,2p - 1. Potom N-1 @LH 6  XHA(k) = 1/N.  x(n).HAR(n,k/N) @LH 3 n=0  k = 0,1,...,N - 1 N-1 @LH 6  x(n) =  XHA(k).HAR-1(n,k/N) k=0 @LH 3  n = 0,1,...,N - 1, @LH 6 N = 2r 3.3.5 Walshove - Hadamardove transformcie (WHT,WPT,WST) @LH 3  Poda [6] definujeme Walshovu - Hadamardovu transformciu v Hadamardovom porad bzovch funkci (WHT) pomocou Walshovych funkci v Hadamardovom usporiadan alebo poda Hadamardovej matice. Walshova transformcia v Paleyho porad bzovch funkci ( WPT) je definovan podla [6]. WPT je ziskatelna z WHT,po vykonani ktorej sa vsledok preusporiada tzv. dvojkovou inverziou. ( alebo tie asto nazvanou ako inverzia bitov ) Hadamardova transformcia s usporiadanm Hadamardovym poradm bzovch funkci (WST) ( alebo tie nazvan transformciou so sekvennm usporiadanm Walshovych funkci ) je definovan poda[6]. WST je ziskatelna z WHT, po vykonani ktorej sa vsledok preusporiada tzv. dvojkovou inverziou a naslednm preusporiadanm pomocou prevodu na @LH 6 Grayov kd. Ŀ Ŀ Ŀ WHT WHT WHT Ŀ Ŀ DI DI Ŀ GI @LH 3 WHT WPT WST @LH 6 OBR.3.1 Transforman postupy pri WHT,WPT,WST Bzy uvedench transformaci pre N=16 s na obr.XX @LH 3 3.3.6 ikm transformcia (SHT,SPT,ST) @LH 6 @LH 3  V naej literatre je asto nazvan poslovenenm anglickm nzvom, tj. Slantova ( prpadne Slantov ) transformcia. Je definovan v [1]. ikm transformcia je jednoducho vypotaten z Walshovej - Hadamardovej transformcie, preto aj jej vsledok me by usporiadan poda toho, z vsledku akej skupiny Walshovych - Hadamardovych transformci bol zskan. @LH 6 Ŀ Ŀ Ŀ WHT WHT WHT Ŀ Ŀ Ŀ SI SI SI Ŀ Ŀ DI DI Ŀ GI @LH 3 @LH 6 @LH 3 SHT SPT ST OBR.3.1 Transforman postupy pri SHT,SPT,ST @LH 6  Bzy uvedench transformaci pre N=16 s na obr.XX @LH 3 3.3.7 DFT a DHYT s preusporiadanmi bzami  Preusporiadanie bz tchto ortogonlnych transformci je vhodn z hladiska zjednotenia vstupu z bloku transformcie v transformanom kderi. ( nevyaduje osobitne organizovan kvantiztor a zonlny filter) Z ohadom na rozloenie spektra DFT a DHYT , meme urobi modifikciu tchto dvoch transformci v jednorozmernej i dvojrozmernej podobe. Preusporiadanie sekvennch ( u DFT meme hovori o frekvennch ) zloiek je ukzan na jednoduchch @LH 6 prkladoch. @LH 3 3.3.7.1 Preusporiadanie vsledku DFT(DFT2) Pri dvojrozmernom spektre DFT pri vyuit jeho @LH 6 vlastnost, meme ho prepsa do podoby (pre N=4,M=4): @LH 3 Re{x(0,0)},Re{x(0,1)},Re{x(0,2)},Re{x(0,1)} Re{x(1,0)},Re{x(1,1)},Re{x(1,2)},Re{x(1,3)} Re{x(2,0)},Re{x(2,1)},Re{x(2,2)},Re{x(2,1)} Re{x(1,0)},Re{x(1,3)},Re{x(1,2)},Re{x(1,1)} 0 , Im{x(0,1)}, 0 ,-Im{x(0,1)} Im{x(1,0)}, Im{x(1,1)}, Im{x(1,2)}, Im{x(1,3)} 0 , Im{x(2,1)}, 0 ,-Im{x(2,1)} @LH 6 -Im{x(1,0)},-Im{x(1,3)},-Im{x(1,2)},-Im{x(1,1)} @LH 3 Vidno, e pamta si je potrebn N.M relnych sel, o je tie rovnak poet, ako pri relnych transformcich. Preusporiadanm predchdzajich dvoch pol do jednej matice dostaneme : Re{x(0,0)},Re{x(0,1)},Im{x(0,1)},Re{x(0,2)} Re{x(1,0)},Re{x(1,1)},Re{x(1,3)},Re{x(1,2)} Im{x(1,0)},Im{x(1,1)},Im{x(1,3)},Im{x(1,2)} Re{x(2,0)},Re{x(2,1)},Im{x(2,1)},Re{x(2,2)} @LH 6 @LH 3 Podobnm spsobom meme preusporiada aj vie bloky komplexnch spektier na relne matice. 3.3.7.2 Preusporiadanie vsledku a bzy DHYT (DHYT2)  Pretoe vsledok DHYT v praktickch prpadoch je energeticky sstreden tie na okrajoch sekvennch spektier, bude vhodn, preusporiada ho podobne ako vsledok DFT. U DHYT je to opercia, ktor je toton s operciou zmeny poradia bzovch funkci. V tomto prpade, toti preusporiadame kompletn poet sekvennch zloiek, pretoe spektrum nie je selne zrkadlen. Pocit zrkadlenia spektra spsobuje len rdov podobnos vekost okolo stredu spektra symetrickch okrajov. @LH 6 Majme teda vektor sekvennch zloiek DHYT: @LH 4 @LH 6 x(0),x(1),x(2),x(3),x(4),x(5),x(6),x(7) @LH 4 @LH 6 preusporiadame ho do postupnosti: @LH 4 @LH 6 x(0),x(1),x(7),x(2),x(6),x(3),x(5),x(4) @LH 4 @LH 3 To je toton s preusporiadanm bzy do usporiadania poda potu prechodov nulou, ktor obsahuj prslun bzov funkcie. 4.Popis programovho vybavenia.  Program bol vytvoren pod operanm systmom BSD UNIX 4.2 (Ultrix) v jazyku C. Pretoe nevyuva iadne pecifick funkcie rznych verzii UNIXU, je prenositeln aj na systmy HP UX, SUN OS, Linux, SCO UNIX. Aby to bolo zaruen je grafick podpora programu napsana pouitm len zkladnej grafickej kninice "Xlib", ktor sa tandartne dodva s X Windows. Pri vytvran programu bol kladen draz na matematick sprvnos a prenositenos. Z tohto dvodu je program rozdelen na 12 zdrojovch sborov (modulov), ktor predstavuj samostatn logick celky.Ich popis vi as XXXX. 4.1 Veobecn charakteristiky programu. Hlavn oblasti poitia programu by sa dali uvies v nasledujcich bodoch: . Transforman kdovanie (CTC, rzne modifikcie) . Filtrcie (Homomorfn filtrcie, rzne typy zonlnych filtrov) . Nelinerne aj linerne kvantizcie spektra (napr. CCIR kvantizanou maticou) . Vnanie umelho ruenia v spektre . Potanie entrpi obrazovch a spektrlnych dt Program m pritom nasledujce monosti: r s  . Delenie obrazovch dt na rovnak bloky typu 2 x 2 . Pouitie hybridnch transformci kombincou 12 DOT (rzne pre smer X a smer Y ) uvedench v TAB.1 . . Automatick opakovan vykonvanie transformanho postupu . dekompresia zakdovanch dt . zjednoduen reim prce(len transformcie obrazu) . 2 odlin spsoby spracovania UIS pri CTC . 3 spsoby rieenia orezvania spektra . 3 spsoby urenia vekosti orezvania spektra . pouitie kvantizanej matice ako filtranej 4.2 Popis uvateskho rozhrania.  Kli zachovaniu kompatability programu pri sptan z rznych typov terminlov je zkladnm reimom behu programu textov md. Grafick rozhranie tvoria dva samostatn programy, ktor ukazuj bu obrazov data, alebo histogram. Tieto s span (volitelne) poas behu programu ako samostatn procesy, take pre uivatelov bez grafickho terminlu zostane funknos programu nezmenen, a na monost vizualneho sledovania obrazovch informci poas behu programu. Program me pracova v troch zkladnch reimoch. Charakter sa uruje pri tarovan programu: 1. Normlny reim tartovanie: a) b) 2. Dekompresn reim tartovanie: -back { } 3. Manulny reim tartovanie: -man Pri nekorektnom odtartovan sa vype krtky HELP a beh programu sa ukon. 4.2.1 Normlny reim Tento reim je aiskovm pre cel program. Umouje pri zadanch ortogonlnych transformcich a rozlinch vstupnch parametroch vykonva transforman kdovanie obrazu z mnohmi modifikciami a variantami. Umonuje taktie mnohonsobn vykonvanie transformanho postupu pri automatickch zmench parametrov. (poda spsobu spsobu zadania). 4.2.1.1 pecifikcia vstupov 4.2.1.1.1 Zadvanie vstupnch parametrov Pri tartovan typu a) sa vstupn parametre bud zadvat rune z klvesnice. Pri b) sa bud vstupn parametre ta zo zadanho vstupnho sboru, priom sa zobrazia na terminli a ak sa na ich odshlasenie stlaenm klvesy.Tento spsob do znanej miery urchuje a automatizuje zadvanie. Parametre uruj truktru transformanho kdera a charakterizuj vetky vstupn data.Vzhadom na variabilitu truktry programu, u samotn zadvanie parametrov je truktrovan. Sslednos ich zadvania je znzornen na Obr 4.2.1 a Obr 4.2.2 : @LH 6 Ŀ Zadaj rozmery x,y vstupnho poa Zadaj meno vstupnho obrazovho sboru Ŀ <Ĵ Robi kompresiu?(0=nie,1=no) O.1 0 Ŀ <Ĵ Robi CTC kdovanie ? O.2 0 (0=nie,1=ZL,2=RL+Huffman) 1 2 Ŀ Ŀ Ziv Lempel coding RL+ Huffman coding Zadaj poet UIS rovn Zadaj bity vzdialenosti Zadaj poet bit/byty Zadaj poet bitov vzorky >< Ŀ Robi Logaritmus a Exponovanie dt? O.3 (0=nie,1=no) Zadanie X-ovej vekosti bloku (*) @LH 3 @LH 6 Ŀ X a Y vekos bloku s rovnak ? O.4 1 Ĵ (0=nie,1=no) Ŀ Zadanie Y-ovej vekosti bloku (*) > Ŀ <Ĵ Upravovat spektrum? O.5 (0=nie,1=rui,2=kvantova...) 0 1 2 O.6 Ŀ Ŀ Zadaj ako rui spektrum ڴ Kvantova aj maticou ? (0=Kruhov , 1=Zig-Zag) (0=nie,1=no,2=filtrova) Ŀ0 Ŀ1 0 1,2 Zadanie Zadanie Ŀ parametrov parametrov Zadaj meno sboru matice Transformova maticu ? >< (0=nie,1=no) < < O.7 Ŀ Zadaj poet kvant. rovn pre striedav zloky (**) Ŀ Zadaj poet kvant. rovn pre jsm. zloky (**) Ŀ Ĵ Zadaj spsob natavania spekt. zloiek (0=Zig-zag,1= Rovn,2=Uivatesky definovan 0,1 Ŀ2 Zadaj meno sboru s maticou natavania > Ŀ Zadaj typ podmienky zastavenia orezvania (0=percentulna,1=energetick,2=nenulove prvky) Zadaj jej hranin seln hodnotu (**) Ŀ Obnovi energiu po orezan ? O.8 (0=nie,1=no) > Ŀ Vytvra vstupn sbory ? O.9 (0=nie,1=no) O.10 Ŀ Vypisova spektrum ako sbor relnych isel ? (0=nie,1=nekvantonan,2=nakvantovan) Ŀ Vypisova spektr do sborov ? O.11 Kresli spektr ? O.12 Upravova nzvy vsupnch sborov ? O.13 (Pre vetky 3 otzky 0=nie,1=no) @LH 3 OBR 4.2.1 Sslednos zadvania vstupnch parametrov @LH 6  Ŀ Ŀ Kruhov ruenie Zig - Zag ruenie > Ŀ Ŀ Zadaj rel.amplitdu, Zadaj o robi tvar, hranicu ("DATA"= ta aie dta Ŀ "END" = ukoni naitavanie) END < Ŀ Zadaj polohu maxima (x, y) Zadaj rel.amplitdu, tvar,hranicu @LH 3 OBR 4.2.2 Sslednos zadvania parametrov ruenia  . Vstupn obrazov sbor je vo formate PIC .(vi prloha ) . Bli popis vznamu konkrtnych zadanch hodnt a otzok s pri popisoch jednotlivch ast programu pre ktor s uren. . Poloky oznaen (*) a (**) maj odlin formt zadvania.Umouje sa tm viacnsobn prevdzanie celho transformanho postupu pre ich rzne hodnoty . . Pre (*) sa zadvaj 2 hodnoty: maximum, minimum.Vpoet sa zane s maximom a v kadom nasledujcom kroku sa hodnota bude deli 2, pokm sa nedosiahne minimum. . Pre (**) sa zadvaj 3 hodnoty: maximum, minimum, krok. Vpoet sa zane s maximom a v nasledunch vpotoch sa bude zmenova o krok, pokm sa nedosiahne minimum. . Pri natavan vstup. parametrov zo sboru je komentr oddelen znakom ";" 4.2.1.1.2 Pomocn vstupn sbory Tieto sbory s uloen v aktulnom adresri, a obsahuj pomocn data ktor sa pouvaj pri transformanom kdovan: A) sbor "trafos" - obsahuje zoznam DOT, ktor sa bud vykonva. V sbore s uveden v jednotlivch riadkoch dvojice textovch skratiek transformci pre smer X a Y. Zoznam skratiek je uveden v TAB.1. Prklad sboru "trafos" je na OBR.XX B) kvantizan / filtran matica - obsahuje v textovom tvare 2D pole relnych sel. Konkrtny prpad je na OBR.XX C) natavacia matica - obsahuje v textovom tvare 2D pole celch sel. Konkrtny prpad je na OBR.XX 4.2.1.2 pecifikcia vstupov 4.2.1.2.1 Vstupy do sborov Vytvraj sa nasledovn sbory: analyza- v tomto sbore s v textovom formte popsan dosiahnut vsledky pri aktulnej konfigurcii kdovacieho postupu a aktulnych parametroch vystup.pic- Vstupn obrazov data (formt PIC) po aplikcii transformaho postupu *.flo- sbor v ktorom je uloen obrazov spektrum vo formte popsanom v prlohe splin*.pic- obrazov data spektra / kvantizanej matice s dynamikou linerne upravenou pre formt PIC. splog*.pic- obrazov data spektra / kvantizanej matice s dynamikou logaritmicky upravenou pre formt PIC. *.cmp- sbor do ktorho s kompresovan vstupn dta. Jeho truktra je uveden v prlohe Modifiktor * v nzvoch sborov je uren pouitou DOT. Tvorba a modifikcia nzvov uvedench sborov je podmienen zadanmi vstupnmi parametrami. Poda odpoved pri zadvan s mon nasledovn modifikcie: 1) O.1 - Ak sa nerob kompresia, nevytvra sa sbor *.cmp 2) O.5 - Ak odpove nie je "2" , nevytvra sa sbor *.cmp 3) O.6 - Ak odpove je "0" , nevytvraj sa sbory *.pic pre kvantizan maticu 4) O.9 - Ak odpove je "0" nevytvraj sa iadne vstupn sbory okrem sboru analza 5) O.10 - Ak odpove je "0" nevytvra sa sbor *.flo 6) O.11 - AK odpove je "0" nie s vytvran sbory sp*.pic 7) O.13 - Ak je odpove "1" s nzvy vetkch vstupnch sborov (okrem sboru analyza) modifikovan pridanm sla na zaiatok, urujceho kok krt sa opakuje transforman postup. ( Vhodn pri viacnsobnom transformanom kdovan.) 4.2.1.2.2 Textov vstupy na terminlov obrazovku Program poas svojho behu vypisuje na terminl informcie o aktulnom stave vpotu,priom s vypisovan okrem informci vypisovanch do sboru analza aj niektor menej dleit iastkov vsledky. Presmerovanm tohto vstupu pri tarte programu, zskame pln prehlad o akcich vykonanch poas behu programu. 4.2.1.2.3 Vstupy grafickho charakteru na terminl Poas behu programu mu by tmto spsobom zobrazovan vetky obrazov data vypsan do vstupnch sborov.(vi. 4.2.4 ) Ich zobrazovanie je podmienen odpoveou "1" na O.12 . 4.2.2 Dekompresn reim. Tento reim umouje dekompresova data zo sboru, ktor je vsledkom kompresie v normlnom mde. Umouje takto dsledn kontrolu funknosti a zaruuje bezchybnos kompresnch postupov pouitch pri vytvoren tohoto sboru. Vstupn hodnoty sa zadvaj bu priamo pri spusten programu, alebo program o ne poiada. Vstupn hodnoty : infile - meno sboru skompresovanch dt, ktor sa bud dekompresova outfile - meno sboru do ktorho sa vypu obrazov data po dekompresii vo formte PIC. cmpflie - meno sboru s ktorm sa bude porovnva outfile a vyhodnocova MSE Po zaat dekompresnho postupu po natan globlnych charakteristk z infile, za predpokladu e boli pouit kvantizan alebo natavacia matica, program poiada ete aj o zadanie mien sborov, kde sa nachdzaj. 4.2.3 Manulny reim. Tento reim umonuje prevdza zvolen transformcie zadanch dt. Umonuje jednoduch kontrolu transformanch jadier implementovanch ortogonlnych transformc, ako aj rchlu a jednoduch manipulciu s datami v ase / spektre. Vetky vstupn hodnoty sa zadvaj z klvesnice. Vetky vstupy s textov, s smerovan na terminlov obrazovku. Sslednos zadvania vstupnch hodnt: @LH 6 Ŀ Zadaj transformcie pre smer X a Y (zadvaj sa textov skratky uveden v TAB.1) Zadaj typ transfomcie (1=priama,-1=sptn) Zadaj rozmery transformanho poa (x a y) Zadvanie vstupnch dt transformanho poa po riadkoch @LH 3 Poda toho, ak transformcia bola poadovan, me by zadvanie dt rozdelen na zadvanie pola relnej a imaginrnej asti dt.(Analogicky je to aj pri vypisovan transformovanch dt) 4.2.4 Grafick nadstavba 4.2.4.1 Prezeranie obrazovch dt. (program "ushow.c") Program zobrazuje obsah danho vstupnho sboru, priom sa redpoklad,e vstupn data s vo formte PIC. tartovanie rogramu je : 1) show {nepovinne [ir] [host]} i - zobraz inverzne r - zobraz v root okne [host] - aplikcia sa zobraz na display "host" 2) show V druhom prpade vype krtky HELP a spta sa na meno vstupnho sboru. Po vykreslen dt je mon z obrazom prevdza jednoduche opercie: upravova mierku, invertovat obraz, zisova hodnoty obrazovch bodov. OVLDANIE: m - zmenenie rozmerov obrzku na polovicu v - zvsenie rozmerov obrzku na dvojnsobok o - nastavenie orginlnych rozmerov obrzku i - invertovanie zobrazovanch dt r - presun obrazovch dt do root okna a ukonenie q - ukonenie av tlaidlo myi - uke sradnice aktulnej pozcie a hodnotu obrazovho dodu prav tlaidlo myi - ako av + zmen zobrazovaciu polohu dajov na aktulnu Charakteristiky: 1) Pri zmene vekosti okna sa mierka dt automaticky prispsb 2) Data pri Grayscale alebo Color displayoch s zobrazovan v 128 odtieoch edi. 3) Pri Black - White displayoch je automaticky uskutonen dithering obrazovch dt. 4.2.4.2 Histogramy obrazovch dt. (program "uhisto.c") Program zobrazuje histogram a pota entropiu danho vstupnho sboru, priom sa predpoklad, e vstupn data s vo formte PIC. tartovanie programu je : 1) histo 2) histo V druhom prpade vype krtky HELP a spta sa na meno vstupnho sboru. OVLDANIE: q - ukonenie programu tlaidl myi - uke poetnos hodnoty na aktulnej pozcii kurzoru Charakteristiky: 1) Pri zvovan okna automaticky prispsobuje geometriu zobrazovania @LH 6 4.3 Popis tuktry programu pri rozlinch konfigurcich @LH 3 4.3.1 Kompletn truktra pri reime normal. @LH 6 Ŀ Natanie vstupnch parametrov ---> parametre do "analyza" > Ŀ ---> parametre do *.cmp Natanie obrazovch dt Ŀ UIS Ŀ Oddelenie UIS zloky >ĴKompresia UIS zloky Ŀ Ŀ LIS Logaritmus dt pripsanie dt do *.cmp Ŀ Rozdelenie na bloky Ŀ Priama DOT - - - - - - - - - - - - - - - - - - - - - - - - - - - spektrlna ---> spektrum do *.flo as >Ŀ Ŀ Ŀ Transformcia kvant. matice ----> RUENIE Delenie kvant. maticou matica do *.pic vykreslenie matice Ŀ Linerny kvantiztor Ŀ ---> Entrpia Orezvanie spektra Naberanie spekt. koeficientov ---> KOE do *.cmp ---> Entrpia >ĿĿ Ŀ Kdovanie spektra Nsobenie kvant. maticou spektrlna ---> spektrum do *.flo as spektr do *.pic - - - - - - - -- - - - - - - - - - - - -- - - - - - - Ŀ Sptn DOT pripsanie dt do *.cmp Informcie o kompresii Ŀ spektra Exponovanie dt Ŀ Pridanie UIS zloky Ŀ ---> vytvorenie vystup.pic Vyhodnotenie MSE vykreslenie vystup.pic ---> Informcie do sboru "analyza" @LH 3 @LH 6 @LH 3 Pozn.: V truktre s vyznaen miesta, kde sa vytvraj vstupn informcie. Prpadn modifikcie zvisia @LH 6 od zadania parametrov vi 4.2.1.1.1 @LH 3 4.3.2 Kompletn trukra programu v dekompresnom reime @LH 6 Ŀ Natanie vstupnch parametrov Ŀ Natanie globlnych parametrov z .cmp Ŀ Dekdovanie UIS zloky Ŀ Dekdovanie spektrlnych dt Ŀ Sptn naberanie spekt. dt Ŀ Transformcia kvant. matice Nsobenie kvant. maticou ---> vypisovanie spektier do .pic Ŀ vykreslovanie spektier Sptn DOT Ŀ Exponovanie dt Ŀ Pridanie UIS zloky ---> vypsanie vstupnch Ŀ obrazovch dt Vyhodnotenie MSE @LH 3 Pozn: Prpadn modifikcie truktry zvisia od @LH 6 globlnych parametrov natanch z kompresovanho sboru. @LH 3 @LH 6 4.3.3 Kompletn trukra programu v manulnom reime Ŀ Natanie vstupnch parametrov a dt Ŀ DOT Ŀ Vypsanie vstupnch pol @LH 3 @LH 6 @LH 3 4.4 Popis jednotlivch funknch skupn blokov. 4.4.1 Logaritmus a exponovanie dt Pri logaritmovan : x(n,m)= ln x(n,m)+1 Pri exponovan : x(n,m)= exp x(n,m)-1 n = 0 .. N-1 m = 0 .. M-1 N - X-ov vekost obrazovch dt M - Y-ov vekost obrazovch dt 4.4.2 Spracovanie UIS zloky pri CTC kdovan Poda zadanho parametra ( vi 3.2XXXX ) sa vol medzi Ziv - Lempelovm kdovanm a kombinciou 1D Run - Lenght s nslednm Huffmanovm kdom. 4.4.2.1 Ziv - Lempel kdovanie Pri zadvan parametrov sa pre tento blok poaduj 2 hodnoty: 1) Poet UIS rovn - uruje poet UIS bitovch rovn 2) Poet bit/bity - uruje, koko bitov z dt vytvorench z natanch bit. rovn je uloench v jednom byte dt na ktor sa aplikuje Ziv - Lempel algoritmus. Pouit bol ZL 77 algoritmus, ktor je implementovan v tandartnom programe UNIXu "compress". Data s preto najskr vypsan do doasnho sboru, na tento sa pouije program compress, vstup je prepsan do sboru .cmp a doasn sbor sa zmae. 4.4.2.2 Kdovanie kombinciou Run Lenght a Huffmanovho kdu. Pri zadvan parametrov sa pre tento blok poaduj 2 hodnoty: 1) Kdovanie vzdialenosti - udva poet bitov, ktor je poit na kdovanie potu za sebou rovnakch znakov pri RL kdovan. 2) Poet bitov vzorky - udva koko bitov z dt zakdovanch RL kdom sa pouije ako 1 vzorka pre Huffmanov kd.( Udva vlastne nepriamo poet rovn pre Huffmanov kd) Pri tomto postupe je UIS tvoren len 7.bitovou rovinou. Na u sa aplikuje 1D RL kd a na tento nsledne Huffmanov kd. Takto upravnen dta s pripsane do *.cmp. 4.4.3 Delenie na bloky ( S ) V tejto asti sa inicializuj truktry, ktor umouj riaden prstup k blokom obrazovch dt, tj. poda sla bloku prideluje iadatelom data a charakteristiku bloku. Tento spsob rieenia je zvolen vzhadom na ahk neskor硍 prechod k pouvaniu nerovnakch blokov. ( napr. adaptvne ) 4.4.4 DOT Implementovanch je 12 DOT, ktorch defincie a popis s v 3.3 .Pouit boli rchle algoritmy typu Cooley Tuckey poda [1]. Je mon poui rzne transformcie v X a Y smere ( Hybridn kdovanie ). Ak funkcia inch blokov programu zvis od pouitej transformcie, dominantn je transformcia pouit v X smere. truktra bloku pre priamu a sptn DOT: @LH 6 Ŀ Ŀ > blok = 0 .. PBL-1 > blok = 0 .. PBL-1 Ŀ Ŀ natanie obraz. bloku natanie spekt. bloku * Ŀ Ŀ Priama DOT v smere X Sptn DOT v smere Y Ŀ Ŀ Priama DOT v smere Y Sptn DOT v smere X Ŀ Ŀ vypsanie spekt. bloku * vypsanie obraz. bloku @LH 3 Pozn.: (*) - rob preusporiadanie spektra DFT2 poda asti 3.3.7.1 4.4.5 Kvantizcia a filtrcia maticou Pri kvantizcii a flitrcii s postupy nasledovn: @LH 6 Ŀ Ŀ Inicializovanie matice Inicializovanie matice Ŀ Ŀ > blok = 0 .. PBL-1 blok = 0 .. PBL-1 Ŀ Ŀ delenie maticou delenie maticou Ĵ Ĵ - - - - - - : - - - - - - : Ŀ : Linerny kvantiztor - - - - - - : - - - - - - Ŀ > blok = 0 .. PBL-1 OBR 4.4.2 Filtrcia maticou  Ŀ nsobenie maticou Ĵ : @LH 3 OBR 4.4.1 Kvantizcia maticou  Pri kvantizci maticou sa jedn o nelinernu kvantizciu priom tento blok prevdza len zmenu dynamiky dt. Vlastn kvantizcia ( linerna ) sa uskutouje mimo bloku. Sslednos je znzornen na OBR.4.3.3. Pri filtrcii je mon meni aj JSM zloku.( ak prvok (1,1) matice <> 1) @LH 6 Ŀ Natanie matice zo sboru Ŀ Prispsobenie matice na vekos bloku Ŀ Ĵ Zadan transformcia matice? nie Ŀ mat(x,y) = 1/mat(x,y) Sptn DCT v smere Y Sptn DCT v smere X Priama DOT v smere X Priama DOT v smere Y mat(x,y) = 1/mat(x,y) Ĵ Pozn.: mat(x,y) - vetky prvky matice OBR.4.4.3 Postup pri inicializcii matice nasledovn: @LH 3 @LH 6 @LH 3 4.4.6 Linerna kvantizcia Pri zadvan parametrov sa zadvaj poty kvantizanch rovn pre jednosmer (JSM) a striedav zloky (STR). Ak je poet kvantizanch rovn 0 alebo 1 kvantizcia sa neprevdza. V dsledku potreby zachova nulov STR zloky pri kvantovan ako nulov je rozdiel medzi kvantizanmi vzorcami nasledovn : JSM(X) = min + krok.INT[(X-min)/krok + 0.5] STR(X) = krok.INT(X/krok + 0.5) Kde krok = (max - min) / poet rovn INT - cel as sla min,max - minimum, maximum Z poiadaviek na kvantiztor STR vyplva, e dochdza k posunu maxima a minima. Situcia pre oba typy kvantiztora je na OBR.XX a na OBR.XX . @LH 6 Ŀ > blok = 0 .. PBL-1 Ŀ Zistenie max, min Ĵ Ŀ > blok = 0 .. PBL-1 Ŀ Lin. kvantizcia Ĵ OBR.XXXX postup pri linernej kvantizcii. 4.4.7 Orezvanie a naberanie spektra @LH 3 Tento blok umouje prevdza v spektrlnej oblasti orezvanie zloiek 3 spsobmi.(Zonlne filtre s prenosovou funkciou s 2 hodnotami : 0,1 ) Typ orezvania sa rozliuje zadvanm pri span programu: 0) Zig-Zag - tandartizovan spsob (JPEG), priom tento je vylepen adaptcou na bloky nerovnakej X a Y vekosti. Vi OBR.XX 1) Rovn - Princp je na OBR.XX. Adaptuje sa na vekos blokov 2) Uvatesk- Neadaptuje sa na vekos bloku. Pri jeho zadan sa taj dta zo vstupnho sboru. Tieto dta uruj poradie odfiltrovania kadho prvku bloku. Prklad je na OBR.XX . Pri ich pouit je odfiltrovan ( orezan ) vdy len urit poet zloiek. Poda asti 4.2.1.1 zadan hranica m rozlin vyznamy: 0) Oree sa zadan poet percent spektrlnych zloiek 1) Oree sa zadan poet percent energie spektrlnych zloiek 2) Orezvanie sa zastav pri dosiahnut hraninho potu nenulovch zloiek Po dosiahnut hranice s zloky alej zadanm filtranm algoritmom naberan ( tj. prepisovan) do poa, ktor sa neskr pouije na kdovanie spektra. Ak je nastaven voba obnovy odrezanej energie, s zloky zrove prensoben koeficientami poda nasledujceho vzahu: @LH 6 X = X.KOE Celkov energia bloku kde KOE = predstavuje koeficient Orezan energia v bloku @LH 3 obnovy energie, rtan pre kad blok osobitne, uschovvan do sboru *.cmp. Schma celho procesu je na obr.XX. @LH 6 Ŀ inicializcia zonlneho filtra Ŀ > blok = 0 .. PBL-1 Ŀ inicializcia podla typu hranice, nastavenie filtra Ŀ > pre vetky STR zloky v bloku Ŀ ڴ dosiahnuta hranica ? ÿ nie ٳ no Ŀ Ŀ filtrcia natavanie Ĵ OBR.XX Schma bloku pre zonlnu filtrciu @LH 3 Tento blok m pri dekompresnom mde funkciu sptnho naberania zloiek do spektra .Tj km sa nedosiahne hranica zloky ostvaj nulov, po dosiahnut hranice sa zan z poa vzniknutom pri dekdovan spektra zloky postupne natava. ( Prpadne aj obnovova energia blokov uschovanmi KOE. ) 4.4.8 Kdovanie/dekdovanie spektra Proces kdovania spektra je rozdelen na kdovanie jednosmernej a striedavej zloky. Na kdovanie bol pouit Huffmanov kd, ktor je vzhadom na vlastnosti spektra z najviac pouvanch kdov ten najvhodnej. Pri kdovan JSM zloiek s tieto kdovan bez Huffmanovho kdu ak ich poet je me ako 16. V opanom prpade s najprv vyrtan diferencie po sebe nasledujcich JSM zloiek a tieto s a kdovan. Pri kdovan STR zloiek s na konci kadho bloku @LH 6 pridane znaky EOB .( End Of Block ) @LH 3 Schma postupu kdovania spektra je na OBR.XX. @LH 6 Ŀ nie Kdovanie JSM zloiek Ĵ Poet blokov > 15 ? Ŀ Ŀ Pripisanie Zistenie diferenci jednotlivch a ich zakdovanie JSM zloiek pripsanie do *.cmp : ako relnych - Kvantiztor STR zloiek isel do - Data pre diferencie *.cmp - Huffmanov kd - Zakdovan diferencie Ĵ Ŀ Kdovanie striedavch zloiek Ĵ Ŀ Vytvorenie Huffmanovho kdu a zpis do *.cmp Ŀ > blok = 0 .. PBL-1 Ŀ pripsanie zloiek bloku do *.cmp Ŀ pripsanie EOB do *.cmp Ĵ Ŀ Vyhodnotenie dosiahnutch a teoretickch vsledkov OBR.XX Postup pri kdovan spektra Pre dekdovanie analogicky plat postup: Ŀ Dekdovanie JSM zloiek Nekodovan Huffmanom Kdovan Huffmanom Ĵ Pretanie JSM zloiek pretanie z .cmp Ako realnych sel - Kvantiztor STR zloiek - Data pre diferencie - Huffmanov kd - Zakdovan diferencie Dekdovanie diferenc Vytvorenie JSM zloiek Ĵ prepsanie JSM zloiek do spektra Ŀ Dekdovanie striedavch zloiek Ĵ Ŀ Pretanie Huffmanovho kdu Ŀ > blok = 0 .. PBL-1 Ŀ pretanie zloiek bloku ich dekdovanie a prepis do pola OBR.XX Postup pri dekdovan spektra @LH 3 4.4.9 Ruenie spektra. Tento blok sl na vnanie umelho umu do spektra obrazovho signlu. Umouje sa tak za rznych podmienok skma innos jednotlivch filtrov. V procese ruenia spektra s spektrlne zloky nsoben koeficientami, ktor mu nadobda kladn aj zporn relne @LH 6 hodnoty. Pouit s dva tvary ruiaceho signlu: @LH 3 1) Kruhov - Ruiacimi signlmi s kruhovit oblasti, v ktorch sa intenzita ruenia men v tvare Gaussovskho normlovho rozdelenia.(v strede kruhu je maximum, na kraji s minim. Pri tomto tvare ruenia je mon vytvra ubovon poet ruiacich oblast. Na zaiatku programu sa pre kad oblas zadva: - x,y poloha maxima ruenia ( stred kruhu ) - relatvna amplitda - udva ak vek voi maximlnej spekt. zloke bude maximum zaruenej oblasti.( napr 0.1 znamen desatimu maxima spektra) - tvar - uruje, v akej vzdialenosti od stredu kruhu bude amplitda ruenia e krt menia @LH 6 - hranica uruje polomer ruenj oblasti @LH 3 2) Zig-Zag - Ruiacim signlom je oblas zanajca pravm dolnm rohom spektra (najvyie zloky) a postupujca smerom ku avmu hornmu rohu spektra ( najniie zloky ) Zig - Zag algoritmom. Intenzita sa priebene men v tvare Gaussovskho normlovho rozdelenia. ( prav doln roh maximum, na konci minimum) Na zaiatku programu sa pre oblas zadva: - relatvna amplitda - ako pri kruhovom ruen - tvar - uruje koko percent zloiek v bloku bude zaruench, km amplitda ruenia klesne e nsobne. @LH 6 poet zloiek ruenej oblasti - hranica = .100% celkov poet zloiek v bloku @LH 3 Za hranicou ruenia sa ruenie nevykonva. Vzah pomocou ktorho s zloky ruen, je tvaru: @LH 6 dialka  - X = sign.X.1+mag.e tvar  @LH 3 kde sign = 1, -1 ; je generovan genertorom pseudonhodnch sel X - spektrlna zloka mag - amplitdov kontanta dialka = vzdialenos od stredu kruhu ( kruhov ruenie) = poradie ruenej vzorky ( Zig-Zag ruenie) 4.5 Popis zdrojovch sborov : auto.c - Zkladn funkcie uvateskho rozhrania. Obsluha vetkch troch zkladnch reimov behu programu : normlny, dekompressn, manulny . cos.c - Procedry na vpoet 2D DCT pomocou 1D DFT furier.c - Procedry na vpoet 2D DFT a na preusporiadanie jej spektra. haar.c - Procedry na vpocet 2D HT,1D HT hartley.c - Procedry na vpoet 2D DHYT , na preusporiadanie spektra ( 2D DHYT2) koder.c - Obsahuje riadiacu procedru na upravy v spektre pri kompresii aj pri dekompresii. log.c - Procedry na homomorfn filtrciu, vpoet entropie spektra a na ruenie spektra matrix.c - Procedry pre prcu s kvantizanou (napr. CCIR) a filtranou maticou, jej adaptciu na velkost bloku a prpadn transformciu. quant.c - Procedry na linerne kvantovanie striedavch a jednosmernch zloiek spektra a na nelinernu kvantizciu / filtrciu ( delenie a nsobenie kvantizanou / filtranou maticou) rez.c - Procedry na naitavanie spektra a na zonlnu filtrciu riad.c - Hlavn procedry riadiace dopredn a sptn transformciu,prcu v spektre,riadenie sledu akc pri vetkch 3 reimoch behu programu rlcod.c - Procedry na kompakciu UIS pri CTC kdovan kombincie Run Lenght a Huffmanovho kdovania. slant.c - Obsahuje procedry SI na vpocet 2D Slantovch transformcii z WHT. spdecod.c - Procedry na dekdovanie spektrlnych dt specoder.c- Procedry na kdovanie spektrlnych dt tools.c - Sbor pomocnch procedr na prcu s blokmi, sprvu pamti, procesov, prcu s bitovmi datami trafodef.c- Textov defincie transformcii, procedry na sprvu a rozoznvanie transformcii. ttools.c - Sbor pomocnch procedr pri vpotoch transformcii. uhisto.c - Samostatn program na vykreslovanie histogramov zadanch obrzkov a na rtanie ich entropie ushow.c - Samostatn program na vykreslovanie obrazkov vv.c - Subor procedr na prcu so sbormi walsh.c - Procedry na potanie 2D WHT ziv.c - Procedury na kompakciu UIS pri CTC kdovan pomocou Ziv Lempelovho algoritmu simul.h - Hlavikov sbor, v ktorom s definovan vetky @LH 6 globlne premenn a globlne platn defincie @LH 3 Zver: Zoznam pouitej literatry: [1] Besslich,P.,B.-Tian Lu: Diskrete Orthogonal- transformationen. Heidelberg: Springer-Verlag 1990 [2] Ahmed,N.-Rao,K.R.: Orthogonal Transforms for Digital Signal Processing, Springer-Verlag, New York, 1975. [3] Rosenfeld,A.-Kak,A.,C.: Digital Picture Processing, Academic Press, Inc., 1982. [4] Gonzalez,R.,C.-Wintz,P.: Digital Image Processing, Addison-Wesley Publishing Company, Massachusetts, 1977. [5] Oppenheim,V.A.-Schafer,R.W.: Digital Signal Processing, Prentice Hall, Inc., Englewood Cliffs, New Jersey, 1975. [6] Mihlik J.: slicov spracovanie signlov , Bratislava [7] Polec,J.:Netandartn postupy v pouit diskrtnych ortogonlnych transformci pre kompresiu dajov, Dizertan prca,EF STU,Bratislava,1993 [8] Polec,J.:Transforman kdovanie a jeho vplyv na kompresiu dajov. Bratislava 1991. [8] Hudecov,M.: Kepstrlna analza a homomorfn filtrcia ako prostriedok na rekontrukciu diskrtnych signlov, Psomn prca k odbornej kandidtskej skke, Bratislava, 1992. @LH 6 @LH 3 PRloha: Vychdza na 9 strn: Defincie textuvch skratiek DOT pri zadvan 0.5 strany bzy DOT 2 strany Spsoby rezania 1.5 strany Tvorba kompresovanho sboru 1.5 strany(spsob vytvrania Huff stromov a ich uschovanie at ...) Transformovan kvantizan matice (Velmi pekn obrzky) 0.5 strany Linerny kvantiztor 1/4 strany Ukka Vstupov z programu show a histogram 0.5 strany Vzorov vpoet : pre cos ,ss ht ,blok 8x8 zastanevie na 1.nenulovom ... (ako JPEG) ukka vstupu a vstupov (analza,vystup.pic) . 2-3 strany prklad vstupu apatch obrzkov a ich transformcie pomocou blokov s nerovnakmi x a y 1 strana Suma Sumrum 2+1.5+1.5+0.5+0.25+0.5+2+1= cca 9 strn Teda prloha sa zana momentlne cca na strane 41 (ak poit skratky a symbloly zanaj na str 2) Tj s prlohou to bude ma cca 50 strn. To je dos vea.