Аудио компресия 6

Признати методи за компресиране на данни като RLE, статистически и речникови методи могат да се използват за компресиране на аудио файлове без загуба, но резултатът силно зависи от конкретните аудио данни. Някои звуци ще се компресират добре с RLE, но лошо със статистически алгоритми. Други звуци са по-подходящи за статистическа компресия, докато при речников подход, напротив, може да се получи разширяване. Ето кратко описание на ефективността на тези три метода за компресиране на аудио файлове.

RLE работи добре със звуци, които съдържат дълги серии от повтарящи се звукови фрагменти - проби. При 8-битово семплиране това може да се случи доста често. Спомнете си, че разликата в напрежението между две 8-битови проби

компресия
и
които
е около 4 mV. Няколко секунди хомогенна музика, в която звуковата вълна ще се промени с по-малко от 4 mV, ще доведат до поредица от хиляди идентични проби. При 16-битово вземане на проби, очевидно, дългите повторения са по-рядко срещани и следователно алгоритъмът RLE ще бъде по-малко ефективен.

Статистическите методи присвояват кодове с променлива дължина на звукови проби според тяхната честота. С 8-битово семплиране има общо 256 различни семпли, така че семплите могат да бъдат разпределени равномерно в голям аудио файл. Такъв файл не може да бъде компресиран добре по метода на Huffman. При 16-битово семплиране са разрешени повече от 65 000 звукови фрагмента. В този случай е възможно някои проби да се появяват по-често, а други по-рядко. При силно вероятностно изкривяване могат да се постигнат добри резултати с помощта на аритметично кодиране.

Базираните на речник методи предполагат, че определени фрази ще се срещат често навсякъдецелия файл. Това се случва в текстов файл, в който отделни думи или техните последователности се повтарят многократно. Аудиото обаче е аналогов сигнал и значението на отделните генерирани проби зависи силно от работата на ADC. Например, с 8-битово вземане на проби, вълна от 8 mV се превръща в числена извадка, равна на 2, но вълна, близка до нея, да речем, 7,6 mV или 8,5 mV може да се превърне в различно число. Поради тази причина фрагментите от речта, които съдържат съвпадащи фрази и ни звучат еднакво, може леко да се различават, когато бъдат дигитализирани. Тогава те ще попаднат в речника под формата на различни фрази, които няма да дадат очакваната компресия. Следователно речниковите методи не са много подходящи за аудио компресия.

Възможно е да се постигнат по-добри резултати при компресиране на аудио със загуба на част от аудиоинформацията чрез разработване на методи за компресиране, които отчитат особеностите на звуковото възприятие. Те премахват тази част от данните, които остават недоловими за слуховите органи. Това е подобно на компресиране на изображения, като същевременно се изхвърля информация, която е невидима за окото. И в двата случая изхождаме от факта, че оригиналната информация (изображение или звук) е аналогова, тоест част от информацията вече е загубена по време на квантуване и цифровизация. Ако се допусне още загуба, направено внимателно, това няма да повлияе на качеството на декомпресирания звук, който няма да се различава много от оригинала. Ще опишем накратко два подхода, които се наричат ​​потискане на мълчанието и уплътняване.

Идеята за потискане на мълчанието е да се третират малки проби, сякаш не са там (тоест те са равни на нула). Това нулиране ще генерира серия от нули, така че методът за потискане на мълчанието всъщност е вариант на RLE, адаптиран към аудио компресия. Този метод се основава на особеностите на звуковото възприятие,което се състои в толерантността на човешкото ухо към отхвърлянето на едва доловими звуци. Аудио файловете, съдържащи дълги участъци от тих звук, ще бъдат по-добре компресирани чрез потискане на тишината, отколкото файлове, изпълнени със силни звуци. Този метод изисква участието на потребителя, който ще контролира параметрите, които задават прага на силата на звука за пробите. Това изисква още два параметъра, те не е задължително да се контролират от потребителя. Единият параметър се използва за определяне на най-кратката последователност от тихи проби, обикновено 2 или 3. А вторият определя най-малкия брой последователни силни проби, които нарушават тишината или паузата. Например след 15 тихи проби могат да последват 2 силни и след това 13 тихи, които ще бъдат определени като една голяма пауза с дължина 30, а подобна последователност от 15, 3 и 12 проби ще се превърне в две паузи с кратък звук между тях.

Кондензацията се основава на факта, че ухото различава по-добре промените в амплитудата на тихите звуци, отколкото на силните. Типична компютърна звукова карта ADC използва линейно преобразуване, за да преобразува напрежението в числова стойност. Ако амплитудата

проби
е преобразувана в число
компресиране
, тогава амплитудата
компресия
ще бъде преобразувана в число
компресия
. Базираният на уплътняване метод за компресиране първо анализира всяка проба от аудио файл и прилага нелинейна функция към нея, за да намали броя на битовете, присвоени на тази проба. Например, с 16-битови проби, компресиран енкодер може да приложи следната проста формула

аудио
(6.1)

за съкращаване на всяка проба. Тази формула нелинейно преобразува 16-битови проби в 15-битови числа в интервала

проби
, като малките (тихи) проби са по-малко изкривени от големите (силни). Раздел. 6.7 илюстрира нелинейността на тази функция. Показва 8 двойки проби,освен това във всяка двойка разликата между пробите е 100. За първата двойка разликата между техните изображения е 34, а разликата между изображенията на последната (силна) двойка е 65. Преобразуваните 15-битови числа могат да бъдат намалени до оригиналните 16-битови проби, като се използва обратната формула

проби
. (6.2)