p18485_iconČlánok sa zaoberá aplikáciou Householderovho algoritmu ortogonalizácie bázových funkcií zovšeobecnenej diskrétnej kosínusovej transformácie obrazových segmentov. Testovanie tohto algoritmu ortogonalizácie sme uskutočnili na syntetizovaných a tiež na reálnych obrazových segmentoch. Householderov algoritmus ortogonalizácie vypočíta všetky ortogonálne bázové funkcie naraz, je veľmi presný, vykazuje výrazne malú (takmer nulovú) strednú kvadratickú chybu pre jednotlivé testované obrazové segmenty. Nevýhodou Householderovho algoritmu je najmä časová náročnosť výpočtu, ktorá so zväčšujúcimi sa blokmi v obrazovom segmente rastie. Je však vhodnejší v porovnaní s Gram-Schmidtovym algoritmom ortogonalizácie bazových funkcií, ktorý počíta s postupnou ortgonalizáciou a v niektorých prípadoch sa vyznačuje nestabilitou, najmä pri veľkých veľkostiach blokov, čím môže dôjsť k strate ortogonality medzi bázovými funkciami a tým k vytváraniu neortogonálnej bázy.

1. Úvod

Jedným zo základných nástrojov kompresie dát pri kódovaní videa je transformácia obrazu pomocou diskrétnej kosínusovej transformácie (DCT), ktorá sa používa v medzinárodných štandardov ako MPEG 1, MPEG 2, MPEG-4, H.261 a H.263 [1 – 3]. Klasická DCT používaná v štandardných videkodekoch prináša so sebou aj niekoľko nevýhod. Jednou z nich je zhoršená reprodukcia obrysu vizuálneho objektu. Kódovanie obrazu však využíva veľké množstvo transformačných algoritmov kódovania. Medzi tieto patria aj blokovo-orientované alebo oblastne-orientované obrazové kódovanie. Princíp blokovo-orientovaného kodéra (JPEG, H.261, MPEG) spočíva v rozčlenení obrazu do pravouhlých blokov obrazových prvkov (op) a kódovanie každého bloku osobitne ([7], [8], [9]), čo však môže spôsobiť zviditeľnenie hraníc blokov v rekonštruovanom obraze, nazývané tiež blokový efekt (zvlášť pri nízkych bitových rýchlostiach).

Väčšina týchto algoritmov nevyžíva interblokovú koreláciu, čo je ich nevýhodou. V oblastne-orientovanom obrazovom kódovaní [5], [6], [11] sú samostatne kódované hranice segmentov v jednotlivých blokoch. Vzhľadom na potrebu prenášať tvar segmentu [19] nemusí byť oblastne-orientovaný kodér nevyhnutne účinnejší ako tradičný blokovo-orientovaný kodér. Ale v prípade výkonnej reprezentačnej schémy segmentu (t.j. jeho tvaru aj obsahu) je možné dosiahnuť ďalšiu kompresiu údajov a lepšiu kvalitu obrazu pri transformačnom kódovaní [12], [13]. Bloková schéma takého systému transformačného kódovania obrazu je na obr. 1. Zhoršená reprodukcia segmentov vizuálnych objektov je jednou z nevýhod pri použití klasickej DCT [10], [4]. Algoritmus DCT s ortogonalizáciou jej bázových funkcií pre dané segmenty pomocou Gram- Schmidtovej [15, 16] alebo Householderovej metódy [4] umožňuje lepšiu reprodukciu obrazových segmentov.

p18485_01_obr01
Obr. 1. Bloková schéma princípu účinného transformačného kódovania obrazových segmentov.

2. Householderov algoritmu ortogonalizácie bázových funkcií DCT

Algoritmus DCT na skvalitnenie reprodukcie obrazových segmentov pri jeho spätnej transformácii je založený na poznaní binárneho tvaru vizuálneho objektu [17]. Na obr. 2 je zobrazený binárny tvar vizuálneho objektu daného vstupného obrazu, výber jedného z jeho blokov so segmentom a usporiadanie hodnôt op segmentu do vektora podľa tvaru tohto segmentu v danom bloku.

p18485_02_obr02a

p18485_03_obr02b
Obr. 2. a), c) Vstupný obraz a výber bloku so segmentom; b), d) výber bloku so segmentom z binárneho tvaru vizuálneho objektu; e) usporiadanie hodnôt op segmentu do vektora podľa tvaru segmentu v bloku.

