Научная статья на тему 'Восстановление искаженных сжатых сообщений'

Восстановление искаженных сжатых сообщений Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
503
106
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОД ИСТОЧНИКА / МЕСТОПОЛОЖЕНИЕ ИСКАЖЕНИЯ / ДЕКОДИРОВАНИЕ / ДЕКОМПРЕССОР / СЖАТИЕ / КОРРЕКЦИЯ / ИЗБЫТОЧНОСТЬ / SOURCE CODE / DISTORTION LOCATION / DECODING / DECOMPRESSOR / COMPRESSION / CORRECTION / REDUNDANCY

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Пронкин Алексей Александрович

Проблема повышения достоверности приема информации на этапе декодирования кода источника является одной из наиболее важных в области проектирования телекоммуникационных систем. Однако в настоящее время указанная проблема не находит решений с требуемым качеством в силу ее сложности и многоаспектности. В статье рассматривается новый подход к проблеме декомпрессии поврежденных архивов. Использование предлагаемого подхода позволит определять местоположение искажений в коде источника. В статье выделены следующие этапы методики определения местоположения искажений в сжатых сообщениях: определение оптимального порядка и формирование контекстной модели формального языка (сообщения-эталона); формирование контекстной модели декодируемого сообщения; анализ совпадения контекстов модели декодируемого сообщения с контекстами модели сообщения-эталона. Вместе с тем рассмотрена структура наиболее распространенного на практике формата сжатия данных. Представлен алгоритм восстановления искаженных сжатых сообщений, который позволяет проводить декомпрессию сжатых цифровых потоков, сформированных согласно формату «Deflate», с коррекцией ошибок. Проведена проверка работоспособности предложенного алгоритма в ходе экспериментальной декомпрессии искаженных архивированных файлов.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Restoration of distorted compressed messages

The problem of information reception reliability increasing on the decoding of source code is one of the most important question in the field of telecommunication systems design. But this problem has not solved with requesting quality today due to its complexity and various aspects. The new approach to the problem of corrupted archives decompression is reviewed in this article. The proposed approach allows to determine the location of distortions in the source code. The article highlights the following steps of the method of distortions location determination in the compressed messages: definition of the optimal formation and forming of contextual model of formal language(template message); forming of contextual model of decoded message; analysis of comparison of decoded message model contexts and template message model contexts. At the same time the structure of the most widespread in practice data compression format is reviewed in this paper. An algorithm of the recovery of corrupted compressed message which allows to decompress with error correction the compressed digital flows generated according to the format «Deflate» is represented. Availability of the proposed algorithm is checking during the experimental decompression of distorted archived files.

Текст научной работы на тему «Восстановление искаженных сжатых сообщений»

УДК 004.627

Пронкин Алексей Александрович

ГКОУ ВПО «Академия Федеральной службы охраны Российской Федерации»

Россия, Орёл1 Адъюнкт

E-Mail: pron_rzhew@mail.ru

Восстановление искаженных сжатых сообщений

Аннотация: Проблема повышения достоверности приема информации на этапе декодирования кода источника является одной из наиболее важных в области проектирования телекоммуникационных систем. Однако в настоящее время указанная проблема не находит решений с требуемым качеством в силу ее сложности и многоаспектности. В статье рассматривается новый подход к проблеме декомпрессии поврежденных архивов. Использование предлагаемого подхода позволит определять местоположение искажений в коде источника. В статье выделены следующие этапы методики определения местоположения искажений в сжатых сообщениях: определение оптимального порядка и формирование контекстной модели формального языка (сообщения-эталона); формирование контекстной модели декодируемого сообщения; анализ совпадения контекстов модели декодируемого сообщения с контекстами модели сообщения-эталона. Вместе с тем рассмотрена структура наиболее распространенного на практике формата сжатия данных. Представлен алгоритм восстановления искаженных сжатых сообщений, который позволяет проводить декомпрессию сжатых цифровых потоков, сформированных согласно формату «Deflate», с коррекцией ошибок. Проведена проверка работоспособности предложенного алгоритма в ходе экспериментальной декомпрессии искаженных архивированных файлов.

Ключевые слова: Код источника; местоположение искажения; декодирование; декомпрессор; сжатие; коррекция; избыточность.

Идентификационный номер статьи в журнале 86TVN114

1 302034, г. Орёл, ул. Приборостроительная, д. 35

Alexey Pronkin

The Academy of the Federal Guard Service of the Russian Federation

Russia, Orel E-Mail: pron_rzhew@mail.ru

Restoration of distorted compressed messages

