Fórum Root.cz

Hlavní témata => Software => Téma založeno: noxi 18. 03. 2017, 23:45:43

Název: Hranice zmenšování velikosti JPG souboru
Přispěvatel: noxi 18. 03. 2017, 23:45:43
Kde je hranice zmenšování velikosti souboru?

Viz Google reduces JPEG file size by 35% (https://arstechnica.co.uk/information-technology/2017/03/google-jpeg-guetzli-encoder-file-size/)
Název: Re:Komprimace
Přispěvatel: Jenda 19. 03. 2017, 01:37:42
https://en.wikipedia.org/wiki/Kolmogorov_complexity

U ztrátové bys teoreticky mohl featury obrázku extrahovat ještě lépe a na druhé straně syntetizovat.
Název: Re:Komprimace
Přispěvatel: Radovan. 19. 03. 2017, 06:48:15
Libovolně velký soubor se dá zkomprimovat do jednoho bitu.
Správně by ses měl ptát od jaké komprese se po rozbalení ten obrázek ještě podobá původnímu: http://xkcz.cz/1683-digitalni-data/  ;D :o >:(
Název: Re:Komprimace
Přispěvatel: lopata 19. 03. 2017, 07:00:21
1 bit, ale pouze v pripade ze si dokazes v hlave udrzet seznam vsech dekompresnich algoritmu ke vsem jednobitum.
Název: Re:Komprimace
Přispěvatel: lopata 19. 03. 2017, 07:01:24
vlastne oprava.. pulbit a nulabit jsou taky mozne
Název: Re:Komprimace
Přispěvatel: Ivan Nový 19. 03. 2017, 08:05:15
https://arstechnica.co.uk/information-technology/2017/03/google-jpeg-guetzli-encoder-file-size/?u=ZcHm6HyQVijOpm_f4F&c=1250

Kde je hranice zmenšování velikosti souboru?

Hranice je ve velikosti slovníku, který ke kompresi použijete. Velikost nejmenšího komprimovaného souboru je počet bitů, který potřebujete k vyjádření indexu do toho kompresního slovníku. Vzhledem k tomu, že většina používaných souborů je z internetu, tak efektivní algoritmus komprimace je URL, místo souboru pracujete s odkazem a internet je pak komprimačním slovníkem, dekomprimace je pak stažení souboru :-)))
Název: Re:Komprimace
Přispěvatel: Ivan Nový 19. 03. 2017, 08:11:13
Jinak nápad je to skvělý, upravit komprimovaný soubor před komprimací tak, aby se usnadnila komprimace a zároveň se využila dekompresní kapacita lidského mozku, která si odstraněné detaily domyslí a vyrovná.
Název: Re:Komprimace
Přispěvatel: Radovan. 19. 03. 2017, 08:48:05
1 bit, ale pouze v pripade ze si dokazes v hlave udrzet seznam vsech dekompresnich algoritmu ke vsem jednobitum.
No moment, o dekompresi nebyla řeč, ptal se pouze na komprimaci 8)

Ta URL se dá ještě dál zkomprimovat, třeba pomocí bit.ly. A seznam těch zkrácených odkazů se bude velmi dobře komprimovat jako čistý text, který se potom zase dá uložit na nějakou vhodnou URL... Jakou URL má sousední Vesmír?
Název: Re:Komprimace
Přispěvatel: tisnik 19. 03. 2017, 09:04:43
Jinak nápad je to skvělý, upravit komprimovaný soubor před komprimací tak, aby se usnadnila komprimace a zároveň se využila dekompresní kapacita lidského mozku, která si odstraněné detaily domyslí a vyrovná.

Tak funguje i stary dobry JPEG...
Název: Re:Komprimace
Přispěvatel: Ivan Nový 19. 03. 2017, 09:37:00
Jinak nápad je to skvělý, upravit komprimovaný soubor před komprimací tak, aby se usnadnila komprimace a zároveň se využila dekompresní kapacita lidského mozku, která si odstraněné detaily domyslí a vyrovná.

Tak funguje i stary dobry JPEG...

No myslím, že starý dobrý JPEG tolik nepočítá s funkcí mozku, ale data vyhodnocuje statisticky na základě histogramu a jeho naivního ořezání.
Název: Re:Komprimace
Přispěvatel: Ivan Nový 19. 03. 2017, 09:42:10
1 bit, ale pouze v pripade ze si dokazes v hlave udrzet seznam vsech dekompresnich algoritmu ke vsem jednobitum.
No moment, o dekompresi nebyla řeč, ptal se pouze na komprimaci 8)

Ta URL se dá ještě dál zkomprimovat, třeba pomocí bit.ly. A seznam těch zkrácených odkazů se bude velmi dobře komprimovat jako čistý text, který se potom zase dá uložit na nějakou vhodnou URL... Jakou URL má sousední Vesmír?

