Файл: Технологии программирования. Методы кодирования данных.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 01.04.2023

Просмотров: 224

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Качество изображения определяется разрешающей возможностью монитора. Чем она выше, то есть больше количество строк растра и точек в строке, тем выше качество изображения. Если говорить о черно-белых изображениях и не использовать полутона, то пиксель будет принимать одно из двух состояний: светится (белый) и не светится (черный).

Так как информация о цвете пикселя называется кодом пикселя, то для его кодирования достаточно одного бита памяти: 0 - черный, 1 – белый [3, с. 41]. Если же рассматриваются изображение в виде комбинации точек с 256 градациями серого цвета, то достаточно восьмиразрядного двоичного числа для того чтобы закодировать цвет любой точки. [5]

Цветовые модели.

Говоря о кодировке разноцветных графических изображений, следует рассмотреть принцип декомпозиции произвольного цвета на основные составляющие. Существует несколько систем кодирования, такие как HSB, 13 RGB и CMYK. HSB - эта цветовая модель удобна для человека, так как проста и интуитивно понятна. RGB- эта модель удобна для компьютера. А модель CMYK – хорошо подходит для типографий. Данные световые модели применяют связано с тем, что световой поток может формироваться излучениями, представляющими собой комбинацию «чистых» спектральных цветов: зеленого, красного, синего или их производных [7, с. 28].

Различают аддитивное цветовоспроизведение (характерно для излучающих объектов) и субтрактивное цветовоспроизведение (характерно для отражающих объектов). В качестве примера аддитивного цветовоспроизведения можно привести электроннолучевую трубку монитора, в качестве примера субтрактивного цветовоспроизведения можно привести полиграфический отпечаток. Система кодирования RGB заключается в то что, любой цвет можно представить в виде комбинации трех цветов: красного (Red, R), зеленого (Green, G), синего (Blue, B). Другие цвета и их оттенки получаются за счет наличия или отсутствия этих составляющих. Название – RGB система получила по первым буквам основных цветов. Эта цветовая модель считается аддитивной, так как любой цвет можно получить сочетанием основных цветов в их различных пропорциях. Например, в мониторах и телевизорах используются три электронных пушки (светодиода, светофильтра) для зелёного, красного и синего каналов [4, с. 30].

При 256 градациях тона (где каждая точка кодируется тремя байтами) минимальные значения RGB (0,0,0) соответствуют черному цвету, а белому - максимальные с координатами (255, 255, 255). Чем больше значение байта цветовой составляющей, тем цвет будет ярче. Например, темно-синий кодируется тремя байтами (0, 0, 128), а ярко-синий (0, 0, 255). Система кодирования CMYK – представляет собой цветовую модель, в которой все цвета представляются как смесь четырех обрабатываемых цветов, сокращённое название от Cyan – Magenta – Yellow – Black - голубой пурпурный-желтый-черный. Система кодирования CMYK применяется при подготовке публикаций к печати. Каждому из основных цветов ставится в соответствие дополнительный цвет (дополняющий основной до белого). Получают дополнительный цвет за счет суммирования пары остальных основных цветов. Система CMYK применяется для триадной печати в полиграфии [5, с. 88].


Система кодирования HSB включает в себя три компонента: оттенок цвета (Hue), насыщенность цвета (Saturation) и яркость цвета (Brightness). Регулируя эти компоненты можно получить большое количество различных цветов. Эту систему лучше использовать в тех графических редакторах, в которых изображение создается с самого начала, а не обрабатывается уже готовое. [6]

После созданное произведение можно конвертировать в цветовую модель RGB, если ее планируется использовать в качестве экранной иллюстрации, или в CMYK, если в качестве печатной.

Различают несколько режимов представления цветной графики (Таблица3):

• Полноцветный (TrueColor);

• HighColor;

• Индексный [8, с. 132].

Для кодирования яркости при полноцветном режиме каждой из составляющих применяют по 256 значений (восемь двоичных разрядов), то есть на кодирование цвета одного пикселя (в системе RGB) необходимо затратить 8*3=24 разряда. Это позволяет конкретно устанавливать 16,5 миллионов цветов. Что наиболее близко к чувствительности человеческого глаза. При кодировании с помощью системы CMYK для представления цветной графики надо иметь 8*4=32 двоичных разряда. Режим HighColor - это кодирование при помощи 16-разрядных бинарных чисел, то есть уменьшается количество двоичных разрядов при кодировании каждой точки. Однако диапазон кодируемых цветов значительно уменьшается. При индексном кодировании цвета достаточно передать всего лишь 256 цветовых оттенков. Каждый цвет здесь кодируется при помощи восьми бит данных. В данном случае код точки растра означает не цвет, а только его номер (индекс) в палитре. Отсюда и взялось название режима – индексный [6, с. 25].

