Браузеры. Программы. Социальные сети. Сервисы

Браузеры. Программы. Социальные сети. Сервисы

» » Сжатие данных h 264 mjpeg. Стандарт сжатия видеоизображения H.264

Сжатие данных h 264 mjpeg. Стандарт сжатия видеоизображения H.264

Как ожидается, новейший стандарт сжатия видеоизображения H.264 (известный также под названием MPEG-4 Part 10/AVC, последние буквы которого означают "передовое кодирование видеосигналов") станет в ближайшие годы самым востребованным видеостандартом.

H.264 - это открытый лицензированный стандарт с поддержкой самых эффективных на сегодняшний день технологий сжатия видеоизображения. Кодер H.264 без ущерба для качества изображения может снижать размер файла цифрового видео более чем на 80% по сравнению с форматом Motion JPEG и на 50% - по сравнению со стандартом MPEG-4 Part 2. Что означает гораздо меньшие требования к полосе пропускания для передачи и объему памяти для хранения видеофайла. Или же, с другой стороны, возможность получения гораздо лучшего качества видеоизображения при той же скорости передачи данных.

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

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

В отрасли охранного видеонаблюдения H.264, по всей вероятности, быстрее всего найдет свое применение в таких областях, которые требуют использования высокой частоты кадров и , например, для охранного наблюдения за автомагистралями, аэропортами и казино, где нормой является использование частоты 30/25 (NTSC/PAL) кадров в секунду. Наибольшая экономия будет достигнута за счет снижения требований к ширине полосы пропускания и объему свободного пространства для хранения данных.

Кроме того, ожидается, что H.264 ускорит переход на мегапиксельные камеры, поскольку высокоэффективная технология сжатия может снизить огромные размеры файлов и скорость их передачи без ущерба для качества изображения. Есть, впрочем, и сопутствующие требования. Хотя H.264 предлагает экономию расходов на ширину пропускного канала сети и объемы свободного пространства для хранения данных, этот стандарт требует наличия сетевых камер и станций наблюдения с более высокими техническими характеристиками.

Разработка стандарта H.264

H.264 является результатом совместного проекта группы экспертов по кодированию видео ITU-T и группы экспертов по вопросам кинотехники ISO/IEC (MPEG). ITU-T проводит координацию телекоммуникационных стандартов от имени Международного телекоммуникационного союза. ISO расшифровывается как Международная организация по стандартизации, а IEC - Международная электротехническая комиссия, которая осуществляет надзор за всеми электротехническими, электронными и сопутствующими им технологиями. Название H.264 используется со стороны ITU-T, в то время как ISO/IEC дали стандарту название MPEG-4 Part 10/AVC, поскольку он представляет собой новый элемент в их пакете MPEG-4. В пакет MPEG-4, к примеру, входит и MPEG-4 Part 2 - стандарт, применяемый в и сетевых камерах на базе IP-систем.

H.264, разработанный для исправления некоторых недостатков в предыдущих стандартах сжатия видеоизображений, достигает своих целей благодаря:

  • Улучшениям, позволяющим снизить скорость передачи данных в среднем на 50%, и предлагающими такое качество неподвижного видеоизображения, которое сравнимо с любым другим видеостандартом;
  • устойчивости к ошибкам, которая позволяет воспроизводить изображение несмотря на ошибки при передаче данных по различным сетям;
  • низкому уровню задержки и получению лучшего качества при более высоком уровне задержки;
  • простой структуре синтаксиса, которая упрощает внедрение стандарта;
  • декодированию на основе точного совпадения, при котором определяется точное количество числовых расчетов, производимых кодером и декодером, что позволяет избежать появления накапливающихся ошибок.

H.264 также обладает гибкостью, которая позволяет применять его для решения различных задач с самыми разными требованиями к скорости передачи данных. К примеру, в области развлекательного видео (телетрансляции, DVD, спутниковое и кабельное телевидение) H.264 способен обеспечить скорость от 1 до 10 мегабит в секунду с высоким уровнем задержки, в то время как для телекоммуникационных услуг H.264 может предложить скорость передачи данных менее 1 мегабита в секунду с низким уровнем задержки.

Как происходит сжатие видеоизображения:

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

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