V internetu je vše co potřebujete, z praktického hlediska není třeba se zabývat nominálním nekonečnem, ale stačí nekonečno reálné, a tím je současná kapacita internetu.
Název: Re:Komprimace
Přispěvatel: Radovan. 19. 03. 2017, 10:00:12
nekonečno reálné, a tím je současná kapacita internetu.
Nikoliv reálné, ale pouze virtuální. Kdybys vylezl z počítače, bote, a prošel se ve skutečném světě, zjistili bys že ... neexistuješ ;D
Název: Re:Komprimace
Přispěvatel: tisnik 19. 03. 2017, 12:20:46
Jinak nápad je to skvělý, upravit komprimovaný soubor před komprimací tak, aby se usnadnila komprimace a zároveň se využila dekompresní kapacita lidského mozku, která si odstraněné detaily domyslí a vyrovná.

Tak funguje i stary dobry JPEG...

No myslím, že starý dobrý JPEG tolik nepočítá s funkcí mozku, ale data vyhodnocuje statisticky na základě histogramu a jeho naivního ořezání.

To ne, prvni krok, tj. prevod z RGB na YCbCr a nasledny krok podvzorkovani barev je zalozen na vnimani obrazu clovekem. Nejaky jiny tvor, ktery vnima spis odstiny a mene svetlost (resp. rozdily svetlosti), by potreboval uplne jinou transormaci.
Název: Re:Komprimace
Přispěvatel: Ivan Nový 19. 03. 2017, 12:53:09
nekonečno reálné, a tím je současná kapacita internetu.
Nikoliv reálné, ale pouze virtuální. Kdybys vylezl z počítače, bote, a prošel se ve skutečném světě, zjistili bys že ... neexistuješ ;D

Ano, stejně jako Vy, jelikož ten svět, kam mě posíláte, je simulace :-)))
Název: Re:Komprimace
Přispěvatel: Lojza 19. 03. 2017, 14:45:43
https://arstechnica.co.uk/information-technology/2017/03/google-jpeg-guetzli-encoder-file-size/?u=ZcHm6HyQVijOpm_f4F&c=1250

Kde je hranice zmenšování velikosti souboru?

Hranice je ve velikosti slovníku, který ke kompresi použijete. Velikost nejmenšího komprimovaného souboru je počet bitů, který potřebujete k vyjádření indexu do toho kompresního slovníku. Vzhledem k tomu, že většina používaných souborů je z internetu, tak efektivní algoritmus komprimace je URL, místo souboru pracujete s odkazem a internet je pak komprimačním slovníkem, dekomprimace je pak stažení souboru :-)))

tomu nerozumim pokud cely internet je komprimacnim slovnikem, tak asi bude dost velky ? a i pocet bitu k vyjadreni indexu do takoveho slovniku by byl veliky ?

jinak on by sel i zkracovat krome jpg i text, lidske oko resp. mozek umi "dopocitavat resp. opravovat" chybejici pismena, zdvojena, ruzne presmycky, chyby a "furt tomu rozumi"
Název: Re:Komprimace
Přispěvatel: Kit 19. 03. 2017, 16:31:20
Vzhledem k tomu, že většina používaných souborů je z internetu, tak efektivní algoritmus komprimace je URL, místo souboru pracujete s odkazem a internet je pak komprimačním slovníkem, dekomprimace je pak stažení souboru :-)))

tomu nerozumim pokud cely internet je komprimacnim slovnikem, tak asi bude dost velky ? a i pocet bitu k vyjadreni indexu do takoveho slovniku by byl veliky ?

S tou velikostí URL to není tak zlé. Každý bit indexu zmenšuje entropii na polovinu, takže URL např. do 60 znaků je dnes nejen dostatečných pro vyjádření indexu, ale může obsahovat i dostatek redundance na informaci pro člověka, co se na daném URL nachází.
Název: Re:Komprimace
Přispěvatel: Ivan Nový 19. 03. 2017, 18:11:32
https://arstechnica.co.uk/information-technology/2017/03/google-jpeg-guetzli-encoder-file-size/?u=ZcHm6HyQVijOpm_f4F&c=1250

Kde je hranice zmenšování velikosti souboru?

Hranice je ve velikosti slovníku, který ke kompresi použijete. Velikost nejmenšího komprimovaného souboru je počet bitů, který potřebujete k vyjádření indexu do toho kompresního slovníku. Vzhledem k tomu, že většina používaných souborů je z internetu, tak efektivní algoritmus komprimace je URL, místo souboru pracujete s odkazem a internet je pak komprimačním slovníkem, dekomprimace je pak stažení souboru :-)))

tomu nerozumim pokud cely internet je komprimacnim slovnikem, tak asi bude dost velky ? a i pocet bitu k vyjadreni indexu do takoveho slovniku by byl veliky ?

