Głębokie uczenie pomoże uniknąć zapychania internetu przez wideo





Wideo wypełnia internet. Około 75% całego ruchu to treści wideo, a do 2021 r. liczba ta ma wzrosnąć trzykrotnie.

Jeśli nie chcemy, aby nienasycony popyt na filmy z kotami i usługi przesyłania strumieniowego na zawsze zatykał rurociągi, będziemy musieli polegać na kompresji wideo. Jest to proces ponownego kodowania pliku wideo, aby był mniejszy niż oryginał. Ale obecne techniki kompresji są stare według standardów współczesnej technologii. Podstawy istniejących algorytmów kompresji wideo nie zmieniły się znacząco w ciągu ostatnich 20 lat, twierdzą Oren Rippel i współpracownicy WaveOne, firmy zajmującej się głębokim uczeniem, która próbuje przenieść kompresję wideo w XXI wiek.

Ci goście wykorzystali głębokie uczenie, aby opracować nowy algorytm kompresji, który znacznie przewyższa istniejące kodeki wideo. Według naszej wiedzy jest to pierwsza metoda oparta na uczeniu maszynowym, jak mówią.



Podstawową ideą kompresji wideo jest usunięcie z kodu zbędnych danych i zastąpienie ich krótszym opisem, który nadal pozwala na późniejsze odtworzenie wideo. Większość kompresji wideo odbywa się w dwóch krokach.

Pierwsza, kompresja ruchu, szuka poruszających się obiektów i próbuje przewidzieć, gdzie będą się znajdować w następnej klatce. Następnie, zamiast rejestrować w każdej klatce piksele skojarzone z poruszającym się obiektem, algorytm koduje tylko kształt obiektu wraz z kierunkiem poruszania się. Rzeczywiście, niektóre algorytmy patrzą na przyszłe klatki, aby jeszcze dokładniej określić ruch, chociaż to oczywiście nie działa w przypadku transmisji na żywo. W rezultacie skompresowane wideo po prostu przekłada obiekt na ekran.

Drugi etap kompresji usuwa inne nadmiarowości między jedną ramką a następną. Dlatego zamiast rejestrować kolor każdego piksela na błękitnym niebie, algorytm kompresji może zidentyfikować obszar tego koloru i określić, że nie zmienia się on przez kilka następnych klatek. Więc te piksele pozostają w tym samym kolorze, dopóki nie zostaną poinstruowane, aby się zmieniły. Nazywa się to kompresją resztkową.



Nowe podejście, którego pionierami są Rippel i spółka, wykorzystuje uczenie maszynowe do ulepszenia obu tych technik kompresji. Weźmy na przykład kompresję ruchu, w której techniki uczenia maszynowego zastosowane przez zespół znalazły nowe redundancje oparte na ruchu, których konwencjonalne kodeki nigdy nie były w stanie wykorzystać.

Na przykład odwrócenie głowy osoby z widoku z przodu na widok z boku zawsze daje podobny wynik. Tradycyjne kodeki nie będą w stanie przewidzieć twarzy profilu z przodu, mówią Rippel i spółka. Z kolei nowy kodek uczy się tego rodzaju wzorców czasoprzestrzennych i wykorzystuje je do przewidywania przyszłych ramek.

Innym problemem jest rozdzielenie dostępnego pasma pomiędzy ruchem a kompresją resztkową. W niektórych scenach ważniejsza jest kompresja ruchu; w innych największe korzyści zapewnia kompresja szczątkowa. Optymalny kompromis między nimi różni się w zależności od klatki.



Tradycyjne algorytmy kompresji mają to trudne, ponieważ kompresują oba procesy oddzielnie. Oznacza to, że nie ma łatwego sposobu na ich wymianę.

Rippel i spółka obchodzą ten problem, kompresując oba sygnały jednocześnie i wykorzystując złożoność ramki, aby zdecydować, jak rozłożyć przepustowość między nimi w najbardziej efektywny sposób.

Te i inne ulepszenia pozwoliły naukowcom stworzyć algorytm kompresji, który znacznie przewyższa tradycyjne kodeki. Podczas kompresji wideo w wysokiej rozdzielczości (1080p) zwykłe algorytmy kompresji, takie jak H.265 i VP9, ​​tworzą pliki o 20% większe niż te tworzone przez nowy algorytm.



Zyski są jeszcze większe w przypadku filmów o standardowej rozdzielczości, takich jak HEVC/H.265 i AVC/H.264. Zwykle tworzą one pliki do 60% większe niż nowe podejście zespołu.

To imponujący zysk, który może znacznie zmniejszyć rozmiar i czas pobierania związany z wideo online.

Nowe podejście nie jest jednak pozbawione wad. Być może najważniejsza jest jego wydajność obliczeniowa — czas potrzebny na zakodowanie i dekodowanie filmów. Na platformie Nvidia Tesla V100 i na filmach o rozmiarze VGA nowy dekoder działa ze średnią prędkością około 10 klatek na sekundę, a koder działa z prędkością około 2 klatek na sekundę. Ma to ograniczone zastosowanie do transmisji na żywo.

Oczywiście naukowcy spodziewają się znacznych ulepszeń, gdy wyjdą poza etap weryfikacji zasad. Obecna prędkość nie jest wystarczająca do wdrożenia w czasie rzeczywistym, ale ma zostać znacznie poprawiona w przyszłych pracach, mówią.

Oznacza to, że dzięki takiemu podejściu do uczenia maszynowego, przyszli cybersurferzy powinni być w stanie pobierać swoje gry o tron ​​lub filmy z kotami w rekordowym czasie i strumieniować swoje mecze piłkarskie w wysokiej rozdzielczości bardziej wydajnie niż kiedykolwiek.

Nr ref.: arxiv.org/abs/1811.06981 : Nauczona kompresja wideo

ukryć