Совместная работа пары алгоритмов называется видеокодеком (кодер/декодер). Видеокодеки, применяющие разные стандарты, как правило, несовместимы друг с другом, поэтому видеоданные, сжатые с использованием одного стандарта, нельзя распаковать с применением другого стандарта. К примеру, декодер MPEG-4 Part 2 не будет работать с кодером H.264. Причиной тому является тот факт, что один алгоритм не может корректно декодировать результат, полученный с помощью работы другого алгоритма, однако есть возможность оснастить множеством разных алгоритмов программное или аппаратное обеспечение, чтобы оно могло производить сжатие разных форматов.

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

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

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

Приведенный ниже график сравнивает скорость передачи данных при одинаковом уровне качества изображения следующих видеостандартов: Motion JPEG, MPEG-4 Part 2 (без компенсации движения), MPEG-4 Part 2 (с компенсацией движения) и H.264 (базовый профиль).

Рис.1. Для выбранной последовательности видеокадров кодер H.264 генерирует до 50% меньше бит в секунду по сравнению с кодером MPEG-4 с компенсацией движения. Кодер H.264, по меньшей мере, в три раза эффективнее, чем кодер MPEG-4 без компенсации движения, и по меньшей мере в шесть раз эффективнее, чем Motion JPEG.

Профили и уровни H.264

Объединенная группа, участвующая в определении стандарта H.264, сосредоточила свое основное внимание на создании простого и ясного решения, сводящего к минимуму количество опций и параметров. Важнейшим аспектом данного стандарта, как и в случае с другими видеостандартами, является предоставление различных возможностей в рамках профилей (наборов алгоритмических параметров) и уровней (классов функционирования) для оптимальной поддержки популярных продуктов и распространенных форматов.

В H.264 заложено семь профилей, каждый из которых рассчитан на конкретную область применения. Каждый профиль определяет, какой именно набор параметров может использовать кодер, и ограничивает сложность реализации декодера.

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

H.264 имеет 11 уровней или степеней ограничения требований к функциональности, пропускному каналу и памяти. Каждый уровень определяет скорость передачи данных и скорость кодирования в макроблоках в секунду для разрешений в диапазоне от QCIF до HDTV и выше. Чем выше разрешение, тем выше требуемый уровень.

Использование кадров

В зависимости от профиля H.264, кодером могу использоваться различные типы кадров, а именно I-кадры, P-кадры и B-кадры.

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

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

B-кадр (или промежуточный кадр двунаправленного предсказания) - это кадр, содержащий в себе ссылки и на предыдущий, и на последующий ссылочные кадры.

Рис. 2. Типовая последовательность I-, B- и P-кадров. P-кадр может ссылаться только на предшествующий I- или P-кадр, в то время как B-кадр может ссылаться как на предшествующий, и на последующий I- или P-кадры.

Когда видеодекодер восстанавливает видеоизображение посредством покадрового декодирования потока бит, процесс декодирования всегда должен начинаться с I-кадра. При использовании P-кадров и B-кадров они должны декодироваться вместе с ссылочными кадрами.

В базовом профиле H.264 используются только I- и P-кадры. Этот профиль идеально подходит для сетевых камер и видеокодеров из-за своего низкого уровня задержки, достигаемого за счет отсутствия B-кадров.

Основные методы сокращения данных

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


В рамках последовательности кадров сокращение видеоданных можно произвести с помощью таких методов, как кодирование по отличиям, которое используется в большинстве стандартов сжатия видеоизображения, в том числе и H.264. При кодировании по отличиям кадр сравнивается с ссылочным кадром (т.е. предыдущим I- или P-кадром) и кодируются только изменившиеся по отношению к ссылочному кадру пиксели. Таким образом сокращается количество пиксельных значений для кодирования и отправки.

Рис.3. В формате Motion JPEG три изображения в показанной выше последовательности кодируются и отправляются как отдельные уникальные изображения (I-кадры) без какой-либо зависимости друг от друга.


Рис.4. При кодировании по отличиям (применяемом в большинстве стандартов сжатия видеоизображения, в том числе и в H.264) полностью кодируется только первое изображение (I-кадр). В двух последующих изображениях (P-кадрах) ставятся ссылки на первое изображение в отношении статичных элементов (в данном случае в отношении дома) и кодируются только движущиеся элементы (в данном случае бегущий человек) с использованием вектора движения, что, таким образом, снижает объем информации для отправки и хранения.

