Fórum Root.cz
Hlavní témata => Software => Téma založeno: 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/)
-
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.
-
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 >:(
-
1 bit, ale pouze v pripade ze si dokazes v hlave udrzet seznam vsech dekompresnich algoritmu ke vsem jednobitum.
-
vlastne oprava.. pulbit a nulabit jsou taky mozne
-
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 :-)))
-
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á.
-
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?
-
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...
-
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í.
-
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.
-
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
-
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.
-
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 :-)))
-
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"
-
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í.
-
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.
-
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.
-
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
-
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.
-
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.
-
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 ? :)
-
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
-
I pro bily sum ? :)
Pokud dat není nekonečně mnoho, vždy lze nalézt rovnici, která je generuje.
-
Bily sum mame v matlabu uz pres 20 let :)
-
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).
-
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.
-
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
-
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).
-
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ý:)
-
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
-
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.
-
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ý...
F/je+WRalxYnnKZICcqqns+tHaUbpcvXTPzxZBTM70Wbgq1UMd/ALT68+9tK/xmKgFFkmLI8El63
RC05HC1pzL0nsDAfytSbnCbN3qCWkIDC7kVJ5lSOQpqHqackEcPInPwM1K+vsADQztT+gmPXAYB5
cMrBdE3oCf9q4OjtiOJ7D6oxj7uBOxoq9Jhwe1UGGACiUNXz74w3Wv6vxgvibNSAruTlei4t+rN9
UEoYAvZGXack6PKkORhn1yh01p4zvHnsNfOVFAIDP/4OWtlafsH/3CVOrBoNxSOnJT+/kYUv+hQh
zP7sZF8G3xv98/XMMYCCgDFQSh9IqswA+ZvtTw==
QhY3g5hHSd9A+E+Hezgule3RXlS5g465i4TK5J9kAzX9E858dq/gQ0JNYrCyqIq1052meqs7LB/i
9MjoMjlsGNTopZiAh/yL+PDbQo3APZ46SeLLr+xOHkg/fkdMex9fo2VSf6pRX718y/j3SBkDwcFv
lk15s/FOGGvjWau7Yp9C0/fRf/+eTW0tA/To4tyendQJKntXwJ7WTfFjuTz/EroB1XcLm/MwozJR
qzo13w+bM3ePHHb2zjUxqPsUAmMYRDqHyskJ2URfkeNRPaGXmhTDvQCruRhuTcQPT97hnWnOy/MC
d+Brisap72EfgAyQ8fWWDblNLetLkQ09GBausg==
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? :)
-
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...
-
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ý...
F/je+WRalxYnnKZICcqqns+tHaUbpcvXTPzxZBTM70Wbgq1UMd/ALT68+9tK/xmKgFFkmLI8El63
RC05HC1pzL0nsDAfytSbnCbN3qCWkIDC7kVJ5lSOQpqHqackEcPInPwM1K+vsADQztT+gmPXAYB5
cMrBdE3oCf9q4OjtiOJ7D6oxj7uBOxoq9Jhwe1UGGACiUNXz74w3Wv6vxgvibNSAruTlei4t+rN9
UEoYAvZGXack6PKkORhn1yh01p4zvHnsNfOVFAIDP/4OWtlafsH/3CVOrBoNxSOnJT+/kYUv+hQh
zP7sZF8G3xv98/XMMYCCgDFQSh9IqswA+ZvtTw==
QhY3g5hHSd9A+E+Hezgule3RXlS5g465i4TK5J9kAzX9E858dq/gQ0JNYrCyqIq1052meqs7LB/i
9MjoMjlsGNTopZiAh/yL+PDbQo3APZ46SeLLr+xOHkg/fkdMex9fo2VSf6pRX718y/j3SBkDwcFv
lk15s/FOGGvjWau7Yp9C0/fRf/+eTW0tA/To4tyendQJKntXwJ7WTfFjuTz/EroB1XcLm/MwozJR
qzo13w+bM3ePHHb2zjUxqPsUAmMYRDqHyskJ2URfkeNRPaGXmhTDvQCruRhuTcQPT97hnWnOy/MC
d+Brisap72EfgAyQ8fWWDblNLetLkQ09GBausg==
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.
-
Bily sum mame v matlabu uz pres 20 let :)
nejaky urcite :)
-
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
-
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.
-
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...