Слайд 1Кодирование информации в компьютере
1. Понятие кодирования
2. Кодирование числовой информации
3. Представление
вещественных чисел
Учебные вопросы:
4. Кодирование текстовой информации
5. Кодирование графической информации
6.
Кодирование звука
7. Кодирование команд
8. Коды, исправляющие ошибки
Слайд 21. Понятие кодирования
Кодирование информации - это процесс представления определенного вида
информации на носителе, например числовой, текстовой, графической, аудио, видео средствами
используемого алфавита символов, а код – это набор условных обозначений для представления информации. В компьютере используются только два символа 0 и 1 для кодирования всех видов информации.
Слайд 32. Кодирование числовой информации
Для представления чисел в компьютере используются два
основных формата, один из которых применяется для кодирования целых чисел,
а другой - для действительных чисел и называется представлением чисел в формате с плавающей точкой.
Диапазон целых чисел в компьютере ограничен и зависит от разрядности памяти, используемой для их чисел. При этом разрядность обрабатываемых чисел может превышать разрядность самого процессора и используемой в нём памяти. В этом случае длинное число может занимать несколько ячеек памяти и обрабатываться группой команд процессора. При обработке все ячейки памяти, выделенные под многобайтное число, рассматриваются как одно число.
Слайд 4Целые числа. Различают два вида целых чисел: знаковые и беззнаковые.
В беззнаковых числах минимально возможное число, которое можно записать двоичным
кодом, равно 0, а максимальное число равняется 2n, где n – разрядность кода, например, для байта – это 255. Данные два числа определяют диапазон чисел, которые можно представить одним байтом. Для шестнадцатиразрядного кода этот диапазон соответствует 0 … 65535. В восьмиразрядном процессоре для хранения такого числа используется две ячейки памяти, расположенных в соседних адресах.
Второй вид двоичных чисел - это целые знаковые числа, в которых старший разряд используется для представления знака числа. В знаковом разряде нулем кодируется знак «+», а единицей - знак «-». В результате введения знакового разряда диапазон кодируемых чисел уменьшается. В случае двоичного восьмиразрядного знакового целого числа диапазон чисел, которые можно представить таким образом, соответствует: -128 .. +127, а для шестнадцатиразрядного числа этот диапазон будет: -32768 .. +32767. Для того, чтобы алгоритм обработки знаковых и беззнаковых чисел был единым математики предложили использовать специальный код, который получил название дополнительного двоичного кода. Для формирования дополнительного кода отрицательно числа необходимо инвертировать разряды кода кроме знакового и прибавить 1 к младшему разряду кода.
Слайд 53. Представление вещественных чисел
Система вещественных чисел в математических вычислениях
предполагается непрерывной и бесконечной, то есть не имеющей ограничений на
диапазон и точность представления чисел. Однако в компьютерах числа хранятся в регистрах и ячейках памяти с ограниченным количеством разрядов. Поэтому система вещественных чисел, представляемых в компьютере, является дискретной и конечной.
Для обработки в компьютерах очень больших чисел, например, определяющих расстояние между удаленными объектами или очень маленьких чисел, используемых для определения объектов микромира, например, размеры электронов, пришлось бы использовать числа с очень большой разрядностью. Это не возможно практически или очень сложно с точки зрения последующей обработки представить их в компьютере из-за его ограниченной разрядности. Ограничения касаются как диапазона, так и точности представления чисел, так как диапазон машинных чисел является конечным, образуя подмножество системы вещественных чисел. Для вычислений с такими числами использование чисел с фиксированной запятой является неэффективным, поэтому для их записи была предложена следующая форма. Как известно, десятичное число 23,56 можно представить как : 0,2356 * 102, а десятичное число 0,00038 записывается как: 0,38 * 10-3 . В данном представлении дробная часть числа называется мантиссой, которая умножается на 10 в степени, соответствующей порядку числа.
Слайд 6Такая форма записи называется записью числа с плавающей точкой. В
общем случае число X с основанием системы счисления q можно
записать в виде:
Х = m * q P,
где m – мантисса, представленная в виде правильной дроби (для двоичной системы счисления 0,5<=M <1), p – порядок ( целое число в двоичной системе счисления), а q - основание системы счисления. Такая форма получила название нормализованного вещественного числа и включает знак числа, мантиссу, знак порядка и порядок. Таким образом, значащие цифры числа находятся в поле мантиссы, а значение порядка показывает реальное расположение двоичной точки в разрядах мантиссы, ( поэтому и используется термин «плавающая точка»), а бит знака определяет знак числа.
Слайд 7В математическом процессоре персональных компьютеров для представления вещественных чисел
используются три стандартных формата данных:
одинарный формат- 32-разрядное нормализованное знаковое число,
с 8-битным смещенным порядком и 24-битной мантиссой (старший бит мантиссы, равный 1, не хранится в памяти, и поэтому разрядность поля для хранения мантиссы равняется только 23 разрядам).
двойной формат– это 64-битное нормализованное знаковое число, имеет 11-разрядный смещенный порядок и 53-битную мантиссу (аналогично старший бит мантиссы в явном виде не представлен, размер поля под мантиссу равен 52 разрядам).
расширенный формат - это 80-битное знаковое число, имеет 15-битный порядок со смещением и 64-битную мантиссу, он позволяет хранить ненормализованные числа.
Слайд 84. Кодирование текстовой информации
Символы для представления текста образуют алфавит, прописные
и строчные буквы которого следуют в алфавитном порядке, цифры также
располагаются упорядочено по возрастанию значений. Принцип кодирования алфавита состоит в том, что каждому символу алфавита сопоставляется определенное значение кода (целое число ), что позволяет кодировать также и текстовую информацию.
С помощью одного байта можно закодировать 256 различных символов. достаточных для представления текстовой информации, включая строчные и прописные буквы как русского, так и латинского алфавитов, а также знаки препинания, графические символы, скобки и т.п.
Для каждого символа клавиатуры определен десятичный код от 0 до 255, представленный в двоичной системе счисления от 00000000 до 11111111 соответственно. Таким образом, компьютер различает вводимые символы в соответствии их коду.
Кодирование информации посредством байтов определяется используемыми стандартами, в основе которых лежит код ASCII (American Standart Code for Information Interchange - американский стандартный код для обмена информацией). Данный код разработан в Американском Национальном Институте стандартов ANSI - American National Standarts Institute.
Слайд 9В системе кодирования ASCII используются две таблицы кодирования, называемые базовой
и расширенной. Базовая таблица кодирования использует коды от 0 до
127, а расширенная таблица использует коды от 128 до 255:
коды 0…31 используют фирмы – разработчики аппаратуры (ПК, принтеров для кодирования специальных символов), это управляющие коды;
коды 32…127 кодируют латиницу, цифры, арифметические операции и другие символы;
коды 128…255 используются каждой страной самостоятельно, и это приводит к множеству кодировок даже в одной стране.
С появлением графической среды Windows, фирма Microsoft разработала новую кодовую таблицу ANSI. В настоящее время существует много различных кодовых таблиц и по этой причине текст в одной системе кодирования, может некорректно представляться в другой системе. Наиболее распространенной системой кодирования является система MS Windows, сокращенно обозначаемый как CP1251 (Code Page - кодовая страница).
Слайд 10Универсальный код - Unicode
В 1991 году появился новый международный
стандарт Unicode (Юникод – универсальный код), который использует для кодирования
одного символа два байта и поэтому с его помощью можно закодировать 65536 различных символов.
Unicode включает существующие алфавиты стран мира, а также различные математические, химические и другие символы. Юнико́д является стандартом для кодирования символов и позволяет представить символы практически всех письменных языков. Стандарт предложен некоммерческой организацией «Консорциум Юникода» (Unicode Consortium), объединяющей крупнейшие IT-корпорации. Коды в стандарте Unicode разделены на несколько областей. Диапазон с кодами от 0 до 255 содержит символы набора ASCII – кодов.
Unicode использует 16бит для кодирования символов и общее количество символов, которые можно закодировать составляет 216 (65 536). Основные операционные системы поддерживают Unicode. Операционные системы Windows для кодирования имён файлов и других системных атрибутов используют кодировку двумя байтами. В настоящее время основные языкы программирования используют Unicode. Файлы, использующие Unicode, требуют больше памяти, однако с увеличением быстродействия компьютеров и сокращением стоимости оперативной памяти и жестких дисков указанная проблема не будет со временем являться важной. Например, кодировка Unicode используется в программных продуктах MS Word и MS Excel.
Слайд 115. Кодирование графической информации
Растровая графика
Растровые графические изображения представляют собой матрицу,
состоящую из точек, которые называются пикселами (pixel - picture
element). Каждый пикселю имеет уникальный код, определяющий цвет пикселя. Графическое изображении хранится в видеопамяти компьютера.
Для кодирования монохромного изображения достаточно 1 бита ( значение 1 – белый цвет, а 0 – черный).
Для цветного дисплея пиксель должен представляться различными цветами и поэтому для кодирования, например 4-цветного изображения необходимо два бита на пиксель, например может использоваться следующее кодирование четырех цветов: 00 – черный, 01 – красный, 10 – зеленый, 11 – коричневый
При растровом кодировании, координаты каждой точки изображения и её параметры (яркость- от белой до чёрной) можно представить 8 – разрядным кодом, то есть 256 комбинациями (чёрно – белое изображение).
Слайд 14Как видно из таблицы, чтобы выполнить кодирования 8-цветного изображения необходимо
иметь три бита в памяти для одного пикселя.
Для представления
палитры из четырех цветов необходимо использовать для кодирования одного пикселя 4 бит:. четвертый бит управляет яркостью трех цветов одновременно. Качество изображения определяет разрешающая способность монитора, определяемое количеством точек, из которых оно создается. Чем больше число строк растра и точек в каждой строке, тем будет более высокое качество изображение.
Слайд 16Векторное изображение является многослойным по сравнению с растровой графикой. Каждый
элементарный объект векторного изображения ( линия, окружность, прямоугольник и т.п. ) располагается
в собственном слое, пикселы которого устанавливаются независимо от других слоев. Каждый элементарный объект векторного изображения описывается специальным языком (математических уравнения линий, кривых, окружностей и т. п.). Более сложные объекты, такие как : различные геометрические фигуры, ломаные линии) представляются в виде множества элементарных графических объектов.
Объекты в векторной графике по сравнению с растровой графики при изменении своих размеров не теряют качества, тогда как увеличение изображения в растровой графике приводит к повышению зернистости.
Слайд 17Фрактальная графика
Основана также на математических уравнениях, базовым фрагментом этой графики
является само математическое уравнение, а не хранение электронного объекта в
памяти и желаемое изображение строится по уравнениям формата графической информации. Фрактальная графика берет начало с так называемых геометрических фракталов, которые являются наиболее наглядными, так как они обладают свойством самоподобия. Двухмерные фракталы можно сформировать, путем определения некоторой ломаной фигуры, которую называют генератором. В течение одного шага алгоритма каждый из отрезков, образующих ломаную фигуру, заменяется ломаной-генератором в определенном масштабе. В итоге многократного повторения данной процедуры формируется фрактальная кривая. При кажущейся сложности сформированной кривой, общий вид ее определяется только формой генератора. Одним из примеров подобных фигур приведен на рис.
Объект фрактальной графики
Слайд 18Трёхмерная графика
Трёхмерная графика оперирует с объектами в трёхмерном пространстве. Обычно
результаты представляют собой плоскую картинку, проекцию. Трёхмерная компьютерная графика широко
используется в кино, компьютерных играх. В трёхмерной компьютерной графике все объекты представляются как набор поверхностей или частиц. Минимальную поверхность называют полигоном. В качестве полигона обычно выбирают треугольники. Всеми визуальными преобразованиями в 3 D-графике управляют три вида матрицы: поворота, сдвига и масштабирования. Любой полигон можно представить в виде набора из координат его вершин. Так, у треугольника будет 3 вершины.
Координаты каждой вершины представляют собой вектор (x, y, z). Умножив вектор на соответствующую матрицу, мы получим новый вектор. Сделав такое преобразование со всеми вершинами полигона, получим новый полигон, а преобразовав все полигоны, получим новый объект, повёрнутый/сдвинутый/промасштабированный относительно исходного. Трёхмерная графика нашла широкое применение в таких областях, как научные расчеты, инженерное проектирование, компьютерное моделирование физических объектов.
Слайд 19При трехмерном моделировании подвижного изображения реального физического тела,
Используют метод инверсной
кинематики движения. Он хорошо работает при моделировании механических устройств. В
случае с имитацией живых объектов используют скелетные модели: создаётся некий каркас, подвижный в точках, характерных для моделируемого объекта. Затем на каркас накладывается оболочка, состоящая из смоделированных поверхностей, для которых каркас является набором контрольных точек - создается каркасная модель. Каркасная модель визуализуется наложением поверхностных текстур с учетом условий освещения. В ходе перемещения объекта получается правдоподобная имитация движений живых существ.
Процесс расчёта реалистичных изображений называют рендерингом (визуализацией). Большинство современных программ рендеринга основаны на методе обратной трассировки лучей. Применение сложных математических моделей позволяет имитировать такие физические эффекты, как взрывы, дождь, огонь, дым, туман.
Особую область трёхмерного моделирования в режиме реального времени составляют тренажеры технических средств – автомобилей, судов, летательных и космических аппаратов. В них необходимо очень точно реализовывать технические параметры объектов и свойства окружающей физической среды. В более простых вариантах, например, при обучении вождению наземных транспортных средств, тренажеры реализуют на персональных компьютерах.
Слайд 20Основные типы графических форматов
Все множество форматов, используемых для записи изображений,
можно условно разделить на категории:
хранящие изображение в растровом виде (BMP,
TIFF, PCX, PSD, JPEG, JPEG2000, PNG, GIF);
хранящие изображение в векторном виде (WMF);
универсальные, совмещающие векторное и растровое представления (EPS, PICT, CDR, AI, FH9, FLA и т. п.);
специализированные, позиционируемые под именем RAW — «сырой». Эти форматы широко используются для сохранения изображений в профессиональных и полупрофессиональных камерах, фактически представляя «цифровой негатив» изображения.
Основные критерии выбора формата - это совместимость программ и компактность записи.
Слайд 21Растровые форматы
Считывание информации из файла растрового изображения сводится к выполнению
ряда последовательных процедур, в ходе которых определяется следующее:
1. Размер
изображения в виде произведения числа пикселов по горизонтали на
число пикселов по вертикали.
2. Размер пиксела (иными словами, пространственная разрешающая способность изображения).
3. Битовая глубина, характеризующая информационную емкость пиксела в битах или цветовую разрешающую способность изображения (палитру или количество цветов).
Рис. 1. Растровое изображение (растр) напоминает сетку или таблицу пикселов, которая в простейшем черно-белом варианте состоит из двух типов клеточек: белые или черные, которые могут быть закодированы соответственно нулем или единицей
Слайд 22Для кодирования графических изображений используется более 30 форматов файлов, но
наиболее популярными являются следующие:
TIF (Tagged Image File) – файл с
данным расширением используется для хранения растровых изображений высокого качества;
PSD (Photo Shop Document) – формат программы Adobe Photoshop, один из наиболее эффективных по возможности хранения графической информации распространенного вида;
BMP ( Bit Map ) – формат хранения растровой информации в ОС Windows и поддерживается всеми программами этой среды;
GIF (Graphics Interchange Format) – получил распространение в Internet из-за высокой степени сжатия;
WMF (Windows Meta File) – формат хранения векторных изображений в ОС Windows;
PDF (Portable Document Format) – разработан фирмой Adobe, для хранения документа целиком с эффективным кодированием изображений;
JPG (Joint Photographic Experts Group) - объединённая группа экспертов в области фотографии. Данный формат является распространенным способом сжатия фотоизображений.
Слайд 23Формат TIFF
Формат TIFF (tagged image file format, TIF) является одним
из самых распространенных среди известных в настоящее время. Ему доступен
весь диапазон цветовых моделей — от монохромной до RGB и CMYK. Он был разработан совместно фирмами Aldus Corporation и Microsoft как универсальный открытый формат, допускающий модификации. Поэтому файл TIF-формата, созданный на IBM PC или совместимом компьютере, поддерживается операционной системой Macintosh и большинством Unix-подобных платформ. Он также поддерживается практически всеми основными пакетами растровой и векторной графики, программами редактирования и верстки текста. В отличие от рассмотренных форматов BMP и PCX, формат TIFF поддерживает ряд дополнительных функций.
Слайд 244. Алгоритмы сжатия размеров растровых файлов
Таблица 1. Размеры файлов различных
растровых форматов
Как видно из табл., файл изображения в формате JPG
имеет минимальный размер, а PCX - максимальный (с разницей почти в 12 раз). Такое различие связано с тем, что в формате JPG используется технология сжатия (компрессии) хранящейся в графическом файле информации.
Слайд 25JPEG
Название данного формата — аббревиатура от Joint Photographic Expert Group,
инициативной группы, образованной из экспертов ITU (International Telecommunication Union) и
ISO (International Organization for Standartization). Именно поэтому в ее названии присутствует приставка Joint. В 1992 г. JPEG был объявлен международным стандартом в области графических изображений.
В JPEG реализован алгоритм сжатия с потерями. Это означает, что в процессе сжатия изображения происходит частичная потеря хранящейся в файле информации. При этом всегда есть выбор: отдать предпочтение качеству в ущерб объему (размер файла сожмется приблизительно в три раза) или же наоборот, добиться минимального размера изображения, при котором оно еще останется узнаваемым (степень компрессии может достигать 100). Сжатие, при котором различие в качестве между получающимся изображением и оригиналом еще остается незаметным, дает 10–20-кратное сокращение размера файла.
JPEG не формат, а алгоритм сжатия, в основе которого лежит не поиск одинаковых элементов, как в случае, а поиск разницы между цветовым тоном пикселов
Слайд 26 Универсальные и векторные графические форматы
Векторы представляют собой математическое описание
объектов относительно точки начала координат. Для рисования дуги кроме координат
двух точек необходимо задать еще и радиус и т. д. Таким образом, векторная иллюстрация - это набор геометрических примитивов. Большинство векторных форматов могут также содержать внедренные в файл растровые объекты или ссылку на растровый файл (технология OPI). OPI (Open Prepress Interface) - технология , разработанная фирмой Aldus для сокращения размеров файлов. В ее основе лежит импорт не оригинального файла растрового изображения, а его образа, представляющего собой копию низкого разрешения (эскиз) и ссылку на оригинал. В процессе печати на принтере эскизы заменяются на оригинальные файлы. Применение OPI вместо простого внедрения (embedding) позволяет экономить ресурсы компьютера (прежде всего память), заметно повышая его производительность. Технология OPI составляет основу работы с импортированными графическими файлами в таких программах, как FreeHand и QuarkXPress. Кроме того, она широко применяется и в других продуктах. В отличие от растровых форматов, построенных практически по одному принципу, векторные форматы используют для кодирования графической информации различные алгоритмы и разный математический аппарат. Поэтому процесс стандартизации пока еще слабо коснулся векторных форматов, в отличие от растровых.
Слайд 276. Кодирование звука
Персональный компьютер, который содержит звуковую плату, динамики,
микрофон может выполнять запись и воспроизведение аудио информации. Непрерывный аудио
сигнал, преобразованный в последовательность электрических сигналов, может быть представлен двоичным кодом посредством соответствующих программ. Файл, который хранит аудио информацию в двоичном коде, называют аудио файлом.
Звуковой сигнал можно представить в виде множества звуковых волн, которые человеческое ухо способно различать примерно в диапазоне от 20 Гц до 20 КГц. При преобразовании звука в электрический сигнал, например с помощью микрофона, можно наблюдать непрерывно изменяющееся во времени напряжение и для компьютерной обработки такой аналоговый сигнал нужно преобразовать в цифровой код. Для этого следует измерять напряжение через равные промежутки времени и записывать полученные значения в память компьютера. Этот процесс называется аналого-цифровым преобразованием или оцифровкой, а устройство, которое выполняет такое преобразование называется аналого-цифровым преобразователем (АЦП).
Слайд 28Для воспроизведения закодированного подобным образом звука, необходимо выполнить обратное преобразование
с помощью цифро-аналогового преобразователя (ЦАП), а затем необходимо сгладить сформированный
ступенчатый сигнал. Таким образом, процесс преобразования звуковых волн в двоичный код в памяти компьютера имеет следующий вид:
звуковая волна > микрофон > аналоговый электрический сигнал >
аудиоадаптер > двоичный код > память компьютера.
Воспроизведение звуковой информации, которая хранится в памяти компьютера, имеет следующую последовательность:
память компьютера > двоичный код > аудиоадаптер > аналоговый электрический сигнал > динамик > звуковая волна.
Аудиоадаптер (звуковая плата) – это специальное устройство, подключаемое к компьютеру и выполняющее преобразование электрических сигналов звуковой частоты в цифровой двоичный код при вводе аудиоинформации и для обратного преобразования из цифрового кода в электрические сигналы при воспроизведении звука.
Слайд 29Рассмотренный метод кодирования аудио информации является достаточно универсальным. При преобразовании
звука в цифровую форму производится дискретизация по времени и по
уровню, при которой в определенные моменты времени амплитуда звуковой волны измеряется и квантуется, то есть ей присваивается определенное значение из некоторого фиксированного набора. Данный метод называется импульсно-кодовой модуляцией PCM (Pulse Code Modulation). Например, 16-битные звуковые карты обеспечивают возможность кодирования 65536 различных уровней громкости или 16-битную глубину кодирования звука. Качество кодирования звука зависит и от частоты дискретизации - количества измерений уровня сигнала в единицу времени.
Сэмплы и сэмплирование . Под сэмплированием понимается запись в таблицу образцов звучания (сэмплов) реального музыкального инструмента. Сэмплирование является основой волнового синтеза WT(Wave Table – таблично-волновое) аудио информации. Как известно, если при использовании метода частотном синтезе (FM-синтезе) различные виды звуков формируют путем обработки простейших звуковых колебаний, то в основе WT-синтеза лежит использование предварительно записанных в табличную память компьютера различных звуков музыкальных инструментов или, а также разнообразные любые другие звуки, которые встречаются в природе. Над сэмплами можно выполнять различные виды обработки.
Слайд 307. Кодирование команд
Наряду с данными в оперативной памяти компьютера хранятся
программы решаемых задач, команды которых кодируются последовательностью из нулей и
единиц. Команды компьютера принято называть машинными командами, которые содержат следующую информацию:
код выполняемой операции;
адреса исходных чисел (операндов);
адрес результата операции.
Для каждого процессора машинная команда имеет стандартный формат, фиксированную разрядность и состоит из кода операции и адресной части. Ниже представлен пример формата гипотетической трехадресной команды компьютера:
Слайд 318. Коды, исправляющие ошибки
Информация компьютера должна быть надежно защищена
от различного рода сбоев, помех, несанкционированного доступа и т.п. Центральные
процессоры и устройства оперативной памяти не имеют механических частей и довольно надежны в эксплуатации, в то время как в устройствах ввода-вывода, магнитных дисках обычно используются подвижные механические элементы, поэтому эти устройства наименее надежны. Причиной возникновения ошибок в них может явиться, например, пыль на считывающих головках накопителя на магнитных лентах или дисках. Данные, передаваемые по телефонной линии, могут быть также приняты с ошибками из-за наличия в ней помех. Ошибки могут появляться из-за колебаний напряжения в силовой электрической сети. Короче говоря, при передаче информации в компьютере могут появиться ошибки.
Исправление ошибок заключается в восстановлении некорректно принятой в компьютер по каналу связи информации. Для обнаружения ошибок используют коды обнаружения ошибок, для исправления - корректирующие коды (коды, исправляющие ошибки, коды с коррекцией ошибок, помехоустойчивые коды).
Слайд 32Помехоустойчивое кодирование связано с введением в кодовые комбинации двоичных кодов
избыточной информации, необходимой для обнаружения и исправления ошибок. Рассмотрим кратко
коды, позволяющие обнаруживать ошибки, а в некоторых случаях и исправлять их. Очень простым, но широко используемым методом обнаружения одиночных ошибок, то есть изменения значения одного бита с 0 на 1 или с 1 на 0, является добавление к каждому коду бита контроля кода на четность или нечетность. При четном коде число единиц в битах символа, включая бит четности, должно быть четным, а при нечетном коде бит четности выбирается так, чтобы число единиц в битах символа было нечетным. Если во время передачи символа ошибочно изменится значение одного бита, то число единиц в полученном символе будет иметь неправильную четность и получатель, таким образом, узнает, что произошла ошибка. Один из методов, обеспечивающих не только обнаружение ошибки, но и ее исправление, предложил в 1950 году американский ученый Р. Хэмминг, а данный код получил название кода Хэмминга. В коде Хэмминга к N-битовому коду символа добавляют К бит четности, получая таким образом новый символ длиной (К+N) бит.