JPEG | bestandsformaat dat wordt gebruikt om digitale beelden te comprimeren
In de informatica is het JPEG-bestandsformaat een bestandsformaat dat wordt gebruikt om digitale beelden te comprimeren. De mate van compressie kan worden aangepast aan de gewenste kwaliteit. Als een beeld van hoge kwaliteit is, neemt het een grote hoeveelheid opslagruimte in beslag. Bij een lage kwaliteit wordt een kleine hoeveelheid opslagruimte gebruikt. Het JPEG-bestandsformaat wordt vaak aangetroffen op het World Wide Web. Het woord JPEG staat voor de Joint Photographic Experts Group, die het formaat heeft gecreëerd. JPEG-bestandsextensies zijn onder andere .jpg
, .jpeg
en .jpe.
![Een foto van een wilde kat met afnemende compressie van links naar rechts](https://alegsaonline.com/image/Felis_silvestris_silvestris_small_gradual_decrease_of_quality.png)
![Zoom](https://www.alegsaonline.com/zoom.png)
Een foto van een wilde kat met afnemende compressie van links naar rechts
Hoe het werkt
YPb Pr
Het eerste wat opvalt aan JPEG-compressie is de manier waarop de kleur van elke pixel wordt opgeslagen. Elke pixel van de afbeelding krijgt 3 bytes toegewezen om zijn kleur te definiëren. Alle drie de bytes kunnen elke waarde hebben van 0 tot 255 en elke mogelijke combinatie van de drie bytes staat voor een andere kleur. In de meeste bestandsformaten wordt het RGB-formaat gebruikt om de kleur te definiëren. RGB staat voor Rood Groen Blauw. Het wordt zo genoemd omdat de eerste van de drie bytes aangeeft hoeveel rood er in de kleur van de pixel zit. De tweede byte vertelt u hoeveel groen er in de kleur zit en de derde byte hoeveel blauw. Hoe hoger de waarde van de eerste byte, hoe roder de pixel eruitziet.
JPEG gebruikt ook drie bytes voor elke pixel, maar gebruikt het YPb Pr (ook bekend als YCb Cr ) formaat. Hier vertelt de eerste byte ons hoe helder de pixel is. De tweede byte vertelt ons hoe blauw de pixel is. De derde byte vertelt ons hoe rood de pixel is. In dit kleurenformaat wordt de helderheid apart van de kleur opgeslagen. Dit is nuttig omdat wij een afbeelding gaan comprimeren. Omdat het menselijk oog helderheid beter ziet dan kleur, kunnen wij de kleurenbytes (de Pb -byte en de Pr -byte) sterker comprimeren. Omdat wij helderheid beter zien, passen wij minder compressie toe op de Y-byte, zodat de afbeelding er na compressie beter uitziet.
Omdat afbeeldingen meestal worden opgeslagen in RGB-formaat, is de eerste stap van JPEG-compressie meestal het correct wijzigen van het RGB-formaat in het YPb Pr formaat.
Discrete cosinus transformatie
JPEG gebruikt cosinusfuncties om een afbeelding weer te geven. Daarom gaan we een beetje praten over cosinusfuncties. Zo zou een cosinusfunctie eruit kunnen zien:
Om de cosinusfunctie de kleur van een pixel te laten weergeven, zeggen wij dat hoe hoger de waarde van de cosinusfunctie, hoe helderder de pixel. Als we een reeks pixels hadden die helder-donker-helder waren, zouden we de bovenstaande functie kunnen gebruiken om ze te definiëren.
De functie zou ook een hogere frequentie kunnen hebben. Zoals dit:
Maar hier wordt het interessant. Wij kunnen ook verschillende functies creëren door het gemiddelde te nemen van verschillende cosinusfuncties. Hier ziet het eruit als we het gemiddelde nemen van de twee bovenstaande functies:
In JPEG wordt DCT toegepast op blokken van 8 × 8 pixels.
Kwantificering
Tot nu toe is er geen informatie verloren gegaan bij het comprimeren van de afbeelding. In deze stap wordt informatie weggefilterd. Daarom is dit de stap die de kwaliteit van het beeld verlaagt. Voor elk blok van 8 × 8 pixels worden de cosinusfuncties met hoge frequenties op 0 gezet. Dit betekent dat deze geen invloed meer kunnen hebben op hoe de afbeelding eruit ziet wanneer u deze decomprimeert.
Veel waarden zullen nu 0 zijn, wat betekent dat dit heel gemakkelijk kan worden gecomprimeerd. Dit gebeurt met behulp van Huffman-codering. Huffman-codering is de laatste stap van JPEG-compressie. Het is ook de enige stap waarin de gegevens daadwerkelijk worden gecomprimeerd.
![Zoom](https://www.alegsaonline.com/zoom.png)
(cos(x) + cos(2x)) / 2
![Zoom](https://www.alegsaonline.com/zoom.png)
cos(x)
![Zoom](https://www.alegsaonline.com/zoom.png)
cos(2x)
Structuur
Als computerbestand bestaat een JPEG-bestand uit meerdere bytes. Eén byte kan er in hexadecimale vorm uitzien als 0x01. De allereerste bytes van een JPEG zijn 0xFF, 0xD8 ("FF D8"); deze bytes worden Start Of Image (SOI) genoemd. De eerste sectie van bytes in een JPEG is de header; deze loopt van FF D8 tot vlak voor de laatste 0xFF, 0xDA ("FF DA") bytes. De header bevat gegevens over de gegevens en andere nuttige gegevens. De volgende sectie van bytes in een JPEG is de beeldinformatie; deze loopt van FF DA tot 0xFF, 0xD9 ("FF D9"). De FF DA-bytes heten Start Of Scan (SOS), en de FF D9-bytes heten End Of Image (EOI).
Vragen en antwoorden
V: Wat is het JPEG-bestandsformaat?
A: Het JPEG-bestandsformaat is een bestandsformaat dat wordt gebruikt om digitale beelden te comprimeren.
V: Hoe kan de mate van compressie worden veranderd?
A: De mate van compressie kan worden gewijzigd, afhankelijk van de gewenste kwaliteit.
V: Wat gebeurt er als een afbeelding een hoge kwaliteit heeft?
A: Als een beeld van hoge kwaliteit is, zal het veel opslagruimte in beslag nemen.
V: Waar komt het JPEG-bestandsformaat vaak voor?
A: Het JPEG bestandsformaat komt vaak voor op het World Wide Web.
V: Waar staat het woord "JPEG" voor?
A: Het woord "JPEG" staat voor Joint Photographic Experts Group, die het formaat heeft gecreëerd.
V: Wat zijn enkele veel voorkomende extensies voor JPEG-bestanden?
A: Gebruikelijke extensies voor JPEG-bestanden zijn onder andere .jpg, .jpeg en .jpe.