Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции цоавс короткие .docx
Скачиваний:
33
Добавлен:
11.04.2015
Размер:
596.47 Кб
Скачать

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 часов).