Jakie jest zastosowanie NVIDIA NVENC?

October 20, 2017 Category: , , , , , Leave your thoughts

Akceleracja sprzętowa NVIDIA NVENC dla H.264 / AVC

Kiedykolwiek zapytany o to czym jest NVIDIA NVENC, większość osób nie potrafiłaby odpowiedzieć na to pytanie. Większość filmów i programów telewizyjnych do pobrania, filmów Blu-ray, live streamów (łącznie z YouTube i iTunes) używają technologii kodowania wideo H.264, którą jest przeprowadzana przez NVIDIA NVENC. Od lat H.264 było najbardziej skuteczną metodą kompresji. Dzięki małym wymaganiom ustawień bitrate’ów oraz szerokiej dostępności, H.264 znalazł swoje miejsce we wszystkich urządzeniach do odtwarzania wideo. Przez wiele lat ta metoda kodowania była niezrównana.

H.264 przetwarza klatki wideo przy użyciu tak zwanych makrobloków. Są to próbki 16 na 16 pikseli, które pozwalają na dalsze dzielenie. W uproszczeniu, oznacza to, że możliwe jest obniżenie wartości bitrate’ów w bardziej wydajny sposób, niż miało to miejsce w starszych standardach, przy zachowaniu jednakowej jakość obrazu.

NVENC jest również używany w różnych programach do nagrywania pulpitu, jak na przykład Mirillis Action!.

Akceleracja sprzętowa NVIDIA NVENC dla H.265 / HEVC

H.264, mimo że jest bardzo popularny i powszechnie używany, nie jest najlepszą metodą kodowania obecnie w użyciu. HEVC (H.265 lub High Efficiency Video Coding) wyznacza znacznie wyższy standard niż jego poprzednik przy takich samych ustawieniach. Innymi słowy, jeśli chcemy mieć taką samą jakość oglądanego filmu w H.264, potrzebujemy tylko 50% wartości bitrate. Powiedzmy, że nagraliśmy krótki film z użyciem kodowania H.264 przy użyciu 15000 bitrate’ów, 60 klatek na sekundę w bardzo wysokiej jakości, co daje nam plik w rozmiarze 500 MB. Mimo, że film ten z pewnością wygląda niesamowicie na końcu, możliwe jest użycie kodowania HEVC / H.265, a co za tym idzie, osiągnięcie dokładnie tego samego rezultatu przy zaledwie 7500 bitrate, a rozmiar wideo zostanie zredukowany do około 250 MB.

Ale jak to w ogóle działa?

Zarówno H.264, jak i H.265 używają funkcji przewidywania ruchu, szukając niepotrzebnych obszarów w ramach jednej lub kolejnych klatek. Gdy takie niepotrzebne obszary zostaną zidentyfikowane, proces kodowania odwołuje się do innego obszaru w tych klatkach. W uproszeniu, kiedy 2 przestrzenie na klatce obrazu (na przykład niebieska ściana umieszczona 70% klatki wideo), to są one liczone jako jedna. Wspomniałem, że w przypadku H.264 obszary te mogą mieć maksymalnie 16 x 16 pikseli. Duża różnica pojawia się tutaj, ponieważ HEVC umożliwia identyfikację obszarów o rozmiarach do 64 x 64 pikseli. HEVC jest również kodowany znacznie efektywniej ze względu na ulepszoną zmienną segmentację wielkości bloku. Oznacza to, że kształt obszaru nie jest ograniczony do kwadratowych bloków. Dla tych, którzy szukają bardziej szczegółowego opisu, warto przeczytać wpis na wikipedii (LINK), który dokładniej opisuje tę kwestię.

Dostępność HEVC

Pozostaje pytanie.

Dlaczego nadal używamy technologii kodowania H.264, skoro mamy coś, co jest dosłownie dwa razy lepsze?