jinak on by sel i zkracovat krome jpg i text, lidske oko resp. mozek umi "dopocitavat resp. opravovat" chybejici pismena, zdvojena, ruzne presmycky, chyby a "furt tomu rozumi"

Ano, ale jde o to, aby to bylo na úrovni podvědomí, abyste nemusel nad tím přmýšlet.
Název: Re:Komprimace
Přispěvatel: noxi 21. 03. 2017, 00:48:43
Citace
Ano, ale jde o to, aby to bylo na úrovni podvědomí, abyste nemusel nad tím přemýšlet.

Správný postřeh. Ještě mne zaujala zmíněná možnost kdy mám např. jpg obraz Mandelbrot množiny a přitom znám tu její vytvářející rovnici, která má jen pár bytů. Tím se vlastně dostávám pod hranici komprimace určenou entropií, ne?

Hypoteticky by měla pro každý soubor existovat nějaká vytvářející rovnice. To potřebné index zázemí dává matematika s celým svým aparátem. Otázka zní jak tu rovnici najít.
Název: Re:Hranice zmenšování velikosti JPG souboru
Přispěvatel: Ivan Nový 21. 03. 2017, 08:10:57
K tomu se používá fraktální komprese. Viz http://www.prikryl.cz/cze/htmlseminarka.php?id=fraktal nebo https://dspace.vutbr.cz/handle/11012/18895
Název: Re:Hranice zmenšování velikosti JPG souboru
Přispěvatel: oldschool 21. 03. 2017, 14:36:32
Taky je cesta kdy dekompresni algoritmus ma databazi fragmentu. Treba takova obloha nebo trava. Samotny soubor obrazku by mel jen nejaka metadata, ze tahle vrstva je obloha typu YYY a tohle trava typu XXX. Pri dekompresi by algoritmus ty vrstvy dogeneroval. A ta databaze muze mit klidne treba 1GB, to zvladnou i telefony. Vzhledem na to, ze 99% obrazku na vebu je konzumniho charakteru, tedy jednou kouknes a uz nikdy vice, tak to jestli vidis tu oblohu dogenerovanou nebo originalni nemuze hrat roli. Samozrejme by tam byl nejaky fallback na dodatecne stazeni originalniho obrazku pro pripad potreby.
Název: Re:Komprimace
Přispěvatel: phi 21. 03. 2017, 14:50:52
Jinak nápad je to skvělý, upravit komprimovaný soubor před komprimací tak, aby se usnadnila komprimace a zároveň se využila dekompresní kapacita lidského mozku, která si odstraněné detaily domyslí a vyrovná.

Tak funguje i stary dobry JPEG...

No myslím, že starý dobrý JPEG tolik nepočítá s funkcí mozku, ale data vyhodnocuje statisticky na základě histogramu a jeho naivního ořezání.

Stary dobry JPEG pocita s tim, ze oko je citlivejsi na jas nez na barvy. 
Název: Re:Komprimace
Přispěvatel: phi 21. 03. 2017, 15:05:56
Citace
Ano, ale jde o to, aby to bylo na úrovni podvědomí, abyste nemusel nad tím přemýšlet.

Správný postřeh. Ještě mne zaujala zmíněná možnost kdy mám např. jpg obraz Mandelbrot množiny a přitom znám tu její vytvářející rovnici, která má jen pár bytů. Tím se vlastně dostávám pod hranici komprimace určenou entropií, ne?

Hypoteticky by měla pro každý soubor existovat nějaká vytvářející rovnice. To potřebné index zázemí dává matematika s celým svým aparátem. Otázka zní jak tu rovnici najít.
I pro bily sum ? :)
Název: Re:Komprimace
Přispěvatel: lobo 21. 03. 2017, 15:38:27
Citace
Ano, ale jde o to, aby to bylo na úrovni podvědomí, abyste nemusel nad tím přemýšlet.

Správný postřeh. Ještě mne zaujala zmíněná možnost kdy mám např. jpg obraz Mandelbrot množiny a přitom znám tu její vytvářející rovnici, která má jen pár bytů. Tím se vlastně dostávám pod hranici komprimace určenou entropií, ne?

Hypoteticky by měla pro každý soubor existovat nějaká vytvářející rovnice. To potřebné index zázemí dává matematika s celým svým aparátem. Otázka zní jak tu rovnici najít.
I pro bily sum ? :)
pre bily sum neviem ale pre billy goat urcite
Název: Re:Komprimace
Přispěvatel: hhju 21. 03. 2017, 16:24:47
I pro bily sum ? :)
Pokud dat není nekonečně mnoho, vždy lze nalézt rovnici, která je generuje.
Název: Re:Hranice zmenšování velikosti JPG souboru
Přispěvatel: Sum svistu 21. 03. 2017, 16:25:28
Bily sum mame v matlabu uz pres 20 let :)
Název: Re:Komprimace
Přispěvatel: dw 21. 03. 2017, 18:39:14
Jinak nápad je to skvělý, upravit komprimovaný soubor před komprimací tak, aby se usnadnila komprimace a zároveň se využila dekompresní kapacita lidského mozku, která si odstraněné detaily domyslí a vyrovná.

