Технология Video Assistant Referee или Video Assisted Review (название, введенное FINA и, на наш взгляд, максимально точно описывающее процесс видеосудейства во всех видах спорта) испытывает взрывной рост, становится более массовой и захватывает все большее количество видов спорта, в том числе и виды спорта, обладающие малыми бюджетами. Поэтому создание доступных систем VAR является важной современной тенденцией.

Система VAR – это система видеоповторов со специализированным функционалом. Поскольку создание доступных систем из-за ограничения бюджетов является современным приоритетом, на первое место выходит правильная архитектура сервера VAR. При ограниченных средствах фактически единственный вариант архитектуры VAR сервера – это software defined сервер. То есть сервер, в котором практически все операции осуществляются с использованием CPU.

Одной из ключевых операций в серверах повторов и VAR является процесс кодирования и декодированного (encoding and decoding) некомпрессированного входного видео. За это отвечает часть программного обеспечения, которая и называется видеокодек. Видеокодек определяется 2 параметрами: стандартом компрессии и способом его реализации.

Основываясь на опыте slomo.tv, хотелось бы поговорить об основных моментах и принципах выбора кодека для систем VAR.

Для того, чтобы выбрать "правильный кодек", требуется ввести критерии оценки, которые позволят хотя бы в первом приближении производить выбор среди разных кодеков.

Первый приходящий на ум и однозначно важный критерий — это качество записанного видео и степень искажений, которые вносит кодек после цикла "encode-decode". К сожалению, нам известны ситуации, когда работающие с системами судьи VAR не могли разобрать детали происходящего и принять правильное решение, поскольку части тела спортсменов сливались во единое, что недопустимо для точного и "правильного" судейства.

Поскольку VAR является частью самого процесса телевещания (broadcasting), большинство Лиг и Федераций приходят к тому, что изображение с судейского монитора должно отдаваться в трансляцию, а значит иметь высокое качество. В большинстве случаев системы VAR получают сигналы с профессиональных телевизионных камер, поэтому отдаваемое в трансляцию видео должно быть на таком же высоком уровне.

Вторым критерием оценки является поток (bitrate), то есть объем места на жестком диске, которое занимает один сжатый кадр. Разработчики VAR систем стремятся к сокращению этого объема для экономии дискового пространства.

Казалось бы, этих двух показательных параметров должно быть достаточно для оценки и выбора кодека.

Однако не стоит забывать, что кодек используется полностью в software defined сервере, а значит он должен быть "легким" для выполнения CPU. Кодек должен занимать как можно меньше программного времени основного процессора, потому что сервер работает с многими входными каналами, записывая их, и одновременно воспроизводит до 6 каналов. Если кодек позволяет качественно сжимать видео без искажений, обеспечивает низкий битрейт, но, как следствие, потребляет много процессорного времени, он не подходит для систем многокамерного видеосудейства.

При выборе кодека стоит обратить особое внимание на то, что отлично работающий с парой каналов входного видео и обеспечивающий хорошее качество изображения кодек необязательно будет показывать такие же результаты при работе со всеми каналами из-за слишком высокой загрузки процессора.

Являясь частью программного обеспечения систем многоканальной записи и многопоточного воспроизведения, кодек должен обеспечивать возможность мгновенного воспроизведения видео с любого таймкода (TC), что является одним из основных инструментов судьи VAR. Эта возможность не должна сопровождаться дополнительными накладными расходы, поскольку они могут привести к исчерпанию производительного ресурса CPU. Картинка будет подтормаживать, зависать, а в худшем случае часть входных кадров будет потеряна.

Мы определили 4 основных параметра выбора кодека, на основании которых можно сразу же сделать некоторые выводы.

На настоящий момент низкий битрейт обеспечивается кодеками с межкадровым кодированием (interframe coding), например, H.264, H.265, MPEG-2, MPEG-4. Однако эти же кодеки характеризуются высокой удельной нагрузкой CPU. У них также есть проблемы с мгновенным покадровым позиционированием. На мой взгляд, вышеперечисленные кодеки не являются оптимальными для использования в системах VAR.

Стоит отдельно подчеркнуть, что кодеки с межкадровым кодированием (interframe кодеки) при большом количестве мелких движущихся деталей в некоторых ситуациях не могут обеспечить приемлемое качество изображения в силу своей особенности и стандартизации - ограничение битрейта. Теоретически, можно создать кодек, который может обеспечивать достаточное качество и в таких ситуациях, но это потребует еще большей загрузки CPU.

По этой причине в качестве базового кодека для видеосудейства стоит рассматривать кодеки с внутрикадровыми кодированием (intraframe кодеки). В настоящее время выбор таких кодеков достаточно большой, многие из них используются в телепроизводствe: MJPEG, Apple PrоRes, Avid DNxHD, AVC-Intra, TICO, JPEG-XS.

Благодаря тому, что данные кодеки используются для телевещания, они имеют варианты настроек, обеспечивающих приемлемое качество. Однако у кодеков с различными настройками есть разные особенности реализации и использования. Некоторые требуют обязательного лицензирования от производителя, другие требуют большой производительной мощности процессора или имеют варианты реализации, которые не обеспечивают нужного качества. Например, прекрасный кодек AVC-Intra при очень низком потоке в 100 Мбит может обеспечивать как великолепное качество, так и удовлетворительное в зависимости от реализации.

По нашему личному опыту в видеосудействе можем сказать, что наиболее подходящими кодеками для задач VAR являются Apple ProRes с высоким качеством (SQ или HQ) либо DCT-based кодеки с высоким битрейтом.