Методи компресії з прогнозуванням

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

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

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

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

Кодування в частотних піддіапазонах

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

Застосування декількох піддіапазонів дає можливість скористатися знаннями про те, як влаштований слух людини для отримання ще більш якісної компресії Оскільки людина в одних діапазонах частот чує краще, ніж в інших, ви можете використовувати різні параметри компресії для різних піддіапазонів Піддіапазони, розташовані поблизу центру чутною людиною області, вдасться залишити без змін, в той час як менш помітні діапазони можуть піддаватися менш точній обробці, або взагалі не враховуватися Методи піддіапазонами кодування непрості вони засновані як на складному математичному апараті, використовуваному для виділення та аналізу піддіапазонів, так і на ретельному вивченні слуху людини, необхідному для розробки рекомендацій з обробки кожного з піддіапазонів Зазвичай піддіапазонами кодування дозволяє стиснути ІКМ аудіодані в 10-20 разів

Всі найбільш досконалі з діючих сьогодні день методів компресії, включаючи MPEG-аудіо, Dolby AC-2 і AC-3, систему Sony MiniDisk (ATRAC), а також RealAudio, засновані на піддіапазоні кодуванні

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

*

*