Универсално видеокодиране (VVC / H.266)
С нарастването на консумацията на цифрови медии към ултра‑висока резолюция 4K, 8K и потапяща 360‑градусова виртуална реалност, изискванията за пропускателна способност натискат съществуващите стандарти за компресия до техните граници. Versatile Video Coding (VVC), официално обозначен също като ITU-T H.266 и ISO/IEC 23090-3 (MPEG-I Part 3), представлява последния еволюционен скок в технологията за видео компресия. Разработен съвместно от Joint Video Experts Team (JVET) — сътрудничество между ITU‑T SG 16 WP 3 и ISO/IEC JTC 1/SC 29/WG 11 — VVC беше завършен през юли 2020 г. с една единствена, ясна цел: да намали битовия поток на данните приблизително с 50% спрямо предшественика си, HEVC (H.265), като запази идентично визуалното качество.
1. Какво е VVC (Универсално видеокодиране)?
Versatile Video Coding е блоково‑хибриден видео кодек, създаден да обхване целия спектър от видео приложения. За разлика от по‑старите кодеци, оптимизирани предимно за традиционно излъчване и стрийминг, VVC беше проектиран от нулата, за да поддържа:
- Видео с висока кадрова честота (HFR) (до 120 кадъра в секунда и повече)
- Висок динамичен диапазон (HDR) и широк цветови гама (BT.2020)
- Кодиране на съдържание от екрана (компютърно генериран текст, графика, рендериране на потребителски интерфейс)
- Омнидирекционно $360^\circ$ видео за AR/VR среди
- Адаптивно превключване на резолюцията без забавяне на възпроизвеждането на видеото
- Комуникации с ниска латентност в реално време (игри, видеоконферентност)
Чрез постигане на безпрецедентни коефициенти на компресия, VVC позволява на излъчващите, доставчиците на стрийминг и мобилните мрежи да предоставят премиум визуални изживявания върху ограничени мрежови връзки.
2. Ключови характеристики на VVC / H.266
| Характеристика | Спецификация / Възможност |
|---|---|
| Орган за стандартизация | JVET (ITU-T & ISO/IEC MPEG) |
| Ефективност на компресията | ~50% намаляване на битрейта в сравнение с HEVC (H.265); ~75% над AVC (H.264) |
| Поддръжка на максимална резолюция | До 16K ($15360 \times 8640$) |
| Цветови профили и дълбочина на битовете | 8-битов до 16-битов цвят, 4:0:0, 4:2:0, 4:2:2 и 4:4:4 хрома семплиране |
| Поддържани кадрови честоти | До 120 fps и променливи кадрови честоти |
| Поддръжка на динамичен диапазон | SDR, HDR10, HLG и персонализирани характеристики на предаване |
| Основни файлови контейнери | .mp4, .mkv, .ts и необработени битови потоци (.vvc / .266) |
Основни архитектурни предимства:
- Икономия на честотната лента: Предоставя кристално чисто 4K видео при битрейт, традиционно необходим за 1080p Full HD.
- Истинска многопрофилна гъвкавост: Родни профили, предназначени за гейминг, споделяне на екран, потапящо сферично видео и наблюдение.
- Оптимизирано за облачно и CDN доставяне: Съществено намалява разходите за разпространение и съхранение за големите платформи за видео стрийминг.
3. Подробни технически характеристики на VVC
VVC включва сложни алгоритмични подобрения във всяка фаза на хибридната рамка за видеокодиране:
A. Разширено разделяне на блокове (QTMT структура)
Докато HEVC се базираше на структура от блокове Quad-Tree (QT) с максимален размер на Coding Tree Unit (CTU) от $64 \times 64$, VVC въвежда Quad-Tree с Multi-Type Tree (QTMT).
- Максималният размер на CTU е разширен до $128 \times 128$ пиксела.
- Позволява рекурсивно разделяне в бинарни дървета (хоризонтално/вертикално) и тернарни дървета (тристепенно разделяне).
- Позволява на енкодера да оформя блоковете за разделяне плътно около сложни граници на обекти, фини текстури и плавни градиенти.
B. Подобрено вътрешно предсказване
За отделни кадри (I-frames), VVC значително обогатява моделирането на пространствена посока:
- 67 Intra Prediction Modes: Разширени от 35 режима на HEVC, за да улавят прецизни ориентации на ръбовете.
- Wide-Angle Prediction: Безпроблемно моделира ъгли, надвишаващи конвенционалните 45‑градусови диагонали за не‑квадратни блокове.
- Cross-Component Linear Model (CCLM): Предсказва цветови (chroma) проби директно от реконструирани яркостни (luma) проби, намалявайки натоварването при предаване на цветови данни.
- Multiple Reference Line (MRL): Използва несъседни линии от пиксели по границата за предсказване на сложни фонови области.
C. Прецизно междублоково предсказване и компенсация на движение
За времево предсказани кадри (P‑кадри и B‑кадри), VVC въвежда:
- Sub-block Temporal Motion Vector Prediction (SbTMVP): Разделя блок на под‑блокове $8 \times 8$, като присвоява уникални векторни движения към всяка под‑област.
- Affine Motion Inter Prediction: Моделира сложни реални трансформации като мащабиране, ротация, разтегляне и перспектива, използвайки 4‑параметърни или 6‑параметърни модели.
- Bi-Directional Optical Flow (BDOF): Подобрява компенсацията на движение на ниво отделни проби, без да добавя допълнително сигнализиране.
- Decoder-Side Motion Vector Refinement (DMVR): Фина настройка на векторите на движение директно в декодера, спестявайки предавани битове.
D. Разширено филтриране в цикъла
За да се премахнат визуалните артефакти (блокиране, рингинг и размазване на цветовете), VVC използва 4-етапен каскад от филтри:
- Deblocking Filter (DBF): Изглажда дискретностите на границите между блоковете.
- Sample Adaptive Offset (SAO): Коригира отместванията на ръбовете и лентите.
- Adaptive Loop Filter (ALF): Използва 25 диамантовидни форми на филтри за възстановяване на детайли с висока честотна текстура.
- Cross-Component ALF (CC-ALF): Подобрява детайлите на хромата, използвайки информация от луминанс канала.
E. Вградено подизображение и поддръжка на всенасочено
VVC определя Subpictures като независимо декодируеми правоъгълни региони в рамките на видео платно. Това позволява на VR шлемовете да предават само високорезолюционния изглед, към който потребителят гледа, докато периферното зрение се предава в по-ниско качество (фокално стрийминг), спестявайки до 70 % от пропускателната способност за VR стрийминг.
4. Как да създадем и кодираме VVC файлове
Кодирането на VVC съдържание изисква софтуерни библиотеки, които реализират стандарта H.266. Най-зрялата отворена кодова енкодер е VVenC, разработен от Fraunhofer Heinrich Hertz Institute (HHI).
Метод 1: Използване на Fraunhofer VVenC (самостоятелен CLI)
- Изтеглете предварително компилираните бинарни файлове на VVenC или ги изградете от изходния код чрез GitHub (
https://github.com/fraunhoferhhi/vvenc). - Изпълнете командата, за да кодирате некопресиран YUV или суров видео поток:
vvencapp --input input_yuv420p.yuv --size 1920x1080 --fps 60 --preset medium --qp 28 --output output.266
Метод 2: Кодиране с FFmpeg (с активиран libvvenc)
Съвременните персонализирани версии на FFmpeg, компилирани с поддръжка за libvvenc, позволяват директно преобразуване от стандартни видео файлове (.mp4, .mov, .mkv):
ffmpeg -i input.mov -c:v libvvenc -preset medium -b:v 2500k -tag:v vvc1 -c:a aac -b:a 128k output_vvc.mp4
Предварително зададени настройки за кодиране на ключове:
faster/fast: Най-подходящо за бързо прототипиране и живи тестове.medium: Препоръчителен баланс между степента на компресия и времето за кодиране.slow: Максимално визуално качество и най-висока компресия на данните за архивиране и разпространение на VOD.
5. Как да отворим и пуснем VVC видео файлове
Тъй като VVC е най-новият стандарт, софтуерът за медийни плейъри и хардуерните декодери активно внедряват поддръжка. Ето как да възпроизвеждате VVC съдържание днес:
1. Fraunhofer VVdec плейър
Fraunhofer HHI предоставя VVdec, ултра-бърз, многопоточен софтуерен декодер с отворен код.
- Изтеглете
vvdecappот GitHub. - Пуснете или декодирайте битови потоци:
vvdecapp -b output.266 -o decoded_output.yuv
2. MPV Media Player (Препоръчителен GUI/CLI плейър)
Последните версии на MPV, компилирани с libvvdec или най-новия бекенд на FFmpeg, могат да възпроизвеждат VVC видео в контейнери .mp4 или .mkv без допълнителни настройки:
mpv output_vvc.mp4
3. VLC Media Player
- VLC интегрира поддръжка за VVC в своите версии 4.0.
- Изтеглете VLC 4.0 Nightly Build, отворете плеъра и плъзнете‑пуснете видеофайла
.mp4или.vvcдиректно в прозореца за възпроизвеждане.
4. MPC-HC / MPC-BE с LAV Filters (Windows)
Потребителите на Windows могат да възпроизвеждат VVC файлове, използвайки MPC-HC (Media Player Classic Home Cinema) в комбинация с най-новите нощни версии на LAV Filters, които включват поддръжка за декодиране на VVC.
Сравнение VVC, HEVC и AV1
| Метрика | H.264 (AVC) | H.265 (HEVC) | AV1 | H.266 (VVC) |
|---|---|---|---|---|
| Година на завършване | 2003 | 2013 | 2018 | 2020 |
| Ефективност на битрейт | Базова линия ($0%$) | ~40-50% по-добре | ~50-55% по-добре | ~65-75% по-добре |
| Лицензиране | Ройалти (MPEG LA) | Роялти (множество пулове) | Без роялти (AOMedia) | Роялти (Access Advance и др.) |
| Хардуерно декодиране | Универсална | Универсална | Широко разпространено | Нараства в водещи SoC |
| Целеви случай на употреба | Наследени уеб/мобилни | 4K излъчване/OTT | Уеб видео (YouTube/Netflix) | 8K/16K, AR/VR, следващо поколение OTT |
Често задавани въпроси (FAQ)
**Q1: Какво е основното предимство на видеоформата VVC (H.266) пред HEVC? A1: VVC осигурява приблизително 50% спестяване на данни спрямо HEVC, като запазва същото визуално качество.
**Q2: Дали VVC / H.266 е безплатен, отворен видео формат? A2: Не, VVC е стандарт с роялти, одобрен от ISO/ITU, лицензиран чрез патентни пулове като Access Advance, въпреки че съществуват отворени кодери/декодери.
**Q3: Кои видео контейнерни формати поддържат VVC видео битови потоци?
A3: VVC битовите потоци се пакетиране предимно в стандартни файлове с контейнери .mp4, .mkv (Matroska) и .ts (MPEG Transport Stream).
**Q4: Може ли VVC да се справи ефективно със споделяне на екран и стрийминг на видеоигри? A4: Да, VVC включва специализирани инструменти за кодиране на екранно съдържание (SCC), които компресират компютърни интерфейси, текст и синтетична графика с изключителна острота.
**Q5: Кога мобилните телефони и смарт телевизорите ще поддържат нативно хардуерно VVC декодиране? A5: Основните доставчици на силиций и производителите на смарт телевизори започнаха да включват хардуерни VVC декодери в премиум чипсети от 2023–2024 г., като масовото приемане се разширява бързо до 2026 г.
Обобщение & бъдещи перспективи
Versatile Video Coding (VVC / H.266) поставя златния стандарт за ефективност на компресията и структурна гъвкавост. Със съкращаване наполовина на изискванията за мрежов пропускателен капацитет за 4K и отваряне на реалистични канали за доставка за 8K, 16K, фовеативна виртуална реалност и облачни игри, VVC е готов да захрани следващото десетилетие от цифрови визуални преживявания по целия свят.