Newsgroup: it.comp.programmare.win32
Titolo: algoritmo di compressione

che nottata!!
ragazzi, sto lavorando da un annetto ad una mia idea, un nuovo tipo di
compressione, piu potente di winzip...
il fatto è che non so fino a che punto ne valga la pena.
finora l'algoritmo che ho elaborato, riuscirebbe a comprimere un'immagine
BMP (gia compressa con zip) di 8 MB in 4,5 MB... quindi in questo senso è
meglio di winzip.
il problema che mi assilla è questo: entro un mesetto forse il prog è
finito... ma... a chi lo vendo? e quanto posso ricavarci?
poiche si tratta di un lavoro a cui tengo molto, ci ho perso molto tempo
appresso... non vorrei svenderlo a qualche aziendona, ricavandoci due
lire...
secondo voi a chi mi devo rivolgere per essere pagato adeguatamente? e
quanto puo valere un software che, nella maggior parte dei casi, riduce di
poco meno della meta' le immagini gia compresse ?
grazie a tutti
Ugo

 meglio di winzip.
Dimostracelo...
 
-- 
Luc.

 Luc.

 Deborah Caprioglio infuocata nel mio letto........ ::)))))))))))))
Non dire str*nzate... Pubblica da qualche parte un esempio di file 
compresso dal tuo algoritmo e un decompattatore per verificare il 
tutto...
-- 
Luc.

> Deborah Caprioglio infuocata nel mio letto........ ::)))))))))))))
L> Non dire str*nzate... Pubblica da qualche parte un esempio di file 
L> compresso dal tuo algoritmo e un decompattatore per verificare il 
L> tutto...
Oppure una dimostrazione formale :)
--
Gian Uberto| main(){printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}
Lauri      |                        David Korn, 1987 ioccc best one liner 
(aka saint)|-------------------------------------------------------------------
em@ail: 
sa...@eng.it
 ( vedere X-nospam nello header - see X-nospam in header )

 meglio di winzip.
Quando si parla di compressione di immagini bisogna stare attenti.
Il tuo algoritmo e' a perdita di informazione ? (come JPG per intenderci ?).
WinZip deve necessariamente utilizzare un algoritmo che non perda
informazioni, perche' cio' che comprime deve essere ricostruito bit
per bit come nell'originale.
Seconda cosa: hai usato l'opzione di massima compressione di WinZip ?
WinZip puo', infatti, aumentare la velocita' di compressione, a scapito
della compattezza del file compresso.
Comunque, non e' impossibile raggiungere una compressione migliore di
WinZip.  Io tempo fa scrissi un algoritmo di Run Length Encoding che, se
applicato al file da comprimere, riusciva a ridurre (di pochi Kb) la 
compressione fatta da WinZip.
Tuttora esistono compressori (uno di questi mi sembra sia WinRAR) che 
raggiungono livelli di compressioni migliori di WinZip.
Questo almeno in generale, la compressione va studiata da caso a caso.
-- 
Posted from  [80.105.34.80] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 tutto...
non dico stronzate... il prog per ora č fatto con VB3 a 16 bit, quindi
qualche geniaccio potrebbe disassemblarlo...
e poi io avevo chiesto un consiglio su aziende a cui rivolgermi, mica devo
dimostrare qualcosa per averlo, o no?
Ugo

 Il tuo algoritmo e' a perdita di informazione ? (come JPG per intenderci
?).
il mio algoritmo non perde manco le virgole... lavora sui bit, e non sulla
"ridondanza".
di conseguenza, quando sarà approntato, avrà una ratio di compressione
standard, fra il 45 e il 50 %
di conseguenza, a volte sara meglio di winzip, altre volte peggio.
in ogni caso, se riesco a comprimere un file DOC con winzip e lo compirmo
del 90 %, poi posso ridurlo sempre col mio prog, di un ulteriore 45-50 %...
e' questo il bello...
Ugo

>>>> "DH" == Delta Hug <xx@xx.x> writes:
DH> il mio algoritmo non perde manco le virgole... lavora sui bit, e non sulla
DH> "ridondanza".
Piccola osservazione  : tutti  gli algoritmi di  compressione lavorano
eliminando la ridondanza. Alcuni  (quelli lossy) eliminano anche parte
dell'informazione  secondo  regole  empiriche  sulla  sensibilità  dei
sensori   che  dovranno   poi   recepire  l'informazione   decompressa
(i.e. occhi, orecchie).
DH> del 90 %, poi posso ridurlo sempre col mio prog, di un ulteriore 45-50 %...
DH> e' questo il bello...
Qui ho dei dubbi (con basi teoriche) che non riuscirai a farmi passare
solo parlando.


