В своей предыдущей части я писал о пятом уровне модели взаимодействия открытых систем (OSI). В этой части мы обсудим шестой уровень. Шестой уровень или уровень представления является первым уровнем, связанным с передачей данных по сети на более абстрактном уровне, нежели простые единицы и нули; например, при передаче букв, как они представляются единицами и нулями (или, скорее, как они «представляются» более низкому уровню модели OSI).
Эта функция называется трансляцией и позволяет различным приложениям (зачастую на различном компьютерном оборудовании) взаимодействовать, используя общеизвестные стандарты трансляции, называемые синтаксисом передачи. Помимо синтаксисов передачи, которые способны представлять строки в виде единиц и нулей, существуют другие стандарты, способные передавать более сложные данные, такие как объектно-ориентированные языки программирования. Расширенный язык разметки (Extensible Markup Language – XML) является примером такого стандарта.
Сжатие (COMPRESSION)
Еще одной важной функцией уровня представления является функция сжатия. Сжатие обычно используется для максимально возможного увеличения использования пропускной способности сети или оптимизации места диска при хранении данных.
Сжатие без потерь (LOSSLESS COMPRESSION)
Существует два основных типа сжатия, сжатие без потерь и с потерями (Lossless/lossy). Сжатие без потерь, как предполагает его имя, сжимает данные таким образом, что когда данные распаковываются, они остаются точно такими же, как были до сжатия; при таком сжатии отсутствует потеря данных. Сжатие без потерь, как правило, будет не так сильно сжимать данные, как методики сжатия с потерями, и может требовать больше мощности обработки для осуществления сжатия; решение о принятии той или иной методики сжатия каждый принимает для себя сам.
Словарное кодирование (DICTIONARY ENCODING)
Одним из наиболее распространенных способов применения сжатия данных без потерь является использование словаря. Этот способ, часто называемый подстановочным кодированием, будет искать соответствия в сообщении для отправки и в сообщениях в словаре. Например, вы можете использовать полный английский словарь в качестве словаря и когда вы хотите сжать содержимое книги, вы просто заменяете все слова в ней на расположение слова в словаре. Распаковка таких сжатых сообщений происходит в обратном порядке, расположения слов заменяются самими словами.
Подстановочное кодирование может быть значительно более сложным, чем вышеприведенный пример. Например, алгоритмы LZ77 и LZ78 работают со словарем, который называется окном пакетной передачи переменной длительности (sliding window). Этот словарь представляет собой словарь, который изменяется во время процесса сжатия. По сути, такой словарь содержит каждую подстроку, показанную в последнем N байте данных в уже сжатом состоянии. При использовании такого словаря для определения строки сжатым данным требуется два значения вместо одного. Этими значениями будут начало подстроки, которое указывает на то, что подстрока найдена в окне пакетной передачи, и начинается с X количества байт до текущего расположения, а также длительность подстроки.
Продольное кодирование (RUN-LENGTH ENCODING)
Другим основным примером сжатия данных без потерь является продольное кодирование. Алгоритм продольного кодирования замещает подмножество данных, повторяющихся много раз, подмножеством данных и числом, обозначающим количество повторений. В реальности продольное кодирование эффективно используется в факсах. Большинство факсов представляют собой белые листы с черным текстом. Поэтому схема продольного кодирования может брать каждую строку и передавать код для белого, а затем количество пикселей; затем код для черного и количество пикселей и т.д. Поскольку большая часть факса белая, длина передаваемого сообщения значительно снижается.
Этот метод сжатия нужно использовать аккуратно. Если в данных нет большого количества повторений, то схема продольного кодирования может превзойти по размерам исходный файл.
Сжатие с потерями (LOSSY COMPRESSION)
Конечно не всегда удобно и необходимо использовать приемы сжатия без потерь. Во многих случаях методы сжатия без потерь просто не будут сжимать данные на достаточном уровне, чтобы быть эффективными. В других ситуациях приемы сжатия без потерь будут потреблять слишком много ресурсов обработки на сжатие и/или распаковку, и во многих ситуациях методики сжатия с потерями могут обеспечивать результаты, практически незаметные человеку. На рисунке 1 приведена диаграмма соответствующих скоростей сжатия.
Рисунок 1: Диаграмма скоростей сжатия
Сжатие цифровых образов (DIGITAL IMAGE COMPRESSION)
Сжатие цифровых образов представляет собой ситуацию, в которой нужно очень осторожно подходить к решению о выборе методов сжатия с потерями или без потерь. Обычно выбор зависит от сжимаемого образа. Такие образы, как медицинские фотографии, в которых отчетливые детали очень важны, потребуют сжатия без потерь. С другой стороны, снимки вашего семейного отдыха только выиграют от уменьшенного размера файла, который обеспечивается способами сжатия с потерями.
В случае с фотографиями вашего семейного отдыха выбор методики сжатия с потерями не означает, что фотографии после сжатия будут плохого качества. На самом деле, многие способы сжатия с потерями для цифровых образов могут пользоваться тем, что человеческий глаз более чувствителен к яркости, нежели к незначительным изменениям цвета. Это означает, что метод сжатия будет сохранять очень схожие с оригиналом цвета, сохраняя при этом яркость без потерь. Это называется chroma sub-sampling (цветовое суб-сэмплирование) .
Сжатие цифрового звука (DIGITAL AUDIO COMPRESSION)
Еще одним примером того, где сжатие с потерями может быть полезным, является ситуация сжатия цифрового звука. Приемы сжатия цифрового звука используют область науки, известную под названием психоакустика. По сути, психоакустика – это наука о том, как человек слышит и воспринимает звук.
Одним из аспектов психоакустики, связанным со сжатием цифрового звука, является тот факт, что люди могут слышать звуки в диапазоне частот от 20Гц до 20кГц. Многие приемы сжатия цифрового звука с потерями используют это и не сохраняют никакую информацию, связанную с частотами вне этого диапазона.
Еще одним моментом, связанным с воспринимаемым людьми диапазоном частот, является то, что звуки более высокой частоты должны быть громче, чтобы человек их слышал. Это означает, что сжатие с потерями может сэмплировать звуки меньшей интенсивности на этих частотах менее четко, или не сэмплировать вовсе. Это также означает, что разработчики этих методик сжатия могут «прятать» артефакты шумов (результаты сжатия) в этих высоких частотах, где их невозможно будет воспринимать.
Еще одним аспектом психолингвистики, который широко используется в сжатии цифрового звука с потерями, является феномен под названием маскирование. Это ситуация, в которой более громкий звук делает неслышным или невнятным более тихий звук, звучащий одновременно с ним. Это конечно зависит от частоты, но, тем не менее, это явление широко применяется инженерами в области сжатия звука. По сути, когда на аудиодорожке есть громкий звук, сжатый файл не будет сохранять данные, связанные с прочими звуками. В результате, если все сделано аккуратно, человеческое ухо будет слышать те же звуки, что и в несжатом треке.
Одной из областей, в которой сжатие цифрового звука без потерь становится все более популярным, является цифровое архивирование. Создатели и потребители аудио, желающие сохранить точную копию своих аудио файлов, все чаще обращаются к сжатию цифрового звука без потерь. Одной из причин тому является удешевление носителей цифровой информации, и люди могут позволить себе дополнительное место для хранения.
Несмотря на невысокую стоимость носителей для хранения цифровой информации, сжатие цифрового звука с потерями все же имеет преимущество, когда речь заходит о переносных носителях музыки. Например, ваш iPod будет использовать такое сжатие, потому что когда вы хотите носить такой накопитель с собой, вы сможете записать на него лишь тот объем данных, который он может вместить; использование сжатия с потерями позволит записать больше песен на этот накопитель. Еще одна область, в которой сжатие с потерями является главенствующим, это потоковое аудио. Даже несмотря на значительное снижение стоимости пропускной способности сети за последние годы, все еще есть необходимость в снижении потребления ресурсов пропускной способности, которые используются многими приложениями. Поэтому все, начиная с онлайнового радио и заканчивая приложениями VoIP, использует сжатие с потерями.
Автор: Рассел Хичкок (Russel Hitchcock)
Постовой
Хватит гадить на даче в кусты в 21-ом веке! Я поставил себе на дачу септик КЕДР и крайне доволен. Очень надежно сделано, отличное качество, гарантии производителя. Практически нет запаха, кто бывал в деревенских туалетах, тот поймет….
В нашей компании зарегистрировать оффшор в Доминике можно очень просто и быстро. Есть отличное специальное предложение по покупке готовой компании в оффшоре всего за 1350$