- •2.4.3 Ацп с плавающей точкой……………………………………………
- •1 Цифровые фильтры
- •1.1 Явление Гиббса
- •1.1.1 Сущность явления Гиббса
- •1.1.2 Параметры эффекта
- •1.1.3 Последствия для практики
- •1.2 Весовые функции
- •1.2.1 Нейтрализация явления Гиббса в частотной области
- •1.2.2 Основные весовые функции
- •1.3 Типы фильтров
- •1.4 Разностное уравнение
- •Нерекурсивные фильтры
- •1.5.1 Методика расчетов нцф
- •1.5.2 Идеальные частотные фильтры
- •1.5.3 Конечные приближения идеальных фильтров
- •1.5.3.1 Применение весовых функций
- •1.5.3.2 Весовая функция Кайзера
- •1.5.4 Дифференцирующие цифровые фильтры
- •1.5.5 Гладкие частотные фильтры
- •1.6 Рекурсивные фильтры
- •6.3 Интегрирующий рекурсивный фильтр.
- •1.6.1 Принципы рекурсивной фильтрации
- •1.6.2 Режекторные и селекторные фильтры
- •1.6.2.1 Комплексная z-плоскость.
- •1.6.2.2 Режекторные фильтры
- •1.6.2.3 Селекторный фильтр
- •1.6.3 Билинейное z-преобразование
- •1.6.4 Типы рекурсивных частотных фильтров
- •1.7 Импульсная характеристика фильтров
- •Передаточные функции фильтров
- •1.9 Частотные характеристики фильтров
- •1.10 Частотный анализ цифровых фильтров
- •1.10.1 Сглаживающие фильтры и фильтры аппроксимации
- •1.10.1.1 Фильтры мнк 1-го порядка (мнк-1)
- •1.10.1.2 Фильтры мнк 2-го порядка (мнк-2)
- •1.10.1.3 Фильтры мнк 4-го порядка
- •1.10.2 Разностные операторы
- •1.10.2.1 Разностный оператор
- •1.10.2.2 Восстановление данных
- •1.10.2.3 Аппроксимация производных
- •1.10.3 Интегрирование данных
- •1.10.4 Расчёт фильтров по частотной характеристике
- •1.11 Фильтрация случайных сигналов
- •1.12 Структурные схемы цифровых фильтров
- •Обращенные формы.
- •1.13 Фильтры Чебышева
- •1.14 Фильтры Баттерворта
- •Свойства фильтров Баттерворта нижних частот:
- •1.15 Фильтры Бесселя
- •2 Аналого-цифровое преобразование
- •2.1 Цифровая обработка звуковых сигналов
- •2.2 Основы аналого-цифрового преобразования
- •2.2.1 Основные понятия и определения
- •2.3 Структура и алгоритм работы цап
- •Контрольные вопросы
- •2.4 Структура и алгоритм работы ацп
- •2.4.1 Параллельные ацп
- •2.4.2 Ацп с поразрядным уравновешиванием
- •2.4.3 Ацп с плавающей точкой
- •Контрольные вопросы
- •Глава 3. Звук.
- •3.1 Аудиосигнал
- •3.1.1 Звуковые волны
- •3.1.2 Звук как электрический сигнал
- •3.1.3 Фаза
- •3.1.4 Сложение синусоидальных волн
- •3.2 Звуковая система
- •3.2.1 Назначение звуковой системы
- •3.2.2 Модель звуковой системы
- •3.2.3 Входные датчики
- •3.2.4 Выходные датчики
- •3.2.5 Простейшая звуковая система
- •3.3 Амплитудно-частотная характеристика
- •3.3.1 Способы записи ачх в спецификации звуковых устройств
- •3.3.2 Октавные соотношения и измерения
- •3.3.3 Ачх реальных устройств воспроизведения звука
- •3.3.4 Диапазон частот голоса и инструментов
- •3.3.5 Влияние акустических факторов
- •3.4 Единицы измерения, параметры звуковых сигналов
- •3.4.1 Децибел
- •3.4.2 Относительная мощность электрических сигналов дБm
- •3.4.3 Децибелы и уровень звука
- •3.4.5 Громкость, уровень сигнала и коэффициент усиления
- •3.4.6 Громкость
- •3.5 Динамический диапазон
- •3.5.1 Запас динамического диапазона
- •3.5.2 Выбор динамического диапазона для реальной звуковой системы
- •3.6 Цифровой звук
- •3.6.1 Частота дискретизации
- •3.6.2 Разрядность
- •3.6.3 Дизеринг
- •3.6.4 Нойс шейпинг
- •3.6.5 Джиттер
- •3.7 Методы и стандарты передачи речи по трактам связи, применяемые в современном оборудовании (7 кГц)
- •3.7.1 Импульсно-кодовая модуляция (pcm — Pulse-Code Modulation)
- •3.7.3 Помехоустойчивость методов икм
- •3.7.4 Методы эффективного кодирования речи
- •3.7.5 Кодирование речи в стандарте cdma
- •3.7.6 Речевые кодеки для ip-телефонии
- •3.7.7 Оценка качества кодирования речи
- •3.8 Общие сведения по мр3
- •3.8.1 Феномен мрз
- •3.8.2 Что такое формат мрз?
- •3.8.3 Качество записи мрз
- •3.8.4 Формат мрз и музыкальные компакт-диски
- •3.8.5 Работа со звукозаписями формата мрз
- •3.9 Основные понятия цифровой звукозаписи
- •3.9.1 Натуральное цифровое представление данных
- •3.9.2 Кодирование рсм
- •3.9.3 Стандартный формат оцифровки звука
- •3.9.4 Параметры дискретизации
- •3.9.5 Качество компакт-диска
- •3.9.6 Объем звукозаписей
- •3.9.7 Формат wav
- •3.10 Формат mp3
- •3.10.1 Сжатие звуковых данных
- •3.10.2 Сжатие с потерей информации
- •3.10.3 Ориентация на человека
- •3.10.4 Кратко об истории и характеристиках стандартов mpeg.
- •3.10.5 Что такое cbr и vbr?
- •3.10.6 Каковы отличия режимов cbr, vbr и abr?
- •3.10.7 Методы оценки сложности сигнала
- •3.10.8 Какие методы кодирования стерео информации используются в алгоритмах mpeg (и других)?
- •3.10.9 Какие параметры предпочтительны при кодировании mp3?
- •3.10.10 Какие альтернативные mpeg-1 Layer III (mp3) алгоритмы компрессии существуют?
- •3.11 OggVorbis
- •3.13 Flac
- •4 Сжатие видео
- •4.1 Общие положения алгоритмов сжатия изображений
- •4.1.1 Классы изображений
- •4.1.2 Классы приложений
- •4.1.3 Требования приложений к алгоритмам компрессии
- •4.1.4 Критерии сравнения алгоритмов
- •4.2 Алгоритмы сжатия
- •Gif (CompuServe Graphics Interchange Format)
- •4.3 Вейвлет-преобразования
- •4.3.1 Вейвлеты, вейвлет-преобразования, виды и свойства Вейвлет анализ и прямое вейвлет-преобразование
- •Непрерывное прямое и обратное вейвлет-преобразования
- •Ортогональные вейвлеты
- •Дискретное вейвлет-преобразование непрерывных сигналов
- •Кратномасштабный анализ
- •Пакетные вейвлеты.
- •4.3.2 Примеры применения вейвлетов Очистка сигнала от шума
- •Очистка сигнала от шумов на основе вейвлет-преобразований.
- •4.4 Формат сжатия изображений jpeg
- •2) Дискретизация
- •3) Сдвиг Уровня
- •4) 8X8 Дискретное Косинусоидальное Преобразование (dct)
- •5) Зигзагообразная перестановка 64 dct коэффициентов
- •6) Квантование
- •7) RunLength кодирование нулей (rlc)
- •8) Конечный шаг - кодирование Хаффмана
- •4.5 Jpeg2000
- •4.5.1 Общая характеристика стандарта и основные принципы сжатия
- •4.5.2 Информационные потери в jpeg2000 на разных этапах обработки
- •4.5.3 Практическая реализация
- •4.5.4 Специализированные конверторы и просмотрщики
- •4.5.5 Основные задачи для развития и усовершенствования стандарта jpeg2000
- •4.6 Видеостандарт mpeg
- •4.6.1 Общее описание
- •4.6.2 Предварительная обработка
- •4.6.3 Преобразование макроблоков I-изображений
- •4.6.4 Преобразование макроблоков р-изображений
- •4.6.5 Преобразование макроблоков в-изображений
- •4.6.6 Разделы макроблоков
- •4.7 Mpeg-1
- •Параметры mpeg-1
- •4.8 Mpeg-2
- •4.8.1 Стандарт кодирования mpeg-2
- •4.8.2 Компрессия видеоданных
- •4.8.3 Кодируемые кадры
- •4.8.4 Компенсация движения
- •4.8.5 Дискретно-косинусное преобразование
- •4.8.6 Профессиональный профиль стандарта mpeg-2
- •4.9.11 Плюсы и минусы mpeg-4
- •4.10 Стандарт hdtv
4.6 Видеостандарт mpeg
На наших глазах в области видеокомпьютерных технологий происходит очередной революционный скачок, а именно широкое практическое внедрение различных систем, основанных на компьютерном воспроизведении в реальном времени и с высоким качеством последовательностей видеоизображений. Это компакт-диски стандартов СD-I и Video-CD, несущие по 60-70 минут настоящего видео с возможностью его просмотра на стандартных PC-компьютерах, оснащенных CD-проигрывателем и MPEG-платой. Это устройства нелинейного монтажа, позволяющие захватывать в компьютер видеофрагменты длительностью от десятков секунд до минут с целью последующей их цифровой обработки (а ее возможности поистине неограниченны) и обратного ТВ-воспроизведения и записи в соответствии с заданным сценарием (тем самым компьютер превращается в монтажную студию). Это, наконец, видеоконференции, обеспечивающие визуальное общение через компьютеры, соединенные между собой с помощью модемов по телефонным каналам. Распространение этих и других подобных систем стало возможным в силу разработки мощных алгоритмов, обеспечивающих цифровое сжатие видеоинформации в десятки и сотни раз, и последующего массового производства микросхем, аппаратно реализующих данные алгоритмы в соответствии с принятыми стандартами. Понимание принципов этих алгоритмов представляется важным не только для разработчиков оригинальных алгоритмов и устройств, но и для квалифицированных пользователей вышеупомянутых систем.
Настоящий материал посвящен краткому описанию основ одного из наиболее продвинутых стандартов, разработанного международным комитетом Motion Pictures Expert Group (сокращенно - MPEG) и принятого в окончательной редакции ISO 11172-2 только в 1993г. Хотя MPEG-стандарт определяет правила кодирования и декодирования цифровых потоков как изображений, так и связанного с ними звука, в этом материале мы остановимся только на видео.
4.6.1 Общее описание
Несмотря на большую гибкость стандарта, позволяющую для различных приложений менять в широких пределах значения большинства его параметров (такие как разрешение изображений, аспектное отношение, частота кадров), его разработчики первоначально были ориентированы на использование в качестве основного носителя кодированной информации компакт-дисков (CD-ROM) со скоростью передачи данных 150 Кб/с. В результате базовый алгоритм (MPEG 1) ограничивает скорость передачи диапазоном 150-225 Кб/с, разрешение изображений (кадров) как 352х288 (PAL) или 320х240 (NTSC), частоту их смены 25 (PAL) или 30 (NTSC). Далее для простоты мы ограничимся рассмотрением PAL-системы.
MPEG-компрессия использует следующие основные идеи:
• устранение временной избыточности видео, учитывающее тот факт, что в пределах коротких интервалов времени большинство фрагментов сцены оказываются неподвижными или незначительно смещаются по полю; • устранение пространственной избыточности изображений подавлением мелких деталей сцены, несущественных для ее визуального восприятия человеком; • использование более низкого цветового разрешения при YUV-представлении изображений (Y -яркость, U и V - цветоразностные сигналы) - установлено, что глаз менее чувствителен к пространственным изменениям оттенков цвета по сравнению с изменениями яркости; • повышение информационной плотности результирующего цифрового потока путем выбора оптимального математического кода для его описания (например, использование более коротких кодовых слов для наиболее часто повторяемых значений).
Изображения в MPEG-последовательности подразделяются на следующие типы:
• I (intra), играющие роль опорных при восстановлении остальных изображений по их разностям; • Р (predicted), содержащие разность текущего изображения с предыдущим I или Р с учетом смещений отдельных фрагментов; • В (bidirectionally predicted), содержащие разность текущего изображения с предыдущим и последующим изображениями типов I или Р с учетом смещений отдельных фрагментов;
Изображения объединяются в группы (GOP - Group Of Pictures), представляющие собой минимальный повторяемый набор последовательных изображений, которые могут декодированы независимо от других изображений в последовательности. Типичной является группа вида
(I0 В1 В2 РЗ В4 В5 Р6 В7 В8 Р9 В10 В11)(I12 В13 В14 Р15 В16 В17 Р18...)
в которой I-тип повторяется каждые полсекунды. Обратим внимание, что в изображении РЗ основная часть фрагментов сцены предсказывается на основании соответствующих смещенных фрагментов изображения I0. Собственно кодированию подвергаются только разности этих пар фрагментов. Аналогично Р6 "строится" на базе РЗ, Р9 - на базе Р6 и т.д. В то же время большинство фрагментов В1 и В2 предсказываются как полусумма смещенных фрагментов из I0 и РЗ, В4 и В5 -из РЗ и Р6, В7 и В8 - из Р6 и Р9 и т.д. В то же время В-изображения не используются для предсказания никаких других изображений. В силу зависимости изображений в процессе их кодирования меняется порядок следования. Для вышеприведенной последовательности он будет следующим:
I0 РЗ В1 В2 Р6 В4 В5 Р9 В7 В8 I12 В10 В11 Р15 В13 В14 Р18 В16 В17... .
Ясно, что точность кодирования должна быть максимальной для I, ниже - для P минимальной - для В. Установлено, что для типичных сцен хорошие результаты достигаются при отведении числа бит для I в 3 раза больше, чем для Р, и для Р в 2-5 раз больше, чем для В. Эти отношения уменьшаются для динамичных сцен и увеличиваются для статичных.
Отдельные изображения состоят из макроблоков. Макроблок - это основная структурная единица фрагментации изображеия. Он соответствует участку изображения размером 16х16 пикселей. Именно для них определяются вектора смещения относительно I - или Р-изображений. Общее число макроблоков в изображении - 396. Для повышения устойчивости процесса восстановления изображений к возможным ошибкам передачи данных последовательные макроблоки объединяют в независимые друг от друга разделы (slices), максимальным числом до 396. В предельном случае "чистой" передачи на изображение приходится всего один раздел из 396 макроблоков. В свою очередь каждый макроблок состоит из шести блоков, четыре из которых несут информацию о яркости Y, а по одному определяют цветовые U- и V-компоненты. Каждый блок представляет собой матрицу 8х8 элементов. Блоки являются базовыми структурными единицами, над которыми осуществляются основные операции кодирования, в том числе выполняется дискретное косинусное преобразование (DCT - discrete cosine transform) и квантование полученных коэффициентов.
Упрощенно процесс MPEG-кодирования сводится к следующему. На этапе предварительной обработки входной видеосигнал оцифровывается и форматируется согласно заданному размеру 352х288 и цветовой выборке 2:1 (на каждые 2 Y-отсчета по горизонтали и вертикали приходится по одному U- и V-отсчету). После этого кодер делает выбор структуры группы (она может меняться в процессе кодирования в зависимости от содержания видео и разрешенного объема передаваемой информации), задает типы всех изображений и по необходимости меняет их последовательность. Далее для I -изображений он осуществляет DCT каждого макроблока. Для Р- и В-изображений он сначала оценивает вектора смещения - по одному на макроблок для Р (для предсказания вперед) и по 2 для В (вперед и назад). Затем, сравнивая число бит, необходимое для кодирования макроблока как в случае предсказания его значений на основе соответствующих макроблоков из предыдущего (для Р) и последующего (для В) изображений, так и без оного предсказания, кодер по каждому макроблоку принимает отдельное решение и осуществляет DCT - либо собственных значений макроблока, либо его разностных (относительно предсказанных) значений. После этого полученные коэффициенты DCT подвергаются квантованию с переменным шагом - более высоким частотам задается больший шаг. В результате большинство высокочастотных коэффициентов принимают нулевые значения, что позволяет математически эффективно их кодировать. Изменяя масштаб квантования, кодер реализует компромисс между качеством кодированных изображений (тем хуже, чем больше масштаб) и объемом передаваемой информации (тем меньше, чем больше масштаб). Это особенно важно для систем с фиксированной пропускной способностью. Поскольку в видео информационная насыщенность изображений меняется со временем, то кодер должен постоянно отслеживать реальный объем передаваемых данных и оперативно менять масштаб квантования (и, конечно, значения других параметров). Безусловно, этот процесс не может быть абсолютно точным, поэтому кодер (как и декодер) обладает буфером памяти, в который предварительно записывается переменный поток данных, и из которого этот поток передается с заданной скоростью. Чем больше размер этого буфера, тем большие изменения объема данных на изображение относительно среднего уровня допускаются. В стандарте буфер установлен как 327 680 бит (40 Кб), что при скорости 200 Кб/с соответствует 0,2 с. Таким образом, кодер должен следить за реальным состоянием буфера, не допуская его переполнения (часть данных будет потеряна) или не дополнения (качество передаваемых изображений будет неоправданно низким). В результирующем потоке кодер должен передавать как собственно математически закодированные значения коэффициентов DCT, так и выбранные значения всех параметров кодировки (вид матрицы квантования и ее масштаб, тип предсказания макроблока и значения векторов смещения, структуру группы и т.д.). Декодеру остается сравнительно простая работа - принять в буфер и расшифровать (шифр задан стандартом) полученную информацию, осуществить обратные преобразования и отобразить полученное видео на мониторе.
Вышеизложенное объясняет, почему при наличии множества недорогих MPEG-проигрывателей MPEG-кодеры до сих пор остаются дорогими и элитарными устройствами. Теперь рассмотрим более подробно некоторые важные вопросы MPEG-кодирования.