JPEG | filformat, der bruges til at komprimere digitale billeder
Inden for databehandling er JPEG-filformatet et filformat, der bruges til at komprimere digitale billeder. Komprimeringsgraden kan ændres afhængigt af den ønskede kvalitet. Hvis et billede er af høj kvalitet, vil det optage en stor mængde lagerplads. Hvis det er af lav kvalitet, vil det fylde en lille mængde lagerplads. JPEG-filformatet er almindeligt forekommende på World Wide Web. Ordet JPEG er en forkortelse for Joint Photographic Experts Group, som har skabt formatet. JPEG-filudvidelserne omfatter .jpg
, .jpeg
, .jpe
og andre.
Et fotografi af en vildkat med faldende kompression fra venstre til højre
Sådan fungerer det
YP Pbr
Den første bemærkelsesværdige ting ved JPEG-komprimering er den måde, hvorpå farven på hver enkelt pixel gemmes. Hver pixel i billedet får tildelt 3 bytes til at definere sin farve. Alle tre bytes kan have en værdi fra 0 til 255, og alle mulige kombinationer af de tre bytes står for en anden farve. I de fleste filformater anvendes RGB-formatet til at definere farven. RGB står for rød, grøn, blå. Det hedder sådan, fordi den første af de tre bytes fortæller dig, hvor meget rødt der er i pixelens farve. Den anden byte fortæller dig, hvor meget grøn der er i farven, og den tredje byte fortæller dig, hvor meget blå der er i farven. Jo højere værdi den første byte har, jo mere rød ser pixelen ud.
JPEG bruger også tre bytes for hver pixel, men det bruger YP Pbr (også kendt som YC Cbr ) formatet. Her fortæller den første byte os, hvor lysstærk pixelen er. Den anden byte fortæller os, hvor blå pixelen er. Den tredje byte fortæller os, hvor rød pixelen er. Ved brug af dette farveformat lagres lysstyrken separat fra farven. Dette er nyttigt, fordi vi skal komprimere et billede. Da det menneskelige øje er bedre til at se lysstyrke end farve, kan vi anvende en større komprimering på farvebytes (Pb -byte og Pr -byte). Da vi ser lysstyrke bedre, anvender vi mindre komprimering på Y-byte, så billedet ser bedre ud efter komprimering.
Da billeder oftest er gemt i RGB-format, er det første trin i JPEG-komprimering normalt at ændre RGB-formatet korrekt til YP Pbr formatet.
Diskret cosinus-transformation
JPEG bruger cosinusfunktioner til at repræsentere et billede. Derfor vil vi tale lidt om cosinusfunktioner. Sådan kan en cosinusfunktion se ud:
For at få cosinusfunktionen til at repræsentere farven på en pixel siger vi, at jo højere værdien af cosinusfunktionen er, jo lysere er pixelen. Hvis vi havde et sæt pixels, der gik lys-mørk-hvid, kunne vi bruge ovenstående funktion til at definere dem.
Funktionen kan også have en højere frekvens. Som dette:
Men det er her, det bliver interessant. Vi kan også skabe forskellige funktioner ved at tage gennemsnittet af forskellige cosinusfunktioner. Her er, hvordan det ville se ud, hvis vi tog gennemsnittet af de to ovenstående funktioner:
I JPEG anvendes DCT på blokke på 8 × 8 pixels.
Kvantisering
Indtil videre er der ikke gået nogen oplysninger tabt i forbindelse med komprimeringen af billedet. I dette trin filtrerer vi oplysninger fra. Derfor er dette det trin, der sænker billedets kvalitet. For hver blok på 8 × 8 pixels sættes cosinusfunktionerne med høje frekvenser til 0. Det betyder, at disse ikke længere kan have nogen indflydelse på, hvordan billedet ser ud, når du dekomprimerer det.
Mange værdier vil nu være 0, hvilket betyder, at det er meget nemt at komprimere. Dette gøres ved hjælp af Huffman-kodning. Huffman-kodning er det sidste trin i JPEG-komprimeringen. Det er også det eneste trin, hvor dataene rent faktisk komprimeres.
(cos(x) + cos(2x)) / 2
cos(x)
cos(2x)
Struktur
En JPEG-fil er en computerfil og består af flere bytes. En byte i hexadecimalt format kan se ud som 0x01. De allerførste bytes i en JPEG-fil er 0xFF, 0xD8 ("FF D8"); disse bytes kaldes Start Of Image (SOI). Den første sektion af bytes i et JPEG er headeren; denne er fra FF D8 til lige før de sidste 0xFF, 0xDA ("FF DA") bytes. Overskriften indeholder data om dataene og andre nyttige data. Den næste sektion af bytes i et JPEG er billeddataene; denne sektion er fra FF DA til 0xFF, 0xD9 ("FF D9"). FF DA-bytes hedder SOS (Start Of Scan), og FF D9-bytes hedder EOI (End Of Image).
Spørgsmål og svar
Spørgsmål: Hvad er JPEG-filformatet?
A: JPEG-filformatet er et filformat, som bruges til at komprimere digitale billeder.
Q: Hvordan kan komprimeringsgraden ændres?
A: Komprimeringsgraden kan ændres afhængigt af den ønskede kvalitet.
Q: Hvad sker der, hvis et billede har høj kvalitet?
Svar: Hvis et billede har høj kvalitet, vil det optage en stor mængde lagerplads.
Q: Hvor findes JPEG-filformatet almindeligvis?
A: JPEG-filformatet er almindeligt forekommende på World Wide Web.
Spørgsmål: Hvad står ordet "JPEG" for?
A: Ordet "JPEG" står for Joint Photographic Experts Group, som har skabt formatet.
Sp: Hvad er nogle almindelige udvidelser til JPEG-filer?
Svar: De almindelige filtypenavne for JPEG-filer er bl.a. .jpg, .jpeg og .jpe.