Archiwa kategorii: Cyfrowe wideo

JPEG w trybie progressive, zigzag scan

Mało kto zdaje sobie sprawę, że standard JPEG od dawien dawna przewiduje dwa podstawowe tryby zapisu skompresowanych danych – sekwencyjny i progresywny.

Ten pierwszy jest obecnie powszechniejszy, w rozmaitych aparatach cyfrowych, tych oddzielnych czy tych wbudowanych w urządzenia mobilne tryb sekwencyjny jest szeroko stosowany, za to trudno spotkać urządzenie, które oferowałoby zapis w formie progresywnej. Za to historycznie, tryb progressive miał swój okres świetności w pierwszych latach Internetu.

Czytaj dalej JPEG w trybie progressive, zigzag scan

Dekodowanie wideo z ffmpegiem

 
W tym wpisie przedstawię podstawy użycia bibliotek, na których opiera się słynny program ffmpeg. Nie będę tu prezentował przykładów użycia ffmpega jako aplikacji. Przedstawię za to pewien minimalny kod, umożliwiający wydobycie i zdekodowanie do bitmapy  każdej klatki dowolnego wspieranego przez ffmpega pliku zawierającego wideo.

Czytaj dalej Dekodowanie wideo z ffmpegiem

Podpróbkowanie chrominancji

 
Grafika komputerowa przyzwyczaiła nas w pewnym sensie do tego, że każdy element obrazu – piksel – przedstawiony jest jako trójka składowych R-G-B, czyli czerwony-zielony-niebieski. Jest to o tyle oczywiste, że z tych trzech kolorów w drodze addytywnego mieszania można stworzyć całą przestrzeń kolorów. Jednak w cyfrowym wideo w ogóle nie znalazło się miejsce dla RGB. Ba, już w standardzie JPEG, przeznaczonym dla zdjęć, zamiast RGB pojawiają się inne literki – YUV. Przestrzenie barw to temat na osobny, obszerny wpis, tutaj skoncentruję się na YUV a w szczególności na pewnej powszechnej i nieodzownej praktyce stosowanej w kodowaniu wideo, określanej jako podpróbkowanie chrominancji (chroma subsampling).

Czytaj dalej Podpróbkowanie chrominancji