Кодирование и декодирование информации выбор кода. Кодирование и декодирование цифровой информации

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

    В теории передачи данных - преобразование знаков в сигналы.

    Перекодирование видео - преобразование видеофайла из одного формата в другой или изменение его свойств (разрешение, битрейт) исходного.

    В цифровом телевидении и радио.

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

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

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

13. Когда применяется кодирование по образцу?

Кодирование по образцу - каждый знак дискретного сигнала представляется знаком или набором знаков того алфавита, в котором выполняется кодирова­ние. Кодирование по образцу используется, например, для ввода информации в компьютер с целью ее внутреннего представления. Пример. Для перевода символов, вводимых с клавиатуры, в числовой код, хра­нящийся в памяти компьютера, используется кодовая таблица ASCII (American Standard Code for Information Interchange - американский стандартный код для обмена информацией), в которой каждому символу алфавита, а также множеству специальных управляющих команд соответствует числовой код.

14. Какие типы шифрования вам известны?

Криптографическое кодирование , или шифрование , используется тогда, когда нужно защитить информацию от несанкционированного доступа. Существует два основных широко применяющихся сегодня способа криптографического кодирования: симметричное кодирование с закрытым ключом и асимметричное кодирование с открытым ключом. При симметричном кодировании с закрытым ключом для кодирования и декодирования данных применяется один и тот же ключ. Этот ключ должен быть по безопасным каналам доставлен стороне, осу­ществляющей декодирование, что делает шифрование с симметричным ключом уязвимым. Напротив, при шифровании с асимметричным ключом сторона, осуществляющая декодирование, публикует так называемый открытый ключ (public key), который применяется для кодирования сообщений, а декодиро­вание осуществляется другим - закрытым ключом (private key), известным только принимающей стороне. Такая схема делает асимметричный способ ко­дирования высоконадежным. По этой причине в последнее время он приобрел массовую популярность. Пример. Во множестве шпионских фильмов-боевиков основным вопросом при захвате агента противника было получение ключей к шифрам. Получение клю­ча давало возможность прочесть все перехваченные ранее сообщения и сразу получить множество полезной информации. Но эта возможность достижима только тогда, когда речь идет о симметричных ключах. Получение публичного асимметричного ключа в этом смысле не дает никаких преимуществ, поскольку открытый ключ позволяет кодировать сообщения, но не может применяться для их декодирования.

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

Способы кодирования информации. Для кодирования одной и той же информации могут быть использованы разные способы; их выбор зависит от ряда обстоятельств: цели кодирования, условий, имеющихся средств. Если надо записать текст в темпе речи используем стенографию; если надо передать текст за границу используем английский алфавит; если надо представить текст в виде, понятном для грамотного русского человека, записываем его по правилам грамматики русского языка. «Здравствуй, Саша!» «Zdravstvuy, Sasha!»

Выбор способа кодирования информации может быть связан с предполагаемым способом ее обработки. Покажем это на примере представления чисел количественной информации. Используя русский алфавит, можно записать число "тридцать пять". Используя же алфавит арабской десятичной системы счисления, пишем «35». Второй способ не только короче первого, но и удобнее для выполнения вычислений.

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

Двоичное кодирование в компьютере . Вся информация, которую обрабатывает компьютер должна быть представлена двоичным кодом с помощью двух цифр: 0 и 1. Эти два символа принято называть двоичными цифрами или битами. С помощью двух цифр 0 и 1 можно закодировать любое сообщение. Это явилось причиной того, что в компьютере обязательно должно быть организованно два важных процесса: кодирование и декодирование. Кодирование – преобразование входной информации в форму, воспринимаемую компьютером, т.е. двоичный код. Декодирование – преобразование данных из двоичного кода в форму, понятную человеку. Привет! 1001011

Кодирование информации

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

Определение 1

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

Способы кодирования информации бывают различные и зависят они, в первую очередь, от целей кодирования.

Наиболее распространенными из которых являются:

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

Чаще всего кодированию подвергаются тексты на естественных языках (русском, английском и пр.).

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

Замечание 1

Некоторые авторы (Р. Бландел, А. Б. Зверинцев, В. Г. Корольке и др.) понимают коды как любую форму представления информации или же как набор однозначных правил, используя которые сообщение можно представить в той или иной форме. Согласно этому определению человеческая речь может выступать в качестве одного из кодов. Это может означать, что в результате кодирования сообщение преобразуется в последовательность, состоящую из произносимых слов.

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

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

Декодирование информации

Определение 2

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