Соответствие между количеством отображаемых цветов (К) и количеством бит для их кодировки (а) находиться по формуле: K = 2 a.

Векторное и фрактальное изображения.

Векторное изображение - это графический объект, состоящий из элементарных отрезков и дуг. Основным элементом изображения считается линия. Она обладает следующими свойствами: толщиной, цветом, формой (прямая, кривая), начертанием (пунктирная, сплошная). Замкнутые линии имеют свойство заполнения (выбранным цветом, или другими объектами). Все другие объекты векторной графики составляются из линий.[7] Так как линия описывается математически как единый объект, то и объем данных для отображения объекта средствами векторной графики значительно меньше, чем в растровой графике. Информация о векторном изображении кодируется как обычная буквенно-цифровая и обрабатывается специальными программами [9, с. 87].


Фрактальная графика, как и векторная, базируется на математических вычислениях. Но разница от векторной, ее базовым элементом является сама 16 математическая формула. Это приводит к тому, что изображение строится только по уравнениям и в памяти компьютера не хранится никаких объектов. При помощи этого способа можно строить сложные иллюстрации, которые имитируют ландшафты, а так же простейшие регулярные структуры.

Кодирование звуковой информации [10, с. 56].

Человек на слух воспринимает упругие волны, частота которых находится в пределах от 16 Гц до 20 кГц (1 Гц - 1 колебание в секунду). В соответствии с этим упругие волны в любой среде, частоты которых лежат в указанных пределах, называют звуковыми волнами или просто звуком. В учении о звуке важны такие понятия как тон и тембр звука. Всякий реальный звук, будь то игра музыкальных инструментов или голос человека, - это своеобразная смесь многих гармонических колебаний с определенным набором частот. В настоящее время, компьютер широко применяется в различных сферах. Исключением не стала и обработка звуковой информации. Для записи звука в настоящее время используется два основных способа, это аналоговый и цифровой. Но для записи звука, на какой либо носитель его необходимо преобразовать в электрический сигнал [11, с. 16].

При помощи микрофона звуковые волны превращаются в аналоговый переменный электрический сигнал. Он проходит через звуковой тракт и попадает в аналого-цифровой преобразователь (АЦП) - устройство, которое переводит сигнал в цифровую форму. Принцип работы аналого-цифровой преобразователь заключается в том что: через определенные промежутки времени он измеряет амплитуду сигнала и передает дальше, уже по цифровому тракту, последовательность чисел, несущих информацию об изменениях амплитуды. Во время аналого-цифрового преобразования не происходит никакого физического преобразования [12, с. 74]. С электрического сигнала как бы снимается отпечаток или образец, являющийся цифровой моделью колебаний напряжения в аудио тракте. Если это изобразить в виде схемы, то эта модель представлена в виде последовательности столбиков, каждый из которых соответствует определенному числовому значению. Цифровой сигнал по своей природе дискретен - то есть прерывист, поэтому цифровая модель не совсем точно соответствует форме аналогового сигнала. Для кодирования значения амплитуды используют принцип двоичного кодирования [14, с. 193].

Звуковой сигнал должен быть представленным в виде последовательности электрических импульсов (двоичных нулей и единиц). Обычно используют 8, 16-битное или 20-битное представление значений амплитуды. При двоичном кодировании непрерывного звукового сигнала его заменяют последовательностью дискретных уровней сигнала. От частоты дискретизации (количества измерений уровня сигнала в единицу времени) зависит качество кодирования [16, с. 95].


На современные цифровые звуковые устройства устанавливаются 20- битные преобразователи. Звук так и остается 16-битным, преобразователи повышенной разрядности устанавливают для улучшения качества записи на низких уровнях. Их принцип работы заключается в следующем: исходный 18 аналоговый сигнал оцифровывается с разрядностью 20 бит. Затем цифровой сигнальный процессор DSP понижает его разрядность до 16 бит. При этом используется специальный алгоритм вычислений, при помощи которого можно снизить искажения низкоуровневых сигналов.

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

Видеоинформация – наиболее сложный вид для обработки, воспроизведения и хранения. Движущиеся изображения в виде большого количества отдельных кадров, заснятых через небольшие промежутки времени (24 кадра в секунду) впервые были сохранены на кинопленке. Позднее на ту же пленку была записана и звуковая дорожка (в последующем несколько дорожек для многоканального звука) [3, с. 49]. После появилось телевидение с аналоговой записью движущегося изображения на магнитные ленты (системы телевидения PAL и SECAM используют 25 кадров в секунду, система NTSC – 29,97 кадров в секунду). Широкое распространение получили цифровые методы записи и кодирования видеоинформации с появлением компьютеров, которые постоянно совершенствуются [13, с. 71].