Объем кодирования можно дополнительно снизить, если обнаружение и кодирование по отличиям базируется на блоках пикселей (макроблоках), а не на отдельных пикселях - следовательно, сравниваются более крупные участки и кодируются только блоки со значительными отличиями. Снижаются также и затраты, сопутствующие указанию меняющегося места действия.

Впрочем, кодирование по отличиям существенно не снизит объем данных, если видеоряд содержит много движущихся объектов. И здесь можно использовать такие технологии, как поблочная компенсация движения. Поблочная компенсация движения учитывает то, что многое из того, что создает новый кадр в видеопоследовательности, можно найти на предыдущих кадрах, но, возможно, в другом месте действия. Данная техника разделяет кадр на ряды макроблоков. Новый кадр (например, P-кадр) можно составить или "предсказать" поблочно посредством поиска совпадающего блока в ссылочном кадре. При обнаружении совпадения кодер просто кодирует положение найденного совпадающего блока в ссылочном кадре. Кодирование так называемого вектора движения требует меньше бит, чем кодирование фактического содержания всего блока.

Эффективность H.264 выводит технологию сжатия видеоизображения на новый уровень.

Стандарт H.264 вводит новую передовую схему внутреннего предсказания при кодировании I-кадров. Данная схема может значительно сократить размер (в битах) I-кадра при сохранении высокого качества при помощи успешного предсказания маленьких блоков пикселей в рамках макроблока внутри кадра. Это происходит посредством попытки найти совпадающие пиксели среди ранее закодированных пикселей, которые ограничивают новый пиксельный блок 4x4 для внутреннего кодирования. Путем повторного использования уже закодированных пиксельных значений можно значительно сократить размер данных в битах. Новое внутреннее предсказание - это ключевой элемент технологии H.264, уже доказавший свою высокую эффективность. Для сравнения: даже если в потоке H.264 использовать только I-кадры, размер получившегося файла будет гораздо меньшим, чем для потока Motion JPEG, в котором используются только I-кадры.

Рис.6. Иллюстрации того, как можно использовать некоторые режимы внутреннего предсказания при кодировании пикселей 4x4 в рамках одного из 16 блоков, образующих макроблок. Каждый из 16 блоков внутри макроблока может кодироваться с помощью разных режимов.

Рис.7. Помещенные выше изображения иллюстрируют эффективность схемы внутреннего предсказания H.264, при которой внутренне предсказанное изображение отправляется "бесплатно". Для создания изображения на выходе необходимо закодировать только содержимое остаточного изображения и режимы внутреннего предсказания.

В H.264 также улучшена поблочная компенсация движения, применяемая при кодировании P- и B-кадров. Кодер H.264 может выбирать для поиска совпадающих блоков (вплоть до субпиксельной точности) некоторых или многих участков внутри одного или внутри нескольких ссылочных кадров. Для улучшения поиска совпадений можно также настраивать размер и форму блоков. На участках, где внутри ссылочного кадра нельзя найти никаких совпадающих блоков, используются внутренне закодированные макроблоки. Высокая степень гибкости поблочной компенсации движения в H.264 эффективна в местах видеонаблюдения за большим количеством людей, где следует сохранять требуемое для этой области применения качество изображения. Компенсация движения является наиболее востребованным аспектом видеокодера, а различные способы и уровни, при которых возможна ее реализация посредством кодера H.264, помогают повысить эффективность сжатия видеоизображения.

Со стандартом H.264 типичные блочные объекты, заметные на видеоизображениях с высокой степенью сжатия по стандартам Motion JPEG и MPEG (в отличие от H.264), можно уменьшить благодаря встроенному деблокирующему фильтру. Этот фильтр автоматически сглаживает края блоков, создавая почти идеальное развернутое видеоизображение.

Рис.8. Блочные объекты на изображении с высокой степенью сжатия слева уменьшились при применении деблокирующего фильтра, как это видно на изображении справа.

Заключение

