Discrete Cosine Transform ( DCT ) är en av de ortogonala transformationerna . En variant av cosinustransformen för en vektor av reella tal. Används i förlustkompressionsalgoritmer som MPEG och JPEG . Denna transformation är nära relaterad till den diskreta Fouriertransformen och är en homomorfism av dess vektorrum.
Denna transformation är linjär , så dess resultat kan beräknas genom att multiplicera transformationsmatrisen och vektorn. DCT-matrisen är ortogonal (inversen av matrisen är lika med den transponerade), så den inversa transformationen beräknas genom att multiplicera den transponerade DCT-matrisen med en vektor. I praktiken används en variant av DCT med en matris proportionell mot den ortogonala (erhållen från den ortogonala genom att multiplicera med en konstant).
Olika periodiska signalfortsättningar leder till olika typer av DCT. Nedan är matriserna för de första fyra typerna av DCT:
Det finns oftast i praktiska tillämpningar på grund av egenskapen "energikomprimering".
för en vektor med 8 tal kallas ofta . Den vanligaste tvådimensionella transformationen för 8x8 matriser består av en sekvens först för varje rad och sedan för varje kolumn i matrisen.
Det finns snabbtransformeringsalgoritmer som liknar Fast Fourier Transform -algoritmen . För andra varianter med en fast dimension på vektorn finns det även algoritmer som gör att du kan reducera antalet multiplikationsoperationer till ett minimum.
Det finns analoger som approximerar cosinus med tal som enkelt erhålls genom ett litet antal skift- och additionsoperationer, vilket undviker multiplikationsoperationer och därmed ökar beräkningshastigheten.
_ | Kompressionsmetoder|||||||
---|---|---|---|---|---|---|---|
Teori |
| ||||||
Förlust mindre |
| ||||||
Audio |
| ||||||
Bilder |
| ||||||
Video |
|