RU2732786C1 - Method and system for estimating network throughput when transmitting video signal - Google Patents

Method and system for estimating network throughput when transmitting video signal Download PDF

Info

Publication number
RU2732786C1
RU2732786C1 RU2020111930A RU2020111930A RU2732786C1 RU 2732786 C1 RU2732786 C1 RU 2732786C1 RU 2020111930 A RU2020111930 A RU 2020111930A RU 2020111930 A RU2020111930 A RU 2020111930A RU 2732786 C1 RU2732786 C1 RU 2732786C1
Authority
RU
Russia
Prior art keywords
video signal
bitrate
frames
frame
user
Prior art date
Application number
RU2020111930A
Other languages
Russian (ru)
Inventor
Кирилл Викторович Черников
Александр Сергеевич Соловьев
Иван Владимирович Варанкин
Original Assignee
Общество с ограниченной ответственность "Игровые решения" (ООО "Игровые решения")
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Общество с ограниченной ответственность "Игровые решения" (ООО "Игровые решения") filed Critical Общество с ограниченной ответственность "Игровые решения" (ООО "Игровые решения")
Priority to RU2020111930A priority Critical patent/RU2732786C1/en
Application granted granted Critical
Publication of RU2732786C1 publication Critical patent/RU2732786C1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Environmental & Geological Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

FIELD: physics.
SUBSTANCE: invention relates to the computer equipment. Method of estimating network throughput capacity during video signal transmission, in which determining the starting maximum bitrate, minimum useful bitrate, frame per second rate (FPS) for transmitting a video signal to a user device and a forward error correction (FEC) algorithm; determining the average number of packets per frame and the frame interval of the video signal based on the start bitrate and the FPS; transmitting a video signal to a user device with certain parameters in a predetermined time interval; determining, for each transmitted frame, packet loss when delivered to a user device; determining the number of fully assembled video signal frames on the user device, wherein, if the number of collected frames is greater than or equal to the minimum set number of collected frames determined based on the start bitrate and FPS, then determining the network throughput capacity as sufficient for video signal transmission with the specified parameters.
EFFECT: technical result consists in improvement of accuracy of determining network throughput when transmitting a video stream.
6 cl, 9 dwg

Description

ОБЛАСТЬ ТЕХНИКИFIELD OF TECHNOLOGY

[0001] Заявленное решение относится к области компьютерных технологий, в частности к решениям для оценки качества пропускной способности сетевого канала передачи данных при транслировании видеопотока.[0001] The claimed solution relates to the field of computer technology, in particular to solutions for assessing the quality of the bandwidth of a network data transmission channel when broadcasting a video stream.

УРОВЕНЬ ТЕХНИКИLEVEL OF TECHNOLOGY

[0002] Одним из ключевых аспектов технологии облачных игр является передача видеоданных через глобальную сеть Интернет от сервера с игрой к конечному пользователю. Таким образом, одной из важнейших задач при создании подобной технологии является оценка качества сети на маршруте от сервера до конечного пользователя. Существующие общедоступные методы оценки качества сети являются достаточно общими и не учитывают специфику, которую накладывает технология облачных игр при транслировании видеопотока.[0002] One of the key aspects of cloud gaming technology is the transmission of video data over the global Internet from the server with the game to the end user. Thus, one of the most important tasks in creating such a technology is to assess the quality of the network along the route from the server to the end user. The existing publicly available methods for assessing the quality of a network are quite general and do not take into account the specifics that cloud gaming technology imposes when broadcasting a video stream.