Podľa toho, koľko je a ako sú rozložené op v segmente daného bloku, je možné vytvárať nové bázové funkcie DCT. Podľa tvaru segmentu sa z bázových ortogonálnych funkcií klasickej DCT vyberú iba tie hodnoty, ktoré sú na tých istých pozíciách ako op segmentu v bloku. Vyberajú sa po riadkoch od ľavého okraja segmentu po pravý okraj, zhora dole a usporiadajú sa do vektorov, ako je znázornené na obr. 2e. Takto získaný vektor je vlastne nová bázová funkcia, pričom sa vytvorí len toľko bázových funkcií, koľko je op v segmente. Tieto bázové funkcie však nie sú ortogonálne, preto sa musia ortogonalizovať. Tým, že je známy tvar segmentu op v bloku, tak vieme pre ich rôzne tvary vytvárať im zodpovedajúce systémy ortogonálnych bázových funkcií. Potom pomocou nich možno vykonať DCT obrazových segmentov v daných blokov.

Vo všeobecnosti platí, že ak skalárny súčin dvoch funkcií b = b(xi,yi) a d = d(xi,yi) je rovný nule (t.j. < b, d > = 0), tak funkcie nazývame ortogonálne. Aby sme získali vlastnosť ortogonality s ohľadom na tvar segmentu, musíme použiť do funkcií súradnice iba tých dvojíc (xi,yj) op, ktoré sa nachádzajú vo vnútri segmentu. Iná možnosť je tá, že použijeme váhovú funkciu v(xi,yj), ktorá je mimo segmentu rovná nule a vo vnútri jednej (obr.3 vpravo)

(\mathbf{b,d}) = \sum_x \sum_y v(x,y)b(x,y)d(x,y) (1)

Je zrejmé, že nové funkcie (vektory) vytvorené z pôvodnej ortogonálnej bázy DCT hodnotami op nachádzajúcimi sa na pozíciách určených tvarom segmentu nemôžu byť ortogonálne, keď zoberieme do úvahy viaceré rôzne tvary týchto segmentov v obraze. Segmenty sa odlišujú nielen svojím tvarom, ale aj počtom op, ktoré obsahujú. Preto je nevyhnuté nájsť špecifické ortogonálne bázové funkcie pre každý jeden odlišný segment. Ortogonalizáciu bázových funkcií vykonáme Householderovym algoritmom, na ktorý sme sa bližšie zamerali. Na obr.3 vľavo je ukážka matice segmentu vybraného bloku s reálnymi hodnotami jeho op, vpravo je jej váhovaná verzia (binárne hodnoty op) a dole je systém bázových dvojrozmerných kosínusových funkcií vzhľadom na daný tvar segmentu.

p18485_04_obr03a

p18485_05_obr03b
Obr.3 Vľavo – ukážka matice reálneho obrazového segmentu doplnená nulovými hodnotami všade tam, kde sú op mimo segment; vpravo – matica jeho váhovanej verzie (binárna reprezentácia obrazového segmentu); dole – bázové obrazy vzhľadom na daný tvar segmentu [18].

Vo všeobecnosti uvažujme maticu R (horná trojuholníková matica pozostávajúca z ortogonálnych koeficientov) a maticu U o rozmere n x n pozostávajúcu z n lineárne nezávislých bázových funkcií uk, každá je daná n – bodmi odobranými z pôvodnej ortogonálnej bázy DCT na miestach zodpovedajúcim tvaru segmentu ([14], [15]). Householderov algoritmus používa nasledujúcu spôsob ortogonalizácie, pri ktorom musí platiť, že PU=R. Chceme, aby matica P o rozmere n x n pozostávala z ortogonálnych bázových funkcií (zohľadňujúcich tvar segmentu). Táto matica sa nazýva Householderovou maticou. Začneme najprv s Householderovou maticou P1 s rozmerom n x n, pre ktorú platí [4]

\mathbf{P_1} = \mathbf{E} - 2\mathbf{ww}^T (2)

s jednotkovou maticou E a normovaným stĺpcovým vektorom w (wTw=1). P1 je symetrická a ortogonálna matica, ako to vidno z týchto nasledujúcich dvoch rovníc

