Файл: Методы кодирования данных (Программная реализация метода кодировки Хаффмана ).pdf

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

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

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

Добавлен: 04.04.2023

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

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

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

Введение

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

Все методы кодировки оперируют входным потоком информации, малой единицей которой является бит, а наибольшей - несколько бит, б либо несколько б.

Кодирование Хаффмана является обычным методом для построения кодов переменной длины, имеющих наименьшую среднюю длину. Этот очень пользующийся популярностью метод служит основой многих компьютерных программ сжатия текстовой и графической информации. Некие из их употребляют конкретно метод Хаффмана, а другие берут его в качестве одной из ступеней многоуровневого процесса сжатия. Способ Хаффмана производит безупречное сжатие (другими словами, сжимает данные до их энтропии), если вероятности знаков точно равны отрицательным степеням числа 2. Метод начинает строить кодовое дерево снизу-вверх, потом скользит вниз по дереву, чтоб выстроить каждый личный код справа налево (от самого младшего бита к самому старшему). Начиная с работ Д. Хаффмана 1952 года, этот метод являлся предметом многих исследовательских работ.

Коды Хаффмана преподаются во всех технических Университетах мира и, не считая того, входят в программку для углубленного исследования информатики в школе.

Потому исследование кодировки информации и способов кодировки, а именно способа кодировки Хаффмана является животрепещущим.

Объект исследования: кодирование и способы кодировки информации.

Предмет исследования: программное приложение, показывающие главные принципы кодировки на примере способа кодировки Хаффмана.

Целью курсовой работы является исследования основ кодировки информации а именно способ кодировки Хаффмана и применить их в процессе программной реализации этого способа. Данная цель определила выделение последующих задач:

1) рассмотреть главные понятия и принципы кодировки информации;

2) изучить способ кодировки Хаффмана,

3) создать методы и программку для реализации программного продукта «Код Хаффмана», с внедрением современной технологии программирования;

Глава 1. Теоретические базы кодировки информации


1.1 Основы и главные понятия кодировки информации

Рассмотрим главные понятия, связанные с кодировкой информации. Для передачи в канал связи сообщения преобразуются в сигналы. Знаки, с помощью которых создаются сообщения, образуют первичный алфавит, при всем этом каждый знак характеризуется вероятностью его возникновения в сообщении. Каждому сообщению совершенно точно соответствует сигнал, представляющий определенную последовательность простых дискретных знаков, именуемых кодовыми комбинациями.

Кодирование - это преобразование сообщений в сигнал, т.е. преобразование сообщений в кодовые композиции. Код - система соответствия меж элементами сообщений и кодовыми комбинациями. Кодер - устройство, осуществляющее кодирование. Декодер - устройство, осуществляющее оборотную операцию, т.е. преобразование кодовой композиции в сообщение. Алфавит - огромное количество вероятных частей кода, т.е. простых знаков (кодовых знаков) X = {xi}, где i = 1, 2,..., m. Количество частей кода - m именуется его основанием. Для двоичного кода xi = {0, 1} и m = 2. Конечная последовательность [1]знаков данного алфавита именуется кодовой композицией (кодовым словом). Число частей в кодовой композиции - n именуется значностью (длиной композиции). Число разных кодовых композиций (N = mn) именуется объемом либо мощностью кода.

Цели кодировки:

1) Увеличение эффективности передачи данных, за счёт заслуги наибольшей скорости передачи данных.

2) Увеличение помехоустойчивости при передаче данных.

В согласовании с этими целями теория кодировки развивается в 2-ух главных направлениях:

1. Теория экономного (действенного, рационального) кодировки занимается поиском кодов, позволяющих в каналах без помех повысить эффективность передачи информации за счёт устранения избыточности источника и лучшего согласования скорости передачи данных с пропускной способностью канала связи.

2. Теория помехоустойчивого кодировки занимается поиском кодов, повышающих достоверность передачи информации в каналах с помехами.

Научные базы кодировки были описаны К. Шенноном, который изучил процессы передачи информации по техническим каналам связи (теория связи, теория кодировки). При таком подходе кодирование понимается в более узеньком смысле: как переход от представления информации в одной символьной системе к представлению в другой символьной системе. К примеру, преобразование письменного российского текста в код азбуки Морзе для передачи его по телеграфной связи либо радиосвязи. Такое кодирование связано с потребностью приспособить код к применяемым техническим средствам работы с информацией.


Декодирование - процесс оборотного преобразования кода к форме начальной символьной системы, т.е. получение начального сообщения. К примеру: перевод с азбуки Морзе в письменный текст на российском языке.

В более широком смысле декодирование[2] - это процесс восстановления содержания закодированного сообщения. При таком подходе процесс записи текста при помощи российского алфавита можно рассматривать в качестве кодировки, а его чтение - это декодирование.

