interesting crossing of the streams in my YouTube suggestions, an F1 content producer investigating the compression artifacts on a video uploaded to YouTube 200 times.
interesting crossing of the streams in my YouTube suggestions, an F1 content producer investigating the compression artifacts on a video uploaded to YouTube 200 times.
@HannahCelsius : wat een aso.
Iets heel anders: je kunt klimaatverandering ietsiepietsie tegengaan (en ervoor zorgen dat er niet snel schijfuitbreiding nodig is op allerlei Mastodon-servers) door foto's die je uploadt, vooraf, "kleiner" (in bytes) te maken.
Onder Windows gebruik ik daar IrfanView voor (waar ik voor gedoneerd heb), maar er bestaan veel vergelijkbare tools.
In Irfanview is "batch conversion" wat uitzoekwerk (maar zeer krachtig). Indien je de resolutie van digitale foto's horizontaal en verticaal naar 50% brengt, en de JPEG/JPG kwaliteit verlaagt naar bijv. 85%, zie je als mens (in elk geval op een smartphone) nauwelijks verschil met het origineel, maar neemt zo'n foto aanzienlijk minder schijfruimte (en netwerkbandbreedte) in beslag.
Recentelijk heb ik, op m'n Android smartphone, de app Snapseed () geïnstalleerd - waarmee je foto's ook -in bytes- kleiner kunt exporteren.
Tips m.b.t. bestandstypes en -groottes:
• Voor foto's, maar ook andere plaatjes met zeer veel verschillende tinten, gebruik je bij voorkeur JPG (ook bekend als JPEG).
• Voor plaatjes met daarin maximaal 256 verschillende tinten kun je GIF of PNG gebruiken. Voor foto's is GIF ongeschikt (door die max. 256 verschillende tinten in één beeld) en PNG maakt foto's vaak bizar groot (in bytes).
• Voor schermafbeeldingen (screenshots), tenzij er een foto als achtergrond te zien is, is PNG vaak het beste.
Nb. JPG gebruikt de vaak zeer efficiënte "lossy" compressie (sjoemelsoftware ;-) waarbij minder belangrijke beeldinformatie slim wordt verwijderd. Bij scherpe kleur-overgangen leidt dit wél vaak tot "artefacten", een soort beeldruis. Daarom kun je beter géén JPG gebruiken voor pagina's met contrasterende tekst en/of lijntekeningen.
GIF en PNG gebruiken "lossless" (verliesvrije) compressie, maar hoe meer verschillende tinten er in één beeld zitten, hoe ineffectiever die compressie wordt (anderzijds, bijv. een twee keer zo groot -in pixels- vlak, van exact één kleur, kost maar een paar bytes extra).
BMP gebruikt standaard géén compressie waardoor bestanden enorm groot kunnen worden. In plaats van BMP kun je altijd beter van PNG gebruik maken.
Erg technisch: GIF gebruikt altijd een "palet" van maximaal 256 tinten (minder mag ook, bijv 2). Dat palet bevat dus maximaal 256 verschillende RGB (Rood, Groen, Blauw) waardes, elk 0..255. Een RGB waarde van 255,255,255 geeft, dankzij additieve kleurmenging, wit. Voor elke pixel in het beeld wordt een *index* in het palet opgeslagen. Dus als de eerste waarde in het palet 0,255,255 is, en de waarde van de eerste pixel 0 is (net als bij telefoondraaischijven beginnen nerds met 0 te tellen en niet met 1 - zoals onze jaartelling), zal de pixel linksboven als geel op een scherm worden afgebeeld.
We use the Fast Fourier Transform (#FFT) #algorithm to do #LossyCompression for things like images (e.g. jpeg). Most of the information is dropped and only the most important information is retained, which when reversed provides a noisy but recognisable version of the original image.
If this happens with a simple matrix of multi-dimensional vectors (e.g. a bitmap) could it not also be done with word embeddings like #word2vec to perform lossy compression on text? Is this a thing?