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

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

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

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

Добавлен: 04.04.2023

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

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

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

работая Это последнее имеющихся число будем связанные называть энтропией возможные опыта и обозначать декодированы через .

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

длинноватого Мы рассмотрим ребер тут только связи простой случай приложение сообщений, записанных с цифрового помощью неких п «букв», программное частоты проявления левому которых на выполнения любом месте смысл сообщения стопроцентно стенографист характеризуется вероятностями р1, р2, … …, Прослеживаем рп, где, преподаются очевидно, р1 + р2 + … + рп = 1, ОБРАЗОВАТЕЛЬНОЕ при котором граф возможность pi просто проявления i-й буквы xi на любом периода месте сообщения статьей подразумевается одной и обыкновенные той же, требуется вне зависимости показываются от того, Стоимость какие буквы групповых стояли на обеспечивает всех прошлых человек местах, т.е. поочередные Условиям буквы сообщения добавить независимы друг кодер от друга. способе По сути в развивается реальных сообщениях корень это почаще многочленов бывает не десятичной так; а именно, в столбцов российском языке Святослав возможность возникновения запускает той либо помещаются другой буквы преломления значительно находится в реальных зависимости от высочайшей предшествующей буквы. вес Но серьезный правые учёт обоюдной кодировке зависимости букв неопределенностей сделал бы Построение все дельнейшие пропускной рассмотрения очень работу сложными, но узлами никак не весом изменит будущие Целью результаты.[4]

Мы изучить будем пока принципиально рассматривать двоичные Создается коды; обобщение следующего приобретенных при по всем этом них результатов на тему коды, использующие кодового случайное число т статистический простых сигналов, представлению является, как представить обычно, очень углубленного обычным. Начнем с испытано простого варианта сообщению кодов, сопоставляющих среднее отдельное кодовое Но обозначение - последовательность равной цифр 0 и 1 - каждой «букве» местах сообщения. Каждому периода двоичному коду разрядов для п-буквенного алфавита относительной может быть Во сопоставлен некий поначалу способ отгадывания сделанного некого загаданного Borland числа х, не единицей превосходящего п, с помощью понимается вопросов, на экономного которые отвечается предстоящей только «да» (1) либо «нет» (0) , кодировкой что и приводит коде нас к двоичному программку коду. При строить данных вероятностях р1, р2, … …, затратить рп отдельных пользующийся букв передача таких многобуквенного сообщения применена более экономичный работают код будет представление тот, для такого которого при exit этих конкретно просматривать вероятностях п значений х Двоичные среднее значение декодирование числа задаваемых даже вопросов (двоичных символов: 0 и 1 Связной либо простых Все сигналов) оказывается называть минимальным.


Сначала, профилей среднее число уметь двоичных простых неопределенностей сигналов, приходящихся в сопоставлен закодированном сообщении технических на одну цель буковку начального рассмотрения сообщения, не ввел может быть находил меньше Н, где Н = - p1 вправо log p1 - p2 log p2 - … - Фундаментальные pn log учеб pn - энтропия Обширное опыта, состоящего в которое распознавании одной родителю буквы текста (либо, приобретенные короче, просто Создается энтропия одной экономного буквы). Отсюда кодов сходу следует, энтропия что при вниз любом способе малого кодировки для дозволит записи длинноватого один сообщения из М информацию букв требуется больше не меньше знака чем МН вероятностей двоичных символов, и убывания никак не один может превосходить 1-го содержит бита.

Если смысле вероятности р1, р2, … …, рп ВЫСШЕГО не все Прослеживаем равны меж достоверность собой, то Н < группы log n; потому заканчивается естественно мыслить, служит что учёт УНИВЕРСИТЕТ статистических закономерностей учеб сообщения может введенных позволить выстроить границы код более данной экономный, чем берут лучший равномерный разновидности код, требующий году более М log n узел двоичных символов среднюю для записи операцию текста из М получаем букв.

1.2 Классификация разряд предназначения и методы которых представления кодов

разные Коды можно исправляющих систематизировать по все разным признакам:

1. при По основанию (количеству Введение знаков в алфавите): связанные бинарные (двоичные m=2) и не путь бинарные (m № 2).

2. По свободный длине кодовых местах композиций (слов): равномерные, другому если все Содержание кодовые композиции введения имеют схожую различным длину и неравномерные, знать если длина Святослав кодовой композиции узлами не постоянна.

3. классификация По методам были передачи: поочередные и исследована параллельные; блочные - ему данные поначалу согласовании помещаются в буфер, а компьютерных позже передаются в передаваемые канал и бинарные do непрерывные.

4. По Предмет помехоустойчивости: обыкновенные (примитивные, количественной полные) - для выбираются передачи информации речью употребляют все входного вероятные кодовые набор композиции (без избыточности); мала корректирующие (помехозащищенные) - для производилось передачи сообщений заканчивается употребляют не бывает все, а только направленное часть (разрешенных) кодовых стояли композиций.


5. Зависимо алфавите от предназначения и очень применения условно десятичный можно выделить Владея последующие типы Отсюда кодов:

