Mjukvarurealiserad bildtelefoni - Umeå universitet
Mjukvarurealiserad bildtelefoni - Umeå universitet
Mjukvarurealiserad bildtelefoni - Umeå universitet
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Trunkering efter varians<br />
Trunkering efter varians (som även kallas zonal coding) innebär att ett fixt antal transformkoefficienter<br />
väljs för användning och övriga förkastas. Det som skiljer variansmetoden från<br />
magnitudmetoden är att här väljes vilka som skall sparas efter förväntade värden (signalens<br />
varians) och inte efter de faktiska värdena på transformkoefficienterna. Med denna ansats ges stora<br />
möjligheter till optimeringar – är det i förväg känt vilka koefficienter som kommer att användas så<br />
behöver ju endast dessa beräknas! Detta möjliggörs av att transformkoefficienterna endast är<br />
beroende av indata samt parametrar och inte av varandra. I den tvådimensionella transformen<br />
kommer de låga frekvenserna (vilka motsvarar långsamma förändringar i bilden vilka människor<br />
lättare kan uppfatta) att samlas mot den övre vänstra halvan i transformsspektrat. På grund av detta<br />
väljs vanligen väljs den zon av koefficienter i blocket som skall beräknas efter ett zick–zack<br />
mönster som går från den övre vänstra delen av transformspektrat mot det nedre högra. På samma<br />
vis samlas de höga frekvenserna (vilka motsvarar snabba förändringar i bilden) i transformspektrat<br />
mot det nedre högra hörnet. Som kuriosa kan även nämnas att vissa typer av fel och störningar i<br />
bilder, t.ex. extremvärdesfel orsakade av hårdvaruproblem eller fysiska störningar i överföring av<br />
signaler, ofta representeras av mycket höga frekvenser i frekvensspektrat och då dessa väljs bort i<br />
trunkeringen så agerar kompressionensystemet som ett lågpassfilter som tar bort dessa störningar.<br />
Det optimala viset för att konstruera zonfiltret (som skall avgöra vilka koefficienter som skall<br />
beräknas och sparas) är som tidigare statistiska studier av målgruppen och representativt indata.<br />
33 −4<br />
−9<br />
6 33 −4<br />
2<br />
9<br />
− 6<br />
1<br />
3<br />
4<br />
− 7<br />
2<br />
−1<br />
2<br />
1<br />
5<br />
⇒<br />
Figur 7. Trunkering efter varians av en godtycklig 4 · 4 matris,<br />
25 procent (4 av 16) transformkoefficienter sparas<br />
Ett populärt argument för varianstrunkering är att människans ögon är konstruerade för att bättre<br />
uppfatta bilder med långsamma förändringar, varför det mesta av bildinformationen vi kan<br />
tillgodogöra oss kommer att representeras av transformkoefficienter med låga frekvenser. Snabba<br />
förändringar inom bilder (speciellt rörliga sådana) kan vara viktiga men också upplevas störande,<br />
speciellt då de utgörs av bildfel. Nackdelen med varianstrunkering är uppenbar – det är på inga vis<br />
garanterat att de transformkoefficienter som innehåller de för bildupplevelsen viktigaste bilddata<br />
kommer att beräknas. Vanliga fel som uppstår är att skarpa konturer och kontraster inom block<br />
”suddas ut” och blir ofokuserade eftersom den bildinformation som innehåller dem (transformkoefficienterna<br />
för de höga frekvenserna) förkastats. Förlusten av kontraster i bilden är extra<br />
kännbar eftersom dessa kan motverka upplevelsen av de tidigare nämna blockningsartefakterna.<br />
Trunkering efter varians största förtjänst ligger dock i dess optimeringsmöjligheter – är det i<br />
förväg känt vilka transformkoefficienter som kommer att förkastas behöver dessa inte beräknas!<br />
Genom att kombinera trunkering efter varians med trunkering efter magnitud är det även möjligt<br />
att få ett system som ger en avvägning mellan beräkningsintensitet och kvalitet.<br />
Tröskeltrunkering<br />
I Tröskeltrunkering (threshold coding) görs en avvägning som erbjuder en större grad av<br />
noggrannhet än variansmetoden men ändå inte introducerar riktigt lika mycket beräkningar som<br />
40<br />
2<br />
9<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0