УПРАВЛЕНИЕ ПЕРЕДАЧЕЙ ПОТОКА ВИДЕОДАННЫХ ПО
СЕТИ НА СЕТЕВОЕ ПОЛЬЗОВАТЕЛЬСКОЕ УСТРОЙСТВО
ОБЛАСТЬ ТЕХНИКИ
Настоящее изобретения относится к передаче данных, в частности к управляющему устройству и способу управления передачей потока видеоданных по сети на сетевое пользовательское устройство.
УРОВЕНЬ ТЕХНИКИ
Значительную часть данных, передаваемых через мобильные сети, составляет видеотрафик, транслируемый в режиме потокового вещания. Наиболее современной технологией потокового вещания является технология динамического адаптивного потокового вещания по протоколу HTTP. По этой технологии, например, работают следующие протоколы: HTTP Live Streaming (Apple), Smooth Streaming (Microsoft), HTTP Dynamic Streaming (Adobe), стандарт DASH. Согласно данной технологии на сервере хранятся несколько копий видеофайла, каждая из которых закодирована с разными параметрами, например, с разными разрешениями и битовыми скоростями. Чем выше битовая скорость, тем более быстрый радиоканал требуется для передачи такого видео и тем лучше качество отдельных кадров. Копии разбиты на синхронизированные по времени независимые сегменты. Это позволяет как осуществлять перемотку вперед не загружая все сегменты, так и при необходимости переключаться между разными битовыми скоростями.
С точки зрения клиента на качество восприятия видео влияет не только битовая скорость, но также отсутствие задержек при воспроизведении. Такие задержки появляется при опустошении входного буфера у клиента, т.е. клиент просматривает сегменты видео быстрее, чем они поступают по радиоканалу. Одной из причин появления подобных ситуаций при просмотре видео через мобильную сеть является конечный частотно-временной ресурс радиоканала у базовой станции, к которой в данный момент подсоединен клиент. Исчерпание ресурса в свою очередь вызывается перегрузкой, т.е. большим числом клиентов, подсоединенных к одной базовой станции. В результате перегрузки скорости передачи по радиоканалу
у большинства клиентов становятся ниже, чем доступные битовые скорости видео на сервере, что приводит к возникновению задержек при воспроизведении.
Из уровня техники известны способы управления передачей видеоданных по сети. Так, например, европейский патент 1872536, который является наиболее близким аналогом заявленного изобретения, описывает способ управления передачей пакетов данных от сервера клиенту, причем сервер осуществляет переключение между различными версиями потока передаваемых данных на основании состояния клиентского буфера. При переключении потока одно и то же мультимедийное содержимое, например конкретная видеопоследовательность, предварительно кодируется с различными битовыми скоростями и сохраняется на сервере. Однако такой способ подразумевает хранение на сервере огромного количества версий каждого потока видеоданных, причем, даже при наличии на сервере большого количества вариантов, не всегда идеальный вариант для каждого конкретного случая может оказаться в наличии.
Соответственно существует потребность в новом техническом решении, направленном на управление передачей по сети потока видеоданных на пользовательское устройство, направленное на обеспечение большой скорости, простоты, экономичности, минимальных потерь качества и максимальной удовлетворенности пользователей.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Задачей настоящего изобретения является создание управляющего устройства и способа управления передачей видеоданных, с помощью которых осуществляют изменение объема видеоданных, передаваемых от базовой станции к клиенту по радиоканалу, с целью оптимизации передачи видеоданных на пользовательские устройства.
Указанная задача решена благодаря способу управления передачей потока видеоданных по сети на сетевое пользовательское устройство. Согласно способу сохраняют сегменты видеоданных в хранилище данных, принимают запрос по меньшей мере от одного сетевого пользовательского устройства, определяют текущие параметры указанного по меньшей мере одного сетевого пользовательского устройства, изменяют сохраненные в хранилище данных сегменты видеоданных на
основании определенных текущих параметров сетевого пользовательского устройства и передают измененные сегменты видеоданных на сетевое пользовательское устройство в ответ на указанный запрос. Согласно указанному способу, изменение сохраненных в хранилище данных сегментов видеоданных выполняют посредством изменения битовой скорости сегментов видеоданных путем транскодирования каждого сегмента видеоданных в реальном времени.
Технический результат, достигаемый заявляемым изобретением, состоит в уменьшении среднего числа задержек при просмотре видео и уменьшении нагрузки на опорную сеть провайдера и обеспечен путем изменения объема видеоданных посредством их посегментного транскодирования в реальном времени в более низкие битовые скорости, чем битовые скорости копий, хранящихся на сервере и имеющих максимальное качество.
В одном из вариантов осуществления сегменты видеоданных сохраняют в хранилище данных по приёме первого запроса на указанные видеоданные от сетевого пользовательского устройства.
В одном из предпочтительных вариантов осуществления этап сохранения сегментов видеоданных в хранилище данных включает этап кэширования указанных сегментов видеоданных.
Еще в одном варианте осуществления текущие параметры сетевого пользовательского устройства включают по меньшей мере один из таких параметров, как: текущая пропускная способность канала сетевого пользовательского устройства, состояние пользовательского буфера и тариф.
Еще в одном предпочтительном варианте осуществления транскодирование сегментов сохраненных видеоданных представляет собой аппаратное транскодирование.
Еще в одном варианте осуществления транскодирование сегментов сохраненных видеоданных включает изменение разрешения сегментов видеоданных.
Еще в одном предпочтительном варианте осуществления при заполнении хранилища данных выполняют выборку из сохраненных в нем сегментов видеоданных на основании запросов на сохраненные видеоданные от сетевых пользовательских устройств.
Еще в одном варианте осуществления выборка основана на частоте запросов на указанные видеоданные от сетевых пользовательских устройств. Такая выборка отдает предпочтение видеоданным, которые имеют максимальную частоту запросов.
Еще в одном варианте осуществления выборка основана на удалении видеоданных, последний принятый запрос на которые является самым давним.
Еще в одном варианте осуществления сегменты видеоданных дополнительно содержат аудио данные и/или текстовые данные.
Указанная задача также решена благодаря управляющему устройству для управления передачей потока видеоданных по сети на сетевое пользовательское устройство, которое содержит по меньшей мере одно хранилище данных, выполненное с возможностью хранения сегментов видеоданных;, по меньшей мере один управляющий блок. Управляющий блок указанного устройства выполнен с возможностью приема запроса по меньшей мере от одного сетевого пользовательского устройства, определения текущих параметров по меньшей мере одного сетевого пользовательского устройства и характеризуется тем, что оно выполнено с возможностью изменения хранящихся в устройстве хранения данных сегментов видеоданных посредством изменения битовой скорости сегментов видеоданных путем транскодирования каждого сегмента в реальном времени на основании текущих определенных параметров сетевого пользовательского устройства с помощью по меньшей мере одного управляющего устройства. Кроме того, устройство содержит сетевой интерфейс, выполненный с возможностью передачи измененных сегментов видеоданных по меньшей мере на одно сетевое пользовательское устройство.
Еще в одном варианте осуществления по меньшей мере один управляющий блок содержит по меньшей мере один планировщик.
Еще в одном варианте осуществления планировщик выполнен с возможностью выбора битовой скорости для передачи сегментов видеоданных на указанное пользовательское устройство в ответ на запрос по меньшей мере от одного пользовательского устройства на основании определенных текущих параметров сетевого пользовательского устройства
Еще в одном варианте осуществления управляющее устройство для передачи по сети потока видеоданных расположено в сети, включающей в себя по меньшей
мере одно пользовательское устройство, по меньшей мере одну базовую станцию, по меньшей мере один шлюз и по меньшей мере один контент-сервер.
Еще в одном варианте осуществления управляющее устройство для передачи по сети потока видеоданных выполнено с возможностью управления передачей потока видеоданных по сети таким образом, что ни одно пользовательское устройство, ни одна базовая станция, ни один шлюз, ни один контент-сервер не получают информации о наличии в сети указанного управляющего устройства.
Указанная задача также решена благодаря устройству для передачи по сети потока видеоданных на сетевое пользовательское устройство, которое содержит проксирующий блок, выполненный с возможностью приема запроса по меньшей мере от одного сетевого пользовательского устройства; кэширующий блок, выполненный с возможностью хранения сегментов видеоданных; планировщик, выполненный с возможностью определения текущих параметров указанного по меньшей мере одного сетевого пользовательского устройства. Устройство характеризуется тем, что он содержит транскодирующий блок, выполненный с возможностью изменения сохранённых в кэширующем блоке сегментов видеоданных посредством изменения битовой скорости и/или разрешения сегментов видеоданных путем транскодирования каждого сегмента в реальном времени на основании текущих определенных параметров сетевого пользовательского устройства; и сетевой интерфейс, выполненный с возможностью передачи измененных сегментов видеоданных по меньшей мере на одно сетевое пользовательское устройство.
Еще в одном варианте осуществления проксирующий блок выполнен с возможностью работы на сетевом уровне. Эти и другие аспекты изобретения будут ясны из нижеприведенного описания предпочтительных вариантов выполнения, чертежей и формулы изобретения. Детали одного или нескольких примеров реализации изобретения раскрыты на сопроводительных чертежах и в нижеследующем описании. Другие отличительные черты, задачи и преимущества изобретения будут очевидны из описания и чертежей, а также из формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 иллюстрирует логическую структуру сети и расположение управляющего устройства по настоящему изобретению в этой сети.
Фиг. 2 иллюстрирует взаимодействие функциональных блоков устройства по настоящему изобретению.
Фиг. 3 иллюстрирует принцип работы проксирующего блока согласно изобретению.
Фиг. 4 иллюстрирует принцип работы кэширующего блока согласно изобретению.
Фиг. 5 иллюстрирует принцип работы планировщика согласно изобретению.
Фиг. 6 иллюстрирует пример реализации управляющего устройства передачи по сети потока видеоданных на сетевое пользовательское устройство согласно изобретению.
Фиг. 7 иллюстрирует примеры пакетов, с которыми работает устройство. ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Фиг. 1 иллюстрирует логическую структуру сети, которая состоит из двух частей. Первая часть представляет собой транзитную сеть 1 (E-UTRAN), которая отвечает за радиодоступ и состоит из базовых станций 4 (eNodeB) и пользовательских устройств 3 (UE, user equipment). Вторая часть представляет собой опорную сеть 2 (ЕРС, Evolved Packet Core), которая отвечает за обеспечение требуемого качества обслуживания (QoS), управление мобильностью, аутентификацию, билинг и т.д. Между логическими узлами этих сетей существуют стандартизированные протоколы. Управляющее устройство 5 согласно настоящему изобретению расположено между первой частью и второй частью. Управляющее устройство 5 работает на так называемом интерфейсе S 1.
Традиционное централизованное размещение прокси-сервера с кэшем в опорной сети позволяет уменьшить нагрузку только на выход в Интернет, однако разгрузка транзитной сети при этом невозможна. В разработанном решении использовано распределенное размещение прокси-сервера внутри транзитной сети, что делает возможным сокращение нагрузки на каналы транзитной сети.
Управляющее устройство согласно настоящему изобретению расположено на краю транзитной сети, что позволяет уменьшить нагрузки на транзитные каналы. Такое расположение возможно благодаря использованию проксирующего блока. Кроме того, такое расположение в логической иерархии сети позволяет оператору располагать управляющее устройство 5 на разных уровнях физической сети - от базовой станции 4 до точек агрегации трафика от десятков базовых станций 4. В дополнение к этому программно-аппаратная платформа устройства 5 является масштабируемой по количеству процессорных модулей и систем хранения данных, что создает возможность для операторов связи применять настоящее изобретение в своих сетях наиболее оптимально с точки зрения максимизации эффективности и уменьшения стоимости.
Данные в мобильной сети передаются внутри туннеля. Пакеты, неограничительные примеры форматов которых представлены на фиг. 7, от пользовательского устройства 3 передаются на базовую станцию 4, откуда затем передаются по туннельному соединению до обслуживающего шлюза 6, на котором извлекаются из туннеля и передаются в опорную сеть 2. Туннелирование позволяет обеспечить требуемое качество обслуживания различных видов трафика от разных клиентов при передаче по транзитной сети. Управление туннелем ведется по протоколу S I -АР, а сама передача в туннеле - по протоколу S1 -U. Проксирующий блок выполняет задачу прозрачного двойного прокси-сервера, т.е. функция проксирования реализуется как для самого туннеля, так и для соединения внутри него. Таким образом, оптимизация и кэширование видеотрафика в системе являются прозрачными как для пользовательского устройства 3 и контент-сервера 8 с видеоданными, так и для базовой станции 4 и обслуживающего шлюза 6, т.е. не вносят существенных изменений в заголовки передаваемых пакетов. Это позволяет упростить интеграцию управляющего устройства 5 в существующую сеть, поскольку внесения изменений в конфигурацию пользовательского устройства 3, базовой станции 4 и шлюза 6 не требуется.
Еще одним достоинством подобного размещения является уменьшение задержки канала при передаче благодаря использованию прокси-сервера. Передача видеоданных ведется по протоколу гарантированной доставки TCP. В рамках этого протокола контент-сервер выбирает скорость отправки данных клиенту исходя из
скорости составного логического канала, т.е. канала, состоящего из радиоподканала и подканала, включающего участки транзитной сети, опорной сети и сети Интернет. Характеристики этих двух подканалов являются различными, поэтому скорость составного логического канала определяется в основном скоростью канала с худшими характеристиками (т.е. радиоканалом), что сказывается на скорости ТСР- соединения. Наличие прокси-сервера позволяет сделать два различных логических соединения для каждого из подканалов. При этом параметры TCP выбираются для каждого подканала отдельно. Это позволяет существенно уменьшить задержки при доставке видеоданных.
В пакетной сети данные пользователей передаются посредством каналов для передачи потока IP-пакетов с определенным качеством обслуживания. Соединение от пользовательского устройства 3 до внешнего сервера 8 в интернет называют сквозным каналом (end-to-end bearer), который состоит из нескольких каналов, устанавливаемых между логическими узлами в транзитной сети 1 (E-UTRAN) и опорной сети 2 (ЕРС) по протоколам, таким как Sl-U, TCP, HTTP и другим.
Набор протоколов S1 состоит из двух частей: S 1-U и SI-АР. Протокол S 1-U обеспечивает непосредственно передачу потока туннеля S 1 - по IP-сети, а протокол S I -АР обеспечивает установление канала E-RAB между пользовательским устройством 3 и обслуживающим шлюзом б и в частности установление туннеля S 1 , являющегося составной частью канала E-RAB, между базовой станцией 4 и обслуживающим шлюзом 6. Поток туннеля S 1 представляет собой поток IP-пакетов между базовой станцией 4 и обслуживающим шлюзом 6, в котором туннелируются IP-пакеты пользовательского устройства 3.
IP-туннель протокола S1-U реализуется с помощью протокола GTP-U, а также транспортного протокола UDP. Точками входа-выхода туннеля являются базовая станция 4 и обслуживающий шлюз 6 (т.е. добавляемый IP-заголовок содержит ГР- адреса базовой станции 4 и обслуживающего шлюза 6).
На Фиг. 2 изображена схема взаимодействия блоков управляющего устройства 5. Согласно настоящему изобретению управляющее устройство 5 содержит проксирующий блок 1 1 , планировщик 13, транкодирующий блок 14, кэширующий блок 12 и сетевые интерфейсы 23, выполненные с возможностью передачи видеоданных на пользовательское устройство 3.
Проксирующий блок 11 , принцип работы которого изображен на Фиг. 3, работает на сетевом уровне, перехватывая и анализируя все проходящие через него пакеты, т.е. последовательно разворачивает туннельный уровень (IP1 ) между базовой станцией 4 и обслуживающим шлюзом 6, а затем анализирует вложенный пакет с целью определения его типа (TCP, UDP). Таким образом, работа на сетевом уровне позволяет проксирующему блоку 1 1 получать доступ к пакетам, не адресованным ему, при этом контент-сервер 8, пользовательское устройство 3, базовая станция 4 и обслуживающий шлюз 6 не получают информации о его вмешательстве и/или наличии, так как проксирующий блок 11 после обработки заголовков пакетов адаптирует их таким образом, чтобы имитировать отправку от лица контент-сервера 8 на адрес пользовательского устройства 3. При этом UDP- пакеты пересылаются без изменения, а TCP-пакеты обрабатываются следующим образом. При приеме запроса по меньшей мере от одного сетевого пользовательского устройства 3 проксирующий блок 11 определяет текущие параметры этого пользовательского устройства 3. При установлении соединения между пользовательским устройством 3 и контент-сервером 8 проксирующий блок разрывает туннель между базовой станцией 4 и обслуживающим шлюзом 6. Для этого проксирующий блок просматривает все проходящие через него пакеты и определяет типы пакетов. Для UDP пакетов, содержащих завернутые в них TCP пакеты, заголовки записывают в память, для чего сохраняет таблицы соответствия: IP адрес + порт пользовательского устройства и все данные туннелей от базовой станции 4 к обслуживающему шлюзу 6 и обратно, такие как IP + порт базовой станции 4, IP + порт обслуживающего шлюза 6, номера туннелей telD, IP + порт контент-сервера 8 и другие. Номера туннелей перехватываются из анализа SCTP- трафика между базовой станцией 4 и узлом 9 управления мобильностью перед установлением туннеля. Для анализа этого трафика используется дополнительный синтаксический анализатор пакетов. После сохранения заголовков, из пакетов извлекают данные. Если в данных содержится запрос на видеоданные от пользователя 3 к контент-серверу 8, этот запрос передается для обслуживания планировщику 13. Если в ответ от планировщика получен отказ, запрос передается контент-серверу 8 от лица пользователя 3. Если планировщик возвращает требуемый видеоролик и рассчитанные битовые скорости для его передачи, то проксирующий
блок 11 формирует из видеоданных пакеты, адаптируя заголовки на основе сохраненных таблиц таким образом, чтобы имитировать передачу от контент- сервера 8 пользователю 3.
Если в данных содержится файл для передачи пользователю 3, он передается планировщику 13 для передачи кэширующему блоку и транскодирования в случае необходимости. От планировщика в ответ поступает информация о битовой скорости передачи и транскодированное видео. После это проксирующий блок 1 1 , формирует из видеоданных пакеты, адаптируя заголовки на основании сохраненных таблиц таким образом, чтобы имитировать передачу от контент-сервера 8 пользователю 3.
Кэширующий блок 12, принцип работы которого изображен на Фиг. 4, включает в себя хранилище данных (например, твердотельный накопитель, накопитель на жестких магнитных дисках, их возможные комбинации и другие) и хранит информацию о популярности, получаемую от прокси-сервера, и самые популярные видеоролики в высоком и низком разрешении. При поступлении информации о новых закачанных видеоданных кэширующий блок 12 принимает решение об их сохранении, в частности кэшировании, опираясь на составленную им статистику популярности видеороликов, мета-данные, полученные с контент- сервера 8, возраст видеоролика, его популярность в сети, наличие ссылок на него на HTML-страницах. После получения запроса от планировщика 13 кэширующий блок 12 обновляет статистику популярности и проверяет наличие такого видеоролика в кэше. В случае если наличие видеоролика в кэше установлено, кэширующий блок 12 передает видеоролик в очередь на передачу планировщику 13. Если при первом запросе на этот видеоролик его наличие не установлено, то кэширующий блок 12 возвращает планировщику 13 отказ. В случае получения от планировщика 13 видео- ролика, кэширующий блок анализирует статистику популярности этого видеоролика и принимает решение о его сохранении.
Планировщик 13, принцип работы которого изображен на Фиг. 5, оценивает текущую пропускную способность канала пользовательского устройства 3, в частности состояние сети, буферов обслуживаемых пользовательских устройств 3, их тарифов, а также требуемый ресурс для следующей передачи, загруженность транскодирующего блока 14 и принимает соответствующее решение о скорости
передачи для данного пользователя. В частности, если есть свободный ресурс канала и транскодирующего блока 14, планировщик 13 принимает решение передавать видеоданные в режиме, запрошенном пользователем. Если не хватает ресурсов канала и транскодирующего блока 14, то они распределяются согласно приоритету пользовательского устройства. При этом пользовательским устройствам 3 с низким приоритетом ресурс канала выделяется по остаточному принципу и согласно вычисленному ресурсу канала транскорирующим блоком 14 транскодируются видеоданные. После выбора скорости передачи, в зависимости от полученного от проксирующего блока 1 1 запроса на поиск данных или на передачу, планировщик может запросить видеоданные у кэщирующего блока 12 с требуемыми параметрами, если пришел запрос от конечного пользователя 3. Если данные найдены они будут переданы проксируещему блоку 1 1 после транскодирования, если это необходимо. Если видеоролик не найден, планировщик вернет отказ. Если получен видеоролик от контент-сервера 8, то, после транскодирования в случае необходимости, он будет передан проксирующему блоку, вместе с информацией о требуемой скорости передачи для отправки пользователю З.Транскодирующий блок 14 изменяет битовую скорость или разрешение потока сегментов видеоданных, сохраненных в кэширующем блоке 12 или полученных по сети, путем транскодирования каждого сегмента видеоданных в реальном времени по требованию планировщика 13 на основании текущих параметров пользовательского устройства 3. В случае наличия у транскодирующего блока 14 свободных мощностей он осуществляет предварительное транскодирование наиболее популярных роликов в низкие битовые скорости, чтобы в случае возникновения перегрузки в сети часть своей нагрузки перенести на кэширующий блок 12.
Согласно настоящему изобретению планировщик 13 в состоянии перегрузки начинает приоритизировать пересылаемые на пользовательские устройства 3 потоки видеоданных согласно тарифам пользователей (например, Gold, Silver и Bronze). Благодаря приоритезации происходит перераспределение частотно-временного ресурса между пользователями, т.е. скорость каналов у одних пользователей увеличивается, а у других уменьшается. Согласно протоколам динамического адаптивного потокового вещания пользователи начинают запрашивать очередные сегменты видео в соответствии со скоростями каналов своих пользовательских
устройств 3, полученных в результате работы планировщика 13. При этом у некоторых пользователей скорость канала может оказаться ниже, чем минимальная доступная битовая скорость видео на контент-сервере 8. В этом случае для таких пользователей транскодирующий блок 14 начинает транскодировать в реальном времени запрашиваемые видеоданные в качество, соответствующее текущим скоростям каналов. Этим достигается минимизация общего числа опустошений буфера у пользовательских устройств 3 вне зависимости от их тарифа.
Подобная оперативность возможна только при использовании аппаратного транскодирования, наличие которого является уникальной особенностью настоящего изобретения, и которое также позволяет добиться значительно большей производительности при меньшей потребляемой мощности, чем решения, использующие программные реализации транскодирования. Использование аппаратного транскодирования при отсутствии перегрузок позволяет также быстро перекодировать видеоданные в кэширующем блоке 12 в более низкие битовые скорости, чтобы подготовить кэширующий блок 12 к перегрузке базовой станции 4. В этом случае уже при наступлении перегрузки и недостатке пропускной способности радиоканала видеоданные на пользовательские устройства будут переданы из кэширующего блока 12.
Транскодирующий блок 14 построен на базе многопроцессорной аппаратной реализации видеокодека, что позволяет в режиме реального времени выполнять транскодирование нескольких потоков видеоданных. По запросу пранировщика 13 транскодирующий блок 14 начинает транскодирование каждого сегмента видеоданных из кэширующего блока 12, последовательно передавая закодированные фрагменты на проксирующий блок 11 для запаковки в пакеты и передачи конечному пользовательскому устройству 3. В случае, если видеоданные не были найдены в кэширующем блоке 12, транскодирование возможно выполнять, минуя процедуру кэширования, например если запрошенный видеоролик не является популярным. Конкретно, планировщик 13 направляет видео-данные, полученные с проксирующего блока 1 1 , на транскодирующий блок 14, который выполняет их посегментное транскодирование в реальном времени и возвращает транскодированные сегменты обратно на планировщик 13, что не вносит существенной задержки в процесс передачи. Для успешного выполнения своих
функций транскодирующий блок 14 выполнен с возможностью поддержки таких потоковых форматов данных, как MP2-TS, МР4, WebM и других.
Внесение задержек в процесс передачи возможно, если планировщик 13, перераспределяя ресурсы между пользовательскими устройствами 3 на этапе планирования, примет решение о задержке трафика для конечного получателя видеоданных. В таком случае поведение транскодирующего блока 14 определяется следующим образом: транскодированные сегменты могут временно, до отправки, накапливаться в кэширующем блоке 12, или транскодирование может запускаться каждый раз перед отправкой следующего пакета видеоданных, а время задержки может быть потрачено на транскодирование сегментов видеоданных для других пользовательских устройств 3 с более высоким приоритетом или более низким состоянием удовлетворенности.
В настоящем изобретении при транскодировании используются аппаратные кодеки, например аппаратный кодек формата h.264 (технология QuickSync), используемый в современных архитектурах процессоров, например процессоров фирмы Intel (Sandy Bridge, Ivy Bridge, например Intel Xeon E3-1275) и других. Библиотека Media SDK, использующая технологию QuickSync, способна на одном вычислительном модуле одновременно транскодировать до 8 видеопотоков в формате HD или до 16 видеопотоков из формата HD в формат SD. Управляющее устройство 5 может включать в себя несколько вычислительных модулей, работу между которыми распределяет балансировщик нагрузки. Это позволяет линейно масштабировать производительность транскодирующего блока 14, добавляя новые вычислительные модули.
Высокая скорость транскодирования позволяет увеличивать эффективность кэширования. Появляется возможность оперативно получать из одного закэшированного видеоролика несколько его вариантов с разными битовыми скоростями и разрешениями.
Кроме того, быстрое транскодирование позволяют быстро реагировать на перегрузку базовых станций 4, преобразуя в реальном времени видеоданные, направляемые на пользовательские устройства 3, у которых скорость радиоканала оказалась ниже, чем минимальная битовая скорость видео на контент-сервере 8.
Согласно настоящему изобретению, транскодирующий блок 14 выполнен с возможностью работы с различными потоковыми форматами данных, в которых могут храниться видеоданные. В частности, внутри данных определенного потокового формата может храниться не только сегменты видеоданных, но и текстовые данные (например, субтитры) и аудиоданные (например, аудиодорожка). Перед началом транскодирования транскодирующий блок 14 разбивает видеоданные определенного потокового формата на потоки данных, а после транскодирования собирает их обратно.
Настоящее изобретение обеспечивает использование алгоритмов интеллектуального кэширования предсказывающего и проактивного типов. Алгоритм проактивного типа использует статистическую информацию о запросах пользователей к контент-провайдерам, причем не только информацию о запросах, проходящих через конкретное устройство 5, но и информацию от других устройств 5, что позволяет, несмотря на расположение устройств на границе сети, добиваться высокой эффективности попадания в кэширующий блок 12.
Алгоритм предсказывающего типа использует различную мета-инфомацию о популярности того или иного контента с сайтов контент-серверов 8 и использует методы анализа трафика для набора статистики о возможных скачиваниях контента. Например, кэширующий блок, в котором реализован этот алгоритм, накапливает статистику о количестве проходящих через конкретный сервер обращений к конкретным видеороликам, размещённым в социальных сетях, на Web-страницах и пр. Это позволяет использовать предзагрузку данных, которые возможно только будут запрошены пользователями в ближайшем будущем.
При заполнении свободного пространства хранилища данных сохраненными видеоданными появляется необходимость его освобождения. На основе анализа статистики запросов кэширующий блок 12 способен выделять из пересылаемых данных и запоминать наиболее популярные видеофайлы и осуществлять выборку для освобождения хранилища данных от наименее популярных видеороликов. Настоящее изобретение обеспечивает осуществление таких политик кэширования, как LFU и LRU, которые можно использовать как совместно, так и по отдельности. В других вариантах реализации настоящее изобретение обеспечивает совместное или отдельное осуществление и других политик кэширования. Политика LFU отдает
предпочтения видео, которые имеют максимальную частоту запросов. Политика LRU отдает предпочтение видео, которые были запрошены недавно, т.е. политика LRU основана на удалении видеоданных, последний запрос на которые является самым давним. Таким образом, настоящее изобретение предполагает частую смену подмножества популярных видеоданных, при этом использует гибридное решение, совмещающее обе политики.
Для обеспечения высокой производительности кэширующий блок 12 поддерживает как параллельные запросы от нескольких процессов проксирующего блока 1 1 , так и запросы от нескольких проксирующих блоков 1 1 , расположенных на нескольких вычислительных модулях, т.е. один кэширующий блок 12, вынесенный на отдельное аппаратное устройство, может поддерживать несколько проксирующих блоков 11, работающих с разными базовыми станциями 4. В одном из вариантов реализации проксирующий блок, транскодирующий блок и планировщих могут быть объединены в управляющий блок 21 (фиг. 6). На Фиг. 6 изображена структурная схема управляющего устройства 5 согласно настоящему изобретению, которое содержит по меньшей мере один управляющий блок 21, по меньшей мере одно хранилище данных 22, выполненное с возможностью хранения сегментов видеоданных, и сетевые интерфейсы 23 для связи управляющего устройства 5 с транзитной сетью 1 и опорной сетью 2 и передачи сегментов видеоданных на пользовательское устройство 3.
Вышеприведённое описание служит в качестве примера, и его не следует считать ограничительным. Специалистам понятны вариации и модификации раскрытых примеров, которые не отступают от сущности настоящего изобретения.