Kodowanie filmów 3D na Blu-ray

Po sukcesie Avatara producenci multimediów bez reszty stawiają na nowy trend – 3D. Nowe generacje telewizorów i odtwarzaczy Blu-ray przeniosą technologię 3D pod strzechy, gwarantując przeżycia nie gorsze od kinowych. Równocześnie Hollywood wprowadza kolejną generację płyt wideo: na rynek trafiają właśnie pierwsze krążki Blu-ray 3D. Prawdziwego ich wysypu należy spodziewać się podczas szału świątecznych zakupów.
3D w domu? Nie ma sprawy! Z nami poznasz nowy standard kodowania.
3D w domu? Nie ma sprawy! Z nami poznasz nowy standard kodowania.

Od momentu rozszerzenia standardu H.264 (patrz grafika u dołu) o Stereo High Profile wiadomo już, jak konwertować filmy tak, aby były zgodne z nowymi dyskami BD. Określenie “stereo” odnosi się w tym przypadku do widzenia stereoskopowego, a więc oczywistego faktu, że postrzegamy nasze otoczenie parą oczu. Efekt widzenia przestrzennego powstaje dopiero w mózgu, na podstawie wrażeń uzyskiwanych przez patrzenie pod różnym kątem. Dokładnie tak ma się sprawa z filmem: telewizor 3D generuje oddzielne obrazy – dla prawego i lewego oka. Teoretycznie ilość miejsca potrzebnego do zapisania filmu na płycie wzrasta dwukrotnie.

Film na Blu-ray 2D jest zapisany z szybkością 24 pojedynczych klatek na sekundę, płyta 3D wymaga ich dwa razy więcej (48 obrazów). Najprostszym sposobem byłoby więc zapisanie dwóch strumieni wideo na jednej płycie Blu-ray, ale w tym miejscu pojawia się problem: maksymalny bitrate wideo jest ograniczony do 40 Mb/s. Na płycie 3D pozostaje więc tylko 20 Mb/s na każdą ze ścieżek, co nie zapewnia najlepszej jakości obrazu.

Multiview Video Coding (MVC) eliminuje to wąskie gardło. W koncepcji wykorzystano fakt, że obraz przeznaczony dla lewego oka w niewielkim stopniu różni się od tego dla oka prawego i w dużej części można jeden wyliczyć z drugiego. Dlatego film MVC zawiera wprawdzie dwa strumienie, ale jeden (Base View) jest zakodowany jak wideo 2D, a drugi (Non Base View) nie może być odtwarzany bez pierwszego. Ta technologia określana nazwą InterView Prediction stanowi podstawę nowego standardu Stereo High Profile H.246. Jej prawidłowe użycie redukuje o 50 procent ilość miejsca potrzebnego na drugi strumień.

H.264 jest używany przez wiele urządzeń. Jest to możliwe dzięki podziałowi na profile, które określają warunki ramowe dozwolonych technologii kompresji, począwszy od profilu Baseline dla smartfonów, aż po Stereo High Profile dla 3D Blu-ray, który zakłada wykorzystanie wydajnego odtwarzacza.

H.264 jest używany przez wiele urządzeń. Jest to możliwe dzięki podziałowi na profile, które określają warunki ramowe dozwolonych technologii kompresji, począwszy od profilu Baseline dla smartfonów, aż po Stereo High Profile dla 3D Blu-ray, który zakłada wykorzystanie wydajnego odtwarzacza.

W kompresji wideo sztuka polega na tym, aby przy jak najmniejszym bitrate zaoferować jak najlepszą jakość. Enkoder MPEG-2 lub H.264 zapisuje zaledwie ułamek klatek w postaci pełnych obrazów (I-frames). Enkoder wylicza oba pozostałe typy klatek – P i B – z I-frames.

Wyliczane są przy tym dwa rodzaje informacji: różnice w zawartości obrazu, czyli różnice wartości jasności i kolorów, a także wektory ruchów. Odsyłają one do bloków, które mają tę samą zawartość, ale znajdują się w innym miejscu wyliczanej klatki. Odrębny przypadek stanowią bloki oznaczone jako “skipped”: w nich zawartość jednej i drugiej klatki nie zmienia się.