а) процесс придания определенного смысла полученным сигналам;

б) процесс выявления первоначального замысла, исходной идеи отправителя, понимания смысла его сообщения.

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

Модель кодирования/декодирования С. Холла

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

Замечание 2

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

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

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

Свою теорию С. Холл сформулировал, используя в качестве примера работу телевидения, но ее можно применить к любым видам средств массовой информации. Суть теории заключается в том, что медиасообщение, проходя на своем пути от источника до получателя, претерпевает ряд преобразований. В результате средства медиакоммуникации передают сообщения, конформные или оппозиционные по отношению к правящим властям, различным общественным, политическим и экономическим социальным институтам. Эти сообщения кодируются зачастую в форме устоявшихся содержательных жанров (к ним можно отнести новости политического, спортивного, экономического содержания; музыкальные передачи, сериалы и пр., в общем все то, что смотрят обыватели), имеющих очевидный содержательный смысл, актуализированную направленность и встроенные руководства для их интерпретации заинтересованной целевой аудиторией. Зрители же, в свою очередь, подходят к содержанию, предлагаемому СМИ, с другими «смысловыми структурами», которые строятся на их собственном здравом смысле, идеях и опыте.

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

Теория Холла содержит ряд принципиальных положений , это:

  • многообразие смыслов, заложенных в тексте;
  • первичность получателя в определении смысла;
  • наличие различных «интерпретативных» сообществ.

Таким образом, мы пришли к определению того, кто такой получатель.

Определение 3

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

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

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

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

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

  • разработка принципов наиболее экономичного кодирования информации;
  • согласование параметров передаваемой информации с особенностями канала связи;
  • разработка приемов, обеспечивающих надежность передачи информации по каналам связи, т. е. отсутствие потерь информации.

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

Кодирование - это переход от одного алфавита (буквенного кода) к другому.

Пусть A = {а 1 ,а 2 ,...,а т) и В = {b l ,b 2 ,...,b n) - алфавиты.

Элементы алфавита называются буквами.

Последовательность букв некоторого алфавита называют словом в этом алфавите.

Л*, В* - множество слов в алфавите Ли В соответственно.

Кодированием будем называть функцию F: В* где S с А*.

S называется множеством сообщений.