Tak funguje i stary dobry JPEG...

No myslím, že starý dobrý JPEG tolik nepočítá s funkcí mozku, ale data vyhodnocuje statisticky na základě histogramu a jeho naivního ořezání.

To ne, prvni krok, tj. prevod z RGB na YCbCr a nasledny krok podvzorkovani barev je zalozen na vnimani obrazu clovekem. Nejaky jiny tvor, ktery vnima spis odstiny a mene svetlost (resp. rozdily svetlosti), by potreboval uplne jinou transormaci.

YCbCr nie je ludske vnimanie. Clovek vnima RGB - https://cs.wikipedia.org/wiki/%C4%8C%C3%ADpek_(oko)#Funkce

YCbCr je dedicstvo z analogovej televizie ked bolo treba k jasovemu signalu Y pridat farbu. Aby signal s pridanou farbou bol mozny pozerat aj na CB televizii tak bol zvoleny tento model, z ktoreho sa RGB lahko dopocita (stacia k tomu 2 tranzistory a par rezistorov).
Název: Re:Komprimace
Přispěvatel: aaa 21. 03. 2017, 19:20:44
Pokud dat není nekonečně mnoho, vždy lze nalézt rovnici, která je generuje.
Mas pravdu, ale rovnica vacsia ako data je na komprimaciu nevhodna.
Název: Re:Komprimace
Přispěvatel: tisnik 21. 03. 2017, 22:41:44
Jinak nápad je to skvělý, upravit komprimovaný soubor před komprimací tak, aby se usnadnila komprimace a zároveň se využila dekompresní kapacita lidského mozku, která si odstraněné detaily domyslí a vyrovná.

Tak funguje i stary dobry JPEG...

No myslím, že starý dobrý JPEG tolik nepočítá s funkcí mozku, ale data vyhodnocuje statisticky na základě histogramu a jeho naivního ořezání.

To ne, prvni krok, tj. prevod z RGB na YCbCr a nasledny krok podvzorkovani barev je zalozen na vnimani obrazu clovekem. Nejaky jiny tvor, ktery vnima spis odstiny a mene svetlost (resp. rozdily svetlosti), by potreboval uplne jinou transormaci.

YCbCr nie je ludske vnimanie. Clovek vnima RGB - https://cs.wikipedia.org/wiki/%C4%8C%C3%ADpek_(oko)#Funkce

YCbCr je dedicstvo z analogovej televizie ked bolo treba k jasovemu signalu Y pridat farbu. Aby signal s pridanou farbou bol mozny pozerat aj na CB televizii tak bol zvoleny tento model, z ktoreho sa RGB lahko dopocita (stacia k tomu 2 tranzistory a par rezistorov).

netvrdil jsem, ze oko vnima YCbCr, ale do tohoto prostoru se prevadi proto, ze clovek vic rozlisuje jas (tedy Y slozku) a mnohem min odstiny (tedy rozdilove Cb Cr). Proto JPEG muze Cb Cr podvzorkovat a to tak, ze hodne (2x v kazde ose).

Proc to tak je se doctes, kdyz si roklepnes odkaz na Tycinky z te Tebou odkazovane wiki stranky:
"V lidské sítnici se nachází asi 120 milionů tyčinek, tedy dvacetkrát více než čípků"

Tudiz mame dva systemy videni - Y + RGB, pricemz Y ma radove vetsi rozliseni
Název: Re:Komprimace
Přispěvatel: aaa 22. 03. 2017, 00:40:49
Jinak nápad je to skvělý, upravit komprimovaný soubor před komprimací tak, aby se usnadnila komprimace a zároveň se využila dekompresní kapacita lidského mozku, která si odstraněné detaily domyslí a vyrovná.

Tak funguje i stary dobry JPEG...

No myslím, že starý dobrý JPEG tolik nepočítá s funkcí mozku, ale data vyhodnocuje statisticky na základě histogramu a jeho naivního ořezání.

To ne, prvni krok, tj. prevod z RGB na YCbCr a nasledny krok podvzorkovani barev je zalozen na vnimani obrazu clovekem. Nejaky jiny tvor, ktery vnima spis odstiny a mene svetlost (resp. rozdily svetlosti), by potreboval uplne jinou transormaci.

YCbCr nie je ludske vnimanie. Clovek vnima RGB - https://cs.wikipedia.org/wiki/%C4%8C%C3%ADpek_(oko)#Funkce

