Диференціальна ІКМ

(ДИКМ, іноді ще званадельта-кодуванням)це простий спосіб домогтися помірної компресії При використанні ДИКМ замість запису самих вибірок зберігають тільки різницю між послідовними вибірками Якщо використовувана частота дискретизації буде достатньо висока, то ці прирости, швидше за все, будуть невеликими B результаті, для зберігання одного відліку вам знадобиться менше бітів

Нехай, наприклад, ви хочете стиснути 8-бітові дані ІКМ в послідовність 4-бітових збільшень Якщо ви подбаєте про коректну обробці ситуації переповнення, то складнощів не виникне Розглянемо, зокрема, три вибірки: 17, 28, 30 Виходять два прирости: 11 і 2 Оскільки ви використовуєте для запису кожного прирощення чотири біти, ви можете записувати значення в діапазоні від -8 до +7 Якщо ви примітивно скоротіть 11 до 7 і запишіть прирощення як 7 і 2, то при декодуванні вийдуть величини 17, 24, 26 Однак якщо записати прирощення як 7 і 6, при декодуванні вийде 17, 24,

30 B такому випадку помилково буде відновлено тільки одне значення

Тоді застосовується наступний прийом: компресор завжди використовує величину, яка утворюється в результаті віднімання попереднього декодованого відліку з подальшого фактичного Як ви зможете переконатися самі, цей підхід застосовується повсюдно в ході обробки звуку в багатьох компресорах проводиться декомпресія власного вихідного коду

Ще один підводний камінь, з яким ви можете зіткнутися, використовуючи ДИКМ, полягає в тому, що діапазон зустрічаються збільшень виявиться більше, ніж ви очікували Якщо ви працюєте з 8-бітними отсчетами, що змінюються в діапазоні від -128 до +127, то максимальне збільшення становить 255, амінімальное -255 З того, що для запису відліку достатньо одного байта, не слід, що прирощення також займуть один байт

Джерело: Кінтцель Т Керівництво програміста по роботі зі звуком = 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>

*

*