YourLib.net
Твоя библиотека
Главная arrow Информатика (Под общ. ред. А.Н. Данчула) arrow 1.6. Кодирование информации
1.6. Кодирование информации

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

   Для организации успешного информационного взаимодействия с человеком компьютер должен уметь принимать, хранить, обрабатывать и передавать информацию тех же типов, с которыми оперирует человек. Поэтому при создании сложных организационно-технических систем, которыми являются АИС, необходимо учитывать особенности реализации информационных процессов как человеком, так и современными компьютерными и телекоммуникационными средствами. Остановимся на этих особенностях подробнее, напомнив, что информационным процессом называется совокупность последовательных действий, проводимых над информацией, представленной в определенной форме.
   Процессы обработки информации могут быть выполнены как человеком, так и компьютером. Человек может обрабатывать закодированную информацию, представленную в виде текста на естественном или специализированном языке, и незако- дированную неформализованную информацию в виде некоторых образов.
   Одной из особенностей человеческого мышления является функциональная специализация полушарий головного мозга, за открытие которой Р. Сперри в 1981 г. была присуждена Нобелевская премия по медицине. Им было установлено, что за творческие способности, связанные со словесным (кодированным) описанием объектов, отвечает левое полушарие, в то время как задачей правого полушария является пространственно-образное мышление. Однако различие между двумя типами мышления не только в том, что одно оперирует словом, а другое — образом. Левополушарное мышление организует любую информацию (неважно, в каком виде поступившую — словесном или образном) в виде однозначного текста, более или менее одинаково понимаемого различными людьми. Такая организация информации необходима для того, чтобы выбрать из всего богатства значений и смысловых оттенков слова (или другого сигнала) только существенные и установить логически упорядоченные связи между ними. Левое полушарие обрабатывает информацию последовательно и линейно, аналитически и логически. А вот задачей правого полушария является одномоментное, цельное отражение всех существующих взаимосвязей, всего богатства реального мира. Оно обрабатывает информацию глобально, синхронно и интуитивно.Однако следует помнить, что оба полушария всего лишь части одного и того же мозга, продуктивность которого прямо связана с гармонической работой обоих полушарий. Психологи определили, что, чем более выражена функциональная асимметрия полушарий, тем лучше результаты мыслительной деятельности.
   Благодаря открытиям в области функциональной асимметрии полушарий в единую систему удалось объединить взаимодействие сознания и подсознания и отношения сна с бодрствованием (рис. 1.19). Сон и подсознание вместе с правым полушарием составляют внутренний контур психики, рождающий идеи, мысли, образы. А бодрствование и сознание вместе с левым полушарием образуют внешний контур, который эти идеи и мысли осуществляет в реальной деятельности человека. Внутренний и внешний контуры, как и составляющие их модули, неразрывно связаны друг с другом.
   Более 95% информации человек воспринимает с помощью зрения и слуха — это визуальная и аудиоинформация. Часть этой информации: музыку, незнакомую речь, графические изображения, видеоинформацию — человек воспринимает как непрерывные сигналы, без последующего кодирования.
   Для организации успешного информационного взаимодействия человека с компьютером необходимо уметь кодировать все типы информации.

 Рис. 1.19. Взаимодействие сознания и подсознания