YCbCr je dedicstvo z analogovej televizie ked bolo treba k jasovemu signalu Y pridat farbu. Aby signal s pridanou farbou bol mozny pozerat aj na CB televizii tak bol zvoleny tento model, z ktoreho sa RGB lahko dopocita (stacia k tomu 2 tranzistory a par rezistorov).

netvrdil jsem, ze oko vnima YCbCr, ale do tohoto prostoru se prevadi proto, ze clovek vic rozlisuje jas (tedy Y slozku) a mnohem min odstiny (tedy rozdilove Cb Cr). Proto JPEG muze Cb Cr podvzorkovat a to tak, ze hodne (2x v kazde ose).

Proc to tak je se doctes, kdyz si roklepnes odkaz na Tycinky z te Tebou odkazovane wiki stranky:
"V lidské sítnici se nachází asi 120 milionů tyčinek, tedy dvacetkrát více než čípků"

Tudiz mame dva systemy videni - Y + RGB, pricemz Y ma radove vetsi rozliseni
Y ma mensie rozlisenie, co sa da vidiet v noci pri slabsom osvetleni. Mame viac tyciniek, ale tie su rovnomerne rozprestrete po sietnici. Saturuju sa pri 3-5cd/m^2, co je osvetlenie nocneho mesta a tak sa ich neoplati uvazovat pri pozerani na monitor.

R+G su iba na zltej skvrne, B je na zltej skvrne a ma aj velmi malo receptorov aj okolo. Na zltej skvrne su hustejsie ako tycinky a preto mame ostre videnie aj ked ich je celkovo menej.

Viac vnimame jas pravdepodobne kvoli gangliovym bunkam v sietnici, ktore robia preprocessing a zvyraznuju hrany (https://en.wikipedia.org/wiki/Lateral_inhibition).
Název: Re:Komprimace
Přispěvatel: noxi 22. 03. 2017, 01:44:15
Pokud dat není nekonečně mnoho, vždy lze nalézt rovnici, která je generuje.
Mas pravdu, ale rovnica vacsia ako data je na komprimaciu nevhodna.

Dat není nekonečně mnoho, protože počet všech možných obrazů třeba na displeji je sice veliký, ale konečný. Všechny další možnosti uspořádání pixelů je už opakování. Když se to vztahne na sítnici oka, tak v našem vesmíru můžeme nafotit jen konečný počet fotek. Při dalším focení už nafotíme jen ty samý fotky, vesmír by se z našeho pohledu začal opakovat, pokud by byl dostatečně velký:)
Název: Re:Komprimace
Přispěvatel: Tuxik 22. 03. 2017, 05:10:23
Pokud dat není nekonečně mnoho, vždy lze nalézt rovnici, která je generuje.
Mas pravdu, ale rovnica vacsia ako data je na komprimaciu nevhodna.

Dat není nekonečně mnoho, protože počet všech možných obrazů třeba na displeji je sice veliký, ale konečný. Všechny další možnosti uspořádání pixelů je už opakování. Když se to vztahne na sítnici oka, tak v našem vesmíru můžeme nafotit jen konečný počet fotek. Při dalším focení už nafotíme jen ty samý fotky, vesmír by se z našeho pohledu začal opakovat, pokud by byl dostatečně velký:)
No... když vezmu hodně blbý rozlišení 640x480 a 24 bitů, dostaneme se k tomu, že každý obrázek je zakódován jako 7372800 bitová informace, což nám dává cca 8,95*10^2219433 možností... hmmmm, tudy cesta nepovede... Nicméně mě to přivedlo k tomu, že obyčejná fotka z telefonu nebo webkamery je za "normálních světelných podmínek" hodně slušným zdrojem entropie :D
Název: Re:Hranice zmenšování velikosti JPG souboru
Přispěvatel: Ivan Nový 22. 03. 2017, 06:42:34
Taky je cesta kdy dekompresni algoritmus ma databazi fragmentu. Treba takova obloha nebo trava. Samotny soubor obrazku by mel jen nejaka metadata, ze tahle vrstva je obloha typu YYY a tohle trava typu XXX. Pri dekompresi by algoritmus ty vrstvy dogeneroval. A ta databaze muze mit klidne treba 1GB, to zvladnou i telefony. Vzhledem na to, ze 99% obrazku na vebu je konzumniho charakteru, tedy jednou kouknes a uz nikdy vice, tak to jestli vidis tu oblohu dogenerovanou nebo originalni nemuze hrat roli. Samozrejme by tam byl nejaky fallback na dodatecne stazeni originalniho obrazku pro pripad potreby.