Abstract: The problem of information reception reliability increasing on the decoding of source code is one of the most important question in the field of telecommunication systems design. But this problem has not solved with requesting quality today due to its complexity and various aspects. The new approach to the problem of corrupted archives decompression is reviewed in this article. The proposed approach allows to determine the location of distortions in the source code. The article highlights the following steps of the method of distortions location determination in the compressed messages: definition of the optimal formation and forming of contextual model of formal language(template message); forming of contextual model of decoded message; analysis of comparison of decoded message model contexts and template message model contexts. At the same time the structure of the most widespread in practice data compression format is reviewed in this paper. An algorithm of the recovery of corrupted compressed message which allows to decompress with error correction the compressed digital flows generated according to the format «Deflate» is represented. Availability of the proposed algorithm is checking during the experimental decompression of distorted archived files.

Keywords: Source code; distortion location; decoding; decompressor; compression; correction; redundancy.

Identification number of article 86TVN114

Введение

Характерной особенностью большинства типов данных является их избыточность. Степень избыточности данных зависит от типа данных. Например, для видеоданных степень избыточности в несколько раз больше чем для графических данных, а степень избыточности графических данных, в свою очередь, больше чем степень избыточности текстовых данных. Другим фактором, влияющим на степень избыточности, является используемая система кодирования. Примером систем кодирования могут быть обычные языки общения, которые являются ни чем другим, как системами кодирования понятий и идей для высказывания мыслей. Например, установлено, что кодирование текстовых данных с помощью средств русского языка характеризуется избыточностью в среднем на 20-25% большей, чем кодирование аналогичных данных средствами английского языка. Следовательно, чтобы наиболее эффективно использовать ресурсы систем передачи данных, разрабатываются алгоритмы представления информации в «компактной» форме [1]. Вместе с тем, применение различных методов сокращения избыточности представления данных затрудняет процесс извлечения информации из архива из-за высокой чувствительности процесса декодирования кода источника к искажениям. При возникновении ошибок в коде источника прикладные программы не способны воспроизвести исходное сообщение без искажений, что приводит к частичной или полной потере информации.

1. Сжатие информации

В основе всех методов сжатия лежит простая идея: если представлять часто используемые элементы короткими кодами, а редко используемые - длинными, то для хранения блока данных требуется меньший объем памяти, чем при представлении всех элементов кодами одинаковой длины. Данный факт известен давно: например, в азбуке Морзе часто используемым символам поставлены в соответствие короткие последовательности точек и тире, а редко встречающимся - длинные [2].

Точная связь между вероятностями и кодами установлена в теореме Шеннона о кодировании источника, которая гласит, что элемент s, вероятность появления которого равна p(s.), выгоднее всего представлять числом бит равным - log2 (p{si)). Если при кодировании размер кодовых слов всегда в точности равен - log (p(s.)) бит, то длина закодированной последовательности будет минимальной для всех возможных способов кодирования. Если распределение вероятностей F = {p(s)} неизменно, и элементы появляются независимо друг от друга, то можно найти среднюю длину кодов как среднее взвешенное:

Это значение также называется энтропией распределения вероятностей Е или энтропией источника в заданный момент времени.

Обычно вероятность появления элемента является условной, т.е. зависит от какого-то события. В этом случае при кодировании очередного элемента ^ распределение вероятностей Е принимает одно из возможных значений Ек, то есть Г = Г, и, соответственно, Н = Н. Можно сказать, что источник находится в состоянии к, которому соответствует набор вероятностей рк ) при генерации всех возможных элементов яг. Поэтому среднюю длину кодовых слов можно вычислить по формуле:

(1.1)

(12)

к

к

где Рк - вероятность того, что Е примет к-ое значение, или, иначе, вероятность

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

Но в большинстве случаев истинная структура источника не известна, поэтому необходимо строить модель источника, которая позволяет в каждой позиции входной последовательности оценить вероятность р(у.) появления каждого элемента ^ алфавита

входной последовательности. В этом приходится оперировать оценкой ) вероятности

появления элемента ^ [3].

Методы сжатия могут использовать адаптивную модель источника, изменяющуюся по мере обработки потока данных, или фиксированную модель, созданную на основе априорных представлений о природе типовых данных, подвергающихся сжатию. Процесс моделирования может быть либо явным, либо скрытым, т.е. вероятности появления элементов могут использоваться в методе как явным, так и неявным образом, а сжатие всегда достигается за счет устранения статистической избыточности в представлении информации [4].

2. Контекстно-ограниченное моделирование источника информации

Наиболее изученным и распространенным типом моделей источника информации являются контекстные модели. В этих моделях оценка вероятности каждого символа сообщения осуществляется на основе контекста, в котором он появляется. Контекст - это последовательность символов сообщения, которая предшествует данному кодируемому символу. Количество символов в такой последовательности определяет порядок контекста и, соответственно, порядок модели. Если длина контекста равна т, то для алфавита источника объемом А возможно Ат различных контекстов. Ясно, что вероятность появления отдельного символа сообщения зависит от вероятности появления соответствующего контекста. Таким образом, контекстное моделирование оценивает условную вероятность появления символов сообщения.

