On 2023-05-27, szopen <szop@en.szop> wrote:
> On 27.05.2023 05:01, Marcin Debowski wrote:
>> Teraz przyszło mi jeszcze do głowy, że może pies jest pogrzebany
>> gdzieindziej. Może to są enkodery klasy handbrake czy tego tsunami, ale
>> jest to robione na super wydajnych maszynach. Jak wiadomo zalezność jest
>> tu taka, że przy preset'ach typu slow, fast itd. jakość dla każdego z
>> presetów jest zawsze stała (dla danego enkodera) a zmienia się wielkość
>> wynikowa pliku. Ze względów praktycznych taki "very slow" musi mieć
>> jakieś osadzenie w marketngowych realiach, czyli przekodowanie 10 min
>> filmu, nie może trwać przykładowo na jakimś i9gen12 3 doby. No ale
>> jak byłaby dedykowana maszyna o odpowiedniej mocy to pewnie 100x very
>> (slow) byłoby akceptowalne. Albo też nawet miesiąc kodowania jest
>> akceptowalny, bo to w końcu czynność dla konkretnego BD jednorazowa.
>
> Pamiętam z dawnych czasów, gdy weszły DivX'y to kolosalną różnicę w
> jakości, zwłaszcza w dynamicznych scenach, miało kodowanie
> dwuprzebiegowe, gdzie pierwszy przebieg analizował dynamikę i strumień
> danych, a drugi stosował zmienny bitrate bazując na pierwszym przebiegu.
> Dziś filmów nie koduję, ale zgaduję, że to nadal jest dostępne i nadal
> może zdziałać cuda, których oczekujesz.
Niestety to nie to. Sens 2-przebiegowego kodowania jest zresztą taki, że
dla założonej wielkości pliku wynikowego enkoder jest w stanie lepiej
rozłożyć zmienną br przez co zapewnia lepszą jakość np. w obszarach
dynamicznych, które tego wymagają. Ale jeśli nie zakładasz jakoś tej
wielkości pliku na samym początku, a np. kodujesz z tzw. stałą jakością,
to przebiegowość nie ma zaczenia.
ZCW głownie rzecz sprowadza się do analizy różnic między ramkami filmu i
od dokładności tej analizy będzie zależała jakość. Większość enkoderów
działa tak, że co pewien czas masz ramkę typu zdjęcie, tzw. I-frame,
gdzie jest to ramka niezależna, zawierająca pełen obraz. Pomiędzy tymi
ramkami są ramki, które są "przewidziane", opisane jako zmiany w
stosunku do 2ch I-ramek pomiędzy, którymi się znajdują. No i problem
polega m.in. na przewidzeniu, które fragmenty się zmieniają, jak głęboko
sięgają te zmiany i jak to wszystko wynikowo skompresować (opisać). To
jest analizowanie trójwymiarowej, olbrzymiej matrycy pod kontem trendów
w jej obrębie. Można to zrobić w czasie, krótkim, nie wychwycić
mniejszych trendów, opisać większym makroblokiem, a pewnie można zrobić
dużo lepiej.
--
Marcin
|