[0003] Наиболее часто используемым решением для анализа пропускной способности сети является приложение Speedtest (https://www.speedtest.net/), которое может оценить такие параметры, как ping, скорость скачивания данных и скорость загрузки данных по отношению к определенному выбранному серверу. Интернет провайдеры также чаще всего в своих тарифах указывают достаточно скудную информацию о том, какого качества будет услуга у пользователя. Например, может быть указана максимальная скорость скачивания данных, максимальная скорость загрузки данных, возможный максимальный уровень потерь сетевых пакетов за достаточно большой промежуток времени (день или час). Все эти параметры дают слабое представление о том, достаточно ли хорошее качество сети будет на маршруте от сервера с игрой до пользователя для комфортной игры с должной частотой кадров. Решение Speedtest не дает представление о том, какие потери есть на маршруте при передаче видеоданных и какого они характера. Кроме того, подобного рода тесты также не учитывают характер самих данных, которые требуют передачи по сети, не учитывают способ их формирования, их смысловую нагрузку и характер отправки данных в сеть.[0003] The most commonly used solution for analyzing network bandwidth is the Speedtest application (https://www.speedtest.net/), which can evaluate parameters such as ping, download speed and download speed in relation to a specific selected server ... Internet providers also most often indicate in their tariffs rather scant information about the quality of the service the user will have. For example, the maximum data download speed, the maximum data download speed, the possible maximum level of network packet loss over a sufficiently long period of time (day or hour) can be indicated. All these parameters give little idea of whether the network quality will be good enough on the route from the server with the game to the user for a comfortable game with the proper frame rate. Speedtest's solution does not give an idea of what kind of loss is there on the route when transmitting video data and what kind of loss they are. In addition, tests of this kind also do not take into account the nature of the data itself, which requires transmission over the network, do not take into account the method of their formation, their semantic load and the nature of sending data to the network.

[0004] Еще одним недостатком данных тестов является их статичность. Нельзя одновременно проводить тест и оказывать услугу, так как тест зачастую требует занятие доступной полосы пропускания, хоть и на короткий промежуток времени. Также чаще всего данные тесты работают по HTTP протоколу, то есть поверх TCP, в то время как технология облачных игр требует передачи видеопотока по UDP. Это также стоит учитывать, так как протокол TCP более сложный и имеет собственные механизмы регулировки скорости посылки данных.[0004] Another disadvantage of these tests is their static nature. It is impossible to simultaneously conduct a test and provide a service, since the test often requires occupying the available bandwidth, albeit for a short period of time. Also, most often, these tests work over the HTTP protocol, that is, over TCP, while the cloud gaming technology requires the transmission of a video stream over UDP. This is also worth considering, since the TCP protocol is more complex and has its own mechanisms for adjusting the data rate.

СУЩНОСТЬ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION

[0005] Решаемой технической проблемой с помощью заявленного изобретения является создание нового принципа анализа пропускной способности сети для адаптивной подстройки скорости и качества передаваемого видеосигнала на пользовательское устройство.[0005] The technical problem to be solved with the help of the claimed invention is to create a new principle of analyzing the network bandwidth for adaptive adjustment of the speed and quality of the transmitted video signal to the user device.

[0006] Техническим результатом является повышение точности определения пропускной способности сети при передаче видеопотока за счет анализа количества потерь пакетов и кадров на пользовательской стороне и расчета избыточности для компенсации потерь пакетов и кадров при передаче потока данных.[0006] The technical result is to improve the accuracy of determining the network bandwidth when transmitting a video stream by analyzing the number of packet and frame losses on the user side and calculating redundancy to compensate for packet and frame losses when transmitting a data stream.

[0007] Заявленный результат достигается за счет компьютерно-реализуемого способа оценки пропускной способности сети при транслировании видеосигнала, при этом способ выполняется с помощью процессора и содержит этапы, на которых:[0007] The claimed result is achieved by a computer-implemented method for assessing the network bandwidth when broadcasting a video signal, the method being performed using a processor and contains the steps at which:

a) определяют стартовый максимальный битрейт, минимальный полезный битрейт, частоту кадров (FPS) для передачи видеосигнала на устройство пользователя и алгоритм прямой коррекции ошибок (FEC);a) determine the starting maximum bitrate, the minimum usable bitrate, the frame rate (FPS) for transmitting the video signal to the user device and the forward error correction (FEC) algorithm;

b) определяют среднее количество пакетов в кадре и интервал передачи кадров видеосигнала на основании стартового битрейта и FPS;b) determining the average number of packets per frame and the transmission interval of video frames based on the start bit rate and FPS;

c) осуществляют передачу видеосигнала на устройство пользователя с определенными параметрами на этапах a) и b) в заданный промежуток времени;c) transmitting the video signal to the user's device with certain parameters in steps a) and b) in a given period of time;

d) определяют для каждого переданного кадра потери пакетов при их доставке до пользовательского устройства;d) determine, for each transmitted frame, packet loss on delivery to the user device;

e) определяют количество полностью собранных кадров видеосигнала на устройстве пользователя, при этом,e) determine the number of fully collected video frames on the user's device, while,

f) если количество собранных кадров больше или равно минимального установленного количества собранных кадров, определяемого на основании стартового битрейта и FPS, то определяют пропускную способность сети, как достаточную для транслирования видеосигнала с параметрами, определенными на этапе a), в противном случае выполняют следующие этапы:f) if the number of collected frames is greater than or equal to the minimum set number of collected frames, determined based on the starting bitrate and FPS, then the network bandwidth is determined as sufficient to broadcast the video signal with the parameters determined in step a), otherwise the following steps are performed:

g) ранжируют переданные кадры на устройство пользователя по потерям пакетов и определяют по меньшей мере один кадр, для которого не выполняется условие полной его сборки на устройстве пользователя;g) ranking the transmitted frames to the user's device by packet loss and determining at least one frame for which the condition of its complete assembly on the user's device is not met;

h) определяют уровень избыточности необходимый для компенсации потерь пакетов для упомянутого кадра, определенного на этапе g), на основании количества потерянных пакетов и алгоритма FEC;h) determine the level of redundancy necessary to compensate for packet loss for said frame determined in step g) based on the number of lost packets and the FEC algorithm;

i) определяют величину полезного битрейта на основании уровня избыточности и осуществляют сравнение с минимальным полезным битрейтом, при этом если величина полезного битрейта выше величины минимально полезного битрейта, то определяют пропускную способность сети, как достаточную для транслирования видеосигнала с параметрами, определенными на этапе a) и определенным уровнем избыточности на этапе h), в противном случаеi) determine the value of the useful bitrate based on the level of redundancy and perform a comparison with the minimum useful bitrate, while if the value of the useful bitrate is higher than the value of the minimum useful bitrate, then the network bandwidth is determined as sufficient for broadcasting the video signal with the parameters determined in step a) and a certain level of redundancy at stage h), otherwise

j) осуществляют корректировку стартового битрейта и итеративно выполняют шаги a) – f).j) adjusting the start bitrate and iteratively performing steps a) to f).

[0008] В одном из частных вариантов осуществления способа первичный битрейт определяют на основании по меньшей мере одно из: видеоматериал, кодек, параметры кодирования, параметры тарифного плана.[0008] In one of the particular embodiments of the method, the primary bit rate is determined based on at least one of: video material, codec, encoding parameters, tariff plan parameters.

[0009] В другом частном варианте осуществления способа видеосигнал представляет собой интерактивную игровую трансляцию.[0009] In another particular embodiment of the method, the video signal is an interactive game broadcast.

