Loading AI tools
Видеоформат Из Википедии, свободной энциклопедии
H.265 или HEVC (англ. High Efficiency Video Coding — высокоэффективное кодирование видеоизображений) — формат видеосжатия с применением более эффективных алгоритмов по сравнению с H.264/MPEG-4 AVC[1]. Рекомендация ITU-T H.265, а также стандарт ISO/IEC 23008-2 MPEG-H Часть 2, — совместная разработка экспертной группы МСЭ-Т по видеокодированию (ITU-T Video Coding Experts Group — VCEG) и экспертной группы по движущимся изображениям MPEG[2]. Рекомендация стандарта разработана в связи с растущей потребностью в более высокой степени сжатия движущихся изображений для самых разных приложений, таких как потоковая передача в Интернете, передача данных, видеоконференц-связь, цифровые запоминающие устройства и телевизионное вещание[3].
Поддерживаются форматы кадра до 8K (UHDTV) с разрешением 8192×4320 пикселей[4].
В 2004 году VCEG приступила к исследованию развития технологий, которые позволили бы создать новый стандарт сжатия видео (или добиться существенного улучшения стандарта H.264/MPEG-4 AVC). В октябре 2004 года произведён обзор различных способов возможного усовершенствования H.264/MPEG-4 AVC[5].
Изначально предусматривалось, что H.265 будет полностью новым стандартом, а не расширением H.264 вроде HVC (High-performance Video Coding). В рамках проекта были присвоены предварительные имена H.265 и H.NGVC (англ. Next-generation Video Coding — следующее поколение видеокодирования), также существовала значительная часть работы VCEG до её эволюции в HEVC, совместный проект с MPEG в 2010 году. В апреле 2009 года проект получил название NGVC; в июле 2009 состоялось совещание MPEG и VCEG, на котором обсуждалась дальнейшая совместная работа по NGVC и HVC.
Предварительные требования к NGVC состоят в уменьшении битрейта на 50 % при схожей субъективной оценке качества изображения и сравнимой с H.264 High profile вычислительной сложностью. В зависимости от настроек предполагается варьирование вычислительной сложности от 1/2 до 3 по сравнению с H.264 High profile, при этом в первом случае NGVC должен обеспечивать на 25 % меньший битрейт[6].
ISO / IEC Moving Picture Experts Group (MPEG) начала аналогичный проект в 2007 году, предварительно названный Высокопроизводительным видеокодированием (High-performance Video Coding). В июле 2007 года было принято решение в качестве цели проекта достигнуть снижения битрейта на 50 %[7]. К июлю 2009 года результаты эксперимента показали среднее снижение скорости потока примерно на 20 % по сравнению с AVC High Profile, эти результаты побудили MPEG начать стандартизацию в сотрудничестве с VCEG.
Для разработки стандарта MPEG и VCEG создали Объединенную команду по видеокодированию Joint Collaborative Team on Video Coding (JCT-VC) (ITU-T Rec H.264|ISO/IEC 14496-10)[8]. Первое заседание Объединенной команды по видеокодированию (JCT-VC) состоялось в апреле 2010 года. Было представлено 27 полноценных проектов. Оценки показали, что некоторые предложения могут достичь такого же качества изображения, как AVC, лишь с половинным битрейтом во многих испытаниях, при 2—10-кратном увеличении вычислительной сложности, и в некоторых проектах были достигнуты хорошее субъективное качество и хорошие результаты скорости передачи данных с более низкой вычислительной сложностью, чем при референсном кодировании AVC с высоким профилем. На этом совещании было принято название для совместного проекта — высокоэффективное видеокодирование High Efficiency Video Coding (HEVC)[9].
Комитет Проекта HEVC был утвержден в феврале 2012 года. В июне 2012 года MPEG LA объявила о начале процесса принятия совместных лицензий на патенты HEVC. Проект международного стандарта был утвержден в июле 2012 года на совещании, состоявшемся в Стокгольме. Fröjdh, председатель шведской делегации MPEG, считает, что коммерческие продукты, которые поддерживают HEVC, могут быть выпущены в 2013 году[10].
29 февраля 2012 года на выставке Mobile World Congress компания Qualcomm показала HEVC-декодер, работающий на планшете под управлением ОС Android с двухъядерным процессором Qualcomm Snapdragon S4 с частотой 1,5 ГГц. Показывались две версии видеозаписи с одинаковым содержанием, закодированными H.264/MPEG-4 AVC и HEVC. На этом показе HEVC показал почти 50%-е снижение скорости передачи по сравнению с H.264/MPEG-4 AVC[11].
31 августа 2012 Allegro DVT объявила о выпуске двух HEVC-вещательных кодеров: кодера AL1200 HD-SDI и IP-транскодера AL2200[12]. Allegro DVT заявила, что аппаратных декодеров HEVC не следует ожидать до 2014 года, но HEVC сможет применяться и раньше в приложениях с программным декодированием. На выставке IBC 2012 Allegro DVT показала HEVC-системы потокового IP-вещания на основе IP-транскодера AL2200.
Компания Ericsson в сентябре 2012 года на выставке International Broadcasting Convention (IBC) представила первый в мире HEVC-кодер — Ericsson SVP 5500, предназначенный для кодирования видео в реальном времени для трансляции эфирного ТВ в сетях подвижной связи[13].
В апреле 2013 года проект принят в качестве стандарта МСЭ-T[3].
На начало 2017 на аппаратном уровне реализована частичная поддержка стандарта HEVC всеми крупными производителями процессоров.[источник не указан 2572 дня]
В качестве требований к стандарту предложено много новых возможностей:[источник не указан 2572 дня]
Предполагается, что эти приёмы принесут наибольшую пользу при многопроходном кодировании[14].
Разработка большинства стандартов видеокодирования предназначена, в первую очередь, для достижения наибольшей эффективности кодирования. Эффективность кодирования определяется способностью закодировать видео с минимально возможным битрейтом при сохранении определённого уровня качества видео. Существует два стандартных способа измерения эффективности кодирования видео, один из которых заключается в использовании объективной метрики, такой как пиковое отношение сигнал-шум (PSNR), а второй состоит в использовании субъективной оценки качества видео. Субъективная оценка качества изображения является наиболее важным параметром для оценки кодирования видео, так как зрители воспринимают качество видео именно субъективно.
Вместо применяющихся в H.264 макроблоков в HEVC используются блоки с древовидной структурой кодирования. Выигрыш кодера HEVC — в применении блоков большего размера. Это было показано в тестах PSNR с моделью кодера HM-8.0, где сравнивались результаты кодирования с разными размерами блоков. В результате тестов было показано, что по сравнению с кодированием блоков размером 64×64 пикселя битрейт увеличивается на 2,2 %, когда используются блоки размером 32×32, и увеличивается на 11,0 %, когда используются блоки размером 16×16. В тестах кодирования видео с разрешением 2560×1600 пикселей при использовании блоков размером 32×32 пикселей битрейт увеличивается на 5,7 %, а при использовании блоков размером 16×16 пикселей — на 28,2 % по сравнению с видео, где использованы блоки размером 64×64, при одинаковом пиковом отношении сигнал-шум. Тесты показали, что применение блоков большего размера более эффективно при кодировании видео с высоким разрешением. Тесты также показали, что для декодирования видео, закодированного с блоками размером 16×16, требуется на 60 % больше времени, чем при использовании блоков 64×64. То есть применение блоков бо́льших размеров повышает эффективность кодирования при одновременном сокращении времени декодирования[15].
Было проведено сравнение эффективности кодирования основного профиля Н.265 с кодеками H.264/MPEG-4 AVC High Profile (HP), MPEG-4 Advanced Simple Profile (ASP), H.263 High Profile Latency (HLP) и H.262/MPEG-2 Main Profile (MP). Были закодированы видео развлекательных программ и девять тестовых видеопоследовательностей с 12 различными битрейтами с использованием тестовой модели HEVC HM-8.0, пять из них были с HD-разрешением, а четыре — с разрешением WVGA (800×480). Уменьшение битрейта определялось на основе PSNR[15].
Стандарт видеокодирования | Среднее сокращение битрейта | |||
---|---|---|---|---|
H.264/MPEG-4 AVC HP | MPEG-4 ASP | H.263 HLP | H.262/MPEG-2 MP | |
HEVC MP | 35,4 % | 63,7 % | 65,1 % | 70,8 % |
H.264/MPEG-4 AVC HP | - | 44,5 % | 46,6 % | 55,4 % |
MPEG-4 ASP | - | - | 3,9 % | 19,7 % |
H.263 HLP | - | - | - | 16,2 % |
При кодировании видео в HEVC применяется такой же «гибридный» подход, что и во всех современных кодеках, начиная с H.261. Он заключается в применении внутри- и межкадрового (Intra-/Inter-) предсказания и двумерного кодирования с преобразованием.
В кодере HEVC каждый видеокадр делится на блоки. Первый кадр видеопоследовательности кодируется с использованием только внутрикадрового предсказания, то есть применяется пространственное предсказание ожидаемого уровня отсчёта внутри кадра по соседним отсчётам, при этом отсутствует зависимость от других кадров. Для большинства блоков всех остальных кадров последовательности, как правило, используется режим межкадрового временного предсказания. В режиме межкадрового предсказания на основании данных о величине отсчётов опорного кадра и вектора движения оцениваются текущие отсчёты каждого блока. Кодер и декодер создают идентичные межкадровые предсказания путём применения алгоритма компенсации движения с помощью векторов движения и данных выбранного режима, которые передаются в качестве дополнительной информации.
Разностный сигнал предсказания, который представляет собой разницу между опорным блоком кадра и его предсказанием, подвергается линейному пространственному преобразованию. Затем коэффициенты преобразования масштабируются, квантуются, применяется энтропийное кодирование, и затем передаются вместе с информацией предсказания.
Кодер в точности повторяет цикл обработки декодером так, что в обоих случаях будут генерироваться идентичные предсказания последующих данных. Таким образом, преобразованные квантованные коэффициенты подвергаются обратному масштабированию и затем обратному преобразованию, чтобы повторить декодированное значение разностного сигнала. Разность затем добавляется к предсказанию, и полученный результат фильтруется для сглаживания артефактов, полученных делением на блоки и при квантовании. Окончательное представление кадра (идентичное кадру на выходе декодера) хранится в буфере декодированных кадров, которое будет использоваться для прогнозирования последующих кадров. В итоге порядок кодирования и декодирования обработки кадров часто отличается от порядка, в котором они поступают из источника.
Предполагается, что видеоматериал на входе кодера HEVC имеет прогрессивную развёртку. В HEVC не представлено явных функций кодирования чересстрочной развёртки, так как она не используется в современных дисплеях и её распространение снижается. Тем не менее в HEVC были представлены метаданные, позволяющие указать кодеру, что было закодировано видео с чересстрочной развёрткой в одном из двух режимов: в виде отдельных изображений, как два поля (чётные или нечётные строки кадра), или весь кадр целиком. Этот эффективный метод обеспечивает кодирование видеосигнала с чересстрочной разверткой, минуя необходимость нагружать декодеры поддержкой специального процесса декодирования.
На октябрь 2012 года проект включал в себя три профиля: Основной (Main), Основной 10 (Main 10) и Основной профиль неподвижных изображений (Main Still Picture)[16].
Профиль это определённый набор средств кодирования и алгоритмов, которые могут быть использованы для создания видеопотока, соответствующего этому профилю[15]. Кодер при формировании видеопотока определяет, какие компоненты можно использовать для профиля, в то время как декодер должен поддерживать все функции для данного профиля.
Для основного профиля определены следующие ограничения:
Main 10 — профиль для кодирования видео с глубиной цвета 10 бит на канал[16].
Сравнение основных элементов кодеров:
AVC (High Profile) | HEVC (Main 10) | HEVC (Main Profile) | |
---|---|---|---|
Размер блоков | Макроблок 16×16 | Блоки с древовидной структурой кодирования от 64×64 до 8×8 | от 64×64 до 16×16 |
Блоки предсказания | Разбиение до 4×4 | от 64×64 до 4×4, асимметричное предсказание | от 64×64 до 8×8, симметричное предсказание |
Блоки преобразования | 8×8 и 4×4 | 32×32 16×16 8×8 4×4 + неквадратные преобразования | 32×32 16×16 8×8 4×4 |
Внутрикадровое предсказание | 9 режимов | 35 режимов | 35 режимов |
Обратное преобразование | Деблокирующий фильтр | Деблокирующий фильтр, SAO | Деблокирующий фильтр, SAO |
Компенсация движения | Предсказание вектора движения | Усовершенствованное предсказание вектора движения (пространственное и временное) | |
Глубина цвета на канал | 8 бит | 10 бит | 8 бит |
Энтропийное кодирование | CABAC или CAVLC | CABAC с применением параллельных операций |
Основной профиль неподвижных изображений позволяет кодировать отдельное изображение при соблюдении некоторых ограничений, соответствующих Основному профилю[16].
На октябрь 2012 года проект HEVC определял два слоя — Основной (Main) и Высокий (High), и 13 уровней[16]. Уровень (Level) представляет собой набор ограничений для потока данных, связанных с вычислительными возможностями декодера и загрузкой памяти. Уровень устанавливается исходя из максимальной частоты дискретизации, максимального размера кадра, максимальной скорости потока, минимальной степени сжатия и возможностей кадрового буфера декодера и кодера. Понятие слой (англ. Tier — ярус) было введено для приложений, которые различаются только максимальной скоростью потока и ёмкостью кадрового буфера кодера. Основной слой был разработан для большинства приложений, а Высокий уровень предназначен для приложений с повышенными требованиями. Декодер, соответствующий определенному слою и уровню, должен декодировать все потоки, закодированные с параметрами этого слоя и уровня и всех более низких слоев и уровней. Для уровней ниже четвёртого допускается только Основной слой[1][16].
Уровень | Макс. частота дискретизации[17] (Гц) |
Макс. размер кадра[17] (пикс.) |
Макс. скорость потока для профилей Main и Main 10 (кбит/с) |
Пример разрешения кадра@ макс. частота кадров (Макс. размер кадрового буфера) |
Мин. степень сжатия | |
---|---|---|---|---|---|---|
Основной слой | Высокий слой | |||||
1 | 552 960 | 36 864 | 128 | - | 128×96@33.7 (6) 176×144@15.0 (6) |
2 |
2 | 3 686 400 | 122 880 | 1 500 | - | 176×144@100.0 (16) 352×288@30.0 (6) |
2 |
2.1 | 7 372 800 | 245 760 | 3 000 | - | 352×288@60.0 (12) 640×360@30.0 (6) |
2 |
3 | 16 588 800 | 552 960 | 6 000 | - | 640×360@67.5 (12) 720×480@42.1 (8) 720×576@37.5 (8) 960×544@30.0 (6) |
2 |
3.1 | 33 177 600 | 983,040 | 10 000 | - | 720×480@84.3 (12) 720×576@75.0 (12) 960×544@60.0 (8) 1280×720@33.7 (6) |
2 |
4 | 66 846 720 | 2 228 224 | 12 000 | 30 000 | 1280×720@68.0 (12) 1920×1080@32.0 (6) 2048×1080@30.0 (6) |
4 |
4.1 | 133 693 440 | 20 000 | 50 000 | 1280×720@136.0 (12) 1920×1080@64.0 (6) 2048×1080@60.0 (6) |
4 | |
5 | 267 386 880 | 8 912 896 | 25 000 | 100 000 | 1920×1080@128.0 (16) 3840×2160@32.0 (6) 4096×2160@30.0 (6) |
6 |
5.1 | 534 773 760 | 40 000 | 160 000 | 1920×1080@256.0 (16) 3840×2160@64.0 (6) 4096×2160@60.0 (6) |
8 | |
5.2 | 1 069 547 520 | 60 000 | 240 000 | 1920×1080@300.0 (16) 3840×2160@128.0 (6) 4096×2160@120.0 (6) |
8 | |
6 | 1 069 547 520 | 35 651 584 | 60 000 | 240 000 | 3840×2160@128.0 (16) 4096×2160@120.0 (16) 4096×2304@113.3 (12) 7680×4320@32.0 (6) 8192×4320@30.0 (6) |
8 |
6.1 | 2 139 095 040 | 120 000 | 480 000 | 3840×2160@256.0 (16) 4096×2160@240.0 (16) 4096×2304@226.6 (12) 7680×4320@64.0 (6) 8192×4320@60.0 (6) |
8 | |
6.2 | 4 278 190 080 | 240 000 | 800 000 | 3840×2160@300.0 (16) 4096×2160@300.0 (16) 4096×2304@300.0 (12) 7680×4320@128.0 (6) 8192×4320@120.0 (6) |
6 |
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.