e' questo il bello...
Su cio' che dici sono MOLTO MOLTO scettico.
Il LZW e' un algoritmo asintoticamente ottimo, questo
significa che piu' cresce la quantita' di dati da
comprimere, migliore e' la compressione ottenuta.
Se hai dati alla mano e una versione binaria del tuo
programma, si possono fare delle prove ma, sono sicuro, si
arrivera' a scoprire l'inghippo ;)
-- 
The Follet

dimostrare qualcosa per averlo, o no?
Ah, allora sei Off Topic :)
-- 
The Follet

 poco meno della meta' le immagini gia compresse ?
Se comprimi qualcosa che non e` un'immagine cosa succede? Insomma, dacci
piu` informazioni, la cosa e` interessante. :)
--
Bye! Lorenzo Lutti

qualche geniaccio potrebbe disassemblarlo...
Uhm quindi la velocità per ora è ottima :-)
Se me lo mandi giuro su quello che vuoi che non lo modifico (non sarei
neanche capace).
-- 
Marco Barisione (ICQ 84277092)

un'azienda apposta per conto tuo e vendere il prodotto direttamente.
Ad esempio mi sembra che per il formato rar sia cosě.



io non dico che l'inghippo non ci sia... spero di no... ma se ci dovesse
essere, spero che il tizio che firmerà l'assegnone se ne accorga solo DOPO
averlo firmato... ::))))))
Ugo


come ho detto nel msg di sopra, non importa che cosa ci sia nel file,
l'importante è che si tratti di sequenze di bytes... tutto qui...
fra qualche giorno mi rifaccio vivo con i dati relativi anche alla velocita
di compressione e di decompressione...
diciamo che ora il prog soffre un po sulla decompressione... nel senso che
ci riesce in tempi ragionevoli ma non entusiasmanti... per questo (come ho
detto nel msg di sopra) vorrei scrivere la parte matematica del prog in
fortran, ma ovviamente ci metterei 2-3 mesi prima di impararlo
decentemente...
insomma... non è un progetto a breve scadenza... e prima di proporlo a
qualche pezzo grosso voglio che sia perfetto...
bye
Ugo

 mio prog...
Dato che non vuoi permetterci di provare, dacci almeno una dimostrazione e
prova tu per noi. Noi ti forniamo un file che contiene dei dati a nostra
scelta, e tu ci dici quanto e` riuscito a comprimerlo il tuo algoritmo. Ci
stai?
--
Bye! Lorenzo Lutti

 Ad esempio mi sembra che per il formato rar sia cosě.
Anche per lo stesso ZIP e` partito tutto cosi`. Certo bisogna fare bene i
conti e prendere le giuste decisioni... avete presente che fine ha fatto il
povero Philip Katz. :-(
--
Bye! Lorenzo Lutti

 stai?
aho ma non potete avere qualche gg. di pazienza ??!! ::)))))
e poi, ribadisco, io avevo chiesto consigli economici, non tecnici...
fra un po mi ritrovero un programma con diverse potenzialita tra le mani, e
non so che cavolo farci, ossia come farlo fruttare al meglio...
appena ho finito il prog (solo in VB per ora) mi rifaccio vivo, con dati piu
precisi...
ciao
Ugo

 tecnici...