H.264 представляет собой огромный шаг вперед в технологии сжатия видеоизображения. Этот стандарт предлагает различные технологии, позволяющие добиться лучшей эффективности сжатия благодаря применению более точных схем внутреннего предсказания, а также большей устойчивости к ошибкам. Он открывает новые возможности для создания передовых видеокодеров, способных значительно повысить качества изображения, увеличить частоту кадров и разрешение при сохранении той же скорости передачи данных (по сравнению с предшествующими стандартами) или же, напротив, обеспечить видеоизображение того же качества при меньшей скорости передачи данных.

H.264 представляет собой первый образец совместной работы Международного телекоммуникационного союза, Международной организации по стандартизации и Международной электротехнической комиссии по типовым международным стандартам сжатия видеоизображения. Из-за своей гибкости H.264 нашел применение в таких разнообразных областях, как DVD высокой четкости (например, Blu-ray), видеотрансляция, в том числе трансляция телевидения высокой четкости, онлайн-хранилища видеоматериалов (например, YouTube), мобильная телефонная связь третьего поколения, в таких программах, как QuickTime, Flash и в операционной системе MacOS X на компьютерах Apple, а также в игровых видеоприставках, например, PlayStation 3. Благодаря поддержке во многих отраслях промышленности и разработки программных приложений, рассчитанных на удовлетворение потребительских и профессиональных потребностей, H.264, как ожидается, заменит другие, используемые на сегодняшний день, стандарты и методы сжатия.

С более широким распространением формата H.264 в сетевых камерах, видеокодерах и программном обеспечении для управления , разработчикам и интеграторам систем требуется уверенность в том, что выбранные ими продукты и поставщики поддерживают этот новый открытый стандарт. На данный момент сетевое видеооборудование, поддерживающее как H.264, так и Motion JPEG - это идеальный выбор, обеспечивающий наивысшую степень универсальности и интеграции.


В ближайшее время хочу выложить заметку про HD плеер WD TV Live, поэтому коснусь больной для железных плееров темы – почему возникают проблемы с проигрыванием видео. Зачастую причина в в неоправданно навороченном H.264 потоке. Стандарт H.264 предусматривает множество механизмов компрессии сигнала, вот таблица , в которой каждому профилю ставится в соответствие набор возможностей, которые могут быть задействованы в потоке. Профили бывают например такие - Constrained Baseline Profile (CBP), Baseline Profile (BP), Main Profile (MP), High Profile (HiP) и др. Еще есть понятие уровня , который определяет численные ограничения в рамках конкретного профиля. Уровни обозначаются парой чисел от 1.0 до 5.1. Профиль принято записывать в виде @L, например можно встретить такие обозначения – [email protected] или [email protected].

За эталон качества принято считать поток с Blu-Ray диска, его видеопоток соответствует профилю [email protected]. По данным таблицы [email protected] накладывает максимальное ограничение на поток – 62500 Kbps и обеспечивает следующие режимы (привожу самые высокие): 1,280×[email protected] (9), 1,920×1,[email protected] (4), 2,048×1,[email protected] (4). Число после @ – это частота кадров, а число в скобках – количество reference frames (или reframes). Reframes – это количество кадров на которые может ссылаться текущий в процессе декодирования. Этот параметр накладывает требования на объем памяти декодера и возможно его увеличение еще влечет некоторую дополнительную нагрузку на декодер. Так вот для Blu-Ray в full hd разрешении этот параметр равен всего лишь 4-ем. На тех blu-ray, что были под рукой проверил – это действительно так, как и соответствие данному профилю. Однако видео скачанное из сети нередко имеет выставленные более высокие профили, а количество reframes иногда достигает 19! Посмотреть свойства потока можно бесплатной утилитой . Я проделал это и обнаружил что порядка 20% имеющихся фильмов имеет завышенные reframes и завышенные профили. В этом подмножестве достаточно типичен профиль [email protected]. Для информации приведу его характеристики: поток до 300000 Kbps (!), максимальные режимы: 1,920×1,[email protected] (16), 4,096×2,[email protected] (5), 4,096×2,[email protected] (5). Такой безумный битрейт физически не поддерживается blu-ray диском (максимальный битрейт – 48 Mbit) и он не пролезает через 100 Mbps сетку, судя по максимальным разрешениям профиль предназначен для кодирования видео для цифровых кинотеатров. Почему так происходит понятно – люди просто выставляют все на максимум и сжимают, совершенно не включая голову, а в итоге имеем проблемы, с которыми к счастью героически борются создатели HD плееров, но с переменным успехом. Скоро напишу о том, как получается у них бороться.

Добавлено: 2017-08-31 12:11:30

На сегодняшний день все современные системы видеонаблюдения так или иначе являются цифровыми, то есть в конечном виде информация всегда имеет цифровое представление. В связи с этим для более эффективного хранения и передачи по сети обязательно используется сжатие видео по определённым алгоритмам.

Основные понятия

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

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

Кадр - это массив всех пикселей, которые генерируются видеокамерой в определённый момент времени. На данный момент в системах видеонаблюдения самые распространённые размеры кадров: 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+ также глобального применения не имеет, так как используется только несколькими производителями.

  • Перевод

H.264 - стандарт сжатия видео. И он вездесущ, его используют для сжатия видео в интернете, на Blu-ray, телефонах, камерах наблюдения, дронах, везде. Все сейчас используют H.264.

Нельзя не отметить технологичность H.264. Он появился в результате 30-ти с лишним лет работы с одной единственной целью: уменьшение необходимой пропускной способности канала для передачи качественного видео.

С технической точки зрения это очень интересно. В статье будут поверхностно описаны подробности работы некоторых механизмов сжатия, я постараюсь не наскучить с деталями. К тому же, стоит отметить, что большинство изложенных ниже технологий справедливы для сжатия видео в целом, а не только для H.264.

Зачем вообще сжимать что-либо?

Видео в несжатом виде это последовательность двумерных массивов, содержащих информацию о пикселях каждого кадра. Таким образом это трёхмерный (2 пространственных измерения и 1 временной) массив байтов. Каждый пиксель кодируется тремя байтами - один для каждого из трёх основных цветов (красный, зелёный и синий).

1080p @ 60 Hz = 1920x1080x60x3 => ~370 Мб/с данных.

Этим практически невозможно было бы пользоваться. Blu-ray диск на 50Гб мог бы вмещать всего около 2 мин. видео. С копированием так же будет не легко. Даже у SSD возникнут проблемы с записью из памяти на диск.

Поэтому да, сжатие необходимо.


Обязательно отвечу на этот вопрос. Но сперва я покажу кое-что. Взгляните на главную страницу Apple:

Я сохранил изображение и приведу в пример 2 файла:

Это впечатляет, какие еще приёмы существуют?

Цветовая обработка

Человеческий глаз не особо хорошо различает близкие оттенки цвета. Можно легко распознавать наименьшие различия в яркости, но не цвета. Поэтому должен существовать способ избавления от лишней информации о цвете и сэкономить ещё больше места.

В телевизорах, цвета RGB преобразуются в YCbCr, где Y это компонента яркости (по сути яркость черно-белого изображения), а Cb и Cr компоненты цвета. RGB и YCbCr эквиваленты в плане информационной энтропии.

Зачем же тогда усложнять? RGB разве не достаточно?

Во времена чёрно-белых телевизоров, была только компонента Y. А с началом появления цветных телевизоров у инженеров встала задача о передаче цветного RGB изображения вместе с чёрно-белым. Поэтому вместо двух каналов для передачи, было решено кодировать цвет в компоненты Cb и Cr и передавать их вместе с Y, а цветные телевизоры уже сами будут преобразовывать компоненты цвета и яркости в привычный им RGB.

Но вот в чём хитрость: компонента яркости кодируется в полном разрешении, а компоненты цвета лишь в четверть. И этим можно пренебречь, т.к. глаз/мозг плохо различает оттенки. Таким образом можно уменьшить размер изображения в половину и с минимальными отличиями. В 2 раза! Машина будет весить 10 кг!

Данная технология кодирования изображения со снижением цветового разрешения называется цветовой субдискретизацией . Она используется повсеместно уже давно и относится не только к H.264.

Это самые значительные технологии в уменьшении размера при сжатии с потерями. Нам удалось избавиться от большинства детализации и сократить информацию о цвете в 2 раза.