Среди алгоритмов с потерями одним из наиболее известных является MotionJPEG или MJPEG. Приставка Motion говорит, что алгоритм JPEG используется для сжатия нескольких кадров. При кодировании видео принято, что качеству VHS соответствует кодирование MJPEG с потоком около 2 Мбит/с, S-VHS – 4 Мбит/с. Свое развитие алгоритм MJPEG получил в алгоритме DV, который обеспечивает лучшее качество при таком же потоке данных. Это объясняется тем, что алгоритм DV применяет более гибкую схему компрессии, основанную на адаптивном подборе коэффициента сжатия для различных кадров видео и различных частей одного кадра [10, с. 12].

Для малоинформативных частей кадра, например, краев изображения, сжатие увеличивается, а для блоков с большим количеством мелких деталей уменьшается. Еще одним методом сжатия видеосигнала является MPEG. Так как видеосигнал транслируется в реальном времени, то нет возможности для обработки всех кадров одновременно.[8] В алгоритме MPEG запоминается несколько кадров. Основной принцип заключается в предположении того, что соседние кадры мало отличаются друг от друга. Поэтому можно сохранить один кадр, который называют исходным, а затем сохраняются только изменения от исходного кадра, называемые предсказуемыми кадрами. Считается, что за десять – пятнадцать кадров картинка изменится настолько, что необходим новый исходный кадр. В результате при использовании MPEG можно достичь уменьшения объема информации более чем в 200 раз, хотя это приводит к некоторой потере качества. В настоящее время используются алгоритм сжатия MPEG-1, разработанный для хранения видео на компакт дисках с качеством VHS, MPEG-2, используемый в цифровом, спутниковом телевидении и DVD, а также алгоритм MPEG-4, разработанный для передачи информации по компьютерным сетям и широко используемый в цифровых видеокамерах и для домашнего хранения видеофильмов. Все форматы сжатия семейства MPEG (MPEG-1, MPEG-2, MPEG-4, MPEG-7) используют высокую избыточность информации в изображениях, разделенных малым интервалом времени. Алгоритмы MPEG сжимают только опорные кадры – I-кадры (Intra frame – внутренний кадр). В промежутки между ними включаются кадры, содержащие только изменения между двумя соседними I-кадрами – P-кадры (Predicted frame – прогнозируемый кадр). MPEG-4 использует технологию фрактального сжатия изображений. Фрактальное (контурно-основанное) сжатие подразумевает выделение из изображения контуров и текстур объектов. Контуры представляются в виде сплайнов (полиномиальных функций) и кодируются опорными точками [7, с. 13].


Текстуры могут быть представлены в виде коэффициентов пространственного частотного преобразования (например, дискретного косинусного или вейвлет-преобразования). Форматы файлов Microsoft AVI и MKV – контейнеры, предназначенные для хранения видеоинформации, синхронизованной с аудиоинформацией. AVI 20 может содержать в себе потоки 4 типов – Video, Audio, MIDI, Text. Причем видеопоток может быть только один, тогда как аудио – несколько [2, с.305 ].

Вывод: на сегодняшний день важно понимать и осознавать теоретические основы кодирования различных видов информации, создавать представление о том, как можно кодировать информацию, и для чего это нужно; знакомить с различными способами кодирования; показать разнообразие кодов окружающих человека; обучать и развивать навыки работы с компьютерными программами, средами; развивать умение анализировать; объединять знания, выделять основное [16, с. 99].

1.2 Классификация назначения и способы представления кодов

Коды можно классифицировать по различным признакам:

1. По основанию (количеству символов в алфавите): бинарные (двоичные m=2) и не бинарные (m № 2).

2. По длине кодовых комбинаций (слов): равномерные, если все кодовые комбинации имеют одинаковую длину и неравномерные, если длина кодовой комбинации не постоянна [20, с. 55].

3. По способам передачи: последовательные и параллельные; блочные - данные сначала помещаются в буфер, а потом передаются в канал и бинарные непрерывные.

4. По помехоустойчивости: простые (примитивные, полные) - для передачи информации используют все возможные кодовые комбинации (без избыточности); корректирующие (помехозащищенные) - для передачи сообщений используют не все, а только часть (разрешенных) кодовых комбинаций.

5. В зависимости от назначения и применения условно можно выделить следующие типы кодов:

Внутренние коды - это коды, используемые внутри устройств. Это машинные коды, а также коды, базирующиеся на использовании позиционных систем счисления (двоичный, десятичный, двоично-десятичный, восьмеричный, шестнадцатеричный и др.). Наиболее распространенным кодом в ЭВМ является двоичный код, который позволяет просто реализовать аппаратное устройства для хранения, обработки и передачи данных в двоичном коде. Он обеспечивает высокую надежность устройств и простоту выполнения операций над данными в двоичном коде. Двоичные данные, объединенные в группы по 4, образуют шестнадцатеричный код, который хорошо согласуется с архитектурой ЭВМ, работающей с данными кратными байту (8 бит) [6, с. 23].