Алгоритмы и протоколы каналов и сетей передачи данных
Семенов Юрий Алексеевич

Содержание


Лекция 0. Предисловие

Этот курс является переработкой книги "Протоколы Интернет. Энциклопедия". Часть материала была удалена как устаревшая или малосущественная. Одновременно было существенно расширено содержимое некоторых разделов, добавлены описания новых алгоритмов и протоколов, появившихся после 2001 года и не вошедших по разным причинам в предыдущую книгу. В этот перечень вошли протоколы MPLS и MPLS-TE, RSVP-TE, GMPLS, P2P, TFRC, DCCP, LDP, ICQ, SIP, FEC, IEEE 802.16, 802.17, Bluetooth, Wi-Fi, MPEG-21, IPSec и др. В период с 2000 по 2006 годы темп появления новых регламентирующих документов RFC не спадал и составлял ~270-350 в год. Эти документы в основном касались мультимедиа, качества обслуживания, мобильных сетей, сетевой безопасности и диагностики, а также новых сетевых сервисов.

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

Человечество все в большей степени становится зависимым от сетей и ЭВМ, в заметной мере от этих технологий начинает зависеть даже жизнь человека. Генетические коды, истории болезней, страховые полисы и пр. хранятся в машинах и передаются по сети. По этой причине безопасность и надежность машин и сетей начинает выходить на первое место.

За год создается более 10000 разновидностей только сетевых червей. Число различных разновидностей атак, предпринимаемых хакерами, перевалило за 2500 и продолжает расти. В среднем каждая машина подвергается атакам 20-40 раз в сутки. Появились принципиально новые виды сетевых атак типа spyware и bot. Сейчас стало опасно посещать незнакомые web-сайты, даже если вы ничего оттуда не копируете.

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

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

Новым в телекоммуникациях является также широкое внедрение технологии peer-to-peer (P2P) для целей файлового обмена и телевидения. Эта технология является альтернативой схемы "клиент-сервер".

В связи с широким внедрением IP-телефонии и предстоящим развитием IP-телевидения все больше внимания уделяется средствам обеспечения гарантированного качества обслуживания.

Ожидается широкое внедрение сетевых технологий в человеческое жилище — локальные сети высокого быстродействия в московских домах становятся обыденной реальностью. Локальные сети появляются в автомобилях и других транспортных средствах.

Лекция 1. Введение в новейшие телекоммуникационные технологии

Введение в новейшие телекоммуникационные технологии. Каналы данных как продолжение органов чувств человека. Алгоритмы модуляции и кодирования при передаче данных, теорема Шеннона, природа шумов, шум дискретизации.

Базовые алгоритмы телекоммуникаций

Почему мы поступаем так, а не иначе? Почему именно так сложились обстоятельства? Что в развитии событий было случайным, а что — закономерным? Над этими вопросами мы бьемся достаточно часто.

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

1.1. Предыстория

Создатель снабдил людей неплохими системами коммуникаций. Это прежде всего органы зрения, слуха и голосовой аппарат. Наиболее важные из них продублированы - мы имеем два уха и два глаза, что создает предпосылки стереовосприятия и пространственной локации источника звука или оптического объекта. Определенную информацию об окружающей среде мы получаем от органов вкуса, обоняния и осязания. Эти информационные каналы весьма важны для сохранения жизни, но с точки зрения потоков данных они достаточно узкополосны. Самым широкополосным нашим каналом является визуальный. В оптической области люди могут воспринимать волны с длиной волны от 400 до 700 нм, и это в принципе может обеспечить потоки данных масштаба ~60 Тбит/c. Проблема в том, что человек способен воспринимать <<10 Мбит/с, обрабатывая данные лишь частично (речь идет о восприятии движущегося изображения). В акустическом диапазоне наши уши чувствительны для частот от 20 Гц до 20 КГц. Наш акустический канал принципиально асимметричен. Передачу данных мы осуществляем голосом (полоса 600 Гц – 6 КГц), а восприятие - слухом, который имеет более чем в два раза большую полосу пропускания. Уместен вопрос: зачем Природа или Создатель сформировали столь асимметричный канал? Не признать рациональность такого решения нельзя - хотя бы с точки зрения безопасности. Ведь в реальной жизни через уши мы получаем данные о шорохе листвы, по которой к нам подползает змея, или о подлетающем комаре. Частотные диапазоны таких шумов находятся вне области воспроизведения нашим голосом. Это же касается раскатов грома или звука выстрела. Отсюда следует, что мудр тот, кто больше слушает, чем говорит, - так он способствует накоплению информации в своей памяти.

Огромен динамический диапазон воспринимаемых нами звуков - более 1:20000. К счастью, имеющийся у нас аппарат преобразования звука в нервный (электрический) сигнал является нелинейным. В противном случае при близком грозовом разряде или выстреле мы могли бы погибнуть от шока - из-за слишком большого импульса возбуждения. Устройство преобразования звука у человека имеет логарифмическую характеристику и спасает нашу нервную систему от перегрузок. Это позволяет нам и воспринимать шорох листвы, и выживать, когда сосед слушает тяжелый рок при 300 Вт звуковой мощности или пытается завести свой мотоцикл на балконе. Частотный диапазон восприятия у нас настроен так, чтобы воспринимать жизненно важные звуковые сигналы. Наш голосовой аппарат способен воспроизводить самые разнообразные звуки, что позволило человечеству сформировать языковую систему коммуникации. Человеческий голос состоит из гласных и согласных звуков. Гласные звуки генерируются, когда голосовой тракт открыт, и определяются резонансом, основная частота которого зависит от размера и формы голосовой системы, от положения языка и челюстей говорящего. Эти звуки для интервалов порядка 30 мс являются почти периодическими. Согласные звуки формируются, когда голосовой тракт частично перекрыт, эти звуки менее регулярные по сравнению с гласными. Некоторые современные системы генерации и передачи голоса используют модели голосовой системы с ограниченным числом параметров (например, размер и форма различных полостей), а не простое стробирование формы голосового сигнала. Вполне возможно, что успешное использование звуков для сигнальных целей в свою очередь стимулировало развитие гибкости голосового аппарата

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

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

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

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

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

Устные знания ненадежны, легко искажаются. Впрочем, это было свойственно и первым письменным источникам - ведь первые книги переписывались вручную. В качестве носителя использовались специально обработанные шкуры животных - пергамент или прототип бумаги - папирусы (древнейшие египетские папирусы относятся к XXV веку до нашей эры) и, наконец, во втором веке нашей эры - бумага (Китай). В начале XI века в Китае начали печатать книги с использованием подвижных литер, выполненных из глины или дерева. В XIV веке в Корее стали применяться для печати подвижные металлические литеры (чем не прототип пишущей машинки?). Практически с самого начала в рукописях и "полиграфии" использовалось несколько цветов.

Сначала записанная информация имела вид свитков. Позднее они стали объединяться, и такие блоки листов стали называться кодексами. Известные древнейшие библиотеки относятся ко 2-3-му тысячелетиям до нашей эры, и создавались они героическими усилиями переписчиков. Переписчик часто заботливо "исправлял" непонятные ему места, внося неизбежные субъективные искажения. Иногда такие искажения вводились сознательно в угоду политическим, идеологическим или религиозным воззрениям.

Книгопечатание в Европе появилось сравнительно недавно - в середине XV века в Германии благодаря усилиям Гуттенберга (литеры из глины). Каменные скрижали были долговечны, но неудобны для переноса и изготовления. Люди, правда, научились писать на глиняных пластинках, которые потом обжигались на солнце, но и это не решало проблемы. Надписям на камне мы обязаны своим знаниям о самых древних периодах человеческой цивилизации. Бумага и пергаменты хорошо горят (и гниют), что послужило причиной потери многих ценных манускриптов. Пожары же преследовали человечество с самого начала, с момента освоения технологии обогрева и приготовления пищи на очаге. До нашего времени дожили лишь небольшие фрагменты некоторых древних библиотек (вспомним хотя бы судьбы Александрийской библиотеки или библиотеки Ивана Грозного). Бумажные книги существуют уже более 800 лет. И только в конце XX века благодаря развитию вычислительной техники у них появился конкурент - CD-диски (с объемом данных 600-750 Мбайт, и это не предел). На данной странице около 3,5 килобайт информации. Один CD-диск может содержать тексты нескольких книг. Объемная плотность информации в CD превосходит книжную в десятки раз. В принципе технология CD может обеспечить длительность хранения на уровне многих сотен, а может быть, и тысяч лет.

Наш голосовой канал прежде всего предназначен для общения с себе подобными. Часть предыдущей фразы до запятой содержит 19 букв (в кодовом представлении - 19 байт). Обычно она произносится примерно за одну секунду, что создает поток данных в 152 бит/с. Хорошо тренированный оператор за полторы-две секунды может напечатать эту часть фразы.

Отсюда видно, что наши собственные возможности передачи данных, сопряженные с движениями пальцев рук или языка, весьма ограничены и не превышают (100-150) бит/с.

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

Нашу нервную систему вполне можно рассматривать как локальную сеть, внешние же коммуникации человека могут служить аналогом Интернета. По внутренним нервным магистралям распространяются сигналы от различных рецепторов, сообщая данные о состоянии окружающей среды и самого организма; аналогично, но в противоположном направлении передаются управляющие сигналы. Обратные связи являются основой жизни и способом адаптации к окружающей среде. Я не являюсь тонким знатоком физиологии человека, но тем не менее позволю себе предположить, что в нашей нервной системе используются как "проводные" соединения, так и адресная система доставки сообщений. Мне трудно представить, например, чтобы тактильные и температурные датчики транспортировали в мозг сигналы по разным каналам - такое решение представляется неэффективным, хотя вполне может оказаться, что я ошибаюсь. Для построения систем, непосредственно контактирующих с органами чувств человека, крайне важно точно знать параметры внутренних каналов передачи сигналов. Такие данные помогут корректно спроектировать интерфейсы, оптимизировать и заметно удешевить технические решения.

Наш визуальный канал принято справедливо считать быстродействующим. Быстродействие тем не менее здесь не столь велико, как это можно предположить. Во-первых, его ограничивает инерциальность датчиков в глазу, которая характеризуется постоянной времени ~0,04 с (вспомним частоту кадров в кино). Второй ограничивающий фактор - скорость обработки и распознавания образов в головном мозге. Оценить эту составляющую быстродействия сложнее. Попытаемся все же это сделать. За сколько секунд вы можете прочесть эту страницу? Это у вас занимает 1-1,5 минуты? Тренированные люди способны читать до 1000 слов в минуту. Будем считать среднюю длину слова равной 8 букв, тогда получим скорость восприятия 135 байт/c.

Таким образом, максимальная скорость обработки текстовых данных составит <150 байт/с. Всего в 10 раз быстрее, чем при восприятии на слух!

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

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

Об этом должны задуматься режиссеры телефильмов, дизайнеры web-страниц, создатели рекламы и т.д. С другой стороны, следует помнить, что, обладай человек более скоростным визуальным каналом (если бы наши глаза не имели инерциальности запоминания видеоизображения), не было бы современного кино и телевидения, так как люди воспринимали бы их как мелькание картинок, а не как имитацию реальных образов. Кино и телевидение по своей природе не являются зеркальным отражением того, что оказывается в фокусе входного объектива киноаппарата или телевизионной камеры. Обе эти технологии успешно используют особенности нашего зрения и мозга. Эти соображения лишний раз доказывают, насколько важно учиться у природы.

Мы еще очень мало знаем об особенностях работы нашей аналитической системы. Очевидно, что значительная часть ее мощности используется для нормального функционирования нашего организма (переработка пищи, борьба за выживание во враждебной среде и т.д.). Полагаю, что те, кто писал программы для человекоподобных роботов, со мною согласятся. Просто удерживать тело в вертикальном состоянии - уже задача не из простых. Вы знаете, что происходит с человеком, чей мозг частично отравлен алкоголем. Все мы знаем также, что происходит с нашим телом, которое существовало десятки лет, после смерти. Оно разлагается присутствующими бактериями за несколько дней. Другой важной функцией нашего аналитического аппарата является обслуживание наших органов чувств (обработка поступающих данных и выработка ответных реакций). И лишь остаток ресурса используется для управления интеллектуальной сферой. Может быть, из-за большого запаса аналитического потенциала многие великие люди прожили долгую жизнь (например, Леонардо да Винчи, Л. Толстой).

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

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

Здесь мы прикасаемся к проблеме издержек, которые связаны с заголовками пакетов данных, пересылаемых по сетям. Так, при удаленном доступе (протоколы Telnet, SSh и пр.) на один переданный байт, характеризующий нажатую клавишу терминала, приходится более 50 байт заголовков и другой вспомогательной информации.

Эффективность удаленного ввода с консоли, как видите, меньше КПД паровоза. Но современные телекоммуникационные технологии пока не могут предложить ничего лучшего.

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

К сожалению, Создатель не предусмотрел передающего канала, образующего пару для нашего зрения. То ли он столкнулся с какими-то технологическими трудностями, то ли в силу своей мудрости увидел в этом истоки серьезных бедствий в будущем. Оптическая пара приемопередатчиков могла бы дать нам несравненно более мощный канал общения. Неясно только, смог бы наш мозг сформировать и обработать такой поток данных. Наш мозг - достаточно мощное аналитическое устройство, но и его возможности ограничены. Ведь время распространения возбуждения по нервным волокнам от мозга к периферийным мышцам исчисляется миллисекундами или даже десятками миллисекунд. Может быть, именно по этой причине наши глаза и уши размещены рядом с головным мозгом. Если бы глаза размещались, например, на запястьях (иногда неплохо было бы иметь там и уши), мы могли бы, разведя руки, с высокой точностью определять расстояние до любого объекта (разрешающая способность возросла бы более чем в 20 раз). Но время доступа к данным при этом неизбежно увеличилось бы, возросло бы и время отклика на сигналы опасности, что создало бы серьезные угрозы безопасности из-за замедления реакции. Кроме того, для кистей рук велика вероятность повреждений, ведь они у нас являются одним из главных исследовательских инструментов. Да и размеры человеческого тела с учетом того, что главным его инструментом выживания является мозг, полагаю, определяются, среди прочего, скоростью распространения сигналов возбуждения по нервным волокнам.

Кто знает, не является ли наблюдающаяся в последние годы акселерация (увеличение размеров человеческого тела от поколения к поколению) свидетельством вырождения человеческого рода.

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

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

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

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

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

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

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

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

Но даже такой технологии хватало для длительного существования гигантских государственных образований (от империи Александра Македонского до Римской империи). Именно со скоростью лошади либо деревянного гребного или парусного бескилевого судна передавались сообщения с периферии в центр, а оттуда в обратном направлении посылались руководящие инструкции или решения. Задержка достигала многих месяцев. Удивительно, но этого было вполне достаточно для стабильного существования государства. Вероятно, чиновники были вынуждены обдуманно принимать решения, так как быстро исправить ошибку было нельзя. Решение проблемы здесь лежит в предоставлении определенной самостоятельности властям провинции (приближение центра принятия решения к объекту управления). Еще одним средством решения проблемы большой задержки в цепи принятия решения (RTT, в сетевой терминологии) является выработка набора унифицированных правил реагирования на стандартные ситуации (в случае сетей такие правила называются протоколами). Даже применение самых мощных информационных и телекоммуникационных технологий не позволит эффективно управлять из Москвы автомобилем во Владивостоке.

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

Техника телекоммуникаций с временем RTT (Round Trip Time), равным 2-6 месяцам, просуществовала без существенных изменений более 1500 лет.

Только в XIX веке стали появляться железные дороги, пароходы и, что особенно важно, электрический телеграф и телефон. Связь с применением азбуки Морзе в 1840-х годах позволяла передать до 10 бит/с информации на расстояние десятки и сотни километров. Азбука Морзе, пожалуй, была первым широко распространенным телекоммуникационным кодом (см. таблицу 1.1). Коды здесь представляют собой последовательности точек и тире. Отличие точки от тире определяется длительностью сигнала (точке соответствует более короткий сигнал). Возможны варианты, когда точке и тире соответствуют импульсы тока или напряжения разной полярности. Такая схема исключает зависимость идентификации символа от длительности импульса. Максимальная скорость передачи классического телеграфа может составлять 950-1100 слов в час. В 1884 году начала функционировать телеграфная линия Вашингтон–Балтимор. Для линий связи в ту пору использовалась стальная проволока диаметром ~5 мм. В качестве источников электроэнергии применялись батареи с напряжением 40-120 В. Импульсы тока имели амплитуду 10-25 мА. Сама система являлась электромеханической и предполагала использование контактного ключа (вспомните шпионские фильмы периода Второй мировой войны). Позднее ключ был заменен клавиатурой. Нажатие на определенную клавишу вызывало формирование последовательности сигналов, соответствующей определенной букве, что позволяло в несколько раз ускорить процедуру передачи. Такое устройство, получившее название телетайп, было предложено Кляйшмидтом и Моркрамом в 1915 году в США. На первых порах использовались электромеханические приемные устройства, которые печатали точки и тире, что было крайне неудобно. Позднее стали применяться устройства, которые могли дешифровать коды Морзе (или Бодо) и печатать на ленте буквы. Люди старшего поколения, возможно, еще помнят бланки телеграмм, на которые были наклеены куски ленты с текстом, полученные от таких устройств.

Телекоммуникационный канал содержал два провода (см. рис. 1.1), по одному ток течет в одном направлении, по второму - в обратном. Понятно, что железо в качестве проводника не идеально (удельное сопротивление 8,8x10-6 Ом*см, да и склонность к ржавчине чего стоит), зато дешево. Лучше была бы медь или алюминий (1,56x10-6 и 2,45x10-6 Ом*см соответственно). Еще лучше серебро - 1,51x10-6 Ом x см. Золото по своим электрическим свойствам занимает положение между медью и алюминием. Полагаю, не нужно пояснять, почему каналы коммуникаций никогда не делали из серебра и тем более из золота (и с медью мороки не оберешься…). Омическое сопротивление является причиной ослабления сигнала, что ограничивает предельное расстояние передачи по проводной линии. Поэтому приходится на определенных расстояниях ставить станции ретрансляции.



Рис. 1.1. 

Код МорзеБуквы Код МорзеБуквы и символы
РусскиеЛатинскиеРусскиеЛатинские
x-АAax-x-Я
-xxxБBbx---ЙJj
x--ВWw-xx-Ь, ЪXx
--xГGgxx-xx;ЭOP
-xxДDdx----1
xЕEexx---2
xxx-ЖVvxxx--3
--xxЗZzxxxx-4
xxИIixxxxx5
-x-КKk-xxxx6
x-xxЛLl--xxx7
--МMm---xx8
-xНNn----x9
---ОOo-----0
x--xПPpxxxxx. (точка)
x-xРRrx-x-x-, (запятая)
xxxСSs-x-x-x;
-ТTt---xxx:
xx-УUuxx-xx?
xx-xФFf--xx--!
xxxxХHh------/
-x-xЦCcxx--x-_ (подчеркивание)
---xЧ_`x-x-x+ (конец)
----ШCh-xxx--
--x-ЩQq-xxx-знак раздела
-x--ЫYyx-x-x-x-начало действия
xx--Юghxxxxxxxисправление ошибки

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

Позднее было создано много других типов кодов (например, код Бодо для буквопечатающих аппаратов, ASCII или КОИ8) - в них, как правило, каждому символу или сигналу соответствует 5-8 бит. Сигналами отмечается, например, начало/конец передачи или исправление ошибки. Характерной особенностью ранних систем было отсутствие кодов для строчных букв. В мире много национальных алфавитов. Многие из них содержат специфические символы - достаточно вспомнить символьный набор китайского языка (в детстве меня занимал вопрос: как устроена китайская пишущая машинка?). Чтобы решить проблемы кодирования национальных алфавитов, был придуман юникод, где каждому символу ставится в соответствие два октета (байта). Это позволяет расширить многообразие символов с 256 до 65536.

Аналогичные принципы лежат в основе морских флажковых семафоров, где каждой букве соответствует определенное положение рук сигнальщика. Здесь можно также вспомнить французский семафор, изобретенный в 1830 году. Но это, так же как и сигнальные костры, можно считать первыми приложениями, использующими передачу данных по оптическим каналам связи.

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

Введя модуляцию на частоте 1500 Гц (1936 г.), удалось получить до 24 телексных каналов по одному телефонному каналу с полосой 4 КГц (50 бод). Позднее телексная сеть обрела самостоятельность и была окончательно вытеснена современными средствами связи лишь в конце XX века.

К 1950 годам большинство стран использовало три типа общедоступных сетей:

  1. Телеграфная сеть, которая просуществовала до конца XX века.
  2. Телефонная сеть (аналоговая), имеющая полосу 4 КГц и почти не менявшаяся по принципам работы с 1880-х годов. Импульсная сигнальная система практически сохранилась без изменений с 1910 года.
  3. Телексная сеть, которая применялась в основном для делового обмена.

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

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

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

Конечно, по пути транспортировки данных и на принимающей стороне предпринимаются усилия по фильтрации шума. Так как тепловые шумы достаточно высокочастотны, в случае телеграфии или телефонии можно существенно улучшить отношение сигнал/ шум простым подавлением высокочастотной составляющей сигнала.

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

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

1.2. Введение в новейшие технологии

Зависимость пропускной способности канала, обладающего определенной полосой пропускания, от отношения сигнала к шуму исследовал американский инженер и математик Клод Шеннон (1916 г.р.).

Теорема Шеннона (1948-1949) ограничивает предельную пропускную способность канала с заданной полосой пропускания и отношением "сигнал/ шум " в канале (формула получена в предположении белого гауссова шума):

(1.1)

Для стандартного телефонного канала , следовательно, теоретический предел для публичной коммутируемой телефонной сети равен примерно 30 Кбит/с. Ослабление для телефонных скрученных пар составляет около 15 дБ/км, дополнительные ограничения возникают из-за перекрестных наводок в многожильном кабеле. Стандартные проводные линии связи имеют ослабление 6 дБ/км на частоте 800 Гц, или 10 дБ/км на частоте 1600 Гц. С самого начала развития телефонии проводная система и оборудование проектировалось исходя из возможностей человеческого уха и голосового аппарата. По этой причине все традиционные системы телефонии имели полосу пропускания 3-3,5 КГц.

Из теоремы Шеннона следует, что при нулевом уровне шума можно получить сколь угодно высокую скорость передачи при сколь угодно низкой полосе пропускания канала!

Шеннон, по существу, развил идеи Найквиста. Если используется двоичное представление сигнала, то согласно теореме Найквиста [1924] максимальная скорость передачи данных по каналу без шума составит

(1.2)

где - полоса пропускания канала в Гц, а - число дискретных уровней сигнала на выходе цифрового преобразователя. Суть теоремы Найквиста-Котельникова заключается в том, что при полосе сигнала частота стробирования должна быть больше , чтобы принимающая сторона могла корректно восстановить форму исходного сигнала. По этой причине для стандартного телефонного канала с полосой , при отсутствии шумов и при нельзя получить скорость передачи более 6 Кбит/с. Здесь нет противоречия с теоремой Шеннона. Ведь в отсутствие шумов значение не будет иметь ограничения сверху! Здесь не имеется в виду, что максимальная амплитуда сигнала может достигнуть напряжения в несколько киловольт. Согласитесь, телефонных абонентов такая перспектива вряд ли бы порадовала. Но в отсутствии шумов можно и в пределах одного вольта представить себе любое число уровней сигнала. Фактически теорема Шеннона проясняет то, как уровень шумов ограничивает предельное значение при заданной максимальной амплитуде сигнала.

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

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

В 1876 году Э. Грей и А.Г. Белл одновременно сделали заявку на изобретение телефонного аппарата. Белл откупил у Грея права на это изобретение, усовершенствовал предложенное решение и совместно с Блейком и Эдисоном организовал первые телефонные сети. Вначале телефонная связь использовала электромеханические схемы преобразования и передачи голоса. Трансатлантический телефонный кабель был проложен в 1956 году. Современная телефония базируется на сотнях, а возможно, и тысячах изобретений. Системы коммутации телефонных каналов прошли путь от ручного переключения через этап электромеханических шаговых искателей к аналого-цифровым коммутаторам. Первый автоматический коммутатор был разработан Штроугером еще в XIX веке. К этому его подтолкнула осведомленность конкурентов о его делах, и он счел, что любопытные операторы ручной телефонной станции ему ни к чему.

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

В 1902 году Артур Корн (Германия) запатентовал систему фотоэлектрического сканирования изображения, а в 1910 году заработала первая международная факсимильная связь Берлин-Париж-Лондон. До 60-х годов прошлого века рынок факсимильной аппаратуры был ограничен.

В 1968 году международная комиссия CCITT разработала рекомендации по факсимильному оборудованию, которое было способно передавать страницу за 6 минут при разрешении 3,85 линий на мм. Позднее, в 1976 году аналоговая факсимильная техника была улучшена. Это позволило сократить время передачи страницы до 3 минут. В 1980 году был разработан стандарт для цифровых факс-машин (группа 3), в которых уже предусматривалось сжатие информации, что позволяло сократить время передачи стандартной страницы до 1 мин при скорости передачи 4800 бит/с. Следует иметь в виду, что сжатие информации в сочетании с ошибками пересылки может приводить к неузнаваемости изображения - локальной или полной. По этой причине число линий сканирования, которые используются при обработке изображения с целью сжатия, может варьироваться (1-4) и определяется в результате диалога между отправителем и получателем, а передача каждой скан-линии завершается довольно длинным кодом, предназначенным для надежного распознавания завершения строки сканирования, а также для коррекции ошибок. Факсимильное оборудование группы 3 может и не обеспечивать сжатия передаваемых (принимаемых) данных. В 1984 году разработаны требования к факс-аппаратам группы 4. Система базируется на двухмерной системе кодирования изображения (MMR - Modified Modified Reed).

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

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

Широкое внедрение электронной почты, похоже, окончательно приговорило факс-технологию.

В 1864 году Дж. Максвелл теоретически доказал, что вокруг проводника с переменным током должно возникать переменное электромагнитное поле, распространяющееся со скоростью света. В 1886-1889 годах Г. Герц экспериментально показал существование электромагнитных волн. А.С. Попов развил идеи Герца и в 1895 году продемонстрировал свой грозоотметчик. Первые радиопередатчики были построены и запатентованы Маркони и Слаби. Так появилась радиосвязь. В начале для радиосвязи использовались схемы на основе азбуки Морзе. Позднее по мере совершенствования техники и улучшения избирательной способности приемников появилась возможность голосовой связи. Это изобретение стало основой радиолокации, мобильной связи, телевидения, радиорелейных и спутниковых (первый геостационарный коммуникационный спутник заработал в 1965 году) коммуникаций. Впечатляющие успехи здесь достигнуты в связи с применением цифровых методов, например, методики мультиплексирования CDMA (math Division Multiple Access). В перспективе только радио (из числа современных технологий) может обеспечить межпланетные связи. Лазерные методы пригодны пока для ограниченных расстояний, максимум до Луны.

Телевидение. Первые попытки передачи и воспроизведения изображения с помощью диска Нипкова (Германия) относятся к 1884 году. В 1907 году Б.Г. Розингом было предложено использовать для приема изображения электронно-лучевую трубку (ЭЛТ), прототип видиконов и ортиконов. Устройство отображения на принимающей стороне также предполагало применение ЭЛТ. Электронное телевидение возникло в 30-х годах прошлого века (усилиями В.К. Зворыкина и Ф. Франсуорта). Число элементов N в одном кадре, на которое разлагается изображение в действующем в РФ стандарте (625 строк и 25 кадр./с), определяется по формуле

где - число строк, а - отношение ширины кадра к его высоте (для широкоформатного варианта отношение будет иным). Отсюда следует, что верхняя частота видеосигнала

где - число кадров в секунду. Здесь следует немного добавить полосы для звукового сопровождения, передачи цвета и различных служебных целей, например, для синхронизации передатчика и приемника. Именно это определяет необходимую полосу для каждого из телевизионных каналов, число которых может достигать уже сегодня 20-60, что требует полосу при традиционной схеме более 130-390 МГц.

Частота строчной развертки при этом составляет . Несущая частота должна быть в раз 8-10 больше 6,5 МГц, то есть превышать 48 МГц. Реально большинство каналов работают на частотах от 100 до 900 МГц. Радиоволны в этом диапазоне неспособны огибать препятствия и по этой причине гарантируют надежный прием лишь при непосредственной видимости между антеннами передатчика и приемника. Кривизна земли является естественным ограничителем максимального радиуса надежного приема телевизионного сигнала. Телевидение высокого разрешения, идущее на смену традиционному, требует еще большей полосы и частот. На подходе также и стереотелевидение. Телевидение стало основой и видеотелефонии. В городах телевизионный сигнал чаще передается по оптоволоконным кабелям.

Уже более десятилетия существует система стереотелевидения с проецированием изображения непосредственно на глазное дно человека. Эта система используется в шлемах устройств виртуальной реальности.

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

В 50-х годах прошлого века начался быстрый прогресс в области вычислительной техники и микроэлектроники, качественно изменивших все направления развития телекоммуникаций. Чтобы увеличить пропускную способность канала связи, можно расширять его полосу или улучшать отношение сигнала к шуму (см. выше теорему Шеннона). Первое, что приходит в голову, это увеличение амплитуды сигнала (вспомните 40-120-вольтные сигналы в первых телеграфах). Пока в электронике царили вакуумные лампы, такие и даже большие амплитуды были с технической точки зрения вполне возможны, хотя вряд ли рациональны. Но после внедрения полупроводниковых приборов эти уровни сигналов стали совершенно недопустимы. Это можно понять из вольтамперной характеристики такого прибора (см. рис. 1.2).

Большие амплитуды нежелательны, из-за пробивного напряжения (Vпр) при обратном смещении перехода. Можно, конечно, увеличить толщину перехода или сделать переход многослойным, но это ухудшит быстродействие прибора. Уровни сигнала выбраны по этой причине равными ~ 2,5 В.

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

В 1970 году в British Telecom были разработаны основные принципы еще одного вида передачи графической информации - телетекста. Первые опыты по его внедрению относятся к 1979 году. Стандарт на мозаичное представление символов был принят CEPT в 1983 году. Каждому символу ставится в соответствие код длиной в 7-8 бит. На экране такой символ отображается с помощью специального знакового генератора, использующего таблицу.

Вольтамперная характеристика n-p перехода для кремния


Рис. 1.2.  Вольтамперная характеристика n-p перехода для кремния

Полному экрану видеотекста, содержащему 24 строки по 40 символов, соответствует 960 байт, для передачи которых по коммутируемой телефонной сети требуется 6,4 секунды. D-канал ISDN может пропустить эту информацию за 1 секунду, а B-канал быстрее - за 0,1 с. Телетекст позволяет более эффективно использовать каналы связи и не налагает чрезмерных требований на устройства отображения.

Многие современные проблемы телекоммуникаций, например, безопасность каналов связи, проявили себя с самого начала. Достаточно вспомнить, как граф Монте-Кристо разорил банкира барона Данглара, послав с испано-французской границы фальсифицированное телеграфное сообщение. Так что сетевые атаки типа "man-in-the-middle" имеют почти двухвековую историю. Я уже не говорю об изощренных методах подслушивания телефонных переговоров. Развитие электронной почты сделало осуществимой мечту всех руководителей черных кабинетов (термин, используемый для структур, которые занимаются нелегальным вскрытием и прочтением чужих писем): доставку им писем самим отправителем. Достаточно вспомнить российскую систему СОРМ. Моральная сторона этого дела никогда и никого не останавливала - государственные структуры во все времена были аморальны.

Следует заметить, что впечатляющий прогресс в области телекоммуникаций на протяжении XX века мало что поменял в сфере удаленного управления. Может показаться, что возможность передавать сигнал в любую точку земного шара за доли секунды позволяют решить любую проблему удаленного управления. Это совсем не так. Любой сложный объект выдает достаточно большой объем данных, а если добавить сюда информацию об окружающей среде, то объем данных, подлежащих обработке, становится весьма велик. В прессе вы, вероятно, читали сообщения о том, что водитель авто не справился с управлением (при этом совсем не обязательно, чтобы он был нетрезв). Обычно это означает, что он отвлекся, объем воспринимаемой и перерабатываемой информации сократился, и с результатом разбираются в лучшем случае гаишники…

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

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

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

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

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

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

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

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

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

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

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

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

На этом пути нас поджидает опасная ловушка. Тотальная унификация (так же как и тотальная централизация) сделает систему уязвимой для сбоев или целенаправленных атак.

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

1.3. Модуляция и кодирование при передаче данных

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

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

Существует множество различных видов модуляции. Исторически первыми появились аналоговые способы модуляции: амплитудная, частотная, фазовая и различные их комбинации. Это было связано с технологической простотой их реализации. Цифровые методы стали использоваться лишь около 50 лет назад.

Для преобразования частот используется перемножение сигналов. Пусть мы имеем два синусоидальных сигнала: и . Из тригонометрии известно, что

(1.3)

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

Частотное преобразование


Рис. 1.3.  Частотное преобразование

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

Синхронизация передатчика и приемника в каналах коммуникаций является одной из важнейших задач.

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

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

Системы передачи данных с амплитудной или частотной модуляцией являются аналоговыми системами и по этой причине весьма чувствительны к шумам на входе приемника.

Применение цифровых методов пересылки информации увеличивает вероятность корректной доставки. Если для аналоговой передачи требуется отношение "сигнал/шум" на уровне 40-60 дБ, то при цифровой передаче достаточно 10-12 дБ.

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

В модемах применимы несколько видов модуляции (Таблица 1.1).

В QAM -модуляции используется 8/16 комбинаций "амплитуда-фаза" (см. рис. 1.4). Понятно, что такой тип модуляции более уязвим для шумов.

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

Таблица 1.1.
FSK(Frequency Shift Keying) - ступенчатое переключение частоты синусоидального сигнала от к при неизменной амплитуде; частоте ставится в соответствие логический нуль, а - логическая единица
BPSK(Binary Phase-Shift Keying) - скачкообразное переключение фазы синусоидального сигнала на при неизменной амплитуде; при этом фазе 0 ставится в соответствие логический нуль, а - логическая единица
DPSK(Differential Phase Shift Keying) - метод, при котором изменяется фаза несущей частоты при постоянной амплитуде и частоте. Разновидность PSK, при которой кодируется лишь изменение сигнала
QAM (Quadrature Amplitude Modulation) - комбинация амплитудной и фазовой модуляции, позволяет осуществить кодирование 8 бит на бод
QPSK(Quadrature Phase-Shift Keying) - квадратурная фазовая модуляция. Использует 4 фиксированных значения фазы 0, , и , требует в два раза более узкую полосу, чем PSK, и по этой причине весьма популярна
TCM(Trellis mathd Modulation) - метод предполагает использование избыточности, каждый бод несет дополнительный бит, который позволяет более точно восстановить информационную битовую последовательность. При кодировании сигнала используется метод QAM. Метод реализован в современных высокоскоростных модемах и позволяет снизить требования к отношению "сигнал/ шум " на 4-5 дБ

QAM-модуляция с 3 битами на бод (слева) и 4 битами на бод (справа)


Рис. 1.4.  QAM-модуляция с 3 битами на бод (слева) и 4 битами на бод (справа)

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

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

Впервые импульсно-кодовая модуляция (ИКМ) была применена для голосового сигнала в 1937 году Алеком Ривсом. Это было сделано для преодоления проблемы накопления искажений и шумов в процессе ретрансляции аналоговых сигналов. Тогда впервые было использовано стробирование с частотой 8кГц при 8-битовом аналого-цифровом преобразовании (АЦП). В то время еще не существовало эффективных технологических средств для реализации такой схемы.

Цифровая связь берет свое начало в 1970-х годах. Именно в это время начинается разработка больших интегральных схем оптоэлектроники. В процессе разработки ISDN-системы решались следующие проблемы.

В 1984 году CCITT опубликовало рекомендации для стандартов интерфейсов и услуг ISDN (Integrated System Digital Network). Впервые услуги ISDN стали доступны благодаря усилиям British Telecom в июне 1985 года. В 1986 году принят стандарт Х.21. К 1988 году такие услуги стали доступны в 60 городах Великобритании. С этого времени система ISDN стала признанным международным стандартом цифровой телефонной и факсимильной связи. При этом пользователи продолжали пользоваться двухпроводными аналоговыми телефонными аппаратами.

С 1985 года Международный телекоммуникационный союз (ITU) начал обсуждать возможность создания широкополосной версии ISDN. Сначала речь шла о полосе 45-53 Мбит/c (вместо 1,544 Мбит/с). Такой стандарт был создан в июне 1989 года. Базовыми частотами передачи, помимо упомянутых выше, были признаны 155 Мбит/с (STM-1), 622 Мбит/с (STM-4) и 2,4 Гбит/c (STS-48C).

На физическом уровне в ISDN используется кодово-импульсная модуляция с частотой стробирования 8 кГц (что превосходит ограничение теоремы Найквиста-Котельникова = 2*3,3 КГц, где 3,3 КГц - полоса пропускания канала для традиционной телефонной сети).

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

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

Схема ИКМ входного () сигнала показана на рис. 1.5. Совокупность представленных модулей обычно называется кодеком (кодер-декодер). Блок Sample&hold ("устройство выборки и хранения") служит для формирования последовательности импульсов с амплитудой, равной мгновенному значению уровня входного сигнала в момент прихода строб-импульса.

Аналого-цифровой преобразователь (АЦП) имеет логарифмическую характеристику и конвертирует амплитуду импульса на выходе Sample&hold в 8-битовый код в Европе и в 7-битовый - в США и Японии. Этот код передается в интерфейс ISDN и далее в сеть. Получатель воспринимает коды через цифровой интерфейс, осуществляет преобразование 8-битовых кодов в 12-битовые. При этом понятно, что не всякие коды будут возможны (преобразование носит экспоненциальный характер). Полученные 12-битовые коды передаются на вход цифро-аналогового преобразователя (ЦАП). Полученный ступенчатый сигнал сглаживается выходным фильтром и передается на устройство воспроизведения. Даже из этой достаточно общей схемы видно, что в процессе прямого (АЦП) и обратного (ЦАП) преобразований вносятся неизбежные искажения. Источником ошибок служит каждый из показанных на рисунке блоков. Но главным источником искажений является АЦП, так как здесь непрерывный спектр аналоговых значений замещается рядом дискретных уровней, которые больше или меньше реального значения в среднем на половину дискрета преобразования (1/256). Эти искажения называются шумом дискретизации.

Схема импульсно-кодовой модуляции


Рис. 1.5.  Схема импульсно-кодовой модуляции

При разумных предположениях (биполярность сигнала , однородность распределения уровня сигнала в рабочем диапазоне, ошибка квантования будет не более , где - шаг квантования, и т.д.) ( - шум квантования - при этом равен ). Это означает, что при уровнях квантования и при условии, что входной сигнал может варьироваться во всем рабочем диапазоне АЦП, отношение "сигнал-шум" (), связанное с самим процессом квантования, будет равно (при оно составит 48 дБ). Отсюда следует известное значение относительного расстояния между уровнями квантования, равное 6 дБ. Все вышесказанное справедливо только для преобразования голоса.

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

На рис. 1.6 представлена уже не последовательность импульсов, а последовательность переходов из одного состояния в другое. При этом уровень соответствует логической <1>, а - логическому <0>.

Переключение из состояния <0> в состояние <1> и наоборот (бод) уже не соответствует передаче одного бита.

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

Для решения этой проблемы существует два метода передачи данных: синхронный и асинхронный. Асинхронный метод используется для относительно низкоскоростных каналов передачи и автономного оборудования. Синхронный метод применяется в скоростных каналах и базируется на пересылке синхронизующего тактового сигнала по отдельному каналу или путем совмещения его с передаваемыми данными.

Передача цифровых кодов по передающей линии


Рис. 1.6.  Передача цифровых кодов по передающей линии

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

Типичный кадр данных в асинхронном канале начинается со стартового бита, за которым следует 8 битов данных. Завершается такой кадр одним или двумя стоп-битами. Стартовый бит имеет полярность, противоположную пассивному состоянию линии, и переводит приемник в активное состояние. Пример передачи такого кадра показан на рис. 1.7.

Пример передачи кадра в асинхронном режиме


Рис. 1.7.  Пример передачи кадра в асинхронном режиме

Начальный и стоп-биты на каждый байт данных снижают пропускную способность канала и по этой причине применяются только для низких скоростей обмена. Увеличение же длины блока данных приводит к ужесточению требований к точности синхронизации. При использовании синхронного метода передачи необходимы специальные меры для выделения кадра в общем потоке данных. Для решения этой задачи нужна специальная сигнатура (последовательность сигналов). Если такая последовательность встречается внутри кадра, она видоизменяется путем ввода в нее двоичных нулей (bit stuffing). Синхронный приемник нуждается в синхронизирующем сигнале, передаваемом передатчиком. Обычно это реализуется путем введения определенного вида кодирования сигнала, например, биполярного кодирования. В этом случае используется три уровня сигнала: соответствует логической единице; - логическому нулю, а 0 вольт логическому нулю или единице. Пример такого типа кодирования показан на рис. 1.8.

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

Так, логической единице поставлен в соответствие переход с низкого уровня на высокий, а логическому нулю - с высокого на низкий (схема NRZ - Non-Return-to-Zero). Пример представления сигнала с использованием манчестерского кода показан на рис. 1.9. Манчестерский код является одним из старейших. В нем хорошо решена проблема синхронизации, но полоса пропускания канала здесь используется неоптимально.

Пример биполярного кодирования сигнала (схема RZ – Return-to-Zero)


Рис. 1.8.  Пример биполярного кодирования сигнала (схема RZ – Return-to-Zero)

Оба кода, описанные выше, требуют удвоения полосы для передачи данных. Этого можно избежать, используя схему цифрового фазирования DPLL (Digital Phase Locked Loop). Эта схема предполагает применение кодирования NRZI (Non-Return-Zero-Inverted). Здесь сигнал сначала кодируется с использованием кода NRZ и только затем последовательность преобразуется в NRZI. В процессе такого преобразования логический нуль из NRZ вызывает определенную модификацию исходного кода, в то время как логическая единица не приводит ни к каким вариациям. Здесь создаются условия, при которых количество переходов 0/1 и 1/0 в единицу времени достаточно велико, чтобы обеспечить надежную синхронизацию. Схема NRZI -кодирования с использованием DPLL проиллюстрирована на рис. 1.10.

Симметричная скрученная пара проводов с волновым сопротивлением 120 Ом обеспечивает пропускную способность 2048 Мбит/с (система кодирования hDB3, длина проводов ~100 м). Номинальное значение перепада обычно составляет 750 мВ.

Наиболее простая схема передача данных путем представления <0> и <1> с помощью двух уровней напряжения не применяется из-за того, что линия обычно используется для подачи питания на оконечное (терминальное) оборудование. Проблема может быть решена, если <0> характеризуется 0 вольт (приращение над постоянным уровнем), а <1> попеременно сигналами положительной и отрицательной полярности (AMI - Alternate Mark Inversion). Такая схема создает проблему синхронизации, когда подряд следует большое число нулей. Необходимо, чтобы было достаточное число переходов 0->1 и 1->0 в единицу времени. Существует также схема ADI (Alternate Digit Inversion), где инверсия полярности производится для каждого из передаваемых двоичных разрядов. Но эта схема менее эффективна.



Рис. 1.9. 



Рис. 1.10. 

По этой причине система кодирования AMI была модифицирована в hDB3 (high Density Bipolar 3). Цифра 3 указывает на максимально возможное число последовательных нулей в кодовой последовательности. AMI требует, чтобы <1> передавались попеременно сигналами противоположной полярности, так, последовательность должна быть передана как . hDB3 заменяет любую группу из 4 нулей последовательностью из 3 нулей, за которой следует нарушение последовательности отображения единиц. Таким образом, последовательность будет отображена как (возможен инверсный вариант, когда символы "+" заменяются на "-" и наоборот). Дальнейшего улучшения балансировки сигнала можно достичь, если заменить код, содержащий 4 нуля подряд, последовательностью B00V (B - обычный биполярный сигнал, V - нарушение последовательности). В США используют схему кодировки B8ZS (Bipolar with 8 Zeros Substitution), где 8 нулей кодируются как 00B0VB0V. В 1986 году ANSI принял решение о введение схемы кодирования 2B1Q (2 Binary into 1 Quaternary). При этой схеме каждая пара бит преобразуется в четверичные элементы . Код синхронизации (SW - Synchronization Word) при этом содержит 9 четверичных элементов, повторяющихся каждые 1,5 мс:

+3 +3 -3 -3 -3 +3 -3 +3 +3 (+3 соответствует +2,5 В)

Таблица 1.2.
Название методаРасшифровкаОписание
1B2BОдин бит исходной последовательности кодируется комбинацией из 2 бит половинной длительности
B3ZS/B6ZS/B8ZSBipolar with 3/6/8 Zero SubstitutionБиполярный код с заменой 000/000000/00000000 на последовательности 00V/0VB0VB/000VB0VB (или B0V для B3ZS)
HDB2 (/3)High Density Bipolar code of order 2 (/3)Биполярный код высокой плотности второго (третьего) порядка. Эквивалентен коду с возвратом к нулю (RZ) и с инверсией для логических 1. Последовательность 000 (соответственно 0000) заменяется на 00V или B0V (соответственно 000V или B00V). Число B сигналов между V-сигналами всегда нечетно. В результате возникает трехуровневый код
CMICoded Mark InversionДвухуровневый двоичный код (класса 1B2B) без возвращения к нулю. Используется инверсия полярности для каждой логической 1 (единице ставится в соответствие 11 или 00), а для каждого логического нуля вводится смена полярности в середине интервала

В Германии используется схема кодировки 4B3T (4 двоичных разряда кодируются в 3 циклических кода).

Двоичная информация передается блоками, обычно называемыми кадрами (или пакетами). В рамках системы 2B1Q для передачи 144 Кбит/с требуется частота модуляции не менее 72 Кбод. На практике для передачи кадров и выполнения функций управления необходимо создать дополнительные виртуальные каналы. Это доводит требуемую частоту модуляции до 80 Кбод. Сводные данные по наиболее популярным схемам кодирования приведены в таблице 1.2.

Кадр содержит 120 пар бит (quats), что соответствует 240 бит, 8 кадров образуют мультикадр. Первый пакет мультикадра выделяется путем посылки Inverted Synchronization Word (ISW). В конце каждого кадра всегда присутствуют специальные биты, которые служат для целей управления (бит активации, бит холодного старта, биты состояния питания, биты управления синхронизацией и т.д.).

Лекция 2. Особенности и алгоритмы кодирования голоса

Особенности и методы кодирования голоса. Дифференциальные и адаптивные методы кодирования голоса. Дельта модуляция. Эхо-компенсация, эквилизация, эффект маскирования, VoCoDER, алгоритмы работы каналов.

Эмпирически установлено, что для удовлетворительного воспроизведения речи достаточно 4096 уровней квантования сигнала (12 разрядов АЦП). Такое разрешение диктуется большим динамическим диапазоном сигналов. Но упомянутая выше логарифмическая зависимость чувствительности нашего слуха открывает возможность преобразования 12-битных кодов в 8-битные, что формирует информационный поток в 64 Кбит/ c (8 КГц*8 бит). Для этого используется логарифмическое преобразование. Такое преобразование наталкивается на определенные трудности при низких значениях входного сигнала, ведь логарифм для значений меньше 1 имеет отрицательную величину, функция же преобразования должна пройти через нуль. В США принята методика, когда две логарифмические кривые смещаются в направлении оси ординат (вертикальная ось), в результате получается функция вида

(так называемая -зависимость [ -law])
В Европе используется функция преобразования вида
в области значений вблизи нуля
при "больших" значениях ( -зависимость [ -law], см. рис. 2.1)

Для дальнейшего упрощения процесса преобразования реальные кривые аппроксимируются последовательностью отрезков прямых, наклоны которых каждый раз меняется вдвое. На практике функция табулируется (рекомендация G.711), и отличия - и -функций пренебрежимо малы. Здесь используются так называемые look-up таблицы. Но следует учитывать, что при реализации практической связи между Европой и Америкой, например телефонной, необходим -конвертор.

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

Иллюстрация функций преобразования сигналов


Рис. 2.1.  Иллюстрация функций преобразования сигналов

Дальнейшим усовершенствованием схемы ИКМ (импульсно-кодовой модуляции) является адаптивный дифференциальный метод кодовоимпульсной модуляции (рис. 2.2). Здесь преобразуется в код не уровень сигнала в момент времени ti, а разница уровней — в моменты ti и ti-1.

Адаптивный преобразователь голоса в код


Рис. 2.2.  Адаптивный преобразователь голоса в код

Так как обычно сигнал меняется плавно, можно заметно сократить необходимое число разрядов АЦП. Принципиальное отличие между ИКМ и ADPCM (1984 год) заключается в использовании адаптивного АЦП и дифференциального кодирования соответственно. Адаптивный АЦП отличается от стандартного ИКМ -преобразователя тем, что в любой момент времени уровни квантования расположены однородно (а не логарифмически), причем шаг квантования меняется в зависимости от уровня сигнала. Применение адаптивного метода базируется на том, что в человеческой речи последовательные уровни сигнала не являются независимыми. Поэтому, преобразуя и передавая лишь разницу между предсказанным и реальным значением, можно заметно снизить загрузку линии, а также требования к широкополосности канала. Следует иметь в виду, что метод не лишен серьезных недостатков: уровень шумов, связанный с квантованием сигнала, выше, а при резких изменениях уровня сигнала, превышающих диапазон АЦП, возможны серьезные искажения.

Расширение диапазона преобразования достигается умножением шага квантования на величину несколько больше (или меньше) единицы.

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

ADPCM-преобразователь голоса в код для 32 Кбит/с


Рис. 2.3.  ADPCM-преобразователь голоса в код для 32 Кбит/с

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

Дельта-модуляция представляет собой вариант дифференциальной импульсно-кодовой модуляции, где для кодирования разностного сигнала используется только один бит. Этот бит служит для того, чтобы увеличить или уменьшить оценочный уровень. Примером реализации дельта-модуляции может служить схема, показанная на рис. 2.4. Сигнал ЦАП отслеживает входной сигнал in(t). Здесь компаратор заменил дифференциальный усилитель, который используется в дифференциальном импульсно-кодовом модуляторе.

Схема устройства линейной дельта-модуляции


Рис. 2.4.  Схема устройства линейной дельта-модуляции

Если скорость нарастания входного сигнала велика, то уровень на выходе ЦАП будет отставать и сможет нагнать In(t), только когда входной сигнал начнет уменьшаться. Данный метод не является разумной альтернативой PCM. Для улучшения характеристик дельта-преобразователя реверсивный счетчик можно заменить цифровым процессором, при этом шаг S становится переменным, но кратным некоторому базовому значению.

Существуют много других способов кодирования человеческого голоса, среди них наиболее эффективный реализован в приборах, носящих название "вокодер" (VOCODER).

Для компактных музыкальных дисков ( CD ) характерна полоса 50 Гц - 20 КГц, обычная же речь соответствует полосе 50 Гц - 7 КГц. Только звуки типа Ф или С имеют заметные составляющие в высокочастотной части звукового спектра. Для высококачественной передачи речи используется субдиапазонный ADPCM -преобразователь (Adaptive Differential Pulse Code Modulation). В нем звук сначала стробируется с частотой 16 КГц, производится преобразование в цифровой код с разрешением не менее 14 бит, а затем подается на квадратурный зеркальный фильтр ( QMF ), который разделяет сигнал на два субдиапазона (50 Гц - 4 КГц и 4 КГц - 7 КГц). Диапазоны этих фильтров перекрываются в области 4 КГц. Нижнему диапазону ставится в соответствие 6 бит (48 Кбит/с), а верхнему - 2 бита (16 Кбит/с). Выходы этих фильтров мультиплексируются, формируя поток 64 Кбит/с.

На CD используется 16-битное кодирование с частотой стробирования 44,1 КГц, что создает информационный поток 705 Кбит/c. Следует иметь в виду, что кодирование даже со столь высоким разрешением создает шум дискретизации. В результате достигается качество звука, вполне удовлетворительное для человека. Собаки и дельфины, пожалуй, этого бы не сказали, так как их диапазон чувствительности распространяется до более высоких частот.

Можно подумать, что для стереосигнала этот поток удвоится (1,411 Мбит/с). Практически это не так: сигналы в стереоканалах сильно коррелированы, и можно кодировать и передавать лишь их разницу; на практике высокочастотные сигналы каналов суммируются, для различия каналов передается код их относительной интенсивности. Исследования показывают, что для акустического восприятия тонкие спектральные детали важны лишь в окрестности 2 КГц.

Помимо CD-аудиостандарта появился сначала стандарт Dolby Surround, Dolby ProLogic, а позднее DVD (Digital Versatile Disk), который предлагает 6-канальный звук (для домашних кинотеатров). Стандартный DVD имеет емкость 4,7 Гбайт (133 минуты видеовоспроизведения), имеются версии с емкостью до 27 Гбайт. Конечно, о передаче аудио/видеосигнала в таком формате речь пока не идет — ведь это требует дополнительной полосы пропускания. Но трудно сказать, чего следует ожидать в самом ближайшем будущем.

Многие музыкальные инструменты в настоящее время имеют цифровой интерфейс. Разработан единый стандартный интерфейс музыкальных инструментов MIDI (Music Instrument Digital Interface). Стандарт определяет тип разъема, кабеля и формат сообщений. Каждое сообщение MIDI состоит из статусного байта, за которым следует нуль или более байтов данных. Сообщение MIDI передает данные о музыкально значимом событии. Типичным событием может быть нажатие клавиши, перемещение смычка, нажатие или отпускание педали. Статусный байт индицирует событие, а байты данных определяют параметры события, например код нажатой клавиши или скорость перемещения. Каждый тип инструмента имеет свой уникальный код, например, для фортепьяно — 0, для маримбы — 12, а для скрипки — 40. Всего определено 127 инструментов, хотя некоторые из них не являются собственно инструментами, а представляют собой источники различного типа шума. Центральным узлом каждой MIDI-системы является синтезатор (часто это ЭВМ), который воспринимает сообщения и осуществляет синтез звука. Синтезатор должен воспринимать любой из 127 кодов музыкальных инструментов. Преимущество применения стандарта MIDI при цифровой передаче звука заключается в существенном сокращения потока данных (до 1000 раз). Недостатком MIDI является необходимость наличия соответствующего синтезатора на принимающей стороне. Разные синтезаторы могут выдать несколько разный результирующий сигнал. Музыка, конечно, лишь одна из разновидностей звуков.

Для передачи звуковой информации с учетом этих факторов был разработан стандарт Musicam (Masking pattern Universal Sub-band Integrated Coding And Multiplexing), который согласуется с ISO MPEG (Moving Picture Expert Group; стандарт ISO 11172). Musicam развивает идеологию деления звукового диапазона на субдиапазоны, здесь 20 КГц делится на 32 равных интервала. Логарифмическая чувствительность человеческого уха и эффект маскирования позволяет уменьшить число разрядов кодирования. Эффект маскирования связан с тем, что в присутствии больших звуковых амплитуд человеческое ухо нечувствительно к малым амплитудам близких частот. Причем чем ближе частота к частоте маскирующего сигнала, тем сильнее этот эффект (см. рис. 2.5). Сплошной линией на рисунке показана нормальная зависимость порога чувствительности уха, а пунктиром — зависимость порога чувствительности в присутствии 500-герцного тона с амплитудой в 110 дБ.

Изменение порога чувствительности человеческого уха под влиянием эффекта маскирования


Рис. 2.5.  Изменение порога чувствительности человеческого уха под влиянием эффекта маскирования

При разбиении на субдиапазоны можно оценить эффект маскирования и передавать только ту часть информации, которая этому эффекту не подвержена. При этом уровень ошибок квантования следует держать лишь ниже порога маскирования, что также снижает информационный поток. Для стробирования высококачественных звуковых сигналов используются частоты 32, 44,1 или 48 КГц. Стандартом предусмотрено три уровня кодирования звука, отличающиеся по сложности и качеству. На первом уровне производится разбивка на 32 диапазона, определение диапазонных коэффициентов и формирование кадров, несущих по 384 результата стробирования. Уровень 2 формирует кадры с 1152 результатами стробирования и дополнительными данными. Уровень 3 допускает динамическое разбиение на субдиапазоны и уплотнение данных с использованием кодов Хафмана. Любой декодер способен работать на своем и более низком уровне.

Около 25 лет назад в области музыки появилось новое направление – синтетическая музыка (ярким представителем которой является, например, Жан Мишель Жарр). Это относится как к композиторской, так и к исполнительской деятельности. Зафиксированы даже случаи, когда профессиональные музыканты требовали запретить исполнение музыки электронными средствами во время концертов. Здесь, как и в случае использования фонограмм певцами, присутствия исполнителя на сцене не требуется.

Для улучшения качества передачи низких частот в дополнение к суб-диапазонным фильтрам используется быстрое Фурье-преобразование ( FFT ). Результирующая частота бит при передаче звуковых данных оказывается непостоянной. Практическое измерение показывает, что частота редко превышает 110 Кбит/с, а применение 128 кбит/с делает качество воспроизведения неотличимым от CD. Ограничение скорости на уровне 64 Кбит/с вносит лишь незначительные искажения.

Несколько лет назад (в начале 1990-х) появился новый вид услуг в Интернете – голосовая связь (IP-Phone, VocalTec). Сегодня 30 миллионов абонентов регулярно пользуются IP-phone и его аналогами, до конца текущего десятилетия их число увеличится до 200 миллионов, а качество голосовой связи постепенно приближается к уровню цифровой телефонии.

Среди пользователей есть те, для кого это лишь возможность общения, как для радиолюбителей; но все больше людей использует IP-phone для деловых контактов или даже как объект бизнеса.

Существуют два алгоритма сжатия звуковой информации, используемых для IP-телефонных переговоров: GSM (Global System for Mobile communications, ftp://ftp.cs.tu-berlin.de/pub/local/kbs/tubmik/gsm), которая обеспечивает коэффициент сжатия 5, и алгоритм DSP-группы (True Speech) с коэффициентом сжатия данных 18 (работает при частотах 7,7 Кбит/с). Добавление аппаратных средств сжатия информации позволяет сократить необходимую полосу до 6,2 Кбит/с. Потеря 2-5% пакетов остается незамеченной, 20% оставляет разговор понятным. В таблице 2.1 представлена зависимость необходимой полосы телекоммуникационного канала от частоты стробирования звукового сигнала, которая определяет качество воспроизведения.

Таблица 2.1.
Пропускная способность [бит/с]Частота стробирования [1/с]
96004000
144006000
192008000
2880011000

Для подключения к сети IP-phone необходима мультимедийная карта, микрофон, динамики (или наушники), 8 Мбайт оперативной памяти, доступ к Интернету и соответствующее программное обеспечение. Качество передачи звука зависит от загруженности IP-канала. В качестве транспорта используется протокол UDP. Для обеспечения высокого качества звука нужна гарантированная ширина IP-канала, ведь задержанные сверх меры UDP-дейтограммы теряются безвозвратно, что и приводит к искажениям. Внедрение протоколов, гарантирующих определенную ширину канала, сделают IP-phone значительно более привлекательным. Многие компании уже предлагают такое оборудование и программы.

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

Современные системы IP-телефонии снабжены гибкой системой буферов, позволяющих использовать для передачи паузы, когда один из партнеров молчит. Дополнительные возможности открывают технологии предоставления гарантированного качества обслуживания (DiffServ или IntServ в рамках протоколов MPLS-TE или RSVP-TE).

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

В настоящее время имеется достаточно большое количество книг, записанных на CD. Это прежде всего энциклопедические словари, альбомы музеев, Библия и многие другие. Существуют обширные библиотеки художественной литературы в Интернете. Преимущество такой формы книги уже сегодня ощутимо – вы можете использовать современные поисковые средства, чтобы найти нужный раздел или какую-то конкретную информацию. По мере развития этой технологии и интеграции ее с сетями можно будет осуществлять поиск не только по данной книге, но и по книгам или журналам, ссылки на которые в данной книге содержатся, — это может быть особенно полезно при первичном знакомстве с какой-то проблемой. Этому способствует и появление электронных аналогов практически всех научных журналов и многих газет. Я здесь не говорю о компактности, а в перспективе — и долговечности такой формы записи информации.

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

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

Немного фантазии, и можно будет представить, как ЭВМ будет воспроизводить текст в виде фильма, который она сгенерировала по выданному ей тексту (ведь сгенерирован же на ЭВМ корабль "Титаник" и море, по которому он плывет). Аналогичные услуги смогут оказываться и через сеть Интернет. Наибольшие трудности вызовет реализация качественного воспроизведения. Программы, способные преобразовывать символьный текст в голос, уже существуют. Проблема распознавания индивидуального голоса давно решена в охранных системах. Осталось научиться использовать результаты такого анализа при воспроизведении.

Активно внедряются новые стандарты и протоколы для обеспечения передачи звука по IP-каналам, проведения видеоконференций и управления в реальном масштабе времени. К таким протоколам относятся RTP (Real Time Protocol, RFC-1889, -1890), RTCP (Real-Time Control Protocol), который является дополнением RTP, и RSVP (Resource ReSerVation Protocol, см. разделы проектов IETF http://nic.nordu.net, ftp://ftp.isi.edu, http://munnari.oz.au и http://ds.internic.net или ftp://ftp.ietf.org/internet-drafts/draft-ietf-rsvp-spec-16.txt), служащий для обеспечения своевременной доставки данных при работе в реальном времени, а также MPLS-TE. Протокол RTP способен работать не только в UDP/IP, но и в сетях CLNP, ATM и IPX. Он обеспечивает детектирование потерь, идентификацию содержимого, синхронизацию и безопасность (доступ по шифрованному паролю, см. RFC-1423). Проблема синхронизации при передаче звука особенно важна, так как даже для локальных сетей время доставки пакетов может варьироваться в весьма широких пределах из-за используемого алгоритма доступа (например, CSMA/CD), а это приводит к искажениям при воспроизведении. Протоколы RTP и RTCP позволяют одновременное голосовое общение большого числа людей в рамках сети Интернет. Протокол же RSVP (или MPLSTE) в случае внедрения гарантирует качество связи (разумеется, при достаточной широкополосности канала) за счет повышения приоритета пакетов реального времени. Следует иметь в виду, что голосовое общение хотя и весьма привлекательно, однако не является единственной и даже главной целью разработчиков. По мере совершенствования протоколов Интернет сделает возможным управление в реальном масштабе времени довольно сложными удаленными объектами.

При внедрении IP-телефонии желательно, чтобы сетевая инфраструктура обеспечивала:

Одна из возможных реализаций IP-телефонии показана на рис. 2.6 ( MVW – Multiflex Voice/WAN модуль, включаемый в маршрутизатор).

Пример реализации IP-телефонной системы


Рис. 2.6.  Пример реализации IP-телефонной системы

Связь может осуществляться как с традиционной старой аналоговой телефонной сетью, так и с ISDN. Телефонные аппараты могут подключаться непосредственно к интерфейсу маршрутизатора, к сетевой рабочей станции или к специальному сетевому адаптеру. При построении подобной системы следует непременно реализовать функцию h.323 (Gatekeeper — привратник). Это позволит блокировать бесконтрольное и неэффективное использование ресурсов сети.

Для передачи информации на большие расстояния в настоящее время используются исключительно электромагнитные волны (акустические волны пригодны лишь для ограниченных расстояний, например под водой). При этом пересылка может осуществляться по медным проводам, оптоволоконному кабелю или непосредственно, по схеме "передатчик-приемник". В последнем случае используются антенны. Для того чтобы антенна была эффективна, ее размеры должны быть сравнимы с длиной передаваемой волны. Чем шире динамический диапазон передаваемых частот, тем труднее сделать антенну, пригодную для решения этой задачи. Именно по этой причине для передачи используются частоты, начиная с многих сотен килогерц и выше (длина волн — сотни метров и меньше). Передача сигнала непосредственно по лучу лазера ограничена расстояниями 100-5000 м и становится неустойчивой даже для инфракрасного диапазона волн при наличии осадков.

Между тем человек воспринимает акустические колебания в области 20-12000 Гц, и для целей пересылки звука (например, телефонии) требуется именно этот диапазон частот. Динамический диапазон частот в этом случае равен 600, а для высококачественного воспроизведения звука он в два раза шире. При решении этой проблемы используется преобразование частот и различные методы модуляции. Так, тот же частотный диапазон, лежащий в пределах 100,0 — 00,012 МГц, соответствует динамическому частотному диапазону 0,012%, что позволяет сделать компактную антенну и упростить частотное выделение сигнала.

На рис. 2.7 показана зависимость ослабления от частоты передаваемого сигнала для медной линии с сечением 0,5 мм.

Зависимость ослабления сигнала в медной линии сечением 0,5 мм от частоты


Рис. 2.7.  Зависимость ослабления сигнала в медной линии сечением 0,5 мм от частоты

От частоты зависит фаза (из расчета на километр) и волновое сопротивление скрученной пары (см. рис. 2.8); по этой причине искажения формы сигнала при заметной длине линии неизбежны.

Из формулы (1.1) видно, что расширять пропускную способность канала можно за счет широкополосности и высокого отношения "сигнал-шум". Существует много источников шума, один из главных — тепловые шумы ( N = kTB, где T — температура в градусах Кельвина, B — полоса пропускания приемника, а k — постоянная Больцмана). Этот вид шума вносит наибольший вклад в области высоких частот. Данное обстоятельство иногда позволяет улучшить отношение "сигнал/шум", подавив высокочастотную составляющую. На практике часто существенно большее влияние оказывают различного рода наводки. Увеличение пропускной способности сети достигается путем сокращения длины кабеля (уменьшение расстояния между узлами сети), заменой типа кабеля, например на провод с большим сечением, или применением оптоволоконного кабеля. Определенный эффект может быть получен и с помощью усовершенствованной системы шумоподавления (новый, более эффективный модем).

Зависимость волнового импеданса скрученной пары и фазы (сечением 0,5 мм) от частоты


Рис. 2.8.  Зависимость волнового импеданса скрученной пары и фазы (сечением 0,5 мм) от частоты

Сопротивление скрученной пары от коммутатора до терминального оборудования может лежать в пределах 800-20000 Ом. Следует учитывать, что при подаче питания на терминальное оборудование (телефон) по подводящему кабелю большое его сопротивление, помимо прочего, приведет к падению питающего напряжения. В многожильных кабелях определенные проблемы создают перекрестные наводки и шумы. Обычно рассматриваются два случая перекрестных наводок:

NEXT -наводки при большом числе пар проводов в кабеле подчиняются закону f1.5 ( f частота передаваемого сигнала), а их уровень составляет около 55 дБ при частоте 100 КГц. FEXT -наводки сильно зависят от схемы коммутации и разводки проводов и обычно менее опасны, чем NEXT. Еще одним источником наводок является импульсный шум внешних электромагнитных переходных процессов. Этот вид наводок обычно характеризуется процентом времени, в течение которого его уровень превышает порог чувствительности, и варьируется в зависимости от обстоятельств в очень широких пределах.

При передаче по линии сигналы модулируются, и важно обеспечить сохранение среднего уровня сигнала (постоянной составляющей). Определенные искажения сигнала вносит сам кабель. Заметное влияние на характер искажений оказывает межсимвольная интерференция ( ISIIntersymbol Interference). Эта интерференция возникает из-за расплывания импульсов в процессе их передачи по линии и наезжания их друг на друга. Проблема усложняется тем, что характеристики передающей линии могут меняться со временем из-за коммутаторов и маршрутизаторов. По этой причине очень важно обеспечить идентичность условий передачи различных частот при таких вариациях. Для решения этой задачи используются линейные эквалайзеры (рис. 2.9 и 2.10, которые выполняют эту операцию во всем рабочем спектре частот или после стробирования для реального спектра сигнала. Этот метод чувствителен к шумам в системе. Эквалайзеры с решающей обратной связью ( DFE — Decision Feedback Equalizer) нечувствительны к шумам, они управляются принятой информацией. Но влияние ошибок при приеме информации в этом случае может быть усилено.

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

Линейное выравнивание (эквализация)


Рис. 2.9.  Линейное выравнивание (эквализация)

Эквализация с помощью решающей обратной связи


Рис. 2.10.  Эквализация с помощью решающей обратной связи

Для улучшения отношения сигнал/шум следует поднимать амплитуду передаваемого по линии сигнала. Выбранное значение определяется требованиями перекрестных наводок и возможностями существующих интегральных схем. В результате компромисса выбрана амплитуда 2,5 В на нагрузке 135 Ом. Любые нелинейные искажения должны быть менее 36 дБ по отношению к основному сигналу. Учитывая динамический диапазон сигналов в линиях связи, отношение сигнал-шум предполагается равным 20 дБ, что соответствует ограничению 6 дБ на число ошибок 1/106 для гауссова распределения шума. При аналого-цифровом преобразовании одному биту соответствует 6 дБ.

Обычно двухпроводная линия (тем более 4-проводная) используется для одновременного двухстороннего обмена (full duplex).

Эта задача может быть решена схемотехнически мультиплексированием по времени ( TDDTime Division Duplex) или частоте ( FDD — Frequency Division Duplex). TDD довольно легко реализовать, этот метод не требует сложных фильтров и эквилайзеров. Метод TDD привлекателен при малых длинах кабеля для коммутируемых телефонных сетей.

При реализации двухстороннего обмена по одной паре проводов используется метод эхо-компенсации. Этот метод предполагает вычитание передаваемого сигнала из принимаемого, определяя тем самым истинную форму входного сигнала. Если на приведенном рисунке 2.11 Zвх равно волновому сопротивлению линии, то выходной сигнал передатчика не будет влиять на работу приемника. Здесь предполагается, что выходное сопротивление передатчика много меньше Z = Zлинии. Учитывая вариации ослабления сигнала, схема эхо-компенсации должна уметь работать в очень широком динамическом диапазоне амплитуд, сохраняя удовлетворительную линейность. Это обстоятельство, а также зависимость Zлинии от частоты, приводит к заметному усложнению схем эхо-компенсации (рис. 2.12). Системы эхо-компенсации весьма чувствительны к временному разбросу срабатывания пороговых схем, так как это приводит к фазовому сдвигу вычитаемых друг из друга сигналов.

Схема эхо-компенсации


Рис. 2.11.  Схема эхо-компенсации

Схема эхо-компенсации с адаптивным фильтром


Рис. 2.12.  Схема эхо-компенсации с адаптивным фильтром

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

Зависимость максимальной скорости передачи данных от сопротивления петли передающей линии


Рис. 2.13.  Зависимость максимальной скорости передачи данных от сопротивления петли передающей линии

Различные методы модуляции приводят к разным уровням перекрестных наводок и, как следствие, могут обеспечить разные скорости пропускания сигналов. Так, применение линейной эквализации при амплитудной модуляции дает улучшение пропускной способности примерно в 5 раз. Многоуровневый метод кодирования увеличивает скорость пропускания еще на 30%. Следует, правда, иметь в виду, что многоуровневый метод кодирования характеризуется большим уровнем импульсных помех и, следовательно, ошибок.

Минимальное отношение сигнал-шум при скорости передачи ~150 Кбит/с


Рис. 2.14.  Минимальное отношение сигнал-шум при скорости передачи ~150 Кбит/с

На рис. 2.14 показана зависимость отношения "сигнал-шум" от сопротивления петли для разных схем передающего канала. Пунктиром проведены зависимости для случая четырехуровневого кодирования. Кривые 1 соответствуют случаю амплитудной модуляции с линейным выравниванием, а кривые 2 — варианту эквилизации с обратной связью.

Современные сверхскоростные системы коммуникаций порождают новые проблемы и новые решения. То, что сегодня кажется сверхскоростным (например, 6,4 Гбит/c), через несколько лет окажется ординарным: достаточно вспомнить магистральные Интернет-каналы десять лет назад, когда 2 Мбит/с представлялось фантастической скоростью. (В 2006 году опорные каналы сети РАН в Москве уже имеют скорость 10 Гбит/c.)

Впрочем, не следует забывать, что мы практически вплотную подошли к теоретическому верхнему пределу скорости передачи, задаваемому временем поляризации диэлектрика (10 -13 сек – 10ТГц).

Сегодня большинство маршрутизаторов не способно эффективно обрабатывать потоки, создаваемые Ethernet 1Гбит/с. Как это ни странно, сетевые карты на эту скорость существуют относительно давно, но только самые дорогие модели маршрутизаторов способны нормально работать с такими потоками. Здесь предполагается, что маршрутизатор имеет 2 или более гигабитных и несколько 100Мбит/c-каналов. Для решения задачи маршрутизации такой прибор должен для каждого пакета просмотреть таблицу маршрутизации, принять решение, на какой из выходов переадресовать пакет, и реализовать это переключение — и все это за время менее 0,5 нс. За это время сигнал по обычной проводной линии успеет распространиться лишь на 10 см!

Любой транзистор или тем более полупроводниковый ключ имеет сравнимую с этим временем задержку передачи сигнала. Как же тогда достигается такое быстродействие?

Проблема решается с помощью изощренной системы конвейеров (pipelining). Пакет проходит через эту систему, из него выделяется адрес места назначения и сравнивается сразу с большим числом кодов из маршрутной таблицы. По результатам сравнения принимается решение относительно следующего шага. Когда пакет достигает конечной точки своего пути в маршрутизаторе, нужный ключ в требуемом направлении уже открыт. При этом конец пакета может еще не прийти на вход маршрутизатора. Приведенное выше описание алгоритма конвейерной обработки является достаточно упрощенным, так как реально там оказывается задействовано много таких конвейеров, особенно если требуется гарантированное качество обслуживания. На практике это достаточно дорогостоящее устройство: не удивляйтесь, что стоимость маршрутизатора, способного работать с загрузками 1 Гбит/с (тем более 10 Гбит/с) по нескольким каналам, окажется весьма высокой.

Во весь рост эта проблема встала уже перед разработчиками магистральных многоканальных (до 1000 и более) переключателей сетей АТМ. Там, хотя тактовая скорость всего 150 Мбит/c, система должна принимать решение за время меньше одной наносекунды, так как ячейки могут приходить через все входы одновременно, поднимая загрузку центрального коммутатора в 1000 и более раз. Можете себе представить масштаб проблемы для 1000-канальных ATM-коммутаторов, работающих при рабочих частотах 622 Мбит/с?

Не менее сложные задачи приходится решать, когда пакет из гигабитного канала направляется в канал, рассчитанный на 100 Мбит/c. Если такой пакет один, то это не так страшно, он сначала весь записывается в буфер, а затем ретранслируется через 100-мегабитный канал. Здесь имеет место полная аналогия с переходом 100 Мбит/с —> 10 Мбит/с. Понятно, что в случае потока таких пакетов буфер, каким бы большим он ни был, рано или поздно будет переполнен, а после переполнения буфера будет теряться 9 из 10 пакетов. Проблема улаживается с помощью окна перегрузки в случае протокола TCP или с помощью посылки отправителю соответствующих уведомлений ICMP в остальных вариантах протоколов из стека TCP/IP. Последнее решение не представляется уж слишком изящным, ведь ICMP-пакеты только увеличивают загрузку канала, но главное — они могут просто не дойти до отправителя из-за того, что канал перегружен. Я уже не говорю, что в случае видеоконференций такой метод подавления потерь из-за перегрузки вообще непригоден, ведь для получения нормального изображения и звука нужна постоянная и вполне определенная скорость передачи. Следует также учитывать задержку на пути "отправитель-получатель" и обратно, и все это время высокий процент потерь будет сохраняться. Именно это стало причиной введения кадров PAUSE в логику работы GE и 10GE локальных сетей.

Весьма важной темой при построении сетей является оптимизация их топологии. Эта проблема решается маршрутизацией пакетов или потоков. В одних сетях выбор маршрута обмена определяется на фазе формирования виртуального соединения (X.25, ISDN, ATM, Frame Relay и т.д.), в других, например в Интернет (TCP/IP), маршрут выбирается динамически и может быть изменен в ходе сессии, если текущий путь окажется недоступен или если откроется возможность движения по более короткому пути.

2.1. Алгоритмы работы каналов

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

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

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

Канал предполагается ненадежным, по этой причине возможно искажение или даже потеря пакета. Факт потери пакета может быть установлен в случае отсутствия отклика получателя, подтверждающего успешную доставку. В случае искажения пакета подтверждение не посылается. При посылке пакета запускается таймер; если за время работы таймера отклик не получен, пакет считается потерянным. Как было указано выше, пакеты образуют последовательность (поток). По этой причине нужно уметь определять, доставка какого пакета подтверждена. Для решения этой задачи в заголовок пакета включается уникальный номер, которым снабжается и отклик. Такой номер позволяет найти соответствие между посланным пакетом и откликом, подтверждающим его доставку. Код номера пакета лежит в интервале 0 — MAX_SEQ (различно для разных протоколов.).

Простейший вариант протокола предполагает, что очередной пакет может быть послан лишь после получения подтверждения доставки предыдущего ( Simplex Stop-and-Wait ), причем данные следуют только в одном направлении.

На практике большинство протоколов предполагают двухсторонний обмен (full duplex), кроме того, при больших временах доставки алгоритм Stop-and-Wait сильно ограничивает скорость обмена. В таких случаях используется алгоритм со скользящим окном, где можно послать несколько пакетов, не дожидаясь отклика (см., например, описание протокола TCP ). Размер окна определяет число посылаемых пакетов до того, как будет получено подтверждение на первый посланный пакет в рамках окна. После получения отклика окно смещается на единицу и позволяет послать еще один пакет. При размере скользящего окна, равном 1, такой протокол становится эквивалентен схеме Stop-and-Wait. Алгоритм со скользящим окном известен в системах обработки данных как конвейер ( pipelining ). Он требует наличия таймера для каждого из посланных пакетов в пределах окна. В этом алгоритме возникает проблема, когда теряется какой-то пакет. Что делать с кадрами, посланными вслед за ним и получившими подтверждение? Следует учесть, что приемный канальный уровень обязан обрабатывать пакеты сетевого уровня строго по порядку (ведь они образуют единую последовательность).

Здесь существует два решения. Первое: выбросить все подтвержденные пакеты, посланные после потерянного, и повторить их пересылку еще раз (так работает базовая версия протокола TCP ), приемный буфер при этом предназначен для записи лишь одного пакета. При двустороннем обмене отклики могут "прикрепляться" к информационным пакетам, движущимся в противоположном направлении. Если загрузка канала велика и вероятность потери пакета составляет несколько процентов, этот алгоритм весьма неэффективен. При сильно асимметричном трафике пакеты-отклики могут посылаться и самостоятельно. Для этого должен быть введен дополнительный таймер. Если за время выдержки нет ни одного "попутного" информационного пакета, то отклик посылается сам по себе. Время выдержки такого таймера должно быть достаточно коротким, чтобы не слишком замедлять работу алгоритма обмена.

Другой стратегией является селективная повторная пересылка лишь потерянного кадра (метод реализуется в протоколе XTP ). Эта схема требует большого объема памяти на канальном уровне, если размер окна достаточно велик. При получении очередного пакета проверяется его порядковый номер. Если этот номер соответствует окну, пакет записывается в буфер, даже если его номер не является тем, который ожидается. Эта операция производится на канальном уровне и пакет не передается сетевому уровню, пока не будут получены пакеты, посланные раньше. Размер приемного буфера в этом случае должен соответствовать ширине скользящего окна. Здесь возможны вариации стратегии, когда, например, отклик приходит на пакет с номером 2 (в пределах окна), но на пакет 1 его пока нет (а именно подтверждение прихода этого пакета дает команду на сдвиг окна, разрешающего посылку очередного пакета).

Рассмотрим пример, когда посылается группа пакетов 01234. Теперь предположим, что пакет 0 по таймауту признан неподтвержденным, послан пакет 5, пакет 2 не подтвержден и послан пакет 6. Тогда список пакетов, ждущих подтверждения, приобретет вид 3405126. Если признать, что имеется возможность не подтверждения некоторых из этих пакетов, то структура этого списка еще более усложнится. Отсюда видно, что формирование и обслуживание такого рода очередей — отнюдь не простая задача.

Предположим, что MAX_SEQ = 10, отправитель послал 10 пакетов, один из них был потерян и послан повторно. После этого началась посылка очередных 10 пакетов и получение откликов на их доставку. Возникает вопрос: где гарантия того, что пришедший отклик не относится к пакету, "потерянному" в предыдущей последовательности? Здесь все зависит от значения удвоенной задержки доставки ( RTT — Round Trip Time). Если канал является быстродействующим, а задержка велика, как это имеет место в спутниковых каналах, такое вполне возможно. В этом случае следует подумать об увеличении MAX_SEQ. Помимо обычного подтверждения, в случае обнаружения ошибки может быть послано "отрицательное" подтверждение ( NAK ), которое представляет собой запрос повторной посылки оговоренного в отклике пакета. Причиной посылки NAK может быть получение поврежденного пакета, или нарушение порядка поступления кадров, что вызвало подозрение потери пакета. Получатель должен отслеживать ситуацию, чтобы исключить повторную посылку NAK для одного и того же кадра. Потеря NAK не опасна, так как отправитель, не получив подтверждения, все равно запустит процедуру повторной пересылки пакета. Величина RTT и его дисперсия определяют устанавливаемое значение таймаута.

Историческими предшественниками стека Интернет были протоколы, возникшие на базе разработанного компанией IBM стандарта SDLC (Synchronous Data Link Control). Этот стандарт был предложен компанией в ANSI и в организацию ISO в качестве международного проекта. ANSI модифицировала его, и он превратился в ADCCP (Advanced Data Communication Control Procedure), а ISO на основе предложенного протокола разработала стандарт HDLC (high-level Data Link Control). Международная организация по телекоммуникациям CCITT адаптировала HDLC для протокола X.25 ( LAP - Link Access Procedure). Все они бит-ориентированы и используют bit-stuffing. Формат используемых кадров показан на рис. 2.15 (в нижней части рисунка приведены размеры полей в битах). Октеты - разграничители кадров F несут в себе код 0x7E.

Формат кадров бит-ориентированных протоколов


Рис. 2.15.  Формат кадров бит-ориентированных протоколов

Поле адрес служит для выделения определенного терминала (идентификатор терминала). При соединении "точка-точка" это поле иногда служит для разделения запроса и отклика.

Поле управление служит для записи номера по порядку для установления соответствия между посланным кадром и откликом.

Поле информация может иметь произвольную длину, а поле FCS (Frame Control Sum) является контрольной суммой, вычисляемой согласно алгоритму CRC. Минимально кадр содержит 4 байта, не считая стартового и финального разграничителей. Предусмотрено три типа кадров: информационные, управляющие (supervisory) и ненумерованные. Коды поля управления этих кадров представлены на рис. 2.16. Протокол использует при передаче алгоритм скользящего окна со значением номера по порядку, имеющим 3 бита. В любой момент времени до семи ненумерованных кадров могут ожидать подтверждения. Для современных коммуникаций 3 бита для номера по порядку ( MAX_SEQ ) крайне мало.

Формат поля управления для информационных (I), управляющих (II) и ненумерованных (III) кадров


Рис. 2.16.  Формат поля управления для информационных (I), управляющих (II) и ненумерованных (III) кадров

В верхней части рис. 2.16 указаны размеры полей в битах. Поле Seq содержит порядковый номер кадра. Поле следующий служит для подтверждения успешно доставленных кадров. Допускается также размещение здесь номера следующего (ожидаемого) кадра. Поле P/F (Poll/Final) используется, когда ЭВМ обращается к группе терминалов. P = 1, когда машина предлагает терминалу прислать данные. Все кадры, приходящие от терминала, кроме последнего, содержат P = 1. Равенство бита нулю означает, что это последний кадр (F). В некоторых модификациях протокола бит P/F используется, чтобы заставить другую машину прислать управляющий кадр, а не сменить направление обмена данными. Тип управляющего (supervisory) кадра определяется содержимым поля тип. Возможные значения этого поля приведены в таблице 2.2.

Таблица 2.2. Коды поля тип
Код поля типНазначение
00RR-кадр (Receiver Ready) готов к приему
01REJ-кадр (Reject) отказ от приема
10RNR-кадр (Receiver Not Ready) не готов к приему
11SREJ-кадр (Selected Reject) выборочный отказ от приема

Как видно из таблицы, тип = 0 означает, что кадр служит для подтверждения получения предыдущего кадра и готовности получить следующий. Тип = 1 является отрицательным подтверждением (NAK). Тип = 3 призывает повторить посылку кадра с указанным номером.

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

Люди, работающие на ЭВМ дома, часто подсоединяются к Интернету посредством модема через коммутируемую телефонную сеть с привлечением протоколов SLIP или PPP. Схема подключения показана на рис. 2.17.

Подключение ЭВМ через модем и цифровую телефонную станцию


Рис. 2.17.  Подключение ЭВМ через модем и цифровую телефонную станцию

Подключение к Интернету через модемный пул


Рис. 2.18.  Подключение к Интернету через модемный пул

Если телефонная станция — аналоговая, то кодеки не нужны. Число промежуточных телефонных станций может варьироваться в широких пределах. Сервис-провайдеры обычно имеют у себя модемные пулы, которые позволяют подключиться большому числу клиентов одновременно (рис. 2.18).

В традиционной телефонной сети для соединения с требуемым клиентом используются аппаратные коммутаторы. Если коммутатор имеет N входов и N выходов, то число коммутирующих ключей будет равно N2 и одновременно можно реализовать не более N связей. Реально это число всегда меньше, и клиент слышит в трубке "короткие гудки" сигнала "занято". На рис. 2.19 показана обобщенная схема большой телефонной сети.

Схема телефонной сети


Рис. 2.19.  Схема телефонной сети

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

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

Схема переключателя каналов с мультиплексированием по времени


Рис. 2.20.  Схема переключателя каналов с мультиплексированием по времени

Кружочки на пересечениях линий представляют собой ключи, замыкая которые можно соединить i -й входной канал с j -м выходным. На каждой линии может быть только один замкнутый ключ. Такая схема коммутации называется TST (Time-Space-Time). Именно она преобладает сегодня при построении сетей ISDN. Магистральные каналы ISDN строятся в соответствии со стандартом T1.

Такая схема при числе входных и выходных каналов, равном N = 1000 требует миллиона элементарных переключателей. Можно рассмотреть вариант, когда используются коммутаторы с n входами и k выходами. Здесь для простоты рассматривается только трехкаскадный вариант. В первом каскаде каждый переключатель имеет n входов, а их число равно N/n. Второй каскад имеет k переключателей с N/n входами и N/n выходами, третий каскад воспроизводит структуру первого. Схема коммутатора с N = 16, n = 4 и k = 2 показана на рис. 2.21. Число элементарных переключателей в таком трехкаскадном коммутаторе М равно

M = 2kN + k(N/n)2

Схема коммутатора


Рис. 2.21.  Схема коммутатора

Первое слагаемое характеризует число элементарных переключателей во входной и выходной секциях системы, а второе — число элементарных переключателей в k внутренних модулях. При N = 1000, n = 50 и k = 10 требуется 24000 элементарных переключателей вместо миллиона (но и число одновременно формируемых каналов становится много меньше 1000).

Второй каскад данного коммутатора имеет 8 входов, в случае прихода девятого вызова клиент получит сигнал "занято" (блокировка коммутатора) еще до завершения набора телефонного номера. Для увеличения числа одновременно обслуживаемых запросов можно увеличить число коммутирующих устройств во втором каскаде. В 1953 году Клос показал, что при k = 2n -1 блокировка коммутатора не будет происходить никогда. Существуют решения, которые теоретически могут приводить к блокировке, но с очень малой вероятностью.

Совершенно другим типом коммутатора является переключатель с разделением по времени. Будем считать, что такой коммутатор имеет n входных и столько же выходных каналов. В данном методе входные каналы последовательно сканируются и формируется входной кадр из n доменов. Каждому домену соответствует k бит. Для переключателей на потоки Т1 k = 8, а скорость обработки составляет 8000 кадров в секунду. Центральным узлом такого устройства является коммутатор с разделением по времени, который воспринимает входные кадры и генерирует выходные кадры с измененным порядком временных доменов. Этот коммутатор имеет встроенный буфер для n k -битных слов. На рис. 2.22 показана структура такого коммутатора. Во входном кадре временные домены пронумерованы от 0 до 5 ( n = 5 ). Последовательность бит с i -го входного канала с помощью мультиплексора TDM (изображен в левой части рисунка) помещается в i -й временной домен входного кадра. Входной кадр заносится в буфер коммутатора. В коммутаторе формируется таблица перекодировки ( lookup-таблица ), которая определяет, какому временному домену в выходном потоке будет соответствовать тот или иной домен во входном кадре. В сущности, эта таблица решает, на какой выходной канал попадут данные, пришедшие по заданному входному каналу. Если вы думаете, что ранее не сталкивались с такого рода таблицами, то это заблуждение.

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

Коммутатор с разделением по времени


Рис. 2.22.  Коммутатор с разделением по времени

С помощью таблицы перекодировки формируется выходной кадр. На рис. 2.22 коммутатор связывает нулевой входной канал с 4-м выходным каналом, первый входной канал с 5-м выходным и т.д. Выходной демультиплексор (изображен справа) преобразует номер временного домена выходного кадра в номер выходного канала. Так, временной домен с номером 4 попадет в 4-й выходной канал. В сущности, здесь с помощью пакетной методики осуществляется коммутация каналов.

В процессе работы коммутатор должен запоминать n кодов, соответствующих временным доменам, а затем считывать их снова в пределах одного периода, равного по длительности 125 мкс. Если каждая ячейка памяти имеет время доступа t мкс, то для всей этой процедуры потребуется 2nt мкс ( 2nt = 125, что означает n = 125/2t ). По этой причине с 100-наносекундной памятью можно реализовать коммутатор на 625 каналов. На основе данной схемы можно реализовать многокаскадный коммутатор на много большее число каналов.

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

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

Лекция 3. Алгоритмы сжатия данных

Алгоритмы сжатия данных. Алгоритм Зива-Лемпеля, Хаффмана и Барроуза-Виллера.

3.1. Алгоритм Зива-Лемпеля

В 1977 году Абрахам Лемпель и Якоб Зив предложили алгоритм сжатия данных, названный позднее LZ77. Этот алгоритм используется в программах архивирования текстов compress, lha, pkzip и arj. Модификация алгоритма LZ78 применяется для сжатия двоичных данных. Эти модификации алгоритма защищены патентами США. Алгоритм предполагает кодирование последовательности бит путем разбивки ее на фразы с последующим кодированием этих фраз. Суть алгоритма заключается в следующем.

Если в тексте встретится повторение строк символов, то повторные строки заменяются ссылками (указателями) на исходную строку. Ссылка имеет формат <префикс, расстояние, длина>. Префикс в этом случае равен 1. Поле расстояние идентифицирует слово в словаре строк. Если строки в словаре нет, генерируется код символ вида <префикс, символ>, где поле префикс = 0, а поле символ соответствует текущему символу исходного текста. Отсюда видно, что префикс служит для разделения кодов указателя от кодов символ. Введение кодов <символ> позволяет оптимизировать словарь и поднять эффективность сжатия. Главная алгоритмическая проблема здесь заключается в оптимальном выборе строк, так как это предполагает значительный объем переборов.

Рассмотрим пример с исходной последовательностью U = 0010001101 (без надежды получить реальное сжатие для столь ограниченного объема исходного материала). Введем обозначения:

Разложение исходной последовательности бит на фразы представлено в таблице 3.1.

P[0] — пустая строка. Символом "." (точка) обозначается операция объединения (конкатенации).

Таблица 3.1.
N фразыЗначениеФормулаИсходная последовательность U
0P[0]0010001101
10P[1] = P[0].00.010001101
201P[2] = P[1].10.01.0001101
3010P[3] = P[1].00.01.00.01101
400P[4] = P[2].10.01.00.011.01
5011P[5] = P[1].10.01.00.011.01

Формируем пары строк, каждая из которых имеет вид (A.B). Каждая пара образует новую фразу и содержит идентификатор предыдущей фразы и бит, присоединяемый к этой фразе. Объединение всех этих пар представляет окончательный результат сжатия С. P[1] = P[0].0 дает (00.0), P[2] = P[1].0 дает (01.0) и т.д. Схема преобразования отражена в таблице ниже.

ФормулыP[1] = P[0].0P[2] = P[1].1P[3] = P[1].0P[4] = P[2].1P[5] = P[1].1
Пары00.0 = 00001.1 = 01101.0 = 01010.1 = 10101.1 = 011
С000.011.010.101.011 = 000011010101011

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

3.2. Статический алгоритм Хаффмана

Статический алгоритм Хафмана можно считать классическим (см. также Р. Галлагер. Теория информации и надежная связь. "Советское радио", Москва, 1974). Определение "статический" в данном случае относится к используемым словарям. См. также http://www.ics.ics.uci.edu/~dan/pubs/DataCompression.html) (Debra A. Lelewer и Daniel S. hirschberg). Алгоритм Хаффмана предполагает, что вероятности появления в исходном массиве разных кодовых последовательностей (символов) принципиально неравны.

Пусть сообщения имеют вероятности и пусть для определенности они упорядочены так, что . Пусть - совокупность двоичных кодов, и пусть — длины этих кодов. Задачей алгоритма является установление соответствия между и . Можно показать, что для любого ансамбля сообщений с полным числом более 2 существует двоичный код, в котором два наименее вероятных кода и имеют одну и ту же длину и отличаются лишь последним символом: имеет последний бит 1, а - 0. Редуцированный ансамбль будет иметь свои два наименее вероятные сообщения сгруппированными вместе. После этого можно получить новый редуцированный ансамбль, и так далее. Процедура может быть продолжена до тех пор, пока в очередном ансамбле не останется только два сообщения. Процедура реализации алгоритма сводится к следующему (см. рис. 3.1). Сначала группируются два наименее вероятных сообщения, предпоследнему сообщению ставится в соответствие код с младшим битом, равным нулю, а последнему – код с единичным младшим битом (на рисунке и ). Вероятности этих двух сообщений складываются, после чего ищутся два наименее вероятные сообщения во вновь полученном ансамбле ( и ; ).

Пример реализации алгоритма Хаффмана


Рис. 3.1.  Пример реализации алгоритма Хаффмана

На следующем шаге наименее вероятными сообщениями окажутся и . Кодовые слова на полученном дереве считываются справа налево. Алгоритм выдает оптимальный код (минимальная избыточность).

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

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

3.3. Сжатие данных с использованием преобразования Барроуза-Вилера

Майкл Барроуз и Давид Вилер (Burrows-Wheeler) в 1994 году предложили свой алгоритм преобразования ( BWT ). Этот алгоритм работает с блоками данных и обеспечивает эффективное сжатие без потери информации. В результате преобразования блок данных имеет ту же длину, но другой порядок расположения символов. Алгоритм тем эффективнее, чем больший блок данных преобразуется (например, 256-512 Кбайт или более).

Последовательность S, содержащая N символов ( {S(0), …, S(N-1)} ), подвергается N циклическим сдвигам (вращениям), лексикографической сортировке, а последний символ при каждом вращении извлекается. Из этих символов формируется строка L, где i -й символ является последним символом i -го вращения. Кроме строки L создается индекс I исходной строки S в упорядоченном списке вращений. Существует эффективный алгоритм восстановления исходной последовательности символов S на основе строки L и индекса I. Процедура сортировки объединяет результаты вращений с идентичными начальными символами. Предполагается, что символы в S соответствуют алфавиту, содержащему K символов. Под лексикографической сортировкой подразумевается упорядочение числовых кодов, которые получаются при подстановке ASCII-кодов вместо букв.

Для пояснения работы алгоритма возьмем последовательность S = 'abraca' (N = 6), алфавит X = {'a', 'b', 'c', 'r'}.

Номер строки
0Aabrac
1Abraca
2Acaabr
3Bracaa
4Caabra
5Racaab
  1. Формируем матрицу из N*N элементов, чьи строки представляют собой результаты циклического сдвига (вращений) исходной последовательности S, отсортированных лексикографически. По крайней мере одна из строк M содержит исходную последовательность S. Пусть I является индексом строки S. В приведенном примере индекс I = 1, а матрица M имеет вид
  2. Пусть строка L представляет собой последнюю колонку матрицы M с символами L[0], …, L[N-1] (соответствуют M[0, N-1], …, M[N-1, N-1] ). Формируем строку последних символов вращений. Окончательный результат характеризуется (L,I). В данном примере L = 'caraab', I = 1.

Процедура декомпрессии использует L и I. Целью этой процедуры является получение исходной последовательности из N символов (S).

1. Сначала вычисляем первую колонку матрицы M (F). Это делается путем сортировки символов строки L. Каждая колонка исходной матрицы M представляет собой перестановки исходной последовательности S. Таким образом, первая колонка F и L являются перестановками S. Так как строки в M упорядочены, размещение символов в F также упорядочено. F = 'aabcr'.

2. Рассматриваем ряды матрицы M, которые начинаются с заданного символа ch. Строки матрицы М упорядочены лексикографически, поэтому строки, начинающиеся с ch, упорядочены аналогичным образом. Определим матрицу M', которая получается из строк матрицы M путем циклического сдвига на один символ вправо. Для каждого i = 0, …, N-1 и каждого j = 0, …, N-1,

M'[i,j] = m[i, (j-1) mod N]

В рассмотренном примере M и M' имеют вид

СтрокаMM'
0aabraccaabra
1abracaaabraс
2acaabrracaab
3bracaaabraca
4caabraаcaabr
5racaabвracaa

Подобно M, каждая строка M' является вращением S, и для каждой строки M существует соответствующая строка M'. M' получена из M так, что строки M' упорядочены лексикографически, начиная со второго символа. Таким образом, если мы рассмотрим только те строки M', которые начинаются с заданного символа ch, они должны следовать упорядоченным образом с учетом второго символа. Следовательно, для любого заданного символа ch строки M, которые начинаются с ch, появляются в том же порядке, что и в M', начинающиеся с ch. В нашем примере это видно на примере строк, начинающихся с 'a'. Строки 'aabrac', 'abraca' и 'acaabr' имеют номера 0, 1 и 2 в M и 1, 3, 4 в M'.

Используя F и L, первые колонки M и M', мы вычислим вектор Т, который указывает на соответствие между строками двух матриц, с учетом того, что для каждого j = 0,…,N-1 строки j M' соответствуют строкам T[j] M.

Если L[j] является к -м появлением ch в L, тогда T[j] = 1, где F[i] является к -м появлением ch в F. Заметьте, что Т представляет соответствие один в один между элементами F и элементами L, а F[T[j]] = L[j]. В нашем примере T равно (4 0 5 1 2 3).

3. Теперь для каждого i = 0, …, N-1 символы L[i] и F[i] являются соответственно последними и первыми символами строки i матрицы M. Так как каждая строка является вращением S, символ L[i] является циклическим предшественником символа F[i] в S. Из Т мы имеем F[T[j]] = L[j]. Подставляя i = T[j], мы получаем символ L[T(j)], который циклически предшествует символу L[j] в S.

Индекс I указывает на строку М, где записана строка S. Таким образом, последний символ S равен L[I]. Мы используем вектор T для получения предшественников каждого символа: для каждого i = 0, …, N-1 S[N-1-i] = L[Ti[I]], где T0[x] = x, а Ti+1[x] = T[Ti[x]. Эта процедура позволяет восстановить первоначальную последовательность символов S ('abraca').

Последовательность Ti[I] для i = 0, …, N-1 не обязательно является перестановкой чисел 0, …, N-1. Если исходная последовательность S является формой Zp для некоторой подстановки Z и для некоторого p>1, тогда последовательность Ti[I] для i = 0, …, N-1 будет также формой Z'p для некоторой субпоследовательности Z'. Таким образом, если S = 'cancan', Z = 'can' и p = 2, то последовательность Ti[I] для i = 0, …, N-1 будет [2, 4, 0, 2, 4, 0].

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

Возьмем в качестве примера букву "t" в слове "the" и предположим, что исходная последовательность содержит много таких слов. Когда список вращений упорядочен, все вращения, начинающиеся с "he", будут взаимно упорядочены. Один отрезок строки L будет содержать непропорционально большое число "t", перемешанных с другими символами, которые могут предшествовать "he", такими как пробел, "s", "T" и "S".

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

Лекция 4. Алгоритмы обнаружения и коррекции ошибок

Контроль по четности, CRC, алгоритм Хэмминга. Введение в коды Рида-Соломона: принципы, архитектура и реализация. Метод коррекции ошибок FEC (Forward Error Correction).

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

Простейшим способом обнаружения ошибок является контроль по четности. Обычно контролируется передача блока данных ( М бит). Этому блоку ставится в соответствие кодовое слово длиной N бит, причем N>M. Избыточность кода характеризуется величиной 1-M/N. Вероятность обнаружения ошибки определяется отношением M/N (чем меньше это отношение, тем выше вероятность обнаружения ошибки, но и выше избыточность).

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

Пусть А и Б — две двоичные кодовые последовательности равной длины. Расстояние Хэмминга между двумя этими кодовыми последовательностями равно числу символов, которыми они отличаются. Например, расстояние Хэмминга между кодами 00111 и 10101 равно 2.

Можно показать, что для детектирования ошибок в n битах схема кодирования требует применения кодовых слов с расстоянием Хэмминга не менее N + 1. Можно также показать, что для исправления ошибок в N битах необходима схема кодирования с расстоянием Хэмминга между кодами не менее 2N + 1. Таким образом, конструируя код, мы пытаемся обеспечить расстояние Хэмминга между возможными кодовыми последовательностями большее, чем оно может возникнуть из-за ошибок.

Широко распространены коды с одиночным битом четности. В этих кодах к каждым М бит добавляется 1 бит, значение которого определяется четностью (или нечетностью) суммы этих М бит. Так, например, для двухбитовых кодов 00, 01, 10, 11 кодами с контролем четности будут 000, 011, 101 и 110. Если в процессе передачи один бит будет передан неверно, четность кода из М+1 бита изменится.

Предположим, что частота ошибок ( BER – Bit Error Rate) равна р = 10-4. В этом случае вероятность передачи 8 бит с ошибкой составит 1 – (1 – p)8 = 7,9 х 10-4. Добавление бита четности позволяет детектировать любую ошибку в одном из переданных битах. Здесь вероятность ошибки в одном из 9 битов равна 9p(1 – p)8. Вероятность же реализации необнаруженной ошибки составит 1 – (1 – p)9 – 9p(1 – p)8 = 3,6 x 10-7. Таким образом, добавление бита четности уменьшает вероятность необнаруженной ошибки почти в 1000 раз. Использование одного бита четности типично для асинхронного метода передачи. В синхронных каналах чаще используется вычисление и передача битов четности как для строк, так и для столбцов передаваемого массива данных. Такая схема позволяет не только регистрировать, но и исправлять ошибки в одном из битов переданного блока.

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

В Ethernet вычисление CRC производится аппаратно. На рис. 4.1 показан пример реализации аппаратного расчета CRC для образующего полинома R(x) = 1 + x2 + x3 + x5 + x7. В этой схеме входной код приходит слева.

Схема реализации расчета CRC


Рис. 4.1.  Схема реализации расчета CRC

Эффективность CRC для обнаружения ошибок на многие порядки выше простого контроля четности. В настоящее время стандартизовано несколько типов образующих полиномов. Для оценочных целей можно считать, что вероятность невыявления ошибки в случае использования CRC, если ошибка на самом деле имеет место, равна (1/2)r, где r — степень образующего полинома.

Таблица 4.1.
CRC -12x12 + x11 + x3 + x2 + x1 + 1
CRC -16x16 + x15 + x2 + 1
CRC -CCITTx16 + x12 + x5 + 1

4.1. Алгоритмы коррекции ошибок

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

Код Хэмминга представляет собой блочный код, который позволяет выявить и исправить ошибочно переданный бит в пределах переданного блока. Обычно код Хэмминга характеризуется двумя целыми числами, например, (11,7), используемыми при передаче 7-битных ASCII-кодов. Такая запись говорит, что при передаче 7-битного кода используется 4 контрольных бита (7 + 4 = 11). При этом предполагается, что имела место ошибка в одном бите и что ошибка в двух или более битах существенно менее вероятна. С учетом этого исправление ошибки осуществляется с определенной вероятностью. Например, пусть возможны следующие правильные коды (все они, кроме первого и последнего, отстоят друг от друга на расстояние Хэмминга 4):

00000000

11110000

00001111

11111111

При получении кода 00000111 нетрудно предположить, что правильное значение полученного кода равно 00001111. Другие коды отстоят от полученного на большее расстояние Хэмминга.

Рассмотрим пример передачи кода буквы s = 0x073 = 1110011 с использованием кода Хэмминга (11,7). Таблица 4.2.

Таблица 4.2.
Позиция бита1110987654321
Значение бита111*001*1**

Символами * помечены четыре позиции, где должны размещаться контрольные биты. Эти позиции определяются целой степенью 2 (1, 2, 4, 8 и т.д.). Контрольная сумма формируется путем выполнения операции XoR (исключающее ИЛИ) над кодами позиций ненулевых битов. В данном случае это 11, 10, 9, 5 и 3. Вычислим контрольную сумму:

11=1011
10=1010
09=1001
05=0101
03=0011
1110

Таким образом, приемник получит код

Позиция бита1110987654321
Значение бита11110011110

Просуммируем снова коды позиций ненулевых битов и получим нуль;

11=1011
10=1010
09=1001
08=1000
05=0101
04=0100
03=0011
02=0010
0000

Ну а теперь рассмотрим два случая ошибок в одном из битов посылки, например в бите 7 (1 вместо 0) и в бите 5 (0 вместо 1). Просуммируем коды позиций ненулевых битов еще раз:

Таблица 4.3.
11=1011
10=1010
09=1001
08=1000
07=0111
05=0101
04=0100
03=0011
02=0010
0111
11=1011
10=1010
09=1001
08=1000
04=0100
03=0011
02=0010
0001

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

В общем случае код имеет N = M + C бит и предполагается, что не более чем один бит в коде может иметь ошибку. Тогда возможно N+1 состояние кода (правильное состояние и n ошибочных). Пусть М = 4, а N = 7, тогда слово-сообщение будет иметь вид: M4, M3, M2, C3, M1, C2, C1. Теперь попытаемся вычислить значения С1, С2, С3. Для этого используются уравнения, где все операции представляют собой сложение по модулю 2:

С1 = М1 + М2 + М4
С2 = М1 + М3 + М4
С3 = М2 + М3 + М4

Для определения того, доставлено ли сообщение без ошибок, вычисляем следующие выражения (сложение по модулю 2):

С11 = С1 + М4 + М2 + М1
С12 = С2 + М4 + М3 + М1
С13 = С3 + М4 + М3 + М2

Результат вычисления интерпретируется следующим образом:

Таблица 4.4.
C11C12C13Значение
124Позиция бит
000Ошибок нет
001Бит С3 неверен
010Бит С2 неверен
011Бит M3 неверен
100Бит С1 неверен
101Бит M2 неверен
110Бит M1 неверен
111Бит M4 неверен

Описанная схема легко переносится на любое число n и М.

Число возможных кодовых комбинаций М помехоустойчивого кода делится на n классов, где N — число разрешенных кодов. Разделение на классы осуществляется так, чтобы в каждый класс вошел один разрешенный код и ближайшие к нему (по расстоянию Хэмминга ) запрещенные коды. В процессе приема данных определяется, к какому классу принадлежит пришедший код. Если код принят с ошибкой, он заменяется ближайшим разрешенным кодом. При этом предполагается, что кратность ошибки не более qm.

В теории кодирования существуют следующие оценки максимального числа N n -разрядных кодов с расстоянием D.

d=1n=2n
d=2n=2n-1
d=3N 2n/(1 + n)
d = 2q + 1(для кода Хэмминга это неравенство превращается в равенство)

В случае кода Хэмминга первые k разрядов используются в качестве информационных, причем

K = n – log(n + 1), откуда следует (логарифм по основанию 2), что k может принимать значения 0, 1, 4, 11, 26, 57 и т.д., это и определяет соответствующие коды Хэмминга (3,1); (7,4); (15,11); (31,26); (63,57) и т.д.

Обобщением кодов Хэмминга являются циклические коды BCH (Bose-Chadhuri-hocquenghem). Эти коды имеют широкий выбор длин и возможностей исправления ошибок.

Одной из старейших схем коррекции ошибок является двух-и трехмерная позиционная схема (рис. 4.2). Для каждого байта вычисляется бит четности (бит <Ч>, направление Х). Для каждого столбца также вычисляется бит четности (направление Y. Производится вычисление битов четности для комбинаций битов с координатами (X,Y) (направление Z, слои с 1 до N ). Если при транспортировке будет искажен один бит, он может быть найден и исправлен по неверным битам четности X и Y. Если же произошло две ошибки в одной из плоскостей, битов четности данной плоскости недостаточно. Здесь поможет плоскость битов четности N+1. Таким образом, на 512 передаваемых байтов данных пересылается около 200 бит четности.

Позиционная схема коррекции ошибок


Рис. 4.2.  Позиционная схема коррекции ошибок

4.2. Введение в коды Рида-Соломона: принципы, архитектура и реализация

Коды Рида-Соломона были предложены в 1960 году Ирвином Ридом (Irving S. Reed) и Густавом Соломоном (Gustave Solomon), являвшимися сотрудниками Линкольнской лаборатории МТИ. Ключом к использованию этой технологии стало изобретение эффективного алгоритма декодирования Элвином Беликамфом (Elwyn Berlekamp; http://en.wikipedia.org/wiki/Berlekamp-Massey_algorithm), профессором Калифорнийского университета (Беркли). Коды Рида-Соломона (см. также http://www.4i2i.com/reed_solomon_codes.htm) базируются на блочном принципе коррекции ошибок и используются в огромном числе приложений в сфере цифровых телекоммуникаций и при построении запоминающих устройств. Коды Рида-Соломона применяются для исправления ошибок во многих системах:

На рис. 4.3 показаны практические приложения (дальние космические проекты) коррекции ошибок с использованием различных алгоритмов (Хэмминга, кодов свертки, Рида-Соломона и пр.). Данные и сам рисунок взяты из http://en.wikipedia.org/wiki/Reed-Solomon_error_correction.

Несовершенство кода, как функция размера информационного блока для разных задач и алгоритмов


Рис. 4.3.  Несовершенство кода, как функция размера информационного блока для разных задач и алгоритмов

Типовая система представлена ниже (см. http://www.4i2i.com/reed_solomon_codes.htm)

Схема коррекции ошибок Рида-Соломона


Рис. 4.4.  Схема коррекции ошибок Рида-Соломона

Кодировщик Рида-Соломона берет блок цифровых данных и добавляет дополнительные "избыточные" биты. Ошибки происходят при передаче по каналам связи или по разным причинам при запоминании (например, из-за шума или наводок, царапин на CD и т.д.). Декодер Рида-Соломона обрабатывает каждый блок, пытается исправить ошибки и восстановить исходные данные. Число и типы ошибок, которые могут быть исправлены, зависят от характеристик кода Рида-Соломона.

Свойства кодов Рида-Соломона

Коды Рида-Соломона являются субнабором кодов BCH и представляют собой линейные блочные коды. Код Рида-Соломона специфицируются как RS(n,k) s -битных символов.

Это означает, что кодировщик воспринимает k информационных символов по s битов каждый и добавляет символы четности для формирования n символьного кодового слова. Имеется nk символов четности по s битов каждый. Декодер Рида-Соломона может корректировать до t символов, которые содержат ошибки в кодовом слове, где 2t = n–k.

Диаграмма, представленная ниже, показывает типовое кодовое слово Рида-Соломона:

Структура кодового слова R-S


Рис. 4.5.  Структура кодового слова R-S

Пример. Популярным кодом Рида-Соломона является RS(255, 223) с 8-битными символами. Каждое кодовое слово содержит 255 байт, из которых 223 являются информационными и 32 байтами четности. Для этого кода

n = 255, k = 223, s = 8

2t = 32, t = 16

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

При размере символа s, максимальная длина кодового слова ( n ) для кода Рида-Соломона равна n = 2s – 1.

Например, максимальная длина кода с 8-битными символами ( s = 8 ) равна 255 байтам.

Коды Рида-Соломона могут быть в принципе укорочены путем обнуления некоторого числа информационных символов на входе кодировщика (передавать их в этом случае не нужно). При передаче данных декодеру эти нули снова вводятся в массив.

Пример. Код (255, 223), описанный выше, может быть укорочен до (200, 168). Кодировщик будет работать с блоком данных 168 байт, добавит 55 нулевых байт, сформирует кодовое слово (255, 223) и передаст только 168 информационных байт и 32 байта четности.

Объем вычислительной мощности, необходимой для кодирования и декодирования кодов Рида-Соломона, зависит от числа символов четности. Большое значение t означает, что большее число ошибок может быть исправлено, но это потребует большей вычислительной мощности по сравнению с вариантом при меньшем t.

Ошибки в символах

Одна ошибка в символе происходит, когда 1 бит символа оказывается неверным или когда все биты неверны.

Пример. Код RS(255,223) может исправить до 16 ошибок в символах. В худшем случае, могут иметь место 16 битовых ошибок в разных символах (байтах). В лучшем случае, корректируются 16 полностью неверных байт, при этом исправляется 16 x 8 = 128 битовых ошибок.

Коды Рида-Соломона особенно хорошо подходят для корректировки кластеров ошибок (когда неверными оказываются большие группы бит кодового слова, следующие подряд).

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

Алгебраические процедуры декодирования Рида-Соломона могут исправлять ошибки и потери. Потерей считается случай, когда положение неверного символа известно. Декодер может исправить до t ошибок или до 2t потерь. Данные о потере (стирании) могут быть получены от демодулятора цифровой коммуникационной системы, т.е. демодулятор помечает полученные символы, которые вероятно содержат ошибки.

Когда кодовое слово декодируется, возможны три варианта.

  1. Если 2s + r < 2t ( s ошибок, r потерь), тогда исходное переданное кодовое слово всегда будет восстановлено. В противном случае
  2. Декодер детектирует ситуацию, когда он не может восстановить исходное кодовое слово. или
  3. Декодер некорректно декодирует и неверно восстановит кодовое слово без какого-либо указания на этот факт.

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

Преимущество кодирования

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

Пример. Пусть имеется цифровая телекоммуникационная система, работающая с BER (Bit Error Ratio), равной 10-9, т.е. не более 1 из 109 бит передается с ошибкой. Такого результата можно достичь путем увеличения мощности передатчика или применением кодов Рида-Соломона (либо другого типа коррекции ошибок). Алгоритм Рида-Соломона позволяет системе достичь требуемого уровня BER с более низкой выходной мощностью передатчика.

Архитектура кодирования и декодирования кодов Рида-Соломона

Кодирование и декодирование Рида-Соломона может быть выполнено аппаратно или программно.

Арифметика конечного поля Галуа

Коды Рида-Соломона базируются на специальном разделе математики – полях Галуа (GF) или конечных полях. Арифметические действия (+,-, x, / и т.д.) над элементами конечного поля дают результат, который также является элементом этого поля. Кодировщик или декодер РидаСоломона должны уметь выполнять эти арифметические операции. Эти операции для своей реализации требуют специального оборудования или специализированного программного обеспечения.

Образующий полином

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

g(x) = (x – ai)(x – ai+1)...(x – ai+2t)

а кодовое слово формируется с помощью операции

c(x) = g(x).i(x)

где g(x) является образующим полиномом, i(x) представляет собой информационный блок, c(x) – кодовое слово, называемое простым элементом поля.

Пример. Генератор для RS(255, 249)

g(x)= (x – a0)(x – a1)(x – a2)(x – a3)(x – a4)(x – a5)
g(x)= x6 + g5x5 + g3x3 + g2x2 + g1x1 + g0

Архитектура кодировщика

2t символов четности в кодовом слове Рида-Соломона определяются из следующего соотношения:

Ниже показана схема реализации кодировщика для версии RS(255,249):

Схема кодировщика R-S


Рис. 4.6.  Схема кодировщика R-S

Каждый из 6 регистров содержит в себе символ (8 бит). Арифметические операторы выполняют сложение или умножение на символ как на элемент конечного поля.

Архитектура декодера

Общая схема декодирования кодов Рида-Соломона показана ниже на рис. 4.7.

Схема работы с кодами Рида-Соломона


Рис. 4.7.  Схема работы с кодами Рида-Соломона

Обозначения:

Полученное кодовое слово r(x) представляет собой исходное (переданное) кодовое слово c(x) плюс ошибки:

r(x) = c(x) + e(x)

Декодер Рида-Соломона пытается определить позицию и значение ошибки для t ошибок (или 2t потерь) и исправить ошибки и потери.

Вычисление синдрома

Вычисление синдрома похоже на вычисление четности. Кодовое слово Рида-Соломона имеет 2t синдромов, это зависит только от ошибок (а не передаваемых кодовых слов). Синдромы могут быть вычислены путем подстановки 2t корней образующего полинома g(x) в r(x).

Нахождение позиций символьных ошибок

Это делается путем решения системы уравнений с t неизвестными. Существует несколько быстрых алгоритмов для решения этой задачи. Эти алгоритмы используют особенности структуры матрицы кодов РидаСоломона и сильно сокращают необходимую вычислительную мощность. Делается это в два этапа.

1. Определение полинома локации ошибок.

Это может быть сделано с помощью алгоритма Berlekamp-Massey или алгоритма Эвклида. Алгоритм Эвклида используется чаще на практике, так как его легче реализовать, однако алгоритм Berlekamp-Massey позволяет получить более эффективную реализацию оборудования и программ.

2. Нахождение корней этого полинома. Это делается с привлечением алгоритма поиска Chien.

Нахождение значений символьных ошибок

Здесь также нужно решить систему уравнений с t неизвестными. Для решения используется быстрый алгоритм Forney.

Реализация кодировщика и декодера Рида-Соломона. Аппаратная реализация

Существует несколько коммерческих аппаратных реализаций. Имеется много разработанных интегральных схем, предназначенных для кодирования и декодирования кодов Рида-Соломона. Эти ИС допускают определенный уровень программирования (например RS(255, k), где t может принимать значения от 1 до 16).

Программная реализация

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

4.3. Метод коррекции ошибок FEC (Forward Error Correction)

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

Когда вероятность искажения велика, например, в каналах коммуникаций с геостационарными спутниками, используются методы коррекции ошибок. Одним из таких методов является FEC (Forward Error Correction, иногда называемое канальным кодированием ) [4.1]. Технология FEC в последнее время достаточно широко используется в беспроводных локальных сетях (WLAN). Существуют две основные разновидности FEC: блочное кодирование и кодирование по методу свертки.

Блочное кодирование работает с блоками (пакетами) бит или символов фиксированного размера. Метод свертки работает с потоками бит или символов произвольной протяженности. Коды свертки при желании могут быть преобразованы в блочные коды.

Существует большое число блочных кодов, одним из наиболее важных является алгоритм Рида-Соломона, который используется при работе с CD, DVD и жесткими дисками ЭВМ. Блочные коды и коды свертки могут использоваться и совместно.

Для FEC -кодирования иногда используется метод сверки, который впервые был применен в 1955 году. Главной особенностью этого метода является сильная зависимость кодирования от предыдущих информационных битов и высокие требования к объему памяти. FEC -код обычно просматривает при декодировании 2-8 бит десятки или даже сотни бит, полученных ранее.

В 1967 году Эндрю Витерби (Andrew Viterbi) разработал технику декодирования, которая стала стандартной для кодов свертки. Эта методика требовала меньше памяти. Метод свертки более эффективен, когда ошибки распределены случайным образом, а не группируются в кластеры. Работа же с кластерами ошибок более эффективна при использовании алгебраического кодирования.

Одной из широко применяемых разновидностей коррекции ошибок является турбо-кодирование, разработанное американской аэрокосмической корпорацией. В этой схеме комбинируется два или более относительно простых кодов свертки. В FEC, так же как и в других методах коррекции ошибок (коды Хэмминга, алгоритм Рида-Соломона и др.), блоки данных из k бит снабжаются кодами четности, которые пересылаются вместе с данными и обеспечивают не только детектирование, но и исправление ошибок. Каждый дополнительный (избыточный) бит является сложной функцией многих исходных информационных бит. Исходная информация может содержаться в выходном передаваемом коде, тогда такой код называется систематическим, а может и не содержаться.

В результате через канал передается n -битовое кодовое слово ( n>k ). Конкретная реализация алгоритма FEC характеризуется комбинацией ( n, k ). Применение FEC в Интернете регламентируется документом RFC3452. Коды FEC могут исключить необходимость обратной связи при потере или искажении доставленных данных (запросы повторной передачи). Особенно привлекательна технология FEC при работе с мультикастинг-потоками, где ретрансмиссия не предусматривается (см. RFC-3453).

В 1974 году Йозеф Оденвальдер (Joseph odenwalder) объединил возможности алгебраического кодирования и метода свертки. Хорошего результата можно добиться, введя специальную операцию псевдослучайного перемешивания бит (interleaver).

В 1993 году группой Клода Берроу (Claude Berrou) был разработан турбо-код. В кодеке, реализующем этот алгоритм, содержатся кодировщики как минимум двух компонент (реализующие алгебраический метод или свертку). Кодирование осуществляется для блоков данных. Здесь также используется псевдослучайное перемешивание бит перед передачей. Это приводит к тому, что кластеры ошибок, внесенных при транспортировке, оказываются разнесенными случайным образом в пределах блока данных.

На рис. 4.8 проводится сравнение вариантов BER (Bit Error Rate) при обычной транспортировке данных через канал и при передаче тех же данных с использованием коррекции ошибок FEC для разных значений отношения сигнал-шум ( S/N ). Из этих данных видно, что при отношении S/N= 8 дБ применение FEC позволяет понизить BER примерно в 100 раз. При этом достигается результат, близкий (в пределах одного децибела) к теоретическому пределу Шеннона.

За последние пять лет были разработаны программы, которые позволяют оптимизировать структуры турбо-кодов. Улучшение BER для турбокодов имеет асимптотический предел, и дальнейшее увеличение S/N уже не дает никакого выигрыша. Но схемы, позволяющие смягчить влияние этого насыщения, продолжают разрабатываться.



Рис. 4.8. 

Турбо-кодек должен иметь столько же компонентных декодеров, сколько имеется кодировщиков на стороне передатчика. Декодеры соединяются последовательно.

Турбо-декодер


Рис. 4.9.  Турбо-декодер

Техника FEC находит все большее применение в телекоммуникациях, например, при передачи мультимедиа [2].

Следует помнить, что, как в случае FEC , так и в других известных методах коррекции ошибок ( BCH , Golay, Hamming и др.) скорректированный код является верным лишь с определенной конечной вероятностью.

Лекция 5. Алгоритмы работы с изображением

Методы разложения, кодирования и отображения статических и движущихся изображений. Использование несовершенства человеческого зрения при кодировании и отображении. Стандарты MPEG-1 и -2. Интерактивное телевидение.

Основу получения и передачи изображения составляет преобразование его в матрицу пикселей (pixel — picture element — элемент картинки). Такое преобразование обычно делается путем сканирования изображения (построчного и покадрового), показанного на рис. 5.1.

Схема разложения изображения на элементы методом сканирования


Рис. 5.1.  Схема разложения изображения на элементы методом сканирования

Обратный ход лучей строчной и кадровой разверток невидимы. В передающих приборах изображение представляется в виде потенциальной картинки, в которой яркость элемента определяется количеством электронов, размещенных в определенной области экрана. Это делается, например, с помощью электронно-лучевой трубки. Начиная с 1980-х годов, для разложения изображения на элементы начали использовать приборы с зарядовой связью ( ПЗС ), в этом случае каждому пикселю ставится в соответствие полупроводниковый конденсатор, заряд которого пропорционален яркости элемента. Если изображение цветное, каждой точке ставится в соответствие 3 величины, пропорциональные яркости изображения по трем базовым цветам (красному, зеленому и голубому — RGB ). Отношение ширины изображения к высоте обычно равно 4:3. В Северной и Южной Америке число строк развертки равно 525, а частота кадров составляет 30/с; в Европе — 625 строк при 25 кадр./с. Только 483 из 525 строк в NTSC и 576 из 625 строк в PAL/SECAM отображаются. Время обратного хода кадровой развертки во многих случаях используется для передачи телетекста (новости, погода, спорт, биржевые цены и пр.). Восприятие телевизионной картинки зависит от времени реакции памяти глазных видеодатчиков. У пожилых людей это время обычно меньше, и по этой причине они воспринимают картинку, передаваемую с частотой кадров 25/с, как мигающую. Чтобы улучшить восприятие без увеличения частоты кадров (это потребовало бы большей полосы передачи), применяется алгоритм, при котором сначала воспроизводятся нечетные строки, а затем четные. Каждый из этих полукадров называется полем, а сам алгоритм — чересстрочной разверткой. Первым стандартом цветного телевидения был NTSC (National Television Standards Committee, США). В Европе цветное телевидение появилось позже, что позволило использовать новые более прогрессивные технологии. Так появилась система SECAM (Sequential Couleur Avec Memorire; Франция и Восточная Европа) и PAL (Phase Alternating Line; остальная Европа). Во всех указанных системах нужно было решать проблему совместимости с черно-белым телевидением, для чего приходилось осуществлять линейное сложение RGB -сигналов для получения сигнала яркости (Y). Сигнал яркости передается на частотах, используемых для черно-белого телевидения, а сигналы цветности — на прилегающих более высокочастотных диапазонах.

Последние годы ознаменовались интенсивными разработками систем телевидения высокого разрешения — HDTV (high Definition TeleVision). Эти системы характеризуются удвоением разрешения. И вновь разработки США, Европы и Японии совершенно не совместимы. Различие этих систем в отношении ширины картинки к высоте 16:9 вместо 4:3, что ближе к форме кадра 35-мм пленки, на которую до сих пор снималось кино. Весь мир готовится к переходу на цифровое телевидение. В простейшем варианте цифровое видео — это последовательность кадров, каждый из которых характеризуется прямоугольной матрицей пикселей. Пиксель можно задавать одним битом, тогда мы получим качество, которое получается при передаче цветной фотографии обычным факсом. При описании пикселя 8 битами можно иметь до 256 уровней яркости, что вполне пригодно для черно-белого видео. Для цветного отображения картины используются электронно-лучевые трубки, где по соседству располагаются три окошка маски, по одному для каждого из цветов. В этом вы можете убедиться, вооружившись лупой и рассмотрев через нее экран своего дисплея. Непрерывный аналоговый сигнал строчной развертки в цифровом варианте заменяется последовательностью кодов, длина которой определяется разрешением по горизонтали. В цифровом варианте возможна замена чересстрочной развертки отображением одного и того же кадра четыре раза. К сожалению, для широковещательного телевидения такое решение неприемлемо, так как современные телевизионные приемники не имеют памяти.

Известно, что для корректной передачи цвета требуется 16 миллионов оттенков (8 бит на каждую из трех цветовых компонент). Самое интересное, что человеческий глаз не способен различить такое число оттенков! Таким образом, для описания картинки на экране, содержащей 575 линий по 720 пикселей, требуется 1,240 Мбайта. Для передачи такой информации по B-каналу ISDN, если не используется сжатие данных, потребуется около 2,5 минут. Эта цифра помогает понять актуальность проблемы сжатия графической информации. XGA-стандарт дисплея (1024x768, 24 бита на пиксель при 24 кадр./с) требует потока цифровых данных 472 Мбит/с.

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

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

Стандарты для представления и передачи изображения разрабатывает Joint Photographic Expert Group ( JPEG ). Для сжатия графической информации в настоящее время используется дискретное косинусное двухмерное преобразование ( DCTDiscrete Cosine Transform), которое дает субъективно наилучший результат и описывается уравнением

(5.1)

где v — горизонтальная координата графического блока, u — вертикальная, x — вертикальная координата внутри блока, а y — горизонтальная координата внутри блока, C(u), для u,v = 0 и С(u), С(v) = 1 в противном случае. Два члена в квадратных скобках являются ядрами преобразования, показанными ниже на рис. 5.2, а p(x,y) представляет собой пиксельные данные блока реального рисунка. Начало координат в обоих случаях — в верхнем левом углу. Процесс кодирования сводится к разбиению изображения на блоки 8*8 пикселей и выполнению процедуры двухмерного DCT для каждого из этих блоков. Полученные коэффициенты преобразования дискретизируются, при этом несущественные DCT -коэффициенты отбрасываются. 64 числа, характеризующие уровень сигнала, превращаются в 64 коэффициента преобразования (амплитуды пространственных частот), которые хорошо поддаются процедуре сжатия. Дискретизатор округляет коэффициенты, эта процедура вносит некоторые ошибки, но обратное преобразование на принимающей стороне за счет усреднения частично устраняет вносимые искажения. На практике дискретизатор реализует несколько более сложный алгоритм.

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

DCT обеспечивает сжатие на уровне 0,5-1,0 бит/пикселей при хорошем качестве изображения. Сжатие требует времени, а максимально приемлемым временем задержки при пересылке изображения является 5 секунд. Если использовать скорость обмена 64 Кбит/с, то степени сжатия 0,01 бита на пиксель будет соответствовать время передачи изображения 0,04 секунды, а сжатию 10 — время передачи 40 с. Порядок передачи оцифрованных значений не совпадает с классической схемой развертки и отображен на рис. 5.2.

Порядок передачи оцифрованных параметров изображения в рамках стандарта  JPEG


Рис. 5.2.  Порядок передачи оцифрованных параметров изображения в рамках стандарта JPEG

JPEG имеет четыре режима и много опций. Схема работы алгоритма JPEG с частичной потерей данных показана на рис. 5.3. Коэффициент сжатия данных составляет 20:1 или даже больше.

Преобразование данных в протоколе JPEG


Рис. 5.3.  Преобразование данных в протоколе JPEG

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

Все системы сжатия требуют наличия двух алгоритмов: один для сжатия данных отправителем, другой — для восстановления получателем. Эти алгоритмы принципиально асимметричны. Во-первых, для многих приложений мультимедийный документ, например фильм, может быть сжат один раз (при записи на сервер или DVD-диск), а декодироваться тысячи раз на стороне клиентов. По этой причине процедура сжатия может быть достаточно сложной, дорогой и долгой. Алгоритм же декодирования должен быть достаточно простым и дешевым. Впрочем, в случае видеоконференций медленное кодирование (сжатие) совершенно неприемлемо. По этой причине алгоритмы сжатия данных в реальном масштабе времени принципиально отличаются от алгоритмов кодирования данных при записи на видео или DVD.

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

Энтропийное кодирование подразумевает сжатие данных без потери. К этому типу относятся, например, алгоритмы Хаффмана и Зива-Лемпеля (статистическое сжатие). Рассмотрим простой случай такого кодирования. Пусть мы имеем кодовую последовательность

314159260000000000000271828182811111111110707193800000002001

Предположим также, что каким-то образом мы добились того, что символ R в последовательности встретиться не может, тогда указанную выше строку можно переписать в виде

31415926R0132718281828R11007071938R072001

Здесь повторения одного и того же символа отображаются символом R, за которым следует код повторяющегося символа и число этих повторений. Понятно, что в такой схеме двойные или тройные повторения какого-либо сокращения строки не вызовут. Еще одним примером энтропийного кодирования является метод CLUT (Color Look Up Table). При RGB -представлении изображения каждый пиксель характеризуется тремя байтами, что соответствует 224 оттенков. На практике такое многообразие встречается не так уж часто. Например, в случае мультипликационного фильма число цветов может не превышать 256. Можно получить коэффициент сжатия почти в три раза путем построения таблицы объемом в 768 байт, куда будут занесены коды используемых 256 цветов. Каждый пиксель в этом варианте характеризуется индексом его RGB -кода в таблице. Данный алгоритм может служить примером, когда кодирование более трудоемко, чем декодирование.

Кодирование на стороне отправителя обычно сопряжено с потерей определенной доли данных. Одним из довольно часто используемых способов кодирования является привлечение дифференциальных методик. Здесь предполагается, что значительных изменений уровня сигнала быть не может. Если это происходит, то данные теряются и неизбежны искажения. Другим примером кодирования этого рода является DCT, описанное выше. Еще одним кодированием отправителя можно считать векторное дискретное преобразование изображения. Такое преобразование подразумевает разбивку изображения на равные прямоугольные области. Формируется также кодовая книга, которая содержит набор прямоугольных блоков изображения, возможно, получаемых из некоторой картинки. Вместо пересылки прямоугольника изображения посылается значение индекса соответствующего элемента из кодовой книги. Если эта книга формируется динамически, то она также должна быть послана получателю. При этом подразумевается, что исходное изображение может быть разложено на элементы, содержащиеся в кодовой таблице. В принципе данный метод представляет собой двухмерную реализацию алгоритма CLUT. В реальной картинке могут встретиться фрагменты, не совпадающие с элементами из кодовой книги. В этом случае может быть выполнена подмена элементом, наиболее похожим на имеющийся фрагмент.

Проблема сжатия и передачи движущегося изображения еще сложнее. Алгоритм кодирования такого изображения описан в рекомендациях CCITT H.261. Он предполагает, что скорость передачи при этом лежит в интервале 40 Кбит/с — 2 Мбит/с. Следует иметь в виду, что видеотелефония и видеоконференции требуют синхронной передачи звука и изображения (стандарт H.221, например, 46,4 Кбит/с для видео и 16 Кбит/с для звука). Нормальный формат телевидения имеет 625 и 525 строк развертки и частоту 25-30 кадров в секунду.

Цветное телевидение использует сигналы R (red), G (green) и B (blue), причем яркость луча ( Y ) определяется соотношением: Y = 0.30R + 0.59G + 0.11B (при отображении белого цвета). В стандарте NTSC используется два коэффициента цветности: I = 0,60R – 0,28G – 0,32В и Q = 0,21R – 0,52G + 0,31B. Для PAL и SECAM используются другие коэффициенты цветности. Информация о цветах определяется формулами: СB = B - Y и CR = R - Y. Зная величины Y, CB и СR, можно восстановить значения R, G и B. При сжатии цветного изображения учитывается тот факт, что человеческий глаз извлекает большую часть информации из контуров предметов, а не из цветных деталей. Например, в рекомендации CCIR 601 предлагается использовать полосу 13.5 МГц для кодирования Y и только по 6,75 МГц для СB и CR. Y -матрица кадра содержит 4800 блоков, а матрицы I и Q — по 1200 блоков. Каждый блок включает в себя 64 элемента. Исходная RGB -матрица 24-битных кодов пикселей преобразуется в Y -матрицу 8-битных кодов яркости и две матрицы СB и CR. В результате достигается существенное сокращение объема с незаметным для глаза ухудшением качества изображения (см. рис. 5.4).

Представление данных изображения в JPEG


Рис. 5.4.  Представление данных изображения в JPEG

Такая схема требует 216 Мбит/с, что в 3375 раза превышает возможности стандартного 64Кбит/с B-канала ISDN. Приемлемыми решениями могут быть:

  1. снижение числа строк до 288 (при формате 625 строк) для отображения яркости;
  2. использование максимально возможного сжатия графических данных;
  3. повышение пропускной способности канала. Для разрешения по горизонтали вполне достаточно 3 МГц. Рекомендация 601 требует 720 пикселей для яркости и 360 для каждой из составляющих цветов. В настоящее время используется стандарт CIF (Common Intermediate Format). Для некоторых приложений рекомендовано вдвое более низкое разрешение по каждой из осей (Quarter CIF ). PCM-кодирование CIF с 8 битами на пиксель требует 352 х 288 х (1 + 1/4 + 1/4) х 29,97 х 8 = 36,5 Мбит/с (в отсутствие сжатия).

Отдельную проблему представляет печать изображения. Здесь полутона реализуются с помощью вариации размера элементов изображения. При цветной печати, помимо RGB -представления, используется CMYK-система (Cyan, Magenta, Yellow и Black) и соответствующие картриджи. Черный цвет в RGB соответствует коду 0,0,0, а в CMYK — 75%, 68%, 67% и 90%.

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

При пересылке движущегося изображения производится сравнение текущего кадра с предшествующим. Если кадры идентичны, никакого информационного обмена не происходит. Если кадры отличаются лишь смещением какого-то объекта, выявляются границы этого объекта, направление и величина вектора его перемещения. Так как использование индивидуальных векторов перемещения для каждого пикселя слишком расточительно, применяется общий вектор для блока пикселей 16*16 по яркости и для соответствующего блока 8*8 по цвету. Точность задания вектора перемещения обычно лежит в пределах 1/2 пикселя (стандарт MPEG -2). Только эта информация и передается по каналу связи. Выявление движущихся объектов осуществляется путем вычитания изображения двух последовательных кадров. Если бы передавалась всегда только разница кадров, происходило бы накопление ошибок. Кроме того, как кодер, так и декодер содержат прямой и обратный DCT -преобразователь. Если комбинация прямого и обратного DCT -преобразования не приводит к получению исходного объекта, то такого рода эффекты могут заметно усилиться. Для исключения этого время от времени производится передача непосредственно видеосигнала (кадра). Практически преобразователь изображения представляет чудо современной технологии, которое даст работу еще не одному поколению математиков и инженеров.

Нисколько не проще система передачи и мультиплексирования потока видеоданных, который содержит, помимо обычной информации, описания формы движущихся объектов, векторы перемещения, коэффициенты дискретизации и многое другое. Схема передачи графической информации имеет 4-уровневую, иерархическую структуру. Передача каждого кадра изображения начинается с 20-битного кода PSC (Picture Start Code, эта сигнатура позволяет выделить начало кадра изображения в общем потоке), далее следует 5-битовый код TR (Temporal Reference, временная метка, которая позволяет поместить соответствующую часть изображения в правильную точку экрана). Изображение пересылается частями, имеется 4 уровня: кадр, группа блоков GoB (Group of Blocks), макроблоки ( MB ) и просто блоки.

Ядро всей структуры составляет процедура передачи кадра (внутренний слой, существуют еще слои GoB, MB и блока, см. рис. 5.5, 5.6 и 5.7)

Схема передачи кадра изображения


Рис. 5.5.  Схема передачи кадра изображения

Поле PTYPE содержит 6 бит, которые характеризуют формат изображения (используется ли формат CIF или QCIF ). Однобитное поле PEI указывает на то, следует ли далее 8-битное поле PSPARE (предназначено на будущее). Если PEI = 0, начинается цикл передачи GoB. Группа блоков составляет одну двенадцатую картинки CIF или одну треть QCIF. GoB описывает Y (яркость), 176 пикселей для каждой из 48 строк и соответствующие 88*24 элементов для CB и CR.

GBSC — (Group of Blocks Start Code) представляет собой 16-разрядное слово, за которым следует 4 бита номера GoB (GN — GoB Number). GN указывает, какой части изображения соответствует данный GoB. Поле GQUANT имеет 5 бит и указывает на номер преобразователя (одного из 31 дискретизаторов), который используется данным GoB. Смысл GEI идентичен PEI. GEI и GSPARE позволяют сформировать структуру данных, идентичную той, что используется на уровне кадра.

Формат пересылки MB сложнее. GoB делится на 33 макроблока (MB), каждый из которых соответствует 16 строкам по 16 пикселей Y (четыре блока 8*8) и CB и CR. Каждый макроблок начинается с его адреса MBA (Macroblock Address), имеющего переменную длину и определяющего положение макроблока в GoB.

Блок-схема кодирования и передачи изображения


Рис. 5.6.  Блок-схема кодирования и передачи изображения

Макроблоки не передаются, если данная часть изображения не изменилась. За MBA следует код переменной длины MTYPE, характеризующий формат макроблока (применен ли метод подвижного вектора MVD и т.д.) и последующую информацию. CBP (Coded Block Pattern) представляет собой кодовое слово переменной длины, которое несет в себе информацию о том, какой из шести блоков преобразования (8*8) содержит коэффициенты (слой блоков). CBP нужно не для всех типов макроблоков. Каждый блок завершается флагом EoB (End of Block).

Размещение блоков в макроблоках


Рис. 5.7.  Размещение блоков в макроблоках

Сама природа алгоритма кодирования и передачи графических данных такова, что число бит, передаваемых в единицу времени, зависит от характера изображения. Чем динамичнее изменяется картинка, тем больше поток данных. Для выравнивания потока данных широко используется буферизация. Буферизация в свою очередь порождает дополнительные задержки, которые в случае видеоконференций или видео-телефонии не должны превышать нескольких сотен миллисекунд.

Так как передача изображения широко использует коды переменной длины, она крайне уязвима для любых искажений. В случае ошибки будет испорчена вся информация вплоть до следующего стартового кода GoB. Из-за рекурсивности алгоритма формирования картинки искажения будут оставаться на экране довольно долго. Использование векторов перемещения может привести к дрейфу искажений по экрану и расширению их области. Для того чтобы уменьшить последствия искажений, в передаваемый информационный поток включаются коды коррекции ошибок BCH (511,493; Forward Error Correction Code), которые позволяют исправить любые две ошибки или кластер, содержащий до 6 ошибок в блоке из 511 бит (см. рис. 8). Алгоритм работает в широком диапазоне скоростей передачи информации. Для реализации коррекции ошибок в поток двоичных данных включается 8 пакетов, каждый из которых включает в себя 1 кадровый бит, 1 бит индикатор заполнения, 492 бита кодированных данных и 18 бит четности. Поле Fi (индикатор заполнения) может равняться нулю, тогда последующие 492 бита не являются графической информацией и могут игнорироваться. Алгоритм предназначен для работы в динамическом диапазоне частот 40:1.

Схема передачи данных с коррекцией ошибок


Рис. 5.8.  Схема передачи данных с коррекцией ошибок

Во время переговоров или в ходе видеоконференции может возникнуть необходимость отобразить текст, выделить на экране какой-то объект, послать факс и т.д. Для решения таких задач можно использовать D-канал (ISDN), но это не оптимально, так как он имеет свои специфические функции. Поэтому более привлекательным представляется создание специального протокола, работающего в рамках B-канала (H.221). Для этих целей задействуется младший бит каждого из октетов, что позволяет создать сервисный канал с пропускной способностью 8 Кбит/с, использующий по 80 бит. Первые 8 бит служат для целей синхронизации ( FAS – Frame Alignment Signal) и выполняют следующие функции:

При работе с каналами на 384, 1536 и 1920 Кбит/с сервисный канал использует тайм-слот 1. Следующие 8 бит имеют название BAS (Bit Allocation Signal) и выполняют следующие функции:

Очевидно, что BAS-коды (H.242, см. http://book.itep.ru/2/29/std_291.htm) должны быть надежно защищены от ошибок. Для этой цели они пересылаются с использованием кодов, допускающих коррекцию ошибок. При работе оба приемника непрерывно ищут разделительный код кадров. Когда он обнаружен, бит А для выходного канала делается равным нулю. Только после получения А = 0 терминал может быть уверен в том, что удаленный терминал правильно воспринял код BAS. Работа с кодами BAS описана в документе H.242. При установлении режима обмена терминалы обмениваются командами BAS. Команда действительна для последующих двух кадров, следовательно, при частоте кадров 100 Гц, изменения режима могут производиться каждые 20 мс.

Многоточечный вызов может рассматриваться как несколько связей между терминалами и бриджем MCU (Multipoint Control Unit) по схеме "точка-точка". Простой MTU передает на каждый из терминалов смешанный аудиосигнал от остальных терминалов. Каждый терминал осуществляет широковещательную передачу для остальных терминалов, участвующих в обмене. При видеообмене на терминал выводится только одна картинка. Дополнительную информацию по данной тематике можно найти в рекомендациях H.231, H242 и H.243.

Для передачи нормального телевизионного изображения необходимо 364 Кбит/с (4х64 Кбит/c). Интеграция телевидения с сетями передачи данных, появление видеотелефона и широкое внедрение видеоконференций становится велением времени. Требования к каждому из этих видов услуг значительно варьируются в зависимости от приложения. Например, ставшие обычными телевизионные мосты требуют высокого качества передачи изображения и звука. А в некоторых дорогостоящих отраслях науки, где международное сотрудничество стало неизбежным, важным является передача статических изображений (чертежи, схемы, описания алгоритмов, и т.д.) с высоким (иногда более высоким, чем в телевидении) разрешением. Здесь важно передать звук с приемлемым качеством (но заметно хуже, чем на ТВ) и обеспечить синхронное перемещение маркера мыши по экрану в ходе обсуждения переданного документа. Экономия только на авиабилетах (не говоря о командировочных и времени экспертов) способна перекрыть издержки по оплате канала для видеоконференции. В этом режиме приемлемым может считаться один кадр в 1-4 секунды.

Рисунок известного французского художника Клода Серрэ из книги "Черный юмор и люди в белом" (см. начало раздела http://book.itep.ru/2/25/pic_25.htm) может служить иллюстрацией того, к чему может привести использование протокола TCP при передаче изображения в реальном масштабе времени. Предположим, что в процессе передачи изображения носа пакеты были повреждены, тогда спустя некоторое время, определяемое размером окна (TCP), будет проведена повторная их передача. Тем временем переданные ранее пакеты будут использованы для построения изображения, а часть картинки, содержавшаяся в пакетах, посланных вместо поврежденных, будет отображена совсем не там, где это следует. Реально из-за повреждения пакетов возможны и более тяжелые искажения изображения. Именно это является причиной использования UDP для передачи видео- и аудиоинформации при видео- и аудиоконференциях (еще лучшего результата можно достичь, используя протокол RTP). Протокол UDP не требует подтверждения и повторной передачи при ошибке доставки. Поврежденные пакеты вызовут искажения изображения (или звука) лишь локально.

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

5.1. Стандарты MPEG-1 и -2

Стандарт MPEG 1 (ISO 11172; см. http://www.chiariglione.org/mpeg/standards/mpeg-1/mpeg-1.htm) определяет методы сжатия данных, позволяющие довести скорости передачи видео- и аудиоинформации до 1,5 Мбит/с, что соответствует скоростям обмена обычных CD-ROM.

Стандарт MPEG -2 содержит в себе 9 частей. Первые три стали международными стандартами MPEG -2 (см. http://www.chiariglione.org/mpeg/standards/mpeg-2/mpeg-2.htm; ISO/IEC JTC1/SC29/WG11).

Часть 1 MPEG -2 относится к объединению одного или более элементарных аудио- или видеопотоков, а также прочих данных в один или несколько потоков, удобных для записи или передачи.

Программный поток подобен создаваемому системами мультиплексирования MPEG -1. Он формируется в результате объединения одного или более элементарных потоков пакетов PES (Packetized Elementary Streams), которые имеют общую временную шкалу. Программный поток формируется для использования в относительно надежной среде и удобен для приложений, которые могут включать в себя программную обработку данных. Пакеты программного потока могут иметь переменную и относительно большую длину. Модель систем MPEG -2 показана на рис. 5.9.

Модель систем MPEG-2Б


Рис. 5.9.  Модель систем MPEG-2Б

Транспортный поток объединяет один или более потоков PES с общей или разными временными шкалами. Элементарные потоки с общей временной шкалой образуют программу. Транспортный поток формируется для использования в относительно ненадежной среде, где вероятны ошибки, — например память или транспортная среда с высоким уровнем наводок или шума. Пакеты транспортного потока имеют длину 188 байт

Часть 2 MPEG -2 предоставляет мощные возможности сжатия видеоданных стандарта MPEG -1 и обладает широким диапазоном средств кодирования. Эти средства группируются в профайлы, обеспечивая разнообразную функциональность. В таблице 5.1 крестом отмечены возможности, которые реализуются стандартом.

Таблица 5.1. Видеопрофайлы MPEG -2
УровеньПростойОсновнойSNR масштаб.Пространственно масштабируемыйВысокийMultiview4:2:2
ВысокийXX
Высокий-1440XXX
ОсновнойXXXXXX
НизкийXX

С момента окончательного одобрения MPEG -2 Видео в ноябре 1994 года, был разработан еще один профайл. Он использует существующие средства кодирования MPEG -2 Видео, но способен работать с изображениями, имеющими разрешение 4:2:2 и более высокую скорость передачи. Несмотря на то, что MPEG -2 Видео не разрабатывался для студийных целей, серия выполненных тестов показала, что MPEG -2 достаточно хорош, а во многих случаях даже лучше, чем предлагается спецификациями, разработанными для более высоких скоростей передачи или студийных приложений.

Профайл 4:2:2 был окончательно одобрен в январе 1996 года и сейчас стал неотъемлемой частью стандарта MPEG -2 Видео.

Профайл Multiview (MVP) является еще одной из последних разработок. Он позволяет, используя существующие средства кодирования MPEG -2, эффективно закодировать последовательность кадров, которые получены от двух камер, снимающих одну и ту же сцену (например, для получения стереообраза).

Часть 3 MPEG -2 представляет собой обратно совместимое многоканальное расширение стандарта MPEG -1 Аудио. На рис. 5.10 показана структура блока данных MPEG -2 Аудио, демонстрирующая это свойство.

Структура блока аудиоданных в MPEG-2


Рис. 5.10.  Структура блока аудиоданных в MPEG-2

Части 4 и 5 MPEG -2 соответствуют частям 4 и 5 MPEG -1.

Часть 6 MPEG -2 — Команды и управление цифровой медийной записью DSM-CC (Digital Storage Media Command and Control) представляет собой спецификацию набора протоколов, которые реализуют средства для управления потоками данных в MPEG -1 и MPEG -2. Эти протоколы могут использоваться для поддержки приложений для автономных и распределенных систем. В модели DSM-CC поток исходит от сервера и поступает клиенту. Сервер и клиент рассматриваются в качестве пользователей сети DSM-CC. DSM-CC определяет логические объекты, называемые сессией и менеджером ресурсов SRM (Session and Resource Manager), которые осуществляют логическое централизованное управление сессиями и ресурсами (см. рис. 5.11).

Эталонная модель DSM-CC


Рис. 5.11.  Эталонная модель DSM-CC

Часть 7 MPEG -2 является спецификацией алгоритма кодирования многоканального аудио, полностью совместимого с MPEG -1.

Часть 8 MPEG -2 первоначально планировалась для кодирования видео, когда входные кодировщики выдают по 10 бит на одно стробирование. Работа была приостановлена, когда выяснилось, что промышленность проявляет ограниченный интерес к этой проблеме.

Часть 9 MPEG -2 является спецификацией интерфейса реального времени RTI (Real-Time Interface) для декодеров транспортного потока, которые могут использоваться с любыми сетями.

Часть 10 является секцией стандарта, предназначенной для тестирования DSM-CC.

Работа над форматом MPEG -2 была завершена в 1997 году. Стандарт MPEG -2 является усовершенствованием MPEG -1 и базируется на схеме шифрования с потерями и передачи без потерь. Кодирование в MPEG -2 идентично используемому в MPEG -1 (I- P- и B-кадры; D-кадры не используются). I-кадр (Intracoded) представляет собой изображение, закодированное согласно стандарту JPEG при полном разрешении по яркости и половинном разрешении по цвету. Такие кадры должны появляться периодически, чтобы исключить накопления ошибок (включаются в выходной поток 1-2 раза в секунду). Эти кадры обеспечивают совместимость с MPEG -1. P-кадры (Predictive) содержат отличие блоков в последнем кадре изображения по отношению к предыдущему кадру. P-кадры базируются на идее макроблоков, которые содержат 16*16 пикселей яркости и 8*8 пикселей цветности. Для декодирования P-кадра необходимо иметь исчерпывающие данные о предыдущем кадре. B-кадры (Bidirectional) характеризуют отличие двух последовательных изображений. B-кадры сходны с P-кадрами, но позволяют устанавливать связь макроблоков не только с предшествующим, но и с последующим кадром. Здесь применено двойное косинусное преобразование с числом коэффициентов 10*10 (против 8*8 в MPEG -1). D-кадры (DC-Coded) используются для получения изображения низкого разрешения при быстрой перемотке вперед или назад. MPEG -2 предназначен для широковещательного телевидения (включая прямое спутниковое — DBS ) и для записи на CD-ROM и поддерживает четыре разных стандарта разрешения: 352*240 (низкое), 720*480 (базовое), 1440*1152 (высокое-1440) и 1920*1080 (высокое). Последние два стандарта относятся к телевидению высокого разрешения ( HDTV ). Низкое разрешение служит для обеспечения совместимости с MPEG -1. Стандарт MPEG -1 может работать в режиме, когда для сжатия данных используется алгоритм JPEG. Эта схема удобна в случае произвольного доступа к любому из кадров, например для их редактирования. С точки зрения эффективности сжатия это совсем не лучшее решение, так как не используется тот факт, что последовательные кадры отличаются друг от друга незначительно. Даже простой метод дифференциального сжатия (передача отличия нового кадра от предыдущего) окажется эффективнее. Здесь предполагается, что фон кадра и положение видеокамеры являются стационарными. Базовое разрешение ориентировано на работу со стандартом NTSC.

Из этих данных можно получить оценку сверху для пропускной способности визуального канала человека. Из-за инерциальности человек не различает более 25 кадров в секунду. Один кадр содержит 1920*1080*24 = 49766400 бит (здесь предполагается, что человек может различать 224 оттенков цветов (в реальности возможности много ниже). Угол нашего зрения много шире телесного угла, перекрываемого телевизионным экраном, но относительно высокое разрешение мы имеем лишь вблизи той точки, на которую мы сфокусировались. Таким образом, мы можем воспринимать порядка 1244 Мбит/с. Практически эта оценка на несколько порядков выше реального значения. Понятно, что мозг может обработать на много порядков меньший объем информации. Оценку возможностей нашей обработки можно получить из скорости быстрого чтения, когда человек воспринимает содержимое страницы за время порядка 15 секунд. Страница содержит примерно 3 Кбайта, что дает скорость приблизительно 200 байт в секунду. Эту цифру можно считать оценкой снизу (ведь буква — это графический образ, а не байт).

Помимо этого MPEG -2 поддерживает 5 профайлов для различных прикладных областей. Основной профайл ориентирован на общие приложения с базовым разрешением. Простой профайл сходен с основным профайлом, но не работает с B-кадрами, чтобы облегчить процедуры кодирования/декодирования. Остальные профайлы служат для обеспечения масштабируемости и работы с HDTV, они отличаются цветовым разрешением и форматами информационных потоков. Скорость передачи данных для каждой комбинации разрешения и профайла различна и лежит в диапазоне от 3 до 100 Мбит/c. Для обычного ТВ характерна скорость 3-4 Мбит/c. В таблице 5.2 представлены размеры кадров в битах для MPEG -1 и MPEG -2.

Таблица 5.2. Видеопрофайлы MPEG -2
Тип кадра
IPBСредний
MPEG -1 (1,15 Мбит/с)150,00050,00020,00038,000
MPEG -2 (4 Мбит/c)400,000200,00080,000130,000

Мультиплексирование аудио- и видеоданных в MPEG -2 показано на рис. 5.12. На выходе пакетизатора мы имеем элементарные потоки пакетов ( PES — Packetized Elementary Stream), содержащих около 30 полей, включая длину, идентификаторы потоков, временные метки, контрольные суммы и т.д. В MPEG -2 формируется два комплексных потока, программный поток (PS) длинных пакетов переменной длины, сходный с MPEG -1, содержащий видео- и аудиоданные и имеющий общую временную шкалу, и транспортный поток (TS) пакетов постоянной длины (188 байт) без общей временной шкалы. В последнем случае минимизируется влияние потерь пакетов в процессе транспортировки. Предусмотрено выделение в потоке составляющих разной степени важности (например, DCT -коэффициентов и обычных графических данных).

Мультиплексирование аудио- и видеоданных в MPEG-1 и MPEG-2 (внизу)


Рис. 5.12.  Мультиплексирование аудио- и видеоданных в MPEG-1 и MPEG-2 (внизу)

Преобразование аналогового сигнала в цифровую последовательность осуществляется в MPEG -2 с помощью кодеков, создавая первичный поток в 140 Мбит/с, который затем преобразуется для передачи через стандартные каналы 1,5 и 15 Мбит/с (например, для прямого широковещательного спутникового телевидения). В настоящее время в Европе принят стандарт D1 (PAL) (576x720) – 1,1 Мбит/c. В соответствии со стандартом сжатия данных H.320 можно обеспечить передачу видео + аудио по каналу 56 Кбит/с с низким разрешением и частотой 1 кадр./с.

5.2. Интерактивное телевидение

В последнее время благодаря широкому внедрению цифрового телевидения и новых стандартов передачи изображения ( MPEG -2) открылись возможности для "телевидения по требованию" (интерактивного телевидения — TV on demand) — системы, где клиент может самостоятельно и индивидуально формировать ТВ-программу. Первые опыты такого рода в США относятся к 1995 году. Эти системы базируются на существующих сетях кабельного телевидения. Но развитие оптоволоконных технологий позволяют ожидать полной интеграции кабельного цифрового телевидения и информационных сетей Интернет. Общая схема такой системы показана на рис. 5.13.

Схема реализации интерактивного телевидения


Рис. 5.13.  Схема реализации интерактивного телевидения

Базовый мультимедийный сервер может обслуживать отдельный район города. В пределах квартала размещается промежуточный центр, где расположен локальный буферный сервер, который записывает фрагменты программ, заказанные локальными клиентами. Только новостийные и некоторые спортивные программы передаются в реальном масштабе времени, все фильмы берутся из локальной фильмотеки или предварительно записываются в накопитель из центрального мультимедиа-архива. Транспортной средой здесь может стать ATM, SDH, Fibre Channel или IEEE-802.17. Оптическое волокно доходит до квартального сервера или даже до дома клиента. В этом случае по имеющимся каналам может передаваться не только программа телевидения и осуществляться телефонные переговоры, но и выполняться полное информационное обслуживание. Сюда может включаться, помимо заказа ТВ-программ, подписка на газеты, заказ билетов на транспорт или в театр, получение прогноза погоды и данных о состоянии дорог, доступ к базам данных, включая библиотеки и фонотеки, оповещение о пожаре или вторжении и многое другое.

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

Цены на цветные принтеры в настоящее время опустились до 100 долларов и ниже, таким образом, нужная копия уже сейчас дешевле стоимости газеты. Экономия на бумаге и средствах доставки очевидны, да и необходимость в типографиях отпадет, ведь даже книги можно будет получить непосредственно дома, хотя привлекательность данной услуги и не вполне однозначна — хорошо сброшюрованная и переплетенная книга будет привлекательным объектом еще долго. Массовое внедрение таких технологий будет стимулировать падение цен на соответствующие процессоры и принтеры. Интерактивная схема подключения телевизора-терминала сделает возможным многие новые виды развлечений, а также совершение многих покупок, не выходя из дома. Традиционной почте подписала отсроченный приговор почта электронная, но появление интерактивных широкополосных средств завершит многовековую историю почты (да и телеграфа). Ей будет оставлена доставка товаров, билетов и документов. Побочным продуктом прогресса в данной области станет общедоступный видеотелефон. Схема видеосервера представлена на рис. 5.14.

Видеосервер может содержать несколько процессоров (ЦПУ) со встроенной локальной памятью. Такой сервер должен иметь несколько систем архивов и достаточно мощный сетевой канал. Один кинофильм требует для записи около 4 Гбайт. Используемые запоминающие устройства образуют иерархическую структуру: ЗУПВ (запоминающее устройство с произвольным доступом), дисковая память ( RAID — Redundant Array of Inexpensive Discs), CD и картриджи магнитных лент. ЗУПВ имеют минимальное время доступа, относительно малую емкость и достаточно высокую цену, а магнитные ленты, наоборот, относительно дешевы, характеризуются большим временем доступа, но достаточно большой емкостью. Сетевой интерфейс связывает сервер с центральной инфраструктурой телевизионной сети. Но нужно учитывать, что одна из главных составляющих видеосервера на рисунке не показана — это управляющее программное обеспечение, которое должно решать проблему буферизации и шифрования огромного объема данных для достаточно большого числа клиентов.

Блок-схема видеосервера для интерактивного телевидения


Рис. 5.14.  Блок-схема видеосервера для интерактивного телевидения

Главными средствами доставки данных в системе интерактивного телевидения являются: ADSL (Asymmetric Digital Subscriber Line), FTTC (Fiber To The Curb), FTTH (Fiber To The Home) и HFC (Hybrid Fiber Coax). Главная проблема — система связи с конечными клиентами. Здесь существует достаточно широкое многообразие технических средств. Разработчики решений данной проблемы исходили из предположения, что практически каждый дом в США, Европе и Японии уже имеет вводы скрученных пар телефонных проводов, допускающих получение информационных потоков > 1,55 Мбит/с. Схема ADSL -соединения показана на рис. 5.15. К интерфейсу помимо телевизора может быть подключена и ЭВМ. Схема эта принципиально асимметрична, исходящий поток клиента не может превышать 16 Кбит/c. При этом сохраняется традиционный аналоговый телефонный канал (4 КГц). Полосы скоростного входного канала клиента вполне достаточно для передачи цифрового ТВ-сигнала в стандарте MPEG -1. Максимальное расстояние для такого соединения составляет 2 км.

Система FTTC предполагает наличие оптического канала до квартала, где живет клиент. На конце волокна устанавливается блок ONU (Optical Network Unit), от которого к клиентам прокладывается до 16 скрученных пар. Малая длина медных соединений позволяет получить большую пропускную способность. Эта система благодаря симметрии канала допускает осуществление видеоконференций для работающих на дому.

Схема раздачи ТВ-данных с помощью ADSL


Рис. 5.15.  Схема раздачи ТВ-данных с помощью ADSL

Система FTTH обеспечивает оптический канал до дома клиента, по этой причине она имеет очень высокую стоимость, но зато способна обеспечить скорость передачи 51,84 или 155,52 Мбит/с.

Если системы ADSL, FTTC и FTTH осуществляют связь по схеме "точка-точка", то HFC ориентирована на топологию систем кабельного телевидения. Предполагается замена современных коаксиальных ТВ-кабелей (300-450 МГц) на кабели с полосой 750 МГц (125 6-мегагерцных каналов). 50 новых каналов будут модулированы с использованием QAM-256, что даст 40 Мбайт/с на канал. Один кабель обслуживает до 500 домов. Из-за общего кабеля система HFC должна использовать шифрование, чтобы исключить несанкционированный доступ (что совершенно излишне для систем ADSL, FTTC и FTTH). Это совсем не дешево для американских фирм, ведь им нужно заменить все кабели и оконечное оборудование, заменить однонаправленные усилители и т.д. В РФ, где ничего этого нет и нужно начинать с нуля, можно легко создать любую совершенно новую систему. Указанные методы подразумевают, что конкретному клиенту предоставляется один или более MPEG -потоков. Для декодирования и отображения таких потоков необходим специальный сетевой интерфейс. Все это подталкивает к решению, объединяющему возможности сети и традиционного телевизионного приемника. Вариант такого решения представлен на рис. 5.16.

Структура интерфейсного оборудования клиента


Рис. 5.16.  Структура интерфейсного оборудования клиента

Интерфейс клиента в этом случае содержит в себе ЭВМ (ЦПУ, ЗУПВ и ROM), к рабочей шине которой подключен сетевой интерфейс, MPEG -декодер и устройство сопряжения с телевизором и пультом дистанционного управления. Главной задачей этого оборудования — согласование с местной системой распределения видеоданных, синхронизация видео- и аудиосигналов. К ТВ-интерфейсу может быть подключен телефон или персональная ЭВМ. ЗУПВ объемом 500 Кбайт позволяет буферизовать поток MPEG -2 в течение 1 секунды. Функцией встроенной ЭВМ является дешифровка потока цифровых данных, что позволяет отключить от сети клиентов, не оплативших аренду канала. Эта ЭВМ может использоваться для организации компьютерных игр, как индивидуальных, так и групповых, а также для обработки запросов клиента и центральной станции обслуживания. Одним из возможных протоколов транспортировки мультимедиа-данных является MBone (Mulicast Backbone). Выработка стандарта интерактивного телевидения еще не завершена. Применение Mbone предполагает использование маршрутизаторов, которые поддерживают этот протокол и соответствующие протоколы маршрутизации (DVMRP и PIM).

В последнее время разрабатываются системы частного телевидения, где видео- и аудиопотоки формируются самими клиентами (сети peer-topeer).

Жилье клиента будет оборудовано оптоволоконным кабелем, завершающимся интерфейсной коробкой с разъемами для подключения телефона, телевизора и ЭВМ. Даже современные ограниченные скорости передачи позволяют решить стоящие проблемы. Во-первых, люди не смотрят телевизор круглые сутки, это позволяет ночью или в рабочее время, когда клиент на службе, произвести передачу нужных фрагментов ТВ-программы на локальный сервер. Во-вторых, популярность фильмов и программ не однородна, что также снижает требование на широкополосность. Известно, что наиболее популярный фильм запрашивается примерно в К раз чаще, чем фильм, занимающий к -е место в списке популярности (эмпирический закон Ципфа (Zipf), выведенный из статистики контор по прокату видеокассет). Это означает, что из предлагаемого списка будут выбраны не все фильмы, а наиболее популярные фрагменты программ можно передавать по схеме MBONE, минимизируя загрузку каналов. Способствовать решению данной проблемы будет и появление CD с емкостью 4 Гбайта. Но проблем здесь остается немало — так, трудно себе представить, что все клиенты захотят смотреть один и тот же фильм в одно время. Решение подобной задачи потребует очень большого объема буферной памяти и ощутимо поднимет требования к широкополосности канала. "Синхронизовать" клиентов можно будет дифференциацией оплаты для разных временных интервалов и группированием клиентов, заказавших близкие времена начала демонстрации фильмов (можно решить проблему путем копирования фильмов на диск оконечного клиента). Но, несмотря на все эти ухищрения, локальные серверы должны будут иметь сложную иерархическую систему буферной памяти, базирующуюся на разных принципах работы (CD, магнитная лента, дисковая память и даже RAM).

Практическая реализация фантастической схемы, предложенной в предыдущем абзаце, уже осуществляется в США и Канаде. Предстоит написать огромное число различных сервисных программ, но все базовые технологии уже существуют.

MPEG-3 разрабатывался для систем телевидения высокой четкости с разрешением 1920x1080x30 при скорости потока данных 20-40 Мбит/с. Этот формат стал частью стандарта MPEG -2. Формат MP3 (не надо смешивать с MPEG-3 ) предназначен только для сжатия аудиоинформации. В формате МР3 предусмотрено три вида сжатия двухканальных аудиоданных join stereo, stereo, dual channel (последний обеспечивает наилучшее качество).

Принципиально новым шагом в обработке мультимедиа стал стандарт MPEG -4, где впервые был введен объектный подход к анализу изображений и звука. Здесь же введено понятие сцены и базовые принципы ее описания, заложены основы интерактивного взаимодействия слушателя/зрителя со сценой, впервые рассматриваются в практической плоскости вопросы интеллектуальной собственности.

Лекция 6. Стандарт mpeg-4, -7, -21

Объектные подходы и описание сцены. Формирование аудио-визуальных сцен MPEG-4. Описание и синхронизация потоков данных для медийных объектов. Профайлы. Демультиплексирование, синхронизация и описание потоков данных, язык описания определений MPEG-7 (DDL). Альфа-маски.

MPEG-4 является стандартом ISO/IEC, разработанным комитетом MPEG (Moving Picture Experts Group; см. http://www.chiariglione.org/mpeg/standards/mpeg-4/mpeg-4.htm, а также http://book.itep.ru/2/25/mpeg-4R.htm), который разработал такие известные стандарты как MPEG-1 и MPEG-2. Эти стандарты сделали возможным интерактивное видео на CD-ROM и цифровое телевидение. MPEG-4 является результатом работы сотен исследователей и разработчиков всего мира. Разработка MPEG-4 (в ISO/IEC нотации имеет название ISO/IEC 14496) завершена в октябре 1998 г. Международным стандартом он стал в начале 1999 г. Полностью совместимый расширенный вариант MPEG-4 версии 2 был разработан к концу 1999 г. и стал международным стандартом в начале 2000 г. Работы над этим документом продолжаются. MPEG-4 предназначен для решения трех проблем:

6.1. Стандарт MPEG-4

Стандарт MPEG-4 предоставляет технологии для нужд разработчиков, сервис-провайдеров и конечных пользователей.

Стандарт MPEG-4:

  1. представляет блоки звуковой, визуальной и аудио-визуальной информации, называемые "медийными объектами". Эти медийные объекты могут быть естественного или искусственного происхождения; то есть они могут быть записаны с помощью камеры или микрофона, а могут быть и сформированы посредством ЭВМ;
  2. описывает композицию этих объектов при создании составных медийных объектов, которые образуют аудио-визуальные сцены;
  3. определяет мультиплексирование и синхронизацию данных, ассоциированных с медийными объектами, так, чтобы они могли быть переданы через сетевые каналы, обеспечивая QoS, приемлемое для природы специфических медийных объектов;
  4. определяет взаимодействие с аудио-визуальной сценой, сформированной на принимающей стороне.

Кодированное представление медийных объектов

Аудио-визуальные сцены MPEG-4 формируются из нескольких медийных объектов, организованных иерархически. На периферии иерархии находятся примитивные медийные объекты, такие как:

MPEG-4 стандартизует число таких примитивных медиа-объектов, способных представлять как естественные, так и синтетические типы содержимого, которые могут быть 2- или 3-мерными. Кроме медиа-объектов, упомянутых выше и показанных на рис. 3.1, MPEG-4 определяет кодовое представление объектов, такое как:

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

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

Состав медийных объектов

На рис. 6.1 объясняется способ описания аудио-визуальных сцен в MPEG-4, состоящих из отдельных объектов. Рисунок содержит составные медиа-объекты, которые объединяют примитивные медиа-объекты. Примитивные медиа-объекты соответствуют периферии описательного дерева, в то время как составные медиа-объекты представляют собой субдеревья. В качестве примера: визуальные объекты, соответствующие говорящему человеку, и его голос объединены друг с другом, образуя новый составной медиа-объект.

Пример сцены MPEG-4


Рис. 6.1.  Пример сцены MPEG-4

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

MPEG-4 предлагает стандартизованный путь описания сцен, позволяющий:

Описание сцены строится во многих отношениях так же, как и в языке моделирования виртуальной реальности VRML (Virtual Reality Modeling Language).

Описание и синхронизация потоков данных для медийных объектов

Медиа-объектам может быть нужен поток данных, который преобразуется в один или несколько элементарных потоков. Дескриптор объекта идентифицирует все потоки, ассоциированные с медиа-объектом. Это позволяет иерархически обрабатывать кодированные данные, а также ассоциированную медиа-информацию о содержимом (называемом "информация содержимого объекта").

Каждый поток характеризуется набором дескрипторов для конфигурирования информации, например, чтобы определить необходимые ресурсы записывающего устройства и точность кодированной временной информации. Более того, дескрипторы могут содержать подсказки относительно QoS, которое необходимо для передачи (например, максимальное число бит/с, BER, приоритет и т.д.)

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

Доставка потоков данных

Синхронизованная доставка потока данных отправителя получателю, которая использует различные QoS, доступные в сети, специфицирована в терминах слоя синхронизации и доставки, содержащих двухслойный мультиплексор (см. рис. 6.2).

Первый слой мультиплексирования управляется согласно спецификации DMIF (Delivery Multimedia Integration Framework). Это мультиплексирование может быть реализовано определенным в MPEG мультиплексором FlexMux, который позволяет группировать элементарные потоки ES (Elementary Streams) с низкой избыточностью. Мультиплексирование на этом уровне может использоваться, например, для группирования ES с подобными требованиями по QoS, чтобы уменьшить число сетевых соединений или значения задержек.

Модель системного слоя MPEG-4


Рис. 6.2.  Модель системного слоя MPEG-4

Слой TransMux (Transport Multiplexing) на рис. 6.2 моделирует уровень, который предлагает транспортные услуги, удовлетворяющие требованиям QoS. MPEG-4 специфицирует только интерфейс этого слоя, в то время как остальные требования к пакетам данных будут определяться транспортным протоколом. Любой существующий стек транспортных протоколов, например (RTP)/UDP/IP, (AAL5)/ATM или MPEG-2 Transport Stream, поверх подходящего канального уровня может стать частным случаем TransMux. Выбор оставлен за конечным пользователем или сервис-провайдером и позволяет использовать MPEG-4 с широким спектром операционного окружения.

Использование мультиплексора FlexMux является опционным, и, как показано на рис. 6.2, этот слой может быть пустым, если нижележащий TransMux предоставляет все необходимые функции. Слой синхронизации, однако, присутствует всегда. С учетом этого возможно:

Взаимодействие с медийными объектами

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

Менеджмент и идентификация интеллектуальной собственности

Важно иметь возможность идентифицировать интеллектуальную собственность в MPEG-4 медиа-объектах. Полный перечень требований для идентификации интеллектуальной собственности можно найти на базовой странице MPEG в разделе "Management and Protection of Intellectual Property".

MPEG-4 включает в себя идентификацию интеллектуальной собственности путем запоминания уникальных идентификаторов, которые выданы международными системами нумерации (например ISAN (International Audio-Visual Number), ISRC (International Standard Recording Code) и т.д.). Эти числа могут использоваться для идентификации текущего владельца прав медиа-объекта. Так как не все содержимое идентифицируется этим числом, MPEG-4 версии 1 предлагает возможность идентификации интеллектуальной собственности с помощью пары ключевых значений (например: композитор/John Smith). Кроме того, MPEG-4 предлагает стандартизованный интерфейс, который тесно интегрирован с системным слоем для людей, которые хотят использовать системы, контролирующие доступ к интеллектуальной собственности. С этим интерфейсом системы контроля прав собственности могут легко интегрироваться со стандартизованной частью декодера.

С учетом актуальности проблемы в настоящее время разрабатывается стандарт MPEG-21, который регламентирует отношения пользователей между собой и с цифровыми объектами.

Основные функции в MPEG-4 версии 1

DMIF

DMIF поддерживает следующие функции:

Системы

Как объяснено выше, MPEG-4 определяет набор алгоритмов улучшенного сжатия для аудио- и видеоданных. Потоки данных (Elementary Streams, ES), которые являются результатом процесса кодирования, могут быть переданы или запомнены независимо. Они должны быть объединены так, чтобы на принимающей стороне возникла реальная мультимедийная презентация.

Системные части MPEG-4 обращаются к описаниям взаимодействий между аудио- и видеокомпонентами, которые образуют сцену. Эти взаимодействия описаны на двух уровнях.

Некоторые другие средства и возможности системы MPEG-4.

Аудиосистема

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

* Речь. Кодирование речи может производиться при скоростях обмена от 2 Кбит/с до 24 Кбит/с. Низкие скорости передачи, такие как 1,2 Кбит/с, также возможны, когда разрешена переменная скорость кодирования. Для коммуникационных приложений допустимы малые задержки. Когда используются средства HVXC, скорость и высота тона могут модифицироваться пользователем при воспроизведении. Если используются средства CELP, изменение скорости воспроизведения может быть реализовано с помощью дополнительного средства;

* Синтезированная речь. TTS-кодировщики с масштабируемой скоростью в диапазоне от 200 бит/с до 1,2 Кбит/с, которые позволяют использовать текст или текст с интонационными параметрами (вариация тона, длительность фонемы, и т.д.), в качестве входных данных для генерации синтетической речи. Это включает следующие функции:

* Общие аудиосигналы. Поддержка общей кодировки аудиопотоков от низких скоростей до высококачественных. Рабочий диапазон начинается от 6 Кбит/с при полосе ниже 4 КГц и распространяется до широковещательного качества передачи звукового сигнала для моно и многоканальных приложений.

* Синтезированный звук. Поддержка синтезированного звука осуществляется декодером структурированного звука (Structured Audio Decoder), который позволяет использовать управление музыкальными инструментами с привлечением специального языка описания.

* Синтетический звук с ограниченной сложностью. Реализуется структурируемым аудиодекодером, который позволяет работать со стандартными волновыми форматами.

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

* Возможность работы в случае изменения скорости передачи допускает изменение временного масштаба без изменения шага при выполнении процесса декодирования. Это может быть, например, использовано для реализации функции "быстро вперед" (поиск в базе данных) или для адаптации длины аудиопоследовательности до заданного значения, и т.д.

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

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

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

* Масштабируемость сложности кодировщика позволяет кодировщикам различной сложности генерировать корректные и осмысленные потоки данных.

* Масштабируемость сложности декодера позволяет заданную скорость потока данных дешифровать посредством декодеров с различным уровнем сложности. Качество звука, вообще говоря, связано со сложностью используемого кодировщика и декодера.

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

Видеосистема

Стандарт MPEG-4 Видео допускает гибридное кодирование естественных (пиксельных) изображений и видео вместе с синтезированными сценами (генерированными на ЭВМ). Например, возможно создать виртуальное присутствие участников видеоконференций. Видеостандарт содержит в себе средства и алгоритмы, поддерживающие кодирование естественных (пиксельных) статических изображений и видеопоследовательностей, а также средства поддержки сжатия искусственных 2D- и 3D- графических геометрических параметров. Следующие форматы, кодировки и скорости передачи будут поддерживаться MPEG-4 версии 1:

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

Часть стандарта, связанная с "анимацией лица", позволяет посылать параметры, которые помогают специфицировать и анимировать синтезированные лица. Эти модели не являются сами частью стандарта MPEG-4, стандартизированы только параметры.

Версия 2 MPEG-4 была зафиксирована в декабре 1999 года. Существующие средства и профайлы из версии 1 в версии 2 не заменены; новые возможности будут добавлены в MPEG-4 в форме новых профайлов. Системный слой версии 2 обладает обратной совместимостью с версией 1.

Системы

Версия 2 систем MPEG-4 расширяет версию 1, с тем чтобы перекрыть такие области, как BIFS-функциональность и поддержка Java ( MPEG-J ). Версия 2 также специфицирует формат файлов для записи содержимого MPEG-4.

Видеосистемы. Натуральное видео

Видео MPEG-4 версии 2 добавляет новые возможности в следующих областях:

Версия 2 MPEG-4 предоставляет набор средств для кодирования многогранных 3D-сеток. Многогранные сетки широко используются для представления 3D-объектов.

Звук

В MPEG-4 Аудио версии 2 добавлены новые средства и функции, при этом все прежние возможности и функции сохранены. Версия 2 MPEG-4 Аудио предоставляет следующие возможности.

Основные средства, вводимые DMIF версии 2, предоставляют поддержку (ограниченную) мобильных сетей и мониторирования QoS.

Поддержка мобильных сетей

Спецификация H.245 была расширена (H.245v6), чтобы добавить поддержку систем MPEG-4; спецификация DMIF предоставляет возможность работы с сигналами H.245. Мобильные терминалы могут теперь использоваться системами MPEG-4, такими, как BIFS- и OD-потоки.

Мониторирование QoS

DMIF V.2 вводит концепцию мониторирования качества обслуживания (QoS), реализуемого в сети. Интерфейс DMIF -приложения был соответственно расширен. Модель допускает до трех различных режимов мониторирования QoS: непрерывное мониторирование, контроль специфических очередей и наблюдение за нарушениями QoS.

Модель DMIF позволяет приложениям партнеров обмениваться любыми сообщениями пользователей (поток управляющих сообщений). В DMIF V2 добавлена поддержка сообщений-откликов.

Управление информацией уровня Sync MPEG-4

V.2 улучшает модель DMIF, чтобы позволить приложениям обмениваться прикладными данными со слоем DMIF. Такое добавление было введено, чтобы сделать возможным в пределах модели обмен блоками протокольных данных уровня Sync. Это комбинация чисто медийных данных (PDU) и логической информации уровня Sync. Модель подтверждает, что в пределах существующего транспортного стека существуют средства, которые перекрываются с Sync-слоем систем MPEG-4. Это случай RTP и MPEG-2 элементарных потоков пакетов PES (Packetized Elementary Steams), а также MP4-атомов в файловом формате. Во всех таких случаях очевидной реализацией DMIF является преобразование информации уровня Sync, извлеченной из этих структур, а также из SLPDU, в однородное логическое представление заголовка пакета уровня Sync. Как следствие, введены соответствующие параметры для DAI, с учетом обеспечения их семантической независимости от транспортного стека и приложения.

DMIF V.2 вводит информативное дополнение, которое предоставляет синтаксис C/C++ для прикладного интерфейса DMIF, как это рекомендуется API-синтаксисом.

Профайлы в MPEG-4

MPEG-4 предоставляет большой и богатый набор средств для кодирования аудио-визуальных объектов. Для того чтобы позволить эффективную реализацию стандарта, специфицированы субнаборы систем MPEG-4, средств видео и аудио, которые могут использоваться для специфических приложений. Эти субнаборы, называемые "профайлами", ограничивают набор средств, которые может применить декодер. Для каждого из этих профайлов устанавливается один или более уровней, ограничивающих вычислительную сложность. Подход сходен с MPEG-2, где большинство общеизвестных комбинаций "профайл/уровень" имеют вид "главный_профайл@главный_уровень". Комбинация "профайл@уровень" позволяет:

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

Видеопрофайлы

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

Профайлами для синтетических и синтетико-натуральных гибридных визуальных материалов являются:

Версия 2 добавляет следующие профайлы для натурального видео:

Профайлы версии 2 для искусственного и синтетического/натурального гибридного визуального материала:

В последующих версиях будут добавлены следующие профайлы:

Аудиопрофайлы

Определены четыре аудиопрофайла в MPEG-4 версии 1:

  1. Разговорный профайл предоставляет HVXC, который является параметрическим кодером голоса, рассчитанным на очень низкие скорости передачи, CELP узкополосным/широкополосным кодером голоса, или интерфейсом "текст-голос".
  2. Профайл синтеза обеспечивает синтез аудио, использующий SAOL, волновые таблицы и интерфейс "текст-голос" для генерации звука и речи при очень низких скоростях передачи.
  3. Масштабируемый профайл, супер-набор профайла речи, удобен для масштабируемого кодирования речи и музыки для таких сетей, как Интернет и NADIB (Narrow band Audio DIgital Broadcasting). Диапазон скоростей передачи лежит в пределах от 6 Кбит/с до 24 Кбит/с, при ширине полосы 3,5 и 9 КГц.
  4. Главный профайл является расширенным супер-набором всех других профайлов, содержащий средства для синтетического и естественного аудио.

Еще четыре профайла добавлено в MPEG-4 V.2:

  1. Профайл высококачественного аудио содержит кодировщик голоса CELP и простой кодировщик AAC, содержащий систему долгосрочного предсказания. Масштабируемое кодирование может быть выполнено с помощью AAC масштабируемого объектного типа. Опционно может использоваться синтаксис потока, устойчивый к ошибкам (ER).
  2. Профайл аудио с низкой задержкой (Low Delay Audio) содержит HVXC и CELP кодировщики голоса (опционно использующие синтаксис ER), AAC-кодеры с низкой задержкой и интерфейс "текст-голос" TTSI.
  3. Профайл натурального аудио содержит все средства кодирования натурального аудио, доступные в MPEG-4.
  4. Профайл межсетевого мобильного аудио (Mobile Audio Internetworking) содержит AAC-масштабируемые объектные типы с малой задержкой, включая TwinVQ и BSAC. Этот профайл предназначен для расширения возможностей телекоммуникационных приложений за счет алгоритмов не-MPEG-кодирования речи с возможностями высококачественного аудиокодирования.

Разработаны также профайлы графики и сцены.

Профайлы MPEG-J

Существуют два профайла MPEG-J (расширение формата MPEG-4, в котором используются Java-элементы): персональный и главный.

1. Персональный — небольшой пакет для персональных приборов.

Персональный профайл обращается к ряду приборов, включая мобильные и портативные аппараты. Примерами таких приборов могут быть видеотелефоны, PDA, персональные игровые устройства. Этот профайл включает в себя следующие пакеты MPEG-J API:

2. Главный — включает все MPEG-J API.

Главный профайл обращается к ряду приборов, включая средства развлечения. Примерами таких приборов могут служить набор динамиков, компьютерные системы мультимедиа и т.д. Он является супер-набором персонального профайла. Помимо пакетов персонального профайла, этот профайл содержит следующие пакеты MPEG-J API:

Профайл дескриптора объекта

Профайл описания объекта включает в себя следующие средства:

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

Детальное техническое описание MPEG-4 DMIF и систем

Рис. 6.3 показывает, как потоки, приходящие из сети (или запоминающего устройства), или потоки TransMux, демультиплексируются в потоки FlexMux и передаются соответствующим демультиплексорам FlexMux, которые извлекают элементарные потоки. Элементарные потоки (ES) анализируются и передаются соответствующим декодерам. Декодирование преобразует данные в AV (аудио-визуальный) объект и выполняет необходимые операции для реконструкции исходного AV-объекта, готового для рэндеринга на соответствующем аппарате. Аудио- и визуальные объекты представлены в их кодированной форме. Реконструированный AV-объект делается доступным для слоя композиции при рэндеринге сцены. Декодированные AVO, вместе с данными описания сцены, используются для композиции сцены. Пользователь может расширить возможности, разрешенные автором, взаимодействовать со сценой, которая отображается.

DMIF

DMIF (Delivery Multimedia Integration Framework) является протоколом сессии для управления мультимедийными потоками поверх общих средств доставки данных. В принципе он имеет много общего с FTP. Единственное (существенное) отличие заключается в том, что FTP выдает данные, а DMIF предоставляет указатели, где получить данные (streamed).

Главные компоненты терминала MPEG-4 (принимающая сторона)


Рис. 6.3.  Главные компоненты терминала MPEG-4 (принимающая сторона)

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

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

По сравнению с FTP, DMIF является системой и протоколом. Функциональность, предоставляемая DMIF, определяется интерфейсом, называемым DAI ( DMIF -Application Interface), и реализуется через протокольные сообщения. Эти протокольные сообщения для разных сетей могут отличаться.

При конструировании DMIF рассматривается и качество обслуживания (QoS), а DAI позволяет пользователю DMIF специфицировать требования для нужного потока. Проверка выполнения требований оставляется на усмотрение конкретной реализации DMIF. Спецификация DMIF предоставляет советы, как решать такие задачи на новом типе сети, таком, например, как Интернет.

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

Уместно заявить, что интегрирующая система DMIF покрывает три главные технологии, интерактивную сетевую технику, широковещательную технологию и работу с дисками; это показано на рис. 6.4 ниже.

DMIF осуществляет интеграцию доставки для трех основных технологий


Рис. 6.4.  DMIF осуществляет интеграцию доставки для трех основных технологий

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

На рис. 6.5 представлена указанная выше концепция. Приложение получает доступ к данным через интерфейс приложения DMIF, вне зависимости от того, откуда получены данные: от широковещательного источника, локальной памяти или от удаленного сервера. Во всех сценариях локальное приложение только взаимодействует через универсальный интерфейс (DAI). Различные варианты DMIF будут затем транслировать запросы локального приложения в специфические сообщения, которые должны быть доставлены удаленному приложению, учитывая особенности используемых технологий доставки. Аналогично, данные, поступающие на терминал (из удаленного сервера, широковещательных сетей или локальных файлов) доставляются локальному приложению через DAI.

Специализированные версии DMIF подключаются приложением опосредовано, чтобы управлять различными специфическими технологиями доставки данных; это, однако прозрачно для приложения, которое взаимодействует только с одним DMIF -фильтром. Этот фильтр отвечает за управление конкретным примитивом DAI в нужный момент.

Концептуально "настоящее" удаленное приложение, доступное через сеть, например, через IP или ATM, ничем не отличается от эмулируемого удаленного приложения, получающего материал от широковещательного источника или с диска. В последнем случае, однако, сообщения, которыми обмениваются партнеры, должны быть определены, чтобы обеспечить совместимость (это сигнальные сообщения DMIF ). С другой стороны, интерфейсы между двумя партнерами DMIF и эмулируемым удаленным приложением являются внутренними по отношению реализации и не должны рассматриваться в этой спецификации. Заметим, что для сценариев получения данных широковещательно и из локальной памяти рисунок показывает цепочку "Локальный DMIF ", "Удаленный DMIF (эмулированный)" и "Удаленное приложение (эмулированное)". Эта цепочка представляет концептуальную модель и не должна отражаться в практической реализации (на рисунке она представлена закрашенной областью).

Архитектура коммуникаций DMIF


Рис. 6.5.  Архитектура коммуникаций DMIF

При рассмотрении сценариев с широковещанием и локальной памятью предполагается, что эмулируемое удаленное приложение знает, как данные доставлены/запомнены. Это подразумевает знание типа приложения, с которым осуществляется взаимодействие. В случае MPEG-4, это в действительности предполагает знание идентификатора элементарного потока, дескриптора первого объекта, названия услуги. Таким образом, в то время как уровень DMIF концептуально не знает ничего о приложении, которое поддерживает, в частном случае работы DMIF с широковещанием и локальной памятью это утверждение не вполне корректно из-за присутствия эмулированного удаленного приложения (которое, с точки зрения локального приложения, является частью слоя DMIF ).

При рассмотрении сценария удаленного взаимодействия слой DMIF ничего не знает о приложении. Введен дополнительный интерфейс DNI ( DMIF -Network Interface), который служит для подчеркивания того, какого рода информацией должны обмениваться партнеры DMIF. Дополнительные модули SM (Signaling mapping) служат для установления соответствия между примитивами DNI и сигнальными сообщениями, используемыми в конкретной сети. Заметим, что примитивы DNI специфицированы для информационных целей, и интерфейс DNI в настоящей реализации может отсутствовать.

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

Вычислительная модель DMIF

Когда приложение запрашивает активацию услуги, оно использует сервисный примитив DAI и формирует соответствующую сессию. Реализация DMIF устанавливает контакт с партнером (который концептуально может быть либо удаленным, либо эмулируемым локальным партнером) и формирует вместе с ним сетевую сессию. В случае широковещательного и локального сценариев способ формирования и управления сессией находится вне зоны ответственности данного документа. В случае интерактивного сценария с удаленным сервером DMIF задействует свой сигнальный механизм для формирования и управления сессией, например сигнальный механизм ATM. Приложения партнеров используют эту сессию для установления соединения, которое служит для передачи прикладных данных, например элементарных потоков MPEG-4.

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

На рис. 6.6 предоставлена схема активации верхнего уровня и начало обмена данными. Этот процесс включает в себя четыре этапа.

Вычислительная модель DMIF


Рис. 6.6.  Вычислительная модель DMIF

Слой DMIF автоматически определяет, предполагается ли предоставление данной услуги удаленным сервером в конкретной сети, например в IP или ATM, широковещательной сетью или устройством локальной памяти. Выбор основывается на адресной информации партнера, которая предоставляется приложением в качестве части URL, переданной DAI.

Демультиплексирование, синхронизация и описание потоков данных

Отдельные элементарные потоки должны быть выделены на уровне доставки из входных данных некоторого сетевого соединения или из локального устройства памяти. Каждое сетевое соединение или файл в модели системы MPEG-4 рассматривается как канал TransMux. Демультиплексирование выполняется частично или полностью слоями вне области ответственности MPEG-4. Единственным демультиплексирующим средством, определенным MPEG-4, является FlexMux, которое может опционно использоваться для снижения задержки, получения низкой избыточности мультиплексирования и для экономии сетевых ресурсов.

Для целей интегрирования MPEG-4 в системную среду интерфейс приложения DMIF является точкой, где можно получить доступ к элементарным потокам как к потокам пакетов sync. DMIF является интерфейсом для реализации функций, недоступных в MPEG. Управляющая часть интерфейса рассмотрена в разделе DMIF.

MPEG-4 определяет модель системного декодера. Это позволяет точно описать операции терминала, не делая ненужных предположений о деталях практической реализации. Такое описание важно для того, чтобы дать свободу разработчикам терминалов MPEG-4 и декодирующих приборов. Это оборудование включает в себя широкий диапазон аппаратов — от телевизионных приемников, которые не имеют возможности взаимодействовать с отправителем, до ЭВМ, которые имеют полноценный двунаправленный коммуникационный канал. Некоторые устройства будут получать потоки MPEG-4 через изохронные сети, в то время как другие будут использовать для обмена информацией MPEG-4 асинхронные средства (например Интернет). Модель системного декодера предоставляет общие принципы, на которых могут базироваться все реализации терминалов MPEG-4.

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

Демультиплексирование

Демультиплексирование происходит на уровне доставки, который включает в себя слои TransMux и DMIF. Извлечение входящих информационных потоков из сетевого соединения или из памяти включает в себя два этапа. Во-первых, каналы должны быть найдены и открыты. Это требует наличия некоторого объекта, который осуществляет транспортный контроль и устанавливает соответствие между транспортными каналами и специальными элементарными потоками. Таблица карты таких потоков связывает каждый поток с ChannelAssociationTag (канальной меткой), служащей указателем для канала, через который идет поток. Определение ChannelAssociationTag для реального транспортного канала, а также управление сессией и каналами осуществляется DMIF.

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

Базовый термин "TransMux Layer" используется, чтобы абстрагироваться от нижележащей функциональности — существующей или будущей, которая пригодна для транспортировки потоков данных MPEG-4. Заметим, что этот уровень не определен в контексте MPEG-4. Примерами могут служить транспортные потоки MPEG-2, H.223, ATM AAL 2, IP/UDP. Предполагается, что слой TransMux предоставляет защиту и средства мультиплексирования, этот уровень обеспечивает определенный класс QoS. Средства безопасности включают в себя защиту от ошибок и детектирование ошибок, удобные для данной сети или устройств памяти.

В любом конкретном сценарии приложения используются один или более специфических TransMux. Каждый демультиплексор TransMux предоставляет доступ к каналам TransMux. Требования на информационный интерфейс доступа к каналу TransMux те же, что и для всех интерфейсов TransMux. Они включают необходимость надежного детектирования ошибок; доставки, если возможно, ошибочных данных с приемлемой индикацией ошибок; кадрирования поля данных, которое может включать потоки либо SL, либо FlexMux. Эти требования реализованы в интерфейсе TransMux (системная часть стандарта MPEG-4). Адаптация потоков SL должна быть специфицирована для каждого стека протоколов.

Средство FlexMux специфицировано MPEG для того, чтобы опционно предоставить гибкий метод, имеющий малую избыточность и задержку для переукладки данных в тех случаях, когда нижележащие протоколы не поддерживают это. Средство FlexMux само по себе недостаточно устойчиво по отношению к ошибкам и может использоваться либо в каналах TransMux с высоким QoS, либо для объединения элементарных потоков, которые достаточно устойчивы к ошибкам. FlexMux требует надежного детектирования ошибок. Эти требования реализованы в информационных примитивах прикладного интерфейса DMIF, который определяет доступ к данным в индивидуальных транспортных каналах. Демультиплексор FlexMux выделяет SL-потоки из потоков FlexMux.

Синхронизация и описание элементарных потоков

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

Архитектура буферов модели системного декодера


Рис. 6.7.  Архитектура буферов модели системного декодера

Как осуществляется доступ к данным для слоя сжатия, определяется интерфейсом элементарных потоков, описание которого можно найти в системной части стандарта MPEG-4. Слой sync извлекает элементарные потоки из потоков SL.

Чтобы элементарные потоки могли взаимодействовать с медиа-объектами в пределах сцены, используются дескрипторы объектов. Дескрипторы объектов передают информацию о номере и свойствах элементарных потоков, которые ассоциированы с конкретными медиа-объектами. Сами дескрипторы объектов передаются в одном или более элементарных потоков, так как допускается добавление и удаление потоков (и объектов) в процессе сессии MPEG-4. Для того чтобы обеспечить синхронизацию, такие модификации помечаются временными метками. Потоки дескрипторов объектов могут рассматриваться как описание потоковых ресурсов презентации. Аналогично, описание сцены также передается как элементарный поток, позволяя модифицировать пространственно-временную картину презентации со временем.

Управление буфером

Чтобы предсказать, как декодер будет себя вести, когда он декодирует различные элементарные потоки данных, которые образуют сессию MPEG-4, модель системного декодера (Systems Decoder Model) позволяет кодировщику специфицировать и мониторировать минимальные буферные ресурсы, необходимые для декодирования сессии. Требуемые буферные ресурсы передаются декодеру в объектных дескрипторах во время установления сессии MPEG-4, так что декодер может решить, способен ли он участвовать в этой сессии.

При управлении конечным буферным пространством модель позволяет отправителю, например, передавать данные, не привязанные к реальному времени, досрочно, если имеется достаточно места в буфере со стороны приемника. Запомненные данные будут доступны в любое время, позволяя использовать для информации реального времени (при необходимости) большие ресурсы канала.

Идентификация времени

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

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

Улучшенная модель синхронизации (FlexTime)

Модель FlexTime (Advanced Synchronization Model) расширяет традиционную модель хронирования MPEG-4, чтобы разрешить синхронизацию большого числа потоков и объектов, таких как видео, аудио, текст, графика, или даже программ, которые могут иметь разное происхождение.

Традиционная модель синхронизации MPEG-4 первоначально была сконструирована для широковещательных приложений, где синхронизация между блоками доступа осуществляется через "жесткие" временные метки и эталонные часы. В то время как этот механизм предоставляет точную синхронизацию внутри потока, он терпит неудачу при синхронизации потоков, приходящих из разных источников (и, возможно, с разными эталонными часами), как это происходит в случае большинства Интернет-приложений и в более сложных широковещательных приложениях.

Модель FlexTime позволяет разработчику материала специфицировать простые временные соотношения для выбранных объектов MPEG-4, таких как CoStart, CoEnd, и Meet. Автор материала может также специфицировать ограничения гибкости для объектов MPEG-4, как если бы объекты были растяжимыми пружинами. Это позволяет синхронизовать большое число объектов согласно специфицированным временным соотношениям.

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

Гибкая длительность

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

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

Относительное время начала и конца

Два или более элементарных потоков или потоков сегментов могут быть синхронизованы друг относительно друга, путем определения того, что они начинаются (CoStart) или кончаются (CoEnd) в одно и то же время или завершение одного совпадает с началом другого (Meet).

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

Модель FlexTime позволяет автору материала осуществлять синхронизацию объектов MPEG-4 с потоками или сегментами потоков, устанавливая временные соотношения между ними.

Временные соотношения (или относительные временные метки) могут рассматриваться как функциональные временные метки, которые используются при воспроизведении. Таким образом, действующий объект FlexTime может:

  1. компенсировать различные сетевые задержки с помощью ожидания прибытия потока, прежде чем действующий объект активизирует рэндеринг/воспроизведение ассоциированного с ним узла;
  2. компенсировать различные сетевые разбросы задержки путем ожидания прибытия сегмента потока;
  3. синхронизовать большое число медиа/BIFS-узлов с некоторым медиа-потоком неизвестной длины или неуправляемым временем прибытия;
  4. синхронизовать модификации BIFS (например, модификации полей сцены) при наличии большого числа узлов/потоков, когда некоторые потоки имеют неизвестную длину или неуправляемое время прибытия;
  5. замедлять или ускорять рэндеринг/воспроизведение частей потоков, чтобы компенсировать ситуации несинхронности, вызванные неизвестной длиной, неуправляемым временем прибытия или его вариацией.

Поддержка FlexTime в MPEG-4

Модель FlexTime поддерживается в MPEG-4 двумя узлами: TemporalTransform и TemporalGroup, и дескриптором: SegmentDescriptor. Узел TemporalTransform специфицирует временные свойства объекта MPEG-4, который нуждается в синхронизации. Узел TemporalGroup специфицирует временные соотношения между объектами, которые представлены узлами TemporalTransform, а SegmentDescriptor идентифицирует доли потока, которые могут быть синхронизованы.

TemporalTransform поддерживает синхронизацию узлов в пределах сцены с медиа-потоком (или его сегментом) и поддерживает гибкое преобразование ко времени сцены. Этот группирующий узел может гибко поддерживать замедление, ускорение, замораживание или смещение временной шкалы сцены для рэндеринга узлов, содержащихся в ней. Его дочернее поле может содержать список узлов типа SF3Dnode, а узел может влиять на замедление, ускорение, замораживание или смещение временной шкалы композитора, когда он осуществляет рэндеринг дочерних узлов, которые преобразованы этим узлом. Кроме того, этот узел имеет поле url, которое может ссылаться на элементарный поток или его сегмент, и в этом случае узел воздействует на временную шкалу потока, указанного в ссылке.

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

Массив SegmentDescriptor добавляется в качестве составного элемента в ES_Descriptor. SegmentDescriptor идентифицирует и помечает сегмент потока, так что отдельные сегменты потока могут быть адресуемы с помощью их полей URL в узле TemporalTansform.

Временное декодирование и настройка часов медиа-потоков в соответствии с временными метками является функцией слоя sync. Модель FlexTime требует небольшого изменения модели буферизации MPEG-4 и декодирования. Декодирование может быть задержано у клиента, по отношению к стандартному времени.

Модель буферов для flextime может быть специфицирована следующим образом: "В любое время от момента, соответствующего его DTS, вплоть до границы времени, заданной FlexTime, AU немедленно декодируется и удаляется из буфера". Так как точное время удаления из буфера декодирования AU может варьироваться, нельзя быть уверенным, что оно будет удалено раньше наихудшего времени (максимальная задержка для медиа-потока). Используя наихудшее время, а не время, заданное DTS, буфер декодирования может управляться и не так, как предписывается MPEG-4.

Описание синтаксиса

MPEG-4 определяет язык синтаксического описания, чтобы характеризовать точный двоичный синтаксис для двоичных потоков, несущих медиа-объекты, и для потоков с информацией описания сцены. Это уход от прошлого подхода MPEG, использовавшего язык псевдо C. Новый язык является расширением C++ и используется для интегрированного описания синтаксического представления объектов, классов медиаобъектов и сцен. Это предоставляет удобный и универсальный способ описания синтаксиса. Программные средства могут использоваться для обработки синтаксического описания и генерации необходимого кода для программ, которые выполняют верификацию.

Двоичный формат описания сцены BIFS

Кроме обеспечения поддержки кодирования индивидуальных объектов, MPEG-4 предоставляет также возможность создать набор таких объектов в рамках сцены. Необходимая информация композиции образует описание сцены, которая кодируется и передается вместе с медиаобъектами. Начиная с VRML (Virtual Reality Modeling Language), MPEG разработал двоичный язык описания сцены, названный BIFS. BIFS расшифровывается как BI nary F ormat for S cenes.

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

Как объекты группируются. Сцена MPEG-4 следует иерархической структуре, которая может быть представлена как ориентированный граф без циклов. Каждый узел графа является медиа-объектом, как показано на рис. 6.8. Три структуры не обязательно являются статическими; атрибуты узла (например, позиционирующие параметры) могут быть изменены, в то время как узлы могут добавляться, замещаться или удаляться.

Возможная логическая структура сцены


Рис. 6.8.  Возможная логическая структура сцены

Как объекты позиционируются в пространстве и во времени. В модели MPEG-4 аудио-визуальные объекты имеют протяженность в пространстве и во времени. Каждый медиа-объект имеет локальную координатную систему. Локальная координатная система объекта является той, в которой объект имеет фиксированное пространственно-временное положение и шкалу. Локальная координатная система служит в качестве указателя для манипулирования медиа-объектом в пространстве и во времени. Медиа-объекты позиционируются на сцене путем спецификации координатного преобразования из локальной координатной системы объекта в глобальную систему.

Выбор значения атрибута. Индивидуальные медиа-объекты и узлы описания сцены демонстрируют набор параметров композиционному слою, через который может частично контролироваться их поведение. Среди примеров можно назвать понижение звука (pitch), цвет для синтетических объектов, активация или дезактивация информации улучшения для масштабируемого кодирования и т.д.

Другие преобразования медиа-объектов. Как упомянуто выше, структура описания сцены и семантика узла подвержены сильному влиянию VRML вообще и его модели событий в частности. Это предоставляет MPEG-4 очень богатый набор операторов конструирования сцены, включая графические примитивы, которые могут использоваться для построения сложных сцен.

BIFS версии 2 (продвинутый BIFS) включает в себя следующие новые возможности.

Взаимодействие с пользователем

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

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

Взаимодействие на стороне сервера включает в себя манипуляцию материалом на стороне отправителя в результате действий пользователя. Это, разумеется, требует наличия канала обратной связи.

IPR-идентификация и защита

MPEG-4 предоставляет механизмы для защиты прав интеллектуальной собственности (IPR). Это достигается путем предоставления кодированных медиа-объектов с опционным набором данных идентификационной интеллектуальной собственности IPI (Intellectual Property Identification), несущим информацию о содержимом, типе содержимого и о владельцах прав на данный материал. Набор данных, если он имеется, является частью дескриптора элементарного потока, который описывает поточную информацию, ассоциированную с медиа-объектом. Число наборов данных, которые ассоциируется с каждым медиа-объектом, достаточно гибко; другие медиа-объекты могут использовать тот же набор. Предоставление наборов данных позволяет внедрить механизм отслеживания, мониторинга, выставления счетов и защиты от копирования.

Каждое приложение MPEG-4 содержит набор требований, относящихся к защите информации, с которой оно работает. Эти приложения могут иметь разные требования по безопасности. Для некоторых приложений пользователи обмениваются информацией, которая не имеет собственной ценности, но которая тем не менее должна быть защищена, чтобы защитить права собственности. Для других приложений, где управляемая информация для ее создателя или дистрибьютора имеет большую ценность, требуется управление более высокого уровня и более надежные механизмы защиты. Подразумевается, что дизайн структуры IPMP (Intellectual Property Management and Protection) должен учитывать сложность стандарта MPEG-4 и разнообразие его применений. Структура IPMP оставляет детали системы IPMP на усмотрение разработчиков. Необходимые уровень и тип управления и защиты зависят от ценности материала, комплексности и сложности связанных с этим материалом бизнес-моделей.

Данный подход позволяет конструировать и использовать системы IPMP, специфичные для доменов ( IPMP -System). В то время как MPEG-4 не стандартизует сами системы IPMP, он стандартизует интерфейс IPMP MPEG-4. Этот интерфейс состоит из IPMP -дескрипторов (IPMPDescriptor = IPMP -D) и элементарных потоков IPMP ( IPMP - Elementary Stream).

IPMP -D и IPMP -ES предоставляют коммуникационный механизм взаимодействия систем IPMP и терминала MPEG-4. Определенные приложения могут требовать нескольких систем IPMP. Когда объекты MPEG-4 требуют управления и защиты, они имеют IPMP -D, ассоциированные с ними. Эти IPMP -D указывают на то, какие системы IPMP следует использовать, и предоставляют информацию о том, как защищать получаемый материал (см. рис. 6.9).

Кроме предоставления владельцам интеллектуальной собственности возможности управления и защиты их прав, MPEG-4 предлагает механизм идентификации этих прав с помощью набора данных IPI (Intellectual Property Identification Data Set). Эта информация может использоваться системами IPMP в качестве входного потока процесса управления и защиты.

Интерфейсы IPMP в системе MPEG-4


Рис. 6.9.  Интерфейсы IPMP в системе MPEG-4

Информация содержимого объекта

MPEG-4 позволяет подсоединять к объектам информацию об их материале. Пользователи стандарта могут использовать этот поток данных OCI (Object Content Information) для передачи текстовой информации совместно с материалом MPEG-4.

Формат файлов MPEG-4

Формат файла MP4 сконструирован так, чтобы информация MPEG-4 имела легко адаптируемый формат, который облегчает обмены, управление, редактирование и представление медиа-материала. Презентация может быть локальной по отношению к системе, реализующей этот процесс, или осуществляемой через сеть или другой поточный механизм доставки (TransMux). Формат файлов сконструирован так, чтобы не зависеть от конкретного типа протокола доставки и в то же время эффективно поддерживать саму доставку. Конструкция основана на формате Quick-Time компании Apple Computer Inc.

Формат файла MP4 сформирован из объектно-ориентированных структур, называемых атомами. Каждый атом идентифицируется тегом и длиной. Большинство атомов описывают иерархию метаданных, несущих в себе такую информацию, как индексные точки, длительности и указатели на медиа-данные. Это собрание атомов содержится в атоме, называемом "кино-атом". Расположение самих медиа-данных строго не определено; они могут быть в файле MP4, содержащемся в одном или более mdat, в медийных информационных атомах или размещаться вне файла MP4 с доступом через URL.

Метаданные в файле в сочетании с гибкой записью медийных данных в память позволяют формату MP4 поддерживать редактирование, локальное воспроизведение и обмен и тем самым удовлетворять требованиям интермедиа MPEG-4.

MPEG-J

MPEG-J является программной системой (в противоположность параметрической системе MPEG-4 версии 1), которая специфицирует API для кросс-операций медиа-проигрывателей MPEG-4 с Java-программами. Комбинируя среду MPEG-4 и безопасный исполнительный код, разработчики материала могут реализовать комплексный контроль и механизмы обработки их медиа в рамках аудио-визуальной сессии. Блоксхема плеера MPEG-J в среде системного плеера MPEG-4 показана на рис. 6.10. Нижняя половинка этого рисунка отображает системный параметрический плеер MPEG-4, называемый также средством презентации (СП). Субсистема MPEG-J, контролирующая СП, называется средством приложения (Application Engine), показана в верхней половине рис. 6.10.

Приложение Java доставляется в качестве отдельного элементарного потока, поступающего на терминал MPEG-4. Оно будет передано MPEG-J, откуда программа MPEG-J будет иметь доступ к различным компонентам и данным плеера MPEG-4. MPEG-J не поддерживает загружаемых декодеров.

По вышеуказанной причине был определен набор API с различными областями применения. Задачей API является обеспечение доступа к графу сцены: рассмотрение графа, изменение узлов и их полей и добавление и удаление узлов графа. Менеджер ресурсов API используется для управления исполнением: он обеспечивает централизованное средство управления ресурсами. API терминальных возможностей (Terminal Capability) применяется, когда исполнение программы зависит от конфигурации терминала и его возможностей, как статических (которые не меняются во время исполнения), так и динамических. API медийных декодеров позволяет контролировать декодеры, которые имеются в терминале. Сетевое API предлагает способ взаимодействия с сетью, являясь прикладным интерфейсом MPEG-4 DMIF.

Положение интерфейсов в архитектуре MPEG-J


Рис. 6.10.  Положение интерфейсов в архитектуре MPEG-J

Детальное техническое описание визуальной секции MPEG-4

Визуальные объекты могут иметь искусственное или натуральное происхождение.

Приложения видео-стандарта MPEG-4

MPEG-4 видео предлагает технологию, которая перекрывает широкий диапазон существующих и будущих приложений. Низкие скорости передачи и кодирование, устойчивое к ошибкам, позволяет осуществлять надежную связь через радиоканалы с ограниченной полосой, что полезно, например, для мобильной видеотелефонии и космической связи. При высоких скоростях обмена имеются средства, позволяющие передачу и запоминание высококачественного видео на студийном уровне.

Главной областью приложений является интерактивное web-видео. Уже продемонстрированы программы, которые осуществляют "живое" видео MPEG-4. Средства двоичного кодирования и работы с видеообъектами с серой шкалой цветов должны быть интегрированы с текстом и графикой.

MPEG-4 видео уже было использовано для кодирования видеозаписи, выполняемой с ручной видеокамеры. Эта форма приложения становится все популярнее из-за простоты переноса на web-страницу и может также применяться и в случае работы со статичными изображениями и текстурами. Рынок игр является еще одной областью работы приложений MPEG-4 видео, статических текстур, интерактивности.

Натуральные текстуры, изображения и видео

Средства для естественного видео в визуальном стандарте MPEG-4 предоставляют стандартные технологии, позволяющие эффективно запоминать, передавать и манипулировать текстурами, изображениями и видеоданными для мультимедийной среды. Эти средства позволяют декодировать и представлять атомные блоки изображений и видео, называемые "видеообъектами" (VO). Примером VO может быть говорящий человек (без фона), который может быть также создан из других AVO (аудио-визуальный объект) в процессе формирования сцены. Обычные прямоугольные изображения образуют специальный случай таких объектов.

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

Синтетические объекты

Синтетические объекты образуют субнабор большого класса компьютерной графики. Для начала будут рассмотрены следующие синтетические визуальные объекты.

Параметрические описания

Кодирование текстуры для приложений, зависимых от вида

Масштабируемое кодирование видеообъектов

Существует несколько масштабируемых схем кодирования в визуальном MPEG-4: пространственная масштабируемость, временная масштабируемость и объектно-ориентированная пространственная масштабируемость. Пространственная масштабируемость поддерживает изменяющееся качество текстуры (SNR и пространственное разрешение). Объектно-ориентированная пространственная масштабируемость расширяет обычные типы масштабируемости в направлении объектов произвольной формы, так что ее можно использовать в сочетании с другими объектно-ориентированными возможностями. Таким образом, может быть достигнута очень гибкая масштабируемость. Это делает возможным при воспроизведении динамически улучшать SNR, пространственное разрешение, точность воспроизведения формы и т.д. только для объектов, представляющих интерес, или для определенной области.

Устойчивость в среде, предрасположенной к ошибкам

Разработанная в MPEG новая методика, названная NEWPRED (new prediction — новое предсказание), предоставляет быстрое восстановление после ошибок в приложениях реального времени. Она использует канал от декодера к кодировщику. Кодировщик переключает эталонные кадры, приспосабливаясь к условиям возникновения ошибок в сети. Методика NEWPRED обеспечивает высокую эффективность кодирования. Она была проверена в условиях высоких потоков ошибок:

Улучшенная стабильность временного разрешения с низкой задержкой буферизации

Еще одной новой методикой является DRC (Dynamic Resolution Conversion), которая стабилизирует задержку буферизации при передаче путем минимизации разброса числа кодовых бит VOP на выходе. Предотвращается отбрасывание больших пакетов, а кодировщик может контролировать временное разрешение даже в высокоактивных сценах.

Кодирование текстур и статические изображения

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

Упомянутые выше средства используются в двух новых продвинутых масштабируемых текстурах и продвинутом центральном профайле (advanced core profile).

Кодирование нескольких видов и большого числа вспомогательных компонентов

MPEG-4 видео версии 1 поддерживает один альфа-канал на видеоканальный слой и определяет три типа формы. Все три типа формы, т.е. двоичная форма, постоянная форма и форма с серой шкалой, допускают прозрачность видеообъекта. При таком определении MPEG-4 не может эффективно поддерживать такие функциональности, как многовидовые видеообъекты ( Multiview Video Objects ). В версии 2 введено применение множественных альфа-каналов для передачи вспомогательных компонент.

Базовой идеей является то, что форма с серой шкалой не является единственной для описания прозрачности видеообъекта, но может быть определена в более общем виде. Форма с серой шкалой может, например, представлять:

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

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

Мы назначаем области, которые используются для кодирования данных от каждой конкретной камеры, как области интереса (AOI). Эти AOI могут теперь быть просто определены как видеообъекты MPEG-4 и закодированы с их ассоциированными значениями несоразмерности. Из-за возможного отражения объектов в различных видах, а также из-за отклонений цветов или различия экспозиций для разных камер, границы между областями, которые нужно реконструировать на основе разных исходных видов, могут оказаться видимыми. Для решения этой проблемы необходимо предварительно обработать пиксели вблизи границ AOI так, чтобы осуществить плавный переход путем интерполяции пикселей из различных смежных видов в пределах переходной области.

Реконструкция различных точек зрения на основе компенсированной несоразмерности текстурной поверхности осуществляется на базе текстурных данных в пределах конкретных AOI, с привлечением карты несоразмерностей, которая была получена из вспомогательной компоненты, декодированной из видеопотока MPEG-4. Каждая AOI обрабатывается независимо, а затем проекции изображений от всех AOI собираются для получения окончательного вида видеообъекта с заданной точки зрения. Эта процедура может быть выполнена для системы с двумя камерами с параллельной установкой, но может быть распространена на случай системы с несколькими камерами со сходящимися оптическими осями.

Анимация лица

"Лицевой анимационный объект" может использоваться для представления анимированного лица. Форма, текстура и выражения лица управляются параметрами описания лица FDP (Facial Definition Parameters) и/или параметрами анимации лица FAP (Facial Animation Parameters). Объект лица содержит базовый вид лица с нейтральным выражением. Лицо может также получить немедленно анимационные параметры из потока данных, который осуществит анимацию лица: выражение, речь и т.д. Между тем могут быть посланы параметры описания, которые изменят облик лица от некоторого базового к заданному лицу со своей собственной формой и (опционно) текстурой. Если это желательно, через набор FDP можно загрузить полную модель лица.

Анимация лица в MPEG-4 версии 1 предназначена для высокоэффективного кодирования параметров анимации, которые могут управлять неограниченным числом моделей лица. Сами модели не являются нормативными, хотя существуют средства описания характеристик модели. Для точной артикуляции может использоваться кадровое и временное DCT-кодирование большой коллекции FAP.

Двоичный формат систем для сцены BIFS (Systems Binary Format for Scenes), предоставляет возможности поддержки анимации лица, когда нужны обычные модели и интерпретации FAP.

  1. Параметры определения лица FDP (Face Definition Parameters) в BIFS (модельные данные являются загружаемыми, чтобы конфигурировать базовую модель лица, запомненную в терминале до декодирования FAP, или инсталлировать специфическую модель лица в начале сессии вместе с информацией о том, как анимировать лицо).
  2. Таблица анимации лица FAT (Face Animation Table) в рамках FDP (загружаемые таблицы функционального соответствия между приходящими FAP и будущими контрольными точками сетки лица). Это дает кусочно-линейную карту входящих FAP для управления движениями лица. Например: FAP может приказать "open_jaw (500)" (открыть челюсти) и таблица определит, что это означает в терминах перемещения характерных точек.
  3. Интерполяционная методика для лица FIT (Face Interpolation Technique) в BIFS (загружаемое определение карты входящих FAP в общий набор FAP до их использования в характерных точках, которая вычисляется с использованием полиномиальных функций при получении интерполяционного графа лица). Это может использоваться для установления комплексных перекрестных связей FAP или интерполяции FAP, потерянных в потоке, с привлечением FAP, которые доступны для терминала.

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

Анимация тела

Body является объектом, который способен генерировать модели виртуального тела и анимации в форме наборов 3D многоугольных сеток, пригодных для отображения (rendering). Для тела определены два набора параметров: набор параметров описания тела BDP (Body Definition Parameter) и набор параметров анимации тела BAP (Body Animation Parameter). Набор BDP определяет параметры преобразования изображения тела по умолчанию в требующийся образ с нужной поверхностью, размерами, и (опционно) текстурой. Параметры анимации тела (BAP) при корректной интерпретации позволят получить разумный результат, выражаемый в терминах позы и анимации для самых разных моделей тела, без необходимости инициализировать или калибровать модель.

Конструкция объекта тело содержит обобщенное виртуальное человеческое тело в позе по умолчанию. Объект способен немедленно принимать BAP из потока данных, который осуществляет анимацию тела. Если получены BDP, они используются для преобразования обобщенного тела в конкретное, заданное значениями параметров. Любой компонент может быть равен нулю. Нулевой компонент при отображении тела заменяется соответствующим значением по умолчанию. Поза по умолчанию соответствует стоящей фигуре. Эта поза определена следующим образом: стопы ориентированы во фронтальном направлении, обе руки размещаются вдоль тела с ладонями, повернутыми внутрь. Эта поза предполагает также, что все BAP имеют значения по умолчанию.

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

Стандарт анимации тела был разработан MPEG в сотрудничестве с Рабочей группой анимации гуманоидов (Humanoid Animation Working Group) в рамках консорциума VRML.

Анимируемые 2D-сетки

Сетка 2D ( mesh ) является разложением плоской 2D-области на многоугольные кусочки. Вершины полигональных частей этой мозаики называются узловыми точками сетки. MPEG-4 рассматривает только треугольные сетки, где элементы мозаики имеют треугольную форму. Динамические 2D-сетки ссылаются на сетки 2D и информацию перемещения всех узловых точек сетки в пределах временного сегмента интереса. Треугольные сетки использовались в течение долгого времени для эффективного моделирования формы 3-D-объектов и воспроизведения в машинной графике. Моделирование 2D-сеток может рассматриваться как проекция треугольных 3D-сеток на плоскость изображения.

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

В 2D-сетке, базирующейся на текстуре, треугольные элементы в текущем кадре деформируются при перемещении узловых точек. Текстура в каждом мозаичном элементе эталонного кадра деформируется с помощью таблиц параметрического соответствия, определенных как функция векторов перемещения узловых точек. Для треугольных сетей обычно используется аффинное преобразование. Его линейная форма предполагает текстурный мэппинг с низкой вычислительной сложностью. Аффинный мэппинг может моделировать преобразование, вращение, изменение масштаба, отражение, вырезание и сохранение прямых линий. Степени свободы, предоставляемые тремя векторами перемещения вершин треугольника, соответствуют шести параметрам аффинного преобразования (affine mapping). Это предполагает, что исходное 2D-поле перемещения может быть компактно представлено движением узловых точек, из которого реконструируется аффинное поле перемещения. В то же время структура сетки ограничивает перемещения смежных, мозаичных элементов изображения. Следовательно, сетки хорошо годятся для представления умеренно деформируемых, но пространственно непрерывных полей перемещения.

Моделирование 2D-сетки привлекательно, так как 2D-сетки могут быть сформированы из одного вида объекта, сохраняя функциональность, обеспечиваемую моделированием с привлечением 3D-сеток. Подводя итог, можно сказать, что представления с объектно-ориентированными 2D-сетками могут моделировать форму (многогранная аппроксимация контура объекта) и перемещение VOP в неоднородной структуре, которая является расширяемой до моделирования 3D-объектов, когда имеются данные для конструирования таких моделей. В частности, представление видеообъектов с помощью 2D-сетки допускает следующие функции:

A. Манипуляция видеообъектами

B. Сжатие видеообъекта

C. Видеоиндексирование, базирующееся на содержимом

3D-сетки

Возможности кодирования 3D-сеток:

Масштабируемость, зависящая от изображения

Масштабируемость, зависящая от вида, делает возможными текстурные карты, которые используются в реалистичных виртуальных средах. Она заключается в учете точки наблюдения в виртуальном 3D-мире, для того чтобы передать только видимую информацию. Только часть информации затем пересылается, в зависимости от геометрии объекта и смещения точки зрения. Эта часть вычисляется как на стороне кодировщика, так и на стороне декодера. Такой подход позволяет значительно уменьшить количество передаваемой информации между удаленной базой данных и пользователем. Эта масштабируемость может работать с кодировщиками, базирующимися на DCT.

Структура средств для представления натурального видео

Алгоритмы кодирования изображения MPEG-4 и видео дают эффективное представление визуальных объектов произвольной формы, а также поддержку функций, базирующихся на содержимом. Они поддерживают большинство функций, уже предлагаемых в MPEG-1 и MPEG-2, включая эффективное сжатие стандартных последовательностей прямоугольных изображений при варьируемых уровнях входных форматов, частотах кадров, глубине пикселей, скоростях передачи и разных уровнях пространственной, временной и качественной масштабируемости.

Базовая качественная классификация по скоростям передачи и функциональности визуального стандарта MPEG-4 для естественных изображений и видео представлена на рис. 6.11.

Классификация средств и алгоритмов кодирования звука и изображения MPEG-4


Рис. 6.11.  Классификация средств и алгоритмов кодирования звука и изображения MPEG-4

Ядро VLBV (Very Low Bit-rate Video) предлагает алгоритмы и средства для приложений, работающих при скоростях передачи между 5 и 64 Кбит/с, поддерживающие последовательности изображений с низким пространственным разрешением (обычно ниже разрешения CIF) и с низкими частотами кадров (обычно ниже 15 Гц). К приложениям, поддерживающим функциональность ядра VLBV, относятся:

  1. кодирование обычных последовательностей прямоугольных изображений с высокой эффективностью кодирования и высокой устойчивостью к ошибкам, малыми задержками и низкой сложностью для мультимедийных приложений реального времени, и
  2. операции "произвольный доступ", ""быстрая перемотка вперед" и "быстрая перемотка назад" для запоминания VLB мультимедиа ДБ и приложений доступа.

Та же самая функциональность поддерживается при высоких скоростях обмена с высокими параметрами по временному и пространственному разрешению вплоть до ITU-R Rec. 601 и больше — используя идентичные или подобные алгоритмы и средства как в ядре VLBV. Предполагается, что скорости передачи лежат в диапазоне от 64 Кбит/с до 10 Мбит/с, а приложения включают широковещательное мультимедиа или интерактивное получение сигналов с качеством, сравнимым с цифровым телевидением.

Функциональности, базирующиеся на содержимом, поддерживают отдельное кодирование и декодирование содержимого (т.е. физических объектов на сцене, VO). Эта особенность MPEG-4 предоставляет наиболее элементарный механизм интерактивности.

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

Расширенные алгоритмы и средства MPEG-4 для функциональности, зависящей от содержимого, могут рассматриваться как супернабор ядра VLBV и средств для работы при высоких потоках данных.

Поддержка обычной функциональности и зависящей от содержимого

MPEG-4 видео поддерживает обычные прямоугольные изображения и видео, а также изображения и видео произвольной формы.

Кодирование обычных изображений и видео сходно с обычным кодированием в MPEG-1/2. Оно включает в себя предсказание/компенсацию перемещений, за которым следует кодирование текстуры. Для функциональности, зависящей от содержимого, где входная последовательность изображений может иметь произвольную форму и положение, данный подход расширен с помощью кодирования формы и прозрачности. Форма может быть представлена двоичной маской или 8-битовой компонентой, которая позволяет описать прозрачность, если один VO объединен с другими объектами.

Видеоизображение MPEG-4 и схема кодирования

Рис. 6.12 описывает базовый подход алгоритмов MPEG-4 видео к кодированию входной последовательности изображений прямоугольной и произвольной формы.

Базовая структура кодирования включает в себя кодирование формы (для VO произвольной формы), компенсацию перемещения и кодирование текстуры с привлечением DCT (используя стандарт 8x8 DCT или DCT, адаптирующийся к форме).

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

Базовая блок-схема видеокодировщика MPEG-4


Рис. 6.12.  Базовая блок-схема видеокодировщика MPEG-4

Стандарт MPEG-4 версии 2 улучшает оценку перемещения и компенсации для объектов и текстур прямоугольной и произвольной формы. Введены две методики для оценки и компенсации перемещения.

В области текстурного кодирования DCT (SA-DCT — адаптивный к форме) улучшает эффективность кодирования объектов произвольной формы. Алгоритм SA-DCT основан на предварительно определенных ортонормальных наборах одномерных базисных функций DCT.

Субъективные оценочные тесты показывают, что комбинация этих методик может дать экономию в необходимой полосе канала до 50% по сравнению с версией 1, в зависимости от типа содержимого и потока данных.

Кодирование текстур в статических изображениях

Эффективное кодирование визуальных текстур и статических изображений (подлежащих, например, выкладке на анимационные сетки) поддерживается режимом визуальных текстур MPEG-4. Этот режим основан на алгоритме вейвлетов с нулевым деревом, который предоставляет очень высокую эффективность кодирования в широком диапазоне скоростей передачи. Вместе с высокой эффективностью сжатия он также предлагает пространственную и качественную масштабируемость (вплоть до 11 уровней пространственной масштабируемости и непрерывной масштабируемости качества), а также кодирование объектов произвольной формы. Кодированный поток данных предназначен также для загрузки в терминал иерархии разрешения изображения. Эта технология обеспечивает масштабируемость разрешения в широком диапазоне условий наблюдения, более типичном для интерактивных приложений при отображении 2D- и 3D-виртуальных миров.

Масштабируемое кодирование видеообъектов

MPEG-4 поддерживает кодирование изображений и видеообъектов с пространственной и временной масштабируемостью, для обычных прямоугольных и произвольных форм. Под масштабируемостью подразумевается возможность декодирования лишь части потока данных и реконструировать изображение или их последовательность с:

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

Для декодирования статических изображений стандарт MPEG-4 предоставит 11 уровней гранулярности, а также масштабируемость качества до уровня одного бита. Для видеопоследовательностей вначале будет поддерживаться 3 уровня гранулярности, но ведутся работы для достижения 9 уровней.

Устойчивость в среде, предрасположенной к ошибкам

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

Средства противостояния ошибкам, разработанные для MPEG-4, могут быть разделены на три основные группы: ресинхронизация, восстановление данных и подавление влияния ошибок. Следует заметить, что эти категории не являются уникальными для MPEG-4, они широко используются разработчиками средств противодействия ошибкам для видео.

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

Метод ресинхронизации, принятый MPEG-4, подобен используемому в структурах групп блоков GOB (Group of Blocks) стандартов ITU-T H.261 и H.263. В этих стандартах GOB определена как группа из одного или более рядов макроблоков (MB). В начале нового GOB-потока помещается информация, называемая заголовком GOB. Этот информационный заголовок содержит стартовый код GOB, который отличается от начального кода кадра и позволяет декодеру локализовать данный GOB. Далее заголовок GOB содержит информацию, которая позволяет рестартовать процесс декодирования (т.е. ресинхронизовать декодер и поток данных, а также сбросить всю информацию предсказаний).

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

Подход видеопакетов, принятый MPEG-4, базируется на периодически посылаемых в потоке данных маркерах ресинхронизации. Другими словами, длина видеопакетов не связана с числом макроблоков, а определяется числом бит, содержащихся в пакете. Если число бит в текущем видеопакете превышает заданный порог, тогда в начале следующего макроблока формируется новый видеопакет.

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

В заголовке видеопакета содержится также код расширения заголовка (HEC). HEC представляет собой один бит, который, если равен 1, указывает на наличие дополнительной информации ресинхронизации. Сюда входит модульная временная шкала, временное приращение VOP, тип предсказания VOP и F-код. Эта дополнительная информация предоставляется в случае, если заголовок VOP поврежден.

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

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

После того как синхронизация восстановлена, средства восстановления пытаются спасти данные, которые в общем случае могут быть потеряны. Эти средства являются не просто программами коррекции ошибок, а техникой кодирования данных, которая устойчива к ошибкам. Например, одно конкретное средство, которое было одобрено видеогруппой (Video Group), является обратимыми кодами переменной длины RVLC (Reversible Variable Length Codes). В этом подходе кодовые слова переменной длины сконструированы симметрично, так что они могут читаться и в прямом, и в обратном направлении.

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

Пример реверсивного кода переменной длины


Рис. 6.13.  Пример реверсивного кода переменной длины

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

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

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

Подробное техническое описание MPEG-4 Аудио

MPEG-4 кодирование аудиообъектов предлагает средства для представления как естественных звуков (таких, как речь и музыка), так и синтетических — базирующихся на структурированных описаниях. Представление для синтетического звука может быть получено из текстовых данных или так называемых инструментальных описаний и параметров кодирования для обеспечения специальных эффектов (например реверберации и объемного звучания). Представления обеспечивают сжатие и другую функциональность — масштабируемость и обработку эффектов.

Средства аудиокодирования MPEG-4, охватывающие диапазон от 6 Кбит/с до 24 Кбит/с, подвергаются верификационным тестированиям для широковещательных приложений цифрового AM-аудио совместно с консорциумом NADIB (Narrow Band Digital Broadcasting). Было обнаружено, что более высокое качество может быть получено для одного и того же частотного диапазона с привлечением цифровых методик и что конфигурации масштабируемого кодировщика могут обеспечить лучшие эксплуатационные характеристики.

Натуральный звук

MPEG-4 стандартизирует кодирование естественного звука при скоростях передачи от 2 Кбит/с до 64 Кбит/с. Когда допускается переменная скорость кодирования, допускается работа и при низких скоростях вплоть до 1,2 Кбит/с. Использование стандарта MPEG-2 AAC в рамках набора средств MPEG-4 гарантирует сжатие аудиоданных при любых скоростях вплоть до самых высоких. Для того чтобы достичь высокого качества аудио во всем диапазоне скоростей передачи и в то же время обеспечить дополнительную функциональность, методики кодирования голоса и общего аудио интегрированы в одну систему.

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

Общая блок-схема MPEG-4 Аудио


Рис. 6.14.  Общая блок-схема MPEG-4 Аудио

Масштабируемость полосы пропускания является частным случаем масштабируемости скоростей передачи, по этой причине часть потока, соответствующая части спектра полосы пропускания, может быть отброшена при передаче или декодировании.

Масштабируемость сложности кодировщика позволяет кодирующим устройствам различной сложности формировать корректные информационные потоки. Масштабируемость сложности декодера позволяет данному потоку данных быть декодированному устройствами с различной сложностью (и ценой). Качество звука, вообще говоря, связано со сложностью используемого кодировщика и декодера Масштабируемость работает в рамках некоторых средств MPEG-4, но может также быть применена к комбинации методик, например к CELP как к базовому уровню, и AAC.

Уровень систем MPEG-4 позволяет использовать кодеки, следующие, например, стандартам MPEG-2 AAC. Каждый кодировщик MPEG-4 предназначен для работы в автономном режиме (stand-alone) со своим собственным синтаксисом потока данных. Дополнительная функциональность реализуется за счет возможностей кодировщика и посредством дополнительных средств вне его.

Улучшения MPEG-4 Аудио версии 2

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

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

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

Средство защиты от ошибок (EP tool) работает со всеми аудиообъектами MPEG-4 версии 2, предоставляя гибкую возможность конфигурирования для широкого диапазона канальных условий. Главными особенностями средства EP являются следующие:

Алгоритмы кодирования MPEG-4 аудио версии 2 предоставляет классификацию всех полей потока согласно их чувствительности к ошибкам. На основе этого поток данных делится на несколько классов, которые могут быть защищены раздельно с помощью инструмента EP, так что более чувствительные к ошибкам части окажутся защищены более тщательно.

В то время как универсальный аудиокодировщик MPEG-4 очень эффективен при кодировании аудиосигналов при низких скоростях передачи, он имеет алгоритмическую задержку кодирования/декодирования, достигающую нескольких сот миллисекунд, и является, таким образом, неподходящим для приложений, требующих малых задержек кодирования, таких как двунаправленные коммуникации реального времени. Для обычного аудиокодировщика, работающего при частоте стробирования 24 КГц и скорости передачи 24 Кбит/с, алгоритмическая задержка кодирования составляет 110 мс плюс до 210 мс дополнительно в случае использования буфера. Чтобы кодировать обычные аудиосигналы с алгоритмической задержкой, не превышающей 20 мс, MPEG-4 версии 2 специфицирует кодировщик, который использует модификацию алгоритма MPEG-2/4 AAC (Advanced Audio Coding). По сравнению со схемами кодирования речи, этот кодировщик позволяет сжимать обычные типы аудиосигналов, включая музыку, при достаточно низких задержках. Он работает вплоть до частот стробирования 48 КГц и использует длину кадров 512 или 480 значений стробирования, по сравнению с 1024 или 960 значений, используемых в стандарте MPEG-2/4 AAC. Размер окна, применяемого при анализе и синтезе блока фильтров, уменьшен в два раза. Чтобы уменьшить артефакты "пред-эхо" в случае переходных сигналов используется переключение размера окна. Для непереходных частей сигнала используется синусоидальное окно, в то время как в случае переходных сигналов применяется так называемое окно с низким перекрытием. Использование буфера битов минимизируется, чтобы сократить задержку. В крайнем случае, такой буфер вообще не используется.

Масштабируемость скорости передачи, известная как встроенное кодирование, является крайне желательной функцией. Обычный аудиокодировщик версии 1 поддерживает масштабируемость с большими шагами, где базовый уровень потока данных может комбинироваться с одним или более улучшенных уровней потока данных, чтобы можно было работать с высокими скоростями и, таким образом, получить лучшее качество звука. В типовой конфигурации может использоваться базовый уровень 24 Кбит/с и два по 16 Кбит/с, позволяя декодирование с полной скоростью 24 Кбит/с (моно), 40 Кбит/с (стерео), и 56 Кбит/с (стерео). Из-за побочной информации передаваемой на каждом уровне, малые уровнидобавки поддерживаются в версии 1 не очень эффективно. Чтобы получить эффективную масштабируемость с малыми шагами для стандартного аудиокодировщика, в версии 2 имеется средство побитового арифметического кодирования BSAC (Bit-Sliced Arithmetic Coding). Это средство используется в комбинации с AAC-кодированием и замещает бесшумное кодирование спектральных данных и масштабных коэффициентов. BSAC предоставляет масштабируемость шагами в 1 Кбит/с на аудиоканал, т.е. шагами по 2 Кбит/с для стереосигнала. Задействуется один базовый поток (уровень) данных и много небольших потоков улучшения. Базовый уровень содержит общую информацию вида, специфическую информацию первого уровня и аудиоданные первого уровня. Потоки улучшения содержат только специфические данные вида и аудиоданные соответствующего слоя. Чтобы получить масштабируемость с небольшими шагами, применяется побитовая схема квантования спектральных данных. Сначала преобразуемые спектральные величины группируются в частотные диапазоны. Каждая из этих групп содержит оцифрованные спектральные величины в двоичном представлении. Затем биты группы обрабатываются порциями согласно их значимости. Таким образом, сначала обрабатываются все наиболее значимые биты (MSB) оцифрованных величин в группе и т.д. Эти группы бит затем кодируются с привлечением арифметической схемы кодирования, чтобы получить энтропийные коды с минимальной избыточностью. Представлены различные модели арифметического кодирования, чтобы перекрыть различные статистические особенности группировок бит.

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

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

Параметрическое аудиокодирование использует для кодирования общих аудиосигналов технику HILN (Harmonic and Individual Lines plus Noise) при скоростях 4 Кбит/с, а выше применяется параметрическое представление аудиосигналов. Основной идеей этой методики является разложение входного сигнала на аудиообъекты, которые описываются соответствующими моделями источника и представляются модельными параметрами. В кодировщике HILN используются модели объектов для синусоид, гармонических тонов и шума.

Как известно из кодирования речи, где используются специализированные модели источника, основанные на процессе генерации звуков в человеческом голосовом тракте, продвинутые модели источника могут иметь преимущество, в частности, для схем кодирования с очень низкими скоростями передачи.

Из-за очень низкой скорости передачи могут быть переданы только параметры для ограниченного числа объектов. Следовательно, модель восприятия устроена так, чтобы отбирать те объекты, которые наиболее важны для качества приема сигнала.

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

Очень интересное следствие этой схемы параметрического кодирования проистекает из того факта, что сигнал описан через параметры частоты и амплитуды. Эта презентация сигнала позволяет изменять скорость и высоту звука простой вариацией параметров декодера. Параметрический аудиокодировщик HILN может быть объединен с параметрическим кодировщиком речи MPEG-4 (HVXC), что позволит получить интегрированный параметрический кодировщик, покрывающий широкий диапазон сигналов и скоростей передачи. Этот интегрированный кодировщик поддерживает регулировку скорости и тона. Используя в кодировщике средство классификации речи/музыки, можно автоматически выбрать HVXC для сигналов речи и HILN для музыкальных сигналов. Такое автоматическое переключение HVXC/HILN было успешно продемонстрировано, а средство классификации описано в информативном приложении стандарта версии 2.

Средство "сжатия тишины" уменьшает среднюю скорость передачи благодаря более эффективному сжатию пауз (тишины). В кодировщике детектор активности голоса используется для разделения областей с нормальной голосовой активностью и зон молчания или фонового шума. Во время нормальной голосовой активности используется кодирование CELP, как в версии 1. В противном случае передается дескриптор SID (Silence Insertion Descriptor) при малой скорости передачи. Этот дескриптор SID активирует в декодере генератор CNG (Comfort Noise Generator). Амплитуда и форма спектра этого шума специфицируются энергией и параметрами LPC, как в обычном кадре CELP. Эти параметры являются опционной частью SID и, таким образом, могут модифицироваться.

Объект HVXC, устойчивый к ошибкам (ER), поддерживается средствами параметрического кодирования голоса (ER HVXC), которые предоставляют режимы с фиксированными скоростями обмена (2,0-4,0 Кбит/с) и режим с переменной скоростью передачи (<2,0 Кбит/с, <4,0 Кбит/с) в рамках масштабируемой и не масштабируемой схем. В версии 1 HVXC режимом с переменной скоростью передачи поддерживается максимум 2,0 Кбит/с, а режимом с переменной скоростью передачи в версии ER HVXC 2 дополнительно поддерживается максимум в 4,. Кбит/с. ER HVXC обеспечивает качество передачи голоса международных линий (100-3800 Гц) при частоте стробирования 8 КГц. Когда разрешен режим с переменной скоростью передачи, возможна работа при низкой средней скорости передачи. Речь, кодированная в режиме с переменной скоростью передачи, при среднем потоке 1,5 Кбит/с и типовом среднем значении 3,0 Кбит/ с имеет практически то же качество, что для 2,0 Кбит/с при фиксированной скорости и 4,0 Кбит/с соответственно. Функциональность изменения тона и скорости при декодировании поддерживается для всех режимов. Кодировщик речи ER HVXC ориентирован на приложения мобильной и спутниковой связи, до IP-телефонии и голосовых баз данных.

Средства пространственной характеристики среды позволяют создавать аудиосцены с более естественными источниками звука и моделированием звукового окружения, чем это возможно в версии 1. Поддерживается как физический подход, так и подход восприятия. Физический подход основан на описании акустических свойств среды (например, геометрии комнаты, свойств конструкционных материалов, положения источников звука) и может быть использован в приложениях подобно 3D виртуальной реальности. Подход с позиций восприятия позволяет на высоком уровне описать аудиовосприятие сцены, основанное на параметрах, подобных тем, что используются блоком эффекта реверберации. Таким образом, аудио- и визуальная сцена могут быть сформированы независимо, как это обычно требуется при создании кинофильмов. Хотя пространственные характеристики среды относятся к аудио, они являются частью описания BIFS (BInary Format for Scene) в системах MPEG-4 и называются продвинутым AudioBIFS.

Канал обратной связи (back channel) позволяет передать запрос клиента и/или клиентского терминала серверу. Посредством такого канала может быть реализована интерактивность. В системе MPEG-4 о необходимости канала обратной связи клиентский терминал оповещается с помощью соответствующего дескриптора элементарного потока, характеризующего параметры этого канала. Терминал клиента открывает этот канал так же, как и обычные каналы. Объекты (например медиа- кодировщики или декодеры), которые соединены через канал обратной связи, известны благодаря параметрам, полученным через дескриптор элементарного потока, и за счет ассоциации дескриптора элементарного потока с дескриптором объекта. В MPEG-4 Аудио канал обратной связи служит для настройки скорости передачи, масштабируемости и системы защиты от ошибок.

Транспортный поток MPEG-4 Аудио определяет механизм передачи аудиопотоков MPEG-4 без использования систем MPEG-4 и предназначен исключительно для аудиоприложений. Транспортный механизм использует двухуровневый подход, в частности, уровни мультиплексирования и синхронизации. Уровень мультиплексирования (Low-overhead MPEG-4 Audio Transport Multiplex: LATM) управляет мультиплексированием нескольких информационных полей MPEG-4 аудио и аудиоконфигурационной информации. Уровень синхронизации специфицирует синтаксис транспортного потока MPEG-4 Аудио, который называется LOAS (Low Overhead Audio Stream — аудиопоток с низкой избыточностью). Интерфейсный формат для транспортного уровня зависит от нижележащего коммуникационного уровня.

Синтетический звук

MPEG-4 определяет декодеры для генерирования звука на основе нескольких видов структурированного ввода. Текстовый ввод преобразуется в декодере TTS (Text-To-Speech), в то время как прочие звуки, включая музыку, могут синтезироваться стандартным путем. Синтетическая музыка может транспортироваться при крайне низких потоках данных.

Декодеры TTS (Text To Speech) работают при скоростях передачи от 200 бит/с до 1,2 Кбит/с, что позволяет использовать при синтезе речи в качестве входных данных текст или текст с просодическими параметрами (тональная конструкция, длительность фонемы, и т.д.). Такие декодеры поддерживают генерацию параметров, которые могут быть использованы для синхронизации с анимацией лица, при осуществлении перевода с другого языка и для работы с международными символами фонем. Дополнительная разметка применяется для передачи в тексте управляющей информации, которая переадресуется другим компонентам для обеспечения синхронизации с текстом. Заметим, что MPEG-4 обеспечивает стандартный интерфейс для работы кодировщика TTS ( TTSI = Text To Speech Interface), но не для стандартного TTS-синтезатора.

Синтез с множественным управлением (Score Driven Synthesis)

Средства структурированного аудио декодируют входные данные и формируют выходной звуковой сигнал. Это декодирование управляется специальным языком синтеза, называемым SAOL (Structured Audio Orchestra Language), который является частью стандарта MPEG-4. Этот язык используется для определения "оркестра", созданного из "инструментов" (загруженных в терминал потоком данных), которые формирует и обрабатывает управляющую информацию. Инструмент представляет собой маленькую сеть примитивов обработки сигналов, которые могут эмулировать некоторые специфические звуки настоящих акустических инструментов. Сеть обработки сигналов может быть реализована аппаратно или программно и включать как генерацию, так и обработку звуков, а также манипуляцию записанными ранее звуками.

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

Управление синтезом выполняется путем включения примитивов (score) или скриптов в поток данных. Примитив представляет собой набор последовательных команд, которые включают различные инструменты в определенное время и добавляют их сигнал в общий музыкальный поток или формируют заданные звуковые эффекты. Описание примитива, записанное на языке SASL (Structured Audio Score Language), может использоваться для генерации новых звуков, а также включать дополнительную управляющую информацию для модификации существующих звуков. Это позволяет композитору осуществлять тонкое управление синтезированными звуками. Для процессов синтеза, которые не требуют такого тонкого контроля для управления оркестром, может также использоваться протокол MIDI.

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

Для терминалов с меньшей функциональностью и для приложений, которые не требуют такого сложного синтеза, стандартизован также формат волновой таблицы (wavetable bank format). Используя этот формат, можно загрузить звуковые образцы для использования при синтезе, а также выполнить простую обработку — фильтрацию, реверберацию ввод эффекта хора. В этом случае вычислительная сложность необходимого процесса декодирования может быть точно определена из наблюдения потока данных, что невозможно при использовании SAOL.

По инициативе ряда компаний (Philips Business Electronics, Sony и Nokia) была создана экспертная группа по мультимедиа и гипермедиа MHEG (Multimedia Hypermedia Expert Group (ISO/IEC DIS 13522-5, 1995 г.); см. http://www.mheg.org/users/mheg/archives.htm и http://www.mheg.org/users/mheg/archives/doc/dsmcc-mheg.zip), которая определила стандарт для обмена мультимедийными объектами (видео, звук, текст и другие данные) между приложениями и передачи их разными способами (локальная сеть, сети телекоммуникаций и вещания) с использованием объектных классов MHEG. Этот стандарт позволил программным объектам включать в себя любую систему кодирования, которая определена в базовом приложении. MHEG был принят Советом по цифровому видео и звуку ( DAVICDigital Audio-Visual Council; см. http://www.mheg.org/users/mheg/archives/doc/14B94R10.zip). MHEG-объекты создаются мультимедийными приложениями. MHEG — будущий международный стандарт интерактивного TV.

Стандарты MPEG-6, предназначавшийся для беспроводной передачи данных, и MPEG-8, цель которого — четырехмерное описание объектов, так и не увидели свет.

В рамках MPEG-4 было введено понятие аудио- и видеообъектов. Дальнейшее развитие эта технология нашла в стандарте MPEG-7. Здесь расширяется понятие сцены и ее описания, делаются подходы к решению задачи поиска видео- и аудиообъектов в мультмедийном материале.

6.2. Стандарт MPEG-7

В октябре 1996 г. группа MPEG (Moving Picture Experts Group) начала разработку проблем, рассмотренных выше. Новым элементом семейства MPEG стал интерфейс описаний мультмедийного материала, называемый "Multimedia Content Description Interface" (или, сокращенно, MPEG-7), целью которого была стандартизация базовых технологий, позволяющих описание аудио-визуальных данных в рамках мультимедийной среды.

MPEG-7 является стандартом ISO/IEC, разработанным комитетом MPEG, который разработал стандарты MPEG-1, MPEG-2 и MPEG-4. Стандарты MPEG-1 и MPEG-2 сделали возможным интерактивное видео на CD-ROM и цифровое телевидение. Стандарт MPEG-4 предоставляет стандартизованные технологические элементы, позволяющие интеграцию парадигм производства, рассылки и доступа к содержимому в области цифрового телевидения, интерактивной графики и интерактивного мультимедиа.

MPEG-7 имеет целью стандартизовать описание мультимедийного материала, поддерживающего некоторый уровень интерпретации смысла информации, которая может быть передана для обработки ЭВМ. Стандарт MPEG-7 не ориентирован на какое-то конкретное приложение, он стандартизует некоторые элементы, которые рассчитаны на поддержку как можно более широкого круга приложений. Дополнительную информацию о MPEG-7 можно найти на web-странице MPEG-7 (Industry Focus Group), которая размещена по адресу http://www.mpeg-7.com. Эти web-страницы содержат ссылки на информацию об MPEG, включая описание MPEG-7, многие общедоступные документы, списки "Frequently Asked Questions" и ссылки на web-страницы MPEG-7. См. также http://book.itep.ru/2/25/mpeg_7.htm (на русc. яз.).

Введение в MPEG-7

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

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

MPEG-7 является стандартом ISO/IEC, разработанным MPEG. Стандарты MPEG-1 и MPEG-2 позволили производить широко распространенные коммерческие продукты, такие как интерактивные CD, DVD, цифровое широковещательное аудио (DAB), цифровое телевидение и многие другие коммерческие услуги. MPEG-4 является первым реальным мультимедийным стандартом для представления данных, который позволяет интерактивно работать с комбинациями натурального и синтетического материала, закодированного в виде объектов (он моделирует аудиовизуальные данные как комбинацию таких объектов). MPEG-4 предоставляет стандартизованные технологические элементы, допускающие интеграцию производства, распределения и доступа к мультимедийному материалу. Это относится к интерактивному и мобильному мультимедиа, интерактивной графике и улучшенному цифровому телевидению.

Стандарт MPEG-7 формально назван "Ultimedia Content Description Interface". MPEG-7 предоставит широкий набор стандартизованных средств описания мультимедиа-материала. В сфере действия MPEG-7 находятся как пользователи-люди, так и автоматические системы, выполняющие обработку аудио-визуального материала.

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

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

Аудио-визуальные источники будут играть в перспективе все большую роль в нашей жизни, и будет расти необходимость обрабатывать такие данные. Это делает необходимым обработку видов аудио-визуальной информации, имеющей волновую форму, компрессированный формат (такой как MPEG-1 и MPEG-2) или даже объектно-ориентированный, такой как MPEG-4.

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

Средства описаний MPEG-7 не зависят от способа кодирования и записи материала. Можно сформировать описание MPEG-7 аналогового фильма или картинки, которая напечатана на бумаге, точно так же, как и цифрового материала.

MPEG-7, как и другие объекты семейства MPEG, предоставляют стандартное представление аудио-визуальных данных, удовлетворяющих определенным требованиям. Одной из функций стандарта MPEG-7 является обеспечение ссылок на определенные части мультимедийного материала. Например, дескриптор формы, используемый в MPEG-4, может оказаться полезным в контексте MPEG-7, точно так же это может относиться к полям вектора перемещения, используемым в MPEG-1 и MPEG-2.

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

Если материал закодирован с использованием MPEG-4, который предоставляет средства кодирования аудио-визуального материала в виде объектов, имеющих определенные связи во времени (синхронизация) и в пространстве (на сцене для видео или в комнате для аудио), будет возможно связать описания с элементами (объектами) в пределах сцены, такими как аудио- и видеообъекты.

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

Возьмем в качестве примера визуальный материал: нижним уровнем абстракции будет описание, например формы, размера, текстуры, цвета, движения (траектории) и позиции ("где на сцене может размещаться объект"). А для аудио: ключ, тональность, темп, вариации темпа, положение в звуковом пространстве.

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

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

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

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

Следовательно, средства MPEG-7 позволят формировать описания (т.e. наборы схем описания и соответствующих дескрипторов по желанию пользователя) материала, который может содержать:

Все эти описания должны быть, конечно, эффективно закодированы для поиска, отбора и т.д.

Чтобы удовлетворить этому многообразию дополнительных описаний материала, MPEG-7 осуществляет описание материала с нескольких точек зрения. Наборы средств описаний, разработанные с учетом этих точек зрения, представляются в виде отдельных объектов. Однако они взаимосвязаны и могут комбинироваться множеством способов. В зависимости от приложения, некоторые будут присутствовать, другие — отсутствовать или присутствовать лишь частично.

Описание, сформированное с помощью средств MPEG-7, будет ассоциировано с самим материалом, чтобы позволить быстрый и эффективный поиск и фильтрацию материала, представляющего интерес для пользователя.

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

Тип материала и запрос могут не совпадать; например, визуальный материал может быть запрошен, используя визуальное содержимое, музыку, голос и т.д. Согласование данных запроса и описания MPEG-7 выполняется поисковыми системами и агентами фильтрации.

MPEG-7 применим ко многим различным приложениям в самых разных средах. Этот стандарт должен обеспечивать гибкую и масштабируемую схему описания аудио-визуальных данных. Следовательно, MPEG-7 не определяет монолитную систему описания материала, а предлагает набор методов и средств для различных подходов описания аудио-визуального материала. MPEG-7 сконструирован так, чтобы учесть все подходы, приспособленные к требованиям основных стандартов, таких как SMPTE Metadata Dictionary, Dublin Core, EBU P/Meta, и TV Anytime. Эти стандарты ориентированы на специфические приложения и области применения, в то время как MPEG-7 пытается быть как можно более универсальным.

MPEG-7 использует также схему XML в качестве языка выбора текстуального представления описания материала.

Главными элементами стандарта MPEG-7 являются:

MPEG-7 относится к приложениям, которые могут осуществлять запись (или реализовать поточную передачу, например, производить широковещательную пересылку в Интернет), и могут работать как в реальном масштабе времени, так и off-line. Среда реального времени в данном контексте означает, что описание генерируется в процессе приема материала.

На рис. 6.15 показана блок-схема системы обработки данных MPEG-7. Чтобы полностью использовать возможности описаний MPEG-7, автоматическое извлечение характеристик (или дескрипторов) может оказаться особенно заметным. Ясно также, что автоматическое извлечение не всегда возможно. Как было указано ранее, чем выше уровень абстракции, тем труднее автоматическое извлечение характеристик и тем полезнее интерактивные средства.

Область MPEG-7.


Рис. 6.15.  Область MPEG-7.

Чтобы улучшить понимание терминологии, введенной выше (т.e. дескриптор, схема описания и DDL), рассмотрим рис. 6.16 и рис. 6.17.

На рис. 6.16 продемонстрирована масштабируемость рассмотренной концепции. Более того, там показано, что DDL предоставляет механизм построения схемы описания, которая в свою очередь образует основу для формирования описания (см. также рис. 6.17).

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

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

Взаимодействие различных элементов MPEG-7


Рис. 6.16.  Взаимодействие различных элементов MPEG-7

Абстрактное представление возможных приложений на основе MPEG-7


Рис. 6.17.  Абстрактное представление возможных приложений на основе MPEG-7

Помимо самих дескрипторов, на рабочие характеристики системы довольно сильно влияют DB-структуры. Чтобы быстро решить, представляет ли данный материал какой-то интерес, нужно структурировать индексную информацию, например, иерархическим или ассоциативным способом.

Элементы, которые стандартизует MPEG-7, будут поддерживать широкий диапазон приложений (например, мультимедийные цифровые библиотеки, выбор широковещательного медийного материала, мультимедийное редактирование, домашние устройства для развлечений и т.д.).

MPEG-7 сделает мультимедийный поиск в WEB столь же простым, как и текстовый.

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

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

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

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

Метод разработки совместим с тем, что регламентировано в предыдущих стандартах MPEG. Работа над MPEG обычно выполнялась в три этапа: определение, соревнование и сотрудничество. На первой фазе определяется область действия и требования, предъявляемые к стандарту MPEG-7. На следующем этапе участники работают над различными технологиями самостоятельно. Результатом этого этапа является выработка документа CfP (Call for Proposals). В разработке стандарта участвовало около 60 коллективов, было получено 400 предложений.

Выбранные элементы различных предложений на завершающей фазе инкорпорированы в общую модель (eXperimentation Model или XM ) стандарта. Целью являлось построение наилучшей модели, которая по существу представляла собой проект стандарта. На завершающей фазе XM последовательно актуализовалась до тех пор, пока MPEG-7 в октябре 2000 года не достиг уровня CD (Committee Draft). Дальнейшее усовершенствование XM осуществлялось посредством базовых экспериментов ( CE — Core Experiments). CE призваны протестировать существующие средства с учетом новых возможностей и предложений. Наконец все части XM (или рабочего проекта), которые соответствуют нормативным элементам MPEG-7, были стандартизованы.

Стандарт MPEG-7 состоит из следующих частей:

  1. Системы MPEG-7. Средства, которые необходимы при подготовке описаний MPEG-7 для эффективной передачи и записи и для обеспечения синхронизации между материалом и описаниями. Эти средства имеют также отношение к охране интеллектуальной собственности.
  2. Язык описания определений MPEG-7. Язык для определения новых схем описания и, возможно, новых дескрипторов.
  3. MPEG-7 Audio — дескрипторы и схемы описания, имеющие отношение исключительно к описанию аудиоматериала.
  4. MPEG-7 Visual — дескрипторы и схемы описания, имеющие отношение исключительно к описанию визуального материала.
  5. MPEG-7 Multimedia Description Schemes — дескрипторы и схемы описания, имеющие отношение к общим характеристикам описаний мультимедиа.
  6. MPEG-7 Reference Software — программные реализации соответствующих частей стандарта MPEG-7.
  7. MPEG-7 Conformance — базовые принципы и процедуры тестирования рабочих характеристик практических реализаций MPEG-7.

Главные функции MPEG-7

Системы MPEG-7

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

Язык описания определений MPEG-7

Согласно определению, в MPEG-7 язык описания определений DDL (Description Definition Language) представляет собой:

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

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

Аудио MPEG-7

Окончательный проект аудио MPEG-7 представляет шесть технологий: система аудиоописаний (которая включает в себя дерево шкал и низкоуровневые дескрипторы), средства описания звуковых эффектов, средства описания тембра инструмента, описание голосового материала, сегмент молчания и дескрипторы мелодии, облегчающие обработку запросов.

Визуальный MPEG-7

Средства визуального описания MPEG-7, включенные в CD/XM, состоят из базовых структур и дескрипторов, которые задают следующие визуальные характеристики:

Каждая категория состоит из элементарных и составных дескрипторов.

Основные объекты и схемы описания мультимедиа MPEG-7

Базисом схем описания мультимедиа MDS (Multimedia Description Schemes) является стандартизация набора средств описания ( дескрипторы и схемы описания ), имеющих дело с общими и мультимедийными объектами.

Общими объектами являются характеристики, которые используются в аудио-, видео- и текстовых описаниях и, следовательно, характеризуют все медийные типы материала. Такими характеристиками могут быть, например, вектор, время и т.д.

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

  1. Описание материала: представление воспринимаемой информации.
  2. Управление материалом: информация о характере медийного материала, формирование и использование АВ материала.
  3. Организация материала: представление анализа и классификации нескольких AВ материалов.
  4. Поиск и доступ: спецификация кратких характеристик и изменений АВ-материала.
  5. Взаимодействие с пользователем: описание предпочтений пользователя и истории использования мультимедийного материала.
Эталонные программы MPEG-7: модель экспериментов (eXperimentation Model)

Программное обеспечение модели XM (eXperimentation Model) представляет собой систему моделирования для дескрипторов MPEG-7 (D), схем описания (DS), схем кодирования (CS), языка описания определений (DDL). Кроме нормативных компонентов, системе моделирования необходимы некоторые дополнительные элементы, существенные при исполнении некоторых процедурных программ. Структуры данных и процедурные программы образуют приложения. Приложения XM имеют две разновидности: приложения клиента и сервера.

Детальное техническое описание стандарта MPEG-7

Системы MPEG-7

Системы MPEG-7 в настоящее время определяют архитектуру терминала и нормативных интерфейсов.

Архитектура терминала

Представление информации, специфицированное в стандарте MPEG-7, определяет средства описаний кодированного мультимедийного материала. Объект, который использует такое кодовое представление мультимедийного материала, называется "терминалом". Этот терминал может соответствовать отдельно стоящему приложению или быть целой прикладной системой. Архитектура такого терминала изображена на рис. 4.4, а его работа описана ниже.

В нижней части рис. 6.18 размещена система передачи/записи. Это относится к нижнему уровню инфраструктуры доставки (сетевой уровень и ниже). Эти уровни передают мультиплексированные потоки данных уровню доставки. Транспортная среда MPEG-7 базируется на многих системах доставки данных. Они включают в себя, например, транспортные потоки MPEG-2, IP или MPEG-4 (MP4) файлы или потоки. Уровень доставки реализует механизмы, позволяющие выполнять синхронизацию, формирование кадров и мультиплексирование материала MPEG-7. Материал MPEG-7 может быть доставлен независимо или вместе с данными, которые он описывает. Архитектура MPEG-7 позволяет передавать данные (например, запросы) назад из терминала к отправителю или серверу.

Архитектура MPEG-7


Рис. 6.18.  Архитектура MPEG-7

Уровень доставки предоставляет уровню сжатия MPEG-7 элементарные потоки. Элементарные потоки MPEG-7 состоят из последовательности индивидуально доступных порций данных, называемых блоками доступа (Access Units). Блок доступа является наименьшим информационным объектом, к которому может относиться временная информация. Элементарные потоки MPEG-7 содержат данные различной природы:

Уровень доставки приложения может также по запросу доставлять мультимедийный материал. Для этих целей могут использоваться существующие средства доставки.

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

Синтаксис текстуального формата определен в части 2 (DDL — Description Definition Language) стандарта. Синтаксис двоичного формата (BiM — двоичный формат для данных MPEG-7) определен в части 1 (системы) стандарта. Схемы определены в частях 3, 4 и 5 (визуальная, аудио- и схемы описания мультимедиа) стандарта.

На уровне компрессии производится разборка потока блоков доступа (текстуальных или двоичных), а описания материала реконструируются. MPEG-7 не препоручает реконструкцию текстуального представления в качестве промежуточного шага декодирующему процессу. Двоичный поток MPEG-7 может быть разобран с помощью BiM, передан в текстовом формате и затем в этом виде транспортирован для последующей реконструкционной обработки, или двоичный поток может быть разобран, а затем передан в подходящем формате для последующей обработки.

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

Нормативные интерфейсы

MPEG-7 имеет два нормативных интерфейса, как это показано на рис. 6.19.

Нормативные интерфейсы MPEG-7


Рис. 6.19.  Нормативные интерфейсы MPEG-7

Далее описывается, как проверяется то, что двоичное и текстуальное представление являются адекватными одному и тому же материалу. Этот процесс представлен на рис. 6.20.

Процесс верификации


Рис. 6.20.  Процесс верификации

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

  1. описание материала преобразуется в текстуальный и двоичный форматы без потерь, генерируя два разных представления одного и того же материала;
  2. эти два кодированных описания декодируются соответствующими двоичным и текстовым декодерами;
  3. из реконструированных описаний материала генерируются два канонических описания;
  4. два канонических описания должны быть эквивалентны.

Описание канонической презентации XML-документа определено в Canonical XML.

Язык описания определений MPEG-7 (DDL)

Главные средства, используемые в описаниях MPEG-7, — это DDL (Description Definition Language), схемы описаний ( DS ) и дескрипторы ( D ). Дескрипторы связывают характеристики с набором их значений. Схемы описания являются моделями мультимедийных объектов и всего многообразия элементов, которые они представляют, например модели данных описания. Они специфицируют типы дескрипторов, которые могут быть использованы в данном описании, и взаимоотношения между этими дескрипторами или между данными схемами описания.

Язык DDL образует центральную часть стандарта MPEG-7. Он обеспечивает надежную описательную основу, с помощью которой пользователь может создать свои собственные схемы описания и дескрипторы. DDL определяет семантические правила выражения и комбинации схем описания и дескрипторов.

DDL не является языком моделирования, таким как UML (Unified Modeling Language), а языком схем для представления результатов моделирования аудио-визуальных данных, например DS и D.

DDL должен удовлетворять требованиям MPEG-7 DDL. Он должен быть способен выражать пространственные, временные, структурные и концептуальные взаимоотношения между элементами DS и между самими DS. Он должен предоставить универсальную модель для связей и ссылок между одним или более описаниями и данными, которые им описываются. Кроме того, язык не должен зависеть от платформы и приложения. Его должна читать как машина, так и человек. MPEG-7 должен базироваться на синтаксисе XML. Необходима также система разборки DDL (парсинга), которая имеет возможность проверять схемы описания (материал и структуру) и дескрипторы типа данных — как примитивные (целое, текст, дата, время), так и составные (гистограммы, нумерованные типы).

Разработка контекста

Так как схемный язык XML не был специально разработан для аудиовизуального материала, необходимы определенные расширения, для того чтобы удовлетворить всем требованиям MPEG-7 DDL.

Обзор схемы XML

Целью схемы является определение класса XML-документов путем использования конкретных конструкций, чтобы наложить определенные ограничения на их структуру: элементы и их содержимое, атрибуты и их значения, количество элементов и типы данных. Схемы можно рассматривать как некоторые дополнительные ограничения на DTD.

Главной рекомендацией MPEG-7 AHG было использование схемы, базирующейся на XML. В начале разработки имелось много решений, но ни одно из них не оказалось достаточно стабильным. Улучшенная стабильность схемного языка XML, его потенциально широкое поле применения, доступность средств и программ разборки, а также его способность удовлетворить большинству требований MPEG-7 привели к тому, что схема XML явилась основой DDL. DDL делится на следующие логические нормативные компоненты:

Схема XML: Структуры

Схема XML: Структуры являются частью 2-частной спецификации XML-схемы. Она предоставляет средства для описания структуры и ограничений, налагаемых на материалы документов XML 1.0. Схема XML состоит из набора компонентов структурной схемы, которые могут быть разделены на три группы. Первичными компонентами являются:

Вторичными компонентами являются:

Третья группа образована компонентами helper, которые входят в другие компоненты и не могут существовать отдельно:

Определения типа задают внутренние компоненты схемы, которые могут использоваться в других компонентах, таких как элементы, атрибуты деклараций или другие определения типа. Схема XML предоставляет два вида компонентов определения типа:

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

Схема XML: Типы данных

XML Schema:Datatypes является второй частью 2-частной схемной спецификации XML. Она предлагает возможности определения типов данных, которые могут быть использованы для ограничения свойств типов данных элементов и атрибутов в рамках схем XML. Она предлагает более высокую степень проверки типа, чем доступна для XML 1.0 DTD:

Подробные детали встроенных типов данных и механизмы получения вторичных типов можно найти в окончательном проекте DDL или в спецификации XML Schema:Datatypes.

Аудио MPEG-7

Аудио MPEG-7 FCD включает в себя пять технологий: структура аудиоописания (которая включает в себя масштабируемые последовательности, дескрипторы нижнего уровня и униформные сегменты тишины), средства описания тембра музыкального инструмента, средства распознавания звука, средства описания голосового материала и средства описания мелодии.

Описание системы аудио MPEG-7

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

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

Величины, полученные в результате стробирования, сами могут подвергаться последующей обработке с привлечением другого унифицированного интерфейса: они могут образовать масштабируемые ряды (Scalable Series). Дерево шкал может также хранить различные сводные значения — минимальное, максимальное значение дескриптора и его дисперсию.

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

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

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

Кроме того, очень простым, но полезным средством является дескриптор тишины. Он использует простую семантику "тишины" (то есть отсутствие значимого звука) для аудиосегмента. Такой дескриптор может служить для целей дальнейшей сегментации аудиопотока.

Средства описания аудио верхнего уровня (D и DS)

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

Дескрипторы тембра служат для описания характеристик восприятия звуков. Тембр в настоящее время определен в литературе как характеристика восприятия, которая заставляет два звука, имеющих одну высоту и громкость, восприниматься по-разному. Целью средства описания тембра является представление этих характеристик восприятия сокращенным набором дескрипторов. Дескрипторы относятся к таким понятиям как "атака" (резкое начало), "яркость" или "богатство" звука.

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

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

Средства распознавания используют в качестве основы спектральные базисные дескрипторы низкого уровня. Эти базисные функции далее сегментируются и преобразуются в последовательность состояний, которые заключают в себя статистическую модель, такую как смешанная модель Маркова или Гаусса. Эта модель может зависеть от своего собственного представления, иметь метку, ассоциированную с семантикой исходного звука, и/или с другими моделями для того, чтобы категорировать новые входные звуковые сигналы для системы распознавания.

Средства описания Spoken Content позволяет детальное описание произнесенных слов в пределах аудиопотока. Учитывая тот факт, что сегодняшнее автоматическое распознавание речи ASR -технологий (Automatic Speech Recognition) имеет свои ограничения и что всегда можно столкнуться с высказыванием, которого нет в словаре, средства описания Spoken Content жертвуют некоторой компактностью ради надежности поиска. Чтобы этого добиться, средства отображают выходной поток, а также текущий результат автоматического распознавания речи. Средства могут использоваться для двух широких классов сценария поиска: индексирование и выделение аудиопотока и индексирование мультимедийных объектов, аннотированных голосом.

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

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

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

Видео MPEG-7

Средства визуального описания MPEG-7, включенные в CD/XM, состоят из базовых структур и дескрипторов, которые охватывают следующие основные визуальные характеристики:

Каждая категория состоит из элементарных и составных дескрипторов.

Базовые структуры

Существует пять визуально связанных базовых структур: сеточная выкладка, временные ряды (TimeSeries), многопроекционность (MultiView), пространственные 2D-координаты и временная интерполяция (TemporalInterpolation).

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

Дескриптор 2D/3D специфицирует структуру, которая комбинирует 2D-дескрипторы — они представляют визуальные параметры 3D-объекта, видимые с различных точек. Дескриптор образует полное 3D-представление объекта на основе его проекций. Может использоваться любой визуальный 2D-дескриптор, например форма контура, форма области, цвет или текстура. Дескриптор 2D/3D поддерживает интеграцию 2D-дескрипторов, используемых в плоскости изображения для описания характеристик 3D-объектов (реальный мир). Дескриптор позволяет осуществлять сравнение 3D-объектов путем сравнения их проекций.

Этот дескриптор определяет в видеосегменте дескрипторы временных рядов и предоставляет возможность сравнения изображения с видеокадром и видеокадров друг с другом. Доступно два типа временных рядов (TimeSeries): RegularTimeSeries и IrregularTimeSeries. В первом из них дескрипторы размещаются регулярным образом (с постоянным шагом) в пределах заданного временного интервала. Это допускает простое представление для приложений, которые предполагают ограниченную сложность. Во втором — дескрипторы размещаются нерегулярно (с переменными интервалами) в пределах заданного временного интервала. Это обеспечивает эффективное представление для приложений, которые требуют малой полосы пропускания или малой емкости памяти. Они полезны, в частности, для построения дескрипторов, которые содержат временные ряды дескрипторов.

Такое описание определяет 2D пространственную координатную систему, которую следует использовать в других D/DS, где это важно. Оно поддерживает два вида координатных систем: локальную и интегрированную (рис. 6.21). В локальной координатной системе все изображения привязаны к одной точке. В интегрированной координатной системе каждое изображение (кадр) может быть привязано к разным областям. Интегрированная координатная система может использоваться для представления координат на мозаичном видеоснимке.

"Локальная" и "интегрированная" координатные системы: a) "локальные" координаты b) "интегрированные" координаты


Рис. 6.21.  "Локальная" и "интегрированная" координатные системы: a) "локальные" координаты b) "интегрированные" координаты

TemporalInterpolation D описывает временную интерполяцию, использующую связанные многогранники. Это может применяться для аппроксимации многомерных значений переменных, которые меняются со временем, например положение объекта в видео. Размер описания временной интерполяции обычно много меньше, чем описание всех величин. На рис. 6.22 25 реальных величин представлены пятью линейными интерполяционными функциями и двумя квадратичными интерполяционными функциями. Начало временной интерполяции всегда привязывается ко времени 0.

Описатели цвета

Существует восемь дескрипторов цвета: цветового пространства, доминантных цветов, цветовой дискретизации, GoF/GoP цвета, цветовой структуры, цветового размещения и масштабируемой гистограммы цветов.

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

Реальные данные и функции интерполяции


Рис. 6.22.  Реальные данные и функции интерполяции

Этот дескриптор определяет дискретизацию цветового пространства и поддерживает линейные и нелинейные преобразователи, а также lookup-таблицы. Число уровней квантования конфигурируемо так, чтобы обеспечить большую гибкость для широкого диапазона приложений. В случае нелинейного АЦП ширина канала преобразования может также конфигурироваться. Для разумных приложений в контексте MPEG-7 этот дескриптор должен комбинироваться с другими, например, чтобы характеризовать значения в цветовой гистограмме.

Этот дескриптор цвета является наиболее удобным для представления локальных характеристик (области объекта или изображения), где для предоставления цветовой информации достаточно малого числа цветов. Могут использоваться и полные изображения, например картинки флагов или цветных торговых марок. Квантование цвета используется для получения малого числа характерных цветов в каждой области/изображении. Соответственно вычисляется процент каждого дискретизируемого цвета в области.

Дескриптор масштабируемого цвета (Scalable Color) является гистограммой цветов в цветном пространстве HSV, которая кодируется с помощью преобразования Хара. Ее двоичное представление является масштабируемым с точки зрения числа каналов и числа бит, характеризующих значение точности в широком диапазоне потоков данных. Дескриптор масштабируемого цвета полезен для сравнения изображений и поиска, базирующегося на цветовых характеристиках. Точность отображения возрастает с увеличением числа бит, используемых для описания.

Дескриптор цветовая структура (Color Structure) является описателем цветовой характеристики, которая объединяет цветовое содержимое (аналогично цветовой гистограмме) и информацию о структуре материала. Его главная задача — сравнение изображений главным образом для статических картинок. Метод выборки вводит данные о цветовой структуре в дескриптор, учитывая локально цвета окрестных пикселей, и не анализирует каждый пиксель отдельно. Дескриптор цветовая структура обеспечивает дополнительную функциональность и улучшенный поиск, базирующийся на подобии естественных изображений.

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

Дескриптор цвета группа_кадров/группа_картинок (GoF/GoP) расширяет возможности дескриптора масштабируемого цвета, который определен для статических изображений, чтобы выполнять цветовое описание видеосегментов или собрания статических изображений. Дополнительные два бита позволяют определить, была ли вычислена цветовая гистограмма, прежде чем было осуществлено преобразование Хара: для усреднения, медианы или пересечения. Усредненная гистограмма, которая соответствует усредненному значению счетчика для каждой ячейки всех кадров или изображений, эквивалентна вычислению совокупной цветовой гистограммы всех кадров или изображений с последующей нормализацией. Медианная гистограмма соответствует вычислению медианного значения счетчика для каждой ячейки совокупности кадров или изображений. Она дает возможность более надежно округлять ошибки и сглаживать выбросы в распределении яркости изображения по сравнению с усредненной гистограммой. Гистограмма пересечения соответствует вычислению минимального значения счетчика для каждой ячейки совокупности кадров или изображений, чтобы получить цветовые характеристики "наименьшего общего" группы изображений. Заметим, что это отличается от гистограммы пересечения, которая является скалярной мерой. Аналогичные меры сходства/различия, которые используются для сравнения масштабируемых цветовых описаний, могут быть применены для сопоставления цветовых дескрипторов GoF/GoP.

Описатели текстуры

Существует три текстурных дескриптора: Edge Histogram, Homogeneous Texture и Texture Browsing.

Однородная текстура представляет собой важный визуальный примитив для поиска и просмотра большой коллекции сходных образов. Изображение может рассматриваться как мозаика однородных текстур, так что эти текстурные характеристики, соответствующие областям, могут использоваться для индексации визуальных данных. Например, пользователь, просматривающий абстрактную базу данных изображений, может захотеть идентифицировать различные блоки в этой коллекции изображений. Блоки с автомашинами, запаркованными регулярным образом, служат хорошим примером однородного текстурного образца, рассматриваемого с большого расстояния, как это происходит при аэросъемке. Аналогично, сельскохозяйственные области и участки растительности являются другим примером однородных текстур, встречающихся при аэро- и спутниковых наблюдениях. Примеры запросов, которые могут поддерживаться в этом контексте, могут выглядеть так: "Поиск всех спутниковых изображений Санта Барбары, которые имеют меньше чем 20% облачного покрытия"или "Найти растительный участок, который выглядит как эта область". Чтобы поддерживать такой поиск изображений, необходимо эффективное представление текстуры. Дескриптор однородной текстуры предоставляет количественное представление, используя 62 числа (по 8 бит каждое), которое удобно для поиска сходства. Получение данных осуществляется следующим образом; изображение сначала обрабатывается посредством набора фильтров Габора, настроенных на определенные ориентации и масштаб (смоделированные с помощью функций Габора). Дескриптор однородной текстуры предоставляет точное количественное описание текстуры, которое может использоваться для поиска. Вычисление этого дескриптора базируется на фильтрации.

Дескриптор просмотра текстуры (Texture Browsing) полезен для представления однородной текстуры в приложениях, служащих для просмотра, и требует только 12 бит (максимум). Он предоставляет перцептуальную характеристику текстуры, аналогично человеческому описанию в терминах регулярности, шероховатости, ориентированности. Вычисление этого дескриптора осуществляется так же, как и дескриптора однородной текстуры. Сначала изображение фильтруется с помощью набора специально настроенных фильтров (смоделированных посредством функций Габора); в отфильтрованном результате идентифицируются два доминантных ориентаций текстуры. Три бита используются для представления каждой из доминантных ориентаций. За этим следует анализ проекций отфильтрованного изображения вдоль доминантных направлений, чтобы определить регулярность (характеризуемую двумя битами) и загрубленность (2 бита x 2). Этот дескриптор совместно с дескриптором однородной текстуры предоставляет масштабируемое решение для представления областей изображения с однородной текстурой.

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

Описатели формы

Существует четыре типа дескрипторов формы: объектная форма, базирующаяся на областях, форма, базирующаяся на контурах, 3D-форма и 2D-3D множественные проекции.

Форма объекта может состоять из одной области или набора областей, а также некоторых отверстий в объектах, как это показано на рис. 6.23. Дескриптор формы, базирующейся на областях, использует все пиксели, определяющие форму в пределах кадра. Он может описывать любую форму, то есть не только простые формы с односвязными областями, как на рис. 6.23 (a) и (b), но также сложные формы, которые содержат отверстия или несколько несоединенных областей, как показано на рис. 6.23 (c), (d) и (e) соответственно. Дескриптор формы, базирующейся на областях, может не только эффективно описать столь несхожие формы, но и минимизировать искажения на границах объекта.

На рис. 6.23 (g), (h) и (i) показаны очень схожие изображения чашки. Различия имеются только в форме ручки. Форма (g) имеет трещину на нижней части ручки, в то время как в (i) ручка не имеет отверстия. Дескриптор формы, базирующейся на областях, рассматривает (g) и (h) подобными, но отличными от (i), так как там ручка не имеет отверстия. Аналогично, на рис. 6.23 (j-l) показана часть видео последовательности, где два диска постепенно разделяются. С точки зрения дескриптора формы, базирующейся на областях, эти картинки схожи.

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

Дескриптор характеризуется малым размером и быстрым временем поиска. Размер данных для представления является фиксированным и равен 17,5 байтам.

Примеры различной формы


Рис. 6.23.  Примеры различной формы

Дескриптор формы, базирующейся на контуре объекта, использует CurvatureScaleSpace-представление контура. Это представление имеет несколько важных особенностей, в частности:

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



Рис. 6.24. 

На рис. 6.24 (a) продемонстрированы свойства обобщения формы (внешнее сходство различных форм), (b) устойчивость по отношению к плавному движению (бегущий человек), (c) устойчивость к частичному перекрытию (хвосты или ноги лошадей).

В ходе непрерывного развития мультимедийных технологий и виртуальных миров 3D-материал становится обычным для современных информационных систем. В большинстве случаев 3D-информация представляется в виде сетки многоугольников. Группа MPEG-4, в рамках подгруппы SNHC, разрабатывала технологии для эффективного кодирования модели 3D-сеток. В стандарте MPEG-7 необходимы средства для интеллектуального доступа к 3D-информации. Главные приложения MPEG-7 имеют целью поиск, получение и просмотр баз 3D-данных.

Предлагаемый дескриптор 3D-формы имеет целью предоставление внутреннего описания формы сеточных 3D-моделей. Он использует некоторые локальные атрибуты 3D-поверхности.

Дескрипторы перемещения

Существует четыре дескриптора перемещения: перемещение камеры, траектория перемещение объекта, параметрическое движение объекта и двигательная активность.

Дескриптор перемещения камеры характеризует параметры перемещения 3D-камеры. Он базируется на информационных параметрах 3D-перемещения камеры, которые могут быть автоматически получены.

Дескриптор движения камеры поддерживает следующие стандартные операции (см. рис. 6.25): фиксированное положение, панорамное движение (горизонтальное вращение), слежение за движущимся объектом (горизонтальное поперечное перемещение), вертикальное вращение, вертикальное поперечное перемещение, изменение фокусного расстояния, наезд (трансфокация вдоль оптической оси) и вращение вокруг оптической оси.

Перемещения камеры


Рис. 6.25.  Перемещения камеры

Отрывок, для которого все кадры характеризуются определенным типом перемещения камеры, относящееся к одному виду или нескольким, определяет базовые модули для дескриптора перемещения камеры. Каждый составляющий блок описывает начальный момент, длительность, скорость перемещения изображения и увеличение фокусного расстояния (FOE) (или сокращение фокусного расстояния — FOC). Дескриптор представляет объединение этих составляющих блоков, он имеет опцию описания смеси типов перемещения камеры. Смешанный режим воспринимает глобальную информацию о параметрах перемещения камеры, игнорируя детальные временные данные, при помощи совместного описания нескольких типов движения, даже если эти типы перемещения осуществляются одновременно. С другой стороны, несмешанный режим воспринимает понятие чистых перемещений и их совмещения на протяжении определенного временного интервала. Ситуации, когда одновременно реализуется несколько типов перемещений, описывается как суперпозиция описаний чистых независимых типов перемещения. В этом режиме описания временное окно конкретного элементарного сегмента может перекрываться с временным окном другого элементарного сегмента.

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

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

список ключевых точек ( x, y, z, t ) вместе с набором опционных интерполирующих функций, которые описывают путь объекта между ключевыми точками в терминах ускорения. Скорость неявно известна с помощью спецификации ключевых точек. Ключевые точки специфицируются путем задания моментов времени или их 2D или 3D декартовых координат, в зависимости от приложения. Интерполирующие функции определены для каждого компонента x(t), y(t) и z(t) независимо. Некоторые свойства этого представления перечислены ниже:

Модели параметрического движения были использованы в рамках различных схем анализа и обработки изображения, включая сегментацию перемещения, оценки глобального перемещения и отслеживание объектов. Модели параметрического перемещения использовались уже в MPEG-4, для оценки перемещения и компенсации. В контексте MPEG-7 перемещение является крайне важной характеристикой, связанной с пространственно-временной структурой видео, относящейся к нескольким специфическим MPEG-7 приложениям, таким как запоминание и поиск в видеобазах данных. Движение является также критической характеристикой для некоторых специфических приложений, которые уже рассматривались в рамках MPEG-7.

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

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

Определение подобия характеристик моделей движения является обязательным для эффективного поиска объектов. Оно также необходимо для поддержки запросов нижнего уровня, полезно и в запросах верхнего уровня, таких как "поиск объектов приближающихся к камере", или для "объектов, описывающих вращательное движение", или "поиск объектов, перемещающихся влево" и т.д.

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

Локализация

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

Локатор описывает пространственно-временные области в видеопоследовательности, такие как области движущихся объектов, и обеспечивает функцию локализации. Главным его приложением является гипермедиа, где выделенная точка находится внутри объекта. Другим ведущим приложением является поиск объектов путем проверки, прошел ли объект определенные точки. Это может использоваться для наблюдения. Дескриптор SpatioTemporalLocator может описывать как связанные, так и несвязанные области.

Пространственно-временная область


Рис. 6.26.  Пространственно-временная область

Дескриптор FaceRecognition может использоваться для получения изображения лиц, которые соответствуют запросу. Дескриптор представляет проекцию вектора лица на набор базовых векторов, которые охватывают пространство возможных векторов лица. Набор параметров FaceRecognition получается из нормализованного изображения лица. Такое изображение содержит 56 строк с 46 значениями уровня в каждой строке. Центры двух глаз на каждом изображении лица размещаются на 24-м ряду и 16-й и 31-й колонке для правого и левого глаз соответственно. Это нормализованное изображение затем используется для получения одномерного вектора лица, который состоит из значений яркости пикселей нормализованного изображения, получаемого в результате растрового сканирования — сканирование начинается в верхнем левом углу и завершается в нижнем правом углу изображения. Набор параметров FaceRecogniton вычисляется путем проектирования одномерного вектора лица на пространство, определяемое набором базисных векторов.

Схемы описания мультимедиа MPEG-7

Дескрипторы MPEG-7 сконструированы для описания следующих типов информации: низкоуровневые аудио-визуальные характеристики, такие как цвет, текстура, движение, уровень звука и т.д.; высокоуровневые семантические объекты, события и абстрактные принципы; процессы управления материалом; информация о системе памяти и т.д. Ожидается, что большинство дескрипторов, соответствующих низкоуровневым характеристикам, будут извлекаться автоматически, в то время как человеческое вмешательство будет необходимо для формирования высокоуровневых дескрипторов.

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

Средства организации MDS

На рис. 6.27 представлена схема организации мультимедийных DS MPEG-7 в следующих областях: базовые элементы, описание материала, управление материалом, организация материала, навигация и доступ, взаимодействие с пользователем.

Обзор мультимедийных DS MPEG-7


Рис. 6.27.  Обзор мультимедийных DS MPEG-7

Спецификация мультимедийных DS MPEG-7 определяет некоторое число схемных средств, которые облегчают формирование и выкладку описаний MPEG-7. Схемные средства состоят из корневого элемента, элементов верхнего уровня и средств выкладки (Package Tools). Корневые элементы, которые являются начальными элементами описания MPEG-7, позволяют сформировать полные XML-документы и фрагменты описания MPEG-7. Элементы верхнего уровня позволяют корневым элементам в описании MPEG-7 организовать DS для объектно-ориентированных задач описания, таких как описание изображения, видео, аудио или аудио-визуальный материал, собрания (коллекции), пользователи или семантика мира. Созданы пакетные средства для группирования или ассоциации связанных компонентов DS описаний в каталоги или пакеты. Пакеты полезны для организационных и передающих структур и типов описательной информации MPEG-7, для систем поиска и для помощи пользователям, незнакомым с особенностями описаний MPEG-7.

Спецификация мультимедийных DS MPEG-7 определяет также некоторое число базовых элементов, которые используются повторно в качестве фундаментальной конструкции при определении DS. Многие базовые элементы предоставляют специфические типы данных и математические структуры, например, векторы и матрицы, которые важны для описания аудио-визуального материала. Они включаются также в качестве элементов для связи медиа-файлов и локализации сегментов, областей и т.д. Многие базовые элементы предназначены для специальных случаев описания аудио-визуального материала, таких, как описание времени, места, людей, индивидуальностей, групп, организаций и других текстовых аннотаций. Из-за их важности для описания аудио-визуального материала сначала определим подходы MPEG-7 к формированию временной информации и текстовых аннотаций.

Временная информация. DS для описания времени базируется на стандарте ISO 8601, который был воспринят схемным языком XML. Временные DS предоставляют временную информацию в медиа-потоки и для реального мира. Стандарт MPEG-7 расширяет спецификацию времени ISO 8601, для того чтобы описать время в терминах стробирования аудио-визуального материала, например путем подсчета периодов стробирования. Это позволяет поддержать эффективное описание временной информации в больших массивах аудио-визуального материала.

Текстовая аннотация является также важным компонентом многих DS. Стандарт MPEG-7 предоставляет некоторое число базовых конструкций для текстового аннотирования, включая свободный текст (слова, фразы), структурированный текст (текст плюс назначение слов) и зависимую структурированную аннотацию (структурированный текст плюс взаимные связи), для того чтобы поддерживать широкий диапазон функций текстовых описаний.

MPEG-7 предоставляет также DS для управления материалом. Эти элементы описывают различные аспекты создания медиа-материала, медиа-кодирование, запись, форматы файлов и использование материала. Функциональность каждого из этих классов DS представлена ниже.

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

Информации использования. Описывает использование аудио-визуального материала, а также права использования, доступность, записи об использовании и финансовые данные. Правовая информация не включается в описание MPEG-7, вместо этого предлагаются ссылки на владельцев прав и другие данные, относящиеся к защите авторских прав. Правовые DS предоставляют эти ссылки в форме уникальных идентификаторов, которые управляются извне. Базовая стратегия описаний MPEG-7 заключается в предоставлении доступа к текущей информации о владельце без возможности непосредственного обсуждения возможных условий доступа к самому материалу. DS доступности и DS записей об использовании предоставляют данные, относящиеся соответственно к доступности и прошлому использованию материала, в частности, широковещательной демонстрации, доставки по требованию, продажи CD и т.д. Наконец, финансовые DS предоставляют данные, связанные со стоимостью производства и доходами, которые могут быть результатом использования материала. Информация использования является обычно динамической, меняющейся за время жизни аудио-визуального материала.

Медиа-описание характеризует характер записи, например сжатие данных, кодирование и формат записи аудио-визуального материала. DS медиа-информации идентифицирует источник материала. Образцы аудио-визуального материала называются медиа-профайлами, которые являются версиями исходного материала, полученными, возможно, посредством другого кодирования или записи в другом формате. Каждый медиа-профайл описывается индивидуально в терминах параметров кодирования и положения.

MPEG-7 предоставляет также DS для описания материала. Эти элементы описывают структуру (области, видеокадры и аудиосегменты) и семантику (объекты, события, абстрактные понятия). Функциональность каждого из классов DS представлена ниже.

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

Концептуальные аспекты. DS описывает аудио-визуальный материал с точки зрения семантики реального мира и концептуальных представлений. DS семантики включают в себя такие характеристики, как объекты, события, абстрактные концепции и отношения. DS структуры и DS семантики имеют отношение к набору связей, который позволяет описать аудио-визуальный материал на основе его структуры и семантики.

MPEG-7 предоставляет также DS для облегчения просмотра и извлечения аудио-визуального материала путем определения резюме, разделов, составных частей и вариантов аудио-визуального материала.

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

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

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

MPEG-7 предоставляет также DS для организации и моделирования собрания аудио-визуального материала, а также его описания. DS коллекции организует коллекцию аудио-визуального материала, сегментов, событий, и/или объектов. Это позволяет описать каждую коллекцию как целое на основе общих характеристик. В частности, для описания значений атрибутов коллекции могут быть специфицированы различные модели и статистики.

Наконец, последний набор DS MPEG-7 имеет отношение к взаимодействию с пользователем. DS взаимодействия с пользователем описывает предпочтения пользователя и историю использования мультимедийного материала. Это позволяет, например, найти соответствие между предпочтениями пользователя и описаниями аудио-визуального материала, для того чтобы облегчить индивидуальный доступ к аудио-визуальному материалу, презентации и пр.

Управление содержимым

Средства управления описанием материала позволяют охарактеризовать жизненный цикл материала.

Материал, охарактеризованный описаниями MPEG-7, может быть доступным в различных форматах и режимах, с разными схемами кодирования. Например, концерт может быть записан в двух разных режимах: звуковом и аудио-визуальном. Каждый из этих режимов может использовать различное кодирование. Это создает несколько медиапрофайлов. Наконец, может быть получено несколько копий одного и того же материала. Эти принципы режимов и профайлов проиллюстрированы на рис. 6.28.

Модель материала, профайла и копии


Рис. 6.28.  Модель материала, профайла и копии

Материал. Реальное событие, такое как концерт, может быть представлено различными типами медиа-материала, например звуковой материал, аудио-визуальный материал. Материал является объектом, который имеет специфическую структуру для отображения реальности.

Медиа-информация. Физический формат материала описывается DS медиа-информации. Одна копия описания DS будет ассоциирована с одним материалом.

Медиа-профайл. Один объект может иметь один или более профайлов, которые соответствуют различным схемам кодирования. Один из профайлов является оригинальным, он называется мастерным профайлом, который соответствует первоначально созданному или записанному материалу. Другие будут получаться перекодированием из мастерного. Если материал закодирован тем же кодирующим средством, но с другими параметрами, формируется другой медиа-профайл.

Медиа-копия. Медиа-объект может быть поставлен в соответствие физическому объекту, называемому медиа-копией. Медиа-копия специфицируется идентификатором или локатором.

CreationInformation. Информация о процессе формирования материала описывается DS CreationInformation. Одна копия описания DS будет ассоциирована с одним материалом.

UsageInformation. Информация об использовании материала описывается DS UsageInformation. Одна копия описания DS будет ассоциирована с одним материалом.

Единственной частью описания, которая зависит от среды записи или формата кодирования, является MediaInformation. Остальная часть описания MPEG-7 не зависит от профайлов или копий и, как следствие, может использоваться, чтобы описать все возможные копии материала.

Описание среды включает в себя один элемент верхнего уровня, DS MediaInformation. Оно состоит из опционного MediaIdentification D и одного или нескольких MediaProfile D.

Идентификация среды (Media Identification) D содержит средства описания, которые являются специфическими по отношению к идентификации аудио-визуального материала вне зависимости от имеющихся различных копий.

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

Составные части MediaProfile D:

Средства описания создания материала предоставляют авторские тексты, описания процесса формирования и/или производства аудио-визуального материала. Такая информация не может быть получена из самого материала. Эти данные связаны с материалом, но не описывают его буквально.

Описание создания и производства материала содержит, в качестве элемента верхнего уровня, DS CreationInformation, который состоит из одного Creation D, нуля или одного Classification D, и нуля или нескольких RelatedMaterial D.

Creation D содержит средства описания, имеющие отношение к созданию материала, включая место, дату, действия, материалы, персонал (технический и творческий) и организации, участвовавшие в процессе.

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

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

Средства описания информации об использовании материала предоставляют данные о процессе использования аудио-визуального материала.

Описание данных об использовании обеспечивается посредством DS UsageInformation, который может включать один Rights D, нуль или один Financial D и нуль или несколько Availability D и UsageRecord D.

Важно заметить, что описание DS UsageInformation предполагает добавление новых описаний каждый раз, когда материал используется (например, DS UsageRecord, доход в Financial D) или когда имеются другие способы доступа к материалу (например Availability D).

Rights D (дескриптор прав) предоставляет доступ к информации о правах владельцев и правах доступа.

Financial D содержит информацию, относящуюся к издержкам и доходам от аудио-визуального материала. Понятия частичных издержек и доходов позволяют классифицировать различные издержки и доходы в зависимости от их типа. Итоговые издержки и доходы вычисляются приложением на основе указанных выше составляющих.

Availability D содержит средства описания, относящиеся к доступности использования материала.

DS UsageRecord содержит средства описания, относящиеся к прошлому использованию материала.

Описание содержимого

Основным элементом этой части описания является DS сегмента. Она относится к описанию физического и логического аспектов аудио-визуального материала. DS сегмента может использоваться для формирования сегментных деревьев. MPEG-7 специфицирует также DS графа, который позволяет представлять сложные взаимоотношения между сегментами. Она используется для описания пространственно-временных соотношений между сегментами, которые не описаны структурами дерева.

Сегмент представляет собой секцию аудио-визуального материала. DS сегмента является абстрактным классом (в смысле объектно-ориентированного программирования). Она имеет девять основных подклассов: DS мультимедийного сегмента, DS аудио-визуальной области, DS аудио-визуального сегмента, DS аудио-сегмента, DS статической области, DS статической 3D-области, DS подвижной области, DS видео-сегмента и DS электронной раскраски. Следовательно, она может иметь как пространственные, так и временные свойства. Временной сегмент может быть набором фрагментов аудио-визуальной последовательности, представленным DS аудио-сегмента, набором кадров видеопоследовательности, представленным DS видео-сегмента или комбинацией аудио- и видеоинформации, охарактеризованной DS аудио-визуального сегмента. Пространственный сегмент может быть областью изображения или кадром в визуальной последовательности, представленным DS статической области для 2D-областей и DS статической области 3D для 3D-областей. Пространственно-временной сегмент может соответствовать подвижной области в видеопоследовательности, представленной DS подвижной области, или более сложной комбинацией визуального и аудиоматериала, представленного, например, DS аудио-визуальной области. InkSegment DS описывает временной интервал или сегмент электронной раскраски, который соответствует набору чернильных капель, выбрасываемых из сопла. Наконец, наиболее общим сегментом является DS мультимедийного сегмента, который описывает составные сегменты, образующие мультимедийную презентацию. DS сегмента является абстрактным и не может быть отображен сам по себе. Он используется для определения общих свойств его подклассов. Любой сегмент может быть описан с помощью информации формирования, использования медийных данных и текстовой аннотации. Более того, сегмент может быть поделен на субсегменты с помощью DS декомпозиции сегмента.

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

На рис. 6.29 проиллюстрированы несколько примеров временных или пространственных сегментов и их связности. Рис. 6.29a и 6.29b иллюстрируют временные и пространственные сегменты, содержащие один связный компонент. Рис. 6.29c и 6.29d иллюстрируют временной и пространственный сегменты, состоящие из трех связанных компонент. Заметим, что в последнем случае дескрипторы и DS, привязанные к сегменту, являются глобальными по отношению к объединению связанных компонент, образующих сегмент. На этом уровне невозможно индивидуально описать связанные компоненты сегмента. Если связанные компоненты должны быть описаны индивидуально, тогда сегмент разделяется покомпонентно.

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

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

Примеры разложения сегмента на компоненты: a) и b) декомпозиции сегмента без зазоров и перекрытий; c) и d) декомпозиции сегмента с зазорами и перекрытиями


Рис. 6.29.  Примеры разложения сегмента на компоненты: a) и b) декомпозиции сегмента без зазоров и перекрытий; c) и d) декомпозиции сегмента с зазорами и перекрытиями

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

Так как это выполняется в пространственно-временном пространстве, декомпозиция должна описываться набором атрибутов, определяющих тип разложения: временное, пространственное или пространственно-временное. Более того, пространственная и временная подсекции могут располагаться с зазором или с перекрытием. Несколько примеров декомпозиций для временных сегментов приведено на рис. 6.30. Рис. 6.30a и 6.30b описывают два примера декомпозиции без зазоров или перекрытий. В обоих случаях объединение дочерних объектов соответствует в точности временному продолжению родительского, даже если родитель сам не является связанным (см. пример на рис. 6.30b). Рис. 6.30c демонстрирует пример декомпозиции с зазорами, но без перекрытий. Наконец, рис. 6.30d иллюстрирует более сложный случай, где родитель состоит из двух связанных компонентов и его декомпозиция создает три дочерних объекта: первый сам состоит из двух связанных компонентов, остальные два — из одного связанного компонента. Декомпозиция допускает зазоры и перекрытия. Заметим, что в любом случае декомпозиция означает, что объединение пространственно-временного пространства, определенного дочерними сегментами, включается в пространство, определенное его сегментом-предшественником (дочерние объекты содержатся в предшественниках).

Примеры сегментов: a) и b) сегменты состоят из одного связного компонента; c) и d) сегменты состоят из трех связанных компонентов


Рис. 6.30.  Примеры сегментов: a) и b) сегменты состоят из одного связного компонента; c) и d) сегменты состоят из трех связанных компонентов

Таблица 6.1. Примеры характеристик для описания сегмента
ХарактеристикаВидео сегментСтационарная областьПодвижная областьАудио сегмент
ВремяX.XX
Форма.XX.
ЦветXXX.
Текстура.X..
ДвижениеX.X.
Движение камерыX...
МозаикаX...
Характеристики звука..XX

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

Пример описания изображения представлен на рис. 6.31. Исходные изображения описаны как стационарные области, SR1, которые характеризуются с помощью данных формирования (заголовок, создатель), информации использования (авторские права), медийной информации (формат файла), а также текстовой аннотации (обобщающей свойства изображения), гистограмм цвета и дескриптора текстуры. Исходная область может быть в дальнейшем разложена на составные области. Для каждого шага декомпозиции мы указываем, допустимы или нет зазоры и перекрытия. Дерево сегмента состоит из 8 стационарных областей (заметим, что SR8 является одиночным сегментом, составленным из двух связанных сегментов). Для каждой области на рис. 6.31 показан тип характеристики, которая реализована. Заметим, что в иерархическом дереве не нужно дублировать информацию формирования, использования и пр., так как предполагается, что дочерние сегменты наследуют эти характеристики.

Примеры описания изображения со стационарными областями


Рис. 6.31.  Примеры описания изображения со стационарными областями

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

Пример видеосегмента и областей для графа, представленного на рис. 6.33


Рис. 6.32.  Пример видеосегмента и областей для графа, представленного на рис. 6.33

Этот пример демонстрирует момент футбольного матча. Определены два видео-сегмента, одна стационарная область и три движущиеся области. Граф, описывающий структуру материала, показан на рис. 6.33. Видеосегмент: Обводка & удар включает в себя мяч, вратаря и игрока. Мяч остается рядом с игроком, движущимся к вратарю. Игрок появляется справа от вратаря. Видеосегмент гол включает в себя те же подвижные области плюс стационарную область ворота. В этой части последовательности игрок находится слева от вратаря, а мяч движется к воротам. Этот очень простой пример иллюстрирует гибкость данного вида представления. Заметим, что это описание в основном представляется структурным, так как отношения, специфицированные ребрами графа, являются чисто физическими, а узлы, представляющие сегменты, являются объектами. Эти объекты определены данными создания, информацией использования и медиа-данными, а также дескрипторами низкого уровня, такими как цвет, форма, движение. В семантически явном виде доступна только информация из текстовой аннотации (где могут быть специфицированы ключевые слова "мяч", "игрок" или "вратарь").

Пример графа сегмента


Рис. 6.33.  Пример графа сегмента

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

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

Как показано на рис. 6.34, DS SemanticBase описывает документальные сферы и семантические объекты. Кроме того, несколько специальных DS получается из DS SemanticBase, которые задают специфические типы семантических объектов, такие, как описательные сферы, объекты, объекты агента, события, место и время. Например: семантический DS описывает документальные сферы (narrative worlds — реальные миры), которые отображаются или сопряжены с аудио-визуальным материалом. Он может использоваться для описания шаблонов аудио-визуального материала. На практике семантический DS служит для инкапсуляции описания. DS объекта описывает воспринимаемый или абстрактный объект. Воспринимаемый объект является сущностью, которая является реальностью, то есть имеет временное и пространственное протяжение в описываемом мире (например, "Пианино Вани"). Абстрактный объект является результатом абстрагирования воспринимаемого объекта (например, "любое пианино"). Это абстрагирование генерирует шаблон объекта. DS AgentObject расширяет возможности DS объекта. Она описывает человека, организацию, группу людей, или персонализированные объекты (например, "говорящую чашку в анимационном кино"). DS события описывает воспринимаемое или абстрактное событие. Воспринимаемое событие является динамическим отношением, включающим один или более объектов, которые возникают во времени или пространстве описываемого мира (например, "Ваня играет на пианино"). Абстрактное событие является результатом абстрагирования воспринимаемых событий (например, "кто-то играет на пианино"). Эта абстракция позволяесформировать шаблон события. DS концепции описывает семантическую сущность, которая не может быть описана как обобщение или абстрагирование специфицированного объекта, события, временного интервала или состояния. Она представляет собой свойство или собрание свойств (например, "гармония" или "готовность"). Эта DS может относиться к среде непосредственно или к другой описываемой семантической сущности. DS SemanticState описывает один или более параметрических атрибутов семантической сущности в данное время, или в данной точке описываемого мира, или в данной позиции среды (например, вес пианино равен 100 кг). Наконец, DS SemanticPlace и SemanticTime характеризуют соответственно место и время в описываемом мире.

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

Средства для описания концептуальных аспектов


Рис. 6.34.  Средства для описания концептуальных аспектов

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

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

Стандартная абстракция является обобщением медиа-абстракции для описания общего класса семантических сущностей или описаний. Вообще, стандартная абстракция получается путем замещения конкретных объектов, событий или других семантических сущностей классами. Например, если "Ваня играет на пианино" заменяется на "человек играет на пианино", описание становится стандартной абстракцией. Стандартные абстракции могут быть рекурсивными, то есть определять абстракцию абстракций. Обычно стандартная абстракция предназначена для повторного использования или ориентирована на применение в качестве ссылки.

Простой пример описания концептуальных аспектов показан на рис. 6.35. Описываемый мир включает в себя в данном случае Ваню Иванова, играющего на фортепиано со своим учителем. Событие характеризуется семантическим описанием времени: "19:00 24 апреля 2006 года", и семантикой места: "Консерватория". Описание включает одно событие: игра — и четыре объекта: фортепьяно, Ваня Иванов, его учитель — и абстрактное понятие музыканта. Последние три объекта принадлежат к классу агент.

Пример концептуальных аспектов описания


Рис. 6.35.  Пример концептуальных аспектов описания

Навигация и доступ

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

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

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

DS иерархического резюме. DS HierarchicalSummary организует резюме нескольких уровней, которые описывают аудио-визуальный материал с разной детализацией. Элементы иерархии специфицируются DS HighlightSummary и HighlightSegment. Иерархия имеет форму дерева, так как каждый элемент в иерархии, кроме корневого, имеет прародителя. Элементы иерархии могут опционно иметь дочерние элементы.

DS HighlightSummary и HighlightSegment. DS HierarchicalSummary сконструирован на основе базового представления временных сегментов AВ-данных, описанных HighlightSegments. Каждый HighlightSegment содержит указатели на AВ-материал, чтобы обеспечить доступ к ассоциированным ключевым видео- и аудиоклипам, к ключевым кадрам и ключевым звуковым составляющим, он может также содержать текстовую аннотацию, относящуюся к ключевым темам. Эти AВ-сегменты группируются в резюме или рубрики посредством схемы описания HighlightSummary.

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



Рис. 6.36. 

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

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

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

DS отображения. DS отображений описывают различные пространственные и частотные отображения аудио-визуальных данных. Определены следующие DS отображения: DS SpaceView описывает пространственное отображение аудио-визуальных данных, например пространственный сегмент изображения. DS FrequencyView описывает отображение в пределах заданного частотного диапазона, например частотный субдиапазон звукового сопровождения. DS SpaceFrequencyView специфицирует многомерное отображение аудио-визуальных данных одновременно в пространстве и по частоте, например частотный субдиапазон пространственного диапазона изображения. DS ResolutionView специфицирует отображение с низким разрешением, такое как набросок изображения. Концептуально, отображение разрешения является частным случаем частотного отображения, которое соответствует низкочастотному субдиапазону данных. DS SpaceResolutionView специфицирует отображение одновременно в пространстве и по разрешению, например отображение изображения пространственного сегмента с низким разрешением.

Декомпозиции проекций. DS декомпозиции проекции описывают различные пространственные и частотные декомпозиции и организацию отображения аудио-визуальных данных. Определены следующие DS декомпозиции проекций: DS ViewSet описывает набор проекций, который может иметь различные свойства полноты и избыточности, например набор субдиапазонов, полученный при частотной декомпозиции аудио-сигнала, образующего ViewSet. DS SpaceTree описывает дерево декомпозиции данных, например пространственную декомпозицию квадрантов изображения. DS FrequencyTree описывает частотную декомпозицию данных, например, волновую декомпозицию изображения. SpaceFrequencyGraph описывает декомпозицию данных одновременно в пространстве и по частоте. Здесь отображение использует частотный и пространственный графы. Граф видеоотображения специфицирует декомпозицию видеоданных в пространстве "координата-время-частота", например декомпозиция видео 3-D-субдиапазона. Наконец, MultiResolutionPyramid специфицирует иерархию проекций аудио-визуальных данных, например пирамиду изображений с разным разрешением.

На рис. 6.37 приведен пример пространственно-частотного графа декомпозиции изображения. Структура пространственного и частотного графа включает элементы узлов, которые соответствуют различным пространственным и частотным проекциям изображения, состоящего из пространственных проекций (пространственные сегменты), частотных (частотные субдиапазоны) и пространственно-частотных (частотные субдиапазоны пространственных сегментов). Структура пространственного и частотного графа включает в себя также элементы переходов, которые содержат анализ и синтез зависимостей между проекциями. Например, на рис. 6.37 S переходы указывают на пространственную декомпозицию, в то время как F переходы отмечают частотную или субдиапазонную декомпозицию.

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


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

Вариации предоставляют информацию о различных изменениях аудио-визуального материала, такого как резюме, архивированные версии или версии с малым разрешением, а также версии на различных языках — звук, видео, изображение, текст и т.д. Одной из главных функций DS вариаций является разрешение серверу, прокси или терминалу выбрать наиболее удобную вариацию аудио-визуального материала, которая может заместить оригинал, если необходимо, адаптировать различные возможности терминального оборудования, сетевых условий или предпочтений пользователя. DS вариаций используется для спецификации различных вариаций аудио-визуальных данных. Вариации могут возникать самыми разными способами или отражать изменения исходных данных. Значение достоверности вариации определяет ее качество по сравнению с оригиналом. Атрибут типа вариации указывает на характер изменений: резюме, аннотация, язык перевода, уменьшение насыщенности цвета, снижение разрешения, сокращение частоты кадров, архивирование и т.д.

Организация содержимого

MPEG-7 предоставляет DS для организации и моделирования коллекций аудио-визуального материала, сегментов, событий и/или объектов, и описания их общих свойств. Коллекции могут быть далее описаны, используя различные модели и статистики для того, чтобы характеризовать атрибуты элементов коллекции.

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

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

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



Рис. 6.38. 

DS аналитической модели описывает коллекции образцов аудиовизуальных данных или кластеров дескрипторов, которые предоставляют модели для конкретных семантических классов. DS аналитической модели специфицирует семантические маркеры, которые индицируют моделируемые классы. DS аналитической модели опционно специфицирует степень доверия, с которой семантический маркер приписан модели. DS классификатора описывает различные типы классификаторов, которые определяют механизм присвоения семантических маркеров аудио-визуальным данным.

DS UserInteraction характеризует предпочтения пользователей, имеющих отношение к использованию AВ-материала, а также историю его использования. Описания АВ-материала в MPEG-7 могут быть приведены в соответствие с описаниями предпочтений для того, чтобы выбрать и персонифицировать АВ-материал для более эффективного доступа, презентации и использования. DS UserPreference описывает предпочтения для различных типов материала и моделей просмотра, включая зависимость от контекста в терминах времени и места. DS UserPreference задает также вес относительной важности различных предпочтений, характеристики конфиденциальности предпочтений и будут ли предпочтения изменяться в процессе взаимодействия агента с пользователем. DS UsageHistory описывает историю действий, предпринятых пользователем мультимедийной системы. Описания истории использования могут пересылаться между клиентами, их агентами, провайдерами материала и оборудованием и могут быть в свою очередь использованы для определения предпочтений пользователей с учетом характера АВ-материала.

Эталонные программы: экспериментальная модель

Цели

Программы XM являются основой для эталонных кодов стандарта MPEG-7. Они используют нормативные компоненты MPEG-7:

Кроме нормативных компонентов, симуляционной платформе необходимы также некоторые ненормативные компоненты, существенные для реализации некоторых процедурных программ, которые выполняются для нормативных информационных структур. Информационные структуры и процедурные программы образуют приложения. Для большинства D или DS существует как минимум одно приложение в программном пакете, позволяющее проверить функциональность каждого нормативного компонента. Приложения показывают, как извлечь метаданные из медиаматериала или как метаданные могут использоваться в простых приложениях. Следовательно, XM реализует только базовые типы элементарных приложений, а не приложения реального мира. Более того, программы XM имеют только интерфейс командной строки, который не допускает какого-либо взаимодействия в процессе исполнения.

Модули программного обеспечения XM разработаны так, что все они используют специфицированные интерфейсы. Это позволяет облегчить навигацию среди множества различных модулей для разных D и DS. С другой стороны, применение фиксированного интерфейса позволяет повторно использовать отдельные модули и объединять их в большие приложения.

Извлечение и приложения клиента

В рамках программного обеспечения XM приложения соотносятся с одним конкретным дескриптором или схемой описания. Так как стандартизовано много дескрипторов и схем описания (DS), существует также много приложений, интегрированных в программный пакет. Приложения, формирующие дескриптор (D) или схему описания (DS), которые они тестируют, называются приложениями выборки. С другой стороны, приложения, которые используют тестируемые D или DS (DUT), называются приложениями клиента. Извлекающие приложения нужны, если D или DS являются дескриптором низкого уровня — это означает, что описание может быть извлечено из мультимедийного материала автоматически. Для D или DS высокого уровня выборка не может быть реализована аналогично. Однако в большинстве случаев выборка может быть основана на предварительной информации. Это означает, что процесс выборки читает эти дополнительные данные помимо медийного материала, чтобы получить описания. Таким образом, набор мультимедийного материала расширяется путем добавления данных высокого уровня.

Модульность XM-программ

По умолчанию модули для всех D и DS скомпилированы так, чтобы создать один большой исполнимый модуль, который может затем вызвать приложение для индивидуального D или DS. Однако результирующий исполняемый модуль становится необыкновенно большим, из-за массы индивидуальных D и DS, определяемых стандартом. Компиляция с целью получения исполняемого модуля может выдать файл размером более 100 Мбайт (в случае, если включен режим отладки). Следовательно, программное обеспечение MPEG-7 XM сконструировано так, чтобы поддерживать частичную компиляцию с использованием только одного D или DS. С другой стороны, во многих случаях желательно комбинировать субнаборы D или DS. Более того, комбинирование D и DS также необходимо, когда DS строится иерархически из других D и DS. При этом сценарии важно не только обеспечить частичную компиляцию, но и сконструировать программу так, чтобы код можно было использовать повторно. Таким образом, все приложения построены из модулей. Среди этих модулей:

Чтобы увеличить возможность повторного использования, все эти классы используют специальные интерфейсы, независящие от D или DS, к которым они принадлежат. Таким образом, чтобы программу можно было использовать повторно, нужно, например, применить средство выборки D или DS для других D или DS без глубокого знания, как это делается в данном средстве. Это возможно, если только известно, как использовать интерфейс этого средства выборки. Модули, перечисленные выше, скомбинированы или соединены друг с другом так, чтобы образовать цепочку обработки. Это сделано в классах приложений, которые могут относиться к классам выборки или приложения клиента.

Модули приложения

Медиа-декодер (класс MediaIO) поддерживает широкий диапазон возможных входных медийных форматов. Среди них:

Для этих целей класс MediaIO использует набор внешних библиотек, которые не принадлежат в некоторых случаях дереву исходных кодов программ XM. Сюда входят следующие библиотеки:

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

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

Класс MultiMedia хранит загруженные медиа-данные в памяти. Видеопоследовательности не загружаются в память (в память могут заноситься лишь отдельные кадры).

Для статических изображений XM использует сокращенную структуру данных MoMuSys Vop из модели верификации MPEG-4 (VM). Ключевые точки записываются в двухмерный связанный список: одно измерение — для временных точек (один кадр), содержащих второе измерение, которое включает в себя все ключевые точки для этого кадра.

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

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

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

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

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

Классы дескрипторов несут в себе описательные данные. В программах XM классы для каждого D или DS представляют непосредственно нормативную часть стандарта. Имеются также функции для элементов реализации описаний.

В программах XM имеется два различных способа конструирования классов D или DS. В случае визуальных D этот класс использует простой подход класса C++. Во всех других случаях этот класс реализуется с помощью общего модуля, который в XM называется GenericDS. Этот класс является интерфейсом между программами C++ XM и реализацией парсера DDL. Здесь применяется XML-парсер, предоставляющий DOM-API (Data Object Model — Application Programming Interface — прикладной программный интерфейс объектной модели данных). Следовательно, GenericDS является интерфейсом между XM и парсером DOM-API. Управление памятью для описательных данных выполняется посредством библиотеки парсера DOM. Оба подхода могут комбинироваться с помощью функций ImportDDL и ExportDLL реализованных классов дескриптора C++.

Схема кодирования включает в себя нормативный кодировщик и декодер для D или DS. В большинстве случаев схема кодирования определена только заданием схемы DDL. Здесь кодирование представляет собой вывод описания в файл, а декодирование является разборкой (parsing) и загрузкой файла описания в память. Описание запоминается с использованием класса GenericDS, который является оболочкой для DOM-API. Следовательно, мы можем использовать библиотеку парсера DOM-API для кодирования и декодирования. Эти функции встроены XM с помощью класса GenericDSCS (CS = схема кодирования). Помимо ASCII-представления XML-файла, MPEG-7 стандартизует также двоичное представление описаний (BiM).

Другим подходом является использование визуальной группы MPEG-7. Здесь каждый D имеет также индивидуальное двоичное представление. Это позволяет специфицировать число бит, которое следует использовать для кодирования индивидуальных элементов описания. Примером может служить число бит, используемых для кодирования каждой ячейки гистограммы.

В качестве средств извлечения и поиска используется ненормативное средство стандарта. Оно берет одно описание из базы данных и одно описание запроса, причем запрос может не соответствовать нормативам MPEG-7 D или DS. Средство поиска анализирует описание и обрабатывает нужные входные данные так, как это требуется для специфицированного приложения.

Средства поиска используются во всех клиентских приложениях, которые являются приложениями поиска и доставки ( search & retrieval ) и приложениями медиа-транскодирования ( media transcoding ). В случае приложений поиска и доставки средство поиска сравнивает два входных описания и вычисляет величину их отличия. Для приложения медиа-транскодирования обрабатываются медиа-данные, то есть медийная информация модифицируется на основе описания и запроса. Средство поиска вызывается из приложения транскодирования.

Типы приложений в XM-программах

Выборка из медиа-приложения относится к типам приложений выборки. Обычно все D или DS низкого уровня должны иметь класс приложения этого типа. Как показано на рис. 6.39, приложение извлекает тестируемые D/DS (DUT) из входных медиа-данных. Сначала медиафайл загружается медиа-декодером в мультимедиа-класс, то есть в память. На следующем шаге с помощью средства выборки описание может быть извлечено из мультимедиа-класса. Затем описание проходит через кодировщик и закодированные данные записываются в файл. Этот процесс повторяется для всех мультимедийных файлов медийной базы данных.

Выборка для приложения медийного типа. Описание извлекается из входных медийных данных


Рис. 6.39.  Выборка для приложения медийного типа. Описание извлекается из входных медийных данных

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

Поиск и выборка прикладного типа. Сортированная информация из медиа- базы данных получается из описаний и запроса


Рис. 6.40.  Поиск и выборка прикладного типа. Сортированная информация из медиа- базы данных получается из описаний и запроса

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

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


Рис. 6.41.  Тип приложения медиа-транскодирования. Из исходной DB создается транскодированная база данных, соответствующая описаниям и опционно запросу

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

Приложение фильтрации описаний


Рис. 6.42.  Приложение фильтрации описаний

Модель ключевого приложения MPEG-7

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

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

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

Интерфейсная модель ключевых приложений XM. Эта модель показывает супер-набор возможных входов и выходов ключевого приложения XM


Рис. 6.43.  Интерфейсная модель ключевых приложений XM. Эта модель показывает супер-набор возможных входов и выходов ключевого приложения XM

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

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

Ключевые приложения против приложений реального мира

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

Пример приложения реального мира, извлекающего два разных описания (XM-Прил 1, XM- Прил 2). Основываясь на первом описании, выбран адекватный набор материала (XM- Прил 3), который затем транскодирован с использованием второго описания (XM- Прил 4). (MDB = медийная база данных, DDB = база данных описаний)


Рис. 6.44.  Пример приложения реального мира, извлекающего два разных описания (XM-Прил 1, XM- Прил 2). Основываясь на первом описании, выбран адекватный набор материала (XM- Прил 3), который затем транскодирован с использованием второго описания (XM- Прил 4). (MDB = медийная база данных, DDB = база данных описаний)

На рис. 6.44 приведен пример приложения реального мира. Сначала из медиа-базы извлекаются два объекта. Затем, основываясь на первом объекте, из базы данных выбираются адекватные медиа-файлы. Эти медиа-файлы транскодируются с привлечением второго извлеченного объекта.

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

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

6.3. Архитектура мультимедиа MPEG-21

Стандарт MPEG-21 (см. http://www.chiariglione.org/mpeg/standards/mpeg-21/mpeg-21.htm или http://www.itscj.ipsj.or.jp/sc29/29w42911.htm#MPEG-21) имеет своей целью определить рамки для создателей, дистрибьюторов и сервис-провайдеров в открытом рынке мультимедиа.

MPEG-21 базируется на двух важных концепциях: определении базовой единицы распределения и соглашения (Digital Item — цифровой объект) и концепции взаимодействия пользователей и цифровых объектов. Цифровой объект может рассматриваться как предмет мультимедийных соглашений (например видеоколлекция, музыкальный альбом), а пользователи — как субъекты мультимедийных соглашений.

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

Пользователем является любой объект, который взаимодействует со средой MPEG-21 или с цифровым объектом. Пользователями могут быть частные лица, сообщества, организации, корпорации, консорциумы, правительства и прочие субъекты. Пользователи идентифицируются по их отношению к другим пользователям. Стандарт MPEG-21 по чисто техническим причинам не делает различия между провайдерами содержимого и потребителями, — и те и другие являются пользователями. Отдельный объект может использовать содержимое (content) разными способами (публиковать, доставлять, и т.д.), но все участники, связанные с MPEG-21, считаются пользователями. Однако пользователь может иметь специфические или даже уникальные права и ответственность в зависимости от его взаимодействия с другими пользователями в пределах MPEG-21.

На самом нижнем уровне MPEG-21 определяет рамки, в которых один пользователь взаимодействует с другим пользователем, а предметом взаимодействия является цифровой объект, обычно называемый содержимым (контентом). Некоторые такие взаимодействия формируют контент, предоставляют, архивируют или аранжируют его, улучшают и доставляют и т.д. и т.д.

Обзор цифровых объектов

В любой системе (такой как MPEG-21), которая предлагает осуществлять большое число операций над цифровыми объектами, необходимо точно описать, что собой представляет такой объект. Достаточно сложно сформировать универсальную модель цифрового объекта, которая бы годилась для всей совокупности современных приложений. Описание модели цифрового объекта представлено в спецификации ISO/IEC 21000 (часть 2).

Пример. Рассмотрим в качестве цифрового объекта простую web-страницу. Web-страница обычно состоит из HTML-документа со встроенными ссылками на различные файлы, содержащие видеообъекты (например, JPEG или GIF), и, возможно, стилевые файлы. В этом простом случае цифровой объект представляет собой HTML-документ плюс некоторые ресурсы, с ним сопряженные.

Теперь модифицируем пример, предположив, что web-страница содержит некоторые логические скрипты (JavaScript, PHP и т.д.), которые определяют предпочтительный язык программы просмотра (viewer) из заранее оговоренного списка.

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

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

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

Проблема, представленная выше, должна быть решена с помощью декларации цифрового объекта. Декларация цифрового объекта DID (Digital Item Declaration) является документом, который специфицирует состав, структуру и организацию цифрового объекта.

Декларация цифрового объекта

Целью декларации цифрового объекта DID (Digital Item Declaration) является определение набора абстрактных концепций и элементов для образования модели описания цифрового объекта. В рамках этой модели цифровой объект является цифровым представлением "действия", и в этом качестве он является предметом, над которым производятся операции (управление, описание, обмен, коллекционирование и т.д.). Модель должна быть максимально гибкой и универсальной, чтобы допускать реализацию функций высокого уровня. Это, в свою очередь, позволит модели быть основой для построения моделей высокого уровня других элементов MPEG-21 (таких как идентификация и описание или IPMP ). Эта модель не регламентирует выбор языка. Вместо этого она помогает сформировать общий набор абстрактных понятий и терминов, которые могут использоваться для определения такой схемы. Технология DID описана в трех нормативных секциях:

Далее следуют описания семантических значений элементов модели декларации цифрового объекта.

Контейнер

Контейнер является структурой, которая позволяет группировать объекты и/или контейнеры. Эти группы объектов и/или контейнеров могут использоваться для формирования логических пакетов (для транспортировки или обмена) или логические архивы (для организаций). Дескрипторы позволяют "помечать" контейнеры данными, которые пригодны для целей группирования (например, инструкции по доставке пакета или информация о категории для архивов ( shelf )).

Следует заметить, что сам контейнер не является объектом; контейнеры могут группироваться в объекты и/или контейнеры.

Объект

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

Отношение между объектом и цифровым объектом (как это определено в ISO/IEC 21000-1:2001, MPEG-21 Vision, Technologies and Strategy) может быть определено следующим образом: объекты являются декларативными репрезентациями цифровых объектов.

Компонент

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

Следует заметить, что сам компонент не является объектом ; компоненты являются строительными блоками объектов. Ниже представлены некоторые объекты и компоненты.

Ссылка (anchor) привязывает дескрипторы к фрагменту, который соответствует специфическому положению или диапазону в пределах ресурса.

Дескриптор (descriptor) устанавливает соответствие между информацией и вложенными элементами. Эта информация может быть компонентом (таким как набросок изображения или компонент текста), или заявлением (statement).

Условие (condition) описывает опционный элемент и его связи с условиями отбора, которые определяют условия его включения. Могут использоваться несколько предикатов, которые объединяются, например, посредством операции AND. Любой предикат может входить в условие со знаком отрицания. Могут использоваться несколько условий, сопряженных с данным элементом, которые объединяются с помощью, например, операции OR (когда определяют условия включения элемента).

Выбор (choice) описывает набор вариантов, которые могут определять конфигурацию объекта. Варианты в рамках предлагаемого выбора могут быть эксклюзивными (выбор только одного) или инклюзивными (выбор любого числа вариантов или ни одного).

Вариант (selection) описывает специфические решения, которые вводят одно или более условий где-то внутри объекта. Если вариант выбран, его предикат становится истинным (true); если он не выбран, его предикат имеет значение false ; если выбор не сделан, предикат является неопределенным.

Аннотация ( annotation ) описывает набор данных о некотором идентифицированном элементе модели без изменения или добавления к указанному элементу. Информация может иметь форму утверждений, дескрипторов или ссылок.

Утверждение (assertion) определяет полностью или частично сконфигурированное состояние выбора путем присвоения предикатам, сопряженным с вариантами выбора, значений "истинно", "ложно" или "не определено".

Ресурс (resource) является индивидуально идентифицированным элементом, таким как видео- или аудиоклип, изображение или текст. Ресурс потенциально может быть физическим объектом. Все ресурсы должны быть локализуемы с помощью уникального адреса.

Фрагмент (fragment) — однозначно определяемая специфическая точка или интервал в пределах ресурса. Фрагмент может быть специфическим для определенного ресурса.

Заявление (statement) является текстовой строкой, содержащей данные.

Предикат (predicate) — однозначно идентифицированное утверждение, которое может быть истинным, ложным или неопределенным. На рис. 6.45 показан пример, где отображены основные элементы модели, а также их взаимоотношения в рамках модели декларации цифровых объектов.

Идентификация цифрового объекта

Область спецификации DII (Digital Item Identification) включает в себя:

Спецификация DII не формирует новых систем идентификации для элементов содержимого (content), для которых идентификация и схемы описания уже существуют и используются (например, ISO/IEC 21000-3 не пытается заменить ISRC, описанную в ISO 3901 для звуковых записей, но позволяет использовать ISRC в рамках MPEG-21).

Взаимоотношения принципиальных элементов в пределах модели Digital Identification Declaration Model


Рис. 6.45.  Взаимоотношения принципиальных элементов в пределах модели Digital Identification Declaration Model

Идентификаторы, предлагаемые в данной спецификации, могут быть сопряжены с цифровыми объектами путем включения их в определенное место декларации цифрового объекта. Таким местом является элемент STATEMENT. Примерами подобных заявлений может быть описательная, идентификационная или управляющая информация. На рис. 6.46 показаны примеры такого рода данных. Закрашенные прямоугольники являются субъектами спецификации DII, в то время как боксы с четко очерченными границами — определены в спецификации DID:

Взаимоотношения между декларацией и идентификацией цифрового объекта


Рис. 6.46.  Взаимоотношения между декларацией и идентификацией цифрового объекта

Несколько элементов в декларации цифрового объекта могут содержать нуль, один или более дескрипторов. Каждый DESCRIPTOR может содержать одно ЗАЯВЛЕНИЕ, в котором может находиться один идентификатор, относящийся к составляющему элементу заявления. На рис. 6.46 для идентификации компонента используются два заявления (левая часть диаграммы) и объект (правая часть диаграммы).

Цифровой объект и его составные части в рамках MPEG-21 идентифицируются с помощью инкапсулированных в идентификационную DS URI. URI (Uniform Resource Identifier) является компактной строкой символов для идентификации абстрактного или физического ресурса, где ресурс определяется как "нечто, что имеет идентификатор".

Требование того, чтобы идентификатор цифрового объекта являлся URI, согласуется с тем, что идентификатор может быть URL (Uniform Resource Locator). Термин URL относится к специфическому субнабору URI, который используется сегодня в качестве указателя информации в Internet.

Идентификация цифровых объектов

ISO/IEC-21000-3 допускает применение любого идентификатора типа URI в качестве идентификатора цифрового объекта (и его частей). Спецификация предоставляет возможность регистрировать идентификационные системы в регистрационном центре. На рис. 6.47 показано, как музыкальный альбом и его части могут быть идентифицированы с помощью DII.

Метаданные и идентификаторы музыкального альбома в рамках MPEG-21


Рис. 6.47.  Метаданные и идентификаторы музыкального альбома в рамках MPEG-21

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

Идентификация различных схем описания

Так как разные пользователи MPEG-21 могут иметь различные схемы описания их контента, необходимо, чтобы MPEG-21 DII допускало разделение таких разных схем. MPEG-21 DII при решении этой задачи использует для области имен механизм XML.

Идентификация различных типов цифровых объектов

Различные части MPEG-21 будут определять разные типы цифровых объектов. Например, адаптация цифровых объектов DIA (Digital Item Adaptation) в дополнение к CDI (Content Digital Item) определяет XDI (Context Digital Item). В то время как CDI содержит ресурсы, такие как файлы MP3 или видеопотоки MPEG-2, XDI содержат информацию о контексте, в котором будет использоваться CDI.

DII предоставляет механизм, позволяющий терминалу MPEG-21 разделять эти разные типы цифровых объектов путем размещения URI внутри маркера типа заявления, которые будут появляться в качестве дочернего элемента дескриптора, в свою очередь появляющегося как дочерний элемент объекта. Если маркер типа отсутствует, цифровой объект считается цифровым объектом содержимого (Content).

Защита и управление правами интеллектуальной собственности (IPMP)

Одна из частей MPEG-21 будет определять рамки защиты и управления правами интеллектуальной собственности IPMP (Intellectual Property Management and Protection). IPMP в ближайшее время станет международным стандартом. Проект включает в себя средства удаленного доступа к инструментарию IPMP, а также механизмы обмена сообщениями между средствами IPMP и терминалом. Стандарт охватывает также средства аутентификации IPMP, и обеспечение интеграции правовых выражений (Rights Expressions) в соответствии с информационным правовым словарем и языком описания прав.

Язык описания прав

Язык описания прав REL (Rights Expression Language) представляет собой язык, который может восприниматься ЭВМ и приспособлен для декларации прав и разрешений с помощью информационно-правового словаря.

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

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

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

Модель данных MPEG REL

MPEG REL реализует простую и расширяемую модель данных для многих ключевых концепций и элементов.

Модель данных MPEG REL для описания прав состоит из четырех базовых сущностей и отношений между этими сущностями. Эти базовые отношения определяют предоставление гранта. Структурно грант MPEG REL состоит из следующих частей.

Модель REL Data


Рис. 6.48.  Модель REL Data

Принципал

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

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

Право

Право определяет действие или класс операций, которые принципалу будет разрешено осуществить над некоторым ресурсом при определенных условиях.

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

Ресурс

Ресурс является "объектом", к которому принципал может получить доступ (grant). Ресурс может быть цифровым объектом (таким, как электронная книга, аудио- или видеофайл или изображение), сервисом (таким как e-mail или транзакция B2B), или даже блоком данных, который может принадлежать принципалу (таким как имя или e-mail адрес).

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

Условие

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

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

Соотношение с терминологией MPEG

Сущности в информационной модели MPEG REL: принципал, право, ресурс и условие могут соответствовать (но не обязательно быть эквивалентны) в терминологии MPEG-21 пользователю (включая терминал), праву, цифровому объекту и условию.

Информационный правовой словарь RDD (Rights Data Dictionary) включает в себя набор ясных, непротиворечивых, структурированных и однозначно идентифицированных терминов для поддержки языка описания прав MPEG-21 (Rights Expression Language).

Структура словаря специфицирована, вместе с методологией формирования словаря. Определены средства описания новых терминов.

RDD распознает легальные определения исключительно как термины другого контекста (Authorities), которые могут быть поставлены в соответствие RDD. Следовательно, термины, непосредственно авторизованные RDD, не определяют и не предписывают прав интеллектуальной собственности.

Адаптация цифрового объекта

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

Планируется стандартизовать следующие объекты:

Формат файлов

Цифровой объект MPEG-21 может быть комплексным набором информации. В его состав могут входить статичные и динамичные образцы (например изображения и фильмы), а также информация цифрового объекта, метаданные, информация о размещении объектов и пр. Он может включать как текстовые данные (например XML), так и двоичную информацию (презентацию MPEG-4 или статические картинки). По этой причине формат файла MPEG-21 будет наследовать несколько концепций MP4, для того чтобы сделать возможным многоцелевые файлы. Двухцелевые MP4- и MP21-файлы (например MP4-проигрыватель) будут воспроизводить лишь данные MPEG-4, а проигрыватель MPEG-21 — только данные MP21.

Устойчивая ассоциация идентификации и описания с цифровыми объектами

В качестве логического расширения спецификации декларации и идентификации цифровых объектов MPEG намерен рассматривать требования устойчивой ассоциации идентификации и описания с содержимым объектов.

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

В стандарте определены следующие ассоциации идентификации и описания с цифровыми объектами:

1. В рамках идентификации и описания будет можно на постоянной основе ассоциировать идентификаторы и дескрипторы с медийными ресурсами.

2. Среда запоминания идентификаторов и описаний, ассоциированных с цифровыми объектами, будет выполнять следующие стандартные требования:

3. Подход, в котором поддерживается идентификация и описание цифровых объектов, будет позволять локализовать цифровые объекты по описанию и наоборот. Заметим, что это не означает, что они должны быть жестко связаны друг с другом.

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

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

6. Адаптация цифровых объектов определена в качестве важного аспекта для терминалов и сетей, которые будут предоставлять средства поддержки адаптации ресурсов, дескрипторов (метаданных) и управления качеством обслуживания.

Лекция 7. Обзор каналов передачи данных

Коаксиальные кабели и скрученные пары. Построение сетей передачи данных с использованием радио каналов. Сопоставление возможностей проводных, радио- и оптоволоконных каналов.

Источники ограничений.

  1. Мобильные телекоммуникации (802.11a-g, WiFi, GSM), спутниковые каналы, CDMA.
  2. Bluetooth.
  3. Стандарт широкополосной беспроводной связи IEEE 802.16.
  4. Широкополосный канал для подключения периферийных устройств UWB.

Исторически первым каналом общения людей был акустический. Связано это было с тем, что Создатель дал нам относительно симметричные органы чувств, работающие в этой области. Но рабочее расстояние, пропускная способность и избирательность (ведь случаются ситуации, когда нужно сообщить что-то определенному человеку и только ему) этого канала ограничены. Акустические каналы сохраняют и даже развивают свои позиции для возможности связи под водой. С 19-го века начинается эра применения электромагнитных способов передачи данных. Первые каналы использовали проводные средства связи, позднее к ним добавились радиосредства и, наконец, к концу 20-го века повсеместно стали применяться волоконно-оптические волноводы. Рассмотрим особенности и ограничения перечисленных каналов.

За последние двадцать лет пропускная способность каналов выросла с 56 кбит/c до 100 Гбит/с. Разработаны технологии, способные работать в случае оптических кабелей со скоростью 50 Тбит/с. Вероятность ошибки при этом сократилась с 10-5 на бит до пренебрежимо низкого уровня. Современный же лимит в несколько Гбит/с связан главным образом с тем, что люди не научились делать быстродействующие преобразователи электрических сигналов в оптические и наоборот. Теоретический верхний предел быстродействия каналов составляет 40-50 терабайт/c.

7.1. Кабельные каналы связи

Кабельные каналы для целей телекоммуникаций исторически начали использоваться первыми. Да и сегодня по суммарной длине они превосходят даже спутниковые каналы. Основную долю этих каналов, насчитывающих многие сотни тысяч километров, составляют телефонные медные кабели. Эти кабели содержат десятки или даже сотни скрученных пар проводов. Полоса пропускания таких пар обычно составляет 3-4,5 кГц при длине 2-10 км. Эта полоса диктовалась ранее нуждами аналогового голосового обмена в рамках коммутируемой телефонной сети. C учетом возрастающих требований к широкополосности каналов скрученные пары проводов пытались заменить коаксиальными кабелями, которые имеют полосу от 100 до 500 МГц (до 1 Гбит/с), и даже полыми волноводами. Именно коаксиальные кабели стали в начале транспортной средой локальных сетей ЭВМ Ethernet (10BASE-5 и 10BASE-2; см. рис. 7.1). Смотри http://book.itep.ru/3/cabel_31.htm.

1 – центральный проводник; 2 – изолятор; 3 – проводник-экран; внешний изолятор


Рис. 7.1.  1 – центральный проводник; 2 – изолятор; 3 – проводник-экран; внешний изолятор

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

Импульсное значение наводки будет пропорционально

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

Схема наводок по экрану коаксиального кабеля


Рис. 7.2.  Схема наводок по экрану коаксиального кабеля

Именно это обстоятельство является причиной требования заземления кабеля локальной сети только в одной точке, хотя это, на первый взгляд, противоречит требованиям электрической безопасности. Наибольшее распространение получили кабели с волновым сопротивлением 50 Ом. Причина в том, что эти кабели из-за относительно толстой центральной жилы характеризуются минимальным ослаблением сигнала (волновое сопротивление пропорционально логарифму отношения диаметров внешнего и внутреннего проводников).

Коаксиальный кабель с полосой пропускания 500 МГц при ограниченной длине может обеспечить скорость передачи несколько Гбит/сек. Предельные расстояния, для которых может быть применен кабель, составляют 10-15 км.

Но по мере развития технологии скрученные пары смогли вытеснить из этой области коаксиальные кабели. Это произошло, когда полоса пропускания скрученных пар достигла 200-350 МГц при длине 100м (неэкранированные и экранированные скрученные пары категории 5 и 6), а цены на единицу длины сравнялись (сыграла здесь роль и относительная дешевизна разъемов). Скрученные пары проводников позволяют использовать биполярные приемники, что делает систему менее уязвимой (по сравнению с коаксиальными кабелями) к внешним наводкам. Скрученные пары бывают одинарными, объединенными в многопарный кабель или оформленными в виде плоского ленточного кабеля. Применение проводов сети переменного тока для локальных сетей и передачи данных допустимо для весьма ограниченных расстояний. В таблице 7.1 приведены характеристики каналов, базирующихся на обычном и широкополосном коаксиальном кабелях.

Таблица 7.1.
Стандартный кабельШирокополосный
Максимальная длина канала2 км10-15 км
Скорость передачи данных1-50 Мбит/с100-140 Мбит/с
Режим передачиполудуплексПолный дуплекс
Ослабление влияния электромагнитных и радиочастотных наводок50 дБ85 дБ
Число подключений< 50 устройств1500 каналов с одним или более устройств на канал
Доступ к каналуCSMA/CDFDM/FSK

На рис. 7.3 показана зависимость ослабления кабеля (внешний диаметр 0,95 см) от частоты передаваемого сигнала.

Зависимость ослабления сигнала в кабеле от его частоты


Рис. 7.3.  Зависимость ослабления сигнала в кабеле от его частоты

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

Таблица 7.2.
КоаксиалОм/сегментМаксимальная длина сегмента
10BASE55500 м
10BASE210185 м

Эти данные взяты из Handbook of LAN Cable Testing. Wavetek Corporation, California (таблица 7.2.a).

Таблица 7.2.a.
Скрученная параОм/100 м
24 AWG18,8
22 AWG11,8

Данные, приведенные в таблице, могут использоваться для оперативной предварительной оценки качества кабельного сегмента (соответствует стандарту EIA/TIA 568, 1991 год). Частотные характеристики неэкранированных пар категории 6 представлены в табл. 7.3.

Таблица 7.3.
Частота, МГцЗатухание, дБ/100мNEXT, дБACR, дБ/100м
12,36260
106,94741
10023,03823
30046,8314

Смотри http://www.osp.ru/lan/lan_6_96/source/57.htm ACRAttenuation-to-Crosstalk Ratio. NEXT — Near End CrossTalk.

Кабели, изготовленные из скрученных пар категории 5 (волновое сопротивление 100,15 Ом), с полосой 100 МГц обеспечивают пропускную способность при передаче сигналов ATM 155 Мбит/с. При 4 скрученных парах это позволяет осуществлять передачу до 622 Мбит/с. Кабели категории 6 сертифицируются до частот 300 МГц, а экранированные и до 600 МГц (волновое сопротивление 100 Ом). В таблице 7.4 приведены данные по затуханию и перекрестным наводкам. Приведены характеристики такого кабеля с 4-мя скрученными экранированными парами (S-FTP).

Таблица 7.4.
Частота, МГцЗатухание, дБ/100мNEXT, дБACR, дБ/100м
12,18077,9
106,08074
10019,07051
30033,07037
600506010

NEXT — перекрестные наводки ближнего конца кабеля.

Такой кабель пригоден для передачи информации со скоростью более 1 Гбит/с. ACRAttenuation-to-Crosstalk Ratio (отношение ослабления к относительной величине перекрестных наводок).

Ниже на рис. 7.4 показана зависимость наводок на ближнем конце кабеля, содержащего скрученные пары, (NEXT) от частоты передаваемого сигнала.

Зависимость наводок NEXT от частоты передаваемого сигнала.


Рис. 7.4.  Зависимость наводок NEXT от частоты передаваемого сигнала.

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

Зависимость ослабления сигнала от частоты для неэкранированной скрученной пары


Рис. 7.5.  Зависимость ослабления сигнала от частоты для неэкранированной скрученной пары

Для неэкранированной скрученной пары 5-ой категории зависимость отношения сигнал-шум от длины с учетом ослабления и наводок NEXT показана на рис. 7.6. Из рисунка видно, что по мере роста частоты отношение сигнал-шум достаточно быстро падает.

Зависимость отношения сигнал/шум от частоты с учетом ослабления и наводок на ближнем конце кабеля


Рис. 7.6.  Зависимость отношения сигнал/шум от частоты с учетом ослабления и наводок на ближнем конце кабеля

Подводя итоги, можно сказать, что при расстояниях до 100 метров с успехом могут использоваться скрученные пары и коаксиальные кабели, обеспечивая полосу пропускания до 150 Мбит/с, но при больших расстояниях или более высоких частотах передачи предпочтительнее оптоволоконный кабель. При расстояниях в 10-20 метров с помощью скрученной пары можно достичь полосы пропускания до 1 Гбит/с. Если расстояние между ЭВМ не превышает нескольких сотен метров, коаксиальный кабель позволяет без труда получить 107-108 бит/c при вероятности ошибке 10-12-10-13. Связь через коммутируемую телефонную линию допускает скорость обмена ~104 бит/с при вероятности ошибки 10-5.

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

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

Схема соединений в телефонной сети


Рис. 7.7.  Схема соединений в телефонной сети

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

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

7.2. Построение сетей передачи данных с использованием радио каналов

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

Это позволяет связать ширину частотного диапазона с частотой и диапазоном длин волн. Для большинства каналов передачи данных характерно соотношение , которое обеспечивает наилучшие условия приема (Вт/Гц).

Спектр используемых волн делится на ряд диапазонов, приведенных в таблице 7.5.

Таблица 7.5.
НомерНазвание диапазонаЧастотаДлина волны
1Высокочастотный3 – 30 МГц100 – 10 м
2VHF50 – 100 МГц6 – 3 м
3УВЧ (UHF)400 – 1000 МГц75 – 30 см
4Микроволновый3109 – 1011 Гц10 см – 3 мм
5Миллиметровый1011 – 1013 Гц3 мм – 0,3 мм
6Инфракрасный1012 – 6 10140,3 мм – 0,5 мкм

Чтобы избежать всеобщего хаоса, было заключено международное соглашение, которое регламентирует использование частот различными странами для определенных целей. В 1991 году ITU-R (Международный Телекоммуникационный союз) распределил частоты для переносных переговорных устройств. Но в США к тому времени уже использовалось достаточно большое число таких приборов, и их хозяева не согласились тратиться на их перенастройку. С тех пор такие устройства, изготовленные в США, не работают в Европе или Азии и наоборот.

Вслед за радиочастотами следуют диапазоны видимого света, ультрафиолета, рентгеновских и гамма-лучей. Диапазоны, часто используемые различными каналами связи, показаны на рис. 7.8.

Диапазоны частот различных телекоммуникационных каналов.


Рис. 7.8.  Диапазоны частот различных телекоммуникационных каналов.

Если используется не направленная антенна, а на пути нет препятствий, радиоволны распространяются по всем направлениям равномерно и сигнал падает пропорционально квадрату расстояния между передатчиком и приемником (удвоение расстояния приводит к потерям 6дБ). Радио каналы для целей передачи информации используют частотные диапазоны 902-928 МГц (расстояния до 10 км, пропускная способность до 64кбит/с), 2,4 ГГц и 12 ГГц (до 50 км, до 16 Мбит/с). Используются эти частоты для беспроводных телефонных трубок, дистанционного открытия дверей гаража, беспроводных HI-FI микрофонов или громкоговорителей и других аналогичных приложений. Они применяются там, где не существует кабельных или оптоволоконных каналов или их создание по каким-то причинам невозможно, слишком дорого или неудобно. Более низкие частоты (например, 300 МГц) мало привлекательны из-за ограничений пропускной способности, а большие частоты (>30 ГГц) работоспособны для расстояний не более или порядка 5км из-за поглощения радиоволн в атмосфере. При использовании диапазонов 4, 5 и 6 (табл. 7.5) следует иметь в виду, что любые препятствия на пути волн приведут к их практически полному поглощению. На эти диапазоны заметное влияние оказывает и поглощение в атмосфере. Зависимость поглощения от длины радиоволн показана на рис. 7.9.

Зависимость поглощающей способности земной атмосферы от длины волны


Рис. 7.9.  Зависимость поглощающей способности земной атмосферы от длины волны

Из рисунка видно, что заметную роль в поглощении радиоволн играет вода. По этой причине сильный дождь, град или снег могут привести к прерыванию связи. Поглощение в атмосфере ограничивает использование частот более 30 ГГц. Атмосферные шумы, связанные в основном с грозовыми разрядами, доминируют при низких частотах вплоть до 2 МГц. Галактический шум, приходящий из-за пределов солнечной системы, дает существенный вклад — вплоть до 200 ГГц. Зависимость поглощения радиоволн в тумане и дожде от частоты показана на рис. 7.10.

Зависимость поглощения радиоволн в тумане и дожде от частоты


Рис. 7.10.  Зависимость поглощения радиоволн в тумане и дожде от частоты

Мощность передатчика обычно лежит в диапазоне 50 мВт-2 Вт. Радиомодемы, как правило, используют шумоподобный метод передачи SST (Spread Spectrum Transmission). Для устройств на частоты 2.4 ГГц и выше часто применяются направленные антенны и необходима прямая видимость между приемником и передатчиком. Такие каналы обычно работают по схеме точка-точка, но возможна реализация и многоточечного соединения. На аппаратном уровне здесь могут использоваться радиорелейное оборудование радиомодемы или радио-бриджи. Схема этих устройств имеет много общего. Отличаются они лишь сетевым интерфейсом (см. рис. 7.11). Антенна служит как для приема, так и для передачи. Трансивер (приемо-передатчик) может соединяться с антенной через специальные усилители. Между трансивером и модемом может включаться преобразователь частот. Модемы подключаются к локальной сети через последовательные интерфейсы типа RS-232 или V.35 (RS-249), для многих из них такие интерфейсы являются встроенными. Радио-бриджи имеют встроенный Ethernet-интерфейс. Длина кабеля от модема до трансивера лежит в пределах 30-70м, а соединительный кабель между модемом и ЭВМ может иметь длину 100-150м. Трансивер располагается обычно рядом с антенной.

Схема оборудования радиоканала передачи данных


Рис. 7.11.  Схема оборудования радиоканала передачи данных

Схемы соединения радиомодемов и традиционных модемов совершенно идентичны (см. рис. 7.12), только в одном случае сигнал передается по проводам, а в другом — с помощью радиоволн.

Схема подключения радио-модемов


Рис. 7.12.  Схема подключения радио-модемов

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

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

Применение радио-бриджей особенно выигрышно для организаций, которые имеют здания, отстоящие друг от друга на несколько километров. Возможно использование этих средств связи и для подключения к сервиспровайдеру, когда нужны информационные потоки до 2 Мбит/с (например, для проведения видео- конференций). Если расстояния не велики (<5км), можно воспользоваться всенаправленной антенной (см. рис. 7.13).

Схема подключения объектов через радио-бриджи с помощью всенаправленной антенны


Рис. 7.13.  Схема подключения объектов через радио-бриджи с помощью всенаправленной антенны

Все соединяемые объекты (А, Б, В, и Г) должны быть оснащены радио-бриджами. Такая схема подключения эквивалентна, с одной стороны, кабельному сегменту Ethernet, так как в любой момент времени возможен обмен лишь между двумя объектами; с другой стороны, радио-бриджи А, Б, В и Г логически образуют многопортовый бридж (или переключатель), что исключает загрузку локальных сетей объектов "чужими" пакетами. Модификации таких схем связи позволяют строить телекоммуникационные системы по схеме сотовых телефонных сетей.

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

где – длина волны несущей.

Угол излучения такой антенны с радиусом равен . Отсюда видно, что чем больше радиус, тем больше усиление, уже угол излучения и чувствительности. Таким образом, использование узконаправленной антенны существенно увеличивает отношение сигнал/шум (уменьшает вероятность ошибки).

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



Рис. 7.14. 

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

Предельные расстояния для радиоканалов приводятся поставщиками в предположении, что в пределах первой зоны Френеля каких-либо физических помех нет. Абсолютное ограничение на дальность связи радиорелейных каналов накладывает кривизна земли, смотри рис. 7.15. Для частот выше 100 МГц волны распространяются прямолинейно (рис. 7.15.А) и, следовательно, могут фокусироваться. Для высоких частот (ВЧ) и УВЧ земля поглощает волны, но для ВЧ характерно отражение от ионосферы (рис. 7.15Б) — это сильно расширяет зону вещания (иногда осуществляется несколько последовательных отражений), но этот эффект неустойчив и сильно зависит от состояния ионосферы.



Рис. 7.15. 

При построении длинных радиорелейных каналов приходится ставить ретрансляторы. Если антенны размещены на башнях высотой 100 м расстояния между ретрансляторами может составлять 80-100 км. Стоимость антенного комплекса обычно пропорциональна кубу диаметра антенны.

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

Диаграмма излучения параболической антенны


Рис. 7.16.  Диаграмма излучения параболической антенны

4-го октября 1957 года в СССР был запущен первый искусственный спутник земли, в 1961 году в космос полетел Ю. А. Гагарин, а вскоре на орбиту был выведен первый телекоммуникационный спутник "Молния" — так началась космическая эра коммуникаций. Первый в РФ спутниковый канал для Интернет (Москва-Гамбург) использовал геостационарный спутник "Радуга" (1993). Стандартная антенна INTELSAT имеет диаметр 30 м и угол излучения 0,010. Спутниковые каналы используют частотные диапазоны, перечисленные в таблице 7.6.

Таблица 7.6. Частотные диапазоны, используемые для спутниковых телекоммуникаций
ДиапазонНисходящий канал (Downlink)[ГГц]Восходящий канал (Uplink)[ГГц]Источники помех
С3,7-4,25,925-6,425Наземные помехи
Ku11,7-12,214,0-14,5Дождь
Ka17,7-21,727,5-30,5Дождь

Передача всегда ведется на более высокой частоте, чем прием сигнала со спутника.

диапазон пока еще "заселен" не слишком плотно, кроме того, для этого диапазона спутники могут отстоять друг от друга на 1 градус. Чувствительность к помехам от дождей может быть обойдена использованием двух наземных приемных станций, разнесенных на достаточно большое расстояние (размер ураганов ограничен). Спутник может иметь много антенн, направленных на разные регионы поверхности земли. Размер пятна "засветки" такой антенны на земле может иметь размер несколько сот километров. Обычный спутник обладает 12-20 транспондерами (приемопередатчиками), каждый из которых имеет полосу 36-50МГц, что позволяет сформировать поток данных 50 Мбит/с. Два транспондера могут использовать разную поляризацию сигнала, работая при одной и той же частоте. Такая пропускная способность достаточна для получения 1600 высококачественных телефонных каналов (32кбит/c). Современные спутники используют узкоапертурную технологию передачи VSAT (Very Small Aperture Terminals). Диаметр пятна "засветки" на земной поверхности для этих антенн равен примерно 250 км. Наземные терминалы используют антенны диаметром 1 метр и выходную мощность около 1 Вт. При этом канал к спутнику имеет пропускную способность 19,2 Кбит/с, а со спутника — более 512 Кбит/c. Непосредственно такие терминалы не могут работать друг с другом через телекоммуникационный спутник. Для решения этой проблемы используются промежуточные наземные антенны с большим усилением, что существенно увеличивает задержку (и удорожает систему), смотри рис. 7.17.

Схема станций системы VSAT


Рис. 7.17.  Схема станций системы VSAT

Для создания постоянных каналов телекоммуникаций служат геостационарные спутники, висящие над экватором на высоте около 36000 км.

Теоретически три таких спутника могли бы обеспечить связью практически всю обитаемую поверхность Земли (см. рис. 7.18).



Рис. 7.18. 

Реально геостационарная орбита переполнена спутниками различного назначения и национальной принадлежности. Обычно спутники помечаются географической долготой мест, над которыми они висят. При существующем уровне развития технологии неразумно размещать спутники ближе, чем 20. Таким образом, сегодня нельзя разместить более 360/2=180 геостационарных спутников.

Система геостационарных спутников выглядит как ожерелье, нанизанное на невидимую глазу орбиту. Один угловой градус для такой орбиты соответствует ~600 км. Может показаться, что это огромное расстояние. Плотность спутников на орбите неравномерна – на долготе Европы и США их много, а над Тихим океаном – мало, там они просто не нужны. Спутники не вечны, время их жизни обычно не превосходит 10 лет, они выходят из строя главным образом не из-за отказов оборудования, а из-за нехватки горючего для стабилизации их положения на орбите. После выхода из строя спутники остаются на своих местах, превращаясь в космический мусор. Таких спутников уже сейчас немало, со временем их станет еще больше. Конечно, можно предположить, что точность вывода на орбиту со временем станет выше и люди научатся выводить их с точностью в 100 м. Это позволит размещать в одной "нише" 500-1000 спутников (что сегодня представляется почти невероятным, ведь нужно оставить пространство для их маневров). Человечество может таким образом создать нечто похожее на искусственное кольцо Сатурна, состоящее целиком из мертвых телекоммуникационных спутников. До этого дело вряд ли дойдет, так как будет найден способ удаления или восстановления неработающих спутников, хотя с неизбежностью это существенно удорожит услуги таких коммуникационных систем.

К счастью, спутники, использующие разные частотные диапазоны, не конкурируют друг с другом. По этой причине в одной и той же позиции на орбите может находиться несколько спутников с разными рабочими частотами. На практике геостационарный спутник не стоит на месте, а выполняет движение по траектории, имеющей (при наблюдении с Земли) вид цифры 8. Угловой размер этой восьмерки должен укладываться в рабочую апертуру антенны, в противном случае антенна должна иметь сервопривод, обеспечивающий автоматическое слежение за спутником. Из-за энергетических проблем телекоммуникационный спутник не может обеспечить высокого уровня сигнала. По этой причине наземная антенна должна иметь большой диаметр, а приемное оборудование — низкий уровень шума. Это особенно важно для северных областей, в которых угловое положение спутника над горизонтом невысоко (настоящая проблема для широт более 700), а сигнал проходит довольно толстый слой атмосферы и заметно ослабляется. Спутниковые каналы могут быть рентабельны для областей, отстоящих друг от друга более чем на 400-500 км (при условии, что других средств не существует). Правильный выбор спутника (его долготы) может заметно снизить стоимость канала.

Число позиций для размещения геостационарных спутников ограничено. В последнее время для телекоммуникаций планируется применение так называемых низколетящих спутников ( <1000 км; период обращения ~1 час ). Эти спутники движутся по эллиптическим орбитам, и каждый из них по отдельности не может гарантировать стационарный канал, но в совокупности эта система обеспечивает весь спектр услуг (каждый из спутников работает в режиме "запомнить и передать"). Из-за малой высоты полета наземные станции в этом случае могут иметь небольшие антенны и малую стоимость.

Существует несколько способов работы совокупности наземных терминалов со спутником. При этом может использоваться мультиплексирование по частоте (FDM), по времени (TDM), CDMA (Code Division Multiple Access), ALOHA или метод запросов.

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

Простая система ALOHA (разработана группой Нормана Абрамсона из Гавайского университета в 70-х годах) позволяет каждой станции начинать передачу тогда, когда она этого захочет. Такая схема с неизбежностью приводит к столкновениям попыток. Связано это отчасти с тем, что передающая сторона узнает о столкновении лишь спустя ~270 мсек. Достаточно последнему биту пакета одной станции совпасть с первым битом другой станции, потеряны будут оба пакета и их придется послать повторно. После столкновения станция ожидает некоторое псевдослучайное время и совершает повторную попытку передачи еще раз. Такой алгоритм доступа обеспечивает эффективность использования канала на уровне 18%, что совершенно недопустимо для таких дорогостоящих каналов, как спутниковые. По этой причине чаще используется доменная версия системы ALOHA, которая удваивает эффективность (предложена в 1972 году Робертсом). Временная шкала делится на дискретные интервалы, соответствующие времени передачи одного кадра.

В этом методе машина не может посылать кадр, когда захочет. Одна наземная станция (эталонная) периодически посылает специальный сигнал, который используется всеми участниками для синхронизации. Если длина временного домена равна , тогда домен с номером начинается в момент времени по отношению к упомянутому выше сигналу. Так как часы разных станций работают по-разному, необходима периодическая ресинхронизация. Другой проблемой является разброс времени распространения сигнала для разных станций. Коэффициент использования канала для данного алгоритма доступа оказывается равным (где – основание натурального логарифма). Не слишком большая цифра, но все же в два раза выше, чем для обычного алгоритма ALOHA.

Метод мультиплексирования по частоте ( FDM ) является старейшим и наиболее часто используемым. Типичный транспондер с полосой 36 Мбит/с может быть применен для получения 500 64кбит/с ИКМ-каналов (импульсно-кодовая модуляция), каждый из которых работает со своей уникальной частотой. Чтобы исключить интерференцию, соседние каналы должны отстоять по частоте на достаточном расстоянии друг от друга. Кроме того, необходимо контролировать уровень передаваемого сигнала, так как при слишком большой выходной мощности могут возникнуть интерференционные помехи в соседнем канале. Если число станций невелико и постоянно, частотные каналы могут быть распределены стационарно. Но при переменном числе терминалов или при заметной флуктуации загрузки приходится переходить на динамическое распределение ресурсов.

Одним из механизмов такого распределения имеет название SPADE, он применялся в первых версиях систем связи на базе INTELSAT. Каждый транспондер системы SPADE содержит 794 симплексных ИКМ-каналов по 64-кбит/c и один сигнальный канал с полосой 128 кбит/c. ИКМ-каналы используются попарно для обеспечения полнодуплексной связи. При этом восходящий и нисходящий каналы имеют полосу по 50 Мбит/с. Сигнальный канал делится на 50 доменов по 1 мсек (128 бит). Каждый домен принадлежит одной из наземных станций, число которых не превышает 50. Когда станция готова к передаче, она произвольным образом выбирает неиспользуемый канал и записывает номер этого канала в очередной свой 128-битный домен. Если один и тот же канал попытаются занять две или более станции, происходит столкновение, и они вынуждены будут повторить попытку позднее.

Метод мультиплексирования по времени сходен с FDM и довольно широко применяется на практике. Здесь также необходима синхронизация для доменов. Это делается, как и в доменной системе ALOHA, с помощью эталонной станции. Присвоение доменов наземным станциям может выполняться централизовано или децентрализовано. Рассмотрим систему ACTS (Advanced Communication Technology Satellite). Система имеет 4 независимых канала (TDM) по 110 Мбит/c (два восходящих и два нисходящих). Каждый из каналов структурирован в виде 1-милисекундных кадров, которые имеют по 1728 временных доменов. Все временные домены несут в себе 64-битовое поле данных, что позволяет реализовать голосовой канал с полосой 64 Кбит/c. Управление временными доменами с целью минимизации времени на перемещения вектора излучения спутника предполагает знание географического положения наземных станций. Управление временными доменами осуществляется одной из наземных станций ( MCS — Master Control Station). Работа системы ACTS представляет собой трехшаговый процесс. Каждый из шагов занимает 1 мсек. На первом шаге спутник получает кадр и запоминает его в 1728-ячеечном буфере. На втором — бортовая ЭВМ копирует каждую входную запись в выходной буфер (возможно для другой антенны). И, наконец, выходная запись передается наземной станции.

В исходный момент каждой наземной станции ставится в соответствие один временной домен. Для получения дополнительного домена, например, для организации еще одного телефонного канала, станция посылает запрос MCS. Для этих целей выделяется специальный управляющий канал емкостью 13 запросов в сек. Существуют и динамические методы распределения ресурсов в TDM (методы Кроузера [Crowther], Биндера [Binder] и Робертса [Roberts]).

Метод CDMA (Code Division Multiple Access) является полностью децентрализованным. Как и другие методы, он не лишен недостатков. Во-первых, емкость канала CDMA в присутствии шума и отсутствии координации между станциями обычно ниже, чем в случае TDM. Во-вторых, система требует быстродействующего и дорогого оборудования.

Технология беспроводных сетей развивается довольно быстро. Эти сети удобны в первую очередь для подвижных средств. Наиболее перспективным представляется проект IEEE 802.11, который должен играть для радиосетей такую же интегрирующую роль, как 802.3 для сетей Ethernet и 802.5 для Token Ring. В протоколе 802.11 используется тот же алгоритм доступа и подавления столкновений, что и в 802.3, но здесь вместо соединительного кабеля используются радиоволны (Рис. 7.19.). Применяемые здесь модемы могут работать и в инфракрасном диапазоне, что бывает привлекательно, если все машины размещены в общем зале.

Схема беспроводной локальной сети


Рис. 7.19.  Схема беспроводной локальной сети

Стандарт 802.11 предполагает работу на частоте 2.4-2.4835 ГГц при использовании модуляции 4FSK/2FSK FHSS и DSSS (Direct Sequence Spread Spectrum), мощность передатчика 10мВт-1Вт. В данном частотном диапазоне определено 79 каналов с полосой 1 Мбит/с каждый. Максимальная пропускная способность сети составляет 2 Мбит/с (в условии малых шумов). Первая локальная сеть 802.11a использовала метод OFDM (Orthogonal Frequency Division Multiplexing). Существует несколько модификаций стандарта и соответствующих регламентирующих документов (смотри http://www.ieee802.org, а также http://www.cisco.com/ipj том 5, N1, IEEE 802.11):

Существуют каналы, работающие в инфракрасном диапазоне (850 или 950 нм). Здесь возможны две скорости передачи: 1 и 2 Мбит/с. При скорости 1 Мбит/c используется схема кодирования с группированием четырех бит в 16-битовое кодовое слово, содержащее 15 нулей и одну 1 (код Грея). При передаче со скоростью 2 Мбит/c 2 бита преобразуются в 4-битовый код, содержащий лишь одну 1 (0001, 0010, 0100 и 1000).

DSSS в 802.11 использует модуляцию DBPSK (Differential Binary Phase Shift Keying) для 1 Мбит/с и DQPSK (Differential Quadrature Phase Shift Keying) для 2 Мбит/с, а высокоскоростное DSSS (DSSS/HR применяемое в IEEE 802.11b) использует схему модуляции ССК (Complementary Code Keying), которая допускает скорости передачи 5,5 и 11 Мбит/с. В случае DSSS каждый бит передается в виде 11 элементарных сигналов, которые называются последовательностью Баркера. Все эти три вида модуляции могут сосуществовать. В протоколе предусмотрена коррекция ошибок FEC (смотри описание в статье о протоколе Bluetooth ). IEEE 802.11a специфицирует систему кодирования OFDM скорости передачи 6, 9, 12, 18, 24, 36, 48 и 54 Мбит/с. В последнее время широкое распространение получила модификации IEEE 802.11b ( WiFi — Wireless Fidelity), которая может обеспечить скорость 1, 2, 5,5 и 11 Мбит/с (модуляция DSSS). Здесь применен алгоритм доступа к сетевой среде CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance). Для стандарта IEEE 802.11b доступно 11-14 радиоканалов в частотном диапазоне 2,4 ГГц. Здесь все зависит от местных регламентаций и ограничений.

Возможно использование всенаправленных и узконаправленных антенн (последние служат для стационарных соединений точка-точка). Всенаправленная антенная система гарантирует связь для расстояний до 45 метров, а узконаправленная — до 45 км. При скорости 1 Мбит/с расстояние надежной связи может достигать нескольких сот метров. Предельно возможная скорость обмена определяется автоматически. Одновременно может обслуживаться до 50 клиентов. Важной особенностью является возможность работы с мобильными клиентами. Улучшенная версия 802.11b называется 802.11g. Этот стандарт принят в 2001 году, в нем применяется метод модуляции OFDM. Теоретически максимальная скорость передачи составляет 54 Мбит/c.

Следует учитывать, что беспроводные каналы шумны и малонадежны, этому способствуют наводки от СВЧ-печей, работающих практически в том же частотном диапазоне. Если вероятность искажения одного бита равна , вероятность того, что n-битовый кадр будет принят корректно, равна . Для Ethernet кадра максимальной длины при вероятность безошибочной доставки составит менее 30%. При будет искажаться один из 9 кадров. По этой причине при работе с радиоканалами следует ориентироваться на короткие кадры.

Топологически локальная сеть IEEE 802.11b строится вокруг базовой станции (смотри описание стандарта Bluetooth ), через которую производится связь с Интернет. Но возможны схемы с несколькими базовыми станциями. В этом случае используется протокол STP (Spanning-Tree Protocol), чтобы исключить возможность формирования циклических структур. Базовые станции могут работать на одних и тех же или на разных частотных диапазонах. Для организации совместной работы базовых станций используются сигнальные кадры (beacon), которые служат для целей синхронизации. Современные ноутбуки имеют встроенный Wi-Fi-адаптер. Родоначальником системы Wi-Fi считается Вик Хэйз. Точки доступа к Wi-Fi устанавливаются в библиотеках, кафе, аэропортах, магазинах и т.д.

В 1992 году страны члены ЕС выделили диапазон частот 1,89-1,9 ГГц для целей построения сетей, базирующихся на применение радиосигналов (стандарт DECT — Digital European Cordless Telecommunications). Этот стандарт был разработан для целей передачи данных и голоса в системах сотовой связи. В США для этих же целей используются широкополосные системы с шумоподобным сигналом (SST — ШПС). Для подобных целей выделены также частотные диапазоны 18 и 60 ГГц (диапазон 2,4 ГГц сильно перегружен и "засорен" шумами).

При относительно малых расстояниях проблем обычно не возникает и работу беспроводной сети действительно можно аппроксимировать алгоритмом CSMA. Но в случае, когда расстояние между передатчиком и приемником сравнимо с радиусом надежной связи, отличие от традиционных сетей становится значительным. Ведь для радиосетей важна интерференция на входе приемника, а не на выходе передатчика (как в CSMA). Рассмотрим вариант сети, изображенный на рис. 7.20. Если передачу осуществляет узел А (вариант I), узел С находится вне его радиуса действия и может решить, что можно начать передачу. Излучение передатчика С может вызвать помехи на входе узла В ( проблема скрытой станции ).

Схема взаимодействия узлов в беспроводной сети (MACA)


Рис. 7.20.  Схема взаимодействия узлов в беспроводной сети (MACA)

В случае, когда передачу ведет узел В (вариант II), узел С может решить, что начало передачи сообщения узлу D невозможно, так как в зоне С детектируется излучение станции В ( проблема засвеченной станции ). Таким образом, в радиосетях, прежде чем начать передачу данных, надо знать, имеется ли радиоактивность в зоне приемника-адресата.

В коротковолновых сетях возможна одновременная передача для нескольких адресатов, если они находятся в разных зонах приема, что невозможно для проводных решений.

Ранние протоколы беспроводных локальных сетей базировались на схеме MACA (Multiple Access with Collision Avoidance), разработанной Ф. Карном в 1990 году. Эта схема является основой стандарта IEEE 802.11. В этой схеме отправитель просит получателя прислать короткий кадр, который, будучи принят соседями, предотвратит их передачу на время последующей трансляции сообщения адресату. На рис. 7.20 узел В посылает кадр RTS (Request To Send) узлу C. Этот кадр имеет всего 30 октетов и содержит поле длины последующего сообщения. Узел C откликается посылкой кадра CTS (Clear To Send), куда копируется код длины последующего обмена из кадра RTS. После этого узел В начинает передачу. Окружающие станции, например D или E, получив CTS, воздерживаются от начала передачи на время, достаточное для передачи сообщения оговоренной длины. Станция A находится в зоне действия станции B, но не станции C и по этой причине не получит кадр CTS. Станция A может начинать передачу, если хочет и не имеет других причин, препятствующих этому. Напротив, станция D получает только сигнал CTS и вынуждена ждать завершения передачи станцией А, хотя из рисунка видно, что активность D не вызовет помех.

Несмотря на все предосторожности, коллизия все же может произойти. Например, станции A и C могут одновременно послать кадры RTS станции B. Эти кадры будут неизбежно потеряны, после псевдослучайной выдержки эти станции могут совершить повторную попытку (как это делается в Ethernet).

В 1994 году схема MACA была усовершенствована и получила название MACAW. Было отмечено, что без подтверждения на канальном уровне потерянные кадры не будут переданы повторно, пока транспортный уровень много позднее не обнаружит их отсутствия. В усовершенствованной схеме требуется подтверждение получения любого информационного кадра, добавлен также механизм оповещения о перегрузке. Стандарт 802.11 поддерживает два режима работы: DCF (Distributed Coordination Function) и PCF (Point Coordination Function). Первый не имеет средств централизованного управления, второй — предполагает, что базовая станция берет на себя функцию управления локальной субсетью. В протоколе 802.11 используется алгоритм доступа CSMA/CA (CSMA with Collision Avoidance). При этом производится прослушивание физического и виртуального каналов. CSMA/CA может работать в двух режимах. В первом — станция до начала передачи прослушивает канал. Если канал свободен, она начинает передачу данных. При передаче канал не прослушивается и станция передает кадр полностью. Если канал занят, отправитель ждет его освобождения и только после этого начинает передачу. В случае коллизии станции, участвующие в этом событии, смогут начать передачу через псевдослучайный интервал времени. Второй режим CSMA/CA базируется на протоколе MACAW и использует контроль виртуального канала, как это показано на рис. 7.21. В показанном на рисунке примере станция А намеревается передать данные станции В Станция С находится в зоне доступности стации А и, возможно, станции В. Станция D входит в зону доступности станции В, но пребывает вне зоны досягаемости станции А.

Прослушивание виртуального канала в протоколе CSMA/CA


Рис. 7.21.  Прослушивание виртуального канала в протоколе CSMA/CA

Когда станция А решает, что ей необходимо передать данные станции В, она посылает ей кадр RTS, запрашивая разрешение на передачу. Если В может принимать данные, она пришлет отклик в виде кадра CTS. После приема CTS станция А запускает таймер ACK и начинает пересылку данных. При успешном приеме станция В формирует кадр ACK, который посылается А, свидетельствуя о завершении обмена. Если время таймаута ACK истечет раньше, алгоритм повторяется с самого начала. Станция С также принимает кадр RTS и поэтому знает, что по каналу будут передаваться данные и по этой причине следует воздержаться от попыток передачи. Из данных, содержащихся в RTS, станция С знает, сколько времени будет продолжаться передача, и пребывает в пассивном состоянии. Индикацией этого состояния является последовательность NAV (Network Allocation Vector) (см. рис. 7.21). Станция D не слышит RTS, передаваемый А, зато воспринимает CTS, посланный станцией В, и также выдает NAV. Следует учитывать, что сигналы NAV не передаются, а являются лишь внутренними напоминаниями о необходимости хранить радиомолчание. При фрагментации каждый фрагмент имеет свою контрольную сумму, и его получение подтверждается индивидуально. Посылка фрагмента невозможна, пока не получено подтверждение получения фрагмента . После получения доступа к каналу отправитель может послать несколько кадров подряд. Если фрагмент доставлен с искажением, он пересылается повторно.

Режимы PCF и DCF могут сосуществовать в пределах одной сотовой ячейки. Это достигается путем точного определения межкадрового интервала. Самый короткий интервал SIFS (Short Interframe Interval) используется для того, чтобы одна из сторон, ведущих диалог посредством кадров управления, могла получить возможность начать передачу первой. Всего регламентировано 4 разных типов межкадровых интервалов (SIFS, PIFS, DIFS и EIFS).

Помимо WLAN, в настоящее время разработаны стандарты для беспроводных региональных сетей WMAN (Wireless Metropolitan-Area Networks, например, WiMAX) и WWAN (Wireless Wide-Area Networks) со скоростями обмена в десятки килобит в сек. В текущий момент насчитывается более полудюжины различных типов беспроводных сетей:

Скорость обмена 9,6-14,4 кбит/c.

Система (WWAN) разработана Ericsson и Swedish Telecom. Расстояние связи < 30 км. MTU=545 байт, скорость обмена 8 кбит/c. RTT может достигать 10 сек.

Эта система известна также под именем ARDIS. Максимальное расстояние связи равно 20 км. Как и в Mobitex связь между базовой станцией и мобильным узлом DataTAC осуществляется в полудуплексном режиме. MTU=2048 байт, скорость обмена 19,2 кбит/с. Система базируется не на IP-технике.

Система разработана IBM и McCaw Cellular Communications в начале 90х. MTU=2048 байт, скорость обмена 19,2 кбит/c, время отклика составляет порядка 4 секунд. Обмен может производиться в режиме full duplex.

Система разработана ETSI в конце 1997 года и работает совместно с GSM. Система может работать с кодовыми схемами CS1, CS2, CS3 и CS4 при скоростях обмена до 60 кбит/c. Мобильные ЭВМ обычно работают с MTU=1500 байт в режиме full duplex.

Систему называют также улучшенным GPRS, по основным параметрам она совпадает со своим прототипом.

К сожалению, беспроводные, особенно мобильные каналы крайне ненадежны. Потери пакетов в таких каналах весьма вероятны. Понижение скорости передачи, как правило, не приводит к понижению вероятности потери. Кроме того, проходы от отправителя к получателю здесь неоднородны и могут включать в себя сегменты с различными методами транспортировки данных (проводные и беспроводные). В таких структурах бывает полезно разбить канал на две последовательные связи ( indirect TCP ). Преимуществом такой схемы является то, что оба виртуальных канала являются однородными. Таймауты в одном из соединений заставят отправителя замедлить темп передачи, в то время как таймауты во втором — могут ускорить обмен. Да и все остальные параметры связей могут оптимизироваться независимо. Основной недостаток этого приема заключается в нарушении базового принципа организации TCP-соединений на основе сокетов, здесь получение подтверждения отправителем не означает благополучной доставки. В 1995 году была предложена схема, не нарушающая TCP-семантику. В этой схеме вводится специальный агент-наблюдатель, который отслеживает состояние кэшей отправителя и получателя и посылает подтверждения. Этот агент при отсутствии своевременного подтверждения запускает процедуру повторной посылки сегмента, не информируя об этом первичного отправителя. Механизмы подавления перегрузки запускаются в этом варианте только при перегрузке проводной секции канала. При потерях реализуется выборочная пересылка сегментов.

В последнее время в продажу поступили радио-интерфейсы (IEEE 802.11b) для персональных ЭВМ, которые позволяют создавать небольшие офисные сети. Пригодны они и для подключения к каналам Интернет, но в этом случае следует позаботиться о специальной антенне. Такие интерфейсы работают на несущей частоте 2,4-5,0 ГГц и обеспечивают пропускную способность 11-22Мбит/с при расстояниях 700-5000м. Особую привлекательность такие интерфейсы представляют для мобильных ЭВМ. (См. LANline Spezial VII/2002, Nov/Dez s16; LANline.) Топология радио-сетей достаточно многообразна. Возможны варианты, когда клиенты сети взаимодействуют друг с другом через базовую станцию (см. статью о Bluetooth, рис. 7.22). Возможна схема взаимодействия все-со-всеми, когда рабочие станции связываются друг с другом непосредственно через эфир. Роль базовой станции может выполнять радио-переключатель или специализированный маршрутизатор.

Топология WLAN c базовой станцией.


Рис. 7.22.  Топология WLAN c базовой станцией.

При работе с UDP также возникают некоторые трудности. Хотя известно, что UDP не гарантирует доставки, большинство программ предполагает, что вероятность потери невелика.

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

Стандарт 802.11 использует три класса кадров, транспортируемых через канал: информационные, служебные и управляющие. Формат информационного кадра представлен на рис. 7.23.

Формат информационного кадра 802.11.


Рис. 7.23.  Формат информационного кадра 802.11.

Двухоктетное поле управления кадра имеет 11 субполей. Субполе версия протокола позволяет двум протоколам работать в пределах одной ячейки. Поле тип задает разновидность кадра (информационный, служебный или управляющий), а субтип определяет субтип кадра (RTS, CTS или ACK). Биты к DS и от DS указывают на направление транспортировки кадра: к межсотовой системе (например, Ethernet) или от нее. Бит MF указывает на то, что далее следует еще один фрагмент. Бит повтор отмечает повторно посылаемый фрагмент. Бит управление питанием используется базовой станцией для переключения в режим пониженного энергопотребления или для выхода из этого режима. Бит продолжение говорит о том, что у отправителя имеются еще кадры для пересылки. Бит W является указателем использования шифрования в теле кадра согласно алгоритму WEP (Wired Equivalent Protocol). Однобитовое поле O сообщает приемнику, что кадры с этим битом (=1) должны обрабатываться строго по порядку.

Поле длительность задает время передачи кадра и его подтверждение. Это поле может присутствовать в служебных кадрах. Именно с учетом этого поля станции выставляют признаки NAV. Заголовок содержит четыре адреса. Это адрес отправителя и получателя, а также адреса ячейки отправителя и места назначения. Поле номер служит для нумерации фрагментов. Из 16 бит номера 12 идентифицируют кадр, а 4 — фрагмент. Управляющие кадры имеют сходный формат, только там отсутствуют поля базовых станций, так как эти кадры не покидают пределов сотовой ячейки. В служебных кадрах отсутствуют поля данные и номер, ключевым здесь является содержимое поля субтип (RTS, CTS или ACK).

Для обеспечения безопасности (ведь к такой сети достаточно легко подключиться) используется алгоритм WEP (Wired Equivalent Privacy). Длина ключа составляет 40 или 104 разряда. Предусмотрена возможность шифрования сообщений и аутентификации с использованием двухключевых схем (смотри http://www.rsasecurity.com/rsalabs/technotes/wep-fix.html).

Стандарт 802.11 требует, чтобы все совместимые беспроводные ЛВС предоставляли девять типов сервисов. Первые пять относятся к услугам распределения и осуществляются базовой станцией, остальные четыре являются станционными. Первая группа:

  1. Ассоциация. Этот вид сервиса используется мобильными станциями для подключения к базовым станциям (БС). Операция осуществляется при вхождении станции в зону действия БС. Мобильная станция передает идентификационную информацию и данные о своих возможностях. БС может принять или отвергнуть мобильную станцию.
  2. Диссоциация. По инициативе мобильной или базовой станций может быть выполнен разрыв ассоциации. Это происходит при выключении станции или уходе из зоны действия БС.
  3. Реассоциация. Операция служит для смены базовой станции. Это происходит при переходе из одной сотовой ячейки в другую.
  4. Распределение. Этот вид сервиса служит для маршрутизации кадров, посылаемых базовой станции. Если адрес места назначения является локальным, то кадры передаются непосредственно, в противном случае их надо передать по проводной сети.
  5. Интеграция. Если кадр передается через сеть, не следующую стандарту 802.11 и применяющую другую схему адресации и формат кадров, то данный вид сервиса осуществляет трансляцию форматов.

Остальные четыре вида услуг являются внутренними сервисами сотовой ячейки и предоставляются после осуществления ассоциации. В перечень этих сервисов входят:

  1. Идентификация. Этот сервис служит для определения прав доступа станции к ресурсам сотовой ячейки.
  2. Деидентификация. При уходе из сети станция должна выполнить деидентификацию.
  3. Конфиденциальность. Данный сервис служит для шифрования передаваемых конфиденциальных данных. Применяется алгоритм RC4.
  4. Доставка данных. Пересылка, так же, как и в Ethernet, не является гарантированной. Выявлять и исправлять ошибки должны верхние уровни.

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

Лекция 8. Мобильные телекоммуникации

Мобильные телекоммуникации (802.11a-g, WiFi, GSM), CDMA. Bluetooth. Стандарт широкополосной беспроводной связи IEEE 802.16. Широкополосный канал для подключения периферийных устройств UWB.

В 80-х – 90-х годах 20-го века весьма активное развитие получила мобильная телефония. В последнее время услуги мобильной связи стали применяться и для передачи цифровых и мультимедийных данных. Мобильные телекоммуникации использует диапазоны в интервале 50 МГц – 1,8 ГГц. Мобильные системы работают при малых выходных мощностях передатчика, что ограничивает размер зоны приема. Вне этой зоны другие передатчики могут функционировать независимо. Такие зоны называются сотами (ячейками). По аналогии с пчелиными сотами их часто изображают шестигранными, хотя реально они могут иметь самую причудливую форму в зависимости от профиля местности (но никогда не имеют вид пчелиных сот). Ячейки должны перекрываться так, как показано на рис. 8.1.

Схема расположения ячеек при сотовой связи


Рис. 8.1.  Схема расположения ячеек при сотовой связи

Светлыми кружками отмечены реальные границы ячеек, их перекрытие должно обеспечить перекрытие всей зоны телекоммуникаций. В центре ячейки находится базовая станция — ретранслятор. Такая станция содержит в себе ЭВМ и приемо-передатчик, соединенный с антенной. Сигнал передатчика падает по мере удаления от центра ячейки, где он должен быть расположен. Там же должен находиться и приемник. В пределах ячейки предусмотрено несколько каналов для приема/передачи, разнесенные по частоте. Такие системы могут обслуживать пейджерную или мобильную телефонную сеть. Пейджерные каналы однонаправлены, а телефонные двунаправлены (см. рис. 8.2). Пейджинговые системы требуют небольшой полосы пропускания, а одно сообщение редко содержит более 30 байт. Большинство современных пейджинговых систем работает в частотном диапазоне 930-932 МГц (старые занимали 150-174 МГц ).

Каналы пейджерной (слева) и мобильной телефонной сети (справа).


Рис. 8.2.  Каналы пейджерной (слева) и мобильной телефонной сети (справа).

В небольших системах все базовые станции соединены с MTSO (Mobile Telephone Switching Office). В больших сетях может потребоваться несколько MTSO, которые в свою очередь управляются MTSO следующего уровня и т.д.. Узловая MTSO соединена со станцией коммутируемой телефонной сети. В любой момент каждый мобильный телефон логически находится в одной определенной ячейке и управляется одной базовой станцией. Когда телефон покидает ячейку, базовая станция обнаруживает падение уровня сигнала и запрашивает окружающие станции об уровне сигнала для данного аппарата. Управление аппаратом передается станции с наибольшим входным сигналом. Телефон информируется о смене управляющей станции, при этом предлагается переключиться на новый частотный канал (в смежных ячейках должны использоваться разные частотные каналы).

Эти каналы управляются центральным коммутатором ячейки ( MSC – Mobile-Service switching Centre). Пользователь использует канал до тех пор, пока находится в пределах ячейки. При переходе в соседнюю ячейку он получает новый канал (hand-off), что должно быть практически незаметно для пользователя и занимает около 300 мсек. Присвоением частот управляет MTSO.

В рамках американского стандарта первого поколения AMPS (Advanced Mobile Phone Service) формируется 40 МГц-канал в интервале 800-900 МГц. Этот диапазон делится пополам, 20 МГц выделяется для передачи и столько же для приема. Данные диапазоны делятся в свою очередь на 666 двусторонних каналов, каждый по 30 кГц. Эти каналы расщепляются на 21 субканал, сгруппированные по 3. Обычно, как показано на рис. 8.1, гексагональные ячейки группируются по 7 (центральная и 6 ее соседей). Имея 666 каналов, можно выделить три набора по 31 каналу для каждой ячейки.

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

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

Каждый мобильный телефон в AMPS имеет 32-битовый серийный номер и телефонный номер, характеризуемый 10 цифрами. Телефонный номер представляется как код зоны (3 десятичные цифры) и номер подписчика (7 десятичных цифр). Когда телефон включается, он сканирует список из 21 управляющих каналов и находит тот, у которого наиболее мощный сигнал. Управляющая информация передается в цифровой форме, хотя сам голосовой сигнал является аналоговым. При нормальной работе мобильный телефон перерегистрируется в MTSO каждые 15 мин.

При осуществлении вызова пользователь набирает номер телефона и нажимает кнопку send. Аппарат посылает набранный номер и свой идентификационный код. Базовая станция принимает вызов и передает его MTSO. Если звонящий является клиентом MTSO или ее партнером, отыскивается свободный канал и мобильный телефон переключается на него, ожидая, когда адресат снимет трубку.

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

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

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

В Европе принят единый стандарт для систем мобильной связи GSM (Group Special Mobile, второе поколение мобильных средств связи; действует в более чем 50 странах). GSM использует диапазоны 900 и 1800 МГц. Это довольно сложный стандарт, его описание занимает около 5000 страниц. Идеологически система имеет много общего с ISDN (например, переадресацию вызовов). GSM имеет 200 полнодуплексных каналов на ячейку, с полосой частот 200 кГц, что позволяет ей обеспечить пропускную способность 270,833 бит/с на канал. Каждый из 124 частотных каналов делится в GSM между восемью пользователями (мультиплексирование по времени). Теоретически в каждой ячейке может существовать 992 канала, на практике многие из них недоступны из-за интерференции с соседними ячейками.

Частотные каналы GSM


Рис. 8.3.  Частотные каналы GSM

Восемь выделенных на рис. 8.3 доменов соответствуют одному и тому же каналу (клиенту принадлежит канал 2). Четыре из них служат для связи клиента с базой, а 4 другие — для связи базы с клиентом. Если мобильной станции выделена частота 890.4.935.4 и домен 2 желает что-то передать базовой станции, будут задействованы нижние 4 (затененные на рисунке) домена. В них будут помещаться данные до тех пор, пока вся информация не будет передана.

Система мультиплексирования по времени имеет специфическую, иерархическую структуру. Отдельные временные домены объединяются в мультифреймы. Упрощенная схема структуры показана на рис. 8.4.

Каждый временной домен (TDM) содержит 148-битовый кадр данных, начинающийся и завершающийся последовательностью из трех нулей. Кадр имеет два 57-битовых поля данных, каждое из них имеет специальный бит, который указывает на то, что лежит в кадре — голос или данные. Между информационными полями размещается поле синхронизации (Sync). Хотя информационный кадр имеет длительность 547 мксек, передатчику позволено передавать его лишь раз в 4615 мксек, так как остальное время зарезервировано для передачи другими станциями. Если исключить накладные расходы каждому соединению выделена полоса (без учета сжатия данных) 9,600 бит/с.

Восемь информационных кадров образуют TDM-кадр, а 26 TDM-кадров объединяются в 128-микросекундный мультифрейм. Как видно из рисунка 8.4, позиция 12 в мультифрейме занята для целей управления, а 25-я зарезервирована для будущих применений.

Существует также стандарт на 51-позиционный мультифрейм, содержащий больше управляющих вставок. Управляющий канал используется для регистрации, актуализации положения и формирования соединения. Каждая станция поддерживает базу данных, где хранится информация обо всех обслуживаемых в данный момент клиентах. Общий управляющий канал делится на три субканала. Первый служит для обслуживания вызовов (paging channel), второй (random access channel) реализует произвольный доступ в рамках системы ALOHA (устанавливаются параметры вызова). Третий субканал используется для предоставления доступа (access grant channel).

Структура кадров в GSM


Рис. 8.4.  Структура кадров в GSM

Алгоритмы обслуживания мобильной связи достаточно нетривиальны. Из рисунка 8.1 видно, что области перекрываются (иначе бы существовали "мертвые" зоны без связи). Существуют даже субобласти, накрываемые тремя MSC. По этой причине процедура должна четко определить, с каким из MSC клиент должен быть связан и при каких условиях его следует переключить на соседний MSC, не прерывая связи. Система должна также компенсировать падение сигнала, иногда достаточно резкое, чтобы обеспечить комфортную связь и безошибочную передачу информации. По этой причине частота ошибок ( BER ) в таких сетях составляет 10-3 (против 10-6 для обычных стационарных цифровых каналов связи).

Следует иметь в виду, что в условиях города сигнал падает пропорционально не квадрату, а четвертой степени расстояния.

На распространение радиоволн в городе влияют ориентация улиц (до 20 дБ), туннели (до 30 дБ) и листва деревьев в сельской местности (до 18 дБ).

GSM — система, базирующаяся в основном на коммутации каналов. Применение модема на переносной ЭВМ позволяет подключиться к сети Интернет. Но здесь не все беспроблемно. Базовые станции временами теряют связь друг с другом (переключение с канала на канал), что может приводить к 300 миллисекундным потерям данных. Как уже говорилось выше, здесь высока вероятность ошибок. Так, нажав клавишу "a", можно получить на экране букву "я". Да и расценки за минуту работы в Интернет здесь весьма высоки. В связи с этим был разработан стандарт на цифровую систему коммутации пакетов CDPD (Cellular Digital Packet Data). Схема реализации CDPD показана на рис. 8.5.

Соединения цифровой системы CDPD


Рис. 8.5.  Соединения цифровой системы CDPD

Система работает поверх AMPS и обеспечивает информационную пропускную способность на уровне 9,6 Кбит/с. CDPD довольно точно следует модели OSI и состоит из трех типов станций: мобильные ЭВМ, базовые станции и базовые интерфейсные станции. В CDPD определены три типа интерфейсов. Е-интерфейс (внешний по отношению к CDPD-провайдеру) соединяет CDPD-область с определенной сетью. I-интерфейс (внутренний по отношению к CDPD-провайдеру) соединяет CDPD-области друг с другом. A-интерфейс (эфирный) используется для связи базовой станции с мобильной ЭВМ. В функции этого интерфейса входит сжатие и шифрование данных, а также исправление ошибок. 274-битные блоки сжатой и зашифрованной информации вкладываются в 378-битовые блоки, предназначенные для коррекции ошибок с привлечением алгоритма Рида-Соломона. К каждому такому блоку добавляется семь 6-битовых флагов. Результирующие блоки имеют 420 бит и передаются в виде семи 60-битовых микроблоков. Каждый микроблок имеет свой собственный 6-битовый флаг, используемый для индикации состояния канала. Эти микроблоки передаются к базовой станции со скоростью 19,2 Кбит/с. Канал с аналогичным быстродействием создается для пересылки информации в противоположном направлении. При обмене применяется мультиплексирование с делением по времени. При этом временные домены имеют длительность 3,125 мсек (60 бит).

Когда мобильная ЭВМ хочет что-то передать, прослушивается канал базовой станции и проверяется флаг, сообщающий, свободен ли входной канал базовой станции. Если канал занят, ЭВМ, вместо ожидания очередного временного домена, пропускает псевдослучайное число временных доменов, после чего повторяет попытку. Если повторная попытка неудачна, время ожидания увеличивается примерно вдвое. Когда, наконец, ЭВМ обнаруживает, что канал свободен, она начинает пересылку своих микроблоков. Предусмотрена процедура, препятствующая попытке всех ЭВМ, готовых к передаче, захватить канал, как только он оказался свободным. Этот алгоритм называется DSMA (Digital Sense Multiple Access). Но, несмотря на применение DSMA, столкновение все же возможно, так как две или более ЭВМ могут воспользоваться одним и тем же временным доменом для начала передачи. Для выявления столкновений предусмотрен специальный флаг, который позволяет судить, корректно ли доставлен предыдущий микроблок. К сожалению, это происходит не мгновенно, а лишь после нескольких микроблоков. При обнаружении ошибки передача прерывается.

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

Предусмотрена возможность создания выделенных CDPD-каналов.

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

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

Когда пользователь появляется в некоторой области, его ЭВМ должна там зарегистрироваться у внешнего агента. Периодически каждый внешний агент широковещательно уведомляет о своем существовании. Мобильный пользователь может некоторое время ждать такого уведомления или сам послать широковещательный запрос типа "Имеется ли здесь внешний агент?".

В процессе регистрации мобильная ЭВМ передает внешнему агенту свой IP-адрес (в домашней локальной сети), текущий МАС-адрес и некоторую информацию, обеспечивающую нужный уровень безопасности.

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

Локальный агент анализирует полученные данные (сюда входит и временная метка). Если с его точки зрения все в порядке, он посылает уведомление об этом внешнему агенту.

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

Рассмотрим случай, когда хозяин мобильной ЭВМ, живущий в Красноярске, оказался в командировке в Москве, едет в автомобиле и хочет прочесть электронную почту в своем офисе дома. Как он может это практически сделать?

Пакеты, посылаемые пользователю мобильной ЭВМ, перехватываются локальным агентом. Последний определяет по своим записям, где в данный момент находится мобильная ЭВМ, и определяет адрес соответствующего внешнего агента в Москве. Далее локальный агент инкапсулирует пакет в поле данных IP-пакета и посылает его внешнему агенту. Такая процедура называется туннелированием. Получив пакет, внешний агент извлекает вложенные данные и посылает их мобильной ЭВМ. После этого локальный агент предлагает отправителю посылать данные непосредственно мобильному адресату, инкапсулируя их в кадры, направляемые внешнему агенту, а не в локальную сеть приписки данной машины. Если мобильная ЭВМ покидает область данного внешнего агента и попадает в область другого агента, вся процедура должна повториться вновь. После широкого внедрения адресации IPv6 мобильной ЭВМ можно будет присваивать новый уникальный адрес, что может упростить протокол общения. Схема таких пересылок при работе с мобильной машиной показана на рис. 8.6.

Схема обменов при работе с мобильной ЭВМ


Рис. 8.6.  Схема обменов при работе с мобильной ЭВМ

GSM использует довольно сложную комбинацию методик ALOHA, TDM и FDM. CDPD для передачи одиночных кадров не вполне согласуется с алгоритмом CSMA. Впрочем, существует еще один метод формирования радио каналов — CDMA (Code Division Multiple Access).

Метод CDMA принципиально отличается от описанных выше, которые использовали для демультиплексирования доступа FDM, TDM или ALOHA. CDMA позволяет каждой станции осуществлять передачу во всем частотном диапазоне постоянно. Множественные передачи реализуются с привлечением теории кодирования. Здесь предполагается, что сигналы, совпадающие по времени, складываются линейно.

В CDMA каждый бит-тайм делится на m коротких интервалов, называемых чипами. Обычно используется 64 или 128 чипов на бит. Каждой станции присваивается уникальный m -битный код (chip sequence). Чтобы передать 1 бит, станция посылает свой чип-код. Для простоты далее будем предполагать, что m=8. Для того, чтобы послать нулевой бит, посылается дополнение чип-кода по модулю один. Никакие другие кодовые последовательности не разрешены. Например, пусть станции 1 поставлен в соответствие чип-код 01010101, тогда при посылке логической 1 она отправляет код 01010101, а при отправке логического нуля — 10101010. Если имеется канал с полосой 1 МГц и 100 станций с FDM, то каждая из них получит по 10 кГц (10 Кбит/c при 1 бите на Гц). При CDMA каждая станция использует весь частотный диапазон, так что будет получена скорость передачи 1 мегачип в секунду. При менее 100 чипов на бит CDMA обеспечивает большую пропускную способность, чем FDM. Для упрощения введем двухполярную нотацию, где нулю соответствует -1, а единице +1. Тогда чип-код станции 1 получит вид -1 +1 -1 +1 -1 +1 -1 +1. Каждая из станций получает уникальный чип-код. Чип-коды можно представить в виде m-компонентных векторов. Чип-коды выбираются так, что все они попарно ортогональны (не любой уникальный чип-код пригоден, так, если станция 1 имеет чип-код 01010101, то станция 2 не может иметь чипкод 10101001, но чип-код 10100101 вполне допустим). Математически это можно выразить следующим образом:

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

(8.1)

Когда сигналы от разных станций совпадают во времени и складываются, принимающая сторона легко может вычислить наличие соответствующей компоненты. Если компоненты суммарного сигнала , то компоненты вычисляются с помощью произведения . Действительно, если:

Здесь первые два слагаемых равны нулю в силу ортогональности выбранных чип-кодов. Последнее же слагаемое равно 1 согласно формуле [8.1]. Во всех этих рассуждениях предполагалось, что все станции работают синхронно и начинают передачу чип-кодов одновременно.

Для пояснения метода рассмотрим конкретный пример в выше предложенной нотации. Присвоим станциям F, G, H, I ортогональные чип-коды:

Теперь рассмотрим четыре варианта наложений:

Только

Для выявления наличия компоненты G выполним операции "умножения" согласно описанным выше правилам.

S1*G =[-1 -1 -1 -1 +1 +1 +1 +1]/8=0 (G отсутствует)

S2*G =[0 -2 0 -2 - +2 0 +2]/8=0 (G отсутствует)

S3*G =[+1 +1 -1 -1 +1 +1 +3 +3]/8=1 (G имеется — передана логическая 1)

S4*G =[-1 -1 -3 -3 -1 -1 +1 +1]/8=-1 (G имеется — передан логический 0)

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

Мы уже живем в век мобильных телефонов, ими люди пользуются в транспорте, несмотря на запреты, за рулем авто и в самолетах. Сейчас легко представить, сколько людей в аэробусе за время полета решат воспользоваться телефоном. Они будут при этом создавать независимые потоки радиоизлучения в достаточно широком частотном диапазоне, ведь все они будут работать на разных частотах (см. рис. 8.7А). Это может создавать помехи навигации. Проще всего запретить пользование мобильным телефоном в полете, но это создает неудобства пассажирам.

А теперь представим себе, что в каждом пассажирском кресле имеется разъем для подключения телефона или персональной ЭВМ (Laptop). Все эти приборы в этом случае объединяются в локальную бортовую сеть, которая связывается с наземной службой на оговоренной частоте (рис. 8.7Б). Согласитесь, что это решение со всех точек зрения эффективнее. По этой причине в 21-ом веке локальные сети станут использоваться в авиалайнерах, морских и речных пассажирских судах, поездах и междугородних автобусах (и даже в автомобилях).

Варианты мобильной телефонной и компьютерной связи на борту авиалайнера


Рис. 8.7.  Варианты мобильной телефонной и компьютерной связи на борту авиалайнера

Распространение волн, как правило, является всенаправленным. Иногда это может иметь весьма негативные последствия. Так в 1970-ые годы в автомобилях кадиллак фирмы Дженерал Моторс была установлена система антиблокировки тормозов, управляемая от бортовой ЭВМ. При нажатии педали тормоза ЭВМ вырабатывала последовательность импульсов нажатия, препятствуя блокировке колес тормозными колодками. Однажды на магистрали в Огайо полицейский патруль воспользовался новой системой радиосвязи со своей базой. Кадиллак, который двигался неподалеку, повел себя как необъезженный мустанг. После долгого исследования было выяснено, что разводка проводов управления в кадиллаке работала как приемная антенна, воспринимающая внешние радиосигналы патрульной полицейской машины и передающая их устройству управления тормозов. Сходные проблемы могут возникнуть при использовании беспроводной мышки, которая управляется СВЧ, если неподалеку (например, за перегородкой) окажется аналогичное устройство. Согласитесь, вам вряд ли понравится, если маркер вашей мыши начнет перемещаться под влиянием "потусторонних" сил.

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

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

8.1. Bluetooth

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

В 1994 году начались работы по изучению возможности использования мобильных, сетевых коммуникаций. Компании IBM, Nokia, Intel и Toshiba создали консорциум для разработки стандарта беспроводной связи между ЭВМ посредством устройств с ограниченным радиусом действия.

Проект получил название Bluetooth в честь короля Норвегии и Дании Гарольда Голубой Зуб (Harald Blaatand, 940-981 годы). Проект являлся конкурентом стандарта IEEE 802.11 (оба стандарта используют один и тот же частотный диапазон, одни и те же 79 каналов). Главной его целью являлось удаление любых кабелей из телефонии, а если получится — и из локальных сетей. Очевидно, что в нынешнем виде Bluetooth не может вытеснить 802.11 хотя бы из-за ограничений на максимальный размер сети. Но эта технология быстро развивается и трудно предсказать, какое место она займет в самые ближайшие годы. В 1999 году был издан 1500-страничный документ v1.0. После этого группа стандартизации IEEE взяла этот документ за основу стандарта 802.15 (физический уровень и уровень передачи данных).

В 2002 году IEEE утвердил стандарт 802.15.1. Пока стандарт 802.15 и Bluetooth не идентичны, но ожидается их объединение в самом ближайшем будущем. Технология Bluetooth использует не лицензируемый (практически везде кроме России) частотный диапазон 2,4 2,4835ГГц. При этом используются широкие защитные полосы: нижняя граница частотного диапазона составляет 2ГГц, а верхняя - 3,5ГГц. Точность заданий частоты (положение центра спектра) задается с точностью . Дрейф частоты в этот интервал не входит.

Кодирование сигнала осуществляется по двухуровневой схеме GFSK (Gaussian Frequency Shift Keying). Логическому 0 и 1 соответствуют две разные частоты. В оговоренной частотной полосе выделяется 79 радиоканалов по 1 МГц каждый. В некоторых странах используется меньшее число каналов (например, во Франции — 23). Каждый из каналов структурируется с помощью выделения временных слотов (доменов) длительностью 625 мкс (разделение по времени).

По мощности передатчики делятся на три класса: 100мВт (для связи до 100м; 20дБм); 2 мВт (до 10м; 4дБм) и 1 мВт (~10см; 0дБм). Коэффициент модуляции при этом лежит в диапазоне (0,28-0,35). Чувствительность приемника должна быть не хуже 70дБм. BER (Bit Error Rate) для приемника должна находиться на уровне <0,1%. Желательно, чтобы приемник имел индикатор мощности входного сигнала (требование является опционным).

Для первого класса предусмотрено регулирование мощности. Регулировка осуществляется на основе анализа числа ошибок. Протокол использует коммутацию каналов и пакетов. Передача данных выполняется с использованием алгоритма доступа Time-Division Duplex Multiple Access. Каждый пакет передается с использованием иного частотного канала по отношению к предыдущему. Производится 1600 переключений частоты в секунду. Последовательность переключения частот определяется BD_ADDR мастера. Скачкообразное переключение частоты отводит на переходные процессы 250-260 мксек. Длительность тика часов мастера равна 312,5 мксек, что определяет частоту часов -; 3,2 кГц. Допускается временная неопределенность при приеме, равная мксек. Смотри также http://www.palowireless.com/infotooth/tutorial/radio.asp.

Структура протоколов Bluetooth не следует моделям OSI, TCP/IP и даже 802 (ведутся работы по адаптации Bluetooth к модели IEEE 802). Физический уровень протокола соответствует базовым принципам моделей OSI и 802. Разработчики потратили много усилий, чтобы сделать протокол как можно дешевле для реализации. В среднем временная привязка мастерных пакетов не должна дрейфовать больше чем на 20x10-6 относительно идеальной временной привязки слота в 625 мксек. Временной разброс при этом не должен превышать 1 мксек.

В спецификации определено 5 уровней: физический, базовый ( baseband ; смотри http://www.palowireless.com/infotooth/tutorial/baseband.asp), управления каналом LMP (Link Management Protocol; смотри http://www.palowireless.com/infotooth/tutorial/lmp.asp) и L2CAP (Logical Link Control and Adaptation Protocol; смотри http://www.palowireless.com/infotooth/tutorial/l2cap.asp), сетевой и уровень приложений.

На уровне baseband протокола определено 13 типов пакетов. Пакеты ID, NULL, POLL, FHS , DM1 определены для каналов SCO и ACL. Пакеты DH1, AUX1, DM3, DH3, DM5 и DH5 определены только для каналов ACL. Кодирование данных в пакетах DM1, DM2 и DM3 осуществляется с привлечением битов четности по алгоритму FEC 2/3 (5 бит управления на 10 бит данных). Форматы пакетов HV1, HV2, HV3 и DV определены только для каналов SCO. Максимальный размер поля данных (341 байт) имеют пакеты DH5. Уровень протокола baseband специфицирует пять логических каналов: LC (Control Channel) и LM (Link Manager) используются на канальном уровне, а UA (User Asynchronous), UI (User Isosynchronous) и US (User Synchronous) служат для асинхронной, изосинхронной и синхронной транспортировки пользовательских данных. Контроллер Bluetooth может работать автономно (Standby) или в режиме соединения. Предусмотрено семь субсостояний, которые используются для добавления клиента или подключения к пикосети: page, page scan, inquiry, inquiry scan, master response, slave response и inquiry response.

Состояние Standby по умолчанию является режимом с пониженным энергопотреблением, при этом работает только внутренний задающий генератор. В состоянии соединения главный узел (master) и клиент (slave) могут обмениваться пакетами, используя код доступа к каналу.

В протоколе baseband предусмотрено три типа схем коррекции ошибок: 1/3 FEC, 2/3 FEC и ARQ.

Протоколом baseband рекомендуется использование буферов типа FIFO. Если данные не могут быть приняты, контроллер приема (Link Controller) вставляет в заголовок отклика индикатор stop. Когда передатчик получает индикатор stop, он блокирует очереди в FIFO. Получатель может возобновить процесс передачи, послав отправителю индикатор go.

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

Этап 1:

Процедура inquiry позволяет устройству определить, какие приборы доступны, выяснить адреса и осуществить синхронизацию.

  1. Посылаются пакеты inquiry и получаются отклики
  2. Будем считать, что блок (адресат), получивший пакет inquiry, находится в состоянии inquiry scan (тогда он способен принимать такие пакеты)
  3. Получатель переходит в состояние inquiry response и посылает отправителю пакет-отклик

После того как процедура inquiry завершена, соединение может быть установлено с помощью процедуры paging.

Этап 2:

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

  1. Посылается пакет paging
  2. Адресат получает этот пакет (находится в состоянии page Scan)
  3. Получатель посылает отправителю пакет-отклик (находится в состоянии Slave Response)
  4. Инициатор посылает адресату пакет FHS (находится в состоянии Master Response)
  5. Получатель посылает отправителю второй пакет-отклик (находится в состоянии Slave Response)
  6. Получатель и отправитель устанавливают параметры канала, заданные инициатором (находятся в состоянии Master Response & Slave Response)

После установления соединения главный узел (master) посылает пакет POLL, чтобы проверить, синхронизовал ли клиент свои часы и настроился ли на коммутацию частот. Клиент при этом может откликнуться любым пакетом.

Устройство Bluetooth при установлении соединения может работать в четырех режимах: Active, Hold, Sniff и Park (активный, удержание, прослушивание и пассивный, соответственно). Смотри табл. 8.1.

Протокол L2CAP отвечает за формирование пакетов, деление на кадры и сборку пакетов (вспомним, что нижележащий протокол baseband позволяет иметь пакеты не длиннее 341 байта), которые в данном стандарте могут достигать размера 64 кБ. L2CAP производит мультиплексирование и демультиплексирование для отправителей пакетов, кроме того, протокол ответственен за качество обслуживания, как при передаче, так и во время ожидания. На фазе установления соединения L2CAP согласует максимальный размер поля данных, так как не все узлы могут работать с 64-килобайтными пакетами. Этот протокол не используется в случае синхронных коммуникаций. В стандарте Bluetooth предусмотрены обмены как с установлением соединения, так и без. Последний режим называется ASL (Asynchronous Connectionless).

Трафик ASL доставляется с применением принципа максимально возможного сервиса. Никаких гарантий при этом не предоставляется. У подчиненного узла может быть только одно ASL-соединение с главным. Обмен с установлением соединения называется SCO (Synchronous Connection Oriented). Этот вид коммуникаций используется, например, при телефонных переговорах. Здесь для каждого из направлений передачи выделяется фиксированный временной интервал. Повторных передач не производится, вместо этого в случае ошибок применяется их коррекция. У подчиненного узла может быть до 3 соединений типа SCO с главным узлом, каждое из которых представляет собой PCM-канал с пропускной способностью 64кбит/c. Протокол должен поддерживать протокольное мультиплексирование, так как уровень baseband не имеет поля тип, позволяющего идентифицировать протокол более высокого уровня. Протокол L2CAP присваивает виртуальным каналам (точка-точка) идентификаторы CID (Channel Identifier). Для целей управления трафиком он целиком полагается на уровень LM (Link Manager) протокола baseband.

Таблица 8.1. Режимы работы Bluetooth
Название режимаОписание
ActiveВ активном режиме устройство Bluetooth участвует в работе канала. Главный узел (master) диспетчеризует обмены на основе запросов трафика, поступающих от участников. Кроме того, этот режим предусматривает регулярные обмены с целью синхронизации клиентов. Активные клиенты прослушивают домены master-to-slave пакетов. Если к активному клиенту нет обращений, он может пребывать в пассивном состоянии (sleep) до очередной передачи со стороны главного узла
SniffУстройства, синхронизованные в рамках пикосети, могут перейти в режим экономного расходования энергии, когда их активность понижается. В режиме SNIFF устройство-клиент прослушивает пикосеть с пониженной частотой. Этот режим имеет наивысшую скважность рабочего цикла (наименьшая экономия энергии) из 3 экономичных режимов (sniff, hold и park)
HoldУстройства, синхронизованные в рамках пикосети, могут перейти в режим экономного расходования энергии, когда их активность понижается. Главный узел пикосети может перевести клиента в режим HOLD, когда работает только внутренний таймер. Устройство-клиент может запросить перевода в режим HOLD. Передача данных возобновляется мгновенно, когда устройство выходит из режима HOLD. Клиент имеет промежуточную скважность (промежуточный уровень экономии энергии) из указанных 3 режимов (sniff, hold и park)
ParkВ режиме PARK устройство еще синхронизовано в рамках пикосети, но не принимает участия в обменах. Пассивные устройства отказываются от своих MAC-адресов (AM_ADDR), прослушивают трафик главного модуля с целью ресинхронизации и отслеживают широковещательные сообщения. Данный режим имеет минимально возможную скважность (максимальная экономия энергии) из указанных 3 режимов (sniff, hold и park). Устройства, находящиеся в режиме park, должны посылать пакеты широковещательно, так как лишены собственного активного адреса.

Основу сети Bluetooth составляют пикосети (piconet), состоящие из одного главного узла и до семи клиентских, размещенных в радиусе 10 м (смотри рис. 8.8). Все узлы такой сети работают на одной частоте и разделяют общий канал. В одной достаточно большой комнате могут располагаться несколько пикосетей. Эти сети могут связываться друг с другом через мосты. Пикосети, объединенные вместе, составляют рассеянную сеть ( scatternet ). Поскольку в каждой пикосети имеется свой master, последовательность и фазы переключения их частот не будут совпадать. Если пикосети взаимодействуют друг с другом, это приводит к понижению пропускной способности. Устройство Bluetooth может выступать в качестве клиента в нескольких пикосетях, но главным узлом (master) может быть только в одной пикосети. Кроме 7 активных клиентских узлов главный узел может поддерживать до 255 пассивных (спящих) узлов (переведенных управляющим узлом в режим пониженного энергопотребления).

Две пикосети, образующие рассеянную сеть (Э. Таненбаум "Компьютерные сети", Питер, 2003)


Рис. 8.8.  Две пикосети, образующие рассеянную сеть (Э. Таненбаум "Компьютерные сети", Питер, 2003)

Иногда мастер и клиент могут захотеть поменяться ролями. Это может быть выполнено в два этапа.

  1. Происходит отключение обоих участников процесса от пикосети и осуществляется переключение TDD (Time Division Duplex) трансиверов.
  2. Если требуется, узлы старой пикосети образуют новую пикосеть

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

Самым низким уровнем протокола является уровень радиосвязи. На этом уровне данные передаются от главного узла к подчиненному бит за битом. Все узлы пикосети перестраивают частоту одновременно, последовательность частот определяется главным узлом ( М на рис. 8.8). Главный узел (master) является источником синхронизации для всех клиентов пикосети.

Выше уровня радиосвязи размещен уровень немодулированной передачи. Он преобразует поток бит в кадры и определяет базовые форматы. Передача со стороны главного узла производится в четные такты, а со стороны подчиненных узлов — в нечетные. Кадры могут иметь длину 1, 3 или 5 тактов. Все кадры передаются между главным и подчиненным узлами по логическому каналу, называемому соединением.

Одним из активных состояний узла является paging state. В этом состоянии возможно установление или возобновление соединения. Главный узел в этом состоянии непрерывно посылает в эфир короткие ID-пакеты, содержащие только код доступа устройства ( device access code ). В рамках одного временного домена посылается два пакета на двух разных частотах. Узел-клиент в состоянии paging прослушивает за время 625 мксек две частоты, проверяя наличие своего кода ( ID ).

Для установления соединения посылается запрос. Отправитель запроса не сообщает ничего, кроме своего типа. Когда пассивное устройство обнаружено главным узлом пикосети (откликнулось пакетом FHS, сообщающем о состоянии внутренних часов, об адресе и т.д.), главный узел формирует и посылает пакет POLL, с целью проверки правильности конфигурационных параметров и готовности к приему данных. Клиент может ответить любым пакетом, но если мастер не получил никакого отклика, он переходит в состояние paging или inquiry. Клиент может подключиться и к другой пикосети, для этого в текущей сети он может запросить перехода в режим park или hold. В режиме sniff клиент имеет несколько свободных временных слотов, чтобы участвовать в обменах с соседними сетями. Терминал, находящийся вне зоны связи, должен пребывать в состоянии page mode. Шлюз-сервер должен выделять достаточно ресурсов для запросов page scanning.

Спецификация Bluetooth v1.1 определяет 13 типов поддерживаемых приложений, которые называются профилями ; существует также 12 дополнительных профилей. Профили работают на самом верху иерархии слоев протокола (смотри табл. 8.2). По существу профили являются регламентациями прикладного уровня.

Таблица 8.2. Основные и дополнительные профили Bluetooth (смотри http://www.palowireless.com/infotooth/tutorial/profiles.asp)
NНазваниеОписание
Основные профили
1GAP (Generic Access Profile)Процедура управления связью
2SDAP (Service Discovery Application Profile)Протокол определения предлагаемых сервисов
3CTP (Cordless Telephony Profile)Профиль беспроводной телефонии
4GOEP (Generic Object Exchange Profile)Протокол операций клиент-сервер при работе с объектами (обмен данными). Клиентская станция инициирует обмен, но она может выполнять и роль сервера.
5LAP (LAN Access Profile)Протокол связи мобильной ЭВМ со стационарной LAN
6DNP (Dial-up Networking Profile)Протокол связи ЭВМ с сетью посредством мобильного телефона
7FP (Fax Profile)Протокол связи мобильного факса с мобильным телефоном
8SPP (Serial Port Profile)Профиль для работы с последовательным портом
9IP (Intercom Profile)Мобильные телефоны могут работать как переносные цифровые рации
10HS (Headset Profile)Протокол связи устройства hands-free с мобильным телефоном
11OPP (Object Push Profile)Протокол пересылки простых объектов
12FTP (File Transfer Profile)Протокол пересылки файлов
13SP (Synchronization Profile)Протокол синхронизации PDA с другой ЭВМ
Дополнительные профили
1ESDP (Extended Service Discovery Profile)Профиль для реализации процедур Plug and Play
2A2DR (Advanced Audio Distribution Profile)Продвинутый профиль рассылки аудио данных
3AVRCD (Audio Video Remote Control Profile)Аудио-видео профиль удаленного управления
4BIP (Basic Imaging Profile)Базовый профиль работы с изображением
5BPP (Basic Printing Profile)Базовый профиль для печати
6CIP (Common ISDN Access Profile)Общий профиль доступа к ISDN
7GAVDP (Generic Audio Video Distribution Profile)Общий профиль рассылки аудио и видео данных
8HFR (Hands-Free Profile)Профиль для освобождения рук
9HCRP (Hardcopy Cable Replacement Profile)Протокол замены приборного связного кабеля
10HID (Human Interface Device Profile)Профиль для реализации интерфейса с человеком
11PAN (Personal Area Networking)Протокол формирования персональной сети
12SAP (SIM Access Profile)Протокол доступа к SIM

Профили 5-7 конкурируют с протоколом IEEE 802.11. Профиль удаленного доступа служит для подключения ЭВМ к мобильному телефону, снабженному модемом, без использования проводов. Профайл факс позволяет беспроводным факс-устройствам отсылать и получать факсы посредством мобильного телефона. Профили 8-10 имеют отношение к телефонии, в перспективе мобильный телефон и беспроводная трубка домашнего телефона станут взаимозаменяемы. Профиль 10 представляет собой приложение, позволяющее устройствам hands-free держать связь с базой, что удобно, например, при езде в автомобиле. Профили 11-13 служат для пересылки объектов между беспроводными устройствами. Объектами могут быть изображения, информационные файлы и т.д. Во главе семейства протоколов находится SDP (Service Description Protocol; смотри http://www.palowireless.com/infotooth/tutorial/sdp.asp), предназначенный для определения услуг, оказываемых удаленным устройствам. С помощью команд данного протокола можно считать данные из локальной БД, определить характеристики удаленного устройства и на основе этой информации выяснить параметры оказываемых услуг. SDP использует модель запрос/отклик, где каждая транзакция включает в себя один запрос и один отклик. С помощью посылки одиночного SDP пакета можно осуществлять простое управление информационным потоком. Такой пакет может не сопровождаться откликом.

Поле данных пакета SDP имеет заголовок, содержащий три поля:

Параметры могут содержать атрибут состояния продолжения ( continuation state ). Некоторые запросы могут потребовать такого большого отклика, который не поместится в одно поле данных. Тогда SDP-сервер генерирует частичный отклик с параметром состояния продолжения. Аналогичный атрибут должен присутствовать в очередном запросе клиента, требующего следующую порцию данных отклика. Такой запрос имеет только два поля InfoLength (1 байт) и Continuation Information (InfoLength байт).

Сервис (service) является единственной сущностью (entity), которая предоставляет информацию для выполнения каких-либо действий. Сервис может реализоваться аппаратно или программно. Информация о сервисах содержится в записях, которые представляют собой списки атрибутов. Каждый атрибут описывает одну характеристику сервиса. SDP имеет следующие атрибуты сервиса:

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

Атрибут содержит два компонента: идентификатор ( ID ) и значение атрибута.

Различные виды сервиса группируются в классы. Все атрибуты, содержащиеся в записи сервиса, относятся к одному классу. Каждому классу присвоен уникальный идентификатор UUID. UUID представляет собой 128-битовый код, но возможны псевдонимы (16- и 32-битовой длины).

Клиент может, зная значение UUID, получить указатель на соответствующую запись сервиса. Можно провести поиск и по идентификатору класса.

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

Type Descriptor5-битовый код, составляющий старшие разряды информационного элемента заголовка
Size Descriptor3-битовый код индекса, за которым следует 0, 8, 16 или 32 бита. Индекс содержит младшие 3 бита информационного элемента заголовка

Взаимодействующие приборы в Bluetooth могут выполнять роль локального ( LocDev ) или удаленного устройства ( RemDev ). LocDev — прибор, который может инициировать процедуру выявления доступной услуги. Такой прибор должен содержать, по крайней мере, клиентскую часть архитектуры SDP. RemDev может быть любым прибором, который участвует в процессе выявления доступных услуг, посылая отклик на запрос LocDev. RemDev должен содержать, по крайней мере, серверную часть архитектуры SDP. RemDev имеет базу данных сервисных записей. Прежде чем два устройства Bluetooth начнут взаимодействовать, каждый из них должен:

  1. быть включенным и инициализированным. При инициализации может потребоваться PIN для формирования ключа соединения (link key);
  2. должен сформировать Bluetooth соединение, которое может потребовать BD_ADDR других устройств.

Выявление услуг (Service Discovery) поддерживает следующие прикладные примитивы для взаимодействия с другими устройствами:

Менеджер канала служит для аутентификации, установления и конфигурации соединения, а также шифрования. Данные управления укладываются в однослотовые кадры. Для транспортировки протокольных данных используются пакеты DM1 (в случае SCO — пакеты РМ1). Заголовки этих пакетов содержат всегда 1 байт. Менеджер канала (LM) обнаруживает другие LM и взаимодействует с ними через посредство протокола LMP. Чтобы выполнить роль провайдера, LM использует ниже расположенный контроллер канала (LC). LMP-протокол регламентирует структуру управляющих данных (PDU). Приложение должно поддерживать часть типов PDU, остальные являются опционными.

В протоколе Bluetooth определены 4 типа адресов: BD_ADDR, AM_ADDR, PM_ADDR и AR_ADDR. Таблица 8.3а.

Таблица 8.3. Обязательные типы PDU протокола LMP
ФункцияТип PDUОписание
Изменение ключа каналаLMP_comb_keyКлюч канала получается из комбинационных ключей. Содержимое LMP_comb_key защищается с помощью операции XOR с привлечением текущего ключа канала
Изменение текущего ключа каналаLMP_temp_rand, LMP_temp_key, LMP_use_semi_permanent_keyТекущий ключ канала может быть полупостоянным или временным ключом канала. Ключ может быть изменен временно, но изменение действует только на время сессии. Изменение временного ключа канала нужно, если пикосеть поддерживает шифрованные бродкасты
Запрос сдвига часовLMP_clkoffset_req, LMP_clkoffset_resКогда клиент получает FHS-пакет, вычисляется разность между показанием его часов и часов мастера, записанным в поле данных пакета. Мастер может запросить значение сдвига часов в любое время
Версия LMPLMP_version_req, LMP_version_resУровень LMP поддерживает запросы версии LMP. Запрашиваемое устройство должно прислать отклик с тремя параметрами: VersNr (номер версии протокола), CompId (служит для отслеживания проблем на нижних протокольных уровнях) и Sub-VersNr (рекомендуется, чтобы фирма имела уникальное значение Sub-VersNr для каждого RF/BB/LM)
Поддерживаемые возможностиLMP_feature_req, LMP_feature_resКонтроллер радио и канала может поддерживать только субнабор типов пакетов и возможностей. Устройство может не посылать никаких пакетов кроме ID, FHS, NULL, POLL, ВM1 или DH1, прежде чем озаботится возможностями других устройств. После выполнения запроса возможностей может быть передана область перекрытия возможностей взаимодействующих устройств
Запрос имениLMP_name_req, LMP_name_resLMP поддерживает запрос имени другого устройства. Имя состоит максимум из 248 байтов (UTF-8)
Запрос разрываLMP_detachСоединение может быть разорвано в любое время по запросу мастера или клиента. В сообщение включаются данные, поясняющие причину разрыва
Качество обслуживанияLMP_quality_of_service, LMP_quality_of_service_reqLM предоставляет возможности качества обслуживания. Интервал, который определяет максимальное время между последовательными передачами мастер — заданный клиент, используется для обеспечения определенной полосы пропускания и RTT
Управление мультислотовыми пакетамиLMP_max_slot, LMP_max_slot_reqЧисло слотов, используемых устройством, может быть ограничено. Устройство позволяет удаленному устройству использовать максимальное число слотов, послав ему значение LMP_max_slot
Управление каналомLMP_supervision_timeoutКаждый канал имеет таймер, который используется для управления каналом. Этот таймер служит для детектирования потери связи при уходе устройства из зоны досягаемости, отказа источника питания или другой поломки. Процедура определяет значение таймаута
Установление соединенияLMP_host_connection_req, LMP_setup_completeКогда устройство желает установить соединение, включающее уровни выше LM, оно посылает LMP_host_connection_req. Когда партнер получает такое сообщение, он может принять или отвергнуть предлагаемое соединение, послав LMP_accepted или LMP_not_accepted
Режим проверкиLMP_test_activate, LMP_test_controlLMP имеет PDU для поддержки различных методов тестирования, которые используются на уровне radio и baseband
Обработка ошибокLMP_not_acceptedЕсли LM получает PDU с нераспознанным кодом, он реагирует посылкой сообщения LMP_not_accepted
Таблица 8.3a.
BD_ADDRКаждому трансиверу Bluetooth присваивается уникальный 48-битовый адрес устройства. Он содержит 24-битовое поле LAP, 16-битовое поле NAP и 8-битовое поле UAP.
AM_ADDR3-битовый код. Он является рабочим, если клиентский узел пикосети является активным. Он иногда называется МАС-адресом модуля Bluetooth.
PM_ADDR8-битовый код, идентифицирующий пассивный узел пикосети. PM_ADDR является рабочим, пока подчиненный узел пикосети пассивен (parked).
AR_ADDRИспользуется пассивным узлом пикосети (parked), чтобы определить полудомен slave-to-master в окне доступа, которое ему предназначено для отправки сообщений запросов доступа. Адрес является рабочим, пока подчиненный узел пассивен и не обязательно является уникальным.

В рамках протокола определена структура интерфейса HCI (Host Controller Interface; смотри http://www.palowireless.com/infotooth/tutorial/hci.asp). Этот интерфейс осуществляет интеграцию низкоуровневых интерфейсов baseband и программного обеспечения клиента. Спецификация поддерживает работу с интерфейсами RS232, UART и USB.

HCI предлагает командный метод доступа к аппаратным возможностям Bluetooth. Канальные команды HCI позволяют управлять канальным уровнем соединения с другими устройствами. В перечень входят команды менеджера канала (LM — Link Manager) предназначенные для обмена LMP-командами с удаленными устройствами. Данные для канала LM транспортируются кадрами DM. Команды HCI Policy используются для воздействия на локальный и удаленный LM. Команды Host Controller, Baseband, Informational и Status предоставляют доступ к различным регистрам интерфейса.

Эмуляция последовательных портов (в частности RS-232) посредством L2CAP осуществляется транспортным протоколом RFCOMM (смотри http://www.palowireless.com/infotooth/tutorial/rfcomm.asp). Протокол базируется на стандарте ETSI TS 07.10. RFCOMM поддерживает до 60 одновременных соединений между приборами. Это могут быть модемы, принтеры или ЭВМ.

Транспортный уровень контроллера устройства обеспечивает обмен специфической HCI-информацией. Спецификация HCI определяет формат команд, событий и данных в рамках обмена между устройством и контроллером. Протокол HCI специфицирует 32 различного рода события ( Inquiry Complete Event, Page Scan Repetition Mode Change Event и т.д.).

На рис. 8.9 показан формат заголовка кадра протокола Bluetooth. Структура заголовка регламентируется уровнем baseband.

Формат кадров


Рис. 8.9.  Формат кадров

Предусмотрено три типа кодов доступа: CAC (Channel Access Code — код доступа к каналу), DAC (Device Access Code — код доступа к устройству) и IAC (Inquiry Access Code – код запроса). Код доступа к каналу CAC идентифицирует пикосеть, в то время как DAC используется для запросов соединения и для их откликов (paging). IAC служит для информационных запросов. Поле код синхронизации (64 бита) состоит из 24-битового адреса узла — инициатора соединения (paging).

Алгоритм вычисления адреса узла обеспечивает достаточно большое расстояние Хэмминга между разными синхрокодами, что гарантирует невозможность перепутывания идентификаторов разных устройств даже в случае приема их с ошибками. Поле хвостовик служит для обеспечения балансировки сигнала по постоянному току и синхронизации. 18-битовый заголовок кадра повторяется трижды (18*3=54 бита), он содержит в себе флаги подтверждения и нумерации, а также средства управления потоком. Поле адрес (AM_ADDR — 3 бита — MAC-адрес) определяет один из восьми узлов, которому предназначен кадр. AM_ADDR однозначно определяет один из сетевых клиентов пикосети. Поле тип (4 бита) характеризует тип передаваемого кадра (ACL, SCO, опрос или пустой кадр), метод коррекции ошибок и число временных интервалов, из которых состоит кадр. Бит FLOW (поток) устанавливается подчиненным узлом и уведомляет о том, что его буфер заполнен. Бит ACK (подтверждение) указывает на подтверждение, посылаемое вместе с кадром. Если этот бит =1, предыдущий пакет успешно доставлен. Бит SEQN (последовательность) служит для нумерации кадров, что помогает обнаруживать повторные передачи. Для каждого очередного пакета этот бит инвертируется. Данный протокол предполагает ожидание, поэтому одного бита оказывается достаточно.

Поле HEC представляет собой 8-битовую контрольную сумму. Принимающая сторона анализирует все три копии заголовка бит за битом. Значение бита определяется мажоритарной схемой (2 или 3 совпадающие бита из трех определяют истинное значение).

В кадрах ACL используются разные форматы данных. Возможны три варианта: 80, 160 и 240 бит, оставшееся место используется для коррекции ошибок. По этой причине вариант с 80 битами самый надежный: при этом данные повторяются три раза ( 80*3=240 ). Фактически применяется тот же прием, что и в случае заголовка. Поле данных кадра SCO всегда имеет 240 бит. Так как подчиненные узлы могут использовать только нечетные временные домены, им достается 800 доменов в секунду, столько же получает и главный узел. При 80 битах данных в кадре подчиненный узел может передать 64 кбит/c. Этого вполне достаточно для голосового обмена. При самом ненадежном варианте (240 бит данных на кадр) можно иметь три полнодуплексных голосовых связи. Это и ограничивает максимальное число SCO соединений.

Существует 4 категории пакетов Bluetooth. К первой категории относятся пакеты, общие для всех видов соединений (NULL, POLL, FHS, DM1). Три другие описывают пакеты различной длины: ко второй относятся однослотовые кадры, а к четвертой — кадры, занимающие пять временных слотов. Большинство типов пока не определены. ID-кадры имеют длину 64 бита и используются для пейджинга и запросов. NULL-кадры содержат поля лишь кода доступа и заголовка и используются для передачи подтверждений. Кадры POLL похожи на NULL, но требуют от получателя отклика. Пакеты рассматриваются как широковещательные в пикосети, если поле адреса имеет нулевое значение. Прием широковещательных кадров никогда не подтверждается, а для надежности они передаются несколько раз.

Кадры FHS содержат информацию об адресе, классе устройства и о тактовой частоте передатчика. Эти кадры используются при инициализации новой пикосети или при смене схемы переключения несущей частоты. К этой категории следует отнести и кадры DM1, транспортирующие управляющую информацию. Для синхронных соединений определены несколько кадров, различающихся длиной, HV1, HV2 и HV3 с длинами поля данных 10, 20 и 30 байт, соответственно. Тип кадров HV (High quality Voice) предназначен для трансляции голосовых потоков. Тип кадра DV предназначен для передачи как голоса, так и данных и содержит 80 бит для голоса и 150 бит для данных. Блок данных защищается посредством CRC и в случае ошибки может пересылаться повторно.

Как и для всех радиосредств коммуникации, для Bluetooth проблема безопасности крайне актуальна. Безопасность протокола обеспечивается с помощью механизма аутентификации и шифрования передаваемых данных. Ключ авторизации имеет 128 бит. Длина ключа шифрования может лежать в пределах 8-128 бит. Кроме того, целям безопасности служат ключи соединения (link key), которые могут быть полупостоянными и временными. Первые хранятся в энергонезависимой памяти, вторые — обновляются при каждом соединении. Устройство может генерировать свой ключ (unit key). Возможно формирование совместного ключа (combination key), при его вычислении используется информация от обоих участников будущего обмена. Особое место занимает мастер-ключ (master key), используемый для рассылки данных нескольким узлам одновременно (используется вместо текущего ключа соединения (current link key)). Для выполнения аутентификации устройству нужно получить от партнера случайное число, сформировать на основе него и своего BD_ADDR некоторый код и отослать его партнеру, который проверяет его корректность. Если общий ключ не сгенерирован, формируется инициализационный ключ. Инициатор процедуры посылает партнеру случайное число, которое в сочетании с идентификатором BD_ADDR последнего образует инициализационный ключ.

Для решения проблем беспроводной связи на уровне города разработан стандарт IEEE 802.16.

8.2. Стандарт широкополосной беспроводной связи IEEE 802.16

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

Стандарт 802.16 (январь 2003г) уровня МАС предназначен для реализации широкополосных каналов последней мили в городских сетях (MAN). Его задачей является обеспечения сетевого уровня между локальными (IEEE 802.11) и региональными сетями (WAN), где планируется применение разрабатываемого стандарта IEEE 802.20. Эти стандарты совместно со стандартом IEEE 802.15 ( PANPersonal Area NetworkBluetooth ) и 802.1 (мосты уровня МАС) образуют взаимосогласованную иерархию протоколов беспроводной связи. WEB-сервер рабочей группы 802.16 размещен по адресу http://grouper.ieee.org/groups/802/16/index.html. Более подробное описание на русском языке можно найти по адресу http://book.itep.ru/4/41/802_16.htm.

Стандарт покрывает диапазон частот от 2 до 11 ГГц. Стабильность частоты должна лежать в пределах . Базовая станция ( BS ), следующая стандарту 802.16, размещается в здании или на вышке и осуществляет связь со станциями клиентов ( SS — Subscriber Station) по схеме точка-мультиточка ( PMP ). Возможен сеточный режим связи ( Mesh – сетка связей точка-точка — PTP ), когда любые клиенты (SS) могут осуществлять связь между собой непосредственно, а антенные системы, как правило, являются всенаправленными. Базовая станция предоставляет соединение с основной сетью и радиоканалы к другим станциям. Диапазон рабочих расстояний может достигать 30 миль (в случае прямой видимости) при типовом радиусе сети 4-6 миль (для режима Mesh при высоте размещения антенны BS – 50м), где пропускная способность может быть гарантированной. Предусмотрен также режим мультиточка-мультиточка ( MP-MP ), который имеет ту же функциональность, что и PMP. Клиентская станция (SS) может быть радиотерминалом или повторителем (более типично) для организации локального трафика.

Трафик может проходить через несколько повторителей, прежде чем достигнет клиента. Антенны в этом случае являются направленными с возможностью дистанционной настройки. Терминальная станция клиента (SS) обычно имеет остронаправленную антенну. По этой причине положение антенны должно быть жестко фиксировано и устойчиво к ветру и другим потенциальным источникам вибрации. Широкополосные системы доступа к радиосети, помимо BS и SS, содержат клиентское терминальное оборудование ( TE ), оборудование основной сети, межузловые каналы и повторители ( RS ). Повторители используются, когда между конечными точками канала нет прямой видимости. Повторитель передает сигнал от BS к одной или нескольким SS. В системах MP-MP большинство станций являются повторителями. PTP -соединения (точка-точка) между базовыми станциями могут поддерживать обмен согласно стандартам от DS-3 до OC-3.

Канал связи предполагает наличие двух практически независимых направлений обмена: отправитель-получатель ( uplink – восходящий канал) и получатель-отправитель ( downlink – нисходящий канал; по аналогии со спутниковыми каналами). Эти два субканала используют разные не перекрывающиеся частотные диапазоны. Данный стандарт относится к уровню L2, хотя его взаимосвязь с физическим уровнем ( PHY ) достаточно тесная.

При формировании радиосетей определенную проблему составляет интерференция сигналов смежных каналов и наложение перекрестных наводок с тепловыми шумами. Для таких каналов отношение I/N (отношение сигнала интерференции к тепловому шуму) лежит в диапазоне -6 -10 дБ. Следует, разумеется, учитывать, что уровень интерференционного сигнала варьируется в очень широких пределах.

Радиоволны в диапазоне 10-66 ГГц распространяются прямолинейно и подвержены поглощению при наличии дождя или сильного снега. Любые строения или объекты ландшафта препятствуют их распространению, даже если перекрывают видимость между передающей и принимающей антеннами лишь частично. Рекомендуются вертикальная или горизонтальная ориентации поляризации. Предельное расстояние связи ( RH ) для высоты положения антенн H1 и H2, сопряженное с кривизной земной поверхности, определяется формулой

где RH измеряется в км, а Н1 и Н2 в метрах.

Для успешной работы канала нужно обеспечить достаточно большое отношение уровней несущей и интерференционного сигнала ( C/I ). На практике приходится учитывать отношение C/(I+N), где N – уровень теплового шума, а также уровень шумов приемника (~6дБ). Тепловой шум приемника может иметь уровень -138 дБВт/МГц. Уровень интерференционного сигнала может быть примерно тем же. Эти факторы определяют выбор типа антенны, мощность передатчика и предельную длину канала. Чрезмерное увеличение мощности передатчика (с целью улучшения отношения сигнал-шум) нежелательно, так как это приводит к возрастанию уровня интерференционного сигнала.

Типовыми рекомендуемыми значениями для BS являются:

Для SS рекомендуется верхнее значение спектральной плотности < +30дБВт/МГц, аналогичные требования справедливы и для повторителей (RS).

Будем считать, что типовое значение шума приемника равно 6 дБ, тогда спектральная мощность теплового шума приемника вычисляется по формуле:

No = 10log(kTo) +NF

No = -144+6=-138 дБВт/МГц, где

No — спектральная мощность теплового шума приемника ( дБВт/МГц )

kTo – закон равномерного распределения ( -144дБВт/МГц )

NF – значение шума приемника ( 6дБ ).

Спектральная плотность потока ( psfd ) в апертуре антенны вычисляется как:

,

где

Pr= уровень мощности помех усилителя ( -144 дБВт/МГц )

эффективная апертура антенны

длина волны

коэффициент усиления антенны

Если рабочая частота равна 28 ГГц ( =0,011м), а значение усиления антенны равно 20 дБi, тогда приемлемый уровень помех определяется как:

.

Заметим, что в данном анализе рассматривалась только базовая станция (составляющая SS не учитывалась). Это, в первую очередь, связано с тем, что BS обычно размещаются на высоких зданиях и имеют всенаправленные антенны, и это увеличивает вероятность обеспечения прямой видимости. С другой стороны, SS чаще размещаются на небольших высотах, что уменьшает вероятность гарантированной прямой видимости.

Стандартный полнодуплексный канал базовой станции может иметь пропускную способность 75 Мбит/с. Такой канал обеспечивает до 60 соединений Т1 и сотни связей с домами, использующими DSL-подключения (при полосе 20 МГц). В последнем случае предоставляется качество обслуживания (QoS) на уровне "наилучшего возможного". При этом гарантируются минимальные задержки, что важно при передаче голоса (например, в режиме VoIP). Схема взаимодействия радиосетей в случае использования стандарта IEEE 802.16 показана на рис. 8.10.

Место стандарта IEEE 802.16 в системе радиокоммуникаций


Рис. 8.10.  Место стандарта IEEE 802.16 в системе радиокоммуникаций

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

Продвижением стандарта 802.16 занимается консорциум WiMAX (World Interoperability for Microwave Access), куда входят Fujitsu, Intel и Nokia.

Краткие характеристики стандарта 802.16

Таблица 8.4. Краткие характеристики семейства стандартов 802.16
Название стандарта802.16802.16a802.16e
Дата принятиядекабрь 2001январь 2003середина 2004
Частотный диапазон10-66 ГГц2-11 ГГц2-6 ГГц
Быстродействие32-135 Мбит/с для 28МГц-каналадо 75 Мбит/с для 28МГц-каналадо 15 Мбит/с для 5МГц-канала
МодуляцияQPSK, 16QAM, 64QAMOFDM 256, QPSK, 16QAM, 64QAMOFDM 256, QPSK, 16QAM, 64QAM
Ширина канала20, 25 и 28 МГцРегулируемая 1,5-20МГцРегулируемая 1,5-20МГц
Радиус действия2-5 км7-10 км

макс. радиус 50 км

2-5 км
Условия работыПрямая видимостьРабота на отраженияхРабота на отражениях

Стандарт 802.16е предназначен для мобильных систем. Безопасность в сети обеспечивается с помощью протокола 3-DES.

Подуровень конвергенции ( CS ) размещается поверх уровня МАС. Этот подуровень выполняет следующие функции:

В настоящее время имеются спецификации подуровня конвергенции для асинхронного режима ( АТМ ) и пакетного субуровня конвергенции. Уровень конвергенции АТМ обеспечивает логический интерфейс, между услугами АТМ и сервисами МАС-уровня. Этот уровень осуществляет классификацию и, если требуется, процедуру PHS (подавление заголовков). При АТМ соединении, которое однозначно идентифицирует пару значений VPI (Virtual Path Identifier) и VCI (Virtual Channel Identifier), для этих целей используется либо виртуальный проход (VP), либо виртуальный канал (VC). Классификатором является набор критериев, используемых для каждой ячейки, которая попадает на субуровень конвергенции АТМ. В этот набор входит VPI и VCI, а также ссылка на CID (Connection ID).

C одним и тем же CID может работать несколько сессий высокого уровня. Например, несколько пользователей могут взаимодействовать через TCP/IP с несколькими различными сетевыми объектами. Следует при этом помнить, что IP-адреса инкапсулируются в поле данных транспортных пакетов.

Каждый узел имеет свой 48-битовый МАС-адрес (IEEE Std. 802-2001), который однозначно определяет поставщика оборудования и сам узел (как и в Ethernet). Этот адрес используется в процессе регистрации, чтобы установить соединение для SS. Он также применяется в процессе аутентификации, когда BS и SS идентифицируют друг друга. В процессе инициализации SS устанавливаются три управляющих соединения для каждого направления между SS и BS.

В процессе авторизации в сети узел-кандидат получает 16-битовый идентификатор ( Node ID ), который применяется в дальнейшем во всех операциях. Этот идентификатор используется в сеточном подзаголовке, который следует за общим заголовком кадра. Для обмена с соседями служит 8-битовый идентификатор канала ( Link ID ). Любой узел присваивает такой идентификатор каждому из осуществляемых соединений и передает его как часть CID (Connection ID – 16 бит) в общем заголовке уникастного сообщения. CID присваиваются посредством сообщений RNG-RSP и REG-RSP. Все это дает возможность реализовать три различных QoS между SS и BS. 16 битный CID позволяют осуществить до 64К соединений для нисходящего и восходящего каналов.

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

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

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

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

В противоположном направлении станция пользователя совместно использует восходящий канал к BS на основе запросов. В зависимости от используемого класса услуг SS может быть предоставлена возможность непрерывной передачи или право передачи получается BS после получения запроса от пользователя. Блок данных МАС-кадра содержит заголовок, опционные поля данных и CRC. Формат МАС блока данных (PDU) представлен на рис. 8.11.

Формат МАС-заголовка (бит 0 является старшим)


Рис. 8.11.  Формат МАС-заголовка (бит 0 является старшим)

В случае НТ=1 (тип заголовка) место полей Rsv, CI, EKS, Rsv и LEN занимает поле BR. Таблица 8.5.

Таблица 8.5. Описания полей МАС-заголовка
Имя поляДлина в битахОписание
CI1Индикатор CRC

1= CRC добавляется к полю данных

0= CRC отсутствует

CID16Идентификатор соединения
EC1Управление шифрованием

0= поле данных не зашифровано

1= данные зашифрованы

EKS2Последовательность ключей шифрования

Индекс ключа шифрования трафика и вектор инициализации для шифрования поля данных. Поле имеет смысл при EC=1

HCS88-битовая контрольная сумма заголовка. Образующий полином: R(D)=D8+D2+D+1.
HT1Тип заголовка. Будет установлен равным нулю.
LEN11Длина в байтах поля данных и МАС-заголовка
Тип6Поле указывает на тип поля данных, включающего подзаголовки

Значения поля тип для нисходящего канала представлены в таблице 8.6.

Значения поля тип для восходящего канала представлены в таблице 8.7.

Таблица 8.6. Значения поля тип для нисходящего канала
ТипОписание
0х00Описание
0х01Зарезервировано
0х02Подзаголовок упакован
0х03Зарезервировано
0х04Имеется подзаголовок фрагментации
0х05-0х3FЗарезервировано
Таблица 8.7. Значения поля тип для восходящего канала
ТипОписание
0х00Описание
0х01Имеется подзаголовок Grant Management (основное управление)
0х02Имеется подзаголовок упаковки
0х03Присутствуют подзаголовки Grant Management и упаковки
0х04Имеются подзаголовки фрагментации и Grant Management
0х05-0х3FЗарезервировано

Блок данных (PDU) запроса полосы содержит заголовок запроса полосы пропускания и лишен поля данных. Формат заголовка показан на рис. 8.12.

Запрос полосы имеет следующие свойства:

Формат заголовка запроса полосы


Рис. 8.12.  Формат заголовка запроса полосы

Поля заголовка запроса полосы определены в таблице. Каждый заголовок кодируются, начиная с полей НТ и ЕС. Кодирование этих полей устроено так, что первый байт МАС-заголовка никогда не должен содержать кода 0xFX. Таблица 8.8.

Таблица 8.8. Поля заголовка запроса полосы
Имя поляДлина в битахОписание
BR16Запрос полосы

Число байтов запрашиваемой SS полосы восходящего канала. Запрос относится к данному CID.

CID16Идентификатор соединения
EC1Всегда равно нулю
HCS88-битовая контрольная сумма заголовка. Образующий полином: R(D)=D8+D2+D+1.
HT1HT =1.
Тип6Поле указывает на тип заголовка запроса полосы

Могут присутствовать три типа подзаголовков МАС (фрагментации и управления). Если подзаголовки фрагментации и управления присутствуют одновременно, то подзаголовок управления помещается первым. Таблица 8.9.

Таблица 8.9. Структура подзаголовка управления
СинтаксисРазмерОписание
Подзаголовок Grant Management ()
{ if(тип службы диспетчеризации=UGS) {
SI1 бит
PM1 бит
Зарезервировано14 битУстанавливается равным 0
} else {
Комбинированный запрос}}16 бит

Описание полей подзаголовка управления представлено в табл. 8.10.

Таблица 8.10. Описание полей подзаголовка управления
Имя поляДлина в битахОписание
PBR16Комбинированный запрос. Число байт, запрошенных SS для полосы восходящего канала. Запрос полосы относится к CID и не включает поля заголовка физического уровня.
PM1Регистрация (poll-me)

0 = никаких действий

1 = используется SS для запроса регистрации полосы.

CI1Индикатор смещения (slip)

0 = никаких действий

1 = используется SS для указания смещения возможностей восходящего канала по отношению к длине очереди в этом канале.

Сообщения управления МАС

Определен набор управляющих сообщений МАС. Эти сообщения транспортируются в блоках данных MAC PDU. Все управляющие сообщения МАС начинаются с поля тип сообщения и могут содержать дополнительные поля. Управляющие сообщения для базовых, широковещательных и исходных соединений (initial ranging) не могут быть фрагментированы или упакованы. Управляющие сообщения первичного соединения могут быть упакованы и/или фрагментированы. Значения поля тип сообщения представлены в табл. 8.11. Управляющие сообщения не могут передаваться через транспортные соединения.

Таблица 8.11. Значения поля тип
ТипИмя сообщенияОписание сообщенияСоединение
0UCDДескриптор восходящего каналаШироковещательное
1DCDДескриптор нисходящего каналаШироковещательное
2DL-MAPОпределение доступа к нисходящему каналуШироковещательное
3UL-MAPОпределение доступа к восходящему каналуШироковещательное
4RNG-REQЗапрос диапазонаИсходное или базовое
5RNG-RSPОтклик диапазонаИсходное или базовое
6REG-REQЗапрос регистрацииПервичное управление
7REG-RSPОтклик регистрацииПервичное управление
8Зарезерв.
9PKM-REQЗапрос управления ключом конфиденциальностиПервичное управление
10PKM-RSPОтклик на запрос управления ключом конфиденциальностиПервичное управление
11DSA-REQЗапрос добавления динамического сервисаПервичное управление
12DSA-RSPОтклик добавления динамического сервисаПервичное управление
13DSA-ACKПодтверждение добавления динамического сервисаПервичное управление
14DSC-REQЗапрос изменения динамического сервисаПервичное управление
15DSC-RSPОтклик изменения динамического сервисаПервичное управление
16DSC-ACKПодтверждение изменения динамического сервисаПервичное управление
17DSD-REQЗапрос аннулирования динамического сервисаПервичное управление
18DSD-RSPОтклик аннулирования динамического сервисаПервичное управление
19Зарезервировано на будущее
20Зарезервировано на будущее
21MCA-REQЗапрос мультикастингового присвоенияБазовое
22MCA-RSPОтклик мультикастингового присвоенияБазовое
23DBPC-REQЗапрос изменения профиля нисходящего каналаБазовое
24DBPC-RSPОтклик изменения профиля нисходящего каналаБазовое
25RES-CMDКоманда сбросаБазовое
26SBC-REQЗапрос базовых возможностей SSБазовое
27SBC-RSPОтклик базовых возможностей SSБазовое
28CLK-CMPСравнение показаний сетевых часов SSШироковещательное
29DREG-CMDКоманда регистрации или ее отменыБазовое
30DSX-RVDСообщение получения DSxПервичное управление
31TFTP-CPLTСообщение завершения конфигурационного файла TFTPПервичное управление
32TFTP-REPОтклик завершения конфигурационного файла TFTPПервичное управление
33-255Зарезервировано на будущее

Сообщение дескриптора нисходящего канала (DCD)

DCD периодически передается BS, чтобы определить характеристики физического нисходящего канала. Параметры, следующие за ID канала, и число изменений конфигурации представляются в формате TLV (Type, Length, Value), где поля типа и длины имеют длину один байт. Формат сообщения DCD описан в табл. 8.12.

Таблица 8.12. Формат сообщения DCD
СинтаксисРазмерОписание
DCD_Message_Format () {
Тип управляющего сообщения = 18 бит
Идентификатор нисходящего канала8 бит
Число изменений конфигурации8 бит
Информация о канале в формате TLVперем.
Начало секции, специфической для PHY {
for(i=1; i<=n; i++) {Для каждого профиля нисходящего канала с 1 до n
Downlink_Burst_Profile}} }Зависит от PHY

BS сформирует DCD, включая все перечисленные ниже параметры:

Число изменений конфигураций

BS инкрементируется на 1 по модулю 256 для любого изменения параметра канала с заданным дескриптором. Если значение этого счетчика в последующем DCD остается тем же, SS может решить, что остальные поля не изменились, и игнорировать оставшуюся часть сообщения.

Идентификатор нисходящего канала

Идентификатор нисходящего канала, к которому относится сообщение. Этот идентификатор произвольно выбирается BS и является уникальным для заданного домена подуровня MAC.

Параметры сообщения, которые следуют за числом изменений конфигурации, кодируются в формате TLV.

Downlink_Burst_Profile имеет комбинированную кодировку TLV, которая сопряжена с DIUC (Downlink Interval Usage Code) используемого физического канала. Каждый Downlink_Burst_Profile представляет собой неупорядоченный список атрибутов PHY, закодированных в формате TLV. Каждому интервалу с помощью сообщения DL-MAP ставится в соответствие DIUC.

Каждый Downlink_Burst_Profile в сообщении DCD содержит следующие параметры:

Если тип кода FEC равен 1, 2 или 3 Downlink_Burst_Profile будет содержать также:

Если тип кода FEC равен 2, то Downlink_Burst_Profile будет содержать тип кода BCC. Если же тип кода FEC равен 4, то Downlink_Burst_Profile будет содержать тип кода ряда BTC, тип кода колонки и тип интерливинга BTC. Соответствие между профайлом кластера и DUIC представлено в табл. 8.13.

Таблица 8.13. Соответствие между профайлом кластера и DIUC
Профайл кластера (burst)DIUC
Профайл DL 10
Профайл DL 21
Профайл DL 32
Профайл DL 43
Профайл DL 54
Профайл DL 65
Профайл DL 76
Профайл DL 87
Профайл DL 98
Профайл DL 109
Профайл DL 1110
Профайл DL 1211
Профайл DL 1312
Зарезервировано13
Зазор (Gap)14
Конец таблицы DL-MAP15

Конец таблицы DL-MAP указывает на первый PS после конца DL-субкадра. В табл. 8.14 представлен формат Downlink_Burst_Profile, который используется в сообщении DCD. Профайл кодируется с типом =1, 8-битовой длиной и 4-битовым DIUC.

Таблица 8.14. Формат Downlink_Burst_Profile
СинтаксисРазмерОписание
Тип=18 бит
Длинаперем.
Зарезервировано4 битаСледует устанавливать в 0
DUIC4 бита
Информация в формате TLVперем.

Секции данных нисходящего канала используются для передачи информационных и управляющих сообщений для станций клиентов. Для данных всегда используется FEC-кодирование. В режиме TDM данные передаются в порядке понижения трудоемкости профайлов. В случае режима TDMA данные группируются в кластеры (burst). Сообщение DLMAP содержит карту соответствия, которая уведомляет, с какого PS начинаются изменения профайла. Если в пределах кластера данные (DL) не заполняют всего субкадра, передатчик прекращает работу.

Вообще число PS i, выделенное для конкретного кластера, может быть вычислено на основе DL-MAP. Пусть n – минимальное число PS, необходимое для одного кодового слова FEC данного профайла. Тогда i=kn+j+q, где k – число кодов FEC, которые относятся к данному кластеру, j – число PS, занятых наибольшим возможным укороченным кодовым словом, а q (0#q<1) равно числу PS, занимаемых заполнителем в конце кластера, чтобы гарантировать целое i. Для операций с фиксированными кодами j=0. В конце кластера (когда нет следующего кодового слова) добавляются 4q символа, чтобы завершить PS. На рис. 8.13 показана схема привязки DL-MAP для варианта TDM, а на рис. 8.14 то же для варианта TDMA.

Схема привязки DL-MAP, использующая укороченные блоки FEC – вариант TDM


Рис. 8.13.  Схема привязки DL-MAP, использующая укороченные блоки FEC – вариант TDM

Схема привязки DL-MAP, использующая укороченные блоки FEC – вариант TDMA


Рис. 8.14.  Схема привязки DL-MAP, использующая укороченные блоки FEC – вариант TDMA

Поле данных для нисходящего канала разбивается на блоки, размер которых согласуется с размером кодов после добавления указателя CS. Заметим, что длина поля данных может варьироваться в зависимости от того, разрешено ли использование укороченных кодов в профайле кластера. К каждому сегменту поля данных добавляется байт указателя. Это показано на рис. 8.15.

Формат PDU при передаче по нисходящему каналу CS


Рис. 8.15.  Формат PDU при передаче по нисходящему каналу CS

Поле указателя определяет номер байта в пакете, который указывает либо на начало первого MAC PDU в пакете, либо на начало любого набора байт, который предшествует следующему MAC PDU. Если в CS-пакете нет MAC PDU или набора байт, тогда байт указателя устанавливается равным нулю. Когда имеются данные для передачи, stuff_byte, равный 0xFF, будет использоваться в пределах поля данных для заполнения любых ниш между MAC PDU.

Кодирование и модуляция на физическом уровне нисходящего канала для данного режима отражены на рис. 8.16.

Блок-схема подуровня PMD нисходящего канала


Рис. 8.16.  Блок-схема подуровня PMD нисходящего канала

Нисходящий канал поддерживает адаптивное формирование профайлов кластеров для пользовательской части данных кадра. Может быть определено до 12 профайлов кластера. Параметры каждого передаются SS через МАС-сообщения в управляющей части нисходящего кадра. Использование DIUC определено в табл. 8.15.

Таблица 8.15. Значения DIUC
DIUCНазначение
0Управление кадром (не в сообщениях DCD)
1-6Профайлы кластеров TMD (без преамбулы)
7-12Профайлы кластеров TMDA (фиксированная преамбула)
13Зарезервировано
14Зазор (в сообщениях DCD)
15Конец таблицы соответствия

Сообщение привязки нисходящего канала (DL-MAP)

Сообщение DL-MAP определяет доступ к информации о нисходящем канале. Если длина сообщения не равна целому числу байтов, значение поля LEN в заголовке МАС округляется до ближайшего целого. Формат сообщения DL-MAP описан в табл. 8.16. Сообщение содержит следующие параметры.

Синхронизация PHY

Поле синхронизации PHY зависит от спецификации физического канала.

Счетчик DCD

Соответствует числу изменений конфигурации DCD.

Идентификатор BS

Идентификатор базовой станции представляет собой 48-битовый код, однозначно определяющий BS. Старшие 24 бита являются идентификатором оператора.

Кодирование остальной части DL-MAP зависит от спецификации PHY, эта часть может и отсутствовать.

Таблица 8.16. Формат сообщения DL-MAP
СинтаксисРазмерОписание
DL-MAP_Message_Format () {
Тип управляющего сообщения = 28 бит
Поле синхронизации PHYперем.
Счетчик DCD8 бит
Идентификатор BS48 бит
Число элементов DL-MAP n16 бит
Начало секции, специфической для PHY {
for(i=1; i<=n; i++) {Для каждого элемента DL-MAP с 1 до n
DL-MAP_Information_Element()перем.
if!(граница байта) {
4 бита заполнителя } } } }До границы байта

Сообщение дескриптора восходящего канала

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

Счетчик изменений конфигурации

Увеличивается BS на 1 (по модулю 256), всякий раз, когда производится изменение любого параметра канала с данным дескриптором. Если значение счетчика для очередного UCD остается тем же, SS решает, что остальные поля не изменены и можно игнорировать оставшуюся часть сообщения.

Размер минидомена

Размер n минидоменов для восходящего канала в единицах физических доменов. Допустимыми значениями являются n=2m, где m равно целому из диапазона 0-7.

Идентификатор восходящего канала

Идентификатор канала, к которому относится сообщение. Идентификатор произвольно выбирается BS и является уникальным в пределах домена субуровня MAC.

Начало отсрочки передачи

Размер исходного окна отсрочки для исходного соперничества за диапазон, выраженный через степень 2. Значение n может лежать в интервале 0-15 (старшие биты могут не использоваться и приравниваться нулю). Параметр конца отсрочки задается так же. Таблица 8.17.

Таблица 8.17. Формат сообщения UCD
СинтаксисРазмерОписание
UCD _Message_Format () {
Тип управляющего сообщения = 08 бит
Идентификатор восходящего канала8 бит
Счетчик изменений конфигурации8 бит
Размер минидомена (minislot)8 бит
Начало отсрочки передачи8 бит
Конец отсрочки передачи8 бит
Запрос начала отсрочки8 бит
Запрос конца отсрочки8 бит
Информация о канале в кодировке TLVперем.
Начало секции, специфической для PHY {
for(i=1; i<=n; i++) {Для каждого профиля восходящего канала с 1 до n
Uplink_Burst_Profile }} }перем.

Чтобы обеспечить гибкость, остальные параметры сообщения кодируются в формате TLV.

Uplink_Burst_Profile имеет комбинированную кодировку TLV, которая сопряжена с UIUC (Uplink Interval Usage Code) используемого физического канала. Каждый Uplink_Burst_Profile представляет собой неупорядоченный список атрибутов PHY, закодированных в формате TLV. Каждому интервалу с помощью сообщения UL-MAP ставится в соответствие UIUC.

Сообщение привязки восходящего канала (UL-MAP)

Структура сообщения UL-MAP описана в табл. 8.18.

Таблица 8.18. Структура сообщения UL-MAP
СинтаксисРазмерОписание
UL-MAP_Message_Format () {
Тип управляющего сообщения = 38 бит
Идентификатор восходящего канала8 бит
Счетчик UCD8 бит
Число элементов UL-MAP n8 бит
Начало времени предоставления32 бита
Начало секции, специфической для PHY {
for(i=1; i<=n; i++) {Для каждого элемента UL-MAP с 1 до n
UL-MAP_Information_Element() }} }перем.

BS генерирует сообщение UL-MAP со следующими параметрами.

Идентификатор восходящего канала

Идентификатор восходящего канала, к которому относится сообщение.

Счетчик UCD

Соответствует счетчику изменений конфигураций UCD, который описывает используемый профайл восходящего канала.

Число элементов

Число информационных элементов привязки.

Время начала предоставления

Эффективное время начала предоставления ресурсов согласно ULMAP в минидоменах.

Информационные элементы привязки (map)

Каждый информационный элемент ( IE ) содержит как минимум три поля:

  1. идентификатор соединения (CID);
  2. код используемого интервала восходящего канала (UIUC);
  3. смещение.

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

CID определяет соответствие этих элементов уникастному, мультикастному или широковещательному адресу. В зависимости от типа адресации при выделении полосы CID будет базовым CID SS, или транспортным CID для одного из соединений SS. UIUC используется, чтобы определить тип доступа к восходящему каналу и профайл, сопряженный с этим каналом. Uplink_Burst_Profile будет включен в UCD для каждого UIUC, используемого в UL.MAPUL-MAP.

Сообщение запроса диапазона (RNG-REQ)

Запрос RNG-REQ передается SS при инициализации и периодически по запросу BS, чтобы определить сетевую задержку и запросить мощность и/или изменение профайла нисходящего канала. Формат сообщения RNG-REQ описан в табл. 8.19.

Таблица 8.19. Формат сообщения RNG-REQ
СинтаксисРазмер
RNG-REQ_Message_Format () {
Тип управляющего сообщения = 48 бит
Идентификатор нисходящего канала8 бит
Ожидание до завершения8 бит
Данные, закодированные в форме TLV }перем.

Поле CID в заголовке МАС предполагает наличие следующих значений в случае отправки в период управления инициализации.

  1. CID исходного диапазона, если SS осуществляется попытка подключения к сети.
  2. CID исходного диапазона, если SS еще не зарегистрирована и изменяет восходящий канал (или оба канала) согласно загруженному конфигурационному файлу.
  3. Базовый CID (присвоенный ранее посредством RNG-RSP), если SS еще не зарегистрирована и изменяет восходящий канал согласно загруженному конфигурационному файлу.
  4. Базовый CID (присвоенный ранее посредством RNG-RSP), если SS зарегистрирована и изменяет восходящий канал.
  5. Во всех прочих случаях используется базовый CID, как только он присвоен в сообщении RNG-RSP.

При посылке в период управления станции CID всегда равен базовому CID. Ниже описаны параметры, присутствующие в сообщении RNGREQ. Заметим, что длина сообщения RNG-REQ, посланного в период управления инициализацией, является фиксированной.

Идентификатор нисходящего канала

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

Ожидание до завершения

Если это поле содержит нуль, тогда все предыдущие атрибуты диапазонных откликов должны быть использованы до посылки данного запроса. В противном случае это предполагаемое время, необходимое для завершения восприятия параметров выделенного диапазона, выраженное в десятках миллисекунд. Сообщение RNG-REQ должно содержать следующие параметры:

  1. запрошенный профайл кластера нисходящего канала;
  2. МАС-адрес SS;
  3. аномалии рабочего диапазона.

Сообщение отклика на запрос диапазона (RNG-RSP)

Сообщение RNG-RSP передается BS в ответ на полученный запрос RNG-REQ или при необходимости скорректировать параметры канала по результатам измерения, которые были сделаны для других полученных данных или МАС-сообщений. SS готова получать сообщения RNG-RSP в любое время, а не только в ответ на RNG-REQ.

Исходное сообщение RNG-RSP должно передаваться, с использованием профайла нисходящего канала, который приемлем для обеспечения надежного приема. Для достижения гибкости параметры сообщения, следующие после ID восходящего канала, нужно кодировать в формате TLV. BS генерирует сообщения RNG-RSP в формате, показанном в табл. 8.20.

Таблица 8.20. Формат сообщения RNG-RSP
СинтаксисРазмер
RNG-RSP_Message_Format () {
Тип управляющего сообщения = 58 бит
Идентификатор восходящего канала8 бит
Данные, закодированные в форме TLV }перем.

В сообщение RNG-RSP следует включить следующие параметры:

  1. информация подстройки синхронизации;
  2. информация подстройки мощности;
  3. информация подстройки частоты;
  4. состояние диапазона.

Следующие параметры могут быть включены в сообщение RNG-RSP:

  1. новое значение частоты нисходящего канала;
  2. новое значение ID восходящего канала;
  3. рабочий профайл нисходящего канала;
  4. базовый CID.

CID является обязательным параметром, если сообщение RNG-RSP послано на фазе инициализации в ответ на сообщение RNG-REQ.

Сообщение запроса регистрации (REG-REQ)

Сообщение REG-REQ посылается SS при инициализации, формат этого запроса описан в таблице 8.21.

Таблица 8.21. Формат сообщения REG-REQ
СинтаксисРазмер
REG-REQ_Message_Format () {
Тип управляющего сообщения = 68 бит
Данные, закодированные в форме TLV }перем.

Сообщение REG-REQ включает в себя следующие параметры.

CID первичного управления (в общем МАС-заголовке)

Для SS CID в общем МАС-заголовке является CID первичного управления.

Все остальные параметры кодируются в формате TLV.

Сообщение REG-REQ содержит в себе следующие TLV:

  1. последовательность HMAC;
  2. CID поддержки восходящего канала.

Сообщение REG-REQ может содержать следующие параметры TLV, формируемые SS:

  1. код ID производителя (SS);
  2. код возможностей SS.

Сообщение отклика регистрации REG-RSP

Сообщение REG-RSP посылается BS в ответ на запрос REG-REQ, формат этого запроса описан в таблице 8.22.

Таблица 8.22. Формат сообщения REG- RSP
СинтаксисРазмер
REG-RSP_Message_Format () {
Тип управляющего сообщения = 78 бит
Отклик8 бит
Данные, закодированные в форме TLV }перем.

BS генерирует REG-RSP, которые содержат в себе следующие параметры:

CID (в общем заголовке МАС)

CID в общем заголовке МАС является CID первичного управления для данной SS.

Отклик

Однобайтовый код, принимающий значение:

  1. 0 = ok;
  2. 1 = неудача аутентификации сообщения.

В сообщения REG-RSP включаются следующие параметры:

  1. версия МАС;
  2. вторичный CID управления;
  3. последовательность (HMAC) кода аутентификации хэшированного сообщения.

Следующие параметры включаются в сообщение REG-RSP, если были обнаружены в REG-REQ или BS требует использования нестандартного значения параметра.

Возможности SS

BS откликается на возможности SS, только если это отражено в REG-REQ. BS откликается на возможности SS, чтобы уведомить о возможности их использования. Если BS не распознает возможность SS, она возвращает "off" в сообщении REG-RSP.

Возможности, возвращенные в REG-RSP, не будут установлены на уровне выше, чем это указано в REG-REQ. Для всех радиоканалов крайне актуальными являются соображения безопасности. Именно по этой причине в IEEE 802.16 данной проблеме уделено так много места.

Сообщения управления ключами конфиденциальности (PKM-REQ/PKM-RSP)

Управление ключами конфиденциальности ( PKM ) использует два типа ключей, запрос PKM (PKM-REQ) и отклик PKM (PKM-RSP), как это видно из табл. 8.23.

Таблица 8.23. Формат сообщения PKM-REQ/PKM-RSP
Значение типаИмя сообщенияОписание сообщения
9PKM-REQУправляющий запрос ключа конфиденциальности [SS -> BS]
10PKM-RSPОтклик на запрос ключа конфиденциальности [SS -> BS]

Только одно сообщение PKM вкладывается в поле данных управляющего сообщения МАС. Протокольные сообщения PKM передаются от SS к BS с использованием формата, описанного в табл. 8.24. Они передаются SS в рамках первичной фазы управляющего соединения.

Таблица 8.24. Формат протокольных сообщений PKM
СинтаксисРазмер
PKM-REQ_Message_Format () {
Тип управляющего сообщения = 98 бит
Код8 бит
Идентификатор PKM8 бит
Атрибуты, закодированные в форме TLV }перем.

Протокольные сообщения PKM передаются от BS к SS с использованием формата, описанного в табл. 8.25. Они передаются SS в рамках первичной фазы управляющего соединения.

Таблица 8.25. Формат сообщения PKM
СинтаксисРазмерОписание
PKM-RSP_Message_Format () {
Тип управляющего сообщения = 108 бит
Код8 бит
Идентификатор PKM8 бит
Атрибуты, закодированные в форме TLV }перем.

Параметрами этих сообщений являются:

Код

Код содержит один октет и идентифицирует тип РКМ-пакета. Когда пакет приходит с неверным кодом, он молча отбрасывается. Значения кода определены в табл. 8.25.

Идентификатор PKM

Поле идентификатора содержит один октет. SS использует идентификатор при реагировании на запрос BS. SS инкрементирует поле идентификатора (по модулю 256) при отправке очередного (нового) РКМ-сообщения.

Поле идентификатора в сообщении BS PKM-RSP должно соответствовать значению идентификатора из PKM-REQ, на которое BS реагирует. Поле идентификатора в сообщении ключа шифрования трафика (ТЕК), которое не посылается в ответ на PKM-REQ, следует устанавливать равным нулю.

При получении сообщения PKM-RSP SS ассоциирует сообщение с определенной машиной состояния (например, машиной состояния авторизации в случае отклика авторизации).

SS отслеживает идентификатор своего последнего отложенного запроса авторизации. SS отбрасывает отклики авторизации и отказы авторизации с полями идентификатора, которые не соответствуют заданному отложенному запросу авторизации.

Атрибуты

PKM-атрибуты несут в себе данные, специфические для обменов аутентификации, авторизации или управления ключами между клиентом и сервером. Каждый тип PKM-пакета имеет свой собственный набор необходимых и опционных атрибутов. Если нет явного указания, порядок атрибутов в сообщении произволен. Конец списка атрибутов определяется полем LEN заголовка МАС PDU. Таблица 8.25а.

Таблица 8.25a. Коды сообщений
КодТип PKM-сообщенияИмя управляющего сообщения МАС
0-2зарезервировано-
3SA AddPKM-RSP
4Auth RequestPKM-REQ
5Auth ReplyPKM-RSP
6Auth RejectPKM-RSP
7Key RequestPKM-REQ
8Key ReplyPKM-RSP
9Key RejectPKM-RSP
10Auth InvalidPKM-RSP
11TEK InvalidPKM-RSP
12Authent InfoPKM-REQ
13-255зарезервировано-

BS и SS молча отбрасывает запросы/отклики, которые не содержат полного списка необходимых атрибутов. TEK – Traffic Encryption Key.

Сообщение запроса авторизации (Auth Request)

Код = 4

Атрибуты перечислены в табл. 8.26.

Таблица 8.26. Атрибуты сообщения Auth Request
АтрибутСодержимое
SS-сертификатСодержит сертификат Х.509 SS
Возможности безопасностиОписывает запрашиваемые возможности безопасности SS
SAIDПервичный SAID для SS, равный базовому CID

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

Сообщение отклика авторизации (Auth Reply)

Отклик авторизации посылается BS клиенту SS в ответ на запрос авторизации и содержит ключ авторизации, время жизни ключа и список дескрипторов SA, идентифицирующие первичный и статический SA. Эти данные определяют параметры доступа SS (тип, криптографический набор и т.д.). Ключ авторизации шифруется открытым ключом SS. Список дескрипторов SA включает в себя дескриптор для базового CID, сообщенный BS в соответствующем запросе Auth Request. Этот список может содержать также дескрипторы статических SAID, к которым разрешен доступ SS.

Код = 5

Атрибуты сообщения Auth Reply представлены в табл. 8.27.

Сообщение запроса ключа

Код = 7

Атрибуты сообщения запроса ключа представлены в табл. 8.28.

Таблица 8.27. Атрибуты сообщения Auth Reply
АтрибутСодержимое
Auth-KeyКлюч авторизации, зашифрованный общедоступным ключом клиента SS
Время жизни ключаВремя активной жизни ключа
Порядковый номер ключаПорядковый номер ключа авторизации
Один или более дескрипторов SAКаждый составной атрибут дескриптора SA специфицирует SAID и дополнительные свойства SA
Таблица 8.28. Атрибуты сообщения запроса ключа
АтрибутСодержимое
Порядковый номер ключаПорядковый номер ключа авторизации
SAIDID ассоциации безопасности
Дайджест HMACДайджест ключевого сообщения, полученный методом SHA

Атрибут дайджеста должен быть последним в списке атрибутов сообщения. Включение дайджеста позволяет BS аутентифицировать сообщения запроса ключа.

Сообщение отклика на запрос ключа

Код = 8

Атрибуты сообщения отклика на запрос ключа представлены в табл. 8.29.

Таблица 8.29. Атрибуты сообщения отклика на запрос ключа
АтрибутСодержимое
Порядковый номер ключаПорядковый номер ключа авторизации
SAIDID ассоциации безопасности
TEK-параметрыПредшествующее поколение параметров ключа, соответствующих SAID
TEK-параметрыНовое поколение параметров ключа, соответствующих SAID
Дайджест HMACДайджест ключевого сообщения, полученный методом SHA

Атрибут параметров ТЕК является составным атрибутом, который содержит все ключевые материалы, соответствующие определенному поколению ТЕК SAID. Сюда входит ТЕК, оставшееся время жизни ключа, его порядковый номер, инициализационный вектор блочного шифра CBC.

В любой момент времени BS поддерживает два набора активных поколений ключевого материала для каждого SAID. Один набор соответствует "старому", второй набор — "новому" поколению ключевого материала. Новое поколение имеет порядковый номер ключа на 1 больше (по модулю 4), чем старое. BS рассылает клиентам SS оба поколения активного ключевого материала. Таким образом, сообщения отклика на запрос ключа содержит два атрибута ТЕК-параметров, каждый из которых содержит ключевой материал для одного из активных наборов ключевого материала SAID.

Включение дайджеста позволяет клиенту-получателю аутентифицировать сообщение ключевого отклика и гарантировать синхронизацию наборов ключей у BS и SS.

Сообщение запроса изменения профайла нисходящего канала (DBPC-REQ)

Сообщение DBPC-REQ посылается из SS к BS с использованием базового CID SS для запроса изменения профайла нисходящего канала, который используется BS для передачи данных SS. Сообщение DBPCREQ будет послано с текущим значением типа передачи данных. Если SS была пассивна в течение некоторого времени в восходящем канале и обнаруживает деградацию условий в нисходящем канале, то она использует это сообщение для повышения качества передачи данных. Формат сообщения представлен в табл. 8.30.

Таблица 8.30. Формат сообщения DBPC-REQ
СинтаксисРазмер
DBPC-REQ_Message_Format () {
Тип управляющего сообщения = 238 бит
Зарезервировано4 бита
DIUC }4 бита

DIUC

Значения DIUC (Downlink Interval Usage Code) определены в табл. 8.13, 8.14.

Сообщение отклика на изменение профайла нисходящего канала (DBPC-RSP)

Сообщение DBPC-RSP посылается BS с привлечением базового CID SS в ответ на запрос DBPC-REQ, посланный SS. Если параметр DIUC совпадает с содержащемся в запросе DBPC-REQ, то он воспринимается. В противном случае, если запрос отвергается, параметр DIUC должен быть предыдущим, при котором SS получал данные по нисходящему каналу. Формат сообщения представлен в табл. 8.31.

Таблица 8.31. Формат сообщения DBPC-RSP
СинтаксисРазмерОписание
DBPC-REQ_Message_Format () {
Тип управляющего сообщения = 248 бит
Зарезервировано4 битаДля будущего использования
DIUC }4 бита

Сообщение сверки часов (CLK-CMP)

В сети с сервисными потоками, несущими данные, где требуется реконструирование сигналов часов (напр., DS1 и DS3), базовая станция периодически широковещательно посылает сообщения CLK-CMP. Если это предусмотрено, BS будет генерировать сообщение CLK-CMP с интервалом, который определен согласно формату, описанному в табл. 8.32.

Таблица 8.32. Формат сообщений CLK-CMP
СинтаксисРазмер
CLK-CMP_Message_Format () {
Тип управляющего сообщения = 288 бит
Счетчик синхротактов n8 бит
for(i=1; i<=n; i++) {
Clock ID(i)8 бит
Порядковый номер [i]8 бит
Результат сравнения[i] } }8 бит

Сообщения CLK-CMP включают в себя следующие параметры: ID часов (Clock ID), порядковый номер и результат сравнения показаний часов CCV (Clock Comparison Value).

Порядковый номер

8-битовый код, инкрементируемый BS на 1 (по модулю 256) при формировании сообщения CLK-CMP. Этот параметр используется для детектирования потери пакетов.

Результат сверки часов

8-битовый код разности (по модулю 256) между следующими двумя эталонными сигналами: (1) 10МГц эталонная частота, синхронизованная с символьными часами радиоканала (например, GPS), и (2) эталонной частотой 8.192 МГц, синхронизованной с сетевыми часами.

Сообщение команды De/Re (DREG-CMD)

Сообщение DREG-CMD отправляется базовой станцией по базовому CID SS, чтобы изменить ее состояние доступа. По получении DREG-CMD SS выполнит операцию, предписываемую присланным кодом операции. Тип управления МАС для данного сообщения представлен в табл. 8.33.

Таблица 8.33. Формат сообщения DREG-CMD.
СинтаксисРазмер
DREG-CMD_Message_Format () {
Тип управляющего сообщения = 298 бит
Код операции8 бит
Параметры, закодированные в форме TLV }перем.

Коды операции и их значения представлены в табл. 8.34.

Таблица 8.34. Коды операций
Код операцииОперация
0х00SS уходит с этого канала и пытается перейти на другой
0х01SS прослушивает текущий канал, но не передает, пока не получит сообщение RES-CMD
0х02SS прослушивает текущий канал, но только передает в режиме базового первичного управления и вторичных соединений управления
0х03SS возвращается к нормальной работе и может передавать данные, используя любые активные соединения.
0х04-0хFFЗарезервировано

Несколько МАС-PDU могут быть переданы вместе как по восходящему, так и по нисходящему каналам. МАС-PDU управляющих сообщений, пользовательских данных, запросов полосы могут быть пересланы за одну передачу. Схема объединения иллюстрируется на рис. 8.17.

Объединение MAC PDU (каждое из полей имеет свой уникальный CID)


Рис. 8.17.  Объединение MAC PDU (каждое из полей имеет свой уникальный CID)

МАС SDU может быть разделен между одним или более МАС PDU. Это позволяет более эффективно использовать доступную полосу пропускания с учетом требующегося уровня QoS. Фрагментация может быть реализована по инициативе BS или SS. Это определяется на базе формирования соединения.

В случае включения режима упаковки, МАС может упаковывать по несколько MAC SDU в один MAC PDU. В режиме упаковки используется атрибут соединения, который говорит о том, используются ли пакеты постоянной длины или переменной. Схема упаковки для МАС-SDU постоянной длины показана на рис. 8.18, то же для переменной длины отображено на рис. 8.19.

Упаковка MAC SDU постоянной длины


Рис. 8.18.  Упаковка MAC SDU постоянной длины

Упаковка MAC SDU переменной длины


Рис. 8.19.  Упаковка MAC SDU переменной длины

Для улучшения эффективности процесса запрос-предоставление предусмотрен механизм диспетчеризации. Путем задания параметров диспетчеризации и QoS BS может получить требующуюся пропускную способность и время отклика для восходящего канала.

Базовые виды услуг перечислены в таблице 8.35, это UGS (Unsolicited Grant Service), сервис запросов реального времени rtPS (Real-Time Polling Service), nrtPS (Non.-REAL-Time Polling Service) и сервис наилучшего возможного BE (Best Effort). Каждый вид сервиса приспособлен для определенного типа потока данных.

Таблица 8.35. Сервисы диспетчеризации и правила использования
Тип диспетчеризацииКомбинированный запросИзъятие полосыОпрос (polling)
UGSНе разрешенНе разрешеноДля уникастного запроса требуемой полосы в случае, когда это не UGS-соединение, используется бит PM
rtPSРазрешенРазрешено для GPSSДиспетчеризация допускает только уникастный опрос
nrtPSРазрешенРазрешено для GPSSДиспетчеризация может ограничить сервисный поток только уникстным опросом через политику передачи/запросов; в противном случае разрешены все формы опроса
BEРазрешенРазрешено для GPSSРазрешены все формы опроса

Заметим, что каждой SS приписано три CID для целей отправки и получения управляющих сообщений. Используется три соединения, чтобы обеспечить дифференцированные уровни QoS для разных соединений, транспортирующих управляющий трафик МАС. Увеличение или уменьшение требований к полосе необходимо для всех сервисов, кроме соединений с постоянной скоростью передачи (например, несжимаемый UGS). Полоса таких соединений не может быть изменена с момента формирования до ликвидации. Требования к сжимаемым UGS, таким, как каналированные Т1, могут варьироваться в зависимости от трафика.

Когда SS нужно запросить полосу для конкретного соединения с ВЕ диспетчеризацией, она посылает сообщение BS, содержащее требование немедленного соединения DAMA (Demand Assigned Multiple Access). QoS соединения определяется в процессе формирования и обеспечивается BS.

Для получения нужной полосы восходящего канала SS использует запросы, направляемые ею к BS. Так как профайл восходящего канала может меняться динамически, все запросы полосы должны выражаться в байтах, которые необходимы для передачи МАС-заголовка и поля данных, но не должны учитывать издержки физического уровня. Такие запросы могут быть посланы в период запроса IE или любого кластера предоставления данных типа IE.

В зависимости от характера запроса полосы существует два режима работы SS: GPC (Grant per Connection) и GPSS (Grant per Subscriber Station). В первом случае BS предоставляет полосу конкретно каждому соединению, в то время как во втором случае полоса предоставляется всем соединениям SS. В последнем случае (GPSS) можно использовать меньшую суммарную полосу пропускания, а продвинутая SS может перераспределять полученную от BS полосу. Такой алгоритм удобен для решения задач реального времени, когда требуется более быстрый отклик.

Запрос ( polling ) является процессом, с помощью которого базовая станция резервирует SS полосу. Это резервирование может быть выполнено для отдельной SS или группы станций. Резервирование для группы соединений и/или SS в действительности определяет информационный элемент (IE) соединения при запросе полосы. Полоса всегда запрашивается на основе CID, а резервирование полосы осуществляется для соединения (режим GPC) или для SS (режим GPSS).

Когда SS опрашиваются индивидуально, никакого сообщения не посылается, просто производится резервирование для SS в восходящем канале, достаточное для реагирования на запросы полосы. Если SS не нуждается в полосе, она возвращает байт 0xFF. Станции SS, работающие в режиме GPSS, при наличии активного UGS-соединения с достаточной полосой индивидуально опрашиваться не будут, если только они не выставили бит PM (Poll Me) в заголовке пакета UGS-соединения. Это экономит полосу на опросе всех SS.

Если имеется недостаточная полоса пропускания для индивидуального опроса неактивных SS, некоторые SS могут опрашиваться в составе мультикаст-групп или с привлечением широковещательного опроса Определенные CID зарезервированы для мультикаст-групп и для широковещательных сообщений.

МАС-протокол поддерживает несколько дуплексных технологий. Выбор дуплексной техники может повлиять на определенные параметры уровня PHY, а также на перечень поддерживаемых возможностей. На МАС-уровне поддерживаются кадровые и бескадровые спецификации PHY. Для бескадрового режима PHY значение интервала диспетчеризации выбираются МАС. При бескадровой FDD PHY восходящий и нисходящий каналы размещаются на разных частотах, так что каждая SS может осуществлять прием и передачу одновременно. Оба эти канала не используют фиксированной длины кадров. В такой системе нисходящий канал находится всегда во включенном состоянии, и все SS слушают его. Трафик передается широковещательно, используя мультиплексирование по времени (TDM). В восходящем канале применяется режим мультиплексирования TDMA (Time Division Multiple Access).

В кадровой (кластерной) системе FDD (Frequency Division Duplex) восходящий и нисходящий каналы размещаются на разных частотах, а нисходящие данные передаются в виде кластеров (bursts). Для обоих направлений обмена используются кадры фиксированной длины. Это помогает использовать разные типы модуляции. При этом могут применяться полнодуплексные и полудуплексные SS.

В режиме TDD (Time Division Duplexing) восходящий и нисходящий каналы используют одну и ту же частоту. TDD -кадр имеет фиксированную длительность и содержат субкадры для восходящего и нисходящего каналов. Кадр делится на целое число физических доменов (PS — slots), которые помогают легко поделить полосу. Работа системы в режиме TDD и структура TDD-кадра показана на рис. 8.20.

Структура TDD кадра


Рис. 8.20.  Структура TDD кадра

Синхронизация восходящего канала базируется на эталонных временных метках восходящего канала, которые задаются счетчиком, инкрементируемым в 16 раз чаще, чем частота PS. Это позволяет часам SS быть хорошо синхронизованными с BS.

Карта резервирования полосы восходящего канала использует в качестве модулей минидомены (minislot). Размер минидомена определяется как число физических доменов PHY PS и содержится в дескрипторе восходящего канала. Один минидомен содержит n PS, где n — целое число из интервала 0-255.

Информация в DL-MAP относится к текущему кадру, то есть к кадру, в котором она доставлена. Информация, доставляемая в UL-MAC, относится к временному интервалу, начинающемуся в момент резервирования (измеряется от начала поученного кадра и до конца последнего зарезервированного минидомена). Пустые IE указывают на паузы в передаче по восходящему каналу. Станции SS не могут осуществлять передачу в это время. Данный вид синхронизации используется как для TDD, так и для FDD. Вариант TDD показан на рис. 8.21, а сходный вариант, реализуемый для FDD показан на рис. 8.22.

Максимальное время релевантности управляющей информации PHY и MAC (TDD)


Рис. 8.21.  Максимальное время релевантности управляющей информации PHY и MAC (TDD)

В бескадровых системах PHY DL-MAP содержит только временные метки восходящего канала и не определяет, какую информацию следует передавать. Все SS постоянно ищут нисходящий сигнал для любого сообщения, которое к ним адресовано. Сообщение UL-MAP содержит временную метку, которая указывает на первый минидомен, который определяет мэпинг (соответствие). Задержка от конца UL-MAP до начала первого интервала в восходящем канале определенная таблицей соответствия, будет больше максимума RTT плюс время обработки, необходимое SS (см. рис. 8.22).

Временная релевантность UL-MAP информации (бескадровое FDD)


Рис. 8.22.  Временная релевантность UL-MAP информации (бескадровое FDD)

Структура субкадра нисходящего канала для TDD показана на рис. 8.23, то же для FDD – на рис. 8.24.

Структура субкадра нисходящего канала для TDD


Рис. 8.23.  Структура субкадра нисходящего канала для TDD

Структура субкадра нисходящего канала для FDD


Рис. 8.24.  Структура субкадра нисходящего канала для FDD

Возможность передачи определяется наличием свободного минидомена, который может быть использован SS для передачи сообщений или данных. Число возможностей передачи связано с конкретным информационным элементом (IE), размером интервала и объемом передачи.

BS контролирует восходящий канал с помощью сообщений UL-MAP и определяет, какие из минидоменов являются объектами столкновений. Столкновения могут произойти в периоды установления соединения и при запросах, определяемых их IE. Потенциальные столкновения при запросах зависят от CID в соответствующих IE.

Когда SS имеет данные для передачи и хочет войти в процесс разрешения конфликтов, она устанавливает исходное значение ширины окна отсрочки равным отсрочке начала запроса в сообщении UCD. SS случайным образом выбирает число в пределах окна отсрочки. Это случайное число указывает на разрешенное число попыток передачи, которые SS должна пропустить до начала посылки. SS рассматривает только допустимые возможности передачи, которые определяются IE запроса в сообщениях UL-MAP. Каждый IE может содержать много конфликтных возможностей передачи.

ID канала используется в процессе диспетчеризации для идентификации ресурсных запросов и откликов. Так как такие сообщения являются широковещательными, узлы-получатели могут определить порядок использования как ID узла отправителя в сеточном подзаголовке, так и ID канала в поле MSH-DSCH. Структура ID соединения (CID) описана в таблице 8.36.

Таблица 8.36. Структура CID для сеточного режима
СинтаксисРазмерОписание
CID { if(Xmt Link ID ==0xFF)
{Logical Network ID}8 бит0х00: широковещательно
Else {
Type2 бита0х0 MAC управление

0х1 IP

0x2-0x3 зарезервировано

Надежность1 бит
Приоритет/Класс3 бита
Приоритет отбрасывания}2 бита
Xmt Link ID}8 бит0xFFF: широковещательное управление МАС

Поле Приоритет/Класс определяет класс сообщения.

Поле Приоритет отбрасывания определяет вероятность отбрасывания сообщения в случае перегрузки.

Значение поля Xmt Link ID присваивается узлом отправителем каналу до узла приемника.

Может присутствовать четыре типа подзаголовков. Подзаголовки PDU (сеточный, фрагментации и управления предоставлением доступа) могут размещаться в PDU MAC сразу после общего заголовка МАС. Если присутствуют подзаголовки фрагментации и управления предоставления доступа, последний должен быть первым. Если имеется сеточный заголовок, он всегда размещается первым.

Если бит ARQ обратной связи в поле type МАС-заголовка =1, в поле данных транспортируется ARQ-отклик.

Таблица 8.37. Кодирование поля Type
Бит поля TypeНазначение
5 (старший)Сеточный подзаголовок. 1 = присутствует; 0= отсутствует
4ARQ Feedback Payload (поле данных обратной связи)
3Расширенный тип. 1 = расширенный; 0 = нерасширенный

Указывает, являются ли расширенными данные подзаголовки упаковки или фрагментации

2Подзаголовок фрагментации. 1=присутствует; 0=отсутствует
1Подзаголовок упаковки. 1=присутствует; 0=отсутствует
0 (младший)Подзаголовок управления предоставлением доступа. 1=присутствует; 0=отсутствует. Для DL следует установить равным 0

Во время AAS части кадра сообщения DL-MAP, UL-MAP, DCD, UCD и CLK-CMP должны посылаться с использованием базового CID.

AASAdaptive Antenna System.

В сеточном (Mesh) режиме узел-кандидат на регистрацию генерирует сообщения REG-RSP, включающие следующие параметры:

  1. SS MAC-адрес (SS – Subscriber Station);
  2. версия MAC (используемая в узле-кандидате);
  3. HMAC Tuple (дайджест сообщения, вычисленный с помощью HMAC_KEY_U).
Таблица 8.38. Сообщения управления уровня МАС
Код типаНазвание сообщенияОписание сообщенияСоединение
33ARQ-FeedbackARQ обратная связь для изолированной системыБазовое
34ARQ-DiscardСообщение отмены ARQБазовое
35ARQ-ResetСообщение сброса ARQБазовое
36REP-REQЗапрос канальных измерительных данныхБазовое
37REP-RSPОтклик на запрос канальных измерительных данныхБазовое
39MSH-NCFGКонфигурации сетиШироковещательное
40MSH-NENTВход в сеточную сетьБазовое
41MSH-DSCHРаспределенное расписание сеткиШироковещательное
42MSH-CSCHЦентрализованное расписание для сеткиШироковещательное
43MSH-CSCFКонфигурирование централизованного расписания для сеткиШироковещательное
44AAS-FBCK-REQЗапрос обратной связи AASБазовое
45AAS-FBCK-RSPОтклик обратной связи AASБазовое
38, 46-255Зарезервировано

Сообщение REG-REQ может, кроме того, содержать следующие параметры:

  1. IP-версия;
  2. возможности кодирования SS;
  3. идентификатор поставщика кодировщика.

В сеточном режиме при регистрации узел генерирует REG-RSP сообщения, содержащие следующие параметры:

  1. Node ID (идентификатор узла);
  2. MAC Version (MAC-версия, используемая в сети);
  3. HMAC Tuple (дайджест сообщения, вычисленный с помощью HMAC_KEY_D).

Сообщение REG-RSP может, кроме того, содержать следующие параметры:

  1. IP-версия;
  2. возможности кодирования SS.

Возможности, указанные в REG-RSP, не устанавливаются выше того, что указано в REG-REQ.

Механизм ARQ (Automatic Repeat Request) является опционной частью МАС-уровня и может быть активирован перед формированием соединения. Параметры ARQ согласуются на фазе формирования соединения или изменения его характеристик. В соединении не могут смешиваться трафики, поддерживающие и не поддерживающие ARQ. Информация обратной связи ARQ может быть послана в виде управляющего МАС сообщения. Такое сообщение не может быть фрагментировано.

В таблице 8.39 определен формат информационного элемента обратной связи ARQ. Элемент используется получателем для сообщения положительного или отрицательного подтверждения. Несколько таких IE может быть помещено в одно поле данных (PDU).

FSN

If(тип ACK == 0х0): значение FSN соответствует наиболее значимому биту первого 16-битового кода соответствия ARQ (mapping).

If(тип ACK == 0х1): значение FSN указывает, что соответствующие его фрагменты с меньшими значениями окна передачи успешно получены.

If(тип ACK == 0х2): комбинирует ситуации типов 0х0 и 0х1.

ACK Map

Каждый бит, равный 1, указывает, что соответствующий фрагмент ARQ получен без ошибки. Бит, соответствующий значению FSN в IE, является наиболее значимым битом в первой записи соответствия. Биты для успешно доставленных номеров фрагментов присваиваются слева направо в пределах карты соответствия. Если тип ACK равен 0х2, старший бит первой записи соответствия будет установлен равным 1 и IE будет интерпретироваться как совокупный ACK для значения FSN в IE.

Таблица 8.39. Формат информационного элемента обратной связи ARQ
СинтаксисРазмерКомментарий
ARQ_feedback_IE(LAST) {
CID16 битИдентификатор сообщения, к которому относится элемент
LAST1 бит0= в списке имеются еще IE обратной связи ARQ

1= последний IE в списке ARQ

Тип ACK2 бита0x0 = селективная запись ACK

0x1 = общая запись ACK

0x2 = общая запись селективного ACK

0x3 = зарезервировано

FSN11 бит
Число соответствий (MAP) ACK2 битаЕсли тип ACK==01, поле резервируется и устанавливается равным 00. В противном случае в поле записывается число соответствий ACK: 0x0 =1, 0x1 =2, 0x2 =3, 0x3 =4
if(ACK тип != 01) {
for(i=0; i< NumberOfACK_Maps+1; ++i) {
ACK Map} } }16 бит

Сообщение запроса ключа

При работе в сеточном режиме используются следующие атрибуты Таблица 8.40.

Таблица 8.40.
АтрибутСодержимое
Сертификат SSСертификат X.509 узла
SAIDИдентификатор SA
Дайджест HMACHMAC при использовании HMAC_KEY_S

Формат сообщения обратной связи ARQ. Таблица 8.41:

Таблица 8.41.
СинтаксисРазмерКомментарий
ARQ_Feedback_Message_Format() {
Тип сообщения управления = 338 бит
ARQ_Feedback_Payload }переменный

8.3. Широкополосный канал для подключения периферийных устройств UWB

Расширение многообразия периферийных устройств ЭВМ требует новых широкополосных интерфейсов. Одним из таких решений стал последовательный интерфейс USB (Universal Serial BUS), порт IEEE-1394 (FireWire) и некоторые другие. Эти интерфейсы позволяют объединить несколько внешних устройств в сеть. Еще одной тенденцией в подключении внешних устройств является исключение проводов (вспомним беспроводные клавиатуры и мыши, а также стандарт Bluetooth ). Но Bluetooth может гарантировать скорость обмена не более 232 Кбит/c, USB 2.0 – до 480 Мбит/c.

Малая пропускная способность современных беспроводных стандартов является следствием узости используемой частотной полосы. В 2004 году компания Intel объявила о разработке набора микросхем, предназначенного для реализации стандарта широкополосной связи UWB (Ultra-WideBand, IEEE 802.15.3a).

UWB использует диапазон частот 3-10ГГц. Стандарт позволяет осуществлять обмен со скоростью 110Мбит/c для расстояний вплоть до 10 м. Проблемы здесь связаны, кроме всего прочего, с тем, что этот частотный диапазон занят военными для целей радиолокации. Использование широкой полосы позволяет теоретически UWB обеспечить скорость обмена до 480 Мбит/c при расстоянии 3 м.

Зависимость пропускной способности UWB от расстояния


Рис. 8.25.  Зависимость пропускной способности UWB от расстояния

Для расстояния 10 м пропускная способность интерфейса составляет всего 110 Мбит/c. Сопоставление этих данных с быстродействием IEEE 802.11a/g 54 Мбит/c для расстояний до 100м может удивить. Все дело в том, что на частотах UWB дисперсия радиосигнала в воздухе существенно больше, чем на частоте 2,4 ГГц.

Есть предложения разделить частотный диапазон UWB на ряд субдиапазонов по 528МГц и использовать технологию мультиплексирования сигналов по ортогональным несущим OFDM (Orthogonal Frequency Division Multiplexing). Разбиение на субдиапазоны позволяет снизить искажения в каждом из субдиапазонов и немного увеличить дальность связи.

Разработчики Motorola предлагают использовать весь спектр, что, по их мнению, позволит достичь быстродействия 1Гбит/c (DS-UWB).

Задачей стандарта UWB является обеспечения широкополосных обменов в пределах одной комнаты или офиса.

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

Лекция 9. Оптические каналы связи

Оптические волокна, оптические каналы связи, одномодовый и мультимодовый режимы, беспроводные оптические каналы, протоколы PPP и L2TP.

А.Г. Белл в 1880 году запатентовал фотофон – прибор для передачи голоса посредством светового сигнала с селеновым фотодетектором. Основы оптоволоконики были заложены в 1966 году (Као и Хокэм). Первые коммерческие телефонные оптоволоконные системы были созданы лишь в 1977 году. Одномодовые волоконные кабели начали производиться в 1983 году.

В 1990 году Линн Моллинер (Bellcore) продемонстрировал передачу данных со скоростью 2,5 Гбит/c на расстояние 7500 км (без промежуточных усилителей сигнала).

В 2000 году суммарная длина оптических волокон только в США превысила 30 миллионов километров.

Оптоволоконное соединение гарантирует минимум шумов и высокую безопасность (практически почти невозможно сделать отвод). Пластиковые волокна применимы при длинах соединений не более 100 метров и при ограниченном быстродействии (<50 МГц). Вероятность ошибки при передаче по оптическому волокну составляет <10-10, что во многих случаях делает ненужным контроль целостности сообщений.

При построении сетей используются многожильные кабели (рис. 9.1; существуют и другие разновидности кабеля: например, двух- или четырехжильные, а также плоские). В верхней части рисунка [ A ] изображено отдельное оптоволокно, а в нижней [ Б ] — сечение восьмижильного оптического кабеля. Свет (длина волны ~ 1350 или 1500 нм) вводится в оптоволокно (диаметром ) с помощью светоизлучающего диода или полупроводникового лазера. Центральное волокно покрывается слоем ( клэдинг, 1А), коэффициент преломления которого меньше, чем у центрального ядра (стрелками условно показан ход лучей света в волокне). Для обеспечения механической прочности извне волокно покрывается полимерным слоем ( ). Кабель может содержать много волокон, например, 8 ( ). В центре кабеля помещается стальной трос ( ), который используется при прокладке кабеля. С внешней стороны кабель защищен (от крыс!) стальной оплеткой ( ) и герметизирован эластичным полимерным покрытием.

Сечение оптоволоконного кабеля


Рис. 9.1.  Сечение оптоволоконного кабеля

Существует несколько типов оптических волокон, обладающих различными свойствами. Они отличаются друг от друга зависимостью коэффициента преломления от радиуса центральной части волокна. На рис. 9.2 показаны три разновидности волокна (А, Б и В; для коэффициентов преломления всегда должно быть ). Буквами А и Б помечен мультимодовый вид волокон. Тип Б имеет меньшую дисперсию времени распространения и по этой причине вносит меньшие искажения в форму передаваемого сигнала. Установлено, что, придавая световым импульсам определенную форму (обратный гиперболический косинус), дисперсионные эффекты можно полностью исключить. При этом появляется возможность передавать импульсы на расстояние в тысячи километров без искажения их формы. Такие импульсы называются солетонами. При традиционных же технологиях необходимо использовать повторители через каждые 30 км (против 5 км для медных проводов). По сравнению с медными проводами, оптоволоконные кабели несравненно легче. Так, одна тысяча скрученных пар при длине 1 км весит 8 тонн, а два волокна той же длины, обладающие большей пропускной способностью, имеют вес 100кг. Это обстоятельство открывает возможность укладки оптических кабелей вдоль высоковольтных силовых линий передачи, подвешивая или обвивая их вокруг проводников.

Разновидности оптических волокон, отличающиеся зависимостью коэффициента преломления от радиуса


Рис. 9.2.  Разновидности оптических волокон, отличающиеся зависимостью коэффициента преломления от радиуса

Буквой В помечен одномодовый вид волокна (понятие мода связано с характером распространения электромагнитных волн). Одномодовая разновидность волокна воспринимает меньшую долю света на входе, зато обеспечивает минимальное искажение сигнала. Следует иметь в виду, что оборудование для работы с одномодовым волокном значительно дороже. Центральная часть одномодового волокна имеет диаметр , а диаметр клэдинга составляет . Число мод, допускаемых волокном, в известной мере определяет его информационную емкость. Модовая дисперсия приводит к расплыванию импульсов и их "наезжанию" друг на друга. Дисперсия зависит от диаметра центральной части волокна и длины волны света.

Волокно со сглаженным профилем показателя преломления имеет дисперсию 1нсек/км и меньше. Это, в частности, связано с тем, что свет в периферийных областях волокна с большей длиной траектории движется быстрее (там меньший коэффициент преломления). Число мод N равно для волокна типа А:

где – диаметр центральной части (ядра), – численная апертура волокна, а – длина волны. Волокно с диаметром центральной части волокна поддерживает 1000 мод. Для волокна типа Б (рис. 3.2) значение в два раза меньше. Численная апертура равна , где и — соответственно коэффициенты преломления ядра и клэдинга. Величина определяет ширину входного конуса волокна (телесный угол захвата входного излучения) .

Для оптических каналов передачи данных вероятность ошибки (BER) находится на уровне 10-9-10-10.

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

Чем больше мод, тем больше дисперсионное искажение формы сигнала. Одномодовое волокно позволяет получить полосу пропускания в диапазоне 50-100 ГГц-км. Типовое значение модовой дисперсии лежит в пределах от 15 до 30 нсек/км.

Одномодовый режим реализуется тогда, когда длина волны света становится сравнимой с диаметром ядра волокна. Длина волны, при которой волокно становится одномодовым, называется пороговой.

В отличие от многомодового волокна, в одномодовом — излучение присутствует не только внутри ядра. По этой причине повышаются требования к оптическим свойствам клэдинга . Для многомодового волокна требования к прозрачности клэдинга весьма умеренны.

Затуханием обычно называется ослабление сигнала по мере его движения по волокну. Оно измеряется в децибелах на километр и варьируется от 300 дБ/км для пластиковых волокон до 0,21 дБ/км – для одномодовых волокон.

Полоса пропускания волокна определяется дисперсией. Приближенно полосу пропускания одномодового волокна можно оценить согласно формуле

где

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

Потерь нет, когда волокно имеет диаметр больше диаметра источника света. Если числовая апертура источника больше апертуры волокна, то потери света составят:

Помимо дисперсии, быстродействие оптического канала ограничивается шумами. Шумы имеют две составляющие: дробовой и тепловой шум. Дробовой шум определяется соотношением:

isn2=2eiB

где е – заряд электрона, i – средний ток, протекающий через приемник, и В – ширина полосы пропускания приемника. Типовое значение дробового шума составляет 25 нА при температуре 25 градусов Цельсия. Тепловой шум характеризуется соотношением:

itn2=(4kTB)/RL

где k – постоянная Больцмана, Т – температура по шкале Кельвина, В – ширина полосы пропускания приемника, RL — сопротивление нагрузки. При полосе в 10 МГц и температуре 2980К эта составляющая шума равна 18 нА. Одной из составляющих теплового шума является темновой ток, который возрастает на 10% при росте температуры на 1 градус.

Чувствительность приемника задается квантовой эффективностью, которая характеризует отношение числа первичных электронно-дырочных пар к числу падающих на детектор фотонов. Этот параметр часто выражается в процентах (реже в амперах на люмен). Так, если на каждые 100 фотонов приходится 60 пар электрон-дырка, то квантовая эффективность равна 60%. Чувствительность фотодетектора R может быть вычислена на основе квантовой чувствительности:

где – заряд электрона, – постоянная Планка, – скорость света, – длина волны, а - квантовая чувствительность.

В 2002 году компанией Zonu (http://www.zonu.com) разработан фототрансивер (GBIC) на 1,25Гбит/c для передачи и приема данных по одному и тому же волокну при длине волны 1310 нм.

Для одномодового волокна расстояние передачи может составлять до 10 км. При длине волны 1550 нм достижимо расстояние передачи в 40 км.

Очевидно, что чем больше длина волны, тем меньше число мод и меньше искажения сигнала. Это, в частности, является причиной работы в длинноволновом инфракрасном диапазоне. Но даже для одной и той же моды различные длины волн распространяются по волокну с разной скоростью. Одномодовое волокно позволяет получить полосу пропускания в диапазоне 50-100 ГГц на км. Источники излучения, инжектируемого в волокно, имеют конечную полосу частот. Так, светоизлучающие диоды испускают свет с шириной полосы 35 нм, а лазеры 2-3 нм (лазеры имеют, кроме того, более узкую диаграмму направленности, чем диоды). Характеристики светодиодов и инжекционных лазерных диодов приведены в таблице 9.1. Лазерные диоды, рассчитанные на работу с длинными кабелями при высоком быстродействии, стоят достаточно дорого.

Таблица 9.1. Характеристики светодиодов и инжекционных лазерных диодов
ПараметрыСветодиод (LED)Инжекционные лазерные диоды
Выходная мощность0,5 – 11,5 мВт3 – 10 мВт
Время нарастания1 – 20 нс1 – 2 нс
Диапазон тока смещения5 – 150 мА100 – 500 мА

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

Таблица 9.2. Характеристики оптических приемников
ПараметрыPINЛавинный фотодиодФототранзисторФотоприемник Дарлингтона
Чувствительность0,5 мкA/мкВт15 мкA/мкВт35 мкA/мкВт180 мкA/мкВт
Время нарастания1 нс2 нс2 мкс40 мкс
Напряжение смещения10 В100 В10 В10 В

Поглощение света в волокне происходит по нескольким причинам. Поглощение в собственно стекле волокна падает с уменьшением частоты, в то время как потери из-за рассеяния на дефектах стекла (релеевское рассеяние) с увеличением частоты растет. При сгибании волокна поглощение также увеличивается. По этой причине следует избегать малых радиусов изгиба (кроме всего прочего, это может привести к растрескиванию и обрыву). В результате потери света в волокне обычно лежат в диапазоне (2-5) дБ/км для длин волн . Зависимость поглощения света в волокне от длины волны показана на рис. 9.3. Используемые диапазоны отмечены на рисунке серыми полосами. Все эти диапазоны имеют ширину 25000 - 30000 ГГц.

Зависимость поглощения света в волокне от длины волны


Рис. 9.3.  Зависимость поглощения света в волокне от длины волны

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

Обнаружить причину было непросто, даже имея достаточно точное указание. Обрыв был на высоте около 4 м и с земли не виден. В одном месте в 30-40 см от троса находился ствол тополя, который при ветре по нему ударял. Трос перемещался в горизонтальной плоскости. С одной из сторон, где кабель уходил с троса вниз, он огибал болт. При монтаже эта часть кабеля была помещена в стальной рукав, но в процессе раскачивания троса рукав сполз вниз. Резьба болта работала как пила, сначала была повреждена изоляция, затем стальная оплетка и, наконец, были оборваны волокна одно за другим (4 из 8). Дальнейшее разрушение приостановил центральный встроенный в оптический кабель стальной трос. На эту разрушительную "работу" ушло более года, ведь сильный ветер дует не каждый день, да и перепилить стальную проволоку защитной оплетки не простая задача. Пришлось пригласить специалистов, которые устранили обрыв, сварив волокна заново. Надеюсь, что наш негативный опыт окажется полезным для других.

Из рисунка видно, что минимумы поглощения приходятся на 1300 и ~1500 нм, что и используется для целей телекоммуникаций. При длине волны 1300 нм дисперсия скоростей распространения различных длин волн минимальна. Диапазон ~850 нм характеризуется высоким поглощением, но он привлекателен тем, что как лазеры, так и электроника могут быть изготовлены из одного материала (арсенида галлия). Зависимость дисперсии от длины волны показана на рис. 9.4.

Зависимость дисперсии от длины волны


Рис. 9.4.  Зависимость дисперсии от длины волны

Из рисунка видно, что в области ниже 1300 нм более длинные волны движутся быстрее коротких. Для длин волн >1300нм имеет место обратная ситуация – более длинные волны движутся медленнее коротких. Для одномодовых волокон определяющий вклад в искажения вносится дисперсией скоростей распространения, для многомодовых основной вклад вносит модовая дисперсия. Зависимость полосы пропускания волокна от его длины приведена на рис. 9.5.

Зависимость полосы пропускания волокна от его длины


Рис. 9.5.  Зависимость полосы пропускания волокна от его длины

Типовые характеристики оптических волокон приведены в таблице 9.3. (См. также Дональд Дж. Стерлинг, Волоконная оптика. Техническое руководство. Изд. "ЛОРИ, Москва, 1998 а также Дж. Гауэр, Оптические системы связи. Москва, "Радио и связь", 1989). А в данной таблице – цифровая апертура волокна.

Таблица 9.3. Типовые параметры волокон
Тип волокна ядра [мкм] клэдинга NAМаксимальное затухание [дб/км]Полоса пропускания [МГц/км]
65079085013001550
Одномодовое3,780(125)10500 @ 850нм

6 дисп./км (*)

5,080(125)2,3
9,31250,130,40,3
8,11250,170,50,25
Сглаженный индекс501250,202,40,60,5600@850нм

1500@1300нм

62,51250,2753,00,70,3200@850нм

1000@1300нм

851250,262,80,70,4200@850нм

400@1300нм

1001400,293,51,50,9300@850нм

500@1300нм

Ступенчатый индекс2003800,276,06@850нм
3004400,276,06@850нм
PCS2003500,31020@790нм
Пластик4855000,52405@680нм
7357500,5230
98010000,5220
* Дисперсия на нанометр ширины источника.

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

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

Схема оптического разъема


Рис. 9.6.  Схема оптического разъема

Если длина волокна должна быть значительной из-за расстояния, которое нужно перекрыть, а потребителей по дороге нет, приходится ставить промежуточные усилители сигнала (см. рис. 9.7, присутствие ЭВМ необязательно).

Промежуточный волоконный усилитель


Рис. 9.7.  Промежуточный волоконный усилитель

С использованием оптических волокон можно создавать не только кольцевые структуры. Возможно построение фрагмента сети, по характеру связей эквивалентного кабельному сегменту или хабу. Схема такого фрагмента сети представлена на рис. 9.8 (пассивный хаб-концентратор). Базовым элементом этой субсети является прозрачный цилиндр, на один из торцов которого подключаются выходные волокна всех передатчиков интерфейсов устройств, составляющих субсеть. Сигнал с другого торца через волокна поступает на вход фото приемников интерфейсов. Таким образом, сигнал, переданный одним из интерфейсов, поступает на вход всех остальных интерфейсов, подключенных к этой субсети. При этом потери света составляют 2С + S + 10*log(N), где С — потери в разъеме, S — потери в пассивном разветвителе, а N — число оптических каналов ( N может достигать 64). Современные микросхемы приемопередатчиков (корпус DIP) имеют встроенные разъемы для оптического кабеля (62,5/125мкм или 10/125 мкм). Некоторые из них (например, ODL 200 AT&T) способны осуществлять переключение на обходной оптический путь (bypass) при отключении питания.

Схема пассивного оптоволоконного хаба (разветвителя)


Рис. 9.8.  Схема пассивного оптоволоконного хаба (разветвителя)

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

В последнее время заметного удешевления оптических каналов удалось достичь за счет мультиплексирования с делением по длине волны. За счет этой техники стало возможно в 16-32 раза увеличить широкополосность канала из расчета на одно волокно. Схема мультиплексирования показана на рис. 9.9. На входе канала сигналы с помощью призмы объединяются в одно общее волокно. На выходе с помощью аналогичной призмы эти сигналы разделяются. Число световых потоков на входе и выходе может достигать 64 и более.

Мультиплексирование с делением по длине волны в оптическом волокне


Рис. 9.9.  Мультиплексирование с делением по длине волны в оптическом волокне

9.1. Беспроводные оптические каналы

Для стационарных каналов оптоволоконный кабель не имеет конкурентов. Но при формировании каналов в городе, где требуется лицензия на прокладку и разрешение для использования канализации, все становится не так просто. При расстояниях до 1-5 км во многих случаях становятся привлекательны каналы с открытым лазерным лучом. Ниже приведена таблица 9.3.1, где сравниваются параметры различных беспроводных систем.

Таблица 9.3.1. (GBL – Communication by light GmbH http://www.cbl.ru)
Беспроводные телекоммуникационные системы
Широкополосные системы (802.11; 802.16)Оптические каналыРадиорелейные системы
Скорость передачиНесколько Мбит/c 155 Мбит/cДо 155 Мбит/c
Максимальное расстояниеНесколько км 2 км 50 км
Защита от прослушиваниявысокаяКрайне высокаяОчень высокая
Проблемы интерференцииимеютсяотсутствуютмалые
Интерфейсы10/100 MbpsEthernetE1, волоконный стандарт, FE, GEE1, STM-1 Eth, FE
Точность настройкималаяОчень высокаясредняя
Разрешение на применениеЛицензия не требуетсяЛицензия не требуетсяНужна лицензия PTT
Относительная стоимость 5200 евро 6000 евро 26000 евро

Пример характеристики приемопередающего оборудования. Таблица 9.3.2.

Таблица 9.3.2.
LED-LINK 300LaserLink 4E1/300
Рекомендуемое расстояние [m]< 300< 300
Полоса пропускания [Mbps]2-434*2,048
BER 10-9 10-6
ПередатчикIP-LEDIP-LED
Передаваемая мощность [мВт]50/6050/60
Расходимость луча [мрад]< 10< 10
Динамический диапазон [дБ]>30 (1:1000)>40 (1:10000)
Сетевой интерфейсМультимодовое волокно4*E1, G.703
Диаметр волокна [мкм]50-60/120-
Длина волны (RX) [нм]780..900-
Длина волны (TX) [нм]850-
Рабочая температура 0C-20ч+50-20ч+50

В качестве принимающего устройства используются PIN.диоды или лавинные фотодиоды (APD). Таблица 9.3.3. VCSEL (Vertical Cavity Emitting Laser) – излучающий лазер с вертикальным резонатором. Вышеназванные лазеры (CBL – Мюнстер, ФРГ) относятся к классу 1М (безопасны для глаз).

Таблица 9.3.3.
AirLaser IP100AirLaser IP1000
Максимальная дальность [м]20001000
Скорость передачи [Мбит/c]1251250
Передатчик2/4 VCSEL4 VCSEL
Мощность [мВт]2/4*7,54*7,5
Апертура [см2]2/4*28,254*28,25
Расходимость луча [мрад]2
Динамический диапазон [дВ]3630
ПриемникPIN/APDAPD
Чувствительность [дБм]-33/-43-33
Длина волны [нм]1300SX:850, LX:1300
Стандарт100BaseFX (IEEE 802.3u)1000BaseSX/LX (IEEE802.3z)
Рабочая температура [0 C](-25 +50)(-25 +50)
Потребляемая мощность [Вт]2735

На рис. 9.10 показана зависимость вероятности отказов канала изза погодных условий (снег – сильный дождь) в Германии на основе 1000 инсталляций (доступность канала и число минут неработоспособности за год). Если требуется 100% эффективность, рекомендуется использовать резервные широкополосные каналы или ISDN.

Зависимость вероятности отказа канала от расстояния в условиях плохой погоды


Рис. 9.10.  Зависимость вероятности отказа канала от расстояния в условиях плохой погоды

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



Рис. 9.11. 

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

По этой причине, а также из-за поглощения луча дождем и туманом, каналы связи с открытым лазерным пучком широкого применения не находят. Но иногда из-за отсутствия нужных кабельных каналов, или из-за возражений телефонных компаний, открытый луч может оказаться полезным для организации связи между не слишком удаленными зданиями. Открытый луч предоставляет достаточно высокий уровень безопасности, так как для перехвата сообщений нужно "дотянуться" до пучка. Да и обнаружить инфракрасный луч без специальных средств не так легко. Проектируя такие каналы связи надо учитывать ослабление сигнала [дБ], связанное с геометрией пучка:

где — угол расхождения в радианах, R – расстояние передачи в метрах, dвх – диаметр входного окна в метрах. Необходимо также принимать во внимание ослабление, связанное с поглощением и рассеянием:

где – ослабление в децибелах на километр, — длина волны излучения в микронах, S – дальность видимости [км]. Надо сказать, что дальность и надежность передачи в этом случае сильно зависит от погодных условий, в чем можно убедиться на рис. 9.12.

Зависимость ослабления лазерного сигнала лазерного луча в зависимости от состояния атмосферы


Рис. 9.12.  Зависимость ослабления лазерного сигнала лазерного луча в зависимости от состояния атмосферы

Главным преимуществом варианта с открытым лазерным лучом является отсутствие необходимости лицензирования или получения специальных разрешений для прокладки кабеля, в условиях РФ этим обстоятельством не следует пренебрегать.

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

Но земная атмосфера является плохой средой для распространения света. По этой причине только разработка кремниевых волокон с низким коэффициентом поглощения в инфракрасном диапазоне (< 0,2 дБ/км) сделала возможным широкое распространение оптоволоконных каналов связи. Укладывается ~1000км оптоволоконного кабеля в день. В настоящее время каналы обычно имеют пропускную способность ~1-100 Гбит/c. В ближайшие годы следует ожидать увеличения быстродействия таких устройств в 10-100 раз. Учитывая, что

, где — скорость света, — частота, а — длина волны, для наиболее популярного диапазона и , мы имеем .

Телефонные компании шаг за шагом переходят со скрученных пар на оптические волокна, предлагая широкополосные услуги SMDS и B-ISDN (ATM).

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

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

Но это не означает, что спутниковая связь не имеет перспективы, у нее имеется несколько ниш, где она имеет неоспоримые преимущества.

  1. Представим себе одинокий остров, где размещена метеорологическая или геофизическая станция. Прокладывать туда кабель по дну моря совершенно не выгодно с экономической точки зрения.
  2. Мобильная телефония, которая стала достоянием десятков миллионов человек, вошла в привычку, и люди не хотят терять связь со своими близкими или деловыми партнерами ни на борту лайнера, ни за рулем автомобиля на пустынной автостраде. Здесь спутниковый вариант также трудно заменим.
  3. Преимущество широковещательности создает еще одну нишу для этого вида связи. Трансляция биржевых новостей или курса акций в реальном масштабе времени сразу на целые континенты делает спутниковый вариант привлекательным.
  4. Не следует упускать из виду и военные приложения, где оптоволоконика не всегда применима, а иногда и неприменима вовсе.
  5. Оптоволоконные системы связи в городе часто могут предоставить индивидуальному пользователю только определенную полосу. Спутниковый канал может быть смонтирован быстро и дать пользователю, то, что ему нужно.

Проводные, радио и оптоволоконные каналы образуют физический уровень транспортировки данных (L1). Далее пойдет речь о следующем уровне (L2), к которому относятся Ethernet, ISDN, ATM, Frame Relay и многие другие. Среди них одно из почетных мест занимает протокол точка-точка PPP.

9.2. Протокол PPP

Протокол PPP (Point-to-Point Protocol; RFC-2716, -2701, -2688, -2687, -2686, -2615, -2516, -2509, -2508, -2507, -2484, -2472, -2433, -2420, -2419, -2364, -2363, -2290, -2284, -2153, -2125, -2097, -2043, -1994, -1993, -1990, -1989, -1979, -1978, -1977, -1976, -1975, -1974, -1973, -1969, -1968, -1967, -1963, -1962, -1915, -1877, -1841, -1764, -1763, -1762, -1663, -1662, -1661, -1638, -1619, -1618, -1598, -1570, -1552, -1378, -1377, -1334, -1332, -1331, и STD-51, смотри также http://www.spitbrook.destek.com:81/pptp.txt) предназначен для передачи мультипротокольных дейтограмм от одного узла к другому. Сам по себе список RFC, приведенный выше, впечатляющ. Он говорит о том, что данный протокол относится к числу наиболее важных и широко используемых. Это и понятно: большинство региональных сетей строится с использованием соединений точка-точка. PPP поддерживает, как асинхронный режим с 8 битами данных без бита четности (согласуется со свойствами последовательного интерфейса, имеющегося практически на всех ЭВМ), так и побитовый синхронный режим. Протокол содержит в себе три составные части:

Протокол управления каналом LCP (Link Control Protocol) является частью PPP. Идеология NCP (Network Control Protocol) реализована и в протоколе TCP. Каждый кадр PPP начинается и завершается флагом 0x7E. За стартовым флагом-октетом следует байт адреса, который всегда равен 0xFF. Формат кадра PPP представлен на рисунке 9.13. Кадр PPP может содержать только целое число байт. При инкапсуляции других пакетов в PPP используется бит-ориентированный протокол HDLC (High-level Data Link Control).

Формат кадра в протоколе PPP


Рис. 9.13.  Формат кадра в протоколе PPP

Поле адрес всегда содержит байт 0xff (смотри описание HDLC). Это указывает на то, что все станции должны принять этот кадр, и исключает необходимость выделения каких-то специальных адресов. Байт управления всегда равен 0x03, что указывает на ненумерованный тип кадра. По умолчанию кадры PPP передаются в режиме без установления соединения. Если требуется надежная доставка, используется версия, описанная в RFC-1663. Двухоктетное поле протокол сходно по функции с полем тип в кадре Ethernet и определяет то, как следует интерпретировать информационное поле (см. табл. 9.4). Значение 0x0021 этого поля говорит о том, что последующее информационное поле содержит в себе IP-дейтограмму. Поле CRC (Cyclic Redundancy Check) представляет собой циклическую контрольную сумму, предназначенную для выявления ошибок при транспортировке PPP -кадра. Применение флагов-ограничителей кадра (0x7E) создает определенные проблемы, — эти байты не могут присутствовать в информационном поле. В синхронном режиме эта проблема решается на аппаратном уровне. При работе в асинхронном режиме для этого используется специальный ESC-символ, равный 0x7D. Когда этот esc-символ встречается в информационном поле, шестой бит в следующем за ним байте инвертируется. Так байт 0x7E будет преобразован в последовательность 0x7D, 0x5E, а байт 0x7D — в два байта 0x7D, 0x5D. Все символы с кодами меньше 0x20 также преобразуются в ESC-последовательности. Например, 0x07 будет преобразован в 0x7D, 0x27. Это необходимо делать, так как управляющие символы могут оказать непредсказуемые воздействия на режим работы драйверов или модемов, используемых в канале. Протокол PPP допускает мультипротокольность и динамическое определение IP-адресов партнеров.

Таблица 9.4. Стандартизованные DLL-номера протоколов для PPP (поле протокол)
DLL-код протокола (шестнадцатеричный)Наименование протокола
0001Протокол заполнения (padding)
0003-001FЗарезервировано
0021IP-протокол
0023Сетевой уровень OSI
0025Xerox NS IDP
0027Decnet фаза IV
0029Appletalk
002BNovell IPX
002DКомпрессированный TCP/IP протокол Ван Джекобсона
002FНе компрессированный TCP/IP протокол Ван Джекобсона
0031Протокол PDU мостов
0033Потоковый протокол (ST-II)
0035Banyan Vines
0039Appletalk EDDP
003BAppletalk Smartbuffered
003DMulti-link
003FКадры Netbios
0041Cisco Systems
0043Ascom Timeplex
0047Удаленная локальная сеть DCA
0049Транспортный протокол для последовательных данных ( PPP -SDTP)
004BSNA через 802.2
004DSNA
004FСжатие заголовков IPv6
007DЗарезервировано (Управл. ESC) [RFC1661]
00FD1-ый вариант компрессии
0201Пакеты отклика 802.1d
0203IBM BPDU базовой маршрутизации
8021Управляющий протокол Интернет (IPCP)
8023Управляющий протокол сетевого уровня OSI
8025Управляющий протокол Xerox NS IDP
8027Управляющий протокол Decnet фаза VI
8029Управляющий протокол Appletalk
802BУправляющий протокол Novell IPX
8031Бридж NCP
8033Потоковый управляющий протокол
8035Управляющий протокол Banyan Vines
803DМногосвязный управляющий протокол
803FУправляющий протокол кадров NetBIOS
8041Управляющий протокол Cisco
8043Ascom Timeplex
8045Управляющий протокол Fujitsu LBLB
8047Управляющий протокол удаленных локальных сетей DCA (RLNCP)
8049Управляющий протокол передачи последовательных данных ( PPP -SDCP)
Управляющий протокол для передачи SNA поверх 802.2
804DУправляющий протокол SNA
804FУправляющий протокол сжатия заголовков IPv6
80FDУправляющий протокол сжатия
C021Канальный управляющий протокол
C023Протокол аутентификации паролей
C025Сообщение о состоянии канала
C081Управляющий протокол для работы с контейнерами

Значения кодов поля протокола от 0xxx до 3xxx идентифицируют протоколы сетевого уровня, а значения в интервале 8xxx-Bxxx говорят о том, что протокол соответствует NCP. Коды из диапазона 4xxx-7xxx используются для протоколов с низким уровнем трафика, а коды от Сxxx до Exxx соответствуют управляющим протоколам (например, LCP).

Протокол PPP при установлении соединения предусматривает процедуру аутентификации, которая является опционной (смотри рис. 9.14.). После перехода на сетевой уровень вызывается NCP-протокол, который выполняет необходимую конфигурацию канала.

Алгоритм установления соединения PPP


Рис. 9.14.  Алгоритм установления соединения PPP

При обнаружении несущей или по инициативе клиента система может попытаться установить соединение. В случае успеха система переходит в фазу аутентификации. Если же и фаза аутентификации завершается благополучно, система выполняет подключение к сети (IP, IPX, Appletalk и т.д.), настройка сетевого уровня производится в рамках протокола NCP. Во всех остальных случаях происходит возврат в исходное состояние. Процедура закрытия соединения осуществляется протоколом LCP.

В поле данных PPP -пакета может быть вложен один LCP-пакет, в этом случае в поле протокол должен быть записан код 0xC021 (Link Control Protocol). LCP-протокол служит для установления соединения путем обмена конфигурационными пакетами. По завершении этого обмена система переходит в фазу аутентификации (рис. 9.14). Формат LCP-пакета показан на рис. 9.15.

Формат заголовка LCP-пакета


Рис. 9.15.  Формат заголовка LCP-пакета

Вслед за заголовком следует поле данных. Поле код (1 октет) идентифицирует модификацию LCP-пакета. Если получен пакет с неизвестным полем код, посылается пакет-отклик "отклонение кода". Поле идентификатор (1 октет) служит для нахождения соответствия между запросами и откликами. Если получен пакет с неправильным идентификатором, он просто уничтожается. Двухоктетное поле длина определяет размер LCP-пакета, включая размер заголовка. Октеты принятого пакета за пределами, заданными полем длина, игнорируются.

В качестве примера можно рассмотреть процедуру подключения персональной ЭВМ к серверу через модем. После того как модем маршрутизатора ответит на вызов модема-клиента и установит физическое соединение, ЭВМ посылает последовательность LCP-пакетов, вложенных в поля данных одного или нескольких PPP -кадров. Это позволяет выбрать необходимые параметры PPP. По завершении этой процедуры посылается последовательность NCP-пакетов, которые конфигурируют сетевой уровень. Вероятно, ЭВМ захочет работать со стеком протоколов TCP/IP и по этой причине нуждается в IP-адресе. Если провайдер имеет N IP-адресов в резерве, он может подключить одновременно N ЭВМ. Присвоение IP-адреса осуществляется также в рамках NCP-протокола. После этого ЭВМ становится узлом Интернет. Завершение сессии и освобождение IP-адреса выполняется также через NCP-протокол. Разрыв соединения осуществляет протокол LCP.

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

Таблица 9.4.1.
Значение кода поля типаНазначение опции
0Зарезервировано
1Maximum-Receive-Unit (указывает максимальный размер блока данных, который может быть принят)
3Authentication-Protocol (протокол аутентификации)
4Quality-Protocol (протокол качества обслуживания)
5Magic-Number (магическое число, опция служит для выявления каналов с петлями обратной связи)
6Protocol-Field-Compression (сжатие протокольных полей)
7Address-and-Control-Field-Compression

Существует три класса LCP-пакетов.

  1. Пакеты конфигурации канала, которые используются при формировании виртуального канала (Configure-Request, Configure-Ack, Configure-Nak и Configure-Reject).
  2. Пакеты закрытия канала (Terminate-Request и Terminate-Ack).
  3. Пакеты поддержания, которые служат для управления и отладки (Code-Reject, Protocol-Reject, Echo-Request, Echo-Reply и Discard-Request).

Аналогом LCP является протокол IPCP (IP Control Protocol). В поле код протокола в этом случае записывается 8021 (RFC-1332). Формат пакета IPCP показан на рис. 9.16

Формат пакета IPCP. Младшие биты слева.


Рис. 9.16.  Формат пакета IPCP. Младшие биты слева.

Поле тип содержит 2, в поле длина заносится число байт в пакете ( ). В поле протокол сжатия IP заносится код алгоритма сжатия (0х02D — в случае алгоритма Ван Джекобсона). Поле данные может содержать нуль или более октетов. Конфигурационный запрос может потребовать присылки (присвоения) IP-адреса. Для решения этой задачи предусмотрена опция IPCP-пакета, где поле тип =3, длина =6, а последующие 4 байта выделены для IP-адреса, куда отправитель должен его записать. Если туда записаны нули, это говорит о том, что отправитель запрашивает свой IP-адрес.

Протоколы PPP, LCP (Link Control Protocol), CCP (Compression Control Protocol; RFC-1962, -1967) и некоторые другие управляющие протоколы содержат 8-битовые поля код. Значения этих кодов приведены в таблице 9.5.

Таблица 9.5. Значения поля код LCP-заголовка
КодТип пакета
1Запрос конфигурацииConfigure-Request
2Подтверждение конфигурацииConfigure-Ack
3Неподтверждение конфигурацииConfigure-Nak
4Отклонение конфигурацииConfigure-Reject
5Запрос завершенияTerminate-Request
6Подтверждение завершенияTerminate-Ack
7Отклонение кодаCode-Reject
8*Отклонение протоколаProtocol-Reject
9*Запрос откликаEcho-Request
10*Эхо-откликEcho-Reply
11*Запрос отменыDiscard-Request
12*Идентификация
13*Остающееся время
14**Запрос сброса
15**Отклик на запрос сброса
*) Только LCP; **) Только CCP

Для случая запроса Discard-Request между полями длина и данные помещается 4-байтовое поле Magic-Number (магическое число).

Протокол PPP многолик, он способен поддерживать и многоканальные соединения (RFC-1990). Это бывает полезно при работе через ISDN, X.25, Frame Relay или при необходимости расширить пропускную способность за счет подключения нескольких параллельных каналов (MP – MultiLink Protocol).

Так как я не сталкивался со случаями, когда пропускной способности было вполне достаточно, MP модификацию PPP -протокола следует считать крайне важной.

При этом одной из проблем является распределение пакетов по каналам и последующее их упорядочение принимающей стороной. Особую осторожность в этом случае следует соблюдать при использовании заполнителей. В этом режиме по виртуальному каналу MultiLink запрещается посылать конфигурационные LCP-пакеты Configure-Request, -Reject, -Ack, -Nak, Terminate-Request или -Ack. Принимающая сторона в случае их обнаружения должна их игнорировать. Применение других LCP-пакетов допускается (например, Code-Reject, Protocol-Reject, Echo-Request, Echo-Reply и Discard-Request). Формат MP-пакета представлен на рис. 9.17.

Формат MР-пакета


Рис. 9.17.  Формат MР-пакета

Поля PID - идентификатор протокола. Субполе B (Beginning) - бит фрагмента =1 для первого фрагмента PPP и =0 для всех последующих фрагментов. Субполе E (Ending) — бит фрагмента =1 для последнего фрагмента PPP и =0 для всех прочих фрагментов. Поле номер по порядку имеет длину 24 бита. Существует модификация пакета с укороченным кодом (12 бит) номера по порядку. При этом к этому полю отходят 4 нулевые бита после BE00. Выбор длины этого поля осуществляется протоколом LCP. Значение поля увеличивается на 1 при посылке очередного фрагмента. Для вышерасположенных уровней совокупность совместно используемых каналов выглядит как один виртуальный канал.

При передаче пакетов по каналу Multilink инкапсуляция производится согласно следующим правилам, которые задаются вручную:

Для предварительно фрагментированных пакетов запрещено дополнение нулями или использование каких-либо иных заполнителей. Рассмотрим пример Multilink-соединения, приведенный на рис. 9.18. Канал 1 между двумя системами согласуется сетевыми уровнями NL1, NL2 и MP. Затем эти две системы согласуют с MP канал 2. Кадры, полученные каналом 1, демультиплексируются на канальном уровне согласно сетевому протокольному идентификатору PPP и могут быть посланы NL1, NL2 или MP. Канал 2 примет кадры со всеми сетевыми протокольными идентификаторами, с которыми принимает их канал 1. Кадры, полученные MP, позднее демультиплексируются на сетевом уровне согласно протокольному идентификатору PPP и посылаются NL1 или NL2. Любые кадры, полученные MP для других протоколов сетевого уровня, отбрасываются с помощью стандартного протокольного механизма (Reject).

Пример Multilink-конфигурации


Рис. 9.18.  Пример Multilink-конфигурации

Так как межсетевые связи часто используют последовательные каналы (выделенные линии, радиомодемы и пр.), протокол PPP распространен достаточно широко. Он служит и для создания межсетевых туннелей (протокол PPTP — Point to Point Tunneling Protocol; RFC-2637). Протокол PPTP использует MTU=1532, номер порта 5678 и номер версии 0x0100, пакеты данных здесь транспортируются с использованием шифрования и протокола инкапсуляции GRE V2 (см. сноску в начале раздела). Этот протокол поддерживает связь поверх других протоколов, например, TCP/IP или NetBEUI.

9.3. Протокол туннелей на сетевом уровне L2 (L2TP)

Важным дополнением Протоколов РРР и РРТР является протокол L2TP (Layer Two Tunneling Protocol, более подробное описание смотри http://book.itep.ru/4/44/l2pr.htm). Протокол L2TP расширяет модель PPP, позволяя размещение терминальных точек L2 и PPP в различных физических устройствах, подключенных к сети с коммутацией пакетов. В L2TP пользователь имеет соединение L2