[0010] В другом частном варианте осуществления способа алгоритм FEC применяется для компенсации потерь пакетов при сборке кадров на устройстве пользователя.[0010] In another particular embodiment of the method, the FEC algorithm is applied to compensate for packet loss when assembling frames on a user device.

[0011] В другом частном варианте осуществления способа величина корректировки битрейта представляет собой заранее заданное значение.[0011] In another particular embodiment of the method, the bit rate adjustment amount is a predetermined value.

[0012] Заявленный результат также достигается с помощью системы оценки пропускной способности сети при транслировании видеосигнала, содержащей по меньшей мере один процессор и по меньшей мере одно запоминающее устройство, хранящее[0012] The claimed result is also achieved using a system for assessing network bandwidth when broadcasting a video signal, containing at least one processor and at least one memory storing

машиночитаемые инструкции, которое при их исполнении процессором выполняет вышеуказанный способ.machine-readable instructions that, when executed by a processor, performs the above method.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF DRAWINGS

[0013] Фиг. 1А – 1Б иллюстрируют блок-схему выполнения заявленного способа анализа пропускной способности сети.[0013] FIG. 1A - 1B illustrate a flow diagram of the claimed method for analyzing network bandwidth.

[0014] Фиг. 2А иллюстрирует общую схему передачи видеопотока.[0014] FIG. 2A illustrates a general video stream transmission scheme.

[0015] Фиг. 2Б иллюстрирует пример состава кадра.[0015] FIG. 2B illustrates an example of a frame composition.

[0016] Фиг. 2В иллюстрирует схему передачи видеопотока с потерей пакетов в кадрах видеопотока.[0016] FIG. 2B illustrates a packet lossy video stream in frames of the video stream.

[0017] Фиг. 2Г иллюстрирует анализ потерь пакетов в кадрах на пользовательской стороне.[0017] FIG. 2D illustrates the analysis of packet loss in frames on the user side.

[0018] Фиг. 2Д иллюстрирует определение пакета для расчета уровня избыточности для корректировки битрейта.[0018] FIG. 2D illustrates the definition of a packet for calculating the redundancy level for bit rate adjustment.

[0019] Фиг. 2Е иллюстрирует пример определения уровня избыточности для компенсации потерь пакетов в кадрах видеопотока.[0019] FIG. 2E illustrates an example of determining a level of redundancy to compensate for packet loss in frames of a video stream.

[0020] Фиг. 3 иллюстрирует схему вычислительного устройства.[0020] FIG. 3 illustrates a schematic of a computing device.

ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯCARRYING OUT THE INVENTION

[0021] Настоящее изобретение осуществляется с помощью выполнения этапов способа (100) оценки пропускной способности сети при передаче видеопотока на клиентское устройство от сервера. Видеопоток может представлять собой различный набор данных, например, трансляцию компьютерной игры для взаимодействия с ней со стороны пользователя, видеотрансляции и т.п.[0021] The present invention is accomplished by performing the steps of a method (100) for estimating network bandwidth when transmitting a video stream to a client device from a server. The video stream can be a different set of data, for example, a broadcast of a computer game for interaction with it by the user, video broadcast, etc.

[0022] На первом этапе (101) выполняется определение параметров сети пользователя для передачи видеоданных. Для трансляции видеопотока необходимо определить стартовый максимальный битрейт Bstart, FPS и алгоритм FEC (от англ. Forward error correction). Алгоритм FEC используется для упреждения ошибок передачи данных, путем добавления избыточных данных. Различные вариации FEC часто используются при передачи видеоданных по сети. Применительно к сетевым пакетам, существующие методы FEC позволяют восстанавливать до K% потерянных пакетов: K = M/(N + M) * 100%, где N[0022] In the first step (101), determining the parameters of the user's network for transmitting video data is performed. To broadcast a video stream, it is necessary to determine the starting maximum bitrate Bstart, FPS and the FEC algorithm (Forward error correction). The FEC algorithm is used to anticipate data transmission errors by adding redundant data. Various variations of FEC are often used when transmitting video data over a network. With regard to network packets, existing FEC methods allow recovering up to K% of lost packets: K = M / (N + M) * 100%, where N

- количество исходных пакетов данных, M - количество дополнительных/избыточных пакетов данных.is the number of original data packets, M is the number of additional / redundant data packets.

[0023] Видеопоток представляет из себя сжатое видео с помощью одного из выбранных видеокодеков, например: h264, h265, VP8, VP9 и др. Одним из ключевых параметров кодирования/сжатия видео является битрейт. Чем выше битрейт, тем выше качество. Битрейт (от англ. bitrate) — количество бит, используемых для передачи/обработки данных в единицу времени. С помощью данного показателя измеряется эффективность скорости передачи потока данных по сетевому каналу, то есть минимального размера канала, который сможет пропустить этот поток без задержек.[0023] A video stream is compressed video using one of the selected video codecs, for example: h264, h265, VP8, VP9, etc. One of the key parameters of video encoding / compression is bit rate. The higher the bitrate, the higher the quality. Bitrate (from the English bitrate) - the number of bits used for data transmission / processing per unit of time. This indicator is used to measure the efficiency of the transmission rate of the data stream over the network channel, that is, the minimum size of the channel that can pass this stream without delays.

[0024] Начальный битрейт Bstart может быть определен на основе данных о тарифе провайдера или выбран исходя из используемого кодека, видеоматериала и параметров кодирования.[0024] The initial bitrate Bstart can be determined based on the data on the tariff of the provider or selected based on the used codec, video material and encoding parameters.

