кодек h265 что это
H.265 vs H.264 сравнение форматов видео. Что такое HEVC и AVC
Опубликовано admin в 24 октября, 2019 24 октября, 2019
H.265 vs H.264 – сравнение современных форматов сжатия видео.
H.265 (HEVC), в отличии от H.264 (AVC), становится наиболее часто используемым форматом для сжатия видео и записи контента 4K / 8K UHD, не говоря уже о видео HD / SD. Увеличение количества видео 4K и 8K бросает вызов текущему стандарту сжатия H.264, поскольку ему больше не удается кодировать видео Ultra HD с удовлетворительной скоростью передачи данных, чем контент HD.
Вследствие этого, стандарт сжатия видео HEVC следующего поколения получает преимущество над AVC благодаря лучшей эффективности сжатия. Это позволяет на 50% снизить скорость передачи, но обеспечивает такое же качество видео.
Этот пост показывает различия между двумя стандартами, основанные на размере файла, использовании полосы пропускания, скорости передачи данных, качестве и совместимости.
Что такое H.265 (HEVC)?
H.265 также называется высокоэффективным кодированием видео (HEVC). Данный формат в два раза более эффективен, чем H.264 при кодировании. Он вдвое снижает скорость передачи при том же уровне качества по сравнению со своим предшественником. Предназначен для дисплеев HDTV следующего поколения и систем захвата контента, которые имеют прогрессивную частоту кадров и разрешение, а также улучшенное качество изображения с точки зрения уровня шума, цветовых пространств и динамического диапазона.
Что такое H.264 (AVC)?
H.264 или MPEG-4 AVC – это формат кодирования видео, который в настоящее время является одним из наиболее часто используемых для сжатия и доставки видеоконтента. AVC экономит битрейт на 50% и более по сравнению с его предшественником MPEG-2. Имеет более широкий спектр приложений, охватывающих все сжатое видео, начиная от потоковых приложений с низким битрейтом (YouTube, iTunes, Vimeo, Facebook, Instagram) для различных передач HDTV по наземному, кабельному и спутниковому телевидению. Он также широко используется для дисков Blu-ray, DVD, IP-сетей и приложений для цифрового кино с кодированием, практически без потерь.
Сравнение форматов сжатия видео
Эффективность сжатия
H.265 отличается от H.264 эффективностью сжатия. HEVC удваивает эффективность кодирования по сравнению со своим предшественником. Это означает, что кодек H.265 экономит около 50% битрейта при том же качестве кодирования. В частности, среднее уменьшение битов для H.265 составляет 64% при 4K UHD, 62% при 1080p, 56% при 720p и 52% при 480p. Таким образом, если загрузить фильм в H.265 и воспроизвести его на устройстве iPhone Android, то будет сохранено 50% памяти мобильного устройства. И качество фильма не пострадает!
Сравнение форматов видео и эффективность сжатия
Полоса пропускания
H.265 превосходит H.264 и в отношении использования полосы пропускания. Поскольку алгоритм HEVC использует эффективное кодирование, он обещает приблизительно 40-50% уменьшения полосы пропускания передачи, необходимой для сжатия видео (например, в формате 720p), с тем же качеством. Как правило, для потоковой передачи 4K H264 (AVC) требуется полоса пропускания 32 Мбит / с, а для передачи видео 4K HEVC – всего 15 Мбит / с. Таким образом, можно наслаждаться 4k видео без проблем даже при перегруженном сетевом соединении.
H.264 и H.265 – полоса пропускания
Качество видео
Большая разница между рассматриваемыми кодеками заключается в качестве видео при одинаковой скорости передачи данных. В AVC границы областей блока, вероятно, будут искажены, потому что каждый макроблок является фиксированным, а данные независимы друг от друга. В то время как H.265 предлагает более четкие детали на гранях и сглаживает градиентные области с меньшим количеством артефактов.
Таким образом, H.265 лучше, чем H.264, когда речь идет о сжатии видео с лучшим качеством изображения.
Размер файла
Высокая степень сжатия также тесно связана с требованием цифрового хранения видеопотоков и передачи. Уменьшенная пропускная способность приводит к уменьшению размера файла. Тесты показывает, что видео, закодированное с помощью H.264, в 1-3 раза больше, чем H.265. Это выгодно для хранения информации на жестком диске или устройствах с ограниченным пространством хранения, необходимого для размещения видеоданных. В этом отношении большое преимущество H.265 перед H.264.
H.265 vs H.264 сравнение форматов – размер файла
Совместимость форматов
Ничто не совершенно. Так же, как и HEVC. Все, сказанное выше, является преимуществом HEVC перед H264. Но есть и недостаток – плохая совместимость. В настоящее время новый формат далеко не так популярен, как H264. Современные устройства и платформы, поддерживающие кодек H264, составляют 99%. Поддержка кодека H265, может составлять около 30-40%.
Преимущества и недостатки
H.265 имеет много преимуществ перед H.264. Например, он поддерживает до 8K UHDTV (разрешением, максимум 8192 × 4320), скорость передачи данных составляет несколько ГБ / с, а размер файла вдвое меньше, и это с лучшим качеством! H.265 имеет большое влияние на увеличение спроса и продажи экранов 4К, предлагая более высокое качество видео даже в сети с ограниченной пропускной способностью.
Но есть и обратная сторона. HEVC требует больше времени для кодирования по сравнению с AVC. Во-вторых, поскольку перспективный кодек, который сейчас широко не используется, просмотр видео H.265 не так прост. Поэтому преобразование H.265 в H.264 по-прежнему очень востребовано в наши дни.
Пишите в комментариях ниже какую информацию добавить или убрать для форматов сжатия видео – H.264 (AVC) vs H.265 (HEVC). Открыт для предложений по оформлению и наполнению страницы.
Что такое H.265, и почему это лучше, чем H.264?
Известный как High Efficiency Video Coding (HVEC) и MPEG-H Part 2, H.265 является стандартом для сжатия видео, разработанный для новейших поколений видео с высоким разрешением. Он является преемником широко используемого кодер-декодера H.264 (также называемого AVC или MPEG-4 Part 10) и предлагает некоторые существенные улучшения по сравнению с нынешней схемой сжатия. H.265 был разработан Совместной Коллективной Группой по Кодированию Видео (JCT-VC), группой экспертов по кодированию видео, которые начали работать над стандартом сжатия еще в 2010 году.
Почему H.265 лучше, чем H.264?
Кодек H.265 предлагает некоторые существенные улучшения по отношению к кодеку H.264, который был впервые разработан в туманные дни 2003 года. Есть очень много улучшений, которые можно рассмотреть, но здесь рассмотрены основные моменты для потребителей.
Лучшее сжатие
H.265 предлагает значительно улучшенное сжатие по сравнению с H.264. Новый кодек может сделать, почти вдвое, большее сжатие, чем его предшественник. С H.265 видео, с таким же визуальным качеством, занимало бы лишь половину памяти. В качестве альтернативы, видео с одинаковым размером файла и скоростью передачи битов, может быть значительно лучше. Часть этого улучшения связана с увеличением размера макроблока. H.264 позволяет использовать только макроблоки размером 16 x 16 пикселей, которые слишком малы, чтобы быть действительно эффективными в видео с более высоким разрешением. H.265 обеспечивает макроблоки 64 x 64 пикселя (теперь они называются единицами дерева кодирования или CTU), что позволяет повысить эффективность кодирования при всех разрешениях.
Улучшенное предсказание внутрикадрового движения
Сжатие видео зависит от предсказания движения между кадрами. Когда в пикселе нет изменений, видеокодек может сэкономить место, ссылаясь на него, а не воспроизводить его. Таким образом, улучшенное предсказание движения означает улучшенный размер файла и качество сжатия. Наряду с улучшенными стандартами сжатия в H.265 мы также находим значительные улучшения в прогнозировании движения и компенсации.
Улучшенное внутрикадровое прогнозирование
Сжатие видео также выигрывает от анализа «движения» в отдельных кадрах, что позволяет сжимать отдельные кадры видео более эффективно. Это может быть достигнуто путем описания пикселей математической функцией, а не фактическими значениями пикселей. Функция занимает меньше места, чем пиксельные данные, уменьшая размер файла. Однако кодек должен поддерживать достаточно продвинутую математическую функцию, чтобы этот метод был действительно полезным. Функция внутрикадрового предсказания H.265 гораздо более подробна, чем H.264, она допускает 33 направления движения по девяти направлениям H.264.
Параллельная обработка
В H.265 используются плитки и части, которые могут быть декодированы независимо от остальной части кадра. Это означает, что процесс декодирования можно разделить на несколько параллельных потоковых процессов, используя более эффективные возможности декодирования, на современных многоядерных процессорах. С повышением разрешения видео, такая улучшенная эффективность необходима, чтобы декодировать видео с контролируемым темпом на более низком оборудовании.
Более высокий максимальный размер кадра
Мир получает более высокое разрешение, и H.265 это поддерживает. С H.265 видео можно кодировать до 8K UHD или 8192 пикселей × 4320 пикселей. В настоящее время только несколько камер могут выпускать 8K видео, и очень немногие мониторы могут отображать такое разрешение. Но так же, как HD является сегодняшним стандартом, мы можем ожидать, что 4K и, в конечном итоге, 8K поднимется до такого же уровня внимания.
Поддержка оборудования
Кодек H.265 специально поддерживается нынешним поколением процессоров Intel. Линия процессоров Kaby Lake содержит специальные наборы инструкций для кодирования и декодирования видео H.265, как и для будущих поколений. Это дает кодеку большую выгоду от скорости и согласованности по сравнению с другими видео-кодеками высокого разрешения. Учитывая популярность и техническое превосходство кодека H.264, неудивительно, что Intel предпочла бы отказаться от своего оборудования. Конечно, это не ограничивает использование H.265 процессорами Kaby Lake, но это означает, что компьютеры, использующие чипы Kaby Lake, будут более гибко воспроизводить видео H.265. И учитывая, что вычислительные накладные расходы, необходимые для кодирования и декодирования видео высокого разрешения H.265 довольно значительны, это может означать существенное различие между версиями H.265, поддерживаемыми аппаратным и программным обеспечением.
Вывод: где найти H.265?
H.265 по-прежнему менее распространен, чем H.264, но он быстро набирает значимость на рынке. Новая операционная система Apple iPhone и iPad, iOS 11, сохраняет все видеофайлы в H.265. Новое поколение MacBook Pro включает аппаратную поддержку Kaby Lake для декодирования кодека. Формат видео также будет использоваться в веб-браузере Apple tvOS и Safari для потокового видео.
Только в прошлом месяце Microsoft выпустила бесплатное расширение для Windows 10, которое добавляет поддержку декодирования видео H.265. Содержимое 4K Netflix транслируется кодеком H.265 на поддерживаемое оборудование. С другой стороны, YouTube не использует H.265, вместо этого выбирает свою конкурирующую схему сжатия VP9.
Но в ближайшие годы, мы, скорее всего, увидим, что H.265, со своей высокой эффективность, будет доминировать на рынке.
Воспроизведение файлов форматов H.264 и H.265 на ПК
Распространённый в «нулевых» формат DVD, основанный на кодеке MPEG2, по мере появления телевизоров и мониторов с высоким разрешением уже не мог удовлетворять возросшим требованиям к качеству видео. Поэтому появление в 2003 году формата кодирования H.264 было воспринято в основном доброжелательно. Но со временем и этот стандарт перестал отвечать современным нуждам – требовался такой кодек, который бы обеспечивал меньший размер файла при том же битрейте (или увеличенный битрейт при неизменном объёме видеофайла). Так появился усовершенствованный формат H.265, именуемый также HEVC, позволивший уменьшить размеры файлов на 30-50% при сравнимом качестве. В нём реализована поддержка разрешения уровня 8К (8192×4320 пикселей). Насколько успешно продвигается этот стандарт? Давайте разбираться.
Что такое формат H.265 (HEVC)
High Efficiency Video Coding на сегодняшний день является самым современным и продвинутым видеокодеком. Если H.264 (AVC), основанный на кодеке MPEG, был ориентирован на воспроизведение FullHD видео, то его сменщик способен сжимать видеоряд до разрешения UHDTV, или 8К.
Что интересно, к разработке более совершенного стандарта приступили в 2004 году, то есть всего через год после начала внедрения AVC. Первоначально проект назывался H.NGVC, что расшифровывается как Next-generation Video Coding, а затем за стандартом закрепилось нынешнее эволюционное название. Перед экспертной группой VCEG стояла нелёгкая задача: повысить разрешение видео, добившись снижения битрейта, при этом не увеличивая вычислительные мощности оборудования. Требования, прямо скажем, противоречивые, поэтому в полной мере их реализовать не удалось.
И всё-таки разработчикам удалось добиться главного: увеличения максимального размера блока, основной единицы кодека, в 16 раз по сравнению с H.264, у которого он равен 16х16 пикселей. При этом была задействована технология блоков динамического размера, когда кодек во время сжатия видео сам выбирает оптимальное количество пикселей в блоке. Это и позволило новому формату легко поддерживать разрешение 8К, хотя и 4К на сегодня внедряется не такими быстрыми темпами, как хотелось бы. Добавьте сюда технологию параллельного кодирования, и вы получите кодек, способный сжимать видео до размера, на 25-50% меньше, чем у предшественника, при том же качестве.
Новый стандарт был утверждён только в 2012 году и поначалу имел ограниченное применение – в телевидении и IP камерах. Но когда в 2017 году поддержку HEVC реализовали в iOS 11, ситуация начала быстро меняться.
Преимущества HEVC по отношению к старым форматам
С выходом iOS 11 и macOS High Sierra Apple начала усиленно продвигать новые форматы для изображений (HEIF) и видео (HEVC). Задача упростилась в том плане, что новый кодек обеспечивал либо видео лучшего разрешения, либо меньшего размера, что в эпоху глобального обмена контентом имеет немаловажное значение – попробуйте передать по сети файл размером с 10-20 ГБ.
Использование блоков большего размера позволило также сократить время, затрачиваемое на кодирование и, что не менее важно, на декодирование, предотвращая фризы при просмотре видео.
Частично улучшения характеристик нового формата удалось добиться за счёт использования новых технологий, о которых мы уже упоминали. Но за всё нужно платить. В данном случае речь идёт о возрастании нагрузки на аппаратную часть, из чего следует вывод, что для обеспечения декодирования видео в формате HEVC потребуется более мощное оборудование. Второй негативный момент связан с тем, что соответствующие кодеки, по крайней мере, на начальном этапе распространения формата, встроены в популярные проигрыватели в ограниченном количестве. Ещё хуже обстоят дела с «железом» – только передовые модели телевизоров, медиаплееров, телевизионной техники и IP-камер умеют «переваривать» этот формат. Но это, разумеется, дело поправимое в среднесрочной перспективе. Во всяком случае, уже сейчас количество доступных аппаратных и софтверных декодеров стремительно растёт.
Что касается ПК, то поначалу H.265 поддерживали только видеокарты 970/980 от GeForce, а для кодирования среднего видео этого формата на более слабом оборудовании требовалось порядка 10 часов. Сегодня ситуация в этом плане гораздо более благоприятная, а дивиденды от использования HEVC очень даже ощутимы. Главное, что выгода будет тем больше, чем выше качество видео: для разрешения 720p, которое ещё совсем недавно было «золотым стандартом», размер файла будет примерно на 25% меньше, чем в формате H.264. Но для 4К выигрыш составит уже 50%, а если говорить о рипах Blue-ray, то здесь экономия достигается десятикратная, то есть видео такого качества вполне можно упаковать в каких-то 3-4 ГБ.
Рассмотрим основные особенности кодека HEVC с технической точки зрения:
Разумеется, это не все технологические новшества, характеризующие новый кодек. Но и перечисленного вполне достаточно, чтобы специалист смог понять, на что способен новый формат.
Как использовать кодек HEVC
Разумеется, обычного пользователя больше интересует вопрос, чем смотреть видео в формате HEVC/H.265, нежели технические подробности реализации улучшенного стандарта.
Если не привязываться к видеоадаптеру, то самый простой вариант – это использование программных плееров. В частности, всем хорошо известного VLC. Его последняя версия гарантированно поддерживает новый формат.
Но по умолчанию поддержка HEVC здесь выключена, и чтобы смотреть видео, закодированное H.265, необходимо выполнить следующие действия:
В результате вы получите возможность просматривать на компьютере видео, сжатое новым кодеком, вне зависимости от используемой операционной системы.
Примерно таким же способом можно установить HEVC/H.265 на Windows, используя последние версии других популярных медиаплееров – Media Player Classic, KMPlayer, GOM Player и других.
Поддержка H.265 реализована и в некоторых браузерах – Microsoft Edge (начиная с 16-й версии) и Safari (от одиннадцатой версии и выше).
Что касается MacOS High Sierra, то там с новым кодеком справляется стандартное приложение «Видео», хотя если вам нравятся сторонние плееры, то все вышесказанное остаётся справедливым. Аналогичная ситуация и с мобильными девайсами, работающими под iOS 11 – здесь главное, чтобы для воспроизведения нового формата хватило производительности устройства.
Что касается смартфонов и планшетов под Android, то на сегодня получить работающий кодек HEVC/H.265 можно только в приложении MX Player с тем же условием – производительности девайса должно хватать для воспроизведения видео нового формата.
Другое дело, что видео, записанного с использованием кодека HEVC, в сети пока не так много. Остаётся надеяться, что ситуация будет постепенно улучшаться, как это было с предшественником и разрешением 4К – сегодня количество каналов, вещающих в этом формате, растёт в арифметической прогрессии.
В немалой степени проблема касается и оборудования, способного поддерживать сверхвысокие разрешения – среди компьютерных мониторов таковых практически нет, да и телевизоры с разрешением 8192×4320 пикселей – пока не столь распространённое явление. Но технический прогресс не остановить…
Сжатие видео на пальцах: как работают современные кодеки?
Затраты на хранение данных зачастую становятся основным пунктом расходов при создании системы видеонаблюдения. Впрочем, они были бы несравнимо больше, если бы в мире не существовало алгоритмов, способных сжимать видеосигнал. О том, насколько эффективны современные кодеки, и какие принципы лежат в основе их работы, мы и поговорим в сегодняшнем материале.
Для большей наглядности начнем с цифр. Пускай видеозапись будет вестись непрерывно, в разрешении Full HD (сейчас это уже необходимый минимум, во всяком случае, если вы хотите полноценно использовать функции видеоаналитики) и в режиме реального времени (то есть, с фреймрейтом 25 кадров в секунду). Предположим также, что выбранное нами оборудование поддерживает аппаратное кодирование H.265. В этом случае при разных настройках качества изображения (высоком, среднем и низком) мы получим примерно следующие результаты.
Кодек
Интенсивность движения в кадре
Использование дискового пространства за сутки, ГБ
H.265 (Высокое качество)
H.265 (Высокое качество)
H.265 (Высокое качество)
H.265 (Среднее качество)
H.265 (Среднее качество)
H.265 (Среднее качество)
H.265 (Низкое качество)
H.265 (Низкое качество)
H.265 (Низкое качество)
Но если бы сжатия видео не существовало в принципе, мы бы увидели совсем иные цифры. Попробуем разобраться, почему. Видеопоток представляет собой не что иное, как последовательность статичных картинок (кадров) в определенном разрешении. Технически каждый кадр является двумерным массивом, содержащим информацию об элементарных единицах (пикселях), формирующих изображение. В системе TrueColor для кодирования каждого пикселя требуется 3 байта. Таким образом, в приведенном примере мы бы получили битрейт:
Учитывая, что в сутках 86400 секунд, цифры выходят поистине астрономические:
Итак, если бы мы записывали видео без сжатия в максимальном качестве при заданных условиях, то для хранения данных, полученных с одной единственной видеокамеры в течение суток нам бы потребовалось 12 терабайт дискового пространства. Но даже система безопасности квартиры или малого офиса предполагает наличие, как минимум, двух устройств видеофиксации, тогда как сам архив необходимо сохранять в течение нескольких недель или даже месяцев, если того требует законодательство. То есть, для обслуживания любого объекта, даже весьма скромных размеров, потребовался бы целый дата-центр!
К счастью, современные алгоритмы сжатия видео помогают существенно экономить дисковое пространство: так, использование кодека H.265 позволяет сократить объем видео в 90 (!) раз. Добиться столь впечатляющих результатов удалось благодаря целому стеку разнообразных технологий, которые давно и успешно применяются не только в сфере видеонаблюдения, но и в «гражданском» секторе: в системах аналогового и цифрового телевидения, в любительской и профессиональной съемке, и многих других ситуациях.
Наиболее простой и наглядный пример — цветовая субдискретизация. Так называют способ кодирования видео, при котором намеренно снижается цветовое разрешение кадров и частота выборки цветоразностных сигналов становится меньше частоты выборки яркостного сигнала. Такой метод сжатия видеоданных полностью оправдан как с позиции физиологии человека, так и с точки зрения практического применения в области видеофиксации. Наши глаза хорошо замечают разницу в яркости, однако гораздо менее чувствительны к перепадам цвета, именно поэтому выборкой цветоразностных сигналов можно пожертвовать, ведь большинство людей этого попросту не заметит. В то же время, сложно представить, как в розыск объявляют машину цвета «паука, замышляющего преступление»: в ориентировке будет написано «темно-серый», и это правильно, ведь иначе прочитавший описание авто даже не поймет, о каком оттенке идет речь.
А вот со снижением детализации все оказывается уже совсем не так однозначно. Технически квантование (то есть, разбиение диапазона сигнала на некоторое число уровней с последующим их приведением к заданным значениям) работает великолепно: используя данный метод, размер видео можно многократно уменьшить. Но так мы можем упустить важные детали (например, номер проезжающего вдалеке автомобиля или черты лица злоумышленника): они окажутся смазаны и такая запись будет для нас бесполезной. Как же поступить в этой ситуации? Ответ прост, как и все гениальное: стоит взять за точку отсчета динамические объекты, как все тут же становится на свои места. Этот принцип успешно используется со времен появления кодека H.264 и отлично себя зарекомендовал, открыв ряд дополнительных возможностей для сжатия данных.
Это было предсказуемо: разбираемся, как H.264 сжимает видео
Вернемся к таблице, с которой мы начали. Как видите, помимо таких параметров, как разрешение, фреймрейт и качество картинки решающим фактором, определяющим конечный размер видео, оказывается уровень динамичности снимаемой сцены. Это объясняется особенностями работы современных видеокодеков вообще, и H.264 в частности: используемый в нем механизм предсказания кадров позволяет дополнительно сжимать видео, при этом практически не жертвуя качеством картинки. Давайте посмотрим, как это работает.
Кодек H.264 использует несколько типов кадров:
Поскольку в процессе вычитания возможны ошибки, приводящие к появлению графических артефактов, то через какое-то количество кадров схема повторяется: вновь формируется опорный кадр, а вслед за ним — серия кадров с изменениями.
Полное изображение формируется путем «наложения» P-кадров на опорный кадр. При этом появляется возможность независимой обработки фона и движущиеся объектов, что позволяет дополнительно сэкономить дисковое пространство без риска упустить важные детали (черты лиц, автомобильные номера и т. д.). В случае же с объектами, совершающими однообразные движения (например, вращающимися колесами машин) можно многократно использовать одни и те же разностные кадры.
Независимая обработка статических и динамических объектов позволяет сэкономить дисковое пространство
Данный механизм носит название межкадрового сжатия. Предсказанные кадры формируются на основе анализа широкой выборки зафиксированных состояний сцены: алгоритм предвидит, куда будет двигаться тот или иной объект в поле зрения камеры, что позволяет существенно снизить объем записываемых данных при наблюдении за, например, проезжей частью.
Кодек формирует кадры, предсказывая, куда будет двигаться объект
В свою очередь, использование двунаправленных предсказанных кадров позволяет в несколько раз сократить время доступа к каждому кадру в потоке, поскольку для его получения будет достаточно распаковать только три кадра: B, содержащий ссылки, а также I и P, на которые он ссылается. В данном случае цепочку кадров можно изобразить следующим образом.
Такой подход позволяет существенно повысить скорость быстрой перемотки с показом и упростить работу с видеоархивом.
В чем разница между H.264 и H.265?
В H.265 используются все те же принципы сжатия, что и в H.264: фоновое изображение сохраняется единожды, а затем фиксируются лишь изменения, источником которых являются движущиеся объекты, что позволяет значительно снизить требования не только к объему хранилища, но и к пропускной способности сети. Однако в H.265 многие алгоритмы и методы прогнозирования движения претерпели значительные качественные изменения.
Так, обновленная версия кодека стала использовать макроблоки дерева кодирования (Coding Tree Unit, CTU) переменного размера с разрешением до 64×64 пикселей, тогда как ранее максимальный размер такого блока составлял лишь 16×16 пикселей. Это позволило существенно повысить точность выделения динамических блоков, а также эффективность обработки кадров в разрешении 4K и выше.
Кроме того, H.265 обзавелся улучшенным deblocking filter — фильтром, отвечающим за сглаживание границ блоков, необходимым для устранения артефактов по линии их стыковки. Наконец, улучшенный алгоритм прогнозирования вектора движения (Motion Vector Predictor, MVP) помог заметно снизить объем видео за счет радикального повышения точности предсказаний при кодировании движущихся объектов, чего удалось достичь за счет увеличения количества отслеживаемых направлений: если ранее учитывалось лишь 8 векторов, то теперь — 36.
Помимо всего перечисленного выше, в H.265 была улучшена поддержка многопоточных вычислений: квадратные области, на которые разбивается каждый кадр при кодировании, теперь могут обрабатываться независимо одна от другой. Появилась и поддержка волновой параллельной обработки данных (Wavefront Parallelel Processing, WPP), что также способствует повышению производительности сжатия. При активации режима WPP обработка CTU осуществляется построчно, слева направо, однако кодирование каждой последующей строки может начаться еще до завершения предыдущей в том случае, если данных, полученных из ранее обработанных CTU, для этого достаточно. Кодирование различных строк CTU с временной задержкой со сдвигом, наряду с поддержкой расширенного набора инструкций AVX/AVX2 позволяет дополнительно повысить скорость обработки видеопотока в многоядерных и многопроцессорных системах.
Флэш-карты для видеонаблюдения: когда значение имеет не только размер
И вновь вернемся к табличке, с которой мы начали сегодняшний разговор. Давайте подсчитаем, сколько дискового пространства нам понадобится в том случае, если мы хотим хранить видеоархив за последние 30 дней при максимальном качестве видеозаписи:
По нынешним меркам 4 терабайта для винчестера индустриального класса — практически ничто: современные жесткие диски для видеонаблюдения имеют емкость до 14 терабайт и могут похвастаться рабочим ресурсом до 360 ТБ в год при MTBF до 1.5 миллионов часов. Что же касается карт памяти, то здесь все оказывается не так однозначно.
В IP-камерах флэш-карты играют роль резервных хранилищ: данные на них постоянно перезаписываются, чтобы в случае потери связи с видеосервером недостающий фрагмент видеозаписи можно было восстановить из локальной копии. Такой подход позволяет существенно повысить отказоустойчивость всей системы безопасности, однако при этом сами карты памяти испытывают колоссальные нагрузки.
Как видно из нашей таблицы, даже при низком качестве изображения и при условии минимальной активности в кадре, всего за сутки будет записано около 24 ГБ видео. А это значит, что 128-гигабайтная карточка будет полностью перезаписана менее чем за неделю. Если же нам требуется получать максимально качественную картинку, то все данные на таком носителе будут полностью обновляться раз в сутки! И это лишь при разрешении Full HD. А если нам понадобится картинка в 4K? В этом случае нагрузка вырастет практически в два раза (в заданных условиях видео в максимальном качестве потребует уже 250 ГБ).
При бытовом использовании подобное попросту невозможно, поэтому даже самая бюджетная карта памяти способна прослужить вам несколько лет к ряду без единого сбоя. А все благодаря алгоритмам выравнивания износа (wear leveling). Схематично их работу можно описать следующим образом. Пусть в нашем распоряжении есть новенькая флеш-карта, только что из магазина. Мы записали на нее несколько видеороликов, использовав 7 из 16 гигабайт. Через некоторое время мы удалили часть ненужных видео, освободив 3 гигабайта, и записали новые, объем которых составил 2 ГБ. Казалось бы, можно задействовать только что освободившееся место, однако механизм выравнивания износа выделит под новые данные ту часть памяти, которая ранее никогда не использовалась. Хотя современные контроллеры «тасуют» биты и байты куда более изощренно, общий принцип остается неизменным.
Напомним, что кодирование битов информации происходит путем изменения заряда в ячейках памяти за счет квантового туннелирования электронов сквозь слой диэлектрика, что вызывает постепенный износ диэлектрических слоев с последующей утечкой заряда. И чем чаще меняется заряд в конкретной ячейке, тем раньше она выйдет из строя. Выравнивание износа как раз направлено на то, чтобы каждая из доступных ячеек перезаписывалась примерно одинаковое количество раз и, таким образом, способствует увеличению срока службы карты памяти.
Нетрудно догадаться, что wear leveling перестает играть хоть сколько-нибудь значимую роль в том случае, если флэш-карта постоянно перезаписывается целиком: здесь на первый план уже выходит выносливость самих чипов. Наиболее объективным критерием оценки последней является максимальное количество циклов программирования/стирания (program/erase cycle), или, сокращенно, циклов P/E, которое способно выдержать флеш-память. Также достаточно точным и в данном случае наглядным (так как мы можем заранее рассчитать объемы перезаписи) показателем является коэффициент TBW (Terabytes Written). Если в технических характеристиках указан лишь один из перечисленных показателей, то вычислить другой не составит особого труда. Достаточно воспользоваться следующей формулой:
TBW = (Емкость × Количество циклов P/E)/1000
Так, например, TBW флеш-карты емкостью 128 гигабайт, ресурс которой составляет 200 P/E, будет равен: (128 × 200)/1000 = 25,6 TBW.
Давайте считать дальше. Выносливость карт памяти потребительского уровня составляет 100–300 P/E, и 300 — это в самом лучшем случае. Опираясь на эти цифры, мы можем с достаточно высокой точностью оценить срок их службы. Воспользуемся формулой и заполним новую таблицу для карты памяти емкостью 128 ГБ. Возьмем за ориентир максимальное качество картинки в Full HD, то есть в сутки камера будет записывать 138 ГБ видео, как мы выяснили ранее.
Ресурс карты памяти, циклов P/E