Лекция № 3 Кодирование и представление информации
Вопросы лекции: 1. Кодирование двоичным кодом 2. Кодирование символов 3. Универсальная система кодирования текстовых данных 4. Кодирование графической информации 5. Кодирование звуковой информации
Кодирование двоичным кодом Информация характеризуется содержанием (значением) и формой его представления. Она может быть представлена в аналоговой (непрерывной) или дискретной форме. При аналоговом представлении информации физическая величина, используемая в качестве ее носителя, изменяется непрерывно (электрическое напряжение или ток). При дискретном (цифровом) представлении информации физическая величина, используемая в качестве ее носителя, принимает конечное множество значений. Под кодированием понимается использование различных способов представления дискретной информации, специально приспособленных для конкретных ситуаций, связанных с ее передачей, хранением и переработкой. Другими словами, кодирование – это установление взаимнооднозначного соответствия между элементами данных и совокупностями символов в некотором алфавите, называемых кодами (кодовыми комбинациями, словами кода).
Кодирование двоичным кодом Решать задачу кодирования информации человечество начало задолго до появления компьютеров. Письменность и арифметика есть не что иное, как системы кодирования речи и числовой информации. Постепенно люди пришли к выводу, что числа – это удобная форма представления самой различной информации. Так повелось с самых ранних стадий развития человеческой цивилизации. Но чтобы использовать числа, нужно их как-то называть и записывать, нужна система нумерации, или система счисления. Изобретение компьютера привело к необходимости кодировать (представлять в формальном, стандартизованном виде) все типы информации. В ЭВМ стандартом представления информации является ее двоичное кодирование, то есть представление чисел, текстов, звука, изображения в виде цепочек нулей и единиц определенной длины. Следствием такой универсальности представления данных является невозможность определения того, какая именно информация (число, символ, команды и т. п. ) хранится в ячейке памяти.
Кодирование двоичным кодом Информация любого типа: символьная, графическая, звуковая, командная для представления на электронных носителях кодируется на основании алфавита, состоящего только из двух символов (0, 1). Информация представленная в аналоговом виде, для того, чтобы быть сохраненной в электронной памяти, оцифровывается и приводится к двоичному коду. Каждая ячейка электронной памяти обладает информационной ёмкостью 1 бит. Физически, в зависимости от способа регистрации информации, это может быть конденсатор, находящийся в одном из двух состояний: разряжен (0), заряжен (1); элемент магнитного носителя: размагничен (0), намагничен (1); элемент поверхности оптического диска: нет лунки (0), есть лунка (1). Одним из первых носителей информации, представленной в двоичном коде, была бумажная перфокарта, пробитое отверстие на которой означало 1, а цельная поверхность 0.
Примеры различных систем кодирования
Кодирование символов На основании одной ячейки информационной ёмкостью 1 бит можно закодировать только 2 различных состояния. Для того чтобы каждый символ, который можно ввести с клавиатуры в латинском регистре, получил свой уникальный двоичный код, требуется 7 бит. На основании последовательности из 7 бит, в соответствии с формулой Хартли, может быть получено N=27=128 различных комбинаций из нулей и единиц, т. е. двоичных кодов. Поставив в соответствие каждому символу его двоичный код, мы получим кодировочную таблицу. Человек оперирует символами, компьютер – их двоичными кодами. Для латинской раскладки клавиатуры такая кодировочная таблица одна на весь мир, поэтому текст, набранный с использованием латинской раскладки, будет адекватно отображен на любом компьютере. Эта таблица носит название ASCII (American Standard Code of Information Interchange) по-английски произносится [э ски], по-русски произносится [а ски]. Когда вы вводите с клавиатуры, скажем, символ “*”, компьютер его воспринимает как код 42(10), в свою очередь 42(10)=101010(2) – это и есть двоичный код символа “*”. Коды с 0 по 31 в этой таблице не задействованы.
Базовая таблица кодировки ASCII код символ код символ 32 Пробел 48 . 64 @ 80 P 96 ' 112 p 33 ! 49 0 65 A 81 Q 97 a 113 q 34 " 50 1 66 B 82 R 98 b 114 r 35 # 51 2 67 C 83 S 99 c 115 s 36 $ 52 3 68 D 84 T 100 d 116 t 37 % 53 4 69 E 85 U 101 e 117 u 38 & 54 5 70 F 86 V 102 f 118 v 39 ' 55 6 71 G 87 W 103 g 119 w 40 ( 56 7 72 H 88 X 104 h 120 x 41 ) 57 8 73 I 89 Y 105 i 121 y 42 * 58 9 74 J 90 Z 106 j 122 z 43 + 59 : 75 K 91 [ 107 k 123 { 44 , 60 ; 76 L 92 108 l 124 | 45 - 61 < 77 M 93 ] 109 m 125 } 46 . 62 > 78 N 94 ^ 110 n 126 ~ 47 / 63 ? 79 O 95 _ 111 o 127 DEL
Кодирование символов Чтобы хранить также и коды национальных символов каждой страны (в нашем случае – символов кириллицы), требуется добавить еще 1 бит, что увеличит количество уникальных комбинаций из нулей и единиц вдвое, т. е. в нашем распоряжении дополнительно появится 128 свободных кодов (со 128 -го по 255 -й), в соответствие которым можно поставить символы русского алфавита. Таким образом, отведя под хранение информации о коде каждого символа 8 бит, мы получим N=28=256 уникальных двоичных кодов, что достаточно, чтобы закодировать все символы, которые можно ввести с клавиатуры. На сегодняшний день в использовании не одна, а несколько кодировочных таблиц, включающих коды кириллицы, – это стандарты, выработанные в разные годы и различными учреждениями. В этих таблицах различен порядок, в котором расположены друг за другом символы кирилличного алфавита, поэтому одному и тому же коду соответствуют разные символы. По этой причине, мы иногда сталкиваемся с текстами, которые состоят из русских букв, но в бессмысленной для нас последовательности.
Кодировка Windows 1251
Кодировка КОИ-8
Кодировка ISO
ГОСТ-альтернативая кодировка
Универсальная система кодирования текстовых данных Система, основанная на 16 -разрядном кодировании символов, получила название универсальной — UNICODE. Шестнадцать разрядов позволяют обеспечить уникальные коды для 65 536 различных символов — этого поля достаточно для размещения в одной таблице символов большинства языков планеты. Несмотря на тривиальную очевидность такого подхода, простой механический переход на данную систему долгое время сдерживался из-за недостаточных ресурсов средств вычислительной техники (в системе кодирования UNICODE все текстовые документы автоматически становятся вдвое длиннее).
Кодирование графической информации Графическая информация, как и информация любого другого типа, хранятся в памяти компьютера в виде двоичных кодов. Изображение, состоящее из отдельных точек, каждая из которых имеет свой цвет, называется растровым изображением. Минимальный элемент такого изображения в полиграфии называется растр, а при отображении графики на мониторе минимальный элемент изображения называют пиксель (pix). растр пиксель
Кодирование графической информации Если пиксель изображения может быть раскрашен только в один из 2 х цветов, допустим, либо в черный (0), либо в белый (1), то для хранения информации о цвете пикселя достаточно 1 бита памяти (log 2(2)=1 бит). Соответственно, объем, занимаемый в памяти компьютера всем изображением, будет равен числу пикселей в этом изображении. Если под хранение информации о цвете пикселя выделить 2 бита, то число цветов, допустимых для раски каждого пикселя, увеличится до 4 х (N=22=4), а объем файла изображения в битах будет вдвое больше, чем количество составляющих его пикселей. а) 1 бит на пиксель – 2 цвета б) 2 бита на пиксель – 4 цвета
Кодирование графической информации При печати на не цветном принтере обычно допускается 256 градаций серого цвета (от черного (0) до белого (255)) для раски каждой точки изображения. Под хранение информации о цвете точки в этом случае отводится 1 байт, т. е. 8 бит (log 2(256)=8 бит). Поскольку линейные координаты и индивидуальные свойства каждой точки (яркость) можно выразить с помощью целых чисел, то растровое кодирование позволяет использовать двоичный код для представления графических данных. Общепринятым на сегодняшний день считается представление черно-белых иллюстраций в виде комбинации точек с 256 градациями серого цвета, и для кодирования яркости любой точки обычно достаточно восьмиразрядного двоичного числа.
Кодирование графической информации Кодирование цветных графических изображений Все объекты окружающего мира можно разделить на: излучающие (светящиеся: солнце, лампа, монитор), отражающие излучение (бумага) и пропускающие (стекло). Для кодирования цветных графических изображений применяется принцип декомпозиции произвольного цвета на основные составляющие. В зависимости от того, является объект излучающим или отражающим для представления описания его цвета в виде числового кода используются две обратные другу цветовые модели: RGB или CMYK. Модель RGB используется в телевизорах, мониторах, проекторах, сканерах, цифровых фотоаппаратах… Эта модель является аддитивной (суммарной), что означает, что цвета в этой модели добавляются к черному (blac. K) цвету. Основные цвета в этой модели: красный (Red), зеленый (Green), синий (Blue). Их парное сочетание в равных долях дает дополнительные цвета: желтый (Yellow), голубой (Cyan) и пурпурный (Magenta). R+G=Y; G+B=C; B+R=M. Сумма всех трех основных цветов в равных долях дает белый (White) цвет: R+G+B=W.
Кодирование графической информации Цветовая модель CMYK используется в полиграфии при формировании изображений, предназначенных для печати на бумаге. Основными цветами в ней являются те, которые являются дополнительными в модели RGB, т. к. они получаются вычитанием цветов RGB из белого цвета. Поэтому модель CMYK называется субтрактивной. C=W-R; M=W-G; Y=W-B. В свою очередь парное сочетание в равных долях цветов модели CMY дает цвета модели RGB. Известно, что если смешать на бумаге желтую и голубую краску, получится зеленый цвет. На языке цветовых моделей, это описывается выражением: Y+C=G, кроме того, C+M=B и M+Y=R. В теории, сумма C+M+Y=K, т. е. дает черный (blac. K) цвет, но поскольку реальные типографские краски имеют примеси, их цвет не совпадает в точности с теоретически рассчитанным голубым, желтым и пурпурным. Особенно трудно получить из этих красок черный цвет. Поэтому в модели CMYK к триаде CMY добавляют черный цвет K. От слова blac. K для обозначения черного цвета взята последняя буква, и т. к. буква B уже используется в модели RGB для обозначения синего цвета.
Кодирование графической информации На практике, для сохранения информации о цвете каждой точки цветного изображения в модели RGB обычно отводится 3 байта (т. е. 24 бита) - по 1 байту (т. е. по 8 бит) под значение цвета каждой составляющей. Таким образом, каждая RGB-составляющая может принимать значение в диапазоне от 0 до 255 (всего 28=256 значений), а каждая точка изображения, при такой системе кодирования может быть окрашена в один из 224=16 777 216 цветов. Такой набор цветов принято называть True Color (правдивые цвета), потому что человеческий глаз все равно не в состоянии различить большего разнообразия. Изменяющиеся в диапазоне от 0 до 255 координаты RGB образуют цветовой куб. Любой цвет расположен внутри этого куба и описывается своим набором координат, показывающем в каких долях смешаны в нем красная, зеленая и синяя составляющие.
Кодирование звуковой информации На слух человек воспринимает упругие волны, имеющие частоту где-то в пределах от 16 Гц до 20 к. Гц (1 Гц - 1 колебание в секунду). В соответствии с этим упругие волны в любой среде, частоты которых лежат в указанных пределах, называют звуковыми волнами или просто звуком. В учении о звуке важны такие понятия как тон и тембр звука. Всякий реальный звук, будь то игра музыкальных инструментов или голос человека, - это своеобразная смесь многих гармонических колебаний с определенным набором частот. Колебание, которое имеет наиболее низкую частоту, называют основным тоном, другие — обертонами. Тембр — разное количество обертонов, присущих тому или иному звуку, которое придает ему особую окраску. Именно по тембру мы легко можем отличить звуки рояля и скрипки, гитары и флейты, узнать голос знакомого человека. Музыкальный звук можно характеризовать тремя качествами: • тембром, т. е. окраской звука, которая зависит от формы колебаний; • высотой, определяющейся числом колебаний в секунду (частотой); • громкостью, зависящей от интенсивности (амплитуды) колебаний.
Кодирование звуковой информации Громкость звука зависти от давления, возникающего при прохождении звуковой волны в жидкой и газообразной среде, которое непосредственно воспринимается ухом. Громкие звуки создают большое давление, тихие - малое. Давление измеряется в Паскалях, однако в акустике звуковое давление обычно измеряется в децибелах (д. Б) относительно порога слышимости. По определению, величина порога принята равной pt = 0, 00002 Па = 20 мк. Па. Порог слышимости принимается за 0 д. Б, а громкость вычисляется как l=20*log 10(p/pt), где l [д. Б] — громкость (в смысле звукового давления), p [Па]- звуковое давление, pt [Па] — порог слышимости. При этом: все слышимые звуки имеют положительную величину громкости; неслышимые (ниже порога громкости) - отрицательную; изменение громкости на 6 д. Б соответствует двукратному изменению давления; изменение на 20 д. Б - изменению давления в 10 раз. В настоящее время существует два основных способах записи звука: аналоговый и цифровой. Для того чтобы записать звук на какой-нибудь носитель его нужно преобразовать в электрический сигнал.
Кодирование звуковой информации Метод FM (Frequency Modulation) основан на том, что теоретически любой сложный звук можно разложить на последовательность простейших гармонических сигналов разных частот, каждый из которых представляет собой правильную синусоиду, а, следовательно, может быть описан числовыми параметрами, то есть кодом. В природе звуковые сигналы имеют непрерывный спектр, то есть являются аналоговыми. Их разложение в гармонические ряды и представление в виде дискретных цифровых сигналов выполняют специальные устройства — аналогово-цифровые преобразователи (АЦП). Обратное преобразование для воспроизведения звука, закодированного числовым кодом, выполняют цифро-аналоговые преобразователи (ЦАП). При таких преобразованиях неизбежны потери информации, связанные с методом кодирования, поэтому качество звукозаписи обычно получается не вполне удовлетворительным и соответствует качеству звучания простейших электромузыкальных инструментов с окрасом, характерным для электронной музыки.
Кодирование звуковой информации Метод таблично-волнового (Wave-Table) синтеза лучше соответствует современному уровню развития техники. Если говорить упрощенно, то можно сказать, что где-то в заранее подготовленных таблицах хранятся образцы звуков для множества различных музыкальных инструментов (хотя не только для них). В технике такие образцы называют сэмплами. Числовые коды выражают тип инструмента, номер его модели, высоту тона, продолжительность и интенсивность звука, динамику его изменения, некоторые параметры среды, в которой происходит звучание, а также прочие параметры, характеризующие особенности звука. Поскольку в качестве образцов используются «реальные» звуки, то качество звука, полученного в результате синтеза, получается очень высоким и приближается к качеству звучания реальных музыкальных инструментов. Сам процесс преобразования называют семплированием.