Принципы сжатия информации

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

Любой метод сжатия информации включает в себя два преобразования обратных друг другу:

  • преобразование сжатия;
  • преобразование расжатия.

Преобразование сжатия обеспечивает получение сжатого сообщения из исходного. Разжатие же обеспечивает получение исходного сообщения (или его приближения) из сжатого.

Все методы сжатия делятся на два основных класса

  • без потерь,
  • с потерями.

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

Характеристики алгоритмов сжатия и применимость

Коэффициент сжатия

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

k = S o /S c ,

где k - коэффициент сжатия, S o - размер несжатых данных, а S c - размер сжатых. Таким образом, чем выше коэффициент сжатия, тем алгоритм лучше. Следует отметить:

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

Ситуация с k < 1 вполне возможна при сжатии. Невозможно получить алгоритм сжатия без потерь, который при любых данных образовывал бы на выходе данные меньшей или равной длины. Обоснование этого факта заключается в том, что количество различных сообщений длиной n Шаблон:Е:бит составляет ровно 2 n . Тогда количество различных сообщений с длиной меньшей или равной n (при наличии хотя бы одного сообщения меньшей длины) будет меньше 2 n . Это значит, что невозможно однозначно сопоставить все исходные сообщения сжатым: либо некоторые исходные сообщения не будут иметь сжатого представления, либо нескольким исходным сообщениям будет соответствовать одно и то же сжатое, а значит их нельзя отличить.

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

  • среднее (обычно по некоторому тестовому набора данных);
  • максимальное (случай наилучшего сжатия);
  • минимальное (случай наихудшего сжатия);

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

Допустимость потерь

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

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

Однако сжатие с потерями позволяет добиться гораздо больших коэффициентов сжатия за счёт отбрасывания незначащей информации, которая плохо сжимается. Так, например алгоритм сжатия звука без потерь FLAC , позволяет в большинстве случаев сжать звук в 1,5-2,5 раза, в то время как алгоритм с потерями Vorbis , в зависимости от установленного параметра качетсва может сжать до 15 раз с сохранением приемлемого качества звучания.

Системные требования алгоритмов

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

  • оперативной памяти (под промежуточные данные);
  • постоянной памяти (под код программы и константы);
  • процессорного времени.

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

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

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

См. также


Wikimedia Foundation . 2010 .

Смотреть что такое "Сжатие информации" в других словарях:

    сжатие информации - уплотнение информации — [Л.Г.Суменко. Англо русский словарь по информационным технологиям. М.: ГП ЦНИИС, 2003.] Тематики информационные технологии в целом Синонимы уплотнение информации EN information reduction …

    СЖАТИЕ ИНФОРМАЦИИ - (сжатие данных) представление информации (данных) меньшим числом битов по сравнению с первоначальным. Основано на устранении избыточности. Различают С. и. без потери информации и с потерей части информации, несущественной для решаемых задач. К… … Энциклопедический словарь по психологии и педагогике

    адаптивное сжатие информации без потерь - — [Л.Г.Суменко. Англо русский словарь по информационным технологиям. М.: ГП ЦНИИС, 2003.] Тематики информационные технологии в целом EN adaptive lossless data compressionALDC … Справочник технического переводчика

    уплотнение/сжатие информации - — [Л.Г.Суменко. Англо русский словарь по информационным технологиям. М.: ГП ЦНИИС, 2003.] Тематики информационные технологии в целом EN compaction … Справочник технического переводчика

    цифровое сжатие информации - — [Л.Г.Суменко. Англо русский словарь по информационным технологиям. М.: ГП ЦНИИС, 2003.] Тематики информационные технологии в целом EN compression … Справочник технического переводчика

    Звук является простой волной, а цифровой сигнал является представлением этой волны. Это достигается запоминанием амплитуды аналогового сигнала множество раз в течение одной секунды. Например, в обыкновенном CD сигнал запоминается 44100 раз за… … Википедия

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

    сжатие цифровой картографической информации - Обработка цифровой картографической информации в целях уменьшения ее объема, в том числе исключения избыточности в пределах требуемой точности ее представления. [ГОСТ 28441 99] Тематики картография цифровая Обобщающие термины методы и технологии… … Справочник технического переводчика

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

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


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

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

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

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

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

