Експертите на компанията WaveOne заявяват, че са близки до извършване на революция в областта на видео компресията. При обработването на видео с висока резолюция (1080р) техният нов кодек с машинно обучение компресира видеото с над 20% по-добре от най-съвременните традиционни видео кодеци, включително H.265 и VP9. А при SD/VGA 640х480 пиксела разликата достига 60%.
Разработчиците твърдят, че днешните методи за видео компресия, реализирани в H.265 и VP9 с древни според съвременните стандарти. „През последните 20 години основите на алгоритмите за компресия на видео не са се променили съществено. Въпреки че са добре проектирани и щателно настроени, те са твърдо програмирани и не могат да се адаптират към твърде разностранния спектър на видеоматериалите.
Използването на машинно обучение най-после ще пренесе технологиите за видео компресия в 21 век. Новият алгоритъм на видео компресия значително превъзхожда днешните кодеци. Доколкото ни е известно, това е първият метод с машинно обучение, показал подобен резултат“ – казаха създателите на новия кодек.
Основната идея на компресията на видеото е премахването на повтарящите се излишни данни и тяхната замяна с къси описания, даващи възможност за правилното възпроизвеждане на видеото по-късно. Компресията на видеото се осъществява основно в два етапа.
При първия етап се осъществява компресия на движението. Тук кодекът търси движещите се обекти и се опитва да предскаже, къде ще се намират в следващия кадър. След това, вместо пикселите на тези обекти, алгоритъмът кодира само формата на обекта заедно с направлението на движението. Има и алгоритми, които преглеждат бъдещите кадри, за да определят движението още по-точно, но тези подход явно не става за директни предавания.
При втората стъпка се маха повтарящата се информация от настоящия кадър спрямо следващия. Така например, вместо да се записва цвета на всеки пиксел на синьото небе, компресиращият алгоритъм определя областта с този цвят и указва, че той няма да се променя в следващите няколко кадъра. Така тези пиксели си остават със същия цвят, докато не пристигне инструкция, че трябва да бъдат променени.
Новият подход, предложен от учените, за първи път използва машинно обучение за подобряване на изброените по-горе методи за компресия. Така например, при компресия на движението, машинното обучение намира повтаряща се информация, там където стандартните кодеци не могат да открият. Например, завъртането главата на човека от анфас към профил, винаги дава един и същ резултат. „Традиционните кодеци не могат да предскажат профила на лицето по анфаса“ – твърдят авторите на научната работа. „Новият кодек изучава и натрупа статистика за тези кадри и създава пространствено-времеви шаблони, които използва за прогнозиране на бъдещите кадри„.
Другият проблем е правилното разпределяне на достъпната пропускателна способност между компресията на движението и компресията на повтарящата се кадрова информация. В някои сцени е по-важна компресията на движението, а в други – статичната компресия осигурява най-добър резултат. Оптималният компромис е различен за всеки кадър.
Традиционните алгоритми обработват двата процеса отделно един от друг. Това означава, че няма лесен начин, с който се определи на кой метод да се даде преимущество и да се намери компромиса.
Учените се справят с този проблем чрез едновременната компресия по двата метода и на базата на сложността на кадъра разпределят пропускателната способност по най-ефикасния начин.
Тези и някои други съвременни методи са дали възможност за изграждането на нов алгоритъм за видео компресия, значително превъзхождащ традиционните кодеци.
Новата технология е съвсем в началото на своето развитие и има някои съществени недостатъци, отбелязва изданието MIT Technology Review. Основният недостатък е, ниската изчислителна ефективност – тоест, времето, необходимо за кодиране и декодиране на видеото. С използването на платформата Nvidia Tesla V100 и видео с VGA размер, новият декодер работи със скорост около 10 кадъра в секунда, а кодерът е още по-бавен – около 2 кадъра в секунда.
Карти на оптичния поток на H.265 (отляво) и на WaveOne (отдясно) при еднакъв битрейт
Скоростта на декодера явно не е достатъчна дори и за гледането на видео, компресирано с новия кодек. За гледане дори и на SD видео, към днешен ден се налага използването на цял изчислителен клъстър с няколко графични ускорителя. А за гледането на HD (1080р) видео ще е необходима цяла компютърна ферма.
Но технологията ще бъде усъвършенствана, ще се появят нови графични ускорители с невронни копроцесори и ще стане възможно нейното използване в телевизията и филмите.
Бенчмаркове
При тестването е направено сравнение с всички водещи комерсиални кодеци HEVC/H.265, AVC/H.264, VP9 и HEVC HM 16.0. Всички кодеци са настроени за максимум компресия.
Използвани са еднакви SD и HD клипове, често използвани за оценка на алгоритмите за компресия на видео. При SD видеоклиповете е използвана VGA колекцията Consumer Digital Video Library (CDVL), включваща 34 клипа с общо 15 650 кадъра. При HD е използвана колекцията Xiph 1080p: 22 клипа с общо 11 680 кадъра.
Не бива да се учудваме на постигнатата много висока компресия на видеото и на кардиналното превъзходство на кодека с машинно обучение над традиционните кодеци. Това е една нова област, която бързо ще се развие с излизането на новите графични ускорители със значително по-висока производителност от днешните решения.