[0025] Всегда можно оценить (объективно - PSNR, MSE, SSIM или субъективно) достаточен ли данный битрейт для получения “качественной картинки” по исходному, не сжатому видео в условиях неизменности других параметров кодирования. Другими словами с помощью такого рода оценок можно понять, что для определенного рода видеоматериала и определенных параметров кодирования подходит выбранный показатель битрейта или нет для получения “качественной картинки”. Для этого необходимо определить минимальный битрейт Bmin, который дает данную “качественную картинку”. [0026] Поскольку в указанном примере видеопоток может представлять собой компьютерную игру, выполняемую на удалённой облачной платформе и транслируемой на устройство пользователя для выполнения с его стороны игрового процесса, то кадры видео формируются не сразу, а с течением времени. Также, учитывая что задержка при игре должна быть сведена к минимуму, сформированные кадры кодируются “на лету” и сразу отправляются пользователю.[0025] It is always possible to assess (objectively - PSNR, MSE, SSIM or subjectively) whether a given bitrate is sufficient to obtain a “high-quality picture” from the original, uncompressed video, given that other encoding parameters remain unchanged. In other words, with the help of this kind of assessments, one can understand that for a certain kind of video material and certain coding parameters, the selected bitrate indicator is suitable or not to obtain a “high-quality picture”. To do this, it is necessary to determine the minimum bitrate Bmin, which gives a given "high-quality picture". [0026] Since, in this example, the video stream can be a computer game executed on a remote cloud platform and broadcast to the user's device for playing the game process on its side, video frames are not formed immediately, but over time. Also, given that the latency during the game should be minimized, the generated frames are encoded on the fly and immediately sent to the user.

[0027] Таким образом, при транслировании игрового видеопотока данные отправляются в определенные моменты времени, через примерно равные промежутки времени, исходя из выбранного режима FPS. На этапе (102) на основании данных, определенных на этапе (101), осуществляется выбор интервала отправки данных в сеть MSavg = 1000 / FPS (интервал в миллисекундах). При этом количество пакетов в каждой такой отправке можно оценить по среднему размеру закодированного кадра. Разбиение кадра на пакеты происходит с учетом PathMTU (определение максимального размера полезного блока данных одного пакета (англ. payload), который может быть передан протоколом без фрагментации). Значение PathMTU необходимо, чтобы избежать фрагментирования пакетов при транспортировке по сети (лишняя задержка и нагрузка). Также на этапе (102) определяется среднее количество пакетов в кадре (в каждой отдельной отправке) для определенного битрейта и FPS - Navg.[0027] Thus, when broadcasting the game video stream, data is sent at specific times, at approximately equal intervals, based on the selected FPS mode. In step (102), based on the data determined in step (101), an interval for sending data to the network MSavg = 1000 / FPS (interval in milliseconds) is selected. Moreover, the number of packets in each such transmission can be estimated by the average size of the encoded frame. Splitting the frame into packets takes into account the PathMTU (determining the maximum size of the payload of one packet that can be transmitted by the protocol without fragmentation). The PathMTU value is necessary to avoid fragmentation of packets during transport over the network (unnecessary delay and load). Also, at step (102), the average number of packets in the frame (in each separate send) is determined for a certain bitrate and FPS - Navg.

[0028] Видеопоток транслируется на этапе (103) на устройство пользователя с параметрами, определенными на этапах (101) – (102). Передача данных осуществляется в течение S секунд с выбранными параметрами Navg и MSavg.[0028] The video stream is broadcast in step (103) to the user device with the parameters determined in steps (101) - (102). Data transmission is carried out within S seconds with the selected parameters Navg and MSavg.

[0029] По приемке кадра на стороне пользователя всегда можно оценить сколько пакетов в кадре отсутствовало. Без использования FEC потеря даже одного пакета ведет к полной несборке кадра, в общем случае, и искажениям в видеопотоке, который видит пользователь. Для получения “качественной картинки” все или почти все кадры должны быть собраны и декодированы на стороне пользователя (зависит от используемого видеокодека, параметров кодирования и типа используемого декодера). Процент потерь пакетов в кадре можно обозначить как - Lкадр%. При этом для получения “качественной картинки” необходимо задать пороговое значение минимального количества кадров - Rmin%, которые должны быть полностью собраны на стороне пользователя от общего числа переданных кадров.[0029] Upon acceptance of the frame on the user side, it is always possible to estimate how many packets were missing in the frame. Without the use of FEC, the loss of even one packet leads to a complete unassembled frame, in the general case, and distortions in the video stream that the user sees. To obtain a "high-quality picture", all or almost all frames must be collected and decoded on the user's side (depending on the video codec used, encoding parameters and the type of decoder used). The packet loss percentage in a frame can be denoted as - Lframe%. At the same time, to obtain a “high-quality picture”, it is necessary to set the threshold value of the minimum number of frames - Rmin%, which must be completely collected on the user's side of the total number of transmitted frames.

[0030] На этапе (104) для каждого передаваемого кадра на устройство пользователя вычисляются потери пакетов. Определяется сколько процентов кадров были полностью собрано - R%. Если R% >= Rmin% (этап 105), то сеть можно считать “качественной” при использовании битрейта Bstart для облачных игр (этап 106), что позволяет продолжить транслирование потока с установленными изначально параметрами.[0030] In step (104), packet loss is calculated for each frame transmitted to the user device. It is determined how many percent of the personnel were completely collected - R%. If R%> = Rmin% (step 105), then the network can be considered “good” when using the Bstart bitrate for cloud games (step 106), which allows you to continue broadcasting the stream with the initially set parameters.

