- •Лекция 1. Введение Понятие информатики
- •Информационное общество
- •Структура информатики
- •Лекция 2. Информация, сообщения, сигналы
- •Виды информации
- •Лекция 3. Количество и качество информации Количественные характеристики информации Синтаксическая мера информации
- •Семантическая мера информации
- •Качественные характеристики информации
- •Лекция 4-5. Кодирование информации в компьютере
- •Кодирование текстовой информации
- •Кодирование графической информации
- •Растровое изображение
- •Цветовые модели
- •Модель hsb
- •Модель rgb
- •Модель cmyk
- •Графические режимы
- •Векторное и фрактальное изображения
- •Кодирование звуковой информации
- •Цифро-аналоговое и аналого-цифровое преобразование звуковой информации
- •Параметры семплирования
- •Сжатие информации
- •Сжатие без потерь
- •Лекция 6. Информационные процессы и системы Информационные революции
- •Понятие информационной системы
- •Этапы развития информационных систем
- •Процессы в ис
- •Структура информационной системы
- •Лекция 7-8 Информационные технологии
- •Составляющие ит
- •Информационная технология обработки данных
- •Основные компоненты
- •Информационная технология управления
- •Основные компоненты
- •Автоматизация офиса
- •Информационная технология поддержки принятия решений
- •Информационная технология экспертных систем
- •Основные компоненты
- •Проблемы использования ит Устаревание ит
- •Выбор вариантов внедрения ит в фирме
- •Лекция 9. Функциональная и структурная организация компьютера Общая схема эвм
- •Основные блоки пк и их значение
- •Внутримашинный системный интерфейс
- •Локальные шины
- •Микропроцессоры Назначение и типы мп
- •Структура мп
- •Основная память Физическая структура оп
- •Логическая структура оп
- •Дисковые накопители внешней памяти
- •Внешние устройства пк Видеотерминальные устройства
- •Принтеры
- •Сканеры
- •Лекция 13. Характеристики и классификация компьютеров Функциональные характеристики компьютеров
- •Классификация эвм
- •Большие эвм
- •Малые эвм
- •Персональные компьютеры
- •СуперЭвм.
- •Серверы.
- •Переносные компьютеры.
- •Лекция 14-15. Компьютерные сети Основные понятия
- •Классификация вычислительных сетей
- •Процесс передачи информации
- •Формы взаимодействия абонентских эвм
- •Модель взаимодействия открытых систем
- •Протоколы компьютерной сети
- •Локальные вычислительные сети
- •Основные топологии лвс
- •Физическая передающая среда лвс
- •Методы доступа к передающей среде
- •Способы объединения лвс
- •Глобальная сеть Internet
- •Лекция 17. Программное обеспечение Основные понятия
- •Классификация программного обеспечения
- •Системное программное обеспечение
- •Инструментарий технологии программирования
- •Пакеты прикладных программ
- •Защита программного обеспечения
Сжатие информации
Кодирование делится на три большие группы - сжатие (эффективные коды), помехоустойчивое кодирование и криптография.
Коды, предназначенные для сжатия информации, делятся, в свою очередь, на коды без потерь и коды с потерями.
Кодирование без потерь подразумевает абсолютно точное восстановление данных после декодирования и может применяться для сжатия любой информации.
Кодирование с потерями имеет обычно гораздо более высокую степень сжатия, чем кодирование без потерь, но допускает некоторые отклонения декодированных данных от исходных.
Сжатие с потерями применяется в основном для графики (JPEG), звука (MP3), видео (MPEG), то есть там, где мелкие отклонения от оригинала незаметны или несущественны, а степень сжатия в силу огромных размеров файлов очень важна.
Сжатие без потерь применяется во всех остальных случаях - для текстов, исполняемых файлов, высококачественного звука и графики и т.д. и т.п.
Сжатие необходимо для сокращения длины сообщения и уменьшения времени для его передачи по каналам связи. Все используемые методы упаковки информации можно разделить на два класса: упаковка без потери информации и упаковка с потерей информации.
Сжатие представляет собой предмет выбора оптимального решения. Более эффективный алгоритм требует больше процессорной мощности или времени, необходимого для декодирования информации.
Сжатие без потерь
Один из самых простых способов сжатия информации – групповое кодирование. В соответствии с этой схемой серии повторяющихся величин (например, число) заменяются единственной величиной и количеством. Например, аbbbbccdddeeee заменяется на 1a4b2c3d4e. Формат графических файлов PCX использует этот метод.
Простейшие алгоритмы сжатия, называемые также алгоритмами оптимального кодирования, основаны на учете распределения вероятностей элементов исходного сообщения (текста, изображения, файла). На практике обычно в качестве приближения к вероятностям используют частоты встречаемости элементов в исходном сообщении. Вероятность — абстрактное математическое понятие, связанное с бесконечными экспериментальными выборками данных, а частота встречаемости — величина, которую можно вычислить для конечных множеств данных. При достаточно большом количестве элементов в множестве экспериментальных данных можно говорить, что частота встречаемости элемента близка (с некоторой точностью) к его вероятности.
Если вероятности неодинаковы, то имеется возможность наиболее вероятным (часто встречающимся) элементам сопоставить более короткие кодовые слова и, наоборот, маловероятным элементам сопоставить более длинные кодовые слова. Таким способом можно уменьшить среднюю длину кодового слова. Оптимальный алгоритм кодирования делает это так, чтобы средняя длина кодового слова была минимальной, т. е. при меньшей длине кодирование станет необратимым. Такой алгоритм существует, он был разработан Хаффманом и носит его имя. Этот алгоритм используется, например, при создании файлов в формате JPEG.
Методом Хаффмана представляет общую схему сжатия, которая имеет много вариантов. Основная схема – присвоение двоичного кода каждой уникальной величине, причем длина этих кодов различна.
Для того чтобы сформировать минимальный код для каждого символа сообщения, используется двоичное дерево. В основном алгоритме метода объединяются вместе элементы, повторяющиеся наименее часто, затем пара рассматривается как один элемент и их частоты объединяются. Это повторяется до тех пор, пока все элементы не объединятся в пары.
Рассмотрим пример. Пусть дано сообщение abbbcccddeeeeeeeeef.
Частоты символов: а: 1, b: 3, c: 3, d: 2, e: 9, f: 1.
Н аиболее редко используемы в этом примере a и f, так что они становятся первой парой: a – присваивается нулевая ветвь, а f – первая. Это означает, что 0 и 1 будут младшими битами для a и f соответственно. Старшие биты будут получены после построения дерева (рис. 2.4).
Р ис. 2.4
Частоты первых двух символов (a и f) суммируются, что дает 2. Поскольку теперь самая низкая частота 2, эта пара объединяется с d (тоже имеет частоту - 2). Исходной паре присваивается нулевая ветвь, а d – первая. Теперь код для a заканчивается на 00, f – на 01, d – на 1. Код для d будет короче на 1 бит. Дерево строится подобным образом для всех символов. Получаем следующие коды:
0000 – a,
0001 – f,
001 – d,
010 – b,
011 – с,
1 – e.
Исходная последовательность будет закодирована следующим образом: 00000100100100110110110010011111111110001.
Полученная таблица кодов передается приемнику информации и используется при декодировании. По алгоритму Хаффмана наименее распространенные символы кодируются более длинным кодом, наиболее распространенные – коротким.
В результате может быть получена степень сжатия 8:1, что зависит от исходного формата представления информации (1 байт на 1 символ, например, или 2 байта).
Схема Хаффмана работает не так хорошо для информации, содержащей длинные последовательности повторяющихся символов, которые могут быть сжаты лучше с использованием групповой или какой-либо другой схемы кодирования.
Вследствие того, что алгоритм Хаффмана реализуется в два прохода (1 – накопление статистики при построении статистической модели, 2 – кодирование), компрессия и декомпрессия в данном алгоритме – сравнительно медленные процессы.
Другая проблема заключается в чувствительности к отброшенным или добавленным битам. Поскольку все биты сжимаются без учета границ байта, единственный способ, при помощи которого дешифратор может узнать о завершении кода, – достигнуть конца ветви. Если бит отброшен или добавлен, дешифратор начинает обработку с середины кода, и остальная часть данных становится бессмыслицей.Полученная таблица кодов передается приемнику информации и используется при декодировании. По алгоритму Хаффмана наименее распространенные символы кодируются более длинным кодом, наиболее распространенные – коротким.
В результате может быть получена степень сжатия 8:1, что зависит от исходного формата представления информации (1 байт на 1 символ, например, или 2 байта).
Схема Хаффмана работает не так хорошо для информации, содержащей длинные последовательности повторяющихся символов, которые могут быть сжаты лучше с использованием групповой или какой-либо другой схемы кодирования.
Вследствие того, что алгоритм Хаффмана реализуется в два прохода (1 – накопление статистики при построении статистической модели, 2 – кодирование), компрессия и декомпрессия в данном алгоритме – сравнительно медленные процессы.
Другая проблема заключается в чувствительности к отброшенным или добавленным битам. Поскольку все биты сжимаются без учета границ байта, единственный способ, при помощи которого дешифратор может узнать о завершении кода, – достигнуть конца ветви. Если бит отброшен или добавлен, дешифратор начинает обработку с середины кода, и остальная часть данных становится бессмыслицей.
Сжатие с потерей информации
используется для упаковки графических изображений. Этот метод основан на особенности человеческого восприятия изображений. Для человеческого глаза яркость более существенна, чем информация о цветовом фоне или насыщенности точки. Поэтому при упаковке можно выбросить данные о цвете каждой второй точки изображения (сохранив только её яркость), а при распаковке брать вместо выброшенного цвет соседней точки. Распакованная картинка будет отличаться от исходной, но отличие будет практически незаметно. За высокое качество упаковки приходиться платить большими затратами времени на распаковку. Алгоритмы, дающие очень хорошее качество упаковки, могут оказаться неприменимыми из-за слишком большого времени, требуемого на распаковку. Например, если время распаковки одного кадра фильма равно одной секунде, то такой фильм придётся смотреть только после предварительной распаковки. Примером использования такого алгоритма является формат хранения изображений JPEG и производный видеоформат MPEG.
Из всех видов информации, используемых в компьютерах, хуже всего поддаётся сжатию звук. Это связано с тем, что звуковые сигналы обладают малой избыточностью (в закодированных звуковых фрагментах редко попадаются повторяющиеся последовательности байтов). Даже методы сжатия с потерей информации не позволяют упаковать звук более чем в два раза без заметного снижения качества, тогда как графические изображения можно сжимать в десятки раз без потери качества изображения.
Поэтому применяется метод компандирования: если повышать громкость звука в 2, 4, 8 и так далее раз, то человеческое ухо будет воспринимать это как линейное увеличение интенсивности звука. Значит, изменение громкости от 1 до 2 столь же заметно, сколько от 100 до 200, таким образом, при компандировании значение амплитуды звука заменяется логарифмом этого значения. Полученные числа округляются и записываются в ячейки меньшей длины. Такое кодирование сжимает информацию как раз вдвое.