Экспериментальное исследование качества передачи видео в древовидной P2P сети с алгоритмом Arq прикладного уровня

Экспериментальное исследование качества передачи видео в древовидной P2P сети с алгоритмом ARQ прикладного уровня

Ключевые слова: прикладной уровень, Р2Р,

ОоЕ, коэффициент потери фрагментов, пачка потерянных фрагментов, модель Гильберта.

Представлен разработанный алгоритм для проведения P2P трансляции потоковых данных реального времени и экспериментально оценена его эффективность. Для снижения потери фрагментов в P2P сети используется структура многослойного дерева и оптимизированный алгоритм перезапроса ARQ прикладного уровня. Алгоритм ARQ обеспечивает возможность перезапроса потерянных фрагментов информации с узлов-предков. Каждый узел накапливает в буфере принятые фрагменты и может определить их потерю. Если один из узлов-предков отключился от сети или имеет высокий уровень потерь в канале связи, алгоритм ARQ может запросить потерянные фрагменты с других предков этого узла. Эффективность разработанного программного обеспечения проверена экспериментально путем передачи данных с использованием модели Гильберта для беспроводного канала связи. Эксперименты были проведены при различных значениях потери фрагментов, пачечности потерь на каждом узле и различных максимальных задержках между узлами. Средний коэффициент потери фрагментов используется для оценки способности предложенного алгоритма восстанавливать потерянные фрагменты в экспериментальной P2P сети. Каждый узел сохраняет передаваемые видео файлы после восстановления потерянных фрагментов. Для них измеряются средние значения метрик качества видео OPSNR, SSIM и NQI в качестве показателей QoE.

Васильев Д.С.,

аспирант, Кафедра "Сети связи и телекоммуникационные системы",

Ижевский Государственный Технический Университет имени М.Т.Калашникова, danil.s.vasiliev@gmail.com

Чунаев А.В.,

аспирант, Кафедра "Сети связи и телекоммуникационные системы"',

Ижевский Государственный Технический Университет имени М.Т.Калашникова, andrew.chunaev@mail.ru

Абилов А.В.,

доцент, к.т.н., Кафедра "Сети связи и телекоммуникационные системы",

Ижевский Государственный Технический Университет имени М.Т.Калашникова, albeii.abilov@gmail.com

Введение

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

10

пользователи должны иметь возможность просматривать видео в качестве сопоставимом с качеством в модели клиент-сервер. Существуют разные подходы к передаче потоковых данных по P2P сетям, структуры сети, а также алгоритмы FEC (Forward Error Correction) и ARQ (Automatic Repeat-request) для восстановления потерь фрагментов информации при передаче. Сеть со структурой многослойного дерева (МД) подходит для осуществления потокового вещания с одним источником данных [8]. Для P2P сетей характерно то, что узлы могут непреднамеренно отключаться, создавая пачечные потери фрагментов данных Поэтому актуальной задачей является применение алгоритмов восстановления потерь фрагментов в P2P сети со структурой МД и оценка качества переданного потокового видео. [2] В работе представлены результаты экспериментального исследования этих алгоритмов, реализованных программно на языке C++.

1. Структура многослойной древовидной P2P сети

Структура МД (рис. 1) направлена на устранение двух недостатков однослойных деревьев. Во-первых, в структурах с одним деревом несколько узлов оказывались нагружены намного сильнее, чем вся остальная сеть, так как не все узлы дерева задействованы в передаче видеоконтента. Во-вторых, отключение от сети узлов, передающих видеоконтент, приводит к массовым переключениям узлов в поиске новых источников данных В МД каждый узел включён в несколько деревьев с общим источником, распространяющих взаимодополняющий видеоконтент. Это позволяет не терять весы видеоконтент при потере соединений между узлами в одном из деревьев. На рис. 1 буквой Б обозначен источник видеоконтента, буквами А В, С, Р, Е, Р — узлы сети.

Источник Б направляет видеоконтент сразу всем узлам, но фрагменты (например, каждый

Узлы сети

Рис. 1. Многослойное дерево

T-Comm #1-2014

Рис. 3. Алгоритмы обработки сообщений: а) на серверной стороне, б) на клиентской стороне

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

