<BLOCKQUOTE id=quote><!--<font size= face="" id=quote>-->quote:<hr height=1 noshade id=quote>
Ma il tuo compressore comprime la pagina web, e le immagini, le applet, flash, riesce a comprimere anche quello?
...
Diventeresti + ricco di Bill ........ah che bello sognare !
<hr height=1 noshade id=quote></BLOCKQUOTE id=quote><!--</font id=quote><font face="" size= id=quote>-->
E' bello sognare, ma forse non di ricchezza. Il mio attuale compressore non comprime bene gli immagini, e dei file zip ne guadagna solo il 5 percento, qualche volta. Gli applet sono abbastanza comprimibili, se non sono in formato jar compresso. I file gif,jpg e flash sono già compressi, ma ...
... ma sto lavorando a un altro compressore lossless, che non usa il meccanismo LZW & Co. Con questo si possono raggiungere compressioni da 1:64 fino a 1:200, teoricamente fino a 1:256, di un qualsiasi formato file. L'unico problema è che i tempi di compressione non sono proponibili, almeno con i processori di oggi. Ci vorrebbero processori che lavorano in parallelo. Già con una piccola matrice di 32x32x32 bit si sente la faticaccia della madonna che sta facendo il processore, con il codice già ottimizzato, s'intende. E in questo cubetto virtuale c'entra proprio poco.
La decompressione è però velocissima. Questo algoritmo è basato sulle reti neurali artificiali del tipo BAM, dove si insegna alla matrice un pattern, e si assegna un numero a ciascun pattern, che serve poi per recuperarlo. Quando si tratta di pochi pattern, la matrice "impara" anche abbastanza velocemente, ma quando si raggiunge un livello 1:4 e superiore, subentrano i fattori di rallentamento.
Si potrebbe dire che anche 1:4 è buono (lossless), mai raggiunto da altri algoritmi, tuttavia, per un'immagine che ha 800x600 pixel a 24 bit, i tempi di compressione sono sempre molto elevati, e per la compressione di dati on-the-fly assolutamente sconsigliati. Questo genere di compressione si potrebbe applicare solo per i contenuti statici, e prepararli con delle macchine dedicate.
Ma non è finito qui. Effettivamente si possono ricomprimere i cubetti (essendo "file" di un qualsiasi formato), e quindi raggiungere un tipo di compressione a scatola, teoricamente sono infinite le istanze, anche se questo sembra impossibile. Diciamo se avessimo un processore abbastanza potente, si potrebbe comprimere il contenuto di un CD in una matrice da 64x64x64 bit. Solo oggi, per farlo, si dovrebbe attendere qualche decennio, prima che sia terminata la compressione. Seppoi ti va via la corrente, devi ricominciare
Sempre se si dice che 1:4 sia sufficiente, ci vorrebbe comunque un bel gruppo di persone espertissime, che revisionano l'algoritmo, che lo strappano a pezzi e lo rifanno, un po' come ha fatto il gruppo MPEG per l'omonimo algoritmo di compressione video e audio. Non contano assolutamente gli studi che ho fatto, gli esperimenti et cetera, ma bisogna portare assieme tutti gli elementi, ricominciare da zero. Tutti i membri di un gruppo del genere avranno avuto esperienze proprie, che porteranno al tavolino. Sto parlando di un ipotetico nuovo gruppo.
L'unica cosa che effettivamente mi sono chiesto finora è: il mondo è pronto per certe cose? Qui si entrerebbe in un mondo di fantascientifica matematica (fanta-mate potrebbe suonare bene?). So che hanno provato negli USA (governo) una cosa del genere, ma non hanno trovato le persone giuste, perché effetivamente si rischia di andare definitivamente in tilt, sognando appunto.
Io ad esempio devo sempre fare lunghe pause fra un tentativo e l'altro, perché a un certo punto non riesco più a seguire i miei ragionamenti. E' per questo che serve un gruppo di cervelli potenti, che si possono alternare, che possono discutere e produrre algoritmi alternativi, provarli a vicenda, e creare, molto lentamente, il progetto finale. Pobabilmente poi è un programmino da qualche riga di codice che fa tutto. Troppo piccolo per essere vero, ma ha tutto l'aspetto che sia così.
Ok, ora che ti ho incuriosito e annoiato nello stesso tempo, ti saluto
Giovanni
---
Ducunt fata volentem, nolentem trahunt