To je fajn nápad, dalo by se to využít i pro generování obrázků do grafiky webu bez nutnosti používat fotografie z reálného světa.
Název: Re:Komprimace
Přispěvatel: Tuxik 22. 03. 2017, 09:34:31
No... když vezmu hodně blbý rozlišení 640x480 a 24 bitů, dostaneme se k tomu, že každý obrázek je zakódován jako 7372800 bitová informace, což nám dává cca 8,95*10^2219433 možností... hmmmm, tudy cesta nepovede... Nicméně mě to přivedlo k tomu, že obyčejná fotka z telefonu nebo webkamery je za "normálních světelných podmínek" hodně slušným zdrojem entropie :D
Pokud by to někoho trochu zajímalo, udělal jsem drobný experiment, napsal si na o prográmek, pořídil nějaké fotky mobilem a výsledek se zdá být značně uspokojivý...
Kód: [Vybrat]
F/je+WRalxYnnKZICcqqns+tHaUbpcvXTPzxZBTM70Wbgq1UMd/ALT68+9tK/xmKgFFkmLI8El63
RC05HC1pzL0nsDAfytSbnCbN3qCWkIDC7kVJ5lSOQpqHqackEcPInPwM1K+vsADQztT+gmPXAYB5
cMrBdE3oCf9q4OjtiOJ7D6oxj7uBOxoq9Jhwe1UGGACiUNXz74w3Wv6vxgvibNSAruTlei4t+rN9
UEoYAvZGXack6PKkORhn1yh01p4zvHnsNfOVFAIDP/4OWtlafsH/3CVOrBoNxSOnJT+/kYUv+hQh
zP7sZF8G3xv98/XMMYCCgDFQSh9IqswA+ZvtTw==
Kód: [Vybrat]
QhY3g5hHSd9A+E+Hezgule3RXlS5g465i4TK5J9kAzX9E858dq/gQ0JNYrCyqIq1052meqs7LB/i
9MjoMjlsGNTopZiAh/yL+PDbQo3APZ46SeLLr+xOHkg/fkdMex9fo2VSf6pRX718y/j3SBkDwcFv
lk15s/FOGGvjWau7Yp9C0/fRf/+eTW0tA/To4tyendQJKntXwJ7WTfFjuTz/EroB1XcLm/MwozJR
qzo13w+bM3ePHHb2zjUxqPsUAmMYRDqHyskJ2URfkeNRPaGXmhTDvQCruRhuTcQPT97hnWnOy/MC
d+Brisap72EfgAyQ8fWWDblNLetLkQ09GBausg==
Kód: [Vybrat]
3DL98q3cNm89DTGul5xUQzlj6KRLlz6lkprRIOQHBFRJOLQuk3rhzOExdpqSQXhwlICm65TNfNw3
/YY/euEZv9OmCzUqKuv5rWOPa1L35XMyZfmxcNaOjNBZSf2kcNXVeKgG2qOdSJe9tvxoFli13ikX
24QCj0MOtw1bUPHukn2p9zyLGN+DPJa1Zi9JYC8Z0a4wpBr153un+uwcUH1ZoiU4rEgAaSE5uSOF
95/2iliuEcasDgo5NJ4pHoaQMKE/ucx6a57AhunnTDC/Qw+f3tQt/mHutEQBUPaTtkCFUf9uRiiR
phh1xGIkjo8qPiYt3mlaROMl3b9tXtwJ6sBgHQ==

jedná se o base64 enkódované 2048 bitů dlouhé řetězce, přičemž první dva jsou téměř ty samé fotky pořízené cca vteřinu po sobě, to poslední je fotka čistě bílé zdi. Fotky jsem vzal, uložil do BMP a program je  po uříznutí hlavičky zpracoval tak, že vzal původní data a dokud byla alespoň dvojnásobná něž požadovaná délka (2048 bitů), vzal vždy dva sousední bity a XORem z nich udělal jeden, čímž data zmenšil na polovinu. Dokud byl výsledek alespoň dvojnásobný, než 2048bitů, postup opakoval. Z konečného výsledku usekl rovnoměrně začátek i konec, tak, aby požadovaná data o délce 2048 bitů byla ze středu a to uložil. Poté jsem to jen překódoval do base64, aby to bylo hezky vidět.
No co vy na to? :)
Název: Re:Komprimace
Přispěvatel: dw 22. 03. 2017, 16:56:58
Jinak nápad je to skvělý, upravit komprimovaný soubor před komprimací tak, aby se usnadnila komprimace a zároveň se využila dekompresní kapacita lidského mozku, která si odstraněné detaily domyslí a vyrovná.

Tak funguje i stary dobry JPEG...

No myslím, že starý dobrý JPEG tolik nepočítá s funkcí mozku, ale data vyhodnocuje statisticky na základě histogramu a jeho naivního ořezání.

To ne, prvni krok, tj. prevod z RGB na YCbCr a nasledny krok podvzorkovani barev je zalozen na vnimani obrazu clovekem. Nejaky jiny tvor, ktery vnima spis odstiny a mene svetlost (resp. rozdily svetlosti), by potreboval uplne jinou transormaci.

YCbCr nie je ludske vnimanie. Clovek vnima RGB - https://cs.wikipedia.org/wiki/%C4%8C%C3%ADpek_(oko)#Funkce

