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

ЛИЧНЫЙ КАБИНЕТ 

 

Здравствуйте гость!

 

Логин:

Пароль:

 

Запомнить

 

 

Забыли пароль? Регистрация

Повышение оригинальности

Предлагаем нашим посетителям воспользоваться бесплатным программным обеспечением «StudentHelp», которое позволит вам всего за несколько минут, выполнить повышение оригинальности любого файла в формате MS Word. После такого повышения оригинальности, ваша работа легко пройдете проверку в системах антиплагиат вуз, antiplagiat.ru, РУКОНТЕКСТ, etxt.ru. Программа «StudentHelp» работает по уникальной технологии так, что на внешний вид, файл с повышенной оригинальностью не отличается от исходного.

Результат поиска


Наименование:


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

Информация:

Тип работы: Реферат. Предмет: Схемотехника. Добавлен: 11.02.2009. Год: 2009. Уникальность по antiplagiat.ru: < 30%

Описание (план):


БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ
Кафедра РЭС
Реферат на тему:
«Арифметическое кодирование. Кодирование длин повторений»

МИНСК, 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ованный сим и т.д.................


Перейти к полному тексту работы


Скачать работу с онлайн повышением оригинальности до 90% по antiplagiat.ru, etxt.ru


Смотреть похожие работы


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