А можно ещё больше?

Да. Обрезание картинки это лишь первый шаг. До этого момента мы разбирали отдельно взятый кадр. Пришло время взглянуть на сжатии во времени, где нам предстоит работать с группой кадров.

Компенсация движения

H.264 стандарт, который позволяет компенсировать движения.
Компенсация движения? Что это?

Представьте, что вы смотрите теннисный матч. Камера зафиксирована и снимает с определенного угла и единственное что движется это мячик. Как бы вы закодировали это? Вы бы сделали что и обычно, да? Трёхмерный массив пикселей, две координаты в пространстве и один кадр за раз, так?

Но зачем? Большая часть изображения одинакова. Поле, сетка, зрители не меняются, единственное что движется это мячик. Что если определить единственное изображение фона и одно изображение мячика, движущегося по нему. Не сэкономило бы это значительно места? Вы видите к чему я клоню, не так ли? Компенсация движения?

И это именно то, что H.264 делает. H.264 разбивает изображение на макроблоки, обычно 16х16, которые используются для расчёта движения. Один кадр остаётся статичным, обычно его называют I-кадр , и содержит всё. Последующие кадры могут быть либо P-кадры , либо B-кадры . В P-кадрах вектор движения кодируется для каждого макроблока на основе предыдущих кадров, таким образом декодер должен использовать предыдущие кадры, взяв последний из I-кадров видео и постепенно добавляя изменения последующих кадров пока не дойдёт до текущего.

Ещё интереснее обстоят дела с B-кадрами, в которых расчёт производится в обоих направлениях, на основании кадров идущих до и после них. Теперь вы понимаете почему видео в начале статьи весит так мало, это всего лишь 3 I-кадра, в которых мечутся макроблоки.

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

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

Выглядит впечатляюще. Теперь что?

Теперь мы подведём черту, используя традиционное энтропийное кодирование без потерь. Почему нет?

Энтропийное кодирование

После этапов сжатия с потерями, I-кадры содержат избыточные данные. В векторах движения каждого из макроблоков в P-кадрах и B-кадрах много одинаковой информации, так как зачастую они двигаются идентично, как это можно наблюдать в начальном видео.

От такой избыточности можно избавиться энтропийным кодированием. И можно не переживать за сами данные, так как это стандартная технология сжатия без потерь, а значит всё можно восстановить.

Вот теперь всё! В основе H.264 лежат вышеупомянутые технологии. В этом и заключаются приёмы стандарта.

Отлично! Но меня разбирает любопытство узнать, сколько же весит теперь наша машина.

Исходное видео было снято в нестандартном разрешении 1232x1154. Если посчитать, то получится:

5 сек. @ 60 fps = 1232x1154x60x3x5 => 1.2 Гб
Сжатое видео => 175 Кб

Если соотнести результат с оговорённой массой машины в одну тонну, то получится вес равный 0.14 кг. 140 граммов!

Да, это магия!

Конечно же я в очень упрощённом виде изложил результат десятилетних исследований в этой сфере. Если захотите узнать больше, то

Технология сжатия видео была камнем преткновения в проектировании систем видеонаблюдения со времён появления интернет-протокола (IP) в 1990-е годы. С тех пор стандарты для кодирования видео прошли много этапов исследований. Сегодня внимание отрасли привлёк к себе стандарт сжатия H.265 или HEVC (High Efficiency Video Coding - высокоэффективное кодирование видеоизображений). Это следующая версия после H.264, которая в настоящее время является доминирующей технологией кодирования IP-видео. Мы попытаемся разобраться каковы её перспективы на сегодняшний день и в будущем.

Интеграция технологии H.265 может быть затруднена доступностью оптимизированного H.264, лучшего кодирования для систем видеонаблюдения

H.265: разбираемся что и зачем

Стандарт H.265 стал значительным шагом вперед в области кодирования видео. Одно из его преимуществ в том, что он удваивает эффективность сжатия H.264. Так что при передаче изображений аналогичного качества H.265 использует только половину битрейта предыдущего кодека. Благодаря этому требования к пропускной способности и хранению резко сокращаются, что позволяет более выгодно использовать и аппаратные, и программные средства. Пользователи, по сути, получают больше возможностей с меньшими затратами. Из-за этого большинство производителей аппаратного обеспечения поддерживают внедрение стандарта сжатия H.265 для видеонаблюдения. Так что скоро мы сможем увидеть H.265 в роли следующего стандарта.