Образы сообщений называют кодами , т. е. р е В *: (3 = F{ а),а е S.

Измерением кодирования является количество букв в алфавите В, т. е. это п-ичное кодирование.

Двоичное кодирование ^>В = 2,В = {0,1}.

Декодирование - это F~ { .

Задача кодирования состоит в том, чтобы при заданных множествах Л, В и S найти такое кодирование F, которое удовлетворяет заданным ограничениям и оптимально в некотором смысле, т. е. минимизация длины кодов, времени кодирования и т. д.

Свойства кодирования

  • 1. Существование декодирования (компиляция, трансляция программ не требует декодирования).
  • 2. Помехоустойчивость или исправление ошибок Ф" близок к коду Р) => (F -1 (р) = F~ l (р")).
  • 3. Сложность или простота кодирования и декодирования (криптографический алфавит: F - простая, a F~" сложная).

Алфавитное кодирование

Количество букв в слове называется длиной слова.

Пусть а = а. а, 2 ...д 4 - слово. |а| = к - длина слова а.

Пустое слово - слово нулевой длины. |л| = О, Л g А.

Пусть а = а,а 2 - слово, полученное склеиванием слов а (и а 2 .

Тогда а, - начало, префикс слова а, а 2 - окончание, постфикс слова а. Алфавитное (побуквенное) кодирование задается схемой а:Р, я 2 ->Р 2 , ..., >> где а к е Д р Л е 2Г.

Т. е. частный случай кодирования, когда задаются коды каждой буквы алфавита А, кодами являются слова алфавита В.

V = {р А }” ч - элементарные коды.

Алфавитное кодирование определяет кодирование для любого множества сообщений S из А*.

Примеры

Л = {°,1,-,9} ^ = {0,1}

1. ст: 1,2 -> 10,3 -> 11,4 -? 100, ..., 9-> 1001 > - схема алфавитного кодирования.

/г(123) = 11011

Это кодирование не взаимнооднозначное, т. к. ДЗОЗ) = 11011, т. е. а, = 123 * а 2 = 303, но F(a,) = /’(a 2).

2. ст: 0000,1->0001,2->0010, ...,9 -> 1001 >.

Это двоично-десятичное кодирование. Эта схема является взаимнооднозначной. Следовательно, существует декодирование.

разделимой, если любое слово, составленное из элементарных кодов, единственным образом разделяется на элементарные коды.

Схема алфавитного кодирования называется префиксной, если элементарный код одной буквы не является префиксом элементарного кода другой буквы.

Примеры (предыдущий)

1. Неразделимая схема кодирования (11 1/1 и 11);

не префиксная (элементарный код 1 является элементарным кодом 2).

2. Разделимая и префиксная.

Теорема

Любая префиксная схема является разделимой.

Допустим, что схема префиксная, но неразделимая.

Тогда существует два разных представления одного слова: р. ...р^ = р У| ...р^ . Пусть Р,. * Р Л.

Тогда либо Р (. является началом слова р у. (р. р = Р у.), либо наоборот (р у. р = Р (.). Следовательно, схема не префиксная. Получили противоречие.

Обратное утверждение неверно!!!

Не любая разделимая схема является префиксной.

Достаточное условие разделимости (но не является необходимым): префиксная => разделимая.

Пример

А = {а,Ь) й = {0,1}

а:0, Z>->01> - не префиксная, разделимая.

Теорема (необходимое условие разделимости)

о:-^ Ь к >" =1 - разделимая, то выполняется неравенство:

Обратное неверно!!!

Теорема

Если для чисел /, ...,1 т выполняется неравенство то существует разделимая схема алфавитного кодирования о:Ь к >“ =1 , где В = {0,1}, такая, что

IPJ = К’ к= 1 ’ т

Пример

1. а:а -» 0,Ь -» 01 > - не префиксная, разделимая.

По теореме выполняется неравенство:

2. а:0,6-»1 > - разделимая, т. к.

Если неравенство не выполняется, то схема не является разделимой.

Если неравенство выполняется, то ничего нельзя сказать про разделимость схемы.

Минимизация длины кода сообщения

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

Очевидно:

Если схема алфавитного кодирования о: разделимая, то и разделима любая схема а", полученная перестановкой набора элементарных кодов.

Если длины всех элементарных кодов равны, то перестановка элементарных кодов не изменит длину кода любого сообщения.

Если длины элементарных кодов различны, то длина кода сообщения зависит от состава букв в сообщении и от того, какие элементарные коды каким буквам назначены.

Пусть задан вектор p = (p i ,...,p m) распределения вероятностей букв в сообщении, причем р х > р 2 >...>р т >0 (упорядочены не по возрастанию).

Пусть дана схема алфавитного кодирования о: Ъ к >“ =1 . Определим для этой схемы математическое ожидание коэффициента увеличения длины сообщения, или среднюю длину кода одного символа:

которая называется средней ценой (длиной) алфавитного кодирования а для распределения вероятностей р.

Схема алфавитного кодирования, для которой длины всех элементарных кодов равны, называется равномерной.

Минимальная длина кода каждой буквы при условии разделимости при этом равна

Для равномерного кодирования средняя цена кодирования равна

L(p) - минимальная длина разделимой схемы алфавитного кодирования при распределении вероятностейр.

Среди схем алфавитного кодирования, средняя длина которых не превосходит конечное количество / 0 , существует схема с минимальной длиной а» (р), для которой /„.(/>) = inf/„(/>).

Такая схема а* (р) называется кодированием с минимальной избыточностью или оптимальным кодированием для распределения вероятности р.

Свойства оптимального кодирования

1. Пусть ст, - схема оптимального кодирования.

Тогда

Доказательство (от противного)

Пусть это свойство не выполняется, т. е. p t > Pj & |(3, | > |р у |).

а/ , полученная из а, перестановкой кодов (3,. и р у, т.е. а/ : a j -» р у; а } -» Р (..

Тогда

Получили противоречие с тем, что а, - схема оптимального кодирования.

2. Пусть а, - схема оптимального кодирования.

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

3. Пусть стГ 1 : ->р Л >"“/ - схема оптимального кодирования. р.Р>р 2 >...>р т _> 0, Pj = q x + q 2 , гдер т _ х >q x >q 2 > 0.

Тогда схема алфавитного кодирования

является оптимальной для распределения вероятностей

Самокорректирующиеся коды

Помехоустойчивый код

Пусть есть канал связи С, содержащий источник помех.

Кодирование F называется помехоустойчивым , или кодированием с исправлением ошибок, или самокорректирующимся, если выполняется следующее условие:

где S с A*, KgB А = В = {0,1}.

Виды ошибок:

  • 1. Ошибка замещения разряда: 0 -> 1; 1^0.
  • 2. Ошибка выпадения разряда: 0 -> Л; 1 -> Л.
  • 3. Ошибка вставки разряда: Л -» 0; Л ^ 1.

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

Рассмотрим канал связи с характеристикой. Возможна единичная ошибка замещения разряда в сообщении длины п.

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

Код с обнаружением ошибок

Нужно добавить бит четности - контрольная сумма:

а = а 1 а 2 ...а т - бит четности - сумма по модулю 2 всех остальных - контрольная сумма.

Добавив один бит, который равен сумме других разрядов, можно проверять, произошла ли хотя бы одна ошибка в разрядах с определенным номером.

Код Хаффмана

Код Хаффмана является оптимальным кодированием.

Правила построения

Построение кода Хаффмана основано на сжатии алфавита.

Пусть есть алфавит А = {а х,а 2 ,...,а т) с вероятностями р х > р 2 >...> р т.

Условимся не различать две наименее вероятные буквы а т _ х и а т.

Переупорядочим буквы алфавита А х по не возрастанию вероятностей. Полученный алфавит снова подвергнем однократному сжатию. Получим алфавит А 2:А 2 = т-2 и т. д., сжимаем до алфавита А т _ 2 :|Д т _ 2 | = 2. Двум буквам этого алфавита приписываем коды 0 и 1.

Пусть определены коды всех букв алфавита А } _ х, определим коды букв алфавита Aj_ 2 .

Буквы алфавита Aj_ 2 , которые входят в алфавит А у._ х , имеют тот же код.

Пусть буквы а" и а" при сжатии объединяются в одну букву Ь, имеющую код р и вероятность р(я")> р(я").

Тогда а" р0 , а" -> pi.

Следовательно, А т _ 2 ,...,А.

Таким образом, начиная с А т _ 2 , строится код исходного алфавита А По построению этот код будет префиксным и, следовательно, разделимым. Набор кодов {0,1} является оптимальным для алфавита из двух букв А т _ 2 . На каждом шаге из оптимальной схемы кодирования снова строится оптимальная схема кодирования, и полученный код является оптимальным.

Код Хаффмана используется для упорядоченных вероятностей.

Пример

Построить схему оптимального кодирования для алфавита с распределением вероятностей /? = (0,2;0,2;0,19;0,12;0,11;0,09;0,09) (вероятности не возрастают). Решение

  • 1. Выписываем вероятности в порядке убывания в первый столбец таблицы.
  • 2. Складываем две последние вероятности: 0,09 + 0,09 = 0,18.
  • 3. Упорядочиваем оставшиеся вероятности в порядке убывания и записываем результат в третий столбец.
  • 4. Опять складываем две последние вероятности и, упорядочивая, записываем в пятый столбец и т. д., пока не останется всего два числа: 0,6 и 0,4, которые в сумме дают единицу.
  • 5. Верхнему числу присваиваем код «0», нижнему - «1».
  • 6. Теперь двигаемся справа налево: тем числам, которые присутствуют, присваиваем тот же самый код (0,4 - «1»), а тем, которые в сумме дают число 0,6, присваиваем коды «00» (верхнему) и «01» (нижнему).
  • 7. Аналогично доходим до самого первого столбика и формируем коды для всех элементов вектора р (см. табл. 11).

Таблица 11

Ответ: а 2 -»11; а 3 000; я 4 -» 010; а 5 -> 011; я 6 0010; я 7 -> 0011 >. Оптимальная длина кодирования:

/.=0,2-2 + 0,2-2 + 0,19-3 + 0,12-3 + 0,11-3 + 0,09-4 + 0,09-4 = 2,78 / 0 = 3 - длина равномерного кодирования

Код Фано

При кодировании по Фано все сообщения записываются в таблицу по степени убывания вероятности и разбиваются на две группы примерно (насколько это возможно) равной вероятности. Соответственно этой процедуре из корня кодового дерева исходят два ребра, которым в качестве весов присваиваются полученные вероятности. Двум образовавшимся вершинам приписываются кодовые символы 0 и 1. Затем каждая из групп вероятностей вновь делится на две подгруппы примерно равной вероятности. В соответствии с этим из каждой вершины 0 и 1 исходят по два ребра с весами, равными вероятностям подгрупп, а вновь образованным вершинам приписывают символы 00 и 01, 10 и 11.

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

Пример (табличный способ)

Построить схему оптимального кодирования для алфавита с распределением вероятностей р = (0,2; 0,2; 0,19; 0,12; 0,11; 0,09; 0,09) (вероятности не возрастают). Решение

Смысл: выделяем две группы в зависимости от разности суммы, которая должна быть минимальной. Верхней группе чисел присваиваем «0», а нижней «1». Алгоритм:

  • 1. Посчитать суммы сверху и суммы снизу (см. табл. 12).
  • 2. Найти модуль разности сумм сверху и сумм снизу:

3. Выбрать наименьший модуль разности:

|0,59-0,41| = 0,18

  • 4. Разбить группу на две подгруппы: получается, что в первую подгруппу входят первые три элемента, а во вторую - все остальные.
  • 5. Присваиваем верхним трем элементам коды «О», а остальным нижним коды «1».
  • 6. Теперь разбиваем первую подгруппу, состоящую из трех элементов, на две подгруппы (см. пункты 1-4):

Таблица 12

Сумма сверху

Сумма снизу

|0,2 - 0,39| = 0,19 - наименьший модуль разности |0,4 - 0,19| = 0,21

Значит, эта группа разбивается на две подгруппы, в первую входит всего один первый элемент, а во вторую - остальные два элемента.

7. Присваиваем код первой подгруппе, т. е. одному элементу - «00» (это итоговый код первого элемента), а второй подгруппе, состоящей из двух элементов, код «01». Когда группа состоит из двух элементов, то можно сразу присвоить итоговые коды: «010» и «011».

Аналогично разбиваем вторую подгруппу и получаем итоговые коды.

Таблица 13

Сумма сверху

Сумма снизу

Здравствуйте! Меня зовут Александр Георгиевич! Я работаю репетитором по , и уже на протяжении 10 лет.

Ключевые направления моей преподавательской деятельности:

    Подготовка школьников к успешной сдаче и по информатике и математике.

    Подготовка студентов по различным .

    Выполнение на заказ всевозможных .

    Ведение образовательного YouTube-канала , на который я регулярно выкладываю мультимедийные видеоматериалы.

Если у вас есть непонимания, что такое « Декодирование информации » и что под этим процессом понимается, то рекомендую вам записаться на . На своих частных занятиях я со своими учениками помимо знакомства с теоретической частью решаю колоссальное количество различных тематических примеров.

В отличие от большинства других репетиторов я предлагаю своим клиентам абсолютно любые взаимодействия:

Информация, свойства информации, кодирование информации

Прежде чем переходить к анализу сведений, связанных с декодированием информации , вам в обязательном порядке стоит освежить в памяти такие темы, как « » и « ».

С таким понятием как «Декодирование информации » неразрывно связано другое – « ». Эти процессы являются антагонистами, то есть противопоставляются друг другу. Процесс декодирования невозможен без начального процесса кодирования какой-либо информации.

Если бы не существовало кодирования информации, то тогда бы не требовалось и проводить декодирование.

Рассмотрим два конкретных примера. Первый – бытовой, второй – промышленный.

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

В чем его суть: каждую русскую букву передаваемого сообщения вы заменяется на букву, стоящую в алфавите через 5 позиций дальше. То есть буква « а» становится буквой «е», буква «б» становится буквой «ё» и так далее. По факту вы производите сдвиг позиции буквы на 5 единиц вперед.

Да, подобное кодирование крайне неустойчивое и легко «взламывается» злоумышленниками, но большинство людей не смогу раскодировать подобное сообщение за разумное время, так как не догадаются об алгоритме шифрования.

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

То есть буква «ё» станет буквой «б», а буква «е» станет буквой «а» и так далее. Это пример простейшего, тривиального кодирования и декодирования информации .

Пример промышленного "банковского" кодирования и декодирования информации

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

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

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

Если контрольные суммы пакетов у отправителя и адресата совпадают, то все в порядке, несанкционированного доступа к этим пакетам не проводилось. Когда все пакеты переданы, они комплектуются в единый файл, происходит этап декодирования информации .

Разная информация кодируется по-разному

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

Остались вопросы? Звоните и записывайтесь на первый урок!

Если у вас остались вопросы, касающиеся декодирования информации , то звоните мне на мобильный телефон и записывайтесь на индивидуальные уроки по информатике и ИКТ. Я смогу вам пояснить абсолютно любой момент из данной темы, а также продемонстрирую на примерах, как правильно проводить декодирование «сложной» информации.

Своим потенциальным клиентам я предлагаю финансового взаимодействия, поэтому даже самый взыскательные клиент сумеет подобрать вариант, полностью удовлетворяющий его текущим потребностям.