Jasně, ale pracuješ s obrazem, který má určité parametry. A základ komprese mezi MPEG2 a MPEG4 je stejný. Komprese plných framů je snad úplně stejná - JPEGový algorytmus: Rozdělím obraz na sektory (tuším 16x16) a každý z nich pomocí DCT (bezeztrátově) převedu na klesající sekvenci, kde poslední členy jsou blízké nule (nebo přímo nuly). Potom ten konec uříznu. Při dekódování postupouji opačným způsobem - doplním nuly a převedu na 16x16. Při dalším enkódování udělám zase DCT a pokud mám stejné nastavení, tak řežu stejný konec. Shrink podle mně je si toho vědom a bez provádění DCT prostě ty řeže ty konce (větší komprese znamená, kolik toho mohu oříznout). Z tohoto pohledu, pokud při rekompresi nenasadím větší kopresi, než byla před tím, tak kvalitu klíčových snímků nezmenším (jen zbytečně dělám DCT). Dokonce, pokud nenasadíme větší kompresi, tak to bude i stejně veliké.
U rozdílových snímků se na kompresi opět použije JPEG. Rozdíl je v tom, že MPEG2 má obdélníky a MPEG4 něco jiného (tady si to nepamatuji - tuším trojúhelníky). Nicméně MPEG2 bude mít tendenci rozdíl (daný de facto rozdílovým snímkem) najít a komprimovat. Logika říká, že de facto vezme obdélník obsahující změnu v MPEG4 (mimo něj je to stejné) a ten komprimuje. Tady je to, kde je nárůst objemu. Mohlo by dojít k ztrátě kvality - tam kde na obrazovce vezme MPEG4 jako rozdíl přesný tvar a MPEG2 to vezme včetně okolí, tak některé přechody mohou být méně ostré. Ale bude to výrazné, jen pokud bychom použili větší kompresi.
Dále je možné, že MPEG2 nebude schopen některé rozdíly identifikovat a vloží nový klíčový snímek (například zpětné rozdíly) - to ale je de facto stejné, jako kdyby rozdílový obdélník byl celý snímek.
Závěr: pokud pro kompresní poměr použijeme stejnou nebo lepší (z hlediska kvality JPEG) hodnotu, tak obraz bude takřka stejný. Ten nejdůležitější faktor je totiž ten kompresní poměr. Pro opačný převod to nemusí platit.
Poznámka: Asi by šlo udělat přímý převod, ale není to potřeba.
Další poznámka: Při potřebě dosáhnout větší komprese může dojít ještě k jinému rysu a to je převedení klíčového snímku na rozdílový (při tom dochází ke zanedbání rozdílů a tedy ke snížení kvality). To ale je podle mně vynucené vyšší kompresí - DCT je bezeztrátová, při porovnání rozdílů dvou snímků je také důležité, jako moc komprimovované (uříznuté hodnoty blízké nule) porovnávám. Při vyšší kompresi může tedy dojít ke většímu ignorování rozdílů mezi snímky (na tom principu podle mně pracuje Rebuilder). |