[0031] Если на этапе (105) происходит определение того, что R% < Rmin%, т.е. количество собранных кадров менее минимального установленного порогового значения, то переходят к этапу (107), на котором выполняется расчет уровня избыточности для дальнейшего транслирования видеопотока с компенсацией потерь кадров (108) или выполненяется корректировка битрейта передаваемого видеопотока.[0031] If in step (105) it is determined that R% <Rmin%, i. E. the number of collected frames is less than the minimum set threshold value, then proceed to step (107), where the redundancy level is calculated for further broadcasting of the video stream with compensation for frame losses (108) or the bitrate of the transmitted video stream is adjusted.

[0032] На Фиг. 1Б представлена последовательность шагов этапа (107). На первом шаге (1071) осуществляется ранжирование переданных кадров на устройство пользователя по потерям пакетов и определяют по меньшей мере один кадр (шаг 1072), для которого не выполняется условие полной его сборки на устройстве пользователя. Кадры упорядочиваются по проценту потерь пакетов Lкадр% в порядке возрастания для определения границы, левее которой находится Rmin% кадров, вследствие чего определяется граничащий кадр и процент потерь пакетов в нем - Lкадр.гр%.[0032] FIG. 1B shows the sequence of steps of step (107). At the first step (1071), the transmitted frames are ranked to the user device by packet loss and at least one frame is determined (step 1072) for which the condition of its complete assembly on the user device is not satisfied. Frames are ordered by the percentage of packet loss Lfadr% in ascending order to determine the boundary to the left of which Rmin% of frames is located, as a result of which the bordering frame and the percentage of packet losses in it are determined - Lframe.gr%.

[0033] Если Lкадр.гр% = 100%, то мы не можем обеспечить “качественную картинку” и необходимо скорректировать Bstart на заданную величину. .[0033] If Lframe.gr% = 100%, then we cannot provide a “high-quality picture” and it is necessary to correct Bstart by a given value. ...

[0034] На шаге (1073) для граничащего кадра определяется уровень избыточности FEC% на основании количества потерянных пакетов и алгоритма FEC, как % необходимого[0034] In step (1073), the FEC redundancy level% is determined for the bordering frame based on the number of lost packets and the FEC algorithm as% required

заполнения с помощью FEC, который был бы необходим для компенсации потерь Lкадр.гр%. Данный расчет выполняется по формуле:filling using FEC, which would be necessary to compensate for the loss of Lframe.gr%. This calculation is performed according to the formula:

FEC% = (100 / (100 - Lкадр.гр%) - 1) * 100% (1).FEC% = (100 / (100 - Lframes%) - 1) * 100% (1).

[0035] Затем определяется сколько бы заняла избыточность FEC% от начального битрейта Bstart, если бы она использовалась, по формуле:[0035] Then it is determined how much the redundancy FEC would take% of the initial bitrate Bstart, if it were used, by the formula:

Bfec = Bstart * FEC% / 100% (2).Bfec = Bstart * FEC% / 100% (2).

Исходя из значения Bfec на этапе (1074) осуществляется расчет реального полезного битрейта Buseful по формуле:Based on the value of Bfec at stage (1074), the real usable bitrate Buseful is calculated using the formula:

Buseful = Bstart – Bfec (3).Buseful = Bstart - Bfec (3).

[0036] Если показатель Buseful >= Bmin, то возможно обеспечить “качественную картинку” при транслировании видеопотока с параметрами, определенными на этапе (101), при условии компенсации потерь пакетов в кадрах видеопотока определенным уровнем избыточности (108). В случае, когда Buseful < Bmin на этапе (1076) выполняется корректировка начального битрейта Bstart на заданную величину корректировки Bstep с дальнейшим итеративным повторением цикла способа с этапа (101). Величина Bstep выбирается произвольно и может представлять собой несколько сотен Кбит или несколько Мбит. Размер величины Bstep выбирается исходя из необходимости точности корректировки скорости передачи видеопотока.[0036] If the indicator Buseful> = Bmin, then it is possible to provide a "high-quality picture" when broadcasting a video stream with the parameters determined in step (101), subject to compensation for packet loss in frames of the video stream with a certain level of redundancy (108). In the case when Buseful <Bmin at step (1076), the initial bitrate Bstart is adjusted by a predetermined correction amount Bstep, with further iterative repetition of the method loop from step (101). The Bstep value is chosen arbitrarily and can represent several hundred kbps or several Mbps. The size of the Bstep value is selected based on the need for the accuracy of adjusting the bit rate of the video stream.

[0037] Таким образом, с помощью адаптивной коррекции битрейта осуществляется возможность трансляции видеопотока с оптимальным качеством, исходя из возможности пропускной способности канала передачи данных пользователя. Корректировка стартового битрейта осуществляется по формуле: Bstart = Bstart – Bstep.[0037] Thus, with the help of adaptive bit rate correction, it is possible to broadcast the video stream with optimal quality based on the capacity of the user's data transmission channel. The start bitrate is adjusted using the formula: Bstart = Bstart - Bstep.

[0038] Если по итогу расчетов Bstart < Bmin, то трансляция видеопотока с обеспечением должного качества изображения невозможна, ввиду плохой пропускной способности сети.[0038] If, as a result of calculations, Bstart <Bmin, then broadcasting the video stream with ensuring the proper image quality is impossible due to poor network bandwidth.

