Файл: Методы кодирования данных (Технологии программирования).pdf
Добавлен: 01.04.2023
Просмотров: 339
Скачиваний: 3
Современные кодовые таблицы включают в себя международную и национальную части, т.е. содержат буквы как латинского, так и национального алфавитов, цифры, знаки арифметических операций и препинания, математические и управляющие символы, символы псевдографики ( Псевдографические символы – это совокупность символов, включённых в набор символов компьютерного шрифта, отображающих графические примитивы: линии, прямоугольники, треугольники, кресты, различная заливка и тому подобное).
Международная часть кодовой таблицы, базирующаяся на стандарте ASCII (American Standard Code for Information Interchange), кодирует первую половину символов кодовой таблицы с числовыми кодами от 0 до 7F16 или в десятичной системе от 0 до 127.
Выше находится международная часть кодовой таблицы символов (Первые два ряда и DEL, являются управляющими символами и не печатаются)
Национальная часть кодовых таблиц содержит коды национальных алфавитов, которую называют также таблицей наборов символов (charset).
В настоящее время для поддержки букв русского алфавита (кириллицы) существует несколько кодовых таблиц (кодировок), которые используются различными операционными системами, что является существенным недостатком и в ряде случаев приводит к проблемам, связанным с операциями декодирования числовых значений символов.
В приведенной выше таблице указаны названия кодовых стандартов, на которых размещены кодовые таблицы (кодировки) кириллицы.
В конце прошлого века появился новый международный стандарт Unicode, в котором один символ представляется двухбайтовым двоичным кодом. Применение этого стандарта – продолжение разработки универсального международного стандарта, позволяющего решить проблему совместимости национальных кодировок символов. С помощью данного стандарта можно закодировать 216 = 65536 различных символов. На рисунке 4 отображается кодовая таблица 0400 (русский алфавит) стандарта Unicode.
Для преобразования русскоязычных текстов из одного стандарта кодирования текстовой информации в другой используются специальные программы – конверторы. Конверторы обычно встраивают в другие программы (как пример браузеры).
4.2 Графическая информация
Графическая информация, представленная в виде рисунков, фотографий, слайдов, подвижных изображений (анимация, видео), схем, чертежей, может создаваться и редактироваться с помощью компьютера, при этом она соответствующим образом кодируется. В настоящее время существует достаточно большое количество прикладных программ для обработки графической информации, но все они реализуют три вида компьютерной графики: растровую, векторную и фрактальную.
Рассмотрим принципы кодирования графической информации на примере изображения на экране телевизора. Это изображение состоит из горизонтальных линий – строк, каждая из которых в свою очередь состоит из элементарных мельчайших частиц изображения – точек, которые принято называть пикселями (picsel – picture element – элемент картинки).
Степень четкости изображения зависит от количества строк на весь экран и количества точек в строке, которые представляют разрешающую способность экрана, или просто разрешение. Чем больше строк и точек, тем четче и лучше изображение.
Если мы посмотрим на показатели разрешения современных плазменных и жидкокристаллических телевизоров, то обнаружим, что наиболее распространенное разрешение – 1920 × 1080 (Full HD), так же можно встретить разрешения: 640 × 480 (ЖК-телевизоры с соотношением сторон 4:3), 852 × 480 (плазменные панели с соотношением сторон 16:9), 1366 × 786 (HD Ready), 3840 × 2160 (Ultra HD/4K), 7680 × 4320 (Ultra HD/8K).
Обозначение разрешения, например 1920 × 1080, означает, что используется 1080 горизонтальных строк по 1920 пикселей в каждой. Таким образом, изображение на экране представляет собой последовательность из 1920×1080 = 2 073 600 пикселей. Изображения могут быть монохромными и цветными.
Монохромное изображение состоит из любых двух контрастных цветов – черного и белого, зеленого и белого, коричневого и белого и т.д. Для простоты будем считать, что один из цветов белый, а второй черный. Поставив в соответствие белому цвету значение бита равное «0», а черному «1» (либо наоборот), мы сможем закодировать в 1 бите состояние 1 пикселя монохромного изображения. Однако полученное таким образом изображение будет чрезмерно контрастным.
Общепринятым сейчас считается кодирование состояния 1 пикселя с помощью 1 байта, которое позволяет предавать 256 различных оттенков серого цвета от полностью белого, до полностью черного. В этом случае для передачи всего растра из 1920 × 1080 потребуется 2 073 600 байт.
Цветное изображение может формироваться на основе различных моделей. Наиболее распространенные цветовые модели:
RGB чаще всего используются в информатике;
СMYK основная модель в полиграфии;
XYZ эталонная модель основанная на замерах характеристик человеческого глаза;
4.2.1 Модель RGB:
Модель RGB (от слов red, green, blue) наиболее точно подходит к принципам вывода изображения на экран монитора – три числа задают яркость свечения зерен красного, зеленого, и синего люминофора в заданной точке экрана. Поэтому данная модель получила наиболее широкое распространение в области компьютерной графики, ориентированной на просмотр изображений на экране монитора.
Модель RGB опирается на то, что глаз человека воспринимает все цвета как сумму трех основных цветов – красного, зеленого и синего. Так как цвет формируется в результате сложения трех цветов, эту модель часто называют аддитивной (суммирующей).
Например, для задания белого цвета необходимо указать для всех трех компонентов максимальные значения яркости, а для задания черного – полностью погасить все источники (например, точки люминофора), задающие цвет в нужной точке изображения, – указать для них нулевую яркость.
Если каждый из цветов кодировать с помощью 1 байта (яркость каждого компонента задается числом от 0 до 255), как это принято для реалистичного монохромного изображения, появится возможность передавать по 256 оттенков каждого из основных цветов. А всего в этом случае обеспечивается передача 256 х 256 х 256 = 16 777 216 различных цветов, что достаточно близко к реальной чувствительности человеческого глаза. Таким образом, при данной схеме кодирования цвета на изображение 1 пикселя потребуется 3 байта или 24 бита памяти. Этот способ представления цветовой графики принято называть режимом True Color (истинный цвет) или полноцветным режимом.
Существуют профессиональные устройства, позволяющие получать изображения, в которых каждый пиксел описывается не тремя, а шестью (48 битами на каждую цветовую составляющую) или даже восемью байтами. Подобные режимы используются для наилучшей передачи оттенков и, что самое главное, яркости точек изображения. Это позволяет наиболее достоверно воспроизводить изображения таких сложных с технической точки зрения сюжетов, как, например, вечерние или рассветные пейзажи. На рисунке 5 изображена RGB-цветовая модель, представленная в виде куба.
Рисунок 5
Например, в Win32 стандартный тип для представления цветов – COLORREF. Для определения цвета в RGB-спектре используется 4 байта в виде:
0×00BBGGRR
BB, GG, RR – значение интенсивности соответственно синей, зеленой и красной составляющих цвета. Максимальное их значение - 0×FF.
Тогда определить переменную типа COLORREF можно следующим образом:
COLORREF C = (b, g, r);
b, g, r – интенсивность (в диапазоне от 0 до 255) соответственной синей, зеленой и красной составляющих определенного цвета C. То есть ярко-красный цвет может быть определен как (255, 0, 0), ярко-фиолетовый – (255, 0, 255), черный – (0, 0, 0), а белый – (255, 255, 255).
Полноцветный режим требует много памяти. Поэтому памяти разрабатываются различные режимы и графические форматы, которые немного хуже передают цвет, но требуют гораздо меньше памяти. В частности, можно упомянуть режим High Color (богатый цвет), в котором для передачи цвета 1 пикселя используется 16 бит, и, следовательно, можно передать 65 535 цветовых оттенков, а также индексный режим, который базируется на заранее созданной для данного рисунка таблице используемых в нем цветовых оттенков. Затем нужный цвет пикселя выбирается из этой таблицы с помощью номера — индекса, который занимает всего 1 байт памяти. При записи изображения в память компьютера, кроме цвета отдельных точек, необходимо фиксировать много дополнительной информации — размеры рисунка, разрешение, яркость точек и т. д. Конкретный способ кодирования всей требуемой при записи изображения в память компьютера информации образует графический формат. Форматы кодирования графической информации, основанные на передаче цвета каждого отдельного пикселя, из которого состоит изображение, относят к группе растровых, или BMP (bit map— битовая карта), форматов.
4.2.2 Модель CMYK:
Модель CMYK (Cyan, Magenta, Yellow, blacK) субтрактивная схема формирования цвета, используемая прежде всего в полиграфии для стандартной триадной печати. Схема CMYK как правило, обладает сравнительно небольшим цветовым охватом. На рисунке 6 отображена цветовая модель CMYK.
Рисунок 6
По-русски эти цвета часто называют: голубой, пурпурный, желтый. Цвет в такой схеме зависит не только от спектральных характеристик красителей и от способа их нанесения, но и их количества, характеристик бумаги и других факторов. Например, есть американский, европейский и японский стандарты для мелованной и немелованной бумаг.
Хотя теоретически черный цвет можно получать смешением в равной пропорции пурпурного, голубого и желтого, на практике смешение реальных пурпурного, голубого и желтого цветов дает скорее грязно-коричневый или грязно-серый цвет. Так как чистота и насыщенность черного цвета чрезвычайно важны в печатном процессе, в модель был введен ещё один цвет – черный.
Объяснение первых трех букв в аббревиатуре CMYK дано выше, а по поводу четвертой одна из версий утверждает, что K – сокращение от англ. blacK (если бы взяли B, то возникла бы путаница с моделью RGB, где B – это синий цвет). Согласно этой версии, при выводе полиграфических пленок на них одной буквой указывался цвет, которому они принадлежат. Согласно другому варианту, буква K появилась от сокращения англ. слова key: в англоязычных странах термином key plate обозначается печатная форма для черной краски.
CMYK называют субтрактивной моделью, потому что эту модель применяют в основном в полиграфии при цветной печати, а бумага и прочие печатные материалы служат поверхностями, отражающими свет: удобнее считать, какое количество света (и цвета) отразилось от той или иной поверхности, нежели – сколько поглотилось. Таким образом, если вычесть из белого три первичных цвета, RGB, мы получим тройку дополнительных цветов CMY. «Субтрактивный» означает «вычитаемый» – мы вычитаем первичные цвета из белого.
Каждое из чисел, определяющее цвет в CMYK, представляет собой процент краски данного цвета, составляющей цветовую комбинацию, например, для получения темно-оранжевого цвета следует смешать 30 % голубой краски, 45 пурпурной, 80 желтой и 5 % черной краски. Это можно обозначить следующим образом: (30,45,80,5). Иногда пользуются таким обозначением: C30M45Y80K5.
4.3 Кодирование аудио информации:
Звуковой сигнал – это непрерывная волна с изменяющейся амплитудой и частотой. Чем больше амплитуда сигнала, тем он громче для человека, чем больше частота сигнала, тем выше тон. Для того чтобы компьютер мог обрабатывать непрерывный звуковой сигнал, он должен быть дистретизирован (оцифрован), т.е. превращен в последовательность электрических импульсов (двоичных нулей и единиц).
Преобразование аналогового звукового сигнала в цифровой вид называется аналогово-цифровым преобразованием или оцифровкой. Процесс такого преобразования заключается в осуществлении замеров величины амплитуды аналогового сигнала с некоторым временным шагом – дискретизация и последующей записью полученных значений амплитуды в численном виде – квантовании.
Процесс дискретизации по времени — это процесс получения
мгновенных значений преобразуемого аналогового сигнала с определенным
временным шагом, называемым шагом дискретизации.
Чем выше частота дискретизации т.е. количество отсчетов за секунду
и чем больше разрядов отводится для каждого отсчета, тем точнее будет
представлен звук. Но при этом увеличивается и размер звукового файла.
Поэтому в зависимости от характера звука, требований, предъявляемых к его
качеству и объему занимаемой памяти, выбирают некоторые компромиссные
значения.
Количество осуществляемых в одну секунду замеров величины сигнала
называют частотой дискретизации или частотой выборки, или частотой
сэмплирования (от англ. «sampling» – «выборка»). Очевидно, что чем
меньше шаг дискретизации, тем выше частота дискретизации (то есть, тем
чаще регистрируются значения амплитуды), и, значит, тем более точное
представление о сигнале мы получаем.
Теперь, для записи каждого отдельного значения амплитуды, его
необходимо округлить до ближайшего уровня квантования. Этот процесс
называется квантованием по амплитуде. Говоря более формальным языком,
квантование по амплитуде – это процесс замены реальных (измеренных) значений амплитуды сигнала значениями, приближенными с некоторой
точностью. Каждый из 2 N возможных уровней называется уровнем
квантования, а расстояние между двумя ближайшими уровнями
квантования называется шагом квантования. Квантование значений
сигнала привносит в спектр сигнала дополнительную помеху, называемую
шумом квантования или шумом дробления. Шумом (ошибкой)