Один из естественных подходов к моделированию открытых текстов связан с учетом их частотных характеристик, приближения для которых можно вычислить с нужной точностью, исследуя тексты достаточной длины. Основанием для такого подхода является устойчивость частот т-грамм или целых словоформ реальных языков человеческого общения (то есть отдельных букв, слогов, слов и некоторых словосочетаний). Основанием для построения модели может служить также и теоретико-информационный подход, развитый в работах К. Шеннона [5].

Пусть задан некоторый конечный алфавит А = (а.}, где а - символ. Контекстом порядка т (или т-граммой) на алфавите А называют произвольную цепочку длиной т, например, последовательность из т букв русского языка одного слова, одной фразы, одного текста или, в более интересном случае, последовательность из грамматически допустимых описаний т подряд стоящих слов [6].

Для понимания естественного языка т-граммы стали применять сравнительно недавно. В работе [7] предложена вероятностная модель речи на основе теории цепей Маркова, различающая разных авторов и даже фольклор. Значение т-грамм исчерпывается их прикладной направленностью: они являются эффективным инструментом решения важной

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

Пусть С(а | а = а,а2,•••, аи ) - число вхождений строки н в генеральную совокупность О текстов языка. Вероятностьр(а) появления т-граммы н можно представить в виде:

Р(а) = #|)' (21)

Подобным образом определяют вероятность р(а) униграмм (контекстов первого порядка) как вырожденного случая т-граммы. Если вероятности появления символов в любой позиции цепочки независимы и одинаково распределены, то:

п

р(а)=п Р(а). (22)

1=1

Таким образом, перестановки символов аг е А имеют одну и ту же вероятность.

Например, в языке вероятность встретить выражения «красно-коричневый» та же, что и выражение «к-рснкрчнваооиеый». Для разрешения указанного недоразумения вводят условные вероятности. Тогда вероятность очередного символа строки определяется в зависимости от предшествующих ему символов в виде:

р(а!, а2,..., ап ) = Р(ап 1 а1, а2,•••, ап-1) • Р(а1, а2,•••, ап-1) . (23)

Модель т-граммы описывается марковской цепью (т-1)-го порядка. Задача оценивания статистических параметров т-граммы решается с использованием теории марковских цепей, а оценкой вероятности т-граммы служит частота ее встречаемости:

р(а1,а2,...,ап) = /(ап 1 ах,а2,. .,ап-1) = 5/^’ a2,•••,ап\ . (2 4)

С (а1, а2,.:, ап_1)

Формула (2.4) для условных вероятностей триграмм (контекстов третьего порядка) использовалась в системе распознавания речи, разработанной фирмой 1ВМ. [8].

С более общих позиций открытый текст может рассматриваться как реализация стационарного эргодического случайного процесса с дискретным временем и конечным числом состояний [5].

Контекстно-ограниченные модели данных можно использовать для определения местоположения искажения в сжатом сообщении и частичного восстановления информации из поврежденного архива.

3. Формат сжатия данных «Deflate»

В настоящее время в системах связи и в сети «Интернет» одним из наиболее распространенных на практике является формат сжатия данных «Deflate», который широко используется, например, в протоколе HTTP, форматах PNG, ZIP, GZIP и сервисах потоковой оптимизации данных в реальном масштабе времени, таких как «Slonax», «Globax», «Riverbed» и т.д. В формате «Deflate» используется алгоритм сжатия данных LZH, который является комбинацией метода словарного сжатия LZ77 и кодирования Хаффмана и обеспечивает хорошие результаты сжатия при относительно высокой скорости работы как при архивации, так и при декомпрессии.

Формат «Deflate» состоит из заголовка и последовательности «контейнеров» со сжатыми данными (рис. 3.1). Каждый контейнер имеет свой внутренний заголовок, в котором содержится информация о типе кодирования Хаффмана (статический/динамический код) и информация для восстановления (т.е. построения) кодовых деревьев Хаффмана (для динамического кода). Размер контейнера зависит от типа кодируемой информации и для текстовых данных составляет примерно 30 Кбайт.

2 байта w variable ^ variable w ^ variable w 4 байта

Заголовок «Deflate» Контейнер 1 Контейнер 2 Контейнер N CRC32

Тип

блока

1 бит

Режим

кодирования

2 бита

Данные для восстановления кодовых деревьев Хаффмана

variable

Сжатая информация

variable

Рис. 3.1. Структурная схема формата «Deflate»

