УДК 621.313.684
ПРИМЕНЕНИЕ НЕСЛУЧАЙНЫХ СТИРАЮЩИХ КОДОВ В IP ТЕЛЕВЕЩАНИИ
К.В. Шинкаренко, А.М. Кориков*
Отдел проблем информатизации ТНЦ СО РАН, г. Томск *Томский государственный университет систем управления и радиоэлектроники E-mail: shinkarenko_k@mail.ru, korikov@asu.tusur.ru
Предложена архитектура системы IPTV с использованием неслучайных стирающих кодов, а также способ использования неслучайных стирающих кодов на уровне транспортного потока MPEG-2 с учетом приоритета транспортных пакетов. Использование неслучайных стирающих кодов призвано повысить надежность передачи мультимедиа данных в системах IPTV.
Ключевые слова:
Цифровое телевещание, архитектура системы телевещания, стандарты телевещания, неслучайные стирающие коды, транспортный поток MPEG-2.
Введение
Помехоустойчивое кодирование является важнейшей составной частью любой цифровой системы связи. Помехоустойчивое кодирование повышает достоверность передаваемых данных путем внесения систематической избыточности согласно некоторому математическому закону (коду). Теория помехоустойчивого кодирования была основана в середине XX в. и с тех пор превратилась в хорошо проработанную, математически стройную отрасль науки. Достижения теории помехоустойчивого кодирования нашли свое применение в системах цифрового телевидения. Так, для систем спутникового цифрового телевидения используются широко известные коды Рида-Соломона и свер-точные коды [1].
В наши дни в сфере технологий цифрового телевидения происходят значительные изменения. Все большее количество телезрителей предпочитают смотреть телепередачи, транслируемые по Интернету, так называемое IPTV (Internet Protocol Television). Если еще десять лет назад под «телевизионным приемником» однозначно понимался телевизор, то в наши дни в этой роли все чаще оказывается персональный компьютер, для которого источником цифрового телесигнала являются сети IP. По сравнению с системами спутникового и наземного цифрового телевещания, IPTV предлагает телезрителю ряд дополнительных удобств, таких как «видео по запросу», пауза в трансляции и последующий просмотр с места остановки (time-shift), «виртуальный видеомагнитофон» (запись передачи, идущей в определенное время) и т. д. Количество пользователей IPTV в 2005 г. составляло 200 млн человек, и ожидается, что их количество увеличится до 400 млн человек в 2010 г. [2]. Широкое распространение систем IPTV стало возможным благодаря двум факторам: существенному улучшению технологий линий связи и, как следствие, расширению доступной пользователю полосы пропускания, а также разработке и внедрению высокоэффективных стандартов компрессии мультимедиа данных, таких как стандарт компрессии видео H.264.
Одной из наиболее острых актуальных проблем в IPTV является проблема потерь пакетов мультимедиа данных при потоковом телевещании. Классические блоковые и сверточные помехоустойчивые коды оказались не способны решить названную проблему. Как было показано в работе [3], для решения проблемы потери пакетов в IPTV перспективным представляется применение помехоустойчивых кодов нового класса - так называемых стирающих кодов. Однако, как было выяснено в ходе анализа характеристик стирающих кодов, не все их свойства удовлетворяют задачам и требованиям, предъявляемым системами IPTV к помехоустойчивым кодам.
В данной статье рассматривается применение новых неслучайных стирающих кодов (НССК) для потокового вещания цифровых мультимедиа данных в IPTV. Коды НССК призваны уменьшить объем потерь при телевещании по сетям IP, а также уменьшить влияние потерь пакетов на общее аудиовизуальное качество восприятия телепрограмм зрителем. Также предлагается комплексная архитектура системы IPTV c использованием кодов НССК.
Система IPTV с использованием НССК
Архитектура системы IPTV с использованием НССК кодера представлена на рис. 1.
Поясним наш выбор «гибридного» модуля мультиплексора транспортного потока MPEG-2 -кодера НССК. Транспортный поток MPEG-2 (MPEG-2 Transport Stream [4], MPEG-2 TS) был выбран в качестве уровня интеграции с НССК, прежде всего, по той причине, что фактически MPEG-2 TS является наиболее распространенным форматом, используемым в профессиональных системах IPTV во всем мире. В качестве возможного варианта рассматривался также вариант кодирования НССК на уровне содержимого протоколов UDP/RTP, но был отвергнут по следующим причинам: • размер UDP пакета, MTU (Maximum Transfer Unit), может иметь одно значение для сетевой карты на одной рабочей станции, но иное на
Рис. 1. Архитектура системы IPTV с использованием НССК
другой, что создает трудности с выбором размера пакетов для кодирования стирающими кодами. Размер же TS пакета зафиксирован стандартом и составляет 188 байт [4];
• типичное значение MTU составляет порядка 1500 байт. Очевидно, что для стирающих кодов чем больше размер исходного пакета, тем больше общая задержка передатчик - приемник (end-to-end delay) и затраты памяти на буферизацию. Занижать количество исходных пакетов K для кодирования нежелательно, т. к. стирающие коды тем эффективнее, чем больше K [5-7]. Искусственно «резать» пакеты на более мелкие также не следует, поскольку существует необходимость нумерации кодовых символов, что влечет уменьшение доли полезной нагрузки в пакете. Для кодирования НССК длина транспортного пакета является хорошим балансом между уменьшением полезной нагрузки и расходами на буферизацию;
• стандарт вещания мультимедиа данных по UDP/RTP [8] допускает вещание MPEG-2 TS в качестве переносимых данных. Поэтому предлагаемая архитектура не сужает возможностей и не нарушает общности концепции архитектуры систем IPTV. Решение же «НССК на уровне UDP/RTP» было бы лишено общности, и повлекло бы необходимость реализации в компоненте сетевого вещания модулей синтаксического разбора, что для них, как правило, несвойственно. Причем модулей синтаксического разбора потоков двух типов - MPEG-2 TS для сохранения общности и элементарных потоков, в случае их прямого вещания [8].
В предлагаемой архитектуре важнейшую роль, помимо кодера НССК, играет мультиплексор, осуществляющий синтаксический разбор входящих аудио и видео потоков, собственно генерацию MPEG-2 TS, а также обеспечение дополнительной служебной информации о содержимом каждого пакета в MPEG-2 TS для кодера НССК, что является отличительной особенностью данной архитектуры.
Транспортные пакеты содержат данные различных типов:
• служебную информацию, необходимую для демультиплексирования потока: PAT (Program Association Table) и PMT (Program Map Table) [4]. Пакеты, несущие данную информацию, дублируются в потоке с периодичностью не реже 100 мс;
• аудиоданные;
• видеоданные;
• пакеты-заполнители для выравнивания общего битрейта транспортного потока.
Суть предлагаемой идеи применения НССК в IPTV заключается в следующем.
Предлагается сортировать с заданием приоритета исходных TS пакетов. Наивысший приоритет имеют пакеты с аудио- и опорными (/-кадры), затем с P- и, наконец, ^-кадрами.
Пакеты-заполнители исключить из кодирования для экономии полосы пропускания. Осуществлять выравнивание битрейта транспортного потока на стороне приемника декодером НССК, заменяя все пакеты, которые не удалось восстановить, пакетами-заполнителями.
Пакеты со служебной информацией не кодируются НССК. Поскольку стандарт MPEG-2 TS предусматривает передачу дополнительных данных через дескрипторы, предлагается использовать этот способ для передачи контрольных параметров НССК от кодера декодеру. В таком случае будет возможность для старта декодирования при подключении к вещанию в произвольный момент времени с задержкой не более 100 мс.
Сортировкой пакетов по приоритетам занимается модуль приоретизации TS пакетов в НССК кодере (рис. 1). Он же занимается буферизацией входящих пакетов. После того, как K пакетов накоплено (без учета служебных пакетов), стартует алгоритм кодирования НССК. При этом важнейшим является то, что кодирование осуществляется с учетом приоритета пакетов. Именно эта отличи-
тельная особенность данной системы призвана повысить эффективность помехоустойчивого кодирования для улучшения качества восприятия IPTV.
Для кодовых пакетов со степенью 1 выбираются TS пакеты с наивысшим приоритетом, для кодовых пакетов со степенью 2 - с приоритетом 2, и т. д., до тех пор, пока все исходные пакеты не будут вовлечены в процесс кодирования, согласно алгоритму кодирования НССК, приведенному выше. В каждом наборе из K исходных пакетов может оказаться различное количество пакетов с тем или иным приоритетом, и возможен перенос пакетов как из группы с более высоким приоритетом (с вытеснением) в группу с более низким, так и наоборот. Это осуществляется кодером НССК.
До сих пор не было оговорено, каким образом осуществляется восстановление нормального порядка следования транспортных пакетов после декодирования НССК. Синтаксис MPEG-2 TS не допускает произвольного следования пакетов. Индексы исходных пакетов, выбираемых соседями для того или иного кодового пакета, задаются порождающей матрицей НССК. Порождающая матрица строится на основе параметров модифицированного робастного распределения K, c и 5 [3]. Данные параметры транслируются в MPEG-2 TS с периодичностью не реже 100 мс в дескрипторах служебных таблиц (PAT, PMT) в незакодированном виде. Получив данные параметры, декодер строит соответствующую порождающую матрицу НССК, используя тот же алгоритм ее генерации, что и кодер. Детализация этого алгоритма выходит за рамки данной статьи.
В случае потерь некоторых кодовых пакетов возникает еще одна проблема. Нужно знать индексы кодовых пакетов в порождающей матрице, так как из-за потерь простое выстраивание кодовых пакетов в порядке их приема в порождающей матрице НССК будет ошибочным.
Для решения этой задачи предлагается оригинальный метод индексации кодовых пакетов с использованием возможностей расширения MPEG-2 Т8, так называемые поля адаптации. Структура заголовка транспортного пакета приведена на рис. 2. Метод реализуется перемежителем (рис. 1).
Индексация транспортных пакетов
при кодировании НССК
Суть индексации в том, чтобы пронумеровать кодовые пакеты (в рамках кодирования только одной исходной последовательности из К пакетов) согласно их индексам в порождающей матрице НССК. Следует учесть, что нумеровать придется не транспортные пакеты, а результат операции сложения по модулю два над ними. И в каждом транспортном пакете (помимо пакетов служебных таблиц) нужно предусмотреть некоторое количество байт под запись индекса кодового пакета уже после Т8 пакетизации. Естественно, нельзя нарушить синтаксис транспортного пакета. В качестве варианта решения рассматривалась возможность использовать поле адаптации заголовка транспортного пакета (рис. 2).
В поле адаптации могут быть записаны, в том числе, произвольные приватные данные. Однако
42 42
Рис. 2. Структура заголовка транспортного пакета MPEG-2
для того чтобы записать двухбайтный индекс как приватные данные, придется также записать байт флагов, байт общей длины поля адаптации, байт длины приватных данных, и только потом нужные два байта индекса. В сумме это 5 байт, что составляет ~2,7 % от общей полезной нагрузки транспортного пакета (184 байта). Это нерациональная трата пропускной способности канала под служебную информацию.
Поэтому было разработано следующее оригинальное решение. Мультиплексор MPEG-2 ТО на этапе пакетизации вместо 5 байт пишет в поле адаптации всего два байта: однобайтное значение общей длины поля адаптации, равное 1, а также байт флагов поля адаптации (значение 0). Переме-житель, имея информацию об этом, записывает в эти два байта поля адаптации индекс кодового пакета. Приемник, прочитав индекс и поместив кодовый пакет в нужную ячейку порождающей матрицы, перезаписывает эти два байта единицей и нулем, восстанавливая синтаксис поля адаптации транспортного пакета для соответствия стандарту. Этот прием дает возможность индексировать пакеты с затратой всего 1 % полезной нагрузки.
Перемежитель решает также следующие задачи:
• своевременную отправку пакетов со служебными таблицами через равные интервалы времени;
• перемежение кодовых пакетов с различными степенями. В один UDP пакет при типичном размере МТи=1500 байт умещается 7 Т8 пакетов. Если происходит потеря UDP пакета, то теряются сразу 7 Т8 пакетов. Поэтому необходимо перемежать кодовые пакеты так, чтобы пакеты с одной степенью не лежали подряд в одном UDP пакете, а были равномерно распределены по потоку.
На приемной стороне производятся обратные действия: деперемежение, восстановление синтаксиса поля адаптации транспортных пакетов, декодирование НССК, демультиплексирование транспортного потока, декомпрессию видео- и аудиоданных, и, наконец, воспроизведение мультимедиа.
Заключение
Предлагаемые помехоустойчивые стирающие коды НССК обеспечивают высокую эффективность восстановления данных в случае потерь пакетов. Применение НССК в системах ^ТУ призвано улучшить качество трансляции телепрограмм. Для того, чтобы максимально полно использовать возможности НССК, необходимо разработать способ их применения в системах ^ТУ. В данной статье предлагается способ применения кодов НССК в системах ^ТУ на уровне транспортного потока. Способ не требует существенных модификаций современных систем телевещания. Предло-
женная архитектура предусматривает лишь несложную модификацию программного мультиплексора транспортного потока MPEG-2 TS, обеспечивающую дополнительную функциональность по передаче вспомогательной информации о типе содержимого генерируемых транспортных потоков.
Предложенное решение обладает следующими достоинствами:
• на основе анализа структуры потока медиадан-ных кодер НССК автоматически определяет, какие именно пакеты имеют большую важность для формирования общего аудиовизуального качества восприятия телепрограмм, обеспечивая соответствующую степень защищенности пакетов;
• архитектура системы не нарушает принципов построения систем IPTV и лишь расширяет функциональность в рамках имеющихся технических решений. При желании модули НССК могут быть легко исключены из цепочки обработки данных и восстановлена обычная конфигурация;
• предложенный метод реализуется в рамках международных стандартов, регламентирующих синтаксис потоков мультимедиа данных. Что касается модификации сторонних модулей, требуется лишь незначительная модификация мультиплексора MPEG-2 TS для осуществления адаптации (в рамках стандарта ISO), а также добавочная реализация способа сообщения типов данных транспортных пакетов мультиплексором кодеру НССК;
• абстрагированность от конкретных стандартов компрессии видео- и аудиоданных. Все стандарты, будь то MPEG-2, H.264, VC-1, MPEG Layer II Audio или AAC, или некий иной; если формат поддерживается мультиплексором, он автоматически может быть использован для вещания в системе с НССК кодированием, без дополнительных усилий на модификацию системы;
• абстрагированность от уровня взаимодействия с сетевыми устройствами. Эту работу, как и в любой системе IPTV, берет на себя компонент сетевого вещания, самостоятельно решая, какой конкретно протокол стека IP использовать, какой выставить размер MTU и прочие специфичные задачи.
К недостаткам применения НССК в системах IPTV следует отнести неизбежность буферизации относительно большого объема медиаданных как на передатчике, так и на приемнике, и, как следствие, увеличенную общую задержку передачи данных в цепи «передатчик - приемник» по сравнению с системой без НССК. Но это плата за улучшение сервиса, и на данный момент лучшие альтернативы неизвестны.
СПИСОК ЛИТЕРАТУРЫ
1. EN 300 421: «Digital Video Broadcasting (DVB); Framing structure, channel coding and modulation for 11/12 GHz satellite services». V1.1.2 (1997-08).
2. Gartner 2007 Press-releases. [Электронный ресурс]. - режим доступа: http://www.gartner.com/it/page.jsp?id=501276. - 25.09.2008.
3. Шинкаренко К.В., Кориков А.М. Помехоустойчивое кодирование мультимедиа данных в компьютерных сетях // Известия Томского политехнического университета. - 2008. - Т. 313. -№ 5. - С. 37-41.
4. ISO/IEC 13818-1: «Information technology - Generic coding of moving pictures and associated audio information: Systems». 2007.
5. Shinkarenko K.V., Vlcek K. Design of Erasure Codes for Digital Multimedia Transmitting // In Proc. of Design and Diagnostic of Electronic Circuits and Systems (DDECS08). - Bratislava, 2008. -P. 30-34.
6. Luby M. LT Codes // Proc. ofthe 43rd Annual IEEE Symp. on Foundations of Computer Science (FOCS). - 2002. - P. 271-282.
7. MacKay D.J.C. Fountain codes // IEE Proc.-Commun., 2005. -V. 152. - № 6 (December). - P. 1062-1068.
8. IETF RFC 3550: «RTP: A Transport Protocol for Real-Time Applications».
Поступила 29.09.2008 г.
УДК 681.3.06
ОПТИМИЗАЦИЯ ИСПОЛЬЗОВАНИЯ РЕСУРСОВ СВЯЗИ В НАЗЕМНОЙ МЕТЕОРОЛОГИЧЕСКОЙ НАБЛЮДАТЕЛЬНОЙ СЕТИ
В.К. Погребной, М.А. Сонькин, А.В. Погребной
Институт «Кибернетический центр» ТПУ E-mail: vk@ad.cctpu.edu.ru
Выполнен анализ нижнего звена наземной метеорологической наблюдательной сети Росгидромета с целью оптимизации использования ресурсов каналов связи. Выделеныi основные схемыi организации сбора данных от метеостанций и сформулированы математические постановки соответствующих задач оптимизации. Предложен базовый вариант постановки задачи как задачи математического программирования транспортного типа. Представлен многоканальный вариант постановки задачи и одно-канальный с возможностью подключения резервного канала. Рассмотрена стратегия последовательного и совместного выбора основного и резервного каналов. Приведен пример решения задачи при последовательном выборе каналов.
Ключевые слова:
Наземная наблюдательная сеть, метеостанция, центр сбора данных, канал связи, оптимальный план использования каналов, задача транспортного типа, задача о назначении.
Сведения о предметной области
Наземная метеорологическая наблюдательная сеть Росгидромета относится к категории технологических сетей связи и имеет иерархическую структуру. На нижнем уровне иерархической сети расположены метеостанции (МС), которые осуществляют сбор результатов метеорологических измерений и передачу их в центры сбора данных (ЦСД). Сеть строится с использованием различных технологий организации каналов связи, таких как проводные, спутниковые, радиоканалы [1].
Подсистема обеспечения связи на МС включает аппаратное (контроллер, абонентские устройства /Р-сетей, модемы, радиостанции) и программное обеспечение контроллера. Передача данных может инициироваться как со стороны МС, так и ЦСД. При отсутствии подтверждения о доставке данных контроллер повторяет попытки передачи информации в ЦСД в течение заданного интервала времени. При отсутствии подтверждения о доставке данные передаются через резервный канал.
В ЦСД устанавливается сервер, выполняющий функции сбора информации, контроля, промежу-
точного хранения и пересылки собранных метеоданных в центры обработки и хранения, расположенные на более высоком уровне иерархии. На сервере ЦСД также установлено программное средство управления контроллерами МС. Сервер проводит рассылку обновлений конфигураций, программного обеспечения, поддерживает топологию сети в актуальном состоянии, обеспечивает возможность сопряжения с автоматизированной системой передачи данных Росгидромета (АСПД).
Взаимодействие ЦСД с подключенными к нему МС разного вида показано на рис. 1. Передача информации от МС в ЦСД осуществляется с использованием следующих технологий [2]:
• ведомственная наземная сеть связи, построенная на базе протокола TCP/IP;
• сеть провайдеров Интернет-услуг;
• телефонная сеть общего пользования (аналоговые модемы);
• GSM- сеть связи (GSM- модем, GPRS);
• спутниковые системы связи;
• радиоканалы в режиме пакетной передачи данных.