Главная страница
Навигация по странице:

  • Кодирование текстовых данных.

  • Кодирование графических данных.

  • Кодирование звуковой информации. В настоящее время можно выделить два основных направления кодирования звуковой информации. Метод частотной модуляции FM

  • частота дискретизации и разрешение

  • Метод таблично-волнового синтеза

  • Тема 3. Кодирование данных в ЭВМ. Вопрос Кодирование данных в эвм


    Скачать 0.63 Mb.
    НазваниеВопрос Кодирование данных в эвм
    Дата12.10.2020
    Размер0.63 Mb.
    Формат файлаpdf
    Имя файлаТема 3. Кодирование данных в ЭВМ.pdf
    ТипДокументы
    #142437

    Вопрос 3. Кодирование данных в ЭВМ
    Для преобразования числовой, текстовой, графической, звуковой информации в цифровую необходимо применить кодирование.
    Кодирование – это преобразование данных одного типа через данные другого типа.
    Проблема универсального средства кодирования достаточно успешно реализуется в отдельных отраслях техники, науки и культуры. В качестве примеров можно привести систему записи математических выражений, телеграфную азбуку, морскую флажковую азбуку, систему Брайля для слепых и многое другое (рисунок 1.).
    Рисунок 1 – Примеры различных систем кодирования
    Своя система существует и в вычислительной технике – она называется
    двоичным
    кодированием
    и основана на представлении данных последовательностью всего двух знаков: 0 и 1. Эти знаки называются
    двоичными цифрами, по-английски – binary digit или, сокращенно, bit (бит).
    Одним битом могут быть выражены два понятия: 0 или 1 (да или нет,
    черное или белое, истина или ложь и т. п.). Если количество битов увеличить до двух, то уже можно выразить четыре различных понятия:
    00 01 10 11
    Тремя битами можно закодировать восемь различных значений:
    000 001 010 011 100 101 110 111
    Увеличивая на единицу количество разрядов в системе двоичного кодирования, мы увеличиваем в два раза количество значений, которое может быть выражено в данной системе, то есть о бщая формула для двоичной системы счисления (формула Р. Хартли) имеет вид: N=2
    m
    , где
    N – количество различных кодируемых значений;
    m – количество бит, используемых для кодирования.

    Формы представления чисел
    В ЭВМ применяются две основные формы представления чисел: натуральная с фиксированным положением запятой и полулогарифмическая с
    плавающей запятой.
    При представлении чисел с фиксированной запятой положение запятой закрепляется в определенном месте относительно разрядов числа и сохраняется неизменным для всех чисел, которые изображаются в данной разрядной сетке.
    Обычно запятая фиксируется перед первым (старшим) разрядом и в разрядной сетке могут быть представлены только числа, которые по модулю меньше 1.
    Для кодирования знака двоичного числа используется старший («знаковый») разряд («0» – «+», «1» – «–»).
    Недостатками представления чисел с фиксированной запятой являются:
    · необходимость предшествующего расчета и введения масштабных коэффициентов для исключения возможности переполнения разрядной сетки
    (т.е. когда число по модулю превышает единицу), а также потери младших разрядов (т.е. когда число по модулю меньше единицы младшего разряда);
    · зависимость относительной точности от значения поступающих чисел.
    Максимальная относительная точность достигается при выполнении действий над максимально возможными числами.
    Преимуществом является простота и высокое быстродействие выполнения операций.
    Использование представления чисел с фиксированной запятой позволяет упростить схемы машины, повысить ее быстродействие, но представляет определенные трудности для программирования. Поэтому представление чисел с фиксированной запятой используется как основное только в микроконтроллерах.
    В универсальных ЭВМ основным является представление чисел с плавающей запятой. Представление числа с плавающей запятой в общем случае имеет вид:
    A = m·q
    n
    , где q – основание СС; n – целое число, называемое порядком числа A;
    m – мантисса числа A (|m| < 1).
    Поскольку в ЭВМ применяется двоичная СС, то A = m·2
    n
    , причем порядок и мантисса представлены в двоичной форме.
    Если в записи числа старшая цифра отлична от нуля, число считается
    нормализованным; если старшая цифра ноль – число не нормализовано.
    Нормализация чисел в процессе вычисления выполняется в ЭВМ автоматически. При этом мантисса числа сдвигается влево до момента появления в старшем разряде сетки ближайшей единицы с соответствующим уменьшением порядка числа. В случае переполнения разрядной сетки,
    например, при сложении нормализованных чисел одного порядка, проводится нормализация вправо на один разряд:
    · 3.1415926 = 0,31415926·10 1
    ;
    · 0,00125 = 0,125·10
    -2
    Недостатком представления чисел с плавающей запятой является то, что для выполнения действий над числами с плавающей запятой необходимо проводить операции отдельно с мантиссами чисел и отдельно с порядками, что усложняет и замедляет выполнение операций. Преимущество – для ЭВМ с плавающей запятой диапазон представляемых чисел больше чем для ЭВМ с фиксированной запятой.
    Для кодирования целых чисел от 0 до 255 достаточно иметь 8 разрядов двоичного кода (8 бит). Шестнадцать бит позволяют закодировать целые числа от 0 до 65535, а 24 бита – уже более 16,5 миллионов разных значений.
    Для кодирования действительных чисел используют 80-разрядное кодирование
    С целью упрощения схем вычитание в ЭВМ заменяется сложением специально построенных кодов чисел. Применяются прямой, обратный и
    дополнительный коды чисел.
    Кодирование текстовых данных. Текстовые данные состоят из набора символов. Каждому символу компьютера сопоставляется определенное число
    (порядковый номер). Это число представляется в памяти компьютера в виде двоичного кода. Различными комбинациями из восьми битов (один байт) можно закодировать все символы английского и русского языков, как строчные, так и прописные, а также знаки препинания, арифметические операции, специальные символы, например символ амперсанд (&) и др.
    Максимальное число различных символов, закодированных одним байтом, составляет 256.
    Технически это выглядит очень просто, однако всегда существовали достаточно веские организационные сложности. В первые годы развития вычислительной техники они были связаны с отсутствием необходимых стандартов, а в настоящее время вызваны, наоборот, изобилием одновременно действующих и противоречивых стандартов. Для того чтобы весь мир одинаково кодировал текстовые данные, нужны единые таблицы кодирования, а это пока невозможно из-за противоречий между символами национальных алфавитов, а также противоречий корпоративного характера.
    Для английского языка, захватившего де-факто нишу международного средства общения, противоречия уже сняты. Институт стандартизации США
    (ANSI – American National Standard Institute) ввел в действие систему кодирования ASCII (American Standard Code for Information Interchange –
    стандартный код информационного обмена США). В системе ASCII
    закреплены две таблицы кодирования – базовая и расширенная. Базовая таблица закрепляет значения кодов от 0 до 127, а расширенная относится к символам с номерами от 128 до 255.

    Первые 32 кода базовой таблицы, начиная с нулевого, отданы производителям аппаратных средств (в первую очередь производителям компьютеров и печатающих устройств). В этой области размещаются так называемые управляющие коды, которым не соответствуют никакие символы языков, и, соответственно, эти коды не выводятся ни на экран, ни на устройства печати, но ими можно управлять тем, как производится вывод прочих данных.
    Начиная с кода 32 по код 127 размещены коды символов английского алфавита, знаков препинания, цифр, арифметических действий и некоторых вспомогательных символов. Базовая таблица кодировки ASCII приведена в таблице 1.1.
    Таблица 1.1 – Базовая таблица кодировки ASCII
    Аналогичные системы кодирования текстовых данных были разработаны и в других странах. Так, например, в СССР в этой области действовала система кодирования КОИ-7 (код обмена информацией, семизначный). Однако поддержка производителей оборудования и программ вывела американский код
    ASCII на уровень международного стандарта, и национальным системам кодирования пришлось «отступить» во вторую, расширенную часть системы кодирования, определяющую значения кодов со 128 по 255. Отсутствие единого стандарта в этой области привело к множественности одновременно действующих кодировок. Только в России можно указать три действующих стандарта кодировки и еще два устаревших.
    Так, например, кодировка символов русского языка, известная как кодировка Windows-1251, была введена компанией Microsoft, и,поэтому она глубоко закрепилась и нашла широкое распространение (таблица 1.2). Эта кодировка используется на большинстве локальных компьютеров, работающих на платформе Windows.

    Таблица 1.2 – Кодировка Windows 1251
    Другая распространенная кодировка носит название КОИ-8 (код обмена
    информацией, восьмизначный) – ее происхождение относится ко временам действия Совета Экономической Взаимопомощи государств Восточной Европы
    (таблица 1.3). Сегодня кодировка КОИ-8 имеет широкое распространение в компьютерных сетях на территории России и в российском секторе Интернета.
    Международный стандарт, в котором предусмотрена кодировка символов русского алфавита, носит название кодировки ISO (International Standard
    Organization Международный институт стандартизации). На практике данная кодировка используется редко (таблица 1.4).
    На компьютерах, работающих в операционных системах MS-DOS, могут действовать еще две кодировки (кодировка ГОСТ и кодировка ГОСТ-
    альтернативная). Первая из них считалась устаревшей даже в первые годы появления персональной вычислительной техники, но вторая используется и по сей день (см. таблицу 1.5).
    Таблица 1.3 – Кодировка КОИ-8

    Таблица 1.4 – Кодировка ISO
    Таблица 1.5 – ГОСТ-альтернативая кодировка
    В настоящее время в качестве общемирового стандарта предлагается универсальная двухбайтовая кодировка Unicode. Шестнадцать бит позволяют обеспечить уникальные коды для 65536 различных символов, что вполне достаточно для размещения в одной таблице символов большинства языков планеты. Рассмотрим несколько примеров.
    Пример 1. В книге 500 страниц. На каждой странице книги 20 строк по
    64 символа. Используя кодировку ASCII, определить объем книги в килобайтах.
    Решение
    На странице 20×64=1280 символов. В кодировке ASCII код символа занимает 1 байт. Объем страницы равен 1280 байт. В книге 500 страниц, что составляет 500×1280=640000 байт. Переведем в килобайты. 1 килобайт = 1024 байт. Следовательно, объем книги 640000/1024=625 Килобайт.
    Пример 2. Сколько времени (в секундах) потребуется модему, передающему сообщения со скоростью 28800 бит/с, для передачи в кодировке
    ASCII 100 страниц текста в 30 строк по 60 символов каждая.
    Решение

    Объем текста равен 100×30×60×8=1440000 бит. Для его передачи по модему потребуется 1440000/28800=50 с.
    Пример 3. Сообщение содержит 4096 символов. Объем сообщения при использовании равномерного кода составил 1/512 Мбайт. Определить мощность алфавита, с помощью которого записано данное сообщение.
    Решение
    Мощность алфавита – это количество символов в алфавите. Переведем информационный объем сообщения в биты.
    1/512
    Мбайт=(1/512)×1024×1024×8=16384 бит. Для кодирования одного символа отводится i=16384/4096=4 бит. Тогда мощность алфавита (N) по формуле Р.
    Хартли равна N=2
    i
    =2 4
    =16.
    Кодирование графических данных. Наиболее распространенными методами представления графической информации являются растровая,
    векторная и фрактальная графика.
    Растровые изображения представляют собой однослойную сетку точек, называемых пикселями (pixel, от англ. picture element). Код пикселя содержит информации о его цвете.
    Для описания черно-белых изображений используются оттенки серого цвета, то есть при кодировании учитывается только яркость. Она описывается одним числом, поэтому для кодирования одного пикселя требуется от 1 до 8 бит: чёрный цвет – 0, белый цвет – N = 2
    k
    -l, где k – число разрядов, которые отводятся для кодирования цвета. Например, при длине ячейки в 8 бит это 256-
    1 = 255. Человеческий глаз в состоянии различить от 100 до 200 оттенков серого цвета, поэтому восьми разрядов для этого вполне хватает.
    Цветные изображения воспринимаются нами как сумма трёх основных цветов – красного, зелёного и синего. Например, сиреневый = красный + синий; жёлтый = красный + зелёный; оранжевый = красный + зелёный, но в другой пропорции. Поэтому достаточно закодировать цвет тремя числами – яркостью его красной, зелёной и синей составляющих. Этот способ кодирования называется RGB (Red – Green – Blue). Его используют в устройствах, способных излучать свет (мониторы). При рисовании на бумаге действуют другие правила, так как краски сами по себе не испускают свет, а только поглощают некоторые цвета спектра. Если смешать красную и зелёную краски, то получится коричневый, а не жёлтый цвет. Поэтому при печати цветных изображений используют метод CMY (Cyan – Magenta – Yellow) – голубой, сиреневый, жёлтый цвета. При таком кодировании красный = сиреневый + жёлтый; зелёный = голубой + жёлтый.
    Одним из недостатков растровых методов является трудность пропорционального изменения размеров изображения.
    В противоположность растровой графикевекторное изображение многослойно. Каждый элемент такого изображения – линия, прямоугольник, окружность или фрагмент текста – располагается в своем собственном слое, пиксели которого устанавливаются независимо от других слоев. Каждый элемент векторного изображения является объектом, который описывается с
    помощью специального языка (математических уравнения линий, дуг, окружностей и т.д.) Сложные объекты (ломаные линии, различные геометрические фигуры) представляются в виде совокупности элементарных графических объектов.
    Объекты векторного изображения, в отличие от растровой графики, могут изменять свои размеры без потери качества (при увеличении растрового изображения увеличивается зернистость).
    Изображение занимает меньший объем памяти, который зависит от числа и сложности объектов. Построение по данным требует специальных расчетов.
    Векторные методы используются для описания различных шрифтов, они позволяют изменять размер символов в широких пределах. Векторные методы также применяются в автоматизированных системах проектирования при отображении на экране чертежей сложных трехмерных объектов. Однако векторная технология не позволяет достичь высокого фотографического качества изображения, как при использовании растровых методов.
    При фрактальном методе изображение строится не из линий, а по специальным формулам. Фрактальная графика позволяет получать наиболее сложное и реалистичное изображение. Используется в играх и других мультимедийных системах.
    Рассмотрим некоторые примеры решения задач с использованием графики.
    Пример 1. Растровое изображение размером 64×64 пикселя занимает 4 килобайта памяти. Определить максимальное количество цветов, используемых в изображении.
    Решение
    Сначала узнаем, сколько битовых разрядов используется для кодирования цвета одного пикселя. Всего пикселей 64×64=4096. Объем памяти 4
    Кбайт=4×1024=4096 байтов. Получается, что на кодирование цвета каждого пикселя отводится 1 байт памяти, т.е. 8 битов. Далее обращаемся к формуле Р.
    Хартли, связывающей количество двоичных разрядов (Y) для кодирования цвета с количеством цветов (N). В нашем примере N=2
    Y
    =2 8
    =256. Итак, каждый пиксель может иметь один цвет из 256.
    Пример 2. Растровый графический файл содержит черно-белое изображение с 2 градациями цвета (черный и белый) размером 800×600 точек.
    Определите необходимый для кодирования цвета точек (без учета служебной информации о формате, авторстве, способах сжатия и пр.) размер этого файла на диске в байтах.
    Решение
    Поскольку сказано, что изображение двухцветное, следовательно, для указания цвета одной точки достаточно двух значений, кодирующих белый или черный цвет. Два значения могут быть закодированы одним битом. Объем графического файла рассчитывается по формуле
    V=i×k, где
    i (i=1 бит) – глубина цвета, а k – количество точек. Тогда объем графического файла равен V=1×800×600=480000 бит. Учитывая, что 8 бит=1 байт, получаем
    V=480000/8=60000 байтов. В реальности в графических документах кроме
    описания цвета точек присутствует еще и служебно-дополнительная информация (о формате записи, авторских правах, способах сжатия и пр.).
    Кодирование звуковой информации.
    В настоящее время можно выделить два основных направления кодирования звуковой информации.
    Метод частотной модуляции FM(Frequency Modulation). В природе звуковые сигналы имеют непрерывный спектр частот, то есть являются аналоговыми. В методе FM используется разложение звуковой волны на синусоиды, описывающие базовые колебания (гармоники). Разложение на последовательность гармонических сигналов и представление в виде дискретных цифровых сигналов (двоичных кодов) осуществляется с помощью специальных устройств – аналого-цифровых преобразователей (АЦП).
    Обратное преобразование и воспроизведение звука, закодированного числовым кодом, выполняют цифро-аналоговые преобразователи (ЦАП). Недостатком данного метода является то, что при преобразованиях неизбежны потери информации, поэтому качество звучания получается не вполне удовлетворительным.
    Как всякий звук, музыка является не чем иным, как звуковыми колебаниями, зарегистрировав которые достаточно точно, можно этот звук безошибочно воспроизвести. Нужно только непрерывный сигнал, которым является звук, преобразовать в последовательность нулей и единиц. С помощью микрофона звук можно превратить в электрические колебания и измерить их амплитуду через равные промежутки времени (несколько десятков тысяч раз в секунду). Каждое измерение записывается в двоичном коде. Этот процесс называется дискретизацией. Устройство для выполнения дискретизации называется аналогово-цифровым преобразователем (АЦП). Воспроизведение такого звука ведётся при помощи цифро-аналогового преобразователя (ЦАП).
    Полученный ступенчатый сигнал сглаживается и преобразуется в звук при помощи усилителя и динамика. На качество воспроизведения влияют частота
    дискретизации и разрешение (размер ячейки, отведённой под запись значения амплитуды). Например, при записи музыки на компакт-диски используются 16- разрядные значения и частота дискретизации 44 032 Гц.
    Описанный способ кодирования звуковой информации достаточно универсален, он позволяет представить любой звук и преобразовывать его самыми разными способами. Но бывают случаи, когда выгодней действовать по-иному.
    Метод таблично-волнового синтеза(Wave-Table).Образцы множества различных звуков хранятся в заранее подготовленных таблицах (в технике такие образцы называются сэмплами). Числовые коды этих образцов содержат параметры, характеризующие особенности звука.
    Издавна используется достаточно компактный способ представления музыки – нотная запись. В ней с помощью специальных символов указывается высота и длительность, общий темп исполнения и как сыграть. Фактически,
    такую запись можно считать алгоритмом для музыканта, записанным на особом формальном языке. В 1983 г. ведущие производители компьютеров и музыкальных синтезаторов разработали стандарт, определивший такую систему кодов. Он получил название MIDI (Musical Instrument Digital Interface).
    При таком кодировании запись компактна, легко меняется инструмент исполнителя, тональность звучания, одна и та же запись воспроизводится как на синтезаторе, так и на компьютере.
    Конечно, такая система кодирования позволяет записать далеко не всякий звук, она годится только для инструментальной музыки. Но есть у нее и преимущества: чрезвычайно компактная запись, естественность для музыканта
    (практически любой MIDI-редактор позволяет работать с музыкой в виде обычных нот), легкость замены инструментов, изменения темпа и тональности мелодии.
    При использовании данного метода качество звука получается высоким и приближается к качеству звучания реальных музыкальных инструментов.
    Есть и другие форматы записи музыки. Среди них – формат MP3, позволяющий с очень большим качеством и степенью сжатия кодировать музыку, при этом вместо 18 – 20 музыкальных композиций на стандартном компакт-диске (CDROM) помещается около 200. Одна песня занимает примерно 3,5 Mb, что позволяет пользователям сети Интернет легко обмениваться музыкальными композициями.
    Кодирование координат
    Закодировать можно не только числа, но и другую информацию, например, о том, где находится некоторый объект. Величины, определяющие положение объекта в пространстве, называются координатами. В любой
    системе координат есть начало отсчёта, единица измерения, масштаб, направление отсчёта, или оси координат. Примеры систем координат – декартовы координаты, полярная система координат, шахматы, географические координаты.


    написать администратору сайта