Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1 / Salmon_sjatie_dannyh_izobrajeniy_i_zvuka[torrents.ru]

.pdf
Скачиваний:
24
Добавлен:
05.06.2015
Размер:
7.92 Mб
Скачать

МИ Р

программирования

цифровая о б р а б о т к а сигналов

д. сэломон

Сжатие данных, изображений и звука

Перевод с английского В. В. Чепыжова

Рекомендовано ИППИ РАН в качестве учебного пособия для студентов высших учебных заведений, обучающихся по направлению подготовки "Прикладная математика"

ТЕХНОСФЕРА

Москва

2004

Д.Сэломон Сжатие данных, изображений и звука Москва:

Техносфера, 2004. - 368с. ISBN 5-94836-027-Х

В учебном пособии изложены как общие идеи и основы теории сжатия информации, так и практические методы с подробным описанием конкрет­ ных алгоритмов компрессии различных типов цифровых данных. Общие концепции описываются вполне строго и основываются на четких научных принципах. Все алгоритмы проиллюстрированы подробными примерами, снабжены таблицами, диафаммами и рисунками. В книге рассматриваются различные методы сжатия самой разнообразной информации: текстов, графических изображений, звука, анимации, оцифрованных аудио- и видео данных. В руководстве приводятся многие популярные стандарты и прото­ колы сжатия, такие как JPEG, MPEG, которые часто сопровождаются гото­ выми к употреблению текстами программ для системы MATLAB.

Книга рассчитана на многочисленную аудиторию программистов и Webдизайнеров, разработчиков телекоммуникационных и информационных систем

А Guide to

DATA

COMPRESSION

METHODS

David Salomon

ORIGINAL ENGLISH LANGUAGE EDITION PUBLISHED BY Springer-\ferlag

© 2002 All Rights Reserved.

© 2004, ЗАО «РИЦ «Техносфера» перевод на русский язык, оригинал-макет, оформление.

ISBN 5-94836-027-х ISBN 0-387-95260-8 (англ.)

Содержание

Предисловие переводчика

6

Предисловие автора

10

Введение

15

Глава

1.

 

Статистические м е т о д ы

25

1.1. Энтропия

25

1.2. Коды переменной длины

26

1.3. Декодирование

29

1.4. Кодирование Хаффмана

30

1.4.1.

Декодирование Хаффмана

38

1.4.2.

Средняя длина кода

39

1.5. Адаптивные коды Хаффмана

40

1.5.1.

Несжатые коды

43

1.5.2.

Модификация дерева

43

1.5.3.

Переполнение счетчика

46

1.5.4.

Кодовое переполнение

47

1.5.5.

Вариант алгоритма

51

1.6. Факсимильное сжатие

52

1.6.1.

Одномерное кодирование

53

1.6.2.

Двумерное кодирование

58

1.7. Арифметическое кодирование

62

1.7.1.

Детали реализации метода

69

1.7.2.

Потеря значащих цифр

73

1.7.3.

Заключительные замечания

74

1.8. Адаптивное арифметическое кодирование

76

Глава 2.

 

Словарные м е т о д ы

81

2.1. LZ77 (скользящее окно)

84

2.1.1.

Циклическая очередь

87

2.2. LZSS

88

2.2.1.

Недостатки

92

2.3. LZ78

93

2.4. LZW

97

2.4.1.

Декодирование LZW

101

Содержание

 

2.4.2.

Структура словаря LZW

104

2.4.3.

LZW в практических приложениях

110

2.5. Заключение

110

Глава

3.

 

С ж а т и е и з о б р а ж е н и й

111

3.1. Введение

112

3.2. Типы изображений

118

3.3. Подходы к сжатию изображений

120

3.3.1.

Коды Грея

125

3.3.2.

Метрики ошибок

134

3.4. Интуитивные методы

137

3.4.1.

Подвыборка

137

3.4.2.

Квантование

138

3.5. Преобразование изображений

139

3.5.1.

Ортогональные преобразования

145

3.5.2.

Матричные преобразования

148

3.5.3.

Дискретное косинус-преобразование

150

3.5.4.

Пример

162

3.5.5.

Дискретное синус-преобразование

162

3.5.6.

Преобразование Уолша-Адамара

167

3.5.7.

Преобразование Хаара

170

3.5.8.

Преобразование Кархунена-Лоэвэ

172

3.6. Прогрессирующее сжатие

174

3.7. JPEG

182

3.7.1.

Светимость

187

3.7.2.

DCT

189

3.7.3.

Практическое DCT

191

3.7.4.

Квантование

192

3.7.5.

Кодирование

195

3.7.6.

Мода без потери данных

200

3.7.7.

Сжатый файл

201

3.7.8.

JFIF

202

3.8. JPEG-LS

205

3.8.1.