I-Frame i wyliczone z niej klatki tworzą tzw. Group of Pictures (GOP). Jeden GOP obejmuje z reguły od 12 do 24 klatek, czyli od pół do jednej sekundy filmu. Oprócz klatek I-frame zawiera również co najmniej jedną P-frame, która wynika z poprzedniej I-frame. Oszczędność miejsca jest gigantyczna: w filmie HD o szybkości transmisji 7 MB/s jedna klatka I-frame zajmuje około 100 kB, klatka P-frame tylko 50 kB, a jedna klatka B-frame zaledwie 20 kB.

W H.264 klatki B-frame mogą być wyliczane również z innych klatek B-frame, co powoduje konieczność wprowadzenia hierarchii, ponieważ odtwarzacz musi wiedzieć, które klatki powinien zdekodować wcześniej, aby były gotowe do użycia w pamięci podręcznej. Chcąc wyświetlić klatkę B-frame poziomu trzeciego, dekoder potrzebuje odpowiednich ramek I-, P- i B-frame poziomów 1 i 2.

Filmy 3D takie jak

Filmy 3D takie jak “Potwory kontra Obcy” mają złożoną strukturę klatek.

Klatki: hierarchia w 3D

Hierarchia klatek jest równocześnie podstawą InterView Prediction w 3D. GOP 3D zawiera również jedną klatkę I-frame jako obraz startowy dla Base View. Reszta składa się klatek B-frame, przy czym klatki dla Non Base View są wyliczane ze swoich odpowiedników w Base View – hierarchia klatek typu B jest więc rozszerzana o jeden poziom. Jasność i kolory w obu równoczesnych klatkach B-frame nieco się różnią, ale nie jest to różnica duża. Im mniejsza różnica, tym lepiej można skompresować klatkę i obrazy dla Non Base View zajmują ogółem tylko połowę miejsca potrzebnego dla Base View.

W filmach 3D dla lewego i prawego oka wyświetlane są różne obrazy (klatki). Ponieważ klatki przeznaczone dla lewego oka w całości są obliczane z klatek dla oka prawego, odtwarzanie jest możliwe również na playerach 2D – przy wykorzystaniu połowy klatek. W pozostałym zakresie struktura klatek odpowiada normalnemu strumieniowi wideo: klatka I-frame jest kodowana tak jak JPEG, a oba pozostałe typy klatek zapisują wartość obrazu zawsze jako różnicę w stosunku do klatki, do której się odnoszą.

W filmach 3D dla lewego i prawego oka wyświetlane są różne obrazy (klatki). Ponieważ klatki przeznaczone dla lewego oka w całości są obliczane z klatek dla oka prawego, odtwarzanie jest możliwe również na playerach 2D – przy wykorzystaniu połowy klatek. W pozostałym zakresie struktura klatek odpowiada normalnemu strumieniowi wideo: klatka I-frame jest kodowana tak jak JPEG, a oba pozostałe typy klatek zapisują wartość obrazu zawsze jako różnicę w stosunku do klatki, do której się odnoszą.

Jednym z najważniejszych wymagań, jakie przemysł postawił nowemu profilowi, była kompatybilność wstecz w stosunku do dotychczasowych odtwarzaczy. Płytę 3D można odtwarzać w normalnym odtwarzaczu Blu-ray. Jest to możliwe dzięki podziałowi klatek na Base View i Non Base View. Odtwarzacz 2D bowiem nie rozpoznaje klatek Non Base View i odtwarza tylko klatki Base View, które widzi jako normalny strumień Blu-ray. Trik jest możliwy, bo dane strumienia H.264 na poziomie binarnym są dodatkowo pakowane i wysyłane w pakietach NAL (Network Abstraction Layer). Klatki Non Base View znajdują się w nowym typie pakietu, z którym radzą sobie tylko dekodery MVC w odtwarzaczach 3D. Nawet jeśli jeszcze nie wiemy, kiedy zdecydujemy się na przesiadkę na technologię 3D, możemy spokojnie już rozpocząć gromadzenie płyt 3D.