|
Ostatnio dodane
Najchętniej pobierane
|
|
|
|
|
VideoAudio.pl - serwis o technologii video/audio WITAMY:
bigmike85jako nowego użytkownika.
Zarejestrowanch Uzytkowników: 3855
Super Administratorzy: 3
Administratorzy: 1 Użytkownicy: 3851
Użytkownicy Online:
Gości Online: 31
Najwiecej online: 106
Bylo: 27.05.2008-19:56 Twoje IP to: 38.107.179.210
|
|
|
|
|
|
Poprzedni | Następny| Standard kodowania AVC/H.264 i konfiguracja kodeka x264 |
Słowo wstępne
Standard
kodowania obrazu H264/AVC (Advanced Video Coding) został
stworzony w 2003 roku przez przedstawicieli dwóch grup:
MPEG (Moving Pictures Experts Group) oraz VCEG (Video
Coding Experts Group) z ITU (International
Telecommunication Union). Eksperci obu tych grup
połączyli swe siły tworząc organizację Joint Video Team
(JVT).
Biorąc pod uwagę klasyfikację MPEG,
standard ten nosi nazwę MPEG-4 10 (ISO 14496-10).
Opierając się zaś na klasyfikacji ITU został on nazwany
jako H.264. Ostateczna i oficjalna nazwa dla nowego
standardu Advanced Video Coding (AVC) została wybrana
przez MPEG.
W porównaniu do profilu MPEG-4 ASP
(Advanced Simple Profile) AVC/H.264 zawiera dwa
zaawansowane systemy kodowania entropijnego:
Context-Adaptive Variable Length Coding (CAVLC)
oraz Context-Adaptive Binary Arithmetic Coding
(CABAC).
AVC/H.264 definiuje cztery podstawowe
profile kodowania: Baseline, Main, Extended oraz High
Profile.
Profil Baseline Profile oferuje nam klatki
typu I oraz P, obsługuje materiał progresywny oraz
system CAVLC.
Main Profile oferuje nam klatki typu I, P
oraz B, obsługuje materiał progresywny oraz z przeplotem
i używa zarówno CAVLC jak i CABAC.
Extended Profile może dać klatki typu I, P,
B, SP, SI oraz stosowany może być dla materiału
progresywnego i systemu CAVLC.
High Profile oferuje wszystko to, co profil
Main Profile, a poza tym tryb kompresji
intraframe wewnątrz segmentów 8x8, możliwość własnych
ustawień kwantyzacji, więcej formatów dla yuv i
inne.
Enkoder x264 reprezentuje standard
kodowania H.264/AVC. W porównaniu z obecną generacją
kodeków MPEG-4 (XviD, DivX) zapewnia 45-procentową
redukcję wielkości strumienia danych przy niezmienionej
jakości obrazu. Przewaga kodeka tkwi w algorytmach
kompresji, które przy takiej samej jakości obrazu są
efektywniejsze niż w MPEG-4. H.264 dzieli bowiem obraz
na mniejsze elementy i wykorzystuje zmienne wielkości
bloków oraz wektory przesunięcia. H.264 wykorzystuje
specyficzną transformantę (Separatable Integer
Transformation) stworzoną do analizowania bloków o
rozmiarze 454 pikseli. Pozwala to uzyskać znacznie
lepszą jakość obrazu przy takiej samej wielkości danych.
Obsługę kodeka posiadają takie aplikacje jak Virtual Dub
czy Gordian Knot, dzięki którym możemy przeprowadzić
kompresję materiału DVD.
Konfiguracja
kodeka x264
Okno główne
Single Pass-Bitrate - umożliwia kompresję za
pomocą jednego przebiegu z ustaloną przez nas wartością
bitrate.
Single Pass-Quantizer - umożliwia kompresję
za pomocą jednego przebiegu z ustalonym przez nas stałym
kwantyzatorem.
Multipass - Umożliwia kodowanie
wieloprzebiegowe - First pass - pierwszy
przebieg, podczas którego gromadzone będą informacje o
obrazie wykorzystane w kolejnych przebiegach. -
Nth pass - kolejne przebiegi, podczas których
dokonywać się będzie właściwa kompresja. - Target
Bitrate (kbps) - zdefiniowana dla kolejnych
przebiegów wartość bitrate - Fast first pass -
szybki pierwszy przebieg - skraca czas trwania
pierwszego przebiegu. - Statsfile name - nazwa
pliku stats, w którym zapisywane są informacje o
kompresowanym materiale.

