Forum » Programiranje » Algoritmi za kompresiranje
Algoritmi za kompresiranje
Senitel ::
A kdo mogoče pozna kakšen dober algoritem za kompresiranje?? Ali pa stran, kjer bi bil razložen??
Primoz ::
Kaj bi točno rad in v katerem programskem jeziku ga hočeš?
There can be no real freedom without the freedom to fail.
Senitel ::
Trenutno znam Huffman-a. Pa me zanima še za kakšnen drug algoritem. Rabil bi pa samo tko en opis oz. eno dokumentacijo...
Senitel ::
Že našu, že našu...
Tukaj (če še koga zanima) je vse kar je treba vedet.
No pa mam za kakšen mesec dost dela...
Tukaj (če še koga zanima) je vse kar je treba vedet.
No pa mam za kakšen mesec dost dela...
Primoz ::
Kaj pa delaš....
Btw.. a veš da bo letos za spremembo tekmovanje na računalnikih (ACM style)...
Btw.. a veš da bo letos za spremembo tekmovanje na računalnikih (ACM style)...
There can be no real freedom without the freedom to fail.
Senitel ::
Ja delam 3D engine, pa bi blo pametno kakšne teksture mal skrčit...
Sem slišal ja, da bo letos na računalnikih, vendar se mi ne sanja preveč kako bo to zgledal (kaj so to sploh ACM pravila??)? Kakšne bodo naloge?
Sem slišal ja, da bo letos na računalnikih, vendar se mi ne sanja preveč kako bo to zgledal (kaj so to sploh ACM pravila??)? Kakšne bodo naloge?
Primoz ::
Maš 2,5h pa 5 nalog...
Rešiš nalogo, daš na disketo, neseš komisiji.
Če dela dobiš točke, če ne dela ti "približno povejo zakaj ne dela" in dobiš minus točke. V primeru da do konca tekmovanja ne dela je to 0 točk. Rezultat je znan takoj po koncu tekmovanja.
Rešiš nalogo, daš na disketo, neseš komisiji.
Če dela dobiš točke, če ne dela ti "približno povejo zakaj ne dela" in dobiš minus točke. V primeru da do konca tekmovanja ne dela je to 0 točk. Rezultat je znan takoj po koncu tekmovanja.
There can be no real freedom without the freedom to fail.
Senitel ::
A mogoče veš kakšen tip nalog bo? Glede nato, da bo potekalo na računalnikih bodo verjetno malo drugačne...
Primoz ::
Algoritmi na 1000 in 3 načine. To je edina možna vrsta nalog. Imaš vhodno datoteko. Nekaj napišeš v izhodno in nato komisija pogleda, če je vsebina pravilna in jih ne zanima, kako si prišel do tega rezultata..
There can be no real freedom without the freedom to fail.
Thomas ::
Noben vnaprej dan algoritem ni najbolj učinkovit za vse datoteke.
Najbolj idealno je, da za vsako datoteko posebej napišeš algoritem, ki to datoteko najbolj kompresira. Seveda morš pazit, da algoritem ne porabi več prostora, kot je neto prihranek tvojega algoritma glede na kakšen "zip".
Najbolj idealno je, da za vsako datoteko posebej napišeš algoritem, ki to datoteko najbolj kompresira. Seveda morš pazit, da algoritem ne porabi več prostora, kot je neto prihranek tvojega algoritma glede na kakšen "zip".
Man muss immer generalisieren - Carl Jacobi
Thomas ::
No - al pa tega - sej to je osnova za 'zipe'
Routine LZW_COMPRESS
STRING = get input character
__WHILE there are still input characters
____ CHARACTER = get input character
____ IF STRING+CHARACTER is in the string table then
______ STRING = STRING+character
____ ELSE
______ output the code for STRING
______ add STRING+CHARACTER to the string table
______ STRING = CHARACTER
____ ENDIF
__WEND
output the code for STRING
Routine LZW_COMPRESS
STRING = get input character
__WHILE there are still input characters
____ CHARACTER = get input character
____ IF STRING+CHARACTER is in the string table then
______ STRING = STRING+character
____ ELSE
______ output the code for STRING
______ add STRING+CHARACTER to the string table
______ STRING = CHARACTER
____ ENDIF
__WEND
output the code for STRING
Man muss immer generalisieren - Carl Jacobi
Thomas ::
Oba lahko tudi kombiniraš - recimo. Samo nevemkakšnih hitrosti potem ne bo.
Recimo da imaš datoteko - niz: 2,3,5,7,11,13,17, ...
(praštevila v ASCII zapisu) Tkole en GB. Z nobenim teh algoritmov, jih ne boš stisnil prav zelo.
Toda, če napišeš program - ki jih zna restavrirati - si jih stisnil na milijoninko!
In če poznaš strukturo svoje datoteke - jo lahko na ta račun bolj stisneš (beri: optimalno zapišeš) - kot se skomprimira s katerimkoli splošnim kompresom.
Man muss immer generalisieren - Carl Jacobi
Thomas ::
Jest mam en program, ki gleda datoteko. Potem pa zanjo izračuna en kompres in njegov dekompres.
Potem pa ga pustiš mislit naprej - in kompres se boljša in boljša.
Potem pa ga pustiš mislit naprej - in kompres se boljša in boljša.
Man muss immer generalisieren - Carl Jacobi
_MeSSiah_ ::
Praviš, da delaš 3D engine in bi rad stisnil teksture? Hja, mislim da se brezveze ubadaš s takšnimi algoritmi, saj imaš veliko algoritmov za stiskanje tekstur (oz. grafičnih datotek) že na razpolago - JPEG itd...
Raje poišči eno knjižnico ala libPNG, libJPG in se ukvarjaj z bolj pametnimi stvarmi okoli tvoje 3D engine.
Raje poišči eno knjižnico ala libPNG, libJPG in se ukvarjaj z bolj pametnimi stvarmi okoli tvoje 3D engine.
Thomas ::
Po tej logiki GoGi - vse že imaš. Ne samo kompresiranja textur, ampak tudi računanje perspektive in skrivanje nevidnih ploskev ... vse skratka.
Po tej logiki - ni treba nič delati, ker "vse že obstaja".
Po tej logiki - ni treba nič delati, ker "vse že obstaja".
Man muss immer generalisieren - Carl Jacobi
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | CompressOddelek: Znanost in tehnologija | 2733 (2087) | nevone |
» | Generiranje kombinacij znakovOddelek: Programiranje | 1325 (1010) | c0dehunter |
» | [Naloga] : Max kompresija testne datotekeOddelek: Programiranje | 3129 (2053) | StratOS |
» | Kompres proti virusu HIV (strani: 1 2 )Oddelek: Novice / Znanost in tehnologija | 8350 (7044) | Thomas |
» | Pomoč pri MySQL in PHP...Oddelek: Programiranje | 1824 (1692) | darh |