Банк рефератов содержит более 364 тысяч рефератов, курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: истории, психологии, экономике, менеджменту, философии, праву, экологии. А также изложения, сочинения по литературе, отчеты по практике, топики по английскому.
Полнотекстовый поиск
Всего работ:
364150
Теги названий
Разделы
Авиация и космонавтика (304)
Административное право (123)
Арбитражный процесс (23)
Архитектура (113)
Астрология (4)
Астрономия (4814)
Банковское дело (5227)
Безопасность жизнедеятельности (2616)
Биографии (3423)
Биология (4214)
Биология и химия (1518)
Биржевое дело (68)
Ботаника и сельское хоз-во (2836)
Бухгалтерский учет и аудит (8269)
Валютные отношения (50)
Ветеринария (50)
Военная кафедра (762)
ГДЗ (2)
География (5275)
Геодезия (30)
Геология (1222)
Геополитика (43)
Государство и право (20403)
Гражданское право и процесс (465)
Делопроизводство (19)
Деньги и кредит (108)
ЕГЭ (173)
Естествознание (96)
Журналистика (899)
ЗНО (54)
Зоология (34)
Издательское дело и полиграфия (476)
Инвестиции (106)
Иностранный язык (62792)
Информатика (3562)
Информатика, программирование (6444)
Исторические личности (2165)
История (21320)
История техники (766)
Кибернетика (64)
Коммуникации и связь (3145)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (588)
Краткое содержание произведений (1000)
Криминалистика (106)
Криминология (48)
Криптология (3)
Кулинария (1167)
Культура и искусство (8485)
Культурология (537)
Литература : зарубежная (2044)
Литература и русский язык (11657)
Логика (532)
Логистика (21)
Маркетинг (7985)
Математика (3721)
Медицина, здоровье (10549)
Медицинские науки (88)
Международное публичное право (58)
Международное частное право (36)
Международные отношения (2257)
Менеджмент (12491)
Металлургия (91)
Москвоведение (797)
Музыка (1338)
Муниципальное право (24)
Налоги, налогообложение (214)
Наука и техника (1141)
Начертательная геометрия (3)
Оккультизм и уфология (8)
Остальные рефераты (21697)
Педагогика (7850)
Политология (3801)
Право (682)
Право, юриспруденция (2881)
Предпринимательство (475)
Прикладные науки (1)
Промышленность, производство (7100)
Психология (8694)
психология, педагогика (4121)
Радиоэлектроника (443)
Реклама (952)
Религия и мифология (2967)
Риторика (23)
Сексология (748)
Социология (4876)
Статистика (95)
Страхование (107)
Строительные науки (7)
Строительство (2004)
Схемотехника (15)
Таможенная система (663)
Теория государства и права (240)
Теория организации (39)
Теплотехника (25)
Технология (624)
Товароведение (16)
Транспорт (2652)
Трудовое право (136)
Туризм (90)
Уголовное право и процесс (406)
Управление (95)
Управленческие науки (24)
Физика (3463)
Физкультура и спорт (4482)
Философия (7216)
Финансовые науки (4592)
Финансы (5386)
Фотография (3)
Химия (2244)
Хозяйственное право (23)
Цифровые устройства (29)
Экологическое право (35)
Экология (4517)
Экономика (20645)
Экономико-математическое моделирование (666)
Экономическая география (119)
Экономическая теория (2573)
Этика (889)
Юриспруденция (288)
Языковедение (148)
Языкознание, филология (1140)

Реферат: Арифметическое кодирование. Кодирование длин повторений

Название: Арифметическое кодирование. Кодирование длин повторений
Раздел: Рефераты по коммуникации и связи
Тип: реферат Добавлен 21:38:09 09 февраля 2009 Похожие работы
Просмотров: 759 Комментариев: 2 Оценило: 1 человек Средний балл: 5 Оценка: неизвестно     Скачать

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ

Кафедра РЭС

Реферат на тему:

«Арифметическое кодирование. Кодирование длин повторений»

МИНСК, 2009


Арифметическое кодирование

