Алгоритмы сжатия в системах видеонаблюдения
На сегодняшний день все современные системы видеонаблюдения так или иначе являются цифровыми, то есть в конечном виде информация всегда имеет цифровое представление. В связи с этим для более эффективного хранения и передачи по сети обязательно используется сжатие видео по определённым алгоритмам.
Далее речь пойдёт о некоторых базовых понятиях сжатия видео, которые дают небольшое представление о их работе.
Основные понятия
Практически все знают, что видео представляет из себя последовательность статичных изображений, меняющихся во времени. А эти изображения состоят из массива пикселей.
Пиксель - это наименьший логический элемент изображения, который меняет свой цвет в зависимости от его содержания.
Кадр - это массив всех пикселей, которые генерируются видеокамерой в определённый момент времени. На данный момент в системах видеонаблюдения самые распространённые размеры кадров: 960x576 (WD1), 1280x720 (HD), 1920x1080 (FullHD), 2688x1520 (4Mpix) и 2560x1920 (5 Mpix).
Частота кадров – это скорость, с которой чередуются кадры на мониторе. В большинстве случаев частота 25 кадров в секунду является максимальной. На профессиональном жаргоне оборудование, способное записывать и генерировать видеопоток с частотой 25 к/с, имеет приставку RealTime (с англ. «реальное время»). При такой частоте человеческий глаз воспринимает динамическое изображение плавным и без дёрганий как в реальности.
Битрейт - это количество бит информации, используемое для хранения или передачи видео или аудио контента в единицу времени (бит/с). Битрейт также отображает степень сжатия потока данных. В системах видеонаблюдения битрейт может постоянным (СBR – Constant Bitrate) или переменным (Variable Bitrate). Постоянный битрейт соответствует заданным параметрам и остаётся неизменным на протяжении всего файла. Его главное достоинство в том, что можно предсказать размер конечного файла. При переменном битрейте кодек выбирает его значение, исходя из параметров желаемого качества. В течение всего кодируемого видеофрагмента битрейт может изменяться.
Опорные кадры (i - кадры) – кадры, которые содержат полную информацию о текущем снимке.
Предсказанные кадры (p - кадры) – кадры, содержащие информацию только о разнице между текущим и предыдущим снимком.
Все применяемые в системах видеонаблюдения алгоритмы сжатия основываются на технологиях с потерями. То есть в процессе сжатия отсекается часть избыточной информации.
Почему видео необходимо сжимать?
Для наглядности рассчитаем видеопоток без компрессии с FullHD камеры со скоростью 25 кадров в секунду. Итак, имеем кадр с разрешением 1920x1080 и суммарным количеством пикселей 2073600. Представим один пиксель в самой простой форме кодирования цвета - RGB24, где под составляющие Red, Green и Blue выделяется по 8 бит. То есть 1 пиксель будет занимать 24 бита информационного пространства. Следовательно, одному кадру c разрешением 1080p потребуется 49766400 бит или 47,5 Мбит. Таких кадров в секунду хотелось бы иметь 25. Отсюда «вытекает» битрейт без сжатия 47,5 x 25 = 1187.5 Мбит/с = 1,16 Гбит/с, то есть для хранения часового фрагмента видео с 2 Mpix IP видеокамеры потребуется 500 Гб дискового пространства, а для передачи потока пропускной способности гигабитной сети будет недостаточно.
Следует отметить, что обычно максимальный битрейт видеопотока c идентичными параметрами при сжатии кодеком H.264 обычно составляет 8 Мбит/с, что почти в 150 раз меньше, чем у несжатого видео. Из этого очевидно, что без алгоритмов сжатия системы видеонаблюдения стоили бы в десятки, а то и в сотни раз дороже того, что мы имеем сейчас.
Современные алгоритмы сжатия
Время не стоит на месте, требования к качеству картинки постоянно растут. При этом пропускная способность каналов связи и ёмкость накопителей совсем бы не поспевали за этим ростом, если бы не постоянное совершенствование алгоритмов сжатия.
Стандарт H.264
На данный момент в системах видеонаблюдения уже достаточно длительное время доминирует алгоритм сжатия H.264.
Компрессия H.264 заключается в исключении избыточных данных и сокращении их объема по многочисленным алгоритмам, подробно которые рассматривать в данной статье мы не будем.
При настройке кодирования в системах видеонаблюдения встречаются три основных профиля кодека H.264:
Baseline профиль подразумевает минимальную нагрузку на процессор декодирующего устройства при несильном сжатии. Предназначен для просмотра видеокамеры в локальной сети на компьютере.
Main профиль создаёт среднюю нагрузку на процессор при сильном сжатии. Этот профиль универсальный и подходит для производительных ПК и для большинства видеорегистраторов.
High профиль обеспечивает максимальное сжатие с сильной нагрузкой на устройство декодирования. Битрейт при работе с таким профилем будет в 2-3 раза ниже, чем при использовании baseline профиля. При использовании видеосервера на базе процессоров Intel или AMD, в отличие от видеорегистратора, нагрузка будет распределяться на работу всей системы.
Перспективный стандарт H.265
Формат сжатия H.265 High Efficiency Video Coding (HEVC) стал значительным шагом вперед в области кодирования цифрового видеосигнала, главным преимуществом которого является почти в 2 раза увеличенная эффективность по сравнению с предшествующим стандартом H.264. То есть благодаря новому алгоритму для передачи сигнала требуется вдвое меньшая пропускная способность сети, а для хранения вдвое меньшая ёмкость накопителей. Это позволяет использовать программные и аппаратные средства c гораздо меньшими затратами.
Кстати, новый стандарт поддерживает разрешения вплоть до 35 Mpix (8192 х 4320 (8K)), так как максимальный размер блока увеличен до 4096 пикселей (у H.264 – блок 256 пикселей).
Параллельное кодирование, предусмотренное стандартом H.265, даёт возможность одновременной обработки разных частей кадра, что существенно ускоряет воспроизведение и даёт возможность в полной мере использовать современные многоядерные процессоры.
Кроме этого, новый стандарт получил технологию произвольного доступа к изображению (Clean Random Access), которая позволяет произвести декодирование случайно выбранного кадра без необходимости обработки предыдущих в потоке изображений. Это особенно желательно, когда при мониторинге требуется оперативно переключиться на определённый канал.
Несмотря на все преимущества, H.265 ещё далёк от повсеместного использования. Во-первых, из-за того, что для его использования необходима обновлённая аппаратная часть, во-вторых, чтобы использовать кодек необходима покупка патента, а в-третьих, имеются некоторые расхождения между эффективностями, полученными в лабораторных и реальных условиях.
Вероятнее всего в долгосрочной перспективе H.265 всё-таки заменит H.264 в качестве главного решения для компрессии видео.
Оптимизированный формат H.264+
Алгоритм сжатия H.264+ - инновационный формат, разработанный специально для использования в системах видеонаблюдения. По сути H.264+ это модифицированный кодек H.264 (AVC), который оптимизирован под задачи видеонаблюдения с учётом всех особенностей.
На видео, полученном с охранных видеокамер, сцена всегда постоянна и практически не изменяется, представляющие интерес подвижные объекты могут отсутствовать на протяжении длительного времени, а шумы, возникающие в плохих условиях освещения, ощутимо влияют на качество изображения. В обновлённом формате все эти особенности были учтены и обрабатываются следующими технологиями, повышающими степень сжатия:
- кодирование с предсказанием на основе модели фона;
- шумоподавление;
- долгосрочное управление видеопотоком.
Кодирование с предсказанием. Все современные алгоритмы сжатия сочетают внутрикадровое и межкадровое сжатие. При внутрикадровом сжатии опорные i-кадры кодируются независимо от других кадров, а предсказанные p-кадры используют i-кадры и другие p-кадры (межкадровое сжатие). При межкадровом сжатии эффективность сильно зависит от выбора опорного кадра. Так как фон в видеонаблюдении стабилен, то его лучше всего использовать в качестве опорного i-кадра, тем самым повысить эффективность сжатия неподвижных объектов и снизить поток данных, приходящийся на опорные кадры. Интеллектуальный алгоритм предсказания выбирает опорные кадры среди тех, в которых меньше всего движущихся объектов.
Шумоподавление. Обычно подвижные объекты кодируются вместе со статичным фоном для сохранения качества. Вместе с фоном кодируются и фоновые шумы. В формате H.264+ c помощью специальных алгоритмов фон отделяется от движущегося объекта и кодируется с более высокой степенью сжатия. Такая технология позволяет частично подавлять шумы и уменьшать битрейт.
Долгосрочное управление видеопотоком. При фоновом подавлении шума битрейт видео зависит от размера части фона изображения. Например, при съёмке на улице в дневное время на фон приходится очень малая часть изображения, так как в это время в кадре находится большое количество подвижных людей и автомобилей. При этом битрейт ощутимо возрастает. И наоборот, ночью битрейт уменьшается, так как движущихся объектов становится гораздо меньше. Формат H.264+ имеет алгоритмы отслеживания интенсивности видеопотоков и в зависимости от времени суток автоматически изменяет степень сжатия. Такая технология управления видеопотоком позволяет не только уменьшить объём видеоархива, но и сохранить качество изображения движущихся объектов.
Недостатки сжатия видео
При использовании алгоритмов сжатия иногда на изображении можно отчётливо наблюдать так называемые артефакты. Например, разбиение изображения на блоки 8x8 пикселей или потерю мелких деталей изображения (размытие).
Заключение
Алгоритм сжатия H.264 по-прежнему остается самым популярным стандартом для подавляющего большинства систем видеонаблюдения. На сегодняшний день он полностью выполняет свои функции. Инновационный формат H.265 пока широкого распространения не получил в силу некоторых особенностей, но имеет все шансы заменить своего предшественника. Оптимизированный алгоритм H.264+ также глобального применения не имеет, так как используется только несколькими производителями.
Комментарии