
- •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
3.10.5 Что такое cbr и vbr?
Как известно, результатом кодирования сигнала с помощью такого алгоритма, как, например, MPEG-1 Layer III (MP3) (или некоторых других алгоритмов), является бит-поток с фреймовой (блочной) структурой. Это объясняется тем, что кодирование исходного потока производится не целиком, а по частям. То есть фактически исходный поток разделяется на блоки определенной фиксированной длины, затем каждый блок (фрейм) в отдельности подвергается кодированию и результат (кодированный блок информации) направляется в результирующий поток (будь то файл или поток данных).
CBR (Constant Bit Rate - постоянный битрейт) - это такой способ кодирования исходного аудио потока, при котором все его блоки (фреймы) кодируются с одинаковыми параметрами (с одинаковым битрейтом). Иными словами, битрейт на всей протяженности (всех фреймов) результирующего потока является постоянным.
VBR (Variable Bit Rate - переменный битрейт) - это такой способ кодирования исходного аудио потока, при котором каждый отдельный блок (фрейм) кодируется со своим битрейтом. Выбор битрейта, оптимально подходящего для кодирования данного фрейма, осуществляется самим кодером путем анализа "сложности сигнала" в каждом отдельном фрейме.
3.10.6 Каковы отличия режимов cbr, vbr и abr?
Уточним две детали:
Кодирование в MP3 происходит поблочно: кодируемый файл разбивается на фреймы (кадры) с одинаковым интервалом, каждый кадр кодируется и записывается в выходной поток; таким образом, выходной поток также имеет кадровую структуру.
Фреймы могут быть закодированы не на любом битрейте, а только на одном из входящих в таблицу стандартных для MPEG1 Layer III битрейтов: 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320. Кодирование на любых промежуточных битрейтах ("freeformat") стандартом не предусмотрено.
Люди, использующие VBR в Lame, обычно аргументируют это фразой: "я хочу получать постоянное качество, а не постоянный битрейт". Действительно, ведь в музыке бывают простые пассажи, на которые вполне хватает и 128 Кбит/сек (например паузы между песнями), а бывают и сложные, на которых человек с хорошим слухом, хорошей аудио картой и прочей аудиоаппаратурой услышит дефекты компрессии даже на 320 Кбит/сек. На самом деле такой аргумент не совсем правомочен.
CBR
Даже в режиме CBR, mp3-кодер может перераспределять биты во времени, выделяя большее или меньшее количество бит во время сложного или простого пассажей, что позволяет в целом улучшить качество звучания. Такое перераспределение бит делается за счёт так называемого резервуара бит: во время кодирования простых пассажей кодер тратит на них не весь заданный пользователем битрейт, а лишь около 90%, около 10% экономится в резервуаре для кодирования сложных мест (изначально резервуар пуст). При кодировании сложных пассажей кодер будет использовать все 100% указанного битрейта и добавлять дополнительные биты из резервуара (если таковые имеются, то есть если резервуар не пуст). К сожалению, в соответствии со стандартом, размер резервуара ограничен. Это означает, что если простой сигнал продолжается достаточно долго, резервуар накапливает свой объем до определенных максимально допустимых пределов и далее кодирование идёт уже с использованием всех 100% битрейта. И обратная ситуация: если сложный сигнал продолжается достаточно долго, из резервуара (постепенно) забираются все сэкономленные биты и далее кодирование идёт с использованием уже теперь всех 100% битрейта.
ABR
Пояснение: Можно было бы сказать, что резервуар неплохо справляется со своей основной обязанностью - накопление "лишних" битов во время простых пассажей и их выдача в качестве дополнительных при кодировании сложных пассажей, если бы не одно "но": он обладает конечным и, причём, весьма ограниченным размером, что означает, что копить его можно лишь до определенных пределов, и вынимать, соответственно, тоже, пока резервуар не опустошится. Именно для того чтобы убрать этот главный недостаток резервуара и был разработан ABR.
Главное отличие ABR от CBR в том, что в CBR все фреймы обязаны быть одного размера (то есть битрейт для всех фреймов должен быть одинаков), в ABR же это ограничение снято, соответственно, существует возможность вместо стандартного весьма ограниченного по размеру резервуара использовать практически бесконечный "виртуальный" резервуар. Выглядит это приблизительно следующим образом.
Механизм: Допустим, что пользователь указал режим ABR и определенный битрейт B (пользователь может указывать абсолютно любой битрейт от 32 до 320, даже не из стандартной сетки битрейтов, например можно указать в качестве желаемого среднего битрейта 129). Кодер принимает кусок аудио (фрейм), который необходимо закодировать. Таким же образом, как и в CBR, определяет его сложность (об этом мы поговорим ниже). Если пассаж сложный, то кодер также берёт на него больше битов, но уже не из резервуара (как в CBR), а просто-напросто увеличивая битрейт на необходимое количество ступеней (выбранный битрейт должен входить в сетку стандартных), создавая таким образом "виртуальный резервуар" (поднять битрейт здесь можно - это не CBR). Что значит "виртуальный резервуар"? Это просто: мы предположили, что указанного пользователем битрейта B кодеру мало, ему нужно K бит (K > B), тогда кодер подбирает такой минимальный стандартный битрейт N, при котором выполняется: N >= K (такой выбор битрейта мы и называем "виртуальный резервуар"). Затем происходит кодирование с помощью K бит взятого куска аудио. Однако N >= K, то есть мы использовали меньше бит, чем есть во взятом фрейме, так не будем же мы выбрасывать эти лишние биты? Вот эти лишние биты мы и записываем в уже настоящий резервуар. Так как в ABR есть возможность использовать "виртуальный резервуар" не имеет смысла строить стандартный резервуар, поэтому когда придет следующий кусок аудио, для его кодирования сначала будут использованы биты из резервуара, а потом кодер решит какой битрейт необходим дальше. Другими словами, если в CBR кодер все время старается накопить как можно больше бит в резервуаре, то в ABR кодер наоборот, старается избавиться от бит в резервуаре, так как копить их незачем - можно просто поднять битрейт.
Простые пассажи кодируются меньшим количеством бит, на них берётся примерно 95% от указанного битрейта B, но теперь остаток не откладывается в резервуар, кодер просто берёт фрейм с меньшим битрейтом. Возникающая разница (оставшиеся биты) записывается в стандартный резервуар (не выбрасывать же оставшиеся биты...). Пример. Допустим, пришел "простой" пассаж. Тогда кодер берет все биты (если таковые есть) в резервуаре (настоящем), потом ищет ближайший стандартный битрейт, при котором суммарное количество бит, получившееся для этого фрейма (все биты из резервуара + взятый битрейт), составит 95% от заданного пользователем битрейта B, производит кодирование, а лишние биты (если они остались) снова сохраняет в резервуаре.
Итог: Таким образом, использование резервуара в ABR отлично от CBR. В CBR битрейт менять нельзя и резервуар специально копят путем сохранения там бит, которые остались (были сэкономлены) от кодирования фрейма на заданном изначально фиксированном битрейте во время простого пассажа; если для кодирования нужны биты и резервуар пуст - то пуст, ничего с этим поделать нельзя и кодирование идет просто на указанном битрейте в ущерб качеству. В ABR битрейт переменный и стандартный резервуар фактически не нужен, однако поскольку поднятие (опускание) битрейта происходит обязательно до определенного табличного значения, которое может оказаться выше необходимого кодеру количества бит, то лишние биты, конечно, не выбрасывают, а сохраняют в резервуаре. Иными словами, в CBR накопление стандартного резервуара - основная задача, в ABR же есть неограниченный "виртуальный резервуар" и стандартный используется только для хранения лишних бит, образовавшихся в результате разницы между табличными значениями битрейтов и реально необходимым битрейтом.
VBR
VBR - переменный битрейт. Пользователь указывает желаемое качество. Lame, опираясь на свою психоакустическую модель, выделяет для каждого фрейма ровно то количество бит, которое необходимо для достижения заданного качества. В выходном потоке фреймы соответственно имеют разные битрейты (которые всегда ложатся в таблицу стандартных битрейтов). Использование резервуара в VBR абсолютно идентично ABR - туда попадают только неиспользованные хвостики фреймов.