[0039] На Фиг. 2А представлен пример совокупности элементов в рамках осуществления заявленного изобретения. Трансляция потока осуществляется по запросу клиентского (пользовательского) устройства (220), который направляется на сервер (210) для осуществления процесса проверки пропускной способности сети с помощью выполнения способа (100) и передачи видеопотока с заданными параметрами. Видеопоток транслируется в виде группы кадров (211) – (214) в заданный временной промежуток, что позволяет оценить возможность пропускной способности канала передачи данных (230) для передачи видеоданных с наилучшими параметрами для клиентского устройства (220), в частности, при передаче данных по глобальной сети Интернет.[0039] FIG. 2A illustrates an example of a set of elements within the scope of the claimed invention. The stream is broadcast at the request of the client (user) device (220), which is sent to the server (210) to carry out the process of checking the network throughput by performing the method (100) and transmitting the video stream with the specified parameters. The video stream is broadcast in the form of a group of frames (211) - (214) in a given time interval, which makes it possible to estimate the capacity of the data transmission channel (230) for transmitting video data with the best parameters for the client device (220), in particular, when transmitting data over the global Internet.

[0040] Как показано на Фиг. 2Б, кадр (211) состоит из пакетов (2111), которые формируют его изображение. Как показано на Фиг. 2В, кадры, передаваемые от сервера[0040] As shown in FIG. 2B, frame (211) consists of packets (2111) that form its image. As shown in FIG. 2B, frames transmitted from the server

(211) – (214) проверяются на их целостность при получении клиентским устройством (220). Соответствующие кадры (221) – (224) анализируются на предмет потери пакетов в их составе. Как показано на примере, кадры (223) – (224) имеют потери пакетов при установленных начальных настройках транслирования видеопотока.(211) - (214) are checked for integrity when received by the client device (220). Corresponding frames (221) - (224) are analyzed for packet loss in their composition. As shown in the example, frames (223) - (224) have packet loss when the initial video stream broadcast settings are set.

[0041] Как видно на Фиг. 2Г анализ кадров (223) – (224), полученных клиентским устройством (220) фиксирует потерю пакетов в каждом из них. По итогу ранжирования потерь пакетов (2231) – (2241) на Фиг. 2Д показан пример выявления граничащего кадра на основании Rmin% для последующего расчета уровня избыточности.[0041] As seen in FIG. 2D analysis of frames (223) - (224) received by the client device (220) records the loss of packets in each of them. As a result of the packet loss ranking (2231) - (2241) in FIG. 2D shows an example of detecting a bordering frame based on Rmin% for subsequent calculation of the redundancy level.

[0042] На основании потери пакетов, как показано на Фиг. 2Е, для граничащего кадра вычисляется уровень избыточности FEC для компенсации потерь и последующей корректировки установленного первично битрейта.[0042] Based on the packet loss as shown in FIG. 2E, for the bordering frame, the FEC redundancy level is calculated to compensate for losses and then adjust the primary set bitrate.

[0043] На Фиг. 3 представлен общий пример вычислительного компьютерного устройства (300), которое может применяться для реализации вычислительных устройств, входящих в настоящее изобретение. На базе устройства (300) может выполняться устройство пользователя (220) и сервер (210). Компоненты устройства (300), как правило, сопряжены посредством общей шины передачи данных.[0043] FIG. 3 shows a general example of a computing device (300) that can be used to implement computing devices included in the present invention. A user device (220) and a server (210) can be executed on the basis of the device (300). The components of the device (300), as a rule, are interfaced through a common data bus.

[0044] В общем случае устройство (300) содержит такие компоненты, как: один или более процессоров (301), по меньшей мере одну оперативную память (302), средство постоянного хранения данных (303), интерфейсы ввода/вывода (304), средство В/В (305), средства сетевого взаимодействия (306).[0044] In the General case, the device (300) contains components such as: one or more processors (301), at least one random access memory (302), means of persistent data storage (303), input / output interfaces (304), I / O means (305), networking means (306).

[0045] Процессор (301) устройства выполняет основные вычислительные операции, необходимые для функционирования устройства (300) или функционала одного или более его компонентов. Процессор (301) исполняет необходимые машиночитаемые команды, содержащиеся в оперативной памяти (302).[0045] The processor (301) of the device performs the basic computational operations necessary for the operation of the device (300) or the functionality of one or more of its components. The processor (301) executes the necessary computer-readable instructions contained in the main memory (302).

[0046] Память (302), как правило, выполнена в виде ОЗУ и содержит необходимую программную логику, обеспечивающую требуемый функционал. Средство хранения данных (303) может выполняться в виде HDD, SSD дисков, рейд массива, сетевого хранилища, флэш-памяти, оптических накопителей информации (CD, DVD, MD, Blue-Ray дисков) и т.п. Средство (303) позволяет выполнять долгосрочное хранение различного вида информации, например, истории обработки запросов (логов), идентификаторов пользователей, звуковые файлы и т.п.[0046] Memory (302), as a rule, is made in the form of RAM and contains the necessary program logic that provides the required functionality. The data storage medium (303) can be performed in the form of HDD, SSD disks, raid array, network storage, flash memory, optical information storage devices (CD, DVD, MD, Blue-Ray disks), etc. The tool (303) allows for long-term storage of various types of information, for example, the history of processing requests (logs), user IDs, sound files, etc.

[0047] Интерфейсы (304) представляют собой стандартные средства для подключения и работы различного вида устройств (300), например, USB, RS232, RJ45, LPT, COM, HDMI,[0047] Interfaces (304) are standard means for connecting and operating various types of devices (300), for example, USB, RS232, RJ45, LPT, COM, HDMI,

PS/2, Lightning, FireWire и т.п. Выбор интерфейсов (304) зависит от конкретного исполнения устройства (300), которое может представлять собой персональный компьютер, мейнфрейм, серверный кластер, тонкий клиент, смартфон, ноутбук и т.п.PS / 2, Lightning, FireWire, etc. The choice of interfaces (304) depends on the specific implementation of the device (300), which can be a personal computer, mainframe, server cluster, thin client, smartphone, laptop, etc.