Пpи аpифметическом кодиpовании, в отличие от рассмотренных нами методов, когда кодируемый символ (или группа символов) заменяется соответствующим им кодом, результат кодирования всего сообщения пpедставляется одним или парой вещественных чисел в интеpвале от 0 до 1 . По меpе кодиpования исходного текста отобpажающий его интеpвал уменьшается, а количество десятичных (или двоичных) разрядов, служащих для его пpедставления, возpастает. Очеpедные символы входного текста сокpащают величину интеpвала исходя из значений их веpоятностей, определяемых моделью. Более веpоятные символы делают это в меньшей степени, чем менее веpоятные, и, следовательно, добавляют меньше разрядов к pезультату.

Поясним идею арифметического кодирования на простейшем примере. Пусть нам нужно закодировать следующую текстовую строку: РАДИОВИЗИР.

Пеpед началом pаботы кодера соответствующий кодируемому тексту исходный интеpвал составляет [0; 1).

Алфавит кодируемого сообщения содержит следующие символы (буквы): { Р, А, Д, И, О, В, З }.

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


Таблица 1

Символ Веpоятность Интеpвал
А 0.1 0 – 0.1
Д 0.1 0.1 – 0.2
В 0.1 0.2 – 0.3
И 0.3 0.3 – 0.6
З 0.1 0.6 – 0.7
О 0.1 0.7 – 0.8
Р 0.2 0.8 – 1

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

Процедура кодировани я

Итак, перед началом кодирования исходный интервал составляет [0 – 1).

После пpосмотpа пеpвого символа сообщения Р кодер сужает исходный интеpвал до нового - [0.8; 1), котоpый модель выделяет этому символу. Таким образом, после кодирования первой буквы результат кодирования будет находиться в интервале чисел [ 0.8 - 1).

Следующим символом сообщения, поступающим в кодер, будет буква А . Если бы эта буква была первой в кодируемом сообщении, ей был бы отведен интервал [ 0 - 0.1 ), но она следует за Р и поэтому кодируется новым подынтервалом внутри уже выделенного для первой буквы , сужая его до величины [ 0.80 - 0.82 ). Другими словами, интервал [ 0 - 0.1 ), выделенный для буквы А , располагается теперь внутри интервала, занимаемого предыдущим символом (начало и конец нового интервала определяются путем прибавления к началу предыдущего интервала произведения ширины предыдущего интервала на значения интервала, отведенные текущему символу ). В pезультате получим новый pабочий интеpвал [0.80 - 0.82), т.к. пpедыдущий интеpвал имел шиpину в 0.2 единицы и одна десятая от него есть 0.02.

Следующему символу Д соответствует выделенный интервал [0.1 - 0.2), что пpименительно к уже имеющемуся рабочему интервалу [0.80 - 0.82) сужает его до величины [0.802 - 0.804).

Следующим символом, поступающим на вход кодера, будет буква И с выделенным для нее фиксированным интервалом [ 0,3 – 0,6). Применительно к уже имеющемуся рабочему интервалу получим [ 0,8026 - 0,8032 ).

Пpодолжая в том же духе, имеем:

вначале [0.0 - 1.0)

после пpосмотpа Р [0.8 - 1.0)

А [0.80 - 0.82)

Д [0.802 - 0.804)

И [0.8026 - 0.8032)

О [0.80302 - 0.80308)

В [0.803032 - 0.803038)

И [0.8030338 - 0.8030356)

З [0.80303488 - 0.80303506)

И [0.803034934 - 0.803034988)

Р [0.8030349772 - 0.8030349880)

Результат кодирования: интервал [0,8030349772 – 0,8030349880]. На самом деле, для однозначного декодирования теперь достаточно знать только одну границу интервала – нижнюю или верхнюю, то есть результатом кодирования может служить начало конечного интервала - 0,8030349772. Если быть еще более точным, то любое число, заключенное внутри этого интервала, однозначно декодируется в исходное сообщение. К примеру, это можно проверить с числом 0,80303498, удовлетворяющим этим условиям. При этом последнее число имеет меньшее число десятичных разрядов, чем числа, соответствующие нижней и верхней границам интервала, и, следовательно может быть представлено меньшим числом двоичных разрядов.

Нетрудно убедиться в том, что, чем шире конечный интервал, тем меньшим числом десятичных (и, следовательно, двоичных) разрядов он может быть представлен. Ширина же интервала зависит от распределения вероятностей кодируемых символов – более вероятные символы сужают интервал в меньшей степени и , следовательно, добавляют к результату кодирования меньше бит. Покажем это на простом примере.

