Способ управления буферной памятью потокового видео
METHOD FOR MANAGING THE BUFFER MEMORY OF STREAMING VIDEO

Способ относится к отрасли телекоммуникаций.
Основными областями применения являются средства потоковой передачи видеоинформации в пакетных сетях связи.
Сегодня технология потокового вещания используют чаще всего адаптивную потоковую передачу данных, основанную на НТТР (англ. HAS). В настоящее время передача видео составляет почти 90 % от общего трафика, и HAS стал превалирующей формой интернет -трафика [5]. Потоковая передача видеотрафика является наиболее значимым сервисом при оказании операторами связи услуг Интернет -TV и YouTube [2, 3. 4].
Имеется множество различных методов управления видео трафиком. Как правило, все они основаны на буферизации принимаемого видеопотока перед его воспроизведением. Принимаемые пакеты буферизируются в специальной буферной памяти, из которой непрерывно извлекаются и поступают на воспроизведение в реальном масштабе времени. Основная цель управления состоит в поддержании постоянным в буферной памяти некоторого объема пакетов, который бы обеспечил непрерывное воспроизведение в течение заданного интервала времени (например, в течение 10 секунд). Управление потоком на сетевом уровне и пользовательское качество восприятия (QoE) непосредственно связаны с буферным уровнем, который является центральным звеном управления ресурсами или возможной оптимизации [1,7]. Если в процессе воспроизведения объем пакетов в буферной памяти достигнет своего нижнего предела, то возникают перерывы в воспроизведении, называемые «зависаниями».
Существует множество различных способов стабилизации объема пакетов, находящихся в очереди буферной памяти. В их числе следует отметить способ, использующий алгоритм «Кубик» [6]. В соответствии с алгоритмом, сервер увеличивает ступенчато, по кубическому закону, скорость передачи пакетов до тех пор, пока протокол TCP ни покажет существенное возрастание ошибочно переданных пакетов. Обнаружив такое возрастание, сервер резко снижает интенсивность передачи, возвращаясь к исходному состоянию.
Недостатком подобного способа управления трафиком является высокая инерционность и значительные потери пакетов при перегрузках. В виду его крайней не эффективности, современные способы основываются на измерении характеристик трафика не на передающей, а на приемной стороне [8-11]. В их числе способ, основанный на применении алгоритма PANDA [5].
Указанный способ предусматривает передачу видео пакетов отдельными блоками (длительностью воспроизведения, например, 2 секунды). Между блоками имеются регулируемые временные интервалы (межблоковые интервалы). При уменьшении межблоковых интервалов происходит увеличение средней скорости передачи пакетов.
Предусматривается также возможность ступенчатого изменения скорости поступления информации от передающего кодека сервера в сеть (изменение «битрейта»).
В соответствии с алгоритмом, на каждом цикле передачи блока измеряется допустимая средняя скорость передачи, ступенчато устанавливается соответствующее значение битрейта и регулируется межблоковый интервал. Указанные регулировки имеют целью поддержания объема пакетов в буферной памяти приемника на заданном уровне.
Данное техническое решение по своему функциональному назначению и технической сущности является наиболее близким к заявляемому и принято за прототип
.
Недостатком указанного способа является то, что, что он не учитывает возможность прохождения трафика данного канала через участки сети, перегруженные другими потоками трафика. В результате возможной перегрузки промежуточного участка сети потоками другого TCP-трафика, возникают дополнительные задержки и уменьшается скорость передачи видеопотока. Это приводит к появлению сигнала на уменьшение межблокового интервала и увеличению средней скорости поступления пакетов от передатчика в сеть, что в свою очередь вызовет дальнейшее увеличение перегрузки.
Межблоковые интервалы быстро достигнут нулевого значения, и поступит сигнал на ступенчатое уменьшение битрейта передатчика. Уменьшение битрейта передатчика приведет к снижению качества получаемого изображения.
Сущность предлагаемого способа
состоит в том, что он предусматривает введение, между очередными запросами, тестирующих сигналов, определяющих модель изменения запаздывания на текущем интервале и позволяющих прогнозировать значение запаздывания на следующем интервале запроса. Интервал времени между поступившим и ожидаемым запросами уменьшается на величину указанного запаздывания.
Техническим результатом предлагаемого способа
является существенное улучшение качества процесса регулирования и недопущение снижения качества изображения в случае возникновения перегрузок в телекоммуникационной сети.
В основу предлагаемого способа
положена задача нахождения «Цифрового двойника» сети, путем постоянного определения изменения запаздывания в сети, и прогнозирования таких значений параметров регулирования, которые обеспечат уменьшение влияния перегрузки сети на качество передаваемого видеоизображения.
Для решения поставленной задачи предлагается
введение дополнительного тестирующего сигнала, обеспечивающего определение параметров модели процесса изменения задержки в сети и позволяющего осуществить прогнозирование указанной задержки, с целью улучшения качества регулирования объема буферной памяти при передаче видеотрафика.
Реализация способа-прототипа.
Способ, реализующий алгоритм PANDA, так же, как и предлагаемый способ, представляется следующей моделью [5].
Поток видео разбивается на сегменты , длительностью  секунд. Каждый сегмент кодируется в один из L битрейтов видео обозначим  ряд доступных битрейтов. Для каждого клиента , процесс потокового видео разделен на последовательные этапы загрузки сегментов . В начале каждого шага загрузки с номером n клиент выбирает битрейт следующего блока, подлежащего загрузке, и определяет расчетный интервал времени до следующей загрузки (время до следующего запроса). Следующая загрузка реально начнется, спустя время
,
где  - это время, необходимое для загрузки сегмента. Клиент ожидает время  (межблочный интервал) до начала следующего запроса загрузки. Если эта разность - отрицательна, то клиент посылает запрос на загрузку сразу же после окончания предыдущей.
Загруженные сегменты хранятся в буфере и после старта расходуются в среднем эквивалентно реальному времени.
n.
Пусть  - длительность буфера, измеренная в единицах времени видео на шаге Тогда, динамика буфера может быть представлена следующим соотношением: , и размер буфера может управляться с помощью изменения интервала , пока выполняется условие .
Таким образом, на стороне клиента имеется два управляющих параметра, с помощью которых он имеет возможность стабилизации длительности буфера, это интервал времени между запросами -  и запрашиваемый битрейт.
Большие перегрузки в сети могут приводить к значительным задержкам управляющих команд и поступающего в буфер трафика, что может привести либо к опустошению буфера, либо – к его переполнению и потери части пакетов.
Реализация предлагаемого способа.
Реализация процесса прогнозирования задержек и введения сигнала опережения поясняется Фиг. 1
Команды запроса, поступающие циклично от приемника к передатчику  представлены цифрой 1. Цифрой - 2 обозначена команда, поданная в данном цикле с опережением во времени на величину . обозначает время цикла, без учета коррекции. В процессе функционирования приемник циклически посылает тестовые сигналы, передатчик после получения сигнала, задержанного сетью, посылает приемнику ответный сигнал. Ответный сигнал задерживается также задерживается сетью и поступает по обратному каналу в приемник. Таким образом, приемник определяет круговую задержку прохождения тестового сигнала по сети. Кривая , характеризующая указанные задержки, обозначена цифрой 3, а значения задержек в моменты опроса обозначены буквами . На основании выбранной модели зависимости 3, производится прогнозирование значения последующей задержки. На Фиг.1, на основании обработки результатов тестов получается прогнозируемое значение времени  задержки .
Очередной запрос - 1 передается с опережением на время  (обозначен цифрой 2), в результате чего происходит компенсация сетевых задержек и повышается качество процесса регулирования.
Если же требуемое время компенсации задержки окажется настолько большим, что запрос -2 должен поступить раньше, чем закончатся расчеты, то указанный запрос поступит непосредственно сразу же, после завершения расчетов.
В качестве модели процесса изменения задержек в сети может быть выбраны разностные интерполяционные формулы, (например, формула Ньютона). Практика показала, что вполне можно ограничиться разностями третьего порядка.
ЛИТЕРАТУРА
1. Luca De Cicco and Saverio Mascolo. An experimental investigation of the Akamia adaptive video streaming. In Proc. 6th International Conference on HCI in Work and Learning, Life and Leisure: Workgroup Human-computer Interaiion and Usability Engineering, USAB 10, pages 447-464, Berlin, Heidelberg, 2010. Springer-Verlag.
2. F. Dobrian, V. Sekar, A. Awan, I. Stoica, D. Joseph, A. Ganjam, J. Zhan, and H. Zhang. Understanding the impact of video quality on user engagement. In Proc. ACM SIGCOMM 2011 conference, SIGCOMM 11, pages 362-373, New York, NY, USA, 2011. ACM.
3. Remi Houdaille and Stephane Gouache. Shaping HTTP adsptive streams for a better user experience. In Proc. 3rd Multimed Systems Conference, pages 1-9, 2012.
4. Te-Yuan Huang, Nikhil Handigol, Brandon Heller, Nick McKeown, and Ramesh Johari.  Confused, timid, and unstable: Packing a video streaming rate is hard. In Proc. 2012 ACM conference on Internet measurement, 2012.
5.  Zhi Li, Xiaoqing Zhu, Joshua Gahm, Rong Pan, Hao Hu, Ali C. Begen, and David Oran. Probe and adapt: rate adaptation for HTTP video streaming at scale. The IEEE Journal of Selected Areas in Communications, Vol. 32, No. 4, April 2014.
6. Injong Rhee, and Lisong Xu CUBIC: A New TCP-Friendly High-Speed TCP Variant// ACM SIGOPS Operating Systems Review, v.42 n.5, p.64-74, 2008.
7. Guido Appenzeller, Isaac Keslassy, Nick McKeown Sizing Router Buffers. Материалы конференции SIGCOMM'04, Aug. 30-Sept. 3, 2004, Portland, Oregon, USA, с.281-292.
8. METHOD AND APPARATUS FOR ADAPTIVE BUFFERING. Patent US 2006/0109856 A1 May 25, 2006
9. MANAGING ADAPTIVE STREAMING OF DATA VIA A COMMUNICATION CONNECTION. Patent US 2013/0232228 A1 Sep. 5, 2013.
10. REDUCING BUFFER USAGE FOR TCP PROXY SESSION BASED ON DELAYED ACKNOWLEDGEMENT. Patent US 2014/0207845 A1 Jul. 24, 2014.
11. DEVICES, SYSTEMS, AND METHODS FOR MANAGING AND ADJUSTING ADAPTIVE STREAMING TRAFFIC. Patent US 2014/0281002 A1 Sep. 18, 2014.