Логарифмічна компресія

У двох найбільш широко використовуваних нелінійних форматів спільних рис більше, ніж відмінностей B методах компресії як мю-типу (Μ-Law), так і А-типу (Α-Law), для перетворення лінійних відліків ІКМ в 8-бітові коди застосовуються логарифмічні формули

Успіх даного підходу обумовлений декількома причинами По-перше, при модуляції звуку здебільшого виходять невеликі величини Використання логарифмічною компресії дозволяє підвищити точність запису вибірок невеликої величини за рахунок зниження якості запису великих величин, які зустрічаються рідко По-друге, чутливість слуху людини також логарифмічна зміна інтенсивності слабкого звуку помітно сильніше, ніж аналогічне зміна сили потужного звуку По суті, використання логарифмічних методів компресії забезпечує більшу точність саме там, де вона необхідна для слухового сприйняття

Далі в цьому розділі ми будемо розробляти програми, що реалізують дві найпоширеніші схеми логарифмічною компресії Спочатку ці схеми були розроблені для використання в телефонних системах, а пізніше були включені в стандарт ITU G711

Лістинг 111 Програма g711h

#ifndef G711_H_INCLUDED

#define G711_H_INCLUDED

#include &quotaudioh&quot

#include &quotcompressh&quot

#endif

Логарифм числа можна розглядати як кількість цифр у цьому числі Немає нічого дивного в тому, що відправною точкою для логарифмічних форматів є таблиця, в якій для кожного з 8-бітних значень вказано, скільки бітів буде потрібно для запису цього значень

Лістинг 112 Програма compresscpp

#include &quotaudioh&quot

#include &quotg711h&quot

/ * Кількість бітів, необхідне для запису кожного значення * /

static unsigned char numBits[] = {

0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,

6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,

7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,

7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,

8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,

8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,

8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,

8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,

}

Джерело: Кінтцель Т Керівництво програміста по роботі зі звуком = A Programmers Guide to Sound: Пер з англ М: ДМК Пресс, 2000 432 с, іл (Серія «Для програмістів»)

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*