|
MPEG-2, изначально был нацелен на передачу телевизионных изображений, на спутниковое телевидение и нелинейный цифровой видеомонтаж. Разрешение изображения и количество кадров в секунду требовалось значительно больше, чем мог предоставить MPEG-1. Высокое качество при разумном битрейте было основной целью MPEG-2.
Известно, что свыше 95% видеоданных повторяются в разных кадрах, причем неоднократно. Эти данные являются избыточными. Они удаляются практически без ущерба для изображения, на место повторяющиеся участков при воспроизведении подставляется один единственный оригинальный фрагмент. К уже известным алгоритмам сжатия из MPEG-1, добавился еще один. После разбивки видеопотока на фреймы, данный алгоритм анализирует содержимое очередного фрейма на предмет повторяющихся, избыточных данных. Составляется список оригинальных участков и таблица участков повторяющихся. Оригиналы сохраняются, копии удаляются, а таблица повторяющихся участков используется при декодировании сжатого видеопотока. Результатом работы алгоритма является высокочеткое изображение при низком битрейте. Основные изменения коснулись алгоритмов квантования, то есть алгоритмов преобразования непрерывных данных в дискретные. В MPEG-2 используется нелинейный процесс дискретно-косинусного преобразования (ДКП), который гораздо эффективнее предшественника. Стало возможным в процессе кодирования задавать точность частотных коэффициентов матрицы квантования, что непосредственно влияет на качество получаемого в результате сжатия изображения (и на размер тоже). Пользователь может задавать следующие значения точности квантования - 8, 9, 10 и 11 бит на одно значение элемента, что делает этот формат значительно более гибким по сравнению с MPEG-1, в котором было только одно фиксированное значение - 8 бит на элемент. Стало возможным загрузить отдельную матрицу квантования (quantization matrix) непосредственно перед каждым кадром, что позволяет добиться очень высокого качество изображения. Нельзя статику и участки с движением кодировать одинаково. Меняя эти матрицы для разных участков видеоролика можно добиться улучшения качества изображения. Добавились новые алгоритмы предсказания движения (16x8 MC, field MC и Dual Prime). Эти алгоритмы существенно повысили качество картинки и, а главное, позволили делать ключевые кадры реже по сравнению с MPEG-1, увеличив, таким образом, количество промежуточных кадров и повысив степень сжатия. Еще один путь сокращения битрейта - набор алгоритмов, который позволяет определить уровень приоритетов разных слоев видеопотока. Поток видеоданных делится на три слоя - base, middle и high. Наиболее приоритетный на данный момент слой (например, передний план) кодируется в большим битрейтом Spatial scalability (пространственное масштабирование) - при использовании этого алгоритма, базовый слой кодируется с меньшим разрешением. В дальнейшем полученная в результате кодирования информация используется в алгоритмах предсказания движения более приоритетных слоев. Data Partitioning (дробление данных) - этот алгоритм дробит блоки размером в 64 элемента матрицы квантования на два потока. Один поток данных, более высокоприоритетный состоит из низкочастотных (наиболее критичные к качеству) компонентов, другой, соответственно менее приоритетный состоит из высокочастотных компонентов. В дальнейшем эти потоки обрабатываются по-разному. Именно поэтому в MPEG-2 и динамические и статистические сцены смотрятся весьма неплохо, в отличие от MPEG-1, где динамические сцены традиционно ужасны. Signal to Noise Ratio (SNR) Scalability (масштабирование соотношения сигна/шум) - при действии этого алгоритма разные по приоритету слои кодируются с разным качеством. Низкоприоритетные слои более дискретизированны, более грубы, соответственно содержат меньше данных, а высокоприоритетный слой содержит дополнительную информацию, которая при декодировании позволяет восстановить высококачественное изображение. Temporal Scalability (временное масштабирование) - после действия этого алгоритма у низкоприоритетного слоя уменьшается количество ключевых блоков информации, при этом высокоприоритетный слой, напротив содержит дополнительную информацию, которая позволяют восстановить промежуточные кадры используя для предсказания информацию менее приоритетного слоя С целью стандартизации MPEG-2 были введены понятия уровней и профилей, что позволяет однозначно описать практически любой формат из семейства MPEG-2. | Уровни | | название уровня | разрешение | максимальный битрейт | качественное соответствие | | Low | 352*240*30 | 4 Mbps | CIF, бытовая видео кассета | | Main | 720*480*30 | 15 Mbps | CCIR 601, студийное TV | | High 1440 | 1440*1152*30 | 60 Mbps | 4x601, бытовое HDTV | | High | 1920*1080*30 | 80 Mbps | Hi-End видеомонтажное оборудование | |