Сжатие, применяемое в формате «Deflate», можно условно разделить на две категории: по используемой стратегии и по методу кодирования информации (рис. 3.2). Стратегия сжатия задает кодеру LZ77 режим поиска совпадений текущего кодируемого фрагмента исходного сообщения с фрагментом данных в скользящем окне. На практике наиболее распространенная стратегия сжатия - «хорошее сжатие» (сжатие по умолчанию) и метод кодирования - алгоритм LZ77 и динамический код Хаффмана.

И

Сжатие «Deflate»

Без сжатия

Быстрое

сжатие

Хорошее

сжатие

Наилучшее

сжатие

По стратегии По методу

LZ77 и код Хаффмана

Только код Хаффмана

Только

RLE

Рис. 3.2. Классификация процедур сжатия формата «Deflate»

Процедура декомпрессии цифрового потока в формате «Deflate» состоит в следующем. На вход декодера поступают сжатые данные в формате «Deflate», в заголовке которых содержится информация о параметрах декодера LZ77 и служебное поле для проверки корректности данного заголовка. Процесс декодирования начинается с обработки заголовка первого контейнера сжатых данных и построения кодовых таблиц Хаффмана (в случае динамического кодирования). После декодирования кода Хаффмана осуществляется процедура обратного преобразования в соответствии с алгоритмом LZ77 для фрагмента, представленного в виде множества элементов «символ, длина, смещение». Символ является элементом множества алфавита исходного (т.е. не сжатого) сообщения. Смещение указывает на позицию начала фрагмента данных относительно указателя текущего смещения размером, определяемым элементом «длина» в скользящем окне LZ77. Данные после процедуры декодирования кода LZ77, а также несжатые данные поступают на выход декодера [4].

4. Искажения в сообщениях, возникающие при наличии ошибок в коде источника информации

При передаче сжатого сообщения по каналу связи зачастую возникают ошибки, которые не могут быть исправлены на канальном уровне и проявляются на уровне кода источника. В результате сообщение, декодированное из сжатого потока с ошибками, может значительно отличаться от сообщения, полученного при декодировании неискаженного сжатого потока (рис. 4.1) [9].

Вопросы для анализа:

1. Почему Ньютон называет силу инерции «врожденной»?

2. Какие три компонента («роды величин») Ньютон выделяет в центростремительной силе?

3. Какие уточнения Ньютон вносит в общераспространенные понятия времени, пространства, места и движения?

4. Как Ньютон различает абсолютное и относительное движения?

5. Почему и в каком смысле Ньютон считает геометрию частью общей механики?

Вкчноры для анелиза:

1. ПочрмуоНьютон ншзна ет смлугинерц ии«врожде вой»?

2. Какиефтри к мпонентас(«роды велс-чин»)оНьютон выт пяет вяцентростремиоеаи лй смле?

3. Какие уоочкеес яНьютон вноеит вмоб-щерсспд остач ве ы епзи нятия ев ре м е-ни,,здостачви са,омхс аги движе ся?

4. КаниНьютон е злучеетпабсолютное биот меитеаи ле движе ся?

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

5 Почрмуои воквсим,смынме Ньютон читвев геомитрию частью общей мехчники?

а)

б)

Рис. 4.1. Пример влияния одной битовой ошибки в сжатом сообщении

на результат декодирования

а) исходное сообщение; б) декодированное сообщение

Так как алгоритм сжатия «Deflate» - это комбинация двух алгоритмов сжатия данных, то целесообразно рассмотреть влияние искажений на информацию на каждом этапе процесса декодирования (рис. 4.2).

£

Искажения

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

символьные

трековые

і

на уровне жодироваю кода LZ77

групповые

смещения фрагмента в словаре

длины фрагмента в словаре

Рис. 4.2. Обобщенная классификация искажений, возникающих в процессе декодирования сжатых данных формата «Deflate» при воздействии ошибки на код источника

На этапе декодирования кода Хаффмана могут возникнуть символьные и трековые искажения. Символьные искажения приводят к искажению одного значения (либо символа, либо длины, либо смещения) множества элементов «символ, длина, смещение» кода LZ77 на этапе его декодирования. Трековые искажения приводят к групповому искажению сообщения, т.е. к искажению одного или нескольких элементов «символ, длина, смещение» кода LZ77. На представленном этапе преобразования символьные искажения приводят к изменению декодированного символа и, соответственно, фрагмента скользящего окна декодера LZ77. Влияние данного искажения на декодированное сообщение может быть как одиночным, так и периодическим в зависимости от периода обращения декодера LZ77 к текущему фрагменту данных в скользящем окне. Если период обращения меньше, либо равен периоду обновления скользящего окна, то искажение - одиночное, в противном случае - периодическое.

Искажение значения длины или смещения текущего указателя в скользящем окне влечет за собой обращение декодера Ь277 к неверной области в скользящем окне, что приводит к искажению всей последовательности символов при декодировании (рис. 4.1). Искажения данного вида также могут быть как одиночными, так и периодическими.