Odpowiedź jest na (nie)szczęście dość prosta. Kodowanie H.264 jest obecnie kompatybilne z każdym urządzeniem, jak również z usługą wykorzystującą technologię kodowania. Jednocześnie technologia kodowania HEVC, mimo tego, że jest na rynku od ponad 4 lat, jest nadal niezgodna z większością urządzeń i usług. Niektóre sprzętowe wsparcie dla HEVC obejmuje:

  1. Samsung Exynos 5 Octa 5430 SoC i nowsze modele.
  2. Apple A8 SoC i nowsze modele
  3. Nvidia GeForce GTX 960 lub nowszy (Starsze modele obsługują tylko HEVC tylko częściowo)
  4. Intel 6th Gen “Skylake” Core i nowsze modele
  5. AMD 6-gi genowy “Carizzo” APU i nowsze modele
  6. Qualcomm Snapdragon 805/615/410/208 SoC i nowsze modele.

To tylko niektóre z nich, ale w sumie nie ma wielu urządzeń obsługujących kodowanie w HEVC.

Istnieje grupa osób, które mogą być zainteresowane tym bardziej niż ktokolwiek inny – tj. streamerzy Mam na myśli nie tylko transmisje na żywo, ale także tych, którzy oglądają VoD na co dzień (a zwłaszcza użytkownicy Netflix’a). Ani YouTube, ani Twitch nie obsługują kodowania HEVC. Nawet jeśli nagrasz film w domu w HEVC, po przesłaniu filmu do serwisu YouTube, zostanie on przekształcony z powrotem w H.264. I choć rzeczywiście oszczędzasz miejsce na komputerze, a także przepustowość, aby przesyłać strumieniowo grę, a także czas na przesłanie filmu, ostateczna jakość obrazu pozostaje taka sama. Jeśli nagrywasz przy użyciu HEVC z prędkością 7500 bitów, Twój film na Youtube będzie miał taką samą jakość, jaką miałby być podczas nagrywania przy użyciu H.264 przy 7500 bitrate.

Dlaczego HEVC jest tak ograniczony, jeśli chodzi o dostępność?

Odpowiedź na to pytanie jest stosunkowo prosta. Chodzi o pieniądze. Z jednej strony producenci nowoczesnych telewizorów nie chcą tworzyć nowych modeli wspierających tę “nową” technologię, ponieważ nie ma wystarczająco dużo użytkowników, którzy mogą skorzystać z HEVC w pierwszej kolejności. Z drugiej strony takie witryny jak Netflix czy YouTube nie obsługują kodowania HEVC ze względu na fakt, że nie ma wystarczająco dużo urządzeń, które rzeczywiście mogą zobaczyć różnicę w HEVC. Jest to paradoks, który uniemożliwia wyprzedzanie zaawansowanej technologii na rynek.

Co to oznacza dla użytkowników, którzy codziennie nagrywają rozgrywkę?

Użytkownicy, którzy codziennie korzystają z komputera i którzy chcą nagrywać pulpit dość często, mogą nadal skorzystać z HEVC, o czym wspomniałem wcześniej. Niezależnie od tego, czy nagrywasz konkretny samouczek, czy też nagrywasz grę wideo, w każdym wypadku Twój film waży znacznie mniej na dysku twardym, co pozwala przechowywać dużo więcej materiału wideo. Największym problemem, jest samo live streamowanie. Przez to właśnie HEVC mija się z celem, ponieważ większość usług podobnych do YouTube’a nie wspiera kodowania H.265.

Wnioski

Podsumowując, HEVC jest znacznie lepszym wyborem do kodowania, lecz nadal nie jest obsługiwany przez wiele urządzeń i usług. Być może jest jeszcze za wcześnie, aby ta technologia stała się mainstreamowa, a może ludzie są na tyle chciwi i nie chcą wydawać dodatkowej złotówki, aby zwiększyć dostępność tej technologii. Z tego powodu H.264 pozostaje powszechnie używaną metodą kodowania.

 

Author: Mirillis Team

Leave a Reply

Your email address will not be published. Required fields are marked *