Допустим, нам нужно закодировать следующую строку символов: A A A A A A A A A # , где вероятность буквы А составляет 0,9. Процедура кодирования этой строки и получаемый результат будут выглядеть в этом случае следующим образом:

Входной символ Нижняя граница Верхняя граница

0.0 1.0

A 0.0 0.9

A 0.0 0.81

A 0.0 0.729

A 0.0 0.6561

A 0.0 0.59049

A 0.0 0.531441

A 0.0 0.4782969

А 0.0 0.43046721

А 0.0 0.387420489

# 0.3486784401 0.387420489

Результатом кодирования теперь может быть, к примеру, число 0.35 , целиком попадающее внутрь конечного интервала 0.3486784401 – 0.387420489. Для двоичного представления этого числа нам понадобится 7 бит (два десятичных разряда соответствуют примерно семи двоичным ), тогда как для двоичного представления результатов кодирования из предыдущего примера – 0,80303498 – нужно 27 бит !!!

Декодирование

Пpедположим, что все что декодер знает о тексте, – это конечный интеpвал [0,8030349772 - 0,8030349880]. Декодеру, как и кодеру, известна также таблица распределения выделенных алфавиту интервалов. Он сpазу же понимает, что пеpвый закодиpованный символ есть Р , так как результат кодирования целиком лежит в интеpвале [0.8 - 1), выделенном моделью символу Р согласно таблице .

Тепеpь повтоpим действия кодера:

вначале [0.0 - 1.0);

после пpосмотpа [0.8 - 1.0).

Исключим из результата кодирования влияние теперь уже известного первого символа Р , для этого вычтем из результата кодирования нижнюю границу диапазона, отведенного для Р, – 0,8030349772 – 0.8 = =0,0030349772 – и разделим полученный результат на ширину интервала, отведенного для Р, – 0.2. В результате получим 0,0030349772 / 0,2 = =0,015174886. Это число целиком вмещается в интервал, отведенный для буквы А, – [0 – 0,1) , следовательно, вторым символом декодированной последовательности будет А .

Поскольку теперь мы знаем уже две декодированные буквы - РА , исключим из итогового интервала влияние буквы А . Для этого вычтем из остатка 0,015174886 нижнюю границу для буквы А 0,015174886 – 0.0 = =0,015174886 и разделим результат на ширину интервала, отведенного для буквы А , то есть на 0,1. В результате получим 0,015174886/0,1=0,15174886. Результат лежит в диапазоне, отведенном для буквы Д , следовательно, очередная буква будет Д .

Исключим из результата кодирования влияние буквы Д . Получим (0,15174886 – 0,1)/0,1 = 0,5174886. Результат попадает в интервал, отведенный для буквы И , следовательно, очередной декодированный символ – И , и так далее, пока не декодируем все символы:

Декодируемое Символ Границы Ширина число на выходе нижняя верхняя интервала0,8030349772 Р 0.8 1.0 0.20,015174886 А 0.0 0.1 0.10,15174886 Д 0.1 0.2 0.10,5174886 И 0.3 0.6 0.30,724962 О 0,7 0,8 0,10,24962 В 0,2 0,2 0,10,4962 И 0,3 0,6 0,30,654 З 0,6 0,7 0,10,54 И 0,3 0,6 0,30,8 Р 0,6 0,8 0,20.0 Конец декодирования

Это основная идея арифметического кодирования, его практическая реализация несколько сложнее. Некоторые проблемы можно заметить непосредственно из приведенного примера.

Первая состоит в том, что декодеру нужно обязательно каким-либо образом дать знать об окончании процедуры декодирования, поскольку остаток 0,0 может означать букву а или последовательность аа, ааа, аааа и т.д. Решить эту проблему можно двумя способами.

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

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

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

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

Кодирование длин повторений

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

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

Предположим, что нужно закодировать двоичное (двухцветное) изображение размером 8 х 8 элементов, приведенное на рис. 1.


Рис. 1

Просканируем это изображение по строкам (двум цветам на изображении будут соответствовать 0 и 1), в результате получим двоичный вектор данных

X= (0111000011110000000100000001000000010000000111100011110111101111)

длиной 64 бита (скорость исходного кода составляет 1 бит на элемент изображения).

Выделим в векторе X участки, на которых данные сохраняют неизменное значение, и определим их длины. Результирующая последовательность длин участков - положительных целых чисел, соответствующих исходному вектору данных X, - будет иметь вид r = (1, 3, 4, 4, 7, 1, 7, 1, 7, 1, 7, 4, 3, 4, 1, 4, 1, 4).

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