Коды Голомба

205

3.8.2.

Основы метода JPEG-LS

205

3.8.3.

Кодер

207

Глава 4.

 

Вейвлетные м е т о д ы

214

4.1. Вычисление средних и полуразностей

215

 

Содерэ1сание

 

4.1.1.

Обобщение на двумерный случай

218

4.1.2.

Свойства преобразования Хаара

225

4.2. Преобразование Хаара

232

4.2.1.

Матричная форма

233

4.3. Поддиапазонные преобразования

236

4.4. Банк фильтров

242

4.5. Нахождение коэффициентов фильтра

250

4.6. Преобразование DWT

252

4.7. Примеры

260

4.8. Вейвлеты Добеши

264

4.9. SPIHT

267

4.9.1.

Алгоритм сортировки разделением множеств

274

4.9.2.

Пространственно ориентированное дерево

276

4.9.3.

Кодирование в алгоритме SPIHT

278

4.9.4.

Пример

282

4.9.5.

QTCQ

284

Глава

5.

 

С ж а т и е видео

286

5.1. Основные принципы

287

5.2. Методы подоптимального поиска

294

Глава

6.

 

С ж а т и е звука

304

6.1. Звук

305

6.2. Оцифрованный звук

309

6.3. Органы слуха человека

312

6.4. Общепризнанные методы

316

6.5. Сжатие звука в стандарте MPEG-1

320

6.5.1.

Кодирование частотной области

324

6.5.2.

Формат сжатых данных

328

6.5.3.

Психоакустические модели

331

6.5.4.

Кодирование: слой III

332

Л и т е р а т у р а

340

Глоссарий

346

Сообщество с ж а т и я данных

358

Список алгоритмов

359

П р е д м е т н ы й указатель

361

Предисловие переводчика

Никто не будет отрицать, что политическая и экономическая активность в современном обществе в значительной степени дер­ жится на надежных коммуникациях, в которые вовлечены огром­ ные объемы информации. С целью обеспечения информационных средств сообщения были разработаны и продолжают разрабаты­ ваться всевозможные электронные устройства и программные ком­ плексы для передачи, отображения и хранения информации. Это те­ леграф, радио, телефония, телевидение, модемы, космические линии связи, оптические диски и многое другое. Основная проблема, ко­ торую необходимо решить при построении системы коммуникации, была впервые сформулирована Клодом Шенноном в 1948 году:

Главное

свойство

системы связи

заключается

в том, что

она долэюна точно или приближ.енно воспроизвести

в опре­

деленной точке пространства

и времени некоторое

сооб­

щение,

выбранное

в другой точке.

Обычно, это

сообщение

имеет

какой-то

смысл, однако

это совергиенно не

важно

для решения поставленной индюенерной задачи. Самое глав­ ное заключается в том, что посылаемое сообщение выби­ рается из некоторого семейства возмоэюных сообщений.

Такая точная и ясная постановка проблемы коммуникации оказала огромное воздействие на развитие средств связи. Возникла новая научная отрасль, которая стала называться теорией информации. Главная идея, обоснованная Шенноном, заключается в том, что на­ дежные коммуникации должны быть цифровыми, т.е. задачу связи следует рассматривать как передачу двоичных цифр (битов).

На рис. 1 приведена общая схема передачи цифровой информа­ ции. Заметим, что любой физический канал передачи сигналов не может быть абсолютно надежным. На рис. 1 это проиллюстрирова­ но шумом, который портит канал и вносит ошибки в передаваемую цифровую информацию. Шеннон показал, что при выполнении неко­ торых достаточно общих условий имеется принципиальная возмож­ ность использовать ненадежный канал для передачи информации со сколь угодно большой степенью надежности. Поэтому нет необ­ ходимости пытаться очистить канал от шумов, например, повышая

Предисловие переводчика

мощность сигналов (это дорого и зачастую невозможно). Вместо этого следует разрабатывать эффективные схемы кодирования и декодирования цифровых сигналов.

Шум

 

Кодер Ц Цифровой М Декодер

Адресат

Рис. 1. Блок-схема системы связи.

Кроме ТОГО, Шеннон доказал, что задачу надежной связи можно разложить на две подзадачи без умаления ее эффективности. Эти две подзадачи называются кодированием источника и кодировани­ ем канала (см. рис. 2).

Рис. 2. Системы связи с раздельным кодированием.

Задача кодирования канала заключается в построении на осно­ ве известных характеристик канала кодера, посылающего в канал входные символы, которые будут декодированы приемником с мак­ симальной степенью надежности. Это достигается с помощью до­ бавления в передаваемую цифровую информацию некоторых допол­ нительных проверочных символов. На практике каналом может слу­ жить телефонный кабель, спутниковая антенна, оптический диск, память компьютера или еще что-то.

Задачей кодирования источника является создание кодера ис­ точника, который производит компактное (укороченное) описание исходного сигнала, который необходимо передать адресату. Источ­ ником сигналов может служить текстовый файл, цифровое изобра­ жение, оцифрованная музыка или телевизионная передача. Это ежа-

Предисловие переводчика

тое описание сигналов источника может быть неточным, тогда сле­ дует говорить о расхождении между восстановленным после приема и декодирования сигналом и его оригиналом. Это обычно происхо­ дит при преобразовании (квантовании) аналогового сигнала в циф­ ровую форму.

Предлагаемая книга посвящена задачам кодирования источни­ ков. Она написана известным специалистом в этой области Дэвидом Сэломоном. В ней приводятся различные методы решения проблем сжатия цифровых данных, возникающих в информационных тех­ нологиях. Поскольку целью кодирования источников является со­ здание компактного, сжатого описания цифровой информации, эту технику также принято называть сэюатием или компрессией циф­ ровых данных. Этот термин является весьма удачным, так как он содержит в себе интуитивное описание, поэтому он будет широко использоваться в данной книге.

Идея сжатия информации очень естественна, она проявляется и в обычном языке в виде различных сокращений. Главная при­ чина использования сжатия данных в коммуникациях заключается в желании передавать или хранить информацию с наибольшей эф­ фективностью. В качества примера можно привести азбуку Морзе, которая сильно ускорила телеграфную связь. В некотором смысле задача сжатия данных заключается в извлечении из потока данных самой значимой и уникальной его части, которая позволяет целиком восстановить всю исходную информацию. Сжатые данные долж­ ны содержать только самую существенную информацию, здесь не должно быть места избыточным данным.

Обратимся к кодированию источников. Как и в обычном тексте в различных источниках цифровых данных имеются избыточные данные, то есть, некоторые участки, которые, "содержатся" в дру­ гих частях данных источника. Поэтому возникает вопрос: что есть наиболее компактное представление данных источника? На этот во­ прос ответ был дан Шенноном. В своей пионерской работе по тео­ рии информации он ввел числовую характеристику источника, ко­ торая называется энтропией. Фундаментальное значение этой ве­ личины состоит в том, что она задает нижнюю границу возмож­ ного сжатия. Кроме того, имеется теорема, которая утверждает, что к этой границе можно приблизиться сколь угодно плотно с по­ мощью подходящего метода кодирования источника. Например, из­ вестно, что энтропия усредненного английского текста равна при­ мерно 3.2 бит/букву. В компьютерном представлении одна буква занимает 8 бит (стандартный код АЗСП). Значит, при сжатии ти-

Предисловие переводчика

личного текстового файла на английском языке достигается сжатие примерно в 2.5 раза.

Энтропия сжатых данных совпадает с энтропией исходного ис­ точника. При этом предполагается, что по сжатым данным можно полностью восстановить исходную информацию. Такой подход при­ нято называть союатием без потерь. Это сжатие, например, при­ меняется в дистрибутивах программных продуктов. Это наиболее изученная область сжатия данных. Она является весьма важной, поскольку большинство методов компрессии самых разных типов цифровой информации часто используют на определенных стади­ ях алгоритмы сжатия без потерь. Такое сжатие еш;е называется

энтропийным союатием. Избыточностью данных можно назвать разность между их объемом и энтропией. Можно сказать, что ком­ прессия без потерь является экстремальным случаем сжатия, при котором энтропия данных остается неизменной.

Здесь мы приходим к другой важной проблеме: каково наиболее компактное представление информации, если допускается неточное восстановление сжатых данных. Такое сжатие называется сжати­ ем с частичной потерей информации. Сжатие с потерями, по су­ ществу, предполагает уменьшение энтропии исходной информации. На практике компрессия с потерями применяется, например, при сжатии цифровых изображений и оцифрованного звука. Величина допустимого расхождения оригинальных данных и их разжатой ко­ пии часто определяется субъективно по их неразличимости глазом или ухом человека, который, в конечном итоге является получате­ лем данного рода информации.

Эти проблемы будут подробно разбираться в книге с привле­ чением большого числа примеров, таблиц и иллюстраций. Многие важные методы и алгоритмы сжатия данных представлены в ви­ де программ, написанных на языке популярных пакетов Matlab и Matematica. Большинство из них будут тщательно разобраны по шагам применительно к конкретным сжимаемым образцам и фраг­ ментам.

Читателю понадобятся лишь базовые знания по математике и информатике для успешного усвоения материала книги. Для бо­ лее глубокого изучения теории информации и других смежных во­ просов информационных технологий можно обратиться к дополни­ тельному списку литературы на русском языке, приведенному на

стр. 344.

 

Москва

Владимир Чепыжов

Соседние файлы в папке 1