![](/user_photo/2706_HbeT2.jpg)
- •Омский государственный технический университет
- •1. Из истории развития систем счисления
- •Пальцевый счет
- •1.2. Древнеегипетская система счисления
- •Вавилонская система счисления
- •1.4. Системы счисления, основанные на позиционном принципе
- •1.5. Системы счисления Древней Греции
- •1.6. Римская система счисления
- •1.7. Древнеславянская система счисления
- •2. Позиционная система счисления
- •2.1. Представление произвольного числа в позиционной системе счисления
- •2.2. Двоичная система счисления
- •2.3. Восьмеричная система счисления
- •2.4. Шестнадцатеричная система счисления
- •2.5. Перевод чисел в систему с кратным основанием
- •2.6. Перевод правильной дроби
- •Задания для самостоятельной работы №1
- •1. Перевести данное число из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную системы счисления.
- •2. Перевести данное число в десятичную систему счисления.
- •Контрольная работа №1
- •3. Двоичная арифметика
- •3.1. Сложение двоичных чисел
- •3.2. Вычитание двоичных чисел
- •3.3. Умножение в двоичной системе счисления
- •3.4. Деление двоичных чисел
- •4. Формы представления чисел в эвм
- •4.1. Числа с фиксированной запятой
- •4.2. Числа с плавающей запятой
- •4.3. Сложение (вычитание) чисел с плавающей запятой
- •4.4. Умножение чисел с плавающей запятой
- •4.5. Прямой код
- •4.6. Обратный код
- •1 0111111111111111 – Обр. Код второго числа
- •4.7. Дополнительный код
- •4.8. Признак переполнения разрядной сетки
- •4.9. Правило перевода из дополнительного кода в десятичную систему
- •4.10. Модифицированные коды
- •5. Форматы чисел в эвм
- •Задания для самостоятельной работы №2
- •Контрольная работа №2.2
- •Контрольная работа №2.3
- •Контрольная работа №2.4
- •6. Кодирование алфавитно-цифровой информации
- •6.1. Параметры алфавитно-цифровой информации
- •6.3. Стандарты кодирования символов ansi, кои-8 и unicode
- •7. Двоично-десятичные коды
- •7.2. Коды с избытком
- •7.5. Действия над двоично-десятичными числами
- •7.6. Сложение двоично-десятичных чисел
- •7.7. Вычитание модулей двоично-десятичных чисел
- •7.8. Умножение модулей двоично-десятичных чисел
- •8. Код грея
- •8.1. Строение кода Грея
- •8.2. Использование кода Грея
- •8.3. Алгоритмы преобразования кода Грея
- •9. Погрешности вычислений
- •9.1. Источники погрешностей
- •9.2. Абсолютная и относительная погрешности
- •9.3. Десятичная запись приближенных чисел Значащая цифра числа. Верная значащая цифра
- •9.4. Распространение ошибок
- •9.5. Правила подсчета цифр
- •9.6. Общие рекомендации, позволяющие уменьшить погрешность вычислений
- •9.7. Ошибки в программах, связанные с особенностью выполнения арифметических операций
- •10. Представление графической информации
- •10.1. Текстовый режим
- •10.2. Графический режим
- •10.3. Растровое графическое изображение
- •10.4. Векторная графика
- •10.5. Форматы графических файлов
- •11. Представление звуковой информации
- •11.1. Цифро-аналоговое и аналого-цифровое преобразование звуковой информации
- •11.2. Компрессия звука
- •11.3. Формат Microsoft riff
- •11.6. Midi-форма звука
- •11.7. Аппаратные синтезаторы
- •11.8. Альтернативы звука в эвм
- •11.9. Звуковые платы
- •Задачи для самостоятельной работы
- •Приложение 3
- •Содержание
- •Литература
11.3. Формат Microsoft riff
RIFF (Resource Interchange File Format) - это формат файла, позволяющий сохранять произвольные данные в структурированном виде. Файлы RIFF могут содержать блоки с различными типами данных. Они весьма похожи на те блоки, которые используются в первоначально разработанном для систем Amiga формате IFF Electronic Arts. Файл RIFF составлен из блоков (chunk), некоторые из них могут, в свою очередь, содержать другие вложенные блоки. Каждый блок имеет четырехсимвольный идентификатор и длину. Файл RIFF целиком представляет собой фактически одиночный блок. Блок RIFF служит для объединения и группировки других блоков. Как показано на рисунке 4, первые четыре байта данных в блоке RIFF - идентификатор формы (form identifier). В данном параграфе речь пойдет о форме WAVE, которая хранит информацию об оцифрованном звуке. Форма WAVE может состоять из нескольких блоков, хотя обычно имеется только один блок формата и один блок данных. Фактически большинство программ, работающих с файлами WAVE, предполагают, что файлы имеют жестко структурированный формат, который показан в таблице 1. Хотя такое предположение на практике допустимо, подобные программы не смогут работать с файлами WAVE, содержащими необязательные блоки комментария или другие данные. С другой стороны, хорошо написанные программы для работы с файлами WAVE будут просто пропускать те блоки, которые они не понимают. Блок fmt, содержит основную информацию об оцифрованном звуке. Большей частью эти поля тривиальны. Почти все файлы WAVE в Интернете имеют формат PCM.
11.4. WAV-формат
Более гибким является WAV-формат для Windows (файлы с расширением «.wav»). WAV-файл состоит из трех блоков – двух заголовочных и одного блока звуковых данных. Первый блок имеет идентификатор "RIFF", за которым в 4-х байтах следует размер файла (без учета первых 8 байтов). В следующих 4-х байтах стоит идентификатор "WAVE", указывающий тип RIFF-файла.
Следующий заголовочный блок содержит байтов в следующем порядке:
4 байта – идентификатор «fmt_» 4 байта – число 16 (размер данных блока) 2 байта – информация о кодеке (1 для PCM) 2 байта – число каналов (1 – моно, 2 – стерео) 4 байта – частота дискретизации (при 44100 Гц – AC44H) 4 байта – число байтов в секунду, равное W, если B кратно 8 2 байта – число байтов на один отсчет, равное BC/8, если B кратно 8 2 байта – число битов на выборку B (если B не кратно 8, то выборки дополняются нулями до целого числа байтов).
Последний блок – данные отсчетов – начинается идентификатором "data", за которым расположены 4 байта – размер блока, а затем сами данные. В случае стереоотсчета данные для обоих каналов следуют друг за другом: сначала выборка для левого канала, затем выборка для правого, и т.д.
11.5. MPEG Audio
Кодирование начинается с того, что поток аудиоданных разбивается на фреймы – участки, каждый из которых кодируется независимо от других (Здесь можно провести некоторую параллель с графическим алгоритмом JPEG, который делит исходную картинку на квадраты 8*8 пикселей). Каждый фрейм может иметь свои параметры кодирования Далее сигнал в каждом фрейме делится на несколько частотных диапазонов, для каждого диапазона определяется мощность сигнала, если мощность сигнала для данного частотного диапазона настолько мала, что не может быть услышана человеком, то информация об этом частотном диапазоне не включается в выходной файл Далее учитывается так называемый маскирующий эффект – слабый сигнал, находящийся в одном частотном диапазоне, может быть не слышен на фоне сильного сигнала, находящегося в соседнем частотном диапазоне Величины маскирующего эффекта для разных комбинаций частот установлены экспериментально и лежат в основе психоакустической модели человеческого слуха, используемой алгоритмом МРЗ-кодирования Если сигнал в каком-либо частотном диапазоне полностью маскируется соседними частотными составляющими, то он также отбрасывается алгоритмом. Далее сигналы, соответствующие различным частотным диапазонам, подвергаются ресэмплингу – пересчету со снижением количества бит на отсчет. Снижение количества бит на отсчет эквивалентно добавлению в сигнал шума (потеря одного бита соответствует уменьшению отношения сигнал/шум на 6 дБ) Если мощность шума ниже величины маскирующею эффекта для данного частотного диапазона, то такое снижение "битности" сигнала считается допустимым. Дальнейшая обработка оставшейся информации зависит от параметров кодирования в первую очередь от так называемого битрейта величины выходного информационного потока. Фактически при битрейте 256 kbs уже невозможно отличить "сжатый" звук от CD-оригинала, те такой поток несет в себе полную психоакустическую информацию об исходном сигнале. При меньших битрентах алгоритм кодирования начинает выкидывать из потока данных полезную информацию.
Существует одно важное отличие стандарта МРЗ от других методов сжатия информации – этот стандарт определяет, какая информация должна содержаться в выходном файле, но не регламентирует конкретного алгоритма сжатия. В силу этого обстоятельства существует множество алгоритмов МРЗ-сжатия, реализованных в разных кодерах, каждый из которых имеет свои преимущества и недостатки Одни кодеры обеспечивают относительно более высокое качество звука при низких битрейтах, другие имеют преимущества на высоких, третьи обеспечивают более "плоскую" АЧХ. Собственно, процесс воспроизведения МРЗ правильнее называть не декодированием, а синтезом – разные декодеры воспроизведут один и тот же МРЗ - файл немного по-разному.