Прогресивна компресія

Bo багатьох компютерних додатках добре відомі обмеження на швидкість пропускання, з якими і нам належить зіткнутися Одношвидкісний програвач компакт-дисків счітиваетданние зі швидкістю 176400 байт / с Таким чином, якщо вам необхідно витягти дані певних типів, ви можете точно спрогнозувати, як швидко ці дані стануть доступними, і вибрати відповідний метод компресії Ho подібні обмеження не завжди настільки точно відомі Смуга пропускання компютерної мережі, наприклад, може змінюватися в дуже великих межах Можливість легко варіювати ступінь стиснення припала б дуже до речі При надходженні даних з великою швидкістю можна було б передавати більший обсяг даних і домагатися більш якісного звучання Якщо швидкість зєднання падає, то можна було б скоротити обсяг переданих даних

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

1 Візьмемо блок вихідних даних

2 Стиснемо його, скориставшись алгоритмом з дуже великим рівнем втрат B результаті вийде маленький пакет стислих даних з низькою якістю Будемо називати цей пакет сжатіл оригіналом

3 Тепер піддамо цей пакет декомпресії і віднімемо вийшов резуль-

тат з оригіналу Різницю будемо називати помилкою першого порядку

4 Стиснемо помилку першого порядку

5 Піддамо стислу помилку першого порядку декомпресії і віднімемо вийшов результат з оригіналу помилки Різницю будемо називатипомилкою другого порядку

6 Повторимо вказані дії і отримаємо помилки третьої і наступних порядків

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

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

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

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

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

*

*