proc je kvantizacni tabulka nesymetricka podle diagonaly?
myslel jsem, ze tabulka a transponovana tabulka budou stejne,
ale koeficienty se mirne lisi, procpak?
pokud se nepletu, tak uvedene tabulky vice ztraceji informaci
pro horizontalni hrany (detaily).
Originalni tabulky JPEGu byly ziskany ze zpracovani velkeho mnozstvi obrazoveho materialu a tyto koeficienty jim v realnych testech vysly jako nejlepe pouzitelne. Jestli je to proto, ze se v obrazcich vyskytovalo vice vertikalnich hran (priroda, budovy atd.) to nevim. Mozne take je, ze proste HVS neni uplne symetricky (to by odpovidalo umisteni a funkcim oci - cloveka vlastne nikdy neohrozovali dravci ze vzduchu, ale potreboval pomerne ostre a presne videni smerem dopredu a nepresne, ale aspon nejake, videni do stran).
Clovek jako lovec (tedy vetsinou, nekdy se role otocily) ma oci umistene na predni strane hlavy a ne na bocich, jako nektera zver, ktera je nepotrebuje pro lov, ale naopak pro ochranu pred predatory.
Musite si uvedomit, ze u JPEGu (ale i u OGG ci MP3) se pohybujeme v oblasti navrhu nejakeho systemu, kde presne nezname model lidskeho vnimani (my ho dokonce nezname ani hrube). Proto se ani nedaji provadet nejake presnejsi vypocty ale je zapotrebi provest realne testy, at uz nad obrazky nebo nad hudbou/zvuky.
Z te nesymetrie vyplyva otazka, jak potom dopadne "bezeztratove" otoceni obrazku o 90 stupnu? Ale asi dobre, protoze zrejme staci otocit jednotlive kosticky i kvantizacni tabulky, takze se asi fakt nic neztrati.
Tak to jsem zkoušel a dospěl k překvapivým závěrům. Tedy, bezeztrátově otočit fotku ve formátu jpeg, pak originál i otočený jpeg otevřít v nějakém grafickém editoru, v bitmapové podobě otočit zpět a udělat rozdíl. Téměř vždy tam byly rozdíly (šum kolem jedné až dvou úrovní z 256), a ty rozdíly se lišily program od programu. Vypovídá to o kvalitě použitých algoritmů. Kdyby se kvant. tabulka neotočila tak by ty rozdíly asi byly zásadnější a pro všechny programy shodné. Kupodivu nejméně šumu vyprodukoval Photoshop.
To je opravdu zajimave, protoze bezeztratova rotace je uz (podle jmena) bezeztratova :-) Ale doopravdy, pokud ten program jenom poprehazuje koeficienty ulozene v JPEGu a transponuje kvantizacni tabulku, tak by k zadne ztrate nemelo dojit (to poprehazeni neni zas tak jednoduche, protoze se meni Huffmanuv kod, ale porad jde o vec celociselnou a hlavne nikde nic nevznika ani nezanika).
Ostatne kdyby se otaceni delalo "otrocky" az na urovni bitmap, tak by trvalo o dost delsi dobu, protoze by se prosel cely cyklus JPEG->inv.Huffman->inv.kvantizace->inv.DCT->YCbCr->RGB->otoceni->RGB->YCbCr->DCT->kvantizace->Huffman->JPEG. Jestli spise neni problem v tech grafickych editorech, ktere pri dekomprimaci JPEGu muzou treba zaokrouhlovat apod. (hlavne aby to bylo rychle ne?).
To je opravdu zajimave, protoze bezeztratova rotace je uz (podle jmena) bezeztratova :-)
"Bezztratova" predevsim znamena, ze existuje reverzni transformace, kterou muzeme ziskat stejny JPEG, jako byl original. A to je pravda (staci otocit na opacnou stranu)...
Tak jsem to zkusil taky a ate pravdu. Zkusil jsem to shrnout tady. Opravdu ten sum je kolem te jedne az dvou (maximalne tri, ale velmi zridka) urovni z 256. Ale cim to je, to teda nevim, to je otazka pro odbornika.
Podle mně jsou to zaokrouhlovací chyby při dekompresi. Jestliže daný algoritmus provádí zaokrouhlené výpočty v určitém pořadí, pak při zpřeházení tohoto pořadí se chyby sejdou jinak.
Podle charakteru šumu by snad bylo možno i identifikovat použitý dekompresní algoritmus. Výsledky jsem nezkoumal tak exaktně jako Vy, ale bylo možno usoudit že většina programů co mi přišla pod ruku, produkuje rozdílový šum obdobný (bajvoko) jako dekodér v utilitě jpegcrop založené na zdrojácích IJG. Z toho vybočovaly některé prastaré dosové prohlížeče (šuměly více nebo "jinak") a již zmíněný Photoshop, jehož dekodér produkoval rozdílového šumu nejméně.
Myslim, ze je to kvuli fyzilogii cloveka - vnimani obrazu je citlivejsi na svisle hrany nez vodorovne, protoze pomoci nich rekonstruuje vzdalenost predmentu. A u jpegu se s tim evidentne pocita. Na druhou stranu to take znamena, ze pri konverzi na bezztratovoy format a rotaci o 90 stupnu dostaneme (subjektivne) mene kvalitni obraz. Hmmm.
To je ovšem docela zajímavé z hlediska fotografie. I fotoaparáty rozeznávající svoji orientaci mění orientaci snímků pouze EXIF tagem, ne otočením JPEG jako takového. Alespoň IMHO. Ale vzhledem k tomu, že většina foťáků produjuje dost brutálně interpolovaný obraz, je to asi jedno.