180 likes | 378 Views
1536. 2048. Digitale foto. 4 Megapixel. à 3 bytes = 12 Megabyte. gecomprimeerd tot 600 kB = 5% van 12 MB. Geheugenkaarten. capaciteit: 1 foto 20 foto’s. 20 foto’s 400 foto’s. Compressie. Minder dan 2048*1536 pixels downsampling
E N D
1536 2048 Digitale foto 4 Megapixel à 3 bytes= 12 Megabyte
gecomprimeerdtot 600 kB= 5% van 12 MB Geheugenkaarten capaciteit: 1 foto 20 foto’s 20 foto’s 400 foto’s
Compressie • Minder dan 2048*1536 pixelsdownsampling • Minder dan 3*8 bits per pixelreduce colordepth
Downsampling 4 beeldpuntensamengenomencompressie tot 25%
3*8 bits per pixel 3*3 bits per pixelcompressie tot 37% Reduce colordepth
Kleur-kanalen YCbCr Y = 0.3R + 0.6G + 0.1B Cb = BY = 0.3R 0.6G + 0.9B Cr = RY = 0.7R 0.6G 0.1B
Kleur-kanalen YCbCr Y niet, Cr en Cb wel downsamplencompressie tot (100+25+25)/3 = 50%
wit grijs zwart Kleur-intensiteit X-as: Plaats in de foto Y-as: Grijswaarde
“Cosinus-transformatie” Zoek een combinatievan cosinussendie precies door de“meetpunten” loopt. f(x) = A * cos(0x) + B * cos(1x) + C * cos(2x) … + H * cos(7x)
“Cosinus-transformatie” f(x) = A * cos(0x) + B * cos(1x) + C * cos(2x) … + H * cos(7x) In plaats van de 8 meetwaardesbewaren we amplitudes A, B, C, … H Nog steeds 8 getallen, dus nog geen compressie…
f(x) = A * cos(0x) + B * cos(1x) + C * cos(2x) … + H * cos(7x) Eigenschap van foto’s • Veel geleidelijk verloop,weinig scherpe randen • Cosinussen met hogere frequentiesminder belangrijk Daarvoor gebruikenwe minder bits!
waarde #bits ook slim opslaan -87 102 -302 106 -38 8 23 12 -51 -31 -43 70 -13 13 2 enz. 7 7 9 7 6 4 5 4 6 5 6 7 4 4 2 enz. 0111 0111 1001 0111 0110 0100 0101 0100 0110 0101 0110 0111 0100 0100 0010 enz. 01 01 1111 01 10 00 110 00 10 110 10 01 00 00 1110 0101001 1100110 011010010 1101010 011010 1000 10111 1100 001101 00001 010101 1000110 0011 1101 10 enz. Experimentje Huffman-code
waarde #bits Huf opslaan 21 0 0 0 14 5 0 0 enz. 5 0 0 0 4 3 0 0 enz. 110 10 10 10 001 0010 10 10 10101 1110 101 enz. Het onderste uit de kan:Run-length encoding
waarde #bits #nul Huf opslaan 21 0 0 0 14 5 0 0 enz. 5 4 3 enz. 3 0 2 enz. 1101 110 01 10101 1110 101 enz. Het onderste uit de kan:Run-length encoding Huffman-codevoor de combinatie(#bits,#nul)
“onzichtbaar” verlies “onzichtbaar” verlies JPEG-codering • Transformatie RGB YCrCb • 4:1 Downsampling van Cr en Cb • DCT-transformatie • Minder bits voor hoge frequenties • Run-length encoding voor nullen • Huffman-codering voor (#bits,#nul)
Digitale foto 4 Megapixel à 3 bytes= 12 Megabyte Gecomprimeerd600 kilobyte