Okno Advanced Składa się ono z
kilku różnych pól, z których każde omówimy szczegółowo
poniżej.

CABAC - to system kodowania entropicznego.
Algorytm ten w odróżnieniu od algorytmu CAVLC, sam
oblicza wartości dla poszczególnych tabel kodowych, co
procentuje lepszą zdolnością do kompresji.
Deblocking filter - w odróżnieniu od
filtrowania typu pre-filtering dokonywanego na źródle
(np. VirtualDub lub AviSynth) oraz post-filtering
dokonywanego na pliku finalnym za pomocą dekodera, tutaj
filtrowaniu poddawana jest każda pojedyncza ramka
podczas procesu kompresji. Następuje to w momencie, w
którym klatka została już zakodowana, ale zanim jeszcze
stała się referencyjną dla kolejnych klatek. Zapobiega
to powstawaniu efektów i artefaktów w postaci bloków,
szczególnie przy niskim bitrate. Proces ten jednak
znaczenie wydłuża czas kompresowania. -
Strength - ustalamy siłę działania filtra, -
Threshold - ustalamy granicę działania
filtra.
Max. reference frames - definiujemy do ilu
klatek wstecz mogą odwoływać się klatki P oraz B.
Max B-frames - ustalamy maksymalną liczbę
sąsiadujących ze sobą klatek typu B. Póki co nie zaleca
się, by była ona większa niż 1.
B-frames prediction mode - rodzaj rozdziału
bitów między klatkami B w celu zwiększenia współczynnika
kompresji. Może mieć charakter: - spatial -
przestrzenny - temporal - czasowy

Max IDR-frame interval - oznacza maksymalną
odległość między klatkami IDR. Nazywamy w ten sposób
klatki typu I. W profilu AVC klatki I możemy spotkać
również w grupach GOP. W odróżnieniu od MPEG-4 ASP, w
AVC dana klatka typu P może odwoływać się również do
klatki typu P znajdującej się przed klatką typu I.
Klatki typu IDR to takie klatki I, do których nie może
się odwoływać żadna z wcześniejszych następujących
kolejno po sobie klatek.
Min IDR-frame interval - oznacza minimalną
odległość między klatkami IDR. Wymuszając minimalną
odległość między klatkami IDR można zwiększyć kompresję
niektórych dynamicznych scen.
FourCC - definiuje FourCC czyli czteroznakowy
kod przypisywany plikowi video w celu jego identyfikacji
z danym dekoderem koniecznym do odtworzenia obrazu.

Keyframe boost (%) - definiuje dodatkowy
nakład bitów, jaki ma zostać przydzielony klatkom
kluczowym.
B-frames reduction (%) - definiuje w jakim
stopniu ma zostać zredukowane bitrate klatki B w
porównaniu do poprzedniej klatki typu P.
Bitrate variability (%) - wyznacza jak bardzo
może zmieniać się bitate w całym materiale. Ustawienie
wartości na 0 da nam obraz o stałej wartości, czyli CBR.

W polu Macroblock Partitions widzimy cztery
podobne opcje, które definiują obszar działania kodeka w
obrębie klatek. Mamy do wyboru: 8x16, 16x8 and 8x8
P-frame search, 8x16, 16x8 and 8x8 B-frame
search, 4x8, 8x4 and 4x4 P-frame search oraz
4x4 Intra search. Zaznaczając lub odznaczając
dane z nich decydujemy jakie makrobloki będą stosowane
przez enkoder w danym rodzaju klatki. Kodek dokona
wyboru, które z dostępnych w danym szeregu będą
najlepsze dla danego materiału video.
Subpixel refinement precision - określa
stopień precyzji detekcji ruchu w obrazie. Im większa
wartość, tym większa precyzja, lepsza jakość scen
dynamicznych oraz dłuższy czas kompresji. Bez względu na
wybrany poziom (1-5) detekcja typu QPel jest zawsze
używana.
Artykuł dostępny jest również w formie dokumentu PDF
Aby ściągnąć plik skorzystaj z menu kontekstowego myszy i opcji Zapisz element docelowy jako... |
| |
|
|
| Poprzedni | Następny
 |
29-07-2006.r 14:11
artykuł ten troszkę nie aktualny i prosiłbym o ile można o napisanie na temat funkcji odszumiania zaimpletowanej w kodeku - czy wogóle warto sobie tym zaprzątać głowę czy lepiej kożystać z filtrów odszumiających w programach kodujących 
|
Zaloguj się, żeby móc dodawać komentarze.
|
|
|
|
|
|
|