5. Обнаружение местоположения ошибок в коде источника информации

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

Пусть А = {а0,а,•••,ап} - алфавит источника мощности п =| А |,

3 = {ау-0,ау1,а у2,..., ау-(к-1)} - исходное сообщение размером к, а^ - символ сообщения £, причем, ау. е А, /, у е N, 0 < у < п, 0 < / < к, тогда контекстами порядка т для сообщения £ являются множества вида:

К т = {а,о,..., а у (ОТ-1)}, КГ = {а^,..., а]т }, К^ = [ар,..., ау(1+я_1)} , (5.1)

где 0 < г < (к - т) , к > т . Если т = 1 , то К\ = {ар}, т.е. контекстами первого порядка

являются символы алфавита сообщения. Если т = 0, то К0 = 0 , где 0 - пустое множество. Этот случай рассматривается как равновероятное распределение символов алфавита А в сообщении £. Например, для слова «декодер» контекстами второго порядка будут множества следующего вида:

К02 = {'а','3}, К2 = {'а;ё'}, К-2 = {'£',' г'}, К32 = {'г','а'},К42 = К02{'а','3}, К2 = {'3,' д'} .

Если £ - декодированное сообщение, то для его анализа необходима априорная информация о правилах формирования подобных сообщений, т.е. информация о разрешенных или запрещенных комбинациях.

При анализе сообщения £ с множеством разрешенных комбинаций порядка т необходимо использовать априорно известное сообщение-эталон (словарь) 30 с множеством Ото разрешенных комбинаций, которое с определенной достоверностью описывает большинство сообщений подобных £:

ет _ (]^т т^т Т^т \ ГЛ™ _ (Т^т т^т т^т /г

3 = {К3(0), (1),..., —-1)} , °80 = {К30(0), К30(1),..., К30(К30-1)} , (5.2)

где N е N , N > 0, — =1 От I - мощность множества 0%, —7- =| | - мощность

множества Ото.

Если множество Рт = От От ^0 и — =| Рт | - мощность множества Рт, то говорят, что сообщение £ схоже с сообщением-эталоном 30 со степенью схожести порядка т, количественной мерой которой является коэффициент совпадения контекстов цт сообщения £ с контекстами сообщения-эталона £0 :

N | Рт |

цт = . (5.3)

* —3 юл ( )

Коэффициент цт - безразмерная величина, которая изменяется в пределах 0 < цт < 1, причем, цт = 1 означает, что т-символьные элементы (фразы) сообщения £ содержатся в

сообщении £0, а цт = 0 свидетельствует о том, что £ и £0 - два разных сообщения без взаимных корреляций их да-символьных элементов. Сообщение £0 представляет собой определенного рода словарь, в котором содержатся отдельные фразы сообщения £. Например, значение коэффициента ц2 = 0,5 свидетельствует о том, что половина контекстов порядка т = 2 сообщения £ содержатся в сообщении £0, иными словами 50% двухсимвольных фраз сообщения £ содержится в сообщении £0 .

При формировании £0 необходимо правильно выбрать порядок контекстов да. С одной стороны, чем выше да, тем более достоверно £0 будет описывать £, так как минимальной единицей оценки сообщений £0 и £ являются да-символьные фразы. С другой стороны, при увеличении да коэффициент цт уменьшается, если сообщение-эталон £0 не содержит в себе сообщение £ полностью. Например, если £0 = «декодирование», а £ = «кодер», то при т = 1, ц1 = 1. Следовательно, можно сделать ложный вывод о том, что либо £0 и £ являются одинаковыми сообщениями, либо сообщение £ содержится в £0 . При т = 3 , ц3 = 0,33, следовательно, сообщение «декодирование» содержит в себе 33% информации о сообщении «кодер». При т = 5, ц5 = 0, означает, что не содержит никакой информации о £. Такой результат анализа так же является не достоверным. На рис. 5.1 представлена зависимость коэффициентов совпадения контекстов цт от порядка контекстов для текстовых данных и случайного набора символов (декодированные текстовые данные при наличии ошибок в коде источника).

да

Рис. 5.1. Зависимость коэффициента совпадения контекстов цт от порядка контекстов для

текстовых данных и случайного набора символов

Пусть цт и цт - коэффициенты совпадения контекстов для текстовых данных и

" Г тлт ..т т

случайного набора символов соответственно, и V - показатель различия между ц и ц2 для контекстов порядка да, тогда:

вт = цт - ц т. (5.4)

Величина От показывает разницу между совпадением контекстов порядка т текстовых данных и случайного набора символов с контекстами сообщения-эталона. Зависимость В(т) для текстовых данных и случайного набора символов представлена на рис. 5.2.

Рис. 5.2. Зависимость показателя различия между коэффициентами совпадения контекстов для текстовых данных и случайного набора символов с контекстами сообщения-эталона от

порядка контекстов

На основе анализа рис. 5.1 и 5.2 можно сделать вывод, что величина различия между коэффициентами совпадения контекстов для текстовых данных и случайного набора символов с контекстами сообщения-эталона принимает максимальное значение Бтах при т = топт = 7 - 8. На практике для распознавания текстов используют контексты порядка т = 5 -12, при которых различие между текстами и случайными данными более чем 40% (т.е. коэффициент совпадения контекстов для текстовых данных более чем в 1,5 раза больше коэффициента для случайных данных).

Экспериментальным путем установлено, что для определения местоположения искажения в декодируемом текстовом сообщении необходимо вычислять мгновенные значения коэффициента совпадения контекстов декодируемого сообщения £ с контекстами сообщения-эталона то для порядков контекстов т = 5 - 12 согласно формулам (5.5) и (5.6):

1 12

Ц " (0 = 7 •£ МО 8

(5.5)

т=5

Щ) =