Infatti la mia e` una curiosita` puramente personale, non ti stavo dando
consigli tecnici ne` tantomeno ti sto sfidando. :)
Ad esempio, mi faresti un grande piacere se facessi l'esperimento con questo
file di 64 kB:
http://www.enetsystems.com/~lorenzo/temp/pippo.dat
Non e` il meglio che posso darti, ma se gia` con questo ottieni una
compressione superiore al 2-3%, il tuo progetto te lo finanzio io. :)
--
Bye! Lorenzo Lutti

 e' questo il bello...
Auguri al nuovo miliardario!
8-PPP
-- 
Luc.

 l'importante è che si tratti di sequenze di bytes... tutto qui...
Condizione necessaria e sufficiente è che il tuo file sia una sequenza di 
byte????
 
*T*R*O*L*L*
-- 
Luc.

 vorrei scrivere la parte matematica del prog in fortran, 
Di' la verita', stai scherzando.


 non so che cavolo farci, ossia come farlo fruttare al meglio...
Rendilo free, sotto GPL (non scherzo).
Conserverai il copyright sul software e godrai di una bella
statua a imperitura memoria (e magari quelli di WinZip ti assumeranno).
Puoi sempre chiamare il tuo algoritmo DH ("DH compression" suona bene).
La famosa compressione di DH.


 averlo firmato... ::))))))
Gia', peccato che questa si chiami "truffa" ::))))))


 stai?
No, io non ci sto.  Io devo mettere il dito nella piaga per credere.
Una cosa carina sarebbe pubblicare su un sito web una pagina dinamica,
in cui noi offriamo il file da comprimere, lei fa l'upload, il file
viene compresso e ci manda indietro il risultato.
Discorso analogo per la decompressione.
In questo modo il sorgente e' tutelato e il binario e' imperscrutabile.


decentemente...
Perché se tu vendi il progetto potresti trovare qualche programmatore
+ bravo di te in c/c++ (IMO sono i linguaggi migliori per fare queste
cose) che riscrive il codice super ottimizzato.


*T*R*O*L*L*
Perché sto pensando da un po' la stessa cosa? :-)


non so che cavolo farci, ossia come farlo fruttare al meglio...
Te l'ho già detto inizia a darci delle prove e ci sarà molta gente che
lo vuole, se poi funziona realmente così bene la voce si spargerà
velocemente.


>>>> "DH" == Delta Hug <xx@xx.x> writes:
DH> oppure il Fortran, e credo che mi orientero sul Fortran...
C. Usa il C.
DH> asintoticamente ?? asintoticache ??!!??!!?!?!?!? ::))))))
DH> che significa ??!!
Asintoto  : retta  cui  una funzione  tende  andando all'infinito  con
l'argomento. 1/x tende asintoticamente a 0 per x che va all'infinito e
a infinito per x che tende a  0 (+ infinito per x positivi, - infinito
per x negativi).
DH> io non dico che l'inghippo non ci sia... spero di no... ma se ci dovesse
DH> essere, spero che il tizio che firmerà l'assegnone se ne accorga solo DOPO
DH> averlo firmato... ::))))))
In questo caso sarebbe truffa.
E  l'assegnone te  lo firma  solo un  grullo se  non ha  capito perché
funziona.
I casi  sono 2.  O rivoluzioni la  teoria dei  codici o hai  preso una
cantonata.
   One day a student came to Moon and said: "I understand how to make a
better garbage collector.  We must keep a reference count of the
pointers to each cons."
   Moon patiently told the student the following story:
     "One day a student came to Moon and said: `I understand how to
     make a better garbage collector...
   [Ed. note: Pure reference-count garbage collectors have problems with
circular structures that point to themselves.]


> stai?
AL> No, io non ci sto.  Io devo mettere il dito nella piaga per credere.
AL> Una cosa carina sarebbe pubblicare su un sito web una pagina dinamica,
Si può sempre barare :)
Io mi tengo il file e ti mando indietro 4 byte con un ID, tu mi rimandi
i 4 byte e io ti rendo il file ...
BTW, sono anche io per la pubblicazione sotto GPL!!!
#define eunet_jokes_1989
"Questo algoritmo comprime un immagine 1024x1024 16 milioni di colori in
 un byte.
 Prendiamo  quest'immagine di  un  armadillo 1024x1024  16 milioni  di
 colori la passiamo  al nostro algoritmo ed abbiamo  in output un file
 da un byte che passato per l'algoritmo inverso ci rende l'immagine di
 un armadillo 1024x1024 16 milioni di colori. Prendiamo poi l'immagine
 ray-tracing di  una tazza da te  1024x1024 16 milioni di  colori e la
 comprimiamo  in   un  byte  e  quindi   la  decomprimiamo,  ottenendo
 un'immagine 1024x1024 16 milioni di colori di una tazza da te.
 Il  piccolo  problema di  questo  algoritmo  è  che gira  su  sistemi
 operativi che accettano una command line di almeno 3 mega..."
"Noi abbiamo  fatto di  meglio! Il nostro  algoritmo non  richiede una
 command line da 3 mega. Col nostro algoritmo prendiamo quest'immagine
 di un armadillo 1024x1024 16  milioni di colori la passiamo al nostro
 algoritmo ed  abbiamo in output  un file da  un byte che  passato per
 l'algoritmo inverso ci rende  l'immagine di un armadillo 1024x1024 16
 milioni di colori. Prendiamo  poi l'immagine ray-tracing di una tazza
 da te  1024x1024 16 milioni di colori  e la comprimiamo in  un byte e
 quindi la  decomprimiamo, ottenendo un'immagine  1024x1024 16 milioni
 di colori di  armadillo... Si, lo so passa 3  mega di eseguibile sono
 tantini..."


 precisi...
