Diskreetne koosinusteisendus

Allikas: Vikipeedia

Diskreetne koosinusteisendus (DKT) on Fourier' teisendusega seotud lineaarteisendus. DKT väljendab lõplikku andmepunktide jada eri sagedustel võnkuvate koosinusfunktsioonide summana.[1] Enim leiab DKT kasutust signaalitöötluses ja andmete pakkimises. Seda kasutatakse enamikus digitaalmeediumites, sealhulgas digitaalsetes piltides (nt. JPEG mille puhul väiksed kõrge sagedusega komponendid võib kõrvale jätta), digitaalvideotes (nt. MPEG ja H.264/MPEG-4 AVC) ja digitaalses helis (nt MP3, Opus ja AAC). DKT-d saab rakendada ka paljudes teistes teaduse ja inseneeria valdkondades, sealhulgas digitaalses signaalitöötluses ja telekommunikatsioonis.[2]

Ajalugu[muuda | muuda lähteteksti]

Nasir Ahmed pakkus esimesena välja diskreetse koosinusteisenduse. Ahmed uuris andmete pakkimisega seotud Kosambi-Karhuneni-Loève'i teoreemi ning üritas leida efektiivset algoritmi selle arvutamiseks. 1972. aastal saatis Ahmed Ameerika Ühendriikide Teadusfondile (National Science Foundation) ettepaneku uurida koosinusteisendust kasutades Tšebõševi polünoome, kuna ettepanekus mainitud koosinusfunktsioonid sarnanesid Kosambi-Karhuneni-Loève'i teoreemi põhifunktsioonidega.[3] Koos oma sõbra Kamisetty Ramamohan Rao ja doktorant T. Natarajaniga avaldas Ahmed 1974. aastal teadusartikli, kus oli kirjeldatud diskreetse koosinusteisenduse rakendamist digitaalsete fotode pakkimisel[4].

Sissejuhatus[muuda | muuda lähteteksti]

Sarnaselt teistele Fourier'ga seotud teisendustel väljendab diskreetne koosinusteisendus mingit signaali eri sageduste ja magnituudidega sinusoidide summana. Nagu diskreetne Fourier' teisendus (DFT), opereerib DKT diskreetsete andmepunktide peal. DFT kasutab siinus- ja koosinusfunktsioone, kuid DKT kasutab ainult koosinusfunktsioone. Antud erinevus tuleneb sellest, et DKT viitab teistele piirtingimustele. Teisisõnu opereerib DFT kompleksarvudega ning DKT ainult reaalarvudega.[5]

Kasutusalad[muuda | muuda lähteteksti]

DKT on signaalitöötluses enim kasutatud teisendustehnika[6] ja kõige laialdasemalt kasutatav lineaarteisendus andmete pakkimises[2].

Andmete pakkimine[muuda | muuda lähteteksti]

Enne DKT kasutusele võtmist nõudsid digitaalsel kujul hoitavad andmed ebapraktiliselt suurt mäluruumi ning neil oli väike ülekandekiirus. DKT vähendas tohutult eelmainitud probleeme kasutades kadudega pakkimist – andmepakkimissuhteks stuudiokvaliteedi lähedase sisu jaoks saavutati 8:1 kuni 14:1 ja 100:1 aktsepteeritava kvaliteedi jaoks.[7]

DKT sarnaneb diskreetse Fourier' teisendusega, kuid opereerib ainult reaalarvudega. Koosinusfunktsioonide kasutus siinusfunktsioonide asemel on tähtis andmete pakkimisel, kuna üldjuhul on vaja vähem koosinusfunktsioonil põhinevaid komponente, et tüüpilist signaali ligilähedaselt jäljendada[5].

JPEG[muuda | muuda lähteteksti]

Kahedimensionaalse diskreetse koosinusteisenduse sagedused, mida kasutatakse JPEG-pakkimisel

JPEG on üks levinumaid näiteid diskreetse koosinusteisenduse kasutamisest tänapäeval. Lihtne JPEG-faili kodeerimisprotsess on toodud järgnevalt:

  1. RGB andmed teisendatakse YUV värvimudeli järgi.
  2. Värvi kirjeldavate andmete lahutusvõime vähendatakse, tihti 2 kuni 3 korda kuna inimsilm on tundlikum heleduse intensiivsusele kui värvi intensiivsusele.
  3. Pilt jaotatakse 8x8 pikslitest koosnevatest plokkideks. Iga ploki puhul rakendatakse igal värvikanalil diskreetset koosinusteisendust.
  4. Sageduskomponentide amplituudid kvantiseeritakse. Kõrgema sagedusega komponentide magnituudid jäädvustatakse väiksema täpsusega kui madala sagedusega komponentide omad. Kodeerimisalgoritmi kvaliteedi säte määrab, kui drastiliselt andmeid vähendatakse.
  5. Saadud andmed iga ploki kohta pakitakse ilma kadudeta kasutades Huffmani kodeerimisele sarnast algoritmi.

Dekodeerimine teeb kõik sammud tagurpidi, välja arvatud kvantiseerimise protsess, kuna seda ei ole võimalik teha (JPEG on kadudega pakkimine).[8]

Vaata ka[muuda | muuda lähteteksti]

Viited[muuda | muuda lähteteksti]

  1. D. Marshall. "The Discrete Cosine Transform (DCT)". Cardiff University. Vaadatud 16. aprill 2022.
  2. 2,0 2,1 W. K. Chen (2004). The Electrical Engineering Handbook. Elsevier. Lk 906. ISBN 9780080477480. Vaadatud 16. aprill 2022.
  3. N. Ahmed. "How I Came Up with the Discrete Cosine Transform" (PDF). University of New Mexico, Electrical and Computer Engineering Department. Vaadatud 17. aprill 2022.
  4. N. Ahmed; T. Natarajan; K. R. Rao. "Discrete Cosine Transform" (PDF). IEEE Computer Society. Originaali (PDF) arhiivikoopia seisuga 8. detsember 2016. Vaadatud 17. aprill 2022.
  5. 5,0 5,1 Rosa A. Asmara; Reza Agustina; Hidayatulloh. "Comparison of Discrete Cosine Transforms (DCT), Discrete Fourier Transforms (DFT), and Discrete Wavelet Transforms (DWT) in Digital Image Watermarking" (PDF). nternational Journal of Advanced Computer Science and Applications. Vaadatud 17. aprill 2022.
  6. D. Muchahary; A. J. Mondal; R. S. Parmar; A. D. Borah; A. Majumder (2015). "A Simplified Design Approach for Efficient Computation of DCT". 2015 Fifth International Conference on Communication Systems and Network Technologies: 483–487. DOI:10.1109/CSNT.2015.134. ISBN 978-1-4799-1797-6. S2CID 16411333.
  7. M. Hofmann; H. Hofmann; N. D. Wells (14. november 1991). "DCT source coding and current implementations for HDTV". EBU Technical Review. Euroopa Ringhäälingute Liit (251): 22–33. Vaadatud 16. aprill 2022.
  8. Technote. "How does the JPEG compression work?". Image Engineering. Vaadatud 17. aprill 2022.

Välislingid[muuda | muuda lähteteksti]