Mjukvarurealiserad bildtelefoni - Umeå universitet
Mjukvarurealiserad bildtelefoni - Umeå universitet
Mjukvarurealiserad bildtelefoni - Umeå universitet
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
transformen till att beräknas som en sekvens av beräkningar av den endimensionella transformen<br />
(vilken i sig går att rulla ut, alternativt optimeras hårdvarunära). De transformkoefficienter som<br />
DCT resulterar i är spatiellt ordnade i ett tvådimensionellt block, med låga frekvenser centrerade<br />
mot det övre vänstra hörnet och de höga mot det nedre högra hörnet av transformspektrat. Den<br />
första (översta vänstra) transformkoefficienten har oftast ett större värde än de övriga och kallas av<br />
den anledningen ibland likströmskomponenten efter hur växelströmmar representeras på oscilloskop.<br />
De övriga transformkoefficienterna har positiva eller negativa värden vilket motsvarar att<br />
dess motsvarande sinusoid skall adderas till eller dras från den första.<br />
Normalisering av transformkoefficienterna<br />
Vid kompression av bilder genom trunkering av transformkoefficienter dyker det upp ett svårt val<br />
mellan motstridiga intressen. För kvalitetens skull är det önskvärt att behålla så många transformkoefficienter<br />
som möjligt men samtidigt för kompressionsgradens skull för bör så många som<br />
möjligt förkastas. Den lämpliga kompromissen här är att behålla de som är viktigast för slutanvändarens<br />
uppfattning av bilden, varför det är lämpligt att börja i den änden – genom att<br />
bestämma vilka de är samt hur de skall lokaliseras. Är slutanvändaren en industrirobot som inte<br />
klarar av att uppfatta förändringar över en viss frekvens görs detta enkelt men då slutanvändaren är<br />
en människa blir uppgiften betydligt svårare. I avsaknaden av matematiska formler eller uttryck<br />
som med tillförlitlighet kan avgöra till vilken noggrannhet en människa kan uppfatta specifika<br />
delar av en signal (vilket även är något som varierar stort från individ till individ) så är det bästa<br />
tillgängliga verktyget statistiska studier av slutanvändargruppen. En vanlig metod för att få data<br />
om hur olika bilder uppfattas av människor är att ta en referensgrupp människor (som är jämnt<br />
fördelad över kön, ålder och andra fysiska faktorer) och visa dem ett urval av bilder där olika typer<br />
av störningar av olika storlek introducerats och låta dem själva avgöra vilken bild som de uppfattar<br />
som tydligast. På detta vis kan exempelvis en uppfattning om huruvida suddighet uppfattas mer<br />
störande än grynighet i en bild bildas. Nackdelen med att använda statistiska metoder som denna<br />
är att det är tidsödande samt att resultaten kan vara mycket svårtolkade. Ett känt exempel på dylikt<br />
arbete som genomförts är de normaliseringsmatriser som JPEG konsortiet tagit fram inom JPEG<br />
standarden för kompression av stillbilder.<br />
När väl en uppfattning om vilken typ av fel som finns i systemet bildats är det möjligt att vikta de<br />
beräknade transformkoefficienterna före de trunkeras efter de egenskaper de förväntas ha. Denna<br />
process kallas normalisering och kan användas utan att introducera en alltför hög beräkningskomplexitet<br />
(eller implementationskomplexitet för den delen). Exempelvis är det möjligt att skala<br />
ner transformkoefficienter som bedöms generellt oviktiga för bildkvalitet så att de sällan tar sig<br />
genom trunkeringen. En annan möjlighet är att skala ner koefficienter som ofta har höga värden så<br />
att de är värdemässigt bättre anpassade för den kommande kvantifieringen för huffmankodning,<br />
detta då för att reducera storleken på huffmankodningens uppslagstabell.<br />
Detta steg implementeras enklast genom att multiplicera koefficientblocket med en viktningsmatris<br />
innan trunkeringen och på motsvarande vis multiplicerar med inversen av den matrisen i<br />
slutet av dekomprimeringsfasen. Notera att en stor del av blocket i dekomprimeringsfasen kommer<br />
att innehålla nollor varför en optimeringsvinst går att göra i implementationen genom hårdkodning<br />
och utrullning av den matrismultiplikationen. Om variansmetoden använts i trunkeringen gäller<br />
detta även i komprimeringsfasens skede.<br />
38