Ma hai sentito cosa ne pensano su comp.compression? Ne hai parlato anche
li'?
--
-=[]=- 
ian...@libero.it
 -=[]=-
Now working... seeh ;-)

 i 4 byte e io ti rendo il file ...
Diventa abbastanza difficile tenere i file sul server, se sono in molte
persone ad usare quella pagina (presto esaurisci lo spazio su disco).


 Perché sto pensando da un po' la stessa cosa? :-)
Io lo penso dall'inizio, ma mi sono trattenuto dal dirlo per vedere come
evolveva la vicenda. Sono affascinato dai troll e tento di vederne ovunque.
:)
I casi sono due: o Delta Hug si e` spiegato male, oppure ovviamente cio` che
dice di avere fatto non e` possibile. Se un compressore e` in grado di
comprimere del 50% (ma anche solo dell'1%) qualsiasi file, significa che
riesce a comprimere con la stessa ratio anche i file che lui stesso genera.
Quindi qualsiasi file potrebbe essere ridotto, con un numero finito di
passaggi, a un byte (che osservato con una lente di ingrandimento contiene
appunto il succitato armadillo ;-)).
Suvvia, fantomatico Delta Hug, rivela la tua identita`... :)
--
Bye! Lorenzo Lutti

Sono affascinato dai troll e tento di vederne ovunque.
Sì ma nei ng di programmazione ce ne sono pochi :-(
A me divertono tanto!


 circular structures that point to themselves.]
AI Koans :)
Una delle mie parti preferite del Jargon File :)
Ciaotutti,
*


Se ti bastano i troglioni (che sono troll naturali, tipo gente che quota
123456 righe di testo per rispondere con 1, oppure posta 25 volte lo stesso
messaggio, al quale e' stata data una risposta il giorno prima, un'altra lo
stesso giorno e due a suoi messaggi identici postati a distanza di tre
minuti uno dall'altro meno di un'ora prima, e se gli fai notare la
netiquette si incazza e dice che vuoi comandare e che internet non ha regole
e che sul newsgroup lui fa quello che gli pare e un sacco di altre cazzate
dello stesso stampo) vai su ICLVB, c'e' un florilegio...
Infatti stiamo preparando una RFD per ICLVBM...
Per inciso, se e quando passera' la CFV verro' a chiedervi una mano per la
creazione, in spirito di collaborazione professionale ;-)
Ciaotutti,
*

creazione, in spirito di collaborazione professionale ;-)
E io voterò, il ng attuale mi sembra troppo affollato da gente poco
civile per poter essere seguito.


 raggiungono livelli di compressioni migliori di WinZip.
Mi hanno detto, ed ho provato, che WinACE č meglio.
Dovrebbe essere su 
www.winace.com
Non ho la piů pallida idea di che tipo di algoritmo di compressione
usi (cioé, non so niente degli algoritmi di compressione)


L'algoritmo di Winzip non e' nuovissimo e non e' il piu' potente, pero' ha
dei vantaggi: ad esempio e' estremamente veloce.
WinRAR sa essere di una lentezza esasperante, come del resto la sua
controparte DOS, RAR; comprime meglio e fa il multivolume senza richiedere
dei dischetti, il che e' un vantaggio rispetto a Winzip, pero' quando
decomprimi ti conviene lanciare il programma e andare a letto, forse per il
mattino dopo ha finito :)
WinACE mi ha sempre dato problemi con il programma, piu' che con
l'algoritmo, ci ho trovato un paio di bug che mi hanno tolto fiducia; magari
era una versione di transizione, dovro' scaricare l'ultima...
Ciaotutti,
*


ROTFL, non avevo notato  "ottenendo un'immagine  1024x1024 16 milioni di
colori di  armadillo... " !! :))
Quando ho letto un tuo post seguente ho capito :))
Ciaotutti,
*

 era una versione di transizione, dovro' scaricare l'ultima...
Io lo sto usando e funziona benissimo. E' la versione 2.03, rilasciata
il 24/7/2001.
I grafici di comparazione fanno vedere la compressione di
un'installazione media di Office (151.399.563 bytes, 888 files)
Riporto soltanto i dati della compressione massima, più lenta.
Winzip: 47,38%
WinRAR 2.7: 43.85%
WinAce 1.242.66%
WinACE 2.0 b1: 38.88%
Notevole, ma sarà di una lentezza paurosa. Quindi da utilizzare
soltanto in casi particolari.
Chissa la DeltaHug compression a quanto arriva! :)))
Ciao
--
The Secret of Tabboz Island
http://it.geocities.com/tabbozisland