SIF1 v.1.10 демонстрационные видеофрагменты.
Данные видеофайлы выложены для демонстрации возможностей нового кодека.
-
Для просмотра выложенных здесь видеофрагментов необходимо скачать и установить последнюю версию нового кодека.
Более подробно об используемой технологии сжатия можно прочитать тут.
-
Основное назначение этого обзора - показать применимость нового кодека для решения множества различных задач, связанных с кодированием видео.
Поэтому в данном обзоре представлен весь спектр видеофрагментов от видео высокого разрешения до видео с очень низкими битрейтами, закодированного для передачи по сети.
-
В статье все видеофрагменты отсортированы по уровню качества, начиная с FullHD видео и кончая видеофайлами, закодированными со сверхнизким битрейтом.
-
Большинство представленных в статье видеофрагментов сохранено без звука, чтобы не нарушать авторские права.
Теперь перейдем собственно к демонстрационным файлам.
Первая группа примеров. Видео, закодированное в FullHD качестве.
После первого этапа оптимизации декодера для просмотра представленных ниже FullHD видеофрагментов достаточно любого современного двуядерного процессора с тактовой частотой не ниже 2 гигагерц. Однако я рекомендую использовать в качестве выходного рендера картинки Haali Renderer, так как обычный EVR рендер в Media Player Classic дает слишком большое падение скорости декодирования. В дальнейшем системные требования для декодирования FullHD видео еще уменьшатся.
В то же время, пользуясь случаем, хочу пояснить ситуацию со столь высокими системными требованиями текущего декодера.
Реальная вычислительная сложность SIF-а находится на уровне H264 или даже несколько ниже. Текущий код декодера не имеет полной мультипроцессорной оптимизации и не использует современные simd расширения процессоров, ограничиваясь использованием древнего набора MMX инструкций. При соответствующем уровне оптимизации кода вполне возможно декодирование FullHD видео с битрейтом до 30-40 мегабит в секунду на двуядерном процессоре с тактовой частотой ниже 2 гигагерц. Дело только за оптимизацией, на которую нужно потратить определенное время и усилия. В этом деле может помочь любой человек, т.к. я открываю исходный код декомпрессора.
С аппаратным декодированием SIF-видео тоже не должно быть проблем, т.к. основная часть SIF-алгоритма прекрасно распараллеливается и может быть реализована в трехмерных ускорителях с поддержкой DirectX 9, не говоря уже о более современных моделях. Единственной алгоритмической проблемой на сегодня является модуль беспотерьного сжатия, который начинает просаживать производительность декомпрессора на битрейтах в районе 20 мегабит в секунду и выше. Поэтому я предполагаю выпустить расширение базового профиля, предусматривающее многопоточное беспотерьное сжатие и поддерживающее 2, 4 и 8 параллельных потоков, что позволит без просадок в производительности декодировать видео с битрейтами до 200 мегабит в секунду и выше с использованием многоядерных процессоров.
Чтобы показать весь возможный диапазон использования кодека, я взял два совершенно различных по своему содержимому видеофрагмента.
Фрагмент первый. Анимация.
В качестве исходника используется BD-rip начала 2 серии OVA-шки "Higurashi no Naku Koro ni Rei". Битрейт исходника был около 4 мегабит в секунду, то есть оригинал уже был достаточно сильно пережат.
-
Разрешение сжатого файла 1920x1072 пикселя. Файл был сжат в режиме Quality based c уровнем V.D., равным 37. Продолжительность сжатого видео 8 минут 40 секунд. Битрейт сжатого видео 2 мегабита в секунду.
-
Данный пример хорошо демонстрирует адаптивные возможности SIF-преобразования. В сжатом видео на границах резких линий практически отсутствует звон. И это при том, что в кодеке нет никакой постфильтрации, а видео сжато очень сильно.
Данный кадр был уменьшен для удобства просмотра. При клике на картинку можно увидеть полное изображение в формате PNG (Размер картинки 1,74 мегабайта).
Скачать. Размер 124 Мегабайта.
Фрагмент Второй. Очень шумное видео.
-
В качестве исходника был взят фрагмент BD-рипа фильма "The Wrestler". Битрейт исходника находится в районе 16 мегабит в секунду.
-
Этот фильм снят в "псевдолюбительской" манере на крайне шумную пленку. Соответственно, при сильном сжатии оригинала с помощью кодека, использующего постфильтрацию (например, h264), шумы неизбежно отфильтруются и картинка станет "цифровой". При этом художественный эффект, связанный с "псевдолюбительской" манерой съемки, будет утерян.
-
SIF1 по-другому сжимает сильно зашумленные исходники. При сильном сжатии в первую очередь режется динамика шума. При этом оригинальные текстуры на изображении сохраняются и картинка не выглядит "цифровой". Ни один кодек, использующий постфильтрацию, на такое не способен, если он, конечно, не добавляет потом шумы в распакованное видео. В представляемом кодеке, напоминаю, никакой постобработки не производится.
-
Разрешение сжатого файла 1920x800 пикселей. Файл был сжат в режиме Quality based с различными уровнями V.D. В первом случае V.D. был равен 90, во втором 58. При сжатии обычного видео уровень V.D. в 90 означает неудовлетворительное качество видео, но в данном случае отфильтровалась только динамика шумов. Продолжительность сжатого видео 6 минут 33 секунды. Никаким дополнительным обработкам исходник не подвергался.
-
Данный пример хорошо демонстрирует уникальную особенность представляемого кодека - гораздо лучшее, чем у кодеков с постфильтрацией, сохранение текстур на сильно сжатых видеофайлах. Вдобавок искажения, вносимые SIF-ом, гораздо более приятны глазу, так как делают картинку "аналоговой", а не "цифровой".
Пример первый. Сжатие с битрейтом 4 мегабита.
Данный кадр был уменьшен для удобства просмотра. При клике на картинку можно увидеть полное изображение.
Скачать. Размер 187 Мегабайт.
Пример второй. Сжатие с битрейтом 2 мегабита.
Данный кадр был уменьшен для удобства просмотра. При клике на картинку можно увидеть полное изображение.
Скачать. Размер 94 Мегабайта.
Вообще, хочу заметить, что алгоритм работы SIF1 изначально разрабатывался и оптимизировался под сжатие HD видео и именно на таких исходниках этот кодек раскрывает весь свой потенциал.
Кстати, битрейт в районе 2 мегабит в секунду означает, что на однослойный DVD влезает около 4 часов видео в FullHD разрешении. Но если отвлечься от рекордов сжатия, то все вышеизложенное означает, что практически любой фильм можно сжать в FullHD разрешении представляемым кодеком на однослойный DVD. И при этом он туда поместится с высоким качеством и несколькими пятиканальными дорожками.
Вторая группа примеров. Видео, закодированное в HalfHD качестве.
В качестве исходника был использован FullHD трейлер фильтма "Тhe fountain".
-
Данный исходник содержит большое количество разнородных сцен - с быстрым и медленным движением, ярких, темных и т.д. Поэтому он очень хорошо подходит для тестирования кодеком. Вдобавок он весьма плохо сжимается, что хорошо с точки зрения проверки работы кодеков в тяжелых режимах.
Разрешение сжатого видео 1280х720 (HalfHD). Для изменения размера оригинала использовался фильтр Spline64Resize из пакета для обработки видео AviSynth. Больше никаких обработок исходного видео не производилось.
Продолжительность трейлера 2 минуты и 27 секунд. Звуковая дорожка сжата в формат MP3 с битрейтом 128 килобит.
-
Битрейт сжатых примеров указан только для видео, без учета битрейта звука и overhead-а авишного контейнера.
Пример первый. Сжатие с битрейтом 2 мегабита.
Данный кадр был уменьшен для удобства просмотра. При клике на картинку можно увидеть полное изображение.
Скачать. Размер 37,4 Мегабайта.
Пример второй. Сжатие с битрейтом 1 мегабит.
Данный кадр был уменьшен для удобства просмотра. При клике на картинку можно увидеть полное изображение.
Скачать. Размер 19,9 Мегабайта.
Из вышеприведенных примеров видно, что даже при сжатии плохо жмущегося исходника со сверхнизким (для HalfHD) битрейтом в 1 мегабит получается вполне приличное качество. Это означает, что с помощью SIF1 средний фильм можно зажать в HalfHD разрешении с битрейтом в районе 1,4-1,8 мегабит и при этом получить высокое качество картинки.
Третья группа примеров. Фильм, сжатый на 1 CD.
В свое время очень популярное направление в сжатии видео, но сейчас потерявшее актуальность.
В качестве исходника был взят HD-DVDrip фильма "The Matrix Revolutions". Разрешение рипа 1280х528, а битрейт около 4 мегабит в секунду.
-
Этот фильм обоснованно можно считать эталоном плохо сжимающегося видео. Приблизительно половину продолжительности фильма составляют тяжелые и очень тяжелые для сжатия сцены. Также в фильме имеются очень темные участки, что позволяет проверять качество алгоритмов контроля битрейта в кодеках.
-
Разрешение сжатого видео 736х304 (приблизительно DVD разрешение). Для изменения размера оригинала использовался фильтр Spline64Resize из пакета для обработки видео AviSynth. Больше никаких обработок исходного видео не производилось.
-
Фильм был сжат в режиме двухпроходного кодирования со средним битрейтом 616 килобит. Данный битрейт был выбран с таким расчетом, чтобы сжатый фильм уместился на одном CD вместе со звуковой дорожкой, имеющей битрейт 128 килобит.
Из сжатого файла были вырезаны два видеофрагмента с большой и маленькой динамикой соответственно.
Фрагмент первый. Битва за Зион. Динамика.
В начале фрагмента имеются темные статичные сцены. В дальнейшем в фрагменте присутствует большое количество мелких хаотически двигающихся объектов.
- Длина фрагмента 4 минуты 15 секунд.
- Битрейт фрагмента 815 килобит в секунду.
Скачать. Размер 24,9 Мегабайт.
Фрагмент второй. Встреча в метро. Статика.
Присутствуют, как темные, так и светлые статичные сцены с низкой динамикой.
- Длина фрагмента 3 минуты 32 секунды.
- Битрейт фрагмента 294 килобит.
Скачать. Размер 7,5 Мегабайт.
Так как "The Matrix Revolutions" является одним из самых плохо жмущихся фильмов, то с уверенностью можно утверждать, что подавляющее большинство фильмов может быть зажато с помощью SIF1 на 1 CD с приблизительно так двухсидишным DivX качеством.
На этом тему кодирования на 1 CD считаю закрытой и мы переходим к последнему пункту нашей программы - кодированию со сверхнизкими битрейтами.
Четвертая группа примеров. Кодирование со сверхнизкими битрейтами и интернет-вещание.
При кодировании с низкими разрешениями SIF1 находится в неравных условиях с H264, так как в последнем используется четвертьпиксельная компенсация движения, которая еще не реализована в SIF1. Но даже в столь трудных для кодека условиях получаются довольно интересные результаты.
Для начала смертельный трюк ;) - сжатие предыдущего фильма с битрейтом 256 килобит.
Для кодирования был взят тот же исходник, что и в предыдущей группе примеров.
-
Разрешение сжатого видео 528х224 пикселей. В свое время, на заре DivX-движения фильмы жались на 1 CD с этим разрешением и это называлось DVD качеством :). С тех времен сжатие возросло где-то в 3 раза.
Для изменения размера оригинала использовался фильтр Spline64Resize из пакета для обработки видео AviSynth. Больше никаких обработок исходного видео не производилось.
Фильм был сжат в режиме двухпроходного кодирования со средним битрейтом 256 килобит. Битрейт указан без учета overhead-а авишного контейнера. Размер сжатого фильма целиком 241 мегабайт.
Из сжатого файла были вырезаны два видеофрагмента с большой и маленькой динамикой соответственно. Видефрагменты аналогичны тем, что были в предыдущем примере.
Фрагмент первый. Битва за Зион. Динамика.
В начале фрагмента имеются темные статичные сцены. В дальнейшем в фрагменте присутствует большое количество мелких хаотически двигающихся объектов.
- Длина фрагмента 4 минуты 15 секунд.
- Битрейт фрагмента 351 килобит в секунду.
Скачать. Размер 10,8 Мегабайта.
Фрагмент второй. Встреча в метро. Статика.
Присутствуют, как темные, так и светлые статичные сцены с низкой динамикой.
- Длина фрагмента 3 минуты 32 секунды.
- Битрейт фрагмента 124 килобита.
Скачать. Размер 3,26 Мегабайта.
В то же время это не совсем "честный", относительно интернет-кодирования пример, так как при многопроходном VBR кодировании максимальный локальный битрейт видео ничем не ограничивается, и он может достигать значений в несколько раз больших, чем средний битрейт файла.
Поэтому в качестве последнего примера используем закодированный в режиме ABR фильм "The Matrix".
В качестве исходника был взят HD-DVDrip этого фильма. Разрешение рипа 1280х528, а битрейт около 4 мегабит в секунду.
-
Режим сжатия ABR -это уникальная "примочка" нового кодека. Он позволяет получать то же качество изображения переданного по сети, что и режим CBR при экономии 30%-50% процентов трафика сервера, где размещено видео.
Более подробно о режиме ABR рассказано в инструкции к кодеку.
Разрешение сжатого видео 528х224 пикселей. Для изменения размера оригинала использовался фильтр Spline64Resize из пакета для обработки видео AviSynth. Больше никаких обработок исходного видео не производилось.
-
Фильм был сжат в режиме ABR со следующими параметрами - максимальный битрейт 300 килобод, уровень V.D. 40, размер буфера 8 секунд. Это означает, что гарантируется бесперебойное воспроизведение видео с любого ключевого кадра при канале передачи в 300 килобод и при условии предварительной буферизации видеопотока в течении 8 секунд. Конечно ограничение битрейта в 300 килобод -это достаточно жестоко, но зато позволяет показать работу кодека в экстремальных условиях.
-
Реальный битрейт сжатого фильма составил 236 килобит в секунду, а размер 234 мегабайта. То есть за счет режима ABR мы получили экономию трафика в 27% относительно CBR при приблизительно одинаковом качестве видео.
-
Из фильма был вырезан кусок, где возникают наибольшие просадки качества от жесткого ограничения битрейта. Это оказалась сцена по тренировке кунг-фу. Даже финальные битвы не вызывают таких просадок. Впрочем желающие могут скачать фильм целиком. Он там лежит без звука.
Последний пример. Тренировка кунг-фу.
Присутствуют сцены очень быстрого движения на фоне высококонтрастных текстур, также имеются темные сцены.
- Длина фрагмента 6 минут 16 секунд.
- Битрейт фрагмента 267 килобит в секунду.
Скачать. Размер 12,1 Мегабайта.
В целом можно сказать, что несмотря на неравные с H264 условия, качество получается не хуже чем, скажем, на YouTube, особенно с учетом того, что их "высокое качество" подразумевает битрейт в 500 килобит в секунду, из которых 400 приходится на видео...
Выводы.
В целом можно сказать, что кодек в нынешнем его виде обеспечивает визуальное качество видео (не PSNR) на уровне лучших кодеков стандарта H264. И при этом в нем отсутствует даже четвертьпиксельная компенсация движения, не говоря уже о множественных опорных кадрах, b-кадрах и т. д. Вдобавок в нем реализован только очень примитивный вариант SIF-преобразования. Это говорит о том, что реальный потенциал разработанной технологии еще далеко не раскрыт, чего нельзя сказать о существующих кодеках стандарта H264, которые давно уже "вылизаны до блеска".
Вдобавок, разработанная технология имеет ряд уникальных свойств, которых нет и не будет у "обычных" кодеков. В первую очередь это ее "аналоговый" тип искажений при сжатии, который существенно приятнее для человеческого глаза, чем "цифровое" замыливание сжатого изображения.
|