Кодирование информации

Кодирование информации

Кодирование информации - это процесс формирования определенного представления информации.

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

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

Одну и ту же информацию можно выразить разными способами. Например, каким образом вы можете сообщить об опасности? Если на вас напали, вы просто можете крикнуть: «Караул!!!» Если прибор находится под высоким напряжением, ставится предупреждающий знак; и т. д. Т.е. мы должны знать правила, по которым можно отобразить информацию об опасности тем или иным способом.

Правила, по которым можно отобразить информацию тем или иным способом, называются кодом.

Обычно каждый образ при кодировании представлен отдельным знаком.

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

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

Важное значение имеют наборы, состоящие всего из двух знаков: пара знаков (+, - ); пара знаков «точка», « тире» и др.

Наборы знаков, состоящие из 2 символов, называют двоичными - двоичный алфавит (0, 1), двоичный знак получил название БИТ. С появлением электрического телеграфа возникли важнейшие технические коды: азбука МОРЗЕ; набор знаков второго международного телеграфного кода (телекс).

Длиной кода – это такое количество знаков, которое используется при кодировании для представления символа. Количество символов в алфавите и длина кода – совершенно разные вещи. Например, в русском алфавите 33 буквы, а слова могут быть длиной в 1, 2, 3 и т.д. буквы.

Коды бывают постоянной и переменной длины. Коды переменной длины применяются в технике довольно редко. Исключением является код МОРЗЕ – это троичный код с набором знаков: точка, тире, пауза. Паузу необходимо использовать в качестве разделителя между буквами и словами, так как длина кода непостоянна.

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

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


Кодирование информации в компьютере 

В современных компьютерах используется двоичная форма представления данных, содержащая всего две цифры – 0 и 1. Такая форма позволяет создать достаточно простые технические устройства для представления (кодирования) и распознавания (дешифровки) информации. Двоичное кодирование выбрали потому, чтобы максимально упростить конструкцию декодирующей машины, ведь дешифратор должен уметь различать всего два состояния – 0 и 1. Например, 1- есть ток в цепи, 0 – нет тока в цепи. По этой причине двоичная система и нашла такое широкое распространение.

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

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



Кодирование текстовой информации 

Большая часть пользователей при помощи компьютера обрабатывает текстовую информацию, которая состоит из символов: букв, цифр, знаков препинания и др.

Для того чтобы закодировать 1 символ используют количество информации равное 1 байту, т.е. I=1 байт = 8 бит. При помощи формулы  , которая связывает между собой количество возможных событий N и количество информации I, можно вычислить, сколько различных символов можно закодировать:  , т.е. для представления текстовой информации можно использовать алфавит мощностью 256 символов. Суть кодирования: каждому символу ставят в соответствие двоичный код от 00000000 до 11111111 или соответствующий ему десятичный код от 0 до 255.

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

Принцип последовательного кодирования алфавита заключается в том, что в кодовой таблице ASCII латинские буквы (прописные и строчные) располагаются в алфавитном порядке. Расположение цифр также упорядочено по возрастанию значений. Стандартными в этой таблице являются только первые 128 символов, т.е. символы с номерами от нуля (двоичный код 00000000) до 127 (01111111). Сюда входят буквы латинского алфавита, цифры, знаки препинания, скобки и некоторые другие символы. Остальные 128 кодов, начиная со 128 (двоичный код 10000000) и кончая 255 (11111111), используются для кодировки букв национальных алфавитов, символов псевдографики и научных символов.

В настоящее время для кодировки русских букв используют пять различных кодовых таблиц (КОИ-8, СР1251, СР866, Мас, ISO), причем тексты, закодированные при помощи одной таблицы, не будут правильно отображаться в другой кодировке.

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

Начиная с 1997 г. последние версии Microsoft Windows и Office поддерживают новую кодировку Unicode, которая на каждый символ отводит по 2 байта, а, поэтому, можно закодировать не 256 символов, а 65536 различных символов.



Кодирование графической информации

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

Растровые изображения представляют собой однослойную сетку точек, называемых пикселами (pixel от англ. picture element), которые могут принимать только два значения: белый и черный (светится - не светится). Так как информация о цвете пиксела называется кодом пиксела, то для его кодирования достаточно одного бита памяти: 1 - белый, 0 - черный.

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

Пиксел на цветном дисплее может иметь различную окраску, поэтому одного бита на пиксел недостаточно. Для кодирования 4-цветного изображения требуются два бита на пиксел, поскольку два бита могут принимать 4 различных состояния. Может использоваться, например, такой вариант кодировки цветов: 00 - черный, 10 - зеленый, 01 - красный, 11 - коричневый.

На RGB-мониторах все разнообразие цветов получается сочетанием базовых цветов - красного (Red), зеленого (Green), синего (Blue), из которых можно получить 8 основных комбинаций.

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

Кодирование звуковой информации 

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

Поступим следующим образом. Будем измерять напряжение через равные промежутки времени и записывать полученные значения в память компьютера. Этот процесс называется дискретизацией (или оцифровкой), а устройство, выполняющее его - аналого-цифровым преобразователем (АЦП). Для того чтобы воспроизвести закодированный таким образом звук, нужно выполнить обратное преобразование (для него служит цифро-аналоговый преобразователь - ЦАП), а затем сгладить получившийся ступенчатый сигнал.

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

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

Человек издавна использует довольно компактный способ представления музыки - нотную запись. В ней специальными символами указывается, какой высоты звук, на каком инструменте и как сыграть. Фактически, ее можно считать алгоритмом для музыканта, записанным на особом формальном языке. В 1983 г. ведущие производители компьютеров и музыкальных синтезаторов разработали стандарт, определивший такую систему кодов. Он получил название MIDI. Такая система кодирования позволяет записать далеко не всякий звук, годится только для инструментальной музыки. Есть неоспоримые преимущества: чрезвычайно компактная запись, естественность для музыканта, легкость замены инструментов, изменения темпа и тональности мелодии.

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


Кодирование числовой информации 

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

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

Чтобы получить внутреннее представление целого положительного числа N, хранящегося в k-разрядном машинном слове, необходимо:

1) перевести число N в двоичную систему счисления;

2) полученный результат дополнить слева незначащими нулями до k разрядов.

Формат с плавающей точкой использует представление вещественного числа R в виде произведения мантиссы m на основание системы счисления n в некоторой целой степени p, которую называют порядком:  . Представление числа в форме с плавающей точкой неоднозначно. Например, справедливы следующие равенства:

12.345 = 0.0012345 x 104 = 1234.5 x 10-2 = 0.12345 x 102

Чаще всего в ЭВМ используют нормализованное представление числа в форме с плавающей точкой. Мантисса в таком представлении должна удовлетворять условию:  . Иначе говоря, мантисса меньше 1 и первая значащая цифра - не ноль (p - основание системы счисления).

В памяти компьютера мантисса представляется как целое число, содержащее только значащие цифры (0 целых и запятая не хранятся), так для числа 12.345 в ячейке памяти, отведенной для хранения мантиссы, будет сохранено число 12345. Для однозначного восстановления исходного числа остается сохранить только его порядок, в данном примере - это 2.