|1, кт(1) е оо [о, к-г)«ото

(5.6)

Уменьшение значений коэффициента совпадения контекстов цт (г) свидетельствует о наличии искажения в декодируемом сообщении на текущей позиции /. Если, начиная с /-ой позиции, п значений величины цт (г) меньше порогового значения, то можно сделать вывод,

что на /-ой позиции декодированного сообщения обнаружено искажение (рис. 5.3). Величина п и значение порога выбираются в зависимости от емкости словаря £0 (по умолчанию величина порога равна - 0,5).

(ш=5-12)

Ц її :

Рис. 5.3. Пример искажения текстовых данных на позиции / ~ 30000

Пусть информация состоит из символов г е Z, где 2 - алфавит всех возможных символов, которые могут формироваться источником информации %. В процессе обработки

символы г преобразовываются в двоичные кодовые слова с е С = {Ь:Ь2...Ьг | Ь. е {0,1},I е N1, при

этом процесс кодирования К формально можно описать следующим выражением:

К: г ^ с, г е Z, с е С . (5.7)

Если речь идет о кодировании без потерь, то, согласно выражению (5.7), отображение символа 2 в кодовую комбинацию с инъективно [10]. Следовательно, всегда существует зависимость между /-ым декодированным символом (группой символов) и у-ым кодированным, что позволяет для установленной позиции искажения в декодированном сообщении однозначно определить местоположение искажения в сжатом сообщении.

6. Обобщенный алгоритм восстановления искаженных сжатых сообщений

Обобщенный алгоритм восстановления искаженных сжатых сообщений представлен на рис. 6.1. Перед процедурой анализа сжатых файлов осуществляется ввод информации и формирование общей контекстной модели данных (ОКМД) на основе априорной информации или предположениях о типе данных (формирование контекстной модели сообщения-эталона), которые могут содержаться в архивах, например тексты на различных естественных языках, с целью последующих проверок корректности декомпрессии сжатых данных (блоки 1 и 2). Далее входной блок сжатых данных записывается в буфер входных данных (БВхД) для последующей декомпрессии (блоки 3, 4 и 5).

Начало

Рис. 6.1 Блок-схема обобщенного алгоритма восстановления искаженных сжатых

сообщений

Процедура декомпрессии осуществляется согласно стандартному алгоритму декомпрессии файлов формата «Deflate» (блоки 6, 8, 9, 10, 12 и 13) за исключением того, что при несоответствии символов сегмента кода LZ77 (СК LZ77) и одного из заранее заданных значений (из таблиц Хаффмана) указатель чтения последовательности бит в БВхД смещается на один бит вправо относительно текущей позиции с целью коррекции искажений кода Хаффмана (блоки 7 и 15). Декодированная (восстановленная) информация записывается в буфер восстановления декодированных данных (БВДД) с целью определения наличия, местоположения и коррекции искажения в декодированных данных (блок 11). На основе информации, содержащейся в БВДД (блок 16), формируется контекстная модель декодированных данных (КМДД) (блок 17).

Местоположение искажения в декодируемом сообщении определяется на основе анализа коэффициента совпадения контекстов текущего сообщения с контекстами сообщения-эталона (блок 18) , а коррекция искажения осуществляется посредством выполнения следующей последовательности операций (блок 21):

• индексирование символов в скользящем окне LZ77 и сохранение индексов в БВДД (каждому символу, записываемому в БВДД из скользящего окна LZ77, присваивается определенный индекс, который вычисляется по текущему местоположению данного символа в скользящем окне LZ77);

• выбор контекста (да-граммы) из ОКМД, который полностью или частично (количество отличающихся символов меньше порядка контекста) совпадает с текущим контекстом из КМДД;

• замена всех контекстов (да-грамм) в БВДД, соответствующих индексу текущего символа, на символы контекста из ОКМД, выбранного на предыдущем шаге.

Если искажение в последовательности символов БВДД исправить не удалось (блок 22), то последовательность бит в БВхД сдвигается влево на один бит относительно позиции местоположения искажения (блок 23), и процесс декомпрессии осуществляют заново (частичная коррекция искажений кода Хаффмана), в противном случае содержимое БВДД копируется в БВыхД (блок 24) и осуществляется вывод информации из БВыхД (блок 25).

Проверка работоспособности предложенного алгоритма осуществлялась в ходе экспериментальной декомпрессии искаженных архивированных файлов. Полученные результаты показали, что применение данного алгоритма дает выигрыш по минимизации потерь информации при равных условиях (одинаковые входные искаженные сжатые файлы) на 5 - 10 % (в зависимости от выбора порядка контекстов ОКМД и КМДД и типа искажения) по сравнению со стандартным алгоритмом декомпрессии текстовых файлов формата «Deflate» (рис. 6.2).

Исходные данные для проведения эксперимента представлены в таблице 6.1.

Таблица 6.1

Исходные данные для проведения эксперимента подекомпрессии искаженных архивов

Размер исходного текстового сообщения: 1 МБайт

Размер сообщения-эталона (данные для формирования ОКМД): 210 МБайт

Тип сообщения-эталона: текстовые данные

Источник формирования сообщения-эталона: сеть «Интернет»

Размер сжатого сообщения (код источника): 400 КБайт

Количество ошибок в коде источника: 250 Байт

Алгоритм сжатия сообщений: «Deflate»

Порядок ОКМД и КМДД: даmm = 5, mmax = 12

Количество неповторяющихся контекстов ОКМД:

при т = 5 - 3 109 059 при да = 9 - 53 599 184

при т = 6 - 8 512 342 при да = 10 - 73 919 109

при т = 7 - 18 882 989 при да = 11 - 93 652 969

при т = 8 - 34 488 685 при да = 12 - 111 583 428

Гос подин Клейст? Могу я просить вас войти? () 10’

«Каменные стены еще не темница строки из стихотворения «К Алтее т тюрьмы» английского почта Ричарда Лавлейса (1618— 1657).

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

103

«Стука» - от немецкого яш^к.нпрГПнггеио < пикирующий бомбардировщик) -разговорное название тяжелых немецких бомбард1фовщиков периода Второй г>шровой войны.