\mathbf{P_1}^T = \mathbf{E}^T - (\mathbf{2ww}^T)^T = \mathbf{E}-\mathbf{2}(\mathbf{w}^T)^T \mathbf{w}^T = \mathbf{E} -2 \mathbf{ww}^T = \mathbf{P_1} (3)

\mathbf{P_1}^T \mathbf{P_1} = \mathbf{P_1} \mathbf{P_1} = ( \mathbf{E} - 2 \mathbf{ww}^T ) ( \mathbf{E} - 2 \mathbf{ww}^T ) =
= \mathbf{E} - 2 \mathbf{ww}^T - 2 \mathbf{ww}^T + 4 \mathbf{ww}^T = \mathbf{E} (4)

Pre špeciálny vektor w, ktorého odvodenie ukážeme neskôr, dostaneme maticu P1, ktorá umiestňuje prvý stĺpec matice U do stĺpcového vektora len s jedným nenulovým prvkom na prvej pozícii. Pre prvý stĺpec matice U t.j. vektor x a prvý stĺpec jednotkovej matice E t.j vektor e1 môžeme napísať

k \mathbf{e_1} =  \mathbf{P_1} \mathbf{x}
\left [ \begin{array}{c} k \\ 0 \\ \dots \\ 0 \end{array} \right ] = \mathbf{P_1} \left [ \begin{array}{c} x_1 \\ x_2 \\ \dots \\ x_n \end{array} \right ]  (5)

pričom k=||x||= \sqrt{x_1^2+x_2^2+ \dots +x_n^2} a má opačné znamienko ako i-tá zložka vektora x, kde xi je prvá súradnica vektora x a vektor e1=(1,0,0,…,0)T. Aplikovaním P1 na U(0) = U dostaneme novú maticu U(1)