[0048] В качестве средств В/В данных (305) может использоваться: клавиатура, джойстик, дисплей (сенсорный дисплей), проектор, тачпад, манипулятор мышь, трекбол, световое перо, динамики, микрофон и т.п.[0048] As means of I / O data (305) can be used: keyboard, joystick, display (touch display), projector, touchpad, mouse, trackball, light pen, speakers, microphone, etc.

[0049] Средства сетевого взаимодействия (306) выбираются из устройства, обеспечивающий сетевой прием и передачу данных, например, Ethernet карту, WLAN/Wi- Fi модуль, Bluetooth модуль, BLE модуль, NFC модуль, IrDa, RFID модуль, GSM модем и т.п. С помощью средства (306) обеспечивается организация обмена данными по проводному или беспроводному каналу передачи данных, например, WAN, PAN, ЛВС (LAN), Интранет, Интернет, WLAN, WMAN или GSM.[0049] Networking means (306) are selected from a device that provides network reception and transmission of data, for example, Ethernet card, WLAN / Wi-Fi module, Bluetooth module, BLE module, NFC module, IrDa, RFID module, GSM modem, etc. .P. The tool (306) provides the organization of data exchange via a wired or wireless data transmission channel, for example, WAN, PAN, LAN, Intranet, Internet, WLAN, WMAN or GSM.

[0050] В настоящих материалах заявки было представлено предпочтительное раскрытие осуществление заявленного технического решения, которое не должно использоваться как ограничивающее иные, частные воплощения его реализации, которые не выходят за рамки испрашиваемого объема правовой охраны и являются очевидными для специалистов в соответствующей области техники.[0050] In the present application materials, the preferred disclosure of the implementation of the claimed technical solution was presented, which should not be used as limiting other, particular embodiments of its implementation, which do not go beyond the claimed scope of legal protection and are obvious to specialists in the relevant field of technology.

Claims (16)

1. Компьютерно-реализуемый способ оценки пропускной способности сети при транслировании видеосигнала, выполняемый с помощью процессора и содержащий этапы, на которых:1. Computer-implemented method for assessing the network bandwidth when broadcasting a video signal, performed using a processor and containing the stages at which: a) определяют стартовый максимальный битрейт, минимальный полезный битрейт, частоту кадров (FPS) для передачи видеосигнала на устройство пользователя и алгоритм прямой коррекции ошибок (FEC);a) determine the starting maximum bitrate, the minimum usable bitrate, the frame rate (FPS) for transmitting the video signal to the user device and the forward error correction (FEC) algorithm; b) определяют среднее количество пакетов в кадре и интервал передачи кадров видеосигнала на основании стартового битрейта и FPS;b) determining the average number of packets per frame and the transmission interval of video frames based on the start bit rate and FPS; c) осуществляют передачу видеосигнала на устройство пользователя с определенными параметрами на этапах a) и b) в заданный промежуток времени;c) transmitting the video signal to the user's device with certain parameters in steps a) and b) in a given period of time; d) определяют для каждого переданного кадра потери пакетов при их доставке до пользовательского устройства;d) determine, for each transmitted frame, packet loss on delivery to the user device; e) определяют количество полностью собранных кадров видеосигнала на устройстве пользователя, при этом,e) determine the number of fully collected video frames on the user's device, while, f) если количество собранных кадров больше или равно минимального установленного количества собранных кадров, определяемого на основании стартового битрейта и FPS, то определяют пропускную способность сети, как достаточную для транслирования видеосигнала с параметрами, определенными на этапе a), в противном случае выполняют следующие этапы:f) if the number of collected frames is greater than or equal to the minimum set number of collected frames, determined based on the starting bitrate and FPS, then the network bandwidth is determined as sufficient to broadcast the video signal with the parameters determined in step a), otherwise the following steps are performed: g) ранжируют переданные кадры на устройство пользователя по потерям пакетов и определяют по меньшей мере один кадр, для которого не выполняется условие полной его сборки на устройстве пользователя;g) ranking the transmitted frames to the user's device by packet loss and determining at least one frame for which the condition of its complete assembly on the user's device is not met; h) определяют уровень избыточности, необходимый для компенсации потерь пакетов для упомянутого кадра, определенного на этапе g), на основании количества потерянных пакетов и алгоритма FEC;h) determine the level of redundancy required to compensate for packet loss for said frame determined in step g) based on the number of lost packets and the FEC algorithm; i) определяют величину полезного битрейта на основании уровня избыточности и осуществляют сравнение с минимальным полезным битрейтом, при этом если величина полезного битрейта выше величины минимально полезного битрейта, то определяют пропускную способность сети, как достаточную для транслирования видеосигнала с параметрами, определенными на этапе a) и определенным уровнем избыточности на этапе h), в противном случаеi) determine the value of the useful bitrate based on the level of redundancy and perform a comparison with the minimum useful bitrate, while if the value of the useful bitrate is higher than the value of the minimum useful bitrate, then the network bandwidth is determined as sufficient for broadcasting the video signal with the parameters determined in step a) and a certain level of redundancy at stage h), otherwise j) осуществляют корректировку стартового битрейта и итеративно выполняют шаги a)–f).j) adjust the start bitrate and iteratively perform steps a) –f). 2. Способ по п.1, характеризующийся тем, что первичный битрейт определяют на основании по меньшей мере одно из: видеоматериал, кодек, параметры кодирования, параметры тарифного плана.2. The method according to claim 1, characterized in that the primary bitrate is determined based on at least one of: video material, codec, coding parameters, tariff plan parameters. 3. Способ по п.1, характеризующийся тем, что видеосигнал представляет собой интерактивную игровую трансляцию.3. The method according to claim 1, characterized in that the video signal is an interactive game broadcast. 4. Способ по п.1, характеризующийся тем, что алгоритм FEC применяется для компенсации потерь пакетов при сборке кадров на устройстве пользователя.4. The method according to claim 1, characterized in that the FEC algorithm is applied to compensate for packet loss when collecting frames on the user's device. 5. Способ по п.1, характеризующийся тем, что величина корректировки битрейта представляет собой заранее заданное значение. 5. The method according to claim 1, characterized in that the bit rate adjustment amount is a predetermined value. 6. Система транслирования видеосигнала по сети, содержащая по меньшей мере один процессор и по меньшей мере одно запоминающее устройство, хранящее машиночитаемые инструкции, которые при их исполнении процессором выполняют способ по любому из пп. 1-5.6. A system for broadcasting a video signal over a network, comprising at least one processor and at least one memory device storing machine-readable instructions, which, when executed by the processor, perform the method according to any one of claims. 1-5.
RU2020111930A 2020-03-24 2020-03-24 Method and system for estimating network throughput when transmitting video signal RU2732786C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2020111930A RU2732786C1 (en) 2020-03-24 2020-03-24 Method and system for estimating network throughput when transmitting video signal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2020111930A RU2732786C1 (en) 2020-03-24 2020-03-24 Method and system for estimating network throughput when transmitting video signal

