DTV skola. Videosignāla kompresija.
DTV skola
Ievads
Digitālās TV
(DTV) klasiskās virszemes apraides sagatavošanas ķēdi,
sākot ar atbilstošo signālu avotiem un beidzot ar antenas torni,
var iedalīt trīs galvenos blokos. Tie ir: avota kodēšana,
kanāla kodēšana un t. s. COFDM modulēšana (sk. SP
1998/4,17. lpp.). Šai apskatā aplūkota signālu
apstrāde tikai pirmajā avota kodēšanas - blokā,
kurā notiek arī nepieciešamā signāla kompresija. Avota
kodēšana visā pasaulē akceptētā MPEG2
standartā nemainītā veidā tiek izmantota arī citos DTV
izplatīšanas veidos satelītu un kabeļtelevīzijā.
Kompresijas
nepieciešamība
Signālu kompresija
ir mūsdienu elektronikas attīstības stāvokļa
nepieciešamība. Nekompresētu DTV signālu var
pārraidīt ar 270 Mbps (10 biti uz nolasi) vai 216 Mbps (8 biti uz
nolasi) bitu plūsmu. Šādas vienas DTV programmas pārraidei
būtu nepieciešams ap desmit analogo TV (ATV) frekvenču joslu,
kas radioviļņu spektra deficīta apstākļos nav
pieļaujami. Tāpat jāņem vērā, ka izplatītie
SDH, STM-1 (Eiropā) vai STS-3, OC-3 (ASV) digitālie
telekomunikāciju tīkli darbojas ar 155 Mbps bitu plūsmām.
Pa šādu tīklu nevarētu pārraidīt pat vienu
nekompresētu DTV 4:2:2 formāta programmu! Vienīgā izeja
signālu kompresija. Izmantojot MPEG2 standartu, to var veikt tik
efektīvi, ka, attēla kvalitāti praktiski nepasliktinot,
vienā ATV frekvenču kanālā var izvietot 4-5 PAL
kvalitātes DTV programmas.
Jauna
tehnoloģija!?
Kļūdās
tie, kas domā, ka kompresija ir jauna tehnoloģija. Taču, ideju
gan sevišķi nereklamējot, kompresiju izmanto arī ATV.
Šajā sistēmā attēls sākotnēji tiek veidots
no trīs pamatkrāsu signāliem RGB (komponentsignāla). Ja to
pārraidītu kā lineāras gaismas progresīvi
izvērstu attēlu, būtu nepieciešama apmēram desmit
reižu plašāka frekvenču josla. Signālu kompresiju
iegūst ar:
·komponentsignāla
(RGB) pārveidi spilgtuma (Y) un krāsu starpības signālos (CB,
CR), t. i., kompozītsignālā (kompresija 3:2);
·krāsu
starpības signālu uzsēdināšanu uz subnesēja
(kompresija 2:1);
·gamma efekta
(spilgtuma - sprieguma nelinearitāte) izmantošanu (kompresija 1,7:1);
·pārlecošās
jeb rindpārleces izvēršanas lietoanu (kompresija 2:1).
Iepriekšminētā
otrā analogo signālu apstrādes procesā TV
kompozītsignāls tiek pilnībā noformēts, izmantojot
amplitūdas - fāzes (QAM) modulētu subnesēju (PAL un NTSC,
bet ne SECAM!). Pirmajā procesā, kurā kompozītsignālu
sāk formēt, kopā ar otro tātad kompresija sasniedz 6:2 (t.
i., 3:1). Kompresija visuzskatāmāk izpaužas ceturtajā, t.
i., pārlecošās attēla izvēršanas metodē.
Tā kadru rekonstruē no diviem noraidītiem puskadriem (laukiem),
nospiežot kadru frekvenci no 50 uz 25 Hz. Bet līdz ar to ATV
videosignālu aizņemtā frekvenču josla samazinās uz
pusi (no apm. 10-12 MHz uz 5-6 MHz). Summārā signālu kompresija
visos četros apstrādes procesos ir apm. 10:1. Bez signālu
kompresijas arī ATV rastos problēmas pārmērīgi
lielās nepieciešamās frekvenču joslas dēļ.
Kompresijas
faktors
Kompresijas
būtība slēpjas principā: KAS DERĪGS, TO ATSTĀT,
LIEKO ATMEST. Kompresijas efektivitāti mēra ar kompresijas faktoru
jeb attiecību. Tā ir oriģinālo, sākotnējo datu
daudzuma un datu daudzuma pēc kompresijas attiecība. Ņemot
vērā, ka sarežģītajam avota kodēšanas posmam
seko kanāla kodēšanas posms, var izmantot arī
telekomunikāciju starptautiskā konsultanta Dž. Vatkinsona
definīciju: kompresijas faktors ir datu plūsmas ātruma
attiecība avota un kanāla kodēšanas posmu (bloku)
ieejā. Tātad attiecību var veidot arī datu (derīgo
bitu) plūsmu ātrumi, dažreiz kompresijas faktora
novērtēšanai izmanto pat atbilstošo signālu
aizņemtās frekvenču joslas.
Dažādās
kompresijas
Izšķir
bezzudumu (lossless) kompresiju un kompresiju ar zudumiem (lossy compresion).
Bezzudumu kompresija likvidē viegli nosakāmo redundanci (sk.
tālāk), signālus saspiežot relatīvi mazā
mērā. To plaši izmanto datortehnikā. Videotehnikā
kompresija 2:1 vai mazāka tiek dēvēta arī par bezzudumu
kompresiju, jo attēls ir praktiski identisks ar oriģinālu.
Kompresija ar zudumiem var nodrošināt daudz lielākus kompresijas
faktorus. Taču datu zudumus var palielināt līdz līmenim,
kamēr attēla vai skaņas neatbilstības oriģinālam
skatītājs/klausītājs gandrīz neievēro. Prakse
rāda, ka videosignālu kompresija no 20:1 līdz 30:1
skatītājam grūti samanāma. Tāpēc šāda
kodēšana iespējama tikai, izzinot un analizējot
cilvēka subjektīvās psihovizuālās vai
psihoakustiskās uztveres likumsakarības.
Redundance un
irrelevance
Kompresijas
sakarībā lieto divus jēdzienus: redundance un irrelevance.
Redundance ir pārmērības datu daudzumā, to virsdaudzums jeb
pārbagātība. Redundanci samazinot, informācija netiek
zaudēta. Redundantie dati var tikt novākti koderā, bet
dažreiz atjaunoti dekoderā. Tam pretēji, samazinot irrelevanci,
atbilstošie dati tiek neatgūstami zaudēti. Tādēļ
par irrelevantiem datiem uzskatāmi tādi, kurus cilvēka dzirdes
vai redzes aparāts uztver ļoti vāji vai neuztver nemaz
(piemēram, skaņu signāli, kas atrodas zem dzirdamības
sliekšņa). Bet redundance vai irrelevance nemētājas
visapkārt.
Lai realizētu
kompresiju, redundantos un irrelevantos datus vispirms jācenšas
sameklēt, atklāt un precīzi noteikt datu atmešanas
iespējas. Izšķir, piemēram, psihovizuālo, statistisko
un kodēšanas redundanci, kā arī strukturālo
irrelevanci. Pēdējo nosaka TV attēla izvēršanas
likumi. ATV rindu un puskadru dzēsošo impulsu pārraidei
patērē ļoti daudz laika. DTV šo informāciju
pārraida ārkārtīgi lietderīgi, nododot to DTV
uztvērējam ar ļoti īsiem signāliem, tā ietaupot
pat vairāk par 20 procentiem noraidāmās bitu plūsmas.
Visi kompresijas
standarti JPEG, MPEG-1, MPEG-2 u. c. pamatā izmanto datu
transformāciju (lietojot speciālu matemātisko aparātu) ar
sekojošu kvantēšanu, kuras mērķis sadalīt lielo
datu daudzumu divās kolekcijās vai kopās. Pirmā satur
svarīgo, būtisko informāciju, bet otrā nesvarīgo,
lieko un tāpēc atsijājamo. Otrajai kolekcijai piederošie dati
ir redundantie un irrelevantie dati.
Videosignālu
kompresija MPEG-2 standartā
Datu kompresiju
panāk ar šādām metodēm.
Mazāka
izšķiršana krāsām
Spilgtuma signāls
Y = 0,6G + 0,3R + 0,1B un krāsu starpības signāli CB = B-Y un CR
= R-Y tiek pārraidīti ar dažādu
izšķirtspēju. Cilvēka acs neizšķir krāsas
sīkās attēla detaļās. Tās raksturo tikai Y
signāls. Tādēļ šos trīs signālus var
pārraidīt nevis 4:4:4 formātā ar visiem signāliem
vienādu diskretizācijas frekvenci (13,5 MHz), bet gan 4:2:2 vai pat
4:2:0 formātā ar krāsu starpības signāliem
paredzēto 6,75 MHz, t. i., divreiz zemāku diskretizācijas
frekvenci (1. zīm.). Formāta 4:2:0 apzīmējums
nenozīmē, ka viens krāsu starpības signāls
apstrādē pazudis. Tas nozīmē tikai to, ka krāsu
izšķiršana ir samazināta ne tikai pikseļu rindas
horizontālā, bet arī pikseļu kolonnas vertikālā
virzienā, izmantojot tikai vienu CB un CR pikseli uz četriem
spilgtuma signāla Y pikseļiem (2. zīm.). Rezultātā uz
4 Y blokiem t. s. galvenajā profilā iegūst tikai divus tam
piederošus krāsu starpības signālu blokus (3. zīm.).
Tā izdodas samazināt TV kompozītsignāla psihovizuālo
irrelevanci.
Ja videosignāli
būtu pilnīgi nejauši lielumi, pat niecīgākā
signālu kompresija nenovēršami izraisītu attēla
kvalitātes pasliktināšanos. Par laimi videosignāli ir
strukturēti tie atkārtojas laikā un korelējas attēla
plaknē. Svarīga ir attēla starppikseļu redundance, kas
balstās uz blakus pikseļu statistiskām likumsakarībām.
Blakus pikseļu korelācija ir ļoti liela gan koordinātas
(x,y) virzienā (spatial correlation), ko izmanto t. s.
iekškadra kodēšanā, gan vēl lielāka laikā (temporal
correlation), ko izmanto starpkadru kodēšanā.
DCT
(diskrētā cos transformācija)
Videosignālu
kompresijas standarti (izņemot JPEG-2000) izmanto DCT transformāciju.
DCT būtība: ar diskrēto kosinusa transformāciju dati no x,y
plaknes tiek pārveidoti uz frekvenču plakni. Šeit ir runa par t.
s. spatiālām frekvencēm spilgtuma vai krāsu izmaiņu
frekvencēm koordinātu virzienos (skat. 4. zīm.). Pēc
transformācijas iegūtie DCT koeficienti ir daudz
piemērotāki kompresijai, jo tiek noņemta pikseļu
pārlieku stiprā korelācija - tos ērtāk sadalīt
būtisko un nebūtisko datu kolekcijās
Nelielā
pikseļu blokā (8x8), kas ir DCT apstrādes vienība, tipveida
TV kadram attēla dati ir izsmērēti pa visiem pikseļiem, bet
spatiālo frekvenču plaknē tos satur galvenokārt nulles
frekvence (to sauc arī par līdzstrāvas komponenti) un zemo
frekvenču komponentes. Augsto frekvenču komponenšu
absolūtās vērtības nav lielas pēc komponenšu
(DCT koeficientu) kvantēšanas to lielākā daļa
pārvēršas nullēs. Nulles frekvences DCT koeficients (8x8
pikseļbloka kreisā augšējā stūrī) atbilst
visa bloka pikseļu kopas vidējai vērtībai
pelēkā toņa (vai krāsas) caurmēra gradācijai.
Tādēļ tā pārraidei pievērš īpašu
uzmanību.
Parasti
kvantēšanu veic, 8x8 bloka pikseļu vērtības izdalot ar
atbilstošiem skaitļiem no 8x8 kvantēšanas tabulas (5.
zīm.), rezultātu noapaļojot līdz veselam skaitlim. MPEG-2
koders var lietot īpašu mēroga faktoru, lai ļoti strauji
mainītu kvantēšanu no 16x16 pikseļu makrobloka uz
makrobloku. Izmainot kvantēšanas tabulas, var panākt
augstāku vai zemāku izšķiršanu.
Ja transformāciju
veic pretējā virzienā (inversi), atpakaļ pie
pikseļiem, var konstatēt, ka attēlu kvalitāte praktiski nav
pasliktinājusies. Tā izdodas atbrīvoties no TV
skatītāja acij it kā nevajadzīgo irrelevanto un redundanto
datu kolekcijas.
DPCM
(diferences impulsu koda modulācija)
Praktiski
videosignāla kompresiju veic, izmantojot DCT transformāciju kopā
ar DPCM metodi (sk. nodalījumu 1). DPCM pamatideja ir samazināt
kustīga attēla redundanci ar prognozi, pie kam netiek
pārraidīti visi attēla, TV kadra dati, bet gan tikai diferences
jeb atšķirības, kuras izveidojas pārraidāmo kadru
secībā. Tātad koders kodē un pārraida tikai diferenci
(atšķirību) starp kadru un prognozi, kādam tam
vajadzētu izskatīties. Kā iegūt diferences?
Koders (un dekoders)
izmanto, piemēram, I kadru (1. kadrs) kā references jeb enkurkadru,
lai prognozētu, kā attēls izskatīsies turpmāk.
Pienākot kadram 2, katram attēla blokam tiek iegūtas
reāli prognozētās diferences D (2-1), kuras tiek
pārraidītas dekoderam. Dekoders pievieno D (2-1) pie
atmiņā ierakstītā 1. kadra un iegūst 2. kadru, to
noglabājot arī atmiņā. Tālāk koders izmanto 2.
kadru kā enkurkadru un noraida diferenci D (3-2). Dekoders
savukārt šo diferenci piesummē no atmiņas izņemtajam
2. kadram, tādējādi iegūstot 3. kadru, vienlaikus to
noglabājot atmiņā.
Taču
šāda sistēma darbojas slikti, jo diferences D
kodēšanas procesā tiek rupji kvantētas, nāk klāt
arī kļūdas pārraides procesā, tāpēc dekodera
atmiņā ierakstītie kadri kļūst arvien
atšķirīgāki no patiesajiem, reāli secīgajiem
kadriem. Kā rīkoties?
Koderā izveido
negatīvās atgriezeniskās saites cilpu, tajā
iebūvējot lokālu dekoderu, uztvērējā
izvietotā dekodera kopiju. Tā koderā iegūst precīzu
pēdējā kodētā kadra dekodēto versiju, kas
palīdz samazināt prognozes kļūdas (6. zīm.)
(Skatīties ????BOX???ietonēto daļu
lpp.). Taču
šādai prognozei ir nepieciešami relatīvi lieli datu
apstrādes ātrumi, jo katra turpmākā prognoze
bāzējas uz iepriekšējo kadru. Lai no tā
izvairītos, DPCM veic prognozi nevis nākošajam kadram, bet
vēl tālāk nākotnē, parasti 2-3 kadrus uz priekšu
t. s. P kadram. Turklāt tiek aizpildītas tukšās kadru
vietas ar interpolētiem, divos virzienos prognozētiem t. s. B kadriem
(sk. nodalījumu 2).
Taču arī
šādā pārraidē var rasties nepatikšanas. Ko
darīt, ja attēla scēna pēkšņi mainās,
tajā parādās nebijuši objekti? Lai gan DPCM prognozes
koders no normālā darba režīma netiek izsists, kādas D diferences tas
kodēs? Situāciju glābj jauns enkurkadrs (I kadrs) ar svaigu
informāciju par katru attēla pikseli. Tālāk pārskats
par dažādiem DTV kadriem.
Dažādie
kadri
I, P un B kadri ir
MPEG-2 videosignālu kompresijas pamatelementi.
·I (Intra
iekš) kadrs jeb enkurkadrs, etalons, kurā izmanto tikai
starppikseļu redundanci šai pašā kadrā.
Tāpēc I kadrus neizdodas tik stipri kompresēt var atmest
relatīvi maz datu. Taču tas noder kā enkurs vai balsts citiem
kadriem: P un B kadru apstrādē. Attālums starp diviem I kadriem
nosaka attēla grupu GOP (Group Of Pictures) vislielāko
vienību videosignāla apstrādes hierarhijā. Jo GOP
garāka, jo mazāk bitu vajag, lai iegūtu uzdoto attēla
kvalitāti. Vai otrādi jo tā īsāka, jo lielāka
attēla kvalitāte noteiktā bitu plūsmā.
·P (Predictive
prognozētais) kadrs, kurā izmanto kā starppikseļu,
tā starpkadru (temporālo) redundanci. Šos redundances veidus
samazinot, P kadru izdodas kompresēt stiprāk nekā I kadru.
Tā prognoze izmanto iepriekšējo I vai P kadru. Kustību
kompensētā prognoze P kadram vērsta tikai uz priekšu (forward
prediction). Savukārt P kadrs ir enkurs B kadriem, tāpēc I
un P kadru rekonstrukcija nepieciešama gan koderā, gan dekoderā,
lai varētu apstrādāt B kadrus. Ja P kadra kodēšanas
laikā attēlā parādās nezināms objekts, tad
makrobloki tiek kodēti kā I kadrā, tātad P kadrs tiek
nomainīts ar I kadru. Attālums GOP struktūrā starp P
kadriem nosaka, cik sarežģīta būs videosignālu
kompresijas sistēma, kā arī attēla kvalitāte. Ja tas
liels, rodas problēmas kustību novērtēšanā
(nepieciešams jaudīgāks procesors) un vajadzīga
ietilpīgāka atmiņa.
·B (Bidirectional
divvirziena) kadrs. Tas pieļauj vislielāko kompresiju. Galvenā
atšķirība starp P un B kadriem slēpjas ar
kustībām saistīto datu apstrādē. Pretēji P
kadriem, B kadrus prognozē divos virzienos nākotnē, uz
priekšu, un pagātnē, atpakaļ , izmantojot divvirzienu
kustību kompensāciju no I un P enkurkadriem. Tādēļ GOP
struktūrā B kadrus sakārto starp tiem. Dekoders izmanto
interpolētos kustību vektorus, lai noteiktu, kur kustīgie
objekti atrodas, kamēr kadrs tiek veidots. B kadrus prognozei neizmanto.
Koders tos nerekonstruē.
Divvirzienu
prognozes virtuve
Koders izmanto I kadru
(1. kadru), lai prognozētu uz priekšu, piemēram, trīs
kadrus. Izmantojot sava lokālā dekodera atmiņā
ieslēpto I kadru (1. kadru), koders uz mirkli patur operatīvā
RAM atmiņā pienākošo 2. un 3. kadru. Pienākot
ceturtajam, P kadram, koders sūta diferences D (4-1) bloks pēc
bloka uztvērēja dekoderam.
Dekoders tās
izmanto, lai rekonstruētu P kadru (4. kadru). Noslēpjot to
atmiņā, dekoderam jau ir divi enkurkadri, kas atrodas tā
atmiņā: I un P. Kā koders, tā dekoders izmanto šos
kadrus, lai makrobloku līmenī no I un P kadru pikseļu sajaukuma
aprēķinātu interpolēto prognozi 2. kadram. Atskaitot
šo divvirzienu prognozi (B) no faktiskā 2. kadra, kas atrodas kodera
pagaidu atmiņā, kodera izejā tiek iegūta diference D (2-B), t. i.,
patiesā otrā un prognozētā kadra diference.
Kļūdu, ko
rada 4. kadra prognoze, vēl koriģē, sūtot detalizētu
diferenci D (4-1), un tādējādi B kadra prognoze tiek uzlabota
ar interpolāciju, t. i., diferences D (2-B) un D (3-B) tiek
sūtītas B kadru makrobloku lielākajai daļai.
No 4. kadra (P kadra)
tiek atkal prognozēti uz priekšu trīs kadri, izmantojot
interpolāciju 5. un 6. kadra prognozei un prognozējot 7. kadru (P
kadru). Mazmainīgai attēlu sērijai trīs P kadru prognozes
ir tipiskas, līdz kamēr atkal I enkurkadrs tiek ievietots kadru
secībā. Līdz ar to jauna attēla kadru grupa GOP uzņem
startu. Pie lēni mainīgiem attēliem GOP parasti satur 12 kadrus.
Kustību
kompensētā prognoze
Saprotams, ka
prognozēs var ienest neprecizitātes objektu kustība, it
īpaši, ja ar DPCM paņēmienu jāprognozē
vairākus kadrus uz priekšu.
Lai to novērstu,
lokālā dekodera prognozes bloks satur kadru atmiņu un
procesorus, kas novērtē un analizē objektu kustību. Lai
informāciju par kustību saistītu atsevišķi ar katru
pikseli, vajadzētu milzīgus skaitļošanas resursus. Tas
būtu pārāk dārgi un sarežģīti. Nedrīkst
DTV uztvērēju pārvērst superdatorā! Izrādās,
ka pietiek, ja informāciju par kustību saista ar 16x16 pikseļu
makroblokiem, tiem piekārtojot t. s. kustību vektorus. Tie
norāda, kur makrobloks atradies iepriekšējā kadrā. Kur
tas atradīsies turpmāk, to aprēķina dekodera procesors,
izmantojot kustības vektoru un analizējot iepriekšējā
kadra saturu (6. zīm.).
Nedaudz par
jēdzienu kustību kompensēts (motion compensated).
Vispirms jādefinē optiskā plūduma ass. Tā ir taisne,
uz kuras atrodas viens un tas pats kustīgā objekta punkts secīgo
kadru virknē. Kustīgais objekts pret šo asi kļūst
nekustīgs! Optiskā plūduma ass atrašana, ko veic kodera
procesori, tad arī ir t. s. kustību novērtēšana (motion
estimation). Ja aprēķini tiek veikti attiecībā pret
optiskā plūduma asi, rezultātus dēvē par kustību
kompensētiem.
B kadri uzskata, ka
kustība no I līdz P kadram ir lineāra un kustības vektori
tiek mērogoti proporcijās, kas atbilst B kadra izvietojumam
IBBBP...vai IBBP... kadru secībā. Nākošie B kadri (5. un
6.) kustību kompensētām prognozēm kā enkurkadrus
izmanto 4. un 7. kadru (P kadrus).
Kadru
secība
I, P un B kadri
koderā ienāk secībā, kas parādīta 7. zīm.
Taču šī kadru secība tiek sajaukta, īslaicīgi tos
saglabājot atmiņā. Tāpēc kadri atstāj jau
citā virknējumā. Tā ir pārraides kadru secība,
kas atbilst kadru apstrādes secībai dekoderā. Šādi
izdodas samazināt nepieciešamo atmiņas ietilpību
dekoderā. Dekoderā uz priekšu prognozētie P kadri tiek
apstrādāti, pirms notiek divos virzienos prognozēto B kadru
apstrāde (7. zīm.).
Kodēšanas
redunance
Bez minētiem
redunances veidiem vēl jāpiemin kodēšanas redunanci.
Izkārtojot, ka varbūtīgākiem, biežākiem
signāliem atbilst īsāki kodi, bet
mazākvarbūtīgākiem, kas parādās retāk,
atbilst garāki kodi, izdodas samazināt arī kodēšanas
redunanci. Šim nolūkam izmanto Hafmana kodu. Kodēšanas
redunances samazināšana notiek VLC un RLC blokos (6.zīm.).
Prognozes
koders
Japāņu
izgudrotā (sk. SP 1998/4 17. lpp.) prognozes kodera darbības principi
skaidrojami ar kodera vienkāršotu blokshēmu (A zīm.).
Prognozes koders pareģo videosignāla nolasē iegūto
pikseļa vērtību, bāzējoties uz kodētā
signāla iepriekšējo vēsturi, t. i., iepriekšējo
kadru saturu. Tāpēc prognozes blokam ir atmiņa. Te svarīgas
abas zīmējumā redzamās atgriezeniskās saites cilpas.
Pirmā veic temporālo prognozi, kas balstās uz informāciju
par iepriekšējo kadru pikseļiem (starpkadru prognoze), otrā
realizē spatiālo prognozi, kas izmanto informāciju par
pikseļu sakārtojumu šai pašā kadrā
(iekškadra prognoze). Prognozes kļūda tiek salīdzināta
abām cilpām, taču tikai 8x8 pikseļbloka līmenī.
Tikai mazākais prognozes signāls tiek pārvadīts
turpmākai apstrādei. šis triks, ko veic prognozes koders,
iespējams tikai tāpēc, ka tā izgudrotāji
līdztekus noteica arī cilvēka psihovizuālās uztveres
īpatnības: ja kodera prognozes signāls ir ļoti liels
(piemēram, brāzmaini straujas objekta kustības vai haotiski
pārraidītas scēnas detaļas, strauji pārvietojot TV
kameras redzes lauku), tad izrādās, ka skatītāja acs to
nespēj pamanīt. Bet prognozes bloks pēc
pārstūrēāanās tālāk darbojas
normālā mazo signāla diferenču režīmā.
Prognozes koders seviāķi efektīvi darbojas kombinācijā
ar signāla transformācijas metodēm.
Videosignālu
apstrādes hierarhija kompresijas procesā
Video
secība (Video Sequence),
kura veido bitu video
elementārplūsmu (ES). Video secība un turpmāk minētie
elementi (GOP, kadrs, strēmele, makrobloks) ES tiek iezīmēti ar
atbilstošām galvenēm (headers).
GOP (Group Of
Pictures)
Attēlu, kadru
grupa, kas sastāv no dažādiem kadriem. Kadru grupa veido I kadrs
līdz nākošajam I kadram.
Kadrs (Picture)
Attēls (kadrs).
Izšķir I, P un B kadrus, katru no tiem koders (dekoders)
apstrādā citādi.
Strēmele,
šķēle (Slice)
Attēla (kadra)
strēmele 16 pikseļu platumā. Blakus makrobloku virkne kadra
horizontālā virzienā. Strēmelē tiek uzdotas makrobloku
adreses.
Makrobloks (Macroblock)
16x16 pikseļu
bloks. 4:2:0 formātā makrobloku veido 4 spilgtuma signāla (Y) un
tam piederošie 2 krāsu starpības (CR un CB) signālu bloki.
Makrobloku kodē ar DCT/DPCM metodi, tam piekārtojot arī
kustību vektorus. Ja makrobloks no kadra uz kadru neizmainās un to
kustību vektors ir nulle, koders (dekoders) tā pikseļu
apstrādi neveic. Tas ir fiksētais makrobloks.
Bloks (Block)
8x8 pikseļu bloks.
Bloks ir DCT/DPCM apstrādes vienība, taču apstrāde tiek
veikta līdz pikseļu līmenim.
Pikselis (Pixel)
Jaunvārds no
angļu picture un element kombinācijas. TV vai datora
attēla (kadra) vismazākais elements jeb punkts. Videosignāla
(spilgtuma Y un krāsu starpību CR un CB signālu)
vismazākā proporcija. DCT transformācijas procesā atbilst
DCT koeficientam.
Arnolds
VĪTOLS,
ekskluzīvi
Sakaru Pasaulei
Informācijas
avots:
1. Rohde &
Schwarz Training Center, TR212-9 V2.10E.
Ievads
Digitālās TV (DTV) klasiskās virszemes apraides sagatavošanas ķēdi, sākot ar atbilstošo signālu avotiem un beidzot ar antenas torni, var iedalīt trīs galvenos blokos. Tie ir: avota kodēšana, kanāla kodēšana un t. s. COFDM modulēšana (sk. SP 1998/4,17. lpp.). Šai apskatā aplūkota signālu apstrāde tikai pirmajā avota kodēšanas - blokā, kurā notiek arī nepieciešamā signāla kompresija. Avota kodēšana visā pasaulē akceptētā MPEG2 standartā nemainītā veidā tiek izmantota arī citos DTV izplatīšanas veidos satelītu un kabeļtelevīzijā.
Kompresijas nepieciešamība
Signālu kompresija ir mūsdienu elektronikas attīstības stāvokļa nepieciešamība. Nekompresētu DTV signālu var pārraidīt ar 270 Mbps (10 biti uz nolasi) vai 216 Mbps (8 biti uz nolasi) bitu plūsmu. Šādas vienas DTV programmas pārraidei būtu nepieciešams ap desmit analogo TV (ATV) frekvenču joslu, kas radioviļņu spektra deficīta apstākļos nav pieļaujami. Tāpat jāņem vērā, ka izplatītie SDH, STM-1 (Eiropā) vai STS-3, OC-3 (ASV) digitālie telekomunikāciju tīkli darbojas ar 155 Mbps bitu plūsmām. Pa šādu tīklu nevarētu pārraidīt pat vienu nekompresētu DTV 4:2:2 formāta programmu! Vienīgā izeja signālu kompresija. Izmantojot MPEG2 standartu, to var veikt tik efektīvi, ka, attēla kvalitāti praktiski nepasliktinot, vienā ATV frekvenču kanālā var izvietot 4-5 PAL kvalitātes DTV programmas.
Jauna tehnoloģija!?
Kļūdās tie, kas domā, ka kompresija ir jauna tehnoloģija. Taču, ideju gan sevišķi nereklamējot, kompresiju izmanto arī ATV. Šajā sistēmā attēls sākotnēji tiek veidots no trīs pamatkrāsu signāliem RGB (komponentsignāla). Ja to pārraidītu kā lineāras gaismas progresīvi izvērstu attēlu, būtu nepieciešama apmēram desmit reižu plašāka frekvenču josla. Signālu kompresiju iegūst ar:
·komponentsignāla (RGB) pārveidi spilgtuma (Y) un krāsu starpības signālos (CB, CR), t. i., kompozītsignālā (kompresija 3:2);
·krāsu starpības signālu uzsēdināšanu uz subnesēja (kompresija 2:1);
·gamma efekta (spilgtuma - sprieguma nelinearitāte) izmantošanu (kompresija 1,7:1);
·pārlecošās jeb rindpārleces izvēršanas lietoanu (kompresija 2:1).
Iepriekšminētā otrā analogo signālu apstrādes procesā TV kompozītsignāls tiek pilnībā noformēts, izmantojot amplitūdas - fāzes (QAM) modulētu subnesēju (PAL un NTSC, bet ne SECAM!). Pirmajā procesā, kurā kompozītsignālu sāk formēt, kopā ar otro tātad kompresija sasniedz 6:2 (t. i., 3:1). Kompresija visuzskatāmāk izpaužas ceturtajā, t. i., pārlecošās attēla izvēršanas metodē. Tā kadru rekonstruē no diviem noraidītiem puskadriem (laukiem), nospiežot kadru frekvenci no 50 uz 25 Hz. Bet līdz ar to ATV videosignālu aizņemtā frekvenču josla samazinās uz pusi (no apm. 10-12 MHz uz 5-6 MHz). Summārā signālu kompresija visos četros apstrādes procesos ir apm. 10:1. Bez signālu kompresijas arī ATV rastos problēmas pārmērīgi lielās nepieciešamās frekvenču joslas dēļ.
Kompresijas faktors
Kompresijas būtība slēpjas principā: KAS DERĪGS, TO ATSTĀT, LIEKO ATMEST. Kompresijas efektivitāti mēra ar kompresijas faktoru jeb attiecību. Tā ir oriģinālo, sākotnējo datu daudzuma un datu daudzuma pēc kompresijas attiecība. Ņemot vērā, ka sarežģītajam avota kodēšanas posmam seko kanāla kodēšanas posms, var izmantot arī telekomunikāciju starptautiskā konsultanta Dž. Vatkinsona definīciju: kompresijas faktors ir datu plūsmas ātruma attiecība avota un kanāla kodēšanas posmu (bloku) ieejā. Tātad attiecību var veidot arī datu (derīgo bitu) plūsmu ātrumi, dažreiz kompresijas faktora novērtēšanai izmanto pat atbilstošo signālu aizņemtās frekvenču joslas.
Dažādās kompresijas
Izšķir bezzudumu (lossless) kompresiju un kompresiju ar zudumiem (lossy compresion). Bezzudumu kompresija likvidē viegli nosakāmo redundanci (sk. tālāk), signālus saspiežot relatīvi mazā mērā. To plaši izmanto datortehnikā. Videotehnikā kompresija 2:1 vai mazāka tiek dēvēta arī par bezzudumu kompresiju, jo attēls ir praktiski identisks ar oriģinālu. Kompresija ar zudumiem var nodrošināt daudz lielākus kompresijas faktorus. Taču datu zudumus var palielināt līdz līmenim, kamēr attēla vai skaņas neatbilstības oriģinālam skatītājs/klausītājs gandrīz neievēro. Prakse rāda, ka videosignālu kompresija no 20:1 līdz 30:1 skatītājam grūti samanāma. Tāpēc šāda kodēšana iespējama tikai, izzinot un analizējot cilvēka subjektīvās psihovizuālās vai psihoakustiskās uztveres likumsakarības.
Redundance un irrelevance
Kompresijas sakarībā lieto divus jēdzienus: redundance un irrelevance. Redundance ir pārmērības datu daudzumā, to virsdaudzums jeb pārbagātība. Redundanci samazinot, informācija netiek zaudēta. Redundantie dati var tikt novākti koderā, bet dažreiz atjaunoti dekoderā. Tam pretēji, samazinot irrelevanci, atbilstošie dati tiek neatgūstami zaudēti. Tādēļ par irrelevantiem datiem uzskatāmi tādi, kurus cilvēka dzirdes vai redzes aparāts uztver ļoti vāji vai neuztver nemaz (piemēram, skaņu signāli, kas atrodas zem dzirdamības sliekšņa). Bet redundance vai irrelevance nemētājas visapkārt.
Lai realizētu kompresiju, redundantos un irrelevantos datus vispirms jācenšas sameklēt, atklāt un precīzi noteikt datu atmešanas iespējas. Izšķir, piemēram, psihovizuālo, statistisko un kodēšanas redundanci, kā arī strukturālo irrelevanci. Pēdējo nosaka TV attēla izvēršanas likumi. ATV rindu un puskadru dzēsošo impulsu pārraidei patērē ļoti daudz laika. DTV šo informāciju pārraida ārkārtīgi lietderīgi, nododot to DTV uztvērējam ar ļoti īsiem signāliem, tā ietaupot pat vairāk par 20 procentiem noraidāmās bitu plūsmas.
Visi kompresijas standarti JPEG, MPEG-1, MPEG-2 u. c. pamatā izmanto datu transformāciju (lietojot speciālu matemātisko aparātu) ar sekojošu kvantēšanu, kuras mērķis sadalīt lielo datu daudzumu divās kolekcijās vai kopās. Pirmā satur svarīgo, būtisko informāciju, bet otrā nesvarīgo, lieko un tāpēc atsijājamo. Otrajai kolekcijai piederošie dati ir redundantie un irrelevantie dati.
Videosignālu kompresija MPEG-2 standartā
Datu kompresiju panāk ar šādām metodēm.
Mazāka izšķiršana krāsām
Spilgtuma signāls Y = 0,6G + 0,3R + 0,1B un krāsu starpības signāli CB = B-Y un CR = R-Y tiek pārraidīti ar dažādu izšķirtspēju. Cilvēka acs neizšķir krāsas sīkās attēla detaļās. Tās raksturo tikai Y signāls. Tādēļ šos trīs signālus var pārraidīt nevis 4:4:4 formātā ar visiem signāliem vienādu diskretizācijas frekvenci (13,5 MHz), bet gan 4:2:2 vai pat 4:2:0 formātā ar krāsu starpības signāliem paredzēto 6,75 MHz, t. i., divreiz zemāku diskretizācijas frekvenci (1. zīm.). Formāta 4:2:0 apzīmējums nenozīmē, ka viens krāsu starpības signāls apstrādē pazudis. Tas nozīmē tikai to, ka krāsu izšķiršana ir samazināta ne tikai pikseļu rindas horizontālā, bet arī pikseļu kolonnas vertikālā virzienā, izmantojot tikai vienu CB un CR pikseli uz četriem spilgtuma signāla Y pikseļiem (2. zīm.). Rezultātā uz 4 Y blokiem t. s. galvenajā profilā iegūst tikai divus tam piederošus krāsu starpības signālu blokus (3. zīm.). Tā izdodas samazināt TV kompozītsignāla psihovizuālo irrelevanci.
Ja videosignāli būtu pilnīgi nejauši lielumi, pat niecīgākā signālu kompresija nenovēršami izraisītu attēla kvalitātes pasliktināšanos. Par laimi videosignāli ir strukturēti tie atkārtojas laikā un korelējas attēla plaknē. Svarīga ir attēla starppikseļu redundance, kas balstās uz blakus pikseļu statistiskām likumsakarībām. Blakus pikseļu korelācija ir ļoti liela gan koordinātas (x,y) virzienā (spatial correlation), ko izmanto t. s. iekškadra kodēšanā, gan vēl lielāka laikā (temporal correlation), ko izmanto starpkadru kodēšanā.
DCT (diskrētā cos transformācija)
Videosignālu kompresijas standarti (izņemot JPEG-2000) izmanto DCT transformāciju. DCT būtība: ar diskrēto kosinusa transformāciju dati no x,y plaknes tiek pārveidoti uz frekvenču plakni. Šeit ir runa par t. s. spatiālām frekvencēm spilgtuma vai krāsu izmaiņu frekvencēm koordinātu virzienos (skat. 4. zīm.). Pēc transformācijas iegūtie DCT koeficienti ir daudz piemērotāki kompresijai, jo tiek noņemta pikseļu pārlieku stiprā korelācija - tos ērtāk sadalīt būtisko un nebūtisko datu kolekcijās
Nelielā pikseļu blokā (8x8), kas ir DCT apstrādes vienība, tipveida TV kadram attēla dati ir izsmērēti pa visiem pikseļiem, bet spatiālo frekvenču plaknē tos satur galvenokārt nulles frekvence (to sauc arī par līdzstrāvas komponenti) un zemo frekvenču komponentes. Augsto frekvenču komponenšu absolūtās vērtības nav lielas pēc komponenšu (DCT koeficientu) kvantēšanas to lielākā daļa pārvēršas nullēs. Nulles frekvences DCT koeficients (8x8 pikseļbloka kreisā augšējā stūrī) atbilst visa bloka pikseļu kopas vidējai vērtībai pelēkā toņa (vai krāsas) caurmēra gradācijai. Tādēļ tā pārraidei pievērš īpašu uzmanību.
Parasti kvantēšanu veic, 8x8 bloka pikseļu vērtības izdalot ar atbilstošiem skaitļiem no 8x8 kvantēšanas tabulas (5. zīm.), rezultātu noapaļojot līdz veselam skaitlim. MPEG-2 koders var lietot īpašu mēroga faktoru, lai ļoti strauji mainītu kvantēšanu no 16x16 pikseļu makrobloka uz makrobloku. Izmainot kvantēšanas tabulas, var panākt augstāku vai zemāku izšķiršanu.
Ja transformāciju veic pretējā virzienā (inversi), atpakaļ pie pikseļiem, var konstatēt, ka attēlu kvalitāte praktiski nav pasliktinājusies. Tā izdodas atbrīvoties no TV skatītāja acij it kā nevajadzīgo irrelevanto un redundanto datu kolekcijas.
DPCM (diferences impulsu koda modulācija)
Praktiski videosignāla kompresiju veic, izmantojot DCT transformāciju kopā ar DPCM metodi (sk. nodalījumu 1). DPCM pamatideja ir samazināt kustīga attēla redundanci ar prognozi, pie kam netiek pārraidīti visi attēla, TV kadra dati, bet gan tikai diferences jeb atšķirības, kuras izveidojas pārraidāmo kadru secībā. Tātad koders kodē un pārraida tikai diferenci (atšķirību) starp kadru un prognozi, kādam tam vajadzētu izskatīties. Kā iegūt diferences?
Koders (un dekoders) izmanto, piemēram, I kadru (1. kadrs) kā references jeb enkurkadru, lai prognozētu, kā attēls izskatīsies turpmāk. Pienākot kadram 2, katram attēla blokam tiek iegūtas reāli prognozētās diferences D (2-1), kuras tiek pārraidītas dekoderam. Dekoders pievieno D (2-1) pie atmiņā ierakstītā 1. kadra un iegūst 2. kadru, to noglabājot arī atmiņā. Tālāk koders izmanto 2. kadru kā enkurkadru un noraida diferenci D (3-2). Dekoders savukārt šo diferenci piesummē no atmiņas izņemtajam 2. kadram, tādējādi iegūstot 3. kadru, vienlaikus to noglabājot atmiņā.
Taču šāda sistēma darbojas slikti, jo diferences D kodēšanas procesā tiek rupji kvantētas, nāk klāt arī kļūdas pārraides procesā, tāpēc dekodera atmiņā ierakstītie kadri kļūst arvien atšķirīgāki no patiesajiem, reāli secīgajiem kadriem. Kā rīkoties?
Koderā izveido negatīvās atgriezeniskās saites cilpu, tajā iebūvējot lokālu dekoderu, uztvērējā izvietotā dekodera kopiju. Tā koderā iegūst precīzu pēdējā kodētā kadra dekodēto versiju, kas palīdz samazināt prognozes kļūdas (6. zīm.) (Skatīties ????BOX???ietonēto daļu lpp.). Taču šādai prognozei ir nepieciešami relatīvi lieli datu apstrādes ātrumi, jo katra turpmākā prognoze bāzējas uz iepriekšējo kadru. Lai no tā izvairītos, DPCM veic prognozi nevis nākošajam kadram, bet vēl tālāk nākotnē, parasti 2-3 kadrus uz priekšu t. s. P kadram. Turklāt tiek aizpildītas tukšās kadru vietas ar interpolētiem, divos virzienos prognozētiem t. s. B kadriem (sk. nodalījumu 2).
Taču arī šādā pārraidē var rasties nepatikšanas. Ko darīt, ja attēla scēna pēkšņi mainās, tajā parādās nebijuši objekti? Lai gan DPCM prognozes koders no normālā darba režīma netiek izsists, kādas D diferences tas kodēs? Situāciju glābj jauns enkurkadrs (I kadrs) ar svaigu informāciju par katru attēla pikseli. Tālāk pārskats par dažādiem DTV kadriem.
Dažādie kadri
I, P un B kadri ir MPEG-2 videosignālu kompresijas pamatelementi.
·I (Intra iekš) kadrs jeb enkurkadrs, etalons, kurā izmanto tikai starppikseļu redundanci šai pašā kadrā. Tāpēc I kadrus neizdodas tik stipri kompresēt var atmest relatīvi maz datu. Taču tas noder kā enkurs vai balsts citiem kadriem: P un B kadru apstrādē. Attālums starp diviem I kadriem nosaka attēla grupu GOP (Group Of Pictures) vislielāko vienību videosignāla apstrādes hierarhijā. Jo GOP garāka, jo mazāk bitu vajag, lai iegūtu uzdoto attēla kvalitāti. Vai otrādi jo tā īsāka, jo lielāka attēla kvalitāte noteiktā bitu plūsmā.
·P (Predictive prognozētais) kadrs, kurā izmanto kā starppikseļu, tā starpkadru (temporālo) redundanci. Šos redundances veidus samazinot, P kadru izdodas kompresēt stiprāk nekā I kadru. Tā prognoze izmanto iepriekšējo I vai P kadru. Kustību kompensētā prognoze P kadram vērsta tikai uz priekšu (forward prediction). Savukārt P kadrs ir enkurs B kadriem, tāpēc I un P kadru rekonstrukcija nepieciešama gan koderā, gan dekoderā, lai varētu apstrādāt B kadrus. Ja P kadra kodēšanas laikā attēlā parādās nezināms objekts, tad makrobloki tiek kodēti kā I kadrā, tātad P kadrs tiek nomainīts ar I kadru. Attālums GOP struktūrā starp P kadriem nosaka, cik sarežģīta būs videosignālu kompresijas sistēma, kā arī attēla kvalitāte. Ja tas liels, rodas problēmas kustību novērtēšanā (nepieciešams jaudīgāks procesors) un vajadzīga ietilpīgāka atmiņa.
·B (Bidirectional divvirziena) kadrs. Tas pieļauj vislielāko kompresiju. Galvenā atšķirība starp P un B kadriem slēpjas ar kustībām saistīto datu apstrādē. Pretēji P kadriem, B kadrus prognozē divos virzienos nākotnē, uz priekšu, un pagātnē, atpakaļ , izmantojot divvirzienu kustību kompensāciju no I un P enkurkadriem. Tādēļ GOP struktūrā B kadrus sakārto starp tiem. Dekoders izmanto interpolētos kustību vektorus, lai noteiktu, kur kustīgie objekti atrodas, kamēr kadrs tiek veidots. B kadrus prognozei neizmanto. Koders tos nerekonstruē.
Divvirzienu prognozes virtuve
Koders izmanto I kadru (1. kadru), lai prognozētu uz priekšu, piemēram, trīs kadrus. Izmantojot sava lokālā dekodera atmiņā ieslēpto I kadru (1. kadru), koders uz mirkli patur operatīvā RAM atmiņā pienākošo 2. un 3. kadru. Pienākot ceturtajam, P kadram, koders sūta diferences D (4-1) bloks pēc bloka uztvērēja dekoderam.
Dekoders tās izmanto, lai rekonstruētu P kadru (4. kadru). Noslēpjot to atmiņā, dekoderam jau ir divi enkurkadri, kas atrodas tā atmiņā: I un P. Kā koders, tā dekoders izmanto šos kadrus, lai makrobloku līmenī no I un P kadru pikseļu sajaukuma aprēķinātu interpolēto prognozi 2. kadram. Atskaitot šo divvirzienu prognozi (B) no faktiskā 2. kadra, kas atrodas kodera pagaidu atmiņā, kodera izejā tiek iegūta diference D (2-B), t. i., patiesā otrā un prognozētā kadra diference.
Kļūdu, ko rada 4. kadra prognoze, vēl koriģē, sūtot detalizētu diferenci D (4-1), un tādējādi B kadra prognoze tiek uzlabota ar interpolāciju, t. i., diferences D (2-B) un D (3-B) tiek sūtītas B kadru makrobloku lielākajai daļai.
No 4. kadra (P kadra) tiek atkal prognozēti uz priekšu trīs kadri, izmantojot interpolāciju 5. un 6. kadra prognozei un prognozējot 7. kadru (P kadru). Mazmainīgai attēlu sērijai trīs P kadru prognozes ir tipiskas, līdz kamēr atkal I enkurkadrs tiek ievietots kadru secībā. Līdz ar to jauna attēla kadru grupa GOP uzņem startu. Pie lēni mainīgiem attēliem GOP parasti satur 12 kadrus.
Kustību kompensētā prognoze
Saprotams, ka prognozēs var ienest neprecizitātes objektu kustība, it īpaši, ja ar DPCM paņēmienu jāprognozē vairākus kadrus uz priekšu.
Lai to novērstu, lokālā dekodera prognozes bloks satur kadru atmiņu un procesorus, kas novērtē un analizē objektu kustību. Lai informāciju par kustību saistītu atsevišķi ar katru pikseli, vajadzētu milzīgus skaitļošanas resursus. Tas būtu pārāk dārgi un sarežģīti. Nedrīkst DTV uztvērēju pārvērst superdatorā! Izrādās, ka pietiek, ja informāciju par kustību saista ar 16x16 pikseļu makroblokiem, tiem piekārtojot t. s. kustību vektorus. Tie norāda, kur makrobloks atradies iepriekšējā kadrā. Kur tas atradīsies turpmāk, to aprēķina dekodera procesors, izmantojot kustības vektoru un analizējot iepriekšējā kadra saturu (6. zīm.).
Nedaudz par jēdzienu kustību kompensēts (motion compensated). Vispirms jādefinē optiskā plūduma ass. Tā ir taisne, uz kuras atrodas viens un tas pats kustīgā objekta punkts secīgo kadru virknē. Kustīgais objekts pret šo asi kļūst nekustīgs! Optiskā plūduma ass atrašana, ko veic kodera procesori, tad arī ir t. s. kustību novērtēšana (motion estimation). Ja aprēķini tiek veikti attiecībā pret optiskā plūduma asi, rezultātus dēvē par kustību kompensētiem.
B kadri uzskata, ka kustība no I līdz P kadram ir lineāra un kustības vektori tiek mērogoti proporcijās, kas atbilst B kadra izvietojumam IBBBP...vai IBBP... kadru secībā. Nākošie B kadri (5. un 6.) kustību kompensētām prognozēm kā enkurkadrus izmanto 4. un 7. kadru (P kadrus).
Kadru secība
I, P un B kadri koderā ienāk secībā, kas parādīta 7. zīm. Taču šī kadru secība tiek sajaukta, īslaicīgi tos saglabājot atmiņā. Tāpēc kadri atstāj jau citā virknējumā. Tā ir pārraides kadru secība, kas atbilst kadru apstrādes secībai dekoderā. Šādi izdodas samazināt nepieciešamo atmiņas ietilpību dekoderā. Dekoderā uz priekšu prognozētie P kadri tiek apstrādāti, pirms notiek divos virzienos prognozēto B kadru apstrāde (7. zīm.).
Kodēšanas redunance
Bez minētiem redunances veidiem vēl jāpiemin kodēšanas redunanci. Izkārtojot, ka varbūtīgākiem, biežākiem signāliem atbilst īsāki kodi, bet mazākvarbūtīgākiem, kas parādās retāk, atbilst garāki kodi, izdodas samazināt arī kodēšanas redunanci. Šim nolūkam izmanto Hafmana kodu. Kodēšanas redunances samazināšana notiek VLC un RLC blokos (6.zīm.).
Prognozes koders
Japāņu izgudrotā (sk. SP 1998/4 17. lpp.) prognozes kodera darbības principi skaidrojami ar kodera vienkāršotu blokshēmu (A zīm.). Prognozes koders pareģo videosignāla nolasē iegūto pikseļa vērtību, bāzējoties uz kodētā signāla iepriekšējo vēsturi, t. i., iepriekšējo kadru saturu. Tāpēc prognozes blokam ir atmiņa. Te svarīgas abas zīmējumā redzamās atgriezeniskās saites cilpas. Pirmā veic temporālo prognozi, kas balstās uz informāciju par iepriekšējo kadru pikseļiem (starpkadru prognoze), otrā realizē spatiālo prognozi, kas izmanto informāciju par pikseļu sakārtojumu šai pašā kadrā (iekškadra prognoze). Prognozes kļūda tiek salīdzināta abām cilpām, taču tikai 8x8 pikseļbloka līmenī. Tikai mazākais prognozes signāls tiek pārvadīts turpmākai apstrādei. šis triks, ko veic prognozes koders, iespējams tikai tāpēc, ka tā izgudrotāji līdztekus noteica arī cilvēka psihovizuālās uztveres īpatnības: ja kodera prognozes signāls ir ļoti liels (piemēram, brāzmaini straujas objekta kustības vai haotiski pārraidītas scēnas detaļas, strauji pārvietojot TV kameras redzes lauku), tad izrādās, ka skatītāja acs to nespēj pamanīt. Bet prognozes bloks pēc pārstūrēāanās tālāk darbojas normālā mazo signāla diferenču režīmā. Prognozes koders seviāķi efektīvi darbojas kombinācijā ar signāla transformācijas metodēm.
Videosignālu apstrādes hierarhija kompresijas procesā
Video secība (Video Sequence),
kura veido bitu video elementārplūsmu (ES). Video secība un turpmāk minētie elementi (GOP, kadrs, strēmele, makrobloks) ES tiek iezīmēti ar atbilstošām galvenēm (headers).
GOP (Group Of Pictures)
Attēlu, kadru grupa, kas sastāv no dažādiem kadriem. Kadru grupa veido I kadrs līdz nākošajam I kadram.
Kadrs (Picture)
Attēls (kadrs). Izšķir I, P un B kadrus, katru no tiem koders (dekoders) apstrādā citādi.
Strēmele, šķēle (Slice)
Attēla (kadra) strēmele 16 pikseļu platumā. Blakus makrobloku virkne kadra horizontālā virzienā. Strēmelē tiek uzdotas makrobloku adreses.
Makrobloks (Macroblock)
16x16 pikseļu bloks. 4:2:0 formātā makrobloku veido 4 spilgtuma signāla (Y) un tam piederošie 2 krāsu starpības (CR un CB) signālu bloki. Makrobloku kodē ar DCT/DPCM metodi, tam piekārtojot arī kustību vektorus. Ja makrobloks no kadra uz kadru neizmainās un to kustību vektors ir nulle, koders (dekoders) tā pikseļu apstrādi neveic. Tas ir fiksētais makrobloks.
Bloks (Block)
8x8 pikseļu bloks. Bloks ir DCT/DPCM apstrādes vienība, taču apstrāde tiek veikta līdz pikseļu līmenim.
Pikselis (Pixel)
Jaunvārds no angļu picture un element kombinācijas. TV vai datora attēla (kadra) vismazākais elements jeb punkts. Videosignāla (spilgtuma Y un krāsu starpību CR un CB signālu) vismazākā proporcija. DCT transformācijas procesā atbilst DCT koeficientam.
Arnolds VĪTOLS,
ekskluzīvi Sakaru Pasaulei
Informācijas avots:
1. Rohde & Schwarz Training Center, TR212-9 V2.10E.