Введение
Формат видеокодирования, разработанный Microsoft.
SMPTE 421, неофициально известный как VC-1, является форматом видеокодирования. Большая его часть первоначально была разработана как проприетарный видеоформат Microsoft Windows Media Video 9 в 2003 году. С некоторыми улучшениями, включая разработку нового расширенного профиля, он был официально утвержден в качестве стандарта SMPTE 3 апреля 2006 года. Он позиционировался в основном как конкурент со сниженной сложностью по сравнению со стандартом H.264/MPEG-4 AVC. После разработки несколько компаний, помимо Microsoft, заявили о владении патентами, применимыми к данной технологии, включая Panasonic, LG Electronics и Samsung Electronics. VC-1 поддерживается в устаревшей технологии Microsoft Silverlight, в формате дисков HD DVD, который больше не используется, и в формате Blu-ray Disc.
Формат
VC 1 – это эволюция традиционной гибридной схемы видеокодирования с блочной компенсацией движения, также используемой в H.261, MPEG 1 Часть 2, H.262/MPEG 2 Часть 2, H.263 и MPEG 4 Часть 2. Он широко рассматривался как альтернатива видеокодеку ITU-T и MPEG, известному как H.264/MPEG 4 AVC. Расширенный профиль VC 1 содержит инструменты, предназначенные для кодирования как чересстрочных, так и прогрессивных видеопоследовательностей. Главной целью разработки и стандартизации расширенного профиля VC 1 была поддержка оптимизированного сжатия чересстрочного контента без предварительного преобразования в прогрессивное сканирование, что делало его более привлекательным для профессионалов вещания и видеоиндустрии, работающих с форматом 1080i. HD DVD и Blu-ray Disc приняли VC 1 в качестве поддерживаемого видеоформата, что означает, что их устройства воспроизведения должны быть способны декодировать и воспроизводить видеоконтент, сжатый с использованием VC 1. Windows Vista частично поддерживает воспроизведение HD DVD, включая декодер VC 1 и некоторые связанные компоненты, необходимые для воспроизведения фильмов HD DVD, закодированных с помощью VC 1. Microsoft назначила VC 1 официальным видеоформатом игровой консоли Xbox 360, и разработчики игр могли использовать VC 1 для полнокадрового видео, включенного в игры. Обновление от 31 октября 2006 года позволило воспроизводить все форматы Windows Media Video на Xbox 360 с диска, USB-накопителя или в режиме потоковой передачи с ПК через Windows Media Connect/Windows Media Player 11. VC 1 поддерживается консолью PlayStation 3, а проект FFmpeg также включает декодер VC 1. 24 августа 2012 года Raspberry Pi Foundation объявила о поддержке аппаратного декодирования VC 1.
Реализации кодеков Microsoft
Спецификация кодека VC-1 на данный момент реализована Microsoft в виде трех кодеков, каждый из которых имеет уникальный четырехсимвольный идентификатор.
WMV3
Простые и основные профили VC-1 полностью соответствовали существующей реализации WMV3, обеспечивая полную совместимость битовых потоков WMV3 с VC-1. Кодек WMV3 был разработан в первую очередь для поддержки прогрессивного кодирования для компьютерных дисплеев. Режим чересстрочной развертки был реализован, но быстро устарел с началом разработки Microsoft профиля WMV Advanced. В то время как прогрессивное кодирование WMV3 использовало схему цветовой субдискретизации YUV 4:2:0, устаревший режим чересстрочной развертки был реализован с использованием менее распространенной схемы YUV 4:1:1. Кодек Windows Media Video 9 (WMV3) реализует простые и основные режимы стандарта кодека VC-1, обеспечивая высокое качество видео для потоковой передачи и загрузки. "Он поддерживает широкий диапазон скоростей передачи данных – от контента высокой четкости со скоростью вполовину или треть от скорости MPEG 2 до видео для Интернета с низкой скоростью передачи, доставляемого даже через dial-up модем. Этот кодек также поддерживает загрузку профессионального качества видео с использованием двухпроходной и кодировки с переменным битрейтом (VBR)." Ряд фильмов и видео высокой четкости был выпущен в коммерческом формате под названием WMV HD. Эти материалы кодируются с использованием WMV3 Main Profile @ High Level (MP@HL).
WMVA
WMVA была исходной реализацией профиля WMV Advanced до принятия проекта VC-1 организацией SMPTE. Кодек распространялся вместе с пакетами установки Windows Media Player 10 и Windows Media Format SDK 9.5. Существуют незначительные различия в битовых потоках между WMVA и WVC1, поэтому WMVA обрабатывается другим декодером DirectShow, чем WVC1. Некоторые сторонние аппаратные и программные декодеры декодируют только контент, основанный на WMVA. По состоянию на 2006 год WMVA считается устаревшим кодеком, поскольку он не полностью соответствует стандарту VC-1.
WVC1
WVC1, также известный как Windows Media Video 9 Advanced Profile, реализует более поздний и полностью соответствующий стандарту Advanced Profile кодека VC-1. Он поддерживает переплетенное видео и не зависит от способа передачи. С предыдущей версией кодека Windows Media Video 9 Series пользователи могли передавать прогрессивное видео с битрейтом, составляющим треть от битрейта кодека MPEG-2, сохраняя при этом эквивалентное или сопоставимое качество изображения. Кодек Windows Media Video 9 Advanced Profile также обеспечивает такое же повышение эффективности кодирования для переплетенного видео. Декодер для WVC1 входит в состав Windows Media Player 11, который поставляется вместе с Windows Vista и доступен для загрузки для Windows XP. Эта реализация поддерживается в Microsoft Silverlight.
Другие варианты реализации
Из-за происхождения от кодека Microsoft WMV9, наиболее популярные реализации кодировщиков VC-1 до сих пор были разработаны Microsoft, хотя существуют и сторонние реализации. Sonic Cinevision PSE, профессиональный инструмент кодирования VC-1, преимущественно используемый при кодировании HD DVD и Blu-ray, является коммерческой версией кодировщика PEP (Parallel Encoder) и инструмента анализа VC-1 от Microsoft. Microsoft владеет разработкой кода, а Sonic Solutions – продажами и распространением. Microsoft также предоставляет отдельный SDK кодировщика VC-1, позволяющий любой компании или разработчику программного обеспечения интегрировать кодирование VC-1 в свои приложения. Альтернативные реализации VC-1 (полностью основанные на спецификациях SMPTE) были созданы компаниями Ericsson Television и MainConcept. Проект FFmpeg включает в себя бесплатный декодер VC-1.
Программное обеспечение для кодирования
Windows Media Encoder 9 Series кодирует видеофайлы, соответствующие стандарту VC-1, включая медиа WVC1 FourCC. Для обеспечения полной совместимости с VC-1 во всех трех профилях (Simple, Main и Advanced) на компьютере должны быть установлены Windows Media Format 11 Runtime или Windows Media Player 11. При установке одного из этих компонентов, Windows Movie Maker также сможет сохранять видео, совместимые с VC-1, как и любое другое приложение, разработанное на основе Windows Media Format SDK или Windows Media Codec DMO. Изначально была анонсирована Windows Media Encoder Studio Edition для профессионального кодирования, но впоследствии Microsoft отказалась от ее выпуска. Microsoft Expression Encoder, входящий в состав Expression Studio, поддерживает кодирование видео VC-1 в формат файлов Windows Media (ASF) и формат IIS Smooth Streaming. Продукты для кодирования видео от компаний Inlet, Digital Rapids, Harmonic, Envivio, Elemental Technologies, Anystream, Telestream и Rhozet поддерживают кодирование VC-1 (на основе SDK кодировщика VC-1 от Microsoft) для IPTV и веб-трансляций.
Аппаратное кодирование и декодирование
Поскольку кодирование и декодирование VC-1 требует значительной вычислительной мощности, программная реализация, работающая на центральном процессоре общего назначения, обычно медленная, особенно при работе с видеоконтентом высокой четкости. Для снижения нагрузки на процессор или для кодирования в реальном времени может использоваться специализированное аппаратное обеспечение, либо для выполнения полного процесса кодирования или декодирования, либо для аппаратной поддержки ускорения в среде, управляемой процессором. Аппаратный кодировщик VC-1 может быть реализован на базе ASIC или FPGA. Аппаратное ускоренное (также известное как аппаратно поддерживаемое) видеодекодирование может выполняться как на специализированном оборудовании, так и на универсальном многоцелевом оборудовании, таком как графические процессоры. Первое обычно встречается в потребительской электронике, например, в Blu-ray проигрывателях и мобильных телефонах 3G/4G, а второе – в персональных компьютерах. Почти все видеокарты, выпущенные после 2006 года, поддерживают некоторую степень GPU-ускоренного декодирования VC-1 на платформе Windows через DirectX Video Acceleration API. Собственный декодер Windows WMV9/VC-1 (wmvdecod.dll) поддерживает только профили DXVA A, B и C, в то время как сторонние декодеры VC-1, такие как CyberLink, поддерживают полное ускорение декодирования профиля DXVA D. На платформе MacOS отсутствует поддержка GPU-ускоренного декодирования VC-1. Аппаратное обеспечение Raspberry Pi до Raspberry Pi 4 поддерживает аппаратное ускоренное декодирование VC-1, однако для этого требуется приобретение лицензионного ключа.
Правовой статус
Хотя VC 1 тесно ассоциируется с Microsoft, в патентном пуле состоит 18 компаний-членов. Большинство патентов принадлежит четырем компаниям: Microsoft (324 патента), Panasonic (122 патента), LG Electronics (96 патентов) и Samsung Electronics (96 патентов). Как стандарт SMPTE, VC 1 доступен для реализации любому желающему, однако реализаторам может потребоваться уплата лицензионных отчислений в MPEG LA, лицензирующий орган LLC, или непосредственно членам пула, которые заявляют о владении основными патентами на формат (поскольку лицензирование не является исключительным). По состоянию на 31 июля 2023 года срок действия более 76,6% патентов истек.
Владельцы патентов
Следующие организации владеют одним или несколькими патентами в патентном пуле VC-1, согласно списку MPEG LA.