SVT-AV1 4.2.0 (स्केलेबल व्हिडिओ टेक्नॉलॉजी AV1) लायब्ररी रिलीज करण्यात आली आहे, ज्यामध्ये AV1 व्हिडिओ एन्कोडिंग फॉरमॅट एन्कोडर आणि डीकोडरची अंमलबजावणी समाविष्ट आहे, जे x86_64 आणि ARM प्रोसेसरमध्ये असलेल्या हार्डवेअर पॅरलल कॉम्प्युटिंग एक्सटेंशनद्वारे वेगवान केले जाते. ऑन-द-फ्लाय व्हिडिओ ट्रान्सकोडिंग आणि व्हिडिओ-ऑन-डिमांड (VOD) सेवांमध्ये वापरण्यासाठी योग्य कामगिरी पातळी साध्य करण्यासाठी इंटेलने नेटफ्लिक्सच्या भागीदारीत हा प्रकल्प तयार केला होता. सध्या ओपन मीडिया अलायन्स (AOMedia) च्या मार्गदर्शनाखाली हा विकास सुरू आहे, जो AV1 व्हिडिओ एन्कोडिंग फॉरमॅटच्या विकासाचे निरीक्षण करतो. हा प्रकल्प पूर्वी OpenVisualCloud प्रकल्पात विकसित करण्यात आला होता, जो SVT-HEVC आणि SVT-VP9 एन्कोडर देखील विकसित करतो. कोड BSD परवान्याअंतर्गत वितरित केला जातो.
SVT-AV1 может быть собран для систем на базе любых архитектур, для которых имеется компилятор с поддержкой стандарта C99, но наилучшая производительность достигается на системах x86_64, для которых применяются ассемблерные оптимизации на базе инструкций SIMD (желательно наличие в CPU поддержки AVX2, но в качестве минимума достаточно и SSE2). Потребление памяти зависит от числа задействованных при кодировании процессорных ядер, регулируемых опцией «—lp». Из-за усложнения применяемых в AV1 алгоритмов, для кодирования данного формата требуется существенно больше ресурсов, чем для других форматов.
SVT-AV1 च्या नवीन प्रकाशनातील बदलांपैकी:
- Реализован новый режим оптимизации TUNE-VMAF, позволяющий экономить до 15% битрейта при том же уровне визуального качества в соответствии с метрикой VMAF, оценивающей человеческое восприятие, и незначительном уменьшении качества по метрике PSNR, оценивающей точность воспроизведения исходных данных на уровне пикселей.
- Реализован однопоточный режим кодирования, который можно использовать с режимом случайного доступа (Random Access).
- В пресетах M3-M5 проведена оптимизация компромиссов качество/скорость при кодировании в режиме случайного доступа.
- Добавлены новые опции командной строки: —cqp, —enable-intrabc, —hbd-mds, —enable-kf-tf.
- Добавлена поддержка вывода в raw-формате OBU в дополнение к ранее поддерживаемому формату IVF.
- Проведена оптимизация компромиссов качество/скорость при кодировании в режиме «—rtc» (Real-Time Communications), а также повышена эффективность сжатия и снижено потребление памяти при кодировании в низких разрешениях. Добавлены параметры «—max-intra-bitrate-pct» и «—max-inter-bitrate-pct».
- Добавлен режим кодирования в реальном времени с постоянным битрейтаом — CBR (Constant Bitrate), реализованный с использованием фильтра Калмана и поддерживающий цикличное обновление с размазыванием сложных изменений по нескольким кадрам и перекодирование кадров с худшим качеством, если они не укладываются в заданный битрейт.
- В режиме «—rtc» добавлена поддержка динамического изменения настроек битрейта и пресетов на лету.
- Добавлен API для управления опорными кадрами, поддерживающий LTR (Long-Term Reference) и двухуровневую структуру наборов опорных кадров (RPS, Reference Picture Set).
- Переработана реализация энтропийного кодирования, в которой обеспечена прямая запись в буфер сегментов (tile-buffer), упрощён арифметический кодер и реализовано отсечение остаточных данных после квантования.
- Добавлены новые оптимизации CDEF (Constrained Directional Enhancement Filter) для исключения размытия в областях смены контраста, MD (Mode Decision) и ME (Motion Estimation) для быстрой обработки статичных объектов.
- Оптимизировано определение наличия на видео изображения с содержимым экрана для применения специфичных методов кодирования для сохранения чёткости текста.
- Добавлена сборочная опция ENABLE_STACK_PROTECTOR для отключения флага «-fstack-protector», позволяющая убрать накладные расходы на проверку переполнения стека.
- Добавлены дополнительные оптимизации для архитектуры ARM и задействованы расширенные инструкции NEON для ускорения вычислений.
स्त्रोत: opennet.ru
