From: Dik T. Winter Femme Verbeek schreef:
....
Het gaat bij de eerste stap direct al mis.
Allereerst wil hij alle mogelijk kleur combinaties die een pixel kan
aannemen indexeren.
Dat is een zinloze bezigheid, want om de index op te slaan heb je
minimaal net zoveel bytes nodig als waardoor de oorspronkelijke pixel
beschreven was.
Tsja, die viel mij ook al op, daarom heb ik hem in mijn beschrijving
maar weggelaten. Maar je opmerking is niet helemaal waar. Het is niet
nodig dat alle te beschrijven kleuren ook werkelijk voorkomen.
Vervolgens deelt hij het beeld in vlakjes van 16x16 pixels. Alle
mogelijke combinaties indexeert hij opnieuw en slaat hij op in
geheugens.
Daar gaat het nog veel erger mis. Want reken maar eens uit hoeveel
mogelijke combinaties er bestaan.
Voorzover ik het gelezen heb was het niet de bedoeling om alle mogelijke
combinaties op te slaan, maar alleen die combinaties die voor een
bepaalde film nodig zijn (de coderingsfase). En dan valt hier wellicht
enige winst te behalen.
De rest hoef ik niet te vertellen. Hij indexeert naar kolommen van 40
blokken en daarna naar frames van 64 kolommen etc, waarbij hij zich niet
afvraagt hoeveel informatie er in dat index getal moet worden
opgeslagen.
Ik meende gelezen te hebben dat hij het over 60 kolommen had. In ieder geval
kan hij niet rekenen. 976 pixels zijn toch echt 61 kolommen... Uit deze
stappen is echter niet of nauwelijks winst te behalen, ik vermoed zelfs
dat ze verlies zullen opleveren.
Je zou er natuurlijk ook voor kunnen kiezen om alleen de informatie van
de frames uit de film op te slaan, maar dan komt het er op neer dat je
inderdaad de volledige film van te voren op de harde schijf zet.
En dat was denk ik precies de bedoeling.
Hij hoopt natuurlijk dat er overeenkomst is in de blokken, maar die kans is
klein gezien het grote aantal mogelijke blokken.
Voor tekenfilms is die kans behoorlijk wat groter dan voor speelfilms.
Niet dat het echt veel zal opleveren...
Bovendien
komt het er dan op neer dat je film gaat afspelen als frame 1(kolom 1
(blok 1 ...blok40) .....kolom 64( )) ....frame N( ).
Ik denk dat het meer iets wordt van frame 1 t/m 2440, frame 1, frame 2441,
frame 3, enz.
Daar heb ik geen index sleutel voor nodig, dat had ik je zo wel kunnen
zeggen.
En daar heb je wel een sleutel voor nodig.
Maar het is inderdaad verbazend wat dat soort technieken kunnen doen met
een beeld met een statische achtergrond, en ik denk dat Sloot zich daarop
heeft vastgepind. Ik heb ergens een animated gif van een spel op 576 x
576 pixels. Ieder frame is zo'n 32 kB. De animated gif van 1311 frames
is slechts 1,6 MB. Een compressie met een factor 26 ofzo. Wellicht
moeten de ontwerpers daarvan patent aanvragen.
Of wat te denken van een animated gif van 5348 frames van 560 x 360
tweekleuren? Direct rekenen levert 134.769.600 bytes op. Het resultaat
is slechts 2.920.945 bytes. Compressiefactor: 46.
Buiten dit soort toepassingen is de methode echter waardeloos, en bestaande
methoden werken voor dit soort toepassingen al veel beter.
Het aardige is dat ik ergens een spel heeft dat in 256 kleuren gespeeld
wil worden. Echter, het aantal kleuren dat het spel daadwerkelijk
gebruikt ligt belangrijk hoger. Regelmatig wordt dan ook het kleuren-
palet veranderd, en dat merkte ik toen mijn videokaart het begon te
begeven en die overgangen van kleurpalet niet meer goed verwerkte. (Ja,
ik heb nu een verse videokaart in mijn systeem.)