- •Лекции по курсу
- •4 Видеосигналы 44
- •1 Цифровые фильтры
- •1.1 Сущность явления Гиббса
- •1.2 Весовые функции
- •1.3 Разностное уравнение
- •1.4 Нерекурсивные фильтры
- •1.5 Рекурсивные фильтры
- •1.6 Структурные схемы цифровых фильтров
- •1.7 Импульсная характеристика фильтров
- •1.7.1 Свертка входного сигнала с импульсной характеристикой цифрового фильтра
- •2 Аналого-цифровое преобразование
- •2.1 Цифровая обработка звуковых сигналов
- •2.2 Основные понятия и определения
- •2.3 Структура и алгоритм работы цап
- •2.4 Структура и алгоритм работы ацп
- •2.4.1 Параллельные ацп
- •2.4.2 Ацп с поразрядным уравновешиванием
- •2.4.3 Ацп с плавающей точкой
- •3.1 Методы и стандарты передачи речи по трактам связи, применяемые в современном оборудовании (7 кГц)
- •3.1.1 Импульсно-кодовая модуляция (pcm — Pulse-Code Modulation)
- •3.1.3 Методы эффективного кодирования речи
- •3.1.4 Кодирование речи в стандарте cdma
- •3.1.5 Речевые кодеки для ip-телефонии
- •3.1.6 Оценка качества кодирования речи
- •3.2 Основные понятия цифровой звукозаписи
- •3.2.1 Натуральное цифровое представление данных
- •3.2.2 Кодирование рсм
- •3.3 Формат mp3
- •3.3.1 Сжатие звуковых данных
- •3.3.2 Кратко об истории и характеристиках стандартов mpeg.
- •3.3.3 Каковы отличия режимов cbr, vbr и abr?
- •3.3.4 Какие методы кодирования стерео информации используются в алгоритмах mpeg (и других)?
- •3.3.5 Какие альтернативные mpeg-1 Layer III (mp3) алгоритмы компрессии существуют?
- •3.4 OggVorbis
- •3.6 Flac
- •4 Видеосигналы
- •4.1 Общие положения алгоритмов сжатия изображений
- •4.2 Алгоритмы сжатия
- •4.2.1 Gif (CompuServe Graphics Interchange Format)
- •4.2.3 Jpeg
- •4.2.5 Метод Хаффмана
- •4.2.6 Png (Portable Network Graphics)
- •4.2.7 Tiff (Tagged Image File Format)
- •4.2.8 Pdf (Portable Document Format)
- •4.2.9 Adobe Photoshop Document
- •4.2.10 CorelDraw Document
- •4.2.11 Wmf (Windows Metafile)
- •4.2.12 Bmp (Windows Device Independent Bitmap)
- •4.2.13 Rtf (Microsoft Rich Text Format)
- •4.3 Вейвлет-преобразования
- •4.4 Jpeg2000
- •4.4.1 Общая характеристика стандарта и основные принципы сжатия
- •4.4.2 Информационные потери в jpeg2000 на разных этапах обработки
- •4.5 Видеостандарт mpeg-1
- •4.6 Mpeg-2
- •4.6.1 Стандарт кодирования mpeg-2
- •4.7 Стандарт mpeg-4
- •4.7.1 Особенности стандарта mpeg-4
- •4.7.2 Профайлы в mpeg-4
- •4.8 Стандарт hdtv
- •5 Принципы построения и особенности внедрения систем цифрового тв вещания
- •5.1 Глобальная модель систем цифрового вещания
- •5.2 Определение и классификация систем доставки
- •Приложение п1 Ортогональные разложения функций
- •П2 Дискретизация функций рядами Фурье
- •П4 Частота дискретизации
- •П5 Разрядность
4.5 Видеостандарт mpeg-1
По стандарту MPEG-1 потоки видео и звуковых данных передаются со коростью 150 килобайт в секунду - с такой же скоростью, как и односкоростной CD-ROM проигрыватель - и управляются путем выборки ключевых видео кадров и заполнением только областей, изменяющихся между кадрами. К несчастью, MPEG-1 обеспечивает качество видеоизображения более низкое, чем видео, передаваемое по телевизионному стандарту.
MPEG-1 был разработан и оптимизирован для работы с разрешением 352 ppl (point per line -- точек на линии) * 240 (line per frame -- линий в кадре) * 30 fps (frame per second -- кадров в секунду), что соответствует скорости передачи CD звука высокого качества. Используется цветовая схема - YCbCr (где Y - яркостная плоскость, Cb и Cr - цветовые плоскости).
Как MPEG работает:
В зависимости от некоторых причин каждый frame (кадр) в MPEG может быть следующего вида:
I (Intra) frame - кодируется как обыкновенная картинка.
P (Predicted) frame - при кодировании используется информация от предыдущих I или P кадров.
B (Bidirectional) frame - при кодировании используется информация от одного или двух I или P кадров (один предшествующий данному и один следующий за ним, хотя может и не непосредственно, см. Рис.1)
Последовательность кадров может быть например такая: IBBPBBPBBPBBIBBPBBPB...
Последовательность декодирования: 0312645...
Нужно заметить, что прежде чем декодировать B кадр требуется декодировать два I или P кадра. Существуют разные стандарты на частоту, с которой должны следовать I кадры, приблизительно 1-2 в секунду, соответствуюшие стандарты есть и для P кадров (каждый 3 кадр должен быть P кадром). Существуют разные относительные разрешения Y, Cb, Cr плоскостей (Таблица 4.1), обычно Cb и Cr кодируются с меньшим разрешением чем Y.
Таблица 4.1
Вид Формата |
Отношения разрешений по горизонтали (Cb/Y): |
Отношение разрешений по вертикали (Cb/Y): |
Рисунок 4.1 Пример для формата 4:2:0 |
4:4:4 |
1:1 |
1:1 | |
4:2:2 |
1:2 |
1:1 | |
4:2:0 |
1:2 |
1:2 | |
4:1:1 |
1:4 |
1:1 | |
4:1:0 |
1:4 |
1:4 |
Для применения алгоритмов кодировки происходит разбивка кадров на макроблоки каждый из которых состоит из определенного количества блоков (размер блока - 8*8 пикселей). Количество блоков в макроблоке в разных плоскостях разное и зависит от используемого формата
Техника кодирования:
Для большего сжатия в B и P кадрах используется алгоритм предсказания движения (что позволяет сильно уменьшить размер P и B кадров) на выходе которого получается:
Вектор смещения (вектор движения) блока который нужно предсказать относительно базового блока.
Разница между блоками (которая затем и кодируется).
Так как не любой блок можно предсказать на основании информации о предыдущих, то в P и B кадрах могут находиться I блоки (блоки без предсказания движения).
Таблица 4.2
Вид кадра |
I |
P |
B |
Средний размер |
Размер кадра для стандарта SIF (kilobit) |
150 |
50 |
20 |
38 |
Метод кодировки блоков (либо разницы, получаемой при методе предсказание движения) содержит в себе:
Discrete Cosine Transforms (DCT - дискретное преобразование косинусов).
Quantization (преобразование данных из непрерывной формы в дискретную).
Кодировка полученного блока в последовательность.
DCT использует тот факт, что пиксели в блоке и сами блоки связаны между собой (т.е. коррелированны), поэтому происходит разбивка на частотные фурье компоненты (в итоге получается quantization matrix - матрица преобразований данных из непрерывной в дискретную форму, числа в которой являются величиной амплитуды соответствующей частоты), затем алгоритм Quantization разбивает частотные коэффициенты на определенное количество значений.
Рисунок 4.2
Encoder (кодировщик) выбирает quantization matrix которая определяет то, как каждый частотный коэффициент в блоке будет разбит (человек более чувствителен к дискретности разбивки для малых частот чем для больших). Так как в процессе quantization многие коэффициенты получаются нулевыми то применяется алгоритм зигзага для получения длинных последовательностей нулей (рисунок 4.2)
Синхронизация и объединение звука и видео, осуществляется с помощью System Stream (рисунок 4.3), который включает в себя:
Системный слой, содержащий временную и другую информацию чтобы разделить и синхронизовать видео и аудио.
Компрессионный слой, содержащий видео и аудио потоки.
Рисунок 4.3 Рисунок 4.4
Видео поток (рисунок 4.4) содержит заголовок, затем несколько групп картинок (заголовок и несколько картинок необходимы для того, что бы обеспечить произвольный доступ к картинкам в группе в независимости от их порядка).
Звуковой поток состоит из пакетов каждый из которых состоит из заголовка и нескольких звуковых кадров (audio-frame).
Для синхронизации аудио и видео потоков в системный поток встраивается таймер, работающий с частотой 90 КГц (System Clock Reference -- SCR, метка по которой происходит увеличения временного счетчика в декодере) и Presentation Data Stamp (PDS, метка насала воспроизведения, вставляются в картинку или в звуковой кадр, чтобы объяснить декодеру, когда их воспроизводить. Размер PDS сотавляет 33 бита, что обеспечивает возможность представления любого временного цикла длинной до 24 часов).