Таблица 2

Кодер
Длина участка Кодовое слово
4 0
1 10
7 110
3 111

Для того, чтобы указать, что кодируемая последовательность начинается с нуля, добавим в начале кодового слова префиксный символ 0. В результате получим кодовое слово B (r) = (0100011010110101101011001110100100) длиной в 34 бита, то есть результирующая скорость кода R составит 34/64, или немногим более 0,5 бита на элемент изображения. При сжатии изображений большего размера и содержащих множество повторяющихся элементов эффективность сжатия может оказаться существенно более высокой.

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


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

Оценить/Добавить комментарий
Имя
Оценка
Комментарии:
Где скачать еще рефератов? Здесь: letsdoit777.blogspot.com
Евгений07:06:11 19 марта 2016
Кто еще хочет зарабатывать от 9000 рублей в день "Чистых Денег"? Узнайте как: business1777.blogspot.com ! Cпециально для студентов!
13:46:56 25 ноября 2015

Работы, похожие на Реферат: Арифметическое кодирование. Кодирование длин повторений
Постановка, настройка и исследование абонентского программного ...
Министерство науки, высшей школы и технической политики МОСКОВСКИЙ ОРДЕНА ТРУДОВОГО КРАСНОГО ЗНАМЕНИ ИНЖЕНЕРНО-ФИЗИЧЕСКИЙ ИНСТИТУТ Кафедра № 2 ...
Дает возможность абоненту обмениваться двоичными и текстовыми файлами с любым компьютером сети.
Допустимая длина имени адресной группы - не более 8 символов.
Раздел: Рефераты по информатике, программированию
Тип: реферат Просмотров: 442 Комментариев: 3 Похожие работы
Оценило: 0 человек Средний балл: 0 Оценка: неизвестно     Скачать
Теория информации
Лекции по Теории информации Подготовил В.С. Прохоров Содержание Введение 1. Понятие информации. Задачи и постулаты прикладной теории информации 1.1 ...
При обычном (не учитывающем статистических характеристик) двоичном кодировании с использованием k=2 знаков при построении равномерного кода количество элементов в кодовой ...
В случае блоковых кодов процедура кодирования заключается в сопоставлении каждой букве сообщения (или последовательности из k символов, соответствующей этой букве) блока из n ...
Раздел: Рефераты по информатике, программированию
Тип: учебное пособие Просмотров: 7666 Комментариев: 2 Похожие работы
Оценило: 0 человек Средний балл: 0 Оценка: неизвестно     Скачать
Информационный процесс в автоматизированных системах
ОГЛАВЛЕНИЕ Введение. 2 1. Информационные процессы.. 3 1.1. Поиск информации. 3 2. Измерение информации. 13 2.1. Измерение информации в быту ...
Каждый символ кодируется двоичным кодом, длиной в 8 знаков (восьмибитный код).
Все эти виды информации в компьютере представлены в двоичном коде, т.е. используется алфавит мощностью два (всего два символа 0 и 1). Такое кодирование принято называть двоичным, а ...
Раздел: Рефераты по коммуникации и связи
Тип: курсовая работа Просмотров: 3056 Комментариев: 2 Похожие работы
Оценило: 1 человек Средний балл: 5 Оценка: неизвестно     Скачать
Классификация модемных протоколов
План: Классификация протоколов..................3 Протоколы взаимодействия....................5 Протокол V.25 (RS-366A)..................5 Протокол V ...
При скорости 9600 бит/с поток двоичных символов разделяется на блоки по 4 бита (Ql, Q2, Q3, Q4).
Следовательно, возможен способ кодирования в котором в среднем на букву русского текста будет затрачено немногим более 1,5, 1,0 или даже 0,8 двоичных символов.
Раздел: Рефераты по информатике, программированию
Тип: реферат Просмотров: 1003 Комментариев: 2 Похожие работы
Оценило: 0 человек Средний балл: 0 Оценка: неизвестно     Скачать
Проектирование магистральной волоконно-оптической системы передачи с ...
Аннотация Дипломный проект посвящен вопросу проектирования магистральной волоконно-оптической системы передачи с повышенной пропускной способностью ...
В различных методах кодирования "1" может быть представлена как положительным прямоугольным импульсом на полную длину или половину длины двоичного интервала, так и переходом с "+1 ...
Здесь m - длинабитах) блоков, на которые разбивается исходная последовательность, а n - соответствующая им длина ( в битах) блоков, составленных из кодовых символов (n> m). При ...
Раздел: Рефераты по коммуникации и связи
Тип: дипломная работа Просмотров: 32524 Комментариев: 2 Похожие работы
Оценило: 3 человек Средний балл: 3.7 Оценка: неизвестно     Скачать
Технология цифровой связи
НЕКОММЕРЧЕСКОЕ АКЦИОНЕРНОЕ ОБЩЕСТВО АЛМАТИНСКИИ ИНСТИТУТ ЭНЕРГЕТИКИ И СВЯЗИ Кафедра автоматической электросвязи ТЕХНОЛОГИИ ЦИФРОВОЙ СВЯЗИ Конспект ...
Почти 40 годами позже, в 1875г., Эмиль Бодо изобрёл код для телеграфной связи, в котором каждая буква кодировалась двоичным кодом фиксированной длины 5. В коде Бодо элементы ...
Чтобы разобраться с этим вопросом, предположим, что кодированная информационная последовательность должна передать один бит за определённое время с постоянной скоростью R бит/с ...
Раздел: Рефераты по коммуникации и связи
Тип: учебное пособие Просмотров: 11750 Комментариев: 4 Похожие работы
Оценило: 2 человек Средний балл: 5 Оценка: неизвестно     Скачать
Лекции по количественной оценке информации
КОЛИЧЕСТВЕННАЯ ОЦЕНКА ИНФОРМАЦИИ Общее число неповторяющихся сообщений, которое может быть составлено из алфавита m путем комбинирования по n символов ...
Для передачи цифры 99 при побуквенном кодировании - 8, при поблочном - 7, так как 7 двоичных знаков достаточно для передачи любой цифры от 0 до 123; при передаче цифры 999 ...
Если п не является целым числом для всех значений букв первичного алфавита, то и, согласно основной теореме кодирования[7], средняя длина кодового слова приближается к энтропии ...
Раздел: Рефераты по информатике, программированию
Тип: шпаргалка Просмотров: 1772 Комментариев: 3 Похожие работы
Оценило: 1 человек Средний балл: 5 Оценка: неизвестно     Скачать
ТВ и эволюция нетерпимости
С. Муратов Реферат Книга рассказывает о последнем десятилетии Российского постсоветского телевидения. Об информационной революции, покончившей с ...
Рассмотрим алфавит, состоящий из двух знаков 0 и 1. Если считать, что со знаками 0 и 1 в двоичном алфавите связаны одинаковые вероятности их появления (Р(О) = Р(i) = 0,5), то ...
И так, один символ двоичного алфавита несет один бит информации.
Раздел: Издательское дело и полиграфия
Тип: статья Просмотров: 881 Комментариев: 2 Похожие работы
Оценило: 0 человек Средний балл: 0 Оценка: неизвестно     Скачать
Разработка устройства кодирования-декодирования 32-х разрядных слов ...
СОДЕРЖАНИЕ Введение 1 Анализ способов кодирования информации 1.1 Проверка чётности 1.2 Код CRC 1.3 Код Хэмминга 1.4 Код Рида - Соломона 2 Разработка ...
Кодер вводит избыточность в передаваемый поток двоичных символов, причем кодирование сообщений в зависимости от требуемой степени повышения помехоустойчивости может выполняться ...
Пусть общая длина слова будет n (то есть n-m+г). п-битную единицу, содержащую m битов данных и г контрольных разрядов, часто называют кодированным словом.
Раздел: Рефераты по информатике, программированию
Тип: дипломная работа Просмотров: 897 Комментариев: 2 Похожие работы
Оценило: 1 человек Средний балл: 5 Оценка: неизвестно     Скачать

Все работы, похожие на Реферат: Арифметическое кодирование. Кодирование длин повторений (4145)

Назад
Меню
Главная
Рефераты
Благодарности
Опрос
Станете ли вы заказывать работу за деньги, если не найдете ее в Интернете?

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



Результаты(151301)
Комментарии (1844)
Copyright © 2005-2016 BestReferat.ru bestreferat@mail.ru       реклама на сайте

Рейтинг@Mail.ru