Publications (1)

Publication Number Publication Date
RU2732786C1 true RU2732786C1 (en) 2020-09-22

Family

ID=72922326

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2020111930A RU2732786C1 (en) 2020-03-24 2020-03-24 Method and system for estimating network throughput when transmitting video signal

Country Status (1)

Country Link
RU (1) RU2732786C1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7826363B2 (en) * 2005-07-27 2010-11-02 Broadcom Corporation Bandwidth estimation algorithm using internet control message protocol (ICMP) echo request
US20120287986A1 (en) * 2011-05-09 2012-11-15 Google Inc. System and method for providing adaptive media optimization
RU2481718C2 (en) * 2008-11-25 2013-05-10 Сабанджи Университеси Method for estimation of residual bandwidth
US20150029847A1 (en) * 2012-02-16 2015-01-29 Telefonaktiebolaget L M Ericsson (Publ) Packet network traffic flow effective bandwidth estimation apparatus and method
US20170026259A1 (en) * 2015-07-24 2017-01-26 Nvidia Corporation System and method for jitter-aware bandwidth estimation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7826363B2 (en) * 2005-07-27 2010-11-02 Broadcom Corporation Bandwidth estimation algorithm using internet control message protocol (ICMP) echo request
RU2481718C2 (en) * 2008-11-25 2013-05-10 Сабанджи Университеси Method for estimation of residual bandwidth
US20120287986A1 (en) * 2011-05-09 2012-11-15 Google Inc. System and method for providing adaptive media optimization
US20150029847A1 (en) * 2012-02-16 2015-01-29 Telefonaktiebolaget L M Ericsson (Publ) Packet network traffic flow effective bandwidth estimation apparatus and method
US20170026259A1 (en) * 2015-07-24 2017-01-26 Nvidia Corporation System and method for jitter-aware bandwidth estimation

Similar Documents

Publication Publication Date Title
US10374928B1 (en) Efficient bandwidth estimation
US8897144B2 (en) Quality of user experience testing for video transmissions
Ameigeiras et al. Analysis and modelling of YouTube traffic
US20210409789A1 (en) Method and apparatus for transmitting adaptive video in real time using content-aware neural network
US10841630B2 (en) Video encoding and transcoding for multiple simultaneous qualities of service
US20060026294A1 (en) Media transrating over a bandwidth-limited network
US20140052846A1 (en) Adaptive video streaming over a content delivery network
US11089076B1 (en) Automated detection of capacity for video streaming origin server
US10887363B1 (en) Streaming decision in the cloud
US11503302B2 (en) Content adaptive encoding
US11743148B2 (en) Method for measuring end-to-end internet application performance
US10560215B1 (en) Quality control service using input quality metrics
US10778354B1 (en) Asynchronous enhancement of multimedia segments using input quality metrics
DK2834746T3 (en) PIPELINE TREATMENT FOR PARALLEL NETWORK CONNECTIONS FOR TRANSMISSION OF A DIGITAL CONTENT POWER
EP3251019A1 (en) Multiple protocol media streaming
FR3098072A1 (en) Process for processing a set of images from a video sequence
KR102129115B1 (en) Method and apparatus for transmitting adaptive video in real time using content-aware neural network
RU2732786C1 (en) Method and system for estimating network throughput when transmitting video signal
JP6544188B2 (en) Buffer size determination apparatus, system, buffer size determination method, video data reproduction method and program
US9203708B2 (en) Estimating user-perceived quality of an encoded stream
WO2021181681A1 (en) Mathematical model derivation device, mathematical model derivation method, and program
CN114025190B (en) Multi-code rate scheduling method and multi-code rate scheduling device
Raca et al. DASHbed: a testbed framework for large scale empirical evaluation of real-time DASH in wireless scenarios
WO2017018072A1 (en) Delivery rate selection device, delivery rate selection method, and program
Bouzian Modeling and optimization of the quality of customer experience (QoE) of data services on the mobile network. Application to video streaming