Одно из основных достоинств компьютера связано с тем, что это удивительно универсальная машина. Каждый, кто хоть когда-нибудь с ним сталкивался, знает, что занятие арифметическими подсчетами составляет совсем не главный метод использования компьютера. Компьютеры прекрасно воспроизводят музыку и видеофильмы, с их помощью можно организовывать речевые и видеоконференции в Интернет, создавать и обрабатывать графические изображения, а возможность использования компьютера в сфере компьютерных игр на первый взгляд выглядит совершенно несовместимой с образом суперарифмометра, перемалывающего сотни миллионов цифр в секунду.
Составляя информационную модель объекта или явления, мы должны договориться о том, как понимать те или иные обозначения. То есть договориться о виде представления информации.
Человек выражает свои мысли в виде предложений, составленных из слов. Они являются алфавитным представлением информации. Основу любого языка составляет алфавит - конечный набор различных знаков (символов) любой природы, из которых складывается сообщение.
Одна и та же запись может нести разную смысловую нагрузку. Например, набор цифр 251299 может обозначать: массу объекта; длину объекта; расстояние между объектами; номер телефона; запись даты 25 декабря 1999 года.
Для представления информации могут использоваться разные коды и, соответственно, надо знать определенные правила - законы записи этих кодов, т.е. уметь кодировать.
Код - набор условных обозначений для представления информации.
Кодирование - процесс представления информации в виде кода.
Для общения друг с другом мы используем код - русский язык. При разговоре этот код передается звуками, при письме - буквами. Водитель передает сигнал с помощью гудка или миганием фар. Вы встречаетесь с кодированием информации при переходе дороги в виде сигналов светофора. Таким образом, кодирование сводиться к использованию совокупности символов по строго определенным правилам.
Кодировать информацию можно различными способами: устно; письменно; жестами или сигналами любой другой природы.
Кодирование данных двоичным кодом.
По мере развития техники появлялись разные способы кодирования информации. Во второй половине XIXвека американский изобретатель Сэмюэль Морзе изобрел удивительный код, который служит человечеству до сих пор. Информация кодируется тремя символами: длинный сигнал (тире), короткий сигнал (точка), нет сигнала (пауза) - для разделения букв.
Своя система существует и в вычислительной технике - она называется двоичным кодированием и основана на представлении данных последовательностью всего двух знаков: 0 и 1. Эти знаки называютсядвоичными цифрами , по-английски -binary digit или сокращенноbit(бит).
Одним битом могут быть выражены два понятия: 0 или 1 (да илинет , черное илибелое , истина илиложь и т.п.). Если количество битов увеличить до двух, то уже можно выразить четыре различных понятия:
Тремя битами можно закодировать восемь различных значений:
000 001 010 011 100 101 110 111
Увеличивая на единицу количество разрядов в системе двоичного кодирования, мы увеличиваем в два раза количество значений, которое может быть выражено в данной системе, то есть общая формула имеет вид:
где N- количество независимых кодируемых значений;
m - разрядность двоичного кодирования, принятая в данной системе.
Кодирование информации в компьютере
Вся информация, которую обрабатывает компьютер, должна быть представлена двоичным кодом с помощью двух цифр - 0 и 1. Эти два символа принято называть двоичными цифрами, или битами. С помощью двух цифр 1 и 0 можно закодировать любое сообщение. Это явилось причиной того, что в компьютере обязательно должно быть организовано два важных процесса:
- кодирование, которое обеспечивается устройствами ввода при преобразовании входной информации в форму, воспринимаемую компьютером, то есть в двоичный код; декодирование, которое обеспечивается устройствами вывода при преобразовании данных из двоичного кода в форму, понятную человеку.
С точки зрения технической реализации использование двоичной системы счисления для кодирования информации оказалось намного
более простым, чем применение других способов. Действительно, удобно кодировать информацию в виде последовательности нулей и единиц, если представить эти значения как два возможных устойчивых состояния электронного элемента:
- 0 - отсутствие электрического сигнала или сигнал имеет низкий уровень; 1 - наличие сигнала или сигнал имеет высокий уровень.
Эти состояния легко различать. Недостаток двоичного кодирования - длинные коды. Но в технике легче иметь дело с большим числом простых элементов, чем с небольшим количеством сложных.
Вам и в быту ежедневно приходится сталкиваться с устройством, которое может находиться только в двух устойчивых состояниях: включено/выключено. Конечно же, это хорошо знакомый всем выключатель. А вот придумать выключатель, который мог бы устойчиво и быстро переключаться в любое из 10 состояний, оказалось невозможным. В результате после ряда неудачных попыток разработчики пришли к выводу о невозможности построения компьютера на основе десятичной системы счисления. И в основу представления чисел в компьютере была положена именно двоичная система счисления.
В настоящее время существуют разные способы двоичного кодирования и декодирования информации в компьютере. В первую очередь это зависит от вида информации, а именно, что должно кодироваться: текст, числа, графические изображения или звук. Кроме того, при кодировании чисел важную роль играет то, как они будут использоваться: в тексте, в расчетах или в процессе ввода-вывода. Накладываются также и особенности технической реализации.
Кодирование графической информации
Создавать и хранить графические объекты в компьютере можно двумя способами - как растровое или как векторное изображение. Для каждого типа изображения используется свой способ кодирования.
Растровое изображение представляет собой совокупность точек, используемых для его отображения на экране монитора. Объем растрового изображения определяется как произведение количества точек и информационного объема одной точки, который зависит от количества возможных цветов. Для черно-белого изображения информационный объем одной точки равен 1 биту, так как точка может быть либо черной, либо белой, что можно закодировать двумя цифрами - 0 или 1.
Для кодирования 8 цветов необходимо 3 бита; для 16 цветов - 4 бита; для 6 цветов - 8 битов (1 байт) и т. д.
Кодирование звуковой информации
Звук представляет собой звуковую волну с непрерывно меняющейся амплитудой и частотой. Чем больше амплитуда сигнала, тем он громче для человека, чем больше частота сигнала, тем выше тон. Для того чтобы компьютер мог обрабатывать звук, непрерывный звуковой сигнал должен быть превращен в последовательность электрических импульсов (двоичных нулей и единиц).
В процессе кодирования непрерывного звукового сигнала производится его временная дискретизация. Непрерывная звуковая волна разбивается на отдельные маленькие участки, причем для каждого такого участка устанавливается определенная величина амплитуды. Таким образом, непрерывная зависимость амплитуды сигнала от времени заменяется на дискретную последовательность уровней громкости.
Современные звуковые карты обеспечивают 16-битную глубину кодирования звука. В таком случае количество уровней сигнала будет равно 65536.
При двоичном кодировании непрерывного звукового сигнала он заменяется последовательностью дискретных уровней сигнала. Качество кодирования зависит от количества измерений уровня сигнала в единицу времени, т. е. от частоты дискретизации. Чем больше количество измерений производится за 1 секунду (чем больше частота дискретизации), тем точнее процедура двоичного кодирования.
Количество измерений в секунду может лежать в диапазоне от 8000 до 48000, т. е. частота дискретизации аналогового звукового сигнала может принимать значения от 8 до 48 кГц - качество звучания аудио-CD. Следует также учитывать, что возможны как моно-, так и стерео-режимы.
Представление видеоинформации
В последнее время компьютер все чаще используется для работы с видеоинформацией. Простейшей такой работой является просмотр кинофильмов и видеоклипов. Следует четко представлять, что обработка видеоинформации требует очень высокого быстродействия компьютерной системы.
Что представляет собой фильм с точки зрения информатики? Прежде всего, это сочетание звуковой и графической информации. Кроме того, для создания на экране эффекта движения используется дискретная по своей сути технология быстрой смены статических картинок. Исследования показали, что если за одну секунду сменяется более 10-12 кадров, то человеческий глаз воспринимает изменения на них как непрерывные.
Казалось бы, если проблемы кодирования статистической графики и звука решены, то сохранить видеоизображение уже не составит труда. Но это только на первый взгляд, поскольку, как показывает разобранный выше пример, при использовании традиционных методов сохранения информации электронная версия фильма получится слишком большой. Достаточно очевидное усовершенствование состоит в том, что первый кадр запомнить целиком (в литературе его принято называть ключевым), а в следующих сохранять только отличия от начального кадра (разностные кадры).
Существует множество различных форматов представления видеоданных.
В среде Windows, например, уже боле 10 лет (начиная с версии 3.1) применятся формат Video for Windows, базирующийся на универсальных файлых с расширением AVI (Audi o Video Interleave - чередование аудио и видео).
Большое рапространение получила технология под названием DivX (происходит от сокращения слова Digital Video Express). Благодаря DivX удалось достигнуть степени сжатия, позволившей вместить качественную запись полнометражного фильма на один компакт диск - сжать 4,7 Гб DVD-фильма до 650 Мб.
22. КОДИРОВАНИЕ ИНФОРМАЦИИ
22.1. Общие сведения
Кодирование – представление информации в альтернативном виде. По своей сути кодовые системы (или просто коды) аналогичны , в которых элементам кодируемой информации соответствуют кодовые обозначения. Отличие заключается в том, что в шифрах присутствует переменная часть (ключ), которая для определенного исходного сообщения при одном и том же алгоритме шифрования может выдавать разные шифртексты. В кодовых системах переменной части нет. Поэтому одно и то же исходное сообщение при кодировании, как правило, всегда выглядит одинаково 1 . Другой отличительной особенностью кодирования является применение кодовых обозначений (замен) целиком для слов, фраз или чисел (совокупности цифр). Замена элементов кодируемой информации кодовыми обозначениями может быть выполнена на основе соответствующей таблицы (наподобие таблицы шифрозамен) либо определена посредством функции или алгоритма кодирования.
В качестве элементов кодируемой информации могут выступать:
Буквы, слова и фразы естественного языка;
Различные символы, такие как знаки препинания, арифметические и логические операции, операторы сравнения и т.д. Следует отметить, что сами знаки операций и операторы сравнения – это кодовые обозначения;
Аудиовизуальные образы;
Ситуации и явления;
Наследственная информация;
Кодовые обозначения могут представлять собой:
Буквы и сочетания букв естественного языка;
Графические обозначения;
Электромагнитные импульсы;
Световые и звуковые сигналы;
Набор и сочетание химических молекул;
Кодирование может выполняться в целях :
Удобства хранения, обработки и передачи информации (как правило, закодированная информация представляется более компактно, а также пригодна для обработки и передачи автоматическими программно-техническими средствами);
Удобства информационного обмена между субъектами;
Наглядности отображения;
Идентификации объектов и субъектов;
Сокрытия секретной информации;
Кодирование информации бывает одно- и многоуровневым . Примером одноуровневого кодирования служат световые сигналы, подаваемые светофором (красный – стой, желтый – приготовиться, зеленый – вперед). В качестве многоуровневого кодирования можно привести представление визуального (графического) образа в виде файла фотографии. Вначале визуальная картинка разбивается на составляющие элементарные элементы (пикселы), т.е. каждая отдельная часть визуальной картинки кодируется элементарным элементом. Каждый элемент представляется (кодируется) в виде набора элементарных цветов (RGB: англ. red – красный, green – зеленый, blue – синий) соответствующей интенсивностью, которая в свою очередь представляется в виде числового значения. Впоследствии наборы чисел, как правило, преобразуются (кодируются) с целью более компактного представления информации (например, в форматах jpeg, png и т.д.). И наконец, итоговые числа представляются (кодируются) в виде электромагнитных сигналов для передачи по каналам связи или областей на носителе информации. Следует отметить, что сами числа при программной обработке представляются в соответствии с принятой системой кодирования чисел.
Кодирование информации может быть обратимым и необратимым . При обратимом кодировании на основе закодированного сообщения можно однозначно (без потери качества) восстановить кодируемое сообщение (исходный образ). Например, кодирование с помощью азбуки Морзе или штрихкода. При необратимом кодировании однозначное восстановление исходного образа невозможно. Например, кодирование аудиовизуальной информации (форматы jpg, mp3 или avi) или .
Азбука Морзе - способ кодирования символов (букв алфавита, цифр, знаков препинания и др.) с помощью последовательности «точек» и «тире». За единицу времени принимается длительность одной точки. Длительность тире равна трём точкам. Пауза между элементами одного знака - одна точка (около 1/25 доли секунды), между знаками в слове - 3 точки, между словами - 7 точек. Назван в честь американского изобретателя и художника Сэмюэля Морзе.
Русская буква |
Латинская буква |
Код Морзе | Русская буква |
Латинская буква |
Код Морзе | Символ | Код Морзе |
A | A | · - | Р | R | · - · | 1 | · - - - - |
Б | B | - · · · | С | S | · · · | 2 | · · - - - |
В | W | · - - | Т | T | - | 3 | · · · - - |
Г | G | - - · | У | U | · · - | 4 | · · · · - |
Д | D | - · · | Ф | F | · · - · | 5 | · · · · · |
Е (Ё) | E | · | Х | H | · · · · | 6 | - · · · · |
Ж | V | · · · - | Ц | C | - · - · | 7 | - - · · · |
З | Z | - - · · | Ч | O | - - - · | 8 | - - - · · |
И | I | · · | Ш | CH | - - - - | 9 | - - - - · |
Й | J | · - - - | Щ | Q | - - · - | 0 | - - - - - |
К | K | - · - | Ъ | N | - - · - - | Точка | · · · · · · |
Л | L | · - · · | Ы | Y | - · - - | Запятая | · - · - · - |
М | M | - - | Ь (Ъ) | X | - · · - | - | · · - - · · |
Н | N | - · | Э | E | · · - · · | ! | - - · · - - |
О | O | - - - | Ю | U | · · - - | @ | · - - · - · |
П | P | · - - · | Я | A | · - · - | Конец связи (end contact) | · · - · - |
Рис.22.1. Фрагмент азбуки Морзе
Изначально азбука Морзе применялась для передачи сообщений в телеграфе. При этом точки и тире передавались в виде электрических сигналов, проходящих по проводам. В настоящий момент азбуку Морзе, как правило, используют в местах, где другие средства обмена информации недоступны (например, в тюрьмах).
Любопытный факт связан с изобретателем первой лампочки Томасом Альвой Эдисоном (1847-1931 гг.). Он плохо слышал и общался со своей женой, Мэри Стиуэлл, с помощью азбуки Морзе. Во время ухаживания Эдисон сделал предложение, отстучав слова рукой, и она ответила тем же способом. Телеграфный код стал обычным средством общения для супругов. Даже когда они ходили в театр, Эдисон клал руку Мэри себе на колено, чтобы она могла «телеграфировать» ему диалоги актеров .
Код Бодо - цифровой 5-битный код. Был разработан Эмилем Бодо в 1870 г. для своего телеграфа. Код вводился прямо клавиатурой, состоящей из пяти клавиш, нажатие или ненажатие клавиши соответствовало передаче или непередаче одного бита в пятибитном коде. Существует несколько разновидностей (стандартов) данного кода (CCITT-1, CCITT-2, МТК-2 и др.) В частности МТК-2 представляет собой модификацию международного стандарта CCITT-2 с добавление букв кириллицы.
Управляющие символы | ||||
Двоичный код |
Десятичный код |
Назначение | ||
01000 | 8 | Возврат каретки | ||
00010 | 2 | Перевод строки | ||
11111 | 31 | Буквы латинские | ||
11011 | 27 | Цифры | ||
00100 | 4 | Пробел | ||
00000 | 0 | Буквы русские | ||
Двоичный код |
Десятичный код |
Латинская буква |
Русская буква |
Цифры и прочие символы |
00011 | 3 | A | А | - |
11001 | 25 | B | Б | ? |
01110 | 14 | C | Ц | : |
01001 | 9 | D | Д | Кто там? |
00001 | 1 | E | Е | З |
01101 | 13 | F | Ф | Э |
11010 | 26 | G | Г | Ш |
10100 | 20 | H | Х | Щ |
00110 | 6 | I | И | 8 |
01011 | 11 | J | Й | Ю |
01111 | 15 | K | К | ( |
10010 | 18 | L | Л | ) |
11100 | 28 | M | М | . |
01100 | 12 | N | Н | , |
11000 | 24 | O | О | 9 |
10110 | 22 | P | П | 0 |
10111 | 23 | Q | Я | 1 |
01010 | 10 | R | Р | 4 |
00101 | 5 | S | С | " |
10000 | 16 | T | Т | 5 |
00111 | 7 | U | У | 7 |
11110 | 30 | V | Ж | = |
10011 | 19 | W | В | 2 |
11101 | 29 | X | Ь | / |
10101 | 21 | Y | Ы | 6 |
10001 | 17 | Z | З | + |
Рис.22.2. Стандарт кода Бодо МТК-2
На следующем рисунке показана телетайпная перфолента с сообщением, переданным с помощью кода Бодо.
Рис. 22.3. Перфолента с кодом Бодо
Следует отметить два интересных факта, связанных с кодом Бодо.
1. Сотрудники телеграфной компании AT&T Гильберто Вернам и Мейджор Джозеф Моборн в 1917 г. предложили идею автоматического шифрования телеграфных сообщений на основе кода Бодо. Шифрование выполнялось .
2. Соответствие между английским и русским алфавитами, принятое в МТК-2, было использовано при создании компьютерных кодировок КОИ-7 и КОИ-8.
ASCII и Unicode.
ASCII (англ. American Standard Code for Information Interchange) - американская стандартная кодировочная таблица для печатных и управляющих символов. Изначально была разработана как 7-битная для представления 128 символов, при использовании в компьютерах на символ выделялось 8 бит (1 байт), где 8-ой бит служил для контроля целостности (бит четности). Позднее, с задействованием 8 бита для представления дополнительных символов (всего 256 символов), например букв национальных алфавитов, стала восприниматься как половина 8-битной. В частности на основе ASCII были разработаны кодировки, содержащие буквы русского алфавита: для операционной системы MS-DOS - cp866 (англ. code page – кодовая страница), для операционной системы MS Windows – Windows 1251, для различных операционных систем – КОИ-8 (код обмена информацией, 8 битов), ISO 8859-5 и другие.
Кодировка ASCII | Дополнительные символы | ||||||||||
Двоичный код |
Десятичный код |
Символ | Двоичный код |
Десятичный код |
Символ | Двоичный код |
Десятичный код |
Символ | Двоичный код |
Десятичный код |
Символ |
00000000 | 0 | NUL | 01000000 | 64 | @ | 10000000 | 128 | Ђ | 11000000 | 192 | А |
00000001 | 1 | SOH | 01000001 | 65 | A | 10000001 | 129 | Ѓ | 11000001 | 193 | Б |
00000010 | 2 | STX | 01000010 | 66 | B | 10000010 | 130 | ‚ | 11000010 | 194 | В |
00000011 | 3 | ETX | 01000011 | 67 | C | 10000011 | 131 | ѓ | 11000011 | 195 | Г |
00000100 | 4 | EOT | 01000100 | 68 | D | 10000100 | 132 | „ | 11000100 | 196 | Д |
00000101 | 5 | ENQ | 01000101 | 69 | E | 10000101 | 133 | … | 11000101 | 197 | Е |
00000110 | 6 | ACK | 01000110 | 70 | F | 10000110 | 134 | † | 11000110 | 198 | Ж |
00000111 | 7 | BEL | 01000111 | 71 | G | 10000111 | 135 | ‡ | 11000111 | 199 | З |
00001000 | 8 | BS | 01001000 | 72 | H | 10001000 | 136 | € | 11001000 | 200 | И |
00001001 | 9 | HT | 01001001 | 73 | I | 10001001 | 137 | ‰ | 11001001 | 201 | Й |
00001010 | 10 | LF | 01001010 | 74 | J | 10001010 | 138 | Љ | 11001010 | 202 | К |
00001011 | 11 | VT | 01001011 | 75 | K | 10001011 | 139 | ‹ | 11001011 | 203 | Л |
00001100 | 12 | FF | 01001100 | 76 | L | 10001100 | 140 | Њ | 11001100 | 204 | М |
00001101 | 13 | CR | 01001101 | 77 | M | 10001101 | 141 | Ќ | 11001101 | 205 | Н |
00001110 | 14 | SO | 01001110 | 78 | N | 10001110 | 142 | Ћ | 11001110 | 206 | О |
00001111 | 15 | SI | 01001111 | 79 | O | 10001111 | 143 | Џ | 11001111 | 207 | П |
00010000 | 16 | DLE | 01010000 | 80 | P | 10010000 | 144 | ђ | 11010000 | 208 | Р |
00010001 | 17 | DC1 | 01010001 | 81 | Q | 10010001 | 145 | ‘ | 11010001 | 209 | С |
00010010 | 18 | DC2 | 01010010 | 82 | R | 10010010 | 146 | ’ | 11010010 | 210 | Т |
00010011 | 19 | DC3 | 01010011 | 83 | S | 10010011 | 147 | “ | 11010011 | 211 | У |
00010100 | 20 | DC4 | 01010100 | 84 | T | 10010100 | 148 | ” | 11010100 | 212 | Ф |
00010101 | 21 | NAK | 01010101 | 85 | U | 10010101 | 149 | 11010101 | 213 | Х | |
00010110 | 22 | SYN | 01010110 | 86 | V | 10010110 | 150 | – | 11010110 | 214 | Ц |
00010111 | 23 | ETB | 01010111 | 87 | W | 10010111 | 151 | - | 11010111 | 215 | Ч |
00011000 | 24 | CAN | 01011000 | 88 | X | 10011000 | 152 | |
11011000 | 216 | Ш |
00011001 | 25 | EM | 01011001 | 89 | Y | 10011001 | 153 | ™ | 11011001 | 217 | Щ |
00011010 | 26 | SUB | 01011010 | 90 | Z | 10011010 | 154 | љ | 11011010 | 218 | Ъ |
00011011 | 27 | ESC | 01011011 | 91 | [ | 10011011 | 155 | › | 11011011 | 219 | Ы |
00011100 | 28 | FS | 01011100 | 92 | \ | 10011100 | 156 | њ | 11011100 | 220 | Ь |
00011101 | 29 | GS | 01011101 | 93 | ] | 10011101 | 157 | ќ | 11011101 | 221 | Э |
00011110 | 30 | RS | 01011110 | 94 | ^ | 10011110 | 158 | ћ | 11011110 | 222 | Ю |
00011111 | 31 | US | 01011111 | 95 | _ | 10011111 | 159 | џ | 11011111 | 223 | Я |
00100000 | 32 | 01100000 | 96 | ` | 10100000 | 160 | |
11100000 | 224 | а | |
00100001 | 33 | ! | 01100001 | 97 | a | 10100001 | 161 | Ў | 11100001 | 225 | б |
00100010 | 34 | " | 01100010 | 98 | b | 10100010 | 162 | ў | 11100010 | 226 | в |
00100011 | 35 | # | 01100011 | 99 | c | 10100011 | 163 | Ј | 11100011 | 227 | г |
00100100 | 36 | $ | 01100100 | 100 | d | 10100100 | 164 | ¤ | 11100100 | 228 | д |
00100101 | 37 | % | 01100101 | 101 | e | 10100101 | 165 | Ґ | 11100101 | 229 | е |
00100110 | 38 | & | 01100110 | 102 | f | 10100110 | 166 | ¦ | 11100110 | 230 | ж |
00100111 | 39 | " | 01100111 | 103 | g | 10100111 | 167 | § | 11100111 | 231 | з |
00101000 | 40 | ( | 01101000 | 104 | h | 10101000 | 168 | Ё | 11101000 | 232 | и |
00101001 | 41 | ) | 01101001 | 105 | i | 10101001 | 169 | © | 11101001 | 233 | й |
00101010 | 42 | * | 01101010 | 106 | j | 10101010 | 170 | Є | 11101010 | 234 | к |
00101011 | 43 | + | 01101011 | 107 | k | 10101011 | 171 | « | 11101011 | 235 | л |
00101100 | 44 | , | 01101100 | 108 | l | 10101100 | 172 | ¬ | 11101100 | 236 | м |
00101101 | 45 | - | 01101101 | 109 | m | 10101101 | 173 | ¬ | 11101101 | 237 | н |
00101110 | 46 | . | 01101110 | 110 | n | 10101110 | 174 | ® | 11101110 | 238 | о |
00101111 | 47 | / | 01101111 | 111 | o | 10101111 | 175 | Ї | 11101111 | 239 | п |
00110000 | 48 | 0 | 01110000 | 112 | p | 10110000 | 176 | ° | 11110000 | 240 | р |
00110001 | 49 | 1 | 01110001 | 113 | q | 10110001 | 177 | ± | 11110001 | 241 | с |
00110010 | 50 | 2 | 01110010 | 114 | r | 10110010 | 178 | І | 11110010 | 242 | т |
00110011 | 51 | 3 | 01110011 | 115 | s | 10110011 | 179 | і | 11110011 | 243 | у |
00110100 | 52 | 4 | 01110100 | 116 | t | 10110100 | 180 | ґ | 11110100 | 244 | ф |
00110101 | 53 | 5 | 01110101 | 117 | u | 10110101 | 181 | µ | 11110101 | 245 | х |
00110110 | 54 | 6 | 01110110 | 118 | v | 10110110 | 182 | ¶ | 11110110 | 246 | ц |
00110111 | 55 | 7 | 01110111 | 119 | w | 10110111 | 183 | · | 11110111 | 247 | ч |
00111000 | 56 | 8 | 01111000 | 120 | x | 10111000 | 184 | ё | 11111000 | 248 | ш |
00111001 | 57 | 9 | 01111001 | 121 | y | 10111001 | 185 | № | 11111001 | 249 | щ |
00111010 | 58 | : | 01111010 | 122 | z | 10111010 | 186 | є | 11111010 | 250 | ъ |
00111011 | 59 | ; | 01111011 | 123 | { | 10111011 | 187 | » | 11111011 | 251 | ы |
00111100 | 60 | < | 01111100 | 124 | | | 10111100 | 188 | ј | 11111100 | 252 | ь |
00111101 | 61 | = | 01111101 | 125 | } | 10111101 | 189 | Ѕ | 11111101 | 253 | э |
00111110 | 62 | > | 01111110 | 126 | ~ | 10111110 | 190 | ѕ | 11111110 | 254 | ю |
00111111 | 63 | ? | 01111111 | 127 | DEL | 10111111 | 191 | ї | 11111111 | 255 | я |
Рис. 22.4. Кодовая страница Windows 1251
Unicode - стандарт кодирования символов, позволяющий представить знаки почти всех письменных языков. Стандарт был предложен в 1991 г. некоммерческой организацией «Консорциум Юникода» (англ. Unicode Consortium, Unicode Inc.). Применение этого стандарта позволяет закодировать большее число символов (чем в ASCII и прочих кодировках) за счет двухбайтового кодирования символов (всего 65536 символов). В документах Unicode могут соседствовать китайские иероглифы, математические символы, буквы греческого алфавита, латиницы и кириллицы.
Коды в стандарте Unicode разделены на несколько разделов. Первые 128 кодов соответствуют кодировке ASCII. Далее расположены разделы букв различных письменностей, знаки пунктуации и технические символы. В частности прописным и строчным буквам русского алфавита соответствуют коды 1025 (Ё), 1040-1103 (А-я) и 1105 (ё).
Шрифт Брайля - рельефно-точечный тактильный шрифт, предназначенный для письма и чтения незрячими людьми. Был разработан в 1824 г. французом Луи Брайлем (Louis Braille), сыном сапожника. Луи в возрасте трёх лет потерял зрение, в результате воспаления глаз, начавшегося от того, что мальчик поранился шорным ножом (подобие шила) в мастерской отца. В возрасте 15 лет он создал свой рельефно-точечный шрифт, вдохновившись простотой «ночного шрифта» капитана артиллерии Шарля Барбье (Charles Barbier), который использовался военными того времени для чтения донесений в темноте.
Для изображения символов (в основном букв и цифр) в шрифте Брайля используются 6 точек, расположенных в два столбца, по 3 в каждом.
Рис. 22.5. Нумерация точек
Каждому символу соответствует свой уникальный набор выпуклых точек. Т.о. шрифт Брайля представляет собой систему для кодирования 2 6 = 64 символов. Но присутствие в шрифте управляющих символов (например, переход к буквам или цифрам) позволяет увеличить количество кодируемых символов.
Управляющие символы | |||
Символ шрифта Брайля |
Назначение | ||
⠠ | Буквы | ||
⠼ | Цифры | ||
Буквы, цифры и остальные символы | |||
Символ шрифта Брайля |
Латинские буквы |
Русские буквы |
Цифры |
⠁ | A | А | 1 |
⠃ | B | Б | 2 |
⠉ | C | Ц | 3 |
⠙ | D | Д | 4 |
⠑ | E | Е | 5 |
⠋ | F | Ф | 6 |
⠛ | G | Г | 7 |
⠓ | H | Х | 8 |
⠊ | I | И | 9 |
⠚ | J | Ж | 0 |
⠅ | K | К | |
⠇ | L | Л | |
⠍ | M | М | |
⠝ | N | Н | |
⠕ | O | О | |
⠏ | P | П | |
⠟ | Q | Ч | |
⠗ | R | Р | |
⠎ | S | С | |
⠞ | T | Т | |
⠥ | U | У | |
⠧ | V | ||
⠺ | W | В | |
⠭ | X | Щ | |
⠽ | Y | ||
⠵ | Z | З | |
⠡ | Ё | ||
⠯ | Й | ||
⠱ | Ш | ||
⠷ | Ъ | ||
⠮ | Ы | ||
⠾ | Ь | ||
⠪ | Э | ||
⠳ | Ю | ||
⠫ | Я | ||
⠲ | Точка | ||
⠂ | Запятая | ||
⠖ | Восклицательный знак | ||
⠢ | Вопросительный знак | ||
⠆ | Точка с запятой | ||
⠤ | Дефис | ||
Пробел |
Рис. 22.6. Шрифт Брайля
Шрифт Брайля, в последнее время, стал широко применяться в общественной жизни и быту в связи с ростом внимания к людям с ограниченными возможностями.
Рис. 22.7. Надпись "Sochi 2014" шрифтом Брайля на золотой медали Параолимпийских игр 2014г.
Штрихкод - графическая информация, наносимая на поверхность, маркировку или упаковку изделий, представляющая собой последовательность черных и белых полос либо других геометрических фигур в целях ее считывания техническими средствами.
В 1948 г. Бернард Сильвер (Bernard Silver), аспирант Института Технологии Университета Дрекселя в Филадельфии, услышал, как президент местной продовольственной сети просил одного из деканов разработать систему, автоматически считывающую информацию о продукте при его контроле. Сильвер рассказал об этом друзьям - Норману Джозефу Вудланду (Norman Joseph Woodland) и Джордину Джохэнсону (Jordin Johanson). Втроем они начали исследовать различные системы маркировки. Их первая работающая система использовала ультрафиолетовые чернила, но они были довольно дороги, а кроме того, со временем выцветали.
Убежденный в том, что система реализуема, Вудланд покинул Филадельфию и перебрался во Флориду в квартиру своего отца для продолжения работы. 20 октября 1949 г. Вудланд и Сильвер подали заявку на изобретение, которая была удовлетворена 7 октября 1952 г. Вместо привычных нам линий патент содержал описание штрихкодовой системы в виде концентрических кругов.
Рис. 22.8. Патент системы Вудланда и Сильвера с концентрическими кругами, предшественниками современных штрихкодов
Впервые штрихкоды начали официально использоваться в 1974 г. в магазинах г. Трой, штат Огайо . Системы штрихового кодирования нашли широкое применение в общественной жизни: торговля, почтовые отправления, финансовые и судебные уведомления, учет единиц хранения, идентификация личностей, контактная информация (веб-ссылки, адреса электронной почты, телефонные номера) и т.д.
Различают линейные (читаемые в одном направлении) и двумерные штрихкоды. Каждая из разновидностей различается как размерами графического изображения, так и объемами представленной информации. В следующей таблице приведены примеры некоторых разновидностей штрихкода.
Таблица 22.1. Разновидности штрихкодов
Наименование | Пример штрих-кода | Примечания |
Линейные | ||
Universal Product Code, UPC (универсальный код товара) |
(UPC-A) |
Американский стандарт штрихкода, предназначенный для кодирования идентификатора товара и производителя. Имеются разновидности: - UPC-E – кодируются 8 цифр; - UPC-A – кодируется 13 цифр. |
European Article Number, EAN (европейский номер товара) |
(EAN-13) |
Европейский стандарт штрихкода, предназначенный для кодирования идентификатора товара и производителя. Имеются разновидности: - EAN-8 – кодируются 8 цифр; - EAN 13 – кодируется 13 цифр; - EAN-128 – кодируется любое количество букв и цифр, объединенных в регламентированные группы. ГОСТ ИСО/МЭК 15420-2001 «Автоматическая идентификация. Кодирование штриховое. Спецификация символики EAN/UPC (ЕАН/ЮПиСи)». |
Code 128 (Код 128) |
Включает в себя 107 символов. Из которых 103 символа данных, 3 стартовых, и 1 остановочный символ. Для кодирования всех 128-ми символов ASCII предусмотрено три комплекта символов - A, B и C, которые могут использоваться внутри одного штрихкода. EAN-128 кодирует информацию по алфавиту Code 128 ГОСТ 30743-2001 (ИСО/МЭК 15417-2000) «Автоматическая идентификация. Кодирование штриховое. Спецификация символики Code 128 (Код 128)». |
|
Двумерные | ||
DataMatrix (матричные данные) |
Максимальное количество символов, которые помещаются в один код - 2048 байт. ГОСТ Р ИСО/МЭК 16022-2008 «Автоматическая идентификация. Кодирование штриховое. Спецификация символики Data Matrix». |
|
QR-код (англ. quick response - быстрый отклик) |
Квадраты в углах изображения позволяют нормализовать размер изображения и его ориентацию, а также угол, под которым сенсор относится к поверхности изображения. Точки переводятся в двоичные числа с проверкой контрольной суммы. Максимальное количество символов, которые помещаются в один QR-код: - цифры - 7089; - цифры и буквы (латиница) - 4296; - двоичный код - 2953 байт; - иероглифы - 1817. |
|
MaxiCode (максикод) |
Размер - дюйм на дюйм (1 дюйм = 2.54 см). Используется для грузоотправительных и грузоприемных систем. ГОСТ Р 51294.6-2000 «Автоматическая идентификация. Кодирование штриховое. Спецификация символики MaxiCode (Максикод)». |
|
PDF147 (англ. Portable Data File - переносимый файл данных) |
Применяется при идентификации личности, учете товаров, при сдаче отчетности в контролирующие органы и других областях. Поддерживает кодирование до 2710 символов и может содержать до 90 строк. |
|
Microsoft Tag (метка Microsoft) |
Разработан для распознавания при помощи фотокамер, встроенных в мобильные телефоны. Может вместить в себя столько же символов, что Code128. Предназначен для быстрой идентификации и получения на устройство заранее подготовленной информации (веб-ссылки, произвольного текста длиной до 1000 символов, телефонного номера и т.п.), привязанной к коду и хранящейся на сервере компании Microsoft. Содержит 13 байт плюс один дополнительный бит для контроля четности. |
Представление чисел в двоичном виде (в компьютере) . Как известно, информация, хранящаяся и обрабатываемая в компьютерах, представлена в двоичном виде. Бит (англ. bi nary digit - двоичное число; также игра слов: англ. bit - кусочек, частица) - единица измерения количества информации, равная одному разряду в двоичной системе счисления. С помощью бита можно закодировать (представить, различать) два состояния (0 или 1; да или нет). Увеличивая количество битов (разрядов), можно увеличить количество кодируемых состояний. Например, для байта (англ. byte), состоящего из 8 битов, количество кодируемых состояний составляет 2 8 = 256.
Числа кодируются в т.н. форматах с фиксированной и плавающей запятой.
1. Формат с фиксированной запятой , в основном, применяется для целых чисел, но может применяться и для вещественных чисел, у которых фиксировано количество десятичных знаков после запятой. Для целых чисел подразумевается, что «запятая» находится справа после младшего бита (разряда), т.е. вне разрядной сетки. В данном формате существуют два представления: беззнаковое (для неотрицательных чисел) и со знаком.
Для беззнакового представления все разряды отводятся под представление самого числа. Например, с помощью байта можно представить беззнаковые целые числа от 0 10 до 255 10 (00000000 2 - 11111111 2) или вещественные числа с одним десятичным знаком от 0.0 10 до 25.5 10 (00000000 2 - 11111111 2). Для знакового представления, т.е. положительных и отрицательных чисел, старший разряд отводится под знак (0 – положительное число, 1 – отрицательное).
Различают прямой, обратный и дополнительный коды записи знаковых чисел.
В прямом коде запись положительного и отрицательного числа выполняется так же, как и в беззнаковом представление (за исключение того, что старший разряд отводится под знак). Таким образом, числа 5 10 и -5 10 записываются, как 00000101 2 и 10000101 2 . В прямом коде имеются два кода числа 0: «положительный нуль» 00000000 2 и «отрицательный нуль» 10000000 2 .
При использовании обратного кода отрицательное число записывается в виде инвертированного положительного числа (0 меняются на 1 и наоборот). Например, числа 5 10 и -5 10 записываются, как 00000101 2 и 11111010 2 . Следует отметить, что в обратном коде, как и в прямом, имеются «положительный нуль» 00000000 2 и «отрицательный нуль» 11111111 2 . Применение обратного кода позволяет вычесть одно число из другого, используя операцию сложения, т.е. вычитание двух чисел X – Y заменяется их суммой X + (-Y). При этом используются два дополнительных правила:
Вычитаемое число инвертируется (представляется в виде обратного кода);
Если количество разрядов результата получается больше, чем отведено на представление чисел, то крайний левый разряд (старший) отбрасывается, а к результату добавляется 1 2 .
В следующей таблице приведены примеры вычитания.
Таблица 22.2. Примеры вычитания двух чисел с использованием обратного кода
X – Y | 5 – 5 | 6 – 5 | 5 – 6 | 5 – (-6) |
X 2 | 00000101 | 00000110 | 00000101 | 00000101 |
Y 2 | 00000101 | 00000101 | 00000110 | 11111001 |
Замена сложением | 5 + (-5) | 6 + (-5) | 5 + (-6) | 5 + 6 |
Обратный код для вычитаемого (-Y 2) | 11111010 | 11111010 | 11111001 | 00000110 |
Сложение | 00000101 + 11111010 11111111 |
00000110 + 11111010 100000000 |
00000101 + 11111001 11111110 |
00000101 + 00000110 00001011 |
не требуется | 00000000 + 00000001 00000001 |
не требуется | не требуется | |
Результат | -0 | 1 | -1 | 11 |
Несмотря на то, что обратный код значительно упрощает вычислительные процедуры, а соответственно и быстродействие компьютеров, наличие двух «нулей» и другие условности привели к появлению дополнительного кода. При представлении отрицательного числа его модуль вначале инвертируется, как в обратном коде, а затем к инверсии сразу добавляется 1 2 .
В следующей таблице приведены некоторые числа в различном кодовом представлении.
Таблица 22.3. Представление чисел в различных кодах
Десятичное представление |
Код двоичного представления (8 бит) | ||
прямой | обратный | дополнительный | |
127 | 01111111 | 01111111 | 01111111 |
6 | 00000110 | 00000110 | 00000110 |
5 | 00000101 | 00000101 | 00000101 |
1 | 00000001 | 00000001 | 00000001 |
0 | 00000000 | 00000000 | 00000000 |
-0 | 10000000 | 11111111 | --- |
-1 | 10000001 | 11111110 | 11111111 |
-5 | 10000101 | 11111010 | 11111011 |
-6 | 10000110 | 11111001 | 11111010 |
-127 | 11111111 | 10000000 | 10000001 |
-128 | --- | --- | 10000000 |
При представлении отрицательных чисел в дополнительных кодах второе правило несколько упрощается - если количество разрядов результата получается больше, чем отведено на представление чисел, то только отбрасывается крайний левый разряд (старший).
Таблица 22.4. Примеры вычитания двух чисел с использованием дополнительного кода
X – Y | 5 – 5 | 6 – 5 | 5 – 6 | 5 – (-6) |
X 2 | 00000101 | 00000110 | 00000101 | 00000101 |
Y 2 | 00000101 | 00000101 | 00000110 | 11111010 |
Замена сложением | 5 + (-5) | 6 + (-5) | 5 + (-6) | 5 + 6 |
Дополнительный код для вычитаемого (-Y 2) | 11111011 | 11111011 | 11111010 | 00000110 |
Сложение | 00000101 + 11111011 00000000 |
00000110 + 11111011 100000001 |
00000101 + 11111010 11111111 |
00000101 + 00000110 00001011 |
Отбрасывание старшего разряда и добавление 1 2 | не требуется | 00000001 | не требуется | не требуется |
Результат | -0 | 1 | -1 | 11 |
Можно возразить, что представление чисел в дополнительных кодах требует на одну операцию больше (после инверсии всегда требуется сложение с 1 2), что может и не потребоваться в дальнейшем, как в примерах с обратными кодами. В данном случае срабатывает известный «принцип чайника». Лучше сделать процедуру линейной, чем применять в ней правила «Если A то B» (даже если оно одно). То, что с человеческой точки зрения кажется увеличением трудозатрат (вычислительной и временной сложности), с точки зрения программно-технической реализации может оказаться эффективней.
Еще одно из преимуществ дополнительного кода перед обратным заключается в возможности представления в единице информации на одно число (состояние) больше, за счет исключения «отрицательного нуля». Поэтому, как правило, диапазон представления (хранения) для знаковых целых чисел длиной один байт составляет от +127 до -128.
2. Формат с плавающей запятой , в основном, используется для вещественных чисел. Число в данном формате представляется в экспоненциальном виде
X = e n * m, (22.1)
где e - основание показательной функции;
n - порядок основания;
e n - характеристика числа;
m - мантисса (лат. mantissa - прибавка) – множитель, на который надо умножить характеристику числа, чтобы получить само число.
Например, число десятичное число 350 может быть записано, как 3.5 * 10 2 , 35 * 10 1 , 350 * 10 0 и т.д. В нормализованной научной записи , порядок n выбирается такой, чтобы абсолютная величина m оставалась не меньше единицы, но строго меньше десяти (1 ≤ |m| < 10). Таким образом, в нормализованной научной записи число 350 выглядит, как 3.5 * 10 2 . При отображении чисел в программах, учитывая, что основание равно 10, их записывают в виде m E ± n , где Е означает «*10^» («…умножить на десять в степени…»). Например, число 350 – 3.5Е+2, а число 0.035 – 3.5Е-2.
Так как числа хранится и обрабатывается в компьютерах в двоичном виде, то для этих целей принимается e = 2. Одной из возможных форм двоичного представления чисел с плавающей запятой является следующая.
Рис. 22.9. Двоичный формат представления чисел с плавающей запятой
Биты bn± и bm±, означающие знак порядка и мантиссы, кодируются аналогично числам с фиксированной запятой: для положительных чисел «0», для отрицательных – «1». Значение порядка выбирается таким образом, чтобы величина целой части мантиссы в десятичном (и соответственно в двоичном) представлении равнялась «1», что будет соответствовать нормализованной записи для двоичных чисел. Например, для числа 350 10 порядок n = 8 10 = 001000 2 (350 = 1.3671875 * 2 8), а для 576 10 – n = 9 10 = 001001 2 (576 = 1.125 * 2 9). Битовое представление величины порядка может быть выполнено в прямом, обратном или дополнительном коде (например, для n = 8 10 бинарный вид 001000 2). Величина мантиссы отображает дробную часть. Для ее преобразования в двоичный вид, она последовательно умножается на 2, пока не станет равной 0. Например,
Рис. 22.10. Пример получения дробной части в бинарном виде
Целые части, получаемые в результате последовательного перемножения, и представляют собой двоичный вид дробной части (0.3671875 10 = 0101111 2). Оставшаяся часть разрядов величины мантиссы заполняется 0. Таким образом, итоговый вид числа 350 в формате с плавающей запятой с учетом представления мантиссы в нормализованной записи
Рис. 22.11. Двоичный вид числа 350
В программно-аппаратных реализациях арифметических действий широко распространен стандарт представления чисел с плавающей точкой IEEE 2 754 (последняя редакция «754-2008 - IEEE Standard for Floating-Point Arithmetic»). Данный стандарт определяет форматы с плавающими запятыми для представления чисел одинарной (англ. single, float) и двойной (англ. double) точности. Общая структура форматов
Рис. 22.12. Общий формат представления двоичных чисел в стандарте IEEE 754
Форматы представления отличаются количеством бит (байт), отводимым для представления чисел, и, соответственно, точностью представления самих чисел.
Таблица 22.5. Характеристики форматов представления двоичных чисел в стандарте IEEE 754
Формат | single | double |
Общий размер, бит (байт) | 32 (4) | 64 (8) |
Число бит для порядка | 8 | 11 |
Число бит для мантиссы (без учета знакового бита) |
23 | 52 |
Величина порядка | 2 128 .. 2 -127 (±3.4 * 10 38 .. 1.7 * 10 -38) |
2 1024 .. 2 -1023 (±1.8 * 10 308 .. 9.0 * 10 -307) |
Смещение порядка | 127 | 1023 |
Диапазон представления чисел (без учета знака) |
±1.4 * 10 -45 .. 3.4 * 10 38 | ±4.9 * 10 -324 .. 1.8 * 10 308 |
Количество значащих цифр числа (не более) |
8 | 16 |
Особенностью представления чисел по стандарту IEEE является отсутствие бита под знак порядка. Несмотря на это, величина порядка может принимать как положительные значения, так и отрицательные. Этот момент учитывается т.н. «смещением порядка». После преобразования двоичного вида порядка (записанного в прямом коде) в десятичный от полученной величины отнимается «смещение порядка». В результате получается «истинное» значения порядка числа. Например, если для числа одинарной точности указан порядок 11111111 2 (= 255 10), то величина порядка на самом деле 128 10 (= 255 10 - 127 10), а если 00000000 2 (= 0 10), то -127 10 (= 0 10 - 127 10).
Величина мантиссы указывается, как и в предыдущем случае, в нормализованном виде.
C учетом вышеизложенного, число 350 10 в формате одинарной точности стандарта IEEE 754 записывается следующим образом.
Рис. 22.13. Двоичный вид числа 350 по стандарту IEEE
К другим особенностям стандарта IEEE относится возможность представления специальных чисел. К ним относятся значения NaN (англ. Not a Number - не число) и +/-INF (англ. Infinity - бесконечность), получающихся в результате операций типа деления на ноль. Также сюда попадают денормализованные числа, у которых мантисса меньше единицы.
В заключение по числам с плавающей запятой несколько слов о пресловутой «ошибке округления ». Т.к. в двоичной форме представления числа хранится только несколько значащих цифр, она не может «покрыть» все многообразие вещественных чисел в заданном диапазоне. В результате, если число невозможно точно представить в двоичной форме, оно представляется ближайшим возможным. Например, если к числу типа double «0.0» последовательно добавлять «1.7», то можно обнаружить следующую «картину» изменения значений.
0.0
1.7
3.4
5.1
6.8
8.5
10.2
11.899999999999999
13.599999999999998
15.299999999999997
16.999999999999996
18.699999999999996
20.399999999999995
22.099999999999994
23.799999999999994
25.499999999999993
27.199999999999992
28.89999999999999
30.59999999999999
32.29999999999999
33.99999999999999
35.699999999999996
37.4
39.1
40.800000000000004
42.50000000000001
44.20000000000001
45.90000000000001
47.600000000000016
…
Рис. 22.14. Результат последовательного добавления числа 1.7 (Java 7)
Другой нюанс обнаруживается при сложении двух чисел, у которых значительно отличается порядок. Например, результатом сложения 10 10 + 10 -10 будет 10 10 . Даже если последовательно триллион (10 12) раз добавлять 10 -10 к 10 10 , то результат останется прежним 10 10 . Если же к 10 10 добавить произведение 10 -10 * 10 12 , что с математической точки зрения одно и то же, результат станет 10000000100 (1.0000000100 * 10 10).
Генетический код - свойственная всем живым организмам кодированная аминокислотная последовательность белков. Кодирование выполняется при помощи нуклеотидов 3 , входящих в состав ДНК (дезоксирибонуклеиновой кислоты). ДКН - макромолекула, обеспечивающая хранение, передачу из поколения в поколение и реализацию генетической программы развития и функционирования живых организмов. Пожалуй, самый главный код в истории человечества.
В ДНК используется четыре азотистых основания - аденин (А), гуанин (G), цитозин (С), тимин (T), которые в русскоязычной литературе обозначаются буквами А, Г, Ц и Т. Эти буквы составляют алфавит генетического кода. В молекулах ДНК нуклеотиды выстраиваются в цепочки и, таким образом, получаются последовательности генетических букв.
Белки практически всех живых организмов построены из аминокислот всего 20 видов. Эти аминокислоты называют каноническими. Каждый белок представляет собой цепочку или несколько цепочек аминокислот, соединенных в строго определенной последовательности. Эта последовательность определяет строение белка, а, следовательно, все его биологические свойства. Синтез белков (т.е. реализация генетической информации в живых клетках) осуществляется на основе информации, заложенной в ДНК. Для кодирования каждой из 20 аминокислот, а также сигнала «стоп», означающего конец белковой последовательности, достаточно трех последовательных нуклеотидов (триплета).
Рис. 22.15. Фрагмент ДНК
2 IEEE (англ. Institute of Electrical and Electronics Engineers) - институт инженеров по электротехнике и электронике.
3 Содержит азотистое основание, соединенное с сахаром, и фосфорную кислоту.
22.3. Секретные кодовые системы
Секретные коды, как и шифры, предназначены для обеспечения конфиденциальности информации. Изначально секретные кодовые системы представляли собой систему, в основе которой лежало подобие жаргонного кода. Они возникли в целях сокрытия имен реальных людей, упоминавшихся в переписке. Это были небольшие списки, в которых в были записаны скрываемые имена, а напротив них - кодовые замены (подстановки). Официальные коды для сокрытия содержания донесений, которыми пользовались папские эмиссары и послы средиземноморских городов-государств, найденные в ранних архивах Ватикана, датируются XIV в. По мере возрастания потребности в безопасности переписки, у представителей городов-государств появились более обширные перечни, которые включали в себя не только кодовые замены имен людей, но и стран, городов, видов оружия, провианта и т.д. В целях повышения защищенности информации к перечням были добавлены шифралфавиты для кодирования слов, не вошедших в перечень, а также правила их использования, базирующиеся на различных стеганографических и криптографических методах. Такие сборники получили название «номенклаторы ». С XV и до середины XIX в. они были основной формой обеспечения конфиденциальности информации .
Вплоть до XVII столетия в номенклаторах слова открытого текста и их кодовые замены шли в алфавитном порядке, пока французский криптолог Антуан Россиньоль не предложил использовать более стойкие номенклаторы, состоящие из двух частей. В них существовало два раздела: в одном перечислялись в алфавитном порядке элементы открытого текста, а кодовые элементы были перемешаны. Во второй части в алфавитном порядке шли перечни кодов, а перемешанными были уже элементы открытого текста.
Изобретение телеграфа и азбуки Морзе, а также прокладка трансатлантического кабеля в середине XIX в. значительно расширило сферы применения секретных кодов. Помимо традиционных областей их использования (в дипломатической переписке и в военных целях) они стали широко использоваться в коммерции и на транспорте. Секретные кодовые системы того времени в своем названии содержали слово «код » («Код Госдепартамента (1867 г.)», «Американский код для окопов», «Речные коды: Потомак», «Черный код») или «шифр » («Шифр Госдепартамента (1876 г.)», «Зеленый шифр»). Следует отметить, что, несмотря на наличие в названии слова «шифр», в основу этих систем было положено кодирование.
Рис. 22.16. Фрагмент «Шифра Госдепартамента (1899 г.)»
Разработчики кодов, как и составители шифров, нередко добавляли дополнительные степени защиты, чтобы затруднить взлом своих кодов. Такой процесс называется перешифрованием . В итоге секретные кодовые системы сочетали в себе, как стеганографические, так и криптографические способы обеспечения конфиденциальности информации. Наиболее популярные из них приведены в следующей таблице.
Таблица 22.6. Способы обеспечения конфиденциальности информации в секретных кодовых системах
Способ | Тип | Примечания | Примеры (кодируемое слово – кодовое обозначение) |
Замена слова (словосочетания) другим словом произвольной длины | стеганографический | Аналог - . |
1. Номенклатор города Сиены (XV в.): Cardinales (кардинал) – Florenus; Antonello da Furli (Антолло да Фурли) – Forte. 2. Шифр Госдепартамента 1899 г.: Russia (Россия) – Promotes; Cabinet of Russia (Правительство России) – Promptings. 3. Код руководителя службы связи (1871 г.): 10:30 – Anna, Ida; 13th (тринадцатый) – Charles, Mason. |
Замена слова (словосочетания) символьной строкой фиксированной длины | стеганографический | Аналог - . | 1. Американский код для окопов (1918 г.): Patrol (патруль) – RAL; Attack (атака) – DIT. 2. Код Госдепартамента А-1 (1919 г.): Diplomat (дипломат) – BUJOH; Diplomatic corps (дипломатический корпус) – BEDAC. |
Замена слова (словосочетания) числом | стеганографический | Аналог - . Для одного кодируемого слова могли использоваться несколько кодовых обозначений. |
1. Номенклатор Бенджамина Толмаджа (1779 г.): Defense (оборона) – 143; Attack (атака) – 38. 2. Код вещания для торговых судов союзников во Второй мировой войне (BAMS): остров – 36979; порт – 985. |
Замена слова (словосочетания) набором цифр фиксированной длины | стеганографический | Аналог - . | 1. Американский код для окопов (1918 г.): Patrol (патруль) – 2307; Attack (атака) – 1447. 2. Американский служебный радиокод № 1 (1918 г.): Oil (масло) – 001; Bad (плохой) – 642. |
Замена букв | криптографический | Аналоги – шифр , . В качестве кодового обозначения могли использоваться буквы, числа, графические обозначения. Применялась для слов, отсутствующих в списке кодируемых. |
1. Номенклатор города Сиены (XV в.): q – ; s – . 2. Номенклатор Джеймса Мэдисона (1781 г.): o – 527; p – 941. 3. Американский код для окопов (1918 г.): a – 1332 .. 2795 или CEW .. ZYR. Содержал также 30 алфавитов шифрозамен для перешифрования кодовых обозначений. |
Замена сочетания букв | криптографический | Аналог – . В качестве кодового обозначения могли использоваться буквы, числа, графические обозначения. |
1. Номенклатор города Сиены (XV в.): bb – ; tt – . 2. Номенклатор X-Y-Z (1737 г.): ce – 493; ab – 1194. |
Использование пустых знаков | стеганографический | Аналог – . Ничего назначавшие (лат. nihil importantes) символы использовались для запутывания криптоаналитиков. |
1. Номенклатор города Сиены (XV в.): , . 2. Речные коды: Потомак (1918 г.): ASY. |
Использование аддитивных чисел | криптографический | Аналог – . Аддитивное число, добавляемое к числовому кодовому обозначению, служило в качестве переменной части кода (ключа). |
Шифр Госдепартамента 1876 г.: правило «Horse» (лошадь) в начале сообщения означало, что при кодировании последующих кодовых обозначений использовалось аддитивное число 203; «Hawk» (ястреб) - 100. |
Перестановка букв (цифр) в кодовых обозначениях | криптографический | Аналог – . | Телеграфный код для обеспечения секретности при передаче телеграмм (1870 г.): одно из правил предписывало перестановку последних трех цифр в цифровом кодовом обозначении, состоящем из пяти цифр. |
Перестановка кодовых обозначений | криптографический | Аналог – . | Шифр Госдепартамента 1876 г.: правило «Tiger» (тигр) в начале сообщения означало, что раскодированное сообщение надо читать с последнего слова по первое (задом-наперед); «Tapir» (тапир) – меняя местами каждую пару слов (т.е. первое и второе, третье и четвертое и т.д.). |
Сочетание различных способов кодирования и перешифровки в кодовой системе было обычной практикой у разработчиков кодов и стало применяться практически с самого начала их появления. Так, еще в номенклаторе, использовавшемся в г. Сиена в XV в., помимо кодовых замен слов, применялись для замены букв, их и пустых знаков. Наибольшего расцвета эта практика получила в конце XIX – начале XX вв. В частности в «Шифре Госдепартамента 1876 г.» (англ. Red Book – Красная книга), состоящем из 1200 страниц, и его дополнении «Неподдающийся декодированию код: дополнение к шифру Госдепартамента» применялись:
Кодовые обозначения в виде слов и чисел;
Код - система условных знаков (символов) для передачи, обработки и хранения информации (сообщения).
Кодирование - процесс представления информации (сообщения) в виде кода.
Все множество символов, используемых для кодирования, называется алфавитом кодирования . Например, в памяти компьютера любая информация кодируется с помощью двоичного алфавита, содержащего всего два символа: 0 и 1.
Научные основы кодирования были описаны К.Шенноном, который исследовал процессы передачи информации по техническим каналам связи (теория связи , теория кодирования ). При таком подходе кодирование понимается в более узком смысле: как переход от представления информации в одной символьной системе к представлению в другой символьной системе . Например, преобразование письменного русского текста в код азбуки Морзе для передачи его по телеграфной связи или радиосвязи. Такое кодирование связано с потребностью приспособить код к используемым техническим средствам работы с информацией (см. “Передача информации” ).
Декодирование - процесс обратного преобразования кода к форме исходной символьной системы , т.е. получение исходного сообщения. Например: перевод с азбуки Морзе в письменный текст на русском языке.
В более широком смысле декодирование - это процесс восстановления содержания закодированного сообщения. При таком подходе процесс записи текста с помощью русского алфавита можно рассматривать в качестве кодирования, а его чтение - это декодирование.
Цели кодирования и способы кодирования
Способ кодирования одного и того же сообщения может быть разным. Например, русский текст мы привыкли записывать с помощью русского алфавита. Но то же самое можно сделать, используя английский алфавит. Иногда так приходится поступать, посылая SMS по мобильному телефону, на котором нет русских букв, или отправляя электронное письмо на русском языке из-за границы, если на компьютере нет русифицированного программного обеспечения. Например, фразу: “Здравствуй, дорогой Саша!” приходится писать так: “Zdravstvui, dorogoi Sasha!”.
Существуют и другие способы кодирования речи. Например, стенография - быстрый способ записи устной речи . Ею владеют лишь немногие специально обученные люди - стенографисты. Стенографист успевает записывать текст синхронно с речью говорящего человека. В стенограмме один значок обозначал целое слово или словосочетание. Расшифровать (декодировать) стенограмму может только стенографист.
Приведенные примеры иллюстрируют следующее важное правило: для кодирования одной и той же информации могут быть использованы разные способы; их выбор зависит от ряда обстоятельств: цели кодирования, условий, имеющихся средств. Если надо записать текст в темпе речи - используем стенографию; если надо передать текст за границу - используем английский алфавит; если надо представить текст в виде, понятном для грамотного русского человека, - записываем его по правилам грамматики русского языка.
Еще одно важное обстоятельство: выбор способа кодирования информации может быть связан с предполагаемым способом ее обработки . Покажем это на примере представления чисел - количественной информации. Используя русский алфавит, можно записать число “тридцать пять”. Используя же алфавит арабской десятичной системы счисления, пишем: “35”. Второй способ не только короче первого, но и удобнее для выполнения вычислений. Какая запись удобнее для выполнения расчетов: “тридцать пять умножить на сто двадцать семь” или “35 х 127”? Очевидно - вторая.
Однако если важно сохранить число без искажения, то его лучше записать в текстовой форме. Например, в денежных документах часто сумму записывают в текстовой форме: “триста семьдесят пять руб.” вместо “375 руб.”. Во втором случае искажение одной цифры изменит все значение. При использовании текстовой формы даже грамматические ошибки могут не изменить смысла. Например, малограмотный человек написал: “Тристо семдесять пят руб.”. Однако смысл сохранился.
В некоторых случаях возникает потребность засекречивания текста сообщения или документа, для того чтобы его не смогли прочитать те, кому не положено. Это называется защитой от несанкционированного доступа . В таком случае секретный текст шифруется. В давние времена шифрование называлось тайнописью. Шифрование представляет собой процесс превращения открытого текста в зашифрованный, а дешифрование - процесс обратного преобразования, при котором восстанавливается исходный текст. Шифрование - это тоже кодирование, но с засекреченным методом, известным только источнику и адресату. Методами шифрования занимается наука под названием криптография (см. “Криптография” ).
История технических способов кодирования информации
С появлением технических средств хранения и передачи информации возникли новые идеи и приемы кодирования. Первым техническим средством передачи информации на расстояние стал телеграф, изобретенный в 1837 году американцем Сэмюэлем Морзе. Телеграфное сообщение - это последовательность электрических сигналов, передаваемая от одного телеграфного аппарата по проводам к другому телеграфному аппарату. Эти технические обстоятельства привели С.Морзе к идее использования всего двух видов сигналов - короткого и длинного - для кодирования сообщения, передаваемого по линиям телеграфной связи.
Сэмюэль Финли Бриз Морзе (1791–1872), США
Такой способ кодирования получил название азбуки Морзе. В ней каждая буква алфавита кодируется последовательностью коротких сигналов (точек) и длинных сигналов (тире). Буквы отделяются друг от друга паузами - отсутствием сигналов.
Самым знаменитым телеграфным сообщением является сигнал бедствия “SOS” (S ave O ur S ouls - спасите наши души). Вот как он выглядит в коде азбуки Морзе, применяемом к английскому алфавиту:
–––
Три точки (буква S), три тире (буква О), три точки (буква S). Две паузы отделяют буквы друг от друга.
На рисунке показана азбука Морзе применительно к русскому алфавиту. Специальных знаков препинания не было. Их записывали словами: “тчк” - точка, “зпт” - запятая и т.п.
Характерной особенностью азбуки Морзе является переменная длина кода разных букв , поэтому код Морзе называют неравномерным кодом . Буквы, которые встречаются в тексте чаще, имеют более короткий код, чем редкие буквы. Например, код буквы “Е” - одна точка, а код твердого знака состоит из шести знаков. Это сделано для того, чтобы сократить длину всего сообщения. Но из-за переменной длины кода букв возникает проблема отделения букв друг от друга в тексте. Поэтому приходится для разделения использовать паузу (пропуск). Следовательно, телеграфный алфавит Морзе является троичным, т.к. в нем используется три знака: точка, тире, пропуск.
Равномерный телеграфный код был изобретен французом Жаном Морисом Бодо в конце XIX века. В нем использовалось всего два разных вида сигналов. Не важно, как их назвать: точка и тире, плюс и минус, ноль и единица. Это два отличающихся друг от друга электрических сигнала. Длина кода всех символов одинаковая и равна пяти. В таком случае не возникает проблемы отделения букв друг от друга: каждая пятерка сигналов - это знак текста. Поэтому пропуск не нужен.
Жан Морис Эмиль Бодо (1845–1903), Франция
Код Бодо - это первый в истории техники способ двоичного кодирования информации . Благодаря этой идее удалось создать буквопечатающий телеграфный аппарат, имеющий вид пишущей машинки. Нажатие на клавишу с определенной буквой вырабатывает соответствующий пятиимпульсный сигнал, который передается по линии связи. Принимающий аппарат под воздействием этого сигнала печатает ту же букву на бумажной ленте.
В современных компьютерах для кодирования текстов также применяется равномерный двоичный код (см. “Системы кодирования текста” ).
Тема кодирования информации может быть представлена в учебной программе на всех этапах изучения информатики в школе.
В пропедевтическом курсе ученикам чаще предлагаются задачи, не связанные с компьютерным кодированием данных и носящие, в некотором смысле, игровую форму. Например, на основании кодовой таблицы азбуки Морзе можно предлагать как задачи кодирования (закодировать русский текст с помощью азбуки Морзе), так и декодирования (расшифровать текст, закодированный с помощью азбуки Морзе).
Выполнение таких заданий можно интерпретировать как работу шифровальщика, предлагая различные несложные ключи шифрования. Например, буквенно-цифровой, заменяя каждую букву ее порядковым номером в алфавите. Кроме того, для полноценного кодирования текста в алфавит следует внести знаки препинания и другие символы. Предложите ученикам придумать способ для отличия строчных букв от прописных.
При выполнении таких заданий следует обратить внимание учеников на то, что необходим разделительный символ - пробел, поскольку код оказывается неравномерным : какие-то буквы шифруются одной цифрой, какие-то - двумя.
Предложите ученикам подумать о том, как можно обойтись без разделения букв в коде. Эти размышления должны привести к идее равномерного кода, в котором каждый символ кодируется двумя десятичными цифрами: А - 01, Б - 02 и т.д.
Подборки задач на кодирование и шифрование информации имеются в ряде учебных пособий для школы .
В базовом курсе информатики для основной школы тема кодирования в большей степени связывается с темой представления в компьютере различных типов данных: чисел, текстов, изображения, звука (см. “Информационные технологии ”).
В старших классах в содержании общеобразовательного или элективного курса могут быть подробнее затронуты вопросы, связанные с теорией кодирования, разработанной К.Шенноном в рамках теории информации. Здесь существует целый ряд интересных задач, понимание которых требует повышенного уровня математической и программистской подготовки учащихся. Это проблемы экономного кодирования, универсального алгоритма кодирования, кодирования с исправлением ошибок. Подробно многие из этих вопросов раскрываются в учебном пособии “Математические основы информатики” .
1. Андреева Е .В ., Босова Л .Л ., Фалина И .Н . Математические основы информатики. Элективный курс. М.: БИНОМ. Лаборатория Знаний, 2005.
2. Бешенков С .А ., Ракитина Е .А . Информатика. Систематический курс. Учебник для 10-го класса. М.: Лаборатория Базовых Знаний, 2001, 57 с.
3. Винер Н . Кибернетика, или Управление и связь в животном и машине. М.: Советское радио, 1968, 201 с.
4. Информатика. Задачник-практикум в 2 т. / Под ред. И.Г. Семакина, Е.К. Хеннера. Т. 1. М.: БИНОМ. Лаборатория Знаний, 2005.
5. Кузнецов А.А., Бешенков С.А., Ракитина Е.А., Матвеева Н.В., Милохина Л.В. Непрерывный курс информатики (концепция, система модулей, типовая программа). Информатика и образование, № 1, 2005.
6. Математический энциклопедический словарь. Раздел: “Словарь школьной информатики”. М.: Советская энциклопедия, 1988.
7. Фридланд А .Я . Информатика: процессы, системы, ресурсы. М.: БИНОМ. Лаборатория Знаний, 2003.
3. Кодирование графической информации4
4. Кодирование звуковой информации8
5. Заключение10
Список литературы11
Введение
Современный компьютер может обрабатывать числовую, текстовую, графическую, звуковую и видео информацию. Все эти виды информации в компьютере представлены в двоичном коде, т. е. используется алфавит мощностью два (всего два символа 0 и 1). Связано это с тем, что удобно представлять информацию в виде последовательности электрических импульсов: импульс отсутствует (0), импульс есть (1). Такое кодирование принято называть двоичным, а сами логические последовательности нулей и единиц - машинным языком. Каждая цифра машинного двоичного кода несет количество информации равное одному биту. Данный вывод можно сделать, рассматривая цифры машинного алфавита, как равновероятные события. При записи двоичной цифры можно реализовать выбор только одного из двух возможных состояний, а, значит, она несет количество информации равное 1 бит. Следовательно, две цифры несут информацию 2 бита, четыре разряда --4 бита и т. д. Чтобы определить количество информации в битах, достаточно определить количество цифр в двоичном машинном коде.
Кодирование текстовой информации
В настоящее время большая часть пользователей при помощи компьютера обрабатывает текстовую информацию, которая состоит из символов: букв, цифр, знаков препинания и др.
Традиционно для того чтобы закодировать один символ используют количество информации равное 1 байту, т. е. I = 1 байт = 8 бит. При помощи формулы, которая связывает между собой количество возможных событий К и количество информации I, можно вычислить сколько различных символов можно закодировать (считая, что символы - это возможные события): К = 2I = 28 = 256, т. е. для представления текстовой информации можно использовать алфавит мощностью 256 символов.
Суть кодирования заключается в том, что каждому символу ставят в соответствие двоичный код от 00000000 до 11111111 или соответствующий ему десятичный код от 0 до 255.
В настоящее время для кодировки русских букв используют пять различных кодовых таблиц (КОИ - 8, СР1251, СР866, Мас, ISO), причем тексты, закодированные при помощи одной таблицы не будут правильно отображаться в другой кодировке. Наглядно это можно представить в виде фрагмента объединенной таблицы кодировки символов. Одному и тому же двоичному коду ставится в соответствие различные символы.
Двоичный код |
Десятичный код |
|||||
Впрочем, в большинстве случаев о перекодировке текстовых документов заботится на пользователь, а специальные программы - конверторы, которые встроены в приложения. Начиная с 1997 г. последние версии Microsoft Windows&Office поддерживают новую кодировку Unicode, которая на каждый символ отводит по 2 байта, а, поэтому, можно закодировать не 256 символов, а 65536 различных символов.
Чтобы определить числовой код символа можно или воспользоваться кодовой таблицей, или, работая в текстовом редакторе Word 6.0 / 95. Для этого в меню нужно выбрать пункт "Вставка" - "Символ", после чего на экране появляется диалоговая панель Символ. В диалоговом окне появляется таблица символов для выбранного шрифта. Символы в этой таблице располагаются построчно, последовательно слева направо, начиная с символа Пробел (левый верхний угол) и, кончая, буквой "я" (правый нижний угол).
Для определения числового кода символа в кодировке Windows (СР1251) нужно при помощи мыши или клавиш управления курсором выбрать нужный символ, затем щелкнуть по кнопке Клавиша. После этого на экране появляется диалоговая панель Настройка, в которой в нижнем левом углу содержится десятичный числовой код выбранного символа.
Кодирование графической информации
Графическую информацию можно представлять в двух формах: аналоговой или дискретной. Живописное полотно, цвет которого изменяется непрерывно - это пример аналогового представления, а изображение, напечатанное при помощи струйного принтера и состоящее из отдельных точек разного цвета - это дискретное представление. Путем разбиения графического изображения (дискретизации) происходит преобразование графической информации из аналоговой формы в дискретную. При этом производится кодирование - присвоение каждому элементу конкретного значения в форме кода. При кодировании изображения происходит его пространственная дискретизация. Ее можно сравнить с построением изображения из большого количества маленьких цветных фрагментов (метод мозаики). Все изображение разбивается на отдельные точки, каждому элементу ставится в соответствие код его цвета.
При этом качество кодирования будет зависеть от следующих параметров: размера точки и количества используемых цветов. Чем меньше размер точки, а, значит, изображение составляется из большего количества точек, тем выше качество кодирования. Чем большее количество цветов используется (т. е. точка изображения может принимать больше возможных состояний), тем больше информации несет каждая точка, а, значит, увеличивается качество кодирования. Создание и хранение графических объектов возможно в нескольких видах - в виде векторного, фрактального или растрового изображения. Отдельным предметом считается 3D (трехмерная) графика, в которой сочетаются векторный и растровый способы формирования изображений. Она изучает методы и приемы построения объемных моделей объектов в виртуальном пространстве. Для каждого вида используется свой способ кодирования графической информации.
Растровое изображение. При помощи увеличительного стекла можно увидеть, что черно-белое графическое изображение, например из газеты, состоит из мельчайших точек, составляющих определенный узор - растр. Во Франции в 19 веке возникло новое направление в живописи - пуантилизм. Его техника заключалась в том, что на холст рисунок наносился кистью в виде разноцветных точек. Также этот метод издавна применяется в полиграфии для кодирования графической информации. Точность передачи рисунка зависит от количества точек и их размера. После разбиения рисунка на точки, начиная с левого угла, двигаясь по строкам слева направо, можно кодировать цвет каждой точки. Далее одну такую точку будем называть пикселем (происхождение этого слова связано с английской аббревиатурой "picture element" - элемент рисунка). Объем растрового изображения определяется умножением количества пикселей (на информационный объем одной точки, который зависит от количества возможных цветов. Качество изображения определяется разрешающей способностью монитора. Чем она выше, то есть больше количество строк растра и точек в строке, тем выше качество изображения. В современных ПК в основном используют следующие разрешающие способности экрана: 640 на 480, 800 на 600, 1024 на 768 и 1280 на 1024 точки. Так как яркость каждой точки и ее линейные координаты можно выразить с помощью целых чисел, то можно сказать, что этот метод кодирования позволяет использовать двоичный код для того чтобы обрабатывать графические данные.
Если говорить о черно-белых иллюстрациях, то, если не использовать полутона, то пиксель будет принимать одно из двух состояний: светится (белый) и не светится (черный). А так как информация о цвете пикселя называется кодом пикселя, то для его кодирования достаточно одного бита памяти: 0 - черный, 1 - белый. Если же рассматриваются иллюстрации в виде комбинации точек с 256 градациями серого цвета (а именно такие в настоящее время общеприняты), то достаточно восьмиразрядного двоичного числа для того чтобы закодировать яркость любой точки. В компьютерной графике чрезвычайно важен цвет. Он выступает как средство усиления зрительного впечатления и повышения информационной насыщенности изображения. Как формируется ощущение цвета человеческим мозгом? Это происходит в результате анализа светового потока, попадающего на сетчатку глаза от отражающих или излучающих объектов.
Цветовые модели. Если говорить о кодировании цветных графических изображений, то нужно рассмотреть принцип декомпозиции произвольного цвета на основные составляющие. Применяют несколько систем кодирования: HSB, RGB и CMYK. Первая цветовая модель проста и интуитивно понятна, т. е. удобна для человека, вторая наиболее удобна для компьютера, а последняя модель CMYK-для типографий. Использование этих цветовых моделей связано с тем, что световой поток может формироваться излучениями, представляющими собой комбинацию " чистых" спектральных цветов: красного, зеленого, синего или их производных. Различают аддитивное цветовоспроизведение (характерно для излучающих объектов) и субтрактивное цветовоспроизведение (характерно для отражающих объектов). В качестве примера объекта первого типа можно привести электронно-лучевую трубку монитора, второго типа - полиграфический отпечаток.
1) Модель HSB характеризуется тремя компонентами: оттенок цвета(Hue), насыщенность цвета (Saturation) и яркость цвета (Brightness).
2) Принцип метода RGB заключается в следующем: известно, что любой цвет можно представить в виде комбинации трех цветов: красного (Red, R), зеленого (Green, G), синего (Blue, B). Другие цвета и их оттенки получаются за счет наличия или отсутствия этих составляющих.
3) Принцип метода CMYK. Эта цветовая модель используется при подготовке публикаций к печати. Каждому из основных цветов ставится в соответствие дополнительный цвет (дополняющий основной до белого). Получают дополнительный цвет за счет суммирования пары остальных основных цветов.
Различают несколько режимов представления цветной графики: полноцветный (True Color); High Color; индексный.
При полноцветном режиме для кодирования яркости каждой из составляющих используют по 256 значений (восемь двоичных разрядов), то есть на кодирование цвета одного пикселя (в системе RGB) надо затратить 8*3=24 разряда. Это позволяет однозначно определять 16,5 млн цветов. Это довольно близко к чувствительности человеческого глаза. При кодировании с помощью системы CMYK для представления цветной графики надо иметь 8*4=32 двоичных разряда. Режим High Color - это кодирование при помощи 16-разрядных двоичных чисел, то есть уменьшается количестко двоичных разрядов при кодировании каждой точки. Но при этом значительно уменьшается диапазон кодируемых цветов. При индексном кодировании цвета можно передать всго лишь 256 цветовых оттенков. Каждый цвет кодируется при помощи восьми бит данных. Но так как 256 значений не передают весь диапазон цветов, доступный человеческому глазу, то подразумевается, что к графическим данным прилагается палитра (справочная таблица), без которой воспроизведение будет неадекватным: море может получиться красным, а листья - синими. Сам код точки растра в данном случае означает не сам по себе цвет, а только его номер (индекс) в палитре. Отсюда и название режима - индексный.
Соответствие между количеством отображаемых цветов (К) и количеством бит для их кодировки (а) находиться по формуле: К = 2 а.
Достаточно для… |
||
Рисованных изображений типа тех, что видим в мультфильмах, но недостаточно для изображений живой природы |
||
Изображений, которые на картинках в журналах и на фотографиях |
||
224 = 16 777 216 |
Обработки и передачи изображений, не уступающих по качеству наблюдаемым в живой природе |
Двоичный код изображения, выводимого на экран, хранится в видеопамяти. Видеопамять - это электронное энергозависимое запоминающее устройство. Размер видеопамяти зависит от разрешающей способности дисплея и количества цветов. Но ее минимальный объем определяется так, чтобы поместился один кадр (одна страница) изображения, т.е. как результат произведения разрешающей способности на размер кода пикселя.
Vmin = M * N * a.
Двоичный код восьмицветной палитры.
Цвет Составляющие
Красный 1 0 0
Зеленый 0 1 0
Синий 0 0 1
Голубой 0 1 1
Пурпурный 1 0 1
Желтый 1 1 0
Белый 1 1 1
Черный 0 0 0
Шестнадцатицветная палитра позволяет увеличить количество используемых цветов. Здесь будет использоваться 4-разрядная кодировка пикселя: 3 бита основных цветов + 1 бит интенсивности. Последний управляет яркостью трех базовых цветов одновременно (интенсивностью трех электронных пучков). При раздельном управлении интенсивностью основных цветов количество получаемых цветов увеличивается. Так для получения палитры при глубине цвета в 24 бита на каждый цвет выделяется по 8 бит, то есть возможны 256 уровней интенсивности (К = 28).
Векторное изображение - это графический объект, состоящий из элементарных отрезков и дуг. Базовым элементом изоражения является линия. Как и любой объект, она обладает свойствами: формой (прямая, кривая), толщиной., цветом, начертанием (пунктирная, сплошная). Замкнутые линии имеют свойство заполнения (или другими объектами, или выбранным цветом). Все прочие объекты векторной графики составляются из линий. Так как линия описывается математически как единый объект, то и объем данных для отображения объекта средствами векторной графики значительно меньше, чем в растровой графике. Информация о векторном изображении кодируется как обычная буквенно-цифровая и обрабатывается специальными программами.
К программным средствам создания и обработки векторной графики относятся следующие ГР: CorelDraw, Adobe Illustrator, а также векторизаторы (трассировщики) - специализированные пакеты преобразования растровых изображений в векторные.
Фрактальная графика основывается на математических вычислениях, как и векторная. Но в отличии от векторной ее базовым элементом является сама математическая формула. Это приводит к тому, что в памяти компьютера не хранится никаких объектов и изображение строится только по уравнениям. При помощи этого способа можно строить простейшие регулярные структуры, а также сложные иллюстрации, которые иммитируют ландшафты.
Кодирование звуковой информации
Компьютер широко применяют в настоящее время в различных сферах. Не стала исключением и обработка звуковой информации, музыка. До 1983 года все записи музыки выходили на виниловых пластинках и компакт-кассетах. В настоящее время широкое распространение получили компакт-диски. Если имеется компьютер, на котором установлена студийная звуковая плата, с подключенными к ней MIDI-клавиатурой и микрофоном, то можно работать со специализированным музыкальным программным обеспечением. Условно его можно разбить на несколько видов: 1) всевозможные служебные программы и драйверы, предназначенные для работы с конкретными звуковыми платами и внешними устройствами; 2) аудиоредакторы, которые предназначены для работы со звуковыми файлами, позволяют производить с ними любые операции - от разбиения на части до обработки эффектами; 3) программные синтезаторы, которые появились сравнительно недавно и корректно работают только на мощных компьютерах. Они позволяют экспериментировать с созданием различных звуков; и другие.
К первой группе относятся все служебные программы операционной системы. Так, например, win 95 и 98 имеют свои собственные программы микшеры и утилиты для воспроизведения/записи звука, проигрывания компакт-дисков и стандартных MIDI - файлов. Установив звуковую плату можно при помощи этих программ проверить ее работоспособность. Например, программа Фонограф предназначена для работы с wave-файлами (файлы звукозаписи в формате Windows). Эти файлы имеют расширение.WAV. Эта программа предоставляет возможность воспроизводить, записывать и редактировать звукозапись приемами, аналогичными приемам работы с магнитофоном. Желательно для работы с Фонографом подключить микрофон к компьютеру. Если необходимо сделать звукозапись, то нужно определиться с качеством звука, так как именно от нее зависит продолжительность звукозаписи. Возможная продолжительность звучания тем меньше, чем выше качество записи. При среднем качестве записи можно удовлетворительно записывать речь, создавая файлы продолжительностью звучания до 60 секунд. Примерно 6 секунд будет продолжительность записи, имеющая качество музыкального компакт - диска.
Для того чтобы записать звук на какой-нибудь носитель его нужно преобразовать в электрический сигнал. Это делается с помощью микрофона. Самые простые микрофоны имеют мембрану, которая колеблется под воздействием звуковых волн. К мембране присоединена катушка, перемещающаяся синхронно с мембраной в магнитном поле. В катушке возникает переменный электрический ток. Изменения напряжения тока точно отражают звуковые волны. Переменный электрический ток, который появляется на выходе микрофона, называется аналоговым сигналом. Применительно к электрическому сигналу «аналоговый» обозначает, что этот сигнал непрерывен по времени и амплитуде. Он точно отражает форму звуковой волны, которая распространяется в воздухе.
Звуковую информацию можно представить в дискретной или аналоговой форме. Их отличие в том, что при дискретном представлении информации физическая величина изменяется скачкообразно («лесенкой»), принимая конечное множество значений. Если же информацию представить в аналоговой форме, то физическая величина может принимать бесконечное количество значений, непрерывно изменяющихся.
Кратко рассмотрим процессы преобразования звука из аналоговой формы в цифровую и наоборот. Примерное представление о том, что происходит в звуковой карте, может помочь избежать некоторых ошибок при работе со звуком. Звуковые волны при помощи микрофона превращаются в аналоговый переменный электрический сигнал. Он проходит через звуковой тракт и попадает в аналого-цифровой преобразователь (АЦП) - устройство, которое переводит сигнал в цифровую форму. В упрощенном виде принцип работы АЦП заключается в следующем: он измеряет через определенные промежутки времени амплитуду сигнала и передает дальше, уже по цифровому тракту, последовательность чисел, несущих информацию об изменениях амплитуды. Вывод цифрового звука происходит при помощи цифро-аналогового преобразователя (ЦАП), который на основании поступающих цифровых данных в соответствующие моменты времени генерирует электрический сигнал необходимой амплитуды.
Если в виде графика представить один и тот же звук высотой 1 кГц (нота до седьмой октавы фортепиано примерно соответствует этой частоте), но семплированный с разной частотой (нижняя часть синусоиды не показана на всех графиках), то будут видны различия. Одно деление на горизонтальной оси, которая показывает время, соответствует 10 семплам. Масштаб взят одинаковый см. приложения рисунок 1.13). Можно видеть, что на частоте 11 кГц примерно пять колебаний звуковой волны приходится на каждые 50 семплов, то есть один период синусоиды отображается всего при помощи 10 значений. Это довольно неточная передача. В то же время, если рассматривать частоту оцифровки 44 кГц, то на каждый период синусоиды приходится уже почти 50 семплов. Это позволяет получить сигнал хорошего качества.
Разрядность указывает с какой точностью происходят изменения амплитуды аналогового сигнала. Точность, с которой при оцифровке передается значение амплитуды сигнала в каждый из моментов времени, определяет качество сигнала после цифро-аналогового преобразования. Именно от разрядности зависит достоверность восстановления формы волны.
Для кодирования значения амплитуды используют принцип двоичного кодирования. Звуковой сигнал должен быть представленным в виде последовательности электрических импульсов (двоичных нулей и единиц). Обычно используют 8, 16-битное или 20-битное представление значений амплитуды. При двоичном кодировании непрерывного звукового сигнала его заменяют последовательностью дискретных уровней сигнала. От частоты дискретизации (количества измерений уровня сигнала в единицу времени) зависит качество кодирования. С увеличением частоты дискретизации увеличивается точность двоичного представления информации. При частоте 8 кГц (количество измерений в секунду 8000) качество семплированного звукового сигнала соответствует качеству радиотрансляции, а при частоте 48 кГц (количество измерений в секунду 48000) - качеству звучания аудио- CD.
Если использовать 8-битное кодирование, то можно достичь точность изменения амплитуды аналогового сигнала до 1/256 от динамического диапазона цифрового устройства (28 = 256).
Если использовать 16-битное кодирование для представления значений амплитуды звукового сигнала, то точность измерения возрастет в 256 раз.
В современных преобразователях принято использовать 20-битное кодирование сигнала, что позволяет получать высококачественную оцифровку звука.
Заключение
Код — это набор условных обозначений (или сигналов) для записи (или передачи) некоторых заранее определенных понятий.
Кодирование информации - это процесс формирования определенного представления информации. В более узком смысле под термином «кодирование» часто понимают переход от одной формы представления информации к другой, более удобной для хранения, передачи или обработки.
Обычно каждый образ при кодировании представлении отдельным знаком. Знак - это элемент конечного множества отличных друг от друга элементов. Знак вместе с его смыслом называют символом. Длиной кода называется такое количество знаков, которое используется при кодировании.
Код может быть постоянной и непостоянной длины. Для представления информации в памяти ЭВМ используется двоичный способ кодирования.
Элементарная ячейка памяти ЭВМ имеет длину 8 бит. Каждый байт имеет свой номер. Наибольшую последовательность бит, которую ЭВМ может обрабатывать как единое целое, называют машинным словом. Длина машинного слова зависит от разрядности процессора и может быть равной 16, 32 битам и т.д. Другой способ представления целых чисел — дополнительный код. Диапазон значений величин зависит от количества бит памяти, отведенных для их хранения. Дополнительный код положительного числа совпадает с его прямым кодом.
Список литературы
1.Информатика и информационные технологии. Под ред. Ю.Д. Романовой, 3-е издание, М.: ЭКСМО, 2008
2.Костров Б. В. Основы цифровой передачи и кодирования информации. - ТехБук, 2007 г., 192 стр.
3.Макарова Н. В. «Информатика»: Учебник. - М.: Финансы и статистика, 2005 г. - 768 с.
4.Степаненко О. С. Персональный компьютер. Самоучитель Диалектика. 2005, 28 стр.
Как удалить фон в фотошопе у сложных объектов
Как в фотошопе удалить черный или белый фон с картинки
Приводим в чистоту и порядок монитор в домашних условиях Как помыть экран монитора
Мониторы с поддержкой nvidia 3d vision
SLI: подключение видеокарт для совместной работы