Но несмотря на все плюсы, H.265 всё ещё далёк от массового внедрения. Возникает вопрос: могут ли пользователи каким-то образом оптимизировать передачу изображения, прежде чем в сфере видеонаблюдения произойдёт переворот? Ведь популярность видео с большим разрешением растёт, а спрос рождает предложение.

Последние достижения для текущего кодека H.264 оптимизируют битрейт тремя способами: предиктивным кодированием, подавлением шума, и "долгосрочным" управлением битрейтом (predictive encoding, noise suppression, and “long-term” bitrate control). Результатом этого стало сокращение требуемого объёма памяти до 75% для H.264. Из-за этих инноваций и некоторых других факторов высока вероятность того, что в ближайшие 5-10 лет оба стандарта будут мирно сосуществовать на рынке.

Препятствия для принятия H.265

Интеграция технологии H.265, скорее всего, будет тормозиться наличием оптимизированного кодирования H.264, а ещё стоимостью модернизации существующих систем под H.265. Дополнительные сложности возникнут также с изменением производственных процессов для выпуска оборудования, поддерживающего H.265 и с патентами, о которых мы поговорим позже. В принципе, H.264 остается жизнеспособным и работоспособным стандартом для подавляющего большинства систем видеонаблюдения. На сегодняшний день он полностью выполняет свои функции - и, нужно признать, довольно хорошо.

При более высокой стоимости, пользователи должны быть уверены, что обновление до H.265 действительно стоит того

Ограничения лабораторных испытаний

По результатам испытаний проведенных Объединенной командой по видеокодированию Joint Collaborative Team on Video Coding (JCT-VC), коэффициент сжатия H.265 удвоился по сравнению с предыдущим H.264. Но, как и следовало ожидать, эти тесты были проведены в лабораторных условиях и далеки от многих сложностей, возникающих в процессе фактического использования стандарта.

Кодирование в реальном времени с соблюдением баланса между сложностью алгоритма и возможностью сжатия - вот то, что хочется видеть в развитии H.265. На практике возможность сжатия кодека H.265 может не дать 100% улучшения в сравнении с H.264, несмотря на то, что это было заявлено.

Стандарт H.264 более 10 лет внедряли в отрасль, в которой происходило его развитие, при поддержке со стороны всех производителей чипсетов, и с доступом к самым разным кодерам и декодерам. Это проверено и доказано на практике. В этом смысле технологии H.265 придётся многое наверстать.

Цена патента

Ещё одной проблемой, которая может помешать массовому распространению стандарта H.265 - необходимость покупки патента. У многих владельцев предприятий уже есть патент на H.264, в то время как H.265 на ранней стадии своего существования не особо распространён в отрасли, а предприятия, которые владеют им, не связаны между собой. Результатом низкого спроса на новый стандарт становится гораздо более высокая стоимость патента - основной вопрос, который предприятия из отрасли безопасности должны серьезно рассмотреть - как это повлияет на производство и, как следствие, на ценник для конечного потребителя. При введении нового стандарта цена действительно имеет решающее значение, особенно если пользователи должны заменить и внешнюю, и внутреннюю части (фронтенд и бекенд) системы, чтобы пользоваться улучшенной видеокомпрессией. Платя в несколько раз больше, потребитель должен быть уверен в том, что обновление на самом деле стоит того.

Оптимизированные технологии кодирования H.264

Несмотря на приведённые выше аргументы, основной причиной, по которой мы считаем, что H.265 не станет доминирующим решением кодирования в ближайшее время, является простое отсутствие спроса - ряд инновационных производителей внедрил оптимизированные технологии кодирования H.264, а необходимости в Н.265 пока попросту нет. Этот факт можно назвать "решением ещё не возникшей проблемы".

Оптимизированные технологии H.264 используют прогнозирующее кодирование, чтобы уменьшить битрейт, затраченный на неизменное фоновое изображение

