22.08.2013 Views

Mjukvarurealiserad bildtelefoni - Umeå universitet

Mjukvarurealiserad bildtelefoni - Umeå universitet

Mjukvarurealiserad bildtelefoni - Umeå universitet

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!