Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
podgotovka_toi.docx
Скачиваний:
42
Добавлен:
22.09.2019
Размер:
1.03 Mб
Скачать

9. Двоичное кодирование звуковой информации.

В

Звук представляет собой звуковую волну с непрерывно меняющейся амплитудой и частотой. Чем больше амплитуда сигнала, тем он громче, чем больше частота, тем выше тон. Для того, чтобы компьютер мог обрабатывать звук, непрерывный звуковой сигнал должен быть превращен в последовательность электрических импульсов (двоичных нулей и единиц).

В процессе кодирования непрерывного звукового сигнала производится его временная дискретизация. При этом звуковая волна разбивается на мелкие временные участки, для каждого из которых устанавливается значение амплитуды. На графике это выглядит как замена гладкой кривой на последовательность ”ступенек”, каждой из которых присваивается значение уровня громкости. Чем большее количество уровней громкости будет выделено в процессе кодирования, тем более качественным будет звучание.

ременная дискретизация звука

A (t)

t

Рисунок 1. Временная дискретизация звука.

Современные звуковые карты обеспечивают 16-битную глубину кодировки звука. Количество различных уровней сигнала можно рассчитать по формуле: N=216=65536. Т.о., современные звуковые карты обеспечивают кодирование 65536 уровней сигнала. Каждому значению амплитуды присваивается 16-ти битный код.

При двоичном кодировании непрерывного звукового сигнала он заменяется последовательностью дискретных уровней сигнала. Качество кодирования зависит от количества измерений уровня сигнала в единицу времени, т.е. частотой дискретизации. Чем большее количество измерений проводится в 1 секунду (чем больше частота дискретизации), тем точнее процедура двоичного кодирования.

Качество двоичного кодирования звука определяется глубиной кодирования и частотой дискретизации.

Частота дискретизации аналогового звукового сигнала может принимать значения от 8 кГц до 48 кГц. При частоте 8 кГц качество дискретизованного звукового сигнала соответствует качеству радиотрансляции, а при частоте 48 кГц – качеству звучания аудио-CD. Следует также учитывать, что возможны как моно-, так и стереорежимы.

Попробуем оценить информационный объем стереоаудиофайла длительностью звучания 1 секунда при высоком качестве звука (16 бит, 48 кГц). Для этого количество битов нужно умножить на количество выборок в 1 секунду и умножить на 2 (стерео):

16 бит*48 000 *2 = 1 536 000 бит = 192 000 байт = 187,5 Кбайт

БИЛЕТЫ 11 -14

Кодирование

Кодированием будем считать процесс отображения одного набора знаков в другой, а кодом – множество образов при этом отображении.

При кодировании используются два алфавита: исходный и кодовый

A = {a1, a2,…, aN}, B = {b1, b2,…, bM}.

Обычно N>M. Кодирование заключается в записи символов исходного алфавита А с помощью символов кодового алфавита В. Каждому символу алфавита А ставится в соответствие некоторая последовательность символов алфавита В, называемая кодом или кодовым словом. Число символов в кодовом слове называется длиной кодового слова. Коды бывают двух типов: равномерные – когда длина всех кодовых слов (или их разрядность) одинакова, и неравномерные – когда кодовые слова имеют разную длину.

Энтропия и избыточность алфавита

Энтропия алфавита – это количество информации, приходящееся на один символ. Символы равновероятного алфавита несут максимальную информационную нагрузку

Hmax = log2 N, где N – объем алфавита.

Алфавиты природных языков не являются равновероятными. Например, относительная частота появления отдельных символов русского языка изменяется от 0,175 до 0,002.

Вследствие статистических свойств алфавита информационная нагрузка на один символ снижена на

H = Hmax - Hср = 0,65 бит/ символ.

Избыточностью алфавита называется уменьшение информационной нагрузки на один символ вследствие неравновероятности и взаимозависимости появления его символов.

Информационная избыточность, характеризующая относительную недогруженность алфавита рассчитывается так:

Равномерные коды

Равномерные коды характеризуются минимальной разрядностью кодовых слов, которая рассчитывается по формуле

где N – объем исходного алфавита А;

M – объем кодового алфавита В;

[logM N] означает целую часть числа logM N

Рассмотрим эти формулы для случая двоичного кодирования (т. е. при М = 2). Минимальная разрядность равномерного кода для алфавита объемом 8 символов будет равна

r min =log2 8 =3 двоичных символа

А для 9-буквенного алфавита

rmin = [log2 9]+1 =[3,17]+1 = 3 +1 = 4 дв. симв

Неравномерные коды

Неравномерные коды характеризуются средней длиной кодового слова

li – длина кодового слова i-го символа;

pi – вероятность появления i-го символа;

N – объем исходного алфавита.

Например, если алфавит А = {a, b, c, d, e} с вероятностями появления символов в сообщении (pa = 0,5; pb = 0,2; pc = 0,1; pd = 0,15; pe = 0,05) закодирован двоичным неравномерным кодом (a – 0; b – 10; c – 1110; d – 110; e – 1111), то средняя длина кодового слова для такого алфавита будет

Таким образом, средняя длина кодового слова есть сумма длин всех кодовых слов, взятых с весом, равным вероятности появления кодируемого символа.

Количество и объем информации

Оптимальное кодирование

Метод Шеннона – Фано

Шаг 1. Упорядочиваем символы исходного алфавита в порядке невозрастания их вероятностей. (Записываем их в строку).

Шаг 2. Не меняя порядка символов, делим их на две группы так, чтобы суммарные вероятности символов в группах были по возможности равны.

Шаг 3. Приписываем группе слева "0", а группе справа "1" в качестве элементов их кодов.

Шаг 4. Просматриваем группы. Если число элементов в группе более одного, идем на Шаг 2. Если в группе один элемент, построение кода для него завершено.

Метод Хаффмана

Шаг 1. Упорядочиваем символы исходного алфавита в порядке невозрастания их вероятностей. (Записываем их в столбец).

Шаг 2. Объединяем два символа с наименьшими вероятностями. Символу с большей вероятностью приписываем "1", символу с меньшей – "0" в качестве элементов их кодов.

Шаг 3. Считаем объединение символов за один символ с вероятностью, равной сумме вероятностей объединенных символов.

Шаг 4. Возвращаемся на Шаг 2 до тех пор, пока все символы не будут объединены в один с вероятностью, равной единице.

Проверка кода на оптимальность

Для оценивания оптимальности кода используют разные критерии. Основным показателем является коэффициент относительной оптимальности kопт , вычисляемый по формуле

Из теоремы кодирования следует, что эта величина не превышает единицы. И чем меньше она отличается от единицы, тем более эффективным считается код.

Следующая характеристика оптимальности кода : код тем ближе к оптимальному, чем меньше различаются вероятности появления различных символов кодового алфавита в закодированном сообщении.

Признаки оптимальности двоичного кода вытекают из предыдущих формул при условии, что кодовый алфавит равновероятен, т. е. H(B) = 1.

Признак 1. Средняя длина кодового слова должна быть приблизительно равна энтропии кодируемого алфавита

Признак 2. Среднее число нулей и единиц в кодовой последовательности должно быть приблизительно одинаково

Билет №15. Понятие алгоритма. Основные свойства алгоритмов. Исполнители алгоритмов. Способы описания алгоритмов.