104 нем

Извините <).

105 нем

Бо< точный вокзал ().

Качайте киши на с акте luip 1Ъ 21aiigi nei

Господин Клей в?еМогу яхпрчсять вас:зойтй оО а 102к

«Кпмг нныестеиыгаце не лемдица...» -стлоки m стнхотпшленн.чхК Алтее m тюрьмы» антлкйстщ о iwma Ричарда Лавла! 1 <1618—1б5*)шк 103ь

«С’тука»-йот иемецконо snu7kainpfflii22e\i2 (miKiqiyioimai бомбардщшвщкк и-

еразг ешорное назмнии евтяж ел немецких бомбардировщиков

пплиодакВтнлай Miqior. ;: войны 104к

немш поИзвиниле Ошк 105к

немш поВосттчный бокзалаОшх

Качай! кнкти на cafrroxhtip: Ib2kiup net

ГосподашКлейст? Моту я просить вас войти?

|077102

«Каменные стены еще не темница .. »-строки ш стихотво])ения «К Алтее: т тюрьмы» английского поэта Ричл1)да Лавлейса (1618—165*).

103

«Стука» - от немецкого яшткаиц>ГПи?геи? (пикирующий бомбардщювщик) -разговорное название тяжелых немецких бомбардировщиков периода Второй мировой войны.

104

нем. ? Извините!).

105

нем Восточный вокзал ().

Качайте книги на сайте litfj> fb 21augi net

а) б) в)

Рис. 6.2 Пример восстановления информации из поврежденного сжатого текстового сообщения (серым цветом показаны ошибки декодирования) а) - исходное (неискаженное) текстовое сообщение

б) - декодированное текстовое сообщение, после внесения серии ошибок в код источника

в) - декодированное текстовое сообщение, после внесения серии ошибок в код источника и применения предлагаемой процедуры восстановления сообщений

Заключение

В ходе исследований проведен анализ модели источника информации основного типа, в систематизированном виде представлен формат сжатия данных «Deflate» и предложены методы локализации и коррекции ошибок в коде источника информации. Анализ указанных положений позволяет сделать следующие выводы:

1. Сжатие информации основано на устранении избыточности, содержащейся в источнике информации.

2. Эффективность кодирования информации обеспечивается за счет моделирования источника информации.

3. Для локализации и коррекции ошибок в коде источника информации необходимо разрабатывать эффективные алгоритмы моделирования источника информации.