\mathbf{U}^{(1)} = \mathbf{P_1} \mathbf{U}^{(0)} = \left [ \begin{array}{cccc} k & * & \dots & * \\ 0 & & & \\ \dots & & \mathbf{P'}_2 &  \\ 0 & & &  \end{array} \right ] (6)

Prvý riadok tejto matice U(1) je aj prvým riadkom požadovanej matice R a prvý stĺpec obsahuje nuly pod prvým prvkom. Teraz zostrojíme maticu P2, ktorá je menšia o jeden riadok (o prvý) a jeden stĺpec (prvý) oproti P1, to znamená, že má veľkosť (n-1) x (n-1). Táto matica sa použije v rov.(5) namiesto P1 spolu s vektorom x, ktorý obsahuje teraz (n-1) prvkov druhého stĺpca matice U(1), t.j.

\left [ \begin{array}{c} k \\ 0 \\ \dots \\ 0 \end{array} \right ] = \mathbf{P'}_2 \left [ \begin{array}{c} x_1 \\ x_2 \\ \dots \\ x_{n-1} \end{array} \right ]  (7)

Nakoniec maticu P2 prispôsobíme pomocou jednotkovej matici tak, aby sme získali maticu P2 požadovaného rozmeru n x n

\mathbf{P}_2 = \left [ \begin{array}{cc} \mathbf{E} & 0 \\ 0 & \mathbf{P'}_2 \end{array} \right ] (8)

Jej súčinom s maticou U(1) získame maticu U(2), ktorej teraz už prvé dva riadky sú identické s riadkami hľadanej matice R

\mathbf{U}^{(2)} = \mathbf{P_2} \mathbf{U}^{(1)} (9)

Po (n-1) krokoch dostaneme maticu U(n-1), ktorá je identická s požadovanou maticou R

\mathbf{P_{n-1}} \mathbf{P_{n-2}} \dots \mathbf{P_{1}} \mathbf{U} = \mathbf{R} (10)

Všetky matice Pk sú ortogonálne, preto súčin matíc P je tiež ortogonálny, pričom

\mathbf{P}  = \mathbf{P_{n-1}} \mathbf{P_{n-2}} \dots  \mathbf{P_{1}} a tiež platí \mathbf{P}^T \mathbf{P} = \mathbf{E} (11)

Pre maticu U môžeme napísať, že U=PTR.Ďalej musíme vybrať taký vektor w, ktorý vyhovuje rovnici ke1 = Pkx. Tento vektor je daný vzťahom [4]

\mathbf{w} = \frac{\mathbf{x} - k \mathbf{e_1}}{||\mathbf{x} - k \mathbf{e_1}||} (12)

Householderov algoritmus ortogonalizácie vypočíta všetky ortogonálne bázové funkcie naraz, kým Gram-Schmidtov algoritmus [14] počíta s postupnou ortgonalizáciou jednoduchých bázových funkcií. Householderov algoritmus je matematicky lepšie predložený v tom, že všetky výpočty sú uskutočnené prostredníctvom ortogonálnych matíc. Na druhej strane, ak lineárne nezávislé funkcie vstupujú do Schmidtového algoritmu, môže sa stať, že výsledné funkcie nie sú ortogonálne, čo je spôsobené akumuláciou chýb v procese zaokrúhľovania [16]. Hoci oba algoritmy sú celkom rozdielne, dávajú tie isté ortogonálne funkcie, ak zanedbáme vplyv zaokrúhľovacích chýb a škálovacieho faktora. Householderov algoritmus dáva ortogonálne bázové funkcie v riadkoch na rozdiel od Schmidtovho algoritmu, ktorý dáva ortogonálne bázové funkcie po stĺpcoch, pričom bázové funkcie u Householderovho algoritmu sú dokonca ortonormálne. Pri Schmidtovej metóde sa ortogonálne bázové funkcie musia ešte normalizovať [14], [15].

3. Simulačné výsledky

Ortogonalizáciu zovšeobecnenej DCT vzhľadom na ľubovoľný tvar segmentu sme vykonali pomocou Householderovho algoritmu. Segmenty sa odlišovali svojim tvarom a počtom op, ktoré obsahovali.

3.1 Pre syntetizovaný segment

Uvažujme segment zvoleného tvaru reprezentovaný maticou X o rozmere 4×4

\mathbf{X} = \left( \begin{array}{cccc} 0 & 10 & 12 & 0 \\ 6 & 18 & 20 & 8 \\ 3 & 12 & 4 & 0 \\ 0 & 2 & 0 & 0 \end{array} \right) (13)

V ďalšom si názorne ukážeme, ako sa budú z ortogonálnej bázy 2-rozmernej DCT vyberať funkcie podľa daného tvaru hore uvedeného segmentu, ktoré sa potom budú ortogonalizovať Householderovym algoritmom. Z definičných vzťahov pre DCT vieme získať úplný systém 2-rozmerných diskrétnych ortogonálnych kosínusových funkcií, pričom vyjdeme z jadra 1-rozmernej DCT o veľkosti N = 4. To je uvedené v rov. (14), kde vo výslednej matici je v každom jej riadku možné vidieť hodnoty 1-romerných diskrétnych kosínusových funkcií.

\frac{1}{\sqrt{2}} \left [ \begin{array}{cccc} 0,707 & 0,707 & 0,707 & 0,707 \\ 0,924 & 0,383 & -0,383 & -0,924 \\ 0,707 & -0,707 & -0,707 & 0,707 \\ 0,383 & -0,924 & 0,924 & -0,383 \end{array} \right ] =
= \left [ \begin{array}{cccc} 0,5 & 0,5 & 0,5 & 0,5 \\ 0,653 & 0,271 & -0,271 & -0,653 \\ 0,5 & -0,5 & -0,5 & 0,5 \\ 0,271 & -0,653 & 0,653 & -0,271 \end{array} \right ] (14)

Zo systému 1-rozmerných diskrétnych kosínusových funkcií získame pomocou ich vzájomných súčinov systém 2-rozmerných diskrétnych kosínusových funkcií veľkosti 4×4 tvoriacich jadro 2-rozmernej DCT. Na obr.4. je kvôli veľkosti zobrazená iba časť tohto 2-rozmerného systému ortogonálnych bázových funkcií DCT (úplný systém by v tomto prípade tvorilo 16 týchto 2-rozmerných funkcií). V prvom riadku a v prvom stĺpci sú uvedené prvé dve 1-rozmerné diskrétne kosínusové funkcie idúce za sebou (t.j funkcie z prvých dvoch riadkov matice z rov.14). V každom štvorci je tak možné vidieť 2-rozmerné diskrétne kosínusové funkcie, ktoré vznikli prenásobením hodnôt z prvého riadku a prvého stĺpca. Žltou farbou je vyznačený tvar segmentu (rov.13) v prvej 2-rozmernej bázovej funkcii (submatici) DCT a podľa tohto tvaru budeme vyberať iba tie hodnoty z bázových funkcií, ktoré sú na tých istých pozíciách ako op segmentu a ukladať ich do vektorov x.

p18485_06_obr04
Obr.4. Časť bázy 2-rozmerných ortogonálnych kosínusových funkcií s vyznačeným tvarom daného segmentu.

Daný segment má 10 prvkov, preto vyberieme iba 10 hľadaných funkcií z 10-tich submatíc 2-rozmernej DCT z celkového počtu 16. Načítavame po riadkoch, zhora dole a ukladáme do vektorov. Takto sme získali bázu 10 kosínusových funkcií (vektorov) podľa tvaru segmentu (x0, x1, … ,x9), ktorá však nie je ortogonálna. Na jej ortogonalizáciu použijeme Householderov algoritmus uvedený v predchádzajúcej kapitole.

p18485_07_mat01

Po ortogonalizácii Householderovym algoritmom dostaneme maticu P ortogonálnych kosínusových bázových funkcií (ortogonálne bázové funkcie sú v riadkoch matice P a po jej transponovaní dostaneme ortogonálne bázové funkcie v stĺpcoch). Platí

\mathbf{P} = \{ \mathbf{p}_0 ; \mathbf{p}_1 ; \dots ; \mathbf{p}_n  \} , \; n=0,1, \dots , (M_1 \times M_2)-1 (15)

t.j. (10×1)-1, pričom

p18485_08_mat02

Získané ortogonálne bázové funkcie musia spĺňať podmienky ortogonality a ortonormality, t.j. všeobecne

\sum_{k=0}^{M-1} \sum_{m=0}^{M-1} \mathbf{p}_k \mathbf{p}_m = 0, \text{pre} \, k \neq m

a

\sum_{k=0}^{M-1} \sum_{m=0}^{M-1} \mathbf{p}_k \mathbf{p}_m = 1, \text{pre} \, k = m (17)

pričom v Tab.1 sú uvedené dosiahnuté výsledky testu ortonormality pre hore uvedené bázové funkcie.

Tab.1 Test ortogonality a ortonormality nájdených bázových funkcií Householderovým algoritmom
p18485_09_tab01

Vlastnosť ortogonality bázových funkcií dáva možnosť použiť ich pri výpočte priamej a spätnej zovšeobecnenej DCT pre daný vstupný segment (matica X) podľa nasledujúcich transformačných vzťahov (vo vektorovom tvare)

\overline{Y} = \mathbf{P} \overline{X}, \; \text{priama DCT,} (18)

\overline{X_s} = \mathbf{P}^T \overline{Y}, \; \text{priama DCT,} (19)

kde P je transformačná ortogonálna matica t.j. platí PTP=E

\mathbf{P} = \{ \mathbf{p}_0 ; \mathbf{p}_1 ; \mathbf{p}_2 ; \mathbf{p}_3 ; \mathbf{p}_4 ; \mathbf{p}_5 ; \mathbf{p}_6 ; \mathbf{p}_7 ; \mathbf{p}_8 ; \mathbf{p}_9 \} (20)

\overline{X} = [10,12,6,18,20,8,3,12,4,2] (21)

Matica spektrálnych koeficientov

\mathbf{Y} = \left( \begin{array}{cccc} 0 & 30,0416 & -4,9742 & 0 \\ -7,0890 & 0,0548 & 9,5475 & -1,9177 \\ 0,2888 & 11,5489 & -4,9836 & 0 \\ 0 & 3,2201 & 0 & 0 \end{array} \right) (22)

a matica rekonštruovaného obrazu

\mathbf{X}_s = \left( \begin{array}{cccc} 0 & 10 & 12 & 0 \\ 6 & 18 & 20 & 8 \\ 3 & 12 & 4 & 0 \\ 0 & 2 & 0 & 0 \end{array} \right) (23)

Stredná kvadratická odchýlka dosiahla hodnotu

\xi = 1/M \sum_{n=0}^{M-1} (\overline{X} (nT) - \overline{X_s} (nT))^2 = 5,5861 e^{-029} (24)

, kde M=10. Z výslednej hodnoty strednej kvadratickej chyby je zrejmé, že vstupný segment a rekonštruovaný segment môžeme považovať za totožný, čo znamená, že vypočítané ortogonálne bázové funkcie Householderovým algoritmom sú správne vypočítané.

3.2 Pre reálne obrazové segmenty

Navrhnutý program na simuláciu zovšeobecnenej DCT umožňuje načítať jednu alebo viacero šedotónových snímok, ďalej ortogonalizáciu je možné realizovať dvoma spôsobmi: 1) s určovaním okna segmentu a 2) s vyhľadaním hraničných blokov, pričom sa ortogonalizácia vykonáva vždy na aktívnej snímke. Pri 1) type ortogonalizácie program čaká na výber okna zo segmentu na aktívnej snímke a po zadaní veľkosti okna (môže byť veľkosti 4×4, 8×8, 16×16) nastáva proces ortogonalizácie Householderovym algoritmom. Pri 2) type ortogonalizácie sa najskôr nastavuje veľkosť hraničných blokov a potom je potrebné nastaviť ďalší parameter a to transparentnosť, čo znamená udať počet nulových op v hraničnom bloku.

Po nastavení transparentnosti si môžeme vybrať, či budeme robiť ortogonalizáciu hraničných blokov alebo selekciu. Po zvolení „ortogonalizácie“ sa vykoná ortogonalizácia Householderovym algoritmom pre nastavené hraničné bloky a po skončení procesu môže nasledovať transformácia alebo filtrácia, ako v predchádzajúcom bode. Po zvolení „selekcie“ sa na obrazovke zobrazí dialóg, v ktorom si vyberieme, či budeme zobrazovať hraničné bloky alebo vnútorné bloky segmentu. Položka v programe “transformácia” je aktuálna až po skončení ortogonalizácie. “Filtrácia” je aktuálna po priamej transformácii, pričom si môžeme zvoliť buď prahovú alebo zonálnu filtráciu [7].

Pre ilustráciu uvádzame dosiahnuté výsledky pre reprezentačný segment (obr.5 vľavo). Pre tento reálny segment sme robili ortogonalizáciu pomocou Householderovho algoritmu. Počet obrazových prvkov tohto segmentu je 115 a veľkosť okna, v ktorom sa daný segment nachádza je 16×32. Po vykonaní ortogonalizácie sme transformovali tento reálny segment priamou zovšeobecnenou DCT (obr.5 v strede). Správnosť výpočtu Householderovým algoritmom sme overili spätnou transformáciou (obr.5 vpravo). Segment po spätnej zovšeobecnenej DCT je rovnaký ako originálny segment vstupujúci do výpočtu, čo sa potvrdilo aj dosiahnutou nulovou strednou kvadratickou chybou rekonštruovaného segmentu.

p18485_10_obr05
Obr.5 Vľavo reálny segment, v strede segment po priamej zovšeobecnenej DCT s vykonanou Householderovou ortogonalizáciou, vpravo segment po spätnej zovšeobecnenej DCT.

Niekedy je však potrebné ortogonalizovať iba hraničné bloky segmentu napr. vtedy, ak máme veľký segment (napr. snímka typu hlava-plecia), kde sa netransparentné bloky vo vnútri segmentu transformujú pomocou klasickej DCT [14] a polotransparentné bloky sa ortogonalizujú pomocou uvedeného Householderovho algoritmu.

4. Záver

V článku bola vykonaná zovšeobecnená diskrétna kosínusová transformácia vzhľadom na ľubovoľný tvar segmentu s použitím kosínusových bázových funkcií. Ortogonalizácia daných bázových funkcií pre zvolený tvar segmentu bola uskutočnená pomocou Householderovho algoritmu. Navrhnutý simulačný program umožňuje realizovať zovšeobecnenú DCT pre zadané vstupné segmenty. Householderov algoritmus ortogonalizácie je veľmi presný, stredná kvadratická chyba vychádzala pre jednotlivé ľubovoľné testované obrazové segmenty nulová, rádovo na 10-19. Táto metóda sa javí vhodnejšia na spracovanie vizuálneho objektu a pri kompresií údajov vykazuje menšiu chybu pri spätnej transformácií v porovnaní so Schmidtovym algoritmom ortogonalizácie. Jej nevýhoda spočíva v dlhšom trvaní výpočtu ortogonalizácie a z toho vyplývajúce vysoké nároky na procesor a pamäť počítača. Získané poznatky je možné použiť v oblasti transformačného kódovanie obrazov, ktoré používa oblastne-orientovanú obrazovú segmentáciu.

Literatúra

  1. Mihalík, J., Štandardný videokodek MPEG-4. Slaboproudý obzor, 2003, roč. 60, č.2, s.7-11.
  2. Mihalík, J., Štandardný videokodek H.263 a jeho porovnanie s H.261. Slaboproudý obzor, 2003, roč. 60, č.1, s.1-7.
  3. MPEG Requirements Group. MPEG-4 requirements. ISO/IEC JTC1/SC29/WG11 N1595, Sevilla MPEG meeting, February 1997
  4. Gilge, M. – Engelhardt, T.– Mehlan, R., Coding of arbitrarily shaped image segments based on a generalized orthogonal transform. Signal Processing: Image Communication.,vol 1, no.2, 1989, pp.153-180.
  5. Gilge, M., Region-oriented transform coding (ROTC) of images. ICASSP, Conference: Acoustics, Speech, and Signal Processing, 1990.
  6. Correia, P. – Pereira, F., Video Analysis for Coding: Objectives, Features and Methods, April 1997.
  7. Mihalík, J., Kódovanie obrazu vo videokomunikáciách. TU-FEI Košice, 2001.
  8. Mihalík, J., Štandardný videokodek H.264/AVC, Slaboproudý obzor, roč. 67, č.4, 2011, str.4-10.
  9. Fauzi, M.F.A. – Lewis, P.H., Block-based Against Segmentation-based Texture Image Retrieval. Journal of Universal Computer Science, vol. 16, no. 3 (2010), 402-423.
  10. Seyedin, S.A. – Fauzi, M.F.A. – Anuar, F.M., 1-D DCT Shape Faeture for Image Retrieval. IEEE Int. Conf. on Signal and Image Processing Applications, 2009.
  11. Březina, A. – Polec, J. – Pavlovičová, J. – Kolingerová, I. – Bandzi, P., Region-based texture coding at very low bitrates. Journal of Electrical Engineering, vol. 56, no. 1-2, 2005, 36–40.
  12. Kaup, A. – Aach, T., Coding of Segmented Images Using Shape-Independent Basis Functions, IEEE Transactions on Image Processing, no. 7 (1998), 937–947.
  13. Eden, M. – Kocher, M., On the Performance of a Contour Coding Algorithm in the Context of Image Coding. Part I: Contour Segment Coding, Signal Processing 8 (1995), 381–386.
  14. Gladišová, I. – Mihalík, J., DCT vizuálneho objektu pomocou ortogonalizácie jej bázových funkcií v oblastiach hraničných blokov. Electrical Engineering and Informatics 3, Proceeding of the Faculty of Electrical Engineering and Informatics of the Technical University of Košice, 2012, s. 310-314.
  15. Persson P., Lecture 5: Gram-Schmidtov Orthogonalization. [Online]:
    http://persson.berkeley.edu/18.335/lec5handout6pp.pdf
  16. Giraud, L. – Langou, J. – Rozlonik, M., The Loss of Orthogonality in the Gram-Schmidt Orthogonalization Process. Int. Journal of Computers and Mathematics with Applications, Vol.50, 2005, pp.1069-1075.
  17. Gladišová, I., Mihalík, J., Zavacký, J., Obrysová reprezentácia a kódovanie binárneho tvaru videoobjektu. Slaboproudý obzor, 2010, roč. 66, č.3, s.14-18.
  18. Liu, Jin-Zuo – Ding, Jian-Jiun, Image Compression, [Online]:
    http://disp.ee.ntu.edu.tw/meeting/俊佐/imagecompression.ppt
  19. Gladišová, I. – Mihalík, J. – Petráš, J., Vnútrosnímková segmentácia obrazu. In: Posterus.sk., portál pre odborné publikovanie, roč. 8, č. 2 (2015), s. 1-18.

Spoluautormi článku sú Ján Mihalík a Miroslav Tóth, Laboratórium číslicového spracovania obrazov a videokomunikácií, Katedra elektroniky a multimediálnych telekomunikácií, Fakulta elektrotechniky a informatiky, Technická univerzita v Košiciach.

Napísať príspevok