Рис. 1.19. Взаимодействие сознания и подсознания

   В отличие от человека в компьютерах информация всех типов представлена более однородно — в виде цифровых кодов. Таким образом, для обработки в компьютере непрерывные сигналы (звук, графика, видеоизображения) должны быть преобразованы в цифровой код, как говорят, оцифрованы.
   Основой представления информации в современных компьютерах и других цифровых устройствах является двоичный код, состоящий из двух символов: 0 и 1.
   Использование двоичного кода объясняется причинами логического и технического характера. К первым относятся принципиальная возможность и высокая вычислительная эффективность представления любой дискретной информации в двоичном коде, а также возможность реализации любой операции над двоичными кодами с помощью логических элементов, выполняющих базовые операции двоичной логики. С технической точки зрения распространение двоичной системы объясняется отсутствием принципиальных затруднений при реализации логических элементов на основе разнообразных физических процессов и явлений, наличие (единица) или отсутствие (ноль) которых легко различить, например прохождение тока, намагниченность участка поверхности, отражение света и др.
   Напомним, что объем данных, состоящих из одного символа двоичного алфавита, называется битом. Рассмотрим представление информации различных видов с помощью двоичных кодов.
   Наиболее естественно представляется с помощью двоичных кодов числовая информация. Это связано с тем, что числа можно представлять не только в привычной для нас десятичной, но и в других системах счисления. Системой счисления называется знаковая система, в которой числа записываются и именуются по определенным правилам с помощью символов специального алфавита, называемых цифрами. Кроме цифр в алфавит системы счисления могут входить и другие знаки, например знаки «+» и «—». В наиболее удобных позиционных системах счисления количественное значение, обозначаемое цифрой, зависит от ее позиции в числе. Каждая позиционная система счисления имеет основание, равное количеству используемых цифр. Позиционная десятичная система счисления использует десять привычных нам цифр — от 0 до 9. Значения одиночных цифр — это соответствующие им целые числа от нуля до девяти. Для записи больших целых чисел используется упорядоченная последовательность цифр. Позиция в числе, занимаемая цифрой, называется разрядом. Разряды нумеруют- ся справа налево. Каждому разряду сопоставляется дающее ему название количественное значение — вес разряда, равный основанию системы счисления, возведенному в степень, на единицу меньшую номера разряда. Отношение весов соседних разрядов, таким образом, равно основанию системы счисления. Кодируемое число равно сумме разрядных слагаемых, равных цифре в разряде, умноженной на вес разряда (см. табл. 1.3).

Таблица 1.3.

Таблица 1.3.

   Для кодирования дробной части числа используются позиции справа от специального символа «,», который называется десятичной запятой и разделяет целую и дробную части числа. Значение числа А по его записи Рисунок в десятичной системе счисления, состоящей из n цифр целой части и m цифр дробной части, находится по формуле

Формула

   Двоичная система счисления также является позиционной. Она использует две цифры: 0 и 1, поэтому ее основание равно двум. Правила записи чисел аналогичны только что рассмотренным для десятичной системы счисления. Различие лишь в основании степени (см. табл. 1.4).

Таблица 1.4

 Таблица 1.4

   Мы видим, что значение (десятичное) числа, записанного в двоичной системе счисления кодом 1101, равно 13 (8+4+1 = 13). Для того чтобы различить записи чисел в различных позиционных системах, после записи кода числа указывается основание соответствующей системы счисления. Для вышерассмотренного примера можно записать 11012= 1310.
   В двоичной системе можно записать и дробные числа. Их значения можно найти по формуле, аналогичной формуле (1).

 Формула

   Рассмотренный способ записи чисел, который называется способом записи (форматом) с фиксированной запятой, позволяет представить 2n+k различных неотрицательных чисел в диапазоне от 0 до 2n-1 с шагом дискретизации 2-k. Если для хранения числа выделяется N разрядов и надо хранить также и отрицательные числа, то N = n + к + 1. Один двоичный разряд выделяется для хранения знака, а положение двоичной запятой, разделяющей целую и дробную части числа, фиксировано соглашением и не требует места для хранения. В формате с фиксированной запятой в компьютере хранятся только целые числа, для которых k=0. Если для хранения целого числа отводится 32 бита (N=32), максимальное целое число, представимое в компьютере, равно 

Максимальное целое число

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

 Число А

где М — двоичная мантисса числа, находящаяся в диапазоне -1 < М< 1; Р — двоичный порядок числа.
   Представим двоичное число 101,011, записанное с фиксированной запятой, в формате с плавающей запятой:

 Число

   Из N разрядов, предназначенных для хранения числа, записанного в формате с плавающей запятой, два бита отводятся на знаки мантиссы и порядка, m разрядов — для хранения мантиссы и р разрядов — для хранения порядка, т. е. N = m + р + 2. В персональных компьютерах действительные числа могут представляться с одинарной (N = 32, m = 23, р = 7) и двойной (N = 64, m = 52, р = 10) точностью. Шаг дискретизации действительных чисел, представленных в формате с плавающей запятой, является переменным, так как зависит от порядка числа. Относительная точность представления чисел находится в диапазоне от 2-m до 2-m-1, т. е. определяется числом разрядов мантиссы. Максимальное представляемое число равно 2Р~ — 1, т. е. определяется количеством разрядов порядка.
   Кроме двоичной в информатике используются также восьмеричная и шестнадцатеричная системы счисления, основания которых равны 8 и 16 соответственно. Для шестнадцатеричной системы счисления алфавит должен содержать 16 цифр, соответствующих числам от нуля до пятнадцати. Поэтому в качестве цифр кроме десяти привычных используются шесть первых букв латинского алфавита (см. табл. 1.5).