2. Программная реализация алгоритмов

функционирования P2P сети

Задачи источника отличаются от задач узла сети, поэтому для реализации P2P сети разработаны две отдельные программы: серверная часть (для источника) и клиентская часть (для узлов сети). Они позволяют организовать P2P сеть со структурой МД и возможностью восстановления потерянных фрагментов. С помощью программ были проведены экспериментальные исследования алгоритмов передачи видеоконтента. В качестве исходных данных вводятся: коэффициент многослойности сети К(количество деревьев); вероятность потери фрагментов на каждом узле сети р; пачечность потерь фрагментов на каждом узле сети Ь; временной интервал максимальной задержки dmax и максимальный джиттер / между каждыми двумя узлами сети. Экспериментальная сеть базируется на структуре, представленной на рис. 2, где показаны сообщения, передаваемые по протоколу UDP [3].

В данном случае каждый третий фрагмент имеет индивидуальный маршрут, каждый из которых показан сплошной, пунктирной и штрих-пунктирной прямыми линиями со стрелками на рис. 2а. Управляющие сообщения показаны рис. 2б сплошными линиями. Процесс трансляции потокового видео по сети выглядит следующим образом: видеопоток создаётся мультимедийным медиакомбайном У1.С и затем захватывается серверной частью разработанной программы; этот видеопоток передаётся первым узлам, которые направляют его узлам-потом-кам. Каждый узел связан с источником по "0 протоколу. Серверная часть распределяет видеопоток на первые узлы, а клиентская часть

а) 6)

Рйс. 2. Структура МД (Кт1=3) и передаваемые в ней сообщения: а) с видеоконтеном, б) с управляющей информацией

Т-Сотт #1-2014

принимает видепоток и передаёт его дальше по сети .

Качество обслуживания QoS (Quality of Service) определяется коэффициентом потери фрагментов CLR (Chunk Loss Rate). Значение CLR показывает долю потерянных фрагментов в заданный интервал времени. Передача данных по проводной локальной сети обычно происходит без потери фрагментов, в то время, как P2P сеть, являясь по сути прикладной сетью, может быть развёрнута в глобальной сети Интернет, включающей участки беспроводной сети. Передача видеоконтента по беспроводной сети в большей степени подвержена потерям фрагментов по сравнению с проводной сетью [1]. Поэтому для внесения потерь фрагментов была применена математическая модель Гильберта [4, 5]. На каждом узле есть линия задержки. Если она задействована, то каждый принятый фрагмент задерживается на заданный интервал времени d. Кроме того, при присваивании принятому фрагменту метки времени учитывается джиттер j на линии связи с другим узлом сети. В эксперименте реализован алгоритм ARQ прикладного уровня для переза-проса потерянных фрагментов у узлов-предков.

Для серверной части были разработаны алгоритмы для координации работы сети и восстановления фрагментов. Эксперимент проводился на компьютерах с ОС Windows 7 с использованием технологии асинхронных соке-

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

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

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

11

У

Рис. 4 Форматы сообщений с номерами потерянных фрагментов

Рис. 5. Сообщения, передаваемые в сети при отключении Узла 4

Рис. 6. Прототип экспериментальной сети со структурой МД

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

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

На рис. 5 рассмотрено поведение потомков при отключении одного из предков.

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

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

3. Экспериментальное исследование

потерь фрагментов

На рис. 6 представлена схема прототипа экспериментальной сети.

Для удобства анализа данных каждый узел периодические пересылает значение СИ? на источник. Помимо слежения за текущим СУ? каждого из узлов на источнике производился расчёт среднего СІ£ср по сети и запись его в соответствующий файл статистики.

Рис. 7. Зависимость СІЛср от р в МД при с1тах<100 мс и различных Ьср

12

Рис. 8. Зависимость СИ^ср от р в МД при Стах<260 мс и различных Ьср

Т-Сотт #1-2014

Рис. 9. Зависимость OPSNRср от CLRср в МД при Ьср=5 и dmax<1GG мс

Рис. 1G. Зависимость ББМср от CLRср в МД при Ьср=5 и dmax<1GG мс

Эксперименты проводились при следующих условиях: p изменялось от 0,005 до 0,45, средняя значение Ьср изменялось от 5 до 70. По

