Слайд 2
Кодирование информации
Язык и алфавит
Слайд 3
Язык
Язык — это система знаков, используемая для хранения,
передачи и обработки информации.
Иероглифы:
Слайд 4
Алфавитное письмо
Алфавит — это набор знаков, который используется
в языке.
Мощность алфавита — это количество знаков в алфавите.
АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
0123456789
.,;?!-:…«»()
мощность 56
Слово — это последовательность символов алфавита, которая используется как самостоятельная единица и имеет определённое значение.
Слайд 5
Сообщения
Сообщение — это любая последовательность символов некоторого алфавита.
Пример:
алфавит @ # $ %.
Сообщения длины 1: @ #
$ %.
Сообщения длины 2:
@@ @# @$ @%
#@ ## #$ #%
$@ $# $$ $%
%@ %# %$ %%
всего 16
всего 4
Слайд 6
Количество возможных сообщений
Если алфавит языка состоит из N
символов (имеет мощность N), количество различных сообщений длиной L
знаков равно
Q = NL
Сколько
возможных 5-буквеных слов в русском языке?
возможных 3-буквеных слов в английском языке?
335
263
Слайд 7
Какие бывают языки?
1. e2-e4 e7-e5…
Формальный язык – это
язык, в котором однозначно определяется значение каждого слова, а
также правила построения предложений и придания им смысла.
Слайд 8
Естественные и формальные языки
результат развития общества
для общения
в быту
значения слов зависят от контекста
есть синонимы
есть омонимы
нет строгих правил образования предложений
есть исключения
созданы людьми
в специальных областях знаний
значения слов не зависит от контекста
синонимов нет
омонимов нет
правила образования предложений строго определены
нет исключений
Естественные
Формальные
Слайд 9
Кодирование информации
Кодирование
Слайд 10
Что такое кодирование?
Кодирование — это представление информации в
форме, удобной для её хранения, передачи и обработки. Правило
такого преобразования называется кодом.
Текст:
в России: Привет, Вася!
передача за рубеж (транслит): Privet, Vasya!
Windows-1251: CFF0E8E2E52C20C2E0F1FF21
стенография:
шифрование: Рсйгжу-!Гбта”
Числа:
для вычислений: 25
прописью: двадцать пять
римская система: XXV
Слайд 11
Код Морзе
•— — •— ••• •—•—
ВАСЯ
•— —•—
ВА, АК,
ПТ, ЕМЕТ?
Слайд 12
Двоичное кодирование
Двоичное кодирование — это кодирование с помощью
двух знаков.
АБАВГБ
→ 000100101101
Количество сообщений длиной I битов:
N =
2I
Пример. Нужно закодировать номер спортсмена от 1 до 200. Сколько битов потребуется?
8 битов
27 < 200 ≤ 28 = 256
Равномерный код:
Слайд 13
Декодирование
Декодирование — это восстановление сообщения из последовательности кодов.
•—
— •— ••• •—•—
ВАСЯ
Все кодовые слова заканчиваются на
листьях дерева!
Слайд 14
Декодирование
1100000100110
110
Г
000
01
001
10
А
В
Д
Б
Префиксный код — это код, в котором ни
одно кодовое слово не совпадает с началом другого кодового
слова (условие Фано). Сообщения декодируются однозначно.
Слайд 15
Постфиксные коды
Постфиксный код — это код, в котором
ни одно кодовое слово не совпадает с окончанием другого
кодового слова. Сообщения декодируются однозначно (с конца!).
011000110110
10
01
011
100
01
Б
Д
Г
Б
В
Слайд 16
Неоднозначное декодирование
АБАГД
АБВГА
010100111101
Декодирование может быть неоднозначным…
Слайд 17
Кодирование информации
Дискретность
Слайд 18
Аналоговые сигналы и устройства
Аналоговый сигнал — это сигнал,
который в любой момент времени может принимать любые значения
в заданном диапазоне.
Аналоговые компьютеры
невозможно «очистить» сигнал от помех
при измерении сигнала вносится ошибка
при копировании аналоговая информация искажается
Слайд 19
Дискретные (цифровые) сигналы
Дискретный сигнал — это последовательность значений,
каждое из которых принадлежит некоторому конечному множеству.
Свойства:
сигнал изменяется только
в отдельные моменты времени (дискретность по времени);
принимают только несколько возможных значений (дискретность по уровню).
Слайд 20
Дискретность
Цель – максимально точно передавать сообщения при сильных
помехах.
Pacta sunt servanda.
•— — •— ••• •—•—
01000011001
… закодированную
с помощью конечного количества знаков некоторого алфавита.
Слайд 21
Дискретизация
Дискретизация — это представление единого объекта в виде
множества отдельных элементов.
π
Слайд 22
Дискретизация
6 ч. 36,7°
9 ч. 36,8°
12 ч. 36,9°
15 ч. 36,7°
18 ч. 36,5°
21 ч. 36,5°
24 ч. 36,6°
дискретная
информация
Слайд 23
Непрерывность и дискретность
аналоговые
данные
дискретные
данные
Слайд 25
Кодирование информации
Алфавитный подход к измерению количества информации
Слайд 26
Алфавитный подход
Количество информации в битах определяется длиной сообщения
в двоичном коде.
10101100
8 битов
вперёд
назад
вправо
влево
00
01
10
11
00101010010111
14 битов
Слайд 27
Алфавитный подход
определяем мощность алфавита N;
определяем количество битов информации
i, приходящихся на один символ, — информационную ёмкость (объём)
символа:
количество информации в сообщении:
где L – количество символов в сообщении.
I = L·i
Слайд 28
Алфавитный подход
каждый символ несёт одинаковое количество информации
частота появления
разных символов (и сочетаний символов) не учитывается
количество информации определяется
только длиной сообщения и мощностью алфавита
смысл сообщения не учитывается
Слайд 29
Кодирование символов
Кодирование графической информации
Кодирование звуковой
и видеоинформации
Слайд 30
Зачем кодировать информацию?
Кодирование — это представление информации в
форме, удобной для её хранения, передачи и обработки.
В
компьютерах используется двоичный код:
10101001010
данные (код)
передача
11111100010
данные (код)
хранение
передача
кодирование
обработка
Слайд 31
Кодирование информации
Кодирование символов
Слайд 32
Кодирование символов
100000
101000
011101
111100
Общий подход:
нужно использовать N символов
выберем число битов
k на символ: 2k ≥ N
сопоставим каждому символу код
– число от 0 до 2k – 1
переведем коды в двоичную систему
Система Брайля:
Слайд 33
Кодирование символов
Текстовый файл
на экране (символы)
в памяти – коды
Файлы
со шрифтами: *.fon, *.ttf, *.otf
Слайд 34
Кодировка ASCII (7-битная)
ASCII = American Standard Code for
Information Interchange
Коды 0-127:
0-31 управляющие символы:
7 – звонок, 10
– новая строка,
13 – возврат каретки, 27 – Esc.
32 пробел
знаки препинания: . , : ; ! ?
специальные знаки: + - * / () {} []
48-57 цифры 0..9
65-90 заглавные латинские буквы A-Z
97-122 строчные латинские буквы a-z
Слайд 35
8-битные кодировки
Кодовые страницы (расширения ASCII):
таблица ASCII
национальный алфавит
Для русского
языка:
CP-866 для MS DOS
CP-1251 для Windows
(Интернет)
КОI8-R для UNIX (Интернет)
MacCyrillic для компьютеров Apple
Проблема:
Слайд 36
8-битные кодировки
1 байт на символ – файлы небольшого
размера!
просто обрабатывать в программах
нельзя использовать символы разных кодовых страниц
одновременно (русские и французские буквы, и т.п.)
неясно, в какой кодировке текст (перебор вариантов!)
для каждой кодировки нужен свой шрифт (изображения символов)
Слайд 37
Стандарт UNICODE
1 112 064 знаков, используются около 100
000
Windows: UTF-16
16 битов на распространённые символы,
32 бита на редко
встречающиеся
Linux: UTF-8
8 битов на символ для ASCII,
от 16 до 48 бита на остальные
совместимость с ASCII
более экономична, чем UTF-16, если много символов ASCII
Слайд 38
Кодирование информации
Кодирование графической информации
Слайд 39
Растровое кодирование
Пиксель – это наименьший элемент рисунка, для
которого можно задать свой цвет.
дискретизация
пиксель
Растровое изображение – это изображение,
которое кодируется как множество пикселей.
Слайд 40
Растровое кодирование
1A2642FF425A5A7E16
Слайд 41
Разрешение
Разрешение – это количество пикселей, приходящихся на дюйм
размера изображения.
ppi = pixels per inch, пикселей на дюйм
300
ppi
96 ppi
48 ppi
24 ppi
печать
экран
1 дюйм = 2,54 см
Слайд 44
Цветовая модель RGB
(0, 0, 0)
(255, 255, 255)
(255, 0,
0)
(0, 255, 0)
(255, 255, 0)
(0, 0, 255)
(255, 150, 150)
(100,
0, 0)
256·256·256 = 16 777 216 (True Color, «истинный цвет»)
Слайд 45
Цветовая модель RGB
(255, 255, 0) → #FFFF00
Слайд 46
Глубина цвета
R G B: 24 бита = 3
байта
R (0..255)
256 = 28 вариантов
8 битов =
1 байт
Глубина цвета — это количество битов, используемое для кодирования цвета пикселя.
True Color (истинный цвет)
Задача. Определите размер файла, в котором закодирован растровый рисунок размером 20×30 пикселей в режиме истинного цвета (True Color)?
20 ⋅ 30 ⋅ 3 байта = 1800 байт
Слайд 47
Кодирование с палитрой
уменьшить разрешение
уменьшить глубину цвета
снижается качество
Цветовая палитра
– это таблица, в которой каждому цвету, заданному в
виде составляющих в модели RGB, сопоставляется числовой код.
Слайд 48
Кодирование с палитрой
Палитра:
2 бита на пиксель
3⋅4 = 12
байтов
Слайд 49
Кодирование с палитрой
Шаг 1. Выбрать количество цветов: 2,
4, … 256.
Шаг 2. Выбрать 256 цветов из палитры:
Шаг
3. Составить палитру (каждому цвету – номер 0..255)
палитра хранится в начале файла
Шаг 4. Код пикселя = номеру его цвета в палитре
Слайд 50
Кодирование с палитрой
Файл с палитрой:
Слайд 51
Растровые рисунки: форматы файлов
Слайд 52
Кодирование цвета при печати (CMYK)
Белый – красный =
голубой C = Cyan
Белый – зелёный = пурпурный M = Magenta
Белый – синий = желтый Y = Yellow
Модель CMY
C
M
Y
0
0
0
255
255
0
255
0
255
0
255
255
255
255
255
Модель CMYK: + Key color
меньший расход краски и лучшее качество для чёрного и серого цветов
Слайд 53
RGB и CMYK
не все цвета, которые показывает монитор
(RGB), можно напечатать (CMYK)
при переводе кода цвета из RGB
в CMYK цвет искажается
видит человек
RGB
CMYK
RGB(0,255,0)
CMYK(65,0,100,0)
→ RGB(104,175,35)
Слайд 54
Цветовая модель HSB (HSV)
HSB = Hue (тон, оттенок)
Saturation (насыщенность)
Brightness (яркость) или Value (величина)
Тон (H)
↓ насыщенность – добавить белого
↓ яркость – добавить чёрного
Слайд 55
Цветовая модель Lab
Международный стандарт кодирования цвета, независимого от
устройства (1976 г.)
Основана на модели восприятия цвета человеком.
Lab =
Lightness (светлота)
a, b (задают цветовой тон)
Светлота 75%
Светлота 25%
для перевода между цветовыми моделями:
RGB → Lab → CMYK
для цветокоррекции фотографий
Слайд 56
Профили устройств
RGB(255,0,0)
RGB(255,0,0)
как λ ≈ 680нм
λ ≈ 680нм
RGB(225,10,20)
профиль монитора
профиль
сканера
CMYK(0,100,100,0)
профиль принтера
Слайд 57
Растровое кодирование: итоги
универсальный метод (можно закодировать любое изображение)
единственный
метод для кодирования и обработки размытых изображений, не имеющих
чётких границ (фотографий)
есть потеря информации (почему?)
при изменении размеров цвет и форма объектов на рисунке искажается
размер файла не зависит от сложности рисунка (а от чего зависит?)
Слайд 58
Векторное кодирование
Рисунки из геометрических фигур:
отрезки, ломаные, прямоугольники
окружности, эллипсы,
дуги
сглаженные линии (кривые Безье)
Для каждой фигуры в памяти хранятся:
размеры
и координаты на рисунке
цвет и стиль границы
цвет и стиль заливки (для замкнутых фигур)
Слайд 59
Векторное кодирование
Кривые Безье:
Хранятся координаты узлов и концов «рычагов»
(3 точки для каждого узла, кривые 3-го порядка).
угловой
узел
Слайд 60
Векторное кодирование (итоги)
лучший способ для хранения чертежей, схем,
карт
при кодировании нет потери информации
при изменении размера нет искажений
меньше
размер файла, зависит от сложности рисунка
неэффективно использовать для фотографий и размытых изображений
Слайд 61
Векторное кодирование: форматы файлов
WMF (Windows Metafile)
EMF (Windows Metafile)
CDR
(программа CorelDraw)
AI (программа Adobe Illustrator)
SVG (Scalable Vector Graphics, масштабируемые
векторные изображения)
для веб-страниц
Слайд 62
Кодирование информации
Кодирование звуковой и видеоинформации
Слайд 63
Оцифровка звука
Оцифровка – это преобразование аналогового сигнала в
цифровой код (дискретизация).
– интервал дискретизации (с)
– частота дискретизации
(Гц, кГц)
8 кГц – минимальная частота для распознавания речи
11 кГц, 22 кГц,
44,1 кГц – качество CD-дисков
48 кГц – фильмы на DVD
96 кГц, 192 кГц
Человек слышит
16 Гц … 20 кГц
Слайд 64
Оцифровка звука: квантование
3-битное кодирование:
8 битов = 256
уровней
16 битов = 65536 уровней
24 бита = 224 уровней
АЦП
= Аналого-Цифровой Преобразователь
Квантование (дискретизация по уровню) – это представление числа в виде цифрового кода конечной длины.
Разрядность кодирования — это число битов, используемое
для хранения одного отсчёта.
Слайд 65
Оцифровка звука
Как восстановить сигнал?
без сглаживания
после сглаживания
уменьшать T
↑ размер
файла
аналоговые устройства!
ЦАП = Цифро-Аналоговый Преобразователь
было до оцифровки
Слайд 66
Оцифровка – итог
можно закодировать любой звук (в т.ч.
голос, свист, шорох, …)
есть потеря информации
большой объем файлов
Форматы файлов:
WAV
(Waveform audio format), часто без сжатия (размер!)
MP3 (MPEG-1 Audio Layer 3, сжатие с учётом
восприятия человеком)
AAC (Advanced Audio Coding, 48 каналов, сжатие)
WMA (Windows Media Audio, потоковый звук, сжатие)
OGG (Ogg Vorbis, открытый формат, сжатие)
Слайд 67
Инструментальное кодирование
MIDI (Musical Instrument Digital Interface — цифровой
интерфейс музыкальных инструментов).
в файле .mid:
нота (высота, длительность)
музыкальный инструмент
параметры звука
(громкость, тембр)
до 1024 каналов
в памяти звуковой карты:
образцы звуков (волновые таблицы)
MIDI-клавиатура:
нет потери информации при кодировании инструментальной музыки
небольшой размер файлов
невозможно закодировать
нестандартный звук, голос
программа для звуковой карты!
128 мелодических и 47 ударных
Слайд 68
Трекерная музыка
В файле (модуле):
образцы звуков (сэмплы)
нотная запись, трек
(track) – дорожка
музыкальный инструмент
до 32 каналов
Использование: демосцены (важен размер
файла)
Форматы файлов:
MOD разработан для компьютеров Amiga
S3M оцифрованные каналы + синтезированный звук, 99 инструментов
XM, STM, …
Слайд 69
Кодирование видео
Синхронность!
изображения:
≥ 25 кадров в секунду
PAL: 768×576, 24
бита
за 1 с: 768×576×25×3
байта ≈ 32 Мб
за 1 мин: 60×32 Мбайта ≈ 1,85 Гб
HDTV: 1280×720, 1920×1080.
исходный кадр + изменения (10-15 с)
сжатие (кодеки – алгоритмы сжатия)
DivX, Xvid, H.264, WMV, Ogg Theora…
звук:
48 кГц, 16 бит
сжатие (кодеки – алгоритмы сжатия)
MP3, AAC, WMA, …