Эталонная модель OSI: оборудование уровня 6
Если вы хотите прочитать другие части этой серии статей, перейдите по ссылке:
- Эталонная модель OSI: оборудование уровня 1
- Эталонная модель OSI: оборудование уровня 2
- Эталонная модель OSI: оборудование уровня 3
- Эталонная модель OSI: оборудование уровня 4
- Эталонная модель OSI: оборудование уровня 5
Если вы хотите получать уведомления, когда Рассел Хичкок выпустит следующую статью из этой серии на информационный бюллетень WindowsNetworking.com, посвященный обновлению статей в режиме реального времени
В своих последних пяти статьях я писал о пяти нижних уровнях эталонной модели взаимодействия открытых систем (OSI). В этой статье я расскажу о шестом. Уровень 6, уровень представления, является первым уровнем, связанным с передачей данных по сети на более абстрактном уровне, чем просто единицы и нули; например, при передаче букв, как они представляются как единицы и нули (или, скорее, как они «представляются» нижним уровням эталонной модели OSI).
Эта функциональность называется трансляцией и позволяет различным приложениям (часто на другом вычислительном оборудовании) обмениваться данными, используя общеизвестные стандарты трансляции, называемые синтаксисом передачи. Помимо синтаксисов передачи, которые могут представлять строки как единицы и нули, существуют другие, которые могут передавать более сложные данные, такие как объекты в языках объектно-ориентированного программирования. Расширяемый язык разметки (XML) является примером этого.
СЖАТИЕ
Еще одной важной функцией уровня представления является сжатие. Сжатие часто используется для максимального использования пропускной способности сети или для оптимизации дискового пространства при сохранении данных.
СЖАТИЕ БЕЗ ПОТЕРЬ
Существует два основных типа сжатия без потерь и с потерями. Сжатие без потерь, как следует из его названия, сжимает данные таким образом, что при распаковке данные будут точно такими же, как до сжатия; потери данных нет. Сжатие данных без потерь обычно не сжимает файл так сильно, как методы сжатия с потерями, и для выполнения сжатия может потребоваться больше вычислительной мощности; это компромиссы, которые необходимо учитывать при выборе метода сжатия.
СЛОВАРЬ КОДИРОВАНИЯ
Одним из распространенных способов реализации сжатия данных без потерь является использование словаря. Этот метод, часто называемый кодером подстановки, будет искать совпадения между отправляемым сообщением и сообщениями в словаре. Например, вы можете использовать полный словарь английского языка в качестве словаря, а когда вам нужно сжать содержимое книги, вы просто замените каждое слово его положением в словаре. Распаковка этого сжатого сообщения работает противоположным образом, места заменяются словом в этом месте.
Кодировщики подстановки также могут быть намного сложнее, чем в приведенном выше примере. Например, алгоритмы LZ77 и LZ78 работают со словарем, называемым скользящим окном. Словарь со скользящим окном — это словарь, который изменяется в процессе сжатия. По сути, словарь со скользящим окном содержит каждую подстроку, видимую в последних N байтах уже сжатых данных. При использовании словаря со скользящим окном для сжатых данных потребуются два значения для идентификации строки вместо одного. Два значения — это расположение начала подстроки, которое указывает, что подстрока находится в скользящем окне, начиная с X байтов до текущего местоположения, и длина подстроки.
КОДИРОВАНИЕ ПРОДОЛЖИТЕЛЬНОСТИ
Другим базовым примером сжатия без потерь является кодирование длин серий. Алгоритм кодирования длин серий заменяет подмножество данных, которое повторяется много раз, подмножеством данных и числом, представляющим количество повторений. Примером из реальной жизни, где кодирование длин серий является весьма эффективным, является факсимильный аппарат. Большинство факсов представляют собой белые листы с редким черным текстом. Таким образом, схема последовательного кодирования может принимать каждую строку и передавать код белого цвета, затем количество пикселей, затем код черного цвета и количество пикселей и так далее. Поскольку большая часть факса белая, длина передаваемого сообщения будет значительно уменьшена.
Нужно осторожно использовать этот метод сжатия. Если в данных не так много повторений, возможно, что схема кодирования длин серий фактически увеличит размер файла.
СЖАТИЕ С ПОТЕРЯМИ
Конечно, не всегда осуществимо или желательно использовать метод сжатия без потерь. Во многих случаях методы сжатия без потерь просто не сжимают данные настолько, чтобы быть полезными. В других случаях методы сжатия без потерь требуют слишком большой вычислительной мощности для сжатия и/или распаковки, и во многих ситуациях методы сжатия с потерями могут давать результаты, практически неразличимые человеком. На рис. 1 показан график относительных скоростей сжатия.
Рисунок 1: График скорости сжатия (Источник: www.donationcoder.com)
СЖАТИЕ ЦИФРОВЫХ ИЗОБРАЖЕНИЙ
Сжатие цифровых изображений — это ситуация, когда следует быть осторожным при выборе метода сжатия без потерь или с потерями. Часто выбор зависит от сжимаемого изображения. Изображения, такие как медицинские изображения, для которых крайне важны мелкие детали, скорее всего, потребуют сжатия без потерь. В то время как фотографии вашего семейного отпуска, вероятно, выиграют от уменьшения размера файла, обеспечиваемого методами сжатия с потерями.
В случае фотографий вашего семейного отпуска выбор метода сжатия с потерями не означает, что вы получите фотографии низкого качества. На самом деле многие методы сжатия цифровых изображений с потерями могут использовать тот факт, что человеческий глаз более чувствителен к яркости, чем к незначительным изменениям цвета. Это означает, что метод сжатия будет сохранять очень похожие цвета как один и тот же цвет, сохраняя при этом данные яркости без потерь. Это называется подвыборкой цветности.
ЦИФРОВОЕ СЖАТИЕ АУДИО
Другой пример, когда методы сжатия с потерями могут быть хорошим выбором, — это цифровое сжатие звука. Методы сжатия цифрового звука с потерями используют область исследований, известную как психоакустика. По сути, психоакустика — это изучение того, как люди слышат и воспринимают звук.
Одним из аспектов психоакустики, имеющих отношение к сжатию цифрового звука, является тот факт, что люди могут слышать звуки только на частоте от 20 Гц до 20 кГц. Многие методы сжатия цифрового звука с потерями используют это преимущество и не сохраняют никакой информации, относящейся к частотам за пределами этого диапазона.
С частотным диапазоном, который могут слышать люди, также связан тот факт, что звуки на более высоких частотах должны быть громче, чтобы их вообще можно было услышать. Это означает, что методы сжатия с потерями могут сэмплировать звуки низкой интенсивности на этих частотах гораздо менее строго или вообще не сэмплировать. Это также означает, что разработчики этих методов сжатия могут «спрятать» любые шумовые артефакты (в результате сжатия) на этих высоких частотах, где они не будут восприниматься.
Еще одним аспектом психоакустики, который широко используется при сжатии цифрового звука с потерями, является явление, называемое маскированием. Это когда громкий звук вызывает более тихий звук, который в то же время становится неслышимым. Это, конечно, зависит от частоты, но, тем не менее, это явление широко используется инженерами в области сжатия звука. По сути, когда на звуковой дорожке есть громкий звук, сжатый файл не будет сохранять данные, связанные с другими звуками в данный момент. В результате, если все сделано аккуратно, человеческое ухо будет воспринимать все звуки так же, как и в несжатом треке.
Одной из областей, в которой набирает популярность цифровое сжатие звука без потерь, является цифровое архивирование. Звукоинженеры и потребители, которые хотят сохранить точную копию своих аудиофайлов, все чаще обращаются к цифровому сжатию звука без потерь. Одна из причин этого заключается в том, что стоимость цифрового хранилища падает, и по этой причине люди могут позволить себе использовать пространство для хранения.
Несмотря на низкую стоимость цифрового хранилища, цифровое сжатие звука с потерями по-прежнему остается главным, когда речь идет о портативном хранении музыки. Например, ваш iPod будет использовать сжатие цифрового звука с потерями, потому что, когда вы хотите носить с собой хранилище, вы можете хранить только ограниченный объем данных; использование сжатия с потерями позволит вам носить с собой больше песен. Еще одна область, где сжатие с потерями является королем, — это потоковое аудио. Несмотря на то, что стоимость полосы пропускания значительно снизилась за последние годы, по-прежнему существует необходимость уменьшить полосу пропускания, используемую многими приложениями. Таким образом, все, от онлайн-радио до приложений VoIP, как правило, использует методы сжатия с потерями.
Если вы хотите прочитать другие части этой серии статей, перейдите по ссылке:
- Эталонная модель OSI: оборудование уровня 1
- Эталонная модель OSI: оборудование уровня 2
- Эталонная модель OSI: оборудование уровня 3
- Эталонная модель OSI: оборудование уровня 4
- Эталонная модель OSI: оборудование уровня 5
Если вы хотите получать уведомления, когда Рассел Хичкок выпустит следующую статью из этой серии на информационный бюллетень WindowsNetworking.com, посвященный обновлению статей в режиме реального времени