сети передавались видеофайлы стандарта H.264 [2, 6]. На рис. 7 и рис. 8 представлены результаты экспериментальных исследований, показывающие зависимость значения CLR^ от p при d < 100 мс и d < 260 мс, соответст-

~ ~ max max '

венно.

Таким образом, коррекция потерь фрагментов методом перезапроса обеспечит CLRtp < 0,001 [7] при Ьср= 5, р = 0,15 и

dmax< 100 мс-

При увеличении задержек до 260 мс алгоритм перестаёт эффективно справляться с задачей восстановления фрагментов, так как размер буфера для фрагментов перед воспроизведением ограничен 1 секундой, что соответствует требованиям ITU-T к видео реального времени. Кроме того, размер буфера влияет на допустимую Ьс

Для определения значений метрик принятые файлы формата тр4 были преобразованы в формат уиу [4, 9] с помощью конвертора Ат-ред, которые сопоставлялись с эталонным файлом. В ходе эксперимента были получены значения данных метрик для каждого кадра видеофайлов. Для каждого вида метрики были построены графики, показывающие зависимость СИ? от средних метрик качества видео. Для наглядности ось, соответствующая С1Я показана в логарифмическом виде.

Для оценки качества принятого видеоконтента была рассмотрена сеть с втах < 100 мс и Ьср=5. Таким образом, для рассмотренных условий работы сети прослеживается зависимость средних метрик качества видео от 0.1?.

Предложенные алгоритмы позволяют устранить потери фрагментов и улучшить СИ^ср,

что в свою очередь приведёт к улучшению качества восприятия видео на каждом узле.

Заключение

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

cP

4. Экспериментальное исследование качества видеоконтента

С точки зрения пользователя наиболее важным показателем QoE (quality of experience) является метрика качества видео, которая определяется по-кадровым сравнением двух файлов с видеоконтентом. Потеря фрагментов в P2P сети влияет на QoE. Для оценки этого влияния проведены экспериментальные исследования, показывающие зависимость средних значений по сети трёх метрик качества видео OPSNRcp (рис. 9), SSIMcp (рис. 10), NQIcp (рис. 11) от CLRcp.

Рис. 11. Зависимость NQkp от CLRср в МД при Ьср=5 и dmax<1GG мс

T-Comm #1-2G14

1З

С1_1?ср < 0,001, исследованы для двух случаев: |^ах<100 мс и втах < 260 мс при Ьср от 5 до 40. В первом случае условие выполняется при р от 0,17 до 0,045. Во втором случае — р от 0,05 до 0,017. При Ьср > 70 выполнение вышеназванного условия экспериментально не подтвердилось. МД обеспечивает передачу фрагментов без потерь при отключении одного узла и при р = 0,001 и Ьср = 1. Таким образом, была решена задача снижения потери фрагментов при отключении узла.

Средние значения объективных метрик качества видео OPSNR, ББМ и ЫО! зависят от С1_1?ср. Чем меньше С1^ср, тем лучше значения средних метрик качества. Например, при Ьср = 5 и максимальных с1тах < 100 мс увеличение С1^ср с 0,001 до 0,075 приводит к ухудше-

нию качества видео по метрике OPSNR с 41,74 до 26,5 дБ.

Литература

1. Прои Дж. Цифровая связь. / Джон Прокис, пер. с англ. Под ред. ДД Кловского — М.: Радио и связь, 2GGG — 8GG с.

2. Сэнджой П. Распределение цифрового видео по широкополосным, телевизионным, мобильным и конвергентным сетям. Тенденции, проблемы, решения. // М.: Техносфера, 2G12. — 44G с.

3. Фейт Сидни. TCP/IP: Архитектура, протоколы, реализация. — М.: Издательство "ЛОРИ", 2GGG. — 45G c.

4. Шелухин О.И. Моделирование информационных систем. Учебное пособие для вузов. — М.: Горячая линия - Телеком, 2G12. — 516 с.

5. Hasslinger, G, Hohlfeld, O. The Gilbert-Elliott Model for Packet Loss in Real Time Services on the Internet // Proceedings 14th GI/ITG Conference on Measurement, Modelling and Evaluation of Computer and Communication Systems (MMB 2008) / ed. by Falko Bause, Peter Buchholz. — Dortmund, 2008. — P 269-286.