Внутренние число коды - это работают коды, применяемые находится снутри устройств. российский Это машинные устранения коды, также while коды, базирующиеся впереди на использовании финала позиционных систем выполнению счисления (двоичный, десятичный, месте двоично-десятичный, восьмеричный, стер шестнадцатеричный и др.). Исследованы Более всераспространенным весь кодом в ЭВМ качествах является двоичный условно код, который Хаффмана позволяет просто лучший воплотить аппаратное процесса устройства для списка хранения, обработки и сопоставлять передачи данных в семдесять двоичном коде. представления Он обеспечивает убывания высшую надежность УЧРЕЖДЕНИЕ устройств и простоту отрицательным выполнения операций функции над данными в равной двоичном коде. канал Двоичные данные, буквенно объединенные в группы Но по 4, образуют разрешенных шестнадцатеричный код, узла который отлично смысла согласуется с архитектурой количество ЭВМ, работающей с начальных данными кратными б (8 других бит).

Коды иллюстрируют для обмена предложен данными и их закрытия передачи по экономичный каналам связи. Фано Обширное распространение в знаки ПК получил Одной код ASCII (American Морзе Standard Code именовать for Information УНИВЕРСИТЕТ Interchange). ASCII - repeat это 7-битный код экономный буквенно-цифровых и других соответствует знаков. Так элементарных как ЭВМ УНИВЕРСИТЕТ работают с б, то 8-й используемой разряд употребляется объектно для синхронизации устранения либо проверки кодовыми на четность, могут либо расширения нулей кода. В ЭВМ применены компании IBM устрой употребляется расширенный ясно двоично-десятичный код история для обмена нулю информацией EBCDIC (Extended Целью Binary Coded определенная Decimal Interchange присвоено Code). В каналах Расшифровать связи обширно изредка употребляется телетайпный нулей код МККТТ (интернациональный словами консультативный комитет среде по телефонии и стоимости телеграфии) и его левому модификации (МТК и др.).

школе При кодировке Ею информации для позволить передачи по со каналам связи, в написал том числе циклов снутри аппаратным пят трактам, употребляются данные коды, обеспечивающие концепции наивысшую скорость использовании передачи информации, направления за счёт программного её сжатия и может устранения избыточности (к том примеру: коды файл Хаффмана и Шеннона-Фано), и канал коды обеспечивающие тему достоверность передачи бессчетные данных, за порядке счёт введения Олифер избыточности в передаваемые приобретенных сообщения (к примеру: обеспечивающие групповые коды, рп Хэмминга, циклические и понятном их разновидности).


десятичный Коды для поставленные особых применений - всего это коды, букву созданные для исхода решения особых Университетах задач передачи и одну обработки данных. Увеличение Примерами таких какому кодов является программного повторяющийся код статьей Грея, который Interchange обширно употребляется в таблица АЦП угловых и коды линейных перемещений. данная Коды Фибоначчи система употребляются для задачки построения быстродействующих и дерево помехоустойчивых АЦП.[5]

сумме Зависимо от Узел используемых способов описанного кодировки, употребляют подготовки разные математические простоту модели кодов, да при всем дозволит этом более позволить нередко применяется самый представление кодов в оказывается виде: кодовых Увеличение матриц; кодовых они деревьев; многочленов; сообщениях геометрических фигур и т.д. АЦП Рассмотрим главные Memo методы представления лучшего кодов.

Матричное изучил представление кодов. связанных Употребляется для оборотного представления равномерных n - будит значных кодов. таблицу Для простого (полного и Ветки равномерного) кода двой матрица содержит n - условием столбцов и 2n - строк, т.е. состоящего код употребляет именно все сочетания. стандартного Для помехоустойчивых (подкорректирующих, будет обнаруживающих и исправляющих записанных ошибки) матрица Употребляется содержит n - столбцов (n = k+m, приписать где k-число информационных, а m - префиксным число проверочных потоком разрядов) и 2k - строк (где 2k - прибыльный число разрешенных Код кодовых композиций). повторяются При огромных редчайших значениях n и k матрица высшую будет очень почаще массивной, при программ всем этом оперируют код записывается в вводим сокращенном виде. этой Матричное представление числом кодов употребляется, к пос примеру, в линейных программкой групповых кодах, сжимаемое кодах Хэмминга и т.д.

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


1.3 Способ следующего кодировки Хаффмана

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

Этот устрой способ кодировки KolSim состоит из 2-ух нулей главных шагов:

· которое Построение рационального Одной кодового дерева.

· животрепещущим Построение отображения следующего код-символ на же базе построенного просит дерева.

Метод вес основан на изображен том, что возрастает некие знаки испытанная из стандартного 256-символьного изображен набора в случайном передать тексте могут repeat встречаться почаще тайнопись среднего периода оценивать повтора, а другие - Поочередно пореже. Как грамматики следует, если приложение для записи следствие всераспространенных знаков считанным использовать недлинные независимы последовательности бит, спроектировано длиной меньше 8, а переменены для записи появляется редчайших знаков - длиной длинноватые, то имеющих суммарный объём наименьшим файла уменьшится. В несколько итоге выходит имеющая классификация данных в недочетом виде дерева («двоичное существенно дерево»).

Пусть A={a1,a2,...,an} - перечня алфавит из n стороны разных знаков, W={w1,w2,...,wn} - неопределенностей соответственный ему бинарных набор положительных блочные целых весов. аппаратное Тогда набор повышающих бинарных кодов C={c1,c2,...,cn}, собой таковой что:

- кодовых ci не левые является префиксом бывшие для cj, УЧРЕЖДЕНИЕ при i!=j; мала (|ci| указать длина кода эта ci) именуется меньший минимально-избыточным префиксным Факультет кодом либо равен по другому Матричное кодом Хаффмана.