В настоящее время сжатие информации широко применяется в системах связи, следовательно, для повышения эффективности кодирования данных разрабатываются более сложные модели источника и алгоритмы формы представления информации. На практике наиболее распространенный метод сжатия данных - это алгоритм «Deflate», который представляет собой комбинацию алгоритмов LZ77 и Хаффмана и обеспечивает приемлемую эффективность кодирования при незначительном потреблении вычислительных ресурсов.

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

ЛИТЕРАТУРА

1. Замарин А.И. Избыточность декодирования цифровых информационных потоков в вопросах идентификации параметров префиксных кодов источника / А.И. Замарин, Н.В. Шишкин // Информация и космос, № 2, 2008. - С.26-31.

2. Василенко Г.И. Восстановление изображений / Г.И. Василенко, А.М. Тараторин.

- М.: Радио и связь, 1986.

3. Пиотровский Р.Г. Информационные измерения языка / Р.Г. Пиотровский. - Л.: Наука, 1968. - 116 с.

4. Ватолин Д. Методы сжатия данных. Устройство архиваторов, сжатие

изображений и видео / Д. Ватолин, А. Ратушняк, М. Смирнов, В. Юкин. - М.: ДИАЛОГ-МИФИ, 2003.

5. Жданов О.Н. Криптоанализ классических шифров / О.Н. Жданов, И. А.

Куденкова. - Красноярск: 2008. - с 107.

6. Бузикашвили Н. Е. Задача поиска в неструктурированном тексте и лингвистический анализ / Н. Е. Бузикашвили, Д. В. Самойлов, Л. И. Бродский, А. В. Усков // Интеллектуальные технологии ввода и обработки информации : Труды ИСА РАН. М., 1998. С. 129-141.

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

Техносфера, 2004.

8. Гудков В.Ю. ^-граммы в лингвистике // Вестник Челябинского

государственного университета № 24 / В. Ю. Гудков, Е. Ф. Гудкова. -Челябинск: 2011. - с 71 - 73.

9. Замарин А.И. Современные методы устранения избыточности представления

данных в цифровых системах передачи информации / А.И. Замарин, В.Л. Семенов. - СПб.: 1998.

Рецензент: Шишкин Николай Викторович, профессор кафедры, доктор технических наук, ГКОУ ВПО «Академия Федеральной службы охраны Российской Федерации», Россия, Орёл.

REFERENCE

1. Zamarin A.I. Izbytochnost' dekodirovanija cifrovyh informacionnyh potokov v voprosah identifikacii parametrov prefiksnyh kodov istochnika / A.I. Zamarin, N.V. Shishkin // Informacija i kosmos, № 2, 2008. - S.26-31.

2. Vasilenko G.I. Vosstanovlenie izobrazhenij / G.I. Vasilenko, A.M. Taratorin. - M.: Radio i svjaz', 1986.

3. Piotrovskij R.G. Informacionnye izmerenija jazyka / R.G. Piotrovskij. - L.: Nauka, 1968. - 116 s.

4. Vatolin D. Metody szhatija dannyh. Ustrojstvo arhivatorov, szhatie izobrazhenij i video / D. Vatolin, A. Ratushnjak, M. Smirnov, V. Jukin. - M.: DIALOG-MIFI, 2003.

5. Zhdanov O.N. Kriptoanaliz klassicheskih shifrov / O.N. Zhdanov, I. A. Kudenkova. -Krasnojarsk: 2008. - s 107.

6. Buzikashvili N. E. Zadacha poiska v nestrukturirovannom tekste i lingvistiche-skij analiz / N. E. Buzikashvili, D. V. Samojlov, L. I. Brodskij, A. V. Uskov // Intellektual'nye tehnologii vvoda i obrabotki informacii : Trudy ISA RAN. M., 1998.

S. 129-141.

7. Sjelomon D. Szhatie dannyh izobrazhenij i zvuka / D. Sjelomon - M.: Tehnosfera, 2004.

8. Gudkov V.Ju. N-grammy v lingvistike // Vestnik Cheljabinskogo gosudarstvennogo universiteta № 24 / V. Ju. Gudkov, E. F. Gudkova. - Cheljabinsk: 2011. - s 71 - 73.

9. Zamarin A.I. Sovremennye metody ustranenija izbytochnosti predstavlenija dan-nyh v cifrovyh sistemah peredachi informacii / A.I. Zamarin, V.L. Semenov. - SPb.: 1998.

10. Ringwelski M. Analyse und Optimierung von Kompressionsverfahren fur Smart Metering mit Sensornetzen / M. Ringwelski, Institut fur Telematik. - Hamburg: 2011.

- c 88.

i Надоели баннеры? Вы всегда можете отключить рекламу.