H.262 [2] или MPEG-2 Часть 2 (официально известный как Рекомендация МСЭ-Т H.262 и ISO/IEC 13818-2 [3] также известный как MPEG-2 Видео ) — это формат видеокодирования , стандартизированный и совместно поддерживаемый Группой экспертов по видеокодированию 16-й исследовательской группы МСЭ-Т (VCEG) и Группой экспертов по движущимся изображениям ISO / IEC (MPEG), и разработанный при участии многих компаний. Это вторая часть стандарта ISO/IEC MPEG-2 . Документы Рекомендация МСЭ-Т H.262 и ISO/IEC 13818-2 идентичны.
Стандарт доступен за плату от ITU-T [2] и ISO. MPEG-2 Video очень похож на MPEG-1 , но также обеспечивает поддержку чересстрочного видео (метод кодирования, используемый в аналоговых телевизионных системах NTSC, PAL и SECAM). MPEG-2 video не оптимизирован для низких скоростей передачи данных (например, менее 1 Мбит/с), но несколько превосходит MPEG-1 на более высоких скоростях передачи данных (например, 3 Мбит/с и выше), хотя и не с большим отрывом, если видео не чересстрочное. Все соответствующие стандартам MPEG-2 Video декодеры также полностью способны воспроизводить потоки MPEG-1 Video. [4]
Процесс утверждения ISO/IEC был завершен в ноябре 1994 года. [5] Первое издание было утверждено в июле 1995 года [6] и опубликовано ITU-T [2] и ISO/IEC в 1996 году. [7] Дидье ЛеГалл из Bellcore руководил разработкой стандарта [8], а Сакаэ Окубо из NTT был координатором ITU-T и руководил соглашениями по его требованиям. [9]
Технология была разработана при участии ряда компаний. Hyundai Electronics (теперь SK Hynix ) разработала первый декодер MPEG-2 SAVI (System/Audio/Video) в 1995 году. [10]
Большинство патентов , которые впоследствии были заявлены в патентном пуле как имеющие важное значение для внедрения стандарта, принадлежали трем компаниям: Sony (311 патентов), Thomson (198 патентов) и Mitsubishi Electric (119 патентов). [11]
В 1996 году он был расширен двумя поправками, включившими регистрацию идентификаторов авторских прав и профиль 4:2:2. [2] [12] ITU-T опубликовал эти поправки в 1996 году, а ISO — в 1997 году. [7]
Существуют также другие поправки, опубликованные позже ITU-T и ISO/IEC. [2] [13] Последняя редакция стандарта была опубликована в 2013 году и включает в себя все предыдущие поправки. [3]
HDTV - камера с 8-битной выборкой генерирует необработанный видеопоток 25 × 1920 × 1080 × 3 = 155 520 000 байт в секунду для видео с частотой 25 кадров в секунду (используя формат выборки 4:4:4 ). Этот поток данных должен быть сжат, если цифровое телевидение должно вписаться в полосу пропускания доступных телеканалов и если фильмы должны поместиться на DVD. Сжатие видео практично, поскольку данные на снимках часто избыточны в пространстве и времени. Например, небо может быть синим в верхней части снимка, и это синее небо может сохраняться кадр за кадром. Кроме того, из-за особенностей работы глаза можно удалить или приблизить некоторые данные из видеоизображений с небольшим или незаметным ухудшением качества изображения.
Распространенный (и старый) прием для уменьшения объема данных заключается в разделении каждого полного «кадра» видео на два «поля» при трансляции/кодировании: «верхнее поле», которое представляет собой нечетные горизонтальные строки, и «нижнее поле», которое представляет собой четные строки. При приеме/декодировании два поля отображаются попеременно, причем строки одного поля чередуются со строками предыдущего поля; этот формат называется чересстрочным видео . Типичная скорость полей составляет 50 (Европа/PAL) или 59,94 (США/NTSC) полей в секунду, что соответствует 25 (Европа/PAL) или 29,97 (Северная Америка/NTSC) полным кадрам в секунду. Если видео не чересстрочное, то оно называется видео с прогрессивной разверткой , и каждое изображение является полным кадром. MPEG-2 поддерживает оба варианта.
Цифровое телевидение требует, чтобы эти изображения были оцифрованы, чтобы их можно было обработать с помощью компьютерного оборудования. Каждый элемент изображения ( пиксель ) затем представлен одним числом яркости и двумя числами цветности . Они описывают яркость и цвет пикселя (см. YCbCr ). Таким образом, каждое оцифрованное изображение изначально представлено тремя прямоугольными массивами чисел.
Другой распространенной практикой для уменьшения объема обрабатываемых данных является подвыборка двух плоскостей цветности (после фильтрации нижних частот, чтобы избежать наложения спектров ). Это работает, поскольку человеческая зрительная система лучше различает детали яркости, чем детали оттенка и насыщенности цветов. Термин 4:2:2 используется для видео с подвыборкой цветности в соотношении 2:1 по горизонтали, а 4:2:0 используется для видео с подвыборкой цветности в соотношении 2:1 как по вертикали, так и по горизонтали. Видео, которое имеет яркость и цветность в одинаковом разрешении, называется 4:4:4 . Документ MPEG-2 Video рассматривает все три типа выборки, хотя 4:2:0 является наиболее распространенным для потребительского видео, и для видео 4:4:4 не существует определенных «профилей» MPEG-2 (см. ниже для дальнейшего обсуждения профилей).
Хотя обсуждение ниже в этом разделе в целом описывает сжатие видео MPEG-2, есть много деталей, которые не обсуждаются, включая детали, касающиеся полей, форматов цветности, ответов на смену сцен, специальных кодов, которые маркируют части битового потока, и других фрагментов информации. Помимо функций обработки полей для чересстрочного кодирования, MPEG-2 Video очень похож на MPEG-1 Video (и даже довольно похож на более ранний стандарт H.261 ), поэтому все описание ниже в равной степени применимо к MPEG-1.
MPEG-2 включает три основных типа кодированных кадров: интракодированные кадры ( I-кадры ), предиктивно-кодированные кадры ( P-кадры ) и двунаправленно-предиктивно-кодированные кадры ( B-кадры ).
I-кадр — это отдельно сжатая версия одного несжатого (сырого) кадра. Кодирование I-кадра использует преимущества пространственной избыточности и неспособности глаза обнаружить определенные изменения в изображении. В отличие от P-кадров и B-кадров, I-кадры не зависят от данных в предыдущих или последующих кадрах, и поэтому их кодирование очень похоже на то, как будет кодироваться неподвижная фотография (примерно похоже на кодирование изображения JPEG ). Вкратце, необработанный кадр делится на блоки размером 8 пикселей на 8 пикселей. Данные в каждом блоке преобразуются с помощью дискретного косинусного преобразования (DCT). Результатом является матрица 8×8 коэффициентов, которые имеют действительные числовые значения. Преобразование преобразует пространственные вариации в частотные вариации, но оно не изменяет информацию в блоке; если преобразование вычисляется с идеальной точностью, исходный блок можно точно воссоздать, применив обратное косинусное преобразование (также с идеальной точностью). Преобразование из 8-битных целых чисел в действительные коэффициенты преобразования фактически расширяет объем данных, используемых на этом этапе обработки, но преимущество преобразования заключается в том, что данные изображения затем могут быть аппроксимированы путем квантования коэффициентов. Многие из коэффициентов преобразования, обычно компоненты с более высокой частотой, будут равны нулю после квантования, что по сути является операцией округления. Штрафом этого шага является потеря некоторых тонких различий в яркости и цвете. Квантование может быть как грубым, так и точным, в зависимости от выбора кодировщика. Если квантование не слишком грубое и к матрице после ее квантования применяется обратное преобразование, получается изображение, которое выглядит очень похожим на исходное изображение, но не совсем таким же. Затем сама квантованная матрица коэффициентов сжимается. Обычно один угол массива коэффициентов 8×8 содержит только нули после применения квантования. Начиная с противоположного угла матрицы, затем зигзагом проходя по матрице, чтобы объединить коэффициенты в строку, затем заменяя коды длины серии на последовательные нули в этой строке, а затем применяя кодирование Хаффмана к этому результату, мы уменьшаем матрицу до меньшего количества данных. Именно эти закодированные энтропией данные транслируются или записываются на DVD. В приемнике или проигрывателе весь процесс происходит в обратном порядке, что позволяет приемнику восстановить, с близким приближением, исходный кадр.
Обработка B-кадров похожа на обработку P-кадров, за исключением того, что B-кадры используют изображение в последующем опорном кадре, а также изображение в предыдущем опорном кадре. В результате B-кадры обычно обеспечивают большее сжатие, чем P-кадры. B-кадры никогда не являются опорными кадрами в MPEG-2 Video.
Обычно каждый 15-й кадр или около того преобразуется в I-кадр. P-кадры и B-кадры могут следовать за I-кадром, например, IBBPBBPBBPBB(I), чтобы сформировать группу изображений (GOP) ; однако стандарт является гибким в этом отношении. Кодер выбирает, какие изображения кодируются как I-, P- и B-кадры.
P-кадры обеспечивают большее сжатие, чем I-кадры, поскольку они используют данные в предыдущем I-кадре или P-кадре — опорном кадре . Для создания P-кадра предыдущий опорный кадр реконструируется, так же, как это было бы в телевизионном приемнике или DVD-плеере. Сжимаемый кадр делится на макроблоки размером 16 на 16 пикселей . Затем для каждого из этих макроблоков реконструированный опорный кадр ищется, чтобы найти область размером 16 на 16 пикселей, которая максимально соответствует содержимому сжимаемого макроблока. Смещение кодируется как «вектор движения». Часто смещение равно нулю, но если что-то на изображении движется, смещение может быть примерно на 23 пикселя вправо и на 4 с половиной пикселя вверх. В MPEG-1 и MPEG-2 значения вектора движения могут представлять собой либо целочисленные смещения, либо полуцелые смещения. Соответствие между двумя областями часто будет неидеальным. Чтобы исправить это, кодер берет разницу всех соответствующих пикселей двух областей, и затем на этой разнице макроблоков вычисляет DCT и строки значений коэффициентов для четырех областей 8×8 в макроблоке 16×16, как описано выше. Этот «остаток» добавляется к вектору движения, и результат отправляется приемнику или сохраняется на DVD для каждого сжимаемого макроблока. Иногда подходящего соответствия не находится. Тогда макроблок обрабатывается как макроблок I-кадра.
Видео MPEG-2 поддерживает широкий спектр приложений от мобильных устройств до высококачественного HD-редактирования. Для многих приложений нереально и слишком дорого поддерживать весь стандарт. Чтобы позволить таким приложениям поддерживать только его подмножества, стандарт определяет профили и уровни.
Профиль определяет наборы функций , таких как B-изображения, 3D-видео, формат цветности и т. д. Уровень ограничивает необходимую память и вычислительную мощность, определяя максимальную скорость передачи данных, размеры кадров и частоту кадров.
Затем приложение MPEG определяет возможности в терминах профиля и уровня. Например, DVD-плеер может сказать, что он поддерживает до основного профиля и основного уровня (часто обозначается как MP@ML). Это означает, что плеер может воспроизводить любой поток MPEG, закодированный как MP@ML или ниже.
В таблицах ниже обобщены ограничения каждого профиля и уровня, хотя есть ограничения, не перечисленные здесь. [2] : Приложение E Обратите внимание, что не все комбинации профилей и уровней допустимы, а масштабируемые режимы изменяют ограничения уровней.
Ниже представлено несколько распространенных комбинаций профиля/уровня MPEG-2 с указанием конкретных максимальных ограничений:
Некоторые приложения перечислены ниже.
Следующие организации владели патентами на технологию видео MPEG-2, как указано в MPEG LA . Все эти патенты в настоящее время истекли в США и большинстве других территорий. [1]