YCbCr je dedicstvo z analogovej televizie ked bolo treba k jasovemu signalu Y pridat farbu. Aby signal s pridanou farbou bol mozny pozerat aj na CB televizii tak bol zvoleny tento model, z ktoreho sa RGB lahko dopocita (stacia k tomu 2 tranzistory a par rezistorov).

netvrdil jsem, ze oko vnima YCbCr, ale do tohoto prostoru se prevadi proto, ze clovek vic rozlisuje jas (tedy Y slozku) a mnohem min odstiny (tedy rozdilove Cb Cr). Proto JPEG muze Cb Cr podvzorkovat a to tak, ze hodne (2x v kazde ose).

Proc to tak je se doctes, kdyz si roklepnes odkaz na Tycinky z te Tebou odkazovane wiki stranky:
"V lidské sítnici se nachází asi 120 milionů tyčinek, tedy dvacetkrát více než čípků"

Tudiz mame dva systemy videni - Y + RGB, pricemz Y ma radove vetsi rozliseni

Je to naozaj len koli spatnej kompatibilite, ciernobiela TV musela vediet zobrazit PAL/SECAM obraz. A kedze je JPEG odvodeny od MPEG, tak prebera tu jeho vlastnost ze zobrazovacia jednotka bude v zaciatkoch prave analog TV... Naviac sa to lepsie komprimuje ako povodne RGB...

Ked tak trocha podrobnejsie: cb vysielanie je analogovo modulovany signal, PAL k nemu pridava kvadraturne modulovany signal na nosnej frekvencii vyssej ako je nosna frekvencia jasu. Tym padom cb tv PAL signal zobrazi normalne ako cb obraz bez toho aby sa do povodneho cb prijimaca muselo zasahovat. A naopak PAL prijimac zobrazi cb vysielanie ako ciernobiele, pretoze ma informaciu o jase.

YUV s tycinkami alebo capikmi nema spolocneho nic...
Název: Re:Komprimace
Přispěvatel: phi 22. 03. 2017, 17:45:45
No... když vezmu hodně blbý rozlišení 640x480 a 24 bitů, dostaneme se k tomu, že každý obrázek je zakódován jako 7372800 bitová informace, což nám dává cca 8,95*10^2219433 možností... hmmmm, tudy cesta nepovede... Nicméně mě to přivedlo k tomu, že obyčejná fotka z telefonu nebo webkamery je za "normálních světelných podmínek" hodně slušným zdrojem entropie :D
Pokud by to někoho trochu zajímalo, udělal jsem drobný experiment, napsal si na o prográmek, pořídil nějaké fotky mobilem a výsledek se zdá být značně uspokojivý...
Kód: [Vybrat]
F/je+WRalxYnnKZICcqqns+tHaUbpcvXTPzxZBTM70Wbgq1UMd/ALT68+9tK/xmKgFFkmLI8El63
RC05HC1pzL0nsDAfytSbnCbN3qCWkIDC7kVJ5lSOQpqHqackEcPInPwM1K+vsADQztT+gmPXAYB5
cMrBdE3oCf9q4OjtiOJ7D6oxj7uBOxoq9Jhwe1UGGACiUNXz74w3Wv6vxgvibNSAruTlei4t+rN9
UEoYAvZGXack6PKkORhn1yh01p4zvHnsNfOVFAIDP/4OWtlafsH/3CVOrBoNxSOnJT+/kYUv+hQh
zP7sZF8G3xv98/XMMYCCgDFQSh9IqswA+ZvtTw==
Kód: [Vybrat]
QhY3g5hHSd9A+E+Hezgule3RXlS5g465i4TK5J9kAzX9E858dq/gQ0JNYrCyqIq1052meqs7LB/i
9MjoMjlsGNTopZiAh/yL+PDbQo3APZ46SeLLr+xOHkg/fkdMex9fo2VSf6pRX718y/j3SBkDwcFv
lk15s/FOGGvjWau7Yp9C0/fRf/+eTW0tA/To4tyendQJKntXwJ7WTfFjuTz/EroB1XcLm/MwozJR
qzo13w+bM3ePHHb2zjUxqPsUAmMYRDqHyskJ2URfkeNRPaGXmhTDvQCruRhuTcQPT97hnWnOy/MC
d+Brisap72EfgAyQ8fWWDblNLetLkQ09GBausg==
Kód: [Vybrat]
3DL98q3cNm89DTGul5xUQzlj6KRLlz6lkprRIOQHBFRJOLQuk3rhzOExdpqSQXhwlICm65TNfNw3
/YY/euEZv9OmCzUqKuv5rWOPa1L35XMyZfmxcNaOjNBZSf2kcNXVeKgG2qOdSJe9tvxoFli13ikX
24QCj0MOtw1bUPHukn2p9zyLGN+DPJa1Zi9JYC8Z0a4wpBr153un+uwcUH1ZoiU4rEgAaSE5uSOF
95/2iliuEcasDgo5NJ4pHoaQMKE/ucx6a57AhunnTDC/Qw+f3tQt/mHutEQBUPaTtkCFUf9uRiiR
phh1xGIkjo8qPiYt3mlaROMl3b9tXtwJ6sBgHQ==