Таблица 1.5. Цифры шестнадцатеричной системы счисления

Таблица 1.5. Цифры шестнадцатеричной системы счисления


   Таблица 1.5 демонстрирует, что каждой комбинации из четырехдвоичных цифр, занимающей 4 бита, соответствует одна шестнадцатеричная цифра, поэтому двоичные данные объемом 1 байт (8 бит) можно кратко записать в виде двух шестнадцатеричных цифр. Правила перевода чисел из одной позиционной системы счисления в другую достаточно просты и легко реализуются в программах компьютера.
   Текстовая информация представляет собой последовательность символов, поэтому для ее представления в виде двоичного кода достаточно иметь двоичный код каждого символа из используемого алфавита. В компьютерах для кодирования символов используются коды постоянной длины, т. е. код любого символа алфавита содержит одно и то же число битов. Используя различные коды из n бит, можно закодировать 2n символов. В частности, если код символа занимает 1 байт, алфавит может содержать не более 28=256 символов. Такого количества символов вполне достаточно для представления текстовой информации, включая прописные и строчные буквы русского и латинского алфавитов, цифры, математические символы, другие знаки.
   Каждому символу соответствует свой двоичный код согласно кодовой таблице. Для удобства в кодовых таблицах кроме двоичного кода указывается соответствующее ему десятичное число. Кодируются также служебные знаки, соответствующие клавишам клавиатуры, нажатием которых выполняются некоторые операции, например конец строки (Backspace), удаление последнего символа (Enter). При нажатии пользователем какой- либо клавиши (или одновременном нажатии комбинации клавиш) в оперативную память компьютера поступает двоичный код соответствующего символа. При отображении текстовой информации на мониторе или выводе ее на печать происходит обратный процесс декодирования: преобразование кода символа в его изображение.
   В большинстве современных компьютеров используются кодовые таблицы, основанные на американском стандартном коде для обмена информацией ASCII (American Standart Code for Information Interchange). Коды от 0 до 127 являются интернациональными, причем коды от 0 до 31 соответствуют различным операциям, а остальные — символам латинского алфавита, цифрам, знакам препинания и арифметических операций, другим знакам. Коды со 128 по 255 являются национальными, т. е. в различных национальных кодировках одному и тому же коду соответствуют, как правило, разные символы. К сожалению, в настоящее время имеется несколько русскоязычных национальных кодировок (КОИ-8, CP-1251 ISO и др.), каждая из которых задается своей собственной кодовой таблицей.
   В последнее время появился новый международный стандарт Unicode, согласно которому для хранения символа отводится не один, а два байта, поэтому с его помощью можно закодировать не 256, а 216=65536 различных символов. Начиная с 1997 г. эту кодировку поддерживают последние версии платформы Microsoft Windows&Office, а также программы-навигаторы Интернет и почтовые программы.
   Кодовые таблицы для некоторых из упоминавшихся кодов приведены в приложении. Часть из них можно увидеть с помощью текстового процессора Microsoft Word, выполнив команду меню «Вставка/Символ».
   Способности органов чувств человека воспринимать сигналы имеют определенные пределы, что учитывается при дискретизации и кодировании непрерывных сигналов для их хранения и обработки в компьютере.
   В процессе кодирования графической информации изображения производится пространственная дискретизация. Изображение разбивается на отдельные маленькие фрагменты (пикселы), каждому из которых присваивается код его цвета. Качество кодирования изображения зависит от количества пикселов и количества используемых различных кодов, соответствующих различимым оттенкам цвета.
   Пикселы располагаются равномерно по строкам. Количество строк и количество пикселов в строке определяются разрешающей способностью устройства, которое вводит (сканер) или выводит (монитор) изображение. В современных персональных компьютерах обычно используются четыре разрешающие способности монитора: 640x480, 800x600, 1024x768, 1280x1024 (первое число — число пикселов в строке, второе — число строк). Разрешающая способность глаза человека не превышает 1, что на расстоянии вытянутой руки (75 см) составляет 0,22 мм. Расчеты показывают, что на наиболее распространенных в настоящее время мониторах с диагональю 15 дюймов это соответствует разрешающей способности экрана 1280x1024 (диаметр пиксела 0,21 мм), хотя для подавляющего большинства людей, не отличающихся острым зрением, достаточно и 800x600 (диаметр пиксела — 0,35 мм).
   Используемый набор оттенков цвета называется палитрой. Количество битов в двоичном коде цвета каждого пиксела называется глубиной цвета. Если глубина цвета равна n, то палитра содержит 2n различимых оттенков цвета. Цвет формируется за счет смешивания трех базовых цветов разной интенсивности: красного (red), зеленого (green) и синего (blue). Такая модель получения цвета получила название RGB-модели по первым буквам английских названий цвета. Если интенсивность каждого базового цвета кодируется 8 битами, то глубина цвета равна 24, а палитра содержит 224=16 777 216 оттенков цвета (система точной цветопередачи True Color). В табл. 1.6 показаны коды некоторых цветов в этой системе цветопередачи.