6. ITU-T Rec. H.264 & ISO/IEC 14496-10 AVC, "Advanced video coding for generic audiovisual services," ITU-T, May 2003.

7. ITU-T Rec. Y1541. Network performance objectives for IP-based services. Prepublished version. 02/2006.

8. Nguyen, T et al. Efficient Multimedia Distribution in Source Constraint Networks / Thinh Nguyen, Krishnan Kolazhi, Rohit Kamath // Multimedia, IEEE Transactions on (Volume: 10, Issue: 3). — Corvallis, 2008. — P^ 523-237.

9. YUV CIF reference videos (lossless H.264 encoded). URL: http://www2.tkn.tu-berlin.de/research/ evalvid/cif.html (дата обращения 06.08.2013).

Video quality measurement in tree-based P2P network with ARQ

Danil Vasilev, post-graduate student, Department of Communication Networks and Telecommunication Systems Izhevsk State Technical University,

Izhevsk, Russian Federation, danil.s.vasiliev@gmail.com Andrei Chunaev, post-graduate student, Department of Communication Networks and Telecommunication Systems, Izhevsk State Technical University,

Izhevsk, Russian Federation, andrew.chunaev@mail.ru Albeit Abilov, docent, candidate of science, Department of Communication Networks and Telecommunication Systems, Izhevsk State Technical University,

Izhevsk, Russian Federation, albeii.abilov@gmail.com

Abstract

This paper presents and evaluates the algorithm for peer-to-peer live streaming and its software implementation. In order to distribute video data efficiently and with minimal chunk loss, our algorithm combine multiple tree structure with optimized ARQ algorithm on the application layer. The ARQ algorithm ensures that all peers are able to request the required data blocks of a live stream from its parents. Every peer buffers received chunks and can determine chunk loss. In situation when one of parents of the peer disconnects or has bad connection, ARQ algorithm can request lost chunks from other parents of this peer. The efficiency of the software implementation is verified experimentally using simulation of wireless transmission by the Gilbert model. Experiments were conducted for different values of chunk loss, loss burst on every peer and different maximum delays between peers. Average Chunk Loss Rate is used to assess the ability of the algorithm to recover lost chunks in experimental P2P network. Every peer saves transmitted video files after lost chunks recovery. Average video quality metrics OPSNR, SSIM and NQI are measured as QoE value.

Keywords: application layer, P2P, QoE, chunk loss rate, loss burst, video quality, Gilbert model.

References

1. Prokis J. Digital communications. Moscow, 2000. 800 p.

2. Sanjay, P. Distribution of digital video over broadband, television, mobile and converged networks. Trends, problems and solutions. Moscow, 2012. 440 p.

3. Faith C. TCP / IP: architecture, protocols, implementation. Moscow, 2000. 450 p.

4. Shelukhin O.I. Modeling of information systems. Textbook for universities. Moscow, 2012. 516 p.

5. Hasslinger, G., Hohlfeld, O. The Gilbert-Elliott Model for Packet Loss in Real Time Services on the Internet // Proceedings 14th GI/ITG Conference on Measurement, Modelling and Evaluation of Computer and Communication Systems (MMB 2008) / ed. by Falko Bause, Peter Buchholz. Dortmund, 2008. P 269-286.

6. ITU-T Rec. H.264 & ISO/IEC 14496-10 AVC, "Advanced video coding for generic audiov'sual services," ITU-T, May 2003.

7. ITU-T Rec. Y1541. Network performance objectives for IP-based services. Prepublished version. 02/2006.

8. Nguyen, T. et al. Efficient Multimedia Distribution in Source Constraint Networks / Thinh Nguyen, Krishnan Kolazhi, Rohit Kamath // Multimedia, IEEE Transactions on (Volume:10, Issue: 3). Corvallis, 2008. Pр. 523-237.

9. YUV CIF reference videos (lossless H.264 encoded). URL: http://www2.tkn.tu-berlin.de/research/ evalvid/cif.html (дата обращения 06.08.2013).

14

T-Comm #1-2G14