jedná se o base64 enkódované 2048 bitů dlouhé řetězce, přičemž první dva jsou téměř ty samé fotky pořízené cca vteřinu po sobě, to poslední je fotka čistě bílé zdi. Fotky jsem vzal, uložil do BMP a program je  po uříznutí hlavičky zpracoval tak, že vzal původní data a dokud byla alespoň dvojnásobná něž požadovaná délka (2048 bitů), vzal vždy dva sousední bity a XORem z nich udělal jeden, čímž data zmenšil na polovinu. Dokud byl výsledek alespoň dvojnásobný, než 2048bitů, postup opakoval. Z konečného výsledku usekl rovnoměrně začátek i konec, tak, aby požadovaná data o délce 2048 bitů byla ze středu a to uložil. Poté jsem to jen překódoval do base64, aby to bylo hezky vidět.
No co vy na to? :)
Dobry. Kdysi jsem cetl bakalarku ktera resila pouziti sumu z digitalnich fotografii coby zdroje entropie. Celkem to tomu studentovi i vychazelo, vytezil nejaky zlomek bitu na pixel.
Název: Re:Hranice zmenšování velikosti JPG souboru
Přispěvatel: phi 22. 03. 2017, 17:46:51
Bily sum mame v matlabu uz pres 20 let :)
nejaky urcite :)
Název: Re:Komprimace
Přispěvatel: Tuxik 22. 03. 2017, 19:49:43
Dobry. Kdysi jsem cetl bakalarku ktera resila pouziti sumu z digitalnich fotografii coby zdroje entropie. Celkem to tomu studentovi i vychazelo, vytezil nejaky zlomek bitu na pixel.
No a proč ne. Pixelů je při nějakým běžným nižším rozlišení celkem dost. Kolik má běžnej mobil z Číny? 8mpix? A šum je tam obrovskej :D Pro generování řekněme 1024 bitů na snímek je to asi nejlepčí entropie, která se dá z běžnýho dementoanndroidu vytáhnout :D
Název: Re:Komprimace
Přispěvatel: tisnik 23. 03. 2017, 08:09:21
Je to naozaj len koli spatnej kompatibilite, ciernobiela TV musela vediet zobrazit PAL/SECAM obraz. A kedze je JPEG odvodeny od MPEG, tak prebera tu jeho vlastnost ze zobrazovacia jednotka bude v zaciatkoch prave analog TV... Naviac sa to lepsie komprimuje ako povodne RGB...

Dulezita je ta posledni veta - komprimuje se to lip proto, ze Cb a Cr slozky podvzorkujes v pomeru 1:2 nebo i 1:4 a v podstate se to nepozna. Snizeni objemu dat - i kdyby se nedelala navazna DCT+vahovani+Huffman/aritmeticke kodovani, bude na 66% nebo i na 50%
https://www.root.cz/clanky/ztratova-komprese-obrazovych-dat-pomoci-jpeg#k04

Dalsim duvodem je to, ze i po DCT se Cb a Cr kanaly vahuji s mensimi koeficienty (zjednodusene: aby vyslo co nejvic nul), protoze to opet neni tak viditelne.
Název: Re:Komprimace
Přispěvatel: dw 23. 03. 2017, 10:54:48
Je to naozaj len koli spatnej kompatibilite, ciernobiela TV musela vediet zobrazit PAL/SECAM obraz. A kedze je JPEG odvodeny od MPEG, tak prebera tu jeho vlastnost ze zobrazovacia jednotka bude v zaciatkoch prave analog TV... Naviac sa to lepsie komprimuje ako povodne RGB...

Dulezita je ta posledni veta - komprimuje se to lip proto, ze Cb a Cr slozky podvzorkujes v pomeru 1:2 nebo i 1:4 a v podstate se to nepozna. Snizeni objemu dat - i kdyby se nedelala navazna DCT+vahovani+Huffman/aritmeticke kodovani, bude na 66% nebo i na 50%
https://www.root.cz/clanky/ztratova-komprese-obrazovych-dat-pomoci-jpeg#k04

Dalsim duvodem je to, ze i po DCT se Cb a Cr kanaly vahuji s mensimi koeficienty (zjednodusene: aby vyslo co nejvic nul), protoze to opet neni tak viditelne.

njn, ale s fyziologiou ludskeho oka to nema nic spolocne :) btw, to co tu cely cas pisem mas popisane v 3 kapitole toho clanku co si pripojil...