Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТОИП лекции.doc
Скачиваний:
109
Добавлен:
17.03.2015
Размер:
6.17 Mб
Скачать

§2. Передача и кодирование данных в аис

Передача данных в АИС от источника к приемнику осуществляется при помощи технических устройств по каналу или линии связи (см. рис. 1.2).

Рис.1.2

Передача данных в АИС

Различные виды кодирования в АИС поясняются на рис. 1.3.

Рис.1.3

Виды кодирования в АИС

При кодировании сообщений по некоторой системе кодирования каждому знаку алфавита ставится в соответствие определенный код – один знак из алфавита системы кодирования или последовательность таких знаков, называемая также кодовым словом. При кодировании сообщений в вычислительной технике используется обычно двоичная система кодирования с алфавитом {0,1}, из знаков которого составляются различные кодовые слова. Во многих системах кодирования генерируемые кодовые слова имеют одинаковую длину (так называемые равномерные коды). Например, коды, используемые в ЭВМ, представляют собой последовательности байтов – наборов из восьми двоичных знаков. Последовательность из двух байтов называется полусловом, из четырех байтов – словом, а из восьми байтов – двойным словом.

Выбор систем кодирования для осуществления кодирования конкретных типов сообщений определяется многими факторами, к числу которых относятся:

- удобство получения исходных сообщений из источника;

- быстрота передачи сообщений через канал связи;

- объем памяти, необходимой для хранения сообщений;

- удобство обработки данных;

- удобство декодирования сообщений приемником и т.п.

§3. Сжатие данных как информационный процесс

Закодированные сообщения передаются по каналам связи, хранятся в запоминающих устройствах (ЗУ), обрабатываются процессором. Объемы данных, циркулирующих в АИС, велики, и поэтому во многих случаях важно обеспечить такое их кодирование, которое характеризуется минимальной длиной получающихся сообщений. Это проблема сжатия данных. Ее эффективное решение обеспечивает увеличение скорости передачи данных и уменьшение требуемой памяти ЗУ. В конечном итоге это ведет к повышению эффективности обработки данных.

Известны два основных принципа сжатия данных:

  1. сжатие, основанное на анализе содержания данных;

  2. сжатие, основанное на анализе статистических свойств кодируемых сообщений.

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

Рассмотрим оба этих принципа.

§4. Сжатие на основе смыслового содержания данных

Пусть имеется алфавит A из n знаков (символов), т.е. A={ai}, i=1,…,n , и по некоторому каналу связи нужно передать m сообщений (S={sj}, i=1,…,m). Каждое сообщение имеет длину lj, т.е. составляется из lj знаков алфавита A. Требуется передать сообщения через канал связи двоичными кодовыми словами минимальной длины.

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

Первый из них основан на кодировании сообщений целиком, когда двоичное кодовое слово ставится в соответствие каждому из m передаваемых сообщений. При этом справедлива формула (1.1).

(1.1)

Здесь […] – целая часть числа.

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

(1.2)

Здесь - длина самого большого сообщения.

Очевидно, что выбор наиболее экономного способа кодирования зависит от сравнения целочисленных величин RI и RII : при наличии небольшого числа длинных сообщений предпочтителен первый подход, если же имеется много коротких сообщений, составленных из небольшого количества знаков, то предпочтительнее второй подход. Однако, количество передаваемых сообщений может быть заранее неизвестно. В этом случае необходимо производить посимвольное кодирование.

Пусть способ кодирования выбран. Теперь решим вопрос о том, каким образом можно дополнительно сократить количество разрядов R двоичного кодового слова.

Из вышеприведенных формул следует, что:

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

при втором подходе можно, во-первых, уменьшить размерность алфавита, что на практике почти невозможно, потому что связано с сокращением выразительных возможностей языка – попробуйте, например, выбрасывать буквы из алфавита от А до Я – и, во-вторых, уменьшить количество знаков в передаваемых сообщениях путем их сжатия по контексту (на основе смыслового содержания данных). Это гораздо более реальный путь, который лежит в основе большого количества практических методов сжатия данных. Рассмотрим некоторые из них.