Нет, это не идея Ричарда,

Это команда Пайд Пайпера решает задачу Эрлиха.

Как вы догадываетесь, всё закончилось хорошо и Пайд Пайпер получил 50 тысяч долларов. А Питер Грегори передал им, что он не огорчен.

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

Коэффициент сжатия - основная характеристика алгоритма сжатия. Она определяется как отношение объёма исходных несжатых данных к объёму сжатых, то есть: , гдеk - коэффициент сжатия,S o - объём исходных данных, аS c - объём сжатых. Таким образом, чем выше коэффициент сжатия, тем алгоритм эффективнее. Следует отметить:

    если k = 1, то алгоритм не производит сжатия, то есть выходное сообщение оказывается по объёму равным входному;

    если k < 1, то алгоритм порождает сообщение большего размера, нежели несжатое, то есть, совершает «вредную» работу.

Ситуация с k < 1 вполне возможна при сжатии. Принципиально невозможно получить алгоритм сжатия без потерь, который при любых данных образовывал бы на выходе данные меньшей или равной длины. Обоснование этого факта заключается в том, что поскольку число различных сообщений длинойn бит составляет ровно 2 n , число различных сообщений с длиной меньшей или равнойn (при наличии хотя бы одного сообщения меньшей длины) будет меньше 2 n . Это значит, что невозможно однозначно сопоставить все исходные сообщения сжатым: либо некоторые исходные сообщения не будут иметь сжатого представления, либо нескольким исходным сообщениям будет соответствовать одно и то же сжатое, а значит их нельзя отличить. Однако даже когда алгоритм сжатия увеличивает размер исходных данных, легко добиться того, чтобы их объём гарантировано не мог увеличиться более, чем на 1 бит. Тогда даже в самом худшем случае будет иметь место неравенство:Делается это следующим образом: если объём сжатых данных меньше объёма исходных, возвращаем сжатые данные, добавив к ним «1», иначе возвращаем исходные данные, добавив к ним «0»). Пример того, как это реализуется на псевдо-C++, показан ниже:

bin_data_t __compess(bin_data_t input) // bin_data_t - тип данных, означающий произвольную последовательность бит переменной длины

bin_data_t output = arch(input); // функция bin_data_t arch(bin_data_t input) реализует некий алгоритм сжатия данных

if (output.size()

output.add_begin(1); // функция bin_data_t::add_begin(bool __bit__) добавляет бит, равный __bit__ в начало последовательности

return output; // возвращаем сжатую последовательность с добавленной «1»

else // иначе (если объём сжатых данных больше или равен объёму исходных)

input.add_begin(0); // добавляем «0» к исходной последовательности

return input; // возвращаем исходный файл с добавленным «0»

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

    средний (обычно по некоторому тестовому набору данных);

    максимальный (случай наилучшего сжатия);

    минимальный (случай наихудшего сжатия);

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

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

    символические данные, изменение которых неминуемо приводит к изменению их семантики: программы и их исходные тексты, двоичные массивы и т. п.;

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

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

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

ОПРЕДЕЛЕНИЕ

Коэффициент сжатия — это физическая величина, равная относительному изменению объема, деленному на изменение давления, которое вызывает изменение объема вещества.

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

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

Объем связан с плотностью вещества, поэтому для процессов изменения давления при постоянной массе, можно записать:

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

где — частная производная при T=const.

Адиабатический коэффициент сжатия можно найти как:

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

Между адиабатическим и изотермическим коэффициентами сжимаемости существует связь, которая отражается уравнением:

где и — теплоемкости при постоянном объеме и давлении.

Единицы измерения коэффициента сжатия

Основной единицей измерения коэффициента сжимаемости в системе СИ является:

Примеры решения задач

ПРИМЕР 1



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


В соответствии с определением коэффициента сжатия запишем:

Так как изменение стороны куба, вызванное давлением равно , то объем куба после сжатия () можно представить как:

Следовательно, относительное изменение объема запишем как:

Величина мала, поэтому считаем, что равны нулю, тогда можно положить, что:

Подставим относительное изменение объема из (1.4) в формулу (1.1), имеем:

Ответ