Таблица 1.6. Коды некоторых цветов в системе цветопередачи Thie Color

Таблица 1.6. Коды некоторых цветов в системе цветопередачи Thie Color

   Часто используют также систему высококачественной цветопередачи High Color с глубиной цвета, равной 16, и палитрой, имеющей 216=65 536 оттенков цвета. Заметим, что такая палитра достаточна, так как подавляющее большинство людей различает не более 10 000 оттенков цвета. Таким образом, объем памяти, необходимой для хранения изображения с разрешающей способностью 800x600 и с глубиной цвета 16 бит, составляет 800x600x16 бит = 7 680 000 бит = 960 000 байт = 0,92 Мбайт.
   Видеоизображение характеризуется теми же параметрами, что и графическое, а также дополнительно частотой смены кадров. Человек воспринимает последовательность кадров, сменяющихся с частотой 24 кадра в секунду, как плавное, динамически меняющееся изображение. Для хранения одной минуты видеоинформации с разрешающей способностью 800x600 и с глубиной цвета 16 бит необходимо иметь память объемом 0,92x24x60 Мбайт = 1 318 Мбайт = 1,29 Гбайт. Как мы видим, для хранения графической и тем более видеоинформации в форме, получающейся после вышеописанной дискретизации, нужны носители информации очень большого объема. Для решения этой проблемы используются различные способы сжатия информации, основанные на сходстве характеристик соседних (по времени и пространству) пикселов изображения.
   Для кодирования звуковой информации сначала необходимо осуществить дискретизацию непрерывного звукового сигнала (фонограммы). Фонограмму можно упрощенно представить как акустическую волну с непрерывно меняющейся амплитудой и частотой. Амплитуда сигнала определяет его громкость, а частота — тон: чем больше частота сигнала, тем выше тон. Фонограмма дискретизируется по времени: при этом непрерывная зависимость амплитуды сигнала от времени A(t) заменяется ступенчатой (рис. 1.20).
   Качество воспроизведения звука зависит от двух параметров: количества дискретных уровней громкости и количества измерений уровня громкости в единицу времени (частоты дискретизации). Человек различает примерно 110 уровней громкости, для которых постоянной является не разность, а отношение соседних уровней (логарифмическая шкала дискретизации). Если для кодировки уровня громкости использовать один байт (глубина кодирования), то можно закодировать 28 = 256 уровней. В настоящее время для кодировки громкости используются равномерная дискретизация и коды длиной 16 бит. Качество воспроизведения тональности звукового сигнала определяется частотой

Рис. 1.20. Временная дискретизация фонограммы 

Рис. 1.20. Временная дискретизация фонограммы

дискретизации. Человек воспринимает звук в диапазоне частот от 16 до 16000 герц. Частота дискретизации лежит в диапазоне от 8000 (качество радиотрансляции) до 48 000 (соответствует качеству аудио-CD) герц. Таким образом, для хранения 1 минуты качественного звучания необходимо 16x48 000x60 бит = 46 080 000 бит = 2 880 000 байт = 2,75 Мбайт. Для стереозвука это число возрастет еще вдвое. Естественно, что для хранения звуковой информации также используются методы сжатия информации.

 
< Пред.   След. >