С момента запуска технологии H.264 в 2003 году, индустрия безопасности разрабатывает высокопроизводительные видеокодеры, стремясь улучшать качество картинки для систем видеонаблюдения. Добавьте к этому повышающуюся популярность видео высокого качества, растущие требования к битрейту и разрешению, и становится очевидным, что стоимость компонентов системы в целом возросла. Огромное количество видеоданных, получаемых с камер видеонаблюдения, означает, что пользователи должны вкладывать средства в постоянно растущие требования для хранения данных.

Предиктивное кодирование

Как происходит усовершенствование кодека H.264? Во-первых, базовые исследования сжатия видео ведутся в различных отраслях промышленности. Например, в любом видео с камер пользователи сначала обращают внимание на подвижные объекты, а после на статичную часть картинки. Если фон не меняется, он может быть закодирован в качестве опорного кадра. Оптимизированные технологии H.264 используют прогнозирующее кодирование, чтобы уменьшить битрейт потраченный на статичное фоновое изображение. Применяя это прогнозирующее кодирование по всей системе, пользователи значительно экономят на пропускной способности и хранении.

Подавление шума

Ещё одним важным элементом оптимизации H.264 является подавление шума.

Шум или нежелательный электрический сигнал, отображающийся в видеопотоке, является серьёзной помехой цифрового видеосигнала. Это приводит к тому, что на фоне изображения появляется множество посторонних пикселей, вызванных колебаниями света, температуры, или другими сигналами в воздухе. Но оптимизированные технологии H.264 с использованием алгоритмов интеллектуального анализа подавляют большую часть шума путём кодирования объекта переднего плана изображения с более высокой скоростью передачи данных относительно фонового изображения. Результат: чёткие изображения с точной цветопередачей.

Долгосрочный контроль битрейта

И, наконец, требования к битрейту по каждой конкретной сцене могут колебаться в течение дня. Например, в типичной уличной сцене в ночное время есть небольшое движение на первом плане, так что требования к битрейту невысокие. Днём требования значительно повышаются из-за транспортных средств и пешеходов, движущихся на переднем и заднем планах. Современные технологии кодирования H.264 управляют этим распределением по времени путём вычисления общего среднего битрейта, а затем автоматически выделяют необходимый битрейт в то время суток, когда это требуется. Это происходит на уровне заданных значений декодера. Здесь основным преимуществом долгосрочного контроля битрейта является то, что у пользователей есть возможность точно прогнозировать свои требования к системе хранения видео, благодаря чему можно измерять необходимый размер хранилища.

***

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

Разработки видеосжатия, как правило, имеют тенденцию придерживаться примерно 10-летнего цикла. В 1994 году был введен формат MPEG2. H.264 запущен в 2003 году, а H.265 - в 2013. В данном случае исторический контекст имеет важное значение, потому что стандарты кодирования видео реагируют не только на технологические изменения, но и на тенденции в рамках всей видео-индустрии. Когда стандартом был формат MPEG2, промышленность была сосредоточена главным образом на DVD-плеерах и телевизионном разрешении, где использовался этот формат. Появление H.264 совпало с введением технологии HD, передовыми IT-технологиями и мобильным интернетом.

Использование H.264 включало HD-цифровое телевидение, интернет-видео, мобильное видео, видеонаблюдение, Blu-Ray и др. Так как H.265 только выходит на сцену, мы считаем, что он будет наиболее широко использоваться в разработке ультра-HD технологий и приложений облачных систем хранения данных.

Перспективы развития технологий сжатия видео

После запуска H.265, члены Объединенной совместной группы по видеокодированию (JCT-VC) начали составлять прогнозы на будущее для данного сегмента. В 2015 году они создали группу совместного исследования видео (Joint Video Exploring Team - JVET), сосредоточив внимание на дальнейшем улучшении возможностей сжатия. Их последние данные тестирования показывают, что улучшения по производительности сжатия H.265 достигнуты на 20%. В то же время, другая организация - AOM (Alliance for Open Media) - объединила целый ряд интернет-ориентированных компаний, в том числе Microsoft, Google, Intel, и Amazon, стремясь прийти к свободному стандарту для интернет-видео. План состоит в том, что этот (свободный) стандарт ускорит обновление технологий в онлайн-мире с сумасшедшей скоростью.

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