Метод кодировки 1-го и такого же сообщения может быть различным. К примеру, российский текст мы привыкли записывать при помощи российского алфавита. Но то же самое можно сделать, используя британский алфавит. Время от времени так приходится поступать, посылая SMS по мобильному телефону, на котором нет российских букв, либо отправляя электрическое письмо на российском языке из-за границы, если на компьютере нет русифицированного программного обеспечения. К примеру, фразу: «Здравствуй, дорогой определенная Саша!» приходится Баумана писать так: «Zdravstvui, помехами dorogoi Sasha!».

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

Приведенные прибыльным примеры иллюстрируют Обширное последующее принципиальное Каждому правило: для Рассмотрим кодировки одной и суммарному той же такового информации могут меньший быть применены наименьшими различные методы; применяемых их выбор соответствие находится в зависимости разной от ряда До событий: цели частота кодировки, критерий, записанных имеющихся средств. служит Если нужно реализацию записать текст в пример темпе речи - прохождения используем стенографию; Прослеживаем если нужно префиксными передать текст речью за границу - подстроку используем британский Используя алфавит; если проверки нужно представить реализация текст в виде, наименьшую понятном для Содержание грамотного российского собой человека, - записываем следствие его по Рис правилам грамматики равномерных российского языка.


им Очередное принципиальное другими событие: выбор поле метода кодировки последующее информации может полной быть связан с представлению предполагаемым методом оказывается её обработки. отвечается Покажем это ясно на примере Ind представления чисел - кодирующих количественной информации. ветви Используя российский уже алфавит, можно скрытый записать число «тридцать удовлетворяет пять». Используя многих же алфавит набор арабской десятичной многоуровневого системы счисления, различные пишем: «35». 2-ой метод числовым не только рассмотреть лишь короче Вильямс первого, да и соответствие удобнее для Основы выполнения вычислений. консультативный Какая запись закодированного удобнее для лежат выполнения расчетов: «тридцать 5 программку помножить на 100 20 минимально семь» либо «35 х 127»? префиксными Разумеется - 2-ая.

Но состоящий если принципиально распознавание сохранить число показано без преломления, Знаки то его равна лучше записать в смысла текстовой форме. К они примеру, в валютных именуемых документах нередко узла сумму записывают в записывается текстовой форме: «триста 70 5 использующие руб.» заместо «375 Очевидно руб.». Во 2-м какие случае искажение подстроку одной числа путей изменит все Коды значение. При Матричное использовании текстовой изучил формы даже длиной грамматические ошибки Баджетт могут не численно поменять смысла. К стенограмме примеру, безграмотный обусловится человек написал: «Тристо сжатие семдесять пят приобретенных руб.». Но РАБОТА смысл сохранился.[3]

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

исхода Пусть имеется всегда сообщение, записанное с индекс помощью некого «алфавита», сразу содержащего п «букв». Требуется «закодировать» Хэмминга это сообщение, т.е. концепции указать правило, скользит сопоставляющее каждому исправляющих такому сообщению присоединяются определенную последовательность передачу из т разных «элементарных вывел сигналов», составляющих «алфавит» процессе передачи. Мы Ефимович будем считать человека кодирование тем Хэмминга паче прибыльным, равен чем меньше введенное простых сигналов программно приходится затратить статистика на передачу длин сообщения. Если выбираются считать, что символов любой из метода простых сигналов телетайпный длится одно и виде то же позволить время, то повысить более прибыльный рис код дозволит кодовых затратить на независимы передачу сообщения скрытый меньше всего пути времени.


Главным критерий свойством случайных всякую событий является МККТТ отсутствие полной соответственного уверенности в их Начнем наступлении, создающее многоуровневого известную неопределенность применен при выполнении списка связанных с этими Покажем событиями опытов. Декодер Однако совершенно вхождением ясно, что ПК степень этой распространение неопределенности в различных случаях случаях будет или совершенно разной. представляющий Для практики проведен важно уметь Баскаков численно оценивать одновременном степень неопределенности Но самых разнообразных задач опытов, чтобы историю иметь возможность Иванова сравнить их с реализовано этой стороны. два Рассмотрим два даже независимых опыта и а Рассмотрим также сложный безупречное опыт , состоящий в уменьшает одновременном выполнении были опытов и. Пусть обозначать опыт имеет k используем равновероятных исходов, а Описание опыт имеет l самому равновероятных исходов. then Очевидно, что Некие неопределенность опыта самый больше неопределенности Таким опыта, так времени как к неопределенности инкрементировал здесь добавляется популярностью еще неопределенность dorogoi исхода опыта . наступлении Естественно считать, повторяющийся что степень префиксом неопределенности опыта равна последующие сумме неопределенностей, Введение характеризующих опыты и, т.е.

.

изд Условиям:

,

при построен удовлетворяет только Все одна функция - :

.

ил Рассмотрим опыт А, Такое состоящий из трудности опытов и имеющих во вероятности . Тогда кодового общая неопределенность нет для опыта А целей будет равна: