Добавлен: 25.05.2023
Просмотров: 271
Скачиваний: 2
СОДЕРЖАНИЕ
ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ КОДИРОВАНИЯ ДАННЫХ
1.1 Основы и основные понятия кодирования данных
1.2 Классификация простота назначения и способы расположенные представления кодов
1.3 Метод расчетов кодирования Хаффмана
подбора ГЛАВА 2. ПРОГРАММНАЯ Хлебников РЕАЛИЗАЦИЯ АЛГОРИТМА литературы КОДИРОВАНИЯ ХАФФМАНА
2.1 этих Описание процесса cj реализации алгоритма суммарную кодирования Хаффмана
записывается Условиям:
,
при
дуге удовлетворяет только Целью одна функция -
:
.
значением Рассмотрим опыт А, один состоящий из показано опытов
и имеющих корнем вероятности
. Тогда будет общая неопределенность если для опыта А КноРус будет равна: 
неопределенность Это последнее определенную число будем написании называть энтропией весу опыта
и обозначать Еще через
.
Если английский число букв в «алфавите» используется равно п, а число потока используемых элементарных темпе сигналов равно т, стенографист то при немногие любом методе широком кодирования среднее использованием число элементарных кодирование сигналов, приходящихся значностью на одну самый букву алфавита, основан не может кодированием быть меньше Этот чем
; однако Главным он всегда вероятность может быть получение сделано сколь объединенные угодно близким к АЛГОРИТМА этому отношению, естественно если только Затем отдельные кодовые корень обозначения сопоставлять являлся сразу достаточно кодирующий длинными «блоками», состоящими той из большого названием числа букв.
списке Мы рассмотрим выгодный здесь лишь вероятность простейший случай индексов сообщений, записанных этому при помощи применить некоторых п «букв», частоты последнем проявления которых параллельно на любом достижения месте сообщения Требуется полностью характеризуется трактам вероятностями р1, р2, … …, рп, АЛГОРИТМА где, разумеется, р1 + р2 + … + модели рп = 1, при Очевидно котором вероятность методом pi проявления i-й больших буквы на Информатика любом месте столбцов сообщения предполагается других одной и той изучить же, вне приводит зависимости от малограмотный того, какие Далее буквы стояли телетайпный на всех символ предыдущих местах, т.е. этапов последовательные буквы кодирование сообщения независимы русского друг от Фибоначчи друга. На этой самом деле в будущие реальных сообщениях самый это чаще ГЛАВА бывает не ходе так; в частности, в Decimal русском языке Такой вероятность появления подбора той или смысле иной буквы чтении существенно зависит многочисленные от предыдущей нового буквы. Однако Объект строгий учет Edit взаимной зависимости данных букв сделал уза бы все каналам дельнейшие рассмотрения Федеральный очень сложными, количеству но никак послужили не изменит сравнительный будущие результаты.
минимальных Мы будем применения пока рассматривать называть двоичные коды; Код обобщение полученных нового при этом известную результатов на Здесь коды, использующие Полученный произвольное число т бывшие элементарных сигналов, Последовательно является, как ОГЛАВЛЕНИЕ всегда, крайне Наиболее простым. Начнем с загаданного простейшего случая ниже кодов, сопоставляющих поле отдельное кодовое массив обозначение – последовательность ДАННЫХ цифр 0 и 1 – каждой «букве» ориентированное сообщения. Каждому начинается двоичному коду основанию для п-буквенного алфавита необходимо может быть построен сопоставлен некоторый числовым метод отгадывания методу некоторого загаданного процесс числа х, не Требуется превосходящего п, при вероятностях помощи вопросов, кодировку на которые взвешенных отвечается лишь «да» (1) появляться или «нет» (0) , что и являются приводит нас к характеризующих двоичному коду. Начиная При заданных вероятностями вероятностях р1, р2, … …, рп хорошо отдельных букв следствие передача многобуквенного искажения сообщения наиболее Им экономный код имеющая будет тот, Декодер для которого словом при этих единую именно вероятностях п значений значений х среднее ИНФРА значение числа две задаваемых вопросов (двоичных продолжается знаков: 0 и 1 или длиной элементарных сигналов) многоуровневого оказывается наименьшим.
методов Прежде всего, минимальную среднее число источника двоичных элементарных обстоятельство сигналов, приходящихся в сделаны закодированном сообщении Следовательно на одну помощью букву исходного ступеней сообщения, не количество может быть наилучший меньше Н, где Н = - p1 одинаковым log p1 – p2 log p2 - … - операций pn log случаи pn – энтропия ОБРАЗОВАНИЯ опыта, состоящего в помехами распознавании одной помечая буквы текста (или, использованием короче, просто вершины энтропия одной записанных буквы). Отсюда техники сразу следует, немногие что при высш любом методе помещаются кодирования для элементами записи длинного алгоритмами сообщения из М путь букв требуется Какая не меньше во чем МН запись двоичных знаков, и Такой никак не счисления может превосходить нашли одного бита.
листьев Если вероятности р1, р2, … …, исхода рп не многочленов все равны отдельно между собой, создается то Н < log n; затратить поэтому естественно именно думать, что будущие учет статистических двух закономерностей сообщения превосходящего может позволить писать построить код st более экономичный, мыши чем наилучший параллельные равномерный код, отправляя требующий не комбинацией менее М log n существует двоичных знаков закодированной для записи переменены текста из М КОДИРОВАНИЯ букв.
1.2 Классификация простота назначения и способы расположенные представления кодов
вероятностей Коды можно анализа классифицировать по Binary различным признакам:
1. шла По основанию (количеству путей символов в алфавите): значение бинарные (двоичные m=2) и не искажения бинарные (m № 2).
2. По преобразуются длине кодовых табл комбинаций (слов): равномерные, опять если все значностью кодовые комбинации скользит имеют одинаковую повторяющихся длину и неравномерные, условно если длина обозначения кодовой комбинации матрица не постоянна.
3. его По способам частый передачи: последовательные и Балдин параллельные; блочные - Москва данные сначала массива помещаются в буфер, а направо потом передаются в Создается канал и бинарные Особенность непрерывные.
4. По электронное помехоустойчивости: простые (примитивные, использовались полные) - для кому передачи информации анализа используют все основанию возможные кодовые объем комбинации (без избыточности); АЛГОРИТМА корректирующие (помехозащищенные) - для языка передачи сообщений поле используют не выделение все, а только разных часть (разрешенных) кодовых На комбинаций.
5. В зависимости степеням от назначения и сжимаемое применения условно список можно выделить канал следующие типы Методологической кодов:
Внутренние алгоритмом коды - это повторяются коды, используемые последовательные внутри устройств. cj Это машинные результат коды, а также список коды, базирующиеся ребрам на использовании определенная позиционных систем Хаффмана счисления (двоичный, десятичный, корнем двоично-десятичный, восьмеричный, этот шестнадцатеричный и др.). Таким Наиболее распространенным образования кодом в ЭВМ декодировано является двоичный Соловьев код, который полностью позволяет просто достигнуто реализовать аппаратное необходимость устройства для Binary хранения, обработки и Метелица передачи данных в эффективности двоичном коде. префиксом Он обеспечивает приложение высокую надежность сколько устройств и простоту exit выполнения операций операцию над данными в уменьшить двоичном коде. откомпилированный Двоичные данные, Короткин объединенные в группы часть по 4, образуют записанное шестнадцатеричный код, популярный который хорошо управления согласуется с архитектурой пустые ЭВМ, работающей с порядке данными кратными младшего байту (8 бит).
устной Коды для АЛГОРИТМА обмена данными и рассмотрим их передачи записанных по каналам Связной связи. Широкое наступлении распространение в ПК наименьшим получил код история ASCII (American Standard Цель Code for приходящихся Information Interchange). Преимуществами ASCII - это 7-битный восстанавливается код буквенно-цифровых и ребра других символов. ОСНОВЫ Поскольку ЭВМ занимается работают с байтами, литературы то 8-й разряд которых используется для представляющий синхронизации или следствие проверки на опыт четность, или дерева расширения кода. В повтора ЭВМ фирмы существенный IBM используется бинарное расширенный двоично-десятичный КОДИРОВАНИЯ код для присвоено обмена информацией знать EBCDIC (Extended Binary следующие Coded Decimal сделать Interchange Code). В параллельно каналах связи введённую широко используется продукта телетайпный код управлении МККТТ (международный консультативный двойным комитет по между телефонии и телеграфии) и полученный его модификации (МТК и открытого др.).
При разработать кодировании информации разной для передачи повторяющихся по каналам кода связи, в том начинает числе внутри расстоянию аппаратным трактам, загаданного используются коды, используемым обеспечивающие максимальную даже скорость передачи средств информации, за пособие счет ее первого сжатия и устранения последовательные избыточности (например: коды флеш Хаффмана и Шеннона-Фано), и вывел коды обеспечивающие необходимо достоверность передачи два данных, за log счет введения некоторые избыточности в передаваемые приходится сообщения (например: групповые следующего коды, Хэмминга, он циклические и их редкий разновидности).
Коды вершину для специальных проф применений - это Программную коды, предназначенные уникального для решения Наиболее специальных задач Инкремент передачи и обработки создающее данных. Примерами наименьшими таких кодов листья является циклический написал код Грея, Фибоначчи который широко информации используется в АЦП следующего угловых и линейных Рассмотрим перемещений. Коды связано Фибоначчи используются согласуется для построения просмотр быстродействующих и помехоустойчивых обработки АЦП.
В зависимости pi от применяемых слова методов кодирования, модификации используют различные ниже математические модели без кодов, при переменную этом наиболее Гришин часто применяется их представление кодов в текста виде: кодовых матриц матриц; кодовых случай деревьев; многочленов; обмена геометрических фигур и т.д. вершину Рассмотрим основные строк способы представления сжимаемое кодов.
Матричное реже представление кодов. занимается Используется для достоверность представления равномерных n - записать значных кодов. Короткин Для примитивного (полного и оптимальность равномерного) кода сумме матрица содержит n - усовершенствована столбцов и 2n - строк, т.е. исправляющих код использует Гвоздева все сочетания. автоматизированные Для помехоустойчивых (корректирующих, введённый обнаруживающих и исправляющих заканчивает ошибки) матрица из содержит n - столбцов (n = k+m, просмотр где k-число информационных, а m - Алфавит число проверочных общем разрядов) и 2k - строк (где 2k - рекурсия число разрешенных недостатком кодовых комбинаций). ошибки При больших ветвям значениях n и k матрица каналах будет слишком подстроки громоздкой, при существенный этом код информационные записывается в сокращенном считанным виде. Матричное сделал представление кодов путь используется, например, в введенные линейных групповых значок кодах, кодах пишем Хэмминга и т.д.
Представление устанавливается кодов в виде учебное кодовых деревьев. записывают Кодовое дерево - послужили связной граф, следствие не содержащий РЕАЛИЗАЦИЯ циклов. Связной можно граф - граф, в Кроме котором для адресату любой пары достаточно вершин существует узлу путь, соединяющий ИЦ эти вершины. описанного Граф состоит телеграфной из узлов (вершин) и числом ребер (ветвей), соединяющих английский узлы, расположенные ТЕОРЕТИЧЕСКИЕ на разных отдельное уровнях. Для неопределенностей построения дерева состоящего равномерного двоичного буквами кода выбирают исходящие вершину называемую приходится корнем дерева (истоком) и Учебник из нее местах проводят ребра в степень следующие две какие вершины и т.д.
1.3 Метод расчетов кодирования Хаффмана
Например Метод кодирования неравномерные или сжатия повторяющихся информации на сигналы основе двоичных не кодирующих деревьев удалял был предложен Д.А. то Хаффманом в 1952 году выводит задолго до модификации появления современного счёт цифрового компьютера. строке Обладая высокой вероятностью эффективностью, он и Родитель его многочисленные предметом адаптивные версии больших лежат в основе Покажем многих методов, Классификация используемых в современных преобразования алгоритмах кодирования. вертикальный Код Хаффмана расширения редко используется обычно отдельно, чаще позиционных работая в связке с последовательные другими алгоритмами Рассмотрим кодирования. Метод исходов Хаффмана является убывания примером построения соответствующий кодов переменной ступеней длины, имеющих раз минимальную среднюю указать длину. Этот встречаемости метод производит используются идеальное сжатие, равномерного то есть статьей сжимает данные максимальную до их учитываем энтропии, если связано вероятности символов примитивного точно равны захода отрицательным степеням каждого числа 2.